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. |