water111
f87646e8ce
Small state fixes ( #901 )
...
* small fixes
* catch uncaught exception
2021-10-15 21:31:22 -04:00
water111
b2052016e2
[decomp] sky/time of day ( #883 )
...
* time of day
* goal code seems to work
* stars at wrong spot
* stars and sun work
* debugging clouds
* fix texture correction
* sky works
* cleanup, add profiler
* clean up
* final clean up
* offline tests
* missing include
2021-10-10 20:07:03 -04:00
Tyler Wilding
28e3ba4863
decomp: finish effect-control
-- fixed ambient-sound type def ( #876 )
2021-10-10 18:44:47 -04:00
water111
188373a3f6
decompile some drawable stuff and fix a few small bugs ( #859 )
2021-09-28 19:24:09 -04:00
water111
f0ceea8b2e
[sparticle] 2d hud particles ( #849 )
...
* wip, taking a break to work on asm stuff first
* the goal code for sparticle
* mips2c the first sparticle asm function
* temp
* particle processing no longer crashing
* temp
* working texture cache for vi1 and hud textures
* sprites
* cleanup 1
* temp
* temp
* add zstd library
* temp
* working
* tests
* include fix
* uncomment
* better decomp of sparticle stuff, part 1
* update references
2021-09-26 11:41:58 -04:00
water111
5683f04046
[decomp] handle handle->process
inside an and
( #851 )
...
* fix the loader example
* improve compiler error message
* fix missing cast issue
2021-09-21 00:12:37 -04:00
Tyler Wilding
df92a55749
tooling: breaking off my tooling changes in the big batch PR so they can be used ( #850 )
2021-09-19 21:45:14 -04:00
water111
f9d8fcd6e4
[decomp] add mips2c converter ( #842 )
...
* mips 2 c basic version, not yet tested
* calling works without crashing, but the function doesn't
* it works
* add test
* cleanup and actually add the test
* dont use mips2c by default for font
* clean up formatting
2021-09-11 20:52:35 -04:00
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
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
water111
a96eb800c4
update readme and fix unused function issue ( #821 )
2021-09-03 19:19:51 -04:00
water111
31d98cf0d0
update gtest, fix some small bugs ( #818 )
2021-09-02 18:32:22 -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
water111
b58d9ec65d
support vector 4 ( #803 )
2021-09-01 10:02:20 -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
water111
41507f1aee
nest floating point addition and multiply operations ( #794 )
...
* nest floating point addition and multiply operations
* fix mood
2021-08-31 12:04:46 -04:00
water111
34e8afa0ee
get started on entity ( #793 )
2021-08-31 11:05:03 -04:00
water111
d9f9e076af
[decompiler] automatically label things when possible ( #784 )
...
* improve label system
* clean up menu
* debug menu working, still need to fix tests
* fix tests and clean up
2021-08-29 11:13:06 -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
30d1e1d6c9
[decompiler] maybe fix symbol decompile issue ( #776 )
...
* maybe fix symbol decompile issue
* try again on a label
* allow int to float on seconds
2021-08-21 10:20:55 -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
water111
e4f5e8eebd
improve warnings ( #770 )
2021-08-18 20:19:01 -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
water
ee81b709a4
add merc
2021-08-14 23:31:17 -04:00
water
78928e4c04
temp
2021-08-14 23:15:10 -04:00
water
097ae07bb8
clean up font color
2021-08-14 13:06:43 -04:00
water
ee71b52b27
Merge branch 'master' of https://github.com/water111/jak-project into w/dma-for-font
2021-08-12 19:27:51 -04:00
water
ebc580822e
clean up
2021-08-12 19:03:33 -04:00
water
66f95d3c8a
text working with no textures
2021-08-07 21:16:44 -04:00
Tyler Wilding
4f331b5f79
decomp: finalize rigid-body
2021-08-07 18:29:44 -04:00
Tyler Wilding
ef81529855
decomp: almost finish rigid-body
stuck on symbol param from an event!
2021-08-07 17:31:29 -04:00
water111
12446037bd
[decompiler] Make addition nicer ( #733 )
...
* temp
* update refs
* update reference
* fix tests
2021-08-01 18:24:58 -04: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
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
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
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
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
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
water111
c76b51d805
clean up to gsound! ( #709 )
2021-07-19 20:49:33 -04:00
water111
b70fcb2f7a
support non-virtual gos in decompiler ( #707 )
2021-07-17 18:07:21 -04:00
water111
4989470828
recognize +! and set-vector ( #706 )
...
"
2021-07-17 15:00:10 -04:00
water111
2754a8f2c4
get res decompiling ( #705 )
2021-07-17 13:41:05 -04:00
water111
f6d5952498
[decompiler] handle nested conditionals and goto
s 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
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
water111
551a9c4955
[decompiler] ASM Branching Support ( #677 )
...
* basic example working in geometry
* before updating offline'
* clean up
* temp
* progress
2021-07-05 16:07:07 -04:00
water111
e251f8b2d9
Support Behaviors ( #678 )
...
* temp
* working, but type pass got really slow
* clean up
* changelog and flip order
* clean up and add tests
* fix zero size array
* handle lambdas correctly
* another windows fix
2021-07-04 16:54:07 -04:00
water111
784cd5debb
[decomp] get started on game info ( #674 )
...
* temp
* menu text
* wip
* recognize handle to process
* more
2021-07-03 16:18:41 -04:00
water111
4bea175140
[decompiler/compiler] Fixes for task-control
( #668 )
...
* fix decompiler for task control
* support in compiler
* changelog
* typo
2021-07-01 21:38:19 -04:00
water111
322a4ed9b2
Fix compiler crashes and improve return statements. ( #652 )
...
* fix a few small bugs
* fi
* fix merge conflict
2021-06-30 00:11:46 -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
10b00e57ae
[decomp] Fix flipped byte addressing add and support some VU ops in the parser ( #631 )
...
* fix flipped order
* format
* parser hack
* actually flip
2021-06-26 20:02:21 -04:00
water111
69e24ae577
recognize vector, matrix, quaternion constructors in a better way ( #630 )
...
* recognize vector, matrix, quaternion constructors in a better way
* fix bad bug
2021-06-26 18:30:35 -04:00
water111
ae2666a7c5
fix use def issues ( #629 )
2021-06-26 16:31:38 -04:00
water111
490633d434
add countdown ( #627 )
2021-06-25 20:51:25 -04:00
water111
409be41596
[decompiler] fix bad cast and crash on bad and/or recognition ( #626 )
...
* fix small bugs
* fix missing inlining of derefs
2021-06-25 20:13:22 -04:00
water111
9e6dec9829
[decomp] make bg decompile ( #624 )
...
* make bg decopmile
* fix parent method call
2021-06-24 20:06:12 -04:00
water111
83c5852465
allow terrible method hack to decompiler ( #623 )
2021-06-23 22:42:02 -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
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
water111
bc87c4426f
[decompiler] Fix deref bug and add some more new type pass stuff ( #606 )
...
* add copy on write and clean up some register stuff
* fix bug in multiple field lookup
* format
2021-06-18 21:10:00 -04:00
water111
af49ac60cd
fix shl by 16 constant being mistaken for a dynamic bitfield construction ( #600 )
2021-06-16 22:15:22 -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
water111
0aa474f12b
[decomp] finish actor-link-h and a few more ( #592 )
...
* finish actor-link-h
* decompile files
* fix pp issue
2021-06-14 20:46:54 -04:00
water111
13b5695b63
[decompiler] Workaround for GOAL fpr -> gpr spill bug and fix >16-bit signed FP loads ( #587 )
...
* fix up broken stuff for collectables
* exception for stack spill float in gpr bug
2021-06-13 13:55:55 -04:00
water111
8faded6400
[decompiler] bitfield support for sound-name
( #582 )
...
* fix 64-bit fields in 128-bit bitfields
* support sound-name
* fix merge
* support some more sound stuff in overlord
2021-06-12 12:55:38 -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
12d72c7897
detect small integer not equal ( #572 )
2021-06-08 23:39:01 -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
fef7fad65a
[decompiler] process-drawable-h ( #561 )
...
* decomile process-drawable-h
* one more
2021-06-05 23:55:36 -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
2851cae13b
[decompile] fact-h ( #556 )
...
* decompile fact-h
* fix unused var
* codacy again
2021-06-05 11:15:34 -04:00
water111
542edfb164
[compiler/decompiler] Take the address of a variable ( #554 )
...
* support taking the address of variables
* partially working stack variables
* implement type cast stuff
* remove final
2021-06-04 13:43:19 -04:00
ManDude
784119188c
[decomp] even more res
( #529 )
...
* [decomp] even more `res`
* [decompiler] make `logand` with pointers and constants return pointer
* [decomp] more work
* update offline tests
* fix tests(?)
* `*res-static-buf*`
* fixes
* fix reference
* [opengoal] make `logand` work directly with pointers
* [decomp] `inspect res-lump`
* use the inline methods
* don't use a math mode for pointers
* [compiler] allow optionally setting disassembly output file
* [x86 disasm] Keep casing consistent between instructions and offsets
2021-06-01 16:07:45 -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
water111
d719bf5677
[decompiler] support break ( #516 )
...
* support break
* finish implementation of break, decomp method 19 of res
2021-05-23 20:16:34 -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
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
d73501cf19
[decompiler] Get rid of FormStack peek and fix virtual method calls ( #488 )
...
* fix, but it was too easy
* try again
2021-05-15 13:11:20 -04:00
water111
613efbd768
[decomp] transformq-h, clean up trig, and offline test for trig ( #485 )
...
* clean up
* fix store vf fallback errors
2021-05-15 10:38:14 -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
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
water111
223adeeb0c
Automatically get float label type in most cases ( #463 )
...
* automatically get float type in most cases
* try harder to print json errors
* fix test
2021-05-11 21:57:05 -04:00