Commit Graph

2801 Commits

Author SHA1 Message Date
water111 a06348fa9f wip 2025-06-15 18:26:56 -04:00
water111 f5453b96e4 [gfx] Fix eye-related crash, clear color logic (#3957)
When building the eye texture, the background is first set to the top
corner of the iris texture.

A long, long time ago, I implemented this by peeking at the data in the
texture itself. This doesn't work if the iris texture is animated since
the texture will only on the GPU.

To fix this, this PR changes the eye renderer to draw a square over the
entire eye texture using iris texture's top corner, avoiding the need
for getting the texture data on the CPU. I don't remember why I didn't
do this in the first place, but this seems better in every way.

Also `input_data` in TexturePool not being initialized, which was
leading to hard-to-debug crashes when it was randomly initialized to a
sometimes invalid but non-null pointer.

Co-authored-by: water111 <awaterford1111445@gmail.com>
2025-06-12 00:51:03 -04:00
Matt Dallmeyer 56d495bc9f [jak2/3] Support yakows in custom levels (#3951)
I discovered that `yakow`s are kinda broken if you try to use them in
custom levels in jak 2/3.

It's due to the missing `yakow-lod0` texture and associated fix,
replacing it with `yak-medfur-end`. This solution works fine for the
decompiler on vanilla levels.

But for building custom levels, the requested art-groups were being
handled before the textures were, and so it was impossible to have
`yak-medfur-end` on hand to do the replacement. You'd hit an exception
here because `idx_in_level_texture` would still be `INT32_MAX`:

https://github.com/open-goal/jak-project/blob/c08118509b84feba002bd9e208f49162b4218556/decompiler/level_extractor/extract_merc.cpp#L806

My fix was just to swap the order when building custom levels, and
handle the textures first. I only made the changes for jak2/3, because I
see @Hat-Kid has a slightly different implementation for jak1.

There's one other small change relating to the `combo_id` /
`pc_combo_tex_id` short-circtuiting - I think `pc_combo_tex_id` is
always 0 for vanilla textures? So initially `yakow-lod0` actually ended
up matching the `combo_id` of the checkerboard texture from the
test-zone GLB. I just added another sanity check here that the texture
names match too.

(I also added yakows in the test-zone.jsonc files 🐄)
2025-06-09 01:35:25 +02:00
water111 6c0107f166 remove some spammy overlord prints (#3952)
removing some print statements left over from debugging.

Co-authored-by: water111 <awaterford1111445@gmail.com>
2025-06-08 11:54:45 -04:00
water111 c08118509b [jak3] Add BRANCH grain, make handler IDs unique (#3950)
Two changes that fix some Jak 3 audio bugs.

In some areas, sound effects would seem to cut off randomly. This was
caused by the sound code reusing IDs, but overlord didn't realize. It
would try to kill a sound effect by ID that had already died, and the ID
was reassigned to a new sound. To fix this, I made the handle IDs always
increment. I also tested starting the ID at large numbers and confirmed
that worked.

I also added support for the BRANCH grain. This makes the
`wastelander-shot` and possibly other sound effects work. It doesn't
support all the features, but this is probably enough.

Fun fact: the wastelander shot is supposed to have 7 variations, but you
always get the same one because they set the sound mask wrong.

I added a line you can uncomment if you want to experience the other 6
variations.

---------

Co-authored-by: water111 <awaterford1111445@gmail.com>
2025-06-07 22:34:03 -04:00
Matt Dallmeyer b7a2cdf3b6 Fix Jak II ISO hashes (#3946)
Fixes the other Jak II hashes after the fix in
https://github.com/open-goal/jak-project/pull/3937
v0.2.27
2025-06-05 00:12:10 +02:00
Tyler Wilding cdbc241259 New Crowdin updates (#3942) v0.2.26 2025-06-04 00:31:08 -04:00
Tyler Wilding 77586b7fa9 game: default MSAA to off (#3943)
There's a suspicion that MSAA might be what causes the black screen
problem for some users, additionally this can cause perf issues for
people with really bad PCs so this is probably a better default.

Needs testing before merging, i think this is all inclusive though.
2025-06-03 23:58:05 -04:00
OpenGOAL Bot 0dfa6be94c CI: Periodic Controller Database Update (#3939)
Updating Controller Database

Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
2025-06-02 23:09:50 -04:00
water111 fce2dad3c0 [jak3] Fix disabling nav (#3941)
This needs a parameter, otherwise it was reading some uninitialized
value. In some cases, the uninitialized value would leave the nav stuff
on, and the marauders would go crazy trying to avoid each other.
2025-06-02 21:51:22 -04:00
water111 c87469cf97 [extractor] Fix ISO extraction bug. (#3937)
Fix bug where files starting past 2^32 bytes were not extracted
correctly.

---------

Co-authored-by: water111 <awaterford1111445@gmail.com>
2025-06-01 21:15:48 -04:00
water111 653604080f default button pressure to 0 (#3938)
This should solve the issue where buttons are held down until you push
them the same time. This would cause the cars in jak 3 to not move until
you pushed square/circle and "released" the brake.

Co-authored-by: water111 <awaterford1111445@gmail.com>
2025-06-01 21:15:09 -04:00
water111 882c45f077 [jak3] Fix crash with shadow in precursor ship (#3934)
When the `dp-bipedal`s get blown up by the nuke gun, their bones go to
NaNs on the last frame. The shadow renderer doesn't handle this well and
draws all possible triangles as single tris. This overflows the vif
`unpack` field and triggered an assert when sizes inside the shadow
renderer weren't consistent.

My guess is that this works on the real game either because:
- their shadow renderer draws garbage data, but you can't tell because
the screen is white from the nuke
- no NaN on PS2 means that the shadow renderer behaved differently, not
using all single tris.

As a workaround, if the bones are NaN, the shadow renderer treats them
as 0, meaning there is no shadow drawn.

---------

Co-authored-by: water111 <awaterford1111445@gmail.com>
2025-06-01 18:58:02 -04:00
SuperSamus 5522c3d500 [high fps] fix blinking in all games (#3759)
Fixes both interval and animation speed. (jak1 previously only had a fix
for the former.)
This should close #3518, and one of the issues of #1499.

The solution is not the cleanest. The results are going to be wrong in
case the FPS doesn't reach the maximum set.
A better solution would be to make `random-time` a float, so that it can
be subtracted by `time-adjust-ratio`, but I don't know if changing a
type for this purpose is allowed here. Tell me if I should do that
instead.

Tested only on jak2.

Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
2025-06-01 18:50:33 -04:00
Tyler Wilding 23262ce269 g/j2: add hack workaround to prevent atoll-sig mission getting stuck due to NaN bones (#3935)
Related to #3929 

Played through the mission, worked fine. This condition should _never_
be hit under normal circumstances
2025-06-01 18:50:11 -04:00
water111 228dfd82d1 [jak3] Small bug fixes (#3933)
Fixes the pillars being transparent (but is a bit of a hack), the desert
sand not having texture filtering, and the "No memory card" on the title
screen with debug mode off.

---------

Co-authored-by: water111 <awaterford1111445@gmail.com>
2025-06-01 13:24:28 -04:00
Tyler Wilding b6649d2433 Properly set window size when switching from borderless/fullscreen -> windowed mode (#3923)
Prior to SDL3, borderless windows were kinda a hack, they cleaned all of
that up. The side-effect of that is that the C++ code keeps track of the
current window size (it does this for framebuffer sizing, but also to
set the size of the window).

This is now an issue because SDL is properly firing events when you
change to borderless mode, so our window size gets updated to the size
of the entire monitor. When you switch to windowed mode from borderless,
it now seems like it didn't work (it did, its just still taking up the
entire screen).

This could be better cleaned up if more settings are extracted out of
GOAL and put into C++ so they can be managed and accessed where they
belong. But for now, this is a minimally invasive fix.

Fixes #3917
2025-05-31 18:47:02 -04:00
Tyler Wilding 26d6d663c9 deps: update SDL3 to version 3.2.14 (#3932) 2025-05-31 18:46:07 -04:00
OpenGOAL Bot 3736554d66 CI: Periodic Controller Database Update (#3928)
Updating Controller Database

Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
2025-05-27 19:11:21 -04:00
Alex a6c21a9814 Implement analog stick sensitivity setting, default it to 133% (#3919)
This is a simple multiplier to the gamepad axis input value received
from SDL events. Normally the values it provides cannot satisfy the
square range of the stick input. This is usually fine but it might play
differently with different controllers and compared to consoles,
especially considering the DualShock 1/2 have automatic calibration
which works in mysterious ways. The setting is there so any user can
adjust it for their controllers.

Saved to and loaded from the input-settings.json file.

133% matches PCSX2's default setting and is generally a good value to
map the square stick range within most modern(ish) controllers' circular
stick motion.

Progress menu option added to Jak 1 and 2. Setting can be changed from
50% all the way to 200%.

~~Renamed the analog deadzone options to stick deadzone since they don't
apply to the other analog buttons and only the (analog, yes) sticks.~~
2025-05-27 16:01:06 +01:00
OpenGOAL Bot 52df5a2d64 CI: Periodic Controller Database Update (#3918)
Updating Controller Database

Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
2025-05-22 16:40:24 -04:00
Tyler Wilding 578cbe15a7 macos: fix dynamically linked library in static release (#3915)
libidn2 which is a potential part of libcurl seemingly slipped into the
latest release (0.2.25) and it was dynamically linked.

This causes issues:
```
dyld[95648]: Library not loaded: /usr/local/opt/libidn2/lib/libidn2.0.dylib
  Referenced from: <9DA6EC1D-F99A-3233-8264-AAEA87F07743> /Users/tyler/Downloads/opengoal-macos-arm-v0.2.25/gk
  Reason: tried: '/usr/local/opt/libidn2/lib/libidn2.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/libidn2/lib/libidn2.0.dylib' (no such file), '/usr/local/opt/libidn2/lib/libidn2.0.dylib' (no such file)
zsh: abort      ./g
```

My theory for why is that the underlying image changed (now has this
library) and so the cmake detected that and started building with it.

The simple fix is to just disable it, as we don't need it. If we do
eventually, I can figure out how to ensure it's properly compiled.
2025-05-15 00:58:31 -04:00
MuchWhittering a271111f14 Fixed typo in US English subs. (#3914)
Coveyor -> Conveyor
2025-05-15 00:20:40 -04:00
Tyler Wilding 0837af95c3 game: ensure SDL subsystems are cleaned up prior to quitting SDL (#3913)
For dualsense controllers, when the game exits we explicitly clear any
trigger effects. This was happening after SDL was already terminated, so
the hardware handles were already lost.

From a practical standpoint though, this mostly just cleans up logs.
2025-05-13 17:51:00 -04:00
Tyler Wilding 85e3203188 g/jak2: don't try to print subtitles that don't exist (non-base language) (#3910)
Fixes #3909 

Long standing issue in Jak 2's subtitles, it's actually kinda incredible
that finnish didn't run into this problem. Later in this code it
accesses the subtitle based on the language-id, and finnish is always
out of bounds -- but it never caused a catastrophic issue.

Polish on the otherhand is much more out of bounds and always causes an
access violation / crash.

Jak 2's subtitle code has no fallback (ie. use english if not
translated) for cutscenes, since they are not defined in the base file
like in Jak 1. This means that an untranslated language will render no
subtitles during cutscenes. Translations are welcome!.

Tested a cutscene in:
- english 
- italian (base game with subtitles)
- finnish (new language, actually is translated)
- polish (new language, not translated)
2025-05-12 22:41:48 -04:00
ZedB0T 5873c881e1 Hide imgui only on key press, instead of while pressed. (#3911)
The imgui bar is currently toggled repeatedly if the key is held down,
this can lead to annoyances where the key is held for a short time and
cycles back to "show" or "hide" when that's not what the user wants.
Current behavior: 


https://github.com/user-attachments/assets/5d719364-9949-4ba2-bf72-7d432650a614

Fixed behavior


https://github.com/user-attachments/assets/b816f502-c155-4d86-adb7-41ca1a7a40cf
2025-05-12 21:58:41 -04:00
OpenGOAL Bot 032142323a CI: Periodic Controller Database Update (#3912)
Updating Controller Database

Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
2025-05-12 20:54:41 -04:00
Tyler Wilding 67f62560af 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.


![image](https://github.com/user-attachments/assets/19a796a7-a3f3-4872-98f8-7fcbe91b3ec1)

![image](https://github.com/user-attachments/assets/356f751a-5406-41f3-b616-97ece2782a88)
v0.2.25
2025-05-09 21:37:05 -04:00
OpenGOAL Bot c1480cdaa4 CI: Periodic Controller Database Update (#3900)
Updating Controller Database

Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
2025-05-09 16:51:46 -04:00
dependabot[bot] 5d9a760ee5 build(deps): bump hendrikmuhs/ccache-action from 1.2.17 to 1.2.18 (#3903)
Bumps
[hendrikmuhs/ccache-action](https://github.com/hendrikmuhs/ccache-action)
from 1.2.17 to 1.2.18.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hendrikmuhs/ccache-action/releases">hendrikmuhs/ccache-action's
releases</a>.</em></p>
<blockquote>
<h2>v1.2.18</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump ts-jest from 29.2.5 to 29.2.6 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/291">hendrikmuhs/ccache-action#291</a></li>
<li>Bump typescript from 5.7.3 to 5.8.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/294">hendrikmuhs/ccache-action#294</a></li>
<li>Bump <code>@​types/node</code> from 22.13.0 to 22.13.9 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/296">hendrikmuhs/ccache-action#296</a></li>
<li>set cache to readonly if skipping save by <a
href="https://github.com/planetmarshall"><code>@​planetmarshall</code></a>
in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/301">hendrikmuhs/ccache-action#301</a></li>
<li>Update sccache version to v0.10.0 by <a
href="https://github.com/mhegazy"><code>@​mhegazy</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/315">hendrikmuhs/ccache-action#315</a></li>
<li>Bump <code>@​types/node</code> from 22.13.9 to 22.15.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/316">hendrikmuhs/ccache-action#316</a></li>
<li>Bump ts-jest from 29.2.6 to 29.3.2 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/312">hendrikmuhs/ccache-action#312</a></li>
<li>Bump typescript from 5.8.2 to 5.8.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/311">hendrikmuhs/ccache-action#311</a></li>
<li>Bump <code>@​actions/cache</code> from 4.0.0 to 4.0.3 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/299">hendrikmuhs/ccache-action#299</a></li>
<li>Don't append <code>-</code> when <code>append-timestamp</code> is
disabled. by <a href="https://github.com/Naros"><code>@​Naros</code></a>
in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/306">hendrikmuhs/ccache-action#306</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/mhegazy"><code>@​mhegazy</code></a> made
their first contribution in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/315">hendrikmuhs/ccache-action#315</a></li>
<li><a href="https://github.com/Naros"><code>@​Naros</code></a> made
their first contribution in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/306">hendrikmuhs/ccache-action#306</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/hendrikmuhs/ccache-action/compare/v1...v1.2.18">https://github.com/hendrikmuhs/ccache-action/compare/v1...v1.2.18</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/63069e3931dedbf3b63792097479563182fe70d1"><code>63069e3</code></a>
update code</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/15457da8f7bbf9b2c71f2efebd847c1a84650208"><code>15457da</code></a>
Don't append <code>-</code> when <code>append-timestamp</code> is
disabled. (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/306">#306</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/25d49ca51adf245e1fc66fbf5485fa70ff353f64"><code>25d49ca</code></a>
update code</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/5107eae3c4885a3f516e7b3391c85539abee811c"><code>5107eae</code></a>
Bump <code>@​actions/cache</code> from 4.0.0 to 4.0.3 (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/299">#299</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/0be57ad590dbc0ddc23d1915149acb8d1d035482"><code>0be57ad</code></a>
Bump typescript from 5.8.2 to 5.8.3 (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/311">#311</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/82ea68836f4698bbc2a53332fb4357aec9fe5a80"><code>82ea688</code></a>
Bump ts-jest from 29.2.6 to 29.3.2 (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/312">#312</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/1442e5b70da90a19cbbe567fa450d6349b819e41"><code>1442e5b</code></a>
Bump ts-jest from 29.2.6 to 29.3.2 (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/312">#312</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/e3bfc65f9cf257b6332793c3d965c05100350a6e"><code>e3bfc65</code></a>
Bump <code>@​types/node</code> from 22.13.9 to 22.15.2 (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/316">#316</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/fc9101105b417abd4b0a58457a3d0327aa1fa597"><code>fc91011</code></a>
Update sccache version to v0.10.0 (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/315">#315</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/15fe4dd483de6883ed9b919e77778f61f69fc053"><code>15fe4dd</code></a>
set cache to readonly if skipping save (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/301">#301</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/hendrikmuhs/ccache-action/compare/v1.2.17...v1.2.18">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hendrikmuhs/ccache-action&package-manager=github_actions&previous-version=1.2.17&new-version=1.2.18)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-09 16:51:39 -04:00
Matt Dallmeyer 4e28bd1eaf [jak1] Speedrun mode misc fixes (#3902)
Fixed up a few things for speedrun mode in Jak 1:
- Changed autosplitter to start run in line with ruleset (first frame
after blackout where jak is touching ground). Also tweaked the
verification text in bottom left to show "Run Started: Yes/No" to go
with this
- Changed speedrun menu button combo to match Jak 2/3 (only need to hold
L1+R1 and press Start/Select, no longer need to hold X)
- Treat speedrun menu via Select the same as Start (no more potential
for funny pause buffer where actors freeze)

warp gate example:

![vlcsnap-2025-04-26-12h03m37s116](https://github.com/user-attachments/assets/3a06c3fe-0c60-4d8d-acaa-ec5f66145491)

![vlcsnap-2025-04-26-12h03m42s642](https://github.com/user-attachments/assets/e12439d4-1664-46a1-bfc0-56c737463603)

already grounded example (run starts once partially out of blackout):

![vlcsnap-2025-04-26-12h04m02s085](https://github.com/user-attachments/assets/71659b45-b599-4ca1-b097-cf736f845933)
2025-04-26 23:23:55 +02:00
ZedB0T 3906262fd4 Toggle Cpp openGL with F12 / Alt + Enter / Anything else (#3901)
This is a successor to #3230

---------

Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
2025-04-26 23:17:27 +02:00
Hat Kid c61a69d751 jak3: wip pc progress code (#3898) 2025-04-16 20:57:43 +02:00
OpenGOAL Bot 7a086fcadb CI: Periodic Controller Database Update (#3897)
Updating Controller Database

Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
2025-04-14 19:01:01 -04:00
tripp a1d1ff139b Fix for running extractor without optional game flag (#3896)
Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
2025-04-13 00:42:50 -04:00
Tyler Wilding 647282d896 deps: update fmt to 11.1.4 (#3880)
Fixes #3886
2025-04-12 15:59:13 -04:00
OpenGOAL Bot 5415c83def CI: Periodic Controller Database Update (#3894)
Updating Controller Database

Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
2025-04-09 23:10:20 -04:00
Matt Dallmeyer e122941ede Fix pagination for non-dynamic popup menus (speedrun menu) (#3883)
Was testing out adding ILs to the speedrun menu and noticed this wasn't
working properly

(video before the changes)

https://github.com/user-attachments/assets/e1e7f443-60d2-4b15-bc27-a20cbe4442d6

Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
2025-03-31 15:40:40 -04:00
Tyler Wilding 6871a3a067 goalc: don't assume DGO/CGOs are within the ObjectDB when building levels (#3888)
Follow-up later on improving the validation of the extractor (that may
require testing with all iso versions), but this is just some simple
safe-guarding code that will improve the error messaging, instead of
just a vague invalid map error.

![Screenshot 2025-03-30
165334](https://github.com/user-attachments/assets/a195d248-4ed5-4c02-80f4-4170d3ff1e48)
2025-03-31 15:40:25 -04:00
Tyler Wilding 46b91e5ee5 Merge pull request #3884 from open-goal/bot/update-controller-db
CI: Periodic Controller Database Update
2025-03-30 13:20:37 -04:00
OpenGOALBot 1fa9363414 ci: updated controller database 2025-03-24 16:23:09 +00:00
Matt Dallmeyer 61ad9f08cd Extract levels+collision to decompiler_out (adjacent to textures+audio) (#3882)
should make it nice and easy to jump to the `decompiler_out/<game>`
folder in the launcher and show the user all their exported things.

![image](https://github.com/user-attachments/assets/15ff9d0b-2c83-4f1a-a013-6ab3835e974b)

also adds a taskfile command for ripping audio.

and fixes jak1 collision extract scaling. I [previously fixed this for
jak2/3](https://github.com/open-goal/jak-project/pull/3292#discussion_r1442595308)
but never fixed for jak1 apparently

before:

![image](https://github.com/user-attachments/assets/ce3e3c59-e3d7-4fc2-b83b-c938fdb3bb02)

after:

![image](https://github.com/user-attachments/assets/bcc65ffb-b5ff-484e-8f60-d1913e239294)
2025-03-24 14:26:58 +01:00
Tyler Wilding ea3d2308f8 Merge pull request #3877 from open-goal/bot/update-controller-db
CI: Periodic Controller Database Update
2025-03-10 16:36:55 -04:00
OpenGOALBot 6696346f77 ci: updated controller database 2025-03-10 16:19:20 +00:00
Matt Dallmeyer 3e6ba273f7 Dedupe custom level textures by height/width/data, not just name (#3874)
I fixed this for the only up mod awhile back and forgot to PR it here. 

Some related discussion
[here](https://discord.com/channels/756287461377703987/995787558816595968/1320482071583522878)
where we realized Blender automatically "renames" the textures, but then
the GLB export doesn't reflect those renames
2025-03-08 23:21:16 +01:00
Tyler Wilding 1f6438e517 deps: update to SDL3 (#3852)
This PR updates to SDL3, and with it, adds a handful of new features.
Everything seems to work but I'm going to look over the code once last
time before merging, some of the API changes are hard to spot.

Fixes #2773

### Pressure sensitivity support for DS3 Controllers

SDL3 adds pressure sensitivity support for DS3 controllers on windows. I
have not tested on linux. The option is disabled by default.

On windows you will need https://docs.nefarius.at/projects/DsHidMini/
and to be using SXS mode.

### DualSense and Xbox One Trigger Effects

If enabled, Jak 2 will have certain trigger effects.  They are:
   - xbox1:
     - small vibrate when collecting dark eco
     - big vibrate when changing to dark jak
     - vibrate when shooting gun, proportional to gun type
   - ps5:
     - resistance when changing to dark jak
     - different gun shooting effects
       - red (resistance)
       - yellow (weapon trigger)
       - blue (vibrates)
       - purple (less resistance)
> **Gun Shooting effects are only enabled if the new "Swap R1 and R2"
option is enabled**

There are more effects that could be used in `dualsense_effects.cpp`,
but I only exposed the ones I needed to OpenGOAL. If a modder wants to
use some of the others and wires them up end-to-end, please consider
contributing that upstream.

### New ImGUI Menu

Added new imgui options for selecting the active controller, for those
people that struggle to select the initial controller.


![image](https://github.com/user-attachments/assets/48ff2985-d9ef-417a-b1f2-a25c74595935)

### Testing

The highlights of what I tested successfully:
   - display
     - [x] all mode switch permutations
     - [x] launch with all modes saved
- [x] switch monitors / unplug monitor that was active, how does it
handle it
     - [x] load with alternate monitor saved and all modes
     - [x] allowing hidpi doesnt break macos
   - controls
     - [x] keyboard and mouse still work
     - [x] pressure sensitivity on linux
2025-03-02 16:36:22 -05:00
Hat Kid 651b5b2a93 build-actor: fix merc transparency (#3875)
Because merc effects for custom models would always have the
`envmap-usage` flag set, this would also set the `ignore-alpha` flag,
making transparency effects not work. Now the envmap flag is only set
when the effect actually has an envmap.
2025-03-02 22:06:22 +01:00
Tyler Wilding b2289e844c g/j2: persist subtitle language properly, eliminates a crash (#3872)
Fixes #3870
v0.2.24
2025-03-01 13:17:38 -05:00
dependabot[bot] ccbd6008d2 build(deps): bump hendrikmuhs/ccache-action from 1.2.16 to 1.2.17 (#3868)
Bumps
[hendrikmuhs/ccache-action](https://github.com/hendrikmuhs/ccache-action)
from 1.2.16 to 1.2.17.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/hendrikmuhs/ccache-action/releases">hendrikmuhs/ccache-action's
releases</a>.</em></p>
<blockquote>
<h2>v1.2.17</h2>
<h2>What's Changed</h2>
<ul>
<li>support Ubuntu arm64 runners with sccache variant by <a
href="https://github.com/andrurogerz"><code>@​andrurogerz</code></a> in
<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/280">hendrikmuhs/ccache-action#280</a></li>
<li>Bump <code>@​types/node</code> from 22.10.5 to 22.10.10 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/282">hendrikmuhs/ccache-action#282</a></li>
<li>Bump <code>@​types/node</code> from 22.10.10 to 22.13.0 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/285">hendrikmuhs/ccache-action#285</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/andrurogerz"><code>@​andrurogerz</code></a>
made their first contribution in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/280">hendrikmuhs/ccache-action#280</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/hendrikmuhs/ccache-action/compare/v1.2.16...v1.2.17">https://github.com/hendrikmuhs/ccache-action/compare/v1.2.16...v1.2.17</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/a1209f81afb8c005c13b4296c32e363431bffea5"><code>a1209f8</code></a>
Bump <code>@​types/node</code> from 22.10.10 to 22.13.0 (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/285">#285</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/a6067e2292150bdcfe1a16a5d8ddcc403109ea40"><code>a6067e2</code></a>
Bump <code>@​types/node</code> from 22.10.5 to 22.10.10 (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/282">#282</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/433beb5b585c67c13415f39d5ba7e485b1920710"><code>433beb5</code></a>
support Ubuntu arm64 runners with sccache variant (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/280">#280</a>)</li>
<li>See full diff in <a
href="https://github.com/hendrikmuhs/ccache-action/compare/v1.2.16...v1.2.17">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=hendrikmuhs/ccache-action&package-manager=github_actions&previous-version=1.2.16&new-version=1.2.17)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
v0.2.23
2025-02-28 21:56:35 -05:00
Tyler Wilding 3c5b1fbfba New Crowdin updates - February 2024 (#3867) 2025-02-28 21:41:36 -05:00