Difference between revisions of "Object Tables"

From BindingForce Wiki
Jump to navigation Jump to search
 
(4 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
![[ROM Addressing|ROM Offset]]
 
![[ROM Addressing|ROM Offset]]
 
![[ROM Addressing|Offset]]
 
![[ROM Addressing|Offset]]
!Details
 
 
|-
 
|-
|1
+
|rowspan="2" | 1
|[[Western Hyrule|Western]]  
+
|rowspan="2" | [[Western Hyrule]]  
 
|Hit Points
 
|Hit Points
 
|0x5430
 
|0x5430
 
|0x1420
 
|0x1420
 
|-
 
|-
|2
+
|[[#Enemy Details]]
|[[Eastern Hyrule|Eastern]]  
+
|0x54E4
 +
|0x14D4
 +
|-
 +
|rowspan="2" | 2
 +
|rowspan="2" | [[Eastern Hyrule]]  
 
|Hit Points
 
|Hit Points
 
|0x9431
 
|0x9431
 
|0x1420
 
|0x1420
 
|-
 
|-
|3
+
|[[#Enemy Details]]
|[[Towns]]  
+
|0x94E4
 +
|0x14D4
 +
|-
 +
|rowspan="2" | 3
 +
|rowspan="2" | [[Towns]]  
 
|Hit Points
 
|Hit Points
 
|0xD420
 
|0xD420
 
|0x1420
 
|0x1420
 
|-
 
|-
|4
+
|[[#Enemy Details]]
|[[Palace Group A|Palaces 1,2,5]]  
+
|0xD4E4
 +
|0x14D4
 +
|-
 +
|rowspan="2" | 4
 +
|rowspan="2" | [[Palace Group A|Palaces 1,2,5]]  
 
|Hit Points
 
|Hit Points
 
|0x11431
 
|0x11431
 
|0x1420
 
|0x1420
 
|-
 
|-
|4
+
|[[#Enemy Details]]
|[[Palace Group B|Palaces 3,4,6]]  
+
|0x114E4
 +
|0x14D4
 +
|-
 +
|rowspan="2" | 4
 +
|rowspan="2" | [[Palace Group B|Palaces 3,4,6]]  
 
|Hit Points
 
|Hit Points
 
|0x12431
 
|0x12431
 
|0x2420
 
|0x2420
 
|-
 
|-
|5
+
|[[#Enemy Details]]
|[[Great Palace]]  
+
|0x124E4
 +
|0x24D4
 +
|-
 +
|rowspan="2" | 5
 +
|rowspan="2" | [[Great Palace]]  
 
|Hit Points
 
|Hit Points
 
|0x15431
 
|0x15431
 
|0x1420
 
|0x1420
 +
|-
 +
|[[#Enemy Details]]
 +
|0x154E4
 +
|0x14D4
 +
|}
 +
 +
More details on tables can be found at [https://datacrystal.romhacking.net/wiki/Zelda_II:_The_Adventure_of_Link:Enemy_Data Data Crystal]
 +
 +
=Enemy Details=
 +
 +
Each entry is a 1 byte bitfield with the following layout (from [https://datacrystal.romhacking.net/wiki/Zelda_II:_The_Adventure_of_Link:Enemy_Data#Enemy_Bits Data Crystal]):
 +
 +
{| class="wikitable"
 +
|+ Bits
 +
!0
 +
!1
 +
!2
 +
!3
 +
!4
 +
!5
 +
!6
 +
!7
 +
|-
 +
|colspan="2"|[[#Palette Tables|Palette]]
 +
|Sword Immune
 +
|XP Stealer
 +
|colspan="4"|[[#XP Table|XP Index]]
 +
|}
 +
 +
==Palette Tables==
 +
 +
(TODO: Where are these palette tables?):
 +
 +
{| class="wikitable"
 +
!Index
 +
!Palette
 +
|-
 +
|0 || Link's Palette
 +
|-
 +
|1 || Orange Palette
 +
|-
 +
|2 || Red Palette
 +
|-
 +
|3 || Blue Palette
 +
|}
 +
 +
==XP Table==
 +
 +
(TODO: Where is XP table?):
 +
 +
{| class="wikitable"
 +
!Index
 +
!XP
 +
|-
 +
|0x0 || 0
 +
|-
 +
|0x1 || 1
 +
|-
 +
|0x2 || 3
 +
|-
 +
|0x3 || 5
 +
|-
 +
|0x4 || 10
 +
|-
 +
|0x5 || 20
 +
|-
 +
|0x6 || 30
 +
|-
 +
|0x7 || 50
 +
|-
 +
|0x8 || 70
 +
|-
 +
|0x9 || 100
 +
|-
 +
|0xA || 150
 +
|-
 +
|0xB || 200
 +
|-
 +
|0xC || 300
 +
|-
 +
|0xD || 500
 +
|-
 +
|0xE || 700
 +
|-
 +
|0xF || 1000
 
|}
 
|}

Latest revision as of 06:50, 15 April 2021

Information about in-game objects (Enemies, Collectables, Other Objects) is stored in tables in the game's ROM. These tables are indexed by an object ID that can be found in the pages above. The most relevant tables are:

Bank Game Area Table ROM Offset Offset
1 Western Hyrule Hit Points 0x5430 0x1420
#Enemy Details 0x54E4 0x14D4
2 Eastern Hyrule Hit Points 0x9431 0x1420
#Enemy Details 0x94E4 0x14D4
3 Towns Hit Points 0xD420 0x1420
#Enemy Details 0xD4E4 0x14D4
4 Palaces 1,2,5 Hit Points 0x11431 0x1420
#Enemy Details 0x114E4 0x14D4
4 Palaces 3,4,6 Hit Points 0x12431 0x2420
#Enemy Details 0x124E4 0x24D4
5 Great Palace Hit Points 0x15431 0x1420
#Enemy Details 0x154E4 0x14D4

More details on tables can be found at Data Crystal

Enemy Details

Each entry is a 1 byte bitfield with the following layout (from Data Crystal):

Bits
0 1 2 3 4 5 6 7
Palette Sword Immune XP Stealer XP Index

Palette Tables

(TODO: Where are these palette tables?):

Index Palette
0 Link's Palette
1 Orange Palette
2 Red Palette
3 Blue Palette

XP Table

(TODO: Where is XP table?):

Index XP
0x0 0
0x1 1
0x2 3
0x3 5
0x4 10
0x5 20
0x6 30
0x7 50
0x8 70
0x9 100
0xA 150
0xB 200
0xC 300
0xD 500
0xE 700
0xF 1000