Difference between revisions of "FF7/Command data"

From Final Fantasy Inside
< FF7
Jump to navigation Jump to search
my_wiki>G
my_wiki>NFITC1
m (First among many corrections to come)
Line 1: Line 1:
 
== KERNEL.BIN - Section 1: Command data format ==
 
== KERNEL.BIN - Section 1: Command data format ==
<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>
 
 
  
 
This section contains the data for Menu commands.<br>
 
This section contains the data for Menu commands.<br>
Line 13: Line 11:
 
|style="background:rgb(255,255,255)" | 1 byte
 
|style="background:rgb(255,255,255)" | 1 byte
 
|style="background:rgb(255,255,255)" | Initial Cursor Action*
 
|style="background:rgb(255,255,255)" | Initial Cursor Action*
|style="background:rgb(255,255,255)" | &nbsp;
 
 
|-
 
|-
 
|style="background:rgb(255,255,255)" align="center" | 0x01
 
|style="background:rgb(255,255,255)" align="center" | 0x01
 
|style="background:rgb(255,255,255)" | 1 byte
 
|style="background:rgb(255,255,255)" | 1 byte
 
|style="background:rgb(255,255,255)" | Force Targeting**
 
|style="background:rgb(255,255,255)" | Force Targeting**
|style="background:rgb(255,255,255)" | &nbsp;
 
 
|-
 
|-
 
|style="background:rgb(255,255,255)" align="center" | 0x02
 
|style="background:rgb(255,255,255)" align="center" | 0x02
 
|style="background:rgb(255,255,255)" | 2 bytes
 
|style="background:rgb(255,255,255)" | 2 bytes
 
|style="background:rgb(255,255,255)" | Unknown (Always [FFh])
 
|style="background:rgb(255,255,255)" | Unknown (Always [FFh])
|style="background:rgb(255,255,255)" | &nbsp;
 
 
|-
 
|-
 
|style="background:rgb(255,255,255)" align="center" | 0x04
 
|style="background:rgb(255,255,255)" align="center" | 0x04
 
|style="background:rgb(255,255,255)" | 2 bytes
 
|style="background:rgb(255,255,255)" | 2 bytes
|style="background:rgb(255,255,255)" | Single Target Camera
+
|style="background:rgb(255,255,255)" | Single Target Camera Movement Index
|style="background:rgb(255,255,255)" | &nbsp;
 
 
|-
 
|-
|style="background:rgb(255,255,255)" align="center" | 0x04
+
|style="background:rgb(255,255,255)" align="center" | 0x06
 
|style="background:rgb(255,255,255)" | 2 bytes
 
|style="background:rgb(255,255,255)" | 2 bytes
|style="background:rgb(255,255,255)" | Multiple Targets Camera
+
|style="background:rgb(255,255,255)" | Multiple Targets Camera Movement Index
|style="background:rgb(255,255,255)" | &nbsp;
 
 
|}
 
|}
 
<nowiki>*Initial Cursor Action:</nowiki>
 
<nowiki>*Initial Cursor Action:</nowiki>

Revision as of 01:40, 6 November 2008

KERNEL.BIN - Section 1: Command data format

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 Movement Index
0x06 2 bytes Multiple Targets Camera Movement Index

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