Tags: open-goal/jak-project
Tags
jak3: remove `-debug` from critical load-game logging function (#4187) Closes #4183 Jak 2 didn't have this logging call so its fine, but jak 3 added this which is a nice idea. TLDR - there's some settings we stopped loading from the memcard as the source of truth, this function (`load-game...`) skips said portions of the save file and in jak 3, includes a helpful log message. It constructed that log message by calling a `defun-debug` function, which means that in retail mode, that function is gone, instead of that being a straight forward crash, it returns garbage, which is passed to `format`, which causes the crash. Fix is simple, make it a non-debug function so it's always available. Feels like something that could be improved about `goalc` but, be-careful with debug only functions is the take away. This would seem to impact any save file that wrote these related tags (and thus, triggered the logging code) but it might also be semi-random with how unlucky you get with the returned garbage addr
i18n: revert recent finnish changes from crowdin (#4143) If these were not meant to be changed, they should be updated on crowdin -- I did not check (maybe they were), but on the next translation update I will assume whatever comes from crowdin is correct.
Update filesystem.hpp dependency and un-break symlinks (#3990) The context for this is that i was symlinking files from a mod installation that were identical to the unmodded game, for space considerations, because i remembered having success with that in the past, before the project made the switch to ghc's filesystem library, it seems. <sub>(I was also much more pressed for space back then, but well, i thought writing a small program to check for matches and link them for me would be a good, not-so-difficult exercise...)</sub> However i quickly started getting weird errors that it couldn't find GAME.CGO or KERNEL.CGO even when i hadn't touched them. Initially since i found that it occurred only when symlinking any files that were earlier alphabetically, i assumed it was some kind of index mismatch, but it was actually caused by a bug in an older version of filesystem.hpp causing the `directory_iterator` to read everything after a symlink as also a symlink, making them fail to be read properly: gulrak/filesystem#162 Adding `f.is_symlink()` is not as much of a change to the loop's condition from the previous behavior as it might first appear. It seems that even without that condition the iterator *was* reading symlinks before, just incorrectly (and before ghc::filesystem, they were being read just fine, iirc). With the new version, though, symlinks do have to be accounted for explicitly. Given that the library's major and minor version are both the same, i don't expect there should be any breaking changes to the API, and i didn't find any when i was testing but there might need to be more investigation into that before merging. Also, without the added check for `f.exists()`, the behavior is exactly the same as if, for some reason, a fakeiso file the game needs just doesn't exist in the first place (which has no real reason to happen in a normal installation of the game): there's a decent chance it will either crash at some point later during runtime, or something will happen like a level failing to load causing Jak to trip infinitely. I thought it might be helpful to have it fail right away in the case that, say, someone moved their vanilla installation and staled their symlinks, but i'll defer to maintainers' judgement on that point.
g/jak1: Extract ambient data to json (#3945) I added extraction of ambients to json files when extracting the levels. All of the ambient json files are written to the same folder as actors are. Ambients aren't used in jak2 and 3 so it only is used on jak1.  --------- Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
g/j2: change and initialize jak 2 subtitles correctly (#3907) Fixes #3906 Wasn't an issue on Jak 1 because that game had no original subtitles, but jak 2's subtitles still go through their original code, which uses the `*setting-control*` object. This is a regression from when i recently added all languages to the menu options. - Update the setting at runtime - Update the setting at initialization time This may be an issue in Jak 3 as well if the code was copied over. We'll fix it when we get there.  < 4054 /div>
PreviousNext