Improve array syntax

Syntax and formatting changes throughout the entire repo. I tried to standardize how arrays of data are generated and accessed in the code, opting to use ca65's scoping capability when appropriate. I also wanted to prepare the asset management code to be used in the FF5 repo.
This commit is contained in:
everything8215 2024-08-07 23:15:24 -04:00
parent d9a71016e1
commit 3be27b40e5
211 changed files with 5599 additions and 5032 deletions

View File

@ -101,7 +101,7 @@ MyScope::SIZE = 17
MyScope::Buffer::Size = 14
```
#### `ram_array <label>, <num_items>, <item_size>, [num_blocks]`, `end_ram_array`, `end_ram_block`
#### `ram_array <label>, <array_length>, <item_size>, [num_blocks]`, `end_ram_array`, `end_ram_block`
A `ram_array` has all the same properties as a `ram_scope`, but in addition
it creates multiple copies of the variables declared inside it as determined
@ -124,7 +124,7 @@ will generate the following values
```text
MyArray = $c811
MyArray::SIZE = 8
MyArray::NUM_ITEMS = 4
MyArray::ARRAY_LENGTH = 4
MyArray::ITEM_SIZE = 2
MyArray::Member1 = $c811
MyArray::Member2 = $c812
@ -178,7 +178,7 @@ will generate the following values:
```text
BlockArray = $c819
BlockArray::SIZE = 512
BlockArray::NUM_ITEMS = 16
BlockArray::ARRAY_LENGTH = 16
BlockArray::ITEM_SIZE = 32
BlockArray::BLOCK_SIZE = 16
BlockArray::NUM_BLOCKS = 2

View File

@ -4,6 +4,8 @@ ATTACK_ANIM_FRAMES_INC = 1
.global AttackAnimFrames, AttackAnimFramesPtrs
.scope AttackAnimFrames
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ ATTACK_ANIM_FRAMES_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ ATTACK_ANIM_FRAMES_INC = 1
.global AttackAnimFrames, AttackAnimFramesPtrs
.scope AttackAnimFrames
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ ATTACK_ANIM_FRAMES_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ ATTACK_ANIM_SCRIPT_INC = 1
.global AttackAnimScript, AttackAnimScriptPtrs
.scope AttackAnimScript
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ ATTACK_ANIM_SCRIPT_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ ATTACK_ANIM_SCRIPT_INC = 1
.global AttackAnimScript, AttackAnimScriptPtrs
.scope AttackAnimScript
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ ATTACK_ANIM_SCRIPT_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,11 +4,10 @@
.global AttackPal
; ##############################################################################
.define ATTACK_PAL_ARRAY_LENGTH 240
; ##############################################################################
.scope AttackPal
ARRAY_LENGTH = 240
ITEM_SIZE = 16
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ BATTLE_EVENT_SCRIPT_INC = 1
.global BattleEventScript, BattleEventScriptPtrs
.scope BattleEventScript
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ BATTLE_EVENT_SCRIPT_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,24 +4,28 @@ BLITZ_CODE_INC = 1
.global BlitzCode
BLITZ_CODE_ARRAY_LENGTH = 8
BLITZ_CODE_SIZE = 12
.enum BLITZ_CODE
NONE = 0
A_BUTTON = 1
B_BUTTON = 2
X_BUTTON = 3
Y_BUTTON = 4
L_BUTTON = 5
R_BUTTON = 6
DOWN_LEFT = 7
DOWN = 8
DOWN_RIGHT = 9
RIGHT = 10
UP_RIGHT = 11
UP = 12
UP_LEFT = 13
LEFT = 14
.endenum
BLITZ_CODE_NONE = 0
BLITZ_CODE_A_BUTTON = 1
BLITZ_CODE_B_BUTTON = 2
BLITZ_CODE_X_BUTTON = 3
BLITZ_CODE_Y_BUTTON = 4
BLITZ_CODE_L_BUTTON = 5
BLITZ_CODE_R_BUTTON = 6
BLITZ_CODE_DOWN_LEFT = 7
BLITZ_CODE_DOWN = 8
BLITZ_CODE_DOWN_RIGHT = 9
BLITZ_CODE_RIGHT = 10
BLITZ_CODE_UP_RIGHT = 11
BLITZ_CODE_UP = 12
BLITZ_CODE_UP_LEFT = 13
BLITZ_CODE_LEFT = 14
.scope BlitzCode
ARRAY_LENGTH = 8
ITEM_SIZE = 12
.endscope
.endif
.list on

View File

@ -15,32 +15,36 @@ CHAR_AI_FLAG_ENEMY_CHAR = $40
; ------------------------------------------------------------------------------
CHAR_AI_NONE = $00 ; 0
CHAR_AI_SHADOW_COLOSSEUM = $01 ; 1
CHAR_AI_TERRA_FLASHBACK = $02 ; 2
CHAR_AI_VARGAS = $03 ; 3
CHAR_AI_KEFKA_IMP_CAMP_1 = $04 ; 4
CHAR_AI_CYAN_IMP_CAMP_1 = $05 ; 5
CHAR_AI_CYAN_IMP_CAMP_2 = $06 ; 6
CHAR_AI_PIRANHA = $07 ; 7
CHAR_AI_UNUSED_08 = $08 ; 8
CHAR_AI_UNUSED_09 = $09 ; 9
CHAR_AI_GAU_VELDT = $0a ; 10
CHAR_AI_UNUSED_0B = $0b ; 11
CHAR_AI_SEALED_GATE_1 = $0c ; 12
CHAR_AI_SEALED_GATE_2 = $0d ; 13
CHAR_AI_BLACKJACK_ESPERS = $0e ; 14
CHAR_AI_ULTROS_RELM = $0f ; 15
CHAR_AI_ESPERS = $10 ; 16
CHAR_AI_BLITZ_TUTORIAL = $11 ; 17
CHAR_AI_KEFKA_ESPER = $12 ; 18
CHAR_AI_KEFKA_GESTAHL = $13 ; 19
CHAR_AI_KEFKA_LEO = $14 ; 20
CHAR_AI_UNUSED_15 = $15 ; 21
CHAR_AI_UNUSED_16 = $16 ; 22
CHAR_AI_UNUSED_17 = $17 ; 23
.enum CHAR_AI
NONE = $00 ; 0
SHADOW_COLOSSEUM = $01 ; 1
TERRA_FLASHBACK = $02 ; 2
VARGAS = $03 ; 3
KEFKA_IMP_CAMP_1 = $04 ; 4
CYAN_IMP_CAMP_1 = $05 ; 5
CYAN_IMP_CAMP_2 = $06 ; 6
PIRANHA = $07 ; 7
UNUSED_08 = $08 ; 8
UNUSED_09 = $09 ; 9
GAU_VELDT = $0a ; 10
UNUSED_0B = $0b ; 11
SEALED_GATE_1 = $0c ; 12
SEALED_GATE_2 = $0d ; 13
BLACKJACK_ESPERS = $0e ; 14
ULTROS_RELM = $0f ; 15
ESPERS = $10 ; 16
BLITZ_TUTORIAL = $11 ; 17
KEFKA_ESPER = $12 ; 18
KEFKA_GESTAHL = $13 ; 19
KEFKA_LEO = $14 ; 20
UNUSED_15 = $15 ; 21
UNUSED_16 = $16 ; 22
UNUSED_17 = $17 ; 23
.endenum
CHAR_AI_ARRAY_LENGTH = $18
.scope CharAI
ARRAY_LENGTH = CHAR_AI::UNUSED_17 + 1
.endscope
; ------------------------------------------------------------------------------

View File

@ -531,7 +531,7 @@ MAX_EXPERIENCE = 15000000
REVERT ;= $04 ; 4
STEAL ;= $05 ; 5
CAPTURE ;= $06 ; 6
SWDTECH ;= $07 ; 7
BUSHIDO ;= $07 ; 7
THROW ;= $08 ; 8
TOOLS ;= $09 ; 9
BLITZ ;= $0a ; 10

View File

@ -0,0 +1,22 @@
.ifndef EVENT_TRIGGER_INC
EVENT_TRIGGER_INC = 1
; ------------------------------------------------------------------------------
.global EventTriggerPtrs
; ------------------------------------------------------------------------------
.scope EventTrigger
ARRAY_LENGTH = $01a0
ITEM_SIZE = 5
Start := EventTriggerPtrs
Pos := Start
PosX := Start
PosY := Start + 1
EventPtr := Start + 2
.endscope
; ------------------------------------------------------------------------------
.endif

106
include/event/npc_prop.inc Normal file
View File

@ -0,0 +1,106 @@
.ifndef NPC_PROP_INC
NPC_PROP_INC = 1
; ------------------------------------------------------------------------------
.global NPCPropPtrs
; ------------------------------------------------------------------------------
.enum NPC_SCROLL
BG1 = 0
BG2 = 1 << 5
MASK = 1 << 5
.endenum
.enum NPC_MOVEMENT
NONE
SCRIPT
PLAYER
RANDOM
ACTIVE
MASK = %1111
.endenum
.enum NPC_SPRITE_PRIORITY
NORMAL = 0
HIGH = 1 << 4
LOW = 2 << 4
MASK = %11 << 4
.endenum
.enum NPC_LAYER_PRIORITY
DEFAULT = 0
TOP_SPRITE_ONLY = 1 << 3
FOREGROUND = 2 << 3
BACKGROUND = 3 << 3
MASK = %11 << 3
.endenum
.enum NPC_REACT
FACE_PLAYER = 0
NONE = 1 << 2
MASK = %1 << 2
.endenum
.enum NPC_ANIM_TYPE
ONE_FRAME
H_FLIP
TWO_FRAMES
FOUR_FRAMES
MASK = %11
.endenum
.enum NPC_ANIM_FRAME
DEFAULT = 0
NONE = 1 << 5
SPECIAL = 2 << 5
KNOCKED_OUT = 3 << 5
MASK = %111 << 5
.endenum
.enum NPC_ANIM_SPEED
FASTEST = 0
FAST = 1 << 6
MEDIUM = 2 << 6
SLOW = 3 << 6
MASK = %11 << 6
.endenum
.enum NPC_MASTER_OFFSET_DIR
RIGHT
DOWN
.endenum
; ------------------------------------------------------------------------------
.scope NPCProp
ARRAY_LENGTH = $01a0
ITEM_SIZE = 9
Start := NPCPropPtrs
EventPtr := Start
Pal := Start + 2
Scroll := Start + 2
Switch := Start + 2
PosX := Start + 4
SpecialNPC := Start + 4
PosY := Start + 5
Speed := Start + 5
Gfx := Start + 6
Movement := Start + 7
SpritePriority := Start + 7
Vehicle := Start + 7
Dir := Start + 8
LayerPriority := Start + 8
React := Start + 8
; for animated npcs
AnimType := Start + 8
AnimFrame := Start + 8
.endscope
; ------------------------------------------------------------------------------
.endif

View File

@ -4,6 +4,21 @@ LONG_ENTRANCE_INC = 1
.global LongEntrance, LongEntrancePtrs
.scope LongEntrance
ITEM_SIZE = 7
Start := LongEntrancePtrs
SrcPos := Start
SrcX := Start
SrcY := Start + 1
Length := Start + 2
Map := Start + 3
Flags := Start + 4
DestPos := Start + 5
DestX := Start + 5
DestY := Start + 6
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +26,7 @@ LONG_ENTRANCE_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -5,51 +5,54 @@ MAP_TILE_PROP_INC = 1
.global MapTileProp, MapTilePropPtrs
.enum MAP_TILE_PROP
NONE ;= $00 ; 0
FIGARO_CASTLE ;= $01 ; 1
DOMA_CASTLE ;= $02 ; 2
VILLAGE_EXT_1 ;= $03 ; 3
TOWN_EXT ;= $04 ; 4
CASTLE_INT ;= $05 ; 5
CAVES ;= $06 ; 6
TOWN_INT ;= $07 ; 7
NARSHE_EXT ;= $08 ; 8
CAVES_FURNITURE ;= $09 ; 9
CASTLE_BASEMENT ;= $0a ; 10
VILLAGE_EXT_2 ;= $0b ; 11
MOUNTAINS_EXT ;= $0c ; 12
TRAIN_EXT ;= $0d ; 13
ZOZO ;= $0e ; 14
FLOATING_ISLAND ;= $0f ; 15
MOUNTAINS_INT ;= $10 ; 16
DOCKS ;= $11 ; 17
NARSHE_INTRO ;= $12 ; 18
TRAIN_INT ;= $13 ; 19
IMP_CAMP ;= $14 ; 20
IMP_CASTLE_EXT ;= $15 ; 21
AIRSHIP_EXT ;= $16 ; 22
AIRSHIP_INT ;= $17 ; 23
IMP_CASTLE_INT ;= $18 ; 24
SNOWFIELDS ;= $19 ; 25
FOREST ;= $1a ; 26
VECTOR ;= $1b ; 27
RIVER ;= $1c ; 28
OPERA_HOUSE ;= $1d ; 29
DESTROYED_TOWN ;= $1e ; 30
MAGITEK_FACTORY ;= $1f ; 31
DARILLS_TOMB ;= $20 ; 32
OPERA_LOBBY ;= $21 ; 33
BURNING_BUILDING ;= $22 ; 34
SEALED_GATE ;= $23 ; 35
MAGITEK_LAB_1 ;= $24 ; 36
MAGITEK_LAB_2 ;= $25 ; 37
BEACH ;= $26 ; 38
CYANS_DREAM ;= $27 ; 39
KEFKAS_TOWER_1 ;= $28 ; 40
KEFKAS_TOWER_2 ;= $29 ; 41
NONE ;= $00 ; 0
FIGARO_CASTLE ;= $01 ; 1
DOMA_CASTLE ;= $02 ; 2
VILLAGE_EXT_1 ;= $03 ; 3
TOWN_EXT ;= $04 ; 4
CASTLE_INT ;= $05 ; 5
CAVES ;= $06 ; 6
TOWN_INT ;= $07 ; 7
NARSHE_EXT ;= $08 ; 8
CAVES_FURNITURE ;= $09 ; 9
CASTLE_BASEMENT ;= $0a ; 10
VILLAGE_EXT_2 ;= $0b ; 11
MOUNTAINS_EXT ;= $0c ; 12
TRAIN_EXT ;= $0d ; 13
ZOZO ;= $0e ; 14
FLOATING_ISLAND ;= $0f ; 15
MOUNTAINS_INT ;= $10 ; 16
DOCKS ;= $11 ; 17
NARSHE_INTRO ;= $12 ; 18
TRAIN_INT ;= $13 ; 19
IMP_CAMP ;= $14 ; 20
IMP_CASTLE_EXT ;= $15 ; 21
AIRSHIP_EXT ;= $16 ; 22
AIRSHIP_INT ;= $17 ; 23
IMP_CASTLE_INT ;= $18 ; 24
SNOWFIELDS ;= $19 ; 25
FOREST ;= $1a ; 26
VECTOR ;= $1b ; 27
RIVER ;= $1c ; 28
OPERA_HOUSE ;= $1d ; 29
DESTROYED_TOWN ;= $1e ; 30
MAGITEK_FACTORY ;= $1f ; 31
DARILLS_TOMB ;= $20 ; 32
OPERA_LOBBY ;= $21 ; 33
BURNING_BUILDING ;= $22 ; 34
SEALED_GATE ;= $23 ; 35
MAGITEK_LAB_1 ;= $24 ; 36
MAGITEK_LAB_2 ;= $25 ; 37
BEACH ;= $26 ; 38
CYANS_DREAM ;= $27 ; 39
KEFKAS_TOWER_1 ;= $28 ; 40
KEFKAS_TOWER_2 ;= $29 ; 41
.endenum
MAP_TILE_PROP::ARRAY_LENGTH = $2a ; 42
.scope MapTileProp
ARRAY_LENGTH = MAP_TILE_PROP::KEFKAS_TOWER_2 + 1
Start := MapTileProp
.endscope
.endif
.list on

View File

@ -5,84 +5,87 @@ MAP_TILESET_INC = 1
.global MapTileset, MapTilesetPtrs
.enum MAP_TILESET
FIGARO_CASTLE ;= $00 ; 0
VILLAGE_EXT_1_BG1 ;= $01 ; 1
VILLAGE_EXT_1_BG2 ;= $02 ; 2
DOMA_CASTLE_BG1 ;= $03 ; 3
DOMA_CASTLE_BG2 ;= $04 ; 4
TOWN_EXT_BG1 ;= $05 ; 5
TOWN_EXT_BG2 ;= $06 ; 6
DOCKS_BG1 ;= $07 ; 7
DOCKS_BG2 ;= $08 ; 8
CAVES_BG1 ;= $09 ; 9
CASTLE_INT_BG1 ;= $0a ; 10
CASTLE_INT_BG2 ;= $0b ; 11
RIVER ;= $0c ; 12
IMP_CAMP_BG1 ;= $0d ; 13
IMP_CAMP_BG2 ;= $0e ; 14
MOUNTAINS_INT ;= $0f ; 15
TOWN_INT_BG1 ;= $10 ; 16
TOWN_INT_BG2 ;= $11 ; 17
MOUNTAINS_EXT_BG1 ;= $12 ; 18
NARSHE_EXT_BG1 ;= $13 ; 19
NARSHE_EXT_BG2 ;= $14 ; 20
DESTROYED_TOWN_BG1 ;= $15 ; 21
DESTROYED_TOWN_BG2 ;= $16 ; 22
SNOWFIELDS ;= $17 ; 23
TRAIN_EXT_BG1 ;= $18 ; 24
TRAIN_INT_BG1 ;= $19 ; 25
TRAIN_INT_BG2 ;= $1a ; 26
ZOZO_BG1 ;= $1b ; 27
ZOZO_BG2 ;= $1c ; 28
VECTOR_BG1 ;= $1d ; 29
VECTOR_BG2 ;= $1e ; 30
CASTLE_BASEMENT_BG1 ;= $1f ; 31
CASTLE_BASEMENT_BG2 ;= $20 ; 32
CAVES_FURNITURE ;= $21 ; 33
MAGITEK_LAB_1_BG1 ;= $22 ; 34
FLOATING_ISLAND_BG1 ;= $23 ; 35
FLOATING_ISLAND_BG2 ;= $24 ; 36
MOUNTAINS_PARALLAX ;= $25 ; 37
NARSHE_CAVES_BG2 ;= $26 ; 38
VILLAGE_EXT_2_BG1 ;= $27 ; 39
VILLAGE_EXT_2_BG2 ;= $28 ; 40
KEFKAS_TOWER_BG2 ;= $29 ; 41
WATERFALL_SKY_PARALLAX ;= $2a ; 42
KEFKAS_TOWER_BG1 ;= $2b ; 43
MOUNTAINS_EXT_BG2 ;= $2c ; 44
TRAIN_EXT_BG2 ;= $2d ; 45
CAVES_BG2 ;= $2e ; 46
MAGITEK_FACTORY_BG1 ;= $2f ; 47
MAGITEK_FACTORY_BG2 ;= $30 ; 48
NARSHE_CLIFFS_PARALLAX ;= $31 ; 49
AIRSHIP_EXT_BG1 ;= $32 ; 50
AIRSHIP_EXT_BG2 ;= $33 ; 51
AIRSHIP_INT ;= $34 ; 52
NARSHE_INTRO_BG1 ;= $35 ; 53
CYANS_DREAM ;= $36 ; 54
FOREST_BG1 ;= $37 ; 55
FOREST_BG2 ;= $38 ; 56
IMP_CASTLE_EXT_BG1 ;= $39 ; 57
IMP_CASTLE_EXT_1_BG2 ;= $3a ; 58
IMP_CASTLE_EXT_2_BG2 ;= $3b ; 59
BEACH ;= $3c ; 60
IMP_CASTLE_INT_BG1 ;= $3d ; 61
IMP_CASTLE_INT_BG2 ;= $3e ; 62
MAGITEK_LAB_2_BG1 ;= $3f ; 63
CAVES_LAVA_BG2 ;= $40 ; 64
SEALED_GATE_BG1 ;= $41 ; 65
SEALED_GATE_BG2 ;= $42 ; 66
MAGITEK_LAB_BG2 ;= $43 ; 67
KEFKAS_TOWER_PARALLAX ;= $44 ; 68
MAP_TILESET_69 ;= $45 ; 69
BURNING_BUILDING ;= $46 ; 70
OPERA_HOUSE_BG1 ;= $47 ; 71
OPERA_HOUSE_BG2 ;= $48 ; 72
DARILLS_TOMB_BG1 ;= $49 ; 73
DARILLS_TOMB_BG2 ;= $4a ; 74
FIGARO_CASTLE ;= $00 ; 0
VILLAGE_EXT_1_BG1 ;= $01 ; 1
VILLAGE_EXT_1_BG2 ;= $02 ; 2
DOMA_CASTLE_BG1 ;= $03 ; 3
DOMA_CASTLE_BG2 ;= $04 ; 4
TOWN_EXT_BG1 ;= $05 ; 5
TOWN_EXT_BG2 ;= $06 ; 6
DOCKS_BG1 ;= $07 ; 7
DOCKS_BG2 ;= $08 ; 8
CAVES_BG1 ;= $09 ; 9
CASTLE_INT_BG1 ;= $0a ; 10
CASTLE_INT_BG2 ;= $0b ; 11
RIVER ;= $0c ; 12
IMP_CAMP_BG1 ;= $0d ; 13
IMP_CAMP_BG2 ;= $0e ; 14
MOUNTAINS_INT ;= $0f ; 15
TOWN_INT_BG1 ;= $10 ; 16
TOWN_INT_BG2 ;= $11 ; 17
MOUNTAINS_EXT_BG1 ;= $12 ; 18
NARSHE_EXT_BG1 ;= $13 ; 19
NARSHE_EXT_BG2 ;= $14 ; 20
DESTROYED_TOWN_BG1 ;= $15 ; 21
DESTROYED_TOWN_BG2 ;= $16 ; 22
SNOWFIELDS ;= $17 ; 23
TRAIN_EXT_BG1 ;= $18 ; 24
TRAIN_INT_BG1 ;= $19 ; 25
TRAIN_INT_BG2 ;= $1a ; 26
ZOZO_BG1 ;= $1b ; 27
ZOZO_BG2 ;= $1c ; 28
VECTOR_BG1 ;= $1d ; 29
VECTOR_BG2 ;= $1e ; 30
CASTLE_BASEMENT_BG1 ;= $1f ; 31
CASTLE_BASEMENT_BG2 ;= $20 ; 32
CAVES_FURNITURE ;= $21 ; 33
MAGITEK_LAB_1_BG1 ;= $22 ; 34
FLOATING_ISLAND_BG1 ;= $23 ; 35
FLOATING_ISLAND_BG2 ;= $24 ; 36
MOUNTAINS_PARALLAX ;= $25 ; 37
NARSHE_CAVES_BG2 ;= $26 ; 38
VILLAGE_EXT_2_BG1 ;= $27 ; 39
VILLAGE_EXT_2_BG2 ;= $28 ; 40
KEFKAS_TOWER_BG2 ;= $29 ; 41
WATERFALL_SKY_PARALLAX ;= $2a ; 42
KEFKAS_TOWER_BG1 ;= $2b ; 43
MOUNTAINS_EXT_BG2 ;= $2c ; 44
TRAIN_EXT_BG2 ;= $2d ; 45
CAVES_BG2 ;= $2e ; 46
MAGITEK_FACTORY_BG1 ;= $2f ; 47
MAGITEK_FACTORY_BG2 ;= $30 ; 48
NARSHE_CLIFFS_PARALLAX ;= $31 ; 49
AIRSHIP_EXT_BG1 ;= $32 ; 50
AIRSHIP_EXT_BG2 ;= $33 ; 51
AIRSHIP_INT ;= $34 ; 52
NARSHE_INTRO_BG1 ;= $35 ; 53
CYANS_DREAM ;= $36 ; 54
FOREST_BG1 ;= $37 ; 55
FOREST_BG2 ;= $38 ; 56
IMP_CASTLE_EXT_BG1 ;= $39 ; 57
IMP_CASTLE_EXT_1_BG2 ;= $3a ; 58
IMP_CASTLE_EXT_2_BG2 ;= $3b ; 59
BEACH ;= $3c ; 60
IMP_CASTLE_INT_BG1 ;= $3d ; 61
IMP_CASTLE_INT_BG2 ;= $3e ; 62
MAGITEK_LAB_2_BG1 ;= $3f ; 63
CAVES_LAVA_BG2 ;= $40 ; 64
SEALED_GATE_BG1 ;= $41 ; 65
SEALED_GATE_BG2 ;= $42 ; 66
MAGITEK_LAB_BG2 ;= $43 ; 67
KEFKAS_TOWER_PARALLAX ;= $44 ; 68
MAP_TILESET_69 ;= $45 ; 69
BURNING_BUILDING ;= $46 ; 70
OPERA_HOUSE_BG1 ;= $47 ; 71
OPERA_HOUSE_BG2 ;= $48 ; 72
DARILLS_TOMB_BG1 ;= $49 ; 73
DARILLS_TOMB_BG2 ;= $4a ; 74
.endenum
MAP_TILESET::ARRAY_LENGTH = $4b ; 75
.scope MapTileset
ARRAY_LENGTH = MAP_TILESET::DARILLS_TOMB_BG2 + 1
Start := MapTileset
.endscope
.endif
.list on

View File

@ -52,7 +52,10 @@ OVERLAY_PROP_INC = 1
OVERLAY_44 ;= $2c ; 44 (unused)
.endenum
OVERLAY_PROP::ARRAY_LENGTH = $2d ; 45
.scope OverlayProp
ARRAY_LENGTH = OVERLAY_PROP::OVERLAY_44 + 1
Start = OverlayProp
.endscope
.endif
.list on

View File

@ -4,6 +4,20 @@ SHORT_ENTRANCE_INC = 1
.global ShortEntrance, ShortEntrancePtrs
.scope ShortEntrance
ITEM_SIZE = 6
Start := ShortEntrancePtrs
SrcPos := Start
SrcX := Start
SrcY := Start + 1
Map := Start + 2
Flags := Start + 3
DestPos := Start + 4
DestX := Start + 4
DestY := Start + 5
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +25,7 @@ SHORT_ENTRANCE_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -5,359 +5,362 @@ SUB_TILEMAP_INC = 1
.global SubTilemap, SubTilemapPtrs
.enum SUB_TILEMAP
NONE ;= $0000 ; 0
KOHLINGEN_EXT_BG1 ;= $0001 ; 1
KOHLINGEN_EXT_BG2 ;= $0002 ; 2
MOBLIZ_EXT_BG1 ;= $0003 ; 3
MOBLIZ_EXT_BG2 ;= $0004 ; 4
THAMASA_EXT_BG1 ;= $0005 ; 5
THAMASA_EXT_BG2 ;= $0006 ; 6
SOUTH_FIGARO_EXT_BG1 ;= $0007 ; 7
SOUTH_FIGARO_EXT_BG2 ;= $0008 ; 8
DOMA_CASTLE_EXT_BG1 ;= $0009 ; 9
DOMA_CASTLE_EXT_BG2 ;= $000a ; 10
FIGARO_CASTLE_EXT_BG1 ;= $000b ; 11
FIGARO_CASTLE_EXT_BG2 ;= $000c ; 12
ALBROOK_EXT_BG1 ;= $000d ; 13
ALBROOK_EXT_BG2 ;= $000e ; 14
ALBROOK_DOCKS_BG1 ;= $000f ; 15
ALBROOK_DOCKS_BG2 ;= $0010 ; 16
KOHLINGEN_INT_BG1 ;= $0011 ; 17
KOHLINGEN_INT_BG2 ;= $0012 ; 18
FIGARO_CASTLE_INT_BG1 ;= $0013 ; 19
FIGARO_CASTLE_INT_BG2 ;= $0014 ; 20
SABINS_HOUSE_EXT_BG1 ;= $0015 ; 21
SABINS_HOUSE_EXT_BG2 ;= $0016 ; 22
CAVE_TO_SOUTH_FIGARO_BG1 ;= $0017 ; 23
CAVE_TO_SOUTH_FIGARO_BG2 ;= $0018 ; 24
LETE_RIVER_EXT_BG1 ;= $0019 ; 25
LETE_RIVER_EXT_BG2 ;= $001a ; 26
LETE_RIVER_EXT_BG3 ;= $001b ; 27
IMP_CAMP_ON_FOOT_BG1 ;= $001c ; 28
IMP_CAMP_ON_FOOT_BG2 ;= $001d ; 29
VECTOR_CASTLE_INT_BG1 ;= $001e ; 30
VECTOR_CASTLE_INT_BG2 ;= $001f ; 31
SOUTH_FIGARO_INT_BG1 ;= $0020 ; 32
SOUTH_FIGARO_INT_BG2 ;= $0021 ; 33
NIKEAH_EXT_BG1 ;= $0022 ; 34
NIKEAH_EXT_BG2 ;= $0023 ; 35
RUIN_SCENE_1_BG1 ;= $0024 ; 36
RUIN_SCENE_1_BG2 ;= $0025 ; 37
CAVE_TO_SEALED_GATE_BG1 ;= $0026 ; 38
CAVE_TO_SEALED_GATE_BG2 ;= $0027 ; 39
UMAROS_CAVE_BG1 ;= $0028 ; 40
UMAROS_CAVE_BG2 ;= $0029 ; 41
MT_KOLTS_EXT_BG1 ;= $002a ; 42
MOUNTAINS_PARALLAX_BG2 ;= $002b ; 43
SUB_TILEMAP_44 ;= $002c ; 44
MT_KOLTS_INT_BG1 ;= $002d ; 45
MT_KOLTS_INT_BG2 ;= $002e ; 46
MT_KOLTS_INT_BG3 ;= $002f ; 47
SOLITARY_CLIFF_BG1 ;= $0030 ; 48
SOLITARY_CLIFF_BG2 ;= $0031 ; 49
ALBROOK_INT_BG1 ;= $0032 ; 50
ALBROOK_INT_BG2 ;= $0033 ; 51
NIKEAH_INT_BG1 ;= $0034 ; 52
NIKEAH_INT_BG2 ;= $0035 ; 53
NARSHE_SOUTH_EXT_BG1 ;= $0036 ; 54
NARSHE_SOUTH_EXT_BG2 ;= $0037 ; 55
MARANDA_EXT_BG1 ;= $0038 ; 56
MARANDA_EXT_BG2 ;= $0039 ; 57
PHOENIX_CAVE_UPSTAIRS_BG1 ;= $003a ; 58
PHOENIX_CAVE_UPSTAIRS_BG2 ;= $003b ; 59
SOUTH_FIGARO_DOCKS_BG1 ;= $003c ; 60
SOUTH_FIGARO_DOCKS_BG2 ;= $003d ; 61
NARSHE_HILLS_MAZE_BG1 ;= $003e ; 62
NARSHE_HILLS_MAZE_BG2 ;= $003f ; 63
PHANTOM_TRAIN_FRONT_CARS_BG1 ;= $0040 ; 64
PHANTOM_TRAIN_SEATING_BG1 ;= $0041 ; 65
PHANTOM_TRAIN_SEATING_BG2 ;= $0042 ; 66
PHANTOM_TRAIN_ENGINE_BG1 ;= $0043 ; 67
PHANTOM_TRAIN_ENGINE_BG2 ;= $0044 ; 68
SOUTH_FIGARO_BASEMENT_BG1 ;= $0045 ; 69
SOUTH_FIGARO_BASEMENT_BG2 ;= $0046 ; 70
PHANTOM_TRAIN_DINING_CAR_BG1 ;= $0047 ; 71
PHANTOM_TRAIN_DINING_CAR_BG2 ;= $0048 ; 72
PHANTOM_TRAIN_REAR_CARS_BG1 ;= $0049 ; 73
FANATICS_TOWER_BOTTOM_BG1 ;= $004a ; 74
PHANTOM_TRAIN_SWITCH_CAR_BG1 ;= $004b ; 75
PHANTOM_TRAIN_SWITCH_CAR_BG2 ;= $004c ; 76
FANATICS_TOWER_BOTTOM_BG2 ;= $004d ; 77
THAMASA_BURNING_BUILDING_BG1 ;= $004e ; 78
PHANTOM_TRAIN_HALLWAY_BG1 ;= $004f ; 79
PHANTOM_TRAIN_HALLWAY_BG2 ;= $0050 ; 80
PHANTOM_TRAIN_CABOOSE_BG1 ;= $0051 ; 81
PHANTOM_TRAIN_CABOOSE_BG2 ;= $0052 ; 82
ZOZO_EXT_BG1 ;= $0053 ; 83
ZOZO_EXT_BG2 ;= $0054 ; 84
VECTOR_EXT_BG1 ;= $0055 ; 85
VECTOR_EXT_BG2 ;= $0056 ; 86
FIGARO_CASTLE_BASEMENT_BG1 ;= $0057 ; 87
FIGARO_CASTLE_BASEMENT_BG2 ;= $0058 ; 88
RETURNERS_HIDEOUT_BG1 ;= $0059 ; 89
RETURNERS_HIDEOUT_BG2 ;= $005a ; 90
PHANTOM_TRAIN_ROOMS_BG1 ;= $005b ; 91
PHANTOM_TRAIN_ROOMS_BG2 ;= $005c ; 92
MOBLIZ_INT_BG1 ;= $005d ; 93
MOBLIZ_INT_BG2 ;= $005e ; 94
THAMASA_INT_BG1 ;= $005f ; 95
THAMASA_INT_BG2 ;= $0060 ; 96
ZOZO_EXT_BG3 ;= $0061 ; 97
BIG_FOG_PARALLAX_BG3 ;= $0062 ; 98
FLOATING_ISLAND_EXT_BG1 ;= $0063 ; 99
WORLD_PARALLAX_BG2 ;= $0064 ; 100
VECTOR_FIRE_BG1 ;= $0065 ; 101
VECTOR_FIRE_BG2 ;= $0066 ; 102
OPERA_THEATER_BG1 ;= $0067 ; 103
OPERA_THEATER_BG2 ;= $0068 ; 104
FIGARO_SUBMERGING_BG1 ;= $0069 ; 105
FIGARO_SUBMERGING_BG2 ;= $006a ; 106
NARSHE_CLIFFS_BG1 ;= $006b ; 107
NARSHE_PARALLAX_BG2 ;= $006c ; 108
NARSHE_MOUNTAINTOP_BG1 ;= $006d ; 109
CYANS_DREAM_CAVES_BG2 ;= $006e ; 110
NARSHE_INT_BG1 ;= $006f ; 111
NARSHE_INT_BG2 ;= $0070 ; 112
NARSHE_NORTH_EXT_BG1 ;= $0071 ; 113
NARSHE_NORTH_EXT_BG2 ;= $0072 ; 114
MAGITEK_FACTORY_OTHER_BG1 ;= $0073 ; 115
MAGITEK_FACTORY_OTHER_BG2 ;= $0074 ; 116
ZOZO_INT_BG1 ;= $0075 ; 117
ZOZO_INT_BG2 ;= $0076 ; 118
DOMA_CASTLE_INT_BG1 ;= $0077 ; 119
DOMA_CASTLE_INT_BG2 ;= $0078 ; 120
JIDOOR_EXT_BG1 ;= $0079 ; 121
JIDOOR_EXT_BG2 ;= $007a ; 122
JIDOOR_INT_BG1 ;= $007b ; 123
JIDOOR_INT_BG2 ;= $007c ; 124
NARSHE_NORTH_CAVES_BG1 ;= $007d ; 125
NARSHE_NORTH_CAVES_BG2 ;= $007e ; 126
CYANS_DREAM_CLIFFS_BG1 ;= $007f ; 127
CYANS_DREAM_CLIFFS_BG2 ;= $0080 ; 128
MOBLIZ_WOR_EXT_BG1 ;= $0081 ; 129
MOBLIZ_WOR_EXT_BG2 ;= $0082 ; 130
CYANS_DREAM_CAVES_BG3 ;= $0083 ; 131
CYANS_DREAM_TRAIN_CAR_3_BG1 ;= $0084 ; 132
VECTOR_TOWN_INT_BG1 ;= $0085 ; 133
VECTOR_TOWN_INT_BG2 ;= $0086 ; 134
IMPERIAL_BASE_EXT_BG1 ;= $0087 ; 135
IMPERIAL_BASE_EXT_BG2 ;= $0088 ; 136
ESPER_WORLD_EXT_BG1 ;= $0089 ; 137
ESPER_WORLD_EXT_BG2 ;= $008a ; 138
ESPER_MOUNTAIN_EXT_B_BG1 ;= $008b ; 139
VECTOR_TOWN_ON_FIRE_BG3 ;= $008c ; 140
MT_ZOZO_BRIDGE_BG1 ;= $008d ; 141
GOGOS_ROOM_BG1 ;= $008e ; 142
ESPER_MOUNTAIN_EXT_C_BG1 ;= $008f ; 143
CYANS_DREAM_CAVES_BG1 ;= $0090 ; 144
MT_ZOZO_CLIFF_2_BG1 ;= $0091 ; 145
GOGOS_ROOM_BG2 ;= $0092 ; 146
MT_KOLTS_VARGAS_AREA_BG1 ;= $0093 ; 147
MT_KOLTS_VARGAS_AREA_BG2 ;= $0094 ; 148
ESPER_MOUNTAIN_STATUES_BG1 ;= $0095 ; 149
ESPER_MOUNTAIN_STATUES_BG2 ;= $0096 ; 150
MT_ZOZO_CLIFF_1_BG1 ;= $0097 ; 151
MT_ZOZO_CLIFF_1_BG2 ;= $0098 ; 152
NARSHE_SOUTH_CAVES_BG1 ;= $0099 ; 153
NARSHE_SOUTH_CAVES_BG2 ;= $009a ; 154
PHANTOM_TRAIN_TORCHES_BG2 ;= $009b ; 155
PHANTOM_TRAIN_PLATFORM_BG2 ;= $009c ; 156
NARSHE_SOUTH_EXT_BG3 ;= $009d ; 157
NARSHE_NORTH_CAVES_BG3 ;= $009e ; 158
FIGARO_EMPTY_DESERT_BG1 ;= $009f ; 159
CAVE_TO_SOUTH_FIGARO_BG3 ;= $00a0 ; 160
MAGITEK_FACTORY_UPPER_BG1 ;= $00a1 ; 161
MAGITEK_FACTORY_UPPER_BG2 ;= $00a2 ; 162
CRESCENT_MOUNTAIN_EXT_BG1 ;= $00a3 ; 163
CRESCENT_MOUNTAIN_EXT_BG2 ;= $00a4 ; 164
CRESCENT_MOUNTAIN_EXT_BG3 ;= $00a5 ; 165
CRAZY_OLD_MANS_HOUSE_EXT_BG1 ;= $00a6 ; 166
CRAZY_OLD_MANS_HOUSE_EXT_BG2 ;= $00a7 ; 167
CRAZY_OLD_MANS_HOUSE_INT_BG1 ;= $00a8 ; 168
CRAZY_OLD_MANS_HOUSE_INT_BG2 ;= $00a9 ; 169
BAREN_FALLS_INT_BG1 ;= $00aa ; 170
BAREN_FALLS_INT_BG2 ;= $00ab ; 171
MOUNTAINTOP_BG1 ;= $00ac ; 172
WATERFALL_PARALLAX_BG2 ;= $00ad ; 173
BAREN_FALLS_INT_BG3 ;= $00ae ; 174
ESPER_WORLD_INT_BG1 ;= $00af ; 175
ESPER_WORLD_INT_BG2 ;= $00b0 ; 176
ESPER_WORLD_INT_BG3 ;= $00b1 ; 177
THAMASA_BURNING_BUILDING_BG2 ;= $00b2 ; 178
RIVERBANK_BG1 ;= $00b3 ; 179
RIVERBANK_BG2 ;= $00b4 ; 180
DARILLS_TOMB_ENTRANCE_BG1 ;= $00b5 ; 181
DARILLS_TOMB_ENTRANCE_BG2 ;= $00b6 ; 182
AIRSHIP_INT_BG1 ;= $00b7 ; 183
AIRSHIP_INT_BG2 ;= $00b8 ; 184
BLACKJACK_EXT_BG1 ;= $00b9 ; 185
CLOUDS_PARALLAX_BG2 ;= $00ba ; 186
FALCON_EXT_BG1 ;= $00bb ; 187
CYANS_DREAM_TRAIN_CAR_1_BG1 ;= $00bc ; 188
CYANS_DREAM_TRAIN_CAR_1_BG2 ;= $00bd ; 189
NARSHE_NORTH_EXT_BG3 ;= $00be ; 190
CYANS_DREAM_3_STOOGES_BG1 ;= $00bf ; 191
NIKEAH_DOCKS_BG1 ;= $00c0 ; 192
NIKEAH_DOCKS_BG2 ;= $00c1 ; 193
CRESCENT_MOUNTAIN_INT_BG1 ;= $00c2 ; 194
CRESCENT_MOUNTAIN_INT_BG2 ;= $00c3 ; 195
BAREN_FALLS_ENTRANCE_BG1 ;= $00c4 ; 196
BAREN_FALLS_ENTRANCE_BG2 ;= $00c5 ; 197
PHANTOM_FOREST_MAIN_AREA_BG1 ;= $00c6 ; 198
FOREST_PARALLAX_BG2 ;= $00c7 ; 199
FOREST_PARALLAX_BG3 ;= $00c8 ; 200
VECTOR_LOWER_CASTLE_EXT_BG1 ;= $00c9 ; 201
VECTOR_LOWER_CASTLE_EXT_BG2 ;= $00ca ; 202
VECTOR_UPPER_CASTLE_EXT_BG1 ;= $00cb ; 203
VECTOR_UPPER_CASTLE_EXT_BG2 ;= $00cc ; 204
SOLITARY_BEACH_BG1 ;= $00cd ; 205
SOLITARY_BEACH_BG2 ;= $00ce ; 206
SOLITARY_BEACH_BG3 ;= $00cf ; 207
SOLITARY_HOUSE_EXT_BG1 ;= $00d0 ; 208
SOLITARY_HOUSE_EXT_BG2 ;= $00d1 ; 209
MAGITEK_ESPER_ROOM_BG1 ;= $00d2 ; 210
MAGITEK_ESPER_ROOM_BG2 ;= $00d3 ; 211
PHANTOM_TRAIN_PARALLAX_BG2 ;= $00d4 ; 212
COLOSSEUM_GUY_EXT_BG1 ;= $00d5 ; 213
COLOSSEUM_GUY_EXT_BG2 ;= $00d6 ; 214
MAGITEK_FACTORY_LOWER_BG1 ;= $00d7 ; 215
MAGITEK_FACTORY_LOWER_BG2 ;= $00d8 ; 216
SEALED_GATE_BG1 ;= $00d9 ; 217
SEALED_GATE_BG2 ;= $00da ; 218
IMP_CAMP_MAGITEK_BG1 ;= $00db ; 219
IMP_CAMP_MAGITEK_BG2 ;= $00dc ; 220
KOHLINGEN_EXT_BG3 ;= $00dd ; 221
NARSHE_CLIFFS_BG3 ;= $00de ; 222
RETURNERS_HIDEOUT_BG3 ;= $00df ; 223
THAMASA_BURNING_BUILDING_BG3 ;= $00e0 ; 224
PHANTOM_FOREST_SPRING_BG1 ;= $00e1 ; 225
PHANTOM_FOREST_FORK_BG1 ;= $00e2 ; 226
PHANTOM_FOREST_PATH_BG1 ;= $00e3 ; 227
SERPENT_TRENCH_CAVES_BG1 ;= $00e4 ; 228
SERPENT_TRENCH_CAVES_BG2 ;= $00e5 ; 229
SERPENT_TRENCH_CAVES_BG3 ;= $00e6 ; 230
OPERA_STAGE_SKY_PARALLAX_BG2 ;= $00e7 ; 231
OPERA_STAGE_CASTLE_BG1 ;= $00e8 ; 232
TZEN_EXT_BG1 ;= $00e9 ; 233
TZEN_EXT_BG2 ;= $00ea ; 234
NARSHE_SOUTH_CAVES_BG3 ;= $00eb ; 235
COLOSSEUM_GUY_EXT_BG3 ;= $00ec ; 236
DARILLS_TOMB_BG1 ;= $00ed ; 237
DARILLS_TOMB_BG2 ;= $00ee ; 238
DARILLS_TOMB_BG3 ;= $00ef ; 239
ESPER_MOUNTAIN_INT_BG1 ;= $00f0 ; 240
ESPER_MOUNTAIN_INT_BG2 ;= $00f1 ; 241
ESPER_MOUNTAIN_INT_BG3 ;= $00f2 ; 242
GOGOS_CAVE_BG1 ;= $00f3 ; 243
GOGOS_CAVE_BG2 ;= $00f4 ; 244
SUB_TILEMAP_245 ;= $00f5 ; 245
ESPER_WORLD_EXT_BG3 ;= $00f6 ; 246
MAGITEK_TUBE_ROOM_BG3 ;= $00f7 ; 247
MAGITEK_ESPER_ROOM_BG3 ;= $00f8 ; 248
ESPER_WORLD_DOORS_BG1 ;= $00f9 ; 249
ESPER_WORLD_DOORS_BG3 ;= $00fa ; 250
FANATICS_TOWER_EXT_BG1 ;= $00fb ; 251
FANATICS_TOWER_EXT_BG2 ;= $00fc ; 252
FANATICS_TOWER_TOP_EXT_BG1 ;= $00fd ; 253
RUIN_SCENE_2_BG1 ;= $00fe ; 254
RUIN_SCENE_2_BG2 ;= $00ff ; 255
MAGITEK_ELEVATOR_BG1 ;= $0100 ; 256
MAGITEK_ELEVATOR_BG2 ;= $0101 ; 257
JIDOOR_ISLAND_SHADOW_BG3 ;= $0102 ; 258
EMPTY_BG1 ;= $0103 ; 259
MOBLIZ_EXT_BG3 ;= $0104 ; 260
CYANS_DREAM_TRAIN_CAR_3_BG2 ;= $0105 ; 261
MOBLIZ_WOR_EXT_BG3 ;= $0106 ; 262
MT_ZOZO_INT_BG1 ;= $0107 ; 263
MT_ZOZO_INT_BG2 ;= $0108 ; 264
MT_ZOZO_INT_BG3 ;= $0109 ; 265
ANCIENT_CASTLE_CAVE_BG1 ;= $010a ; 266
ANCIENT_CASTLE_CAVE_BG2 ;= $010b ; 267
ANCIENT_CASTLE_INT_BG1 ;= $010c ; 268
ANCIENT_CASTLE_INT_BG2 ;= $010d ; 269
ANCIENT_CASTLE_EXT_BG1 ;= $010e ; 270
ANCIENT_CASTLE_EXT_BG2 ;= $010f ; 271
FANATICS_TOWER_TOP_EXT_BG2 ;= $0110 ; 272
FANATICS_TOWER_INT_BG1 ;= $0111 ; 273
COLOSSEUM_BG1 ;= $0112 ; 274
COLOSSEUM_BG2 ;= $0113 ; 275
DARILLS_TOMB_STAIRWAY_BG1 ;= $0114 ; 276
GOGOS_ROOM_BG3 ;= $0115 ; 277
CAVE_IN_THE_VELDT_BG1 ;= $0116 ; 278
CAVE_IN_THE_VELDT_BG2 ;= $0117 ; 279
KEFKAS_TOWER_EXT_BG1 ;= $0118 ; 280
DARILLS_TOMB_STAIRWAY_BG2 ;= $0119 ; 281
KOHLINGEN_PHOENIX_BG3 ;= $011a ; 282
PHOENIX_CAVE_DOWNSTAIRS_BG1 ;= $011b ; 283
PHOENIX_CAVE_DOWNSTAIRS_BG2 ;= $011c ; 284
THAMASA_HOUSE_ON_FIRE_BG3 ;= $011d ; 285
FANATICS_TOWER_INT_BG2 ;= $011e ; 286
FANATICS_TOWER_TOP_INT_BG1 ;= $011f ; 287
FANATICS_TOWER_TOP_INT_BG2 ;= $0120 ; 288
EBOTS_ROCK_MAZE_BG1 ;= $0121 ; 289
EBOTS_ROCK_MAZE_BG2 ;= $0122 ; 290
EBOTS_ROCK_OTHER_BG1 ;= $0123 ; 291
EBOTS_ROCK_OTHER_BG2 ;= $0124 ; 292
CHOCOBO_STABLE_EXT_BG1 ;= $0125 ; 293
CHOCOBO_STABLE_EXT_BG2 ;= $0126 ; 294
PHOENIX_CAVE_UPSTAIRS_BG3 ;= $0127 ; 295
SMALL_FOG_PARALLAX_BG3 ;= $0128 ; 296
KEFKAS_TOWER_EXT_BG2 ;= $0129 ; 297
SUB_TILEMAP_298 ;= $012a ; 298
KEFKAS_TOWER_TOP_BG1 ;= $012b ; 299
KEFKAS_TOWER_WATERFALL_BG2 ;= $012c ; 300
SUB_TILEMAP_301 ;= $012d ; 301
SUB_TILEMAP_302 ;= $012e ; 302
KEFKAS_TOWER_SWITCHES_BG1 ;= $012f ; 303
KEFKAS_TOWER_SWITCHES_BG2 ;= $0130 ; 304
GOGOS_CAVE_BG3 ;= $0131 ; 305
LETE_RIVER_CAVES_BG1 ;= $0132 ; 306
LETE_RIVER_CAVES_BG2 ;= $0133 ; 307
LETE_RIVER_CAVES_BG3 ;= $0134 ; 308
KEFKAS_TOWER_CASTLE_BG3 ;= $0135 ; 309
KEFKAS_TOWER_MISC_ROOMS_BG1 ;= $0136 ; 310
FLOATING_ISLAND_INT_BG1 ;= $0137 ; 311
FLOATING_ISLAND_INT_BG2 ;= $0138 ; 312
FLOATING_ISLAND_INT_BG3 ;= $0139 ; 313
KEFKAS_TOWER_MISC_ROOMS_BG2 ;= $013a ; 314
KEFKAS_TOWER_CASTLE_BG1 ;= $013b ; 315
KEFKAS_TOWER_CASTLE_BG2 ;= $013c ; 316
SOUTH_FIGARO_EXT_BG3 ;= $013d ; 317
NIKEAH_EXT_BG3 ;= $013e ; 318
ALBROOK_EXT_BG3 ;= $013f ; 319
MARANDA_EXT_BG3 ;= $0140 ; 320
KEFKAS_TOWER_TOP_PARALLAX_BG2 ;= $0141 ; 321
KEFKAS_TOWER_FACTORY_BG3 ;= $0142 ; 322
MAGITEK_LAB_BROKEN_TUBES_BG3 ;= $0143 ; 323
MAP_333_BG3 ;= $0144 ; 324
KEFKAS_TOWER_TOP_BG2 ;= $0145 ; 325
CYANS_DREAM_3_STOOGES_BG2 ;= $0146 ; 326
ALBROOK_DOCKS_BG3 ;= $0147 ; 327
SOUTH_FIGARO_DOCKS_BG3 ;= $0148 ; 328
NIKEAH_DOCKS_BG3 ;= $0149 ; 329
WATERFALL_PARALLAX_BG3 ;= $014a ; 330
RIVERBANK_BG3 ;= $014b ; 331
KEFKAS_TOWER_TUBES_BG1 ;= $014c ; 332
KEFKAS_TOWER_TUBES_BG2 ;= $014d ; 333
KEFKAS_TOWER_FACTORY_BG1 ;= $014e ; 334
KEFKAS_TOWER_FACTORY_BG2 ;= $014f ; 335
ESPER_MOUNTAIN_STATUES_BG3 ;= $0150 ; 336
KEFKAS_TOWER_SWITCHES_BG3 ;= $0151 ; 337
MAGITEK_FACTORY_UPPER_BG3 ;= $0152 ; 338
MAGITEK_FACTORY_LOWER_BG3 ;= $0153 ; 339
KEFKAS_TOWER_ENDING_1_BG1 ;= $0154 ; 340
KEFKAS_TOWER_ENDING_1_BG2 ;= $0155 ; 341
KEFKAS_TOWER_AIRSHIP_BG1 ;= $0156 ; 342
KEFKAS_TOWER_AIRSHIP_BG2 ;= $0157 ; 343
KEFKAS_TOWER_ENDING_2_BG1 ;= $0158 ; 344
KEFKAS_TOWER_ENDING_2_BG2 ;= $0159 ; 345
KEFKAS_TOWER_AIRSHIP_BG3 ;= $015a ; 346
CAVE_IN_THE_VELDT_BG3 ;= $015b ; 347
UMAROS_CAVE_BG3 ;= $015c ; 348
SKY_PARALLAX_BG2 ;= $015d ; 349
NONE ;= $0000 ; 0
KOHLINGEN_EXT_BG1 ;= $0001 ; 1
KOHLINGEN_EXT_BG2 ;= $0002 ; 2
MOBLIZ_EXT_BG1 ;= $0003 ; 3
MOBLIZ_EXT_BG2 ;= $0004 ; 4
THAMASA_EXT_BG1 ;= $0005 ; 5
THAMASA_EXT_BG2 ;= $0006 ; 6
SOUTH_FIGARO_EXT_BG1 ;= $0007 ; 7
SOUTH_FIGARO_EXT_BG2 ;= $0008 ; 8
DOMA_CASTLE_EXT_BG1 ;= $0009 ; 9
DOMA_CASTLE_EXT_BG2 ;= $000a ; 10
FIGARO_CASTLE_EXT_BG1 ;= $000b ; 11
FIGARO_CASTLE_EXT_BG2 ;= $000c ; 12
ALBROOK_EXT_BG1 ;= $000d ; 13
ALBROOK_EXT_BG2 ;= $000e ; 14
ALBROOK_DOCKS_BG1 ;= $000f ; 15
ALBROOK_DOCKS_BG2 ;= $0010 ; 16
KOHLINGEN_INT_BG1 ;= $0011 ; 17
KOHLINGEN_INT_BG2 ;= $0012 ; 18
FIGARO_CASTLE_INT_BG1 ;= $0013 ; 19
FIGARO_CASTLE_INT_BG2 ;= $0014 ; 20
SABINS_HOUSE_EXT_BG1 ;= $0015 ; 21
SABINS_HOUSE_EXT_BG2 ;= $0016 ; 22
CAVE_TO_SOUTH_FIGARO_BG1 ;= $0017 ; 23
CAVE_TO_SOUTH_FIGARO_BG2 ;= $0018 ; 24
LETE_RIVER_EXT_BG1 ;= $0019 ; 25
LETE_RIVER_EXT_BG2 ;= $001a ; 26
LETE_RIVER_EXT_BG3 ;= $001b ; 27
IMP_CAMP_ON_FOOT_BG1 ;= $001c ; 28
IMP_CAMP_ON_FOOT_BG2 ;= $001d ; 29
VECTOR_CASTLE_INT_BG1 ;= $001e ; 30
VECTOR_CASTLE_INT_BG2 ;= $001f ; 31
SOUTH_FIGARO_INT_BG1 ;= $0020 ; 32
SOUTH_FIGARO_INT_BG2 ;= $0021 ; 33
NIKEAH_EXT_BG1 ;= $0022 ; 34
NIKEAH_EXT_BG2 ;= $0023 ; 35
RUIN_SCENE_1_BG1 ;= $0024 ; 36
RUIN_SCENE_1_BG2 ;= $0025 ; 37
CAVE_TO_SEALED_GATE_BG1 ;= $0026 ; 38
CAVE_TO_SEALED_GATE_BG2 ;= $0027 ; 39
UMAROS_CAVE_BG1 ;= $0028 ; 40
UMAROS_CAVE_BG2 ;= $0029 ; 41
MT_KOLTS_EXT_BG1 ;= $002a ; 42
MOUNTAINS_PARALLAX_BG2 ;= $002b ; 43
SUB_TILEMAP_44 ;= $002c ; 44
MT_KOLTS_INT_BG1 ;= $002d ; 45
MT_KOLTS_INT_BG2 ;= $002e ; 46
MT_KOLTS_INT_BG3 ;= $002f ; 47
SOLITARY_CLIFF_BG1 ;= $0030 ; 48
SOLITARY_CLIFF_BG2 ;= $0031 ; 49
ALBROOK_INT_BG1 ;= $0032 ; 50
ALBROOK_INT_BG2 ;= $0033 ; 51
NIKEAH_INT_BG1 ;= $0034 ; 52
NIKEAH_INT_BG2 ;= $0035 ; 53
NARSHE_SOUTH_EXT_BG1 ;= $0036 ; 54
NARSHE_SOUTH_EXT_BG2 ;= $0037 ; 55
MARANDA_EXT_BG1 ;= $0038 ; 56
MARANDA_EXT_BG2 ;= $0039 ; 57
PHOENIX_CAVE_UPSTAIRS_BG1 ;= $003a ; 58
PHOENIX_CAVE_UPSTAIRS_BG2 ;= $003b ; 59
SOUTH_FIGARO_DOCKS_BG1 ;= $003c ; 60
SOUTH_FIGARO_DOCKS_BG2 ;= $003d ; 61
NARSHE_HILLS_MAZE_BG1 ;= $003e ; 62
NARSHE_HILLS_MAZE_BG2 ;= $003f ; 63
PHANTOM_TRAIN_FRONT_CARS_BG1 ;= $0040 ; 64
PHANTOM_TRAIN_SEATING_BG1 ;= $0041 ; 65
PHANTOM_TRAIN_SEATING_BG2 ;= $0042 ; 66
PHANTOM_TRAIN_ENGINE_BG1 ;= $0043 ; 67
PHANTOM_TRAIN_ENGINE_BG2 ;= $0044 ; 68
SOUTH_FIGARO_BASEMENT_BG1 ;= $0045 ; 69
SOUTH_FIGARO_BASEMENT_BG2 ;= $0046 ; 70
PHANTOM_TRAIN_DINING_CAR_BG1 ;= $0047 ; 71
PHANTOM_TRAIN_DINING_CAR_BG2 ;= $0048 ; 72
PHANTOM_TRAIN_REAR_CARS_BG1 ;= $0049 ; 73
FANATICS_TOWER_BOTTOM_BG1 ;= $004a ; 74
PHANTOM_TRAIN_SWITCH_CAR_BG1 ;= $004b ; 75
PHANTOM_TRAIN_SWITCH_CAR_BG2 ;= $004c ; 76
FANATICS_TOWER_BOTTOM_BG2 ;= $004d ; 77
THAMASA_BURNING_BUILDING_BG1 ;= $004e ; 78
PHANTOM_TRAIN_HALLWAY_BG1 ;= $004f ; 79
PHANTOM_TRAIN_HALLWAY_BG2 ;= $0050 ; 80
PHANTOM_TRAIN_CABOOSE_BG1 ;= $0051 ; 81
PHANTOM_TRAIN_CABOOSE_BG2 ;= $0052 ; 82
ZOZO_EXT_BG1 ;= $0053 ; 83
ZOZO_EXT_BG2 ;= $0054 ; 84
VECTOR_EXT_BG1 ;= $0055 ; 85
VECTOR_EXT_BG2 ;= $0056 ; 86
FIGARO_CASTLE_BASEMENT_BG1 ;= $0057 ; 87
FIGARO_CASTLE_BASEMENT_BG2 ;= $0058 ; 88
RETURNERS_HIDEOUT_BG1 ;= $0059 ; 89
RETURNERS_HIDEOUT_BG2 ;= $005a ; 90
PHANTOM_TRAIN_ROOMS_BG1 ;= $005b ; 91
PHANTOM_TRAIN_ROOMS_BG2 ;= $005c ; 92
MOBLIZ_INT_BG1 ;= $005d ; 93
MOBLIZ_INT_BG2 ;= $005e ; 94
THAMASA_INT_BG1 ;= $005f ; 95
THAMASA_INT_BG2 ;= $0060 ; 96
ZOZO_EXT_BG3 ;= $0061 ; 97
BIG_FOG_PARALLAX_BG3 ;= $0062 ; 98
FLOATING_ISLAND_EXT_BG1 ;= $0063 ; 99
WORLD_PARALLAX_BG2 ;= $0064 ; 100
VECTOR_FIRE_BG1 ;= $0065 ; 101
VECTOR_FIRE_BG2 ;= $0066 ; 102
OPERA_THEATER_BG1 ;= $0067 ; 103
OPERA_THEATER_BG2 ;= $0068 ; 104
FIGARO_SUBMERGING_BG1 ;= $0069 ; 105
FIGARO_SUBMERGING_BG2 ;= $006a ; 106
NARSHE_CLIFFS_BG1 ;= $006b ; 107
NARSHE_PARALLAX_BG2 ;= $006c ; 108
NARSHE_MOUNTAINTOP_BG1 ;= $006d ; 109
CYANS_DREAM_CAVES_BG2 ;= $006e ; 110
NARSHE_INT_BG1 ;= $006f ; 111
NARSHE_INT_BG2 ;= $0070 ; 112
NARSHE_NORTH_EXT_BG1 ;= $0071 ; 113
NARSHE_NORTH_EXT_BG2 ;= $0072 ; 114
MAGITEK_FACTORY_OTHER_BG1 ;= $0073 ; 115
MAGITEK_FACTORY_OTHER_BG2 ;= $0074 ; 116
ZOZO_INT_BG1 ;= $0075 ; 117
ZOZO_INT_BG2 ;= $0076 ; 118
DOMA_CASTLE_INT_BG1 ;= $0077 ; 119
DOMA_CASTLE_INT_BG2 ;= $0078 ; 120
JIDOOR_EXT_BG1 ;= $0079 ; 121
JIDOOR_EXT_BG2 ;= $007a ; 122
JIDOOR_INT_BG1 ;= $007b ; 123
JIDOOR_INT_BG2 ;= $007c ; 124
NARSHE_NORTH_CAVES_BG1 ;= $007d ; 125
NARSHE_NORTH_CAVES_BG2 ;= $007e ; 126
CYANS_DREAM_CLIFFS_BG1 ;= $007f ; 127
CYANS_DREAM_CLIFFS_BG2 ;= $0080 ; 128
MOBLIZ_WOR_EXT_BG1 ;= $0081 ; 129
MOBLIZ_WOR_EXT_BG2 ;= $0082 ; 130
CYANS_DREAM_CAVES_BG3 ;= $0083 ; 131
CYANS_DREAM_TRAIN_CAR_3_BG1 ;= $0084 ; 132
VECTOR_TOWN_INT_BG1 ;= $0085 ; 133
VECTOR_TOWN_INT_BG2 ;= $0086 ; 134
IMPERIAL_BASE_EXT_BG1 ;= $0087 ; 135
IMPERIAL_BASE_EXT_BG2 ;= $0088 ; 136
ESPER_WORLD_EXT_BG1 ;= $0089 ; 137
ESPER_WORLD_EXT_BG2 ;= $008a ; 138
ESPER_MOUNTAIN_EXT_B_BG1 ;= $008b ; 139
VECTOR_TOWN_ON_FIRE_BG3 ;= $008c ; 140
MT_ZOZO_BRIDGE_BG1 ;= $008d ; 141
GOGOS_ROOM_BG1 ;= $008e ; 142
ESPER_MOUNTAIN_EXT_C_BG1 ;= $008f ; 143
CYANS_DREAM_CAVES_BG1 ;= $0090 ; 144
MT_ZOZO_CLIFF_2_BG1 ;= $0091 ; 145
GOGOS_ROOM_BG2 ;= $0092 ; 146
MT_KOLTS_VARGAS_AREA_BG1 ;= $0093 ; 147
MT_KOLTS_VARGAS_AREA_BG2 ;= $0094 ; 148
ESPER_MOUNTAIN_STATUES_BG1 ;= $0095 ; 149
ESPER_MOUNTAIN_STATUES_BG2 ;= $0096 ; 150
MT_ZOZO_CLIFF_1_BG1 ;= $0097 ; 151
MT_ZOZO_CLIFF_1_BG2 ;= $0098 ; 152
NARSHE_SOUTH_CAVES_BG1 ;= $0099 ; 153
NARSHE_SOUTH_CAVES_BG2 ;= $009a ; 154
PHANTOM_TRAIN_TORCHES_BG2 ;= $009b ; 155
PHANTOM_TRAIN_PLATFORM_BG2 ;= $009c ; 156
NARSHE_SOUTH_EXT_BG3 ;= $009d ; 157
NARSHE_NORTH_CAVES_BG3 ;= $009e ; 158
FIGARO_EMPTY_DESERT_BG1 ;= $009f ; 159
CAVE_TO_SOUTH_FIGARO_BG3 ;= $00a0 ; 160
MAGITEK_FACTORY_UPPER_BG1 ;= $00a1 ; 161
MAGITEK_FACTORY_UPPER_BG2 ;= $00a2 ; 162
CRESCENT_MOUNTAIN_EXT_BG1 ;= $00a3 ; 163
CRESCENT_MOUNTAIN_EXT_BG2 ;= $00a4 ; 164
CRESCENT_MOUNTAIN_EXT_BG3 ;= $00a5 ; 165
CRAZY_OLD_MANS_HOUSE_EXT_BG1 ;= $00a6 ; 166
CRAZY_OLD_MANS_HOUSE_EXT_BG2 ;= $00a7 ; 167
CRAZY_OLD_MANS_HOUSE_INT_BG1 ;= $00a8 ; 168
CRAZY_OLD_MANS_HOUSE_INT_BG2 ;= $00a9 ; 169
BAREN_FALLS_INT_BG1 ;= $00aa ; 170
BAREN_FALLS_INT_BG2 ;= $00ab ; 171
MOUNTAINTOP_BG1 ;= $00ac ; 172
WATERFALL_PARALLAX_BG2 ;= $00ad ; 173
BAREN_FALLS_INT_BG3 ;= $00ae ; 174
ESPER_WORLD_INT_BG1 ;= $00af ; 175
ESPER_WORLD_INT_BG2 ;= $00b0 ; 176
ESPER_WORLD_INT_BG3 ;= $00b1 ; 177
THAMASA_BURNING_BUILDING_BG2 ;= $00b2 ; 178
RIVERBANK_BG1 ;= $00b3 ; 179
RIVERBANK_BG2 ;= $00b4 ; 180
DARILLS_TOMB_ENTRANCE_BG1 ;= $00b5 ; 181
DARILLS_TOMB_ENTRANCE_BG2 ;= $00b6 ; 182
AIRSHIP_INT_BG1 ;= $00b7 ; 183
AIRSHIP_INT_BG2 ;= $00b8 ; 184
BLACKJACK_EXT_BG1 ;= $00b9 ; 185
CLOUDS_PARALLAX_BG2 ;= $00ba ; 186
FALCON_EXT_BG1 ;= $00bb ; 187
CYANS_DREAM_TRAIN_CAR_1_BG1 ;= $00bc ; 188
CYANS_DREAM_TRAIN_CAR_1_BG2 ;= $00bd ; 189
NARSHE_NORTH_EXT_BG3 ;= $00be ; 190
CYANS_DREAM_3_STOOGES_BG1 ;= $00bf ; 191
NIKEAH_DOCKS_BG1 ;= $00c0 ; 192
NIKEAH_DOCKS_BG2 ;= $00c1 ; 193
CRESCENT_MOUNTAIN_INT_BG1 ;= $00c2 ; 194
CRESCENT_MOUNTAIN_INT_BG2 ;= $00c3 ; 195
BAREN_FALLS_ENTRANCE_BG1 ;= $00c4 ; 196
BAREN_FALLS_ENTRANCE_BG2 ;= $00c5 ; 197
PHANTOM_FOREST_MAIN_AREA_BG1 ;= $00c6 ; 198
FOREST_PARALLAX_BG2 ;= $00c7 ; 199
FOREST_PARALLAX_BG3 ;= $00c8 ; 200
VECTOR_LOWER_CASTLE_EXT_BG1 ;= $00c9 ; 201
VECTOR_LOWER_CASTLE_EXT_BG2 ;= $00ca ; 202
VECTOR_UPPER_CASTLE_EXT_BG1 ;= $00cb ; 203
VECTOR_UPPER_CASTLE_EXT_BG2 ;= $00cc ; 204
SOLITARY_BEACH_BG1 ;= $00cd ; 205
SOLITARY_BEACH_BG2 ;= $00ce ; 206
SOLITARY_BEACH_BG3 ;= $00cf ; 207
SOLITARY_HOUSE_EXT_BG1 ;= $00d0 ; 208
SOLITARY_HOUSE_EXT_BG2 ;= $00d1 ; 209
MAGITEK_ESPER_ROOM_BG1 ;= $00d2 ; 210
MAGITEK_ESPER_ROOM_BG2 ;= $00d3 ; 211
PHANTOM_TRAIN_PARALLAX_BG2 ;= $00d4 ; 212
COLOSSEUM_GUY_EXT_BG1 ;= $00d5 ; 213
COLOSSEUM_GUY_EXT_BG2 ;= $00d6 ; 214
MAGITEK_FACTORY_LOWER_BG1 ;= $00d7 ; 215
MAGITEK_FACTORY_LOWER_BG2 ;= $00d8 ; 216
SEALED_GATE_BG1 ;= $00d9 ; 217
SEALED_GATE_BG2 ;= $00da ; 218
IMP_CAMP_MAGITEK_BG1 ;= $00db ; 219
IMP_CAMP_MAGITEK_BG2 ;= $00dc ; 220
KOHLINGEN_EXT_BG3 ;= $00dd ; 221
NARSHE_CLIFFS_BG3 ;= $00de ; 222
RETURNERS_HIDEOUT_BG3 ;= $00df ; 223
THAMASA_BURNING_BUILDING_BG3 ;= $00e0 ; 224
PHANTOM_FOREST_SPRING_BG1 ;= $00e1 ; 225
PHANTOM_FOREST_FORK_BG1 ;= $00e2 ; 226
PHANTOM_FOREST_PATH_BG1 ;= $00e3 ; 227
SERPENT_TRENCH_CAVES_BG1 ;= $00e4 ; 228
SERPENT_TRENCH_CAVES_BG2 ;= $00e5 ; 229
SERPENT_TRENCH_CAVES_BG3 ;= $00e6 ; 230
OPERA_STAGE_SKY_PARALLAX_BG2 ;= $00e7 ; 231
OPERA_STAGE_CASTLE_BG1 ;= $00e8 ; 232
TZEN_EXT_BG1 ;= $00e9 ; 233
TZEN_EXT_BG2 ;= $00ea ; 234
NARSHE_SOUTH_CAVES_BG3 ;= $00eb ; 235
COLOSSEUM_GUY_EXT_BG3 ;= $00ec ; 236
DARILLS_TOMB_BG1 ;= $00ed ; 237
DARILLS_TOMB_BG2 ;= $00ee ; 238
DARILLS_TOMB_BG3 ;= $00ef ; 239
ESPER_MOUNTAIN_INT_BG1 ;= $00f0 ; 240
ESPER_MOUNTAIN_INT_BG2 ;= $00f1 ; 241
ESPER_MOUNTAIN_INT_BG3 ;= $00f2 ; 242
GOGOS_CAVE_BG1 ;= $00f3 ; 243
GOGOS_CAVE_BG2 ;= $00f4 ; 244
SUB_TILEMAP_245 ;= $00f5 ; 245
ESPER_WORLD_EXT_BG3 ;= $00f6 ; 246
MAGITEK_TUBE_ROOM_BG3 ;= $00f7 ; 247
MAGITEK_ESPER_ROOM_BG3 ;= $00f8 ; 248
ESPER_WORLD_DOORS_BG1 ;= $00f9 ; 249
ESPER_WORLD_DOORS_BG3 ;= $00fa ; 250
FANATICS_TOWER_EXT_BG1 ;= $00fb ; 251
FANATICS_TOWER_EXT_BG2 ;= $00fc ; 252
FANATICS_TOWER_TOP_EXT_BG1 ;= $00fd ; 253
RUIN_SCENE_2_BG1 ;= $00fe ; 254
RUIN_SCENE_2_BG2 ;= $00ff ; 255
MAGITEK_ELEVATOR_BG1 ;= $0100 ; 256
MAGITEK_ELEVATOR_BG2 ;= $0101 ; 257
JIDOOR_ISLAND_SHADOW_BG3 ;= $0102 ; 258
EMPTY_BG1 ;= $0103 ; 259
MOBLIZ_EXT_BG3 ;= $0104 ; 260
CYANS_DREAM_TRAIN_CAR_3_BG2 ;= $0105 ; 261
MOBLIZ_WOR_EXT_BG3 ;= $0106 ; 262
MT_ZOZO_INT_BG1 ;= $0107 ; 263
MT_ZOZO_INT_BG2 ;= $0108 ; 264
MT_ZOZO_INT_BG3 ;= $0109 ; 265
ANCIENT_CASTLE_CAVE_BG1 ;= $010a ; 266
ANCIENT_CASTLE_CAVE_BG2 ;= $010b ; 267
ANCIENT_CASTLE_INT_BG1 ;= $010c ; 268
ANCIENT_CASTLE_INT_BG2 ;= $010d ; 269
ANCIENT_CASTLE_EXT_BG1 ;= $010e ; 270
ANCIENT_CASTLE_EXT_BG2 ;= $010f ; 271
FANATICS_TOWER_TOP_EXT_BG2 ;= $0110 ; 272
FANATICS_TOWER_INT_BG1 ;= $0111 ; 273
COLOSSEUM_BG1 ;= $0112 ; 274
COLOSSEUM_BG2 ;= $0113 ; 275
DARILLS_TOMB_STAIRWAY_BG1 ;= $0114 ; 276
GOGOS_ROOM_BG3 ;= $0115 ; 277
CAVE_IN_THE_VELDT_BG1 ;= $0116 ; 278
CAVE_IN_THE_VELDT_BG2 ;= $0117 ; 279
KEFKAS_TOWER_EXT_BG1 ;= $0118 ; 280
DARILLS_TOMB_STAIRWAY_BG2 ;= $0119 ; 281
KOHLINGEN_PHOENIX_BG3 ;= $011a ; 282
PHOENIX_CAVE_DOWNSTAIRS_BG1 ;= $011b ; 283
PHOENIX_CAVE_DOWNSTAIRS_BG2 ;= $011c ; 284
THAMASA_HOUSE_ON_FIRE_BG3 ;= $011d ; 285
FANATICS_TOWER_INT_BG2 ;= $011e ; 286
FANATICS_TOWER_TOP_INT_BG1 ;= $011f ; 287
FANATICS_TOWER_TOP_INT_BG2 ;= $0120 ; 288
EBOTS_ROCK_MAZE_BG1 ;= $0121 ; 289
EBOTS_ROCK_MAZE_BG2 ;= $0122 ; 290
EBOTS_ROCK_OTHER_BG1 ;= $0123 ; 291
EBOTS_ROCK_OTHER_BG2 ;= $0124 ; 292
CHOCOBO_STABLE_EXT_BG1 ;= $0125 ; 293
CHOCOBO_STABLE_EXT_BG2 ;= $0126 ; 294
PHOENIX_CAVE_UPSTAIRS_BG3 ;= $0127 ; 295
SMALL_FOG_PARALLAX_BG3 ;= $0128 ; 296
KEFKAS_TOWER_EXT_BG2 ;= $0129 ; 297
SUB_TILEMAP_298 ;= $012a ; 298
KEFKAS_TOWER_TOP_BG1 ;= $012b ; 299
KEFKAS_TOWER_WATERFALL_BG2 ;= $012c ; 300
SUB_TILEMAP_301 ;= $012d ; 301
SUB_TILEMAP_302 ;= $012e ; 302
KEFKAS_TOWER_SWITCHES_BG1 ;= $012f ; 303
KEFKAS_TOWER_SWITCHES_BG2 ;= $0130 ; 304
GOGOS_CAVE_BG3 ;= $0131 ; 305
LETE_RIVER_CAVES_BG1 ;= $0132 ; 306
LETE_RIVER_CAVES_BG2 ;= $0133 ; 307
LETE_RIVER_CAVES_BG3 ;= $0134 ; 308
KEFKAS_TOWER_CASTLE_BG3 ;= $0135 ; 309
KEFKAS_TOWER_MISC_ROOMS_BG1 ;= $0136 ; 310
FLOATING_ISLAND_INT_BG1 ;= $0137 ; 311
FLOATING_ISLAND_INT_BG2 ;= $0138 ; 312
FLOATING_ISLAND_INT_BG3 ;= $0139 ; 313
KEFKAS_TOWER_MISC_ROOMS_BG2 ;= $013a ; 314
KEFKAS_TOWER_CASTLE_BG1 ;= $013b ; 315
KEFKAS_TOWER_CASTLE_BG2 ;= $013c ; 316
SOUTH_FIGARO_EXT_BG3 ;= $013d ; 317
NIKEAH_EXT_BG3 ;= $013e ; 318
ALBROOK_EXT_BG3 ;= $013f ; 319
MARANDA_EXT_BG3 ;= $0140 ; 320
KEFKAS_TOWER_TOP_PARALLAX_BG2 ;= $0141 ; 321
KEFKAS_TOWER_FACTORY_BG3 ;= $0142 ; 322
MAGITEK_LAB_BROKEN_TUBES_BG3 ;= $0143 ; 323
MAP_333_BG3 ;= $0144 ; 324
KEFKAS_TOWER_TOP_BG2 ;= $0145 ; 325
CYANS_DREAM_3_STOOGES_BG2 ;= $0146 ; 326
ALBROOK_DOCKS_BG3 ;= $0147 ; 327
SOUTH_FIGARO_DOCKS_BG3 ;= $0148 ; 328
NIKEAH_DOCKS_BG3 ;= $0149 ; 329
WATERFALL_PARALLAX_BG3 ;= $014a ; 330
RIVERBANK_BG3 ;= $014b ; 331
KEFKAS_TOWER_TUBES_BG1 ;= $014c ; 332
KEFKAS_TOWER_TUBES_BG2 ;= $014d ; 333
KEFKAS_TOWER_FACTORY_BG1 ;= $014e ; 334
KEFKAS_TOWER_FACTORY_BG2 ;= $014f ; 335
ESPER_MOUNTAIN_STATUES_BG3 ;= $0150 ; 336
KEFKAS_TOWER_SWITCHES_BG3 ;= $0151 ; 337
MAGITEK_FACTORY_UPPER_BG3 ;= $0152 ; 338
MAGITEK_FACTORY_LOWER_BG3 ;= $0153 ; 339
KEFKAS_TOWER_ENDING_1_BG1 ;= $0154 ; 340
KEFKAS_TOWER_ENDING_1_BG2 ;= $0155 ; 341
KEFKAS_TOWER_AIRSHIP_BG1 ;= $0156 ; 342
KEFKAS_TOWER_AIRSHIP_BG2 ;= $0157 ; 343
KEFKAS_TOWER_ENDING_2_BG1 ;= $0158 ; 344
KEFKAS_TOWER_ENDING_2_BG2 ;= $0159 ; 345
KEFKAS_TOWER_AIRSHIP_BG3 ;= $015a ; 346
CAVE_IN_THE_VELDT_BG3 ;= $015b ; 347
UMAROS_CAVE_BG3 ;= $015c ; 348
SKY_PARALLAX_BG2 ;= $015d ; 349
.endenum
SUB_TILEMAP::ARRAY_LENGTH = 350
.scope SubTilemap
ARRAY_LENGTH = SUB_TILEMAP::SKY_PARALLAX_BG2 + 1
Start := SubTilemap
.endscope
.endif
.list on

View File

@ -4,6 +4,17 @@ TREASURE_PROP_INC = 1
.global TreasureProp, TreasurePropPtrs
.scope TreasureProp
ITEM_SIZE = 5
Start := TreasureProp
Pos := Start
PosX := Start
PosY := Start + 1
Switch := Start + 2
Content := Start + 4
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +22,7 @@ TREASURE_PROP_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -67,214 +67,222 @@ BATTLE_BG_INC = 1
FINAL_BATTLE_4 ;= $36 ; 54
TENTACLES ;= $37 ; 55
ARRAY_LENGTH
DEFAULT = $ff
.endenum
.scope BattleBG
ARRAY_LENGTH = BATTLE_BG::TENTACLES + 1
.endscope
; ------------------------------------------------------------------------------
; lines marked with (*) use map bg graphics
.enum BATTLE_BG_GFX
TOWN_EXT_1 ;= $00 ; 0
TOWN_EXT_2 ;= $01 ; 1
BATTLE_BG_GFX_02 ;= $02 ; 2 (unused copy of $09)
MOUNTAINS_EXT_1 ;= $03 ; 3
MOUNTAINS_INT_1 ;= $04 ; 4
RIVER_1 ;= $05 ; 5
IMP_CAMP_1 ;= $06 ; 6
TRAIN_EXT_1 ;= $07 ; 7
TRAIN_INT_1 ;= $08 ; 8
CAVES_1 ;= $09 ; 9
TRAIN_EXT_2 ;= $0a ; 10 (*)
MOUNTAINS_EXT_2 ;= $0b ; 11 (*)
MOUNTAINS_INT_2 ;= $0c ; 12 (*)
RIVER_2 ;= $0d ; 13 (*)
IMP_CAMP_2 ;= $0e ; 14 (*)
GHOST_TRAIN_1 ;= $0f ; 15 (*)
TRAIN_INT_2 ;= $10 ; 16 (*)
CAVES_2 ;= $11 ; 17 (*)
FIELD_1 ;= $12 ; 18
FIELD_2 ;= $13 ; 19
FIELD_3 ;= $14 ; 20
TRAIN_EXT_3 ;= $15 ; 21 (*)
COLOSSEUM ;= $16 ; 22
BATTLE_BG_GFX_17 ;= $17 ; 23 (unused)
DESERT_1 ;= $18 ; 24
FOREST_1 ;= $19 ; 25
FOREST_2 ;= $1a ; 26 (*)
FIELD_WOR ;= $1b ; 27
VELDT ;= $1c ; 28
DESERT_2 ;= $1d ; 29
IMP_CASTLE_1 ;= $1e ; 30
FLOATING_ISLAND_1 ;= $1f ; 31
KEFKAS_TOWER_1 ;= $20 ; 32
OPERA_STAGE ;= $21 ; 33
OPERA_CATWALK ;= $22 ; 34
BURNING_BLDG_1 ;= $23 ; 35
CASTLE_INT ;= $24 ; 36
MAGITEK_1 ;= $25 ; 37
CASTLE_EXT_1 ;= $26 ; 38
MAGITEK_2 ;= $27 ; 39 (*)
IMP_CASTLE_2 ;= $28 ; 40 (*)
FLOATING_ISLAND_2 ;= $29 ; 41 (*)
KEFKAS_TOWER_2 ;= $2a ; 42 (*)
OPERA_CURTAIN ;= $2b ; 43 (*)
BURNING_BLDG_2 ;= $2c ; 44 (*)
TENTACLES ;= $2d ; 45
CASTLE_EXT_2 ;= $2e ; 46 (*)
TOWN_INT_1 ;= $2f ; 47
TOWN_INT_2 ;= $30 ; 48 (*)
GHOST_TRAIN_2 ;= $31 ; 49 (*)
UNDERWATER ;= $32 ; 50
SEALED_GATE_1 ;= $33 ; 51 (*)
SEALED_GATE_2 ;= $34 ; 52
ZOZO_1 ;= $35 ; 53 (*)
ZOZO_2 ;= $36 ; 54
CLOUDS_1 ;= $37 ; 55 (*)
CLOUDS_2 ;= $38 ; 56 (*)
AIRSHIP ;= $39 ; 57
DARILLS_TOMB_1 ;= $3a ; 58 (*)
DARILLS_TOMB_2 ;= $3b ; 59
WATERFALL ;= $3c ; 60
FINAL_BATTLE_1 ;= $3d ; 61
FINAL_BATTLE_2 ;= $3e ; 62
FINAL_BATTLE_3 ;= $3f ; 63
FINAL_BATTLE_4 ;= $40 ; 64
FINAL_BATTLE_5 ;= $41 ; 65
FINAL_BATTLE_6 ;= $42 ; 66
FINAL_BATTLE_7 ;= $43 ; 67
FINAL_BATTLE_8 ;= $44 ; 68
FANATICS_TOWER ;= $45 ; 69
MAGITEK_TRAIN_1 ;= $46 ; 70
MAGITEK_TRAIN_2 ;= $47 ; 71 (*)
DARILLS_TOMB_3 ;= $48 ; 72 (*)
CYANS_DREAM_1 ;= $49 ; 73 (*)
CYANS_DREAM_2 ;= $4a ; 74
TOWN_EXT_1 ;= $00 ; 0
TOWN_EXT_2 ;= $01 ; 1
BATTLE_BG_GFX_2 ;= $02 ; 2 (unused copy of #9)
MOUNTAINS_EXT_1 ;= $03 ; 3
MOUNTAINS_INT_1 ;= $04 ; 4
RIVER_1 ;= $05 ; 5
IMP_CAMP_1 ;= $06 ; 6
TRAIN_EXT_1 ;= $07 ; 7
TRAIN_INT_1 ;= $08 ; 8
CAVES_1 ;= $09 ; 9
TRAIN_EXT_2 ;= $0a ; 10 (*)
MOUNTAINS_EXT_2 ;= $0b ; 11 (*)
MOUNTAINS_INT_2 ;= $0c ; 12 (*)
RIVER_2 ;= $0d ; 13 (*)
IMP_CAMP_2 ;= $0e ; 14 (*)
GHOST_TRAIN_1 ;= $0f ; 15 (*)
TRAIN_INT_2 ;= $10 ; 16 (*)
CAVES_2 ;= $11 ; 17 (*)
FIELD_1 ;= $12 ; 18
FIELD_2 ;= $13 ; 19
FIELD_3 ;= $14 ; 20
TRAIN_EXT_3 ;= $15 ; 21 (*)
COLOSSEUM ;= $16 ; 22
BATTLE_BG_GFX_23 ;= $17 ; 23 (unused)
DESERT_1 ;= $18 ; 24
FOREST_1 ;= $19 ; 25
FOREST_2 ;= $1a ; 26 (*)
FIELD_WOR ;= $1b ; 27
VELDT ;= $1c ; 28
DESERT_2 ;= $1d ; 29
IMP_CASTLE_1 ;= $1e ; 30
FLOATING_ISLAND_1 ;= $1f ; 31
KEFKAS_TOWER_1 ;= $20 ; 32
OPERA_STAGE ;= $21 ; 33
OPERA_CATWALK ;= $22 ; 34
BURNING_BLDG_1 ;= $23 ; 35
CASTLE_INT ;= $24 ; 36
MAGITEK_1 ;= $25 ; 37
CASTLE_EXT_1 ;= $26 ; 38
MAGITEK_2 ;= $27 ; 39 (*)
IMP_CASTLE_2 ;= $28 ; 40 (*)
FLOATING_ISLAND_2 ;= $29 ; 41 (*)
KEFKAS_TOWER_2 ;= $2a ; 42 (*)
OPERA_CURTAIN ;= $2b ; 43 (*)
BURNING_BLDG_2 ;= $2c ; 44 (*)
TENTACLES ;= $2d ; 45
CASTLE_EXT_2 ;= $2e ; 46 (*)
TOWN_INT_1 ;= $2f ; 47
TOWN_INT_2 ;= $30 ; 48 (*)
GHOST_TRAIN_2 ;= $31 ; 49 (*)
UNDERWATER ;= $32 ; 50
SEALED_GATE_1 ;= $33 ; 51 (*)
SEALED_GATE_2 ;= $34 ; 52
ZOZO_1 ;= $35 ; 53 (*)
ZOZO_2 ;= $36 ; 54
CLOUDS_1 ;= $37 ; 55 (*)
CLOUDS_2 ;= $38 ; 56 (*)
AIRSHIP ;= $39 ; 57
DARILLS_TOMB_1 ;= $3a ; 58 (*)
DARILLS_TOMB_2 ;= $3b ; 59
WATERFALL ;= $3c ; 60
FINAL_BATTLE_1 ;= $3d ; 61
FINAL_BATTLE_2 ;= $3e ; 62
FINAL_BATTLE_3 ;= $3f ; 63
FINAL_BATTLE_4 ;= $40 ; 64
FINAL_BATTLE_5 ;= $41 ; 65
FINAL_BATTLE_6 ;= $42 ; 66
FINAL_BATTLE_7 ;= $43 ; 67
FINAL_BATTLE_8 ;= $44 ; 68
FANATICS_TOWER ;= $45 ; 69
MAGITEK_TRAIN_1 ;= $46 ; 70
MAGITEK_TRAIN_2 ;= $47 ; 71 (*)
DARILLS_TOMB_3 ;= $48 ; 72 (*)
CYANS_DREAM_1 ;= $49 ; 73 (*)
CYANS_DREAM_2 ;= $4a ; 74
ARRAY_LENGTH ;= $4b ; 75
NONE = $ff ; 255
NONE = $ff
.endenum
.scope BattleBGGfx
ARRAY_LENGTH = BATTLE_BG_GFX::CYANS_DREAM_2 + 1
.endscope
; ------------------------------------------------------------------------------
.enum BATTLE_BG_TILES
FIELD_WOB ;= $00 ; 0
NARSHE_EXT ;= $01 ; 1
NARSHE_CAVES ;= $02 ; 2
CAVES ;= $03 ; 3
MOUNTAINS_EXT ;= $04 ; 4
MOUNTAINS_INT ;= $05 ; 5
RIVER ;= $06 ; 6
IMP_CAMP ;= $07 ; 7
TRAIN_EXT ;= $08 ; 8
TRAIN_INT ;= $09 ; 9
FANATICS_TOWER ;= $0a ; 10
DESERT ;= $0b ; 11
FOREST ;= $0c ; 12
FIELD_WOR ;= $0d ; 13
VELDT ;= $0e ; 14
SNOWFIELDS ;= $0f ; 15
TOWN_EXT ;= $10 ; 16
IMP_CASTLE ;= $11 ; 17
FLOATING_ISLAND ;= $12 ; 18
KEFKAS_TOWER_EXT ;= $13 ; 19
OPERA_STAGE ;= $14 ; 20
OPERA_CATWALK ;= $15 ; 21
BURNING_BUILDING ;= $16 ; 22
CASTLE_INT ;= $17 ; 23
MAGITEK_LAB ;= $18 ; 24
COLOSSEUM ;= $19 ; 25
SEALED_GATE ;= $1a ; 26
VILLAGE_EXT ;= $1b ; 27
WATERFALL ;= $1c ; 28
OWZERS_HOUSE ;= $1d ; 29
TRAIN_TRACKS ;= $1e ; 30
CLOUDS ;= $1f ; 31
TENTACLES ;= $20 ; 32
TOWN_INT ;= $21 ; 33
GHOST_TRAIN ;= $22 ; 34
UNDERWATER ;= $23 ; 35
MAGITEK_FACTORY ;= $24 ; 36
ZOZO ;= $25 ; 37
AIRSHIP_CENTER ;= $26 ; 38
DARILLS_TOMB ;= $27 ; 39
CASTLE_EXT ;= $28 ; 40
KEFKAS_TOWER_INT ;= $29 ; 41
FINAL_BATTLE_1 ;= $2a ; 42
FINAL_BATTLE_2 ;= $2b ; 43
FINAL_BATTLE_3 ;= $2c ; 44
MAGITEK_TRAIN ;= $2d ; 45
FINAL_BATTLE_4 ;= $2e ; 46
CYANS_DREAM ;= $2f ; 47
AIRSHIP ;= $30 ; 48
ARRAY_LENGTH ;= 49
FIELD_WOB ;= $00 ; 0
NARSHE_EXT ;= $01 ; 1
NARSHE_CAVES ;= $02 ; 2
CAVES ;= $03 ; 3
MOUNTAINS_EXT ;= $04 ; 4
MOUNTAINS_INT ;= $05 ; 5
RIVER ;= $06 ; 6
IMP_CAMP ;= $07 ; 7
TRAIN_EXT ;= $08 ; 8
TRAIN_INT ;= $09 ; 9
FANATICS_TOWER ;= $0a ; 10
DESERT ;= $0b ; 11
FOREST ;= $0c ; 12
FIELD_WOR ;= $0d ; 13
VELDT ;= $0e ; 14
SNOWFIELDS ;= $0f ; 15
TOWN_EXT ;= $10 ; 16
IMP_CASTLE ;= $11 ; 17
FLOATING_ISLAND ;= $12 ; 18
KEFKAS_TOWER_EXT ;= $13 ; 19
OPERA_STAGE ;= $14 ; 20
OPERA_CATWALK ;= $15 ; 21
BURNING_BUILDING ;= $16 ; 22
CASTLE_INT ;= $17 ; 23
MAGITEK_LAB ;= $18 ; 24
COLOSSEUM ;= $19 ; 25
SEALED_GATE ;= $1a ; 26
VILLAGE_EXT ;= $1b ; 27
WATERFALL ;= $1c ; 28
OWZERS_HOUSE ;= $1d ; 29
TRAIN_TRACKS ;= $1e ; 30
CLOUDS ;= $1f ; 31
TENTACLES ;= $20 ; 32
TOWN_INT ;= $21 ; 33
GHOST_TRAIN ;= $22 ; 34
UNDERWATER ;= $23 ; 35
MAGITEK_FACTORY ;= $24 ; 36
ZOZO ;= $25 ; 37
AIRSHIP_CENTER ;= $26 ; 38
DARILLS_TOMB ;= $27 ; 39
CASTLE_EXT ;= $28 ; 40
KEFKAS_TOWER_INT ;= $29 ; 41
FINAL_BATTLE_1 ;= $2a ; 42
FINAL_BATTLE_2 ;= $2b ; 43
FINAL_BATTLE_3 ;= $2c ; 44
MAGITEK_TRAIN ;= $2d ; 45
FINAL_BATTLE_4 ;= $2e ; 46
CYANS_DREAM ;= $2f ; 47
AIRSHIP ;= $30 ; 48
.endenum
.scope BattleBGTiles
ARRAY_LENGTH = BATTLE_BG_TILES::AIRSHIP + 1
.endscope
; ------------------------------------------------------------------------------
; battle background palettes
.enum BATTLE_BG_PAL
FIELD_WOB ;= $00 ; 0
NARSHE_EXT ;= $01 ; 1
NARSHE_CAVES ;= $02 ; 2
CAVES ;= $03 ; 3
MOUNTAINS_EXT ;= $04 ; 4
MOUNTAINS_INT ;= $05 ; 5
RIVER ;= $06 ; 6
IMP_CAMP ;= $07 ; 7
TRAIN_EXT ;= $08 ; 8
TRAIN_INT ;= $09 ; 9
FANATICS_TOWER ;= $0a ; 10
DESERT_WOB ;= $0b ; 11
FOREST_WOB ;= $0c ; 12
FIELD_WOR ;= $0d ; 13
VELDT ;= $0e ; 14
SNOWFIELDS ;= $0f ; 15
TOWN_EXT ;= $10 ; 16
IMP_CASTLE ;= $11 ; 17
FLOATING_ISLAND ;= $12 ; 18
KEFKAS_TOWER_EXT ;= $13 ; 19
OPERA_STAGE ;= $14 ; 20
OPERA_CATWALK ;= $15 ; 21
BURNING_BUILDING ;= $16 ; 22
CASTLE_INT ;= $17 ; 23
MAGITEK ;= $18 ; 24
COLOSSEUM ;= $19 ; 25
SEALED_GATE ;= $1a ; 26
VILLAGE_EXT ;= $1b ; 27
WATERFALL ;= $1c ; 28
BATTLE_BG_PAL_29 ;= $1d ; 29 (unused)
TRAIN_TRACKS ;= $1e ; 30
BATTLE_BG_PAL_31 ;= $1f ; 31 (unused)
TENTACLES ;= $20 ; 32
FIRE_CAVES ;= $21 ; 33
TOWN_INT ;= $22 ; 34
ZOZO_INT ;= $23 ; 35
UNDERWATER ;= $24 ; 36
ZOZO_EXT ;= $25 ; 37
AIRSHIP_WOB ;= $26 ; 38
DARILLS_TOMB ;= $27 ; 39
CASTLE_EXT ;= $28 ; 40
KEFKAS_TOWER_INT ;= $29 ; 41
BATTLE_BG_PAL_42 ;= $2a ; 42 (unused)
OWZERS_HOUSE ;= $2b ; 43
FINAL_BATTLE_1 ;= $2c ; 44
FINAL_BATTLE_2 ;= $2d ; 45
FINAL_BATTLE_3 ;= $2e ; 46
MAGITEK_TRAIN ;= $2f ; 47
FINAL_BATTLE_4 ;= $30 ; 48
FOREST_WOR ;= $31 ; 49
CYANS_DREAM ;= $32 ; 50
AIRSHIP_WOR ;= $33 ; 51
DESERT_WOR ;= $34 ; 52
ARRAY_LENGTH ;= 53
FIELD_WOB ;= $00 ; 0
NARSHE_EXT ;= $01 ; 1
NARSHE_CAVES ;= $02 ; 2
CAVES ;= $03 ; 3
MOUNTAINS_EXT ;= $04 ; 4
MOUNTAINS_INT ;= $05 ; 5
RIVER ;= $06 ; 6
IMP_CAMP ;= $07 ; 7
TRAIN_EXT ;= $08 ; 8
TRAIN_INT ;= $09 ; 9
FANATICS_TOWER ;= $0a ; 10
DESERT_WOB ;= $0b ; 11
FOREST_WOB ;= $0c ; 12
FIELD_WOR ;= $0d ; 13
VELDT ;= $0e ; 14
SNOWFIELDS ;= $0f ; 15
TOWN_EXT ;= $10 ; 16
IMP_CASTLE ;= $11 ; 17
FLOATING_ISLAND ;= $12 ; 18
KEFKAS_TOWER_EXT ;= $13 ; 19
OPERA_STAGE ;= $14 ; 20
OPERA_CATWALK ;= $15 ; 21
BURNING_BUILDING ;= $16 ; 22
CASTLE_INT ;= $17 ; 23
MAGITEK ;= $18 ; 24
COLOSSEUM ;= $19 ; 25
SEALED_GATE ;= $1a ; 26
VILLAGE_EXT ;= $1b ; 27
WATERFALL ;= $1c ; 28
BATTLE_BG_PAL_29 ;= $1d ; 29 (unused)
TRAIN_TRACKS ;= $1e ; 30
BATTLE_BG_PAL_31 ;= $1f ; 31 (unused)
TENTACLES ;= $20 ; 32
FIRE_CAVES ;= $21 ; 33
TOWN_INT ;= $22 ; 34
ZOZO_INT ;= $23 ; 35
UNDERWATER ;= $24 ; 36
ZOZO_EXT ;= $25 ; 37
AIRSHIP_WOB ;= $26 ; 38
DARILLS_TOMB ;= $27 ; 39
CASTLE_EXT ;= $28 ; 40
KEFKAS_TOWER_INT ;= $29 ; 41
BATTLE_BG_PAL_42 ;= $2a ; 42 (unused)
OWZERS_HOUSE ;= $2b ; 43
FINAL_BATTLE_1 ;= $2c ; 44
FINAL_BATTLE_2 ;= $2d ; 45
FINAL_BATTLE_3 ;= $2e ; 46
MAGITEK_TRAIN ;= $2f ; 47
FINAL_BATTLE_4 ;= $30 ; 48
FOREST_WOR ;= $31 ; 49
CYANS_DREAM ;= $32 ; 50
AIRSHIP_WOR ;= $33 ; 51
DESERT_WOR ;= $34 ; 52
.endenum
.scope BattleBGPal
ARRAY_LENGTH = BATTLE_BG_PAL::DESERT_WOR + 1
.endscope
; ------------------------------------------------------------------------------
.endif

View File

@ -4,14 +4,19 @@ MAP_ANIM_GFX_BG3_INC = 1
.global MapAnimGfxBG3, MapAnimGfxBG3Ptrs
MAP_ANIM_GFX_BG3_RIVER = 0
MAP_ANIM_GFX_BG3_FIRE = 1
MAP_ANIM_GFX_BG3_RAIN = 2
MAP_ANIM_GFX_BG3_CAVES = 3
MAP_ANIM_GFX_BG3_BEACH = 4
MAP_ANIM_GFX_BG3_NARSHE = 5
.enum MAP_ANIM_GFX_BG3
RIVER
FIRE
RAIN
CAVES
BEACH
NARSHE
.endenum
MAP_ANIM_GFX_BG3_ARRAY_LENGTH = 6
.scope MapAnimGfxBG3
ARRAY_LENGTH = MAP_ANIM_GFX_BG3::NARSHE + 1
Start := MapAnimGfxBG3
.endscope
.endif
.list on

View File

@ -4,90 +4,95 @@ MAP_GFX_INC = 1
.global MapGfx, MapGfxPtrs, MapAnimGfx
MAP_GFX_CASTLE_EXT_1 = $00 ; 0
MAP_GFX_CASTLE_EXT_2 = $01 ; 1
MAP_GFX_CASTLE_EXT_3 = $02 ; 2
MAP_GFX_OPERA_1 = $03 ; 3
MAP_GFX_TOWN_EXT_1 = $04 ; 4
MAP_GFX_TOWN_EXT_2 = $05 ; 5
MAP_GFX_TOWN_EXT_3 = $06 ; 6
MAP_GFX_TOWN_EXT_4 = $07 ; 7
MAP_GFX_TOWN_EXT_5 = $08 ; 8
MAP_GFX_CASTLE_EXT_4 = $09 ; 9
MAP_GFX_TOWN_EXT_6 = $0a ; 10
MAP_GFX_TOWN_EXT_7 = $0b ; 11
MAP_GFX_DOCKS_1 = $0c ; 12
MAP_GFX_DOCKS_2 = $0d ; 13
MAP_GFX_CAVES = $0e ; 14
MAP_GFX_CASTLE_INT_1 = $0f ; 15
MAP_GFX_CASTLE_INT_2 = $10 ; 16
MAP_GFX_CASTLE_INT_3 = $11 ; 17
MAP_GFX_CASTLE_INT_4 = $12 ; 18
MAP_GFX_DOCKS_3 = $13 ; 19
MAP_GFX_RIVER = $14 ; 20
MAP_GFX_IMP_CAMP_1 = $15 ; 21
MAP_GFX_IMP_CAMP_2 = $16 ; 22
MAP_GFX_MOUNTAIN_INT_1 = $17 ; 23
MAP_GFX_MOUNTAIN_INT_2 = $18 ; 24
MAP_GFX_TOWN_INT_1 = $19 ; 25
MAP_GFX_TOWN_INT_2 = $1a ; 26
MAP_GFX_TOWN_INT_3 = $1b ; 27
MAP_GFX_MOUNTAIN_EXT_1 = $1c ; 28
MAP_GFX_MOUNTAIN_EXT_2 = $1d ; 29
MAP_GFX_NARSHE_EXT_1 = $1e ; 30
MAP_GFX_NARSHE_EXT_2 = $1f ; 31
MAP_GFX_NARSHE_EXT_3 = $20 ; 32
MAP_GFX_TOWN_EXT_8 = $21 ; 33
MAP_GFX_NARSHE_EXT_4 = $22 ; 34
MAP_GFX_KEFKAS_TOWER_1 = $23 ; 35
MAP_GFX_KEFKAS_TOWER_2 = $24 ; 36
MAP_GFX_BURNING_BUILDING = $25 ; 37
MAP_GFX_TRAIN_EXT_1 = $26 ; 38
MAP_GFX_TRAIN_EXT_2 = $27 ; 39
MAP_GFX_TRAIN_EXT_3 = $28 ; 40
MAP_GFX_FOREST_1 = $29 ; 41
MAP_GFX_TRAIN_INT = $2a ; 42
MAP_GFX_ZOZO_EXT_1 = $2b ; 43
MAP_GFX_ZOZO_EXT_2 = $2c ; 44
MAP_GFX_VECTOR_EXT = $2d ; 45
MAP_GFX_DARILLS_TOMB_1 = $2e ; 46
MAP_GFX_MOUNTAINS_PARALLAX_1 = $2f ; 47
MAP_GFX_FLOATING_ISLAND_1 = $30 ; 48
MAP_GFX_FLOATING_ISLAND_2 = $31 ; 49
MAP_GFX_MOUNTAINS_PARALLAX_2 = $32 ; 50
MAP_GFX_CASTLE_EXT_5 = $33 ; 51
MAP_GFX_TOWN_EXT_9 = $34 ; 52
MAP_GFX_WATERFALL_PARALLAX_1 = $35 ; 53
MAP_GFX_FACTORY_1 = $36 ; 54
MAP_GFX_FACTORY_2 = $37 ; 55
MAP_GFX_FACTORY_3 = $38 ; 56
MAP_GFX_FACTORY_4 = $39 ; 57
MAP_GFX_FACTORY_5 = $3a ; 58
MAP_GFX_AIRSHIP_1 = $3b ; 59
MAP_GFX_AIRSHIP_2 = $3c ; 60
MAP_GFX_AIRSHIP_3 = $3d ; 61
MAP_GFX_AIRSHIP_4 = $3e ; 62
MAP_GFX_CYANS_DREAM = $3f ; 63
MAP_GFX_WATERFALL_PARALLAX_2 = $40 ; 64
MAP_GFX_FOREST_2 = $41 ; 65
MAP_GFX_KEFKAS_TOWER_3 = $42 ; 66
MAP_GFX_IMP_CASTLE_EXT_1 = $43 ; 67
MAP_GFX_IMP_CASTLE_EXT_2 = $44 ; 68
MAP_GFX_IMP_CASTLE_PARALLAX_1 = $45 ; 69
MAP_GFX_IMP_CASTLE_PARALLAX_2 = $46 ; 70
MAP_GFX_BEACH = $47 ; 71
MAP_GFX_IMP_CASTLE_INT = $48 ; 72
MAP_GFX_OPERA_2 = $49 ; 73
MAP_GFX_TRAIN_PARALLAX = $4a ; 74
MAP_GFX_SEALED_GATE_1 = $4b ; 75
MAP_GFX_SEALED_GATE_2 = $4c ; 76
MAP_GFX_SEALED_GATE_3 = $4d ; 77
MAP_GFX_FACTORY_6 = $4e ; 78
MAP_GFX_AIRSHIP_5 = $4f ; 79
MAP_GFX_BEACH_PARALLAX = $50 ; 80
MAP_GFX_DARILLS_TOMB_2 = $51 ; 81
.enum MAP_GFX
CASTLE_EXT_1 ;= $00 ; 0
CASTLE_EXT_2 ;= $01 ; 1
CASTLE_EXT_3 ;= $02 ; 2
OPERA_1 ;= $03 ; 3
TOWN_EXT_1 ;= $04 ; 4
TOWN_EXT_2 ;= $05 ; 5
TOWN_EXT_3 ;= $06 ; 6
TOWN_EXT_4 ;= $07 ; 7
TOWN_EXT_5 ;= $08 ; 8
CASTLE_EXT_4 ;= $09 ; 9
TOWN_EXT_6 ;= $0a ; 10
TOWN_EXT_7 ;= $0b ; 11
DOCKS_1 ;= $0c ; 12
DOCKS_2 ;= $0d ; 13
CAVES ;= $0e ; 14
CASTLE_INT_1 ;= $0f ; 15
CASTLE_INT_2 ;= $10 ; 16
CASTLE_INT_3 ;= $11 ; 17
CASTLE_INT_4 ;= $12 ; 18
DOCKS_3 ;= $13 ; 19
RIVER ;= $14 ; 20
IMP_CAMP_1 ;= $15 ; 21
IMP_CAMP_2 ;= $16 ; 22
MOUNTAIN_INT_1 ;= $17 ; 23
MOUNTAIN_INT_2 ;= $18 ; 24
TOWN_INT_1 ;= $19 ; 25
TOWN_INT_2 ;= $1a ; 26
TOWN_INT_3 ;= $1b ; 27
MOUNTAIN_EXT_1 ;= $1c ; 28
MOUNTAIN_EXT_2 ;= $1d ; 29
NARSHE_EXT_1 ;= $1e ; 30
NARSHE_EXT_2 ;= $1f ; 31
NARSHE_EXT_3 ;= $20 ; 32
TOWN_EXT_8 ;= $21 ; 33
NARSHE_EXT_4 ;= $22 ; 34
KEFKAS_TOWER_1 ;= $23 ; 35
KEFKAS_TOWER_2 ;= $24 ; 36
BURNING_BUILDING ;= $25 ; 37
TRAIN_EXT_1 ;= $26 ; 38
TRAIN_EXT_2 ;= $27 ; 39
TRAIN_EXT_3 ;= $28 ; 40
FOREST_1 ;= $29 ; 41
TRAIN_INT ;= $2a ; 42
ZOZO_EXT_1 ;= $2b ; 43
ZOZO_EXT_2 ;= $2c ; 44
VECTOR_EXT ;= $2d ; 45
DARILLS_TOMB_1 ;= $2e ; 46
MOUNTAINS_PARALLAX_1 ;= $2f ; 47
FLOATING_ISLAND_1 ;= $30 ; 48
FLOATING_ISLAND_2 ;= $31 ; 49
MOUNTAINS_PARALLAX_2 ;= $32 ; 50
CASTLE_EXT_5 ;= $33 ; 51
TOWN_EXT_9 ;= $34 ; 52
WATERFALL_PARALLAX_1 ;= $35 ; 53
FACTORY_1 ;= $36 ; 54
FACTORY_2 ;= $37 ; 55
FACTORY_3 ;= $38 ; 56
FACTORY_4 ;= $39 ; 57
FACTORY_5 ;= $3a ; 58
AIRSHIP_1 ;= $3b ; 59
AIRSHIP_2 ;= $3c ; 60
AIRSHIP_3 ;= $3d ; 61
AIRSHIP_4 ;= $3e ; 62
CYANS_DREAM ;= $3f ; 63
WATERFALL_PARALLAX_2 ;= $40 ; 64
FOREST_2 ;= $41 ; 65
KEFKAS_TOWER_3 ;= $42 ; 66
IMP_CASTLE_EXT_1 ;= $43 ; 67
IMP_CASTLE_EXT_2 ;= $44 ; 68
IMP_CASTLE_PARALLAX_1 ;= $45 ; 69
IMP_CASTLE_PARALLAX_2 ;= $46 ; 70
BEACH ;= $47 ; 71
IMP_CASTLE_INT ;= $48 ; 72
OPERA_2 ;= $49 ; 73
TRAIN_PARALLAX ;= $4a ; 74
SEALED_GATE_1 ;= $4b ; 75
SEALED_GATE_2 ;= $4c ; 76
SEALED_GATE_3 ;= $4d ; 77
FACTORY_6 ;= $4e ; 78
AIRSHIP_5 ;= $4f ; 79
BEACH_PARALLAX ;= $50 ; 80
DARILLS_TOMB_2 ;= $51 ; 81
.endenum
MAP_GFX_ARRAY_LENGTH = $52 ; 82
.scope MapGfx
ARRAY_LENGTH = MAP_GFX::DARILLS_TOMB_2 + 1
Start := MapGfx
.endscope
.endif
.list on

View File

@ -4,26 +4,31 @@ MAP_GFX_BG3_INC = 1
.global MapGfxBG3, MapGfxBG3Ptrs
MAP_GFX_BG3_MOUNTAINS_INT = $00 ; 0
MAP_GFX_BG3_RIVER = $01 ; 1
MAP_GFX_BG3_UNUSED_TRAIN = $02 ; 2
MAP_GFX_BG3_NARSHE_STEAM = $03 ; 3
MAP_GFX_BG3_CAVES_TORCH = $04 ; 4
MAP_GFX_BG3_CAVES_ICE_WATER = $05 ; 5
MAP_GFX_BG3_FOREST = $06 ; 6
MAP_GFX_BG3_BEACH = $07 ; 7
MAP_GFX_BG3_FIRE_WATER = $08 ; 8
MAP_GFX_BG3_BURNING_BUILDING = $09 ; 9
MAP_GFX_BG3_RAIN = $0a ; 10
MAP_GFX_BG3_CLOUDS = $0b ; 11
MAP_GFX_BG3_DARILLS_TOMB = $0c ; 12
MAP_GFX_BG3_UNUSED_0D = $0d ; 13
MAP_GFX_BG3_MAGITEK_TUBES = $0e ; 14
MAP_GFX_BG3_WATERFALL = $0f ; 15
MAP_GFX_BG3_TOWN_WATER = $10 ; 16
MAP_GFX_BG3_MAGITEK_FACTORY = $11 ; 17
.enum MAP_GFX_BG3
MOUNTAINS_INT ;= $00 ; 0
RIVER ;= $01 ; 1
UNUSED_TRAIN ;= $02 ; 2
NARSHE_STEAM ;= $03 ; 3
CAVES_TORCH ;= $04 ; 4
CAVES_ICE_WATER ;= $05 ; 5
FOREST ;= $06 ; 6
BEACH ;= $07 ; 7
FIRE_WATER ;= $08 ; 8
BURNING_BUILDING ;= $09 ; 9
RAIN ;= $0a ; 10
CLOUDS ;= $0b ; 11
DARILLS_TOMB ;= $0c ; 12
UNUSED_0D ;= $0d ; 13
MAGITEK_TUBES ;= $0e ; 14
WATERFALL ;= $0f ; 15
TOWN_WATER ;= $10 ; 16
MAGITEK_FACTORY ;= $11 ; 17
.endenum
MAP_GFX_BG3_ARRAY_LENGTH = $12 ; 18
.scope MapGfxBG3
ARRAY_LENGTH = MAP_GFX_BG3::MAGITEK_FACTORY + 1
Start := MapGfxBG3
.endscope
.endif
.list on

View File

@ -4,56 +4,60 @@ MAP_PAL_INC = 1
.global MapPal
MAP_PAL_FIGARO = $00 ; 0
MAP_PAL_VILLAGE_EXT_1 = $01 ; 1
MAP_PAL_DOMA = $02 ; 2
MAP_PAL_TOWN_EXT_1 = $03 ; 3
MAP_PAL_DOCKS = $04 ; 4
MAP_PAL_CAVES_1 = $05 ; 5
MAP_PAL_CASTLE_INT = $06 ; 6
MAP_PAL_RIVER = $07 ; 7
MAP_PAL_IMP_CAMP = $08 ; 8
MAP_PAL_MOUNTAINS_INT = $09 ; 9
MAP_PAL_TOWN_INT_1 = $0a ; 10
MAP_PAL_OPERA_1 = $0b ; 11
MAP_PAL_NARSHE_EXT = $0c ; 12
MAP_PAL_SNOWFIELDS = $0d ; 13
MAP_PAL_TRAIN_EXT = $0e ; 14
MAP_PAL_TRAIN_INT = $0f ; 15
MAP_PAL_ZOZO_EXT_1 = $10 ; 16
MAP_PAL_VECTOR = $11 ; 17
MAP_PAL_CAVES_2 = $12 ; 18
MAP_PAL_FLOATING_ISLAND = $13 ; 19
MAP_PAL_ZOZO_INT = $14 ; 20
MAP_PAL_CAVES_3 = $15 ; 21
MAP_PAL_VILLAGE_EXT_3 = $16 ; 22
MAP_PAL_MOUNTAINS_EXT_1 = $17 ; 23
MAP_PAL_MAGITEK_FACTORY = $18 ; 24
MAP_PAL_AIRSHIP_EXT_1 = $19 ; 25
MAP_PAL_AIRSHIP_INT = $1a ; 26
MAP_PAL_CYANS_DREAM = $1b ; 27
MAP_PAL_FOREST = $1c ; 28
MAP_PAL_IMP_CASTLE_EXT = $1d ; 29
MAP_PAL_BEACH = $1e ; 30
MAP_PAL_IMP_CASTLE_INT = $1f ; 31
MAP_PAL_CAVES_4 = $20 ; 32
MAP_PAL_SEALED_GATE = $21 ; 33
MAP_PAL_KEFKAS_TOWER_1 = $22 ; 34
MAP_PAL_BURNING_BUILDING = $23 ; 35
MAP_PAL_TOWN_INT_2 = $24 ; 36
MAP_PAL_NARSHE_INT = $25 ; 37
MAP_PAL_VILLAGE_EXT_2 = $26 ; 38
MAP_PAL_OPERA_2 = $27 ; 39
MAP_PAL_DARILLS_TOMB_1 = $28 ; 40
MAP_PAL_TOWN_EXT_2 = $29 ; 41
MAP_PAL_ZOZO_EXT_2 = $2a ; 42
MAP_PAL_KEFKAS_TOWER_2 = $2b ; 43
MAP_PAL_CLIFFS = $2c ; 44
MAP_PAL_AIRSHIP_EXT_2 = $2d ; 45
MAP_PAL_DARILLS_TOMB_2 = $2e ; 46
MAP_PAL_MOUNTAINS_EXT_2 = $2f ; 47
.enum MAP_PAL
FIGARO ;= $00 ; 0
VILLAGE_EXT_1 ;= $01 ; 1
DOMA ;= $02 ; 2
TOWN_EXT_1 ;= $03 ; 3
DOCKS ;= $04 ; 4
CAVES_1 ;= $05 ; 5
CASTLE_INT ;= $06 ; 6
RIVER ;= $07 ; 7
IMP_CAMP ;= $08 ; 8
MOUNTAINS_INT ;= $09 ; 9
TOWN_INT_1 ;= $0a ; 10
OPERA_1 ;= $0b ; 11
NARSHE_EXT ;= $0c ; 12
SNOWFIELDS ;= $0d ; 13
TRAIN_EXT ;= $0e ; 14
TRAIN_INT ;= $0f ; 15
ZOZO_EXT_1 ;= $10 ; 16
VECTOR ;= $11 ; 17
CAVES_2 ;= $12 ; 18
FLOATING_ISLAND ;= $13 ; 19
ZOZO_INT ;= $14 ; 20
CAVES_3 ;= $15 ; 21
VILLAGE_EXT_3 ;= $16 ; 22
MOUNTAINS_EXT_1 ;= $17 ; 23
MAGITEK_FACTORY ;= $18 ; 24
AIRSHIP_EXT_1 ;= $19 ; 25
AIRSHIP_INT ;= $1a ; 26
CYANS_DREAM ;= $1b ; 27
FOREST ;= $1c ; 28
IMP_CASTLE_EXT ;= $1d ; 29
BEACH ;= $1e ; 30
IMP_CASTLE_INT ;= $1f ; 31
CAVES_4 ;= $20 ; 32
SEALED_GATE ;= $21 ; 33
KEFKAS_TOWER_1 ;= $22 ; 34
BURNING_BUILDING ;= $23 ; 35
TOWN_INT_2 ;= $24 ; 36
NARSHE_INT ;= $25 ; 37
VILLAGE_EXT_2 ;= $26 ; 38
OPERA_2 ;= $27 ; 39
DARILLS_TOMB_1 ;= $28 ; 40
TOWN_EXT_2 ;= $29 ; 41
ZOZO_EXT_2 ;= $2a ; 42
KEFKAS_TOWER_2 ;= $2b ; 43
CLIFFS ;= $2c ; 44
AIRSHIP_EXT_2 ;= $2d ; 45
DARILLS_TOMB_2 ;= $2e ; 46
MOUNTAINS_EXT_2 ;= $2f ; 47
.endenum
MAP_PAL_ARRAY_LENGTH = $30 ; 48
.scope MapPal
ARRAY_LENGTH = MAP_PAL::MOUNTAINS_EXT_2 + 1
.endscope
.endif
.list on

View File

@ -5,179 +5,181 @@ MAP_SPRITE_GFX_INC = 1
.global MapSpriteGfx, VehicleGfx
.enum MAP_SPRITE_GFX
TERRA = $00 ; 0
LOCKE = $01 ; 1
CYAN = $02 ; 2
SHADOW = $03 ; 3
EDGAR = $04 ; 4
SABIN = $05 ; 5
CELES = $06 ; 6
STRAGO = $07 ; 7
RELM = $08 ; 8
SETZER = $09 ; 9
MOG = $0a ; 10
GAU = $0b ; 11
GOGO = $0c ; 12
UMARO = $0d ; 13
SOLDIER = $0e ; 14
IMP = $0f ; 15
LEO = $10 ; 16
BANON = $11 ; 17
ESPER_TERRA = $12 ; 18
MERCHANT = $13 ; 19
GHOST = $14 ; 20
KEFKA = $15 ; 21
GESTAHL = $16 ; 22
OLD_MAN = $17 ; 23
MAN = $18 ; 24
DOG = $19 ; 25
CELES_DRESS = $1a ; 26
RICH_MAN = $1b ; 27
DRACO = $1c ; 28
ARVIS = $1d ; 29
PILOT = $1e ; 30
ULTROS = $1f ; 31
SPIFFY_GAU = $20 ; 32
HOOKER = $21 ; 33
CHANCELLOR = $22 ; 34
BARAM = $23 ; 35
OLD_WOMAN = $24 ; 36
WOMAN = $25 ; 37
BOY = $26 ; 38
GIRL = $27 ; 39
BIRD = $28 ; 40
RACHEL = $29 ; 41
KATARIN = $2a ; 42
IMPRESARIO = $2b ; 43
ESPER_ELDER = $2c ; 44
YURA = $2d ; 45
SIEGFRIED = $2e ; 46
CID = $2f ; 47
MADUIN = $30 ; 48
BANDIT = $31 ; 49
VARGAS = $32 ; 50
MONSTER = $33 ; 51
NARSHE_GUARD = $34 ; 52
TRAIN_CONDUCTOR = $35 ; 53
SHOPKEEPER = $36 ; 54
FAERIE = $37 ; 55
WOLF = $38 ; 56
DRAGON = $39 ; 57
FISH = $3a ; 58
FIGARO_GUARD = $3b ; 59
DARILL = $3c ; 60
CHUPON = $3d ; 61
EMPEROR_SERVANT = $3e ; 62
RAMUH = $3f ; 63
FIGARO_GUARD_RIDING = $40 ; 64
CELES_CHAINS = $41 ; 65
GAU_KUNG_FU = $42 ; 66
GAU_BANDANA = $43 ; 67
KING_DOMA = $44 ; 68
NUMBER_128 = $45 ; 69
MAGI_WARRIOR_1 = $46 ; 70
SKULL_STATUE = $47 ; 71
IFRIT = $48 ; 72
PHANTOM = $49 ; 73
SHIVA = $4a ; 74
UNICORN = $4b ; 75
BISMARK = $4c ; 76
CARBUNCL = $4d ; 77
SHOAT = $4e ; 78
OWZER_1 = $4f ; 79
OWZER_2 = $50 ; 80
BLACKJACK = $51 ; 81
FIGARO_GUARD_DEAD = $52 ; 82
NUMBER_024 = $53 ; 83
TREASURE_CHEST = $54 ; 84
MAGI_WARRIOR_2 = $55 ; 85
ATMA = $56 ; 86
SMALL_STATUE = $57 ; 87
FLOWERS = $58 ; 88
ENVELOPE = $59 ; 89
PLANT = $5a ; 90
MAGICITE = $5b ; 91
BOOK = $5c ; 92
BABY = $5d ; 93
QUESTION_MARK = $5e ; 94
EXCLAMATION_POINT = $5f ; 95
SLAVE_CROWN = $60 ; 96
WEIGHT = $61 ; 97
BIRD_BANDANA = $62 ; 98
EYES = $63 ; 99
BANDANA = $64 ; 100
NOTHING = $65 ; 101
FLYING_BIRD_1 = $66 ; 102
FLYING_BIRD_2 = $67 ; 103
BIG_SPARKLE = $68 ; 104
MULTI_SPARKLES = $69 ; 105
SMALL_SPARKLE = $6a ; 106
COIN = $6b ; 107
RAT = $6c ; 108
TURTLE = $6d ; 109
SMALL_BIRD_UP = $6e ; 110
SAVE_POINT = $6f ; 111
FLAME = $70 ; 112
EXPLOSION = $71 ; 113
TENTACLE_1 = $72 ; 114
TENTACLE_2 = $73 ; 115
BIG_SWITCH = $74 ; 116
FLOOR_SWITCH = $75 ; 117
ROCK = $76 ; 118
CRANE_HOOK_3 = $77 ; 119
ELEVATOR = $78 ; 120
FLYING_TERRA_1 = $79 ; 121
FLYING_TERRA_2 = $7a ; 122
ENDING_TERRA_3 = $7b ; 123
DIVING_HELMET = $7c ; 124
GUARDIAN_1 = $7d ; 125
GUARDIAN_2 = $7e ; 126
GUARDIAN_3 = $7f ; 127
CRANE_HOOK_2 = $80 ; 128
GUARDIAN_4 = $81 ; 129
GUARDIAN_5 = $82 ; 130
GUARDIAN_6 = $83 ; 131
CRANE_HOOK_1 = $84 ; 132
MAGITEK_MACHINE = $85 ; 133
GATE_1 = $86 ; 134
GATE_2 = $87 ; 135
GATE_3 = $88 ; 136
AIR_FORCE = $89 ; 137
LEO_SWORD = $8a ; 138
MAGITEK_TRAIN_1 = $8b ; 139
MAGITEK_TRAIN_2 = $8c ; 140
MAGITEK_TRAIN_3 = $8d ; 141
MAGITEK_TRAIN_4 = $8e ; 142
CRANE_1 = $8f ; 143
CRANE_2 = $90 ; 144
CRANE_3 = $91 ; 145
CHADARNOOK_1 = $92 ; 146
CHADARNOOK_2 = $93 ; 147
CHADARNOOK_3 = $94 ; 148
FALCON_1 = $95 ; 149
FALCON_2 = $96 ; 150
FALCON_3 = $97 ; 151
FLYING_TERRA_3 = $98 ; 152
TRITOCH = $99 ; 153
ODIN = $9a ; 154
GODDESS_1 = $9b ; 155
DOOM_1 = $9c ; 156
POLTERGEIST_1 = $9d ; 157
GODDESS_2 = $9e ; 158
GODDESS_3 = $9f ; 159
DOOM_2 = $a0 ; 160
DOOM_3 = $a1 ; 161
ENDING_TERRA_1 = $a2 ; 162
ENDING_TERRA_2 = $a3 ; 163
SMALL_BIRD_LEFT = $a4 ; 164
TERRA ;= $00 ; 0
LOCKE ;= $01 ; 1
CYAN ;= $02 ; 2
SHADOW ;= $03 ; 3
EDGAR ;= $04 ; 4
SABIN ;= $05 ; 5
CELES ;= $06 ; 6
STRAGO ;= $07 ; 7
RELM ;= $08 ; 8
SETZER ;= $09 ; 9
MOG ;= $0a ; 10
GAU ;= $0b ; 11
GOGO ;= $0c ; 12
UMARO ;= $0d ; 13
SOLDIER ;= $0e ; 14
IMP ;= $0f ; 15
LEO ;= $10 ; 16
BANON ;= $11 ; 17
ESPER_TERRA ;= $12 ; 18
MERCHANT ;= $13 ; 19
GHOST ;= $14 ; 20
KEFKA ;= $15 ; 21
GESTAHL ;= $16 ; 22
OLD_MAN ;= $17 ; 23
MAN ;= $18 ; 24
DOG ;= $19 ; 25
CELES_DRESS ;= $1a ; 26
RICH_MAN ;= $1b ; 27
DRACO ;= $1c ; 28
ARVIS ;= $1d ; 29
PILOT ;= $1e ; 30
ULTROS ;= $1f ; 31
SPIFFY_GAU ;= $20 ; 32
HOOKER ;= $21 ; 33
CHANCELLOR ;= $22 ; 34
BARAM ;= $23 ; 35
OLD_WOMAN ;= $24 ; 36
WOMAN ;= $25 ; 37
BOY ;= $26 ; 38
GIRL ;= $27 ; 39
BIRD ;= $28 ; 40
RACHEL ;= $29 ; 41
KATARIN ;= $2a ; 42
IMPRESARIO ;= $2b ; 43
ESPER_ELDER ;= $2c ; 44
YURA ;= $2d ; 45
SIEGFRIED ;= $2e ; 46
CID ;= $2f ; 47
MADUIN ;= $30 ; 48
BANDIT ;= $31 ; 49
VARGAS ;= $32 ; 50
MONSTER ;= $33 ; 51
NARSHE_GUARD ;= $34 ; 52
TRAIN_CONDUCTOR ;= $35 ; 53
SHOPKEEPER ;= $36 ; 54
FAERIE ;= $37 ; 55
WOLF ;= $38 ; 56
DRAGON ;= $39 ; 57
FISH ;= $3a ; 58
FIGARO_GUARD ;= $3b ; 59
DARILL ;= $3c ; 60
CHUPON ;= $3d ; 61
EMPEROR_SERVANT ;= $3e ; 62
RAMUH ;= $3f ; 63
FIGARO_GUARD_RIDING ;= $40 ; 64
CELES_CHAINS ;= $41 ; 65
GAU_KUNG_FU ;= $42 ; 66
GAU_BANDANA ;= $43 ; 67
KING_DOMA ;= $44 ; 68
NUMBER_128 ;= $45 ; 69
MAGI_WARRIOR_1 ;= $46 ; 70
SKULL_STATUE ;= $47 ; 71
IFRIT ;= $48 ; 72
PHANTOM ;= $49 ; 73
SHIVA ;= $4a ; 74
UNICORN ;= $4b ; 75
BISMARK ;= $4c ; 76
CARBUNCL ;= $4d ; 77
SHOAT ;= $4e ; 78
OWZER_1 ;= $4f ; 79
OWZER_2 ;= $50 ; 80
BLACKJACK ;= $51 ; 81
FIGARO_GUARD_DEAD ;= $52 ; 82
NUMBER_024 ;= $53 ; 83
TREASURE_CHEST ;= $54 ; 84
MAGI_WARRIOR_2 ;= $55 ; 85
ATMA ;= $56 ; 86
SMALL_STATUE ;= $57 ; 87
FLOWERS ;= $58 ; 88
ENVELOPE ;= $59 ; 89
PLANT ;= $5a ; 90
MAGICITE ;= $5b ; 91
BOOK ;= $5c ; 92
BABY ;= $5d ; 93
QUESTION_MARK ;= $5e ; 94
EXCLAMATION_POINT ;= $5f ; 95
SLAVE_CROWN ;= $60 ; 96
WEIGHT ;= $61 ; 97
BIRD_BANDANA ;= $62 ; 98
EYES ;= $63 ; 99
BANDANA ;= $64 ; 100
NOTHING ;= $65 ; 101
FLYING_BIRD_1 ;= $66 ; 102
FLYING_BIRD_2 ;= $67 ; 103
BIG_SPARKLE ;= $68 ; 104
MULTI_SPARKLES ;= $69 ; 105
SMALL_SPARKLE ;= $6a ; 106
COIN ;= $6b ; 107
RAT ;= $6c ; 108
TURTLE ;= $6d ; 109
SMALL_BIRD_UP ;= $6e ; 110
SAVE_POINT ;= $6f ; 111
FLAME ;= $70 ; 112
EXPLOSION ;= $71 ; 113
TENTACLE_1 ;= $72 ; 114
TENTACLE_2 ;= $73 ; 115
BIG_SWITCH ;= $74 ; 116
FLOOR_SWITCH ;= $75 ; 117
ROCK ;= $76 ; 118
CRANE_HOOK_3 ;= $77 ; 119
ELEVATOR ;= $78 ; 120
FLYING_TERRA_1 ;= $79 ; 121
FLYING_TERRA_2 ;= $7a ; 122
ENDING_TERRA_3 ;= $7b ; 123
DIVING_HELMET ;= $7c ; 124
GUARDIAN_1 ;= $7d ; 125
GUARDIAN_2 ;= $7e ; 126
GUARDIAN_3 ;= $7f ; 127
CRANE_HOOK_2 ;= $80 ; 128
GUARDIAN_4 ;= $81 ; 129
GUARDIAN_5 ;= $82 ; 130
GUARDIAN_6 ;= $83 ; 131
CRANE_HOOK_1 ;= $84 ; 132
MAGITEK_MACHINE ;= $85 ; 133
GATE_1 ;= $86 ; 134
GATE_2 ;= $87 ; 135
GATE_3 ;= $88 ; 136
AIR_FORCE ;= $89 ; 137
LEO_SWORD ;= $8a ; 138
MAGITEK_TRAIN_1 ;= $8b ; 139
MAGITEK_TRAIN_2 ;= $8c ; 140
MAGITEK_TRAIN_3 ;= $8d ; 141
MAGITEK_TRAIN_4 ;= $8e ; 142
CRANE_1 ;= $8f ; 143
CRANE_2 ;= $90 ; 144
CRANE_3 ;= $91 ; 145
CHADARNOOK_1 ;= $92 ; 146
CHADARNOOK_2 ;= $93 ; 147
CHADARNOOK_3 ;= $94 ; 148
FALCON_1 ;= $95 ; 149
FALCON_2 ;= $96 ; 150
FALCON_3 ;= $97 ; 151
FLYING_TERRA_3 ;= $98 ; 152
TRITOCH ;= $99 ; 153
ODIN ;= $9a ; 154
GODDESS_1 ;= $9b ; 155
DOOM_1 ;= $9c ; 156
POLTERGEIST_1 ;= $9d ; 157
GODDESS_2 ;= $9e ; 158
GODDESS_3 ;= $9f ; 159
DOOM_2 ;= $a0 ; 160
DOOM_3 ;= $a1 ; 161
ENDING_TERRA_1 ;= $a2 ; 162
ENDING_TERRA_2 ;= $a3 ; 163
SMALL_BIRD_LEFT ;= $a4 ; 164
.endenum
MAP_SPRITE_GFX_ARRAY_LENGTH = $a5 ; 165
.scope MapSpriteGfx
ARRAY_LENGTH = MAP_SPRITE_GFX::SMALL_BIRD_LEFT + 1
; export all map sprite offsets
.repeat MAP_SPRITE_GFX_ARRAY_LENGTH, i
.global .ident(.sprintf("MapSpriteGfx_%04x", i))
.endrep
; export all map sprite offsets
.repeat ARRAY_LENGTH, i
.global .ident(.sprintf("_%d", i))
.endrep
.endscope
.endif
.list on

View File

@ -60,7 +60,9 @@ MAP_SPRITE_PAL_INC = 1
UNUSED_31 = $1f ; 31
.endenum
MAP_SPRITE_PAL_ARRAY_LENGTH = $20 ; 32
.scope MapSpritePal
ARRAY_LENGTH = MAP_SPRITE_PAL::UNUSED_31 + 1
.endscope
.endif
.list on

View File

@ -7,186 +7,190 @@ MONSTER_GFX_INC = 1
; ------------------------------------------------------------------------------
; small stencils (64x64 pixels)
MONSTER_STENCIL_GUARD = $00 ; 0
MONSTER_STENCIL_SOLDIER = $01 ; 1
MONSTER_STENCIL_TEMPLAR = $02 ; 2
MONSTER_STENCIL_NINJA = $03 ; 3
MONSTER_STENCIL_SAMURAI = $04 ; 4
MONSTER_STENCIL_OROG = $05 ; 5
MONSTER_STENCIL_MAG_ROADER_1 = $06 ; 6
MONSTER_STENCIL_HAZER = $07 ; 7
MONSTER_STENCIL_DAHLING = $08 ; 8
MONSTER_STENCIL_RAIN_MAN = $09 ; 9
MONSTER_STENCIL_BRAWLER = $0a ; 10
MONSTER_STENCIL_APOKRYPHOS = $0b ; 11
MONSTER_STENCIL_DARK_FORCE = $0c ; 12
MONSTER_STENCIL_WHISPER = $0d ; 13
MONSTER_STENCIL_OVER_MIND = $0e ; 14
MONSTER_STENCIL_RHODOX = $0f ; 15
MONSTER_STENCIL_WERE_RAT = $10 ; 16
MONSTER_STENCIL_URSUS = $11 ; 17
MONSTER_STENCIL_RHINOTAUR = $12 ; 18
MONSTER_STENCIL_LEAFER = $13 ; 19
MONSTER_STENCIL_STRAY_CAT = $14 ; 20
MONSTER_STENCIL_LOBO = $15 ; 21
MONSTER_STENCIL_DOBERMAN = $16 ; 22
MONSTER_STENCIL_VOMAMMOTH = $17 ; 23
MONSTER_STENCIL_FIDOR = $18 ; 24
MONSTER_STENCIL_BASKERVOR = $19 ; 25
MONSTER_STENCIL_SURIANDER = $1a ; 26
MONSTER_STENCIL_MESOSAUR = $1b ; 27
MONSTER_STENCIL_PTERODON = $1c ; 28
MONSTER_STENCIL_FOSSILFANG = $1d ; 29
MONSTER_STENCIL_TYRANOSAUR = $1e ; 30
MONSTER_STENCIL_DARK_WIND = $1f ; 31
MONSTER_STENCIL_BEAKOR = $20 ; 32
MONSTER_STENCIL_VULTURE = $21 ; 33
MONSTER_STENCIL_HERMITCRAB = $22 ; 34
MONSTER_STENCIL_TRAPPER = $23 ; 35
MONSTER_STENCIL_HORNET = $24 ; 36
MONSTER_STENCIL_CRASSHOPPR = $25 ; 37
MONSTER_STENCIL_DELTA_BUG = $26 ; 38
MONSTER_STENCIL_GILOMANTIS = $27 ; 39
MONSTER_STENCIL_TRILIUM = $28 ; 40
MONSTER_STENCIL_NIGHTSHADE = $29 ; 41
MONSTER_STENCIL_TUMBLEWEED = $2a ; 42
MONSTER_STENCIL_BLOOMPIRE = $2b ; 43
MONSTER_STENCIL_TRILOBITER = $2c ; 44
MONSTER_STENCIL_SIEGFRIED = $2d ; 45
MONSTER_STENCIL_NAUTILOID = $2e ; 46
MONSTER_STENCIL_EXOCITE = $2f ; 47
MONSTER_STENCIL_ANGUIFORM = $30 ; 48
MONSTER_STENCIL_REACH_FROG = $31 ; 49
MONSTER_STENCIL_LIZARD = $32 ; 50
MONSTER_STENCIL_CHICKENLIP = $33 ; 51
MONSTER_STENCIL_PIPSQUEAK = $34 ; 52
MONSTER_STENCIL_MTEKARMOR = $35 ; 53
MONSTER_STENCIL_SKY_ARMOR = $36 ; 54
MONSTER_STENCIL_TELSTAR = $37 ; 55
MONSTER_STENCIL_VAPORITE = $38 ; 56
MONSTER_STENCIL_FLAN = $39 ; 57
MONSTER_STENCIL_ING = $3a ; 58
MONSTER_STENCIL_HUMPTY = $3b ; 59
MONSTER_STENCIL_BRAINPAN = $3c ; 60
MONSTER_STENCIL_CRULLER = $3d ; 61
MONSTER_STENCIL_CACTROT = $3e ; 62
MONSTER_STENCIL_REPO_MAN = $3f ; 63
MONSTER_STENCIL_HARVESTER = $40 ; 64
MONSTER_STENCIL_BOMB = $41 ; 65
MONSTER_STENCIL_STILL_LIFE = $42 ; 66
MONSTER_STENCIL_BOXED_SET = $43 ; 67
MONSTER_STENCIL_SLAMDANCER = $44 ; 68
MONSTER_STENCIL_PUG = $45 ; 69
MONSTER_STENCIL_MAGIC_URN = $46 ; 70
MONSTER_STENCIL_MOVER = $47 ; 71
MONSTER_STENCIL_FIGALIZ = $48 ; 72
MONSTER_STENCIL_ASPIK = $49 ; 73
MONSTER_STENCIL_GHOST = $4a ; 74
MONSTER_STENCIL_ARENEID = $4b ; 75
MONSTER_STENCIL_ACTANEON = $4c ; 76
MONSTER_STENCIL_SAND_HORSE = $4d ; 77
MONSTER_STENCIL_MAD_OSCAR = $4e ; 78
MONSTER_STENCIL_CRAWLY = $4f ; 79
MONSTER_STENCIL_BLEARY = $50 ; 80
MONSTER_STENCIL_MAG_ROADER_2 = $51 ; 81
MONSTER_STENCIL_FORTIS = $52 ; 82
MONSTER_STENCIL_TRIXTER = $53 ; 83
MONSTER_STENCIL_WOOLLY = $54 ; 84
MONSTER_STENCIL_VETERAN = $55 ; 85
MONSTER_STENCIL_WHELK_SHELL = $56 ; 86
MONSTER_STENCIL_GHOSTTRAIN = $57 ; 87
MONSTER_STENCIL_SHIVA = $58 ; 88
MONSTER_STENCIL_IFRIT_BOSS = $59 ; 89
MONSTER_STENCIL_UMARO = $5a ; 90
MONSTER_STENCIL_FLAMEEATER = $5b ; 91
MONSTER_STENCIL_TENTACLE_1 = $5c ; 92
MONSTER_STENCIL_CURLEY = $5d ; 93
MONSTER_STENCIL_LARRY = $5e ; 94
MONSTER_STENCIL_MOE = $5f ; 95
MONSTER_STENCIL_HIDONITE = $60 ; 96
MONSTER_STENCIL_ULTROS_1 = $61 ; 97
MONSTER_STENCIL_ULTROS_2 = $62 ; 98
MONSTER_STENCIL_WHELK_HEAD_1 = $63 ; 99
MONSTER_STENCIL_WHELK_HEAD_2 = $64 ; 100
MONSTER_STENCIL_MERCHANT = $65 ; 101
MONSTER_STENCIL_B_DAY_SUIT = $66 ; 102
MONSTER_STENCIL_TENTACLE_2 = $67 ; 103
MONSTER_STENCIL_RIGHT_BLADE = $68 ; 104
MONSTER_STENCIL_LEFT_BLADE = $69 ; 105
MONSTER_STENCIL_ROUGH = $6a ; 106
MONSTER_STENCIL_STRIKER = $6b ; 107
MONSTER_STENCIL_LASER_GUN = $6c ; 108
MONSTER_STENCIL_SPECK = $6d ; 109
MONSTER_STENCIL_MISSILEBAY = $6e ; 110
MONSTER_STENCIL_KEFKA = $6f ; 111
MONSTER_STENCIL_PIRANHA = $70 ; 112
MONSTER_STENCIL_SOULSAVER = $71 ; 113
MONSTER_STENCIL_RAMUH = $72 ; 114
MONSTER_STENCIL_SIREN = $73 ; 115
MONSTER_STENCIL_SHOAT = $74 ; 116
MONSTER_STENCIL_MADUIN = $75 ; 117
MONSTER_STENCIL_STRAY = $76 ; 118
MONSTER_STENCIL_KIRIN = $77 ; 119
MONSTER_STENCIL_ZONESEEK = $78 ; 120
MONSTER_STENCIL_CARBUNKL = $79 ; 121
MONSTER_STENCIL_PHANTOM = $7a ; 122
MONSTER_STENCIL_SRAPHIM = $7b ; 123
MONSTER_STENCIL_GOLEM = $7c ; 124
MONSTER_STENCIL_UNICORN = $7d ; 125
MONSTER_STENCIL_TIGERBREAK = $7e ; 126
MONSTER_STENCIL_IMP = $7f ; 127
.enum MONSTER_STENCIL_SMALL
GUARD ;= $00 ; 0
SOLDIER ;= $01 ; 1
TEMPLAR ;= $02 ; 2
NINJA ;= $03 ; 3
SAMURAI ;= $04 ; 4
OROG ;= $05 ; 5
MAG_ROADER_1 ;= $06 ; 6
HAZER ;= $07 ; 7
DAHLING ;= $08 ; 8
RAIN_MAN ;= $09 ; 9
BRAWLER ;= $0a ; 10
APOKRYPHOS ;= $0b ; 11
DARK_FORCE ;= $0c ; 12
WHISPER ;= $0d ; 13
OVER_MIND ;= $0e ; 14
RHODOX ;= $0f ; 15
WERE_RAT ;= $10 ; 16
URSUS ;= $11 ; 17
RHINOTAUR ;= $12 ; 18
LEAFER ;= $13 ; 19
STRAY_CAT ;= $14 ; 20
LOBO ;= $15 ; 21
DOBERMAN ;= $16 ; 22
VOMAMMOTH ;= $17 ; 23
FIDOR ;= $18 ; 24
BASKERVOR ;= $19 ; 25
SURIANDER ;= $1a ; 26
MESOSAUR ;= $1b ; 27
PTERODON ;= $1c ; 28
FOSSILFANG ;= $1d ; 29
TYRANOSAUR ;= $1e ; 30
DARK_WIND ;= $1f ; 31
BEAKOR ;= $20 ; 32
VULTURE ;= $21 ; 33
HERMITCRAB ;= $22 ; 34
TRAPPER ;= $23 ; 35
HORNET ;= $24 ; 36
CRASSHOPPR ;= $25 ; 37
DELTA_BUG ;= $26 ; 38
GILOMANTIS ;= $27 ; 39
TRILIUM ;= $28 ; 40
NIGHTSHADE ;= $29 ; 41
TUMBLEWEED ;= $2a ; 42
BLOOMPIRE ;= $2b ; 43
TRILOBITER ;= $2c ; 44
SIEGFRIED ;= $2d ; 45
NAUTILOID ;= $2e ; 46
EXOCITE ;= $2f ; 47
ANGUIFORM ;= $30 ; 48
REACH_FROG ;= $31 ; 49
LIZARD ;= $32 ; 50
CHICKENLIP ;= $33 ; 51
PIPSQUEAK ;= $34 ; 52
MTEKARMOR ;= $35 ; 53
SKY_ARMOR ;= $36 ; 54
TELSTAR ;= $37 ; 55
VAPORITE ;= $38 ; 56
FLAN ;= $39 ; 57
ING ;= $3a ; 58
HUMPTY ;= $3b ; 59
BRAINPAN ;= $3c ; 60
CRULLER ;= $3d ; 61
CACTROT ;= $3e ; 62
REPO_MAN ;= $3f ; 63
HARVESTER ;= $40 ; 64
BOMB ;= $41 ; 65
STILL_LIFE ;= $42 ; 66
BOXED_SET ;= $43 ; 67
SLAMDANCER ;= $44 ; 68
PUG ;= $45 ; 69
MAGIC_URN ;= $46 ; 70
MOVER ;= $47 ; 71
FIGALIZ ;= $48 ; 72
ASPIK ;= $49 ; 73
GHOST ;= $4a ; 74
ARENEID ;= $4b ; 75
ACTANEON ;= $4c ; 76
SAND_HORSE ;= $4d ; 77
MAD_OSCAR ;= $4e ; 78
CRAWLY ;= $4f ; 79
BLEARY ;= $50 ; 80
MAG_ROADER_2 ;= $51 ; 81
FORTIS ;= $52 ; 82
TRIXTER ;= $53 ; 83
WOOLLY ;= $54 ; 84
VETERAN ;= $55 ; 85
WHELK_SHELL ;= $56 ; 86
GHOSTTRAIN ;= $57 ; 87
SHIVA ;= $58 ; 88
IFRIT_BOSS ;= $59 ; 89
UMARO ;= $5a ; 90
FLAMEEATER ;= $5b ; 91
TENTACLE_1 ;= $5c ; 92
CURLEY ;= $5d ; 93
LARRY ;= $5e ; 94
MOE ;= $5f ; 95
HIDONITE ;= $60 ; 96
ULTROS_1 ;= $61 ; 97
ULTROS_2 ;= $62 ; 98
WHELK_HEAD_1 ;= $63 ; 99
WHELK_HEAD_2 ;= $64 ; 100
MERCHANT ;= $65 ; 101
B_DAY_SUIT ;= $66 ; 102
TENTACLE_2 ;= $67 ; 103
RIGHT_BLADE ;= $68 ; 104
LEFT_BLADE ;= $69 ; 105
ROUGH ;= $6a ; 106
STRIKER ;= $6b ; 107
LASER_GUN ;= $6c ; 108
SPECK ;= $6d ; 109
MISSILEBAY ;= $6e ; 110
KEFKA ;= $6f ; 111
PIRANHA ;= $70 ; 112
SOULSAVER ;= $71 ; 113
RAMUH ;= $72 ; 114
SIREN ;= $73 ; 115
SHOAT ;= $74 ; 116
MADUIN ;= $75 ; 117
STRAY ;= $76 ; 118
KIRIN ;= $77 ; 119
ZONESEEK ;= $78 ; 120
CARBUNKL ;= $79 ; 121
PHANTOM ;= $7a ; 122
SRAPHIM ;= $7b ; 123
GOLEM ;= $7c ; 124
UNICORN ;= $7d ; 125
TIGERBREAK ;= $7e ; 126
IMP ;= $7f ; 127
.endenum
; ------------------------------------------------------------------------------
; large stencils (128x128 pixels)
MONSTER_STENCIL_OSTEOSAUR = $00 ; 0
MONSTER_STENCIL_PHUNBABA = $01 ; 1
MONSTER_STENCIL_CHIMERA = $02 ; 2
MONSTER_STENCIL_BEHEMOTH = $03 ; 3
MONSTER_STENCIL_DRAGON = $04 ; 4
MONSTER_STENCIL_CZARDRAGON = $05 ; 5
MONSTER_STENCIL_BRACHOSAUR = $06 ; 6
MONSTER_STENCIL_HARPY = $07 ; 7
MONSTER_STENCIL_HOOVER = $08 ; 8
MONSTER_STENCIL_RIDER = $09 ; 9
MONSTER_STENCIL_CHUPON = $0a ; 10
MONSTER_STENCIL_LETHAL_WPN = $0b ; 11
MONSTER_STENCIL_HADESGIGAS = $0c ; 12
MONSTER_STENCIL_BUFFALAX = $0d ; 13
MONSTER_STENCIL_CRITIC = $0e ; 14
MONSTER_STENCIL_DIDALOS = $0f ; 15
MONSTER_STENCIL_VARGAS = $10 ; 16
MONSTER_STENCIL_TUNNELARMR = $11 ; 17
MONSTER_STENCIL_DADALUMA = $12 ; 18
MONSTER_STENCIL_NUMBER_024 = $13 ; 19
MONSTER_STENCIL_NUMBER_128 = $14 ; 20
MONSTER_STENCIL_CRANE = $15 ; 21
MONSTER_STENCIL_GUARDIAN = $16 ; 22
MONSTER_STENCIL_AIR_FORCE = $17 ; 23
MONSTER_STENCIL_TRITOCH_BOSS = $18 ; 24
MONSTER_STENCIL_ATMAWEAPON = $19 ; 25
MONSTER_STENCIL_DOOM_GAZE = $1a ; 26
MONSTER_STENCIL_CHADARNOOK_LADY = $1b ; 27
MONSTER_STENCIL_HIDON = $1c ; 28
MONSTER_STENCIL_DOOM = $1d ; 29
MONSTER_STENCIL_GODDESS = $1e ; 30
MONSTER_STENCIL_POLTRGEIST = $1f ; 31
MONSTER_STENCIL_FINAL_KEFKA = $20 ; 32
MONSTER_STENCIL_CHADARNOOK_DEMON = $21 ; 33
MONSTER_STENCIL_IFRIT = $22 ; 34
MONSTER_STENCIL_TERRATO = $23 ; 35
MONSTER_STENCIL_BISMARK = $24 ; 36
MONSTER_STENCIL_PALIDOR = $25 ; 37
MONSTER_STENCIL_TRITOCH = $26 ; 38
MONSTER_STENCIL_ODIN = $27 ; 39
MONSTER_STENCIL_RAIDEN = $28 ; 40
MONSTER_STENCIL_BAHAMUT = $29 ; 41
MONSTER_STENCIL_ALEXANDR = $2a ; 42
MONSTER_STENCIL_CRUSADER_1 = $2b ; 43
MONSTER_STENCIL_FENRIR = $2c ; 44
MONSTER_STENCIL_STARLET = $2d ; 45
MONSTER_STENCIL_PHOENIX = $2e ; 46
MONSTER_STENCIL_CRUSADER_2 = $2f ; 47
.enum MONSTER_STENCIL_LARGE
OSTEOSAUR ;= $00 ; 0
PHUNBABA ;= $01 ; 1
CHIMERA ;= $02 ; 2
BEHEMOTH ;= $03 ; 3
DRAGON ;= $04 ; 4
CZARDRAGON ;= $05 ; 5
BRACHOSAUR ;= $06 ; 6
HARPY ;= $07 ; 7
HOOVER ;= $08 ; 8
RIDER ;= $09 ; 9
CHUPON ;= $0a ; 10
LETHAL_WPN ;= $0b ; 11
HADESGIGAS ;= $0c ; 12
BUFFALAX ;= $0d ; 13
CRITIC ;= $0e ; 14
DIDALOS ;= $0f ; 15
VARGAS ;= $10 ; 16
TUNNELARMR ;= $11 ; 17
DADALUMA ;= $12 ; 18
NUMBER_024 ;= $13 ; 19
NUMBER_128 ;= $14 ; 20
CRANE ;= $15 ; 21
GUARDIAN ;= $16 ; 22
AIR_FORCE ;= $17 ; 23
TRITOCH_BOSS ;= $18 ; 24
ATMAWEAPON ;= $19 ; 25
DOOM_GAZE ;= $1a ; 26
CHADARNOOK_LADY ;= $1b ; 27
HIDON ;= $1c ; 28
DOOM ;= $1d ; 29
GODDESS ;= $1e ; 30
POLTRGEIST ;= $1f ; 31
FINAL_KEFKA ;= $20 ; 32
CHADARNOOK_DEMON ;= $21 ; 33
IFRIT ;= $22 ; 34
TERRATO ;= $23 ; 35
BISMARK ;= $24 ; 36
PALIDOR ;= $25 ; 37
TRITOCH ;= $26 ; 38
ODIN ;= $27 ; 39
RAIDEN ;= $28 ; 40
BAHAMUT ;= $29 ; 41
ALEXANDR ;= $2a ; 42
CRUSADER_1 ;= $2b ; 43
FENRIR ;= $2c ; 44
STARLET ;= $2d ; 45
PHOENIX ;= $2e ; 46
CRUSADER_2 ;= $2f ; 47
.endenum
; ------------------------------------------------------------------------------

View File

@ -4,24 +4,26 @@
; ------------------------------------------------------------------------------
PORTRAIT_TERRA = $00
PORTRAIT_LOCKE = $01
PORTRAIT_CYAN = $02
PORTRAIT_SHADOW = $03
PORTRAIT_EDGAR = $04
PORTRAIT_SABIN = $05
PORTRAIT_CELES = $06
PORTRAIT_STRAGO = $07
PORTRAIT_RELM = $08
PORTRAIT_SETZER = $09
PORTRAIT_MOG = $0a
PORTRAIT_GAU = $0b
PORTRAIT_GOGO = $0c
PORTRAIT_UMARO = $0d
PORTRAIT_SOLDIER = $0e
PORTRAIT_IMP = $0f
PORTRAIT_LEO = $10
PORTRAIT_BANON = $11
PORTRAIT_GHOST = $12
.enum PORTRAIT
TERRA ;= $00
LOCKE ;= $01
CYAN ;= $02
SHADOW ;= $03
EDGAR ;= $04
SABIN ;= $05
CELES ;= $06
STRAGO ;= $07
RELM ;= $08
SETZER ;= $09
MOG ;= $0a
GAU ;= $0b
GOGO ;= $0c
UMARO ;= $0d
SOLDIER ;= $0e
IMP ;= $0f
LEO ;= $10
BANON ;= $11
GHOST ;= $12
.endenum
; ------------------------------------------------------------------------------

View File

@ -400,6 +400,32 @@ PSW_C = %00000001
; ------------------------------------------------------------------------------
; [ define bank start address ]
.define bank_start(label) .bankbyte(label) << 16
; ------------------------------------------------------------------------------
; ; [ define ROM array ]
; .mac rom_array label, array_length, item_size
; .scope label
; Start := label
; _array_offset .set 0
; .ifnblank array_length
; ARRAY_LENGTH = array_length
; .endif
; .ifnblank item_size
; ITEM_SIZE = item_size
; .endif
; .endmac
; .mac end_rom_array
; .endscope
; .endmac
; ------------------------------------------------------------------------------
; [ make jump table / label ]
.macro make_jump_tbl label, length
@ -412,72 +438,99 @@ PSW_C = %00000001
; ------------------------------------------------------------------------------
; [ make pointer table (absolute) ]
; [ make pointer table (near) ]
.macro make_ptr_tbl_abs label, length
.repeat length, i
.addr .ident(.sprintf("%s_%04x", .string(label), i))
.endrep
.endmacro
; ------------------------------------------------------------------------------
; [ make pointer table (relative) ]
.macro make_ptr_tbl_rel label, length, offset
.repeat length, i
.ifblank offset
.addr .ident(.sprintf("%s_%04x", .string(label), i)) - label
.macro ptr_tbl label
.local offset
.ifdef label::Start
offset = label::Start
.else
.addr .ident(.sprintf("%s_%04x", .string(label), i)) - offset
offset = 0
.endif
.endrep
.repeat label::ARRAY_LENGTH, i
.addr label::.ident(.sprintf("_%d", i)) - offset
.endrep
.endmacro
; ------------------------------------------------------------------------------
; [ make pointer table (far) ]
.macro make_ptr_tbl_far label, length, offset
.repeat length, i
.ifblank offset
.faraddr .ident(.sprintf("%s_%04x", .string(label), i)) - label
.macro ptr_tbl_far label
.local offset
.ifdef label::Start
offset = label::Start
.else
.faraddr .ident(.sprintf("%s_%04x", .string(label), i)) - offset
offset = 0
.endif
.endrep
.repeat label::ARRAY_LENGTH, i
.faraddr label::.ident(.sprintf("_%d", i)) - offset
.endrep
.endmacro
; ------------------------------------------------------------------------------
; [ make end pointer ]
.mac end_ptr label
.ifdef label::Start
.addr label::End - label::Start
.else
.addr label::End
.endif
.endmac
.mac end_ptr_far label
.ifdef label::Start
.faraddr label::End - label::Start
.else
.faraddr label::End
.endif
.endmac
; ------------------------------------------------------------------------------
; [ begin/end fixed length block ]
.macro begin_block label, size
label := *
.scope label
.endscope
.ifnblank size
.ident(.concat("sizeof_", .string(label))) = size
.endif
::_fixed_block_size .set 0
::_fixed_block_seq .set 0
.mac fixed_block size
.assert ::_fixed_block_size = 0, error, "Fixed blocks can't be nested"
.assert size > 0, error, "Invalid fixed block size"
::_fixed_block_size .set size
.ident(.sprintf("_fixed_block_%d", ::_fixed_block_seq)) := *
.endmac
.macro end_block label, pad_val
.local pad_size
.ifndef .ident(.concat("sizeof_", .string(label)))
.ident(.concat("sizeof_", .string(label))) = * - label
.else
pad_size = (label - *) + .ident(.concat("sizeof_", .string(label)))
.if pad_size < 0
.error .sprintf("Fixed block %s too large by %d bytes", .string(label), -pad_size)
.elseif pad_size > 0
.ifnblank pad_val
.res pad_size, pad_val
.else
.res pad_size
.endif
.mac end_fixed_block pad_val
.assert ::_fixed_block_size <> 0, error, "Invalid fixed block"
.local pad_size, start
start := .ident(.sprintf("_fixed_block_%d", ::_fixed_block_seq))
pad_size = (start - *) + ::_fixed_block_size
.if pad_size < 0
.error .sprintf("Fixed block too large by %d bytes", -pad_size)
.elseif pad_size > 0
.ifnblank pad_val
.res pad_size, pad_val
.else
.res pad_size
.endif
.endif
.endmacro
::_fixed_block_size .set 0
::_fixed_block_seq .set ::_fixed_block_seq + 1
.endmac
; ------------------------------------------------------------------------------
; [ calculate the size of assembled bytecode ]
; place this macro at the end of a block to define a symbol "sizeof_<labal>"
; equal to the size of the block (i.e. the distance from the label to the
; label to the current program counter).
.mac calc_size label
.ident(.concat("sizeof_", .string(label))) = * - label
.endmac
; ------------------------------------------------------------------------------
@ -582,10 +635,10 @@ PSW_C = %00000001
ram_label label
; define labels for array items
.if .defined(NUM_ITEMS) && .defined(ITEM_SIZE)
.if .defined(ARRAY_LENGTH) && .defined(ITEM_SIZE)
.local old_offset
old_offset = ::_ram_offset
.repeat NUM_ITEMS, i
.repeat ARRAY_LENGTH, i
ram_label label, .ident(.sprintf("_%d", i))
.ifdef BLOCK_SIZE
::_ram_offset .set ::_ram_offset + BLOCK_SIZE
@ -649,11 +702,11 @@ PSW_C = %00000001
.endscope
.endmac
.mac ram_array label, num_items, item_size, num_blocks
.mac ram_array label, array_length, item_size, num_blocks
ram_scope label
ITEM_SIZE = item_size
NUM_ITEMS = num_items
SIZE = ITEM_SIZE * NUM_ITEMS
ARRAY_LENGTH = array_length
SIZE = ITEM_SIZE * ARRAY_LENGTH
.ifnblank num_blocks
; array with more than 1 block
.assert item_size .mod num_blocks = 0, error, "Item size must be divisible by the number of blocks"
@ -663,7 +716,7 @@ PSW_C = %00000001
.endif
; create namespaces for each array item
.repeat NUM_ITEMS, i
.repeat ARRAY_LENGTH, i
.scope .ident(.sprintf("_%d", i))
.endscope
::_ram_offset .set START + i * ITEM_SIZE
@ -695,7 +748,7 @@ PSW_C = %00000001
.assert bytes_over <= 0, error, .sprintf("Array block too large by %d bytes", bytes_over)
; go to the next block
::_ram_offset .set block_start + BLOCK_SIZE * NUM_ITEMS
::_ram_offset .set block_start + BLOCK_SIZE * ARRAY_LENGTH
block_start .set ::_ram_offset
.endmac

View File

@ -6,72 +6,74 @@ SAMPLE_BRR_INC = 1
; instrument sample ids
.enum SAMPLE_BRR
GUITAR_STEEL ;= $00 ; 0
BASS_FINGER ;= $01 ; 1
PAN_FLUTE ;= $02 ; 2
BANJO ;= $03 ; 3
CELLO ;= $04 ; 4
VOICE_SYNTH ;= $05 ; 5
FLUTE ;= $06 ; 6
FRENCH_HORN ;= $07 ; 7
SYNTH ;= $08 ; 8
OBOE ;= $09 ; 9
ROCK_ORGAN ;= $0a ; 10
PIANO ;= $0b ; 11
STRINGS ;= $0c ; 12
TRUMPET ;= $0d ; 13
HIHAT_CLOSED ;= $0e ; 14
JEWS_HARP ;= $0f ; 15
HIHAT_OPEN ;= $10 ; 16
CRASH_CYMBAL ;= $11 ; 17
BREATH ;= $12 ; 18
SNARE_ACOUSTIC ;= $13 ; 19
FOOTSTEP ;= $14 ; 20
TIMPANI ;= $15 ; 21
TOM_TOM ;= $16 ; 22
PIZZ_BASS ;= $17 ; 23
PIZZ_STRINGS ;= $18 ; 24
TUBA ;= $19 ; 25
HARP ;= $1a ; 26
BASS_PICK ;= $1b ; 27
MANDOLIN ;= $1c ; 28
GUITAR_DIST ;= $1d ; 29
WHISTLE ;= $1e ; 30
CELESTA ;= $1f ; 31
SNARE_ELECTRIC ;= $20 ; 32
KICK_DRUM ;= $21 ; 33
COWBELL ;= $22 ; 34
BELL ;= $23 ; 35
PIPE_ORGAN ;= $24 ; 36
LAUGH ;= $25 ; 37
CHOCOBO_1 ;= $26 ; 38
CHOCOBO_2 ;= $27 ; 39
CHOCOBO_3 ;= $28 ; 40
FINGER_SNAP ;= $29 ; 41
RIMSHOT ;= $2a ; 42
CONTRABASS ;= $2b ; 43
RATCHET ;= $2c ; 44
BONGO ;= $2d ; 45
SHAKER ;= $2e ; 46
WOOD_BLOCK ;= $2f ; 47
MUSIC_BOX ;= $30 ; 48
GUITAR_NYLON ;= $31 ; 49
BAGPIPES ;= $32 ; 50
SHAKUHACHI ;= $33 ; 51
TOWN_1 ;= $34 ; 52
TOWN_2 ;= $35 ; 53
SLEIGH_BELLS ;= $36 ; 54
VOICE_TENOR ;= $37 ; 55
VOICE_BARITONE ;= $38 ; 56
VOICE_ALTO ;= $39 ; 57
PIPE_ORGAN_LOW ;= $3a ; 58
DEVIL_SFX_1 ;= $3b ; 59
DEVIL_SFX_2 ;= $3c ; 60
XYLOPHONE ;= $3d ; 61
CROWD_NOISE ;= $3e ; 62
GUITAR_STEEL ;= $00 ; 0
BASS_FINGER ;= $01 ; 1
PAN_FLUTE ;= $02 ; 2
BANJO ;= $03 ; 3
CELLO ;= $04 ; 4
VOICE_SYNTH ;= $05 ; 5
FLUTE ;= $06 ; 6
FRENCH_HORN ;= $07 ; 7
SYNTH ;= $08 ; 8
OBOE ;= $09 ; 9
ROCK_ORGAN ;= $0a ; 10
PIANO ;= $0b ; 11
STRINGS ;= $0c ; 12
TRUMPET ;= $0d ; 13
HIHAT_CLOSED ;= $0e ; 14
JEWS_HARP ;= $0f ; 15
HIHAT_OPEN ;= $10 ; 16
CRASH_CYMBAL ;= $11 ; 17
BREATH ;= $12 ; 18
SNARE_ACOUSTIC ;= $13 ; 19
FOOTSTEP ;= $14 ; 20
TIMPANI ;= $15 ; 21
TOM_TOM ;= $16 ; 22
PIZZ_BASS ;= $17 ; 23
PIZZ_STRINGS ;= $18 ; 24
TUBA ;= $19 ; 25
HARP ;= $1a ; 26
BASS_PICK ;= $1b ; 27
MANDOLIN ;= $1c ; 28
GUITAR_DIST ;= $1d ; 29
WHISTLE ;= $1e ; 30
CELESTA ;= $1f ; 31
SNARE_ELECTRIC ;= $20 ; 32
KICK_DRUM ;= $21 ; 33
COWBELL ;= $22 ; 34
BELL ;= $23 ; 35
PIPE_ORGAN ;= $24 ; 36
LAUGH ;= $25 ; 37
CHOCOBO_1 ;= $26 ; 38
CHOCOBO_2 ;= $27 ; 39
CHOCOBO_3 ;= $28 ; 40
FINGER_SNAP ;= $29 ; 41
RIMSHOT ;= $2a ; 42
CONTRABASS ;= $2b ; 43
RATCHET ;= $2c ; 44
BONGO ;= $2d ; 45
SHAKER ;= $2e ; 46
WOOD_BLOCK ;= $2f ; 47
MUSIC_BOX ;= $30 ; 48
GUITAR_NYLON ;= $31 ; 49
BAGPIPES ;= $32 ; 50
SHAKUHACHI ;= $33 ; 51
TOWN_1 ;= $34 ; 52
TOWN_2 ;= $35 ; 53
SLEIGH_BELLS ;= $36 ; 54
VOICE_TENOR ;= $37 ; 55
VOICE_BARITONE ;= $38 ; 56
VOICE_ALTO ;= $39 ; 57
PIPE_ORGAN_LOW ;= $3a ; 58
DEVIL_SFX_1 ;= $3b ; 59
DEVIL_SFX_2 ;= $3c ; 60
XYLOPHONE ;= $3d ; 61
CROWD_NOISE ;= $3e ; 62
.endenum
SAMPLE_BRR::ARRAY_LENGTH = $3f ; 64
.scope SampleBRR
ARRAY_LENGTH = SAMPLE_BRR::CROWD_NOISE + 1
.endscope
.endif
.list on

View File

@ -6,95 +6,97 @@ SONG_SCRIPT_INC = 1
; song ids
.enum SONG
SILENCE ;= $00 ; 0
PRELUDE ;= $01 ; 1
OPENING_THEME_1 ;= $02 ; 2
OPENING_THEME_2 ;= $03 ; 3
OPENING_THEME_3 ;= $04 ; 4
AWAKENING ;= $05 ; 5
TERRA ;= $06 ; 6
SHADOW ;= $07 ; 7
STRAGO ;= $08 ; 8
GAU ;= $09 ; 9
FIGARO ;= $0a ; 10
COIN_SONG ;= $0b ; 11
CYAN ;= $0c ; 12
LOCKE ;= $0d ; 13
FOREVER_RACHEL ;= $0e ; 14
RELM ;= $0f ; 15
SETZER ;= $10 ; 16
EPITAPH ;= $11 ; 17
CELES ;= $12 ; 18
TECHNO_DE_CHOCOBO ;= $13 ; 19
DECISIVE_BATTLE ;= $14 ; 20
JOHNNY_C_BAD ;= $15 ; 21
KEFKA ;= $16 ; 22
NARSHE ;= $17 ; 23
PHANTOM_FOREST ;= $18 ; 24
VELDT ;= $19 ; 25
SAVE_THEM ;= $1a ; 26
GESTAHL ;= $1b ; 27
TROOPS_MARCH_ON ;= $1c ; 28
UNDER_MARTIAL_LAW ;= $1d ; 29
WATERFALL ;= $1e ; 30
METAMORPHOSIS ;= $1f ; 31
PHANTOM_TRAIN ;= $20 ; 32
ESPER_WORLD ;= $21 ; 33
GRAND_FINALE_2 ;= $22 ; 34
MT_KOLTS ;= $23 ; 35
BATTLE_THEME ;= $24 ; 36
FANFARE ;= $25 ; 37
WEDDING_WALTZ_1 ;= $26 ; 38
ARIA_DI_MEZZO_CARATERRE ;= $27 ; 39
SERPENT_TRENCH ;= $28 ; 40
SLAM_SHUFFLE ;= $29 ; 41
KIDS_RUN_THROUGH_THE_CITY ;= $2a ; 42
HUH ;= $2b ; 43
GRAND_FINALE_1 ;= $2c ; 44
GOGO ;= $2d ; 45
RETURNERS ;= $2e ; 46
VICTORY_FANFARE ;= $2f ; 47
UMARO ;= $30 ; 48
MOG ;= $31 ; 49
THE_UNFORGIVEN ;= $32 ; 50
FIERCE_BATTLE ;= $33 ; 51
DAY_AFTER ;= $34 ; 52
BLACKJACK ;= $35 ; 53
CATASTROPHE ;= $36 ; 54
MAGIC_HOUSE ;= $37 ; 55
NIGHTY_NIGHT ;= $38 ; 56
WIND ;= $39 ; 57
WINDY_SHORES ;= $3a ; 58
DANCING_MAD_1_2_3 ;= $3b ; 59
TRAIN_BRAKING ;= $3c ; 60
SPINACH_RAG ;= $3d ; 61
REST_IN_PEACE ;= $3e ; 62
CHOCOBOS_RUNNING ;= $3f ; 63
DREAM_OF_A_TRAIN ;= $40 ; 64
OVERTURE_1 ;= $41 ; 65
OVERTURE_2 ;= $42 ; 66
OVERTURE_3 ;= $43 ; 67
WEDDING_WALTZ_2 ;= $44 ; 68
WEDDING_WALTZ_3 ;= $45 ; 69
WEDDING_WALTZ_4 ;= $46 ; 70
DEVILS_LAB ;= $47 ; 71
FIRE_EXPLOSION ;= $48 ; 72
CRANES_RISING ;= $49 ; 73
BURNING_HOUSE ;= $4a ; 74
NEW_CONTINENT ;= $4b ; 75
SEARCHING_FOR_FRIENDS ;= $4c ; 76
FANATICS ;= $4d ; 77
LAST_DUNGEON ;= $4e ; 78
DARK_WORLD ;= $4f ; 79
DANCING_MAD_5 ;= $50 ; 80
SONG_0051 ;= $51 ; 81
DANCING_MAD_4 ;= $52 ; 82
ENDING_THEME_1 ;= $53 ; 83
ENDING_THEME_2 ;= $54 ; 84
SILENCE ;= $00 ; 0
PRELUDE ;= $01 ; 1
OPENING_THEME_1 ;= $02 ; 2
OPENING_THEME_2 ;= $03 ; 3
OPENING_THEME_3 ;= $04 ; 4
AWAKENING ;= $05 ; 5
TERRA ;= $06 ; 6
SHADOW ;= $07 ; 7
STRAGO ;= $08 ; 8
GAU ;= $09 ; 9
FIGARO ;= $0a ; 10
COIN_SONG ;= $0b ; 11
CYAN ;= $0c ; 12
LOCKE ;= $0d ; 13
FOREVER_RACHEL ;= $0e ; 14
RELM ;= $0f ; 15
SETZER ;= $10 ; 16
EPITAPH ;= $11 ; 17
CELES ;= $12 ; 18
TECHNO_DE_CHOCOBO ;= $13 ; 19
DECISIVE_BATTLE ;= $14 ; 20
JOHNNY_C_BAD ;= $15 ; 21
KEFKA ;= $16 ; 22
NARSHE ;= $17 ; 23
PHANTOM_FOREST ;= $18 ; 24
VELDT ;= $19 ; 25
SAVE_THEM ;= $1a ; 26
GESTAHL ;= $1b ; 27
TROOPS_MARCH_ON ;= $1c ; 28
UNDER_MARTIAL_LAW ;= $1d ; 29
WATERFALL ;= $1e ; 30
METAMORPHOSIS ;= $1f ; 31
PHANTOM_TRAIN ;= $20 ; 32
ESPER_WORLD ;= $21 ; 33
GRAND_FINALE_2 ;= $22 ; 34
MT_KOLTS ;= $23 ; 35
BATTLE_THEME ;= $24 ; 36
FANFARE ;= $25 ; 37
WEDDING_WALTZ_1 ;= $26 ; 38
ARIA_DI_MEZZO_CARATERRE ;= $27 ; 39
SERPENT_TRENCH ;= $28 ; 40
SLAM_SHUFFLE ;= $29 ; 41
KIDS_RUN_THROUGH_THE_CITY ;= $2a ; 42
HUH ;= $2b ; 43
GRAND_FINALE_1 ;= $2c ; 44
GOGO ;= $2d ; 45
RETURNERS ;= $2e ; 46
VICTORY_FANFARE ;= $2f ; 47
UMARO ;= $30 ; 48
MOG ;= $31 ; 49
THE_UNFORGIVEN ;= $32 ; 50
FIERCE_BATTLE ;= $33 ; 51
DAY_AFTER ;= $34 ; 52
BLACKJACK ;= $35 ; 53
CATASTROPHE ;= $36 ; 54
MAGIC_HOUSE ;= $37 ; 55
NIGHTY_NIGHT ;= $38 ; 56
WIND ;= $39 ; 57
WINDY_SHORES ;= $3a ; 58
DANCING_MAD_1_2_3 ;= $3b ; 59
TRAIN_BRAKING ;= $3c ; 60
SPINACH_RAG ;= $3d ; 61
REST_IN_PEACE ;= $3e ; 62
CHOCOBOS_RUNNING ;= $3f ; 63
DREAM_OF_A_TRAIN ;= $40 ; 64
OVERTURE_1 ;= $41 ; 65
OVERTURE_2 ;= $42 ; 66
OVERTURE_3 ;= $43 ; 67
WEDDING_WALTZ_2 ;= $44 ; 68
WEDDING_WALTZ_3 ;= $45 ; 69
WEDDING_WALTZ_4 ;= $46 ; 70
DEVILS_LAB ;= $47 ; 71
FIRE_EXPLOSION ;= $48 ; 72
CRANES_RISING ;= $49 ; 73
BURNING_HOUSE ;= $4a ; 74
NEW_CONTINENT ;= $4b ; 75
SEARCHING_FOR_FRIENDS ;= $4c ; 76
FANATICS ;= $4d ; 77
LAST_DUNGEON ;= $4e ; 78
DARK_WORLD ;= $4f ; 79
DANCING_MAD_5 ;= $50 ; 80
SONG_81 ;= $51 ; 81
DANCING_MAD_4 ;= $52 ; 82
ENDING_THEME_1 ;= $53 ; 83
ENDING_THEME_2 ;= $54 ; 84
NONE = $ff
.endenum
SONG_SCRIPT_ARRAY_LENGTH = $55 ; 85
.scope SongScript
ARRAY_LENGTH = SONG::ENDING_THEME_2 + 1
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ ATTACK_MSG_INC = 1
.global AttackMsg, AttackMsgPtrs
.scope AttackMsg
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ ATTACK_MSG_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ ATTACK_MSG_INC = 1
.global AttackMsg, AttackMsgPtrs
.scope AttackMsg
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ ATTACK_MSG_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ ATTACK_NAME_INC = 1
.global AttackName
.scope AttackName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ ATTACK_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ ATTACK_NAME_INC = 1
.global AttackName
.scope AttackName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ ATTACK_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ BATTLE_CMD_NAME_INC = 1
.global BattleCmdName
.scope BattleCmdName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ BATTLE_CMD_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ BATTLE_CMD_NAME_INC = 1
.global BattleCmdName
.scope BattleCmdName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ BATTLE_CMD_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ BATTLE_DLG_INC = 1
.global BattleDlg, BattleDlgPtrs
.scope BattleDlg
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ BATTLE_DLG_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ BATTLE_DLG_INC = 1
.global BattleDlg, BattleDlgPtrs
.scope BattleDlg
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ BATTLE_DLG_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ BLITZ_DESC_INC = 1
.global BlitzDesc, BlitzDescPtrs
.scope BlitzDesc
Start := BlitzDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ BLITZ_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ BLITZ_DESC_INC = 1
.global BlitzDesc, BlitzDescPtrs
.scope BlitzDesc
Start := BlitzDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ BLITZ_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ BUSHIDO_DESC_INC = 1
.global BushidoDesc, BushidoDescPtrs
.scope BushidoDesc
Start := BushidoDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ BUSHIDO_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ BUSHIDO_DESC_INC = 1
.global BushidoDesc, BushidoDescPtrs
.scope BushidoDesc
Start := BushidoDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ BUSHIDO_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ BUSHIDO_NAME_INC = 1
.global BushidoName
.scope BushidoName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ BUSHIDO_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ BUSHIDO_NAME_INC = 1
.global BushidoName
.scope BushidoName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ BUSHIDO_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ CHAR_NAME_INC = 1
.global CharName
.scope CharName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ CHAR_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ CHAR_NAME_INC = 1
.global CharName
.scope CharName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ CHAR_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ CHAR_TITLE_INC = 1
.global CharTitle
.scope CharTitle
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ CHAR_TITLE_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ DANCE_NAME_INC = 1
.global DanceName
.scope DanceName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ DANCE_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ DANCE_NAME_INC = 1
.global DanceName
.scope DanceName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ DANCE_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ DLG1_INC = 1
.global Dlg1, Dlg1Ptrs
.scope Dlg1
Start = Dlg1
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ DLG1_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ DLG1_INC = 1
.global Dlg1, Dlg1Ptrs
.scope Dlg1
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ DLG1_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ DLG2_INC = 1
.global Dlg2, Dlg2Ptrs
.scope Dlg2
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ DLG2_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ DLG2_INC = 1
.global Dlg2, Dlg2Ptrs
.scope Dlg2
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ DLG2_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ GENJU_ATTACK_DESC_INC = 1
.global GenjuAttackDesc, GenjuAttackDescPtrs
.scope GenjuAttackDesc
Start := GenjuAttackDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ GENJU_ATTACK_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ GENJU_ATTACK_DESC_INC = 1
.global GenjuAttackDesc, GenjuAttackDescPtrs
.scope GenjuAttackDesc
Start := GenjuAttackDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ GENJU_ATTACK_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ GENJU_ATTACK_NAME_INC = 1
.global GenjuAttackName
.scope GenjuAttackName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ GENJU_ATTACK_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ GENJU_ATTACK_NAME_INC = 1
.global GenjuAttackName
.scope GenjuAttackName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ GENJU_ATTACK_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ GENJU_BONUS_DESC_INC = 1
.global GenjuBonusDesc, GenjuBonusDescPtrs
.scope GenjuBonusDesc
Start := GenjuBonusDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ GENJU_BONUS_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ GENJU_BONUS_DESC_INC = 1
.global GenjuBonusDesc, GenjuBonusDescPtrs
.scope GenjuBonusDesc
Start := GenjuBonusDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ GENJU_BONUS_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ GENJU_BONUS_NAME_INC = 1
.global GenjuBonusName
.scope GenjuBonusName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ GENJU_BONUS_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ GENJU_BONUS_NAME_INC = 1
.global GenjuBonusName
.scope GenjuBonusName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ GENJU_BONUS_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ GENJU_NAME_INC = 1
.global GenjuName
.scope GenjuName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ GENJU_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ GENJU_NAME_INC = 1
.global GenjuName
.scope GenjuName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ GENJU_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ ITEM_DESC_INC = 1
.global ItemDesc, ItemDescPtrs
.scope ItemDesc
Start := ItemDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ ITEM_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ ITEM_DESC_INC = 1
.global ItemDesc, ItemDescPtrs
.scope ItemDesc
Start := ItemDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ ITEM_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ ITEM_NAME_INC = 1
.global ItemName
.scope ItemName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ ITEM_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ ITEM_NAME_INC = 1
.global ItemName
.scope ItemName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ ITEM_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ ITEM_TYPE_NAME_INC = 1
.global ItemTypeName
.scope ItemTypeName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ ITEM_TYPE_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ LORE_DESC_INC = 1
.global LoreDesc, LoreDescPtrs
.scope LoreDesc
Start := LoreDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ LORE_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ LORE_DESC_INC = 1
.global LoreDesc, LoreDescPtrs
.scope LoreDesc
Start := LoreDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ LORE_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ MAGIC_DESC_INC = 1
.global MagicDesc, MagicDescPtrs
.scope MagicDesc
Start := MagicDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ MAGIC_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ MAGIC_DESC_INC = 1
.global MagicDesc, MagicDescPtrs
.scope MagicDesc
Start := MagicDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ MAGIC_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ MAGIC_NAME_INC = 1
.global MagicName
.scope MagicName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ MAGIC_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ MAGIC_NAME_INC = 1
.global MagicName
.scope MagicName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ MAGIC_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ MAP_TITLE_INC = 1
.global MapTitle, MapTitlePtrs
.scope MapTitle
Start := MapTitle
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ MAP_TITLE_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ MAP_TITLE_INC = 1
.global MapTitle, MapTitlePtrs
.scope MapTitle
Start := MapTitle
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ MAP_TITLE_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ MONSTER_DLG_INC = 1
.global MonsterDlg, MonsterDlgPtrs
.scope MonsterDlg
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ MONSTER_DLG_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ MONSTER_DLG_INC = 1
.global MonsterDlg, MonsterDlgPtrs
.scope MonsterDlg
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ MONSTER_DLG_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ MONSTER_NAME_INC = 1
.global MonsterName
.scope MonsterName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ MONSTER_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ MONSTER_NAME_INC = 1
.global MonsterName
.scope MonsterName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ MONSTER_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ MONSTER_SPECIAL_NAME_INC = 1
.global MonsterSpecialName
.scope MonsterSpecialName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ MONSTER_SPECIAL_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ MONSTER_SPECIAL_NAME_INC = 1
.global MonsterSpecialName
.scope MonsterSpecialName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ MONSTER_SPECIAL_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ RARE_ITEM_DESC_INC = 1
.global RareItemDesc, RareItemDescPtrs
.scope RareItemDesc
Start = RareItemDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ RARE_ITEM_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,10 @@ RARE_ITEM_DESC_INC = 1
.global RareItemDesc, RareItemDescPtrs
.scope RareItemDesc
Start = RareItemDesc
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +15,7 @@ RARE_ITEM_DESC_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ RARE_ITEM_NAME_INC = 1
.global RareItemName
.scope RareItemName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ RARE_ITEM_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ RARE_ITEM_NAME_INC = 1
.global RareItemName
.scope RareItemName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ RARE_ITEM_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ STATUS_NAME_INC = 1
.global StatusName
.scope StatusName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ STATUS_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

View File

@ -4,6 +4,8 @@ STATUS_NAME_INC = 1
.global StatusName
.scope StatusName
; ##############################################################################
; ### AUTOMATICALLY GENERATED CODE, DO NOT MODIFY MANUALLY ###
; ##############################################################################
@ -11,5 +13,7 @@ STATUS_NAME_INC = 1
; ##############################################################################
.endscope
.endif
.list on

File diff suppressed because it is too large Load Diff

View File

@ -7446,7 +7446,7 @@ InitAI:
longa
asl
tax
lda f:AIScriptPtr,x ; pointer to ai script
lda f:AIScriptPtrs,x ; pointer to ai script
sta $3254,y
tax
shorta
@ -8857,7 +8857,7 @@ SetControlCmd:
phy
php
longai_clc
lda f:CmdPropPtrTbl,x
lda f:CmdPropPtrs,x
adc #$0030
sta f:hWMADDL
tyx
@ -13562,7 +13562,7 @@ UpdateCmdList:
php
longai
txy
lda f:CmdPropPtrTbl,x
lda f:CmdPropPtrs,x
tax
shorta
lda $3018,y
@ -13699,7 +13699,7 @@ InitCmdList:
php
longai
ldy $3010,x ; pointer to character data (+$001600)
lda f:CmdPropPtrTbl,x ; pointer to character command list data (+$7e0000)
lda f:CmdPropPtrs,x ; pointer to character command list data (+$7e0000)
sta f:hWMADDL
lda $1616,y ; +++$fc = battle commands
sta $fc
@ -13870,7 +13870,7 @@ InitCmd_05:
; ------------------------------------------------------------------------------
; pointers to character command list data (+$7e0000)
CmdPropPtrTbl:
CmdPropPtrs:
@544a: .word $202e,$203a,$2046,$2052
; ------------------------------------------------------------------------------
@ -16443,9 +16443,10 @@ BattleProp:
.incbin "battle_prop.dat"
; cf/6200
begin_block BattleMonsters, $2200
BattleMonsters:
fixed_block $2200
.incbin "battle_monsters.dat"
end_block BattleMonsters
end_fixed_block
; ------------------------------------------------------------------------------

File diff suppressed because it is too large Load Diff

View File

@ -45,12 +45,12 @@ end_ram_array
; .out .sprintf("wItemList %06x", wItemList)
; .out .sprintf("wItemList::Index %06x", wItemList::Index)
; .out .sprintf("wItemList::Flags %06x", wItemList::Flags)
; .out .sprintf("wItemList::_00::Index %06x", wItemList::_00::Index)
; .out .sprintf("wItemList::_01::Index %06x", wItemList::_01::Index)
; .out .sprintf("wItemList::_02::Index %06x", wItemList::_02::Index)
; .out .sprintf("wItemList::_03::Index %06x", wItemList::_03::Index)
; .out .sprintf("wItemList::_03::Flags %06x", wItemList::_03::Flags)
; .out .sprintf("wItemList::_ff::Flags %06x", wItemList::_ff::Flags)
; .out .sprintf("wItemList::_0::Index %06x", wItemList::_0::Index)
; .out .sprintf("wItemList::_1::Index %06x", wItemList::_1::Index)
; .out .sprintf("wItemList::_2::Index %06x", wItemList::_2::Index)
; .out .sprintf("wItemList::_3::Index %06x", wItemList::_3::Index)
; .out .sprintf("wItemList::_3::Flags %06x", wItemList::_3::Flags)
; .out .sprintf("wItemList::_255::Flags %06x", wItemList::_255::Flags)
ram_res w7e4305, 240
ram_res w7e43f5, 151 * 4
ram_res w7e4651, 73 * 4
@ -245,19 +245,19 @@ ram_array wCharGfxData, 4, 32
ram_word w7e61d4
end_ram_array
.define wChar1GfxData wCharGfxData::_00
.define wChar2GfxData wCharGfxData::_01
.define wChar3GfxData wCharGfxData::_02
.define wChar4GfxData wCharGfxData::_03
.define wChar1GfxData wCharGfxData::_0
.define wChar2GfxData wCharGfxData::_1
.define wChar3GfxData wCharGfxData::_2
.define wChar4GfxData wCharGfxData::_3
; .out .sprintf("wCharGfxData %06x", wCharGfxData)
; .out .sprintf("wCharGfxData_near %06x", wCharGfxData_near)
; .out .sprintf("wCharGfxData_far %06x", wCharGfxData_far)
; .out .sprintf("wCharGfxData::w7e61cf %06x", wCharGfxData::w7e61cf)
; .out .sprintf("wCharGfxData::_00::w7e61cb %06x", wCharGfxData::_00::w7e61cb)
; .out .sprintf("wCharGfxData::_01::w7e61cb %06x", wCharGfxData::_01::w7e61cb)
; .out .sprintf("wCharGfxData::_02::w7e61cb %06x", wCharGfxData::_02::w7e61cb)
; .out .sprintf("wCharGfxData::_03::w7e61cb %06x", wCharGfxData::_03::w7e61cb)
; .out .sprintf("wCharGfxData::_0::w7e61cb %06x", wCharGfxData::_0::w7e61cb)
; .out .sprintf("wCharGfxData::_1::w7e61cb %06x", wCharGfxData::_1::w7e61cb)
; .out .sprintf("wCharGfxData::_2::w7e61cb %06x", wCharGfxData::_2::w7e61cb)
; .out .sprintf("wCharGfxData::_3::w7e61cb %06x", wCharGfxData::_3::w7e61cb)
; .out .sprintf("wChar4GfxData::w7e61cb %06x", wChar4GfxData::w7e61cb)
ram_res w7e6236, 4 * 4
ram_res w7e6246, 4 * 4

View File

@ -1292,13 +1292,13 @@ LoadTitleGfx:
jsr TfrVRAM
clr_ax
longa
lda f:MapGfxPtrs+MAP_GFX_SEALED_GATE_1*3,x
lda f:MapGfxPtrs+MAP_GFX::SEALED_GATE_1*3,x
clc
adc #.loword(MapGfx)
sta $e7
inx2
shorta
lda f:MapGfxPtrs+MAP_GFX_SEALED_GATE_1*3,x
lda f:MapGfxPtrs+MAP_GFX::SEALED_GATE_1*3,x
adc #^MapGfx
sta $e9
ldy #$2000 ; size = $2000

View File

@ -1572,11 +1572,11 @@ InitOpeningGfx:
; load map graphics 34
longa_clc
lda f:MapGfxPtrs+MAP_GFX_NARSHE_EXT_4*3
lda f:MapGfxPtrs+MAP_GFX::NARSHE_EXT_4*3
adc #.loword(MapGfx)
sta $e7
shorta
lda f:MapGfxPtrs+MAP_GFX_NARSHE_EXT_4*3+2
lda f:MapGfxPtrs+MAP_GFX::NARSHE_EXT_4*3+2
adc #^MapGfx
sta $e9
ldy #$9800
@ -1589,11 +1589,11 @@ InitOpeningGfx:
; load map graphics 31 (skip the first $0800 bytes)
longa_clc
lda f:MapGfxPtrs+MAP_GFX_NARSHE_EXT_2*3
lda f:MapGfxPtrs+MAP_GFX::NARSHE_EXT_2*3
adc #.loword(MapGfx+$0800)
sta $e7
shorta
lda f:MapGfxPtrs+MAP_GFX_NARSHE_EXT_2*3+2
lda f:MapGfxPtrs+MAP_GFX::NARSHE_EXT_2*3+2
adc #^(MapGfx+$0800)
sta $e9
ldy #$a000
@ -1606,11 +1606,11 @@ InitOpeningGfx:
; load map graphics 32
longa_clc
lda f:MapGfxPtrs+MAP_GFX_NARSHE_EXT_3*3
lda f:MapGfxPtrs+MAP_GFX::NARSHE_EXT_3*3
adc #.loword(MapGfx)
sta $e7
shorta
lda f:MapGfxPtrs+MAP_GFX_NARSHE_EXT_3*3+2
lda f:MapGfxPtrs+MAP_GFX::NARSHE_EXT_3*3+2
adc #^MapGfx
sta $e9
ldy #$a800

View File

@ -41,7 +41,8 @@
.segment "event_script"
begin_block EventScript, $02e600
EventScript:
fixed_block $02e600
; ------------------------------------------------------------------------------
@ -113117,6 +113118,6 @@ _cce486:
; ------------------------------------------------------------------------------
end_block EventScript
end_fixed_block
; ------------------------------------------------------------------------------

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -274,6 +274,16 @@ loop: lda $7e7200,x
; [ init bg1/bg2 animation ]
.scope MapBGAnimProp
ARRAY_LENGTH = 20
Start := MapBGAnimProp
AnimSpeed := Start
Frame1 := Start + 2
Frame2 := Start + 4
Frame3 := Start + 6
Frame4 := Start + 8
.endscope
.proc InitBG12Anim
lda $053b ; bg1/bg2 animation index
and #$1f
@ -289,15 +299,15 @@ loop1: lda #$e6
longa_clc
clr_a
sta $1069,y ; clear animation counter
lda f:MapBGAnimProp,x ; animation speed
lda f:MapBGAnimProp::AnimSpeed,x
sta $106b,y
lda f:MapBGAnimProp+2,x ; frame 1 pointer
lda f:MapBGAnimProp::Frame1,x
sta $106e,y
lda f:MapBGAnimProp+4,x ; frame 2 pointer
lda f:MapBGAnimProp::Frame2,x
sta $1070,y
lda f:MapBGAnimProp+6,x ; frame 3 pointer
lda f:MapBGAnimProp::Frame3,x
sta $1072,y
lda f:MapBGAnimProp+8,x ; frame 4 pointer
lda f:MapBGAnimProp::Frame4,x
sta $1074,y
txa
adc #10 ; next tile (8 tiles total)
@ -324,7 +334,7 @@ loop1: lda #$e6
shorta0
loop2: tyx
longa_clc
lda f:MapBGAnimProp+2,x ; frame 1 pointer
lda f:MapBGAnimProp::Frame1,x
tax
shorta0
lda #$80 ; $1b = tile graphics counter (4 frames per tile, 32 bytes per frame)
@ -369,6 +379,21 @@ loop2: tyx
; [ init bg3 animation ]
.scope MapBG3AnimProp
ARRAY_LENGTH = 6
Start := MapBG3AnimProp
AnimSpeed := Start
GfxSize := Start + 2
Frame1 := Start + 4
Frame2 := Start + 6
Frame3 := Start + 8
Frame4 := Start + 10
Frame5 := Start + 12
Frame6 := Start + 14
Frame7 := Start + 16
Frame8 := Start + 18
.endscope
.proc InitBG3Anim
lda $053b ; bg3 animation index
and #$e0
@ -384,25 +409,25 @@ loop2: tyx
tax
clr_a
sta $10d1 ; clear animation counter
lda f:MapBG3AnimProp,x ; animation speed
lda f:MapBG3AnimProp::AnimSpeed,x
sta $10d3
lda f:MapBG3AnimProp+2,x ; size
lda f:MapBG3AnimProp::GfxSize,x
sta $10d5
lda f:MapBG3AnimProp+4,x ; frame 1 pointer
lda f:MapBG3AnimProp::Frame1,x
sta $10d7
lda f:MapBG3AnimProp+6,x ; frame 2 pointer
lda f:MapBG3AnimProp::Frame2,x
sta $10d9
lda f:MapBG3AnimProp+8,x ; frame 3 pointer
lda f:MapBG3AnimProp::Frame3,x
sta $10db
lda f:MapBG3AnimProp+10,x ; frame 4 pointer
lda f:MapBG3AnimProp::Frame4,x
sta $10dd
lda f:MapBG3AnimProp+12,x ; frame 5 pointer
lda f:MapBG3AnimProp::Frame5,x
sta $10df
lda f:MapBG3AnimProp+14,x ; frame 6 pointer
lda f:MapBG3AnimProp::Frame6,x
sta $10e1
lda f:MapBG3AnimProp+16,x ; frame 7 pointer
lda f:MapBG3AnimProp::Frame7,x
sta $10e3
lda f:MapBG3AnimProp+18,x ; frame 8 pointer
lda f:MapBG3AnimProp::Frame8,x
sta $10e5
shorta0
tya
@ -632,23 +657,21 @@ done: rts
; ------------------------------------------------------------------------------
MAP_BG_ANIM_PROP_ARRAY_LENGTH = 20
MapBGAnimPropPtrs:
@91d5: make_ptr_tbl_rel MapBGAnimProp, MAP_BG_ANIM_PROP_ARRAY_LENGTH
.addr MapBGAnimPropEnd - MapBGAnimProp
@91d5: ptr_tbl MapBGAnimProp
end_ptr MapBGAnimProp
MapBGAnimProp:
@91ff: .include "map_bg_anim_prop.asm"
MapBGAnimPropEnd := *
MAP_BG3_ANIM_PROP_ARRAY_LENGTH = 6
MapBGAnimProp::End:
MapBG3AnimPropPtrs:
@979f: make_ptr_tbl_rel MapBG3AnimProp, MAP_BG3_ANIM_PROP_ARRAY_LENGTH
.addr MapBG3AnimPropEnd - MapBG3AnimProp
@979f: ptr_tbl MapBG3AnimProp
end_ptr MapBG3AnimProp
MapBG3AnimProp:
@97ad: .include "map_bg3_anim_prop.asm"
MapBG3AnimPropEnd := *
MapBG3AnimProp::End:
MapPalAnimProp:
@9825: .incbin "map_pal_anim_prop.dat"

View File

@ -163,7 +163,7 @@ CharProp:
; 2: cyan
make_char_prop
set_char_prop_hp_mp 53, 5
set_char_prop_cmds FIGHT, SWDTECH, MAGIC, ITEM
set_char_prop_cmds FIGHT, BUSHIDO, MAGIC, ITEM
set_char_prop_stats 40, 28, 33, 25, 25, 48, 20, 6, 1
set_char_prop_equip ASHURA, BUCKLER, LEATHER_HAT, LEATHERARMOR
set_char_prop_flags RUN_FACTOR_LOW, LEVEL_MOD_HIGH

Some files were not shown because too many files have changed in this diff Show More