Skip to main content

Progress Report - Feb. 2023

· 6 min read

Jak 2 is beginning to really take shape. Decompilation is finally nearing completion with bug fixes and feature additions starting to ramp up.

Project Level News

This month's release is:

  • 0.1.33 OpenGOAL Tooling (jak-project repo)
  • distributed via the 1.9.0 Launcher release

Jak 1 and General Fixes

Rock Village IL Speedrun Fixed

Minor fix for this IL where the Rock Village hud text was not marked as seen in advance.

Hungarian Text Translation

Hungarian translations for the text have been added.

Speedrun Autosplitter - Scout Fly / Orb Counts

This month the speedrun autosplitter should now have a bunch of new options for splitting when you collect all the orbs in a particular area.

Easier Speedrun Menu Button Combo

There is an alternative button combo for bringing up the menu added last month - while holding L1 + R1 + X, press SELECT. The original combo (pressing START instead) still works too.

Better Setting Documentation

The documentation for the game's settings has been improved here.

Credits to use the Audio Language

The credits in Jak 1 will now use the configured Audio Language instead of the text language.

Speedrun Category Extensions

Several new speedrunning category extensions have been added to the Speedrun Menu, including NG+, Hub 1/2/3 100%, and All Cutscenes.

Launcher Improvements Coming

This work wasn't done in time to be released this month confidently, but work is being finalized to make the Launcher:

  • easier to install and manage jak-project versions
  • easier to ask for help when things go wrong
  • overall resolve bugs and issues that have been going on for a while

Jak 2

BLERC Support

This adds support for blend-shapes to Jak 2 -- which makes all the cutscenes much less stiff and awkward.

Hovering Enemies

As mentioned last month, there was still more nav related code to work on. This month, we finished the code involved with allowing enemies to hover and fly around. This was blocking a few select missions, which now work!

Onin Minigame

The best minigame is now working! This had been waiting to be tested for a long time due to some issues that needed to be solved in the decompiler, once those were fixed, no issues.

Functioning Traffic

The traffic and vehicle code has sucked to get decompiled. Too many custom types had to be invented to hack around things for the time being, but in any case, traffic and vehicles are now finally functional. If you've played Jak 2 before, this also opened the doors for working on a ton of missions which were previously blocked.


The citizens in the city now also function in addition to the traffic. This same PR also finished up some remaining metalhead and guard code.

Seal at Water Slums

Everyone's favourite mission now works.

Lightning Renderer

The renderer to handle the lightning was spiked out this month. It still has some issues, namely that all lightning is red when most times it should be blue.

Krew Fight

In addition to the castle level mostly working, so too does the final fight.

Kor Fight

Likewise, so too does the final boss fight.

Per-Prototype Visibility

Jak 2 adds a feature to disable protos in TIE. It's used to hide things like steps for a future mission in ruins, and also to hide the static version of the tower when it switches to the merc version for the cutscene:

Meet Brutter

As mentioned, with the vehicles now working, we can start to work on missions that needed them. First of which to share is the meet-brutter mission:

Protect Kor and Kid & Intercept Tanker

These missions are now working with the decompilation of the kid / croca-dog / ashelin related files.

Stadium Races

All the stadium races are now functioning!


Jak 2 has been lacking fog for a while, there are still some spots where we think it's off, but this is a lot better.

Palace Cable

The palace cable mission is now working, it's got the annoying elevator bug (elevators always leave Jak behind) which makes the beginning of the mission a bit awkward though.

Sprite Glow Renderer

Another new renderer for Jak 2 -- this one handles all of the glowing light effects.

Warp Gates

Warp gates are now functional.

Sewer Escort

The sewer escort mission is mostly working now. This was one of the last big chunks of gameplay code left to decompile, with only a handful of files left to go now.

General Tooling

Automatic Documentation Generation

No good codebase is complete without decent documentation to go along with it. If you are familiar with other languages, you may have heard of JavaDocs, Doxygen, etc.

We now generate documentation from the docstrings in the OpenGOAL source files that gets bundled with the website which you can find here.

There are still many issues and areas that lack support end-to-end, but this is a good start that can be iterated on. It also has made other features much easier to implement in the LSP.

Memory Footprint of goalc Reduced

Some recent changes significantly reduce the amount of memory goalc consumes.