diff options
author | Daniel Harding <33dannye@gmail.com> | 2020-05-16 21:42:24 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-16 21:42:24 -0500 |
commit | 8a924f1f783572ff395f617f99546b4c949c8b04 (patch) | |
tree | 1b6c7de331cb983256651b11b8adf413a3a434f1 /engine/overworld/init_map.asm | |
parent | 88d7e9a34a8b610b358cec1ccc6660634ca9ce80 (diff) | |
parent | ed94962edf1668aba3f60938e8a5ba8040e2a59c (diff) |
Merge pull request #30 from entrpntr/spring-cleaning
Spring Cleaning
Diffstat (limited to 'engine/overworld/init_map.asm')
-rw-r--r-- | engine/overworld/init_map.asm | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/engine/overworld/init_map.asm b/engine/overworld/init_map.asm new file mode 100644 index 00000000..72950ac7 --- /dev/null +++ b/engine/overworld/init_map.asm @@ -0,0 +1,96 @@ +ReanchorBGMap_NoOAMUpdate:: + call DelayFrame + ldh a, [hOAMUpdate] + push af + + ld a, $1 + ldh [hOAMUpdate], a + ldh a, [hBGMapMode] + push af + xor a + ldh [hBGMapMode], a + + call .ReanchorBGMap + + pop af + ldh [hBGMapMode], a + pop af + ldh [hOAMUpdate], a + ret + +.ReanchorBGMap: + xor a + ldh [hLCDCPointer], a + ldh [hBGMapMode], a + ld hl, wEnteredMapFromContinue + set 7, [hl] + res 2, [hl] + ld a, $90 + ldh [hWY], a + call OverworldTextModeSwitch + ld a, HIGH(vBGMap1) + call .LoadBGMapAddrIntoHRAM + call _OpenAndCloseMenu_HDMATransferTilemapAndAttrmap + xor a + ldh [hBGMapMode], a + ldh [hWY], a + ld a, HIGH(vBGMap0) + call .LoadBGMapAddrIntoHRAM + call .WaitTransfer + xor a ; LOW(vBGMap0) + ld [wBGMapAnchor], a + ld a, HIGH(vBGMap0) + ld [wBGMapAnchor + 1], a + xor a + ldh [hSCX], a + ldh [hSCY], a + call ApplyBGMapAnchorToObjects + ret + +.LoadBGMapAddrIntoHRAM: + ldh [hBGMapAddress + 1], a + xor a + ldh [hBGMapAddress], a + ret + +.WaitTransfer: + 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 [hFF9E], a +.asm_65bc + call DelayFrame + ldh a, [hFF9E] + and a + jr nz, .asm_65bc + pop af + ldh [hOAMUpdate], a + pop af + ldh [hBGMapMode], a + ret + +LoadFonts_NoOAMUpdate:: + ldh a, [hOAMUpdate] + push af + ld a, $1 + ldh [hOAMUpdate], a + + call .LoadGFX + + pop af + ldh [hOAMUpdate], a + ret + +.LoadGFX: + call LoadFontsExtra + ld a, $90 + ldh [hWY], a + call SafeUpdateSprites + call LoadStandardFont + ret |