FF7/Command data
KERNEL.BIN - Section 1: Command data format
(Note:This information has been provided by NFITC1. Please thank him for his hard work as reversing is a long and thankless task.)
This section contains the data for Menu commands. There are 32 entries of 8 bytes in the following format:
Offset | Length | Description | |
---|---|---|---|
0x00 | 1 byte | Initial Cursor Action* | |
0x01 | 1 byte | Force Targeting** | |
0x02 | 2 bytes | Unknown (Always [FFh]) | |
0x04 | 2 bytes | Single Target Camera | |
0x04 | 2 bytes | Multiple Targets Camera |
*Initial Cursor Action: The different values will tell it what to do or what menu to bring up:
Value | Effect |
---|---|
0h | Perform command, using selected target |
1h | Magic Menu |
2h | Summon Menu |
3h | Item Menu |
4h | E.Skill Menu |
5h | Throw Menu |
6h | Limit Menu |
7h | Start on enemy |
8h | W-Item Menu |
9h | W-Magic Menu |
Ah | W-Summon Menu |
Bh | Coin Menu |
Note: If this value is 0h and Target is NULL (FFh) then the action will be performed without showing the cursor.
** Targeting data: This is the targeting data used throughout the battle engine to determine which battle participant (PCs and monsters alike) to perform damage calculation upon. It is stored as an 8-bit bitmask:
Bitmask | Effect |
---|---|
01h | Enable selection. Without this, the target cannot be changed from the participant performing the command. |
02h | Start on Enemies. This will default the target to the first member of the opposing row. |
04h | Multiple by default. This will select all targets on a row. |
08h | Multiple "toggle". This will enable toggling between a single target or multiple targets.
Magics that have this enabled must be linked to an "All" to be multiple. Commands must have a Mega-All. |
10h | One side only. This will not let you choose another row other than the one defined by 02h. |
20h | Long ranged enemy can be targeted. |
40h | All participants. Targets all available targets in the battle. |
80h | Random target. Choose, from among selected targets, one to perform damage calculation upon. |