Closed IntelOrca closed 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
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
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
@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 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
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.