Difference between revisions of "FF7/Command data"

From Final Fantasy Inside
< FF7
Jump to navigation Jump to search
my_wiki>Akari
(KERNEL.BIN - Section 1: Command data format)
m (18 revisions imported)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== KERNEL.BIN - Section 1: Command data format ==
+
== KERNEL.BIN - Section 1: Command data format ==
  
This section contains the data for Menu commands.<br/>
+
This section contains the data for Menu commands.<br />
  
 
There are 32 entries of 8 bytes in the following format:
 
There are 32 entries of 8 bytes in the following format:
{| border="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0)" align="center"  
+
 
! style="background:rgb(204,204,204); width:50px;" align="center" | Offset
+
{| class="wikitable"
! style="background:rgb(204,204,204); width:50px;" | Length
+
! style="background: rgb(204,204,204); width: 50px" align="center" | Offset
! style="background:rgb(204,204,204); width:275px;" colspan="2" | Description
+
! style="background: rgb(204,204,204); width: 50px" | Length
 +
! style="background: rgb(204,204,204); width: 275px" colspan="2" | Description
 
|-
 
|-
|style="background:rgb(255,255,255)" align="center" | 0x00
+
| style="background: rgb(255,255,255)" align="center" | 0x00
|style="background:rgb(255,255,255)" | 1 byte
+
| 1 byte
|style="background:rgb(255,255,255)" | Initial Cursor Action*
+
| Initial Cursor Action*
 
|-
 
|-
|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
+
| 1 byte
|style="background:rgb(255,255,255)" |[[FF7/Battle/Targeting Data|Target Flags]]
+
|
 +
[[FF7/Battle/Targeting_Data|Target Flags]]
 
|-
 
|-
|style="background:rgb(255,255,204);" align="center" | 0x02
+
| style="background: rgb(255,255,204)" align="center" | 0x02
|style="background:rgb(255,255,204);" | 2 bytes
+
| style="background: rgb(255,255,204)" | 2 bytes
|style="background:rgb(255,255,204);" | Unknown (Always [FFFFh])
+
| style="background: rgb(255,255,204)" | Unknown (Always [FFFFh])
 
|-
 
|-
|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
+
| 2 bytes
|style="background:rgb(255,255,255)" | Single Target Camera Movement Index
+
|
 +
[[FF7/Battle/Camera_Movement_Id_List|Camera Movement Id]] for single target.
 
|-
 
|-
|style="background:rgb(255,255,255)" align="center" | 0x06
+
| style="background: rgb(255,255,255)" align="center" | 0x06
|style="background:rgb(255,255,255)" | 2 bytes
+
| 2 bytes
|style="background:rgb(255,255,255)" | Multiple Targets Camera Movement Index
+
|
 +
[[FF7/Battle/Camera_Movement_Id_List|Camera Movement Id]] for multiple targets.
 
|}
 
|}
<br/>
 
<nowiki>*</nowiki>Initial Cursor Action:
 
The different values will tell it what to do or what menu to bring up:
 
  
{| border="0" cellpadding="3" cellspacing="1" style="background: rgb(0,0,0)" align="center"  
+
<br /> *Initial Cursor Action: The different values will tell it what to do or what menu to bring up:
|-
+
 
!style="background:rgb(204,204,204);" align="center" |Value
+
{| class="wikitable"
!style="background:rgb(204,204,204);" align="center" |Effect
+
! Value
 +
! Effect
 
|-
 
|-
|style="background:rgb(255,255,255)" | 00h  
+
| 00h
|style="background:rgb(255,255,255)" | Perform command using target data
+
| Perform command using target data
 
|-
 
|-
|style="background:rgb(255,255,255)" | 01h
+
| 01h
|style="background:rgb(255,255,255)" | Magic Menu
+
| Magic Menu
 
|-
 
|-
|style="background:rgb(255,255,255)" | 02h
+
| 02h
|style="background:rgb(255,255,255)" | Summon Menu
+
| Summon Menu
 
|-
 
|-
|style="background:rgb(255,255,255)" | 03h
+
| 03h
|style="background:rgb(255,255,255)" | Item Menu
+
| Item Menu
 
|-
 
|-
|style="background:rgb(255,255,255)" | 04h
+
| 04h
|style="background:rgb(255,255,255)" | E.Skill Menu
+
| E.Skill Menu
 
|-
 
|-
|style="background:rgb(255,255,255)" | 05h
+
| 05h
|style="background:rgb(255,255,255)" | Throw Menu
+
| Throw Menu
 
|-
 
|-
|style="background:rgb(255,255,255)" | 06h
+
| 06h
|style="background:rgb(255,255,255)" | Limit Menu
+
| Limit Menu
 
|-
 
|-
|style="background:rgb(255,255,255)" | 07h
+
| 07h
|style="background:rgb(255,255,255)" | Enable Target Selection via Cursor
+
| Enable Target Selection via Cursor
 
|-
 
|-
|style="background:rgb(255,255,255)" | 08h
+
| 08h
|style="background:rgb(255,255,255)" | W-Magic Menu
+
| W-Magic Menu
 
|-
 
|-
|style="background:rgb(255,255,255)" | 09h
+
| 09h
|style="background:rgb(255,255,255)" | W-Summon Menu
+
| W-Summon Menu
 
|-
 
|-
|style="background:rgb(255,255,255)" | 0Ah
+
| 0Ah
|style="background:rgb(255,255,255)" | W-Item Menu
+
| W-Item Menu
 
|-
 
|-
|style="background:rgb(255,255,255)" | 0Bh
+
| 0Bh
|style="background:rgb(255,255,255)" | Coin Menu
+
| Coin Menu
 
|}
 
|}
The commands themselves are hard-coded into the Battle Engine and their actions cannot be changed via editing the KERNEL.BIN<br/>
+
 
Example of what this means: If the summon command was changed to bring up the magic menu and Cure was selected, the battle engine would perform Choco/Mog summon instead. Why? Because The Battle Engine is expecting summon data from command 03h. While the target was considered based on the targeting information of Cure, which has the same magic index as Choco/Mog has summon index, the attack the Battle Engine selected to perform was Summon attack 00h which is Choco/Mog.
+
The commands themselves are hard-coded into the Battle Engine and their actions cannot be changed via editing the KERNEL.BIN<br /> Example of what this means: If the summon command was changed to bring up the magic menu and Cure was selected, the battle engine would perform Choco/Mog summon instead. Why? Because The Battle Engine is expecting summon data from command 03h. While the target was considered based on the targeting information of Cure, which has the same magic index as Choco/Mog has summon index, the attack the Battle Engine selected to perform was Summon attack 00h which is Choco/Mog.

Latest revision as of 05:11, 23 May 2019

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

Target Flags

0x02 2 bytes Unknown (Always [FFFFh])
0x04 2 bytes

Camera Movement Id for single target.

0x06 2 bytes

Camera Movement Id for multiple targets.


*Initial Cursor Action: The different values will tell it what to do or what menu to bring up:

Value Effect
00h Perform command using target data
01h Magic Menu
02h Summon Menu
03h Item Menu
04h E.Skill Menu
05h Throw Menu
06h Limit Menu
07h Enable Target Selection via Cursor
08h W-Magic Menu
09h W-Summon Menu
0Ah W-Item Menu
0Bh Coin Menu

The commands themselves are hard-coded into the Battle Engine and their actions cannot be changed via editing the KERNEL.BIN
Example of what this means: If the summon command was changed to bring up the magic menu and Cure was selected, the battle engine would perform Choco/Mog summon instead. Why? Because The Battle Engine is expecting summon data from command 03h. While the target was considered based on the targeting information of Cure, which has the same magic index as Choco/Mog has summon index, the attack the Battle Engine selected to perform was Summon attack 00h which is Choco/Mog.