Tyler Wilding
005fd46a96
formatter: handle multi-quoted expressions
2024-05-25 13:29:25 -04:00
Tyler Wilding
e67a3ea4c3
scripts: add a script to compare compilation outputs
2024-05-24 22:57:22 -04:00
Tyler Wilding
0e4b6f2c11
format/j1: fix empty list handling
2024-05-24 22:46:55 -04:00
Tyler Wilding
eadfcca261
Merge remote-tracking branch 'origin/master' into v/format-jak1
2024-05-24 21:51:52 -04:00
Tyler Wilding
f00dbf15fe
format/j1: fix loop mistake
2024-05-24 21:51:38 -04:00
Tyler Wilding
ba88a54902
format/j1: re-format all files to catch any improvements made along the way
2024-05-24 01:45:27 -04:00
Tyler Wilding
59194f78a0
format/j1: all files in goal_src/jak1 are formatted
2024-05-24 01:16:16 -04:00
ManDude
645e649a9c
jak3: shadow culling hack + finish region debugging tools + fix bigmap crashes ( #3532 )
2024-05-23 23:43:38 +01:00
ManDude
dd765b41cb
jak 3 shadows ( #3530 )
...

2024-05-23 18:29:42 +01:00
Tyler Wilding
6d183980db
format/j1: 75% done
2024-05-23 01:12:44 -04:00
ManDude
0db7be55e6
jak3: sprite limit increase + add bsphere toggle for region faces ( #3529 )
2024-05-22 16:27:00 +01:00
Tyler Wilding
eadd3e877c
format/j1: halfway done
2024-05-21 00:40:31 -04:00
Tyler Wilding
d637daf3f1
format/j1: another 15% of the codebase done
2024-05-20 15:04:15 -04:00
Tyler Wilding
434ff62d3d
formatter: more core formatter improvements and tweaks
2024-05-20 15:04:06 -04:00
Tyler Wilding
6eaeb31930
formatter: better support for function calls from functions but it's still not great, requires more research
2024-05-19 00:13:22 -04:00
Tyler Wilding
32ec1c0100
format/j1: made it through about 10% of files
2024-05-18 21:50:46 -04:00
Tyler Wilding
0f40f33dfd
formatter: more improvements and support for things like lambdas
2024-05-18 21:50:34 -04:00
Tyler Wilding
588b27cbcf
g/j1: remove redundant type name in defmethods that were missed
...
`defmethod\s(?!new\b)[^\s]+\s[^(]`
2024-05-18 15:23:45 -04:00
Tyler Wilding
44c08d23a5
format/j1: first 25ish files
2024-05-18 15:08:39 -04:00
Tyler Wilding
9f2bcf6519
formatter: more changes to constant pairs
2024-05-18 15:04:43 -04:00
Tyler Wilding
59d25e41a7
scripts: script to help keep track of formatting progress of goal_src
2024-05-18 13:50:36 -04:00
Tyler Wilding
42a8df39ef
formatter: bunch of updates to the formatter
2024-05-18 13:50:24 -04:00
Hat Kid
62ef9fe49d
[wip] build actor tool ( #3266 )
...
This does a couple of things:
- The `custom_levels` folder was renamed to `custom_assets` and contains
`levels`, `models` and `texture_replacements` folders for Jak 1, 2 and 3
in order to keep everything regarding custom stuff in one place.
- With this, texture replacements now use separate folders for all games
- A build actor tool was added that generates art groups for custom
actors
- Custom levels can now specify what custom models from the `models`
folder they want to import, this will add them to the level's FR3.
- A `test-zone-obs.gc` file was added, containing a `test-actor` process
that uses a custom model as an example.
The build actor tool is still very WIP, the joints and the default
animation are hardcoded, but it allows for importing any GLB file as a
merc model.
2024-05-18 18:18:25 +02:00
water111
271007e552
Start setting up texture animation for jak 3. ( #3524 )
...
For now, this just adds sky (clouds and fog), darkjak, and skull gem.
There are some unknown issues with drawing the skull gems still, but I
think it's unrelated to texture animations.
Also fixes https://github.com/open-goal/jak-project/issues/3523
2024-05-18 11:23:48 -04:00
Hat Kid
a61f24a168
jak3: custom level support ( #3522 )
2024-05-16 21:15:54 +02:00
Hat Kid
c12a5d777c
decomp3: decompile remaining mission code ( #3515 )
...
This should make all missions playable with the exception of the end of
`precursor-destroy-ship` because `precurd` asserts on level extraction.
- `trail`
- `trail-graph`
- `wastrail-graph`
- `cty-protect`
- `protect-gunship`
- `protect-path`
- `protect-script`
- `assault-cams`
- `assault-enemies`
- `assault-path`
- `assault-script`
- `assault-shared`
- `assault-task`
- `hover-nav-precura`
- `precura-mood`
- `precura-obs`
- `precura-obs2`
- `precura-part`
- `precurc-mood`
- `precurc-obs`
- `precurc-part`
- `precurd-obs`
- `precurd-part`
- `precurd-scenes`
2024-05-16 16:21:44 +02:00
Tyler Wilding
456d1ba536
goalc: add a performance report feature ( #3519 )
...
Adds a quick perf report feature to `goalc` that lets you compare how
much faster / slower it takes to compile the projects, with some simple
features like filtering the files, adjusting for how large of a margin
of error in the speeds you care about, and which test iteration you want
to compare against.
This is something I plan to use as I work more in `goalc` as an easy way
to track / show the results.

2024-05-15 22:52:16 -04:00
OpenGOAL Bot
4aafab2fc9
CI: Periodic Controller Database Update ( #3517 )
...
Updating Controller Database
Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com >
2024-05-13 20:37:21 -04:00
ManDude
ebbbedabc5
jak3: fix hud sprite crash + add entity debugger ( #3516 )
2024-05-13 04:09:25 +01:00
Tyler Wilding
d1ece445d4
Dependency graph work - Part 1 - Preliminary work ( #3505 )
...
Relates to #1353
This adds no new functionality or overhead to the compiler, yet. This is
the preliminary work that has:
- added code to the compiler in several spots to flag when something is
used without being properly required/imported/whatever (disabled by
default)
- that was used to generate project wide file dependencies (some
circulars were manually fixed)
- then that graph underwent a transitive reduction and the result was
written to all `jak1` source files.
The next step will be making this actually produce and use a dependency
graph. Some of the reasons why I'm working on this:
- eliminates more `game.gp` boilerplate. This includes the `.gd` files
to some extent (`*-ag` files and `tpage` files will still need to be
handled) this is the point of the new `bundles` form. This should make
it even easier to add a new file into the source tree.
- a build order that is actually informed from something real and
compiler warnings that tell you when you are using something that won't
be available at build time.
- narrows the search space for doing LSP actions -- like searching for
references. Since it would be way too much work to store in the compiler
every location where every symbol/function/etc is used, I have to do
ad-hoc searches. By having a dependency graph i can significantly reduce
that search space.
- opens the doors for common shared code with a legitimate pattern.
Right now jak 2 shares code from the jak 1 folder. This is basically a
hack -- but by having an explicit require syntax, it would be possible
to reference arbitrary file paths, such as a `common` folder.
Some stats:
- Jak 1 has about 2500 edges between files, including transitives
- With transitives reduced at the source code level, each file seems to
have a modest amount of explicit requirements.
Known issues:
- Tracking the location for where `defmacro`s and virtual state
definitions were defined (and therefore the file) is still problematic.
Because those forms are in a macro environment, the reader does not
track them. I'm wondering if a workaround could be to search the
reader's text_db by not just the `goos::Object` but by the text
position. But for the purposes of finishing this work, I just statically
analyzed and searched the code with throwaway python code.
2024-05-12 12:37:59 -04:00
water111
e0b1d8c21e
Jak3 sky ( #3514 )
2024-05-12 09:36:50 -04:00
Hat Kid
6b3844bf99
decomp3: more misc files ( #3513 )
...
4 missions to go!
- `ctygenb-part`
- `power-game`
- `vinroom-part`
- `vinroom-scenes`
- `gungame-part`
- `gungame-scenes`
- `hiphog-obs`
- `hiphog-part`
- `hiphog-scenes`
- `hover-nav-lpattack`
- `king-rider`
- `rubble-attack`
- `rubble-obs`
- `rubble-part`
- `rubblea-init`
- `rublcst-scenes`
- `mood-funcs2`
- `gun-dummy-art`
- `gun-dummy-part`
- `gun-dummy`
- `gungame-data`
- `gungame-manager`
- `gungame-obs`
- `blow-tower-data`
- `blow-tower-extra`
- `blow-tower-obs2`
- `blow-tower-obs`
- `blow-tower-part`
- `blow-tower-script`
- `blow-tower-shared`
- `blow-tower-speech`
- `cty-blow-tower`
2024-05-11 17:57:26 -04:00
BreakPoints
24490c042e
Intro palace DGOs ( #3512 )
...
Now needed to extract and compile from scratch
2024-05-11 10:21:45 -04:00
Hat Kid
4dd2bab06e
jak3: fix local space particle info crash ( #3511 )
2024-05-10 16:14:50 +02:00
water111
5b04be2fa0
Add hfrag, clean up some background renderer stuff ( #3509 )
...
This adds hfrag, but with a few remaining issues:
- The textures aren't animated. Instead, it just uses one texture.
- The texture filtering isn't as good as at it could be.
I also cleaned up a few issues with the background renderers:
- Cleaned up some stuff that is common to hfrag, tie, tfrag, shrub
- Moved time-of-day color packing stuff to FR3 creation, rather than at
level load. This appears to reduce the frame time spikes when a level is
first drawn by about 5 or 6 ms in big levels.
- Cleaned up the x86 specific stuff used in time of day. Now there's
only one place where we have an `ifdef`, rather than spreading it all
over the rendering code.
2024-05-09 20:11:43 -04:00
Hat Kid
949508d0ed
decomp3: traffic/citizen/faction code, desert-rescue ( #3506 )
...
- `cty-faction-h`
- `nav-graph`
- `citizen-h`
- `citizen`
- `civilian`
- `traffic-engine`
- `traffic-manager`
- `cty-attack-controller`
- `cty-faction`
- `formation-object`
- `formations`
- `squad-control-city-h`
- `squad-control-city`
- `traffic-util`
- `wlander-female`
- `wlander-h`
- `wlander-male`
- `speech-manager`
- `desert-rescue`
- `desresc-path`
- `neo-satellite`
- `rope-prim-system-h`
- `rope-prim-system`
- `rope-system`
- `wland-passenger`
- `cty-guard-projectile`
- `ctywide-init`
- `ff-squad-control`
- `guard-grenade`
- `guard-rifle`
- `guard-states`
- `guard-tazer`
- `ctywide-speech`
- `citizen-chick`
- `citizen-fat`
- `citizen-norm`
- `guard`
- `bike`
- `car`
- `test-bike`
- `vehicle-rider`
- `desert-rescue-bbush`
- `ff-squad-control-h`
- `flee-info`
- `guard-h`
- `mission-squad-control`
- `kg-squad-control`
- `kg-squad-member-h`
- `kg-squad-member`
- `mh-squad-control`
- `mh-squad-member-h`
- `mh-squad-member`
- `ctywide-obs-h`
- `ctywide-obs`
- `ctywide-part`
- `ctywide-scenes`
- `ctywide-tasks`
- `ctywide-texture`
- `billiards`
- `guide-arrow`
- `kg-vehicles`
- `flying-turret`
- `roboguard-city`
- `citizen-enemy`
- `metalhead-flitter`
- `metalhead-grunt`
- `metalhead-predator`
- `spydroid`
- `kg-squad-control-h`
- `mh-squad-control-h`
- `krimson-wall`
- `ctyport-obs`
- `ctyinda-obs`
- `ctyinda-part`
- `ctyindb-obs`
- `ctyindb-part`
- `ctyport-attack`
- `h-torpedo`
- `ctyport-part`
- `ctyport-scenes`
- `external-player-control`
- `desert-chase-path-h`
- `desert-chase-path`
- `desert-chase`
- `desert-jump`
- `wcar-catapult`
- `bombbot-h`
- `bombbot`
- `bombbot-path`
- `cty-hijack-missile`
- `cty-hijack`
- `ctyport-attack-bbush`
- `ctysluma-part`
- `ctyslumb-part`
- `ctyslumc-obs`
- `ctyslumc-part`
- `searchlight`
- `cty-destroy-grid`
- `ctyfarm-obs`
- `ctyfarma-part`
- `ctyfarmb-part`
- `freehq-part`
- `freehq-scenes`
- `onintent-scenes`
- `onintent-part`
- `cty-sniper-battery`
- `cty-sniper-turret`
- `intro-obs`
- `intro-part`
- `intro-scenes`
- `palcab-part`
- `palroof-part`
2024-05-09 19:18:55 -04:00
OpenGOAL Bot
f479cef939
CI: Periodic Controller Database Update ( #3507 )
...
Updating Controller Database
Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com >
2024-05-06 14:22:45 -04:00
water111
807ca7465f
fix c++ compiler warnings, extract_merc assert ( #3488 )
...
Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com >
2024-05-03 17:29:18 +01:00
ManDude
cf79ca04e9
fix another jak 1 level name ( #3503 )
2024-05-03 08:34:36 +01:00
Tyler Wilding
6569636abf
ci: pin to avx for macos ( #3502 )
...
Related to #3439
Will see after a few weeks if the problem resurfaces. All macos related
caches have been purged to eliminate that as a possibility.
2024-05-01 22:00:56 -04:00
Hat Kid
f9e0aa82bc
jak3: fix mirage shot ( #3501 )
2024-05-01 21:57:13 +02:00
dependabot[bot]
39f3549640
build(deps): bump hendrikmuhs/ccache-action from 1.2.12 to 1.2.13 ( #3497 )
...
Bumps
[hendrikmuhs/ccache-action](https://github.com/hendrikmuhs/ccache-action )
from 1.2.12 to 1.2.13.
<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.13</h2>
<h2>What's Changed</h2>
<ul>
<li>add emscripten to the compiler list by <a
href="https://github.com/mmomtchev "><code>@mmomtchev</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/187 ">hendrikmuhs/ccache-action#187</a></li>
<li>Bump <code>@actions/cache</code> from 3.2.3 to 3.2.4 by <a
href="https://github.com/dependabot "><code>@dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/183 ">hendrikmuhs/ccache-action#183</a></li>
<li>Bump typescript from 5.3.3 to 5.4.2 by <a
href="https://github.com/dependabot "><code>@dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/190 ">hendrikmuhs/ccache-action#190</a></li>
<li>Bump typescript from 5.4.2 to 5.4.3 by <a
href="https://github.com/dependabot "><code>@dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/191 ">hendrikmuhs/ccache-action#191</a></li>
<li>fix: early exit process so node doesn't wait for hanging promises by
<a
href="https://github.com/chirag-droid "><code>@chirag-droid</code></a>
in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/182 ">hendrikmuhs/ccache-action#182</a></li>
<li>Bump typescript from 5.4.3 to 5.4.5 by <a
href="https://github.com/dependabot "><code>@dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/193 ">hendrikmuhs/ccache-action#193</a></li>
<li>Update windows by <a
href="https://github.com/virtuald "><code>@virtuald</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/180 ">hendrikmuhs/ccache-action#180</a></li>
<li>Bump <code>@types/node</code> from 20.11.10 to 20.12.7 by <a
href="https://github.com/dependabot "><code>@dependabot</code></a> in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/194 ">hendrikmuhs/ccache-action#194</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/mmomtchev "><code>@mmomtchev</code></a>
made their first contribution in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/187 ">hendrikmuhs/ccache-action#187</a></li>
<li><a
href="https://github.com/chirag-droid "><code>@chirag-droid</code></a>
made their first contribution in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/182 ">hendrikmuhs/ccache-action#182</a></li>
<li><a href="https://github.com/virtuald "><code>@virtuald</code></a>
made their first contribution in <a
href="https://redirect.github.com/hendrikmuhs/ccache-action/pull/180 ">hendrikmuhs/ccache-action#180</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/hendrikmuhs/ccache-action/compare/v1.2.12...v1.2.13 ">https://github.com/hendrikmuhs/ccache-action/compare/v1.2.12...v1.2.13 </a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/c92f40bee50034e84c763e33b317c77adaa81c92 "><code>c92f40b</code></a>
Bump <code>@types/node</code> from 20.11.10 to 20.12.7 (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/194 ">#194</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/ff9f6cc67d49b9acaa9e102f80d1ea8a0c86a6dd "><code>ff9f6cc</code></a>
update checksum</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/985163732c9a0ab6be742a4db87bb36d07d6ca9f "><code>9851637</code></a>
update code</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/40738ee8f3bcf20e438d29f613fb2ef1b5cff79d "><code>40738ee</code></a>
Update windows (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/180 ">#180</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/ba6e323cc10f37a14582696e025efe365df0b125 "><code>ba6e323</code></a>
Bump typescript from 5.4.3 to 5.4.5 (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/193 ">#193</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/550708f4f24caa1472defc821c356d0e72d45643 "><code>550708f</code></a>
fix: early exit process so node doesn't wait for hanging promises (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/182 ">#182</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/259dcb3149e7662420f6b796600eac9008bb2d4e "><code>259dcb3</code></a>
Bump typescript from 5.4.2 to 5.4.3 (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/191 ">#191</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/a16392ef06bb17357c33855e071f12873d87b163 "><code>a16392e</code></a>
update code</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/3818c2034d1b62be7cc5e8e097c7c3996d94a068 "><code>3818c20</code></a>
Bump typescript from 5.3.3 to 5.4.2 (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/190 ">#190</a>)</li>
<li><a
href="https://github.com/hendrikmuhs/ccache-action/commit/b647aa998265c7332fbcd30509be75d7ed682458 "><code>b647aa9</code></a>
Bump <code>@actions/cache</code> from 3.2.3 to 3.2.4 (<a
href="https://redirect.github.com/hendrikmuhs/ccache-action/issues/183 ">#183</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/hendrikmuhs/ccache-action/compare/v1.2.12...v1.2.13 ">compare
view</a></li>
</ul>
</details>
<br />
[](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>
Co-authored-by: Tyler Wilding <xtvaser@gmail.com >
2024-05-01 15:53:40 -04:00
Hat Kid
3ff3760621
jak3: add discord rpc and fix some decomp ( #3500 )
v0.2.12
2024-05-01 13:49:26 +02:00
ManDude
5705359df9
[jak3] fix some flag names and a wcar crash ( #3498 )
2024-05-01 08:44:26 +01:00
Hat Kid
cbf75a96f7
custom levels: don't uppercase FR3 filename ( #3496 )
v0.2.11
2024-04-30 22:51:36 +02:00
ManDude
8344ac6963
use only the real level name in the Loader ( #3495 )
...
This fixes issues with certain Jak 3 levels not rendering because there
is a mismatch between the DGO name, nickname and real level name (bsp
name).
FR3s use a different filename, so you can delete the ones you have after
this is merged.
This affects custom levels, but I don't have that toolchain set up so
someone else will have to test that.
2024-04-30 17:12:57 +01:00
OpenGOAL Bot
a527afdc5a
CI: Periodic Controller Database Update ( #3491 )
...
Updating Controller Database
Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com >
2024-04-29 19:21:43 -04:00
Matt Dallmeyer
0d4e3928eb
decomp3 title-obs, credits-h ( #3476 )
2024-04-29 20:23:31 +02:00
ManDude
e4c57d6ac9
more debug information when RPC buffers exhaust ( #3490 )
2024-04-29 16:37:04 +01:00
Tyler Wilding
a021c392ec
game: allow overriding the config directory location ( #3477 )
...
This is primarily driven for proper mod-support. Mods would like to
isolate their settings and saves (potentially) and that is currently
done by find-and-replacing code before building. Bad!
Additionally, this has the side-effect of allowing for portable
installations of the game so, win-win.
Testing in progress, i'll merge once it is ready.
2024-04-28 15:29:20 -04:00