Commit graph

54 commits

Author SHA1 Message Date
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 656489e942
[decomp] Clean up - part 2 (#687)
* temp

* temp2

* basic case support

* working for or without else

* support more cases

* clean up to drawable headers

* ocean

* format json
2021-07-11 16:35:25 -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 17aedd894d
decomp: hint-control | menu | default-menu (as much as possible) (#632)
* decomp: mostly done `hint-control`

* decomp: Started and decent chunk of `menu` done

* temp stash

* decomp: escape from `menu` hell

* decomp: starting on `default-menu`

* decomp: As much as i can do in `default-menu` at this time

* decomp: clean up `hint-control`

* decomp: fix reference tests

* temp stash

* decomp: finalize `menu`

* decomp: add `menu` to goal_src

* decomp: finalize `hint-control`

* decomp: Resolve TypeConsistency issues

* and fix reference tests

* address feedback

* format and lint

* fix tests
2021-07-04 18:25:08 -04:00
Tyler Wilding 833ca06618
decomp: finish tfrag-work (#679) 2021-07-04 16:19:20 -04:00
water111 6366068bc0
Support dir tpages (#671)
* support dir tpages

* fix warnings and bad return

* one more try

* revive the offline test script

* fix this null bug
2021-07-02 14:50:58 -04:00
Tyler Wilding 2556284293
decomp: decompile shrub-work | tie-work (#657)
* decomp: finish `shrub-work`

* decomp: update reference tests

* decomp: update `goal_src` entries

* decomp: finish `tie-work`

* decomp: add to `goal_src`
2021-06-30 21:57:13 -04:00
water111 a81aef889a
Level load test (#656)
* tweaks for loading VI1

* temp

* clean up
2021-06-30 19:20:31 -04:00
ManDude 1af0f4a1a7
[decomp] most of level and some game loop functions + couple decomp… (#651)
* [decomp] most of `level` and some game loop functions + couple decompiler fixes

* add ART.CGO to fake-iso
2021-06-29 20:30:52 -04:00
Tyler Wilding 385b8b5785
decomp: settings (#641)
* decomp: finalize `settings`

* decomp: cleanup
2021-06-28 00:32:29 -04:00
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
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
ManDude 46b83bda2a
[decomp] debug (#607)
* [decomp] `debug`

* shut up
2021-06-19 14:24:55 -04:00
ManDude 928673cd13
[decomp] prepare joint stuff (#594)
* [decomp] prepare `joint` stuff

* fix types

* fix a missing declaration

* update references
2021-06-14 23:45: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 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 2851cae13b
[decompile] fact-h (#556)
* decompile fact-h

* fix unused var

* codacy again
2021-06-05 11:15:34 -04:00
ManDude 9b905f903c
random clean-up (#551)
* clean-up various files, do `game-h` and `generic-obs-h`

* cleanup `smush-control-h`

* cleanup `collide-edge-grab-h`, `collide-mesh-h`, `collide-shape-h`

* [goal lib]organize minor things

* Fix a library command before I forget again

* fix
2021-06-04 13:22:50 -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 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
Tyler Wilding 790e65a78c
decomp: Decompile wind (#480)
* decomp: Decompile `wind`

* include `<limits>`
2021-05-13 20:46:37 -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
water111 62dfa1bf07
[TypeSystem] add heap-base property to types (#431)
* support heap base in the type system

* lock around modification of status
2021-05-09 19:40:36 -04:00
Tyler Wilding 73a4f2c83e
decomp: lights.gc (#420)
* scripts: Hack script to quickly identify the next goal_src file that hasn't been decomp'd yet

* config: Delete old type_hints file

* decomp: Decompile lights.gc

* decomp-tests: Add offline tests and temporary forward defs

* vs: Rename / add new offline test run config

* decomp: Add formatted lights.gc source

* decomp: Temporary define stub in geometry,gc

* decomp: Cleanup `lights-group` handling
2021-05-07 20:54:20 -04:00
ManDude cc3f8ffbf5
[decomp] headers for generic, mercneric, tieneric, merc, cpu shadow renderers, art, joint and bone (#424)
* decomp a bunch of renderer files

* fixes
2021-05-07 00:41:42 -04:00
ManDude 812efd92ca
[decomp] prototype-h, a few enums and other random things (#422)
* [decompiler] fix missing error in asm output

* decomp prototype-h, cleanup pat-h and res-h, prep for fact-h & res

* fix types

* Update all-types.gc

* fix a methos in `res-h`
2021-05-06 19:00:30 -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
ManDude 8d99bee88c
[decompile] decomp time-of-day-h, fix mood-h, update sky-h, make art-h almost work (#415)
* [decompiler] make certain floats decompile to constants

* update various types in `mood-h`, `time-of-day-h` and `art-h`

* fix `time-of-day-context`

* add some offline tests

* make `new-dynamic-structure` decompile at least

* formatting

* Update all-types.gc

* Update all-types.gc
2021-05-04 21:36:22 -04:00
ManDude 2beaa7a340
[decomp] cleanup drawable and ocean stuff (#414)
* use `kmalloc-flags` for goal `kmalloc`

* cleanup some drawable stuff, add offline tests

* cleanup generic-h a bit

* make decompiler work on 16-bit static data

* cleanup ocean stuff

* fix `ocean-spheres`

* oops forgot this

* I forgot to actually make `ocean-tables`
2021-05-03 08:54:49 -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
water111 7018827a50
decompile display (#408) 2021-05-01 15:51:53 -04:00
water111 53a70d8e43
clean up display-h (#392) 2021-04-27 19:40:14 -04:00
water111 3d2ca71fe3
[Decompile] pad and gs (#389)
* update stuff

* gs reference added

* update config
2021-04-26 21:40:08 -04:00
ManDude 8619e6df19
Fix gs-bgcolor and display-frame + decompiler types (#390) 2021-04-26 08:44:13 -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
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
ManDude 8b62de35ea
[texture-h] fixes (#356)
* move commonly used scripts to specific folders

* fixes

* Update test.sh

* Update test.sh

* Fix file permission

* move commonly used scripts to specific folders

* fixes

* Update test.sh

* Update test.sh

* Fix file permission

* [texture-h] fixes

* [display-h] use bitfield types
2021-04-13 20:22:34 -04:00
ManDude fcbf5b60ff
[gs] fill in most of the register types (#355)
* [gs] fill in most of the register types

that was kinda boring to do

* [display-h] minor decompiler fixes

* Update all-types.gc
2021-04-13 00:36:05 -04:00
water111 8f68d35cbb
[Decomp] Some more collision header files and speed up tests (#296)
* some more

* faster tests

* on by default
2021-03-01 11:15:24 -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
water111 b7f040986e
[Decomp] Decompile connect.gc (#288)
* decompile connect

* decompile lots of types
2021-02-26 22:22:54 -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