Commit graph

47 commits

Author SHA1 Message Date
water111 9fdbc2d974
[goalc] fix static array length (#836)
* fix static array length

* add some more small fixes
2021-09-08 18:49:49 -04:00
Tyler Wilding 4ff2130d55
decomp: decompile almost all the platform related files (#812)
* deocmp: `plat` finished, `baseplat` started

* decomp: finish `baseplat`

* decomp: finish `plat-button`

* decomp: finish `plat-eco`

* decomp: finish `citb-drop-plat-CIT`

* decomp: finish `cit-drop-plat-L1`

* decomp: finish `plat-flip`

* decomp: added a bunch of label defs

* decomp: `plat-button` ref test added

* stash

* decomp: finish `baseplat`

* decomp: finish `plat`

* decomp: finish `plat-button`

* tests: fix offline-test to handle multi-DGO files better

* decomp: finish `citb-drop-plat-CIT`

* decomp: finish `plat-flip`

* decomp: finish `wedge-plats`

* tools: fix memory analyzer, skip invalid type

* decomp: finish `wall-plat`

* fix ordering

* fix some casting issues

* cleanup after conflict resolution

* address reviews
2021-09-06 21:10:19 -04:00
ManDude 89ccb8cbc7
[decomp] progress (#780)
* cleanup `main`

* whitespace

* start `progress` decomp pt1

* fill in more stuff

* Update label_types.jsonc

* run cheats

* clang

* make most of `progress` decompile

* `progress` pt 2

* [decompiler] support dynamic format strings

* Make `progress-draw` decompile and almost all `progress`

* make clang shut up

* fix unhandled format string

* fix `progress-draw`

* Update DecompilerTypeSystem.cpp

* fix?

* fixes

* fix a few functions

* make `language-enum`

* warn on weird floats

* fix minor pad bug

* dump stuff in `progress`

* make `progress-screen` enum

* progress progress

* update refs and fix stupid bug

* trying to get it to work

* it works!?

* disable sound functions

* fixes

* final touches

* tests

* tests

* add process allocations

* use the right register for windows

* another try for windows, counting is hard

* one more try

* use process allocations

Co-authored-by: water <awaterford111445@gmail.com>
2021-09-06 20:35:03 -04:00
Tyler Wilding d1f16b34ff
decomp: another batch of easy files (#823)
* decomp: finish `sharkey`

* decomp: finish `lurkercrab`

* decomp: finish `lurkerpuppy`

* decomp: finish `assistant-citadel`

* decomp: finish `static-screen`

* decomp: finish `robotboss-h`

* decomp: finish `final-door`

* decomp: finish `aphid`

* addressed review
2021-09-06 15:34:31 -04:00
Tyler Wilding 7c25b721f1
decomp: easy batch number 2 (#824)
* decomp: finish `jungle-elevator`

* decomp: finish `bouncer`

* decomp: finish `hopper`

* decomp: finish `junglefish`

* decomp: finish `blocking-plane`

* decomp: finish `sidekick-human`

* decomp: finish `assistant-firecanyon`

* decomp: finish `sage-bluehut`

* decomp: finish `flutflut-bluehut`

* fix arg type
2021-09-06 14:29:06 -04:00
water111 4616f436f1
fix missing bitfield (#811) 2021-09-01 21:02:16 -04:00
water111 9b0480c50d
[decompiler] process initialization macros (#807)
* implementation and a few working cases

* fix self issue

* fix run-function-in-process

* fix up set-to-run
2021-09-01 16:59:26 -04:00
water111 6d120c1ac8
fix self issue (#808) 2021-09-01 16:42:24 -04:00
Tyler Wilding 42f7a675b2
decomp: a few files that were done except for sp-launch-group (#802)
* decomp: dark-eco-pool blocked by sparticle-launch-group label

* decomp: finalize `dark-eco-pool`

* decomp: mostly finish `beach-rocks` waiting for sparticle label supp

* decomp: almost done `beach-rocks` but potential new handle case

* decomp: finish `beach-rocks`

* decomp: finish `assistant`

* decomp: finish `miners`
2021-09-01 11:20:05 -04:00
water111 c2c6d3ba46
[decompiler] detect res-lump macros (#796)
* support res lump float

* handle data macro

* rest of res macros

* add vi3 to the build system

* missing close paren
2021-08-31 15:01:54 -04:00
Tyler Wilding 05648e0a96
decomp: finish basebutton (#762)
* decomp: finish `basebutton`

* decomp: finalize `basebutton` and fix `evilbro`

* fix some methods / args
2021-08-22 23:16:55 -04:00
Tyler Wilding 4c61343cb7
decomp: evilbro (#774)
* add script to make adding lambda label casts a bit easier

* decomp: almost finish `evil-bro`

blocked by handle -> process conversion it seems:
`No method or function named .asm.sllv.r0 for type (pointer process-tree)`

* so close! SLLV issue (not a simple handle scenario)

* decomp: finalize `evilbro` blocked by func return type

* decomp: finish `evilbro`
2021-08-22 21:03:47 -04:00
Tyler Wilding 991a438927
decomp: decompile target-util | logic-target (#662)
* add IR syntax highlighting

* set the filterFileRegex properly!

* stash

* decompiler: Add print if conditional fails

* decomp: Mostly finish `target-util`

* decomp: figured out a bit more with `target-util`, a bit stuck now

* decomp: *deep breath* `logic-target` mostly complete

* decompiler: More robust arg_count checking for `format` calls

* decomp: some more work in `target-util`

* fix sllv usage

* decomp: `logic-target` is compiling

* decomp: `target-util` very close - blocked by decomp issue!

* decomp: finish `target-util` except for one issue

#772

* demp: update goal_src

* linting

* add back the one remaining method

* address feedback, update source files
2021-08-22 20:46:37 -04:00
water111 403bb5f4de
[decomp] game-info (#779)
* support more process stuff

* more of game info

* add ref file

* progress on save
2021-08-22 20:12:47 -04:00
water111 11e11d2c04
[decompiler] Several small fixes (#775)
* fix assorted bugs

* stricter return types

* only look for functions in code files
2021-08-19 20:35:12 -04:00
Tyler Wilding 253d7996e8
decomp: almost all of the NPCs! (#748)
* all-types: add all missing `:heap-base`s

* decomp: error encountered when compiling `mayor`

`IR_StoreConstOffset::do_codegen can't handle this` for method `play-anim!`

* decomp: finalize `mayor`

* decomp: finish `bird-lady`

* decomp: finish `bird-lady-beach`

* decomp: finish `sculptor`

* decomp: finish `geologist`

* decomp: finish `oracle`

* decomp: finish `farmer` | `explorer` | almost `assistant`

blocked on sparticle-launch-group

* decomp: finish `sage`

* decomp: finish `gambler`

* decomp: finish `warrior`

* decomp: mostly finish `miners`, blocked by sp-launch-group

* fix issue in `sage`

* fix all the reference tests to use the new state stuff

* fix all of goal_src

* address feedback

* re-gen with `until` fixes
2021-08-18 21:33:31 -04:00
water111 1f0c2e0e71
[decomp] Split condition and body of until after building expressions (#768)
* improve until decomp

* fix tests
2021-08-18 19:36:52 -04:00
water111 97ab6a4e12
add support for non virtual states (#764)
* add support for non virtual states

* typecheck go

* start on virtual states

* more support for virtual states

* offline passes

* fix tests

* use behavior shortcut instead of lambda

* final cleanup of virtual go

* unused var warnings and fix inconsistent enum decompile order on win vs linux

* fix thread safety bug with goal symbol table and vif1 interrupt handler

* fix type mistake
2021-08-17 20:54:03 -04:00
Tyler Wilding b3dc755f06
address _almost_ all feedback 2021-08-14 12:45:25 -04:00
Tyler Wilding 9f36419e37
fix goal_src 2021-08-13 22:16:33 -04:00
Tyler Wilding dda8756a35
Merge remote-tracking branch 'water111/master' into decomp/nav-enemy 2021-08-13 22:00:18 -04:00
Tyler Wilding 05f25e60f8
decomp: finalize nav-enemy 2021-08-13 21:57:58 -04:00
Tyler Wilding 266ce07fd4
Merge remote-tracking branch 'water111/master' into decomp/sunken-elevator 2021-08-12 19:23:19 -04:00
Tyler Wilding 59a15bd6a9
decomp: fix goal_src 2021-08-11 22:54:27 -04:00
Tyler Wilding f2e072cff0
fix method name 2021-08-11 22:33:31 -04:00
Tyler Wilding ca1d540849
Merge remote-tracking branch 'water111/master' into decomp/wateranim-rigid-body 2021-08-11 20:57:05 -04:00
Tyler Wilding 409721018b
Merge remote-tracking branch 'water111/master' into decomp/misty-teetertotter 2021-08-11 20:24:55 -04:00
Tyler Wilding 2f2ad69a0c
remove unneeded casts, switch to :allow-misaligned 2021-08-11 19:54:03 -04:00
Tyler Wilding 11efc31e5c
Merge remote-tracking branch 'water111/master' into decomp/twister 2021-08-10 20:44:22 -04:00
Tyler Wilding 38d2b2d02e
fix dynamic element 2021-08-10 20:43:25 -04:00
Tyler Wilding bcae0d0b5f
decomp: finish wobbler (#745)
Co-authored-by: water <awaterford111445@gmail.com>
2021-08-09 22:07:39 -04:00
Tyler Wilding 3cfd50b618
decomp: finish ticky (#744)
Co-authored-by: water <awaterford111445@gmail.com>
2021-08-09 21:55:05 -04:00
Tyler Wilding 42e73f64d9
decomp: finish tippy (#742)
Co-authored-by: water <awaterford111445@gmail.com>
2021-08-09 21:09:59 -04:00
Tyler Wilding 8ed6650ec6
decomp: finish sunken-elevator 2021-08-08 19:32:54 -04:00
Tyler Wilding a9816f9d28
decomp: finish misty-teetertotter 2021-08-08 17:00:51 -04:00
Tyler Wilding f29e9cb8ce
decomp: finish mud 2021-08-08 16:07:21 -04:00
Tyler Wilding 0d0442eeb4
decomp: finish twister 2021-08-08 13:28:47 -04:00
Tyler Wilding 924abfb329
decomp: comment out problematic top-level-lets 2021-08-07 20:05:06 -04:00
Tyler Wilding 4f331b5f79
decomp: finalize rigid-body 2021-08-07 18:29:44 -04:00
Tyler Wilding 20196852f5
decomp: finallize water-anim 2021-08-07 16:15:41 -04:00
ManDude 03ffb97176
define every skeleton-group, name every inherited virtual state (#712)
* define every skeleton-group, name every inherited virtual state

* typo!
2021-07-23 20:38:05 -04:00
water111 0a9cc68a27
[decompiler] Use meters, degrees, and seconds (#689)
* use meters degrees and seconds

* update changelog
2021-07-11 18:19:41 -04:00
water111 1898c7c52a
[decomp] texture (#684)
* temp

* more cleanup

* fix merge issue

* handle no texture correctly
2021-07-09 22:20:37 -04:00
Tyler Wilding 3219180e60
decomp: finish air (#683) 2021-07-09 21:44:48 -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
Tyler Wilding bb9fb3b2cd Update all lisp headers to reduce size of formatting PR 2020-10-26 21:08:24 -04:00
water 1083bf784e add empty files for all obj files 2020-09-04 14:44:23 -04:00