Commit graph

696 commits

Author SHA1 Message Date
water111 aa58d146c2
[goalc] register allocator v2 (#731)
* clean up allocator interface to be simpler

* working on functions without spills

* working for all

* fix missing includes for windows

* more windows includes

* initialize regs to zero so printing value unintiailized by game code is repeatable
2021-08-01 17:46:55 -04:00
github-actions b8f80e435c Updated github pages site 2021-08-01 21:44:00 +00:00
Tyler Wilding 75f7609baa
decomp: ocean-transition (#616)
* some work on `ocean-transition`

* decomp: finished non-blocked `ocean-transition` functions

* decompiler: Support <0 unsigned comparison

* decompiler/goalc: Support half-word and byte parallel extend ops

* attempt to add support for byte stack spills, assertion errors

`Assertion failed: idx < n_src, file ..\..\..\decompiler\Disasm\Instruction.cpp, line 353`

* decomp: fix byte stack spills, only 1 issue remains in `draw-ocean-transition`

* almost there...

* closer, but unknowns about `dma-buffer` blocking

* dealing with dma-buffer issues

* some more fixes, only an obscure xmm issue remains

* add two problematic functions to blacklists, avoid goal_src additions for now

* fix building/compilation but TypeConsistency hits an assertion error

the `ocean-mid-masks`'s `data` field is none of the types

* decomp: finalize `ocean-transition`

* address feedback - 1 issue remains

* decomp: finalize `ocean-transition`
2021-08-01 17:42:40 -04:00
github-actions 87b44d982a Updated github pages site 2021-08-01 21:12:45 +00:00
ManDude 26c3fb65e9
make some macros for DMA stuff (#725)
* [compiler] allow infinite args for `logior`

* make some dma macros and use them on `display`

* [goos] add `string->symbol`

* make a sketchy macro

* fix tests

* `with-dma-bucket` and `dma-buffer-add-vector4w-2`

* cleanup `debug`

* cleanup `menu`

* go thru `texture` pt 1

* finish `texture`

* `sprite` pt 1

* `sprite` pt 2

* `generic`

* `gs` and `main`
2021-08-01 17:11:32 -04:00
github-actions 3faf704ce4 Updated github pages site 2021-08-01 20:12:29 +00:00
Tyler Wilding d400ec3b2d
decomp: mood (#672)
* decomp: Almost finished `mood`, but confused over the `mood-context` type!

* only function that remains involves vftoi / ppach instructions

* stash

* decomp: fix inline array access issue

* decomp: finalize `mood`

* linting
2021-08-01 16:11:22 -04:00
water111 9c9579aef3
add try catch around static refs (#732) 2021-07-30 22:51:55 -04:00
github-actions af22a7ac0a Updated github pages site 2021-07-31 02:20:00 +00:00
Tyler Wilding d37e6c548e
decomp: camera | cam-combiner | cam-start | cam-update (#621)
* started process on `camera`

* the bulk of `camera` is finished, with the exception of a few

* decomp: Confirmed function ret value

* decomp: `cam-combiner` dead code issue

* stash

* decomp: finish `cam-combiner`

* decomp: finish `cam-start`

* decomp: mostly finish `cam-update`, just needs polish now

* `cam-standard-event-handler` still causing issues

* `cam-combiner` issues with top-level `s6` usage

* decomp: update reference tests

* decomp: finalize `cam-start`

* decomp: `cam-update` cleaned up everything except the array of planes issue

* label correction

* still blocked in cam-combiner over casting issues

* decomp:  resolve issues in `cam-start`

* decomp: finalize `cam-update`

* stash

* decomp: finalize `cam-combiner`

* decomp: finalize `camera`

* decomp: address feedback
2021-07-30 22:18:35 -04:00
github-actions 84bd9b0ee7 Updated github pages site 2021-07-27 23:58:30 +00:00
Tyler Wilding d317497c64
decomp: main-collide and support a bunch of new inline-asm operations (#673)
* decomp/goal-lib: Implement all fixed point macros

* decompiler/goalc: Support half-word and byte parallel extend ops

* decompiler/goalc: Support all parallel compare instructions

* decompiler/goalc: Wire up PPACH and parallel bitwise operations

* goalc: Add emitter tests

* decomp: finalize `main-collide`

* codacy lint
2021-07-27 19:57:14 -04:00
water111 eee8390ec0
support inline arrays on stack (#726) 2021-07-26 21:39:05 -04:00
github-actions 1352adb6d4 Updated github pages site 2021-07-27 00:03:39 +00:00
water111 bd9f550d82
add ref test for sprite and support nested bitfields in static data (#723) 2021-07-26 20:02:16 -04:00
water111 92a5d84a5b
fix sc when the block after the delay slot is optimized out (#721) 2021-07-25 16:42:37 -04:00
github-actions f6534c2f3a Updated github pages site 2021-07-25 20:30:07 +00:00
ManDude af52341050
[decomp] make anim-tester decompilable (#719)
* make `anim-tester` decompile

* add the anon behaviors

* fix tests
2021-07-25 16:28:57 -04:00
github-actions 859adcc7d9 Updated github pages site 2021-07-25 19:32:01 +00:00
water111 2b6684aa5c
[decompiler] Working toward bsp (#717)
* clean up

* before int to float stuff

* before trying to eliminate the separate read and write maps

* partial fix for register issues

* add missing include
2021-07-25 15:30:37 -04:00
github-actions 38c97481e7 Updated github pages site 2021-07-25 04:24:56 +00:00
ManDude 8ef73ee457
give defstate a parent type and allow anonymous behaviors inside (#715)
* give `defstate` a parent type and allow anonymous behaviors inside

* add defstate type stack leak detection+correction, remove debug print
2021-07-25 00:23:30 -04:00
water111 f3f32cca5b
Make dgo unpacker work on pal dgos with wrong size (#714)
* make dgo unpacker work on pal dgos with wrong size

* format string
2021-07-24 11:17:27 -04:00
github-actions ba10f91a78 Updated github pages site 2021-07-24 00:52:35 +00:00
water111 95366d21df
Get started on collide-func and clean up log forms in decompiler (#713)
* wip

* temp

* temp2

* first part of log macros

* more log macros

* logtest

* clean up

* dont initialize game info because we are missing stuff
2021-07-23 20:51:26 -04:00
github-actions 65b61d05e6 Updated github pages site 2021-07-24 00:39:14 +00: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
github-actions 7632b90a17 Updated github pages site 2021-07-23 22:32:11 +00:00
ManDude 1e11a588f5
[decomp] loader prelim work + some cleanup (#697)
* [decomp] `loader` prelim work + some cleanup

* more things

* more

* even more

* yet even more

* minor fixes

* decompiler fix + use behaviors for two funcs

* last functions

* Create loader_REF.gc

* more work

* change vag tool config format + unrelated farmer and yakow stuff

* update some things

* fix some decomp

* cleanup things i came across + make dgo compileable

* fix consistency test

* update refs

* offline test: skip buggy `external-art-buffer` method

* fix test
2021-07-23 18:30:49 -04:00
water111 09c09ce35f
allow aliasing of registers in variables if we explictly ask for it (#711) 2021-07-22 20:14:08 -04:00
github-actions 36ccf341a9 Updated github pages site 2021-07-20 00:50:51 +00:00
water111 c76b51d805
clean up to gsound! (#709) 2021-07-19 20:49:33 -04:00
water111 9ed1170046
add some really old vag file unpacking stuff (#708) 2021-07-18 19:28:56 -04:00
github-actions e537d5f8cb Updated github pages site 2021-07-17 22:08:38 +00:00
water111 b70fcb2f7a
support non-virtual gos in decompiler (#707) 2021-07-17 18:07:21 -04:00
github-actions 0ed587cba9 Updated github pages site 2021-07-17 19:01:30 +00:00
water111 4989470828
recognize +! and set-vector (#706)
"
2021-07-17 15:00:10 -04:00
github-actions 1e90da8e7c Updated github pages site 2021-07-17 17:42:31 +00:00
water111 2754a8f2c4
get res decompiling (#705) 2021-07-17 13:41:05 -04:00
github-actions e7bc3eb3b0 Updated github pages site 2021-07-16 01:38:31 +00:00
water111 ef011f4fe8
[goalc] add a build system (#704)
* add first attempt at build system

* fix stupid bug

* try again
2021-07-15 21:37:15 -04:00
github-actions 77667d9185 Updated github pages site 2021-07-12 23:31:10 +00:00
water111 73330302ba
fix bug in field lookup (#700) 2021-07-12 19:29:56 -04:00
github-actions 079f623099 Updated github pages site 2021-07-12 02:00:42 +00:00
water111 f6d5952498
[decompiler] handle nested conditionals and gotos better (#693)
* diff check

* try that again

* more small fixes
2021-07-11 21:59:27 -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
github-actions d508c408cc Updated github pages site 2021-07-11 20:36:52 +00: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
github-actions d262dac40d Updated github pages site 2021-07-11 20:20:20 +00:00
Tyler Wilding 1b5c5239b1
decomp: mostly finish aligner (#686)
* decomp: mostly finish `aligner`

Issues in aligner/aligner-h that require hand-editing after decompilation

* linting
2021-07-11 16:19:03 -04:00