Xeeynamo / sotn-decomp

Decompilation of Castlevania: Symphony of the Night (PSX+Saturn)
https://sotn.xee.dev/
GNU Affero General Public License v3.0
508 stars 55 forks source link

CEN cutscene parser #1680

Closed Xeeynamo closed 1 month ago

Xeeynamo commented 1 month ago

CutsceneUnk2 uses 8 prims but only 7 are allocated. It looks like at some point the game writes to the address 0x00000000 but I did not confirm it with a PS1 debugger. This is a potential bug. CutsceneUnk2 signature was also wrong.

I had to get rid of GfxBank in src/st/cen/header.c and I probably need to do the same for the other header files. The code reads chunks of WORDS at the time and a structure would be too large to include GFX_TERMINATE in it.

CEN is there but not linked because it conflicts with some WRP symbols. I decided to take a much simpler approach compared to what I did with WRP (which needs to be refactored later on).

There's a cutscene parser. The asset manager is exporting it to src/st/cen/cutscene_data.h if you want to have a look. I know I am still using config/assets.us.weapon.yaml and it probably needs to be renamed as config/assets.us.yaml later on. I am still deciding.

Xeeynamo commented 1 month ago

I am aware of the unable to extract asset "w_004_1": sprite offset 0x30000000 is not valid problem. I will fix it tomorrow.