Difference between revisions of "FF7/Command data"
< FF7
Jump to navigation
Jump to search
my_wiki>Halkun m (→KERNEL.BIN - Section 1: Command data format) |
my_wiki>G |
||
Line 3: | Line 3: | ||
This section contains the data for Menu commands. Each record is 16 bytes long. | This section contains the data for Menu commands. Each record is 16 bytes long. | ||
− | <i>(Note:This is a | + | <i>(Note:This information has been provided by NFITC1. Please thank him for his hard work as reversing is a long and thankless task.}</i> |
− | |||
− | + | {| border="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0)" | |
− | {| border="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0) | ||
! style="background:rgb(204,204,204); width:50px;" align="center" | Offset | ! style="background:rgb(204,204,204); width:50px;" align="center" | Offset | ||
! style="background:rgb(204,204,204); width:50px;" | Length | ! style="background:rgb(204,204,204); width:50px;" | Length | ||
! style="background:rgb(204,204,204); width:275px;" colspan="2" | Description | ! style="background:rgb(204,204,204); width:275px;" colspan="2" | Description | ||
|- | |- | ||
− | |style="background:rgb(255,255,255)" align="center" | | + | |style="background:rgb(255,255,255)" align="center" | 0x00 |
+ | |style="background:rgb(255,255,255)" | 1 byte | ||
+ | |style="background:rgb(255,255,255)" | Initial Cursor Action* | ||
|style="background:rgb(255,255,255)" | | |style="background:rgb(255,255,255)" | | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255)" align="center" | 0x01 | ||
+ | |style="background:rgb(255,255,255)" | 1 byte | ||
+ | |style="background:rgb(255,255,255)" | Force Targeting** | ||
|style="background:rgb(255,255,255)" | | |style="background:rgb(255,255,255)" | | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255)" align="center" | 0x02 | ||
+ | |style="background:rgb(255,255,255)" | 2 bytes | ||
+ | |style="background:rgb(255,255,255)" | Unknown (Always [FFh]) | ||
|style="background:rgb(255,255,255)" | | |style="background:rgb(255,255,255)" | | ||
|- | |- | ||
− | |style="background:rgb(255,255,255)" align="center" | | + | |style="background:rgb(255,255,255)" align="center" | 0x04 |
− | |style="background:rgb(255,255,255)" | | + | |style="background:rgb(255,255,255)" | 2 bytes |
+ | |style="background:rgb(255,255,255)" | Single Target Camera | ||
|style="background:rgb(255,255,255)" | | |style="background:rgb(255,255,255)" | | ||
+ | |- | ||
+ | |style="background:rgb(255,255,255)" align="center" | 0x04 | ||
+ | |style="background:rgb(255,255,255)" | 2 bytes | ||
+ | |style="background:rgb(255,255,255)" | Multiple Targets Camera | ||
|style="background:rgb(255,255,255)" | | |style="background:rgb(255,255,255)" | | ||
+ | |} | ||
+ | <nowiki>*Initial Cursor Action:</nowiki> | ||
+ | The different values will tell it what to do or what menu to bring up: | ||
+ | |||
+ | {|border="1" | ||
+ | |- | ||
+ | !style="background:rgb(204,204,204);" align="center" |Value | ||
+ | !style="background:rgb(204,204,204);" align="center" |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. | ||
+ | |||
+ | <nowiki>** Targeting data:</nowiki> | ||
+ | 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: | ||
+ | {|border="1" | ||
|- | |- | ||
− | + | !style="background:rgb(204,204,204); " align="center" |Bitmask | |
− | + | !style="background:rgb(204,204,204); " align="center" |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 |
− | + | |Not used. No effect? | |
− | |||
− | | | ||
|- | |- | ||
− | | | + | |40h |
− | + | |All participants. Targets all available targets in the battle. | |
− | |||
− | | | ||
|- | |- | ||
− | | | + | |80h |
− | + | |Random target. Choose, from among selected targets, one to perform damage calculation upon. | |
− | | | + | |} |
− | | |
Revision as of 07:46, 18 October 2008
KERNEL.BIN - Section 1: Command data format
This section contains the data for Menu commands. Each record is 16 bytes long.
(Note:This information has been provided by NFITC1. Please thank him for his hard work as reversing is a long and thankless task.}
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 | Not used. No effect? |
40h | All participants. Targets all available targets in the battle. |
80h | Random target. Choose, from among selected targets, one to perform damage calculation upon. |