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
ManDude
54ccc9db97
Increment enum entry values if no value's supplied ( #385 )
2021-04-24 23:51:47 -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
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
ManDude
17b05a9e40
[FileUtil] windows directories fix ( #352 )
2021-04-10 21:17:12 -04:00
water111
7fac11ddf5
Support 128-bit variables ( #336 )
...
* wip 128 bit support
* add a few more files to offline test
2021-03-25 16:02:48 -04:00
water111
99683c0dac
[decompiler] Add tests and fixes for vector-h and math ( #333 )
...
* before messing with ssa stuff
* fix ash
* bounding box
2021-03-24 19:16:31 -04:00
water111
9ffc6014e1
fix printing and add gstate ( #330 )
2021-03-22 20:04:00 -04:00
water111
d60d9b639a
support anonymous functions ( #323 )
2021-03-14 19:06:51 -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
fe336b7b5f
[compiler] fix warnings in repl lib and add macros to autocomplete ( #317 )
...
* fix warnings in repl lib and add macros to autocomplete
* fix crash on ctrl-c, build runtime as static lib and make goos prompt look fancier
* some tweaks for linux build
2021-03-11 12:54:16 -05:00
Tyler Wilding
8bba3d7fd7
REPL: Add clear-screen / auto-complete / basic hints and syntax highlighting ( #316 )
...
* swap to replxx from linenoise
* repl: Implement form auto-tab-completion
* repl: color coordinate the prompts
* repl: Add some basic syntax highlighting, bracket pairs and forms (all one color)
* repl: A more consistent starting screen for the repl
* repl: bug fix for auto-complete
* debug linux
* linting
2021-03-07 23:41:21 -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
water111
26da66b29c
move dgo decompression to common utils and support it in the dgo unpacker ( #312 )
2021-03-06 16:06:08 -05:00
water111
9168f03289
[Compiler] Add get-info ( #306 )
...
* wip symbol info
* finish implementation
2021-03-04 10:33:59 -05:00
ManDude
e77478e2e6
[decompiler] Print floats as neatly as possible ( #307 )
...
* [decompiler] Print floats as neatly as possible
* style fixes
* more
* Update test.bat
* Add and fix tests
* Jesus christ fine
2021-03-04 00:47:46 -05:00
water111
d9aa535dd0
[Decompiler] Fix issues in gcommon ( #305 )
...
* fix several issues
* small fixes
2021-03-03 20:52:25 -05:00
Tyler Wilding
2eca9ab801
repl: Support cross-session history ( #301 )
2021-03-03 00:05:13 -05:00
water111
8f68d35cbb
[Decomp] Some more collision header files and speed up tests ( #296 )
...
* some more
* faster tests
* on by default
2021-03-01 11:15:24 -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
5ec9a91eb9
Decompiler fixes + decompiling ( #276 )
...
* decomp pad
* more decompilation
* update
* fix test name
2021-02-22 09:36:30 -05:00
water111
4b1b7e9507
[Decompile] DMA and similar ( #275 )
...
* add some dma
* clean up
* add progress script and make codacy happy
2021-02-21 11:02:28 -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
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
water
e8231c2708
fix
2021-02-11 16:13:03 -05:00
water111
d9a8f28e52
remove useless sets ( #252 )
2021-02-11 14:35:28 -05:00
water111
43c1d223a6
[Decomp] Decompile gcommon, gstring-h, and gkernel-h ( #249 )
...
* begin decomp
* untabify
* finish decomp of gcommon
* warning with function name
* clean up gkernel-h
* fix all types
2021-02-11 09:49:15 -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
e01e065170
[gcommon decomp] compiler and decompiler fixes ( #239 )
...
* wip
* decompile file-io
* a
* fix
2021-02-07 18:21:00 -05:00
water111
ddffda1e8c
[Decompilation] Fixes to compiler/decompiler for gcommon ( #227 )
...
* fix shift naming issue
* fix bad argument variable names
* fix missing variable issue
* small missing things
* wip
* cleanup
* wip
* fix conditions
* small bug fix in rewriter
* fix incredibly stupid printing bug
2021-02-05 19:41:09 -05:00
bb010g
2436a8a541
Nixpkgs support ( #228 )
...
* Use env shebangs
* CMake cleanup, install() invocations, & CTest
`ctest` & the `test` target work now
* Nixpkgs support
2021-02-03 21:29:46 -05:00
water111
a870bb53e4
[Decompiler] Expression 5 ( #218 )
...
* new method of inline-array-class
* up to new array
* wip side effect stuff
* prepare for pop barrier stuff
* add pop barrier
* add local vars hack to compiler
* fix bug, make sort work
* add test for array
* bug fixes
* another bug fix
* refactoring env variable print for casts
* more tweaks
* updates
* final cleanup
* codacy fixes
2021-02-01 20:41:37 -05:00
water111
51f70b6f4b
[Tools] Add DGO packer and unpacker ( #219 )
...
* add dgo tools
* make codacy happy
2021-01-27 20:46:58 -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
ManDude
45d37733a8
log: Fix Windows console text coloring issue ( #192 )
...
* Add a Release build configuration.
* Batch file alternatives for decomp/gc/gk
For the shell-less, or people with a different Windows configuration.
* all-types.gc: Fix typo.
* gcommon.gc: Typo.
* debugger: use enum class for InstructionInfo::Kind
* decompilerIR: use enum class for IR_Store::Kind
* Update all-types.gc
* decompiler: tab to spaces
* root batch files: update directories
* Use a gitignore inside "log" folder to fix windows crashes
* Revert "Update all-types.gc"
This reverts commit 5ef179bb4e .
* log: Fix broken ANSI color support for Windows console (stdout)
* Update log.cpp
* log: Fix clang formatting Lol.
2021-01-10 15:55:21 -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
Tyler Wilding
69f7f46477
Add Address Sanitizer support to MSVC and CMake ( #182 )
...
* msvc: Add Address Sanitizer
https://devblogs.microsoft.com/cppblog/addresssanitizer-asan-for-windows-with-msvc/
* cmake: Add Address Sanitizer
* docs: Update ReadME
* see if we can replicate the test failure
* windows fixes maybe
* cmake: Compile with gcc and clang (only coverage on
* hacky try again
* clean up
* fix clang issues
* linting
Co-authored-by: water <awaterford111445@gmail.com >
2021-01-04 23:32:51 -05:00
water111
a80b331c27
[Compiler] In-progress support for vector float (AVX) ( #171 )
...
* begin work on vf support
* split reg kind into reg hw kind and class, use class for ireg
* try test
* clang format
* add some more ops and some example functions
* better lvf on statics
* add documentation
2020-12-30 15:33:51 -05:00
water111
4d713d5c8c
[Runtime] misc fixes to runtime and listener ( #170 )
...
* misc runtime fixes
* clang format
2020-12-28 18:37:05 -05:00
water111
25301a8bbc
[Decompiler, Game] Run type prop on gstring ( #168 )
...
* run type prop on gstring
* add types-h
* new settings
* cmake switch
* down to 4 failing functions
* clang format
2020-12-26 11:09:59 -05:00
water111
6bf9d97c51
[Decompiler] Improve reverse field lookup ( #167 )
...
* start on new reverse lookup
* use new reverse lookup
2020-12-25 15:04:03 -05:00
water111
5cb6368b9a
Clean up asm for format ( #164 )
...
* clean up asm for format
* fix windows
* remove rpc-call hack
* revert cmake version change
* clang format
* asm fix for windows
2020-12-23 11:15:41 -05:00
water111
3355df809a
Add boxed array type ( #163 )
...
* add array
* support static arrays
2020-12-19 21:05:18 -05:00