Commit Graph

23 Commits

Author SHA1 Message Date
Tyler Wilding f755596053 decomp: cleanup s6 casts that are no longer needed (#1061) 2022-01-09 11:43:01 -05:00
water111 a96396e140 [collision] add notes on -h files, add some enums (#1068)
* temp

* add enums
2022-01-08 20:57:57 -05:00
Tyler Wilding 50197c0695 cleanup: cleanup all-types and all state definitions (#1062)
* cleanup: cleanup all-types and all state definitions

* these are fine

* these are fine

* these are fine

* everything is fine

* gsrc updated

* remove define-externs in gsrc
2022-01-08 18:23:30 -05:00
ManDude c245f37feb [decomp] joint and related (#1003)
* update jak 2 config and hack to make game text dumpable

* update stuff

* update src

* do `cspace<-parented-transformq-joint!`

* progress.... kind of...

* more drawable stuff

* clagng

* bones begin

* more bones

* even more bones

* everything builds

* touches

* errors

* ?

* fix `quicksandlurker`

* updates

* update refs

* more fixes

* update refs
2021-12-26 11:43:16 -05:00
Tyler Wilding 7edfc8bcec decomp: Re-attempting previously blocked state decomp files (#907)
* blocked: `part-tester` - `code` handler thinks it returns nothing

* blocked: `crates` finished but `go` is returning none causing issues

* blocked: `(event ram-boss-idle)::snow-ram-boss` expression building fails due to delay slot issue

* decomp: finish `snow-ram` | `seagull` blocked, new static data issue

* decomp: finish `snow-bumper`

* stuck: `snow-ball` close, can't figure out a type made on the stack

* decomp: finish `spider-egg`

* decomp: finish `puffer`

* decomp: finish `driller-lurker`

* decomp: finish `dark-crystal`

* stuck: `kermit` - mostly done but stuck on a joint related callback arg

* decomp: finish `gnawer`

* decomp: finish `mother-spider-egg`

* decomp: finish `swamp-blimp`

* stuck: `mistycannon` prebind function signature

* decomp: finish `citb-plat`

* decomp: finish `darkvine`

* blocked: `jungle-mirrors` - issues with `link` macro

* decomp: finish `launcherdoor`

* decomp: finish `quicksandlurker` except for 1 unused function

* stuck: `balloonlurker` - `(code balloonlurker-mine-explode)` has some weird joint related code

* stuck: need to decompile an asm func in `orbit-plat`

* decomp: finish `voicebox`

* blocked: `mother-spider` has issues where `go` returns none

* decomp: finish `bully`

* decomp: finish `seagull`

* fixed up after merge conflicts

* decomp: finish `jungle-mirrors`

* update gsrc

* double checked files, fixed issues

* decomp: revert change to projectile methods

* decomp: some more fixes

* address feedback

* fix up remaining method calls in `cam-states`

* fix jungle-mirrors
2021-12-11 13:27:24 -05:00
Tyler Wilding 111af1ec19 decomp: finish the remainder of untouched gameplay code (#893)
* decomp: finish `sidekick`

* decomp: got a lot of `target` done

* decompiler: Add support for non power of 2 offsets for inline arr access

* decomp: finish `target` mostly

* decomp: finish `water`

* decomp: finished `robotboss-weapon`

* decomp: finish `robotboss-misc`

* decomp: finish the majority of `robotboss`

* blocked: `racer` has an issue around entering a state

* blocked: `target-racer` done mostly, but NYI case in one function

* blocked: `racer-states` mostly finished, but bitfield issue

* blocked: `billy` on state decomping

* blocked: `bully` on state decomping

* waiting: `rolling-lightning-mole` waiting on navigate for 2 funcs

* blocked: `rolling-robber` finished but `s6-1` issue

* blocked: `ogreboss` uint64's for types cant label load em!

* blocked: `mother-spider` state decompilation

* half-done `target-flut`

* blocked: `target-flut` some sort of new bitfield state

* some improvements in `racer-states` with my new-found knowledge

* progress: started on `target-death`

* blocked: `target-death` handle casts

* decomp: finish `collide-reaction-racer`

* blocked: `target-handler` handler forced to return `none`

* decomp: 99% of `target2` finished

* decomp: finish `target2`

* gsrc: update

* update post merge

* address feedback

* scripts: add script to detect decomp issues

* fix wide-spread `collide-shape` method missing arg

* some small things i changed from master

* address feedback

* fix typeconsistency issue
2021-11-24 00:33:10 -05:00
ManDude 25b0e1be7d [decomp] collectables + works ingame! (#971)
* decomp: `collectables`

* fix types

* `powerups` and fixes

* fixes

* Merge branch 'pr/929' into d/temp/collectables

* fix collide stuff

* update things...

* update

* update

* temp bump global heap mem

* fix `defstate` hooks wrong/unnecessary sets & collide stuff for collectables

* dumb mistakes :)

* stub out broken process-drawable stuff

* update refs

* add `:no-inspect` key and save some memory & remove birth logs

* Update kmachine.h

* clang

* add citadel

* fix no-inspect key

* fix tests!!

* fix stupid mistake in `collide-shape-prim-sphere` alloc

* comment annoying print

* feedback

* fix edge-case probably

* remove `:no-inspect`s
2021-11-23 18:25:57 -05:00
ManDude 80a002f8c0 [decomp] entity birth (#964)
* make birthing work

* fix float representation on defskelgroup

* test

* update

* debugger improvements & dont upload aux sprites

* ?

* fix progress

* fixes

* fixes

* Create bea.gd

* fix test

* fix xmm reg clobbering in kernel (water)

* cleanup cam-start

* clear gamepad state every frame

* allow controller connects and disconnects while running
2021-11-15 19:05:28 -05:00
Tyler Wilding c8a31d4d1b decomp: Pass of the final remaining gameplay related files (#921)
* blocked: `plant-boss` has `go` returning none issues

* blocked: `ice-cube` return value getting forced to none

* blocked: `ropebridge` has static data isue

* blocked: `double-lurker` handle cast issues

* decomp: finish `billy`

* decomp: finish `lurkerworm`

* blocked: `pelican` handle casts

* decomp: finish `citb-bunny`

* blocked: inherited states in `snow-bunny`

* blocked: CFG resolution in `lavatube-energy`

* decomp: finish `citadel-sages`

* progress: working through `collectables`

* blocked: finished as much as currently possible in `collectables`

- process-tree's 10 method pparently has a 3rd arg -- im doubtful
- set-to-run function
- branch delay unimplemented case
- weird method 21 eco-collectable

* pre-merge

* decomp: update source files / ref tests

* decomp: finish `floating-launcher`, `shover`, `steam-cap`, `sun-iris-door`, `whirlpool`

* decomp: address feedback

* update ref tests and gsrc
2021-11-14 11:14:43 -05:00
Tyler Wilding f605b0ee38 decomp: generic-obs (#894)
* stash

* more

* and more

* like 80% done

* trying to update things

* refreshed work on generic-obs

* blocked: down to only decompiler issues!

* decomp: finish `generic-obs` skip over the failing functions for now

* `pair` -> `object`s and fix 2/4 of the functions i had skipped

* address feedback
2021-11-13 23:31:29 -05:00
Tyler Wilding 5f1ed7ab60 decomp: decompile *-obs files (#856)
* decomp: mostly finish `cam-master`

* decomp/scripts: lots of work in cam-states

* stash

* Merge remote-tracking branch 'water111/master' into decomp/camera-master

Updated submodule third-party/googletest

* decompiler: Add support for non power of 2 offsets for inline arr access

* decomp: mostly finish `cam-states` need to fix a macro issue

* blocked: `cam-master` decompiler crash when adding casts

* decomp: finish `cam-states-dbg`

* decomp: mostly finish `pov-camera` with the exception of joint-related code

* decomp: `cam-debug` finished decompiling, no way does this compile yet though

* decomp: considerable work done in `cam-layout`

* decomp: `cam-layout` almost done!

* decomp: `pov-camera` finished, TC tests will fail for now

* decomp: working on resolving issues

* decomp: cam-layout decompiling

* fixing more issues in cam-master...one event handler remains

* skip problematic function in `cam-master` for now

* gsrc: update res macros

* decomp: finish `cam-states`

* decomp: giving up on `cam-debug`

* tests: allow skipping state handlers in ref tests

* decomp: working through cam-layout bugs

* decomp: allow for shifting non-integers

* decomp: finalize `cam-layout` and `cam-master`

* decomp: finalize `cam-states`

* cleanup: bi-annual formatting of the casting files

* formatting

* decomp: start working on beach-obs

* blocked: `beach-obs` mostly finished, but handle cast issues and unknown `prebind` func signature

* blocked: `villagep-obs` done, `s6` not being referred to as `self`

* decomp: finish `citadel-obs`

* decomp: finish `darkcave-obs`

* blocked: need to allow `hud-h` to decompile properly (#f as static pointer)

* decomp: finish `jungle-obs`

* decomp: finish `village-obs`

* blocked: `misty-obs` handle cast issues

* decomp: finish `village2-obs`

* decomp: 1 function left in `swamp-obs`, particle related -- maybe we know now?

* decomp: finish `swamp-obs`

* blocked: `maincave-obs` handle casts

* decomp: finish `sunken-obs`

* blocked: `rolling-obs` handle casts and hud-parts

* decomp: finish `firecanyon-obs`

* decomp: finish `ogre-obs`

* blocked: `village3-obs` gives up type analysis!

* blocked: `snow-obs` has hud-parts and handle casts code

* decomp: finish `snow-flutflut-obs`

* blocked: `lavatube-obs` has s6-1 issue

* blocked: `title-obs` handle cast issues

* fixed post merge problems

* decomp: finish `jungleb-obs`

* blocked: `training-obs` has `s6-1` issue

* fix type consistency

* scripts: Extend update script to handle the game-text-id enum as well

* git: Update git attributes to effectively halve PR burden

* fixed `sound-play-by-name` signature

* fix particle definitions in firecanyon-obs

* fix func signature in racer-states

* update ref tests

* tests: update current ref tests

* tests: add `joint` to ref-tests

* tests: add `process-drawable` to ref-tests

* updated gsrc

* add back manual fix

* address most feedback, update source files

* get rid of forward declarations in `darkcave-obs`

Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com>
2021-11-05 21:29:32 -04:00
water111 8846968963 [Debugger] windows debugger and process drawable (#953)
* Update assert.h

* stuff for `process-drawable` to work

* add windows code for debugger

* debugger attaches

* something works

* remove bad ideas

* `(:break)` works

* connection fixes

* fixes + update docs

* crates & `defskelgroup` macro

* clang

* update tests and a few types

* temp

* temp

* fix files

* game builds

* reverse TypeConsistency operation

* add eye stuff for merc art login

* add `(:sym-name)`

* oops

* add `--auto-dbg` option to gc args

* codacy

* improve robustness of dgo unpacker and objectfiledb reading

* `cavegeyserrock`

* hopefully fix linux

* windows FormatMessage weirdness?

* mutex fixes

* fix merge conflicts

Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com>
2021-10-31 11:01:15 -04:00
Tyler Wilding 28e3ba4863 decomp: finish effect-control -- fixed ambient-sound type def (#876) 2021-10-10 18:44:47 -04:00
ManDude d8e659df66 [decomp] flying-lurker (#846)
* `flying-lurker`

* why'd this get left behind?

* also `ambient` and add a `banned_objects` config and fix offline tests

* clang

* fix `ambient-type-sound`
2021-09-21 18:40:38 -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 4943c125ad decomp: target-part (#688)
* decomp: finish decompiling `target-part` waiting on label issue

Hitting exception at data_decompile.cppL182

* fixed pointer labels, but blocked by :inline fields from static data

* decomp: finish `target-part`

* address feedback
2021-09-02 19:19:54 -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
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
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
Tyler Wilding 59a15bd6a9 decomp: fix goal_src 2021-08-11 22:54:27 -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 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