summaryrefslogtreecommitdiff
path: root/src/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/bank01.asm2
-rw-r--r--src/engine/bank03.asm6
-rw-r--r--src/engine/bank04.asm121
-rw-r--r--src/engine/bank06.asm2
-rw-r--r--src/engine/bank07.asm5
-rw-r--r--src/engine/bank1c.asm63
-rw-r--r--src/engine/bank20.asm400
-rw-r--r--src/engine/home.asm8
8 files changed, 563 insertions, 44 deletions
diff --git a/src/engine/bank01.asm b/src/engine/bank01.asm
index bf16a12..b7fb896 100644
--- a/src/engine/bank01.asm
+++ b/src/engine/bank01.asm
@@ -7,7 +7,7 @@ GameLoop: ; 4000 (1:4000)
call EnableInt_VBlank
call EnableInt_Timer
call EnableSRAM
- ld a, [s0a006]
+ ld a, [sTextSpeed]
ld [wTextSpeed], a
ld a, [s0a009]
ld [wSkipDelayAllowed], a
diff --git a/src/engine/bank03.asm b/src/engine/bank03.asm
index 6b7c2cb..1b4207b 100644
--- a/src/engine/bank03.asm
+++ b/src/engine/bank03.asm
@@ -42,7 +42,7 @@ LoadMap: ; c000 (3:4000)
call Func_c4b9
call Func_c943
call Func_c158
- farcall Func_80480
+ farcall DoMapOWFrame
call SetOverworldDoFrameFunction
xor a
ld [wd0b4], a
@@ -270,7 +270,7 @@ Func_c1f8: ; c1f8 (3:41f8)
call EnableSRAM
ld a, [sAnimationsDisabled]
ld [wAnimationsDisabled], a
- ld a, [s0a006]
+ ld a, [sTextSpeed]
ld [wTextSpeed], a
call DisableSRAM
farcall Func_10756
@@ -464,7 +464,7 @@ Func_c36a: ; c36a (3:436a)
cp POKEMON_DOME_ENTRANCE
jr nz, .asm_c379
xor a
- ld [wd324], a
+ ld [wd323 + 1], a
.asm_c379
ret
diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm
index 330cd3f..b22581f 100644
--- a/src/engine/bank04.asm
+++ b/src/engine/bank04.asm
@@ -1101,7 +1101,124 @@ Func_11416: ; 11416 (4:5416)
INCROM $11416, $11430
Func_11430: ; 11430 (4:5430)
- INCROM $11430, $1157c
+ push de
+ ld de, sb800
+ call .Func_11439
+ pop de
+ ret
+
+.Func_11439
+ push hl
+ push bc
+ call EnableSRAM
+ call .Func_11447
+ call DisableSRAM
+ pop bc
+ pop hl
+ ret
+
+.Func_11447
+ push hl
+ push bc
+ push de
+ ld a, e
+ add $08
+ ld [wTempPointer], a
+ ld a, d
+ adc 0
+ ld [wTempPointer + 1], a
+ ld hl, .data_11498
+.asm_11459
+ ld a, [hli]
+ ld e, a
+ ld d, [hl]
+ or d
+ jr z, .done_copy
+ inc hl
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+
+; copy bc bytes from wTempPointer to de
+ push hl
+ ld a, [wTempPointer]
+ ld l, a
+ ld a, [wTempPointer + 1]
+ ld h, a
+.loop_copy
+ ld a, [hli]
+ ld [de], a
+ inc de
+ dec bc
+ ld a, c
+ or b
+ jr nz, .loop_copy
+
+ ld a, l
+ ld [wTempPointer], a
+ ld a, h
+ ld [wTempPointer + 1], a
+ pop hl
+ inc hl
+ inc hl
+ jr .asm_11459
+
+.done_copy
+ call EnableSRAM
+ ld a, [sAnimationsDisabled]
+ ld [wAnimationsDisabled], a
+ ld a, [sTextSpeed]
+ ld [wTextSpeed], a
+ call DisableSRAM
+ pop de
+ pop bc
+ pop hl
+ ret
+
+.data_11498
+; pointer, number of bytes, unknown
+ dw wd3cc, 1, $ff00
+ dw wd3cb, 1, $ff00
+ dw wPlayTimeCounter + 0, 1, $ff00
+ dw wPlayTimeCounter + 1, 1, $ff00
+ dw wPlayTimeCounter + 2, 1, $ff00
+ dw wPlayTimeCounter + 3, 2, $ff00
+ dw wd32e, 1, $ff00
+ dw wTempMap, 1, $ff00
+ dw wTempPlayerXCoord, 1, $ff00
+ dw wTempPlayerYCoord, 1, $ff00
+ dw wTempPlayerDirection, 1, $ff00
+ dw wd0c2, 1, $ff00
+ dw wDuelResult, 1, $ff00
+ dw wd0c4, 1, $ff00
+ dw wd696, 1, $ff00
+ dw wd698, 4, $ff00
+ dw wd323, 11, $ff00
+ dw Data_1156c, 1, $ff00
+ dw wd0b8, 1, $ff00
+ dw wd0b9, 1, $ff00
+ dw wd11b, 1, $ff00
+ dw wd0ba, 1, $ff00
+ dw wPCPackSelection, 1, $0e00
+ dw wPCPacks, 15, $ff00
+ dw wd111, 1, $ff00
+ dw wcad5, 1, $ff00
+ dw wd3b8, 1, $ff00
+ dw wd3bb, 10, $ff00
+ dw wd0c5, 1, $ff00
+ dw wMultichoiceTextboxResult_ChooseDeckToDuelAgainst, 1, $ff00
+ dw wd10e, 1, $ff00
+ dw Data_1156c, 15, $ff00
+ dw Data_1156c, 16, $ff00
+ dw Data_1156c, 16, $ff00
+ dw wEventFlags, 64, $ff00
+ dw NULL
+; 0x1156c
+
+Data_1156c: ; 1156c (4:556c)
+ db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
+; 0x1157c
; save the game
; if c is 0, save the player at their current position
@@ -2137,7 +2254,7 @@ MainMenu_NewGame: ; 12704 (4:6704)
call EnableSRAM
ld a, [sAnimationsDisabled]
ld [wAnimationsDisabled], a
- ld a, [s0a006]
+ ld a, [sTextSpeed]
ld [wTextSpeed], a
call DisableSRAM
ld a, MUSIC_STOP
diff --git a/src/engine/bank06.asm b/src/engine/bank06.asm
index c96d2a1..1413aed 100644
--- a/src/engine/bank06.asm
+++ b/src/engine/bank06.asm
@@ -1501,7 +1501,7 @@ Func_1996e: ; 1996e (6:596e)
ld a, $2
ld [s0a003], a
ld a, $2
- ld [s0a006], a
+ ld [sTextSpeed], a
ld [wTextSpeed], a
xor a
ld [sAnimationsDisabled], a
diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm
index 376f2f1..018787e 100644
--- a/src/engine/bank07.asm
+++ b/src/engine/bank07.asm
@@ -50,6 +50,7 @@ Func_1c056: ; 1c056 (7:4056)
INCLUDE "data/warps.asm"
+; loads data from the map header of wCurMap
LoadMapHeader: ; 1c33b (7:433b)
push hl
push bc
@@ -66,7 +67,7 @@ LoadMapHeader: ; 1c33b (7:433b)
ld a, [hli]
ld [wCurTilemap], a
ld a, [hli]
- ld c, a
+ ld c, a ; CGB tilemap variant
ld a, [hli]
ld [wd28f], a
ld a, [hli]
@@ -1709,7 +1710,7 @@ Credits_1d6ad: ; 1d6ad (7:56ad)
call Func_1d705
call Func_1c858
xor a
- ld [wd324], a
+ ld [wd323 + 1], a
ld a, MUSIC_CREDITS
call PlaySong
farcall Func_10031
diff --git a/src/engine/bank1c.asm b/src/engine/bank1c.asm
index 0c992dc..8de8786 100644
--- a/src/engine/bank1c.asm
+++ b/src/engine/bank1c.asm
@@ -330,8 +330,65 @@ Func_70214: ; 70214 (1c:4214)
Unknown_7024a: ; 7024a (1c:424a)
INCROM $7024a, $7036a
-Func_7036a: ; 7036a (1c:436a)
- INCROM $7036a, $703cb
+; decompresses palette data depending on wd132
+; then sends it as SGB packet
+SetSGB2AndSGB3MapPalette: ; 7036a (1c:436a)
+ ld a, [wConsole]
+ cp CONSOLE_SGB
+ ret nz ; return if not SGB
+ ld a, [wd132]
+ or a
+ ret z ; not valid
+
+ push hl
+ push bc
+ push de
+ ld a, [wd132]
+ add a
+ ld c, a
+ ld b, $0
+ ld hl, .pal_data_pointers
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call DecompressSGBPalette
+
+ ; load palettes to wTempSGBPacket
+ ld hl, wBGMapBuffer
+ ld de, wTempSGBPacket + 1 ; PAL Packet color #0 (PAL23's SGB2)
+ ld bc, 8 ; pal size
+ call CopyDataHLtoDE
+ ld hl, wBGMapBuffer + 34
+ ld de, wTempSGBPacket + 9 ; PAL Packet color #4 (PAL23's SGB3)
+ ld bc, 6
+ call CopyDataHLtoDE
+
+ xor a
+ ld [wTempSGBPacket + 15], a
+ ld hl, wTempSGBPacket
+ ld a, $1
+ ld [hl], a
+ call Func_704c7
+ call SendSGB
+ pop de
+ pop bc
+ pop hl
+ ret
+
+.pal_data_pointers
+ dw $722f ; unused
+ dw $722f ; MAP_SGB_PALETTE_1
+ dw $7253 ; MAP_SGB_PALETTE_2
+ dw $7277 ; MAP_SGB_PALETTE_3
+ dw $729a ; MAP_SGB_PALETTE_4
+ dw $72bd ; MAP_SGB_PALETTE_5
+ dw $72e0 ; MAP_SGB_PALETTE_6
+ dw $7304 ; MAP_SGB_PALETTE_7
+ dw $7328 ; MAP_SGB_PALETTE_8
+ dw $734b ; MAP_SGB_PALETTE_9
+ dw $736f ; MAP_SGB_PALETTE_10
+; 0x703cb
Func_703cb: ; 703cb (1c:43cb)
ld a, [wConsole]
@@ -361,7 +418,7 @@ Func_703cb: ; 703cb (1c:43cb)
pop hl
ret
-Func_70403: ; 70403 (1c:4403)
+DecompressSGBPalette: ; 70403 (1c:4403)
push hl
push bc
push de
diff --git a/src/engine/bank20.asm b/src/engine/bank20.asm
index 4d46930..dee6699 100644
--- a/src/engine/bank20.asm
+++ b/src/engine/bank20.asm
@@ -1,8 +1,22 @@
Func_80000: ; 80000 (20:4000)
- INCROM $80000, $80028
+ call ClearSRAMBGMaps
+ xor a
+ ld [wTextBoxFrameType], a
+ call Func_8003d
+ farcall Func_c37a
+ farcall Func_c9c7
+ call Func_801a1
+ farcall Func_c3ff
+ ld a, [wCurMap]
+ cp $00
+ ret nz
+ farcall Func_10f2e
+ farcall Func_10fbc
+ ret
+; 0x80028
Func_80028: ; 80028 (20:4028)
- call Func_801f1
+ call ClearSRAMBGMaps
ld bc, $0000
call Func_80077
farcall Func_c9c7
@@ -13,7 +27,7 @@ Func_80028: ; 80028 (20:4028)
Func_8003d: ; 8003d (20:403d)
farcall LoadMapHeader
- farcall Func_7036a
+ farcall SetSGB2AndSGB3MapPalette
ld bc, $0
call Func_80077
ld a, $80
@@ -38,13 +52,13 @@ Func_8003d: ; 8003d (20:403d)
; 0x80077
Func_80077: ; 80077 (20:4077)
- ld a, $1
- ld [wBGMapCopyMode], a
+ ld a, TRUE
+ ld [wWriteBGMapToSRAM], a
jr Func_80082
Func_8007e: ; 8007e (20:407e)
xor a
- ld [wBGMapCopyMode], a
+ ld [wWriteBGMapToSRAM], a
; fallthrough
Func_80082: ; 80082 (20:4082)
@@ -214,13 +228,13 @@ Func_80148: ; 80148 (20:4148)
ret
; copies BG Map data pointed by hl
-; to either VRAM or SRAM, depending on wBGMapCopyMode
+; to either VRAM or SRAM, depending on wWriteBGMapToSRAM
; de is the target address in VRAM,
; if SRAM is the target address to copy,
; copies data to s0BGMap or s1BGMap
; for VRAM0 or VRAM1 respectively
CopyBGDataToVRAMOrSRAM: ; 8016e (20:416e)
- ld a, [wBGMapCopyMode]
+ ld a, [wWriteBGMapToSRAM]
or a
jp z, SafeCopyDataHLtoDE
@@ -308,16 +322,16 @@ Func_801a1: ; 801a1 (20:41a1)
pop hl
ret
-; Clears the first x800 bytes of S1:a000
-Func_801f1: ; 801f1 (20:41f1)
+; clears s0BGMap and s1BGMap
+ClearSRAMBGMaps: ; 801f1 (20:41f1)
push hl
push bc
ldh a, [hBankSRAM]
push af
- ld a, $1
+ ld a, BANK(s0BGMap) ; SRAM 1
call BankswitchSRAM
- ld hl, $a000
- ld bc, $0800
+ ld hl, s0BGMap
+ ld bc, $800 ; s0BGMap + s1BGMap
xor a
call FillMemoryWithA
pop af
@@ -804,22 +818,315 @@ CopyPaletteDataToBuffer: ; 80456 (20:4456)
INCROM $8047b, $80480
-Func_80480: ; 80480 (20:4480)
- INCROM $80480, $804d8
+; for the current map, process the animation
+; data of its corresponding OW tiles
+DoMapOWFrame: ; 80480 (20:4480)
+ push hl
+ push bc
+ ld a, [wCurMap]
+ add a
+ add a ; *4
+ ld c, a
+ ld a, [wConsole]
+ cp CONSOLE_CGB
+ jr nz, .not_cgb
+ ld a, c
+ add 2
+ ld c, a
+.not_cgb
+ ld b, $0
+ ld hl, MapOWFramesetPointers
+ add hl, bc
+ ; got pointer for current map's frameset data
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call ProcessOWFrameset
+ pop bc
+ pop hl
+ ret
+; 0x804a2
+
+; processes the OW frameset pointed by hl
+ProcessOWFrameset: ; 804a2 (20:44a2)
+ push hl
+ push bc
+ ld a, l
+ ld [wCurMapOWFrameset], a
+ ld a, h
+ ld [wCurMapOWFrameset + 1], a
+ xor a
+ ld [wumLoadedFramesetSubgroups], a
+ call ClearOWFramesetSubgroups
+ ld c, 0
+.loop_subgroups
+ call LoadOWFramesetSubgroup
+ call GetOWFramesetSubgroupData
+ ld a, [wCurOWFrameDataOffset]
+ cp -1
+ jr z, .next_subgroup
+ ld a, [wumLoadedFramesetSubgroups]
+ inc a
+ ld [wumLoadedFramesetSubgroups], a
+ call LoadOWFrameTiles
+ call StoreOWFramesetSubgroup
+.next_subgroup
+ inc c
+ ld a, c
+ cp NUM_OW_FRAMESET_SUBGROUPS
+ jr c, .loop_subgroups
+ pop bc
+ pop hl
+ ret
+; 0x804d8
+
+; for each of the loaded frameset subgroups
+; load their tiles and advance their durations
+DoLoadedFramesetSubgroupsFrame: ; 804d8 (20:44d8)
+ ld a, [wumLoadedFramesetSubgroups]
+ or a
+ ret z
+ ld c, 0
+.loop_subgroups
+ call LoadOWFramesetSubgroup
+ cp -1
+ jr z, .next_subgroup
+ call LoadOWFrameTiles
+ call StoreOWFramesetSubgroup
+.next_subgroup
+ inc c
+ ld a, c
+ cp NUM_OW_FRAMESET_SUBGROUPS
+ jr c, .loop_subgroups
+ ret
+; 0x804f3
+
+; from subgroup in register c, get
+; from OW frameset in hl its corresponding
+; data offset and duration
+GetOWFramesetSubgroupData: ; 804f3 (20:44f3)
+ push hl
+ push bc
+ push hl
+ ld b, $0
+ add hl, bc
+ ld c, [hl]
+ pop hl
+ add hl, bc
+ ld a, [hl] ; beginning of OW_FRAME
+ cp -1
+ jr z, .end_of_list ; skip if it's end of list
+ ld a, c ; store its addr offset
+ ld [wCurOWFrameDataOffset], a
+ xor a
+ ld [wCurOWFrameDuration], a
+.end_of_list
+ pop bc
+ pop hl
+ ret
+; 0x8050c
+
+; if wCurOWFrameDuration == 0, processes next frame for OW map
+; by loading the tiles corresponding to current frame
+; if wCurOWFrameDuration != 0, then simply decrements it and returns
+LoadOWFrameTiles: ; 8050c (20:450c)
+ ld a, [wCurOWFrameDuration]
+ or a
+ jr z, .next_frame
+ dec a
+ ld [wCurOWFrameDuration], a
+ ret
+
+.next_frame
+ push hl
+ push de
+ push bc
+ ; add wCurOWFrameDataOffset to pointer in wCurMapOWFrameset
+ ld a, [wCurOWFrameDataOffset]
+ ld c, a
+ ld a, [wCurMapOWFrameset]
+ add c
+ ld l, a
+ ld a, [wCurMapOWFrameset + 1]
+ adc 0
+ ld h, a
+
+ ld a, [hl]
+ ld [wCurOWFrameDuration], a
+.loop_ow_frames
+ call .LoadTile
+ ld de, OW_FRAME_STRUCT_SIZE
+ add hl, de ; next frame data
+ ld a, c
+ add e
+ ld c, a
+ ; OW frames with 0 duration are processed
+ ; at the same time as the previous frame data
+ ld a, [hl]
+ or a
+ jr z, .loop_ow_frames
-Func_804d8: ; 804d8 (20:44d8)
- INCROM $804d8, $80b7a
+ cp -1
+ ld a, c
+ ld [wCurOWFrameDataOffset], a
+ jr nz, .done
+; there's no more frames to process for this map
+; reset the frame data offset
+ pop bc
+ push bc
+ ld a, [wCurOWFrameDuration]
+ push af
+ ld a, [wCurMapOWFrameset]
+ ld l, a
+ ld a, [wCurMapOWFrameset + 1]
+ ld h, a
+ call GetOWFramesetSubgroupData
+ pop af
+ ld [wCurOWFrameDuration], a
+
+.done
+ pop bc
+ pop de
+ pop hl
+ ret
+
+; load a single tile specified
+; by the OW frame data pointed by hl
+.LoadTile
+ push hl
+ push bc
+ push de
+ ldh a, [hBankVRAM]
+ push af
+ inc hl
+ ld a, [hli] ; tile number
+ xor $80
+ ld e, a
+ ld a, [hli] ; VRAM bank
+
+; get tile offset of register e
+; and load its address in de
+ push hl
+ call BankswitchVRAM
+ ld h, $00
+ ld l, e
+ add hl, hl ; *2
+ add hl, hl ; *4
+ add hl, hl ; *8
+ add hl, hl ; *16
+ ld de, v0Tiles1 ; or v1Tiles1
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+
+ ld a, [hli] ; bank of tileset
+ add BANK(MapOWFramesetPointers)
+ ld [wTempPointerBank], a
+ ld a, [hli] ; tileset addr lo byte
+ ld c, a
+ ld a, [hli] ; tileset addr hi byte
+ ld b, a
+ ld a, [hli] ; tile number lo byte
+ ld h, [hl] ; tile number hi byte
+ ld l, a
+ add hl, hl ; *2
+ add hl, hl ; *4
+ add hl, hl ; *8
+ add hl, hl ; *16
+ add hl, bc
+ ; copy tile from the tileset to VRAM addr
+ lb bc, 1, TILE_SIZE
+ call CopyGfxDataFromTempBank
+ pop af
+ call BankswitchVRAM
+ pop de
+ pop bc
+ pop hl
+ ret
+; 0x8059a
+
+; fills wOWFramesetSubgroups with $ff
+ClearOWFramesetSubgroups: ; 8059a (20:459a)
+ push hl
+ push bc
+ ld hl, wOWFramesetSubgroups
+ ld c, NUM_OW_FRAMESET_SUBGROUPS * 2
+ ld a, $ff
+.loop
+ ld [hli], a
+ dec c
+ jr nz, .loop
+ pop bc
+ pop hl
+ ret
+; 0x805aa
+
+; copies wOWFramesetSubgroups + 2*c
+; to wCurOWFrameDataOffset and wCurOWFrameDuration
+; also returns its current duration
+LoadOWFramesetSubgroup: ; 805aa (20:45aa)
+ push hl
+ push bc
+ ld hl, wOWFramesetSubgroups
+ sla c
+ ld b, $00
+ add hl, bc
+ ld a, [hli]
+ ld [wCurOWFrameDataOffset], a
+ push af
+ ld a, [hl]
+ ld [wCurOWFrameDuration], a
+ pop af
+ pop bc
+ pop hl
+ ret
+; 0x805c1
+
+; copies wCurOWFrameDataOffset and wCurOWFrameDuration
+; to wOWFramesetSubgroups + 2*c
+StoreOWFramesetSubgroup: ; 805c1 (20:45c1)
+ push hl
+ push bc
+ ld hl, wOWFramesetSubgroups
+ sla c
+ ld b, $00
+ add hl, bc
+ ld a, [wCurOWFrameDataOffset]
+ ld [hli], a
+ ld a, [wCurOWFrameDuration]
+ ld [hl], a
+ pop bc
+ pop hl
+ ret
+; 0x805d6
+
+INCLUDE "data/map_ow_framesets.asm"
+
+; clears wd323
Func_80b7a: ; 80b7a (20:4b7a)
- INCROM $80b7a, $80b89
+ push hl
+ push bc
+ ld c, $b
+ ld hl, wd323
+ xor a
+.loop
+ ld [hli], a
+ dec c
+ jr nz, .loop
+ pop bc
+ pop hl
+ ret
+; 0x80b89
Func_80b89: ; 80b89 (20:4b89)
push hl
push bc
push af
ld c, a
- ld a, $01
- ld [wBGMapCopyMode], a
+ ld a, TRUE
+ ld [wWriteBGMapToSRAM], a
ld b, $00
ld hl, wd323
add hl, bc
@@ -837,9 +1144,9 @@ Func_80b89: ; 80b89 (20:4b89)
Func_80ba4: ; 80ba4 (20:4ba4)
push af
xor a
- ld [wBGMapCopyMode], a
+ ld [wWriteBGMapToSRAM], a
pop af
-; Fallthrough
+; fallthrough
Func_80baa: ; 80baa (20:4baa)
push hl
@@ -858,16 +1165,18 @@ Func_80baa: ; 80baa (20:4baa)
push af
ld a, [wd23a + 1]
push af
+
ld b, $0
ld hl, wd323
add hl, bc
ld a, $1
ld [hl], a
+
ld a, c
add a
ld c, a
ld b, $0
- ld hl, Unknown_80c21
+ ld hl, .unknown_80c21
add hl, bc
ld a, [hli]
ld h, [hl]
@@ -885,13 +1194,13 @@ Func_80baa: ; 80baa (20:4baa)
ld a, [hl]
ld [wCurTilemap], a
push bc
- farcall Func_80082
+ farcall Func_80082 ; unnecessary farcall
pop bc
srl b
ld a, c
rrca
- and $f
- swap a
+ and $0f
+ swap a ; * $10
add b
ld c, a
ld b, $0
@@ -915,8 +1224,43 @@ Func_80baa: ; 80baa (20:4baa)
pop hl
ret
-Unknown_80c21: ; 80c21 (20:4c21)
- INCROM $80c21, $80e5a
+.unknown_80c21
+ dw .data_1
+ dw .data_2
+ dw .data_3
+ dw .data_4
+ dw .data_5
+ dw .data_6
+ dw .data_7
+ dw .data_8
+ dw .data_9
+ dw .data_10
+ dw .data_11
+
+.data_1
+ db $16, $00, TILEMAP_UNUSED_5, TILEMAP_UNUSED_6
+.data_2
+ db $0e, $00, TILEMAP_UNUSED_7, TILEMAP_UNUSED_8
+.data_3
+ db $06, $02, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4
+.data_4
+ db $0a, $02, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4
+.data_5
+ db $0e, $02, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4
+.data_6
+ db $12, $02, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4
+.data_7
+ db $0e, $0a, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4
+.data_8
+ db $12, $0a, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4
+.data_9
+ db $0e, $12, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4
+.data_10
+ db $12, $12, TILEMAP_UNUSED_3, TILEMAP_UNUSED_4
+.data_11
+ db $0a, $00, TILEMAP_UNUSED_1, TILEMAP_UNUSED_2
+
+ INCROM $80c63, $80e5a
SpriteNullAnimationPointer: ; 80e5a (20:4e5a)
dw SpriteNullAnimationFrame
diff --git a/src/engine/home.asm b/src/engine/home.asm
index 6ec1230..f12f24d 100644
--- a/src/engine/home.asm
+++ b/src/engine/home.asm
@@ -10577,9 +10577,9 @@ OverworldDoFrameFunction: ; 380e (0:380e)
call BankswitchROM
call Func_1c610
call Func_3cb4
- ld a, BANK(Func_804d8)
+ ld a, BANK(DoLoadedFramesetSubgroupsFrame)
call BankswitchROM
- call Func_804d8
+ call DoLoadedFramesetSubgroupsFrame
call UpdateRNGSources
pop af
call BankswitchROM
@@ -11690,9 +11690,9 @@ Func_3e31: ; 3e31 (0:3e31)
ldh a, [hBankROM]
push af
call Func_3cb4
- ld a, BANK(Func_804d8)
+ ld a, BANK(DoLoadedFramesetSubgroupsFrame)
call BankswitchROM
- call Func_804d8
+ call DoLoadedFramesetSubgroupsFrame
pop af
call BankswitchROM
ret