kapdap / re-cvx-tools

Tools to assist data mining Resident Evil/Biohazard: Code: Veronica.
4 stars 1 forks source link

Doors not well named #1

Closed IntelOrca closed 6 months ago

IntelOrca commented 7 months ago

What is described as doors is actually any area that can trigger a door, item pickup, or message amongst other things. In the older games, these are referred to as AOTs. Unknown2 seems to be the type, where 0 is door (with Unknown 12 being stage, Unknown13 being room), 4 is item (with Unknown 12 being the index into the item table). 3 is usually message (with Unknown 12 being message ID) but seems to also trigger some item pick ups as well.

Here are some of the things I am trying to wrap my head around:

Update: I have started decoding the embedded script in the room file (flags should be renamed to script address). The script has the code for overriding certain items and pickups.

kapdap commented 6 months ago

cbnj has discoved some of the script opcodes and posted them on the DC-Talk forum

https://www.dreamcast-talk.com/forum/viewtopic.php?f=52&t=16893#p180001

IntelOrca commented 6 months ago

Thanks, I have been talking to cbnj in the discord channel for CVX and uncovered most of my queries. My plan is to name all the remaning fields as best as I can.

If you are interested, this is what I am working on, a randomizer for CVX PS2. So far I have randomized the prison and palace, and written a diassembler / decompiler for the room scripts. https://github.com/IntelOrca/biorand

kapdap commented 6 months ago

Excellent, there have been a few requests for a CVX randomizer so it's nice to hear someone it working on it.

I've also updated the Blender plugin by @mortician to work with Blender 2.80+. Currently it imports room boundries and triggers areas as simple meshes. https://github.com/kapdap/lib_biocv

kapdap commented 6 months ago

@IntelOrca I found the jump table for the script functions and have dumped them here https://github.com/kapdap/re-cvx-tools/blob/master/Resources/Scripting.md.

Still need to figure out the argument list for each function. An accurate list can be made by steping through the code using IDA/Ghidra/PCSX2 Debugger. Most of the debug symbols are avaliable on the PS2 releases which makes things a little easier to work with.

IntelOrca commented 6 months ago

@IntelOrca I found the jump table for the script functions and have dumped them here https://github.com/kapdap/re-cvx-tools/blob/master/Resources/Scripting.md.

Still need to figure out the argument list for each function. An accurate list can be made by steping through the code using IDA/Ghidra/PCSX2 Debugger. Most of the debug symbols are avaliable on the PS2 releases which makes things a little easier to work with.

This is incredibly helpful! Thank you so much for this. 🙂

This is what I was currently writing: https://github.com/IntelOrca/biohazard-utils/wiki/Scripting-%E2%80%90-Resident-Evil-Code-Veronica

In attempt to get it to the same standard as: https://github.com/IntelOrca/biohazard-utils/wiki/Complete-SCD-Scripting-Guide-%E2%80%90-Resident-Evil-2