forked from OpenGOAL-Mods/OG-Mod-Base
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
modbase merge #2
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Updating Controller Database Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
`--portable` was using the path to the executable's file, instead of the directory that contains the executable
…/ammo (#3539) Adds some debug options that make it easier to quickly complete the game, get orbs, unlock cheats, etc. ![image](https://github.com/open-goal/jak-project/assets/13153231/8854dc42-084a-457e-ae9b-e9ba2dd7917c)
…3540) This adds support for generating collide meshes when importing custom models. A couple of things to keep in mind: - A single `collide-mesh` may only have up to 255 vertices. - When exporting a GLTF file in Blender, a `collide-mesh` will be generated for every mesh object that has collision properties applied (ideally, you would set all visual meshes to `ignore` and your collision meshes to `invisible` in the OpenGOAL plugin's custom properties). - Ensure that your actor using the model properly allocates enough `collide-shape-prim-mesh`es for each `collide-mesh` ([example from the original game that uses multiple meshes](https://github.com/open-goal/jak-project/blob/f6688659f2ef85f5ceaacea6271580c9f4d91ed1/goal_src/jak1/levels/finalboss/robotboss.gc#L2628-L2806)). ~One annoying problem that I haven't fully figured out yet (unrelated to the actual functionality): `collide-mesh`es are stored in art groups as an `(array collide-mesh)` in the `art-joint-geo`'s `extra`, so I had to add a new `Res` type to support this. The way that `array`s are stored in `res-lump`s is a bit of a hack right now. The lump only stores a pointer to the array, so the size of that is 4 bytes, but because we have to generate all the actual array data too, the current `ResLump` code in C++ doesn't handle this case well and would assert, so I decided to omit the asserts if an `array` tag is present and "fake" the size so the object file is generated more closely to how the game expects it until we figure out something better.~ This was fixed by generating the array data beforehand and creating a `ResRef` class that takes the pointer to the array data and adds it to the lump.
Slam Dozer > Ram Rod
for specific cutscene scenarios --------- Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
…eap and level flags (#3541)
Motivated by - open-goal/opengoal-vscode#358 This addresses the following: - Fixes #2939 spam edge-case - Stop picking a different nREPL port based on the game mode by default, this causes friction for tools in the average usecase (having a REPL open for a single game, and wanting to connect to it). `goalc` spins up fine even if the port is already bound to. - For people that need/want this behaviour, adding per-game configuration to the `repl-config.json` is on my todo list. - Allows `goalc` to permit redefining symbols, including functions. This is defaulted to off via the `repl-config.json` but it allows you to for example, change the definition of a function without having to restart and rebuild the entire game. ![Screenshot 2024-06-02 124558](https://github.com/open-goal/jak-project/assets/13153231/28f81f6e-b7b8-4172-9787-f96e4ab1305b) - Updates the welcome message to include a bunch of useful metadata up-front. Cleaned up all the startup logs that appear when starting goalc, many of whom's information is now included in the welcome message. - Before: ![image](https://github.com/open-goal/jak-project/assets/13153231/814c2374-4808-408e-9ed6-67114902a1d9) - After: ![Screenshot 2024-06-01 235954](https://github.com/open-goal/jak-project/assets/13153231/f3f459fb-2cbb-46ba-a90f-318243d4b3b3)
People seem to be translating lines that aren't in the base english one, such as `mtn-plat-buried-rocks-a` This is fine, but Crowdin will continue to remove these every sync PR because they aren't in the base english file. So some kind of segregation needs to happen. If we didn't want these scenes translated, then they should be banned from being translated via the editor / etc in the first place (shouldn't have been included in the metadata).
Updating Controller Database Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
…l_src/jak1` (#3535) This PR does two main things: 1. Work through the main low-hanging fruit issues in the formatter keeping it from feeling mature and usable 2. Iterate and prove that point by formatting all of the Jak 1 code base. **This has removed around 100K lines in total.** - The decompiler will now format it's results for jak 1 to keep things from drifting back to where they were. This is controlled by a new config flag `format_code`. How am I confident this hasn't broken anything?: - I compiled the entire project and stored it's `out/jak1/obj` files separately - I then recompiled the project after formatting and wrote a script that md5's each file and compares it (`compare-compilation-outputs.py` - The results (eventually) were the same: ![Screenshot 2024-05-25 132900](https://github.com/open-goal/jak-project/assets/13153231/015e6f20-8d19-49b7-9951-97fa88ddc6c2) > This proves that the only difference before and after is non-critical whitespace for all code/macros that is actually in use. I'm still aware of improvements that could be made to the formatter, as well as general optimization of it's performance. But in general these are for rare or non-critical situations in my opinion and I'll work through them before doing Jak 2. The vast majority looks great and is working properly at this point. Those known issues are the following if you are curious: ![image](https://github.com/open-goal/jak-project/assets/13153231/0edfaba1-6d36-40f5-ab23-0642209867c4)
Fixed several translation errors
Updating Controller Database Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
Currently PS2 Actor Vis and FPS are only enforced when starting a run - this enforces them on every frame similar to cheats. In the progress menu, FPS is already disabled in speedrunner mode - this adds the same restriction for PS2 Actor Vis. Jak 2 already does this properly, no change needed there
* Add periods to lines in code_status.md for consistency (#3521) * CI: Periodic Controller Database Update (#3528) Updating Controller Database Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com> * game: fix the path the`--portable` flag determines (#3537) `--portable` was using the path to the executable's file, instead of the directory that contains the executable * g/j2: add some debug menu options to unlock things and give orbs/gems/ammo (#3539) Adds some debug options that make it easier to quickly complete the game, get orbs, unlock cheats, etc. ![image](https://github.com/open-goal/jak-project/assets/13153231/8854dc42-084a-457e-ae9b-e9ba2dd7917c) * [buildactor] support generating `collide-mesh`es for custom models (#3540) This adds support for generating collide meshes when importing custom models. A couple of things to keep in mind: - A single `collide-mesh` may only have up to 255 vertices. - When exporting a GLTF file in Blender, a `collide-mesh` will be generated for every mesh object that has collision properties applied (ideally, you would set all visual meshes to `ignore` and your collision meshes to `invisible` in the OpenGOAL plugin's custom properties). - Ensure that your actor using the model properly allocates enough `collide-shape-prim-mesh`es for each `collide-mesh` ([example from the original game that uses multiple meshes](https://github.com/open-goal/jak-project/blob/f6688659f2ef85f5ceaacea6271580c9f4d91ed1/goal_src/jak1/levels/finalboss/robotboss.gc#L2628-L2806)). ~One annoying problem that I haven't fully figured out yet (unrelated to the actual functionality): `collide-mesh`es are stored in art groups as an `(array collide-mesh)` in the `art-joint-geo`'s `extra`, so I had to add a new `Res` type to support this. The way that `array`s are stored in `res-lump`s is a bit of a hack right now. The lump only stores a pointer to the array, so the size of that is 4 bytes, but because we have to generate all the actual array data too, the current `ResLump` code in C++ doesn't handle this case well and would assert, so I decided to omit the asserts if an `array` tag is present and "fake" the size so the object file is generated more closely to how the game expects it until we figure out something better.~ This was fixed by generating the array data beforehand and creating a `ResRef` class that takes the pointer to the array data and adds it to the lump. * jak3 - fill out some `text-id` entries (#3494) Slam Dozer > Ram Rod * [jak2] new subtitle speakers (#3536) for specific cutscene scenarios --------- Co-authored-by: Tyler Wilding <xtvaser@gmail.com> * [jak3] implement autocollect and city turbo board cheats, fix actor heap and level flags (#3541) * fix nav mesh debugging crash (#3542) * jak3: airlock speed hacks + make cutscenes skip properly (#3543) * REPL related improvements and fixes (#3545) Motivated by - open-goal/opengoal-vscode#358 This addresses the following: - Fixes #2939 spam edge-case - Stop picking a different nREPL port based on the game mode by default, this causes friction for tools in the average usecase (having a REPL open for a single game, and wanting to connect to it). `goalc` spins up fine even if the port is already bound to. - For people that need/want this behaviour, adding per-game configuration to the `repl-config.json` is on my todo list. - Allows `goalc` to permit redefining symbols, including functions. This is defaulted to off via the `repl-config.json` but it allows you to for example, change the definition of a function without having to restart and rebuild the entire game. ![Screenshot 2024-06-02 124558](https://github.com/open-goal/jak-project/assets/13153231/28f81f6e-b7b8-4172-9787-f96e4ab1305b) - Updates the welcome message to include a bunch of useful metadata up-front. Cleaned up all the startup logs that appear when starting goalc, many of whom's information is now included in the welcome message. - Before: ![image](https://github.com/open-goal/jak-project/assets/13153231/814c2374-4808-408e-9ed6-67114902a1d9) - After: ![Screenshot 2024-06-01 235954](https://github.com/open-goal/jak-project/assets/13153231/f3f459fb-2cbb-46ba-a90f-318243d4b3b3) * New Crowdin updates (#3547) People seem to be translating lines that aren't in the base english one, such as `mtn-plat-buried-rocks-a` This is fine, but Crowdin will continue to remove these every sync PR because they aren't in the base english file. So some kind of segregation needs to happen. If we didn't want these scenes translated, then they should be banned from being translated via the editor / etc in the first place (shouldn't have been included in the metadata). * CI: Periodic Controller Database Update (#3548) Updating Controller Database Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com> * wrap sprite rgba to 0-255 (#3549) * g/j1: Cleanup all main issues in the formatter and format all of `goal_src/jak1` (#3535) This PR does two main things: 1. Work through the main low-hanging fruit issues in the formatter keeping it from feeling mature and usable 2. Iterate and prove that point by formatting all of the Jak 1 code base. **This has removed around 100K lines in total.** - The decompiler will now format it's results for jak 1 to keep things from drifting back to where they were. This is controlled by a new config flag `format_code`. How am I confident this hasn't broken anything?: - I compiled the entire project and stored it's `out/jak1/obj` files separately - I then recompiled the project after formatting and wrote a script that md5's each file and compares it (`compare-compilation-outputs.py` - The results (eventually) were the same: ![Screenshot 2024-05-25 132900](https://github.com/open-goal/jak-project/assets/13153231/015e6f20-8d19-49b7-9951-97fa88ddc6c2) > This proves that the only difference before and after is non-critical whitespace for all code/macros that is actually in use. I'm still aware of improvements that could be made to the formatter, as well as general optimization of it's performance. But in general these are for rare or non-critical situations in my opinion and I'll work through them before doing Jak 2. The vast majority looks great and is working properly at this point. Those known issues are the following if you are curious: ![image](https://github.com/open-goal/jak-project/assets/13153231/0edfaba1-6d36-40f5-ab23-0642209867c4) * Jak 2 3rd update subtitle_lines_fr-FR.json (#3546) Fixed several translation errors * CI: Periodic Controller Database Update (#3555) Updating Controller Database Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com> * [jak1] Enforce certain pc-settings in speedrunner mode (#3553) Currently PS2 Actor Vis and FPS are only enforced when starting a run - this enforces them on every frame similar to cheats. In the progress menu, FPS is already disabled in speedrunner mode - this adds the same restriction for PS2 Actor Vis. Jak 2 already does this properly, no change needed there * Rebuild binaries --------- Co-authored-by: Matthew Wells <91291346+richarm4@users.noreply.github.com> Co-authored-by: OpenGOAL Bot <99294829+OpenGOALBot@users.noreply.github.com> Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com> Co-authored-by: Tyler Wilding <xTVaser@users.noreply.github.com> Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com> Co-authored-by: Matt Dallmeyer <mattdallmeyer@gmail.com> Co-authored-by: Aloqas <102683375+Aloqas@users.noreply.github.com> Co-authored-by: Tyler Wilding <xtvaser@gmail.com> Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com> Co-authored-by: RoyalForgotten <150559120+RoyalForgotten@users.noreply.github.com>
Updating Controller Database Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
* Sync and cleanup Fileutil * half finish collectables * Finish cleanup of collectables * Finish cleaning up jak 1 * Finish hand reviewing every file * for permissive_redfenitions and rebuild
- Can make the event buffer larger or smaller - UI shows the current event index / size, so you know how fast it's filling up - Can save compressed, 10x reduction in filesize and Windows 11 explorer actually supports ZSTD natively now so this isn't inconvenient at all ![Screenshot 2024-06-22 000343](https://github.com/open-goal/jak-project/assets/13153231/2f7dfa41-d931-4170-a848-840cbed9be9f) > An example of almost 1 million events. Results in a 4mb file.
Updating Controller Database Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
…asier to enable streamed audio ripping from CLI (#3560) This centralizes the code that both `extractor` and the decompiler executes. In the past this code was partially-duplicated, meaning that the `extractor` could only do _some_ operations and not others (ie. could not extract the audio files). I also simplified the process to enable audio streaming in the configuration. This is to support a new feature in the launcher that allows you to enable these options for the decompiler: ![image](https://github.com/open-goal/jak-project/assets/13153231/8e6c20a1-8b5b-46f0-bceb-7644f713989f)
Goes with open-goal/speedrunning#21 Based on some of the autosplit points from the [comgold sheet](https://docs.google.com/spreadsheets/d/1ZtceX0ZxCLkufVFQuCgVxptvmVgp6deHwPYWxUPi258/edit?gid=0#gid=0), plus one after talking to samos to give a clean split for timing the deload. ``` (tomb-poles-poles uint8) ;; left tomb/daxter boulder start (fortress-save-friends-introduction uint8) ;; talk to torn (before rescue friends) (sewer-escort-get-gun uint8) ;; get peacemaker (forest-protect-introduction uint8) ;; talk to onin (protect samos) (forest-protect-meeting uint8) ;; talk to samos (protect samos) ```
* Add a has-landed to SR text * Needs cleanup but pushing to test * cleanup * cleanup --------- Co-authored-by: dallmeyer <2515356+dallmeyer@users.noreply.github.com>
Updating Controller Database Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
…650) Bumps [hendrikmuhs/ccache-action](https://github.com/hendrikmuhs/ccache-action) from 1.2.13 to 1.2.14. <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.14</h2> <h2>What's Changed</h2> <ul> <li>Add sccache to PATH after installation by <a href="https://github.com/kendalharland"><code>@kendalharland</code></a> in <a href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/204">hendrikmuhs/ccache-action#204</a></li> <li>Make ccache-action respect environment variables by <a href="https://github.com/TrentHouliston"><code>@TrentHouliston</code></a> in <a href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/217">hendrikmuhs/ccache-action#217</a></li> <li>updates</li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/kendalharland"><code>@kendalharland</code></a> made their first contribution in <a href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/204">hendrikmuhs/ccache-action#204</a></li> <li><a href="https://github.com/cclauss"><code>@cclauss</code></a> made their first contribution in <a href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/213">hendrikmuhs/ccache-action#213</a></li> <li><a href="https://github.com/TrentHouliston"><code>@TrentHouliston</code></a> made their first contribution in <a href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/217">hendrikmuhs/ccache-action#217</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/hendrikmuhs/ccache-action/compare/v1...v1.2.14">https://github.com/hendrikmuhs/ccache-action/compare/v1...v1.2.14</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/hendrikmuhs/ccache-action/commit/ed74d11c0b343532753ecead8a951bb09bb34bc9"><code>ed74d11</code></a> Bump <code>@types/node</code> from 22.0.0 to 22.1.0 (<a href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/222">#222</a>)</li> <li><a href="https://github.com/hendrikmuhs/ccache-action/commit/a92dd99d2cf20a1db8898b00bb383b234fb1cf15"><code>a92dd99</code></a> Bump <code>@types/node</code> from 20.14.11 to 22.0.0 (<a href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/220">#220</a>)</li> <li><a href="https://github.com/hendrikmuhs/ccache-action/commit/aa7d29411285c29f578109e54b7a8d8155c2fbb3"><code>aa7d294</code></a> Bump typescript from 5.5.3 to 5.5.4 (<a href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/218">#218</a>)</li> <li><a href="https://github.com/hendrikmuhs/ccache-action/commit/6f0874030891bf49d844fff92b862568f093dabe"><code>6f08740</code></a> Make ccache-action respect environment variables (<a href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/217">#217</a>)</li> <li><a href="https://github.com/hendrikmuhs/ccache-action/commit/ed979992cda44142d976add1d5a7d6f39f7e8b67"><code>ed97999</code></a> Bump <code>@types/node</code> from 20.14.10 to 20.14.11 (<a href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/216">#216</a>)</li> <li><a href="https://github.com/hendrikmuhs/ccache-action/commit/ca1e5062f3378412bbfeb780d1ebe3c2a4913081"><code>ca1e506</code></a> Bump actions/checkout from 2 to 4 (<a href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/214">#214</a>)</li> <li><a href="https://github.com/hendrikmuhs/ccache-action/commit/069136ab7ab2267ea6624fde73f80d7d472d323e"><code>069136a</code></a> Bump <code>@types/node</code> from 20.14.9 to 20.14.10 (<a href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/212">#212</a>)</li> <li><a href="https://github.com/hendrikmuhs/ccache-action/commit/3cf745af56c860cc76c89ffd830efec6aef03b56"><code>3cf745a</code></a> Bump typescript from 5.5.2 to 5.5.3 (<a href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/211">#211</a>)</li> <li><a href="https://github.com/hendrikmuhs/ccache-action/commit/9a0cc152966f2c3f3df86a6e0364da1608924006"><code>9a0cc15</code></a> Keep GitHub Actions up to date with GitHub's Dependabot (<a href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/213">#213</a>)</li> <li><a href="https://github.com/hendrikmuhs/ccache-action/commit/b7c0e162a73e852cdd80bd368aa77e7801fce009"><code>b7c0e16</code></a> Bump <code>@types/node</code> from 20.14.8 to 20.14.9 (<a href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/210">#210</a>)</li> <li>Additional commits viewable in <a href="https://github.com/hendrikmuhs/ccache-action/compare/v1.2.13...v1.2.14">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.13&new-version=1.2.14)](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>
Found out the hard way that the `abutton` array for pressure sensitivity uses a different order than the `pad-buttons` enum, so I created a new enum for abutton indexing. I replaced any magic numbers across the codebase where it made sense, e.g. `(-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) abutton 6)` becomes `(-> *cpad-list* cpads (-> self control unknown-cpad-info00 number) abutton (abutton-idx x))`
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.