Move more contiguous related code blocks from main.asm to engine/ and events/
This commit is contained in:
103
engine/init_map.asm
Normal file
103
engine/init_map.asm
Normal file
@@ -0,0 +1,103 @@
|
||||
ReanchorBGMap_NoOAMUpdate:: ; 6454
|
||||
call DelayFrame
|
||||
ld a, [hOAMUpdate]
|
||||
push af
|
||||
|
||||
ld a, $1
|
||||
ld [hOAMUpdate], a
|
||||
ld a, [hBGMapMode]
|
||||
push af
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
|
||||
call .ReanchorBGMap
|
||||
|
||||
pop af
|
||||
ld [hBGMapMode], a
|
||||
pop af
|
||||
ld [hOAMUpdate], a
|
||||
ld hl, VramState
|
||||
set 6, [hl]
|
||||
ret
|
||||
|
||||
.ReanchorBGMap:
|
||||
xor a
|
||||
ld [hLCDCPointer], a
|
||||
ld [hBGMapMode], a
|
||||
ld a, $90
|
||||
ld [hWY], a
|
||||
call OverworldTextModeSwitch
|
||||
ld a, VBGMap1 / $100
|
||||
call .LoadBGMapAddrIntoHRAM
|
||||
call _OpenAndCloseMenu_HDMATransferTileMapAndAttrMap
|
||||
callba LoadOW_BGPal7
|
||||
callba ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
ld [hWY], a
|
||||
callba HDMATransfer_FillBGMap0WithBlack ; no need to farcall
|
||||
ld a, VBGMap0 / $100
|
||||
call .LoadBGMapAddrIntoHRAM
|
||||
xor a
|
||||
ld [wBGMapAnchor], a
|
||||
ld a, VBGMap0 / $100
|
||||
ld [wBGMapAnchor + 1], a
|
||||
xor a
|
||||
ld [hSCX], a
|
||||
ld [hSCY], a
|
||||
call ApplyBGMapAnchorToObjects
|
||||
ret
|
||||
|
||||
.LoadBGMapAddrIntoHRAM: ; 64b9
|
||||
ld [hBGMapAddress + 1], a
|
||||
xor a
|
||||
ld [hBGMapAddress], a
|
||||
ret
|
||||
|
||||
LoadFonts_NoOAMUpdate:: ; 64bf
|
||||
ld a, [hOAMUpdate]
|
||||
push af
|
||||
ld a, $1
|
||||
ld [hOAMUpdate], a
|
||||
|
||||
call .LoadGFX
|
||||
|
||||
pop af
|
||||
ld [hOAMUpdate], a
|
||||
ret
|
||||
|
||||
.LoadGFX:
|
||||
call LoadFontsExtra
|
||||
ld a, $90
|
||||
ld [hWY], a
|
||||
call SafeUpdateSprites
|
||||
call LoadStandardFont
|
||||
ret
|
||||
|
||||
HDMATransfer_FillBGMap0WithBlack: ; 64db
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
ld a, $6
|
||||
ld [rSVBK], a
|
||||
|
||||
ld a, "<BLACK>" ; $60
|
||||
ld hl, wDecompressScratch
|
||||
ld bc, wScratchAttrMap - wDecompressScratch
|
||||
call ByteFill
|
||||
ld a, wDecompressScratch / $100
|
||||
ld [rHDMA1], a
|
||||
ld a, wDecompressScratch % $100
|
||||
ld [rHDMA2], a
|
||||
ld a, (VBGMap0 % $8000) / $100
|
||||
ld [rHDMA3], a
|
||||
ld a, (VBGMap0 % $8000) % $100
|
||||
ld [rHDMA4], a
|
||||
ld a, $3f
|
||||
ld [hDMATransfer], a
|
||||
call DelayFrame
|
||||
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ret
|
Reference in New Issue
Block a user