water111
129ab54fd4
[decompiler] clean up if/when/cond and recognize define-perm ( #472 )
...
* clean up if and when and cond decisions
* recognize define perm
2021-05-12 19:46:17 -04:00
water111
223adeeb0c
Automatically get float label type in most cases ( #463 )
...
* automatically get float type in most cases
* try harder to print json errors
* fix test
2021-05-11 21:57:05 -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
fef9b139d7
Force-enable assert
on release mode Windows build ( #440 )
2021-05-10 23:03:56 -04:00
Tyler Wilding
233d887790
decomp: Avoid '
in error output ( #421 )
2021-05-06 18:47:32 -04:00
water111
21fefa0aaa
[decompiler] small fixes for methods and more reference tests ( #419 )
...
* clean up method stuff, fix a few small bugs, and add references for easy -h files
* more small fixes and reference tests
2021-05-06 00:42:49 -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
water111
7018827a50
decompile display ( #408 )
2021-05-01 15:51:53 -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
fa122356ec
[Decompiler] Fixes for dma-disasm ( #377 )
...
* small tweaks
* fix up some more dma stuff
2021-04-23 20:29:15 -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
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
7737817ac7
[Decomp] Fix bitfields in dma-bucket ( #367 )
...
* fix bitfields in dma-bucket
* fix dma-bucket
2021-04-18 12:08:08 -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
ManDude
9fbbe1a79c
prepare for decompiling display ( #359 )
...
* prepare for decompiling display
Needs some work on the decompiler (mostly bitfield stuff) before a more proper decomp can be done
* make `(profile-bar draw)`, `set-display-gs-state-offset` and `set-display-env` decompile
decompiler should now support unsigned divide
* fill in some dma-h types
* Fill in a few VIF bitfields + other minor fixes
* Update all-types.gc
* Fix stupid mistake in `vif-mask`
* update dma-h reference
* this uint32 is actually a `vif-tag` (oops)
2021-04-16 18:36:19 -04:00
water111
e5f0fecf17
[Decompiler] bitfield support and clean up of DMA ( #350 )
...
* get to vif
* support basic bitfield access
* make bitfields in dma work
* clean up dma
* fix merge conflict
2021-04-11 16:07:01 -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
64c35ca453
[Decompiler] Stack Variables ( #338 )
...
* clean up type analysis
* get everything set up
* basic stack variables working
* partial load fix
* most of matrix
* add offline tests
2021-03-27 15:18:59 -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
9ffc6014e1
fix printing and add gstate ( #330 )
2021-03-22 20:04:00 -04:00
water111
4262145c99
fix set! missing typecast ( #324 )
2021-03-17 19:26:35 -04:00
water111
d60d9b639a
support anonymous functions ( #323 )
2021-03-14 19:06:51 -04:00
water111
e93d97dd07
[decompiler] gkernel offline test ( #321 )
...
* working on pointer math
* bug fixes
* gkernel passing with no anon functions
* update tests
2021-03-14 16:11:42 -04:00
water111
814480f9e5
[Decompiler] Replace type hint system and improve variable types. ( #320 )
...
* get gkernel and gkernel-h at least somewhat working in the offline tests
* strip comments from json
* switch hints to casts. online tests passing, offline passing up to gkernel
* variable retyping is added
* fix up casts in lets
* update
2021-03-13 16:10:39 -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
water111
d8a82eeca1
[Decompiler] Fix up pretty printing and other small changes ( #311 )
...
* fix up pretty printing
* wip
* fix pointer cast signed vs unsigned issue
2021-03-06 20:16:48 -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
b352dcefa9
recognize dotimes ( #310 )
2021-03-05 21:46:39 -05:00
water111
65ffe83468
[Decompiler] Decompile let
( #309 )
...
* test
* fix bug
* fix tests for let
* missing formatting fix
2021-03-05 18:48:01 -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
water111
b0686b1ea7
fix decompiler crash ( #294 )
2021-02-28 19:22:53 -05:00
water111
c15c163333
[Decomp] Add SSA based check for expression building ( #292 )
...
* wip
* tests pass
* fix warnings
2021-02-28 12:38:29 -05:00
water111
57eca1dee9
[Decomp] Decompile more files. ( #290 )
...
* decompile ocean trans tables
* more
* exclude tables from decomp progress
* format'
2021-02-27 14:40:18 -05:00
Tyler Wilding
049489c85b
Fix a small regression impacting MSVC debug builds ( #285 )
...
* decomp: Fix nonempty_intersection impl for MSVC Debugging use-case
* docs: Add info on getting ASan builds running on Visual Studio w/o exceptions
2021-02-27 13:38:04 -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
791c4abfc0
[Decompiler] Static Data Decomp ( #280 )
...
* update all-types
* begin work on static data decompiler
* working for vif disasm array
* mostly working
* finish static data decompilation
2021-02-25 09:51:28 -05:00
water111
f6a6b4c107
[Decompiler] Fix coloring moves ( #281 )
...
* fixed
* final fix
2021-02-24 19:08:55 -05:00
water111
5ec9a91eb9
Decompiler fixes + decompiling ( #276 )
...
* decomp pad
* more decompilation
* update
* fix test name
2021-02-22 09:36:30 -05:00
water111
4b1b7e9507
[Decompile] DMA and similar ( #275 )
...
* add some dma
* clean up
* add progress script and make codacy happy
2021-02-21 11:02:28 -05:00
water111
8775840265
[Decomp] Decompile engine math library types ( #272 )
...
* decompile some stuff
* fix typo
* playing around with trigonometry
* more progress on trig
* more trig
* comments and small fixes
* finish trig
2021-02-20 11:42:46 -05:00
water111
db48d94270
[Decompiler] Clean Up ( #271 )
...
* clean up
* fix up until generic ops
* finish kernel
* documentation
* types
* add missing file
2021-02-18 11:35:45 -05:00
water111
f1a93886e7
[Decomp] Decompile gstring ( #267 )
...
* decompile gstring
* update
* Update code_status.md
* Update code_status.md
* decompile gstate
* add test for states, hope it passes
* also test throw and catch xmms
* update doc
2021-02-16 20:37:48 -05:00
water111
aa9bcd07f4
[Decompiler] Flag uses of vf
registers for values outside of functions ( #263 )
...
* clean up warning system
* add bad dependency warning
* add q and acc
2021-02-15 11:55:10 -05:00
water111
af1691a0bc
[Decompiler] More progress on method stuff ( #264 )
...
* more progress on method
* fix method issues
2021-02-15 11:36:59 -05:00