

As a result, when given correct casts, it often produces code that can be directly fed into a compiler and works perfectly. Our decompiler is designed specifically for processing the output of the original GOAL compiler. We manually specify function types and locations where the original code had type casts until the decompiler succeeds, then we clean up the output of the decompiled code by adding comments and adjusting formatting, then save it in goal_src. To help with decompiling, we've built a decompiler that can process GOAL code and unpack game assets. Video of debug menu and actor visibility: Using keyboard controls, we can open the debug menu and turn on some simple debug visualizations. We can load textures, text files, and level files. Currently, the main display process ( *dproc*) runs and sends data to our renderer. So far, we've decompiled around 130,000 lines of GOAL code, out of an estimated 500,000 total lines and we've started work on an OpenGL renderer. We support both Linux and Windows on x86-64. It should be possible to make edits to the code without everything else breaking. For example, the original GOAL compiler supported live modification of code while the game is running, so we do the same, even though it's not required for just porting the game. try to match things from the original game and development as possible.Our GOAL compiler's performance should be around the same as unoptimized C.It shouldn't emulated, interpreted, or transpiled. make the port a "native application" on x86-64, with high performance.create tools to repack game assets into a format that our port uses.create a tool to extract game assets into formats that can be easily viewed or modified.develop our own compiler for GOAL and recompile game code for x86-64.decompile the original game code into human-readable GOAL code.Over 99% of this game is written in GOAL, a custom Lisp language developed by Naughty Dog.

This project is to port Jak 1 (NTSC, "black label" version) to PC.
