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
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
water111
4f8403d8e6
support type-ref ( #613 )
2021-06-20 12:59:39 -04:00
ManDude
adcb9fad55
Fix console scrolling issues on windows ( #609 )
...
* Fix console scrolling issues on windows
* Add super extremely important spaces
2021-06-19 22:46:36 -04:00
water111
06ae38d464
[decomp] clean up type def formatting and remove all-forward-definitions.gc ( #608 )
...
* clean up
* fix test
2021-06-19 15:50:52 -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
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
d79937fb62
Improve forward declaring types ( #596 )
...
* improve forward declare type
* display type differences
* make codacy happy
2021-06-15 21:03:55 -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
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
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
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
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
water111
0ab916e122
fix quote issue and decompile level-info ( #474 )
2021-05-12 21:57:19 -04:00
water111
433993074a
Clean up some errors/crashes in decompiler ( #452 )
...
* fix offline tests, clean up some warnings
* clean up warnings during decomp
* fix remaining crash issues
2021-05-11 16:43:13 -04:00
ManDude
fef9b139d7
Force-enable assert on release mode Windows build ( #440 )
2021-05-10 23:03:56 -04:00
Tyler Wilding
233d887790
decomp: Avoid ' in error output ( #421 )
2021-05-06 18:47:32 -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
water111
56625bb0ee
Make buttons a bitfield and fix let bug ( #399 )
...
* make pad buttons bitfields
* fix stupid let bug
* update tests
2021-04-29 20:25:45 -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
fa122356ec
[Decompiler] Fixes for dma-disasm ( #377 )
...
* small tweaks
* fix up some more dma stuff
2021-04-23 20:29:15 -04:00
water111
060b125324
[Compiler/Decompiler] Better support for Bitfield and Enum types ( #374 )
...
* compiler fixes, a decent amount of decompiler stuff is working too
* more support in decompiler, fix some casts
* decompile static data too
2021-04-22 19:08:58 -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
water111
9867155e7c
[Decompiler] More support for bitfields ( #363 )
...
* temp
* initial support for dynamic bitfields
* some more progress on display
* dma-buffer good
* small fixes
2021-04-17 18:35:50 -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
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
d9aa535dd0
[Decompiler] Fix issues in gcommon ( #305 )
...
* fix several issues
* small fixes
2021-03-03 20:52:25 -05:00
water111
9d3b056b7a
Fix asize bug, decompile a few files ( #293 )
...
* fix bug in asize of basic
* more decomp
2021-02-28 18:05:07 -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
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
water111
f1a93886e7
[Decomp] Decompile gstring ( #267 )
...
* decompile gstring
* update
* Update code_status.md
* Update code_status.md
* decompile gstate
* add test for states, hope it passes
* also test throw and catch xmms
* update doc
2021-02-16 20:37:48 -05:00
water111
af1691a0bc
[Decompiler] More progress on method stuff ( #264 )
...
* more progress on method
* fix method issues
2021-02-15 11:36:59 -05:00
water111
14d602c594
[Decompiler] More fixes for gkernel ( #261 )
...
* fix bugs and more address of support
* support for zero checks
* fix tests
2021-02-14 18:50:45 -05:00
water111
d01ecf0a9e
[Decompiler] Support virtual method calls ( #260 )
...
* support virtual methods kinda
* more
2021-02-13 16:35:27 -05:00
water111
126dfc1c45
[Decompiler] Misc fixes for gkernel/math ( #257 )
...
* more cases
* some work on math and floating point stuff
* some decompiling for fun
2021-02-13 11:32:52 -05:00
water111
6e0ff4c9d0
[Decompiler] Clean up the output ( #245 )
...
* fix parent issue
* fix compiler issue
* update
* add error messages
* fix error
* fix array access, temporary
* more clean
* fix
* rename arg variables better
* fix method name
* fix no return value in decompiler
* many small fixes
* cheat types so it works
* name map
* fix old test'
2021-02-09 20:59:14 -05:00
water111
2f722e6379
[Decompiler] Expression Building ( #211 )
...
* up to ash
* add more expressions
* fix some return variable usage nonsense
* bfloat print working
* basic-type working
* type working, fix decompiler on all files
* clang format
2021-01-24 16:39:15 -05:00
water111
40d328f4eb
[Decompiler] Test framework for decompiler regression tests and gcommon tests ( #200 )
...
* test framework for pre-expression compact stuff
* check ordering
* more tests
* final tests gcommon
2021-01-18 13:33:32 -05:00
water111
1071ff6003
[Decompiler] WIP Conversion to SSA and variable naming ( #195 )
...
* begin ssa algorithm
* ssa based splitting appears to work
* add merge pass
* finish basic implementation
* better output
* bug fix
2021-01-16 10:54:09 -05:00
water111
fe693b5da2
[Decompiler] Implement IR2 Type Analysis Pass ( #193 )
...
* type analysis setup
* more framework
* update printing
* wip
* add type analysis pass
* fix tests
2021-01-10 20:46:49 -05:00
water111
5093b97cda
[Decompiler - New IR] Add AtomicOp ( #181 )
...
* wip decompiler ir
* add AtomicOp stuff
* fix windows build and warnings
* add instruction parser
* include
* make minilzo shared
* odr fix
* a
* fix merge conflicts
* move decompiler into namespace
* update the code coverage to include the decompiler
* add demo test
* add register use test to example test
2021-01-06 20:04:15 -05:00
water111
3331e9cd00
Replace spdlog ( #185 )
...
* remove spdlog
* clang format and fix windows
* add format shared
* windows sucks
2021-01-06 12:16:39 -05:00
water111
95c81b675a
add asan build ( #179 )
2021-01-03 12:31:42 -05:00