Releases: maybegreat48/GTA-V-Script-Decompiler
Releases · maybegreat48/GTA-V-Script-Decompiler
1.1
- Redesigned type system
- Major optimizations (10x faster decompile)
- Label display improvements
- Ternary operator
- String deobfuscation
- More functions and enums added to database
- Made updating crossmap easier
- Ran Visual Studio's "Code Cleanup" on solution
- Many other bug fixes and improvements
1.0
Initial release of the redesigned decompiler
Features:
- Now decompiles into structured AST which is converted into plaintext
- Faster decompile times due to a single-pass method
- Better spacing between statements and blocks
- Added for loops!
- Somewhat better indirect call syntax
- Uses natives.json directly instead of some strange custom file format
- IDA and dnSpy style automatic local names
- Ability to name and type functions in a persistent way through the function database, some functions are already included!
- High-level handle types like
Entity
andPlayer
- Enum support with many enums already added
- GXT2 text label reverser
- A basic disassembler
- Create patterns and patches directly from the disassembler, obsoleting the Ghidra plugin
- Fixed lag with the output text box (selecting and scrolling is now 10 to 100 times faster)
- Progress bar for opening/exporting files
- More things I can't recall
Known Bugs:
- Produces invalid output on functions that have strange constructs (like gotos and continues in a loop)
- The hex index thing is no longer implemented (but I doubt anyone would use that)
- Type inference is still extremely poor
Removed:
- Console support (probably too much effort to maintain)
- Export headers and native tables (apparently used by an old version of SC-CL)
TODO:
- Documentation
- Structs
- Save global type info
- Redesign the type system to no longer use
Stack.DataType
- More patches
- ...
Feel free to open an issue if you have found a bug