water111
48cb9bb787
[decompiler] as-type and font method support ( #3855 )
...
Add support for `as-type` macro, and detecting inline font methods. This
works in all three games but I've only updated jak 3's goal_src for now.
Eventually I will go back and work through the others, but I want to get
more decompiler features in first.

---------
Co-authored-by: water111 <awaterford1111445@gmail.com >
2025-02-01 21:23:11 -05:00
water111
98d6618a8b
[decompiler] Detect vector*! ( #3846 )
...
Detect use of `vector*!`, which is inlined in jak 2 and jak 3.
---------
Co-authored-by: water111 <awaterford1111445@gmail.com >
2025-01-20 12:21:28 -05:00
water111
3ee2b4423c
[decompiler] Cleanup for Jak 3 ( #3845 )
...
This PR does a few cleanups:
- improve method names/comments/flags for `enemy.gc` and a few other
files
- fix `new-stack-matrix0` not working for jak 3
- add `matrix-copy!` detection for jak 3
- add `vector-copy!` detection
---------
Co-authored-by: water111 <awaterford1111445@gmail.com >
2025-01-20 10:31:29 -05:00
Hat Kid
6a06291e6e
jak1, jak2: add get-texture macro ( #3778 )
...
Ports the `get-texture` macro added in Jak 3 to Jak 1 and 2.
2024-11-26 11:29:34 +01:00
Hat Kid
c263bc2114
custom models: envmap support ( #3777 )
...
Custom models and model replacements now support environment mapping.
Also fixed some cases in Jak 3 where tfrags had missing textures
(defaulting to texture 0 from tpage 0, which in Jak 3 is the default eye
texture) and replaced them with more suitable alternatives.
Fixes #3776
https://github.com/user-attachments/assets/7c11b0de-b254-40cb-9719-11238dfb3d43


2024-11-23 14:32:55 +01:00
Hat Kid
2ff49b9905
jak3: fix ragdolls settling too early ( #3775 )
...
`none` methods strike again
Fixes #3774
2024-11-22 02:36:50 +01:00
water111
5e3cb8faa6
[jak3] Fix stack layout for car spawn ( #3765 )
...
Fix for cars spawning under ground or in weird places
Co-authored-by: water111 <awaterford1111445@gmail.com >
2024-11-16 17:52:14 -05:00
Hat Kid
af5cb9b1cb
jak3: subtitle3, vag-player ( #3758 )
2024-11-12 02:45:16 +01:00
water111
1e530714b7
[jak3] Fix for precd extraction ( #3744 )
...
It looks like one of the tie models in this level has bad color data in
the lowest LOD. For now, just skip extracting the lowest lod for this
TIE only.
Co-authored-by: water111 <awaterford1111445@gmail.com >
2024-11-03 11:43:27 -05:00
Hat Kid
7de5eb9fc0
jak3: misc fixes ( #3686 )
...
- Fix global heap display in cheat mode
- Fix `tpl-watcher` NaNs after they fire their laser (`vf0` was being
clobbered) (Fixes #3684 )
- Fix `artifact-race` talkers (Fixes #3685 )
2024-09-23 18:41:34 +02:00
water111
f60a155c0f
[jak3] Fix crash with volcano platforms ( #3676 )
...
Ended up being a simple fix to a stack type in rigid-body.
Co-authored-by: water111 <awaterford1111445@gmail.com >
2024-09-22 13:09:41 -04:00
Hat Kid
7053090541
jak3: decomp bigmap, blit-displays, fix progress crash ( #3657 )
...
`bigmap` and `blit-displays` mostly work. `blit-displays` is still
missing all of the special effects that were added in Jak 3 (brightness
and contrast settings, screen blur effect, etc.).
`bigmap` is missing the player marker texture (`hud-target-marker`) for
some reason, it's part of `tpage-17` which is coming from
`progress-minimap` and should already be included. The icons also
currently stretch when using aspect ratios other than 4:3.
The progress menu now also works for the most part. The draw order is a
bit messed up because some code was initially drawing things with the
ocean bucket, which was changed to use `hud-draw-hud-alpha` instead for
now. The texture for the volume and brightness/contrast sliders still
looks wrong.
Fixes #3653
Fixes #3656
2024-09-07 14:18:30 +02:00
Matt Dallmeyer
4fd0a57046
Create abutton-idx enum, replace magic numbers across codebase ( #3646 )
...
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))`
2024-09-01 09:29:23 -04:00
Tyler Wilding
c72a086e49
jak2: support mirror mode ( #3616 )
...
Fixes #3210

TIL that on the PS4/PS5, mirror mode breaks the upscaling
2024-07-30 23:30:53 -04:00
Hat Kid
ce978638fe
jak3: add darkjak highres texture anim ( #3611 )
...
Eyes don't work yet
2024-07-28 02:45:00 +02:00
water111
9d0009715e
[jak3] Fix alpha for prims, entity-table ( #3609 )
...
Fix issue where light-trail is invisible and some actors not spawning
due to out of memory.
2024-07-27 12:46:33 -04:00
water111
3856ae505a
[jak3] Some cleanup/fixes around curve and light-trail ( #3608 )
...
They still don't work yet, this is just naming/comments to help with
debug.
The vehicle tracks are now at least trying to draw, but like the others,
don't actually show up.
2024-07-27 11:17:39 -04:00
water111
82a23c747e
[jak3] prim rendering for cloth ( #3607 )
2024-07-26 20:31:32 -04:00
water111
e81431bd21
[wip] Jak 3 Overlord ( #3567 )
2024-07-26 09:42:28 -04:00
Hat Kid
365fae4913
jak3: fix bbush rings ( #3593 )
...
Fixes #3592
2024-07-17 21:49:07 +02:00
Hat Kid
bdded9ad8c
jak3: add missing texture animations ( #3577 )
...
This refactors some of the texture animation code a bit to better
support multiple games and adds most of the missing texture animations
for Jak 3 with a couple of exceptions/bugs:
- `hanga-sprite`: Despite `move_to_pool` being set for this anim, it's
not showing up in-game, but it does display properly in the ImGUI debug
window.

- `factoryc-alpha`: Some conveyors do not have the animation for some
reason.

- This spot in Spargus seems to use texture animations, but it looks
like it maps to the `fora-water-dest` texture/slot, which comes from
`foresta-water`. Because the texture is not initialized, the texture
shows up black on first load, but it does show up after loading
`foresta`.


- `hfrag` texture anim is not handled yet. Probably needs some special
casing.
2024-07-15 02:25:18 +02:00
Tyler Wilding
b4113dda67
decompiler: Cleanup duplication in extractor/decompiler and make it easier 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:

2024-06-29 01:18:39 -04:00
ManDude
ea1271cfd0
[jak3] implement autocollect and city turbo board cheats, fix actor heap and level flags ( #3541 )
2024-05-31 16:41:35 +01:00
Aloqas
cefb371681
[jak2] new subtitle speakers ( #3536 )
...
for specific cutscene scenarios
---------
Co-authored-by: Tyler Wilding <xtvaser@gmail.com >
2024-05-30 22:02:44 -04:00
Matt Dallmeyer
70ea2a1f67
jak3 - fill out some text-id entries ( #3494 )
...
Slam Dozer > Ram Rod
2024-05-30 21:49:10 -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
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
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
ManDude
ebbbedabc5
jak3: fix hud sprite crash + add entity debugger ( #3516 )
2024-05-13 04:09:25 +01: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
Hat Kid
f9e0aa82bc
jak3: fix mirage shot ( #3501 )
2024-05-01 21:57:13 +02:00
Hat Kid
3ff3760621
jak3: add discord rpc and fix some decomp ( #3500 )
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
Matt Dallmeyer
0d4e3928eb
decomp3 title-obs, credits-h ( #3476 )
2024-04-29 20:23:31 +02:00
Hat Kid
e2e5289788
decomp3: font widescreen and shadow hacks, generic renderer, misc files ( #3483 )
...
- `pecker-ingame`
- `des-bbush-tasks`
- `des-burning-bush`
- `des-bush-part`
- `des-bush`
- `mh-centipede`
- `mh-centipede-part`
- `mh-wasp`
- `mh-wasp-part`
- `needle-fish`
- `des-bush-time-chase`
- `timer-path`
- `mission-squad-control-h`
- `mh-bat`
- `hover-nav-factoryd`
- `hover-nav-factoryc`
- `conveyor`
- `fac-part`
- `factory-part`
- `factoryc-mood`
- `factoryc-obs`
- `factoryc-obs2`
- `lfaccar-init`
- `factory-boss-part`
- `factory-boss-scenes`
- `factory-boss-setup`
- `factory-boss-states`
- `factory-mood`
- `factoryc-manager`
- `lfacrm1-mood`
- `lfacrm2-mood`
- `missile-bot`
- `sew-laser-turret`
- `ai-task-h`
- `ash-h`
- `ash-shot`
- `ash-states`
- `ash-task`
- `ash`
- `bot-h`
- `bot-states`
- `bot`
- `ash-oasis-course`
- `oasis-defense`
- `comb-field`
- `comb-mood`
- `comb-obs`
- `comb-part`
- `comb-scenes`
- `comb-sentry`
- `comb-travel`
- `comba-init`
- `combx-scenes`
- `h-sled`
- `destroy-dark-eco`
- `fac-gunturret`
- `fac-robotank-turret`
- `fac-robotank`
- `fac-tower`
- `factory-h`
- `factory-hud`
- `factory-manager`
- `factorya-init`
- `ffight-projectile`
- `ftank-projectile`
- `fturret-projectile`
- `h-warf`
- `warf-projectile`
2024-04-28 08:59:46 -04:00
ManDude
889fdcd79c
jak3: fix some collide decomp + fix projectiles aiming at intangible objects ( #3485 )
...
Say goodbye to half of the laser needle shots spinning around doing
nothing. This is toggleable with `fix-projectile-focus` in the pc
settings.
2024-04-26 16:22:26 +01:00
Hat Kid
9d359ed84a
jak3: fix type ( #3478 )
2024-04-22 19:53:04 +02:00
Hat Kid
58a5440c8a
decomp3: more misc files ( #3466 )
...
Makes a bunch of missions mostly playable, including:
- `arena-training-1`
- `arena-fight-1`
- `wascity-chase`
- `arena-fight-2`
- `arena-fight-3`
- `volcano-darkeco`
- `desert-hover`
- `nest-eggs`
- `temple-climb`
- `temple-oracle`
- `temple-tests`
- `desert-beast-battle`
- `desert-turtle-training`
- `desert-course-race`
- `desert-artifact-race1`
- `wascity-leaper-race`
- `wascity-pre-game`
- `sewer-met-hum`
- `forest-kill-plants`
- `forest-ring-chase`
- `temple-defend`
- `tower-destroy`
- `desert-glide`
---
Files:
- `ripple`
- `waswide-mood`
- `sig-rider`
- `nst-tasks`
- `nst-part`
- `nst-gas`
- `nst-eggs-h`
- `nst-obs`
- `nst-mood`
- `egg-spider`
- `wasdoors-init`
- `wasall-tasks`
- `wvehicle-race`
- `wcar-marauder`
- `wcar-marauder-b`
- `turret-control`
- `was-squad-control`
- `turtle-training`
- `kleever-rider`
- `course-race`
- `artifact-race`
- `desert-hover`
- `desbeast-path-h`
- `des-beast`
- `desertg-obs`
- `desertf-obs`
- `desertd-obs`
- `desert-dust-storm`
- `des-cactus`
- `race-hud`
- `race-info`
- `race-manager`
- `tizard`
- `flyingsaw`
- `hover-training`
- `temple-mood`
- `temple-obs`
- `temple-obs2`
- `temple-part`
- `temple-scenes`
- `templex-mood`
- `templex-obs`
- `templex-part`
- `tomb-baby-spider`
- `target-turret-shot`
- `target-turret`
- `beast-battle-path`
- `des-beast-2`
- `mh-flyer`
- `scorpion-gun`
- `hover-enemy-h`
- `hover-enemy`
- `hover-formation-h`
- `hover-formation`
- `hover-nav-control-h`
- `hover-nav-control`
- `flamer-hover`
- `hover-nav-templea`
- `robo-hover`
- `hover-nav-sewb`
- `hover-nav-sewg`
- `hover-nav-sewj`
- `hover-nav-sewl`
- `hover-nav-sewo`
- `hover-nav-towera`
- `tower-mood`
- `tower-obs`
- `tower-scenes`
- `tower-part`
- `eco-green-collider`
- `forest-bridges`
- `forest-kill-plants`
- `forest-mood`
- `forest-ring-chase`
- `forest-tasks`
- `forest-part`
- `foresta-obs`
- `hover-nav-foresta`
- `mh-plant`
- `dp-bipedal-part`
- `dp-bipedal-shot`
- `dp-bipedal`
- `neo-spawner`
- `for-turret`
- `for-turret-shot`
- `neo-wasp`
- `neo-wasp-part`
- `volcanox-scenes`
- `volcanox-mood`
- `volcano-scenes`
- `volcano-mood`
- `volcano-obs`
- `volcano-obs2`
- `chain-physics`
- `rigid-body-plat`
- `volcano-part`
- `flamer-lava`
- `flitter`
- `spiky-frog`
- `flut-wild`
- `target-indax`
- `target-indax-hang`
- `mantis`
- `volcanox-obs`
- `spyder`
- `wcar-faccar`
- `mhcity-obs2`
- `mhcity-part`
- `mhcity-obs`
- `dm-mine-spider`
- `rapid-gunner`
- `stadium-mood`
- `stadium-scenes`
- `stadiuma-mood`
- `stadiuma-part`
- `kanga-lizard`
- `marauder`
- `arena-scenes`
- `wasstada-mood`
- `wasstada-obs`
- `wasstada-part`
- `wasstadb-obs`
- `wasstadc-obs`
- `dm-flyer`
- `maker-part`
- `maker-projectile`
- `skeet-part`
- `wascity-turret`
- `wasgun-h`
- `wasgun-hud`
- `wasgun-manager`
- `nav-graph-h`
- `traffic-engine-h`
- `waswide-init`
- `cty-borrow-manager-h`
- `cty-borrow-manager`
- `desert-part`
- `height-map-h`
- `height-map`
- `traffic-height-map`
- `vehicle-control`
- `hvehicle-h`
- `hvehicle`
- `hvehicle-effects`
- `hvehicle-physics`
- `hvehicle-util`
- `glider-h`
- `glider-hud`
- `glider-manager`
- `glider-ring`
- `glider-ring-part`
- `h-glider`
- `hanga-init`
- `was-pre-game`
- `was-leaper-race`
- `flut-racer`
- `desert-scenes`
- `desert-lizard-h`
- `desert-lizard-task`
- `desert-lizard`
- `throne-scenes`
- `waspal-mood`
- `waspala-obs`
- `waspala-part`
- `deswalk-obs`
- `deswalk-part`
- `terraformer-drone`
- `terraformer-head`
- `terraformer-part`
- `terraformer-setup`
2024-04-22 18:43:51 +02:00
ManDude
8e5830321c
[jak3] fix process stack overflow + collision renderer ( #3473 )
2024-04-16 04:26:01 +01:00
ManDude
e601a3dcb3
[jak3] implement pckernel ( #3472 )
...
Most debug features do not work, but that's fine.
2024-04-15 19:26:48 +01:00
ManDude
20b76e318d
[jak3] remove some stubs and fix health bar ( #3468 )
2024-04-15 16:24:29 +01:00
water111
dd4f255260
[jak3] Minimap texture fix ( #3465 )
2024-04-13 09:47:23 -04:00
Hat Kid
36f1592b90
decomp3: lightning renderer, nav code, texture remap, fix progress menu crash ( #3461 )
...
Also adds:
- BLERC
- Minimap (with missing texture for the map, sprites work)
- Eco Mine files
- Precursor robot boss files
- Sewer files
- Vehicle files
2024-04-12 18:44:38 -04:00