summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2017-07-08 13:20:11 -0700
committerMarcus Huderle <huderlem@gmail.com>2017-07-08 13:20:11 -0700
commit519111415056983f3955bc8847283e675dc61280 (patch)
tree0ef6ec1307037e990ab9a5f6f1b1be7a43c4f6d7
parentc827f6c46fd5190221f01b2ff2f1181bcb6f7738 (diff)
Labeled map-move counter stuff. Started pulling queued graphics data into separate files
-rw-r--r--constants/pinball_game_constants.asm2
-rwxr-xr-xdata/queued_tiledata/blue_field/bumpers.asm219
-rwxr-xr-xdata/queued_tiledata/blue_field/force_field.asm171
-rwxr-xr-xdata/queued_tiledata/blue_field/poliwag_psyduck.asm881
-rwxr-xr-xdata/queued_tiledata/blue_field/spinner.asm659
-rwxr-xr-xdata/queued_tiledata/red_field/bumpers.asm219
-rwxr-xr-xdata/queued_tiledata/red_field/diglett.asm771
-rwxr-xr-xdata/queued_tiledata/red_field/spinner.asm659
-rw-r--r--engine/pinball_game/load_stage_data/load_blue_field.asm16
-rw-r--r--engine/pinball_game/load_stage_data/load_red_field.asm8
-rw-r--r--engine/pinball_game/object_collision/blue_stage_resolve_collision.asm2153
-rw-r--r--engine/pinball_game/object_collision/red_stage_resolve_collision.asm1779
-rw-r--r--main.asm12
-rw-r--r--wram.asm22
14 files changed, 3802 insertions, 3769 deletions
diff --git a/constants/pinball_game_constants.asm b/constants/pinball_game_constants.asm
index 633d742..aad6e43 100644
--- a/constants/pinball_game_constants.asm
+++ b/constants/pinball_game_constants.asm
@@ -12,3 +12,5 @@ NUM_MEWTWO_COMPLETIONS_FOR_MEW EQU 2
MAX_BONUS_MULTIPLIER EQU 99
MAX_BONUS_MULTIPLIER_FIELD_EVENTS EQU 11
+
+MAP_MOVE_FRAMES_COUNTER EQU 480 ; 8 seconds until the map move counter decrease by 1
diff --git a/data/queued_tiledata/blue_field/bumpers.asm b/data/queued_tiledata/blue_field/bumpers.asm
new file mode 100755
index 0000000..d5f9bd2
--- /dev/null
+++ b/data/queued_tiledata/blue_field/bumpers.asm
@@ -0,0 +1,219 @@
+TileDataPointers_1ceca:
+ dw TileData_1ced2
+ dw TileData_1ced5
+ dw TileData_1ced8
+ dw TileData_1cedb
+
+TileData_1ced2: ; 0x1ced2
+ db $01
+ dw TileData_1cede
+
+TileData_1ced5: ; 0x1ced5
+ db $01
+ dw TileData_1cef5
+
+TileData_1ced8: ; 0x1ced8
+ db $01
+ dw TileData_1cf0c
+
+TileData_1cedb: ; 0x1cedb
+ db $01
+ dw TileData_1cf23
+
+TileData_1cede: ; 0x1cede
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $61
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $62, $63
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $64, $65
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $66, $67
+
+ db $00 ; number of tiles
+
+TileData_1cef5: ; 0x1cef5
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $68
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $69, $6A
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $6B, $6C
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $6D, $6E
+
+ db $00 ; number of tiles
+
+TileData_1cf0c: ; 0x1cf0c
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $6F
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $70, $71
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $72, $73
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $74, $75
+
+ db $00 ; number of tiles
+
+TileData_1cf23: ; 0x1cf23
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $76
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $77, $78
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $79, $7A
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $7B, $7C
+
+ db $00 ; number of tiles
+
+TileDataPointers_1cf3a:
+ dw TileData_1cf42
+ dw TileData_1cf45
+ dw TileData_1cf48
+ dw TileData_1cf4b
+
+TileData_1cf42: ; 0x1cf42
+ db $01
+ dw TileData_1cf4e
+
+TileData_1cf45: ; 0x1cf45
+ db $01
+ dw TileData_1cf65
+
+TileData_1cf48: ; 0x1cf48
+ db $01
+ dw TileData_1cf7c
+
+TileData_1cf4b: ; 0x1cf4b
+ db $01
+ dw TileData_1cf93
+
+TileData_1cf4e: ; 0x1cf4e
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $39
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $3A, $3B
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $3C, $3D
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $3E, $3F
+
+ db $00 ; terminator
+
+TileData_1cf65: ; 0x1cf65
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $40
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $41, $42
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $43, $44
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $45, $46
+
+ db $00 ; terminator
+
+TileData_1cf7c: ; 0x1cf7c
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $39
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $3B, $3A
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $3D, $3C
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $3F, $3E
+
+ db $00 ; terminator
+
+TileData_1cf93: ; 0x1cf93
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $40
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $42, $41
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $44, $43
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $46, $45
+
+ db $00 ; terminator
diff --git a/data/queued_tiledata/blue_field/force_field.asm b/data/queued_tiledata/blue_field/force_field.asm
new file mode 100755
index 0000000..522bed0
--- /dev/null
+++ b/data/queued_tiledata/blue_field/force_field.asm
@@ -0,0 +1,171 @@
+TileDataPointers_1f1b5:
+ dw TileData_1f1bd
+ dw TileData_1f1c0
+ dw TileData_1f1c3
+ dw TileData_1f1c6
+
+TileData_1f1bd: ; 0x1f1bd
+ db $01
+ dw TileData_1f1c9
+
+TileData_1f1c0: ; 0x1f1c0
+ db $01
+ dw TileData_1f1d7
+
+TileData_1f1c3: ; 0x1f1c3
+ db $01
+ dw TileData_1f1e5
+
+TileData_1f1c6: ; 0x1f1c6
+ db $01
+ dw TileData_1f1f3
+
+TileData_1f1c9: ; 0x1f1c9
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $189
+ db $70, $71
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $72, $73
+
+ db $00 ; terminator
+
+TileData_1f1d7: ; 0x1f1d7
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $189
+ db $74, $75
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $76, $77
+
+ db $00 ; terminator
+
+TileData_1f1e5: ; 0x1f1e5
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $189
+ db $78, $79
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $7A, $7B
+
+ db $00 ; terminator
+
+TileData_1f1f3: ; 0x1f1f3
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $189
+ db $7C, $7D
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $7E, $7F
+
+ db $00 ; terminator
+
+TileDataPointers_1f201:
+ dw TileData_1f209
+ dw TileData_1f20c
+ dw TileData_1f20f
+ dw TileData_1f212
+
+TileData_1f209: ; 0x1f209
+ db $01
+ dw TileData_1f215
+
+TileData_1f20c: ; 0x1f20c
+ db $01
+ dw TileData_1f228
+
+TileData_1f20f: ; 0x1f20f
+ db $01
+ dw TileData_1f23b
+
+TileData_1f212: ; 0x1f212
+ db $01
+ dw TileData_1f24e
+
+TileData_1f215: ; 0x1f215
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $02 ; number of otiles
+ dw vBGMap + $189
+ db $6C, $6D
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $6E, $6F
+
+ db $02
+ dw vBGMap + $1c9
+ db $70, $71
+
+ db $00 ; terminator
+
+TileData_1f228: ; 0x1f228
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $02 ; number of otiles
+ dw vBGMap + $189
+ db $72, $80
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $73, $74
+
+ db $02
+ dw vBGMap + $1c9
+ db $75, $80
+
+ db $00 ; terminator
+
+TileData_1f23b: ; 0x1f23b
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $02 ; number of otiles
+ dw vBGMap + $189
+ db $76, $77
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $78, $79
+
+ db $02
+ dw vBGMap + $1c9
+ db $7A, $7B
+
+ db $00 ; terminator
+
+TileData_1f24e: ; 0x1f24e
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $02 ; number of otiles
+ dw vBGMap + $189
+ db $80, $7C
+
+ db $02 ; number of tiles
+ dw vBGMap + $1a9
+ db $7D, $7E
+
+ db $02
+ dw vBGMap + $1c9
+ db $80, $7F
+
+ db $00 ; terminator
diff --git a/data/queued_tiledata/blue_field/poliwag_psyduck.asm b/data/queued_tiledata/blue_field/poliwag_psyduck.asm
new file mode 100755
index 0000000..7140e25
--- /dev/null
+++ b/data/queued_tiledata/blue_field/poliwag_psyduck.asm
@@ -0,0 +1,881 @@
+TileDataPointers_1df66:
+ dw TileData_1df74
+ dw TileData_1df77
+ dw TileData_1df7a
+ dw TileData_1df7f
+ dw TileData_1df84
+ dw TileData_1df89
+ dw TileData_1df8e
+
+TileData_1df74: ; 0x1df74
+ db $01
+ dw TileData_1df93
+
+TileData_1df77: ; 0x1df77
+ db $01
+ dw TileData_1df9f
+
+TileData_1df7a: ; 0x1df7a
+ db $02
+ dw TileData_1dfab
+ dw TileData_1dfb5
+
+TileData_1df7f: ; 0x1df7f
+ db $02
+ dw TileData_1dfbf
+ dw TileData_1dfc9
+
+TileData_1df84: ; 0x1df84
+ db $02
+ dw TileData_1dfd3
+ dw TileData_1dfdd
+
+TileData_1df89: ; 0x1df89
+ db $02
+ dw TileData_1dfe7
+ dw TileData_1dff1
+
+TileData_1df8e: ; 0x1df8e
+ db $02
+ dw TileData_1dffb
+ dw TileData_1e005
+
+TileData_1df93: ; 0x1df93
+ dw LoadTileLists
+ db $02 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $A3
+ db $4A
+
+ db $01 ; number of tiles
+ dw vBGMap + $C3
+ db $4B
+
+ db $00 ; terminator
+
+TileData_1df9f: ; 0x1df9f
+ dw LoadTileLists
+ db $02 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $A3
+ db $4C
+
+ db $01 ; number of tiles
+ dw vBGMap + $C3
+ db $4D
+
+ db $00 ; terminator
+
+TileData_1dfab: ; 0x1dfab
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $4E
+ dw StageBlueFieldBottomBaseGameBoyGfx + $CE0
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1dfb5: ; 0x1dfb5
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $51
+ dw StageBlueFieldBottomBaseGameBoyGfx + $D10
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1dfbf: ; 0x1dfbf
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $4E
+ dw StageBlueFieldBottomBaseGameBoyGfx + $D30
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1dfc9: ; 0x1dfc9
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $51
+ dw StageBlueFieldBottomBaseGameBoyGfx + $D60
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1dfd3: ; 0x1dfd3
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $4E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $20B0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1dfdd: ; 0x1dfdd
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $51
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $20E0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1dfe7: ; 0x1dfe7
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $4E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2100
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1dff1: ; 0x1dff1
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $51
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2130
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1dffb: ; 0x1dffb
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $4E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2150
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e005: ; 0x1e005
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $51
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2180
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileDataPointers_1e00f:
+ dw TileData_1e01d
+ dw TileData_1e020
+ dw TileData_1e023
+ dw TileData_1e026
+ dw TileData_1e029
+ dw TileData_1e02c
+ dw TileData_1e02f
+
+TileData_1e01d: ; 0x1e01d
+ db $01
+ dw TileData_1e032
+
+TileData_1e020: ; 0x1e020
+ db $01
+ dw TileData_1e03e
+
+TileData_1e023: ; 0x1e023
+ db $01
+ dw TileData_1e04a
+
+TileData_1e026: ; 0x1e026
+ db $01
+ dw TileData_1e05c
+
+TileData_1e029: ; 0x1e029
+ db $01
+ dw TileData_1e06e
+
+TileData_1e02c: ; 0x1e02c
+ db $01
+ dw TileData_1e080
+
+TileData_1e02f: ; 0x1e02f
+ db $01
+ dw TileData_1e092
+
+TileData_1e032: ; 0x1e032
+ dw LoadTileLists
+ db $02 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $A3
+ db $35
+
+ db $01 ; number of tiles
+ dw vBGMap + $C3
+ db $36
+
+ db $00 ; terminator
+
+TileData_1e03e: ; 0x1e03e
+ dw LoadTileLists
+ db $02 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $A3
+ db $37
+
+ db $01 ; number of tiles
+ dw vBGMap + $C3
+ db $38
+
+ db $00 ; terminator
+
+TileData_1e04a: ; 0x1e04a
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $90
+ db $4F
+
+ db $02 ; number of tiles
+ dw vBGMap + $AF
+ db $50, $51
+
+ db $02 ; number of tiles
+ dw vBGMap + $CF
+ db $52, $53
+
+ db $00 ; terminator
+
+TileData_1e05c: ; 0x1e05c
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $90
+ db $54
+
+ db $02 ; number of tiles
+ dw vBGMap + $AF
+ db $55, $56
+
+ db $02 ; number of tiles
+ dw vBGMap + $CF
+ db $57, $58
+
+ db $00 ; terminator
+
+TileData_1e06e: ; 0x1e06e
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $90
+ db $59
+
+ db $02 ; number of tiles
+ dw vBGMap + $AF
+ db $5A, $5B
+
+ db $02 ; number of tiles
+ dw vBGMap + $CF
+ db $5C, $5D
+
+ db $00 ; terminator
+
+TileData_1e080: ; 0x1e080
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $90
+ db $59
+
+ db $02 ; number of tiles
+ dw vBGMap + $AF
+ db $5A, $5E
+
+ db $02 ; number of tiles
+ dw vBGMap + $CF
+ db $5C, $5F
+
+ db $00 ; terminator
+
+TileData_1e092: ; 0x1e092
+ dw LoadTileLists
+ db $05 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $90
+ db $60
+
+ db $02 ; number of tiles
+ dw vBGMap + $AF
+ db $61, $62
+
+ db $02 ; number of tiles
+ dw vBGMap + $CF
+ db $63, $64
+
+ db $00 ; terminator
+
+TileDataPointers_1e0a4:
+ dw TileData_1e0b8
+ dw TileData_1e0bf
+ dw TileData_1e0c6
+ dw TileData_1e0cd
+ dw TileData_1e0d4
+ dw TileData_1e0d9
+ dw TileData_1e0de
+ dw TileData_1e0e3
+ dw TileData_1e0e8
+ dw TileData_1e0ed
+
+TileData_1e0b8: ; 0x1e0b8
+ db $03
+ dw TileData_1e0f0
+ dw TileData_1e0fa
+ dw TileData_1e104
+
+TileData_1e0bf: ; 0x1e0bf
+ db $03
+ dw TileData_1e10e
+ dw TileData_1e118
+ dw TileData_1e122
+
+TileData_1e0c6: ; 0x1e0c6
+ db $03
+ dw TileData_1e12c
+ dw TileData_1e136
+ dw TileData_1e140
+
+TileData_1e0cd: ; 0x1e0cd
+ db $03
+ dw TileData_1e14a
+ dw TileData_1e154
+ dw TileData_1e15e
+
+TileData_1e0d4: ; 0x1e0d4
+ db $02
+ dw TileData_1e168
+ dw TileData_1e172
+
+TileData_1e0d9: ; 0x1e0d9
+ db $02
+ dw TileData_1e17c
+ dw TileData_1e186
+
+TileData_1e0de: ; 0x1e0de
+ db $02
+ dw TileData_1e190
+ dw TileData_1e19a
+
+TileData_1e0e3: ; 0x1e0e3
+ db $02
+ dw TileData_1e1a4
+ dw TileData_1e1ae
+
+TileData_1e0e8: ; 0x1e0e8
+ db $02
+ dw TileData_1e1b8
+ dw TileData_1e1c2
+
+TileData_1e0ed: ; 0x1e0ed
+ db $01
+ dw TileData_1e1cc
+
+TileData_1e0f0: ; 0x1e0f0
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $41
+ dw StageBlueFieldBottomBaseGameBoyGfx + $C10
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e0fa: ; 0x1e0fa
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $44
+ dw StageBlueFieldBottomBaseGameBoyGfx + $C40
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e104: ; 0x1e104
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $47
+ dw StageBlueFieldBottomBaseGameBoyGfx + $C70
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e10e: ; 0x1e10e
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $41
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1FC0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e118: ; 0x1e118
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $44
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e122: ; 0x1e122
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $47
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e12c: ; 0x1e12c
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $41
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1FF0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e136: ; 0x1e136
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $44
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e140: ; 0x1e140
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $47
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e14a: ; 0x1e14a
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $41
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2020
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e154: ; 0x1e154
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $44
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e15e: ; 0x1e15e
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $47
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e168: ; 0x1e168
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $58
+ dw StageBlueFieldBottomBaseGameBoyGfx + $D80
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e172: ; 0x1e172
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $5A
+ dw StageBlueFieldBottomBaseGameBoyGfx + $DA0
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e17c: ; 0x1e17c
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $58
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e186: ; 0x1e186
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $5A
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21E0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e190: ; 0x1e190
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $58
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e19a: ; 0x1e19a
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $5A
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2210
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e1a4: ; 0x1e1a4
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $58
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e1ae: ; 0x1e1ae
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $5A
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2240
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00
+
+TileData_1e1b8: ; 0x1e1b8
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $44
+ dw StageBlueFieldBottomBaseGameBoyGfx + $C40
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e1c2: ; 0x1e1c2
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $47
+ dw StageBlueFieldBottomBaseGameBoyGfx + $C70
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileData_1e1cc: ; 0x1e1cc
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $58
+ dw StageBlueFieldBottomBaseGameBoyGfx + $D80
+ db Bank(StageBlueFieldBottomBaseGameBoyGfx)
+ db $00
+
+TileDataPointers_1e1d6:
+ dw TileData_1e1f2
+ dw TileData_1e1f5
+ dw TileData_1e1f8
+ dw TileData_1e1fb
+ dw TileData_1e1fe
+ dw TileData_1e201
+ dw TileData_1e204
+ dw TileData_1e207
+ dw TileData_1e20a
+ dw TileData_1e20d
+ dw TileData_1e210
+ dw TileData_1e213
+ dw TileData_1e216
+ dw TileData_1e219
+
+TileData_1e1f2: ; 0x1e1f2
+ db $01
+ dw TileData_1e21c
+
+TileData_1e1f5: ; 0x1e1f5
+ db $01
+ dw TileData_1e238
+
+TileData_1e1f8: ; 0x1e1f8
+ db $01
+ dw TileData_1e254
+
+TileData_1e1fb: ; 0x1e1fb
+ db $01
+ dw TileData_1e270
+
+TileData_1e1fe: ; 0x1e1fe
+ db $01
+ dw TileData_1e28c
+
+TileData_1e201: ; 0x1e201
+ db $01
+ dw TileData_1e2a2
+
+TileData_1e204: ; 0x1e204
+ db $01
+ dw TileData_1e2b8
+
+TileData_1e207: ; 0x1e207
+ db $01
+ dw TileData_1e2ce
+
+TileData_1e20a: ; 0x1e20a
+ db $01
+ dw TileData_1e2e4
+
+TileData_1e20d: ; 0x1e20d
+ db $01
+ dw TileData_1e2fa
+
+TileData_1e210: ; 0x1e210
+ db $01
+ dw TileData_1e310
+
+TileData_1e213: ; 0x1e213
+ db $01
+ dw TileData_1e326
+
+TileData_1e216: ; 0x1e216
+ db $01
+ dw TileData_1e336
+
+TileData_1e219: ; 0x1e219
+ db $01
+ dw TileData_1e346
+
+TileData_1e21c: ; 0x1e21c
+ dw LoadTileLists
+ db $0C ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $60
+ db $36, $37, $38
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $39, $3A, $3B
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $4C, $4D, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $4F, $50, $51
+
+ db $00 ; terminator
+
+TileData_1e238: ; 0x1e238
+ dw LoadTileLists
+ db $0C ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $60
+ db $3C, $37, $38
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $3D, $3E, $3B
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $52, $53, $54
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $55, $56, $57
+
+ db $00 ; terminator
+
+TileData_1e254: ; 0x1e254
+ dw LoadTileLists
+ db $0C ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $60
+ db $40, $41, $38
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $42, $43, $3B
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $52, $53, $54
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $55, $56, $57
+
+ db $00 ; terminator
+
+TileData_1e270: ; 0x1e270
+ dw LoadTileLists
+ db $0C ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $60
+ db $36, $46, $47
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $48, $49, $4A
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $52, $53, $54
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $55, $56, $57
+
+ db $00 ; terminator
+
+TileData_1e28c: ; 0x1e28c
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $65, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $66, $67, $68
+
+ db $03 ; number of tiles
+ dw vBGMap + $D1
+ db $69, $6A, $6B
+
+ db $00 ; terminator
+
+TileData_1e2a2: ; 0x1e2a2
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $6C, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $6D, $6E, $68
+
+ db $03 ; number of tiles
+ dw vBGMap + $D1
+ db $6F, $70, $6B
+
+ db $00 ; terminator
+
+TileData_1e2b8: ; 0x1e2b8
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $6C, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $66, $72, $68
+
+ db $03 ; number of tiles
+ dw vBGMap + $D1
+ db $69, $73, $6B
+
+ db $00 ; terminator
+
+TileData_1e2ce: ; 0x1e2ce
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $75, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $66, $76, $77
+
+ db $03 ; number of tiles
+ dw vBGMap + $D1
+ db $69, $78, $79
+
+ db $00 ; terminator
+
+TileData_1e2e4: ; 0x1e2e4
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $3F, $3A, $3B
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $4C, $4D, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $4F, $50, $51
+
+ db $00 ; terminator
+
+TileData_1e2fa: ; 0x1e2fa
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $44, $45, $3B
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $4C, $4D, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $4F, $50, $51
+
+ db $00 ; terminator
+
+TileData_1e310: ; 0x1e310
+ dw LoadTileLists
+ db $09 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $80
+ db $39, $4B, $4A
+
+ db $03 ; number of tiles
+ dw vBGMap + $A0
+ db $4C, $4D, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $C0
+ db $4F, $50, $51
+
+ db $00 ; terminator
+
+TileData_1e326: ; 0x1e326
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $65, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $6D, $71, $68
+
+ db $00 ; terminator
+
+TileData_1e336: ; 0x1e336
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $65, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $66, $74, $68
+
+ db $00 ; terminator
+
+TileData_1e346: ; 0x1e346
+ dw LoadTileLists
+ db $06 ; total number of tiles
+
+ db $03 ; number of tiles
+ dw vBGMap + $91
+ db $4D, $65, $4E
+
+ db $03 ; number of tiles
+ dw vBGMap + $B1
+ db $66, $67, $77
+
+ db $00 ; terminator
diff --git a/data/queued_tiledata/blue_field/spinner.asm b/data/queued_tiledata/blue_field/spinner.asm
new file mode 100755
index 0000000..51ebf55
--- /dev/null
+++ b/data/queued_tiledata/blue_field/spinner.asm
@@ -0,0 +1,659 @@
+TileDataPointers_1cb60:
+ dw TileData_1cb80
+ dw TileData_1cb85
+ dw TileData_1cb8a
+ dw TileData_1cb8f
+ dw TileData_1cb94
+ dw TileData_1cb99
+ dw TileData_1cb9e
+ dw TileData_1cba3
+ dw TileData_1cba8
+ dw TileData_1cbad
+ dw TileData_1cbb2
+ dw TileData_1cbb7
+ dw TileData_1cbbc
+ dw TileData_1cbc1
+ dw TileData_1cbc6
+ dw TileData_1cbcb
+
+TileData_1cb80: ; 0x1cb80
+ db $02
+ dw TileData_1cbd0
+ dw TileData_1cbda
+
+TileData_1cb85: ; 0x1cb85
+ db $02
+ dw TileData_1cbe4
+ dw TileData_1cbee
+
+TileData_1cb8a: ; 0x1cb8a
+ db $02
+ dw TileData_1cbf8
+ dw TileData_1cc02
+
+TileData_1cb8f: ; 0x1cb8f
+ db $02
+ dw TileData_1cc0c
+ dw TileData_1cc16
+
+TileData_1cb94: ; 0x1cb94
+ db $02
+ dw TileData_1cc20
+ dw TileData_1cc2a
+
+TileData_1cb99: ; 0x1cb99
+ db $02
+ dw TileData_1cc34
+ dw TileData_1cc3e
+
+TileData_1cb9e: ; 0x1cb9e
+ db $02
+ dw TileData_1cc48
+ dw TileData_1cc52
+
+TileData_1cba3: ; 0x1cba3
+ db $02
+ dw TileData_1cc5c
+ dw TileData_1cc66
+
+TileData_1cba8: ; 0x1cba8
+ db $02
+ dw TileData_1cc70
+ dw TileData_1cc7a
+
+TileData_1cbad: ; 0x1cbad
+ db $02
+ dw TileData_1cc84
+ dw TileData_1cc8e
+
+TileData_1cbb2: ; 0x1cbb2
+ db $02
+ dw TileData_1cc98
+ dw TileData_1cca2
+
+TileData_1cbb7: ; 0x1cbb7
+ db $02
+ dw TileData_1ccac
+ dw TileData_1ccb6
+
+TileData_1cbbc: ; 0x1cbbc
+ db $02
+ dw TileData_1ccc0
+ dw TileData_1ccca
+
+TileData_1cbc1: ; 0x1cbc1
+ db $02
+ dw TileData_1ccd4
+ dw TileData_1ccde
+
+TileData_1cbc6: ; 0x1cbc6
+ db $02
+ dw TileData_1cce8
+ dw TileData_1ccf2
+
+TileData_1cbcb: ; 0x1cbcb
+ db $02
+ dw TileData_1ccfc
+ dw TileData_1cd06
+
+TileData_1cbd0: ; 0xcbd0
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageBlueFieldTopBaseGameBoyGfx + $c20
+ db Bank(StageBlueFieldTopBaseGameBoyGfx)
+ db $00 ; terminator
+
+TileData_1cbda: ; 0xcbda
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageBlueFieldTopBaseGameBoyGfx + $c40
+ db Bank(StageBlueFieldTopBaseGameBoyGfx)
+ db $00 ; terminator
+
+TileData_1cbe4: ; 0xcbe4
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1800
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cbee: ; 0xcbee
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1820
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cbf8: ; 0xcbf8
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1840
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc02: ; 0xcc02
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1860
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc0c: ; 0xcc0c
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1880
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc16: ; 0xcc16
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc20: ; 0xcc20
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc2a: ; 0xcc2a
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18E0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc34: ; 0xcc34
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1900
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc3e: ; 0xcc3e
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1920
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc48: ; 0xcc48
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1940
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc52: ; 0xcc52
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1960
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc5c: ; 0xcc5c
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1980
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc66: ; 0xcc66
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc70: ; 0xcc70
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc7a: ; 0xcc7a
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19E0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc84: ; 0xcc84
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc8e: ; 0xcc8e
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cc98: ; 0xcc98
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cca2: ; 0xcca2
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccac: ; 0xccac
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccb6: ; 0xccb6
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AA0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccc0: ; 0xccc0
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AC0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccca: ; 0xccca
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AE0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccd4: ; 0xccd4
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccde: ; 0xccde
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cce8: ; 0xcce8
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccf2: ; 0xccf2
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1ccfc: ; 0xccfc
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1cd06: ; 0xcd06
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $6E
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1BA0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileDataPointers_1cd10:
+ dw TileData_1cd30
+ dw TileData_1cd33
+ dw TileData_1cd36
+ dw TileData_1cd39
+ dw TileData_1cd3c
+ dw TileData_1cd3f
+ dw TileData_1cd42
+ dw TileData_1cd45
+ dw TileData_1cd48
+ dw TileData_1cd4b
+ dw TileData_1cd4e
+ dw TileData_1cd51
+ dw TileData_1cd54
+ dw TileData_1cd57
+ dw TileData_1cd5a
+ dw TileData_1cd5d
+
+TileData_1cd30: ; 0x1cd30
+ db $01
+ dw TileData_1cd60
+
+TileData_1cd33: ; 0x1cd33
+ db $01
+ dw TileData_1cd6e
+
+TileData_1cd36: ; 0x1cd36
+ db $01
+ dw TileData_1cd7c
+
+TileData_1cd39: ; 0x1cd39
+ db $01
+ dw TileData_1cd8a
+
+TileData_1cd3c: ; 0x1cd3c
+ db $01
+ dw TileData_1cd98
+
+TileData_1cd3f: ; 0x1cd3f
+ db $01
+ dw TileData_1cda6
+
+TileData_1cd42: ; 0x1cd42
+ db $01
+ dw TileData_1cdb4
+
+TileData_1cd45: ; 0x1cd45
+ db $01
+ dw TileData_1cdc2
+
+TileData_1cd48: ; 0x1cd48
+ db $01
+ dw TileData_1cdd0
+
+TileData_1cd4b: ; 0x1cd4b
+ db $01
+ dw TileData_1cdde
+
+TileData_1cd4e: ; 0x1cd4e
+ db $01
+ dw TileData_1cdec
+
+TileData_1cd51: ; 0x1cd51
+ db $01
+ dw TileData_1cdfa
+
+TileData_1cd54: ; 0x1cd54
+ db $01
+ dw TileData_1ce08
+
+TileData_1cd57: ; 0x1cd57
+ db $01
+ dw TileData_1ce16
+
+TileData_1cd5a: ; 0x1cd5a
+ db $01
+ dw TileData_1ce24
+
+TileData_1cd5d: ; 0x1cd5d
+ db $01
+ dw TileData_1ce32
+
+TileData_1cd60: ; 0x1cd60
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $4A, $4B
+
+ db $00 ; terminator
+
+TileData_1cd6e: ; 0x1cd6e
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $4C, $4D
+
+ db $00 ; terminator
+
+TileData_1cd7c: ; 0x1cd7c
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $4E, $4F
+
+ db $00 ; terminator
+
+TileData_1cd8a: ; 0x1cd8a
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $50, $51
+
+ db $00 ; terminator
+
+TileData_1cd98: ; 0x1cd98
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $52, $53
+
+ db $00 ; terminator
+
+TileData_1cda6: ; 0x1cda6
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $54, $55
+
+ db $00 ; terminator
+
+TileData_1cdb4: ; 0x1cdb4
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $56, $57
+
+ db $00 ; terminator
+
+TileData_1cdc2: ; 0x1cdc2
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1cdd0: ; 0x1cdd0
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $48, $49
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1cdde: ; 0x1cdde
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1cdec: ; 0x1cdec
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $5E, $5F
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1cdfa: ; 0x1cdfa
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $60, $61
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1ce08: ; 0x1ce08
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $62, $63
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1ce16: ; 0x1ce16
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $64, $65
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1ce24: ; 0x1ce24
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $66, $67
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $58, $59
+
+ db $00 ; terminator
+
+TileData_1ce32: ; 0x1ce32
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $143
+ db $68, $69
+
+ db $02 ; number of tiles
+ dw vBGMap + $163
+ db $6A, $6B
+
+ db $00 ; terminator
diff --git a/data/queued_tiledata/red_field/bumpers.asm b/data/queued_tiledata/red_field/bumpers.asm
new file mode 100755
index 0000000..c0fbc55
--- /dev/null
+++ b/data/queued_tiledata/red_field/bumpers.asm
@@ -0,0 +1,219 @@
+TileDataPointers_16010:
+ dw TileData_16018
+ dw TileData_1601b
+ dw TileData_1601e
+ dw TileData_16021
+
+TileData_16018: ; 0x16018
+ db $01
+ dw TileData_16024
+
+TileData_1601b: ; 0x1601b
+ db $01
+ dw TileData_1603B
+
+TileData_1601e: ; 0x1601e
+ db $01
+ dw TileData_16052
+
+TileData_16021: ; 0x16021
+ db $01
+ dw TileData_16069
+
+TileData_16024: ; 0x16024
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $60
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $61, $62
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $63, $64
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $65, $66
+
+ db $00 ; terminator
+
+TileData_1603B: ; 0x1603B
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $67
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $68, $69
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $6A, $6B
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $6C, $6D
+
+ db $00 ; terminator
+
+TileData_16052: ; 0x16052
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $6E
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $6F, $70
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $71, $72
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $73, $74
+
+ db $00 ; terminator
+
+TileData_16069: ; 0x16069
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $75
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $76, $77
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $78, $79
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $7A, $7B
+
+ db $00 ; terminator
+
+TileData_16080:
+ dw TileData_16088
+ dw TileData_1608b
+ dw TileData_1608e
+ dw TileData_16091
+
+TileData_16088: ; 0x16088
+ db $01
+ dw TileData_16094
+
+TileData_1608b: ; 0x1608b
+ db $01
+ dw TileData_160ab
+
+TileData_1608e: ; 0x1608e
+ db $01
+ dw TileData_160c2
+
+TileData_16091: ; 0x16091
+ db $01
+ dw TileData_160d9
+
+TileData_16094: ; 0x16094
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $2A
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $2B, $2C
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $2D, $2E
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $2F, $30
+
+ db $00 ; terminator
+
+TileData_160ab: ; 0x160ab
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $124
+ db $31
+
+ db $02 ; number of tiles
+ dw vBGMap + $144
+ db $32, $33
+
+ db $02 ; number of tiles
+ dw vBGMap + $164
+ db $34, $35
+
+ db $02 ; number of tiles
+ dw vBGMap + $185
+ db $36, $37
+
+ db $00 ; terminator
+
+TileData_160c2: ; 0x160c2
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $2A
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $2C, $2B
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $2E, $2D
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $30, $2F
+
+ db $00 ; terminator
+
+TileData_160d9: ; 0x160d9
+ dw LoadTileLists
+ db $07 ; total number of tiles
+
+ db $01 ; number of tiles
+ dw vBGMap + $12F
+ db $31
+
+ db $02 ; number of tiles
+ dw vBGMap + $14E
+ db $33, $32
+
+ db $02 ; number of tiles
+ dw vBGMap + $16E
+ db $35, $34
+
+ db $02 ; number of tiles
+ dw vBGMap + $18D
+ db $37, $36
+
+ db $00 ; terminator
diff --git a/data/queued_tiledata/red_field/diglett.asm b/data/queued_tiledata/red_field/diglett.asm
new file mode 100755
index 0000000..65801b8
--- /dev/null
+++ b/data/queued_tiledata/red_field/diglett.asm
@@ -0,0 +1,771 @@
+TileListDataPointers_14a11: ; 0x14a11
+ dw TileListData_14a1d
+ dw TileListData_14a20
+ dw TileListData_14a23
+ dw TileListData_14a26
+ dw TileListData_14a29
+ dw TileListData_14a2c
+
+TileListData_14a1d: ; 0x14a1d
+ db $01
+ dw TileListData_14a2f
+
+TileListData_14a20: ; 0x14a20
+ db $01
+ dw TileListData_14a3d
+
+TileListData_14a23: ; 0x14a23
+ db $01
+ dw TileListData_14a4b
+
+TileListData_14a26: ; 0x14a26
+ db $01
+ dw TileListData_14a59
+
+TileListData_14a29: ; 0x14a29
+ db $01
+ dw TileListData_14a67
+
+TileListData_14a2c: ; 0x14a2c
+ db $01
+ dw TileListData_14a75
+
+TileListData_14a2f: ; 0x14a2f
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $a3
+ db $4C, $4D
+
+ db $02 ; number of tiles
+ dw vBGMap + $c3
+ db $4E, $4F
+
+ db $00 ; terminator
+
+TileListData_14a3d: ; 0x14a3d
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $a3
+ db $50, $51
+
+ db $02 ; number of tiles
+ dw vBGMap + $c3
+ db $52, $53
+
+ db $00 ; terminator
+
+TileListData_14a4b: ; 0x14a4b
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $a3
+ db $54, $80
+
+ db $02 ; number of tiles
+ dw vBGMap + $c3
+ db $55, $80
+
+ db $00 ; terminator
+
+TileListData_14a59: ; 0x14a59
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $af
+ db $56, $57
+
+ db $02 ; number of tiles
+ dw vBGMap + $cf
+ db $58, $59
+
+ db $00 ; terminator
+
+TileListData_14a67: ; 0x14a67
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $af
+ db $5a, $5b
+
+ db $02 ; number of tiles
+ dw vBGMap + $cf
+ db $5c, $5d
+
+ db $00 ; terminator
+
+TileListData_14a75: ; 0x14a75
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $af
+ db $80, $5e
+
+ db $02 ; number of tiles
+ dw vBGMap + $cf
+ db $80, $5f
+
+ db $00 ; terminator
+
+TileListDataPointers_14a83:
+ dw TileListData_14a8f
+ dw TileListData_14a92
+ dw TileListData_14a95
+ dw TileListData_14a98
+ dw TileListData_14a9b
+ dw TileListData_14a9e
+
+TileListData_14a8f: ; 0x14a8f
+ db $01
+ dw TileListData_14aa1
+
+TileListData_14a92: ; 0x14a92
+ db $01
+ dw TileListData_14aaf
+
+TileListData_14a95: ; 0x14a95
+ db $01
+ dw TileListData_14abd
+
+TileListData_14a98: ; 0x14a98
+ db $01
+ dw TileListData_14acb
+
+TileListData_14a9b: ; 0x14a9b
+ db $01
+ dw TileListData_14ad9
+
+TileListData_14a9e: ; 0x14a9e
+ db $01
+ dw TileListData_14ae7
+
+TileListData_14aa1: ; 0x14aa1
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $a3
+ db $54, $55
+
+ db $02 ; number of tiles
+ dw vBGMap + $c3
+ db $56, $57
+
+ db $00
+
+TileListData_14aaf: ; 0x14aaf
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $a3
+ db $58, $59
+
+ db $02 ; number of tiles
+ dw vBGMap + $c3
+ db $5A, $5B
+
+ db $00 ; terminator
+
+TileListData_14abd: ; 0x14abd
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $a3
+ db $5C, $80
+
+ db $02 ; number of tiles
+ dw vBGMap + $c3
+ db $5D, $80
+
+ db $00 ; terminator
+
+TileListData_14acb: ; 0x14acb
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $af
+ db $55, $54
+
+ db $02 ; number of tiles
+ dw vBGMap + $cf
+ db $57, $56
+
+ db $00 ; terminator
+
+TileListData_14ad9: ; 0x14ad9
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $af
+ db $59, $58
+
+ db $02 ; number of tiles
+ dw vBGMap + $cf
+ db $5B, $5A
+
+ db $00 ; terminator
+
+TileListData_14ae7: ; 0x14ae7
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $af
+ db $80, $5C
+
+ db $02 ; number of tiles
+ dw vBGMap + $cf
+ db $80, $5D
+
+ db $00 ; terminator
+
+Data_14af5: ; 0x14af5
+ dw Data_14b05
+ dw Data_14b0e
+ dw Data_14b17
+ dw Data_14b20
+ dw Data_14b29
+ dw Data_14b32
+ dw Data_14b3b
+ dw Data_14b44
+
+Data_14b05: ; 0x14b05
+ db $04
+ dw Data_14b4d
+ dw Data_14b57
+ dw Data_14b61
+ dw Data_14b6b
+
+Data_14b0e: ; 0x14b0e
+ db $04
+ dw Data_14b75
+ dw Data_14b7f
+ dw Data_14b89
+ dw Data_14b93
+
+Data_14b17: ; 0x14b17
+ db $04
+ dw Data_14b9d
+ dw Data_14ba7
+ dw Data_14bb1
+ dw Data_14bbb
+
+Data_14b20: ; 0x14b20
+ db $04
+ dw Data_14bc5
+ dw Data_14bcf
+ dw Data_14bd9
+ dw Data_14be3
+
+Data_14b29: ; 0x14b29
+ db $04
+ dw Data_14bed
+ dw Data_14bf7
+ dw Data_14c01
+ dw Data_14c0b
+
+Data_14b32: ; 0x14b32
+ db $04
+ dw Data_14c15
+ dw Data_14c1f
+ dw Data_14c29
+ dw Data_14c33
+
+Data_14b3b: ; 0x14b3b
+ db $04
+ dw Data_14c3d
+ dw Data_14c47
+ dw Data_14c51
+ dw Data_14c5b
+
+Data_14b44: ; 0x14b44
+ db $04
+ dw Data_14c65
+ dw Data_14c6f
+ dw Data_14c79
+ dw Data_14c83
+
+Data_14b4d: ; 0x14b4d
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $26
+ dw StageRedFieldBottomBaseGameBoyGfx + $a60
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14b57: ; 0x14b57
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $29
+ dw StageRedFieldBottomBaseGameBoyGfx + $a90
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14b61: ; 0x14b61
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $2C
+ dw StageRedFieldBottomBaseGameBoyGfx + $ac0
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14b6b: ; 0x14b6b
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $2F
+ dw StageRedFieldBottomBaseGameBoyGfx + $af0
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14b75: ; 0x14b75
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $26
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $720
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14b7f: ; 0x14b7f
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $29
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $750
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14b89: ; 0x14b89
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $2C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $780
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14b93: ; 0x14b93
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $2F
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7B0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14b9d: ; 0x14b9d
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $26
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14ba7: ; 0x14ba7
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $29
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7F0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14bb1: ; 0x14bb1
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $2C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $820
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14bbb: ; 0x14bbb
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $2F
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $850
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14bc5: ; 0x14bc5
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $26
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $860
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14bcf: ; 0x14bcf
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $29
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $890
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14bd9: ; 0x14bd9
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $2C
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $8C0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14be3: ; 0x14be3
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $2F
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $8F0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14bed: ; 0x14bed
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $30
+ dw StageRedFieldBottomBaseGameBoyGfx + $B00
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14bf7: ; 0x14bf7
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $33
+ dw StageRedFieldBottomBaseGameBoyGfx + $B30
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14c01: ; 0x14c01
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $36
+ dw StageRedFieldBottomBaseGameBoyGfx + $B60
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14c0b: ; 0x14c0b
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $39
+ dw StageRedFieldBottomBaseGameBoyGfx + $B90
+ db Bank(StageRedFieldBottomBaseGameBoyGfx)
+ db $00 ; terminator
+
+Data_14c15: ; 0x14c15
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $30
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $900
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c1f: ; 0x14c1f
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $33
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $930
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c29: ; 0x14c29
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $36
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $960
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c33: ; 0x14c33
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $39
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $990
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c3d: ; 0x14c3d
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $30
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $9A0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c47: ; 0x14c47
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $33
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $9D0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c51: ; 0x14c51
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $36
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c5b: ; 0x14c5b
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $39
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A30
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c65: ; 0x14c65
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $30
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c6f: ; 0x14c6f
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $33
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A70
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c79: ; 0x14c79
+ dw Func_11d2
+ db $30, $03
+ dw vTilesBG tile $36
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AA0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+Data_14c83: ; 0x14c83
+ dw Func_11d2
+ db $10, $01
+ dw vTilesBG tile $39
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AD0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileListDataPointers_14c8d:
+ dw Data_14c9d
+ dw Data_14ca0
+ dw Data_14ca3
+ dw Data_14ca6
+ dw Data_14ca9
+ dw Data_14cac
+ dw Data_14caf
+ dw Data_14cb2
+
+Data_14c9d: ; 0x14c9d
+ db $01
+ dw TileListData_14cb5
+
+Data_14ca0: ; 0x14ca0
+ db $01
+ dw TileListData_14ccf
+
+Data_14ca3: ; 0x14ca3
+ db $01
+ dw TileListData_14ce9
+
+Data_14ca6: ; 0x14ca6
+ db $01
+ dw TileListData_14d03
+
+Data_14ca9: ; 0x14ca9
+ db $01
+ dw TileListData_14d1d
+
+Data_14cac: ; 0x14cac
+ db $01
+ dw TileListData_14d37
+
+Data_14caf: ; 0x14caf
+ db $01
+ dw TileListData_14d51
+
+Data_14cb2: ; 0x14cb2
+ db $01
+ dw TileListData_14d6b
+
+TileListData_14cb5: ; 0x14cb5
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $80
+ db $06, $07
+
+ db $03 ; number of tiles
+ dw vBGMap + $a0
+ db $08, $09, $0A
+
+ db $03 ; number of tiles
+ dw vBGMap + $c0
+ db $0B, $0C, $0D
+
+ db $02 ; number of tiles
+ dw vBGMap + $e0
+ db $0E, $0F
+
+ db $00 ; terminator
+
+TileListData_14ccf: ; 0x14ccf
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $80
+ db $06, $07
+
+ db $03 ; number of tiles
+ dw vBGMap + $a0
+ db $10, $11, $0A
+
+ db $03 ; number of tiles
+ dw vBGMap + $c0
+ db $12, $13, $0D
+
+ db $02 ; number of tiles
+ dw vBGMap + $e0
+ db $14, $15
+
+ db $00 ; terminator
+
+TileListData_14ce9: ; 0x14ce9
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $80
+ db $06, $07
+
+ db $03 ; number of tiles
+ dw vBGMap + $a0
+ db $10, $16, $17
+
+ db $03 ; number of tiles
+ dw vBGMap + $c0
+ db $12, $18, $19
+
+ db $02 ; number of tiles
+ dw vBGMap + $e0
+ db $14, $15
+
+ db $00 ; terminator
+
+TileListData_14d03: ; 0x14d03
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $80
+ db $1A, $1B
+
+ db $03 ; number of tiles
+ dw vBGMap + $a0
+ db $1C, $1D, $17
+
+ db $03 ; number of tiles
+ dw vBGMap + $c0
+ db $12, $18, $19
+
+ db $02 ; number of tiles
+ dw vBGMap + $e0
+ db $14, $15
+
+ db $00 ; terminator
+
+TileListData_14d1d: ; 014d1d
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $92
+ db $07, $06
+
+ db $03 ; number of tiles
+ dw vBGMap + $b1
+ db $0A, $1E, $08
+
+ db $03 ; number of tiles
+ dw vBGMap + $d1
+ db $22, $0C, $24
+
+ db $02 ; number of tiles
+ dw vBGMap + $f2
+ db $0F, $0E
+
+ db $00 ; terminator
+
+TileListData_14d37: ; 0x14d37
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $92
+ db $07, $06
+
+ db $03 ; number of tiles
+ dw vBGMap + $b1
+ db $0A, $1F, $10
+
+ db $03 ; number of tiles
+ dw vBGMap + $d1
+ db $22, $13, $25
+
+ db $02 ; number of tiles
+ dw vBGMap + $f2
+ db $15, $14
+
+ db $00 ; terminator
+
+TileListData_14d51: ; 0x14d51
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $92
+ db $07, $06
+
+ db $03 ; number of tiles
+ dw vBGMap + $b1
+ db $17, $20, $10
+
+ db $03 ; number of tiles
+ dw vBGMap + $d1
+ db $23, $18, $25
+
+ db $02 ; number of tiles
+ dw vBGMap + $f2
+ db $15, $14
+
+ db $00 ; terminator
+
+TileListData_14d6b: ; 0x14d6b
+ dw LoadTileLists
+ db $0A ; total number of tiles
+
+ db $02 ; number of tiles
+ dw vBGMap + $92
+ db $1B, $1A
+
+ db $03 ; number of tiles
+ dw vBGMap + $b1
+ db $17, $21, $1C
+
+ db $03 ; number of tiles
+ dw vBGMap + $d1
+ db $23, $18, $25
+
+ db $02 ; number of tiles
+ dw vBGMap + $f2
+ db $15, $14
+
+ db $00 ; terminator
diff --git a/data/queued_tiledata/red_field/spinner.asm b/data/queued_tiledata/red_field/spinner.asm
new file mode 100755
index 0000000..6876e28
--- /dev/null
+++ b/data/queued_tiledata/red_field/spinner.asm
@@ -0,0 +1,659 @@
+TileDataPointers_14eeb:
+ dw TileData_14f0b
+ dw TileData_14f10
+ dw TileData_14f15
+ dw TileData_14f1a
+ dw TileData_14f1f
+ dw TileData_14f24
+ dw TileData_14f29
+ dw TileData_14f2e
+ dw TileData_14f33
+ dw TileData_14f38
+ dw TileData_14f3d
+ dw TileData_14f42
+ dw TileData_14f47
+ dw TileData_14f4c
+ dw TileData_14f51
+ dw TileData_14f56
+
+TileData_14f0b: ; 0x14f0b
+ db $02
+ dw TileData_14f5b
+ dw TileData_14f65
+
+TileData_14f10: ; 0x14f10
+ db $02
+ dw TileData_14f6f
+ dw TileData_14f79
+
+TileData_14f15: ; 0x14f15
+ db $02
+ dw TileData_14f83
+ dw TileData_14f8d
+
+TileData_14f1a: ; 0x14f1a
+ db $02
+ dw TileData_14f97
+ dw TileData_14fa1
+
+TileData_14f1f: ; 0x14f1f
+ db $02
+ dw TileData_14fab
+ dw TileData_14fb5
+
+TileData_14f24: ; 0x14f24
+ db $02
+ dw TileData_14fbf
+ dw TileData_14fc9
+
+TileData_14f29: ; 0x14f29
+ db $02
+ dw TileData_14fd3
+ dw TileData_14fdd
+
+TileData_14f2e: ; 0x14f2e
+ db $02
+ dw TileData_14fe7
+ dw TileData_14ff1
+
+TileData_14f33: ; 0x14f33
+ db $02
+ dw TileData_14ffb
+ dw TileData_15005
+
+TileData_14f38: ; 0x14f38
+ db $02
+ dw TileData_1500f
+ dw TileData_15019
+
+TileData_14f3d: ; 0x14f3d
+ db $02
+ dw TileData_15023
+ dw TileData_1502d
+
+TileData_14f42: ; 0x14f42
+ db $02
+ dw TileData_15037
+ dw TileData_15041
+
+TileData_14f47: ; 0x14f47
+ db $02
+ dw TileData_1504b
+ dw TileData_15055
+
+TileData_14f4c: ; 0x14f4c
+ db $02
+ dw TileData_1505f
+ dw TileData_15069
+
+TileData_14f51: ; 0x14f51
+ db $02
+ dw TileData_15073
+ dw TileData_1507d
+
+TileData_14f56: ; 0x14f56
+ db $02
+ dw TileData_15087
+ dw TileData_15091
+
+TileData_14f5b: ; 0x14f5b
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldTopBaseGameBoyGfx + $cb0
+ db Bank(StageRedFieldTopBaseGameBoyGfx)
+ db $00 ; terminator
+
+TileData_14f65: ; 0x14f65
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldTopBaseGameBoyGfx + $cd0
+ db Bank(StageRedFieldTopBaseGameBoyGfx)
+ db $00 ; terminator
+
+TileData_14f6f: ; 0x14f6f
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AE0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14f79: ; 0x14f79
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14f83: ; 0x14f83
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14f8d: ; 0x14f8d
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14f97: ; 0x14f97
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fa1: ; 0x14fa1
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fab: ; 0x14fab
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BA0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fb5: ; 0x14fb5
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BC0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fbf: ; 0x14fbf
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BE0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fc9: ; 0x14fc9
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fd3: ; 0x14fd3
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fdd: ; 0x14fdd
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14fe7: ; 0x14fe7
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14ff1: ; 0x14ff1
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_14ffb: ; 0x14ffb
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CA0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15005: ; 0x15005
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CC0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1500f: ; 0x1500f
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CE0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15019: ; 0x15019
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15023: ; 0x15023
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1502d: ; 0x1502d
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15037: ; 0x15037
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15041: ; 0x15041
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1504b: ; 0x1504b
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DA0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15055: ; 0x15055
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DC0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1505f: ; 0x1505f
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DE0
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15069: ; 0x15069
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E00
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15073: ; 0x15073
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E20
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_1507d: ; 0x1507d
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E40
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15087: ; 0x15087
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $75
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E60
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileData_15091: ; 0x15091
+ dw Func_11d2
+ db $20, $02
+ dw vTilesBG tile $77
+ dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E80
+ db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
+ db $00 ; terminator
+
+TileDataPointers_1509b:
+ dw TileData_150bb
+ dw TileData_150be
+ dw TileData_150c1
+ dw TileData_150c4
+ dw TileData_150c7
+ dw TileData_150ca
+ dw TileData_150cd
+ dw TileData_150d0
+ dw TileData_150d3
+ dw TileData_150d6
+ dw TileData_150d9
+ dw TileData_150dc
+ dw TileData_150df
+ dw TileData_150e2
+ dw TileData_150e5
+ dw TileData_150e8
+
+TileData_150bb: ; 0x150bb
+ db $01
+ dw TileData_150eb
+
+TileData_150be: ; 0x150be
+ db $01
+ dw TileData_150f9
+
+TileData_150c1: ; 0x150c1
+ db $01
+ dw TileData_15107
+
+TileData_150c4: ; 0x150c4
+ db $01
+ dw TileData_15115
+
+TileData_150c7: ; 0x150c7
+ db $01
+ dw TileData_15123
+
+TileData_150ca: ; 0x150ca
+ db $01
+ dw TileData_15131
+
+TileData_150cd: ; 0x150cd
+ db $01
+ dw TileData_1513f
+
+TileData_150d0: ; 0x150d0
+ db $01
+ dw TileData_1514d
+
+TileData_150d3: ; 0x150d3
+ db $01
+ dw TileData_1515b
+
+TileData_150d6: ; 0x150d6
+ db $01
+ dw TileData_15169
+
+TileData_150d9: ; 0x150d9
+ db $01
+ dw TileData_15177
+
+TileData_150dc: ; 0x150dc
+ db $01
+ dw TileData_15185
+
+TileData_150df: ; 0x150df
+ db $01
+ dw TileData_15193
+
+TileData_150e2: ; 0x150e2
+ db $01
+ dw TileData_151a1
+
+TileData_150e5: ; 0x150e5
+ db $01
+ dw TileData_151af
+
+TileData_150e8: ; 0x150e8
+ db $01
+ dw TileData_151bd
+
+TileData_150eb: ; 0x150eb
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $5E, $5F
+
+ db $00 ; terminator
+
+TileData_150f9: ; 0x150f9
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $60, $61
+
+ db $00 ; terminator
+
+TileData_15107: ; 0x15107
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $62, $63
+
+ db $00 ; terminator
+
+TileData_15115: ; 0x15115
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $64, $65
+
+ db $00 ; terminator
+
+TileData_15123: ; 0x15123
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $66, $67
+
+ db $00 ; terminator
+
+TileData_15131: ; 0x15131
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $68, $69
+
+ db $00 ; terminator
+
+TileData_1513f: ; 0x1513f
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6A, $6B
+
+ db $00 ; terminator
+
+TileData_1514d: ; 0x1514d
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6C, $6D
+
+ db $00 ; terminator
+
+TileData_1515b: ; 0x1515b
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $5C, $5D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_15169: ; 0x15169
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $70, $71
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_15177: ; 0x15177
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $72, $73
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_15185: ; 0x15185
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $74, $75
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_15193: ; 0x15193
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $76, $77
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_151a1: ; 0x151a1
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $78, $79
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_151af: ; 0x151af
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $7A, $7B
+
+ db $02 ; number of tiles
+ dw $992E
+ db $6E, $6F
+
+ db $00 ; terminator
+
+TileData_151bd: ; 0x151bd
+ dw LoadTileLists
+ db $04 ; total number of tiles
+
+ db $02 ; number of tiles
+ dw $990E
+ db $7C, $7D
+
+ db $02 ; number of tiles
+ dw $992E
+ db $7E, $7F
+
+ db $00 ; terminator
diff --git a/engine/pinball_game/load_stage_data/load_blue_field.asm b/engine/pinball_game/load_stage_data/load_blue_field.asm
index 4dcd2df..7d5c888 100644
--- a/engine/pinball_game/load_stage_data/load_blue_field.asm
+++ b/engine/pinball_game/load_stage_data/load_blue_field.asm
@@ -86,9 +86,9 @@ Func_1c235: ; 0x1c235
.asm_1c249
xor a
.asm_1c24a
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wLeftMapMoveCounter]
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [hGameBoyColorFlag]
and a
jr z, .asm_1c267
@@ -106,7 +106,7 @@ Func_1c235: ; 0x1c235
.asm_1c267
ld a, $8
.asm_1c269
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [wRightMapMoveDiglettFrame]
and a
jr z, .asm_1c295
@@ -134,10 +134,10 @@ Func_1c235: ; 0x1c235
.asm_1c295
ld a, $2
.asm_1c297
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wRightMapMoveCounter]
add $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [hGameBoyColorFlag]
and a
jr z, .asm_1c2b7
@@ -155,15 +155,15 @@ Func_1c235: ; 0x1c235
.asm_1c2b7
ld a, $9
.asm_1c2b9
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ret
.asm_1c2bd
ld a, $6
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wRightMapMoveCounter]
add $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ret
Func_1c2cb: ; 0x1c2cb
diff --git a/engine/pinball_game/load_stage_data/load_red_field.asm b/engine/pinball_game/load_stage_data/load_red_field.asm
index 1464b82..1e40057 100644
--- a/engine/pinball_game/load_stage_data/load_red_field.asm
+++ b/engine/pinball_game/load_stage_data/load_red_field.asm
@@ -120,9 +120,9 @@ Func_140f9: ; 0x140f9
ld [wStageCollisionMap + $103], a
ld a, $2
.asm_1410c
- call Func_149d9
+ call LoadDiglettGraphics
ld a, [wLeftMapMoveCounter]
- call Func_149f5
+ call LoadDiglettNumberGraphics
ld a, [wd4f1]
and a
jr z, .asm_14127
@@ -133,10 +133,10 @@ Func_140f9: ; 0x140f9
ld a, $2
.asm_14127
add $3
- call Func_149d9
+ call LoadDiglettGraphics
ld a, [wRightMapMoveCounter]
add $4
- call Func_149f5
+ call LoadDiglettNumberGraphics
ret
Func_14135: ; 0x14135
diff --git a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm
index 512e81e..7b79312 100644
--- a/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm
+++ b/engine/pinball_game/object_collision/blue_stage_resolve_collision.asm
@@ -16,7 +16,7 @@ ResolveBlueFieldTopGameObjectCollisions: ; 0x1c715
call Func_1f18a
callba Func_146a9
call Func_1f27b
- call Func_1df15
+ call UpdateMapMoveCounters_BlueFieldTop
callba HandleExtraBall
ld a, $0
callba Func_10000
@@ -41,7 +41,7 @@ ResolveBlueFieldBottomGameObjectCollisions: ; 0x1c769
callba Func_14733
callba Func_146a2
call Func_1f261
- call Func_1de93
+ call UpdateMapMoveCounters_BlueFieldBottom
callba HandleExtraBall
ld a, $0
callba Func_10000
@@ -524,665 +524,7 @@ UpdateSpinnerChargeGraphics_BlueField: ; 0x1cb43
call Func_10aa
ret
-TileDataPointers_1cb60:
- dw TileData_1cb80
- dw TileData_1cb85
- dw TileData_1cb8a
- dw TileData_1cb8f
- dw TileData_1cb94
- dw TileData_1cb99
- dw TileData_1cb9e
- dw TileData_1cba3
- dw TileData_1cba8
- dw TileData_1cbad
- dw TileData_1cbb2
- dw TileData_1cbb7
- dw TileData_1cbbc
- dw TileData_1cbc1
- dw TileData_1cbc6
- dw TileData_1cbcb
-
-TileData_1cb80: ; 0x1cb80
- db $02
- dw TileData_1cbd0
- dw TileData_1cbda
-
-TileData_1cb85: ; 0x1cb85
- db $02
- dw TileData_1cbe4
- dw TileData_1cbee
-
-TileData_1cb8a: ; 0x1cb8a
- db $02
- dw TileData_1cbf8
- dw TileData_1cc02
-
-TileData_1cb8f: ; 0x1cb8f
- db $02
- dw TileData_1cc0c
- dw TileData_1cc16
-
-TileData_1cb94: ; 0x1cb94
- db $02
- dw TileData_1cc20
- dw TileData_1cc2a
-
-TileData_1cb99: ; 0x1cb99
- db $02
- dw TileData_1cc34
- dw TileData_1cc3e
-
-TileData_1cb9e: ; 0x1cb9e
- db $02
- dw TileData_1cc48
- dw TileData_1cc52
-
-TileData_1cba3: ; 0x1cba3
- db $02
- dw TileData_1cc5c
- dw TileData_1cc66
-
-TileData_1cba8: ; 0x1cba8
- db $02
- dw TileData_1cc70
- dw TileData_1cc7a
-
-TileData_1cbad: ; 0x1cbad
- db $02
- dw TileData_1cc84
- dw TileData_1cc8e
-
-TileData_1cbb2: ; 0x1cbb2
- db $02
- dw TileData_1cc98
- dw TileData_1cca2
-
-TileData_1cbb7: ; 0x1cbb7
- db $02
- dw TileData_1ccac
- dw TileData_1ccb6
-
-TileData_1cbbc: ; 0x1cbbc
- db $02
- dw TileData_1ccc0
- dw TileData_1ccca
-
-TileData_1cbc1: ; 0x1cbc1
- db $02
- dw TileData_1ccd4
- dw TileData_1ccde
-
-TileData_1cbc6: ; 0x1cbc6
- db $02
- dw TileData_1cce8
- dw TileData_1ccf2
-
-TileData_1cbcb: ; 0x1cbcb
- db $02
- dw TileData_1ccfc
- dw TileData_1cd06
-
-TileData_1cbd0: ; 0xcbd0
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageBlueFieldTopBaseGameBoyGfx + $c20
- db Bank(StageBlueFieldTopBaseGameBoyGfx)
- db $00 ; terminator
-
-TileData_1cbda: ; 0xcbda
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageBlueFieldTopBaseGameBoyGfx + $c40
- db Bank(StageBlueFieldTopBaseGameBoyGfx)
- db $00 ; terminator
-
-TileData_1cbe4: ; 0xcbe4
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1800
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cbee: ; 0xcbee
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1820
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cbf8: ; 0xcbf8
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1840
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc02: ; 0xcc02
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1860
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc0c: ; 0xcc0c
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1880
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc16: ; 0xcc16
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc20: ; 0xcc20
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc2a: ; 0xcc2a
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $18E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc34: ; 0xcc34
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1900
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc3e: ; 0xcc3e
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1920
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc48: ; 0xcc48
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1940
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc52: ; 0xcc52
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1960
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc5c: ; 0xcc5c
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1980
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc66: ; 0xcc66
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc70: ; 0xcc70
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc7a: ; 0xcc7a
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $19E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc84: ; 0xcc84
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc8e: ; 0xcc8e
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cc98: ; 0xcc98
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cca2: ; 0xcca2
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccac: ; 0xccac
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1A80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccb6: ; 0xccb6
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccc0: ; 0xccc0
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccca: ; 0xccca
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1AE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccd4: ; 0xccd4
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccde: ; 0xccde
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cce8: ; 0xcce8
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccf2: ; 0xccf2
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1ccfc: ; 0xccfc
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1B80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1cd06: ; 0xcd06
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $6E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1BA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileDataPointers_1cd10:
- dw TileData_1cd30
- dw TileData_1cd33
- dw TileData_1cd36
- dw TileData_1cd39
- dw TileData_1cd3c
- dw TileData_1cd3f
- dw TileData_1cd42
- dw TileData_1cd45
- dw TileData_1cd48
- dw TileData_1cd4b
- dw TileData_1cd4e
- dw TileData_1cd51
- dw TileData_1cd54
- dw TileData_1cd57
- dw TileData_1cd5a
- dw TileData_1cd5d
-
-TileData_1cd30: ; 0x1cd30
- db $01
- dw TileData_1cd60
-
-TileData_1cd33: ; 0x1cd33
- db $01
- dw TileData_1cd6e
-
-TileData_1cd36: ; 0x1cd36
- db $01
- dw TileData_1cd7c
-
-TileData_1cd39: ; 0x1cd39
- db $01
- dw TileData_1cd8a
-
-TileData_1cd3c: ; 0x1cd3c
- db $01
- dw TileData_1cd98
-
-TileData_1cd3f: ; 0x1cd3f
- db $01
- dw TileData_1cda6
-
-TileData_1cd42: ; 0x1cd42
- db $01
- dw TileData_1cdb4
-
-TileData_1cd45: ; 0x1cd45
- db $01
- dw TileData_1cdc2
-
-TileData_1cd48: ; 0x1cd48
- db $01
- dw TileData_1cdd0
-
-TileData_1cd4b: ; 0x1cd4b
- db $01
- dw TileData_1cdde
-
-TileData_1cd4e: ; 0x1cd4e
- db $01
- dw TileData_1cdec
-
-TileData_1cd51: ; 0x1cd51
- db $01
- dw TileData_1cdfa
-
-TileData_1cd54: ; 0x1cd54
- db $01
- dw TileData_1ce08
-
-TileData_1cd57: ; 0x1cd57
- db $01
- dw TileData_1ce16
-
-TileData_1cd5a: ; 0x1cd5a
- db $01
- dw TileData_1ce24
-
-TileData_1cd5d: ; 0x1cd5d
- db $01
- dw TileData_1ce32
-
-TileData_1cd60: ; 0x1cd60
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $4A, $4B
-
- db $00 ; terminator
-
-TileData_1cd6e: ; 0x1cd6e
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $4C, $4D
-
- db $00 ; terminator
-
-TileData_1cd7c: ; 0x1cd7c
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $4E, $4F
-
- db $00 ; terminator
-
-TileData_1cd8a: ; 0x1cd8a
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $50, $51
-
- db $00 ; terminator
-
-TileData_1cd98: ; 0x1cd98
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $52, $53
-
- db $00 ; terminator
-
-TileData_1cda6: ; 0x1cda6
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $54, $55
-
- db $00 ; terminator
-
-TileData_1cdb4: ; 0x1cdb4
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $56, $57
-
- db $00 ; terminator
-
-TileData_1cdc2: ; 0x1cdc2
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1cdd0: ; 0x1cdd0
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $48, $49
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1cdde: ; 0x1cdde
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $5C, $5D
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1cdec: ; 0x1cdec
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $5E, $5F
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1cdfa: ; 0x1cdfa
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $60, $61
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1ce08: ; 0x1ce08
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $62, $63
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1ce16: ; 0x1ce16
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $64, $65
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1ce24: ; 0x1ce24
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $66, $67
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $58, $59
-
- db $00 ; terminator
-
-TileData_1ce32: ; 0x1ce32
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $143
- db $68, $69
-
- db $02 ; number of tiles
- dw vBGMap + $163
- db $6A, $6B
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/spinner.asm"
ResolveBlueStageBumperCollision: ; 1ce40
ld a, [wWhichBumper]
@@ -1263,225 +605,7 @@ ApplyBumperCollision_BlueField: ; 0x1ce94
BumperCollisionAngleDeltas_BlueField:
db -8, 8
-TileDataPointers_1ceca:
- dw TileData_1ced2
- dw TileData_1ced5
- dw TileData_1ced8
- dw TileData_1cedb
-
-TileData_1ced2: ; 0x1ced2
- db $01
- dw TileData_1cede
-
-TileData_1ced5: ; 0x1ced5
- db $01
- dw TileData_1cef5
-
-TileData_1ced8: ; 0x1ced8
- db $01
- dw TileData_1cf0c
-
-TileData_1cedb: ; 0x1cedb
- db $01
- dw TileData_1cf23
-
-TileData_1cede: ; 0x1cede
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $61
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $62, $63
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $64, $65
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $66, $67
-
- db $00 ; number of tiles
-
-TileData_1cef5: ; 0x1cef5
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $68
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $69, $6A
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $6B, $6C
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $6D, $6E
-
- db $00 ; number of tiles
-
-TileData_1cf0c: ; 0x1cf0c
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $6F
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $70, $71
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $72, $73
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $74, $75
-
- db $00 ; number of tiles
-
-TileData_1cf23: ; 0x1cf23
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $76
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $77, $78
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $79, $7A
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $7B, $7C
-
- db $00 ; number of tiles
-
-TileDataPointers_1cf3a:
- dw TileData_1cf42
- dw TileData_1cf45
- dw TileData_1cf48
- dw TileData_1cf4b
-
-TileData_1cf42: ; 0x1cf42
- db $01
- dw TileData_1cf4e
-
-TileData_1cf45: ; 0x1cf45
- db $01
- dw TileData_1cf65
-
-TileData_1cf48: ; 0x1cf48
- db $01
- dw TileData_1cf7c
-
-TileData_1cf4b: ; 0x1cf4b
- db $01
- dw TileData_1cf93
-
-TileData_1cf4e: ; 0x1cf4e
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $39
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $3A, $3B
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $3C, $3D
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $3E, $3F
-
- db $00 ; terminator
-
-TileData_1cf65: ; 0x1cf65
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $40
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $41, $42
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $43, $44
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $45, $46
-
- db $00 ; terminator
-
-TileData_1cf7c: ; 0x1cf7c
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $39
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $3B, $3A
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $3D, $3C
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $3F, $3E
-
- db $00 ; terminator
-
-TileData_1cf93: ; 0x1cf93
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $40
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $42, $41
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $44, $43
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $46, $45
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/bumpers.asm"
ResolveBlueStageBoardTriggerCollision: ; 0x1cfaa
ld a, [wWhichBoardTrigger]
@@ -2376,34 +1500,36 @@ INCLUDE "data/queued_tiledata/blue_field/bonus_multiplier_railings.asm"
ResolvePsyduckPoliwagCollision: ; 0x1dbd2
ld a, [wWhichPsyduckPoliwag]
and a
- jp z, Func_1dc8e
+ jp z, UpdatePsyduckAndPoliwag
cp $2
- jr z, .asm_1dc33
+ jr z, .hitPsyduck
+ ; hit poliwag
xor a
ld [wWhichPsyduckPoliwag], a
ld hl, wLeftMapMoveCounter
ld a, [hl]
cp $3
- jp z, Func_1dc8e
+ jp z, UpdatePsyduckAndPoliwag
inc a
ld [hl], a
- ld hl, wd4f7
- ld a, $e0
+ ; Set 8 seconds until the counter will decrease by 1
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wCurrentStage]
bit 0, a
- jr z, .asm_1dc06
+ jr z, .skipCollisionMapChange
ld a, $54
ld [wStageCollisionMap + $e3], a
ld a, $55
ld [wStageCollisionMap + $103], a
-.asm_1dc06
+.skipCollisionMapChange
ld a, $1
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wLeftMapMoveCounter]
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [wLeftMapMoveCounter]
cp $3
ld a, $7
@@ -2411,24 +1537,25 @@ ResolvePsyduckPoliwagCollision: ; 0x1dbd2
ld a, $2
ld [wd646], a
ld a, $78
- ld [wLeftMapMoveDiglettAnimationCounter], a
+ ld [wLeftMapMovePoliwagAnimationCounter], a
ld a, $14
- ld [wLeftMapMoveDiglettFrame], a
+ ld [wLeftMapMovePoliwagFrame], a
jr .asm_1dc8a
-.asm_1dc33
+.hitPsyduck
xor a
ld [wWhichPsyduckPoliwag], a
ld hl, wRightMapMoveCounter
ld a, [hl]
cp $3
- jp z, Func_1dc8e
+ jp z, UpdatePsyduckAndPoliwag
inc a
ld [hl], a
- ld hl, wd4f9
- ld a, $e0
+ ; Set 8 seconds until the counter will decrease by 1
+ ld hl, wRightMapMoveCounterFramesUntilDecrease
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wCurrentStage]
bit 0, a
@@ -2439,7 +1566,7 @@ ResolvePsyduckPoliwagCollision: ; 0x1dbd2
ld [wStageCollisionMap + $110], a
.asm_1dc5c
ld a, $3
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wRightMapMoveCounter]
cp $3
ld a, $8
@@ -2447,41 +1574,41 @@ ResolvePsyduckPoliwagCollision: ; 0x1dbd2
ld a, [wRightMapMoveCounter]
cp $3
ccf
- call z, Func_1ddf4
+ call z, HitPsyduck3Times
ld a, $2
ld [wd645], a
ld a, $28
- ld [wRightMapMoveDiglettAnimationCounter], a
+ ld [wRightMapMovePsyduckAnimationCounter], a
ld a, $78
- ld [wRightMapMoveDiglettFrame], a
+ ld [wRightMapMovePsyduckFrame], a
.asm_1dc8a
- call Func_1de22
+ call AddScorePsyduckOrPoliwag
ret
-Func_1dc8e: ; 0x1dc8e
- call Func_1dc95
- call Func_1dd2e
+UpdatePsyduckAndPoliwag: ; 0x1dc8e
+ call UpdatePoliwag
+ call UpdatePsyduck
ret
-Func_1dc95: ; 0x1dc95
+UpdatePoliwag: ; 0x1dc95
ld a, [wd646]
cp $0
ret z
- ld a, [wLeftMapMoveDiglettAnimationCounter]
+ ld a, [wLeftMapMovePoliwagAnimationCounter]
and a
jr z, .asm_1dceb
dec a
- ld [wLeftMapMoveDiglettAnimationCounter], a
+ ld [wLeftMapMovePoliwagAnimationCounter], a
ld a, [wd644]
and a
ret nz
- ld a, [wLeftMapMoveDiglettFrame]
+ ld a, [wLeftMapMovePoliwagFrame]
cp $1
jr z, .asm_1dcb9
cp $0
ret z
dec a
- ld [wLeftMapMoveDiglettFrame], a
+ ld [wLeftMapMovePoliwagFrame], a
ret
.asm_1dcb9
@@ -2507,11 +1634,11 @@ Func_1dc95: ; 0x1dc95
.asm_1dcd7
ld a, $8
.asm_1dcd9
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [wLeftMapMoveCounter]
cp $3
ccf
- call z, Func_1ddc7
+ call z, HitPoliwag3Times
ld a, $1
ld [wd646], a
ret
@@ -2520,11 +1647,11 @@ Func_1dc95: ; 0x1dc95
ld a, [wd646]
cp $1
ret nz
- ld a, [wLeftMapMoveDiglettAnimationCounter]
+ ld a, [wLeftMapMovePoliwagAnimationCounter]
and a
ret nz
ld a, $0
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wCurrentStage]
bit 0, a
jr z, .asm_1dd0c
@@ -2541,9 +1668,9 @@ Func_1dc95: ; 0x1dc95
ld a, [wLeftMapMoveCounter]
sub $3
ld [wLeftMapMoveCounter], a
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, $0
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, $0
ld [wd646], a
ret
@@ -2551,7 +1678,7 @@ Func_1dc95: ; 0x1dc95
; XXX
ret
-Func_1dd2e: ; 0x1dd2e
+UpdatePsyduck: ; 0x1dd2e
ld a, [wd645]
cp $0
ret z
@@ -2559,16 +1686,16 @@ Func_1dd2e: ; 0x1dd2e
jr z, .asm_1dd53
cp $3
jr z, .asm_1dd69
- ld a, [wRightMapMoveDiglettAnimationCounter]
+ ld a, [wRightMapMovePsyduckAnimationCounter]
cp $0
jr z, .asm_1dd48
dec a
- ld [wRightMapMoveDiglettAnimationCounter], a
+ ld [wRightMapMovePsyduckAnimationCounter], a
ret
.asm_1dd48
ld a, $2
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, $1
ld [wd645], a
ret
@@ -2576,20 +1703,20 @@ Func_1dd2e: ; 0x1dd2e
.asm_1dd53
ld a, [wRightMapMoveCounter]
add $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [wRightMapMoveCounter]
add $3
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, $3
ld [wd645], a
ret
.asm_1dd69
- ld a, [wRightMapMoveDiglettFrame]
+ ld a, [wRightMapMovePsyduckFrame]
and a
jr z, .asm_1dd74
dec a
- ld [wRightMapMoveDiglettFrame], a
+ ld [wRightMapMovePsyduckFrame], a
ret
.asm_1dd74
@@ -2610,9 +1737,9 @@ Func_1dd2e: ; 0x1dd2e
.asm_1dd89
ld a, $9
.asm_1dd8b
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, $2
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, [wCurrentStage]
bit 0, a
jr z, .asm_1dda9
@@ -2630,17 +1757,17 @@ Func_1dd2e: ; 0x1dd2e
sub $3
ld [wRightMapMoveCounter], a
ld a, $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, $2
- call Func_1de4b
+ call LoadPsyduckOrPoliwagGraphics
ld a, $0
ld [wd645], a
ret
-Func_1ddc7: ; 0x1ddc7
+HitPoliwag3Times: ; 0x1ddc7
ld hl, wNumPoliwagTriples
call Increment_Max100
- ld hl, wNumDugtrioTriples
+ ld hl, wNumDugtrioTriples ; developer oversight
call Increment_Max100
jr nc, .asm_1dde4
ld c, $a
@@ -2653,10 +1780,10 @@ Func_1ddc7: ; 0x1ddc7
scf
ret
-Func_1ddf4: ; 0x1ddf4
+HitPsyduck3Times: ; 0x1ddf4
ld hl, wNumPsyduckTriples
call Increment_Max100
- ld hl, wNumDugtrioTriples
+ ld hl, wNumDugtrioTriples ; developer oversight
call Increment_Max100
jr nc, .asm_1de11
ld c, $a
@@ -2669,7 +1796,7 @@ Func_1ddf4: ; 0x1ddf4
scf
ret
-Func_1de22: ; 0x1de22
+AddScorePsyduckOrPoliwag: ; 0x1de22
ld a, [wCurrentStage]
bit 0, a
ret z
@@ -2685,7 +1812,7 @@ Func_1de22: ; 0x1de22
call PlaySoundEffect
ret
-Func_1de4b: ; 0x1de4b
+LoadPsyduckOrPoliwagGraphics: ; 0x1de4b
ld b, a
ld a, [wCurrentStage]
bit 0, a
@@ -2697,9 +1824,9 @@ Func_1de4b: ; 0x1de4b
ld hl, TileDataPointers_1df66
ld a, [hGameBoyColorFlag]
and a
- jr z, .asm_1de63
+ jr z, .gameboyColor
ld hl, TileDataPointers_1e00f
-.asm_1de63
+.gameboyColor
add hl, bc
ld a, [hli]
ld h, [hl]
@@ -2710,7 +1837,8 @@ Func_1de4b: ; 0x1de4b
call Func_10aa
ret
-Func_1de6f: ; 0x1de6f
+LoadPsyduckOrPoliwagNumberGraphics: ; 0x1de6f
+; This is for the map move numbers that appears next to poliwag and psyduck.
ld b, a
ld a, [wCurrentStage]
bit 0, a
@@ -2735,31 +1863,35 @@ Func_1de6f: ; 0x1de6f
call Func_10aa
ret
-Func_1de93: ; 0x1de93
- ld hl, wd4f7
+UpdateMapMoveCounters_BlueFieldBottom: ; 0x1de93
+; Decrements the two counters that cause the map move counters to decrease by one every 8 seconds.
+; Also updates the counter graphics if anything changes.
+; The map move counters appear next to Poliwag and Psyduck.
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1ded2
+ jr nz, .checkRightMapMoveCounter
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1ded2
- ld a, $e0
+ jr nz, .checkRightMapMoveCounter
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wLeftMapMoveCounter]
and a
- jr z, .asm_1ded2
+ jr z, .checkRightMapMoveCounter
cp $3
- jr z, .asm_1ded2
+ jr z, .checkRightMapMoveCounter
dec a
ld [wLeftMapMoveCounter], a
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [hGameBoyColorFlag]
and a
- jr z, .asm_1decd
+ jr z, .gameboy
ld a, [wLeftMapMoveCounter]
cp $0
jr z, .asm_1deca
@@ -2771,36 +1903,37 @@ Func_1de93: ; 0x1de93
xor a
jr .asm_1decf
-.asm_1decd
+.gameboy
ld a, $8
.asm_1decf
- call Func_1de6f
-.asm_1ded2
- ld hl, wd4f9
+ call LoadPsyduckOrPoliwagNumberGraphics
+.checkRightMapMoveCounter
+ ld hl, wRightMapMoveCounterFramesUntilDecrease
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1df14
+ jr nz, .done
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1df14
- ld a, $e0
+ jr nz, .done
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wRightMapMoveCounter]
and a
- jr z, .asm_1df14
+ jr z, .done
cp $3
- jr z, .asm_1df14
+ jr z, .done
dec a
ld [wRightMapMoveCounter], a
add $4
- call Func_1de6f
+ call LoadPsyduckOrPoliwagNumberGraphics
ld a, [hGameBoyColorFlag]
and a
- jr z, .asm_1df0f
+ jr z, .gameboy_2
ld a, [wRightMapMoveCounter]
cp $0
jr z, .asm_1df0b
@@ -2812,946 +1945,70 @@ Func_1de93: ; 0x1de93
ld a, $4
jr .asm_1df11
-.asm_1df0f
+.gameboy_2
ld a, $9
.asm_1df11
- call Func_1de6f
-.asm_1df14
+ call LoadPsyduckOrPoliwagNumberGraphics
+.done
ret
-Func_1df15: ; 0x1df15
+UpdateMapMoveCounters_BlueFieldTop: ; 0x1df15
+; This is identical logic to UpdateMapMoveCounters_BlueFieldTop, but it doesn't load
+; any graphics, since Poliwag and Psyduck aren't in the Top half of the Blue Field.
ld b, $0
- ld hl, wd4f8
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease + 1
ld a, [hld]
or [hl]
- jr z, .asm_1df3e
+ jr z, .checkRightMapMoveCounter
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1df3e
+ jr nz, .checkRightMapMoveCounter
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1df3e
- ld a, $e0
+ jr nz, .checkRightMapMoveCounter
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wLeftMapMoveCounter]
and a
- jr z, .asm_1df3e
+ jr z, .checkRightMapMoveCounter
cp $3
- jr z, .asm_1df3e
+ jr z, .checkRightMapMoveCounter
dec a
ld [wLeftMapMoveCounter], a
-.asm_1df3e
- ld hl, wd4fa
+.checkRightMapMoveCounter
+ ld hl, wRightMapMoveCounterFramesUntilDecrease + 1
ld a, [hld]
or [hl]
- jr z, .asm_1df65
+ jr z, .done
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1df65
+ jr nz, .done
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1df65
- ld a, $e0
+ jr nz, .done
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wRightMapMoveCounter]
and a
- jr z, .asm_1df65
+ jr z, .done
cp $3
- jr z, .asm_1df65
+ jr z, .done
dec a
ld [wRightMapMoveCounter], a
-.asm_1df65
+.done
ret
-TileDataPointers_1df66:
- dw TileData_1df74
- dw TileData_1df77
- dw TileData_1df7a
- dw TileData_1df7f
- dw TileData_1df84
- dw TileData_1df89
- dw TileData_1df8e
-
-TileData_1df74: ; 0x1df74
- db $01
- dw TileData_1df93
-
-TileData_1df77: ; 0x1df77
- db $01
- dw TileData_1df9f
-
-TileData_1df7a: ; 0x1df7a
- db $02
- dw TileData_1dfab
- dw TileData_1dfb5
-
-TileData_1df7f: ; 0x1df7f
- db $02
- dw TileData_1dfbf
- dw TileData_1dfc9
-
-TileData_1df84: ; 0x1df84
- db $02
- dw TileData_1dfd3
- dw TileData_1dfdd
-
-TileData_1df89: ; 0x1df89
- db $02
- dw TileData_1dfe7
- dw TileData_1dff1
-
-TileData_1df8e: ; 0x1df8e
- db $02
- dw TileData_1dffb
- dw TileData_1e005
-
-TileData_1df93: ; 0x1df93
- dw LoadTileLists
- db $02 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $A3
- db $4A
-
- db $01 ; number of tiles
- dw vBGMap + $C3
- db $4B
-
- db $00 ; terminator
-
-TileData_1df9f: ; 0x1df9f
- dw LoadTileLists
- db $02 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $A3
- db $4C
-
- db $01 ; number of tiles
- dw vBGMap + $C3
- db $4D
-
- db $00 ; terminator
-
-TileData_1dfab: ; 0x1dfab
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageBlueFieldBottomBaseGameBoyGfx + $CE0
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1dfb5: ; 0x1dfb5
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageBlueFieldBottomBaseGameBoyGfx + $D10
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1dfbf: ; 0x1dfbf
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageBlueFieldBottomBaseGameBoyGfx + $D30
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1dfc9: ; 0x1dfc9
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageBlueFieldBottomBaseGameBoyGfx + $D60
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1dfd3: ; 0x1dfd3
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $20B0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1dfdd: ; 0x1dfdd
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $20E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1dfe7: ; 0x1dfe7
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2100
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1dff1: ; 0x1dff1
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2130
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1dffb: ; 0x1dffb
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $4E
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2150
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e005: ; 0x1e005
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $51
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2180
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileDataPointers_1e00f:
- dw TileData_1e01d
- dw TileData_1e020
- dw TileData_1e023
- dw TileData_1e026
- dw TileData_1e029
- dw TileData_1e02c
- dw TileData_1e02f
-
-TileData_1e01d: ; 0x1e01d
- db $01
- dw TileData_1e032
-
-TileData_1e020: ; 0x1e020
- db $01
- dw TileData_1e03e
-
-TileData_1e023: ; 0x1e023
- db $01
- dw TileData_1e04a
-
-TileData_1e026: ; 0x1e026
- db $01
- dw TileData_1e05c
-
-TileData_1e029: ; 0x1e029
- db $01
- dw TileData_1e06e
-
-TileData_1e02c: ; 0x1e02c
- db $01
- dw TileData_1e080
-
-TileData_1e02f: ; 0x1e02f
- db $01
- dw TileData_1e092
-
-TileData_1e032: ; 0x1e032
- dw LoadTileLists
- db $02 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $A3
- db $35
-
- db $01 ; number of tiles
- dw vBGMap + $C3
- db $36
-
- db $00 ; terminator
-
-TileData_1e03e: ; 0x1e03e
- dw LoadTileLists
- db $02 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $A3
- db $37
-
- db $01 ; number of tiles
- dw vBGMap + $C3
- db $38
-
- db $00 ; terminator
-
-TileData_1e04a: ; 0x1e04a
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $4F
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $50, $51
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $52, $53
-
- db $00 ; terminator
-
-TileData_1e05c: ; 0x1e05c
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $54
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $55, $56
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $57, $58
-
- db $00 ; terminator
-
-TileData_1e06e: ; 0x1e06e
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $59
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $5A, $5B
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $5C, $5D
-
- db $00 ; terminator
-
-TileData_1e080: ; 0x1e080
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $59
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $5A, $5E
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $5C, $5F
-
- db $00 ; terminator
-
-TileData_1e092: ; 0x1e092
- dw LoadTileLists
- db $05 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $90
- db $60
-
- db $02 ; number of tiles
- dw vBGMap + $AF
- db $61, $62
-
- db $02 ; number of tiles
- dw vBGMap + $CF
- db $63, $64
-
- db $00 ; terminator
-
-TileDataPointers_1e0a4:
- dw TileData_1e0b8
- dw TileData_1e0bf
- dw TileData_1e0c6
- dw TileData_1e0cd
- dw TileData_1e0d4
- dw TileData_1e0d9
- dw TileData_1e0de
- dw TileData_1e0e3
- dw TileData_1e0e8
- dw TileData_1e0ed
-
-TileData_1e0b8: ; 0x1e0b8
- db $03
- dw TileData_1e0f0
- dw TileData_1e0fa
- dw TileData_1e104
-
-TileData_1e0bf: ; 0x1e0bf
- db $03
- dw TileData_1e10e
- dw TileData_1e118
- dw TileData_1e122
-
-TileData_1e0c6: ; 0x1e0c6
- db $03
- dw TileData_1e12c
- dw TileData_1e136
- dw TileData_1e140
-
-TileData_1e0cd: ; 0x1e0cd
- db $03
- dw TileData_1e14a
- dw TileData_1e154
- dw TileData_1e15e
-
-TileData_1e0d4: ; 0x1e0d4
- db $02
- dw TileData_1e168
- dw TileData_1e172
-
-TileData_1e0d9: ; 0x1e0d9
- db $02
- dw TileData_1e17c
- dw TileData_1e186
-
-TileData_1e0de: ; 0x1e0de
- db $02
- dw TileData_1e190
- dw TileData_1e19a
-
-TileData_1e0e3: ; 0x1e0e3
- db $02
- dw TileData_1e1a4
- dw TileData_1e1ae
-
-TileData_1e0e8: ; 0x1e0e8
- db $02
- dw TileData_1e1b8
- dw TileData_1e1c2
-
-TileData_1e0ed: ; 0x1e0ed
- db $01
- dw TileData_1e1cc
-
-TileData_1e0f0: ; 0x1e0f0
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $41
- dw StageBlueFieldBottomBaseGameBoyGfx + $C10
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e0fa: ; 0x1e0fa
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageBlueFieldBottomBaseGameBoyGfx + $C40
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e104: ; 0x1e104
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageBlueFieldBottomBaseGameBoyGfx + $C70
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e10e: ; 0x1e10e
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $41
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1FC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e118: ; 0x1e118
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e122: ; 0x1e122
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e12c: ; 0x1e12c
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $41
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $1FF0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e136: ; 0x1e136
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e140: ; 0x1e140
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e14a: ; 0x1e14a
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $41
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2020
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e154: ; 0x1e154
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2050
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e15e: ; 0x1e15e
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2080
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e168: ; 0x1e168
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageBlueFieldBottomBaseGameBoyGfx + $D80
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e172: ; 0x1e172
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $5A
- dw StageBlueFieldBottomBaseGameBoyGfx + $DA0
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e17c: ; 0x1e17c
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e186: ; 0x1e186
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $5A
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21E0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e190: ; 0x1e190
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e19a: ; 0x1e19a
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $5A
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2210
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e1a4: ; 0x1e1a4
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $21C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e1ae: ; 0x1e1ae
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $5A
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $2240
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00
-
-TileData_1e1b8: ; 0x1e1b8
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $44
- dw StageBlueFieldBottomBaseGameBoyGfx + $C40
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e1c2: ; 0x1e1c2
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $47
- dw StageBlueFieldBottomBaseGameBoyGfx + $C70
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileData_1e1cc: ; 0x1e1cc
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $58
- dw StageBlueFieldBottomBaseGameBoyGfx + $D80
- db Bank(StageBlueFieldBottomBaseGameBoyGfx)
- db $00
-
-TileDataPointers_1e1d6:
- dw TileData_1e1f2
- dw TileData_1e1f5
- dw TileData_1e1f8
- dw TileData_1e1fb
- dw TileData_1e1fe
- dw TileData_1e201
- dw TileData_1e204
- dw TileData_1e207
- dw TileData_1e20a
- dw TileData_1e20d
- dw TileData_1e210
- dw TileData_1e213
- dw TileData_1e216
- dw TileData_1e219
-
-TileData_1e1f2: ; 0x1e1f2
- db $01
- dw TileData_1e21c
-
-TileData_1e1f5: ; 0x1e1f5
- db $01
- dw TileData_1e238
-
-TileData_1e1f8: ; 0x1e1f8
- db $01
- dw TileData_1e254
-
-TileData_1e1fb: ; 0x1e1fb
- db $01
- dw TileData_1e270
-
-TileData_1e1fe: ; 0x1e1fe
- db $01
- dw TileData_1e28c
-
-TileData_1e201: ; 0x1e201
- db $01
- dw TileData_1e2a2
-
-TileData_1e204: ; 0x1e204
- db $01
- dw TileData_1e2b8
-
-TileData_1e207: ; 0x1e207
- db $01
- dw TileData_1e2ce
-
-TileData_1e20a: ; 0x1e20a
- db $01
- dw TileData_1e2e4
-
-TileData_1e20d: ; 0x1e20d
- db $01
- dw TileData_1e2fa
-
-TileData_1e210: ; 0x1e210
- db $01
- dw TileData_1e310
-
-TileData_1e213: ; 0x1e213
- db $01
- dw TileData_1e326
-
-TileData_1e216: ; 0x1e216
- db $01
- dw TileData_1e336
-
-TileData_1e219: ; 0x1e219
- db $01
- dw TileData_1e346
-
-TileData_1e21c: ; 0x1e21c
- dw LoadTileLists
- db $0C ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $60
- db $36, $37, $38
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $39, $3A, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $4C, $4D, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $4F, $50, $51
-
- db $00 ; terminator
-
-TileData_1e238: ; 0x1e238
- dw LoadTileLists
- db $0C ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $60
- db $3C, $37, $38
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $3D, $3E, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $52, $53, $54
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $55, $56, $57
-
- db $00 ; terminator
-
-TileData_1e254: ; 0x1e254
- dw LoadTileLists
- db $0C ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $60
- db $40, $41, $38
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $42, $43, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $52, $53, $54
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $55, $56, $57
-
- db $00 ; terminator
-
-TileData_1e270: ; 0x1e270
- dw LoadTileLists
- db $0C ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $60
- db $36, $46, $47
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $48, $49, $4A
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $52, $53, $54
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $55, $56, $57
-
- db $00 ; terminator
-
-TileData_1e28c: ; 0x1e28c
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $65, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $67, $68
-
- db $03 ; number of tiles
- dw vBGMap + $D1
- db $69, $6A, $6B
-
- db $00 ; terminator
-
-TileData_1e2a2: ; 0x1e2a2
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $6C, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $6D, $6E, $68
-
- db $03 ; number of tiles
- dw vBGMap + $D1
- db $6F, $70, $6B
-
- db $00 ; terminator
-
-TileData_1e2b8: ; 0x1e2b8
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $6C, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $72, $68
-
- db $03 ; number of tiles
- dw vBGMap + $D1
- db $69, $73, $6B
-
- db $00 ; terminator
-
-TileData_1e2ce: ; 0x1e2ce
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $75, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $76, $77
-
- db $03 ; number of tiles
- dw vBGMap + $D1
- db $69, $78, $79
-
- db $00 ; terminator
-
-TileData_1e2e4: ; 0x1e2e4
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $3F, $3A, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $4C, $4D, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $4F, $50, $51
-
- db $00 ; terminator
-
-TileData_1e2fa: ; 0x1e2fa
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $44, $45, $3B
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $4C, $4D, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $4F, $50, $51
-
- db $00 ; terminator
-
-TileData_1e310: ; 0x1e310
- dw LoadTileLists
- db $09 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $80
- db $39, $4B, $4A
-
- db $03 ; number of tiles
- dw vBGMap + $A0
- db $4C, $4D, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $C0
- db $4F, $50, $51
-
- db $00 ; terminator
-
-TileData_1e326: ; 0x1e326
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $65, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $6D, $71, $68
-
- db $00 ; terminator
-
-TileData_1e336: ; 0x1e336
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $65, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $74, $68
-
- db $00 ; terminator
-
-TileData_1e346: ; 0x1e346
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $03 ; number of tiles
- dw vBGMap + $91
- db $4D, $65, $4E
-
- db $03 ; number of tiles
- dw vBGMap + $B1
- db $66, $67, $77
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/poliwag_psyduck.asm"
ResolveBlueStagePinballUpgradeTriggersCollision: ; 0x1e356
ld a, [wWhichPinballUpgradeTrigger]
@@ -6538,177 +4795,7 @@ Func_1f18a: ; 0x1f18a
.asm_1f1b4
ret
-TileDataPointers_1f1b5:
- dw TileData_1f1bd
- dw TileData_1f1c0
- dw TileData_1f1c3
- dw TileData_1f1c6
-
-TileData_1f1bd: ; 0x1f1bd
- db $01
- dw TileData_1f1c9
-
-TileData_1f1c0: ; 0x1f1c0
- db $01
- dw TileData_1f1d7
-
-TileData_1f1c3: ; 0x1f1c3
- db $01
- dw TileData_1f1e5
-
-TileData_1f1c6: ; 0x1f1c6
- db $01
- dw TileData_1f1f3
-
-TileData_1f1c9: ; 0x1f1c9
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $189
- db $70, $71
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $72, $73
-
- db $00 ; terminator
-
-TileData_1f1d7: ; 0x1f1d7
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $189
- db $74, $75
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $76, $77
-
- db $00 ; terminator
-
-TileData_1f1e5: ; 0x1f1e5
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $189
- db $78, $79
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $7A, $7B
-
- db $00 ; terminator
-
-TileData_1f1f3: ; 0x1f1f3
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $189
- db $7C, $7D
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $7E, $7F
-
- db $00 ; terminator
-
-TileDataPointers_1f201:
- dw TileData_1f209
- dw TileData_1f20c
- dw TileData_1f20f
- dw TileData_1f212
-
-TileData_1f209: ; 0x1f209
- db $01
- dw TileData_1f215
-
-TileData_1f20c: ; 0x1f20c
- db $01
- dw TileData_1f228
-
-TileData_1f20f: ; 0x1f20f
- db $01
- dw TileData_1f23b
-
-TileData_1f212: ; 0x1f212
- db $01
- dw TileData_1f24e
-
-TileData_1f215: ; 0x1f215
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $02 ; number of otiles
- dw vBGMap + $189
- db $6C, $6D
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $6E, $6F
-
- db $02
- dw vBGMap + $1c9
- db $70, $71
-
- db $00 ; terminator
-
-TileData_1f228: ; 0x1f228
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $02 ; number of otiles
- dw vBGMap + $189
- db $72, $80
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $73, $74
-
- db $02
- dw vBGMap + $1c9
- db $75, $80
-
- db $00 ; terminator
-
-TileData_1f23b: ; 0x1f23b
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $02 ; number of otiles
- dw vBGMap + $189
- db $76, $77
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $78, $79
-
- db $02
- dw vBGMap + $1c9
- db $7A, $7B
-
- db $00 ; terminator
-
-TileData_1f24e: ; 0x1f24e
- dw LoadTileLists
- db $06 ; total number of tiles
-
- db $02 ; number of otiles
- dw vBGMap + $189
- db $80, $7C
-
- db $02 ; number of tiles
- dw vBGMap + $1a9
- db $7D, $7E
-
- db $02
- dw vBGMap + $1c9
- db $80, $7F
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/blue_field/force_field.asm"
Func_1f261: ; 0x1f261
call Func_1f27b
diff --git a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm
index 1076c19..12da6fa 100644
--- a/engine/pinball_game/object_collision/red_stage_resolve_collision.asm
+++ b/engine/pinball_game/object_collision/red_stage_resolve_collision.asm
@@ -15,7 +15,7 @@ ResolveRedFieldTopGameObjectCollisions: ; 0x1460e
call Func_164e3
call Func_146a9
call Func_174ea
- call Func_148cf
+ call UpdateMapMoveCounters_RedFieldTop
callba HandleExtraBall
ld a, $0
callba Func_10000
@@ -25,7 +25,7 @@ ResolveRedFieldBottomGameObjectCollisions: ; 0x14652
call ResolveWildMonCollision_RedField
call ResolveRedStageBumperCollision
call ResolveDiglettCollision
- call Func_14880
+ call UpdateMapMoveCounters_RedFieldBottom
call UpdateRedStageSpinner
call Func_154a9
call HandleRedStageBallTypeUpgradeCounter
@@ -238,11 +238,11 @@ ResolveDiglettCollision: ; 0x147aa
inc a
ld [hld], a
ld [hl], $50
- ld hl, wd4f7
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease
add hl, bc
- ld a, $e0
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, c
and a
@@ -252,15 +252,15 @@ ResolveDiglettCollision: ; 0x147aa
ld a, $6b
ld [wStageCollisionMap + $110], a
ld a, $5
- call Func_149d9
+ call LoadDiglettGraphics
ld a, [wRightMapMoveCounter]
add $4
- call Func_149f5
+ call LoadDiglettNumberGraphics
ld a, $8
callba Func_10000
ld a, [wRightMapMoveCounter]
cp $3
- call z, Func_14920
+ call z, HitRightDiglett3Times
jr .asm_14830
.asm_14807
@@ -269,16 +269,16 @@ ResolveDiglettCollision: ; 0x147aa
ld a, $67
ld [wStageCollisionMap + $103], a
ld a, $2
- call Func_149d9
+ call LoadDiglettGraphics
ld a, [wLeftMapMoveCounter]
- call Func_149f5
+ call LoadDiglettNumberGraphics
ld a, $7
callba Func_10000
ld a, [wLeftMapMoveCounter]
cp $3
- call z, Func_14947
+ call z, HitLeftDiglett3Times
.asm_14830
- call Func_1496d
+ call AddScoreForHittingDiglett
ret
.asm_14834
@@ -292,7 +292,7 @@ ResolveDiglettCollision: ; 0x147aa
sub $3
jr nz, .asm_1484d
ld [wLeftMapMoveCounter], a
- call Func_149f5
+ call LoadDiglettNumberGraphics
.asm_1484d
ld a, $64
ld [wStageCollisionMap + $e3], a
@@ -310,7 +310,7 @@ ResolveDiglettCollision: ; 0x147aa
jr nz, .asm_14872
ld [wRightMapMoveCounter], a
add $4
- call Func_149f5
+ call LoadDiglettNumberGraphics
.asm_14872
ld a, $68
ld [wStageCollisionMap + $f0], a
@@ -320,107 +320,116 @@ ResolveDiglettCollision: ; 0x147aa
call Func_14990
ret
-Func_14880: ; 0x14880
- ld hl, wd4f7
+UpdateMapMoveCounters_RedFieldBottom: ; 0x14880
+; Decrements the two counters that cause the map move counters to decrease by one every 8 seconds.
+; Also updates the counter graphics if anything changes.
+; The map move counters appear next to Digletts.
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_148a6
+ jr nz, .checkRightMapMoveCounter
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_148a6
- ld a, $e0
+ jr nz, .checkRightMapMoveCounter
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wLeftMapMoveCounter]
and a
- jr z, .asm_148a6
+ jr z, .checkRightMapMoveCounter
cp $3
- jr z, .asm_148a6
+ jr z, .checkRightMapMoveCounter
dec a
ld [wLeftMapMoveCounter], a
- call Func_149f5
-.asm_148a6
- ld hl, wd4f9
+ call LoadDiglettNumberGraphics
+.checkRightMapMoveCounter
+ ld hl, wRightMapMoveCounterFramesUntilDecrease
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_148ce
+ jr nz, .done
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_148ce
- ld a, $e0
+ jr nz, .done
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wRightMapMoveCounter]
and a
- jr z, .asm_148ce
+ jr z, .done
cp $3
- jr z, .asm_148ce
+ jr z, .done
dec a
ld [wRightMapMoveCounter], a
add $4
- call Func_149f5
-.asm_148ce
+ call LoadDiglettNumberGraphics
+.done
ret
-Func_148cf: ; 0x148cf
+UpdateMapMoveCounters_RedFieldTop: ; 0x148cf
+; This is identical logic to UpdateMapMoveCounters_RedFieldBottom, but it doesn't load
+; any graphics, since the Diglett aren't in the Top half of the Red Field.
ld b, $0
- ld hl, wd4f8
+ ld hl, wLeftMapMoveCounterFramesUntilDecrease + 1
ld a, [hld]
or [hl]
- jr z, .asm_148f8
+ jr z, .checkRightMapMoveCounter
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_148f8
+ jr nz, .checkRightMapMoveCounter
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_148f8
- ld a, $e0
+ jr nz, .checkRightMapMoveCounter
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wLeftMapMoveCounter]
and a
- jr z, .asm_148f8
+ jr z, .checkRightMapMoveCounter
cp $3
- jr z, .asm_148f8
+ jr z, .checkRightMapMoveCounter
dec a
ld [wLeftMapMoveCounter], a
-.asm_148f8
- ld hl, wd4fa
+.checkRightMapMoveCounter
+ ld hl, wRightMapMoveCounterFramesUntilDecrease + 1
ld a, [hld]
or [hl]
- jr z, .asm_1491f
+ jr z, .done
dec [hl]
ld a, [hli]
cp $ff
- jr nz, .asm_1491f
+ jr nz, .done
dec [hl]
ld a, [hld]
cp $ff
- jr nz, .asm_1491f
- ld a, $e0
+ jr nz, .done
+ ; Reset the counter back to 8 seconds worth of frames (480 frames)
+ ld a, MAP_MOVE_FRAMES_COUNTER & $ff
ld [hli], a
- ld a, $1
+ ld a, MAP_MOVE_FRAMES_COUNTER >> 8
ld [hl], a
ld a, [wRightMapMoveCounter]
and a
- jr z, .asm_1491f
+ jr z, .done
cp $3
- jr z, .asm_1491f
+ jr z, .done
dec a
ld [wRightMapMoveCounter], a
-.asm_1491f
+.done
ret
-Func_14920: ; 0x14920
+HitRightDiglett3Times: ; 0x14920
ld hl, wNumDugtrioTriples
call Increment_Max100
jr nc, .asm_14937
@@ -433,7 +442,7 @@ Func_14920: ; 0x14920
callba StartMapMoveMode
ret
-Func_14947: ; 0x14947
+HitLeftDiglett3Times: ; 0x14947
ld hl, wNumDugtrioTriples
call Increment_Max100
jr nc, .asm_1495e
@@ -446,7 +455,7 @@ Func_14947: ; 0x14947
callba StartMapMoveMode
ret
-Func_1496d: ; 0x1496d
+AddScoreForHittingDiglett: ; 0x1496d
ld a, $55
ld [wd803], a
ld a, $4
@@ -478,7 +487,7 @@ Func_14990: ; 0x14990
ld a, [wLeftMapMoveDiglettFrame]
xor $1
ld [wLeftMapMoveDiglettFrame], a
- call Func_149d9
+ call LoadDiglettGraphics
.asm_149b6
ld a, [wd4f1]
and a
@@ -500,7 +509,7 @@ Func_14990: ; 0x14990
ld [wRightMapMoveDiglettFrame], a
add $3
; fall through
-Func_149d9: ; 0x149d9
+LoadDiglettGraphics: ; 0x149d9
sla a
ld c, a
ld b, $0
@@ -520,7 +529,7 @@ Func_149d9: ; 0x149d9
call Func_10aa
ret
-Func_149f5: ; 0x149f5
+LoadDiglettNumberGraphics: ; 0x149f5
sla a
ld c, a
ld b, $0
@@ -540,777 +549,7 @@ Func_149f5: ; 0x149f5
call Func_10aa
ret
-TileListDataPointers_14a11: ; 0x14a11
- dw TileListData_14a1d
- dw TileListData_14a20
- dw TileListData_14a23
- dw TileListData_14a26
- dw TileListData_14a29
- dw TileListData_14a2c
-
-TileListData_14a1d: ; 0x14a1d
- db $01
- dw TileListData_14a2f
-
-TileListData_14a20: ; 0x14a20
- db $01
- dw TileListData_14a3d
-
-TileListData_14a23: ; 0x14a23
- db $01
- dw TileListData_14a4b
-
-TileListData_14a26: ; 0x14a26
- db $01
- dw TileListData_14a59
-
-TileListData_14a29: ; 0x14a29
- db $01
- dw TileListData_14a67
-
-TileListData_14a2c: ; 0x14a2c
- db $01
- dw TileListData_14a75
-
-TileListData_14a2f: ; 0x14a2f
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $4C, $4D
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $4E, $4F
-
- db $00 ; terminator
-
-TileListData_14a3d: ; 0x14a3d
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $50, $51
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $52, $53
-
- db $00 ; terminator
-
-TileListData_14a4b: ; 0x14a4b
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $54, $80
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $55, $80
-
- db $00 ; terminator
-
-TileListData_14a59: ; 0x14a59
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $56, $57
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $58, $59
-
- db $00 ; terminator
-
-TileListData_14a67: ; 0x14a67
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $5a, $5b
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $5c, $5d
-
- db $00 ; terminator
-
-TileListData_14a75: ; 0x14a75
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $80, $5e
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $80, $5f
-
- db $00 ; terminator
-
-TileListDataPointers_14a83:
- dw TileListData_14a8f
- dw TileListData_14a92
- dw TileListData_14a95
- dw TileListData_14a98
- dw TileListData_14a9b
- dw TileListData_14a9e
-
-TileListData_14a8f: ; 0x14a8f
- db $01
- dw TileListData_14aa1
-
-TileListData_14a92: ; 0x14a92
- db $01
- dw TileListData_14aaf
-
-TileListData_14a95: ; 0x14a95
- db $01
- dw TileListData_14abd
-
-TileListData_14a98: ; 0x14a98
- db $01
- dw TileListData_14acb
-
-TileListData_14a9b: ; 0x14a9b
- db $01
- dw TileListData_14ad9
-
-TileListData_14a9e: ; 0x14a9e
- db $01
- dw TileListData_14ae7
-
-TileListData_14aa1: ; 0x14aa1
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $54, $55
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $56, $57
-
- db $00
-
-TileListData_14aaf: ; 0x14aaf
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $58, $59
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $5A, $5B
-
- db $00 ; terminator
-
-TileListData_14abd: ; 0x14abd
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $a3
- db $5C, $80
-
- db $02 ; number of tiles
- dw vBGMap + $c3
- db $5D, $80
-
- db $00 ; terminator
-
-TileListData_14acb: ; 0x14acb
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $55, $54
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $57, $56
-
- db $00 ; terminator
-
-TileListData_14ad9: ; 0x14ad9
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $59, $58
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $5B, $5A
-
- db $00 ; terminator
-
-TileListData_14ae7: ; 0x14ae7
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $af
- db $80, $5C
-
- db $02 ; number of tiles
- dw vBGMap + $cf
- db $80, $5D
-
- db $00 ; terminator
-
-Data_14af5: ; 0x14af5
- dw Data_14b05
- dw Data_14b0e
- dw Data_14b17
- dw Data_14b20
- dw Data_14b29
- dw Data_14b32
- dw Data_14b3b
- dw Data_14b44
-
-Data_14b05: ; 0x14b05
- db $04
- dw Data_14b4d
- dw Data_14b57
- dw Data_14b61
- dw Data_14b6b
-
-Data_14b0e: ; 0x14b0e
- db $04
- dw Data_14b75
- dw Data_14b7f
- dw Data_14b89
- dw Data_14b93
-
-Data_14b17: ; 0x14b17
- db $04
- dw Data_14b9d
- dw Data_14ba7
- dw Data_14bb1
- dw Data_14bbb
-
-Data_14b20: ; 0x14b20
- db $04
- dw Data_14bc5
- dw Data_14bcf
- dw Data_14bd9
- dw Data_14be3
-
-Data_14b29: ; 0x14b29
- db $04
- dw Data_14bed
- dw Data_14bf7
- dw Data_14c01
- dw Data_14c0b
-
-Data_14b32: ; 0x14b32
- db $04
- dw Data_14c15
- dw Data_14c1f
- dw Data_14c29
- dw Data_14c33
-
-Data_14b3b: ; 0x14b3b
- db $04
- dw Data_14c3d
- dw Data_14c47
- dw Data_14c51
- dw Data_14c5b
-
-Data_14b44: ; 0x14b44
- db $04
- dw Data_14c65
- dw Data_14c6f
- dw Data_14c79
- dw Data_14c83
-
-Data_14b4d: ; 0x14b4d
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $26
- dw StageRedFieldBottomBaseGameBoyGfx + $a60
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14b57: ; 0x14b57
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageRedFieldBottomBaseGameBoyGfx + $a90
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14b61: ; 0x14b61
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $2C
- dw StageRedFieldBottomBaseGameBoyGfx + $ac0
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14b6b: ; 0x14b6b
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $2F
- dw StageRedFieldBottomBaseGameBoyGfx + $af0
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14b75: ; 0x14b75
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $26
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $720
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14b7f: ; 0x14b7f
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $750
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14b89: ; 0x14b89
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $2C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $780
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14b93: ; 0x14b93
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $2F
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7B0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14b9d: ; 0x14b9d
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $26
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14ba7: ; 0x14ba7
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $7F0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bb1: ; 0x14bb1
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $2C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $820
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bbb: ; 0x14bbb
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $2F
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $850
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bc5: ; 0x14bc5
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $26
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $860
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bcf: ; 0x14bcf
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $29
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $890
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bd9: ; 0x14bd9
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $2C
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $8C0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14be3: ; 0x14be3
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $2F
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $8F0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14bed: ; 0x14bed
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $30
- dw StageRedFieldBottomBaseGameBoyGfx + $B00
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14bf7: ; 0x14bf7
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageRedFieldBottomBaseGameBoyGfx + $B30
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14c01: ; 0x14c01
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $36
- dw StageRedFieldBottomBaseGameBoyGfx + $B60
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14c0b: ; 0x14c0b
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $39
- dw StageRedFieldBottomBaseGameBoyGfx + $B90
- db Bank(StageRedFieldBottomBaseGameBoyGfx)
- db $00 ; terminator
-
-Data_14c15: ; 0x14c15
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $30
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $900
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c1f: ; 0x14c1f
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $930
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c29: ; 0x14c29
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $36
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $960
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c33: ; 0x14c33
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $39
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $990
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c3d: ; 0x14c3d
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $30
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $9A0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c47: ; 0x14c47
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $9D0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c51: ; 0x14c51
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $36
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c5b: ; 0x14c5b
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $39
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A30
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c65: ; 0x14c65
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $30
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c6f: ; 0x14c6f
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $33
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $A70
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c79: ; 0x14c79
- dw Func_11d2
- db $30, $03
- dw vTilesBG tile $36
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-Data_14c83: ; 0x14c83
- dw Func_11d2
- db $10, $01
- dw vTilesBG tile $39
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AD0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileListDataPointers_14c8d:
- dw Data_14c9d
- dw Data_14ca0
- dw Data_14ca3
- dw Data_14ca6
- dw Data_14ca9
- dw Data_14cac
- dw Data_14caf
- dw Data_14cb2
-
-Data_14c9d: ; 0x14c9d
- db $01
- dw TileListData_14cb5
-
-Data_14ca0: ; 0x14ca0
- db $01
- dw TileListData_14ccf
-
-Data_14ca3: ; 0x14ca3
- db $01
- dw TileListData_14ce9
-
-Data_14ca6: ; 0x14ca6
- db $01
- dw TileListData_14d03
-
-Data_14ca9: ; 0x14ca9
- db $01
- dw TileListData_14d1d
-
-Data_14cac: ; 0x14cac
- db $01
- dw TileListData_14d37
-
-Data_14caf: ; 0x14caf
- db $01
- dw TileListData_14d51
-
-Data_14cb2: ; 0x14cb2
- db $01
- dw TileListData_14d6b
-
-TileListData_14cb5: ; 0x14cb5
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $80
- db $06, $07
-
- db $03 ; number of tiles
- dw vBGMap + $a0
- db $08, $09, $0A
-
- db $03 ; number of tiles
- dw vBGMap + $c0
- db $0B, $0C, $0D
-
- db $02 ; number of tiles
- dw vBGMap + $e0
- db $0E, $0F
-
- db $00 ; terminator
-
-TileListData_14ccf: ; 0x14ccf
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $80
- db $06, $07
-
- db $03 ; number of tiles
- dw vBGMap + $a0
- db $10, $11, $0A
-
- db $03 ; number of tiles
- dw vBGMap + $c0
- db $12, $13, $0D
-
- db $02 ; number of tiles
- dw vBGMap + $e0
- db $14, $15
-
- db $00 ; terminator
-
-TileListData_14ce9: ; 0x14ce9
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $80
- db $06, $07
-
- db $03 ; number of tiles
- dw vBGMap + $a0
- db $10, $16, $17
-
- db $03 ; number of tiles
- dw vBGMap + $c0
- db $12, $18, $19
-
- db $02 ; number of tiles
- dw vBGMap + $e0
- db $14, $15
-
- db $00 ; terminator
-
-TileListData_14d03: ; 0x14d03
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $80
- db $1A, $1B
-
- db $03 ; number of tiles
- dw vBGMap + $a0
- db $1C, $1D, $17
-
- db $03 ; number of tiles
- dw vBGMap + $c0
- db $12, $18, $19
-
- db $02 ; number of tiles
- dw vBGMap + $e0
- db $14, $15
-
- db $00 ; terminator
-
-TileListData_14d1d: ; 014d1d
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $92
- db $07, $06
-
- db $03 ; number of tiles
- dw vBGMap + $b1
- db $0A, $1E, $08
-
- db $03 ; number of tiles
- dw vBGMap + $d1
- db $22, $0C, $24
-
- db $02 ; number of tiles
- dw vBGMap + $f2
- db $0F, $0E
-
- db $00 ; terminator
-
-TileListData_14d37: ; 0x14d37
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $92
- db $07, $06
-
- db $03 ; number of tiles
- dw vBGMap + $b1
- db $0A, $1F, $10
-
- db $03 ; number of tiles
- dw vBGMap + $d1
- db $22, $13, $25
-
- db $02 ; number of tiles
- dw vBGMap + $f2
- db $15, $14
-
- db $00 ; terminator
-
-TileListData_14d51: ; 0x14d51
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $92
- db $07, $06
-
- db $03 ; number of tiles
- dw vBGMap + $b1
- db $17, $20, $10
-
- db $03 ; number of tiles
- dw vBGMap + $d1
- db $23, $18, $25
-
- db $02 ; number of tiles
- dw vBGMap + $f2
- db $15, $14
-
- db $00 ; terminator
-
-TileListData_14d6b: ; 0x14d6b
- dw LoadTileLists
- db $0A ; total number of tiles
-
- db $02 ; number of tiles
- dw vBGMap + $92
- db $1B, $1A
-
- db $03 ; number of tiles
- dw vBGMap + $b1
- db $17, $21, $1C
-
- db $03 ; number of tiles
- dw vBGMap + $d1
- db $23, $18, $25
-
- db $02 ; number of tiles
- dw vBGMap + $f2
- db $15, $14
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/red_field/diglett.asm"
ResolveVoltorbCollision: ; 0x14d85
ld a, [wWhichVoltorb]
@@ -1498,665 +737,7 @@ UpdateSpinnerChargeGraphics_RedField: ; 0x14ece
call Func_10aa
ret
-TileDataPointers_14eeb:
- dw TileData_14f0b
- dw TileData_14f10
- dw TileData_14f15
- dw TileData_14f1a
- dw TileData_14f1f
- dw TileData_14f24
- dw TileData_14f29
- dw TileData_14f2e
- dw TileData_14f33
- dw TileData_14f38
- dw TileData_14f3d
- dw TileData_14f42
- dw TileData_14f47
- dw TileData_14f4c
- dw TileData_14f51
- dw TileData_14f56
-
-TileData_14f0b: ; 0x14f0b
- db $02
- dw TileData_14f5b
- dw TileData_14f65
-
-TileData_14f10: ; 0x14f10
- db $02
- dw TileData_14f6f
- dw TileData_14f79
-
-TileData_14f15: ; 0x14f15
- db $02
- dw TileData_14f83
- dw TileData_14f8d
-
-TileData_14f1a: ; 0x14f1a
- db $02
- dw TileData_14f97
- dw TileData_14fa1
-
-TileData_14f1f: ; 0x14f1f
- db $02
- dw TileData_14fab
- dw TileData_14fb5
-
-TileData_14f24: ; 0x14f24
- db $02
- dw TileData_14fbf
- dw TileData_14fc9
-
-TileData_14f29: ; 0x14f29
- db $02
- dw TileData_14fd3
- dw TileData_14fdd
-
-TileData_14f2e: ; 0x14f2e
- db $02
- dw TileData_14fe7
- dw TileData_14ff1
-
-TileData_14f33: ; 0x14f33
- db $02
- dw TileData_14ffb
- dw TileData_15005
-
-TileData_14f38: ; 0x14f38
- db $02
- dw TileData_1500f
- dw TileData_15019
-
-TileData_14f3d: ; 0x14f3d
- db $02
- dw TileData_15023
- dw TileData_1502d
-
-TileData_14f42: ; 0x14f42
- db $02
- dw TileData_15037
- dw TileData_15041
-
-TileData_14f47: ; 0x14f47
- db $02
- dw TileData_1504b
- dw TileData_15055
-
-TileData_14f4c: ; 0x14f4c
- db $02
- dw TileData_1505f
- dw TileData_15069
-
-TileData_14f51: ; 0x14f51
- db $02
- dw TileData_15073
- dw TileData_1507d
-
-TileData_14f56: ; 0x14f56
- db $02
- dw TileData_15087
- dw TileData_15091
-
-TileData_14f5b: ; 0x14f5b
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldTopBaseGameBoyGfx + $cb0
- db Bank(StageRedFieldTopBaseGameBoyGfx)
- db $00 ; terminator
-
-TileData_14f65: ; 0x14f65
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldTopBaseGameBoyGfx + $cd0
- db Bank(StageRedFieldTopBaseGameBoyGfx)
- db $00 ; terminator
-
-TileData_14f6f: ; 0x14f6f
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $AE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14f79: ; 0x14f79
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14f83: ; 0x14f83
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14f8d: ; 0x14f8d
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14f97: ; 0x14f97
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fa1: ; 0x14fa1
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $B80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fab: ; 0x14fab
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fb5: ; 0x14fb5
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fbf: ; 0x14fbf
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $BE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fc9: ; 0x14fc9
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fd3: ; 0x14fd3
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fdd: ; 0x14fdd
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14fe7: ; 0x14fe7
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14ff1: ; 0x14ff1
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $C80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_14ffb: ; 0x14ffb
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15005: ; 0x15005
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1500f: ; 0x1500f
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $CE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15019: ; 0x15019
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15023: ; 0x15023
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1502d: ; 0x1502d
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15037: ; 0x15037
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15041: ; 0x15041
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $D80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1504b: ; 0x1504b
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DA0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15055: ; 0x15055
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DC0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1505f: ; 0x1505f
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $DE0
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15069: ; 0x15069
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E00
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15073: ; 0x15073
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E20
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_1507d: ; 0x1507d
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E40
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15087: ; 0x15087
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $75
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E60
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileData_15091: ; 0x15091
- dw Func_11d2
- db $20, $02
- dw vTilesBG tile $77
- dw StageRedFieldBottomIndicatorsGfx_Gameboy + $E80
- db Bank(StageRedFieldBottomIndicatorsGfx_Gameboy)
- db $00 ; terminator
-
-TileDataPointers_1509b:
- dw TileData_150bb
- dw TileData_150be
- dw TileData_150c1
- dw TileData_150c4
- dw TileData_150c7
- dw TileData_150ca
- dw TileData_150cd
- dw TileData_150d0
- dw TileData_150d3
- dw TileData_150d6
- dw TileData_150d9
- dw TileData_150dc
- dw TileData_150df
- dw TileData_150e2
- dw TileData_150e5
- dw TileData_150e8
-
-TileData_150bb: ; 0x150bb
- db $01
- dw TileData_150eb
-
-TileData_150be: ; 0x150be
- db $01
- dw TileData_150f9
-
-TileData_150c1: ; 0x150c1
- db $01
- dw TileData_15107
-
-TileData_150c4: ; 0x150c4
- db $01
- dw TileData_15115
-
-TileData_150c7: ; 0x150c7
- db $01
- dw TileData_15123
-
-TileData_150ca: ; 0x150ca
- db $01
- dw TileData_15131
-
-TileData_150cd: ; 0x150cd
- db $01
- dw TileData_1513f
-
-TileData_150d0: ; 0x150d0
- db $01
- dw TileData_1514d
-
-TileData_150d3: ; 0x150d3
- db $01
- dw TileData_1515b
-
-TileData_150d6: ; 0x150d6
- db $01
- dw TileData_15169
-
-TileData_150d9: ; 0x150d9
- db $01
- dw TileData_15177
-
-TileData_150dc: ; 0x150dc
- db $01
- dw TileData_15185
-
-TileData_150df: ; 0x150df
- db $01
- dw TileData_15193
-
-TileData_150e2: ; 0x150e2
- db $01
- dw TileData_151a1
-
-TileData_150e5: ; 0x150e5
- db $01
- dw TileData_151af
-
-TileData_150e8: ; 0x150e8
- db $01
- dw TileData_151bd
-
-TileData_150eb: ; 0x150eb
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $5E, $5F
-
- db $00 ; terminator
-
-TileData_150f9: ; 0x150f9
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $60, $61
-
- db $00 ; terminator
-
-TileData_15107: ; 0x15107
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $62, $63
-
- db $00 ; terminator
-
-TileData_15115: ; 0x15115
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $64, $65
-
- db $00 ; terminator
-
-TileData_15123: ; 0x15123
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $66, $67
-
- db $00 ; terminator
-
-TileData_15131: ; 0x15131
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $68, $69
-
- db $00 ; terminator
-
-TileData_1513f: ; 0x1513f
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $6A, $6B
-
- db $00 ; terminator
-
-TileData_1514d: ; 0x1514d
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $6C, $6D
-
- db $00 ; terminator
-
-TileData_1515b: ; 0x1515b
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $5C, $5D
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_15169: ; 0x15169
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $70, $71
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_15177: ; 0x15177
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $72, $73
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_15185: ; 0x15185
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $74, $75
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_15193: ; 0x15193
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $76, $77
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_151a1: ; 0x151a1
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $78, $79
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_151af: ; 0x151af
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $7A, $7B
-
- db $02 ; number of tiles
- dw $992E
- db $6E, $6F
-
- db $00 ; terminator
-
-TileData_151bd: ; 0x151bd
- dw LoadTileLists
- db $04 ; total number of tiles
-
- db $02 ; number of tiles
- dw $990E
- db $7C, $7D
-
- db $02 ; number of tiles
- dw $992E
- db $7E, $7F
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/red_field/spinner.asm"
Func_151cb: ; 0x151cb
ld a, [wWhichCAVELight]
@@ -4601,7 +3182,7 @@ asm_15fc0
ld a, [hGameBoyColorFlag]
and a
jr z, .asm_15fd0
- ld hl, Data_16080
+ ld hl, TileData_16080
.asm_15fd0
add hl, bc
ld a, [hli]
@@ -4639,225 +3220,7 @@ ApplyBumperCollision_RedField: ; 0x15fda
BumperCollisionAngleDeltas_RedField:
db -8, 8
-TileDataPointers_16010:
- dw TileData_16018
- dw TileData_1601b
- dw TileData_1601e
- dw TileData_16021
-
-TileData_16018: ; 0x16018
- db $01
- dw TileData_16024
-
-TileData_1601b: ; 0x1601b
- db $01
- dw TileData_1603B
-
-TileData_1601e: ; 0x1601e
- db $01
- dw TileData_16052
-
-TileData_16021: ; 0x16021
- db $01
- dw TileData_16069
-
-TileData_16024: ; 0x16024
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $60
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $61, $62
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $63, $64
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $65, $66
-
- db $00 ; terminator
-
-TileData_1603B: ; 0x1603B
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $67
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $68, $69
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $6A, $6B
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $6C, $6D
-
- db $00 ; terminator
-
-TileData_16052: ; 0x16052
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $6E
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $6F, $70
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $71, $72
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $73, $74
-
- db $00 ; terminator
-
-TileData_16069: ; 0x16069
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $75
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $76, $77
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $78, $79
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $7A, $7B
-
- db $00 ; terminator
-
-Data_16080:
- dw Data_16088
- dw Data_1608b
- dw Data_1608e
- dw Data_16091
-
-Data_16088: ; 0x16088
- db $01
- dw Data_16094
-
-Data_1608b: ; 0x1608b
- db $01
- dw Data_160ab
-
-Data_1608e: ; 0x1608e
- db $01
- dw Data_160c2
-
-Data_16091: ; 0x16091
- db $01
- dw Data_160d9
-
-Data_16094: ; 0x16094
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $2A
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $2B, $2C
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $2D, $2E
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $2F, $30
-
- db $00 ; terminator
-
-Data_160ab: ; 0x160ab
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $124
- db $31
-
- db $02 ; number of tiles
- dw vBGMap + $144
- db $32, $33
-
- db $02 ; number of tiles
- dw vBGMap + $164
- db $34, $35
-
- db $02 ; number of tiles
- dw vBGMap + $185
- db $36, $37
-
- db $00 ; terminator
-
-Data_160c2: ; 0x160c2
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $2A
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $2C, $2B
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $2E, $2D
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $30, $2F
-
- db $00 ; terminator
-
-Data_160d9: ; 0x160d9
- dw LoadTileLists
- db $07 ; total number of tiles
-
- db $01 ; number of tiles
- dw vBGMap + $12F
- db $31
-
- db $02 ; number of tiles
- dw vBGMap + $14E
- db $33, $32
-
- db $02 ; number of tiles
- dw vBGMap + $16E
- db $35, $34
-
- db $02 ; number of tiles
- dw vBGMap + $18D
- db $37, $36
-
- db $00 ; terminator
+INCLUDE "data/queued_tiledata/red_field/bumpers.asm"
ResolveDittoSlotCollision: ; 0x160f0
ld a, [wDittoSlotCollision]
diff --git a/main.asm b/main.asm
index b548dce..a1c5196 100644
--- a/main.asm
+++ b/main.asm
@@ -1566,9 +1566,9 @@ Func_311b4: ; 0x311b4
.asm_311e2
ld a, $2
- callba Func_149d9
+ callba LoadDiglettGraphics
ld a, $5
- callba Func_149d9
+ callba LoadDiglettGraphics
ld a, $6a
ld [wStageCollisionMap + $f0], a
ld a, $6b
@@ -1724,7 +1724,7 @@ Func_31326: ; 0x31326
ld [wIndicatorStates + 3], a
ld [wIndicatorStates + 4], a
ld a, $3
- callba Func_1de4b
+ callba LoadPsyduckOrPoliwagGraphics
jr .asm_31382
.asm_3134c
@@ -1736,11 +1736,11 @@ Func_31326: ; 0x31326
ld [wIndicatorStates + 2], a
ld [wIndicatorStates + 4], a
ld a, $1
- callba Func_1de4b
+ callba LoadPsyduckOrPoliwagGraphics
ld a, $6
- callba Func_1de4b
+ callba LoadPsyduckOrPoliwagGraphics
ld a, $7
- callba Func_1de6f
+ callba LoadPsyduckOrPoliwagNumberGraphics
.asm_31382
ld a, [wCurrentStage]
bit 0, a
diff --git a/wram.asm b/wram.asm
index af9a4b9..615bbc3 100644
--- a/wram.asm
+++ b/wram.asm
@@ -397,28 +397,30 @@ wRightMapMoveCounter:: ; 0xd4f2
ds $1
wLeftMapMoveDiglettAnimationCounter:: ; 0xd4f3
+wLeftMapMovePoliwagAnimationCounter::
ds $1
wLeftMapMoveDiglettFrame:: ; 0xd4f4
+wLeftMapMovePoliwagFrame::
ds $1
wRightMapMoveDiglettAnimationCounter:: ; 0xd4f5
+wRightMapMovePsyduckAnimationCounter::
ds $1
wRightMapMoveDiglettFrame:: ; 0xd4f6
+wRightMapMovePsyduckFrame::
ds $1
-wd4f7:: ; 0xd4f7
- ds $1
-
-wd4f8:: ; 0xd4f8
- ds $1
-
-wd4f9:: ; 0xd4f9
- ds $1
+wLeftMapMoveCounterFramesUntilDecrease:: ; 0xd4f7
+; Holds the number of frames remaining until the wLeftMapMoveCounter
+; counter will decrease by 1.
+ ds $2
-wd4fa:: ; 0xd4fa
- ds $1
+wRightMapMoveCounterFramesUntilDecrease:: ; 0xd4f9
+; Holds the number of frames remaining until the wRightMapMoveCounter
+; counter will decrease by 1.
+ ds $2
wBellsproutCollision:: ; 0xd4fb
; Second byte is set by HandleGameObjectCollision, but is unused