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
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
78928e4c04
temp
2021-08-14 23:15:10 -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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
water111
70d93354eb
[Decompile] file-io, loader-h, texture-h, level-h, math-camera-h ( #397 )
...
* file-io and loader-h
* add test for level-h
* math camera-h
2021-04-28 20:51:17 -04:00
water111
3d2ca71fe3
[Decompile] pad and gs ( #389 )
...
* update stuff
* gs reference added
* update config
2021-04-26 21:40:08 -04:00
water111
2002db359a
[Decompiler] WIP: Stack Spills ( #382 )
...
* set up types
* cleaned up type analysis and got things working through atomic ops
* expression working, need types
* improved types and names
* getting close
* finish up dma-disasm
* fix
2021-04-25 14:48:54 -04:00
water111
c09e18f3a7
Fix stack new and add size-of to compiler ( #370 )
...
* make decompiler output stack-no-clear
* add size-of
2021-04-18 19:51:15 -04:00
water111
7737817ac7
[Decomp] Fix bitfields in dma-bucket ( #367 )
...
* fix bitfields in dma-bucket
* fix dma-bucket
2021-04-18 12:08:08 -04:00
water111
e5f0fecf17
[Decompiler] bitfield support and clean up of DMA ( #350 )
...
* get to vif
* support basic bitfield access
* make bitfields in dma work
* clean up dma
* fix merge conflict
2021-04-11 16:07:01 -04:00
water111
9969445cf7
[Decomp] Math library: transform and quaternion ( #344 )
...
* decompile transform
* types for quaternion
* part of quaternion
* finish quaternion
* fix offline test reference
* wip fix to let issue
* fix
2021-04-02 11:35:14 -04:00
water111
64c35ca453
[Decompiler] Stack Variables ( #338 )
...
* clean up type analysis
* get everything set up
* basic stack variables working
* partial load fix
* most of matrix
* add offline tests
2021-03-27 15:18:59 -04:00
water111
9ffc6014e1
fix printing and add gstate ( #330 )
2021-03-22 20:04:00 -04:00
water111
4262145c99
fix set! missing typecast ( #324 )
2021-03-17 19:26:35 -04:00
water111
d60d9b639a
support anonymous functions ( #323 )
2021-03-14 19:06:51 -04:00
water111
e93d97dd07
[decompiler] gkernel offline test ( #321 )
...
* working on pointer math
* bug fixes
* gkernel passing with no anon functions
* update tests
2021-03-14 16:11:42 -04:00
water111
814480f9e5
[Decompiler] Replace type hint system and improve variable types. ( #320 )
...
* get gkernel and gkernel-h at least somewhat working in the offline tests
* strip comments from json
* switch hints to casts. online tests passing, offline passing up to gkernel
* variable retyping is added
* fix up casts in lets
* update
2021-03-13 16:10:39 -05:00
water111
9074a35b9b
[Decompiler] Fix printing of lets ( #314 )
...
* fix let prints and windows warnings
* missing include for windows
* windows again
2021-03-07 12:01:59 -05:00
water111
d8a82eeca1
[Decompiler] Fix up pretty printing and other small changes ( #311 )
...
* fix up pretty printing
* wip
* fix pointer cast signed vs unsigned issue
2021-03-06 20:16:48 -05:00
Tyler Wilding
f123bf368a
decomp - vector.gc - Decompile vector.gc ( #289 )
...
* temp: commit what i have so far
decomp: Fix nonempty_intersection impl for MSVC Debugging use-case
docs: Add info on getting ASan builds running on Visual Studio w/o exceptions
* decomp: initial rlet implementation
* decomp: cleanup pass of vector-rewrite stage
* decomp: Commit in-progress vector.gc, shortcomings are TODO commented
* decomp: More cleanup, rename from being `vector` instr specific
Fundamentally, this process can be used for re-writing ANY inline-asm instruction
* decomp: Support 4th arg ACC instructions
* decomp: Final pass of vector.gc before implementing last instructions
* decomp: Better warnings when hitting unimplemented instructs
* compiler: Implement inverse-sqrt and mov.vf
* decomp: Final manual pass over vector.gc, documented gaps
* decomp: Finish decompiling what currently is possible in vector.gc
* decomp: Fix Variable -> RegisterAccess conflict
* decomp: codacy lint
* Address review feedback
* Address feedback part 2
* Resolve build failures
2021-03-06 10:46:26 -05:00
water111
b352dcefa9
recognize dotimes ( #310 )
2021-03-05 21:46:39 -05:00
water111
65ffe83468
[Decompiler] Decompile let
( #309 )
...
* test
* fix bug
* fix tests for let
* missing formatting fix
2021-03-05 18:48:01 -05:00