diff options
author | entrpntr <entrpntr@gmail.com> | 2020-03-17 15:23:39 -0400 |
---|---|---|
committer | entrpntr <entrpntr@gmail.com> | 2020-03-17 15:23:39 -0400 |
commit | c248b30aa7487b51a9182a833b1db29f14a7267c (patch) | |
tree | ea00fee853340ff7a4b2ab2da8cb902105e854f1 /engine/overworld | |
parent | d7327a64949c5abb607299184507c89e4c4f1387 (diff) |
Cleanup of files for banks $01 and $04 for main.asm.
Diffstat (limited to 'engine/overworld')
-rw-r--r-- | engine/overworld/init_map.asm | 91 | ||||
-rwxr-xr-x | engine/overworld/map_objects.asm | 7 |
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] |