ManDude
46b83bda2a
[decomp] debug
( #607 )
...
* [decomp] `debug`
* shut up
2021-06-19 14:24:55 -04:00
water111
d79937fb62
Improve forward declaring types ( #596 )
...
* improve forward declare type
* display type differences
* make codacy happy
2021-06-15 21:03:55 -04:00
water111
0aa474f12b
[decomp] finish actor-link-h and a few more ( #592 )
...
* finish actor-link-h
* decompile files
* fix pp issue
2021-06-14 20:46:54 -04:00
water111
5b24e43143
Change syntax for boxed array to support different length and allocated-length ( #568 )
...
* change syntax for boxed array
* fix test and make the flava thing kind of work
2021-06-07 20:22:06 -04:00
water111
f516737cf7
[decompile] bsp-h ( #562 )
...
* decompile bsp-h
* a few more
* some more
* fix merge conflicts
2021-06-07 18:30:16 -04:00
ManDude
63821755e6
[compiler] add psize-of
( #564 )
2021-06-06 23:02:00 -04:00
Tyler Wilding
698d96cc4e
Decompilation: Next batch of files ( #539 )
...
* decomp: `collide-frag-h`
* decomp: `effect-control-h`
* decomp: `cam-update-h`
* decomp: `collide-func`
variable pass failed on ray-plane-intersect: invalid unordered_map<K, T> key
* decomp: `cylinder` with vector dot product issue
* decomp: `debug-sphere`
* decomp: `generic`
* decomp: fix `effect-control-h`
* scripts: improve decomp-next script
* decomp: Fix `debug-sphere` issues via type casting
* decomp: Add `collide-frag-h` to reference tests
* scripts: Add script to add a new reference test
* decomp: Add `cam-update-h` to reference tests
* goalc: Fix empty let removal issue
* decomp: Not adding cylinder to goal_src yet either
* decomp: Add `debug-sphere` to reference tests
* decomp: Attempt to finish `generic` but blocked by decomp issue
https://github.com/water111/jak-project/issues/563
* linting
* decomp: Resolve failing tests
* decomp: Address feedback
2021-06-06 23:01:30 -04:00
water111
a572587a0e
add types ( #559 )
2021-06-05 16:58:32 -04:00
water111
2851cae13b
[decompile] fact-h ( #556 )
...
* decompile fact-h
* fix unused var
* codacy again
2021-06-05 11:15:34 -04:00
water111
542edfb164
[compiler/decompiler] Take the address of a variable ( #554 )
...
* support taking the address of variables
* partially working stack variables
* implement type cast stuff
* remove final
2021-06-04 13:43:19 -04:00
ManDude
784119188c
[decomp] even more res
( #529 )
...
* [decomp] even more `res`
* [decompiler] make `logand` with pointers and constants return pointer
* [decomp] more work
* update offline tests
* fix tests(?)
* `*res-static-buf*`
* fixes
* fix reference
* [opengoal] make `logand` work directly with pointers
* [decomp] `inspect res-lump`
* use the inline methods
* don't use a math mode for pointers
* [compiler] allow optionally setting disassembly output file
* [x86 disasm] Keep casing consistent between instructions and offsets
2021-06-01 16:07:45 -04:00
water111
c4f44e265f
[decompiler] Better support for non-virtual methods ( #543 )
...
* fix up nonvirtual method calls and stack new method calls
* look at final in compiler too
2021-05-30 22:52:40 -04:00
water111
663b5c7899
[OpenGOAL] Support for 128-bit arguments and return values (WIP) ( #510 )
...
* xmm call and return working, needs some careful double checking and tests
* clean up and test
2021-05-20 20:12:49 -04:00
water111
a6258f3654
[compiler] support 128-bit bitfields ( #500 )
...
* support setting and accessing fields of a 128-bit bitfield
* remove print
* rework static constants
* support 128-bit bitfields as part of static structures
* dynamic construction
2021-05-18 21:25:29 -04:00
water111
79d10979da
[decomp] math-camera
( #491 )
...
* decompile math camera
* missing line
2021-05-15 20:08:08 -04:00
water111
d9f9d36f37
[OpenGOAL] make multiplication/divsion like GOAL and support in decompiler ( #483 )
...
* support in compiler
* multiplication in the decompiler
* update divisions
2021-05-14 18:43:12 -04:00
water111
0ab916e122
fix quote issue and decompile level-info ( #474 )
2021-05-12 21:57:19 -04:00
water111
433993074a
Clean up some errors/crashes in decompiler ( #452 )
...
* fix offline tests, clean up some warnings
* clean up warnings during decomp
* fix remaining crash issues
2021-05-11 16:43:13 -04:00
ManDude
1d72e79df8
[repl] Always reset runtime before disconnecting ( #448 )
2021-05-11 15:14:09 -04:00
ManDude
fef9b139d7
Force-enable assert
on release mode Windows build ( #440 )
2021-05-10 23:03:56 -04:00
water111
0a6602e320
[Decompile] connect, text-h, settings-h, capture, memory-usage-h ( #410 )
...
* decompile stuff
* temp
* temp2
* fix
* temp
* preparing for merge
* working
* fix stupid format
* fix codacy
2021-05-05 17:38:16 -04:00
ManDude
7cb04c6cd5
[decomp] font-h, fix a vector type, minor decompiler fixes ( #411 )
...
* Make `:do-not-decompile` work on field lookup as well
* decompile `font-h` and update a vector type + minor fixes
* fix some types
* fix font-h
* fix font-h (again)
* update a script
* fixes
* Fix segfault
* Fix `PROT_NONE` page protection on windows
2021-05-01 21:09:48 -04:00
Tyler Wilding
7c182db7ea
Compiler: Auto-generate inspect methods for bitfields ( #407 )
...
* goalc: Auto-generate inspect methods for bitfields
* goalc: Don't generate inspect methods for 128-bit bitfields
2021-05-01 15:29:56 -04:00
Tyler Wilding
44fa183922
repl: Add auto-listening capabilities -auto-lt
( #405 )
...
Closes #403
2021-05-01 10:33:41 -04:00
water111
70d93354eb
[Decompile] file-io, loader-h, texture-h, level-h, math-camera-h ( #397 )
...
* file-io and loader-h
* add test for level-h
* math camera-h
2021-04-28 20:51:17 -04:00
water111
14028b90bc
[Decompile] vector.gc (finally) ( #394 )
...
* support psubw
* do half of vector
* rest of vector
* add test
* format
2021-04-28 17:14:54 -04:00
water111
3d2ca71fe3
[Decompile] pad and gs ( #389 )
...
* update stuff
* gs reference added
* update config
2021-04-26 21:40:08 -04:00
water111
2002db359a
[Decompiler] WIP: Stack Spills ( #382 )
...
* set up types
* cleaned up type analysis and got things working through atomic ops
* expression working, need types
* improved types and names
* getting close
* finish up dma-disasm
* fix
2021-04-25 14:48:54 -04:00
water111
0b8a878533
[Compiler] Fix branch targets in disassembly ( #379 )
...
* fix diassembly
* update changelog
* fix exit crash
* doc
2021-04-23 15:07:22 -04:00
water111
060b125324
[Compiler/Decompiler] Better support for Bitfield and Enum types ( #374 )
...
* compiler fixes, a decent amount of decompiler stuff is working too
* more support in decompiler, fix some casts
* decompile static data too
2021-04-22 19:08:58 -04:00
ManDude
0560136f08
Allow enum names to serve as types (using the enum's type) ( #372 )
...
* Allow enum names to serve as types (using the enum's type)
* Formatting
* add doc to `get_enum_type_name`
* Ban enum forward-declaring, and remove unneeded checks
2021-04-19 20:29:38 -04:00
water111
c09e18f3a7
Fix stack new and add size-of to compiler ( #370 )
...
* make decompiler output stack-no-clear
* add size-of
2021-04-18 19:51:15 -04:00
water111
9867155e7c
[Decompiler] More support for bitfields ( #363 )
...
* temp
* initial support for dynamic bitfields
* some more progress on display
* dma-buffer good
* small fixes
2021-04-17 18:35:50 -04:00
water111
a863542fa3
[Compiler] Support dynamically constructed bitfields ( #354 )
...
* support dynamic bitfields
* update doc
2021-04-11 19:21:49 -04:00
water111
9969445cf7
[Decomp] Math library: transform and quaternion ( #344 )
...
* decompile transform
* types for quaternion
* part of quaternion
* finish quaternion
* fix offline test reference
* wip fix to let issue
* fix
2021-04-02 11:35:14 -04:00
water111
0a76e6e157
[Decompiler] Make matrix decompile ( #341 )
...
* small fixes
* update
* add instructions
* finish matrix
* add matrix test cases
2021-03-28 20:26:30 -04:00
water111
7fac11ddf5
Support 128-bit variables ( #336 )
...
* wip 128 bit support
* add a few more files to offline test
2021-03-25 16:02:48 -04:00
water111
99683c0dac
[decompiler] Add tests and fixes for vector-h and math ( #333 )
...
* before messing with ssa stuff
* fix ash
* bounding box
2021-03-24 19:16:31 -04:00
water111
0d8742241b
support for i128 ( #331 )
2021-03-23 15:56:23 -04:00
water111
fe336b7b5f
[compiler] fix warnings in repl lib and add macros to autocomplete ( #317 )
...
* fix warnings in repl lib and add macros to autocomplete
* fix crash on ctrl-c, build runtime as static lib and make goos prompt look fancier
* some tweaks for linux build
2021-03-11 12:54:16 -05:00
Tyler Wilding
8bba3d7fd7
REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting ( #316 )
...
* swap to replxx from linenoise
* repl: Implement form auto-tab-completion
* repl: color coordinate the prompts
* repl: Add some basic syntax highlighting, bracket pairs and forms (all one color)
* repl: A more consistent starting screen for the repl
* repl: bug fix for auto-complete
* debug linux
* linting
2021-03-07 23:41:21 -05:00
water111
9074a35b9b
[Decompiler] Fix printing of lets ( #314 )
...
* fix let prints and windows warnings
* missing include for windows
* windows again
2021-03-07 12:01:59 -05:00
Tyler Wilding
f123bf368a
decomp - vector.gc - Decompile vector.gc ( #289 )
...
* temp: commit what i have so far
decomp: Fix nonempty_intersection impl for MSVC Debugging use-case
docs: Add info on getting ASan builds running on Visual Studio w/o exceptions
* decomp: initial rlet implementation
* decomp: cleanup pass of vector-rewrite stage
* decomp: Commit in-progress vector.gc, shortcomings are TODO commented
* decomp: More cleanup, rename from being `vector` instr specific
Fundamentally, this process can be used for re-writing ANY inline-asm instruction
* decomp: Support 4th arg ACC instructions
* decomp: Final pass of vector.gc before implementing last instructions
* decomp: Better warnings when hitting unimplemented instructs
* compiler: Implement inverse-sqrt and mov.vf
* decomp: Final manual pass over vector.gc, documented gaps
* decomp: Finish decompiling what currently is possible in vector.gc
* decomp: Fix Variable -> RegisterAccess conflict
* decomp: codacy lint
* Address review feedback
* Address feedback part 2
* Resolve build failures
2021-03-06 10:46:26 -05:00
water111
9168f03289
[Compiler] Add get-info
( #306 )
...
* wip symbol info
* finish implementation
2021-03-04 10:33:59 -05:00
water111
d9aa535dd0
[Decompiler] Fix issues in gcommon ( #305 )
...
* fix several issues
* small fixes
2021-03-03 20:52:25 -05:00
water111
413c1f5c74
[Decompiler] Add offline tests ( #303 )
...
* add offline test for gcommon as an example.
* fix test
* unused var
2021-03-03 15:42:55 -05:00
Tyler Wilding
2eca9ab801
repl: Support cross-session history ( #301 )
2021-03-03 00:05:13 -05:00
Tyler Wilding
3e0e370343
repl: Add a (repl-help) command for forgetful people like me ( #298 )
2021-03-02 13:16:47 -05:00
water111
d6d5203695
[Decomp] Minor fixes plus some math camera decomp ( #287 )
...
* make some progress on math camera
* minor fixes plus start of decomp of math camera
2021-02-26 15:27:13 -05:00
water111
cadd014add
[Compiler] Support array fields in static objects ( #284 )
...
* first part of static inline array fields
* level h
2021-02-25 22:49:46 -05:00