RE_RSZ.bt -- Template for editing RE Engine Game Files
Jun 17, 2021 12:25:34 GMT 10
LostField, 3getu841, and 10 more like this
Post by alphaz on Jun 17, 2021 12:25:34 GMT 10
Hi everyone, here I have a very important new tool for RE Engine modding:
A 010 Editor binary template for reading and editing SCN, PFB, RCOL, USER, BHVT, MOTFSM, and FSMV2 files, that works for RE2, RE3, RE8 and DMC5 !
These RSZ files describe how everything works in RE2 and other games, and are the key to making all sorts of gameplay mods.
RE RSZ
*works for RE2, RE3, RE8, and DMC5.
Download:
github.com/alphazolam/RE_RSZ
What is RSZ?
RSZ is a general format used by Capcom for RE Engine game files. They describe scenes, entities, states and parameters within the games, and have 90% of the configurable settings.
If you know anything about programming, they could be described as a collection of class instances nested together -- classes of RE Engine.
About RSZ file types:
SCN: RE Engine Scene files. They are populated by GameObjects and Folders, each of which can have other Folders and GameObjects as their children. Each GameObject has a via.Transform to tell its position in the game world, and can then have any number of other components. SCN files are used for everything, and by editing them you can do things like change enemy spawns, change sizes, change key item locations and keys needed to progress.
PFB: Similar to SCN, but smaller and more single-purposed. It also seems that PFB files can be embedded inside SCN files, and may still be referred to as though they have a file of their own.
USER: User files are typically purely parameters and configurations for the GameObjects that reference them. These often have the most interesting settings to change in them. In RE2 and DMC5, these files are embedded inside the PFB and SCN files.
RCOL: RCOL (RequestSet Collider) files describe hitboxes, damage values, stun, impact, damage type, special attack flags and other hitbox-related datas. Here is a small guide on how to get from a mot animation in a motlist to a hitbox in RCOL, using RE RSZ and the motlist template:
BHVT: Usually used for AI, has multiple levels of RSZ for input nodes, output nodes, selectors etc. Is parsed but needs more research and better organization.
MOTFSM: Determines a player's moveset. Contains BHVT embedded inside
FSMV2: Finite state machines used for condition checks and scripting-type things. Also contains BHVT structures.
Game Version:
At the top of the file, you can set your default game version to the game you are editing. The template is able to auto-detect the game version by looking for keywords such as "RE2" or "evil 2" in the filepath of the file being edited, but this can obviously fail, so make sure it's set right:
Credits:
This template been years in the making, but until now we did not have what we needed to see how the RSZ data was organized. Praydog of RE Framework was instrumental in this, as he was able to dump the RSZ structures of each game into large JSON dumps. Many thanks to thedarkness704 as well, as he created a DLL for the template that allows it to parse files using these JSON dumps.
RE_RSZ is a work in progress and there may be some errors in reading some files. Bytes that are read correctly will be colored green in the hex. The template will attempt to correct itself when there is an error, and you can see where this happened because the hex will not be green there.
Script:
Also included with the template is a script, RE_RSZ_changeValues.1sc.
Here, I am using it to double the health of all enemy spawns in the beginning of the "Runaway" Ghost Survivors scenario in RE2:
Executing this on RE_RSZ will allow you to change any RSZ values of a specific name, value, or parent within your selection. You can multiply, add/subtract, divide, and assign, and you can edit whole vector2s - vector4s at once by typing like "1 1 1 0" as the new value (which you can also do in the template).
That's all, and if you find anything cool with it, do tell about it here! Enjoy!
A 010 Editor binary template for reading and editing SCN, PFB, RCOL, USER, BHVT, MOTFSM, and FSMV2 files, that works for RE2, RE3, RE8 and DMC5 !
These RSZ files describe how everything works in RE2 and other games, and are the key to making all sorts of gameplay mods.
RE RSZ
*works for RE2, RE3, RE8, and DMC5.
Download:
github.com/alphazolam/RE_RSZ
What is RSZ?
RSZ is a general format used by Capcom for RE Engine game files. They describe scenes, entities, states and parameters within the games, and have 90% of the configurable settings.
If you know anything about programming, they could be described as a collection of class instances nested together -- classes of RE Engine.
About RSZ file types:
SCN: RE Engine Scene files. They are populated by GameObjects and Folders, each of which can have other Folders and GameObjects as their children. Each GameObject has a via.Transform to tell its position in the game world, and can then have any number of other components. SCN files are used for everything, and by editing them you can do things like change enemy spawns, change sizes, change key item locations and keys needed to progress.
PFB: Similar to SCN, but smaller and more single-purposed. It also seems that PFB files can be embedded inside SCN files, and may still be referred to as though they have a file of their own.
USER: User files are typically purely parameters and configurations for the GameObjects that reference them. These often have the most interesting settings to change in them. In RE2 and DMC5, these files are embedded inside the PFB and SCN files.
RCOL: RCOL (RequestSet Collider) files describe hitboxes, damage values, stun, impact, damage type, special attack flags and other hitbox-related datas. Here is a small guide on how to get from a mot animation in a motlist to a hitbox in RCOL, using RE RSZ and the motlist template:
{Custom Spoiler}The Value A / B floats in the mot's CLIP data (slotted under Properties -> ColliderReqTracks) here are the start and end frames for the hitbox.
If the start frame is > 0, there should be a couple+ Data structs with IDs inside. The ID of the first one should be a larger number that takes you to the real hitbox for the move, if you can find that ID in RequestSets inside that character's rcol file
If the start frame is > 0, there should be a couple+ Data structs with IDs inside. The ID of the first one should be a larger number that takes you to the real hitbox for the move, if you can find that ID in RequestSets inside that character's rcol file
BHVT: Usually used for AI, has multiple levels of RSZ for input nodes, output nodes, selectors etc. Is parsed but needs more research and better organization.
MOTFSM: Determines a player's moveset. Contains BHVT embedded inside
FSMV2: Finite state machines used for condition checks and scripting-type things. Also contains BHVT structures.
Game Version:
At the top of the file, you can set your default game version to the game you are editing. The template is able to auto-detect the game version by looking for keywords such as "RE2" or "evil 2" in the filepath of the file being edited, but this can obviously fail, so make sure it's set right:
Credits:
This template been years in the making, but until now we did not have what we needed to see how the RSZ data was organized. Praydog of RE Framework was instrumental in this, as he was able to dump the RSZ structures of each game into large JSON dumps. Many thanks to thedarkness704 as well, as he created a DLL for the template that allows it to parse files using these JSON dumps.
RE_RSZ is a work in progress and there may be some errors in reading some files. Bytes that are read correctly will be colored green in the hex. The template will attempt to correct itself when there is an error, and you can see where this happened because the hex will not be green there.
Script:
Also included with the template is a script, RE_RSZ_changeValues.1sc.
Here, I am using it to double the health of all enemy spawns in the beginning of the "Runaway" Ghost Survivors scenario in RE2:
Executing this on RE_RSZ will allow you to change any RSZ values of a specific name, value, or parent within your selection. You can multiply, add/subtract, divide, and assign, and you can edit whole vector2s - vector4s at once by typing like "1 1 1 0" as the new value (which you can also do in the template).
That's all, and if you find anything cool with it, do tell about it here! Enjoy!