Intel macOS support and texture pack management has landed as well as a ton of progress on texture animations in Jak 2.
This month's OpenGOAL Tooling (jak-project repo) release is
NOTE - You must be on the latest version of the launcher (
2.0.10 or above) to be able to successfully launch version
0.1.35 or above.
- Speedrunner mode is no longer skipping the intro cutscene when starting a new game
Intel macOS Support
Huge shoutout to fabjan who contributed a handful of changes to make OpenGOAL run on Intel macOS. The key things that had to change were:
- Updating the C++ project and assembly code to work in this environment
- Changing the OpenGL shader code to support OpenGL 4.1
This does not extend to native Apple Silicon (and therefore ARM64) support
There may be some issues as this is the first macOS release, but you should be able to install the game via the launcher just like any other supported platform. The installation instructions have been updated, however there isn't a whole lot to say. The launcher installs like any other common MacOS application. Download the
.dmg and drag-and-drop it into your
Texture Pack Support in the Launcher
The launcher can now be used to manage texture packs. You can even enable multiple packs at the same time.
As with most initial implementations, you should expect some potential bugs or rough edges. However the most likely bug you will run into is the texture pack being in an unsupported format. Texture pack authors will have to update their packs accordingly.
- Finnish is now 100% translated
- Danish is around 80%
- Many languages in the Launcher have seen progress as well
Improve Keyboard and Mouse Code
The initial SDL keyboard and mouse code had some issues, for example, inputs remaining stuck for a variety of potential causes. These problems should hopefully be addressed now.
Fix Vibration for Small Buzz Motor
Vibration on the "small" motor was only using 1/255th of the force that it should, making it practically unnoticable.
Missing Facial Animations in Title Screen
There was a missing edge-case after floating-point BLERC was added where Jak and Daxter lacked facial animations during the opening logos.
NaN bug in Ice Sliding Animation
There was a bug in Jak's ice sliding animation, causing it to get stuck on a specific frame. When getting damaged in this state, the game would try to play an eye animation for Daxter and crash due to reading bogus memory.
Fix Potential Crash When Loading Files
Sometimes when a level started to load it would pick the wrong filename and crash immediately.
Actor Culling Option No Longer Flipped
The text for the "Actor Culling" option in the menu was inverted, which lead to confusing behavior.
- Fixed empty boxed arrays of strings breaking some decomp (
- Added a
decomp-astag to decompiler types so that the static data decompiler can use macros like
secondson fields that aren't of type
- Added an
overridetag to decompiler types which overrides the type of field with that name.
- Fixed enum detection breaking in rare cases.
- Fixed in-place op detection for some operations.
Fix missing eyes and animations
Some cutscenes had missing eyes or animations, particularly
Adjust Jak 2's File Tree
The original file structure was made more than a year ago without a lot of context for each file. As a result, some things ended up in the wrong spot or had confusing names.
Race and Defend Stadium Regressions
There were some regressions from a previous cleanup causing the races and the Defend Stadium mission to crash. Somehow it's always these missions.
Fix Original Game Stadium Crash
In the original game, if you selected a specific stadium race, went into the Stadium, ran back immediately to the Stadium computer and loaded a different race that does not change the layout (e.g. selecting the reverse variation, or simply looping over the menu back to the same race), the game would crash upon entering the Stadium or dying in the vicinity.
This happened because the particular race data levels (stored separately from the Stadium layout levels) might own a type that is only defined in the Stadium layout levels if the race data gets loaded first. If that race data level were to then be unloaded, such as when scrolling through the Stadium computer menu, that type becomes undefined and unusable until a new Stadium layout level is loaded again, which is easy not to do.
This has been fixed by making sure the layout level is always loaded first.
Fix Mouse Positioning
Better mouse cursor positioning when the game is letterboxed.
Prepare Jak 2 Translation Files for Crowdin
The subtitle files for Jak 2 have been adjusted to support Crowdin in the future. As soon as they are fully transcribed in English, they will be made available for translation there.
Bump Minimap Icon Limit to 256 from 64
Some missions add a lot more icons to the minimap than the original game permitted, so raising the limit fixes that.
Fix Font Shadow Offset
Same hack as in Jak 1, the font shadow is no longer affected by the aspect ratio of the game.
Fix Overlord Related Crash
A rare crash when loading certain levels has been fixed.
Fix Shrub Alpha Blending
Transparency on shrub decals has been fixed.
Fix City Billboards
The billboards all over the city now render properly.
A bunch of work has happened this month around getting texture animations working and being more efficient. There is still some work left to do, but quite a lot is already working, such as skull gems and security gates.
Support Textures in Progress Menu
The textures used as part of the progress menu are now properly loaded and rendered.
Widescreen Fixes for Progress Menu and Proof of Concept Custom Menu
A bunch of fixes have been added to make the UI elements fit within the progress menu view in widescreen.
And, as a proof of concept, there is now a new graphics options menu for PC-specific settings.
Missing Yakow Texture Workaround
One of the textures for the Yakow is missing in the original game and would show up completely black. In OpenGOAL, it happened to use a minimap texture as a "placeholder".
The missing texture has been replaced with a similar enough fur texture that doesn't look too out of place.
Per-game REPL history
By default, the REPL will now save it's history separately depending on the game (jak1 or jak2).