water111
82a23c747e
[jak3] prim rendering for cloth ( #3607 )
2024-07-26 20:31:32 -04:00
ManDude
dd765b41cb
jak 3 shadows ( #3530 )
...

2024-05-23 18:29:42 +01: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
water111
e0b1d8c21e
Jak3 sky ( #3514 )
2024-05-12 09:36:50 -04: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
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
20b76e318d
[jak3] remove some stubs and fix health bar ( #3468 )
2024-04-15 16:24:29 +01: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
Hat Kid
93afb02cf4
decomp3: spawn `target`, add merc and particle buckets and some temporary hacks ( #3445 )
...
This includes all the collision stuff needed to spawn `target`,
decompiles the sparticle code and adds some of the PC hacks needed for
merc to run (it doesn't work quite right and looks bad, likely due to a
combination of code copied from Jak 2 and the time of day hacks).
There are a bunch of temporary hacks (see commits) in place to prevent
the game from crashing quite as much, but it is still extremely prone to
doing so due to lots of missing functions/potentially bad decomp.
---------
Co-authored-by: water <awaterford111445@gmail.com>
2024-04-05 00:07:39 -04:00
Hat Kid
dacb704ef6
decomp3: more engine stuff, fix `ja` macro detection for jak 2/3, unmerged `let` matcher, `part-tracker-spawn` macro ( #3436 )
...
- `aligner`
- `effect-control`
- `pov-camera`
- `powerups`
- `los-control-h`
- `airlock`
- `water-anim`
- `blocking-plane`
- `proc-focusable-spawner`
- `idle-control`
- `enemy-h`
- `nav-enemy-h`
- `enemy`
- `enemy-states`
- `particle-curves`
- `base-plat`
- `plat`
- `bouncer`
- `elevator`
- `rigid-body`
- `rigid-body-queue`
- `process-taskable`
- `scene-actor`
- `warp-gate`
- `guard-projectile`
- `metalhead-projectile`
- `los-control`
- `joint-exploder`
- `ragdoll-test`
- `debris`
- `shield-sphere`
- `text`
- `target-launch`
2024-03-30 10:28:02 -04:00
water111
ee015e3b22
[jak3] A bunch of small fixes to get `game.cgo` to load ( #3435 )
...
The `test-play` macro is back, though it doesn't call `play` yet. We can
at least load all of `game.cgo`, which involves loading a lot of the
code we've decompiled, loading/linking objects files compiled by
OpenGOAL (like dir-tpages), and loading/linking Jak's art-groups (for
jak 3 they are stored v5 format that I added to the linker).
There were no major issues - just a few forgotten mips2c entries and
minor bugs/functions that needed stubs. Most of the work was updating
the linker. Hopefully I'll never have to touch that code again - I think
it supports everything we need for jak 3!
2024-03-24 16:30:28 -04:00
water111
ea4820356c
Decompile tfrag, tie, prim ( #3429 )
...
These still need to be ported to PC.
2024-03-17 13:32:05 -04:00
water111
f7bfc8cab1
Decompile font, decomp, background, shrubbery ( #3428 )
2024-03-16 20:25:30 -04:00
water111
fae20a19fc
[jak3] Decompile sprite and debug files ( #3420 )
2024-03-10 21:11:41 -04:00
Tyler Wilding
314f488377
d/j3: do a few `mood` related files and fix some issues along the way ( #3365 )
2024-02-04 08:40:43 -05:00
Hat Kid
5be46c9852
decompiler: allow jak 3 texture and model extraction ( #3080 )
...
Added some hacks and stubs to allow extracting textures and models.
2023-10-11 19:32:12 -04:00
ManDude
15fb677f5f
[jak2] un-mips2c `draw-string` ( #3040 )
...
It's not an asm function.
2023-09-30 00:07:55 +01:00
Fabian Bergström
cf295952b6
Make all project targets compile on Intel MacOS ( #2780 )
2023-07-01 13:30:11 -04:00
water111
b79f28fe07
[jak2] combined shadow work PR ( #2632 )
...
This PR is a combination of
https://github.com/open-goal/jak-project/pull/2507 and some additional
changes to port Shadow VU1 to OpenGL. As far as I can tell, it's
working.
---------
Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com>
2023-05-07 12:12:21 -04:00
ManDude
0ce5835818
Create a new format for particle definitions (`defpart`) ( #2572 )
...
Updates the decompiler for the new format and there's new macros. This
new format should be easier to read/parse.
Also rewrote `sp-init-fields!` (both jak 1 and 2) from assembly to GOAL.
Hopefully I did not miss any regressions in Jak 1/2 while updating the
files, it's a lot.
2023-04-29 11:01:47 -04:00
Hat Kid
77123652b9
jak2: fix 3d hud elements not drawing ( #2527 )
...
The skull gem is not moving, but I'm assuming that's a texture
animation.

2023-04-25 18:57:38 -04:00
water111
a27083f4ee
[jak 2] Add generic and warp ( #2495 )
2023-04-16 18:05:35 -04:00
water111
976e08fe97
[jak2] add vortex renderer ( #2441 )
...
Add the vortex renderer. The vortex texture isn't there yet (it uses the
same texture as clouds), so it uses a checkerboard. But the
colors/vertices seem right.
2023-03-29 20:28:48 -04:00
Hat Kid
be035181f0
decomp: `squid-*` files ( #2170 )
...
Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
2023-01-28 18:44:10 -05:00
Hat Kid
8b21a55906
decomp: `blerc`, `ripple`, `under-*` files ( #2163 )
...
Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
2023-01-28 16:02:58 -05:00
water111
0cddf6b6a5
W/nav debugging ( #2077 )
...
Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
2023-01-01 12:11:18 -05:00
water111
80e9528e4e
lights, death, and rotation fix ( #2042 )
...
- decompile `lights.gc`
- decompile remaining `target-death` function, you can die now
- fix float issue with `matrix-from-two-vectors-smooth!` making jak face
the wrong way in the slide thing
2022-12-02 10:02:13 -05:00
water111
70e231fa72
[jak 2] merc ( #2039 )
2022-11-30 22:36:09 -05:00
water111
6298533eaa
[decomp] collide cache, other minor fixes ( #2031 )
2022-11-20 11:32:29 -05:00
water111
b2b47eec5c
[decomp] `spatial-hash` ( #2009 )
2022-11-11 16:23:26 -05:00
Hat Kid
88eb45ab52
decomp: `ocean`, `ocean-mid`, `ocean-near`, `ocean-texture`, `ocean-transition`, `ocean-vu0` ( #1994 )
...
The VU programs for the ocean renderer have changed a bit and
`ocean-texture` has a bunch of new stuff, otherwise things are
relatively similar to Jak 1.
This is the first time I used mips2c and I'm not sure I did it 100%
right, so that should be double-checked.
2022-10-30 19:09:35 -04:00
water111
811b5de6cb
[decomp] collide-mesh ( #1999 )
2022-10-30 15:54:10 -04:00
water111
8ae4829f48
[decomp] collide-hash, collide-frag, collide-probe ( #1998 )
...
The only interesting one is `collide-hash`, which is untested.
The other two are very likely unused. I skipped the annoying code in
`collide-probe` because it's not used and the same as jak 1.
2022-10-29 20:32:03 -04:00
water111
e443676889
[decomp] `sky-tng` ( #1972 )
...
https://www.youtube.com/watch?v=fkAMvEYXOGc
2022-10-15 18:21:17 -04:00
water111
9a04c7e311
[decomp] sparticle, sparticle-launcher, set up sprite ( #1949 )
...
- fix crash with unhandled sparticle definition (happens with the weird
array int32s that I don't understand yet)
- update mips2c stuff
- add part-tester
- fix some issues around texture uploads

2022-10-09 19:56:07 -04:00
water111
405a144815
[decomp] finish up debug.gc, get boundary rendering working ( #1944 )
...

2022-10-08 17:02:40 -04:00
water111
d52739226c
[decomp] decompile decomp.gc ( #1936 )
...
A few issues:
- lwidea's fr3 is getting loaded and unloaded all the time
- the debug line drawing clipping is wrong (doesn't seem wrong in pcsx2,
so I think this is on us)
- nothing actually using vis data yet
- at a large distance, our view frustum culling seems slightly too
aggressive (might be that viewport scissoring is wrong)
- in the city, things seem darker as you move away. unclear how this is
happening (fog?)
2022-10-01 13:39:56 -04:00
water111
4eea31c3e9
[jak 2] texture ( #1866 )
...
- Decompile and patch `texture.gc` for PC
- Improve decompiler when offset doesn't fit in immediate (for types
larger than 8k and some scratchpad accesses)
- Fix symbol->string issues in both jak 1 and 2
- Fix bug with VIF interrupt used to profile VU code (hooked up to
OpenGLRenderer BucketRenderers in PC port)
- Support `~o` in `format`.
- Uncomment stuff in `merc.gc` that now works!

fixes https://github.com/open-goal/jak-project/issues/1850
2022-09-11 14:17:55 -04:00
water111
b5d21be9c5
W/misc fixes ( #1838 )
...
* temp
* temp
* before cleaning up
* cleanup merge
* fix warnings
* merge fix
* clang format
2022-09-05 20:29:12 -04:00
water111
2bead6db97
[decompile] Joint ( #1813 )
...
* temp
* decompile joints
* fix merge
2022-08-28 16:38:58 -04:00
water111
f8007cc84b
[decomp] Jak 2 mips2c, collide-func ( #1805 )
2022-08-26 18:03:48 -04:00
water111
e630b50690
[ckernel] split by game version ( #1559 )
...
* temp
* split up kprint, other than format
* start kmachine
* split kmachine
* split kscheme
* split klink
* split klisten
* split remaining
* jak2 ckernel gets to nokernel loop
2022-06-26 18:17:11 -04:00
Tyler Wilding
2d595c1ac0
lint: add include sorting config to clang-format ( #1517 )
2022-06-22 23:37:46 -04:00
water111
ecb2781a89
[decompiler] cleanup to get atomic ops working on jak2 inputs ( #1426 )
...
* [decompiler] cleanup to get atomic ops working on jak2 inputs
* clang format
2022-06-08 18:34:52 -04:00
water111
a51536de8d
[graphics] tie generic ( #1341 )
...
* [gtie] tie inst and proto functions
* first chain input to generic ee looks good
* m
* works
* ugh
* add tie generic
* rm debug print
* rm generic ties from fr3
2022-04-29 23:44:53 -04:00
water111
4a0ac6c155
[graphics] first half of shadow renderer ( #1246 )
...
* start on dma stuff
* temp
* temp
* add shadow cpu
2022-03-22 21:42:37 -04:00
water111
bb85eaf167
add ocean-vu0 mips2c and decomp ocean-texture ( #1230 )
...
* add ocean-vu0 mips2c and decomp ocean-texture
* vu1 texture setup
* temp
* unoptimized version working
* optimized version by default
* update ref test
2022-03-11 22:27:11 -05:00
water111
43612b0750
add ocean far big triangle stuff ( #1224 )
2022-03-07 20:28:53 -05:00
water111
9c00b0c135
[graphics] generic merc ( #1192 )
...
* begin generic merc
* more generic stuff
* generic dma generation not crashing, at least until high-speed-reject
* c
* unpacker for generic
* starting to work
* small fixes
* more fixes
* more progress
* cleanup
* fix tests
* no custom imgui assert on windows
2022-02-24 22:33:10 -05:00
water111
78cde74d5a
update readme and fix always playing str ( #1139 )
...
* update readme deps
* replace assert
* bump timeout
* fix memory corruption in kernel
* use unknown if level name is invalid
2022-02-08 19:02:47 -05:00