summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordannye <33dannye@gmail.com>2021-02-13 10:41:34 -0600
committerdannye <33dannye@gmail.com>2021-02-13 10:41:34 -0600
commitbc25764d6c32bcabc756034123731ca9d1545504 (patch)
treebdc16990f8f17e2065c5d8433812fde46c159e71 /src
parent105768597ccd732ca54b734c9e6cbc529ebfd49b (diff)
parentc708b288d4f978b7e269c934233a7db747d91a53 (diff)
Merge branch 'master' of https://github.com/pret/poketcg
Diffstat (limited to 'src')
-rw-r--r--src/constants.asm3
-rw-r--r--src/constants/palette_constants.asm162
-rw-r--r--src/constants/tilemap_constants.asm107
-rw-r--r--src/constants/tileset_constants.asm88
-rw-r--r--src/data/duel_animations.asm778
-rw-r--r--src/data/map_headers.asm68
-rw-r--r--src/data/maps/map0.binbin0 -> 258 bytes
-rw-r--r--src/data/maps/map1.binbin0 -> 492 bytes
-rw-r--r--src/data/maps/map10.binbin0 -> 189 bytes
-rw-r--r--src/data/maps/map100.binbin0 -> 288 bytes
-rw-r--r--src/data/maps/map101.binbin0 -> 354 bytes
-rw-r--r--src/data/maps/map102.binbin0 -> 82 bytes
-rw-r--r--src/data/maps/map103.binbin0 -> 129 bytes
-rw-r--r--src/data/maps/map104.binbin0 -> 67 bytes
-rw-r--r--src/data/maps/map105.binbin0 -> 95 bytes
-rw-r--r--src/data/maps/map11.binbin0 -> 271 bytes
-rw-r--r--src/data/maps/map12.binbin0 -> 197 bytes
-rw-r--r--src/data/maps/map13.binbin0 -> 280 bytes
-rw-r--r--src/data/maps/map14.binbin0 -> 197 bytes
-rw-r--r--src/data/maps/map15.binbin0 -> 280 bytes
-rw-r--r--src/data/maps/map16.binbin0 -> 197 bytes
-rw-r--r--src/data/maps/map17.binbin0 -> 280 bytes
-rw-r--r--src/data/maps/map18.binbin0 -> 197 bytes
-rw-r--r--src/data/maps/map19.binbin0 -> 280 bytes
-rw-r--r--src/data/maps/map2.binbin0 -> 278 bytes
-rw-r--r--src/data/maps/map20.binbin0 -> 197 bytes
-rw-r--r--src/data/maps/map21.binbin0 -> 280 bytes
-rw-r--r--src/data/maps/map22.binbin0 -> 197 bytes
-rw-r--r--src/data/maps/map23.binbin0 -> 280 bytes
-rw-r--r--src/data/maps/map24.binbin0 -> 197 bytes
-rw-r--r--src/data/maps/map25.binbin0 -> 280 bytes
-rw-r--r--src/data/maps/map26.binbin0 -> 197 bytes
-rw-r--r--src/data/maps/map27.binbin0 -> 280 bytes
-rw-r--r--src/data/maps/map28.binbin0 -> 174 bytes
-rw-r--r--src/data/maps/map29.binbin0 -> 254 bytes
-rw-r--r--src/data/maps/map3.binbin0 -> 414 bytes
-rw-r--r--src/data/maps/map30.binbin0 -> 284 bytes
-rw-r--r--src/data/maps/map31.binbin0 -> 401 bytes
-rw-r--r--src/data/maps/map32.binbin0 -> 172 bytes
-rw-r--r--src/data/maps/map33.binbin0 -> 252 bytes
-rw-r--r--src/data/maps/map34.binbin0 -> 324 bytes
-rw-r--r--src/data/maps/map35.binbin0 -> 534 bytes
-rw-r--r--src/data/maps/map36.binbin0 -> 387 bytes
-rw-r--r--src/data/maps/map37.binbin0 -> 558 bytes
-rw-r--r--src/data/maps/map38.binbin0 -> 371 bytes
-rw-r--r--src/data/maps/map39.binbin0 -> 502 bytes
-rw-r--r--src/data/maps/map4.bin1
-rw-r--r--src/data/maps/map40.binbin0 -> 421 bytes
-rw-r--r--src/data/maps/map41.binbin0 -> 662 bytes
-rw-r--r--src/data/maps/map42.binbin0 -> 247 bytes
-rw-r--r--src/data/maps/map43.binbin0 -> 394 bytes
-rw-r--r--src/data/maps/map44.binbin0 -> 282 bytes
-rw-r--r--src/data/maps/map45.binbin0 -> 404 bytes
-rw-r--r--src/data/maps/map46.binbin0 -> 214 bytes
-rw-r--r--src/data/maps/map47.binbin0 -> 383 bytes
-rw-r--r--src/data/maps/map48.binbin0 -> 409 bytes
-rw-r--r--src/data/maps/map49.binbin0 -> 594 bytes
-rw-r--r--src/data/maps/map5.bin1
-rw-r--r--src/data/maps/map50.binbin0 -> 191 bytes
-rw-r--r--src/data/maps/map51.binbin0 -> 284 bytes
-rw-r--r--src/data/maps/map52.binbin0 -> 13 bytes
-rw-r--r--src/data/maps/map53.binbin0 -> 18 bytes
-rw-r--r--src/data/maps/map54.binbin0 -> 389 bytes
-rw-r--r--src/data/maps/map55.binbin0 -> 612 bytes
-rw-r--r--src/data/maps/map56.binbin0 -> 7 bytes
-rw-r--r--src/data/maps/map57.binbin0 -> 11 bytes
-rw-r--r--src/data/maps/map58.binbin0 -> 269 bytes
-rw-r--r--src/data/maps/map59.binbin0 -> 387 bytes
-rw-r--r--src/data/maps/map6.binbin0 -> 192 bytes
-rw-r--r--src/data/maps/map60.binbin0 -> 254 bytes
-rw-r--r--src/data/maps/map61.binbin0 -> 249 bytes
-rw-r--r--src/data/maps/map62.bin1
-rw-r--r--src/data/maps/map63.bin1
-rw-r--r--src/data/maps/map64.bin1
-rw-r--r--src/data/maps/map65.bin1
-rw-r--r--src/data/maps/map66.bin1
-rw-r--r--src/data/maps/map67.bin1
-rw-r--r--src/data/maps/map68.bin1
-rw-r--r--src/data/maps/map69.bin1
-rw-r--r--src/data/maps/map7.binbin0 -> 339 bytes
-rw-r--r--src/data/maps/map70.binbin0 -> 190 bytes
-rw-r--r--src/data/maps/map71.binbin0 -> 133 bytes
-rw-r--r--src/data/maps/map72.binbin0 -> 218 bytes
-rw-r--r--src/data/maps/map73.binbin0 -> 151 bytes
-rw-r--r--src/data/maps/map74.binbin0 -> 209 bytes
-rw-r--r--src/data/maps/map75.binbin0 -> 141 bytes
-rw-r--r--src/data/maps/map76.bin1
-rw-r--r--src/data/maps/map77.binbin0 -> 129 bytes
-rw-r--r--src/data/maps/map78.bin1
-rw-r--r--src/data/maps/map79.binbin0 -> 127 bytes
-rw-r--r--src/data/maps/map8.bin1
-rw-r--r--src/data/maps/map80.bin1
-rw-r--r--src/data/maps/map81.binbin0 -> 124 bytes
-rw-r--r--src/data/maps/map82.bin1
-rw-r--r--src/data/maps/map83.binbin0 -> 121 bytes
-rw-r--r--src/data/maps/map84.bin1
-rw-r--r--src/data/maps/map85.binbin0 -> 158 bytes
-rw-r--r--src/data/maps/map86.bin1
-rw-r--r--src/data/maps/map87.binbin0 -> 150 bytes
-rw-r--r--src/data/maps/map88.bin1
-rw-r--r--src/data/maps/map89.binbin0 -> 141 bytes
-rw-r--r--src/data/maps/map9.bin1
-rw-r--r--src/data/maps/map90.binbin0 -> 144 bytes
-rw-r--r--src/data/maps/map91.binbin0 -> 185 bytes
-rw-r--r--src/data/maps/map92.binbin0 -> 137 bytes
-rw-r--r--src/data/maps/map93.binbin0 -> 163 bytes
-rw-r--r--src/data/maps/map94.binbin0 -> 138 bytes
-rw-r--r--src/data/maps/map95.binbin0 -> 337 bytes
-rw-r--r--src/data/maps/map96.binbin0 -> 493 bytes
-rw-r--r--src/data/maps/map97.bin2
-rw-r--r--src/data/maps/map98.bin1
-rw-r--r--src/data/maps/map99.bin1
-rw-r--r--src/engine/bank03.asm22
-rw-r--r--src/engine/bank07.asm792
-rw-r--r--src/engine/bank1c.asm11
-rw-r--r--src/engine/bank20.asm1447
-rw-r--r--src/engine/home.asm110
-rw-r--r--src/gfx.asm869
-rw-r--r--src/sram.asm5
-rw-r--r--src/wram.asm42
120 files changed, 3041 insertions, 1486 deletions
diff --git a/src/constants.asm b/src/constants.asm
index cd56fe2..733dd8c 100644
--- a/src/constants.asm
+++ b/src/constants.asm
@@ -12,11 +12,14 @@ INCLUDE "constants/misc_constants.asm"
INCLUDE "constants/music_constants.asm"
INCLUDE "constants/name_constants.asm"
INCLUDE "constants/npc_constants.asm"
+INCLUDE "constants/palette_constants.asm"
INCLUDE "constants/script_constants.asm"
INCLUDE "constants/sgb_constants.asm"
INCLUDE "constants/sfx_constants.asm"
INCLUDE "constants/sprite_constants.asm"
INCLUDE "constants/text_constants.asm"
+INCLUDE "constants/tilemap_constants.asm"
+INCLUDE "constants/tileset_constants.asm"
INCLUDE "constants/animation_constants.asm"
INCLUDE "constants/attack_animation_constants.asm"
INCLUDE "constants/charmaps.asm"
diff --git a/src/constants/palette_constants.asm b/src/constants/palette_constants.asm
new file mode 100644
index 0000000..552885e
--- /dev/null
+++ b/src/constants/palette_constants.asm
@@ -0,0 +1,162 @@
+ const_def
+ const PALETTE_0 ; $00
+ const PALETTE_1 ; $01
+ const PALETTE_2 ; $02
+ const PALETTE_3 ; $03
+ const PALETTE_4 ; $04
+ const PALETTE_5 ; $05
+ const PALETTE_6 ; $06
+ const PALETTE_7 ; $07
+ const PALETTE_8 ; $08
+ const PALETTE_9 ; $09
+ const PALETTE_10 ; $0a
+ const PALETTE_11 ; $0b
+ const PALETTE_12 ; $0c
+ const PALETTE_13 ; $0d
+ const PALETTE_14 ; $0e
+ const PALETTE_15 ; $0f
+ const PALETTE_16 ; $10
+ const PALETTE_17 ; $11
+ const PALETTE_18 ; $12
+ const PALETTE_19 ; $13
+ const PALETTE_20 ; $14
+ const PALETTE_21 ; $15
+ const PALETTE_22 ; $16
+ const PALETTE_23 ; $17
+ const PALETTE_24 ; $18
+ const PALETTE_25 ; $19
+ const PALETTE_26 ; $1a
+ const PALETTE_27 ; $1b
+ const PALETTE_28 ; $1c
+ const PALETTE_29 ; $1d
+ const PALETTE_30 ; $1e
+ const PALETTE_31 ; $1f
+ const PALETTE_32 ; $20
+ const PALETTE_33 ; $21
+ const PALETTE_34 ; $22
+ const PALETTE_35 ; $23
+ const PALETTE_36 ; $24
+ const PALETTE_37 ; $25
+ const PALETTE_38 ; $26
+ const PALETTE_39 ; $27
+ const PALETTE_40 ; $28
+ const PALETTE_41 ; $29
+ const PALETTE_42 ; $2a
+ const PALETTE_43 ; $2b
+ const PALETTE_44 ; $2c
+ const PALETTE_45 ; $2d
+ const PALETTE_46 ; $2e
+ const PALETTE_47 ; $2f
+ const PALETTE_48 ; $30
+ const PALETTE_49 ; $31
+ const PALETTE_50 ; $32
+ const PALETTE_51 ; $33
+ const PALETTE_52 ; $34
+ const PALETTE_53 ; $35
+ const PALETTE_54 ; $36
+ const PALETTE_55 ; $37
+ const PALETTE_56 ; $38
+ const PALETTE_57 ; $39
+ const PALETTE_58 ; $3a
+ const PALETTE_59 ; $3b
+ const PALETTE_60 ; $3c
+ const PALETTE_61 ; $3d
+ const PALETTE_62 ; $3e
+ const PALETTE_63 ; $3f
+ const PALETTE_64 ; $40
+ const PALETTE_65 ; $41
+ const PALETTE_66 ; $42
+ const PALETTE_67 ; $43
+ const PALETTE_68 ; $44
+ const PALETTE_69 ; $45
+ const PALETTE_70 ; $46
+ const PALETTE_71 ; $47
+ const PALETTE_72 ; $48
+ const PALETTE_73 ; $49
+ const PALETTE_74 ; $4a
+ const PALETTE_75 ; $4b
+ const PALETTE_76 ; $4c
+ const PALETTE_77 ; $4d
+ const PALETTE_78 ; $4e
+ const PALETTE_79 ; $4f
+ const PALETTE_80 ; $50
+ const PALETTE_81 ; $51
+ const PALETTE_82 ; $52
+ const PALETTE_83 ; $53
+ const PALETTE_84 ; $54
+ const PALETTE_85 ; $55
+ const PALETTE_86 ; $56
+ const PALETTE_87 ; $57
+ const PALETTE_88 ; $58
+ const PALETTE_89 ; $59
+ const PALETTE_90 ; $a5
+ const PALETTE_91 ; $5b
+ const PALETTE_92 ; $5c
+ const PALETTE_93 ; $5d
+ const PALETTE_94 ; $5e
+ const PALETTE_95 ; $5f
+ const PALETTE_96 ; $60
+ const PALETTE_97 ; $61
+ const PALETTE_98 ; $62
+ const PALETTE_99 ; $63
+ const PALETTE_100 ; $64
+ const PALETTE_101 ; $65
+ const PALETTE_102 ; $66
+ const PALETTE_103 ; $67
+ const PALETTE_104 ; $68
+ const PALETTE_105 ; $69
+ const PALETTE_106 ; $6a
+ const PALETTE_107 ; $6b
+ const PALETTE_108 ; $6c
+ const PALETTE_109 ; $6d
+ const PALETTE_110 ; $6e
+ const PALETTE_111 ; $6f
+ const PALETTE_112 ; $70
+ const PALETTE_113 ; $71
+ const PALETTE_114 ; $72
+ const PALETTE_115 ; $73
+ const PALETTE_116 ; $74
+ const PALETTE_117 ; $75
+ const PALETTE_118 ; $76
+ const PALETTE_119 ; $77
+ const PALETTE_120 ; $78
+ const PALETTE_121 ; $79
+ const PALETTE_122 ; $7a
+ const PALETTE_123 ; $7b
+ const PALETTE_124 ; $7c
+ const PALETTE_125 ; $7d
+ const PALETTE_126 ; $7e
+ const PALETTE_127 ; $7f
+ const PALETTE_128 ; $80
+ const PALETTE_129 ; $81
+ const PALETTE_130 ; $82
+ const PALETTE_131 ; $83
+ const PALETTE_132 ; $84
+ const PALETTE_133 ; $85
+ const PALETTE_134 ; $86
+ const PALETTE_135 ; $87
+ const PALETTE_136 ; $88
+ const PALETTE_137 ; $89
+ const PALETTE_138 ; $8a
+ const PALETTE_139 ; $8b
+ const PALETTE_140 ; $8c
+ const PALETTE_141 ; $8d
+ const PALETTE_142 ; $8e
+ const PALETTE_143 ; $8f
+ const PALETTE_144 ; $90
+ const PALETTE_145 ; $91
+ const PALETTE_146 ; $92
+ const PALETTE_147 ; $93
+ const PALETTE_148 ; $94
+ const PALETTE_149 ; $95
+ const PALETTE_150 ; $96
+ const PALETTE_151 ; $97
+ const PALETTE_152 ; $98
+ const PALETTE_153 ; $99
+ const PALETTE_154 ; $9a
+ const PALETTE_155 ; $9b
+ const PALETTE_156 ; $9c
+ const PALETTE_157 ; $9d
+ const PALETTE_158 ; $9e
+ const PALETTE_159 ; $9f
+ const PALETTE_160 ; $a0
diff --git a/src/constants/tilemap_constants.asm b/src/constants/tilemap_constants.asm
new file mode 100644
index 0000000..cb12931
--- /dev/null
+++ b/src/constants/tilemap_constants.asm
@@ -0,0 +1,107 @@
+ const_def
+ const TILEMAP_OVERWORLD_MAP ; $00
+ const TILEMAP_OVERWORLD_MAP_CGB ; $01
+ const TILEMAP_MASON_LABORATORY ; $02
+ const TILEMAP_MASON_LABORATORY_CGB ; $03
+ const TILEMAP_UNUSED_1 ; $04
+ const TILEMAP_UNUSED_2 ; $05
+ const TILEMAP_DECK_MACHINE_ROOM ; $06
+ const TILEMAP_DECK_MACHINE_ROOM_CGB ; $07
+ const TILEMAP_UNUSED_3 ; $08
+ const TILEMAP_UNUSED_4 ; $09
+ const TILEMAP_ISHIHARA ; $0a
+ const TILEMAP_ISHIHARA_CGB ; $0b
+ const TILEMAP_FIGHTING_CLUB_ENTRANCE ; $0c
+ const TILEMAP_FIGHTING_CLUB_ENTRANCE_CGB ; $0d
+ const TILEMAP_ROCK_CLUB_ENTRANCE ; $0e
+ const TILEMAP_ROCK_CLUB_ENTRANCE_CGB ; $0f
+ const TILEMAP_WATER_CLUB_ENTRANCE ; $10
+ const TILEMAP_WATER_CLUB_ENTRANCE_CGB ; $11
+ const TILEMAP_LIGHTNING_CLUB_ENTRANCE ; $12
+ const TILEMAP_LIGHTNING_CLUB_ENTRANCE_CGB ; $13
+ const TILEMAP_GRASS_CLUB_ENTRANCE ; $14
+ const TILEMAP_GRASS_CLUB_ENTRANCE_CGB ; $15
+ const TILEMAP_PSYCHIC_CLUB_ENTRANCE ; $16
+ const TILEMAP_PSYCHIC_CLUB_ENTRANCE_CGB ; $17
+ const TILEMAP_SCIENCE_CLUB_ENTRANCE ; $18
+ const TILEMAP_SCIENCE_CLUB_ENTRANCE_CGB ; $19
+ const TILEMAP_FIRE_CLUB_ENTRANCE ; $1a
+ const TILEMAP_FIRE_CLUB_ENTRANCE_CGB ; $1b
+ const TILEMAP_CHALLENGE_HALL_ENTRANCE ; $1c
+ const TILEMAP_CHALLENGE_HALL_ENTRANCE_CGB ; $1d
+ const TILEMAP_CLUB_LOBBY ; $1e
+ const TILEMAP_CLUB_LOBBY_CGB ; $1f
+ const TILEMAP_FIGHTING_CLUB ; $20
+ const TILEMAP_FIGHTING_CLUB_CGB ; $21
+ const TILEMAP_ROCK_CLUB ; $22
+ const TILEMAP_ROCK_CLUB_CGB ; $23
+ const TILEMAP_WATER_CLUB ; $24
+ const TILEMAP_WATER_CLUB_CGB ; $25
+ const TILEMAP_LIGHTNING_CLUB ; $26
+ const TILEMAP_LIGHTNING_CLUB_CGB ; $27
+ const TILEMAP_GRASS_CLUB ; $28
+ const TILEMAP_GRASS_CLUB_CGB ; $29
+ const TILEMAP_PSYCHIC_CLUB ; $2a
+ const TILEMAP_PSYCHIC_CLUB_CGB ; $2b
+ const TILEMAP_SCIENCE_CLUB ; $2c
+ const TILEMAP_SCIENCE_CLUB_CGB ; $2d
+ const TILEMAP_FIRE_CLUB ; $2e
+ const TILEMAP_FIRE_CLUB_CGB ; $2f
+ const TILEMAP_CHALLENGE_HALL ; $30
+ const TILEMAP_CHALLENGE_HALL_CGB ; $31
+ const TILEMAP_POKEMON_DOME_ENTRANCE ; $32
+ const TILEMAP_POKEMON_DOME_ENTRANCE_CGB ; $33
+ const TILEMAP_UNUSED_5 ; $34
+ const TILEMAP_UNUSED_6 ; $35
+ const TILEMAP_POKEMON_DOME ; $36
+ const TILEMAP_POKEMON_DOME_CGB ; $37
+ const TILEMAP_UNUSED_7 ; $38
+ const TILEMAP_UNUSED_8 ; $39
+ const TILEMAP_HALL_OF_HONOR ; $3a
+ const TILEMAP_HALL_OF_HONOR_CGB ; $3b
+ const TILEMAP_CARD_POP_1 ; $3c
+ const TILEMAP_CARD_POP_1_CGB ; $3d
+ const TILEMAP_GRASS_MEDAL ; $3e
+ const TILEMAP_SCIENCE_MEDAL ; $3f
+ const TILEMAP_FIRE_MEDAL ; $40
+ const TILEMAP_WATER_MEDAL ; $41
+ const TILEMAP_LIGHTNING_MEDAL ; $42
+ const TILEMAP_FIGHTING_MEDAL ; $43
+ const TILEMAP_ROCK_MEDAL ; $44
+ const TILEMAP_PSYCHIC_MEDAL ; $45
+ const TILEMAP_CARD_POP_2 ; $46
+ const TILEMAP_CARD_POP_2_CGB ; $47
+ const TILEMAP_CARD_POP_2_UNKNOWN_1 ; $48
+ const TILEMAP_CARD_POP_2_UNKNOWN_2 ; $49
+ const TILEMAP_CARD_POP_3 ; $4a
+ const TILEMAP_CARD_POP_3_CGB ; $4b
+ const TILEMAP_COLOSSEUM ; $4c
+ const TILEMAP_COLOSSEUM_CGB ; $4d
+ const TILEMAP_EVOLUTION ; $4e
+ const TILEMAP_EVOLUTION_CGB ; $4f
+ const TILEMAP_MYSTERY ; $50
+ const TILEMAP_MYSTERY_CGB ; $51
+ const TILEMAP_LABORATORY ; $52
+ const TILEMAP_LABORATORY_CGB ; $53
+ const TILEMAP_CHARIZARD_INTRO ; $54
+ const TILEMAP_CHARIZARD_INTRO_CGB ; $55
+ const TILEMAP_SCYTHER_INTRO ; $56
+ const TILEMAP_SCYTHER_INTRO_CGB ; $57
+ const TILEMAP_AERODACTYL_INTRO ; $58
+ const TILEMAP_AERODACTYL_INTRO_CGB ; $59
+ const TILEMAP_TITLE_SCREEN_1 ; $5a
+ const TILEMAP_TITLE_SCREEN_2 ; $5b
+ const TILEMAP_SOLID_TILES_1 ; $5c
+ const TILEMAP_SOLID_TILES_2 ; $5d
+ const TILEMAP_SOLID_TILES_3 ; $5e
+ const TILEMAP_TITLE_SCREEN_3 ; $5f
+ const TILEMAP_TITLE_SCREEN_4 ; $60
+ const TILEMAP_SOLID_TILES_4 ; $61
+ const TILEMAP_PLAYER ; $62
+ const TILEMAP_OPPONENT ; $63
+ const TILEMAP_TITLE_SCREEN_5 ; $64
+ const TILEMAP_TITLE_SCREEN_6 ; $65
+ const TILEMAP_COPYRIGHT ; $66
+ const TILEMAP_COPYRIGHT_CGB ; $67
+ const TILEMAP_NINTENDO ; $68
+ const TILEMAP_COMPANIES ; $69
diff --git a/src/constants/tileset_constants.asm b/src/constants/tileset_constants.asm
new file mode 100644
index 0000000..6e3f8f3
--- /dev/null
+++ b/src/constants/tileset_constants.asm
@@ -0,0 +1,88 @@
+ const_def
+ const TILESET_OVERWORLD_MAP ; $00
+ const TILESET_MASON_LABORATORY ; $01
+ const TILESET_ISHIHARA ; $02
+ const TILESET_CLUB_ENTRANCE ; $03
+ const TILESET_CLUB_LOBBY ; $04
+ const TILESET_FIGHTING_CLUB ; $05
+ const TILESET_ROCK_CLUB ; $06
+ const TILESET_WATER_CLUB ; $07
+ const TILESET_LIGHTNING_CLUB ; $08
+ const TILESET_GRASS_CLUB ; $09
+ const TILESET_PSYCHIC_CLUB ; $0a
+ const TILESET_SCIENCE_CLUB ; $0b
+ const TILESET_FIRE_CLUB ; $0c
+ const TILESET_CHALLENGE_HALL ; $0d
+ const TILESET_POKEMON_DOME_ENTRANCE ; $0e
+ const TILESET_POKEMON_DOME ; $0f
+ const TILESET_HALL_OF_HONOR ; $10
+ const TILESET_CARD_POP_1 ; $11
+ const TILESET_MEDAL ; $12
+ const TILESET_CARD_POP_2 ; $13
+ const TILESET_CARD_POP_3 ; $14
+ const TILESET_COLOSSEUM_1 ; $15
+ const TILESET_COLOSSEUM_2 ; $16
+ const TILESET_EVOLUTION_1 ; $17
+ const TILESET_EVOLUTION_2 ; $18
+ const TILESET_MYSTERY_1 ; $19
+ const TILESET_MYSTERY_2 ; $1a
+ const TILESET_LABORATORY_1 ; $1b
+ const TILESET_LABORATORY_2 ; $1c
+ const TILESET_CHARIZARD_INTRO_1 ; $1d
+ const TILESET_CHARIZARD_INTRO_2 ; $1e
+ const TILESET_SCYTHER_INTRO_1 ; $1f
+ const TILESET_SCYTHER_INTRO_2 ; $20
+ const TILESET_AERODACTYL_INTRO_1 ; $21
+ const TILESET_AERODACTYL_INTRO_2 ; $22
+ const TILESET_TITLE_SCREEN_1 ; $23
+ const TILESET_TITLE_SCREEN_2 ; $24
+ const TILESET_SOLID_TILES_1 ; $25
+ const TILESET_TITLE_SCREEN_3 ; $26
+ const TILESET_TITLE_SCREEN_4 ; $27
+ const TILESET_SOLID_TILES_2 ; $28
+ const TILESET_PLAYER ; $29
+ const TILESET_RONALD ; $2a
+ const TILESET_TITLE_SCREEN_5 ; $2b
+ const TILESET_TITLE_SCREEN_6 ; $2c
+ const TILESET_COPYRIGHT ; $2d
+ const TILESET_NINTENDO ; $2e
+ const TILESET_COMPANIES ; $2f
+ const TILESET_SAM ; $30
+ const TILESET_IMAKUNI ; $31
+ const TILESET_NIKKI ; $32
+ const TILESET_RICK ; $33
+ const TILESET_KEN ; $34
+ const TILESET_AMY ; $35
+ const TILESET_ISAAC ; $36
+ const TILESET_MITCH ; $37
+ const TILESET_GENE ; $38
+ const TILESET_MURRAY ; $39
+ const TILESET_COURTNEY ; $3a
+ const TILESET_STEVE ; $3b
+ const TILESET_JACK ; $3c
+ const TILESET_ROD ; $3d
+ const TILESET_JOSEPH ; $3e
+ const TILESET_DAVID ; $3f
+ const TILESET_ERIK ; $40
+ const TILESET_JOHN ; $41
+ const TILESET_ADAM ; $42
+ const TILESET_JONATHAN ; $43
+ const TILESET_JOSHUA ; $44
+ const TILESET_NICHOLAS ; $45
+ const TILESET_BRANDON ; $46
+ const TILESET_MATTHEW ; $47
+ const TILESET_RYAN ; $48
+ const TILESET_ANDREW ; $49
+ const TILESET_CHRIS ; $4a
+ const TILESET_MICHAEL ; $4b
+ const TILESET_DANIEL ; $4c
+ const TILESET_ROBERT ; $4d
+ const TILESET_BRITTANY ; $4e
+ const TILESET_KRISTIN ; $4f
+ const TILESET_HEATHER ; $50
+ const TILESET_SARA ; $51
+ const TILESET_AMANDA ; $52
+ const TILESET_JENNIFER ; $53
+ const TILESET_JESSICA ; $54
+ const TILESET_STEPHANIE ; $55
+ const TILESET_AARON ; $56
diff --git a/src/data/duel_animations.asm b/src/data/duel_animations.asm
new file mode 100644
index 0000000..49ed364
--- /dev/null
+++ b/src/data/duel_animations.asm
@@ -0,0 +1,778 @@
+; data for each animation ID (see src/constants/sprite_constants.asm)
+Animations: ; 1ce32 (7:4e32)
+ ; DUEL_ANIM_NONE
+ db $00 ; sprite ID
+ db $00 ; palette ID
+ db $00 ; anim ID
+ db $00 ; anim flags
+ db $00 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_GLOW
+ db SPRITE_DUEL_GLOW ; sprite ID
+ db PALETTE_31 ; palette ID
+ db $47 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
+ db SFX_11 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_PARALYSIS
+ db SPRITE_DUEL_1 ; sprite ID
+ db PALETTE_32 ; palette ID
+ db $48 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
+ db SFX_12 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_SLEEP
+ db SPRITE_DUEL_2 ; sprite ID
+ db PALETTE_33 ; palette ID
+ db $49 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
+ db SFX_13 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_CONFUSION
+ db SPRITE_DUEL_55 ; sprite ID
+ db PALETTE_34 ; palette ID
+ db $4a ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
+ db SFX_14 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_POISON
+ db SPRITE_DUEL_58 ; sprite ID
+ db PALETTE_35 ; palette ID
+ db $4b ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
+ db SFX_15 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_6
+ db SPRITE_DUEL_3 ; sprite ID
+ db PALETTE_36 ; palette ID
+ db $4c ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
+ db SFX_16 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_HIT
+ db SPRITE_DUEL_3 ; sprite ID
+ db PALETTE_36 ; palette ID
+ db $4d ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
+ db SFX_16 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BIG_HIT
+ db SPRITE_DUEL_3 ; sprite ID
+ db PALETTE_36 ; palette ID
+ db $4e ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
+ db SFX_17 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_SHOW_DAMAGE
+ db SPRITE_DUEL_4 ; sprite ID
+ db PALETTE_37 ; palette ID
+ db $00 ; anim ID
+ db $00 ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_THUNDER_SHOCK
+ db SPRITE_DUEL_5 ; sprite ID
+ db PALETTE_38 ; palette ID
+ db $5c ; anim ID
+ db $00 ; anim flags
+ db SFX_18 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_LIGHTNING
+ db SPRITE_DUEL_6 ; sprite ID
+ db PALETTE_39 ; palette ID
+ db $5e ; anim ID
+ db $00 ; anim flags
+ db SFX_19 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BORDER_SPARK
+ db SPRITE_DUEL_59 ; sprite ID
+ db PALETTE_40 ; palette ID
+ db $5f ; anim ID
+ db $00 ; anim flags
+ db SFX_1A ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BIG_LIGHTNING
+ db SPRITE_DUEL_7 ; sprite ID
+ db PALETTE_41 ; palette ID
+ db $60 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_1B ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_SMALL_FLAME
+ db SPRITE_DUEL_8 ; sprite ID
+ db PALETTE_42 ; palette ID
+ db $61 ; anim ID
+ db $00 ; anim flags
+ db SFX_1C ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BIG_FLAME
+ db SPRITE_DUEL_8 ; sprite ID
+ db PALETTE_42 ; palette ID
+ db $62 ; anim ID
+ db $00 ; anim flags
+ db SFX_1D ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_FIRE_SPIN
+ db SPRITE_DUEL_9 ; sprite ID
+ db PALETTE_43 ; palette ID
+ db $63 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_1E ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_DIVE_BOMB
+ db SPRITE_DUEL_10 ; sprite ID
+ db PALETTE_44 ; palette ID
+ db $64 ; anim ID
+ db $00 ; anim flags
+ db SFX_1F ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_WATER_JETS
+ db SPRITE_DUEL_61 ; sprite ID
+ db PALETTE_45 ; palette ID
+ db $69 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_20 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_WATER_GUN
+ db SPRITE_DUEL_11 ; sprite ID
+ db PALETTE_46 ; palette ID
+ db $6a ; anim ID
+ db $00 ; anim flags
+ db SFX_21 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_WHIRLPOOL
+ db SPRITE_DUEL_12 ; sprite ID
+ db PALETTE_47 ; palette ID
+ db $6b ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_22 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_HYDRO_PUMP
+ db SPRITE_DUEL_13 ; sprite ID
+ db PALETTE_48 ; palette ID
+ db $6c ; anim ID
+ db $00 ; anim flags
+ db SFX_23 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BLIZZARD
+ db SPRITE_DUEL_62 ; sprite ID
+ db PALETTE_49 ; palette ID
+ db $6d ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_24 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_PSYCHIC
+ db SPRITE_DUEL_14 ; sprite ID
+ db PALETTE_50 ; palette ID
+ db $6e ; anim ID
+ db $00 ; anim flags
+ db SFX_25 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_GLARE
+ db SPRITE_DUEL_15 ; sprite ID
+ db PALETTE_51 ; palette ID
+ db $6f ; anim ID
+ db $00 ; anim flags
+ db SFX_26 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BEAM
+ db SPRITE_DUEL_16 ; sprite ID
+ db PALETTE_52 ; palette ID
+ db $70 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_6) | (1 << SPRITE_ANIM_FLAG_Y_SUBTRACT) ; anim flags
+ db SFX_27 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_HYPER_BEAM
+ db SPRITE_DUEL_17 ; sprite ID
+ db PALETTE_53 ; palette ID
+ db $71 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_6) | (1 << SPRITE_ANIM_FLAG_Y_SUBTRACT) ; anim flags
+ db SFX_28 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_ROCK_THROW
+ db SPRITE_DUEL_18 ; sprite ID
+ db PALETTE_54 ; palette ID
+ db $72 ; anim ID
+ db $00 ; anim flags
+ db SFX_29 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_STONE_BARRAGE
+ db SPRITE_DUEL_18 ; sprite ID
+ db PALETTE_54 ; palette ID
+ db $73 ; anim ID
+ db $00 ; anim flags
+ db SFX_2A ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_PUNCH
+ db SPRITE_DUEL_19 ; sprite ID
+ db PALETTE_55 ; palette ID
+ db $74 ; anim ID
+ db $00 ; anim flags
+ db SFX_2B ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_THUNDERPUNCH
+ db SPRITE_DUEL_19 ; sprite ID
+ db PALETTE_55 ; palette ID
+ db $75 ; anim ID
+ db $00 ; anim flags
+ db SFX_52 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_FIRE_PUNCH
+ db SPRITE_DUEL_19 ; sprite ID
+ db PALETTE_55 ; palette ID
+ db $76 ; anim ID
+ db $00 ; anim flags
+ db SFX_53 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_STRETCH_KICK
+ db SPRITE_DUEL_20 ; sprite ID
+ db PALETTE_56 ; palette ID
+ db $77 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_5) | (1 << SPRITE_ANIM_FLAG_X_SUBTRACT) ; anim flags
+ db SFX_2C ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_SLASH
+ db SPRITE_DUEL_21 ; sprite ID
+ db PALETTE_57 ; palette ID
+ db $78 ; anim ID
+ db $00 ; anim flags
+ db SFX_2D ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_WHIP
+ db SPRITE_DUEL_22 ; sprite ID
+ db PALETTE_58 ; palette ID
+ db $7a ; anim ID
+ db $00 ; anim flags
+ db SFX_2D ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_TEAR
+ db SPRITE_DUEL_23 ; sprite ID
+ db PALETTE_59 ; palette ID
+ db $7b ; anim ID
+ db $00 ; anim flags
+ db SFX_2E ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_FURY_SWIPES
+ db SPRITE_DUEL_21 ; sprite ID
+ db PALETTE_57 ; palette ID
+ db $79 ; anim ID
+ db $00 ; anim flags
+ db SFX_2F ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_DRILL
+ db SPRITE_DUEL_24 ; sprite ID
+ db PALETTE_60 ; palette ID
+ db $7c ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_5) | (1 << SPRITE_ANIM_FLAG_X_SUBTRACT) ; anim flags
+ db SFX_30 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_POT_SMASH
+ db SPRITE_DUEL_25 ; sprite ID
+ db PALETTE_61 ; palette ID
+ db $7d ; anim ID
+ db $00 ; anim flags
+ db SFX_31 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BONEMERANG
+ db SPRITE_DUEL_26 ; sprite ID
+ db PALETTE_62 ; palette ID
+ db $7e ; anim ID
+ db $00 ; anim flags
+ db SFX_32 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_SEISMIC_TOSS
+ db SPRITE_DUEL_27 ; sprite ID
+ db PALETTE_63 ; palette ID
+ db $7f ; anim ID
+ db $00 ; anim flags
+ db SFX_33 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_NEEDLES
+ db SPRITE_DUEL_28 ; sprite ID
+ db PALETTE_64 ; palette ID
+ db $80 ; anim ID
+ db $00 ; anim flags
+ db SFX_34 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_WHITE_GAS
+ db SPRITE_DUEL_29 ; sprite ID
+ db PALETTE_65 ; palette ID
+ db $81 ; anim ID
+ db $00 ; anim flags
+ db SFX_35 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_POWDER
+ db SPRITE_DUEL_56 ; sprite ID
+ db PALETTE_66 ; palette ID
+ db $82 ; anim ID
+ db $00 ; anim flags
+ db SFX_36 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_GOO
+ db SPRITE_DUEL_30 ; sprite ID
+ db PALETTE_67 ; palette ID
+ db $83 ; anim ID
+ db $00 ; anim flags
+ db SFX_37 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BUBBLES
+ db SPRITE_DUEL_31 ; sprite ID
+ db PALETTE_68 ; palette ID
+ db $84 ; anim ID
+ db $00 ; anim flags
+ db SFX_38 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_STRING_SHOT
+ db SPRITE_DUEL_32 ; sprite ID
+ db PALETTE_69 ; palette ID
+ db $85 ; anim ID
+ db $00 ; anim flags
+ db SFX_39 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BOYFRIENDS
+ db SPRITE_DUEL_33 ; sprite ID
+ db PALETTE_70 ; palette ID
+ db $86 ; anim ID
+ db $00 ; anim flags
+ db SFX_3A ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_LURE
+ db SPRITE_DUEL_34 ; sprite ID
+ db PALETTE_71 ; palette ID
+ db $87 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_5) | (1 << SPRITE_ANIM_FLAG_X_SUBTRACT) ; anim flags
+ db SFX_3B ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_TOXIC
+ db SPRITE_DUEL_35 ; sprite ID
+ db PALETTE_72 ; palette ID
+ db $88 ; anim ID
+ db $00 ; anim flags
+ db SFX_3C ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_CONFUSE_RAY
+ db SPRITE_DUEL_66 ; sprite ID
+ db PALETTE_73 ; palette ID
+ db $89 ; anim ID
+ db $00 ; anim flags
+ db SFX_3D ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_SING
+ db SPRITE_DUEL_36 ; sprite ID
+ db PALETTE_74 ; palette ID
+ db $8a ; anim ID
+ db $00 ; anim flags
+ db SFX_3E ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_SUPERSONIC
+ db SPRITE_DUEL_37 ; sprite ID
+ db PALETTE_75 ; palette ID
+ db $8b ; anim ID
+ db $00 ; anim flags
+ db SFX_3F ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_PETAL_DANCE
+ db SPRITE_DUEL_57 ; sprite ID
+ db PALETTE_76 ; palette ID
+ db $8c ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_40 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_PROTECT
+ db SPRITE_DUEL_38 ; sprite ID
+ db PALETTE_77 ; palette ID
+ db $8d ; anim ID
+ db $00 ; anim flags
+ db SFX_41 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BARRIER
+ db SPRITE_DUEL_39 ; sprite ID
+ db PALETTE_78 ; palette ID
+ db $8e ; anim ID
+ db $00 ; anim flags
+ db SFX_42 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_QUICK_ATTACK
+ db SPRITE_DUEL_40 ; sprite ID
+ db PALETTE_79 ; palette ID
+ db $8f ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_43 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_WHIRLWIND
+ db SPRITE_DUEL_41 ; sprite ID
+ db PALETTE_80 ; palette ID
+ db $90 ; anim ID
+ db $00 ; anim flags
+ db SFX_44 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_CRY
+ db SPRITE_DUEL_42 ; sprite ID
+ db PALETTE_81 ; palette ID
+ db $92 ; anim ID
+ db $00 ; anim flags
+ db SFX_45 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_QUESTION_MARK
+ db SPRITE_DUEL_43 ; sprite ID
+ db PALETTE_82 ; palette ID
+ db $93 ; anim ID
+ db $00 ; anim flags
+ db SFX_46 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_SELFDESTRUCT
+ db SPRITE_DUEL_44 ; sprite ID
+ db PALETTE_83 ; palette ID
+ db $94 ; anim ID
+ db $00 ; anim flags
+ db SFX_47 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BIG_SELFDESTRUCT_1
+ db SPRITE_DUEL_44 ; sprite ID
+ db PALETTE_83 ; palette ID
+ db $95 ; anim ID
+ db $00 ; anim flags
+ db SFX_48 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_HEAL
+ db SPRITE_DUEL_60 ; sprite ID
+ db PALETTE_84 ; palette ID
+ db $97 ; anim ID
+ db $00 ; anim flags
+ db SFX_49 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_DRAIN
+ db SPRITE_DUEL_64 ; sprite ID
+ db PALETTE_85 ; palette ID
+ db $99 ; anim ID
+ db $00 ; anim flags
+ db SFX_4A ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_DARK_GAS
+ db SPRITE_DUEL_29 ; sprite ID
+ db PALETTE_86 ; palette ID
+ db $81 ; anim ID
+ db $00 ; anim flags
+ db SFX_4B ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BIG_SELFDESTRUCT_2
+ db SPRITE_DUEL_44 ; sprite ID
+ db PALETTE_83 ; palette ID
+ db $96 ; anim ID
+ db $00 ; anim flags
+ db SFX_47 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_66
+ db SPRITE_DUEL_3 ; sprite ID
+ db PALETTE_36 ; palette ID
+ db $4d ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
+ db SFX_16 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_67
+ db SPRITE_DUEL_3 ; sprite ID
+ db PALETTE_36 ; palette ID
+ db $4e ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
+ db SFX_17 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_68
+ db SPRITE_DUEL_5 ; sprite ID
+ db PALETTE_38 ; palette ID
+ db $5c ; anim ID
+ db $00 ; anim flags
+ db SFX_18 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_69
+ db SPRITE_DUEL_62 ; sprite ID
+ db PALETTE_49 ; palette ID
+ db $6d ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_24 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_70
+ db SPRITE_DUEL_45 ; sprite ID
+ db PALETTE_87 ; palette ID
+ db $9a ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
+ db SFX_11 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_71
+ db SPRITE_DUEL_10 ; sprite ID
+ db PALETTE_44 ; palette ID
+ db $65 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_5C ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_72
+ db SPRITE_DUEL_10 ; sprite ID
+ db PALETTE_44 ; palette ID
+ db $66 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_73
+ db SPRITE_DUEL_60 ; sprite ID
+ db PALETTE_84 ; palette ID
+ db $98 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_4C ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_74
+ db SPRITE_DUEL_41 ; sprite ID
+ db PALETTE_80 ; palette ID
+ db $91 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_4D ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_EXPAND
+ db SPRITE_DUEL_46 ; sprite ID
+ db PALETTE_88 ; palette ID
+ db $9b ; anim ID
+ db $00 ; anim flags
+ db SFX_4E ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_76
+ db SPRITE_DUEL_47 ; sprite ID
+ db PALETTE_89 ; palette ID
+ db $9c ; anim ID
+ db $00 ; anim flags
+ db SFX_4F ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_THUNDER_WAVE
+ db SPRITE_DUEL_48 ; sprite ID
+ db PALETTE_90 ; palette ID
+ db $9d ; anim ID
+ db $00 ; anim flags
+ db SFX_50 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_78
+ db SPRITE_DUEL_10 ; sprite ID
+ db PALETTE_44 ; palette ID
+ db $67 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_51 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_79
+ db SPRITE_DUEL_10 ; sprite ID
+ db PALETTE_44 ; palette ID
+ db $68 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_51 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_80
+ db SPRITE_DUEL_49 ; sprite ID
+ db PALETTE_91 ; palette ID
+ db $9e ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_PLAYER_SHUFFLE
+ db SPRITE_DUEL_49 ; sprite ID
+ db PALETTE_91 ; palette ID
+ db $9f ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_07 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_OPP_SHUFFLE
+ db SPRITE_DUEL_49 ; sprite ID
+ db PALETTE_91 ; palette ID
+ db $a0 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_07 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BOTH_SHUFFLE
+ db SPRITE_DUEL_49 ; sprite ID
+ db PALETTE_91 ; palette ID
+ db $a1 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_07 ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_84
+ db SPRITE_DUEL_49 ; sprite ID
+ db PALETTE_91 ; palette ID
+ db $a2 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_BOTH_DRAW
+ db SPRITE_DUEL_49 ; sprite ID
+ db PALETTE_91 ; palette ID
+ db $a3 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_PLAYER_DRAW
+ db SPRITE_DUEL_49 ; sprite ID
+ db PALETTE_91 ; palette ID
+ db $a4 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_OPP_DRAW
+ db SPRITE_DUEL_49 ; sprite ID
+ db PALETTE_91 ; palette ID
+ db $a5 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_COIN_SPIN
+ db SPRITE_DUEL_50 ; sprite ID
+ db PALETTE_92 ; palette ID
+ db $a7 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_COIN_TOSS1
+ db SPRITE_DUEL_50 ; sprite ID
+ db PALETTE_92 ; palette ID
+ db $a8 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_0B ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_COIN_TOSS2
+ db SPRITE_DUEL_50 ; sprite ID
+ db PALETTE_92 ; palette ID
+ db $a9 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_0B ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_COIN_TAILS
+ db SPRITE_DUEL_50 ; sprite ID
+ db PALETTE_92 ; palette ID
+ db $aa ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_COIN_HEADS
+ db SPRITE_DUEL_50 ; sprite ID
+ db PALETTE_92 ; palette ID
+ db $ab ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_DUEL_WIN
+ db SPRITE_DUEL_WON_LOST_DRAW ; sprite ID
+ db PALETTE_93 ; palette ID
+ db $ac ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_DUEL_LOSS
+ db SPRITE_DUEL_WON_LOST_DRAW ; sprite ID
+ db PALETTE_93 ; palette ID
+ db $ad ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_DUEL_DRAW
+ db SPRITE_DUEL_WON_LOST_DRAW ; sprite ID
+ db PALETTE_93 ; palette ID
+ db $ae ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+
+ ; DUEL_ANIM_96
+ db SPRITE_DUEL_49 ; sprite ID
+ db PALETTE_91 ; palette ID
+ db $a6 ; anim ID
+ db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
+ db SFX_STOP ; sound FX ID
+ db $00 ; handler function
+; 0x1d078
diff --git a/src/data/map_headers.asm b/src/data/map_headers.asm
index 06a2e20..3204bbf 100644
--- a/src/data/map_headers.asm
+++ b/src/data/map_headers.asm
@@ -1,37 +1,37 @@
; TODO: figure out the rest of the data for each map
; related to the table at 20:4e5d
MapHeaders: ; 1c374 (7:4374)
- db $00,$01,$00,$01,$01,MUSIC_OVERWORLD ; OVERWORLD_MAP
- db $02,$03,$00,$02,$02,MUSIC_OVERWORLD ; MASON_LABORATORY
- db $06,$07,$00,$02,$02,MUSIC_OVERWORLD ; DECK_MACHINE_ROOM
- db $0A,$0B,$00,$03,$03,MUSIC_OVERWORLD ; ISHIHARAS_HOUSE
- db $0C,$0D,$00,$03,$04,MUSIC_OVERWORLD ; FIGHTING_CLUB_ENTRANCE
- db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; FIGHTING_CLUB_LOBBY
- db $20,$21,$00,$04,$0D,MUSIC_CLUB_3 ; FIGHTING_CLUB
- db $0E,$0F,$00,$03,$05,MUSIC_OVERWORLD ; ROCK_CLUB_ENTRANCE
- db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; ROCK_CLUB_LOBBY
- db $22,$23,$00,$04,$0E,MUSIC_CLUB_2 ; ROCK_CLUB
- db $10,$11,$00,$03,$06,MUSIC_OVERWORLD ; WATER_CLUB_ENTRANCE
- db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; WATER_CLUB_LOBBY
- db $24,$25,$00,$02,$0F,MUSIC_CLUB_2 ; WATER_CLUB
- db $12,$13,$00,$03,$07,MUSIC_OVERWORLD ; LIGHTNING_CLUB_ENTRANCE
- db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; LIGHTNING_CLUB_LOBBY
- db $26,$27,$00,$05,$10,MUSIC_CLUB_1 ; LIGHTNING_CLUB
- db $14,$15,$00,$03,$08,MUSIC_OVERWORLD ; GRASS_CLUB_ENTRANCE
- db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; GRASS_CLUB_LOBBY
- db $28,$29,$00,$06,$11,MUSIC_CLUB_1 ; GRASS_CLUB
- db $16,$17,$00,$03,$09,MUSIC_OVERWORLD ; PSYCHIC_CLUB_ENTRANCE
- db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; PSYCHIC_CLUB_LOBBY
- db $2A,$2B,$00,$07,$12,MUSIC_CLUB_2 ; PSYCHIC_CLUB
- db $18,$19,$00,$03,$0A,MUSIC_OVERWORLD ; SCIENCE_CLUB_ENTRANCE
- db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; SCIENCE_CLUB_LOBBY
- db $2C,$2D,$00,$06,$13,MUSIC_CLUB_3 ; SCIENCE_CLUB
- db $1A,$1B,$00,$03,$0B,MUSIC_OVERWORLD ; FIRE_CLUB_ENTRANCE
- db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; FIRE_CLUB_LOBBY
- db $2E,$2F,$00,$08,$14,MUSIC_CLUB_3 ; FIRE_CLUB
- db $1C,$1D,$00,$03,$04,MUSIC_OVERWORLD ; CHALLENGE_HALL_ENTRANCE
- db $1E,$1F,$00,$03,$0C,MUSIC_OVERWORLD ; CHALLENGE_HALL_LOBBY
- db $30,$31,$00,$09,$15,MUSIC_OVERWORLD ; CHALLENGE_HALL
- db $32,$33,$00,$0A,$16,MUSIC_OVERWORLD ; POKEMON_DOME_ENTRANCE
- db $36,$37,$00,$0A,$17,MUSIC_POKEMON_DOME ; POKEMON_DOME
- db $3A,$3B,$00,$0A,$18,MUSIC_HALL_OF_HONOR ; HALL_OF_HONOR
+ db TILEMAP_OVERWORLD_MAP, TILEMAP_OVERWORLD_MAP_CGB, $00, $01, $01, MUSIC_OVERWORLD ; OVERWORLD_MAP
+ db TILEMAP_MASON_LABORATORY, TILEMAP_MASON_LABORATORY_CGB, $00, $02, $02, MUSIC_OVERWORLD ; MASON_LABORATORY
+ db TILEMAP_DECK_MACHINE_ROOM, TILEMAP_DECK_MACHINE_ROOM_CGB, $00, $02, $02, MUSIC_OVERWORLD ; DECK_MACHINE_ROOM
+ db TILEMAP_ISHIHARA, TILEMAP_ISHIHARA_CGB, $00, $03, $03, MUSIC_OVERWORLD ; ISHIHARAS_HOUSE
+ db TILEMAP_FIGHTING_CLUB_ENTRANCE, TILEMAP_FIGHTING_CLUB_ENTRANCE_CGB, $00, $03, $04, MUSIC_OVERWORLD ; FIGHTING_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; FIGHTING_CLUB_LOBBY
+ db TILEMAP_FIGHTING_CLUB, TILEMAP_FIGHTING_CLUB_CGB, $00, $04, $0d, MUSIC_CLUB_3 ; FIGHTING_CLUB
+ db TILEMAP_ROCK_CLUB_ENTRANCE, TILEMAP_ROCK_CLUB_ENTRANCE_CGB, $00, $03, $05, MUSIC_OVERWORLD ; ROCK_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; ROCK_CLUB_LOBBY
+ db TILEMAP_ROCK_CLUB, TILEMAP_ROCK_CLUB_CGB, $00, $04, $0e, MUSIC_CLUB_2 ; ROCK_CLUB
+ db TILEMAP_WATER_CLUB_ENTRANCE, TILEMAP_WATER_CLUB_ENTRANCE_CGB, $00, $03, $06, MUSIC_OVERWORLD ; WATER_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; WATER_CLUB_LOBBY
+ db TILEMAP_WATER_CLUB, TILEMAP_WATER_CLUB_CGB, $00, $02, $0f, MUSIC_CLUB_2 ; WATER_CLUB
+ db TILEMAP_LIGHTNING_CLUB_ENTRANCE, TILEMAP_LIGHTNING_CLUB_ENTRANCE_CGB, $00, $03, $07, MUSIC_OVERWORLD ; LIGHTNING_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; LIGHTNING_CLUB_LOBBY
+ db TILEMAP_LIGHTNING_CLUB, TILEMAP_LIGHTNING_CLUB_CGB, $00, $05, $10, MUSIC_CLUB_1 ; LIGHTNING_CLUB
+ db TILEMAP_GRASS_CLUB_ENTRANCE, TILEMAP_GRASS_CLUB_ENTRANCE_CGB, $00, $03, $08, MUSIC_OVERWORLD ; GRASS_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; GRASS_CLUB_LOBBY
+ db TILEMAP_GRASS_CLUB, TILEMAP_GRASS_CLUB_CGB, $00, $06, $11, MUSIC_CLUB_1 ; GRASS_CLUB
+ db TILEMAP_PSYCHIC_CLUB_ENTRANCE, TILEMAP_PSYCHIC_CLUB_ENTRANCE_CGB, $00, $03, $09, MUSIC_OVERWORLD ; PSYCHIC_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; PSYCHIC_CLUB_LOBBY
+ db TILEMAP_PSYCHIC_CLUB, TILEMAP_PSYCHIC_CLUB_CGB, $00, $07, $12, MUSIC_CLUB_2 ; PSYCHIC_CLUB
+ db TILEMAP_SCIENCE_CLUB_ENTRANCE, TILEMAP_SCIENCE_CLUB_ENTRANCE_CGB, $00, $03, $0a, MUSIC_OVERWORLD ; SCIENCE_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; SCIENCE_CLUB_LOBBY
+ db TILEMAP_SCIENCE_CLUB, TILEMAP_SCIENCE_CLUB_CGB, $00, $06, $13, MUSIC_CLUB_3 ; SCIENCE_CLUB
+ db TILEMAP_FIRE_CLUB_ENTRANCE, TILEMAP_FIRE_CLUB_ENTRANCE_CGB, $00, $03, $0b, MUSIC_OVERWORLD ; FIRE_CLUB_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; FIRE_CLUB_LOBBY
+ db TILEMAP_FIRE_CLUB, TILEMAP_FIRE_CLUB_CGB, $00, $08, $14, MUSIC_CLUB_3 ; FIRE_CLUB
+ db TILEMAP_CHALLENGE_HALL_ENTRANCE, TILEMAP_CHALLENGE_HALL_ENTRANCE_CGB, $00, $03, $04, MUSIC_OVERWORLD ; CHALLENGE_HALL_ENTRANCE
+ db TILEMAP_CLUB_LOBBY, TILEMAP_CLUB_LOBBY_CGB, $00, $03, $0c, MUSIC_OVERWORLD ; CHALLENGE_HALL_LOBBY
+ db TILEMAP_CHALLENGE_HALL, TILEMAP_CHALLENGE_HALL_CGB, $00, $09, $15, MUSIC_OVERWORLD ; CHALLENGE_HALL
+ db TILEMAP_POKEMON_DOME_ENTRANCE, TILEMAP_POKEMON_DOME_ENTRANCE_CGB, $00, $0a, $16, MUSIC_OVERWORLD ; POKEMON_DOME_ENTRANCE
+ db TILEMAP_POKEMON_DOME, TILEMAP_POKEMON_DOME_CGB, $00, $0a, $17, MUSIC_POKEMON_DOME ; POKEMON_DOME
+ db TILEMAP_HALL_OF_HONOR, TILEMAP_HALL_OF_HONOR_CGB, $00, $0a, $18, MUSIC_HALL_OF_HONOR ; HALL_OF_HONOR
diff --git a/src/data/maps/map0.bin b/src/data/maps/map0.bin
new file mode 100644
index 0000000..cf2a9ed
--- /dev/null
+++ b/src/data/maps/map0.bin
Binary files differ
diff --git a/src/data/maps/map1.bin b/src/data/maps/map1.bin
new file mode 100644
index 0000000..38543ff
--- /dev/null
+++ b/src/data/maps/map1.bin
Binary files differ
diff --git a/src/data/maps/map10.bin b/src/data/maps/map10.bin
new file mode 100644
index 0000000..570de49
--- /dev/null
+++ b/src/data/maps/map10.bin
Binary files differ
diff --git a/src/data/maps/map100.bin b/src/data/maps/map100.bin
new file mode 100644
index 0000000..cc9e675
--- /dev/null
+++ b/src/data/maps/map100.bin
Binary files differ
diff --git a/src/data/maps/map101.bin b/src/data/maps/map101.bin
new file mode 100644
index 0000000..15ff322
--- /dev/null
+++ b/src/data/maps/map101.bin
Binary files differ
diff --git a/src/data/maps/map102.bin b/src/data/maps/map102.bin
new file mode 100644
index 0000000..0a7e308
--- /dev/null
+++ b/src/data/maps/map102.bin
Binary files differ
diff --git a/src/data/maps/map103.bin b/src/data/maps/map103.bin
new file mode 100644
index 0000000..68219ed
--- /dev/null
+++ b/src/data/maps/map103.bin
Binary files differ
diff --git a/src/data/maps/map104.bin b/src/data/maps/map104.bin
new file mode 100644
index 0000000..b931d87
--- /dev/null
+++ b/src/data/maps/map104.bin
Binary files differ
diff --git a/src/data/maps/map105.bin b/src/data/maps/map105.bin
new file mode 100644
index 0000000..057d4e0
--- /dev/null
+++ b/src/data/maps/map105.bin
Binary files differ
diff --git a/src/data/maps/map11.bin b/src/data/maps/map11.bin
new file mode 100644
index 0000000..23e8c35
--- /dev/null
+++ b/src/data/maps/map11.bin
Binary files differ
diff --git a/src/data/maps/map12.bin b/src/data/maps/map12.bin
new file mode 100644
index 0000000..491cb07
--- /dev/null
+++ b/src/data/maps/map12.bin
Binary files differ
diff --git a/src/data/maps/map13.bin b/src/data/maps/map13.bin
new file mode 100644
index 0000000..69479ba
--- /dev/null
+++ b/src/data/maps/map13.bin
Binary files differ
diff --git a/src/data/maps/map14.bin b/src/data/maps/map14.bin
new file mode 100644
index 0000000..aa1c6bc
--- /dev/null
+++ b/src/data/maps/map14.bin
Binary files differ
diff --git a/src/data/maps/map15.bin b/src/data/maps/map15.bin
new file mode 100644
index 0000000..eb8fc6b
--- /dev/null
+++ b/src/data/maps/map15.bin
Binary files differ
diff --git a/src/data/maps/map16.bin b/src/data/maps/map16.bin
new file mode 100644
index 0000000..6725ce2
--- /dev/null
+++ b/src/data/maps/map16.bin
Binary files differ
diff --git a/src/data/maps/map17.bin b/src/data/maps/map17.bin
new file mode 100644
index 0000000..2202009
--- /dev/null
+++ b/src/data/maps/map17.bin
Binary files differ
diff --git a/src/data/maps/map18.bin b/src/data/maps/map18.bin
new file mode 100644
index 0000000..1b5f7e2
--- /dev/null
+++ b/src/data/maps/map18.bin
Binary files differ
diff --git a/src/data/maps/map19.bin b/src/data/maps/map19.bin
new file mode 100644
index 0000000..41fd5e3
--- /dev/null
+++ b/src/data/maps/map19.bin
Binary files differ
diff --git a/src/data/maps/map2.bin b/src/data/maps/map2.bin
new file mode 100644
index 0000000..b575bb2
--- /dev/null
+++ b/src/data/maps/map2.bin
Binary files differ
diff --git a/src/data/maps/map20.bin b/src/data/maps/map20.bin
new file mode 100644
index 0000000..0454487
--- /dev/null
+++ b/src/data/maps/map20.bin
Binary files differ
diff --git a/src/data/maps/map21.bin b/src/data/maps/map21.bin
new file mode 100644
index 0000000..6e9c407
--- /dev/null
+++ b/src/data/maps/map21.bin
Binary files differ
diff --git a/src/data/maps/map22.bin b/src/data/maps/map22.bin
new file mode 100644
index 0000000..c7951e0
--- /dev/null
+++ b/src/data/maps/map22.bin
Binary files differ
diff --git a/src/data/maps/map23.bin b/src/data/maps/map23.bin
new file mode 100644
index 0000000..9bef429
--- /dev/null
+++ b/src/data/maps/map23.bin
Binary files differ
diff --git a/src/data/maps/map24.bin b/src/data/maps/map24.bin
new file mode 100644
index 0000000..c3bbf87
--- /dev/null
+++ b/src/data/maps/map24.bin
Binary files differ
diff --git a/src/data/maps/map25.bin b/src/data/maps/map25.bin
new file mode 100644
index 0000000..9b66ad4
--- /dev/null
+++ b/src/data/maps/map25.bin
Binary files differ
diff --git a/src/data/maps/map26.bin b/src/data/maps/map26.bin
new file mode 100644
index 0000000..5a37965
--- /dev/null
+++ b/src/data/maps/map26.bin
Binary files differ
diff --git a/src/data/maps/map27.bin b/src/data/maps/map27.bin
new file mode 100644
index 0000000..f18ad28
--- /dev/null
+++ b/src/data/maps/map27.bin
Binary files differ
diff --git a/src/data/maps/map28.bin b/src/data/maps/map28.bin
new file mode 100644
index 0000000..557c897
--- /dev/null
+++ b/src/data/maps/map28.bin
Binary files differ
diff --git a/src/data/maps/map29.bin b/src/data/maps/map29.bin
new file mode 100644
index 0000000..b70e041
--- /dev/null
+++ b/src/data/maps/map29.bin
Binary files differ
diff --git a/src/data/maps/map3.bin b/src/data/maps/map3.bin
new file mode 100644
index 0000000..ceaa540
--- /dev/null
+++ b/src/data/maps/map3.bin
Binary files differ
diff --git a/src/data/maps/map30.bin b/src/data/maps/map30.bin
new file mode 100644
index 0000000..ce1d02c
--- /dev/null
+++ b/src/data/maps/map30.bin
Binary files differ
diff --git a/src/data/maps/map31.bin b/src/data/maps/map31.bin
new file mode 100644
index 0000000..d0e5fcd
--- /dev/null
+++ b/src/data/maps/map31.bin
Binary files differ
diff --git a/src/data/maps/map32.bin b/src/data/maps/map32.bin
new file mode 100644
index 0000000..609fa1e
--- /dev/null
+++ b/src/data/maps/map32.bin
Binary files differ
diff --git a/src/data/maps/map33.bin b/src/data/maps/map33.bin
new file mode 100644
index 0000000..025b820
--- /dev/null
+++ b/src/data/maps/map33.bin
Binary files differ
diff --git a/src/data/maps/map34.bin b/src/data/maps/map34.bin
new file mode 100644
index 0000000..de03a48
--- /dev/null
+++ b/src/data/maps/map34.bin
Binary files differ
diff --git a/src/data/maps/map35.bin b/src/data/maps/map35.bin
new file mode 100644
index 0000000..a178ac3
--- /dev/null
+++ b/src/data/maps/map35.bin
Binary files differ
diff --git a/src/data/maps/map36.bin b/src/data/maps/map36.bin
new file mode 100644
index 0000000..759a82e
--- /dev/null
+++ b/src/data/maps/map36.bin
Binary files differ
diff --git a/src/data/maps/map37.bin b/src/data/maps/map37.bin
new file mode 100644
index 0000000..fc1588d
--- /dev/null
+++ b/src/data/maps/map37.bin
Binary files differ
diff --git a/src/data/maps/map38.bin b/src/data/maps/map38.bin
new file mode 100644
index 0000000..779b893
--- /dev/null
+++ b/src/data/maps/map38.bin
Binary files differ
diff --git a/src/data/maps/map39.bin b/src/data/maps/map39.bin
new file mode 100644
index 0000000..104acd7
--- /dev/null
+++ b/src/data/maps/map39.bin
Binary files differ
diff --git a/src/data/maps/map4.bin b/src/data/maps/map4.bin
new file mode 100644
index 0000000..744b347
--- /dev/null
+++ b/src/data/maps/map4.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/data/maps/map40.bin b/src/data/maps/map40.bin
new file mode 100644
index 0000000..37db1fa
--- /dev/null
+++ b/src/data/maps/map40.bin
Binary files differ
diff --git a/src/data/maps/map41.bin b/src/data/maps/map41.bin
new file mode 100644
index 0000000..c13065e
--- /dev/null
+++ b/src/data/maps/map41.bin
Binary files differ
diff --git a/src/data/maps/map42.bin b/src/data/maps/map42.bin
new file mode 100644
index 0000000..21b5993
--- /dev/null
+++ b/src/data/maps/map42.bin
Binary files differ
diff --git a/src/data/maps/map43.bin b/src/data/maps/map43.bin
new file mode 100644
index 0000000..50e18a9
--- /dev/null
+++ b/src/data/maps/map43.bin
Binary files differ
diff --git a/src/data/maps/map44.bin b/src/data/maps/map44.bin
new file mode 100644
index 0000000..81c2cd1
--- /dev/null
+++ b/src/data/maps/map44.bin
Binary files differ
diff --git a/src/data/maps/map45.bin b/src/data/maps/map45.bin
new file mode 100644
index 0000000..6e44d7a
--- /dev/null
+++ b/src/data/maps/map45.bin
Binary files differ
diff --git a/src/data/maps/map46.bin b/src/data/maps/map46.bin
new file mode 100644
index 0000000..9bc01f8
--- /dev/null
+++ b/src/data/maps/map46.bin
Binary files differ
diff --git a/src/data/maps/map47.bin b/src/data/maps/map47.bin
new file mode 100644
index 0000000..085c680
--- /dev/null
+++ b/src/data/maps/map47.bin
Binary files differ
diff --git a/src/data/maps/map48.bin b/src/data/maps/map48.bin
new file mode 100644
index 0000000..5085c83
--- /dev/null
+++ b/src/data/maps/map48.bin
Binary files differ
diff --git a/src/data/maps/map49.bin b/src/data/maps/map49.bin
new file mode 100644
index 0000000..c5ae1b9
--- /dev/null
+++ b/src/data/maps/map49.bin
Binary files differ
diff --git a/src/data/maps/map5.bin b/src/data/maps/map5.bin
new file mode 100644
index 0000000..1397e15
--- /dev/null
+++ b/src/data/maps/map5.bin
@@ -0,0 +1 @@
+} !  \ No newline at end of file
diff --git a/src/data/maps/map50.bin b/src/data/maps/map50.bin
new file mode 100644
index 0000000..c34e10e
--- /dev/null
+++ b/src/data/maps/map50.bin
Binary files differ
diff --git a/src/data/maps/map51.bin b/src/data/maps/map51.bin
new file mode 100644
index 0000000..81a2263
--- /dev/null
+++ b/src/data/maps/map51.bin
Binary files differ
diff --git a/src/data/maps/map52.bin b/src/data/maps/map52.bin
new file mode 100644
index 0000000..b8ae26f
--- /dev/null
+++ b/src/data/maps/map52.bin
Binary files differ
diff --git a/src/data/maps/map53.bin b/src/data/maps/map53.bin
new file mode 100644
index 0000000..bfff297
--- /dev/null
+++ b/src/data/maps/map53.bin
Binary files differ
diff --git a/src/data/maps/map54.bin b/src/data/maps/map54.bin
new file mode 100644
index 0000000..7b7fef6
--- /dev/null
+++ b/src/data/maps/map54.bin
Binary files differ
diff --git a/src/data/maps/map55.bin b/src/data/maps/map55.bin
new file mode 100644
index 0000000..ae652ec
--- /dev/null
+++ b/src/data/maps/map55.bin
Binary files differ
diff --git a/src/data/maps/map56.bin b/src/data/maps/map56.bin
new file mode 100644
index 0000000..b4249e2
--- /dev/null
+++ b/src/data/maps/map56.bin
Binary files differ
diff --git a/src/data/maps/map57.bin b/src/data/maps/map57.bin
new file mode 100644
index 0000000..be748b7
--- /dev/null
+++ b/src/data/maps/map57.bin
Binary files differ
diff --git a/src/data/maps/map58.bin b/src/data/maps/map58.bin
new file mode 100644
index 0000000..00625d0
--- /dev/null
+++ b/src/data/maps/map58.bin
Binary files differ
diff --git a/src/data/maps/map59.bin b/src/data/maps/map59.bin
new file mode 100644
index 0000000..3873084
--- /dev/null
+++ b/src/data/maps/map59.bin
Binary files differ
diff --git a/src/data/maps/map6.bin b/src/data/maps/map6.bin
new file mode 100644
index 0000000..e2270c7
--- /dev/null
+++ b/src/data/maps/map6.bin
Binary files differ
diff --git a/src/data/maps/map60.bin b/src/data/maps/map60.bin
new file mode 100644
index 0000000..5dcb25e
--- /dev/null
+++ b/src/data/maps/map60.bin
Binary files differ
diff --git a/src/data/maps/map61.bin b/src/data/maps/map61.bin
new file mode 100644
index 0000000..e29cc7b
--- /dev/null
+++ b/src/data/maps/map61.bin
Binary files differ
diff --git a/src/data/maps/map62.bin b/src/data/maps/map62.bin
new file mode 100644
index 0000000..11d47bd
--- /dev/null
+++ b/src/data/maps/map62.bin
@@ -0,0 +1 @@
+p򠡢 \ No newline at end of file
diff --git a/src/data/maps/map63.bin b/src/data/maps/map63.bin
new file mode 100644
index 0000000..237f5fe
--- /dev/null
+++ b/src/data/maps/map63.bin
@@ -0,0 +1 @@
+p򣤥 \ No newline at end of file
diff --git a/src/data/maps/map64.bin b/src/data/maps/map64.bin
new file mode 100644
index 0000000..5f97f41
--- /dev/null
+++ b/src/data/maps/map64.bin
@@ -0,0 +1 @@
+p򦧨 \ No newline at end of file
diff --git a/src/data/maps/map65.bin b/src/data/maps/map65.bin
new file mode 100644
index 0000000..598efd3
--- /dev/null
+++ b/src/data/maps/map65.bin
@@ -0,0 +1 @@
+p򩪫 \ No newline at end of file
diff --git a/src/data/maps/map66.bin b/src/data/maps/map66.bin
new file mode 100644
index 0000000..b498b94
--- /dev/null
+++ b/src/data/maps/map66.bin
@@ -0,0 +1 @@
+p򬭮 \ No newline at end of file
diff --git a/src/data/maps/map67.bin b/src/data/maps/map67.bin
new file mode 100644
index 0000000..e5d5767
--- /dev/null
+++ b/src/data/maps/map67.bin
@@ -0,0 +1 @@
+p \ No newline at end of file
diff --git a/src/data/maps/map68.bin b/src/data/maps/map68.bin
new file mode 100644
index 0000000..8b74ef4
--- /dev/null
+++ b/src/data/maps/map68.bin
@@ -0,0 +1 @@
+p \ No newline at end of file
diff --git a/src/data/maps/map69.bin b/src/data/maps/map69.bin
new file mode 100644
index 0000000..69d45ef
--- /dev/null
+++ b/src/data/maps/map69.bin
@@ -0,0 +1 @@
+pǯ \ No newline at end of file
diff --git a/src/data/maps/map7.bin b/src/data/maps/map7.bin
new file mode 100644
index 0000000..7662b6e
--- /dev/null
+++ b/src/data/maps/map7.bin
Binary files differ
diff --git a/src/data/maps/map70.bin b/src/data/maps/map70.bin
new file mode 100644
index 0000000..0ac3803
--- /dev/null
+++ b/src/data/maps/map70.bin
Binary files differ
diff --git a/src/data/maps/map71.bin b/src/data/maps/map71.bin
new file mode 100644
index 0000000..8845640
--- /dev/null
+++ b/src/data/maps/map71.bin
Binary files differ
diff --git a/src/data/maps/map72.bin b/src/data/maps/map72.bin
new file mode 100644
index 0000000..0102181
--- /dev/null
+++ b/src/data/maps/map72.bin
Binary files differ
diff --git a/src/data/maps/map73.bin b/src/data/maps/map73.bin
new file mode 100644
index 0000000..d3bb103
--- /dev/null
+++ b/src/data/maps/map73.bin
Binary files differ
diff --git a/src/data/maps/map74.bin b/src/data/maps/map74.bin
new file mode 100644
index 0000000..52f8e24
--- /dev/null
+++ b/src/data/maps/map74.bin
Binary files differ
diff --git a/src/data/maps/map75.bin b/src/data/maps/map75.bin
new file mode 100644
index 0000000..bbb8abd
--- /dev/null
+++ b/src/data/maps/map75.bin
Binary files differ
diff --git a/src/data/maps/map76.bin b/src/data/maps/map76.bin
new file mode 100644
index 0000000..0380a45
--- /dev/null
+++ b/src/data/maps/map76.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/data/maps/map77.bin b/src/data/maps/map77.bin
new file mode 100644
index 0000000..ac2e677
--- /dev/null
+++ b/src/data/maps/map77.bin
Binary files differ
diff --git a/src/data/maps/map78.bin b/src/data/maps/map78.bin
new file mode 100644
index 0000000..0380a45
--- /dev/null
+++ b/src/data/maps/map78.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/data/maps/map79.bin b/src/data/maps/map79.bin
new file mode 100644
index 0000000..4b03152
--- /dev/null
+++ b/src/data/maps/map79.bin
Binary files differ
diff --git a/src/data/maps/map8.bin b/src/data/maps/map8.bin
new file mode 100644
index 0000000..aa8d5e5
--- /dev/null
+++ b/src/data/maps/map8.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/data/maps/map80.bin b/src/data/maps/map80.bin
new file mode 100644
index 0000000..0380a45
--- /dev/null
+++ b/src/data/maps/map80.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/data/maps/map81.bin b/src/data/maps/map81.bin
new file mode 100644
index 0000000..9480551
--- /dev/null
+++ b/src/data/maps/map81.bin
Binary files differ
diff --git a/src/data/maps/map82.bin b/src/data/maps/map82.bin
new file mode 100644
index 0000000..0380a45
--- /dev/null
+++ b/src/data/maps/map82.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/data/maps/map83.bin b/src/data/maps/map83.bin
new file mode 100644
index 0000000..cc72903
--- /dev/null
+++ b/src/data/maps/map83.bin
Binary files differ
diff --git a/src/data/maps/map84.bin b/src/data/maps/map84.bin
new file mode 100644
index 0000000..0380a45
--- /dev/null
+++ b/src/data/maps/map84.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/data/maps/map85.bin b/src/data/maps/map85.bin
new file mode 100644
index 0000000..37fa470
--- /dev/null
+++ b/src/data/maps/map85.bin
Binary files differ
diff --git a/src/data/maps/map86.bin b/src/data/maps/map86.bin
new file mode 100644
index 0000000..0380a45
--- /dev/null
+++ b/src/data/maps/map86.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/data/maps/map87.bin b/src/data/maps/map87.bin
new file mode 100644
index 0000000..065a4c5
--- /dev/null
+++ b/src/data/maps/map87.bin
Binary files differ
diff --git a/src/data/maps/map88.bin b/src/data/maps/map88.bin
new file mode 100644
index 0000000..0380a45
--- /dev/null
+++ b/src/data/maps/map88.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/data/maps/map89.bin b/src/data/maps/map89.bin
new file mode 100644
index 0000000..2071453
--- /dev/null
+++ b/src/data/maps/map89.bin
Binary files differ
diff --git a/src/data/maps/map9.bin b/src/data/maps/map9.bin
new file mode 100644
index 0000000..288b905
--- /dev/null
+++ b/src/data/maps/map9.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/data/maps/map90.bin b/src/data/maps/map90.bin
new file mode 100644
index 0000000..23b8711
--- /dev/null
+++ b/src/data/maps/map90.bin
Binary files differ
diff --git a/src/data/maps/map91.bin b/src/data/maps/map91.bin
new file mode 100644
index 0000000..723a7c6
--- /dev/null
+++ b/src/data/maps/map91.bin
Binary files differ
diff --git a/src/data/maps/map92.bin b/src/data/maps/map92.bin
new file mode 100644
index 0000000..e33651c
--- /dev/null
+++ b/src/data/maps/map92.bin
Binary files differ
diff --git a/src/data/maps/map93.bin b/src/data/maps/map93.bin
new file mode 100644
index 0000000..8bef537
--- /dev/null
+++ b/src/data/maps/map93.bin
Binary files differ
diff --git a/src/data/maps/map94.bin b/src/data/maps/map94.bin
new file mode 100644
index 0000000..d314a97
--- /dev/null
+++ b/src/data/maps/map94.bin
Binary files differ
diff --git a/src/data/maps/map95.bin b/src/data/maps/map95.bin
new file mode 100644
index 0000000..943bedf
--- /dev/null
+++ b/src/data/maps/map95.bin
Binary files differ
diff --git a/src/data/maps/map96.bin b/src/data/maps/map96.bin
new file mode 100644
index 0000000..99debbf
--- /dev/null
+++ b/src/data/maps/map96.bin
Binary files differ
diff --git a/src/data/maps/map97.bin b/src/data/maps/map97.bin
new file mode 100644
index 0000000..7d0c714
--- /dev/null
+++ b/src/data/maps/map97.bin
@@ -0,0 +1,2 @@
+U
+ U@e` \ No newline at end of file
diff --git a/src/data/maps/map98.bin b/src/data/maps/map98.bin
new file mode 100644
index 0000000..4f89d54
--- /dev/null
+++ b/src/data/maps/map98.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/data/maps/map99.bin b/src/data/maps/map99.bin
new file mode 100644
index 0000000..8cc4af6
--- /dev/null
+++ b/src/data/maps/map99.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm
index 55fa89c..872a37c 100644
--- a/src/engine/bank03.asm
+++ b/src/engine/bank03.asm
@@ -490,20 +490,21 @@ Func_c38f: ; c38f (3:438f)
push bc
ld a, [wd23a]
ld e, a
- ld a, [wd23b]
+ ld a, [wd23a + 1]
ld d, a
or e
- jr z, .asm_c3c7
+ jr z, .skip
+
push hl
- ld b, $c0
- call Func_08bf
+ ld b, HIGH(wc000)
+ call InitBGMapDecompression
ld a, [wd23d]
ld [wTempPointerBank], a
- ld a, [wd130]
+ ld a, [wBGMapHeight]
inc a
srl a
ld b, a
- ld a, [wd12f]
+ ld a, [wBGMapWidth]
inc a
srl a
ld c, a
@@ -511,7 +512,7 @@ Func_c38f: ; c38f (3:438f)
.asm_c3b7
push bc
ld b, $00
- call Func_3be4
+ call DecompressBGMapFromBank
ld hl, $10
add hl, de
ld d, h
@@ -519,7 +520,8 @@ Func_c38f: ; c38f (3:438f)
pop bc
dec b
jr nz, .asm_c3b7
-.asm_c3c7
+
+.skip
pop bc
pop hl
ret
@@ -571,10 +573,10 @@ Func_c3ee: ; c3ee (3:43ee)
ret
Func_c3ff: ; c3ff (3:43ff)
- ld a, [wd12f]
+ ld a, [wBGMapWidth]
sub $14
ld [wd237], a
- ld a, [wd130]
+ ld a, [wBGMapHeight]
sub $12
ld [wd238], a
call Func_c41c
diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm
index 6d2f353..3755410 100644
--- a/src/engine/bank07.asm
+++ b/src/engine/bank07.asm
@@ -64,7 +64,7 @@ LoadMapHeader: ; 1c33b (7:433b)
ld hl, MapHeaders
add hl, bc
ld a, [hli]
- ld [wd131], a
+ ld [wCurTilemap], a
ld a, [hli]
ld c, a
ld a, [hli]
@@ -75,14 +75,17 @@ LoadMapHeader: ; 1c33b (7:433b)
ld [wd290], a
ld a, [hli]
ld [wDefaultSong], a
+
ld a, [wConsole]
cp CONSOLE_CGB
- jr nz, .asm_1c370
+ jr nz, .got_tilemap
+ ; use CGB variant, if valid
ld a, c
or a
- jr z, .asm_1c370
- ld [wd131], a
-.asm_1c370
+ jr z, .got_tilemap
+ ld [wCurTilemap], a
+.got_tilemap
+
pop de
pop bc
pop hl
@@ -1516,784 +1519,7 @@ Func_1ce03: ; 1ce03 (7:4e03)
dw Func_191a3 ; DUEL_ANIM_156
dw Func_191a3 ; DUEL_ANIM_157
-; data for each animation ID (see src/constants/sprite_constants.asm)
-Animations: ; 1ce32 (7:4e32)
- ; DUEL_ANIM_NONE
- db $00 ; sprite ID
- db $00 ; palette ID
- db $00 ; anim ID
- db $00 ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_GLOW
- db SPRITE_DUEL_GLOW ; sprite ID
- db $1f ; palette ID
- db $47 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
- db SFX_11 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_PARALYSIS
- db SPRITE_DUEL_1 ; sprite ID
- db $20 ; palette ID
- db $48 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
- db SFX_12 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_SLEEP
- db SPRITE_DUEL_2 ; sprite ID
- db $21 ; palette ID
- db $49 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
- db SFX_13 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_CONFUSION
- db SPRITE_DUEL_55 ; sprite ID
- db $22 ; palette ID
- db $4a ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
- db SFX_14 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_POISON
- db SPRITE_DUEL_58 ; sprite ID
- db $23 ; palette ID
- db $4b ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
- db SFX_15 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_6
- db SPRITE_DUEL_3 ; sprite ID
- db $24 ; palette ID
- db $4c ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
- db SFX_16 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_HIT
- db SPRITE_DUEL_3 ; sprite ID
- db $24 ; palette ID
- db $4d ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
- db SFX_16 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BIG_HIT
- db SPRITE_DUEL_3 ; sprite ID
- db $24 ; palette ID
- db $4e ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
- db SFX_17 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_SHOW_DAMAGE
- db SPRITE_DUEL_4 ; sprite ID
- db $25 ; palette ID
- db $00 ; anim ID
- db $00 ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_THUNDER_SHOCK
- db SPRITE_DUEL_5 ; sprite ID
- db $26 ; palette ID
- db $5c ; anim ID
- db $00 ; anim flags
- db SFX_18 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_LIGHTNING
- db SPRITE_DUEL_6 ; sprite ID
- db $27 ; palette ID
- db $5e ; anim ID
- db $00 ; anim flags
- db SFX_19 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BORDER_SPARK
- db SPRITE_DUEL_59 ; sprite ID
- db $28 ; palette ID
- db $5f ; anim ID
- db $00 ; anim flags
- db SFX_1A ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BIG_LIGHTNING
- db SPRITE_DUEL_7 ; sprite ID
- db $29 ; palette ID
- db $60 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_1B ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_SMALL_FLAME
- db SPRITE_DUEL_8 ; sprite ID
- db $2a ; palette ID
- db $61 ; anim ID
- db $00 ; anim flags
- db SFX_1C ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BIG_FLAME
- db SPRITE_DUEL_8 ; sprite ID
- db $2a ; palette ID
- db $62 ; anim ID
- db $00 ; anim flags
- db SFX_1D ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_FIRE_SPIN
- db SPRITE_DUEL_9 ; sprite ID
- db $2b ; palette ID
- db $63 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_1E ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_DIVE_BOMB
- db SPRITE_DUEL_10 ; sprite ID
- db $2c ; palette ID
- db $64 ; anim ID
- db $00 ; anim flags
- db SFX_1F ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_WATER_JETS
- db SPRITE_DUEL_61 ; sprite ID
- db $2d ; palette ID
- db $69 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_20 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_WATER_GUN
- db SPRITE_DUEL_11 ; sprite ID
- db $2e ; palette ID
- db $6a ; anim ID
- db $00 ; anim flags
- db SFX_21 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_WHIRLPOOL
- db SPRITE_DUEL_12 ; sprite ID
- db $2f ; palette ID
- db $6b ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_22 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_HYDRO_PUMP
- db SPRITE_DUEL_13 ; sprite ID
- db $30 ; palette ID
- db $6c ; anim ID
- db $00 ; anim flags
- db SFX_23 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BLIZZARD
- db SPRITE_DUEL_62 ; sprite ID
- db $31 ; palette ID
- db $6d ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_24 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_PSYCHIC
- db SPRITE_DUEL_14 ; sprite ID
- db $32 ; palette ID
- db $6e ; anim ID
- db $00 ; anim flags
- db SFX_25 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_GLARE
- db SPRITE_DUEL_15 ; sprite ID
- db $33 ; palette ID
- db $6f ; anim ID
- db $00 ; anim flags
- db SFX_26 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BEAM
- db SPRITE_DUEL_16 ; sprite ID
- db $34 ; palette ID
- db $70 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_6) | (1 << SPRITE_ANIM_FLAG_Y_SUBTRACT) ; anim flags
- db SFX_27 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_HYPER_BEAM
- db SPRITE_DUEL_17 ; sprite ID
- db $35 ; palette ID
- db $71 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_6) | (1 << SPRITE_ANIM_FLAG_Y_SUBTRACT) ; anim flags
- db SFX_28 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_ROCK_THROW
- db SPRITE_DUEL_18 ; sprite ID
- db $36 ; palette ID
- db $72 ; anim ID
- db $00 ; anim flags
- db SFX_29 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_STONE_BARRAGE
- db SPRITE_DUEL_18 ; sprite ID
- db $36 ; palette ID
- db $73 ; anim ID
- db $00 ; anim flags
- db SFX_2A ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_PUNCH
- db SPRITE_DUEL_19 ; sprite ID
- db $37 ; palette ID
- db $74 ; anim ID
- db $00 ; anim flags
- db SFX_2B ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_THUNDERPUNCH
- db SPRITE_DUEL_19 ; sprite ID
- db $37 ; palette ID
- db $75 ; anim ID
- db $00 ; anim flags
- db SFX_52 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_FIRE_PUNCH
- db SPRITE_DUEL_19 ; sprite ID
- db $37 ; palette ID
- db $76 ; anim ID
- db $00 ; anim flags
- db SFX_53 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_STRETCH_KICK
- db SPRITE_DUEL_20 ; sprite ID
- db $38 ; palette ID
- db $77 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_5) | (1 << SPRITE_ANIM_FLAG_X_SUBTRACT) ; anim flags
- db SFX_2C ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_SLASH
- db SPRITE_DUEL_21 ; sprite ID
- db $39 ; palette ID
- db $78 ; anim ID
- db $00 ; anim flags
- db SFX_2D ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_WHIP
- db SPRITE_DUEL_22 ; sprite ID
- db $3a ; palette ID
- db $7a ; anim ID
- db $00 ; anim flags
- db SFX_2D ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_TEAR
- db SPRITE_DUEL_23 ; sprite ID
- db $3b ; palette ID
- db $7b ; anim ID
- db $00 ; anim flags
- db SFX_2E ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_FURY_SWIPES
- db SPRITE_DUEL_21 ; sprite ID
- db $39 ; palette ID
- db $79 ; anim ID
- db $00 ; anim flags
- db SFX_2F ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_DRILL
- db SPRITE_DUEL_24 ; sprite ID
- db $3c ; palette ID
- db $7c ; anim ID
- db (1 << SPRITE_ANIM_FLAG_5) | (1 << SPRITE_ANIM_FLAG_X_SUBTRACT) ; anim flags
- db SFX_30 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_POT_SMASH
- db SPRITE_DUEL_25 ; sprite ID
- db $3d ; palette ID
- db $7d ; anim ID
- db $00 ; anim flags
- db SFX_31 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BONEMERANG
- db SPRITE_DUEL_26 ; sprite ID
- db $3e ; palette ID
- db $7e ; anim ID
- db $00 ; anim flags
- db SFX_32 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_SEISMIC_TOSS
- db SPRITE_DUEL_27 ; sprite ID
- db $3f ; palette ID
- db $7f ; anim ID
- db $00 ; anim flags
- db SFX_33 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_NEEDLES
- db SPRITE_DUEL_28 ; sprite ID
- db $40 ; palette ID
- db $80 ; anim ID
- db $00 ; anim flags
- db SFX_34 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_WHITE_GAS
- db SPRITE_DUEL_29 ; sprite ID
- db $41 ; palette ID
- db $81 ; anim ID
- db $00 ; anim flags
- db SFX_35 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_POWDER
- db SPRITE_DUEL_56 ; sprite ID
- db $42 ; palette ID
- db $82 ; anim ID
- db $00 ; anim flags
- db SFX_36 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_GOO
- db SPRITE_DUEL_30 ; sprite ID
- db $43 ; palette ID
- db $83 ; anim ID
- db $00 ; anim flags
- db SFX_37 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BUBBLES
- db SPRITE_DUEL_31 ; sprite ID
- db $44 ; palette ID
- db $84 ; anim ID
- db $00 ; anim flags
- db SFX_38 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_STRING_SHOT
- db SPRITE_DUEL_32 ; sprite ID
- db $45 ; palette ID
- db $85 ; anim ID
- db $00 ; anim flags
- db SFX_39 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BOYFRIENDS
- db SPRITE_DUEL_33 ; sprite ID
- db $46 ; palette ID
- db $86 ; anim ID
- db $00 ; anim flags
- db SFX_3A ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_LURE
- db SPRITE_DUEL_34 ; sprite ID
- db $47 ; palette ID
- db $87 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_5) | (1 << SPRITE_ANIM_FLAG_X_SUBTRACT) ; anim flags
- db SFX_3B ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_TOXIC
- db SPRITE_DUEL_35 ; sprite ID
- db $48 ; palette ID
- db $88 ; anim ID
- db $00 ; anim flags
- db SFX_3C ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_CONFUSE_RAY
- db SPRITE_DUEL_66 ; sprite ID
- db $49 ; palette ID
- db $89 ; anim ID
- db $00 ; anim flags
- db SFX_3D ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_SING
- db SPRITE_DUEL_36 ; sprite ID
- db $4a ; palette ID
- db $8a ; anim ID
- db $00 ; anim flags
- db SFX_3E ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_SUPERSONIC
- db SPRITE_DUEL_37 ; sprite ID
- db $4b ; palette ID
- db $8b ; anim ID
- db $00 ; anim flags
- db SFX_3F ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_PETAL_DANCE
- db SPRITE_DUEL_57 ; sprite ID
- db $4c ; palette ID
- db $8c ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_40 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_PROTECT
- db SPRITE_DUEL_38 ; sprite ID
- db $4d ; palette ID
- db $8d ; anim ID
- db $00 ; anim flags
- db SFX_41 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BARRIER
- db SPRITE_DUEL_39 ; sprite ID
- db $4e ; palette ID
- db $8e ; anim ID
- db $00 ; anim flags
- db SFX_42 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_QUICK_ATTACK
- db SPRITE_DUEL_40 ; sprite ID
- db $4f ; palette ID
- db $8f ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_43 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_WHIRLWIND
- db SPRITE_DUEL_41 ; sprite ID
- db $50 ; palette ID
- db $90 ; anim ID
- db $00 ; anim flags
- db SFX_44 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_CRY
- db SPRITE_DUEL_42 ; sprite ID
- db $51 ; palette ID
- db $92 ; anim ID
- db $00 ; anim flags
- db SFX_45 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_QUESTION_MARK
- db SPRITE_DUEL_43 ; sprite ID
- db $52 ; palette ID
- db $93 ; anim ID
- db $00 ; anim flags
- db SFX_46 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_SELFDESTRUCT
- db SPRITE_DUEL_44 ; sprite ID
- db $53 ; palette ID
- db $94 ; anim ID
- db $00 ; anim flags
- db SFX_47 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BIG_SELFDESTRUCT_1
- db SPRITE_DUEL_44 ; sprite ID
- db $53 ; palette ID
- db $95 ; anim ID
- db $00 ; anim flags
- db SFX_48 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_HEAL
- db SPRITE_DUEL_60 ; sprite ID
- db $54 ; palette ID
- db $97 ; anim ID
- db $00 ; anim flags
- db SFX_49 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_DRAIN
- db SPRITE_DUEL_64 ; sprite ID
- db $55 ; palette ID
- db $99 ; anim ID
- db $00 ; anim flags
- db SFX_4A ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_DARK_GAS
- db SPRITE_DUEL_29 ; sprite ID
- db $56 ; palette ID
- db $81 ; anim ID
- db $00 ; anim flags
- db SFX_4B ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BIG_SELFDESTRUCT_2
- db SPRITE_DUEL_44 ; sprite ID
- db $53 ; palette ID
- db $96 ; anim ID
- db $00 ; anim flags
- db SFX_47 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_66
- db SPRITE_DUEL_3 ; sprite ID
- db $24 ; palette ID
- db $4d ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
- db SFX_16 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_67
- db SPRITE_DUEL_3 ; sprite ID
- db $24 ; palette ID
- db $4e ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
- db SFX_17 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_68
- db SPRITE_DUEL_5 ; sprite ID
- db $26 ; palette ID
- db $5c ; anim ID
- db $00 ; anim flags
- db SFX_18 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_69
- db SPRITE_DUEL_62 ; sprite ID
- db $31 ; palette ID
- db $6d ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_24 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_70
- db SPRITE_DUEL_45 ; sprite ID
- db $57 ; palette ID
- db $9a ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) ; anim flags
- db SFX_11 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_71
- db SPRITE_DUEL_10 ; sprite ID
- db $2c ; palette ID
- db $65 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_5C ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_72
- db SPRITE_DUEL_10 ; sprite ID
- db $2c ; palette ID
- db $66 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_73
- db SPRITE_DUEL_60 ; sprite ID
- db $54 ; palette ID
- db $98 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_4C ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_74
- db SPRITE_DUEL_41 ; sprite ID
- db $50 ; palette ID
- db $91 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_4D ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_EXPAND
- db SPRITE_DUEL_46 ; sprite ID
- db $58 ; palette ID
- db $9b ; anim ID
- db $00 ; anim flags
- db SFX_4E ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_76
- db SPRITE_DUEL_47 ; sprite ID
- db $59 ; palette ID
- db $9c ; anim ID
- db $00 ; anim flags
- db SFX_4F ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_THUNDER_WAVE
- db SPRITE_DUEL_48 ; sprite ID
- db $5a ; palette ID
- db $9d ; anim ID
- db $00 ; anim flags
- db SFX_50 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_78
- db SPRITE_DUEL_10 ; sprite ID
- db $2c ; palette ID
- db $67 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_51 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_79
- db SPRITE_DUEL_10 ; sprite ID
- db $2c ; palette ID
- db $68 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_51 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_80
- db SPRITE_DUEL_49 ; sprite ID
- db $5b ; palette ID
- db $9e ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_PLAYER_SHUFFLE
- db SPRITE_DUEL_49 ; sprite ID
- db $5b ; palette ID
- db $9f ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_07 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_OPP_SHUFFLE
- db SPRITE_DUEL_49 ; sprite ID
- db $5b ; palette ID
- db $a0 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_07 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BOTH_SHUFFLE
- db SPRITE_DUEL_49 ; sprite ID
- db $5b ; palette ID
- db $a1 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_07 ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_84
- db SPRITE_DUEL_49 ; sprite ID
- db $5b ; palette ID
- db $a2 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_BOTH_DRAW
- db SPRITE_DUEL_49 ; sprite ID
- db $5b ; palette ID
- db $a3 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_PLAYER_DRAW
- db SPRITE_DUEL_49 ; sprite ID
- db $5b ; palette ID
- db $a4 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_OPP_DRAW
- db SPRITE_DUEL_49 ; sprite ID
- db $5b ; palette ID
- db $a5 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_COIN_SPIN
- db SPRITE_DUEL_50 ; sprite ID
- db $5c ; palette ID
- db $a7 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_COIN_TOSS1
- db SPRITE_DUEL_50 ; sprite ID
- db $5c ; palette ID
- db $a8 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_0B ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_COIN_TOSS2
- db SPRITE_DUEL_50 ; sprite ID
- db $5c ; palette ID
- db $a9 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_3) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_0B ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_COIN_TAILS
- db SPRITE_DUEL_50 ; sprite ID
- db $5c ; palette ID
- db $aa ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_COIN_HEADS
- db SPRITE_DUEL_50 ; sprite ID
- db $5c ; palette ID
- db $ab ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_DUEL_WIN
- db SPRITE_DUEL_WON_LOST_DRAW ; sprite ID
- db $5d ; palette ID
- db $ac ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_DUEL_LOSS
- db SPRITE_DUEL_WON_LOST_DRAW ; sprite ID
- db $5d ; palette ID
- db $ad ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_DUEL_DRAW
- db SPRITE_DUEL_WON_LOST_DRAW ; sprite ID
- db $5d ; palette ID
- db $ae ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-
- ; DUEL_ANIM_96
- db SPRITE_DUEL_49 ; sprite ID
- db $5b ; palette ID
- db $a6 ; anim ID
- db (1 << SPRITE_ANIM_FLAG_UNSKIPPABLE) | (1 << SPRITE_ANIM_FLAG_SPEED) ; anim flags
- db SFX_STOP ; sound FX ID
- db $00 ; handler function
-; 0x1d078
+INCLUDE "data/duel_animations.asm"
Func_1d078: ; 1d078 (7:5078)
ld a, [wd627]
diff --git a/src/engine/bank1c.asm b/src/engine/bank1c.asm
index 2414681..08c607f 100644
--- a/src/engine/bank1c.asm
+++ b/src/engine/bank1c.asm
@@ -260,11 +260,11 @@ Func_701e9: ; 701e9 (1c:41e9)
push bc
ld e, l
ld d, h
- ld b, $c0
- call Func_08bf
+ ld b, HIGH(wc000)
+ call InitBGMapDecompression
pop bc
pop de
- call Func_08de
+ call DecompressBGMap
ret
Func_701fe: ; 701fe (1c:41fe)
@@ -328,4 +328,7 @@ Func_70214: ; 70214 (1c:4214)
ret
Unknown_7024a: ; 7024a (1c:424a)
- INCROM $7024a, $74000
+ INCROM $7024a, $7036a
+
+Func_7036a: ; 7036a (1c:436a)
+ INCROM $7036a, $74000
diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm
index 60830e9..e4cadba 100644
--- a/src/engine/bank20.asm
+++ b/src/engine/bank20.asm
@@ -11,15 +11,40 @@ Func_80028: ; 80028 (20:4028)
ret
; 0x8003d
- INCROM $8003d, $80077
+Func_8003d: ; 8003d (20:403d)
+ farcall LoadMapHeader
+ farcall Func_7036a
+ ld bc, $0
+ call Func_80077
+ ld a, $80
+ ld [wd4ca], a
+ xor a
+ ld [wd4cb], a
+ call LoadTilesetGfx
+ xor a
+ ld [wd4ca], a
+ ld a, [wd291]
+ ld [wd4cb], a
+ ld a, [wd28f]
+ call Func_803c9
+ ld a, [wd291]
+ ld [wd4cb], a
+ ld a, [wd290]
+ or a
+ jr z, .asm_80076
+ call Func_803c9
+.asm_80076
+ ret
+; 0x80077
Func_80077: ; 80077 (20:4077)
ld a, $1
- ld [wd292], a
+ ld [wBGMapCopyMode], a
jr Func_80082
xor a
- ld [wd292], a
+ ld [wBGMapCopyMode], a
+; fallthrough
Func_80082: ; 80082 (20:4082)
push hl
@@ -30,24 +55,29 @@ Func_80082: ; 80082 (20:4082)
ld [hl], e
inc hl
ld [hl], d
+
+; get pointer and bank for BG Map
call Func_803b9
ld a, [wTempPointerBank]
ld [wd23d], a
- ld de, wLoadedPalData
- ld bc, $0006
+
+; store header data
+ ld de, wBGMapBuffer
+ ld bc, $0006 ; header + 1st instruction
call CopyBankedDataToDE
ld l, e
ld h, d
ld a, [hli]
- ld [wd12f], a
+ ld [wBGMapWidth], a
ld a, [hli]
- ld [wd130], a
+ ld [wBGMapHeight], a
ld a, [hli]
ld [wd23a], a
ld a, [hli]
- ld [wd23b], a
+ ld [wd23a + 1], a
ld a, [hli]
ld [wd23c], a
+
call Func_800bd
pop de
pop bc
@@ -64,8 +94,8 @@ Func_800bd: ; 800bd (20:40bd)
ld a, [wTempPointer + 1]
adc $00
ld d, a
- ld b, $c0
- call Func_08bf
+ ld b, HIGH(wc000)
+ call InitBGMapDecompression
ld a, [wVRAMPointer]
ld e, a
ld a, [wVRAMPointer + 1]
@@ -77,63 +107,72 @@ Func_800bd: ; 800bd (20:40bd)
ret
Func_800e0: ; 800e0 (20:40e0)
+; if wd23c != 0, then use double wBGMapWidth
push hl
ld hl, wd28e
- ld a, [wd12f]
+ ld a, [wBGMapWidth]
ld [hl], a
ld a, [wd23c]
or a
jr z, .asm_800f0
sla [hl]
.asm_800f0
+
ld c, $40
- ld hl, wLoadedPalData
+ ld hl, wBGMapBuffer
xor a
-.asm_800f6
+.loop_clear
ld [hli], a
dec c
- jr nz, .asm_800f6
- ld a, [wd130]
+ jr nz, .loop_clear
+
+; loop each row, up to the number of tiles in height
+ ld a, [wBGMapHeight]
ld c, a
-.asm_800fe
+.loop
push bc
push de
ld b, $00
ld a, [wd28e]
ld c, a
- ld de, wLoadedPalData
- call Func_3be4
- ld a, [wd12f]
+ ld de, wBGMapBuffer
+ call DecompressBGMapFromBank
+
+ ld a, [wBGMapWidth]
ld b, a
pop de
push de
- ld hl, wLoadedPalData
- call Func_8016e
+ ld hl, wBGMapBuffer
+ call CopyBGDataToVRAMOrSRAM
ld a, [wConsole]
- cp $02
- jr nz, .asm_8013b
+ cp CONSOLE_CGB
+ jr nz, .next_row
+
+ ; cgb only
call BankswitchVRAM1
- ld a, [wd12f]
+ ld a, [wBGMapWidth]
ld c, a
ld b, $00
- ld hl, wLoadedPalData
+ ld hl, wBGMapBuffer
add hl, bc
pop de
push de
- ld a, [wd12f]
+ ld a, [wBGMapWidth]
ld b, a
call Func_80148
- call Func_8016e
+ call CopyBGDataToVRAMOrSRAM
call BankswitchVRAM0
-.asm_8013b
+
+.next_row
pop de
- ld hl, $20
+ ld hl, BG_MAP_WIDTH
add hl, de
ld e, l
ld d, h
pop bc
dec c
- jr nz, .asm_800fe
+ jr nz, .loop
+
pop hl
ret
@@ -144,59 +183,71 @@ Func_80148: ; 80148 (20:4148)
ld a, [wd23c]
or a
jr z, .asm_80162
+
+; add wd291 to b bytes in hl
push hl
push bc
-.asm_80155
+.loop_1
push bc
ld a, [wd291]
add [hl]
ld [hli], a
pop bc
dec b
- jr nz, .asm_80155
+ jr nz, .loop_1
pop bc
pop hl
ret
+
+; store wd291 to b bytes in hl
.asm_80162
push hl
push bc
ld a, [wd291]
-.asm_80167
+.loop_2
ld [hli], a
dec b
- jr nz, .asm_80167
+ jr nz, .loop_2
pop bc
pop hl
ret
-Func_8016e: ; 8016e (20:416e)
- ld a, [wd292]
+; copies BG Map data pointed by hl
+; to either VRAM or SRAM, depending on wBGMapCopyMode
+; de is the target address in VRAM,
+; if SRAM is the target address to copy,
+; copies data to s0BGMap or s1BGMap
+; for VRAM0 or VRAM1 respectively
+CopyBGDataToVRAMOrSRAM: ; 8016e (20:416e)
+ ld a, [wBGMapCopyMode]
or a
jp z, SafeCopyDataHLtoDE
+
+; copies b bytes from hl to SRAM1
push hl
push bc
push de
ldh a, [hBankSRAM]
push af
- ld a, $01
+ ld a, BANK("SRAM1")
call BankswitchSRAM
push hl
- ld hl, $800
+ ld hl, s0BGMap - v0BGMap0
ldh a, [hBankVRAM]
or a
- jr z, .asm_8018c
- ld hl, $c00
-.asm_8018c
+ jr z, .got_pointer
+ ld hl, s1BGMap - v1BGMap0
+.got_pointer
add hl, de
ld e, l
ld d, h
pop hl
-.asm_80190
+.loop
ld a, [hli]
ld [de], a
inc de
dec b
- jr nz, .asm_80190
+ jr nz, .loop
pop af
call BankswitchSRAM
call DisableSRAM
@@ -323,7 +374,7 @@ Func_8025b: ; 8025b (20:425b)
call LoadGraphicsPointerFromHL
ld a, [hl] ; sprite number of tiles
push af
- ld [wCurSpriteNumTiles], a
+ ld [wTotalNumTiles], a
ld a, TILE_SIZE
ld [wCurSpriteTileSize], a
call LoadGfxDataFromTempPointerToVRAMBank
@@ -338,7 +389,7 @@ LoadGfxDataFromTempPointerToVRAMBank: ; 80274 (20:4274)
jr LoadGfxDataFromTempPointer
Func_80279: ; 80279 (20:4279)
- call Func_802bb
+ call GetTileOffsetPointerAndSwitchVRAM_Tiles0ToTiles2
; loads graphics data pointed by wTempPointer in wTempPointerBank
; to wVRAMPointer
@@ -346,7 +397,7 @@ LoadGfxDataFromTempPointer:
push hl
push bc
push de
- ld a, [wCurSpriteNumTiles]
+ ld a, [wTotalNumTiles]
ld b, a
ld a, [wCurSpriteTileSize]
ld c, a
@@ -378,7 +429,7 @@ GetTileOffsetPointerAndSwitchVRAM: ; 8029f (20:429f)
and $f0
ld [wVRAMPointer], a
pop af
- and $f
+ and $0f
add HIGH(v0Tiles0) ; $80
ld [wVRAMPointer + 1], a
@@ -389,33 +440,229 @@ GetTileOffsetPointerAndSwitchVRAM: ; 8029f (20:429f)
call BankswitchVRAM
ret
-Func_802bb: ; 802bb (20:42bb)
- ld a, [wd4ca]
+; converts wVRAMTileOffset to address in VRAM
+; and stores it in wVRAMPointer
+; switches VRAM according to wd4cb
+; then changes wVRAMPointer such that
+; addresses to Tiles0 is changed to Tiles2
+GetTileOffsetPointerAndSwitchVRAM_Tiles0ToTiles2: ; 802bb (20:42bb)
+ ld a, [wVRAMTileOffset]
push af
- xor $80
- ld [wd4ca], a
+ xor $80 ; toggle top bit
+ ld [wVRAMTileOffset], a
call GetTileOffsetPointerAndSwitchVRAM
ld a, [wVRAMPointer + 1]
add $8
ld [wVRAMPointer + 1], a
pop af
- ld [wd4ca], a
+ ld [wVRAMTileOffset], a
ret
; 0x802d4
- INCROM $802d4, $803b9
+; loads tileset gfx to VRAM corresponding to wCurTileset
+LoadTilesetGfx: ; 802d4 (20:42d4)
+ push hl
+ ld l, $02
+ ld a, [wCurTileset]
+ call GetMapDataPointer
+ call LoadGraphicsPointerFromHL
+ call .LoadTileGfx
+ call BankswitchVRAM0
+ pop hl
+ ret
+; 0x802e8
+
+; loads gfx data from wTempPointerBank:wTempPointer
+.LoadTileGfx ; 802e8 (20:42e8)
+ push hl
+ push bc
+ push de
+ ld hl, wTempPointer
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [wTempPointerBank]
+ call GetFarByte ; get number of tiles (low byte)
+ ld [wTotalNumTiles], a
+ inc hl
+ ld a, [wTempPointerBank]
+ call GetFarByte ; get number of tiles (high byte)
+ ld [wTotalNumTiles + 1], a
+ inc hl
+ ld a, l
+ ld [wTempPointer], a
+ ld a, h
+ ld [wTempPointer + 1], a
+
+; used to sequentially copy gfx data in the order
+; v0Tiles1 -> v0Tiles2 -> v1Tiles1 -> v1Tiles2
+
+ lb bc, $0, LOW(v0Tiles2 / TILE_SIZE) ; $00
+ call .CopyGfxData
+ jr z, .done
+ lb bc, $0, LOW(v0Tiles1 / TILE_SIZE) ; $80
+ call .CopyGfxData
+ jr z, .done
+ ; VRAM1 only used in CGB console
+ ld a, [wConsole]
+ cp CONSOLE_CGB
+ jr nz, .done
+ lb bc, $1, LOW(v1Tiles2 / TILE_SIZE) ; $00
+ call .CopyGfxData
+ jr z, .done
+ lb bc, $1, LOW(v1Tiles1 / TILE_SIZE) ; $80
+ call .CopyGfxData
+
+.done
+ pop de
+ pop bc
+ pop hl
+ ret
+; 0x80336
+
+; copies gfx data from wTempPointer to VRAM
+; c must match with wVRAMTileOffset
+; if c = $00, copies it to Tiles2
+; if c = $80, copies it to Tiles1
+; b must match with VRAM bank in wd4cb
+; prepares next call to this routine if data wasn't fully copied
+; so that it copies to the right VRAM section
+.CopyGfxData ; 80336 (20:4336)
+ push hl
+ push bc
+ push de
+ ld a, [wd4cb]
+ cp b
+ jr nz, .skip
+ ld a, [wVRAMTileOffset]
+ ld d, a
+ xor c
+ bit 7, a
+ jr nz, .skip
+
+; (wd4cb == b) and
+; bit 7 in c is same as bit 7 in wVRAMTileOffset
+ ld a, c
+ add $80
+ sub d
+ ld d, a ; total number of tiles
+ ld a, [wTotalNumTiles + 1]
+ or a
+ jr nz, .asm_8035a
+ ; if d > wTotalNumTiles,
+ ; overwrite it with wTotalNumTiles
+ ld a, [wTotalNumTiles]
+ cp d
+ jr nc, .asm_8035a
+ ld d, a
+.asm_8035a
+ ld a, [wTotalNumTiles]
+ sub d
+ ld [wTotalNumTiles], a
+ ld a, [wTotalNumTiles + 1]
+ sbc $00
+ ld [wTotalNumTiles + 1], a
+ call GetTileOffsetPointerAndSwitchVRAM_Tiles0ToTiles2
+
+ ld b, d ; number of tiles
+ ld c, TILE_SIZE
+ ld hl, wVRAMPointer
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, wTempPointer
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ push bc
+ push hl
+ ldh a, [hBankVRAM]
+ push af
+ ld a, [wd4cb]
+ and $01
+ call BankswitchVRAM
+ call CopyGfxDataFromTempBank
+ pop af
+ call BankswitchVRAM
+ pop de
+ pop bc
+ ; add number of tiles * TILE_SIZE
+ ; to wVRAMPointer and store it in wTempPointer
+ ld l, b
+ ld h, $00
+ add hl, hl ; *2
+ add hl, hl ; *4
+ add hl, hl ; *8
+ add hl, hl ; *16 (TILE_SIZE)
+ add hl, de
+ ld a, l
+ ld [wTempPointer], a
+ ld a, h
+ ld [wTempPointer + 1], a
+
+ ld hl, wVRAMTileOffset
+ ld a, [hl]
+ add $80
+ push af
+ and $80 ; start of next group of tiles
+ ld [hli], a
+ pop af
+ ; if it overflows
+ ; (which means a tile group after Tiles2)
+ ; then set wd4cb for VRAM1
+ ld a, [hl] ; wd4cb
+ adc $00
+ ld [hl], a
+
+.skip
+ ld hl, wTotalNumTiles
+ ld a, [hli]
+ or [hl] ; wTotalNumTiles + 1
+ pop de
+ pop bc
+ pop hl
+ ret
+; 0x803b9
+
+; gets pointer to BG map with ID from wCurTilemap
Func_803b9: ; 803b9 (20:43b9)
ld l, $00
- ld a, [wd131]
+ ld a, [wCurTilemap]
call GetMapDataPointer
call LoadGraphicsPointerFromHL
ld a, [hl]
- ld [wd239], a
+ ld [wCurTileset], a
ret
; 0x803c9
- INCROM $803c9, $803ec
+Func_803c9: ; 803c9 (20:43c9)
+ push hl
+ push bc
+ push de
+ call CopyPaletteDataToBuffer
+ ld hl, wLoadedPalData
+ ld a, [hli]
+ or a
+ jr z, .asm_803dc
+ ld a, [hli]
+ push hl
+ call SetBGP
+ pop hl
+.asm_803dc
+ ld a, [hli]
+ or a
+ jr z, .asm_803e8
+ ld c, a
+ ld a, [wd4cb]
+ ld b, a
+ call LoadPaletteDataFromHL
+.asm_803e8
+ pop de
+ pop bc
+ pop hl
+ ret
+; 0x803ec
; copies from palette data in hl c*8 bytes to palette index b
; in WRAM, starting from wBackgroundPalettesCGB
@@ -571,7 +818,7 @@ Func_80b89: ; 80b89 (20:4b89)
push af
ld c, a
ld a, $01
- ld [wd292], a
+ ld [wBGMapCopyMode], a
ld b, $00
ld hl, wd323
add hl, bc
@@ -589,7 +836,7 @@ Func_80b89: ; 80b89 (20:4b89)
Func_80ba4: ; 80ba4 (20:4ba4)
push af
xor a
- ld [wd292], a
+ ld [wBGMapCopyMode], a
pop af
; Fallthrough
@@ -598,17 +845,17 @@ Func_80baa: ; 80baa (20:4baa)
push bc
push de
ld c, a
- ld a, [wd131]
+ ld a, [wCurTilemap]
push af
ld a, [wd23d]
push af
- ld a, [wd12f]
+ ld a, [wBGMapWidth]
push af
- ld a, [wd130]
+ ld a, [wBGMapHeight]
push af
ld a, [wd23a]
push af
- ld a, [wd23b]
+ ld a, [wd23a + 1]
push af
ld b, $0
ld hl, wd323
@@ -635,7 +882,7 @@ Func_80baa: ; 80baa (20:4baa)
.asm_80be7
ld a, [hl]
- ld [wd131], a
+ ld [wCurTilemap], a
push bc
farcall Func_80082
pop bc
@@ -651,17 +898,17 @@ Func_80baa: ; 80baa (20:4baa)
add hl, bc
farcall Func_c38f
pop af
- ld [wd23b], a
+ ld [wd23a + 1], a
pop af
ld [wd23a], a
pop af
- ld [wd130], a
+ ld [wBGMapHeight], a
pop af
- ld [wd12f], a
+ ld [wBGMapWidth], a
pop af
ld [wd23d], a
pop af
- ld [wd131], a
+ ld [wCurTilemap], a
pop de
pop bc
pop hl
@@ -678,208 +925,222 @@ SpriteNullAnimationFrame:
; might be closer to "screen specific data" than map data
MapDataPointers: ; 80e5d (20:4e5d)
- dw MapDataPointers_80e67
- dw MapDataPointers_8100f
+ dw Tilemaps
+ dw Tilesets
dw MapDataPointers_8116b
dw SpriteAnimationPointers
dw MapDataPointers_81697
-MapDataPointers_80e67: ; 80e67 (20:4e67)
- db $1b, $59, $00, $00
- db $22, $5a, $00, $00
- db $13, $5c, $00, $01
- db $2e, $5d, $00, $01
- db $d1, $5e, $00, $01
- db $f5, $5e, $00, $01
- db $26, $5f, $00, $01
- db $eb, $5f, $00, $01
- db $43, $61, $00, $01
- db $50, $61, $00, $01
- db $60, $61, $00, $02
- db $22, $62, $00, $02
- db $36, $63, $00, $03
- db $00, $64, $00, $03
- db $1d, $65, $00, $03
- db $e7, $65, $00, $03
- db $04, $67, $00, $03
- db $ce, $67, $00, $03
- db $eb, $68, $00, $03
- db $b5, $69, $00, $03
- db $d2, $6a, $00, $03
- db $9c, $6b, $00, $03
- db $b9, $6c, $00, $03
- db $83, $6d, $00, $03
- db $a0, $6e, $00, $03
- db $6a, $6f, $00, $03
- db $87, $70, $00, $03
- db $51, $71, $00, $03
- db $6e, $72, $00, $03
- db $21, $73, $00, $03
- db $24, $74, $00, $04
- db $45, $75, $00, $04
- db $db, $76, $00, $05
- db $8c, $77, $00, $05
- db $8d, $78, $00, $06
- db $d6, $79, $00, $06
- db $00, $40, $01, $07
- db $88, $41, $01, $07
- db $bb, $43, $01, $08
- db $33, $45, $01, $08
- db $2e, $47, $01, $09
- db $d8, $48, $01, $09
- db $73, $4b, $01, $0a
- db $6f, $4c, $01, $0a
- db $fe, $4d, $01, $0b
- db $1d, $4f, $01, $0b
- db $b6, $50, $01, $0c
- db $91, $51, $01, $0c
- db $15, $53, $01, $0d
- db $b3, $54, $01, $0d
- db $0a, $57, $01, $0e
- db $ce, $57, $01, $0e
- db $f1, $7b, $00, $0e
- db $03, $7c, $00, $0e
- db $ef, $58, $01, $0f
- db $79, $5a, $01, $0f
- db $1a, $7c, $00, $0f
- db $26, $7c, $00, $0f
- db $e2, $5c, $01, $10
- db $f4, $5d, $01, $10
- db $7c, $5f, $01, $11
- db $7f, $60, $01, $11
- db $36, $7c, $00, $12
- db $7d, $61, $01, $12
- db $93, $61, $01, $12
- db $a9, $61, $01, $12
- db $bf, $61, $01, $12
- db $d5, $61, $01, $12
- db $eb, $61, $01, $12
- db $01, $62, $01, $12
- db $17, $62, $01, $13
- db $da, $62, $01, $13
- db $64, $63, $01, $13
- db $43, $64, $01, $13
- db $df, $64, $01, $14
- db $b5, $65, $01, $14
- db $47, $66, $01, $15
- db $b8, $66, $01, $16
- db $3e, $67, $01, $17
- db $af, $67, $01, $18
- db $33, $68, $01, $19
- db $a4, $68, $01, $1a
- db $25, $69, $01, $1b
- db $96, $69, $01, $1c
- db $14, $6a, $01, $1d
- db $85, $6a, $01, $1e
- db $28, $6b, $01, $1f
- db $99, $6b, $01, $20
- db $34, $6c, $01, $21
- db $a5, $6c, $01, $22
- db $37, $6d, $01, $23
- db $cc, $6d, $01, $24
- db $8a, $6e, $01, $25
- db $18, $6f, $01, $25
- db $c0, $6f, $01, $25
- db $4f, $70, $01, $26
- db $a5, $71, $01, $27
- db $97, $73, $01, $28
- db $b7, $73, $01, $29
- db $e5, $73, $01, $2a
- db $13, $74, $01, $2b
- db $38, $75, $01, $2c
- db $9f, $76, $01, $2d
- db $f6, $76, $01, $2d
- db $7c, $77, $01, $2e
- db $c4, $77, $01, $2f
-
-MapDataPointers_8100f: ; 8100f (20:500f)
- db $00, $40, $02, $c1
- db $12, $4c, $02, $97
- db $28, $78, $01, $4d
- db $84, $55, $02, $81
- db $96, $5d, $02, $78
- db $18, $65, $02, $63
- db $4a, $6b, $02, $3c
- db $0c, $6f, $02, $a1
- db $00, $40, $03, $83
- db $1e, $79, $02, $57
- db $32, $48, $03, $3a
- db $d4, $4b, $03, $52
- db $f6, $50, $03, $57
- db $68, $56, $03, $9d
- db $3a, $60, $03, $4e
- db $1c, $65, $03, $cf
- db $0e, $72, $03, $79
- db $00, $40, $04, $bd
- db $a0, $79, $03, $48
- db $d2, $4b, $04, $6d
- db $a4, $52, $04, $5d
- db $76, $58, $04, $60
- db $78, $5e, $04, $56
- db $da, $63, $04, $60
- db $dc, $69, $04, $56
- db $3e, $6f, $04, $60
- db $40, $75, $04, $56
- db $00, $40, $05, $60
- db $02, $46, $05, $56
- db $64, $4b, $05, $60
- db $66, $51, $05, $60
- db $68, $57, $05, $60
- db $6a, $5d, $05, $60
- db $6c, $63, $05, $60
- db $6e, $69, $05, $60
- db $70, $6f, $05, $61
- db $82, $75, $05, $61
- db $fa, $7c, $01, $04
- db $00, $40, $06, $f4
- db $42, $4f, $06, $3b
- db $3c, $7d, $01, $04
- db $7e, $7d, $01, $24
- db $a2, $7a, $04, $24
- db $f4, $62, $06, $dc
- db $b6, $70, $06, $d4
- db $e4, $7c, $04, $24
- db $22, $7e, $03, $18
- db $94, $7b, $05, $31
- db $00, $40, $07, $24
- db $42, $42, $07, $24
- db $84, $44, $07, $24
- db $c6, $46, $07, $24
- db $08, $49, $07, $24
- db $4a, $4b, $07, $24
- db $8c, $4d, $07, $24
- db $ce, $4f, $07, $24
- db $10, $52, $07, $24
- db $52, $54, $07, $24
- db $94, $56, $07, $24
- db $d6, $58, $07, $24
- db $18, $5b, $07, $24
- db $5a, $5d, $07, $24
- db $9c, $5f, $07, $24
- db $de, $61, $07, $24
- db $20, $64, $07, $24
- db $62, $66, $07, $24
- db $a4, $68, $07, $24
- db $e6, $6a, $07, $24
- db $28, $6d, $07, $24
- db $6a, $6f, $07, $24
- db $ac, $71, $07, $24
- db $ee, $73, $07, $24
- db $30, $76, $07, $24
- db $72, $78, $07, $24
- db $b4, $7a, $07, $24
- db $f6, $7c, $07, $24
- db $00, $40, $08, $24
- db $42, $42, $08, $24
- db $84, $44, $08, $24
- db $c6, $46, $08, $24
- db $08, $49, $08, $24
- db $4a, $4b, $08, $24
- db $8c, $4d, $08, $24
- db $ce, $4f, $08, $24
- db $10, $52, $08, $24
- db $52, $54, $08, $24
- db $94, $56, $08, $24
+; \1 = pointer
+; \2 = tileset
+tilemap: MACRO
+ dwb \1, BANK(\1) - BANK(Tilemaps)
+ db \2
+ENDM
+
+Tilemaps: ; 80e67 (20:4e67)
+ tilemap OverworldMapTilemap, TILESET_OVERWORLD_MAP ; TILEMAP_OVERWORLD_MAP
+ tilemap OverworldMapCGBTilemap, TILESET_OVERWORLD_MAP ; TILEMAP_OVERWORLD_MAP_CGB
+ tilemap MasonLaboratoryTilemap, TILESET_MASON_LABORATORY ; TILEMAP_MASON_LABORATORY
+ tilemap MasonLaboratoryCGBTilemap, TILESET_MASON_LABORATORY ; TILEMAP_MASON_LABORATORY_CGB
+ tilemap Unused1Tilemap, TILESET_MASON_LABORATORY ; TILEMAP_UNUSED_1
+ tilemap Unused2Tilemap, TILESET_MASON_LABORATORY ; TILEMAP_UNUSED_2
+ tilemap DeckMachineRoomTilemap, TILESET_MASON_LABORATORY ; TILEMAP_DECK_MACHINE_ROOM
+ tilemap DeckMachineRoomCGBTilemap, TILESET_MASON_LABORATORY ; TILEMAP_DECK_MACHINE_ROOM_CGB
+ tilemap Unused3Tilemap, TILESET_MASON_LABORATORY ; TILEMAP_UNUSED_3
+ tilemap Unused4Tilemap, TILESET_MASON_LABORATORY ; TILEMAP_UNUSED_4
+ tilemap IshiharaTilemap, TILESET_ISHIHARA ; TILEMAP_ISHIHARA
+ tilemap IshiharaCGBTilemap, TILESET_ISHIHARA ; TILEMAP_ISHIHARA_CGB
+ tilemap FightingClubEntranceTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_FIGHTING_CLUB_ENTRANCE
+ tilemap FightingClubEntranceCGBTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_FIGHTING_CLUB_ENTRANCE_CGB
+ tilemap RockClubEntranceTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_ROCK_CLUB_ENTRANCE
+ tilemap RockClubEntranceCGBTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_ROCK_CLUB_ENTRANCE_CGB
+ tilemap WaterClubEntranceTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_WATER_CLUB_ENTRANCE
+ tilemap WaterClubEntranceCGBTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_WATER_CLUB_ENTRANCE_CGB
+ tilemap LightningClubEntranceTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_LIGHTNING_CLUB_ENTRANCE
+ tilemap LightningClubEntranceCGBTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_LIGHTNING_CLUB_ENTRANCE_CGB
+ tilemap GrassClubEntranceTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_GRASS_CLUB_ENTRANCE
+ tilemap GrassClubEntranceCGBTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_GRASS_CLUB_ENTRANCE_CGB
+ tilemap PsychicClubEntranceTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_PSYCHIC_CLUB_ENTRANCE
+ tilemap PsychicClubEntranceCGBTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_PSYCHIC_CLUB_ENTRANCE_CGB
+ tilemap ScienceClubEntranceTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_SCIENCE_CLUB_ENTRANCE
+ tilemap ScienceClubEntranceCGBTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_SCIENCE_CLUB_ENTRANCE_CGB
+ tilemap FireClubEntranceTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_FIRE_CLUB_ENTRANCE
+ tilemap FireClubEntranceCGBTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_FIRE_CLUB_ENTRANCE_CGB
+ tilemap ChallengeHallEntranceTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_CHALLENGE_HALL_ENTRANCE
+ tilemap ChallengeHallEntranceCGBTilemap, TILESET_CLUB_ENTRANCE ; TILEMAP_CHALLENGE_HALL_ENTRANCE_CGB
+ tilemap ClubLobbyTilemap, TILESET_CLUB_LOBBY ; TILEMAP_CLUB_LOBBY
+ tilemap ClubLobbyCGBTilemap, TILESET_CLUB_LOBBY ; TILEMAP_CLUB_LOBBY_CGB
+ tilemap FightingClubTilemap, TILESET_FIGHTING_CLUB ; TILEMAP_FIGHTING_CLUB
+ tilemap FightingClubCGBTilemap, TILESET_FIGHTING_CLUB ; TILEMAP_FIGHTING_CLUB_CGB
+ tilemap RockClubTilemap, TILESET_ROCK_CLUB ; TILEMAP_ROCK_CLUB
+ tilemap RockClubCGBTilemap, TILESET_ROCK_CLUB ; TILEMAP_ROCK_CLUB_CGB
+ tilemap WaterClubTilemap, TILESET_WATER_CLUB ; TILEMAP_WATER_CLUB
+ tilemap WaterClubCGBTilemap, TILESET_WATER_CLUB ; TILEMAP_WATER_CLUB_CGB
+ tilemap LightningClubTilemap, TILESET_LIGHTNING_CLUB ; TILEMAP_LIGHTNING_CLUB
+ tilemap LightningClubCGBTilemap, TILESET_LIGHTNING_CLUB ; TILEMAP_LIGHTNING_CLUB_CGB
+ tilemap GrassClubTilemap, TILESET_GRASS_CLUB ; TILEMAP_GRASS_CLUB
+ tilemap GrassClubCGBTilemap, TILESET_GRASS_CLUB ; TILEMAP_GRASS_CLUB_CGB
+ tilemap PsychicClubTilemap, TILESET_PSYCHIC_CLUB ; TILEMAP_PSYCHIC_CLUB
+ tilemap PsychicClubCGBTilemap, TILESET_PSYCHIC_CLUB ; TILEMAP_PSYCHIC_CLUB_CGB
+ tilemap ScienceClubTilemap, TILESET_SCIENCE_CLUB ; TILEMAP_SCIENCE_CLUB
+ tilemap ScienceClubCGBTilemap, TILESET_SCIENCE_CLUB ; TILEMAP_SCIENCE_CLUB_CGB
+ tilemap FireClubTilemap, TILESET_FIRE_CLUB ; TILEMAP_FIRE_CLUB
+ tilemap FireClubCGBTilemap, TILESET_FIRE_CLUB ; TILEMAP_FIRE_CLUB_CGB
+ tilemap ChallengeHallTilemap, TILESET_CHALLENGE_HALL ; TILEMAP_CHALLENGE_HALL
+ tilemap ChallengeHallCGBTilemap, TILESET_CHALLENGE_HALL ; TILEMAP_CHALLENGE_HALL_CGB
+ tilemap PokemonDomeEntranceTilemap, TILESET_POKEMON_DOME_ENTRANCE ; TILEMAP_POKEMON_DOME_ENTRANCE
+ tilemap PokemonDomeEntranceCGBTilemap, TILESET_POKEMON_DOME_ENTRANCE ; TILEMAP_POKEMON_DOME_ENTRANCE_CGB
+ tilemap Unused5Tilemap, TILESET_POKEMON_DOME_ENTRANCE ; TILEMAP_UNUSED_5
+ tilemap Unused6Tilemap, TILESET_POKEMON_DOME_ENTRANCE ; TILEMAP_UNUSED_6
+ tilemap PokemonDomeTilemap, TILESET_POKEMON_DOME ; TILEMAP_POKEMON_DOME
+ tilemap PokemonDomeGBTilemap, TILESET_POKEMON_DOME ; TILEMAP_POKEMON_DOME_CGB
+ tilemap Unused7Tilemap, TILESET_POKEMON_DOME ; TILEMAP_UNUSED_7
+ tilemap Unused8Tilemap, TILESET_POKEMON_DOME ; TILEMAP_UNUSED_8
+ tilemap HallOfHonorTilemap, TILESET_HALL_OF_HONOR ; TILEMAP_HALL_OF_HONOR
+ tilemap HallOfHonorCGBTilemap, TILESET_HALL_OF_HONOR ; TILEMAP_HALL_OF_HONOR_CGB
+ tilemap CardPop1Tilemap, TILESET_CARD_POP_1 ; TILEMAP_CARD_POP_1
+ tilemap CardPop1CGBTilemap, TILESET_CARD_POP_1 ; TILEMAP_CARD_POP_1_CGB
+ tilemap GrassMedalTilemap, TILESET_MEDAL ; TILEMAP_GRASS_MEDAL
+ tilemap ScienceMedalTilemap, TILESET_MEDAL ; TILEMAP_SCIENCE_MEDAL
+ tilemap FireMedalTilemap, TILESET_MEDAL ; TILEMAP_FIRE_MEDAL
+ tilemap WaterMedalTilemap, TILESET_MEDAL ; TILEMAP_WATER_MEDAL
+ tilemap LightningMedalTilemap, TILESET_MEDAL ; TILEMAP_LIGHTNING_MEDAL
+ tilemap FightingMedalTilemap, TILESET_MEDAL ; TILEMAP_FIGHTING_MEDAL
+ tilemap RockMedalTilemap, TILESET_MEDAL ; TILEMAP_ROCK_MEDAL
+ tilemap PsychicMedalTilemap, TILESET_MEDAL ; TILEMAP_PSYCHIC_MEDAL
+ tilemap CardPop2Tilemap, TILESET_CARD_POP_2 ; TILEMAP_CARD_POP_2
+ tilemap CardPop2CGBTilemap, TILESET_CARD_POP_2 ; TILEMAP_CARD_POP_2_CGB
+ tilemap CardPop2Unknown1Tilemap, TILESET_CARD_POP_2 ; TILEMAP_CARD_POP_2_UNKNOWN_1
+ tilemap CardPop2Unknown2Tilemap, TILESET_CARD_POP_2 ; TILEMAP_CARD_POP_2_UNKNOWN_2
+ tilemap CardPop3Tilemap, TILESET_CARD_POP_3 ; TILEMAP_CARD_POP_3
+ tilemap CardPop3CGBTilemap, TILESET_CARD_POP_3 ; TILEMAP_CARD_POP_3_CGB
+ tilemap ColosseumTilemap, TILESET_COLOSSEUM_1 ; TILEMAP_COLOSSEUM
+ tilemap ColosseumCGBTilemap, TILESET_COLOSSEUM_2 ; TILEMAP_COLOSSEUM_CGB
+ tilemap EvolutionTilemap, TILESET_EVOLUTION_1 ; TILEMAP_EVOLUTION
+ tilemap EvolutionCGBTilemap, TILESET_EVOLUTION_2 ; TILEMAP_EVOLUTION_CGB
+ tilemap MysteryTilemap, TILESET_MYSTERY_1 ; TILEMAP_MYSTERY
+ tilemap MysteryCGBTilemap, TILESET_MYSTERY_2 ; TILEMAP_MYSTERY_CGB
+ tilemap LaboratoryTilemap, TILESET_LABORATORY_1 ; TILEMAP_LABORATORY
+ tilemap LaboratoryCGBTilemap, TILESET_LABORATORY_2 ; TILEMAP_LABORATORY_CGB
+ tilemap CharizardIntroTilemap, TILESET_CHARIZARD_INTRO_1 ; TILEMAP_CHARIZARD_INTRO
+ tilemap CharizardIntroCGBTilemap, TILESET_CHARIZARD_INTRO_2 ; TILEMAP_CHARIZARD_INTRO_CGB
+ tilemap ScytherIntroTilemap, TILESET_SCYTHER_INTRO_1 ; TILEMAP_SCYTHER_INTRO
+ tilemap ScytherIntroCGBTilemap, TILESET_SCYTHER_INTRO_2 ; TILEMAP_SCYTHER_INTRO_CGB
+ tilemap AerodactylIntroTilemap, TILESET_AERODACTYL_INTRO_1 ; TILEMAP_AERODACTYL_INTRO
+ tilemap AerodactylIntroCGBTilemap, TILESET_AERODACTYL_INTRO_2 ; TILEMAP_AERODACTYL_INTRO_CGB
+ tilemap TitleScreen1Tilemap, TILESET_TITLE_SCREEN_1 ; TILEMAP_TITLE_SCREEN_1
+ tilemap TitleScreen2Tilemap, TILESET_TITLE_SCREEN_2 ; TILEMAP_TITLE_SCREEN_2
+ tilemap SolidTiles1Tilemap, TILESET_SOLID_TILES_1 ; TILEMAP_SOLID_TILES_1
+ tilemap SolidTiles2Tilemap, TILESET_SOLID_TILES_1 ; TILEMAP_SOLID_TILES_2
+ tilemap SolidTiles3Tilemap, TILESET_SOLID_TILES_1 ; TILEMAP_SOLID_TILES_3
+ tilemap TitleScreen3Tilemap, TILESET_TITLE_SCREEN_3 ; TILEMAP_TITLE_SCREEN_3
+ tilemap TitleScreen4Tilemap, TILESET_TITLE_SCREEN_4 ; TILEMAP_TITLE_SCREEN_4
+ tilemap SolidTiles4Tilemap, TILESET_SOLID_TILES_2 ; TILEMAP_SOLID_TILES_4
+ tilemap PlayerTilemap, TILESET_PLAYER ; TILEMAP_PLAYER
+ tilemap OpponentTilemap, TILESET_RONALD ; TILEMAP_OPPONENT
+ tilemap TitleScreen5Tilemap, TILESET_TITLE_SCREEN_5 ; TILEMAP_TITLE_SCREEN_5
+ tilemap TitleScreen6Tilemap, TILESET_TITLE_SCREEN_6 ; TILEMAP_TITLE_SCREEN_6
+ tilemap CopyrightTilemap, TILESET_COPYRIGHT ; TILEMAP_COPYRIGHT
+ tilemap CopyrightCGBTilemap, TILESET_COPYRIGHT ; TILEMAP_COPYRIGHT_CGB
+ tilemap NintendoTilemap, TILESET_NINTENDO ; TILEMAP_NINTENDO
+ tilemap CompaniesTilemap, TILESET_COMPANIES ; TILEMAP_COMPANIES
+
+; \1 = pointer
+; \2 = number of tiles
+tileset: MACRO
+ dwb \1, BANK(\1) - BANK(Tilesets)
+ db \2
+ENDM
+
+Tilesets: ; 8100f (20:500f)
+ tileset OverworldMapTiles, 193 ; TILESET_OVERWORLD_MAP
+ tileset MasonLaboratoryTilesetGfx, 151 ; TILESET_MASON_LABORATORY
+ tileset IshiharaTilesetGfx, 77 ; TILESET_ISHIHARA
+ tileset ClubEntranceTilesetGfx, 129 ; TILESET_CLUB_ENTRANCE
+ tileset ClubLobbyTilesetGfx, 120 ; TILESET_CLUB_LOBBY
+ tileset FightingClubTilesetGfx, 99 ; TILESET_FIGHTING_CLUB
+ tileset RockClubTilesetGfx, 60 ; TILESET_ROCK_CLUB
+ tileset WaterClubTilesetGfx, 161 ; TILESET_WATER_CLUB
+ tileset LightningClubTilesetGfx, 131 ; TILESET_LIGHTNING_CLUB
+ tileset GrassClubTilesetGfx, 87 ; TILESET_GRASS_CLUB
+ tileset PsychicClubTilesetGfx, 58 ; TILESET_PSYCHIC_CLUB
+ tileset ScienceClubTilesetGfx, 82 ; TILESET_SCIENCE_CLUB
+ tileset FireClubTilesetGfx, 87 ; TILESET_FIRE_CLUB
+ tileset ChallengeHallTilesetGfx, 157 ; TILESET_CHALLENGE_HALL
+ tileset PokemonDomeEntranceTilesetGfx, 78 ; TILESET_POKEMON_DOME_ENTRANCE
+ tileset PokemonDomeTilesetGfx, 207 ; TILESET_POKEMON_DOME
+ tileset HallOfHonorTilesetGfx, 121 ; TILESET_HALL_OF_HONOR
+ tileset CardPop1Gfx, 189 ; TILESET_CARD_POP_1
+ tileset MedalGfx, 72 ; TILESET_MEDAL
+ tileset CardPop2Gfx, 109 ; TILESET_CARD_POP_2
+ tileset CardPop3Gfx, 93 ; TILESET_CARD_POP_3
+ tileset Colosseum1Gfx, 96 ; TILESET_COLOSSEUM_1
+ tileset Colosseum2Gfx, 86 ; TILESET_COLOSSEUM_2
+ tileset Evolution1Gfx, 96 ; TILESET_EVOLUTION_1
+ tileset Evolution2Gfx, 86 ; TILESET_EVOLUTION_2
+ tileset Mystery1Gfx, 96 ; TILESET_MYSTERY_1
+ tileset Mystery2Gfx, 86 ; TILESET_MYSTERY_2
+ tileset Laboratory1Gfx, 96 ; TILESET_LABORATORY_1
+ tileset Laboratory2Gfx, 86 ; TILESET_LABORATORY_2
+ tileset CharizardIntro1Gfx, 96 ; TILESET_CHARIZARD_INTRO_1
+ tileset CharizardIntro2Gfx, 96 ; TILESET_CHARIZARD_INTRO_2
+ tileset ScytherIntro1Gfx, 96 ; TILESET_SCYTHER_INTRO_1
+ tileset ScytherIntro2Gfx, 96 ; TILESET_SCYTHER_INTRO_2
+ tileset AerodactylIntro1Gfx, 96 ; TILESET_AERODACTYL_INTRO_1
+ tileset AerodactylIntro2Gfx, 96 ; TILESET_AERODACTYL_INTRO_2
+ tileset Titlescreen1Gfx, 97 ; TILESET_TITLE_SCREEN_1
+ tileset Titlescreen2Gfx, 97 ; TILESET_TITLE_SCREEN_2
+ tileset SolidTiles1, 4 ; TILESET_SOLID_TILES_1
+ tileset Titlescreen3Gfx, 244 ; TILESET_TITLE_SCREEN_3
+ tileset Titlescreen4Gfx, 59 ; TILESET_TITLE_SCREEN_4
+ tileset SolidTiles2, 4 ; TILESET_SOLID_TILES_2
+ tileset PlayerGfx, 36 ; TILESET_PLAYER
+ tileset RonaldGfx, 36 ; TILESET_RONALD
+ tileset Titlescreen5Gfx, 220 ; TILESET_TITLE_SCREEN_5
+ tileset Titlescreen6Gfx, 212 ; TILESET_TITLE_SCREEN_6
+ tileset CopyrightGfx, 36 ; TILESET_COPYRIGHT
+ tileset NintendoGfx, 24 ; TILESET_NINTENDO
+ tileset CompaniesGfx, 49 ; TILESET_COMPANIES
+ tileset SamGfx, 36 ; TILESET_SAM
+ tileset ImakuniGfx, 36 ; TILESET_IMAKUNI
+ tileset NikkiGfx, 36 ; TILESET_NIKKI
+ tileset RickGfx, 36 ; TILESET_RICK
+ tileset KenGfx, 36 ; TILESET_KEN
+ tileset AmyGfx, 36 ; TILESET_AMY
+ tileset IsaacGfx, 36 ; TILESET_ISAAC
+ tileset MitchGfx, 36 ; TILESET_MITCH
+ tileset GeneGfx, 36 ; TILESET_GENE
+ tileset MurrayGfx, 36 ; TILESET_MURRAY
+ tileset CourtneyGfx, 36 ; TILESET_COURTNEY
+ tileset SteveGfx, 36 ; TILESET_STEVE
+ tileset JackGfx, 36 ; TILESET_JACK
+ tileset RodGfx, 36 ; TILESET_ROD
+ tileset JosephGfx, 36 ; TILESET_JOSEPH
+ tileset DavidGfx, 36 ; TILESET_DAVID
+ tileset ErikGfx, 36 ; TILESET_ERIK
+ tileset JohnGfx, 36 ; TILESET_JOHN
+ tileset AdamGfx, 36 ; TILESET_ADAM
+ tileset JonathanGfx, 36 ; TILESET_JONATHAN
+ tileset JoshuaGfx, 36 ; TILESET_JOSHUA
+ tileset NicholasGfx, 36 ; TILESET_NICHOLAS
+ tileset BrandonGfx, 36 ; TILESET_BRANDON
+ tileset MatthewGfx, 36 ; TILESET_MATTHEW
+ tileset RyanGfx, 36 ; TILESET_RYAN
+ tileset AndrewGfx, 36 ; TILESET_ANDREW
+ tileset ChrisGfx, 36 ; TILESET_CHRIS
+ tileset MichaelGfx, 36 ; TILESET_MICHAEL
+ tileset DanielGfx, 36 ; TILESET_DANIEL
+ tileset RobertGfx, 36 ; TILESET_ROBERT
+ tileset BrittanyGfx, 36 ; TILESET_BRITTANY
+ tileset KristinGfx, 36 ; TILESET_KRISTIN
+ tileset HeatherGfx, 36 ; TILESET_HEATHER
+ tileset SaraGfx, 36 ; TILESET_SARA
+ tileset AmandaGfx, 36 ; TILESET_AMANDA
+ tileset JenniferGfx, 36 ; TILESET_JENNIFER
+ tileset JessicaGfx, 36 ; TILESET_JESSICA
+ tileset StephanieGfx, 36 ; TILESET_STEPHANIE
+ tileset AaronGfx, 36 ; TILESET_AARON
; \1 = gfx pointer
; \2 = number of tiles
@@ -1238,169 +1499,495 @@ palette_pointer: MACRO
ENDM
MapDataPointers_81697: ; 81697 (20:5697)
- palette_pointer Palette0, 8, 1 ; $00
- palette_pointer Palette1, 8, 0 ; $01
- palette_pointer Palette2, 8, 0 ; $02
- palette_pointer Palette3, 8, 0 ; $03
- palette_pointer Palette4, 8, 0 ; $04
- palette_pointer Palette5, 8, 0 ; $05
- palette_pointer Palette6, 8, 0 ; $06
- palette_pointer Palette7, 8, 0 ; $07
- palette_pointer Palette8, 8, 0 ; $08
- palette_pointer Palette9, 8, 0 ; $09
- palette_pointer Palette10, 8, 0 ; $0a
- palette_pointer Palette11, 8, 0 ; $0b
- palette_pointer Palette12, 8, 0 ; $0c
- palette_pointer Palette13, 8, 0 ; $0d
- palette_pointer Palette14, 8, 0 ; $0e
- palette_pointer Palette15, 8, 0 ; $0f
- palette_pointer Palette16, 8, 0 ; $10
- palette_pointer Palette17, 8, 0 ; $11
- palette_pointer Palette18, 8, 0 ; $12
- palette_pointer Palette19, 8, 0 ; $13
- palette_pointer Palette20, 8, 0 ; $14
- palette_pointer Palette21, 8, 0 ; $15
- palette_pointer Palette22, 8, 0 ; $16
- palette_pointer Palette23, 8, 0 ; $17
- palette_pointer Palette24, 8, 0 ; $18
- palette_pointer Palette25, 8, 0 ; $19
- palette_pointer Palette26, 8, 0 ; $1a
- palette_pointer Palette27, 8, 0 ; $1b
- palette_pointer Palette28, 8, 0 ; $1c
- palette_pointer Palette29, 8, 2 ; $1d
- palette_pointer Palette30, 8, 2 ; $1e
- palette_pointer Palette31, 1, 1 ; $1f
- palette_pointer Palette32, 1, 1 ; $20
- palette_pointer Palette33, 1, 1 ; $21
- palette_pointer Palette34, 1, 1 ; $22
- palette_pointer Palette35, 1, 1 ; $23
- palette_pointer Palette36, 1, 1 ; $24
- palette_pointer Palette37, 1, 1 ; $25
- palette_pointer Palette38, 1, 1 ; $26
- palette_pointer Palette39, 1, 1 ; $27
- palette_pointer Palette40, 1, 1 ; $28
- palette_pointer Palette41, 1, 1 ; $29
- palette_pointer Palette42, 1, 1 ; $2a
- palette_pointer Palette43, 1, 1 ; $2b
- palette_pointer Palette44, 1, 1 ; $2c
- palette_pointer Palette45, 1, 1 ; $2d
- palette_pointer Palette46, 1, 1 ; $2e
- palette_pointer Palette47, 1, 1 ; $2f
- palette_pointer Palette48, 1, 1 ; $30
- palette_pointer Palette49, 1, 1 ; $31
- palette_pointer Palette50, 1, 1 ; $32
- palette_pointer Palette51, 1, 1 ; $33
- palette_pointer Palette52, 1, 1 ; $34
- palette_pointer Palette53, 1, 1 ; $35
- palette_pointer Palette54, 1, 1 ; $36
- palette_pointer Palette55, 1, 1 ; $37
- palette_pointer Palette56, 1, 1 ; $38
- palette_pointer Palette57, 1, 1 ; $39
- palette_pointer Palette58, 1, 1 ; $3a
- palette_pointer Palette59, 1, 1 ; $3b
- palette_pointer Palette60, 1, 1 ; $3c
- palette_pointer Palette61, 1, 1 ; $3d
- palette_pointer Palette62, 1, 1 ; $3e
- palette_pointer Palette63, 1, 1 ; $3f
- palette_pointer Palette64, 1, 1 ; $40
- palette_pointer Palette65, 1, 1 ; $41
- palette_pointer Palette66, 1, 1 ; $42
- palette_pointer Palette67, 1, 1 ; $43
- palette_pointer Palette68, 1, 1 ; $44
- palette_pointer Palette69, 1, 1 ; $45
- palette_pointer Palette70, 1, 1 ; $46
- palette_pointer Palette71, 1, 1 ; $47
- palette_pointer Palette72, 1, 1 ; $48
- palette_pointer Palette73, 1, 1 ; $49
- palette_pointer Palette74, 1, 1 ; $4a
- palette_pointer Palette75, 1, 1 ; $4b
- palette_pointer Palette76, 1, 1 ; $4c
- palette_pointer Palette77, 1, 1 ; $4d
- palette_pointer Palette78, 1, 1 ; $4e
- palette_pointer Palette79, 1, 1 ; $4f
- palette_pointer Palette80, 1, 1 ; $50
- palette_pointer Palette81, 1, 1 ; $51
- palette_pointer Palette82, 1, 1 ; $52
- palette_pointer Palette83, 1, 1 ; $53
- palette_pointer Palette84, 1, 1 ; $54
- palette_pointer Palette85, 1, 1 ; $55
- palette_pointer Palette86, 1, 1 ; $56
- palette_pointer Palette87, 1, 1 ; $57
- palette_pointer Palette88, 1, 1 ; $58
- palette_pointer Palette89, 1, 1 ; $59
- palette_pointer Palette90, 1, 1 ; $a5
- palette_pointer Palette91, 1, 1 ; $5b
- palette_pointer Palette92, 1, 1 ; $5c
- palette_pointer Palette93, 1, 1 ; $5d
- palette_pointer Palette94, 8, 0 ; $5e
- palette_pointer Palette95, 8, 0 ; $5f
- palette_pointer Palette96, 8, 0 ; $60
- palette_pointer Palette97, 8, 0 ; $61
- palette_pointer Palette98, 8, 0 ; $62
- palette_pointer Palette99, 8, 0 ; $63
- palette_pointer Palette100, 8, 0 ; $64
- palette_pointer Palette101, 7, 0 ; $65
- palette_pointer Palette102, 7, 0 ; $66
- palette_pointer Palette103, 7, 0 ; $67
- palette_pointer Palette104, 7, 0 ; $68
- palette_pointer Palette105, 7, 0 ; $69
- palette_pointer Palette106, 7, 0 ; $6a
- palette_pointer Palette107, 7, 0 ; $6b
- palette_pointer Palette108, 0, 1 ; $6c
- palette_pointer Palette109, 0, 1 ; $6d
- palette_pointer Palette110, 0, 0 ; $6e
- palette_pointer Palette111, 8, 1 ; $6f
- palette_pointer Palette112, 8, 1 ; $70
- palette_pointer Palette113, 8, 1 ; $71
- palette_pointer Palette114, 4, 2 ; $72
- palette_pointer Palette115, 4, 2 ; $73
- palette_pointer Palette116, 4, 2 ; $74
- palette_pointer Palette117, 1, 0 ; $75
- palette_pointer Palette118, 6, 0 ; $76
- palette_pointer Palette119, 1, 0 ; $77
- palette_pointer Palette120, 1, 0 ; $78
- palette_pointer Palette121, 1, 0 ; $79
- palette_pointer Palette122, 1, 0 ; $7a
- palette_pointer Palette123, 1, 0 ; $7b
- palette_pointer Palette124, 1, 0 ; $7c
- palette_pointer Palette125, 1, 0 ; $7d
- palette_pointer Palette126, 1, 0 ; $7e
- palette_pointer Palette127, 1, 0 ; $7f
- palette_pointer Palette128, 1, 0 ; $80
- palette_pointer Palette129, 1, 0 ; $81
- palette_pointer Palette130, 1, 0 ; $82
- palette_pointer Palette131, 1, 0 ; $83
- palette_pointer Palette132, 1, 0 ; $84
- palette_pointer Palette133, 1, 0 ; $85
- palette_pointer Palette134, 1, 0 ; $86
- palette_pointer Palette135, 1, 0 ; $87
- palette_pointer Palette136, 1, 0 ; $88
- palette_pointer Palette137, 1, 0 ; $89
- palette_pointer Palette138, 1, 0 ; $8a
- palette_pointer Palette139, 1, 0 ; $8b
- palette_pointer Palette140, 1, 0 ; $8c
- palette_pointer Palette141, 1, 0 ; $8d
- palette_pointer Palette142, 1, 0 ; $8e
- palette_pointer Palette143, 1, 0 ; $8f
- palette_pointer Palette144, 1, 0 ; $90
- palette_pointer Palette145, 1, 0 ; $91
- palette_pointer Palette146, 1, 0 ; $92
- palette_pointer Palette147, 1, 0 ; $93
- palette_pointer Palette148, 1, 0 ; $94
- palette_pointer Palette149, 1, 0 ; $95
- palette_pointer Palette150, 1, 0 ; $96
- palette_pointer Palette151, 1, 0 ; $97
- palette_pointer Palette152, 1, 0 ; $98
- palette_pointer Palette153, 1, 0 ; $99
- palette_pointer Palette154, 1, 0 ; $9a
- palette_pointer Palette155, 1, 0 ; $9b
- palette_pointer Palette156, 1, 0 ; $9c
- palette_pointer Palette157, 1, 0 ; $9d
- palette_pointer Palette158, 1, 0 ; $9e
- palette_pointer Palette159, 1, 0 ; $9f
- palette_pointer Palette160, 1, 0 ; $a0
-
- INCROM $8191b, $83c4c
+ palette_pointer Palette0, 8, 1 ; PALETTE_0
+ palette_pointer Palette1, 8, 0 ; PALETTE_1
+ palette_pointer Palette2, 8, 0 ; PALETTE_2
+ palette_pointer Palette3, 8, 0 ; PALETTE_3
+ palette_pointer Palette4, 8, 0 ; PALETTE_4
+ palette_pointer Palette5, 8, 0 ; PALETTE_5
+ palette_pointer Palette6, 8, 0 ; PALETTE_6
+ palette_pointer Palette7, 8, 0 ; PALETTE_7
+ palette_pointer Palette8, 8, 0 ; PALETTE_8
+ palette_pointer Palette9, 8, 0 ; PALETTE_9
+ palette_pointer Palette10, 8, 0 ; PALETTE_10
+ palette_pointer Palette11, 8, 0 ; PALETTE_11
+ palette_pointer Palette12, 8, 0 ; PALETTE_12
+ palette_pointer Palette13, 8, 0 ; PALETTE_13
+ palette_pointer Palette14, 8, 0 ; PALETTE_14
+ palette_pointer Palette15, 8, 0 ; PALETTE_15
+ palette_pointer Palette16, 8, 0 ; PALETTE_16
+ palette_pointer Palette17, 8, 0 ; PALETTE_17
+ palette_pointer Palette18, 8, 0 ; PALETTE_18
+ palette_pointer Palette19, 8, 0 ; PALETTE_19
+ palette_pointer Palette20, 8, 0 ; PALETTE_20
+ palette_pointer Palette21, 8, 0 ; PALETTE_21
+ palette_pointer Palette22, 8, 0 ; PALETTE_22
+ palette_pointer Palette23, 8, 0 ; PALETTE_23
+ palette_pointer Palette24, 8, 0 ; PALETTE_24
+ palette_pointer Palette25, 8, 0 ; PALETTE_25
+ palette_pointer Palette26, 8, 0 ; PALETTE_26
+ palette_pointer Palette27, 8, 0 ; PALETTE_27
+ palette_pointer Palette28, 8, 0 ; PALETTE_28
+ palette_pointer Palette29, 8, 2 ; PALETTE_29
+ palette_pointer Palette30, 8, 2 ; PALETTE_30
+ palette_pointer Palette31, 1, 1 ; PALETTE_31
+ palette_pointer Palette32, 1, 1 ; PALETTE_32
+ palette_pointer Palette33, 1, 1 ; PALETTE_33
+ palette_pointer Palette34, 1, 1 ; PALETTE_34
+ palette_pointer Palette35, 1, 1 ; PALETTE_35
+ palette_pointer Palette36, 1, 1 ; PALETTE_36
+ palette_pointer Palette37, 1, 1 ; PALETTE_37
+ palette_pointer Palette38, 1, 1 ; PALETTE_38
+ palette_pointer Palette39, 1, 1 ; PALETTE_39
+ palette_pointer Palette40, 1, 1 ; PALETTE_40
+ palette_pointer Palette41, 1, 1 ; PALETTE_41
+ palette_pointer Palette42, 1, 1 ; PALETTE_42
+ palette_pointer Palette43, 1, 1 ; PALETTE_43
+ palette_pointer Palette44, 1, 1 ; PALETTE_44
+ palette_pointer Palette45, 1, 1 ; PALETTE_45
+ palette_pointer Palette46, 1, 1 ; PALETTE_46
+ palette_pointer Palette47, 1, 1 ; PALETTE_47
+ palette_pointer Palette48, 1, 1 ; PALETTE_48
+ palette_pointer Palette49, 1, 1 ; PALETTE_49
+ palette_pointer Palette50, 1, 1 ; PALETTE_50
+ palette_pointer Palette51, 1, 1 ; PALETTE_51
+ palette_pointer Palette52, 1, 1 ; PALETTE_52
+ palette_pointer Palette53, 1, 1 ; PALETTE_53
+ palette_pointer Palette54, 1, 1 ; PALETTE_54
+ palette_pointer Palette55, 1, 1 ; PALETTE_55
+ palette_pointer Palette56, 1, 1 ; PALETTE_56
+ palette_pointer Palette57, 1, 1 ; PALETTE_57
+ palette_pointer Palette58, 1, 1 ; PALETTE_58
+ palette_pointer Palette59, 1, 1 ; PALETTE_59
+ palette_pointer Palette60, 1, 1 ; PALETTE_60
+ palette_pointer Palette61, 1, 1 ; PALETTE_61
+ palette_pointer Palette62, 1, 1 ; PALETTE_62
+ palette_pointer Palette63, 1, 1 ; PALETTE_63
+ palette_pointer Palette64, 1, 1 ; PALETTE_64
+ palette_pointer Palette65, 1, 1 ; PALETTE_65
+ palette_pointer Palette66, 1, 1 ; PALETTE_66
+ palette_pointer Palette67, 1, 1 ; PALETTE_67
+ palette_pointer Palette68, 1, 1 ; PALETTE_68
+ palette_pointer Palette69, 1, 1 ; PALETTE_69
+ palette_pointer Palette70, 1, 1 ; PALETTE_70
+ palette_pointer Palette71, 1, 1 ; PALETTE_71
+ palette_pointer Palette72, 1, 1 ; PALETTE_72
+ palette_pointer Palette73, 1, 1 ; PALETTE_73
+ palette_pointer Palette74, 1, 1 ; PALETTE_74
+ palette_pointer Palette75, 1, 1 ; PALETTE_75
+ palette_pointer Palette76, 1, 1 ; PALETTE_76
+ palette_pointer Palette77, 1, 1 ; PALETTE_77
+ palette_pointer Palette78, 1, 1 ; PALETTE_78
+ palette_pointer Palette79, 1, 1 ; PALETTE_79
+ palette_pointer Palette80, 1, 1 ; PALETTE_80
+ palette_pointer Palette81, 1, 1 ; PALETTE_81
+ palette_pointer Palette82, 1, 1 ; PALETTE_82
+ palette_pointer Palette83, 1, 1 ; PALETTE_83
+ palette_pointer Palette84, 1, 1 ; PALETTE_84
+ palette_pointer Palette85, 1, 1 ; PALETTE_85
+ palette_pointer Palette86, 1, 1 ; PALETTE_86
+ palette_pointer Palette87, 1, 1 ; PALETTE_87
+ palette_pointer Palette88, 1, 1 ; PALETTE_88
+ palette_pointer Palette89, 1, 1 ; PALETTE_89
+ palette_pointer Palette90, 1, 1 ; PALETTE_90
+ palette_pointer Palette91, 1, 1 ; PALETTE_91
+ palette_pointer Palette92, 1, 1 ; PALETTE_92
+ palette_pointer Palette93, 1, 1 ; PALETTE_93
+ palette_pointer Palette94, 8, 0 ; PALETTE_94
+ palette_pointer Palette95, 8, 0 ; PALETTE_95
+ palette_pointer Palette96, 8, 0 ; PALETTE_96
+ palette_pointer Palette97, 8, 0 ; PALETTE_97
+ palette_pointer Palette98, 8, 0 ; PALETTE_98
+ palette_pointer Palette99, 8, 0 ; PALETTE_99
+ palette_pointer Palette100, 8, 0 ; PALETTE_100
+ palette_pointer Palette101, 7, 0 ; PALETTE_101
+ palette_pointer Palette102, 7, 0 ; PALETTE_102
+ palette_pointer Palette103, 7, 0 ; PALETTE_103
+ palette_pointer Palette104, 7, 0 ; PALETTE_104
+ palette_pointer Palette105, 7, 0 ; PALETTE_105
+ palette_pointer Palette106, 7, 0 ; PALETTE_106
+ palette_pointer Palette107, 7, 0 ; PALETTE_107
+ palette_pointer Palette108, 0, 1 ; PALETTE_108
+ palette_pointer Palette109, 0, 1 ; PALETTE_109
+ palette_pointer Palette110, 0, 0 ; PALETTE_110
+ palette_pointer Palette111, 8, 1 ; PALETTE_111
+ palette_pointer Palette112, 8, 1 ; PALETTE_112
+ palette_pointer Palette113, 8, 1 ; PALETTE_113
+ palette_pointer Palette114, 4, 2 ; PALETTE_114
+ palette_pointer Palette115, 4, 2 ; PALETTE_115
+ palette_pointer Palette116, 4, 2 ; PALETTE_116
+ palette_pointer Palette117, 1, 0 ; PALETTE_117
+ palette_pointer Palette118, 6, 0 ; PALETTE_118
+ palette_pointer Palette119, 1, 0 ; PALETTE_119
+ palette_pointer Palette120, 1, 0 ; PALETTE_120
+ palette_pointer Palette121, 1, 0 ; PALETTE_121
+ palette_pointer Palette122, 1, 0 ; PALETTE_122
+ palette_pointer Palette123, 1, 0 ; PALETTE_123
+ palette_pointer Palette124, 1, 0 ; PALETTE_124
+ palette_pointer Palette125, 1, 0 ; PALETTE_125
+ palette_pointer Palette126, 1, 0 ; PALETTE_126
+ palette_pointer Palette127, 1, 0 ; PALETTE_127
+ palette_pointer Palette128, 1, 0 ; PALETTE_128
+ palette_pointer Palette129, 1, 0 ; PALETTE_129
+ palette_pointer Palette130, 1, 0 ; PALETTE_130
+ palette_pointer Palette131, 1, 0 ; PALETTE_131
+ palette_pointer Palette132, 1, 0 ; PALETTE_132
+ palette_pointer Palette133, 1, 0 ; PALETTE_133
+ palette_pointer Palette134, 1, 0 ; PALETTE_134
+ palette_pointer Palette135, 1, 0 ; PALETTE_135
+ palette_pointer Palette136, 1, 0 ; PALETTE_136
+ palette_pointer Palette137, 1, 0 ; PALETTE_137
+ palette_pointer Palette138, 1, 0 ; PALETTE_138
+ palette_pointer Palette139, 1, 0 ; PALETTE_139
+ palette_pointer Palette140, 1, 0 ; PALETTE_140
+ palette_pointer Palette141, 1, 0 ; PALETTE_141
+ palette_pointer Palette142, 1, 0 ; PALETTE_142
+ palette_pointer Palette143, 1, 0 ; PALETTE_143
+ palette_pointer Palette144, 1, 0 ; PALETTE_144
+ palette_pointer Palette145, 1, 0 ; PALETTE_145
+ palette_pointer Palette146, 1, 0 ; PALETTE_146
+ palette_pointer Palette147, 1, 0 ; PALETTE_147
+ palette_pointer Palette148, 1, 0 ; PALETTE_148
+ palette_pointer Palette149, 1, 0 ; PALETTE_149
+ palette_pointer Palette150, 1, 0 ; PALETTE_150
+ palette_pointer Palette151, 1, 0 ; PALETTE_151
+ palette_pointer Palette152, 1, 0 ; PALETTE_152
+ palette_pointer Palette153, 1, 0 ; PALETTE_153
+ palette_pointer Palette154, 1, 0 ; PALETTE_154
+ palette_pointer Palette155, 1, 0 ; PALETTE_155
+ palette_pointer Palette156, 1, 0 ; PALETTE_156
+ palette_pointer Palette157, 1, 0 ; PALETTE_157
+ palette_pointer Palette158, 1, 0 ; PALETTE_158
+ palette_pointer Palette159, 1, 0 ; PALETTE_159
+ palette_pointer Palette160, 1, 0 ; PALETTE_160
+
+OverworldMapTilemap:: ; 8191b (20:591b)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map0.bin"
+
+OverworldMapCGBTilemap:: ; 81a22 (20:5a22)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map1.bin"
+
+MasonLaboratoryTilemap:: ; 81c13 (20:5c13)
+ db $1c ; width
+ db $1e ; height
+ dw $5d11
+ db $00
+
+ INCBIN "data/maps/map2.bin"
+
+MasonLaboratoryCGBTilemap:: ; 81d2e (20:5d2e)
+ db $1c ; width
+ db $1e ; height
+ dw $5eb4
+ db $01
+
+ INCBIN "data/maps/map3.bin"
+
+Unused1Tilemap:: ; 81ed1 (20:5ed1)
+ db $04 ; width
+ db $06 ; height
+ dw $5ef0
+ db $00
+
+ INCBIN "data/maps/map4.bin"
+
+Unused2Tilemap:: ; 81ef5 (20:5ef5)
+ db $04 ; width
+ db $06 ; height
+ dw $5f21
+ db $01
+
+ INCBIN "data/maps/map5.bin"
+
+DeckMachineRoomTilemap:: ; 81f26 (20:5f26)
+ db $18 ; width
+ db $1e ; height
+ dw $5fd3
+ db $00
+
+ INCBIN "data/maps/map6.bin"
+
+DeckMachineRoomCGBTilemap:: ; 81feb (20:5feb)
+ db $18 ; width
+ db $1e ; height
+ dw $612b
+ db $01
+
+ INCBIN "data/maps/map7.bin"
+
+Unused3Tilemap:: ; 82143 (20:6143)
+ db $04 ; width
+ db $01 ; height
+ dw $614d
+ db $00
+
+ INCBIN "data/maps/map8.bin"
+
+Unused4Tilemap:: ; 82150 (20:6150)
+ db $04 ; width
+ db $01 ; height
+ dw $615d
+ db $01
+
+ INCBIN "data/maps/map9.bin"
+
+IshiharaTilemap:: ; 82160 (20:6160)
+ db $14 ; width
+ db $18 ; height
+ dw $620e
+ db $00
+
+ INCBIN "data/maps/map10.bin"
+
+IshiharaCGBTilemap:: ; 82222 (20:6222)
+ db $14 ; width
+ db $18 ; height
+ dw $6322
+ db $01
+
+ INCBIN "data/maps/map11.bin"
+
+FightingClubEntranceTilemap:: ; 82336 (20:6336)
+ db $14 ; width
+ db $12 ; height
+ dw $63ec
+ db $00
+
+ INCBIN "data/maps/map12.bin"
+
+FightingClubEntranceCGBTilemap:: ; 82400 (20:6400)
+ db $14 ; width
+ db $12 ; height
+ dw $6509
+ db $01
+
+ INCBIN "data/maps/map13.bin"
+
+RockClubEntranceTilemap:: ; 8251d (20:651d)
+ db $14 ; width
+ db $12 ; height
+ dw $65d3
+ db $00
+
+ INCBIN "data/maps/map14.bin"
+
+RockClubEntranceCGBTilemap:: ; 825e7 (20:65e7)
+ db $14 ; width
+ db $12 ; height
+ dw $66f0
+ db $01
+
+ INCBIN "data/maps/map15.bin"
+
+WaterClubEntranceTilemap:: ; 82704 (20:6704)
+ db $14 ; width
+ db $12 ; height
+ dw $67ba
+ db $00
+
+ INCBIN "data/maps/map16.bin"
+
+WaterClubEntranceCGBTilemap:: ; 827ce (20:67ce)
+ db $14 ; width
+ db $12 ; height
+ dw $68d7
+ db $01
+
+ INCBIN "data/maps/map17.bin"
+
+LightningClubEntranceTilemap:: ; 828eb (20:68eb)
+ db $14 ; width
+ db $12 ; height
+ dw $69a1
+ db $00
+
+ INCBIN "data/maps/map18.bin"
+
+LightningClubEntranceCGBTilemap:: ; 829b5 (20:69b5)
+ db $14 ; width
+ db $12 ; height
+ dw $6abe
+ db $01
+
+ INCBIN "data/maps/map19.bin"
+
+GrassClubEntranceTilemap:: ; 82ad2 (20:6ad2)
+ db $14 ; width
+ db $12 ; height
+ dw $6b88
+ db $00
+
+ INCBIN "data/maps/map20.bin"
+
+GrassClubEntranceCGBTilemap:: ; 82b9c (20:6b9c)
+ db $14 ; width
+ db $12 ; height
+ dw $6ca5
+ db $01
+
+ INCBIN "data/maps/map21.bin"
+
+PsychicClubEntranceTilemap:: ; 82cb9 (20:6cb9)
+ db $14 ; width
+ db $12 ; height
+ dw $6d6f
+ db $00
+
+ INCBIN "data/maps/map22.bin"
+
+PsychicClubEntranceCGBTilemap:: ; 82d83 (20:6d83)
+ db $14 ; width
+ db $12 ; height
+ dw $6e8c
+ db $01
+
+ INCBIN "data/maps/map23.bin"
+
+ScienceClubEntranceTilemap:: ; 82ea0 (20:6ea0)
+ db $14 ; width
+ db $12 ; height
+ dw $6f56
+ db $00
+
+ INCBIN "data/maps/map24.bin"
+
+ScienceClubEntranceCGBTilemap:: ; 82f6a (20:6f6a)
+ db $14 ; width
+ db $12 ; height
+ dw $7073
+ db $01
+
+ INCBIN "data/maps/map25.bin"
+
+FireClubEntranceTilemap:: ; 83087 (20:7087)
+ db $14 ; width
+ db $12 ; height
+ dw $713d
+ db $00
+
+ INCBIN "data/maps/map26.bin"
+
+FireClubEntranceCGBTilemap:: ; 83151 (20:7151)
+ db $14 ; width
+ db $12 ; height
+ dw $725a
+ db $01
+
+ INCBIN "data/maps/map27.bin"
+
+ChallengeHallEntranceTilemap:: ; 8326e (20:726e)
+ db $14 ; width
+ db $12 ; height
+ dw $730d
+ db $00
+
+ INCBIN "data/maps/map28.bin"
+
+ChallengeHallEntranceCGBTilemap:: ; 83321 (20:7321)
+ db $14 ; width
+ db $12 ; height
+ dw $7410
+ db $01
+
+ INCBIN "data/maps/map29.bin"
+
+ClubLobbyTilemap:: ; 83424 (20:7424)
+ db $1c ; width
+ db $1a ; height
+ dw $7529
+ db $00
+
+ INCBIN "data/maps/map30.bin"
+
+ClubLobbyCGBTilemap:: ; 83545 (20:7545)
+ db $1c ; width
+ db $1a ; height
+ dw $76bf
+ db $01
+
+ INCBIN "data/maps/map31.bin"
+
+FightingClubTilemap:: ; 836db (20:76db)
+ db $18 ; width
+ db $12 ; height
+ dw $777b
+ db $00
+
+ INCBIN "data/maps/map32.bin"
+
+FightingClubCGBTilemap:: ; 8378c (20:778c)
+ db $18 ; width
+ db $12 ; height
+ dw $787c
+ db $01
+
+ INCBIN "data/maps/map33.bin"
+
+RockClubTilemap:: ; 8388d (20:788d)
+ db $1c ; width
+ db $1e ; height
+ dw $79b5
+ db $00
+
+ INCBIN "data/maps/map34.bin"
+
+RockClubCGBTilemap:: ; 839d6 (20:79d6)
+ db $1c ; width
+ db $1e ; height
+ dw $7bd0
+ db $01
+
+ INCBIN "data/maps/map35.bin"
+
+Unused5Tilemap:: ; 83bf1 (20:7bf1)
+ db $04 ; width
+ db $03 ; height
+ dw $7c00
+ db $00
+
+ INCBIN "data/maps/map52.bin"
+
+Unused6Tilemap:: ; 83c03 (20:7c03)
+ db $04 ; width
+ db $03 ; height
+ dw $7c17
+ db $01
+
+ INCBIN "data/maps/map53.bin"
+
+Unused7Tilemap:: ; 83c1a (20:7c1a)
+ db $04 ; width
+ db $03 ; height
+ dw $7c23
+ db $00
+
+ INCBIN "data/maps/map56.bin"
+
+Unused8Tilemap:: ; 83c26 (20:7c26)
+ db $04 ; width
+ db $03 ; height
+ dw $7c33
+ db $01
+
+ INCBIN "data/maps/map57.bin"
+
+GrassMedalTilemap:: ; 83c36 (20:7c36)
+ db $03 ; width
+ db $03 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map62.bin"
AnimData1:: ; 83c4c (20:7c4c)
frame_table AnimFrameTable0
@@ -1411,4 +1998,6 @@ AnimData1:: ; 83c4c (20:7c4c)
Palette110:: ; 83c5b (20:7c5b)
db $00, $00
- INCROM $83c5d, $84000
+rept $3a3
+ db $ff
+endr
diff --git a/src/engine/home.asm b/src/engine/home.asm
index 567b3d0..13089d7 100644
--- a/src/engine/home.asm
+++ b/src/engine/home.asm
@@ -1519,7 +1519,13 @@ UpdateRNGSources: ; 089b (0:089b)
pop hl
ret
-Func_08bf: ; 08bf (0:08bf)
+; initilizes variables used to decompress
+; BG Map data in DecompressBGMap
+; de points to the source of compressed data
+; b is used as the HIGH byte of the
+; WRAM address to write to ($100 bytes of buffer space)
+; also clears this $100 byte space
+InitBGMapDecompression: ; 08bf (0:08bf)
ld hl, wcad6
ld [hl], e
inc hl
@@ -1528,70 +1534,90 @@ Func_08bf: ; 08bf (0:08bf)
ld [hl], $1
inc hl
xor a
- ld [hli], a
- ld [hli], a
- ld [hli], a
- ld [hli], a
- ld [hl], b
+ ld [hli], a ; wcad9
+ ld [hli], a ; wcada
+ ld [hli], a ; wcadb
+ ld [hli], a ; wcadc
+ ld [hl], b ; wcadd
inc hl
- ld [hli], a ; 0
- ld [hl], $ef
+ ld [hli], a ; wcade
+ ld [hl], $ef ; wcadf
+
+; clear buffer
ld h, b
- ld l, $0
+ ld l, LOW(wc000)
xor a
-.asm_8d9
+.loop
ld [hl], a
inc l
- jr nz, .asm_8d9
+ jr nz, .loop
ret
-Func_08de: ; 08de (0:08de)
+; decompresses BG Map data
+; uses values initialized by InitBGMapDecompression
+; wcad6 holds the pointer for compressed source
+; input:
+; bc = map width
+; de = buffer to place decompressed data
+DecompressBGMap: ; 08de (0:08de)
push hl
push de
-.asm_8e0
+.loop
push bc
- call Func_08ef
+ call .Decompress
ld [de], a
inc de
pop bc
dec bc
ld a, c
or b
- jr nz, .asm_8e0
+ jr nz, .loop
pop de
pop hl
ret
-Func_08ef: ; 08ef (0:08ef)
+; instructions start with a byte stored in wcad9
+; its bits are read from higher to lower bit
+; wcad8 stores the current bit being read
+; bit set:
+; - 1 byte read and copied literally
+; bit not set:
+; - 2 bytes read WW XY ZZ, byte in pos WW
+; copied (X + 1) times, then in pos ZZ
+; copied (Y + 1) times
+.Decompress: ; 08ef (0:08ef)
ld hl, wcadc
ld a, [hl]
or a
- jr z, .asm_902
+ jr z, .read_instruction
+
+; still repeating byte
dec [hl]
inc hl
-.asm_8f8
- ld b, [hl]
+.repeat_byte
+ ld b, [hl] ; wcadd
inc hl
- ld c, [hl]
+ ld c, [hl] ; wcade
inc [hl]
inc hl
ld a, [bc]
- ld c, [hl]
+ ld c, [hl] ; wcadf
inc [hl]
ld [bc], a
ret
-.asm_902
+
+.read_instruction
ld hl, wcad6
ld c, [hl]
inc hl
ld b, [hl]
- inc hl
+ inc hl ; wcad8
dec [hl]
- inc hl
+ inc hl ; wcad9
jr nz, .asm_914
- dec hl
- ld [hl], $8
- inc hl
+ dec hl ; wcad8
+ ld [hl], $8 ; number of bits
+ inc hl ; wcad9
ld a, [bc]
inc bc
ld [hl], a
@@ -1600,6 +1626,8 @@ Func_08ef: ; 08ef (0:08ef)
ld a, [bc]
inc bc
jr nc, .asm_92a
+
+; copy 1 byte literally
ld hl, wcad6
ld [hl], c
inc hl
@@ -1608,10 +1636,11 @@ Func_08ef: ; 08ef (0:08ef)
ld b, [hl]
inc hl
inc hl
- ld c, [hl]
+ ld c, [hl] ; wcadf
inc [hl]
ld [bc], a
ret
+
.asm_92a
ld [wcade], a
ld hl, wcada
@@ -1621,23 +1650,24 @@ Func_08ef: ; 08ef (0:08ef)
inc hl
ld a, [bc]
inc bc
- ld [hli], a
+ ld [hli], a ; wcadb
swap a
.asm_93c
and $f
- inc a
- ld [hli], a
+ inc a ; number of times to repeat
+ ld [hli], a ; wcadc
push hl
ld hl, wcad6
ld [hl], c
inc hl
ld [hl], b
pop hl
- jr .asm_8f8
+ jr .repeat_byte
+
.asm_94a
res 0, [hl]
inc hl
- ld a, [hli]
+ ld a, [hli] ; wcadb
jr .asm_93c
; set attributes for [hl] sprites starting from wOAM + [wOAMOffset] / 4
@@ -11204,12 +11234,17 @@ ResetDoFrameFunction: ; 3bdb (0:3bdb)
pop hl
ret
-Func_3be4: ; 3be4 (0:3be4)
+; decompresses BG Map data from a given bank
+; uses values initialized by InitBGMapDecompression
+; input:
+; bc = map width
+; de = buffer to place decompressed data
+DecompressBGMapFromBank: ; 3be4 (0:3be4)
ldh a, [hBankROM]
push af
ld a, [wTempPointerBank]
call BankswitchROM
- call Func_08de
+ call DecompressBGMap
pop af
call BankswitchROM
ret
@@ -11266,7 +11301,8 @@ FillMemoryWithDE: ; 3c1f (0:3c1f)
pop hl
ret
-Func_3c2d: ; 3c2d (0:3c2d)
+; gets far byte a:hl, outputs value in a
+GetFarByte: ; 3c2d (0:3c2d)
push hl
push af
ldh a, [hBankROM]
@@ -11634,7 +11670,7 @@ Func_3e10: ; 3e10 (0:3e10)
; fallthrough
Func_3e17: ; 3e17 (0:3e17)
- ld [wd131], a
+ ld [wCurTilemap], a
ldh a, [hBankROM]
push af
ld a, BANK(Func_12fc6)
diff --git a/src/gfx.asm b/src/gfx.asm
index 37b92d4..e27c140 100644
--- a/src/gfx.asm
+++ b/src/gfx.asm
@@ -47,22 +47,541 @@ endr
SECTION "Gfx 3", ROMX
- INCROM $84000, $87828
+WaterClubTilemap:: ; 84000 (21:4000)
+ db $1c ; width
+ db $20 ; height
+ dw $4164
+ db $00
-IshiharaTilesetGfx: ; 87828 (21:7828)
- dw $4d
+ INCBIN "data/maps/map36.bin"
+
+WaterClubCGBTilemap:: ; 84188 (21:4188)
+ db $1c ; width
+ db $20 ; height
+ dw $4397
+ db $01
+
+ INCBIN "data/maps/map37.bin"
+
+LightningClubTilemap:: ; 843bb (21:43bb)
+ db $1c ; width
+ db $20 ; height
+ dw $4511
+ db $00
+
+ INCBIN "data/maps/map38.bin"
+
+LightningClubCGBTilemap:: ; 84533 (21:4533)
+ db $1c ; width
+ db $20 ; height
+ dw $470c
+ db $01
+
+ INCBIN "data/maps/map39.bin"
+
+GrassClubTilemap:: ; 8472e (21:472e)
+ db $1c ; width
+ db $20 ; height
+ dw $48b4
+ db $00
+
+ INCBIN "data/maps/map40.bin"
+
+GrassClubCGBTilemap:: ; 848d8 (21:48d8)
+ db $1c ; width
+ db $20 ; height
+ dw $4b4f
+ db $01
+
+ INCBIN "data/maps/map41.bin"
+
+PsychicClubTilemap:: ; 84b73 (21:4b73)
+ db $1c ; width
+ db $1c ; height
+ dw $4c50
+ db $00
+
+ INCBIN "data/maps/map42.bin"
+
+PsychicClubCGBTilemap:: ; 84c6f (21:4c6f)
+ db $1c ; width
+ db $1c ; height
+ dw $4ddf
+ db $01
+
+ INCBIN "data/maps/map43.bin"
+
+ScienceClubTilemap:: ; 84dfe (21:4dfe)
+ db $1c ; width
+ db $20 ; height
+ dw $4efe
+ db $00
+
+ INCBIN "data/maps/map44.bin"
+
+ScienceClubCGBTilemap:: ; 84f1d (21:4f1d)
+ db $1c ; width
+ db $20 ; height
+ dw $5097
+ db $01
+
+ INCBIN "data/maps/map45.bin"
+
+FireClubTilemap:: ; 850b6 (21:50b6)
+ db $1c ; width
+ db $20 ; height
+ dw $5175
+ db $00
+
+ INCBIN "data/maps/map46.bin"
+
+FireClubCGBTilemap:: ; 85191 (21:5191)
+ db $1c ; width
+ db $20 ; height
+ dw $52f9
+ db $01
+
+ INCBIN "data/maps/map47.bin"
+
+ChallengeHallTilemap:: ; 85315 (21:5315)
+ db $20 ; width
+ db $20 ; height
+ dw $5484
+ db $00
+
+ INCBIN "data/maps/map48.bin"
+
+ChallengeHallCGBTilemap:: ; 854b3 (21:54b3)
+ db $20 ; width
+ db $20 ; height
+ dw $56db
+ db $01
+
+ INCBIN "data/maps/map49.bin"
+
+PokemonDomeEntranceTilemap:: ; 8570a (21:570a)
+ db $20 ; width
+ db $12 ; height
+ dw $57ba
+ db $00
+
+ INCBIN "data/maps/map50.bin"
+
+PokemonDomeEntranceCGBTilemap:: ; 857ce (21:57ce)
+ db $20 ; width
+ db $12 ; height
+ dw $58db
+ db $01
+
+ INCBIN "data/maps/map51.bin"
+
+PokemonDomeTilemap:: ; 858ef (21:58ef)
+ db $20 ; width
+ db $20 ; height
+ dw $5a58
+ db $00
+
+ INCBIN "data/maps/map54.bin"
+
+PokemonDomeGBTilemap:: ; 85a79 (21:5a79)
+ db $20 ; width
+ db $20 ; height
+ dw $5cc1
+ db $01
+
+ INCBIN "data/maps/map55.bin"
+
+HallOfHonorTilemap:: ; 85ce2 (21:5ce2)
+ db $18 ; width
+ db $1a ; height
+ dw $5ddc
+ db $00
+
+ INCBIN "data/maps/map58.bin"
+
+HallOfHonorCGBTilemap:: ; 85df4 (21:5df4)
+ db $18 ; width
+ db $1a ; height
+ dw $5f64
+ db $01
+
+ INCBIN "data/maps/map59.bin"
+
+CardPop1Tilemap:: ; 85f7c (21:5f7c)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map60.bin"
+
+CardPop1CGBTilemap:: ; 8607f (21:607f)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map61.bin"
+
+ScienceMedalTilemap:: ; 8617d (21:617d)
+ db $03 ; width
+ db $03 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map63.bin"
+
+FireMedalTilemap:: ; 86193 (21:6193)
+ db $03 ; width
+ db $03 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map64.bin"
+
+WaterMedalTilemap:: ; 861a9 (21:61a9)
+ db $03 ; width
+ db $03 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map65.bin"
+
+LightningMedalTilemap:: ; 861bf (21:61bf)
+ db $03 ; width
+ db $03 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map66.bin"
+
+FightingMedalTilemap:: ; 861d5 (21:61d5)
+ db $03 ; width
+ db $03 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map67.bin"
+
+RockMedalTilemap:: ; 861eb (21:61eb)
+ db $03 ; width
+ db $03 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map68.bin"
+
+PsychicMedalTilemap:: ; 86201 (21:6201)
+ db $03 ; width
+ db $03 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map69.bin"
+
+CardPop2Tilemap:: ; 86217 (21:6217)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map70.bin"
+
+CardPop2CGBTilemap:: ; 862da (21:62da)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map71.bin"
+
+CardPop2Unknown1Tilemap:: ; 86364 (21:6364)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map72.bin"
+
+CardPop2Unknown2Tilemap:: ; 86443 (21:6443)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map73.bin"
+
+CardPop3Tilemap:: ; 864df (21:64df)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map74.bin"
+
+CardPop3CGBTilemap:: ; 865b5 (21:65b5)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map75.bin"
+
+ColosseumTilemap:: ; 86647 (21:6647)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map76.bin"
+
+ColosseumCGBTilemap:: ; 866b8 (21:66b8)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map77.bin"
+
+EvolutionTilemap:: ; 8673e (21:673e)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map78.bin"
+
+EvolutionCGBTilemap:: ; 867af (21:67af)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map79.bin"
+
+MysteryTilemap:: ; 86833 (21:6833)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map80.bin"
+
+MysteryCGBTilemap:: ; 868a4 (21:68a4)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map81.bin"
+
+LaboratoryTilemap:: ; 86925 (21:6925)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map82.bin"
+
+LaboratoryCGBTilemap:: ; 86996 (21:6996)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map83.bin"
+
+CharizardIntroTilemap:: ; 86a14 (21:6a14)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map84.bin"
+
+CharizardIntroCGBTilemap:: ; 86a85 (21:6a85)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map85.bin"
+
+ScytherIntroTilemap:: ; 86b28 (21:6b28)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map86.bin"
+
+ScytherIntroCGBTilemap:: ; 86b99 (21:6b99)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map87.bin"
+
+AerodactylIntroTilemap:: ; 86c34 (21:6c34)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map88.bin"
+
+AerodactylIntroCGBTilemap:: ; 86ca5 (21:6ca5)
+ db $08 ; width
+ db $0c ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map89.bin"
+
+TitleScreen1Tilemap:: ; 86d37 (21:6d37)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map90.bin"
+
+TitleScreen2Tilemap:: ; 86dcc (21:6dcc)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map91.bin"
+
+SolidTiles1Tilemap:: ; 86e8a (21:6e8a)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map92.bin"
+
+SolidTiles2Tilemap:: ; 86f18 (21:6f18)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map93.bin"
+
+SolidTiles3Tilemap:: ; 86fc0 (21:6fc0)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map94.bin"
+
+TitleScreen3Tilemap:: ; 8704f (21:704f)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map95.bin"
+
+TitleScreen4Tilemap:: ; 871a5 (21:71a5)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map96.bin"
+
+SolidTiles4Tilemap:: ; 87397 (21:7397)
+ db $08 ; width
+ db $04 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map97.bin"
+
+PlayerTilemap:: ; 873b7 (21:73b7)
+ db $06 ; width
+ db $06 ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map98.bin"
+
+OpponentTilemap:: ; 873e5 (21:73e5)
+ db $06 ; width
+ db $06 ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map99.bin"
+
+TitleScreen5Tilemap:: ; 87413 (21:7413)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map100.bin"
+
+TitleScreen6Tilemap:: ; 87538 (21:7538)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map101.bin"
+
+CopyrightTilemap:: ; 8769f (21:769f)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map102.bin"
+
+CopyrightCGBTilemap:: ; 876f6 (21:76f6)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $01
+
+ INCBIN "data/maps/map103.bin"
+
+NintendoTilemap:: ; 8777c (21:777c)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map104.bin"
+
+CompaniesTilemap:: ; 877c4 (21:77c4)
+ db $14 ; width
+ db $12 ; height
+ dw $0000
+ db $00
+
+ INCBIN "data/maps/map105.bin"
+
+
+IshiharaTilesetGfx:: ; 87828 (21:7828)
+ dw 77
INCBIN "gfx/tilesets/ishihara.2bpp"
-SolidTiles1: ; 87cfa (21:7cfa)
- dw $4
+SolidTiles1:: ; 87cfa (21:7cfa)
+ dw 4
INCBIN "gfx/solid_tiles.2bpp"
-SolidTiles2: ; 87d3c (21:7d3c)
- dw $4
+SolidTiles2:: ; 87d3c (21:7d3c)
+ dw 4
INCBIN "gfx/solid_tiles.2bpp"
-PlayerGfx: ; 87d7e (21:7d7e)
- dw $24
+PlayerGfx:: ; 87d7e (21:7d7e)
+ dw 36
INCBIN "gfx/duelists/player.2bpp"
Duel55Gfx:: ; 87fc0 (21:7fc0)
@@ -82,36 +601,36 @@ AnimData12:: ; 87ff4 (21:7ff4)
SECTION "Gfx 4", ROMX
-OverworldMapTiles: ; 88000 (22:4000)
- dw $c1
+OverworldMapTiles:: ; 88000 (22:4000)
+ dw 193
INCBIN "gfx/overworld_map.2bpp"
-MasonLaboratoryTilesetGfx: ; 88c12 (22:4c12)
- dw $97
+MasonLaboratoryTilesetGfx:: ; 88c12 (22:4c12)
+ dw 151
INCBIN "gfx/tilesets/masonlaboratory.2bpp"
-ClubEntranceTilesetGfx: ; 89584 (22:5584)
- dw $81
+ClubEntranceTilesetGfx:: ; 89584 (22:5584)
+ dw 129
INCBIN "gfx/tilesets/clubentrance.2bpp"
-ClubLobbyTilesetGfx: ; 89d96 (22:5d96)
- dw $78
+ClubLobbyTilesetGfx:: ; 89d96 (22:5d96)
+ dw 120
INCBIN "gfx/tilesets/clublobby.2bpp"
-FightingClubTilesetGfx: ; 8a518 (22:6518)
- dw $63
+FightingClubTilesetGfx:: ; 8a518 (22:6518)
+ dw 99
INCBIN "gfx/tilesets/fightingclub.2bpp"
-RockClubTilesetGfx: ; 8ab4a (22:6b4a)
- dw $3c
+RockClubTilesetGfx:: ; 8ab4a (22:6b4a)
+ dw 60
INCBIN "gfx/tilesets/rockclub.2bpp"
-WaterClubTilesetGfx: ; 8af0c (22:6f0c)
- dw $a1
+WaterClubTilesetGfx:: ; 8af0c (22:6f0c)
+ dw 161
INCBIN "gfx/tilesets/waterclub.2bpp"
-GrassClubTilesetGfx: ; 8b91e (22:791e)
- dw $57
+GrassClubTilesetGfx:: ; 8b91e (22:791e)
+ dw 87
INCBIN "gfx/tilesets/grassclub.2bpp"
OWPlayerGfx:: ; 8be90 (22:7e90)
@@ -140,40 +659,40 @@ endr
SECTION "Gfx 5", ROMX
-LightningClubTilesetGfx: ; 8c000 (23:4000)
- dw $83
+LightningClubTilesetGfx:: ; 8c000 (23:4000)
+ dw 131
INCBIN "gfx/tilesets/lightningclub.2bpp"
-PsychicClubTilesetGfx: ; 8c832 (23:4832)
- dw $3a
+PsychicClubTilesetGfx:: ; 8c832 (23:4832)
+ dw 58
INCBIN "gfx/tilesets/psychicclub.2bpp"
-ScienceClubTilesetGfx: ; 8cbd4 (23:4bd4)
- dw $52
+ScienceClubTilesetGfx:: ; 8cbd4 (23:4bd4)
+ dw 82
INCBIN "gfx/tilesets/scienceclub.2bpp"
-FireClubTilesetGfx: ; 8d0f6 (23:50f6)
- dw $57
+FireClubTilesetGfx:: ; 8d0f6 (23:50f6)
+ dw 87
INCBIN "gfx/tilesets/fireclub.2bpp"
-ChallengeHallTilesetGfx: ; 8d668 (23:5668)
- dw $9d
+ChallengeHallTilesetGfx:: ; 8d668 (23:5668)
+ dw 157
INCBIN "gfx/tilesets/challengehall.2bpp"
-PokemonDomeEntranceTilesetGfx: ; 8e03a (23:603a)
- dw $4e
+PokemonDomeEntranceTilesetGfx:: ; 8e03a (23:603a)
+ dw 78
INCBIN "gfx/tilesets/pokemondomeentrance.2bpp"
-PokemonDomeTilesetGfx: ; 8e51c (23:651c)
- dw $cf
+PokemonDomeTilesetGfx:: ; 8e51c (23:651c)
+ dw 207
INCBIN "gfx/tilesets/pokemondome.2bpp"
-HallOfHonorTilesetGfx: ; 8f20e (23:720e)
- dw $79
+HallOfHonorTilesetGfx:: ; 8f20e (23:720e)
+ dw 121
INCBIN "gfx/tilesets/hallofhonor.2bpp"
-MedalGfx: ; 8f9a0 (23:79a0)
- dw $48
+MedalGfx:: ; 8f9a0 (23:79a0)
+ dw 72
INCBIN "gfx/medals.2bpp", $0, $c0
INCBIN "gfx/medals.2bpp", $240, $30
INCBIN "gfx/medals.2bpp", $340, $10
@@ -193,8 +712,8 @@ MedalGfx: ; 8f9a0 (23:79a0)
INCBIN "gfx/medals.2bpp", $420, $30
INCBIN "gfx/medals.2bpp", $3f0, $20
-NintendoGfx: ; 8fe22 (23:7e22)
- dw $18
+NintendoGfx:: ; 8fe22 (23:7e22)
+ dw 24
INCBIN "gfx/nintendo.2bpp"
Duel58Gfx:: ; 8ffa4 (23:7fa4)
@@ -214,48 +733,48 @@ AnimData11:: ; 8fff5 (23:7ff5)
SECTION "Gfx 6", ROMX
-CardPop1Gfx: ; 90000 (24:4000)
- dw $bd
+CardPop1Gfx:: ; 90000 (24:4000)
+ dw 189
INCBIN "gfx/cardpop/cardpop1.2bpp"
-CardPop2Gfx: ; 90bd2 (24:4bd2)
- dw $6d
+CardPop2Gfx:: ; 90bd2 (24:4bd2)
+ dw 109
INCBIN "gfx/cardpop/cardpop2.2bpp"
-CardPop3Gfx: ; 912a4 (24:52a4)
- dw $5d
+CardPop3Gfx:: ; 912a4 (24:52a4)
+ dw 93
INCBIN "gfx/cardpop/cardpop3.2bpp"
-Colosseum1Gfx: ; 91876 (24:5876)
- dw $60
+Colosseum1Gfx:: ; 91876 (24:5876)
+ dw 96
INCBIN "gfx/booster_packs/colosseum1.2bpp"
-Colosseum2Gfx: ; 91e78 (24:5e78)
- dw $56
+Colosseum2Gfx:: ; 91e78 (24:5e78)
+ dw 86
INCBIN "gfx/booster_packs/colosseum2.2bpp"
-Evolution1Gfx: ; 923da (24:63da)
- dw $60
+Evolution1Gfx:: ; 923da (24:63da)
+ dw 96
INCBIN "gfx/booster_packs/evolution1.2bpp"
-Evolution2Gfx: ; 929dc (24:69dc)
- dw $56
+Evolution2Gfx:: ; 929dc (24:69dc)
+ dw 86
INCBIN "gfx/booster_packs/evolution2.2bpp"
-Mystery1Gfx: ; 92f3e (24:6f3e)
- dw $60
+Mystery1Gfx:: ; 92f3e (24:6f3e)
+ dw 96
INCBIN "gfx/booster_packs/mystery1.2bpp"
-Mystery2Gfx: ; 93540 (24:7540)
- dw $56
+Mystery2Gfx:: ; 93540 (24:7540)
+ dw 86
INCBIN "gfx/booster_packs/mystery2.2bpp"
-RonaldGfx: ; 93aa2 (24:7aa2)
- dw $24
+RonaldGfx:: ; 93aa2 (24:7aa2)
+ dw 36
INCBIN "gfx/duelists/ronald.2bpp"
-CopyrightGfx: ; 93ce4 (24:7ce4)
- dw $24
+CopyrightGfx:: ; 93ce4 (24:7ce4)
+ dw 36
INCBIN "gfx/copyright.2bpp"
OWClerkGfx:: ; 93f26 (24:7f26)
@@ -276,48 +795,48 @@ endr
SECTION "Gfx 7", ROMX
-Laboratory1Gfx: ; 94000 (25:4000)
- dw $60
+Laboratory1Gfx:: ; 94000 (25:4000)
+ dw 96
INCBIN "gfx/booster_packs/laboratory1.2bpp"
-Laboratory2Gfx: ; 94602 (25:4602)
- dw $56
+Laboratory2Gfx:: ; 94602 (25:4602)
+ dw 86
INCBIN "gfx/booster_packs/laboratory2.2bpp"
-CharizardIntro1Gfx: ; 94b64 (25:4b64)
- dw $60
+CharizardIntro1Gfx:: ; 94b64 (25:4b64)
+ dw 96
INCBIN "gfx/titlescreen/booster_packs/charizardintro1.2bpp"
-CharizardIntro2Gfx: ; 95166 (25:5166)
- dw $60
+CharizardIntro2Gfx:: ; 95166 (25:5166)
+ dw 96
INCBIN "gfx/titlescreen/booster_packs/charizardintro2.2bpp"
-ScytherIntro1Gfx: ; 95768 (25:5768)
- dw $60
+ScytherIntro1Gfx:: ; 95768 (25:5768)
+ dw 96
INCBIN "gfx/titlescreen/booster_packs/scytherintro1.2bpp"
-ScytherIntro2Gfx: ; 95d6a (25:5d6a)
- dw $60
+ScytherIntro2Gfx:: ; 95d6a (25:5d6a)
+ dw 96
INCBIN "gfx/titlescreen/booster_packs/scytherintro2.2bpp"
-AerodactylIntro1Gfx: ; 9636c (25:636c)
- dw $60
+AerodactylIntro1Gfx:: ; 9636c (25:636c)
+ dw 96
INCBIN "gfx/titlescreen/booster_packs/aerodactylintro1.2bpp"
-AerodactylIntro2Gfx: ; 9696e (25:696e)
- dw $60
+AerodactylIntro2Gfx:: ; 9696e (25:696e)
+ dw 96
INCBIN "gfx/titlescreen/booster_packs/aerodactylintro2.2bpp"
-Titlescreen1Gfx: ; 96f70 (25:6f70)
- dw $61
+Titlescreen1Gfx:: ; 96f70 (25:6f70)
+ dw 97
INCBIN "gfx/titlescreen/titlescreen1.2bpp"
-Titlescreen2Gfx: ; 97582 (25:7582)
- dw $61
+Titlescreen2Gfx:: ; 97582 (25:7582)
+ dw 97
INCBIN "gfx/titlescreen/titlescreen2.2bpp"
-CompaniesGfx: ; 97b94 (25:7b94)
- dw $31
+CompaniesGfx:: ; 97b94 (25:7b94)
+ dw 49
INCBIN "gfx/companies.2bpp"
OWRonaldGfx:: ; 97ea6 (25:7ea6)
@@ -336,20 +855,20 @@ endr
SECTION "Gfx 8", ROMX
-Titlescreen3Gfx: ; 98000 (26:4000)
- dw $f4
+Titlescreen3Gfx:: ; 98000 (26:4000)
+ dw 244
INCBIN "gfx/titlescreen/titlescreen3.2bpp"
-Titlescreen4Gfx: ; 98f42 (26:4f42)
- dw $13b
+Titlescreen4Gfx:: ; 98f42 (26:4f42)
+ dw 315
INCBIN "gfx/titlescreen/titlescreen4.2bpp"
-Titlescreen5Gfx: ; 9a2f4 (26:62f4)
- dw $dc
+Titlescreen5Gfx:: ; 9a2f4 (26:62f4)
+ dw 220
INCBIN "gfx/titlescreen/titlescreen5.2bpp"
-Titlescreen6Gfx: ; 9b0b6 (26:70b6)
- dw $d4
+Titlescreen6Gfx:: ; 9b0b6 (26:70b6)
+ dw 212
INCBIN "gfx/titlescreen/titlescreen6.2bpp"
OWDrMasonGfx:: ; 9bdf8 (26:7df8)
@@ -370,116 +889,116 @@ Duel62Gfx:: ; 9bfee (26:7fee)
SECTION "Gfx 9", ROMX
-SamGfx: ; 9c000 (27:4000)
- dw $24
+SamGfx:: ; 9c000 (27:4000)
+ dw 36
INCBIN "gfx/duelists/sam.2bpp"
-ImakuniGfx: ; 9c242 (27:4242)
- dw $24
+ImakuniGfx:: ; 9c242 (27:4242)
+ dw 36
INCBIN "gfx/duelists/imakuni.2bpp"
-NikkiGfx: ; 9c484 (27:4484)
- dw $24
+NikkiGfx:: ; 9c484 (27:4484)
+ dw 36
INCBIN "gfx/duelists/nikki.2bpp"
-RickGfx: ; 9c6c6 (27:46c6)
- dw $24
+RickGfx:: ; 9c6c6 (27:46c6)
+ dw 36
INCBIN "gfx/duelists/rick.2bpp"
-KenGfx: ; 9c908 (27:4908)
- dw $24
+KenGfx:: ; 9c908 (27:4908)
+ dw 36
INCBIN "gfx/duelists/ken.2bpp"
-AmyGfx: ; 9cb4a (27:4b4a)
- dw $24
+AmyGfx:: ; 9cb4a (27:4b4a)
+ dw 36
INCBIN "gfx/duelists/amy.2bpp"
-IsaacGfx: ; 9cd8c (27:4d8c)
- dw $24
+IsaacGfx:: ; 9cd8c (27:4d8c)
+ dw 36
INCBIN "gfx/duelists/isaac.2bpp"
-MitchGfx: ; 9cfce (27:4fce)
- dw $24
+MitchGfx:: ; 9cfce (27:4fce)
+ dw 36
INCBIN "gfx/duelists/mitch.2bpp"
-GeneGfx: ; 9d210 (27:5210)
- dw $24
+GeneGfx:: ; 9d210 (27:5210)
+ dw 36
INCBIN "gfx/duelists/gene.2bpp"
-MurrayGfx: ; 9d452 (27:5452)
- dw $24
+MurrayGfx:: ; 9d452 (27:5452)
+ dw 36
INCBIN "gfx/duelists/murray.2bpp"
-CourtneyGfx: ; 9d694 (27:5694)
- dw $24
+CourtneyGfx:: ; 9d694 (27:5694)
+ dw 36
INCBIN "gfx/duelists/courtney.2bpp"
-SteveGfx: ; 9d8d6 (27:58d6)
- dw $24
+SteveGfx:: ; 9d8d6 (27:58d6)
+ dw 36
INCBIN "gfx/duelists/steve.2bpp"
-JackGfx: ; 9db18 (27:5b18)
- dw $24
+JackGfx:: ; 9db18 (27:5b18)
+ dw 36
INCBIN "gfx/duelists/jack.2bpp"
-RodGfx: ; 9dd5a (27:5d5a)
- dw $24
+RodGfx:: ; 9dd5a (27:5d5a)
+ dw 36
INCBIN "gfx/duelists/rod.2bpp"
-JosephGfx: ; 9df9c (27:5f9c)
- dw $24
+JosephGfx:: ; 9df9c (27:5f9c)
+ dw 36
INCBIN "gfx/duelists/joseph.2bpp"
-DavidGfx: ; 9e1de (27:61de)
- dw $24
+DavidGfx:: ; 9e1de (27:61de)
+ dw 36
INCBIN "gfx/duelists/david.2bpp"
-ErikGfx: ; 9e420 (27:6420)
- dw $24
+ErikGfx:: ; 9e420 (27:6420)
+ dw 36
INCBIN "gfx/duelists/erik.2bpp"
-JohnGfx: ; 9e662 (27:6662)
- dw $24
+JohnGfx:: ; 9e662 (27:6662)
+ dw 36
INCBIN "gfx/duelists/john.2bpp"
-AdamGfx: ; 9e8a4 (27:68a4)
- dw $24
+AdamGfx:: ; 9e8a4 (27:68a4)
+ dw 36
INCBIN "gfx/duelists/adam.2bpp"
-JonathanGfx: ; 9eae6 (27:6ae6)
- dw $24
+JonathanGfx:: ; 9eae6 (27:6ae6)
+ dw 36
INCBIN "gfx/duelists/jonathan.2bpp"
-JoshuaGfx: ; 9ed28 (27:6d28)
- dw $24
+JoshuaGfx:: ; 9ed28 (27:6d28)
+ dw 36
INCBIN "gfx/duelists/joshua.2bpp"
-NicholasGfx: ; 9ef6a (27:6f6a)
- dw $24
+NicholasGfx:: ; 9ef6a (27:6f6a)
+ dw 36
INCBIN "gfx/duelists/nicholas.2bpp"
-BrandonGfx: ; 9f1ac (27:71ac)
- dw $24
+BrandonGfx:: ; 9f1ac (27:71ac)
+ dw 36
INCBIN "gfx/duelists/brandon.2bpp"
-MatthewGfx: ; 9f3ee (27:73ee)
- dw $24
+MatthewGfx:: ; 9f3ee (27:73ee)
+ dw 36
INCBIN "gfx/duelists/matthew.2bpp"
-RyanGfx: ; 9f630 (27:7630)
- dw $24
+RyanGfx:: ; 9f630 (27:7630)
+ dw 36
INCBIN "gfx/duelists/ryan.2bpp"
-AndrewGfx: ; 9f872 (27:7872)
- dw $24
+AndrewGfx:: ; 9f872 (27:7872)
+ dw 36
INCBIN "gfx/duelists/andrew.2bpp"
-ChrisGfx: ; 9fab4 (27:7ab4)
- dw $24
+ChrisGfx:: ; 9fab4 (27:7ab4)
+ dw 36
INCBIN "gfx/duelists/chris.2bpp"
-MichaelGfx: ; 9fcf6 (27:7cf6)
- dw $24
+MichaelGfx:: ; 9fcf6 (27:7cf6)
+ dw 36
INCBIN "gfx/duelists/michael.2bpp"
Duel63Gfx:: ; 9ff38 (27:7f38)
@@ -496,48 +1015,48 @@ endr
SECTION "Gfx 10", ROMX
-DanielGfx: ; a0000 (28:4000)
- dw $24
+DanielGfx:: ; a0000 (28:4000)
+ dw 36
INCBIN "gfx/duelists/daniel.2bpp"
-RobertGfx: ; a0242 (28:4242)
- dw $24
+RobertGfx:: ; a0242 (28:4242)
+ dw 36
INCBIN "gfx/duelists/robert.2bpp"
-BrittanyGfx: ; a0484 (28:4484)
- dw $24
+BrittanyGfx:: ; a0484 (28:4484)
+ dw 36
INCBIN "gfx/duelists/brittany.2bpp"
-KristinGfx: ; a06c6 (28:46c6)
- dw $24
+KristinGfx:: ; a06c6 (28:46c6)
+ dw 36
INCBIN "gfx/duelists/kristin.2bpp"
-HeatherGfx: ; a0908 (28:4908)
- dw $24
+HeatherGfx:: ; a0908 (28:4908)
+ dw 36
INCBIN "gfx/duelists/heather.2bpp"
-SaraGfx: ; a0b4a (28:4b4a)
- dw $24
+SaraGfx:: ; a0b4a (28:4b4a)
+ dw 36
INCBIN "gfx/duelists/sara.2bpp"
-AmandaGfx: ; a0d8c (28:4d8c)
- dw $24
+AmandaGfx:: ; a0d8c (28:4d8c)
+ dw 36
INCBIN "gfx/duelists/amanda.2bpp"
-JenniferGfx: ; a0fce (28:4fce)
- dw $24
+JenniferGfx:: ; a0fce (28:4fce)
+ dw 36
INCBIN "gfx/duelists/jennifer.2bpp"
-JessicaGfx: ; a1210 (28:5210)
- dw $24
+JessicaGfx:: ; a1210 (28:5210)
+ dw 36
INCBIN "gfx/duelists/jessica.2bpp"
-StephanieGfx: ; a1452 (28:5452)
- dw $24
+StephanieGfx:: ; a1452 (28:5452)
+ dw 36
INCBIN "gfx/duelists/stephanie.2bpp"
-AaronGfx: ; a1694 (28:5694)
- dw $24
+AaronGfx:: ; a1694 (28:5694)
+ dw 36
INCBIN "gfx/duelists/aaron.2bpp"
OWIshiharaGfx:: ; a18d6 (28:58d6)
diff --git a/src/sram.asm b/src/sram.asm
index 09c4e67..512d96a 100644
--- a/src/sram.asm
+++ b/src/sram.asm
@@ -98,6 +98,11 @@ sba68:: ; ba68
SECTION "SRAM1", SRAM
+; from VRAM0
+s0BGMap:: ds $400 ; a000
+; from VRAM1
+s1BGMap:: ds $400 ; a400
+
SECTION "SRAM2", SRAM
ds $1c00
diff --git a/src/wram.asm b/src/wram.asm
index 83c260b..46345f9 100644
--- a/src/wram.asm
+++ b/src/wram.asm
@@ -2079,13 +2079,15 @@ wPCLastDirectionPressed:: ; d12d
ds $1
-wd12f:: ; d12f
+wBGMapWidth:: ; d12f
ds $1
-wd130:: ; d130
+wBGMapHeight:: ; d130
ds $1
-wd131:: ; d131
+; current tilemap to load
+; TILEMAP_* constant
+wCurTilemap:: ; d131
ds $1
wd132:: ; d132
@@ -2126,14 +2128,13 @@ wd237:: ; d237
wd238:: ; d238
ds $1
-wd239:: ; d239
+; current tileset to load to VRAM
+; TILESET_* constant
+wCurTileset:: ; d239
ds $1
wd23a:: ; d23a
- ds $1
-
-wd23b:: ; d23b
- ds $1
+ ds $2
wd23c:: ; d23c
ds $1
@@ -2141,10 +2142,20 @@ wd23c:: ; d23c
wd23d:: ; d23d
ds $1
+UNION
+
; palette loaded from Palette* data
wLoadedPalData:: ; d23e
ds $50
+NEXTU
+
+; where BG map data is decompressed
+wBGMapBuffer:: ; d23e
+ ds $40
+
+ENDU
+
wd28e:: ; d28e
ds $1
@@ -2157,7 +2168,10 @@ wd290:: ; d290
wd291:: ; d291
ds $1
-wd292:: ; d292
+; determines where to copy BG Map data
+; $0 = copies to VRAM
+; $1 = copies to SRAM
+wBGMapCopyMode:: ; d292
ds $1
ds $4
@@ -2483,11 +2497,9 @@ wTempPointerBank:: ; d4c6
wCurSpriteTileSize:: ; d4c7
ds $1
-; stores number of tiles that current sprite has
-wCurSpriteNumTiles:: ; d4c8
- ds $1
-
- ds $1
+; stores number of tiles that current sprite/tileset has
+wTotalNumTiles:: ; d4c8
+ ds $2
; stores tile offset in VRAM
wVRAMTileOffset:: ; d4ca
@@ -2495,6 +2507,8 @@ wVRAMTileOffset:: ; d4ca
wd4ca:: ; d4ca
ds $1
+; bottom bit stores which VRAM bank to draw certain gfx
+; $0 = VRAM0, $1 = VRAM1
wd4cb:: ; d4cb
ds $1