summaryrefslogtreecommitdiff
path: root/engine/overworld
diff options
context:
space:
mode:
authorentrpntr <entrpntr@gmail.com>2020-03-17 15:23:39 -0400
committerentrpntr <entrpntr@gmail.com>2020-03-17 15:23:39 -0400
commitc248b30aa7487b51a9182a833b1db29f14a7267c (patch)
treeea00fee853340ff7a4b2ab2da8cb902105e854f1 /engine/overworld
parentd7327a64949c5abb607299184507c89e4c4f1387 (diff)
Cleanup of files for banks $01 and $04 for main.asm.
Diffstat (limited to 'engine/overworld')
-rw-r--r--engine/overworld/init_map.asm91
-rwxr-xr-xengine/overworld/map_objects.asm7
2 files changed, 95 insertions, 3 deletions
diff --git a/engine/overworld/init_map.asm b/engine/overworld/init_map.asm
new file mode 100644
index 00000000..07cd07de
--- /dev/null
+++ b/engine/overworld/init_map.asm
@@ -0,0 +1,91 @@
+ReanchorBGMap_NoOAMUpdate:: ; 6551 (1:6551)
+ call DelayFrame
+ ldh a, [hOAMUpdate]
+ push af
+ ld a, $1
+ ldh [hOAMUpdate], a
+ ldh a, [hBGMapMode]
+ push af
+ xor a
+ ldh [hBGMapMode], a
+ call Function656b
+ pop af
+ ldh [hBGMapMode], a
+ pop af
+ ldh [hOAMUpdate], a
+ ret
+
+Function656b: ; 656b (1:656b)
+ xor a
+ ldh [hLCDCPointer], a
+ ldh [hBGMapMode], a
+ ld hl, wd565
+ set 7, [hl]
+ res 2, [hl]
+ ld a, $90
+ ldh [hWY], a
+ call OverworldTextModeSwitch
+ ld a, $9c
+ call .LoadBGMapAddrIntoHRAM
+ call _OpenAndCloseMenu_HDMATransferTilemapAndAttrmap
+ xor a
+ ldh [hBGMapMode], a
+ ldh [hWY], a
+ ld a, $98
+ call .LoadBGMapAddrIntoHRAM
+ call .WaitTransfer
+ xor a
+ ld [wd05b], a
+ ld a, $98
+ ld [wd05c], a
+ xor a
+ ldh [hSCX], a
+ ldh [hSCY], a
+ call ApplyBGMapAnchorToObjects
+ ret
+
+.LoadBGMapAddrIntoHRAM: ; 65a5 (1:65a5)
+ ldh [hBGMapAddress + 1], a
+ xor a
+ ldh [hBGMapAddress], a
+ ret
+
+.WaitTransfer: ; 65ab (1:65ab)
+ ldh a, [hBGMapMode]
+ push af
+ xor a
+ ldh [hBGMapMode], a
+ ldh a, [hOAMUpdate]
+ push af
+ ld a, $1
+ ldh [hOAMUpdate], a
+ ld a, $3
+ ldh [hVBlankCounter + 1], a
+.asm_65bc
+ call DelayFrame
+ ldh a, [hVBlankCounter + 1]
+ and a
+ jr nz, .asm_65bc
+ pop af
+ ldh [hOAMUpdate], a
+ pop af
+ ldh [hBGMapMode], a
+ ret
+
+LoadFonts_NoOAMUpdate:: ; 65cb (1:65cb)
+ ldh a, [hOAMUpdate]
+ push af
+ ld a, $1
+ ldh [hOAMUpdate], a
+ call .LoadGFX
+ pop af
+ ldh [hOAMUpdate], a
+ ret
+
+.LoadGFX: ; 65d9 (1:65d9)
+ call LoadFontsExtra
+ ld a, $90
+ ldh [hWY], a
+ call SafeUpdateSprites
+ call Functiond9e
+ ret \ No newline at end of file
diff --git a/engine/overworld/map_objects.asm b/engine/overworld/map_objects.asm
index 774d4cd8..392cb86e 100755
--- a/engine/overworld/map_objects.asm
+++ b/engine/overworld/map_objects.asm
@@ -1,5 +1,6 @@
-INCLUDE "engine/facings.asm"
-SpriteMovementData:: INCLUDE "data/map_objects.asm"
+INCLUDE "data/sprites/facings.asm"
+
+INCLUDE "data/sprites/map_objects.asm"
DeleteMapObject:: ; 4358 (1:4358)
push bc
@@ -1370,7 +1371,7 @@ Function597a: ; 597a (1:597a)
ld l, a
ld h, $0
add hl, hl
- ld bc, PushOAMEnd
+ ld bc, Facings
add hl, bc
ld a, [hli]
ld h, [hl]