Difference between revisions of "FF7/Command data"
Jump to navigation
Jump to search
Qhimm>Halkun |
Qhimm>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 06: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. |