jak-project/goal_src
water111 9d80ada016
[jak3] Fix eye slot assignment and textures (#3603)
I found two issues with Jak 3 eyes. The first was simple - we were
missing a `-pc` texture upload in `texture.gc` for `pris2` textures,
which has eye textures for a few characters, like torn or damas.

The second was a little more annoying. Unlike jak 2 and jak 1, jak 3 can
dynamically assign eye slots when merc models are loaded. This involves
modifying eye data to tell the eye renderer where to render, and
modifying the merc model's adgif shaders to point to the correct eye
texture. The modification to the merc adgif shader is problematic since
our PC port of merc assumes this slot is constant.

My solution here was to bypass this whole slot system entirely for jak
3. I modified the GOAL eye renderer to tell the c++ eye renderer the
name of the merc-ctrl containing the eye. Then, the PC C++ Merc renderer
can just look up the merc-ctrl by name. To make this fit nicely in the
existing memory layout, I used a 64-bit fnv hash of the name. (which
honestly is how we should have handled a lot of other texture/model
names stuff...)

Unrelated fix to Overlord2 so it handles the case where file size
changes after the game starts, I had this in jak2/jak1 and forgot it for
jak 3.
2024-07-26 11:42:52 -04:00
..
jak1 decompiler: support merc model replacements and adding custom actor models to vanilla fr3s (#3597) 2024-07-21 01:51:31 +02:00
jak2 [high fps] Increase input buffer for jak1 and jak3 (#3578) 2024-07-15 02:56:10 +02:00
jak3 [jak3] Fix eye slot assignment and textures (#3603) 2024-07-26 11:42:52 -04:00
user repl: separate history by game version (#2805) 2023-07-05 20:15:46 +02:00
goal-lib.gc REPL related improvements and fixes (#3545) 2024-06-03 00:14:52 -04:00
goos-lib.gs REPL related improvements and fixes (#3545) 2024-06-03 00:14:52 -04:00