Commit Graph

33 Commits

Author SHA1 Message Date
water111 a6d5c4eda3 [decompiler] clean up vector detection and add vector float product detection (#638)
* change

* recognize vector float product and update tests
2021-06-27 17:24:35 -04:00
water111 bfb1fbe1fc [decompiler] recognize more inlined vector functions (#637)
* detect vector+

* recognize reset
2021-06-27 12:11:30 -04:00
water111 b19a2c82f0 [decomp] detect vector-! inlined. (#633)
* fix flipped order

* format

* parser hack

* actually flip

* detect
2021-06-26 22:52:52 -04:00
water111 1ffd42e090 [decomp] clean up and make level-update-after-load work (#628)
* temp

* make level-update-after-load work

* add missing const
2021-06-26 13:03:31 -04:00
water111 44f8ff6d25 [decompiler] bug fixes related to infinite loop CFGs, argument registers (#622)
* temp

* clean up

* more clean
2021-06-23 22:09:02 -04:00
ManDude a123f02c32 [decomp] prepare for some files, fill in some types (#617)
* [mips disasm] don't multiply `vcallms` parameter by 8

* [decomp] prep some game loop files
2021-06-21 19:47:39 -04:00
Tyler Wilding 87961bdb3b decomp: generic (#611)
* decomp: Fix casting issue with uint64's from static data

* decomp: `generic`

* add forward declaration

Co-authored-by: water111 <48171810+water111@users.noreply.github.com>
2021-06-20 16:02:15 -04:00
water111 06ae38d464 [decomp] clean up type def formatting and remove all-forward-definitions.gc (#608)
* clean up

* fix test
2021-06-19 15:50:52 -04:00
ManDude 46b83bda2a [decomp] debug (#607)
* [decomp] `debug`

* shut up
2021-06-19 14:24:55 -04:00
water111 409c1f5a7d [Decompiler] WIP new type analysis tools (#601)
* add multi-lookup

* use multi-lookup
2021-06-17 21:50:36 -04:00
water111 d26de26d21 [decompiler] Small bitfield fixes (#599)
* fix a bunch of small bitfield related things

* fix up test

* format
2021-06-16 21:11:21 -04:00
Tyler Wilding 506b5d8ceb Decompile: prototype | video | vol-h | air-h | nav-enemy-h | rigid-body-h (#575)
* decomp: `prototype` done

* tests/ref: Update all reference tests

* decomp: `video` done

* decomp: Add `video` to src

* decomp: `vol-h` done

* tests/ref: Update reference tests again

* decomp: Add `vol-h` to ref tests, leave `entity` in process as a `basic` for now!

* decomp: `air-h` done, compiler issue though

* decomp: `nav-enemy-h` done, compiler issue though

* decomp: `rigid-body-h` done, compiler issue though

* Address feedback and fix the failing to compile files

* linting

* finish `video` off
2021-06-12 21:52:55 -04:00
water111 92afd62e2c [decompiler] fix missing casts issue (#573)
* fix casts issue

* fix bug

* one last small fix
2021-06-09 21:35:13 -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
water111 54f72e9b10 [decomp] joint-mod-h (#560)
* decompile joint-mod-h

* format'

* missing include

* fix test
2021-06-05 20:22:03 -04:00
water111 a572587a0e add types (#559) 2021-06-05 16:58:32 -04:00
water111 3d8013633a [decompiler] Fix rlet in top level and detect matrix and stack inline construction (#547)
* top level in rlet

* detect matrix and vector inline 0

* pretty print the symbol map
2021-05-31 18:14:18 -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 b1a76b2291 [decomp] Small fixes (#541)
* fix a few bugs

* fix local vars missing in top level

* more small fixes

* support missing inline array access case

* one more fix
2021-05-30 19:57:11 -04:00
Tyler Wilding c910a22c1b decomp: a bunch of files (#532)
* decomp: `eye-h`

* decomp: `projectile-h`

* decomp: `sky-utils`

* decomp: decompile `water-h` and add `smush-control-h` to ref tests

* decomp: `task-control-h`
2021-05-28 20:11:06 -04:00
Tyler Wilding fb939726e8 decomp: Decompile ripple (#512)
* decomp: Decompile `ripple`

* decomp: Finish decompiling `ripple`

* update necessary src files
2021-05-26 19:40:12 -04:00
water111 3fbdd662dc [decompiler] Support accessing 128-bit bitfields (#514)
* support some 128-bit bitfield stuff

* fix bug

* support type stuff correctly
2021-05-21 20:36:04 -04:00
water111 ec412c7777 [decomp] ramdisk, load-dgo and rpc-h (#496)
* decompile ramdisk load-dgo and rpc-h

* add a bunch of offline tests

* clang-format
2021-05-16 21:07:22 -04:00
Tyler Wilding b75a64fc29 (init-vf0-vector) to make vector code a bit more readable (#494)
* decomp: Use a macro for loading VF0 (maybe should be in goal-lib.gc?)

* update references

* lint: format

* delete now unused file
2021-05-16 13:49:24 -04:00
water111 79d10979da [decomp] math-camera (#491)
* decompile math camera

* missing line
2021-05-15 20:08:08 -04:00
water111 c95e501cec handle zero case in enum comparison (#484) 2021-05-14 20:12:59 -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 b3eb05e37f [decompiler] fix (gpr->fpr when an integer arg is converted to float (#482)
* fix gpr fpr bug

* remove unused variable
2021-05-14 14:33:08 -04:00
Tyler Wilding 790e65a78c decomp: Decompile wind (#480)
* decomp: Decompile `wind`

* include `<limits>`
2021-05-13 20:46:37 -04:00
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
Tyler Wilding 4c788b7f50 Decompilation: shadow-h and target-h (#428)
* decomp: `target-h`

* decomp: `shadow-h`

* decomp: Add reference / source files

* Use `define-perm` in goal_src file
2021-05-11 00:01:37 -04:00
Tyler Wilding 2a315419de tests: Automate the offline reference tests better (#427)
* tests: Move all files to new directories

* scripts: Update decomp scripts

* tests: Remove hard-coded list for offline tests

* linting
2021-05-09 17:03:58 -04:00