You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Use labels instead of constants for HRAM
Use explicit ldh instruction to access HRAM locations, don't rely on optimizing ld
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
; Replaces the functionality of sgb.asm to work with CGB hardware.
|
||||
|
||||
CheckCGB:
|
||||
ld a, [hCGB]
|
||||
ldh a, [hCGB]
|
||||
and a
|
||||
ret
|
||||
|
||||
@@ -190,7 +190,7 @@ _CGB_PokegearPals:
|
||||
call FarCopyWRAM
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
_CGB_StatsScreenHPPals:
|
||||
@@ -244,7 +244,7 @@ _CGB_StatsScreenHPPals:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
StatsScreenPagePals:
|
||||
@@ -283,7 +283,7 @@ _CGB_Pokedex:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
.PokedexQuestionMarkPalette:
|
||||
@@ -318,7 +318,7 @@ _CGB_BillsPC:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
.Function9009:
|
||||
@@ -340,7 +340,7 @@ _CGB_BillsPC:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
.BillsPCOrangePalette:
|
||||
@@ -363,7 +363,7 @@ _CGB_PokedexUnownMode:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
_CGB_SlotMachine:
|
||||
@@ -416,7 +416,7 @@ _CGB_SlotMachine:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
_CGB06:
|
||||
@@ -434,7 +434,7 @@ _CGB06:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
_CGB_GSIntro:
|
||||
@@ -574,7 +574,7 @@ _CGB_Evolution:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
_CGB_GSTitleScreen:
|
||||
@@ -592,7 +592,7 @@ _CGB_GSTitleScreen:
|
||||
ld [wSGBPredef], a
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
_CGB0d:
|
||||
@@ -609,17 +609,17 @@ _CGB_UnownPuzzle:
|
||||
ld a, PREDEFPAL_UNOWN_PUZZLE
|
||||
call GetPredefPal
|
||||
call LoadHLPaletteIntoDE
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wOBPals1)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ld hl, wOBPals1
|
||||
ld a, LOW(palred 31 + palgreen 0 + palblue 0)
|
||||
ld [hli], a
|
||||
ld a, HIGH(palred 31 + palgreen 0 + palblue 0)
|
||||
ld [hl], a
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
call WipeAttrMap
|
||||
call ApplyAttrMap
|
||||
ret
|
||||
@@ -726,7 +726,7 @@ _CGB_TrainerCard:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
_CGB_MoveList:
|
||||
@@ -750,7 +750,7 @@ _CGB_MoveList:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
_CGB_BetaPikachuMinigame:
|
||||
@@ -760,7 +760,7 @@ _CGB_BetaPikachuMinigame:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
_CGB_PokedexSearchOption:
|
||||
@@ -772,7 +772,7 @@ _CGB_PokedexSearchOption:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
_CGB_PackPals:
|
||||
@@ -820,7 +820,7 @@ _CGB_PackPals:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
.ChrisPackPals:
|
||||
@@ -878,7 +878,7 @@ _CGB13:
|
||||
call ApplyAttrMap
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
_CGB_GamefreakLogo:
|
||||
|
@@ -151,7 +151,7 @@ Unreferenced_Function8b07:
|
||||
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
.BGPal:
|
||||
@@ -169,7 +169,7 @@ Unreferenced_Function8b07:
|
||||
Unreferenced_Function8b3f:
|
||||
call CheckCGB
|
||||
ret nz
|
||||
ld a, [hSGB]
|
||||
ldh a, [hSGB]
|
||||
and a
|
||||
ret z
|
||||
ld hl, BlkPacket_9a86
|
||||
@@ -178,7 +178,7 @@ Unreferenced_Function8b3f:
|
||||
Unreferenced_Function8b4d:
|
||||
call CheckCGB
|
||||
jr nz, .cgb
|
||||
ld a, [hSGB]
|
||||
ldh a, [hSGB]
|
||||
and a
|
||||
ret z
|
||||
ld hl, PalPacket_BetaIntroVenusaur
|
||||
@@ -193,7 +193,7 @@ Unreferenced_Function8b4d:
|
||||
Unreferenced_Function8b67:
|
||||
call CheckCGB
|
||||
jr nz, .cgb
|
||||
ld a, [hSGB]
|
||||
ldh a, [hSGB]
|
||||
and a
|
||||
ret z
|
||||
ld hl, PalPacket_Pack
|
||||
@@ -208,7 +208,7 @@ Unreferenced_Function8b67:
|
||||
Unreferenced_Function8b81:
|
||||
call CheckCGB
|
||||
jr nz, .cgb
|
||||
ld a, [hSGB]
|
||||
ldh a, [hSGB]
|
||||
and a
|
||||
ret z
|
||||
ld a, c
|
||||
@@ -274,7 +274,7 @@ got_palette_pointer_8bd7
|
||||
ret
|
||||
|
||||
Unreferenced_Function8bec:
|
||||
ld a, [hCGB]
|
||||
ldh a, [hCGB]
|
||||
and a
|
||||
jr nz, .cgb
|
||||
ld hl, wPlayerLightScreenCount
|
||||
@@ -353,7 +353,7 @@ ApplyHPBarPals:
|
||||
ld a, BANK(wBGPals2)
|
||||
call FarCopyWRAM
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
.PartyMenu:
|
||||
@@ -383,10 +383,10 @@ LoadStatsScreenPals:
|
||||
dec c
|
||||
add hl, bc
|
||||
add hl, bc
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wBGPals1)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ld a, [hli]
|
||||
ld [wBGPals1 palette 0], a
|
||||
ld [wBGPals1 palette 2], a
|
||||
@@ -394,7 +394,7 @@ LoadStatsScreenPals:
|
||||
ld [wBGPals1 palette 0 + 1], a
|
||||
ld [wBGPals1 palette 2 + 1], a
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
call ApplyPals
|
||||
ld a, $1
|
||||
ret
|
||||
@@ -492,10 +492,10 @@ GetPredefPal:
|
||||
ret
|
||||
|
||||
LoadHLPaletteIntoDE:
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wOBPals1)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ld c, 1 palettes
|
||||
.loop
|
||||
ld a, [hli]
|
||||
@@ -504,14 +504,14 @@ LoadHLPaletteIntoDE:
|
||||
dec c
|
||||
jr nz, .loop
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
LoadPalette_White_Col1_Col2_Black:
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wBGPals1)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
|
||||
ld a, LOW(PALRGB_WHITE)
|
||||
ld [de], a
|
||||
@@ -535,7 +535,7 @@ LoadPalette_White_Col1_Col2_Black:
|
||||
inc de
|
||||
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
FillBoxCGB:
|
||||
@@ -560,10 +560,10 @@ ResetBGPals:
|
||||
push de
|
||||
push hl
|
||||
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wBGPals1)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
|
||||
ld hl, wBGPals1
|
||||
ld c, 1 palettes
|
||||
@@ -582,7 +582,7 @@ ResetBGPals:
|
||||
jr nz, .loop
|
||||
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
|
||||
pop hl
|
||||
pop de
|
||||
@@ -606,19 +606,19 @@ ApplyPals:
|
||||
ret
|
||||
|
||||
ApplyAttrMap:
|
||||
ld a, [rLCDC]
|
||||
ldh a, [rLCDC]
|
||||
bit rLCDC_ENABLE, a
|
||||
jr z, .UpdateVBank1
|
||||
ld a, [hBGMapMode]
|
||||
ldh a, [hBGMapMode]
|
||||
push af
|
||||
ld a, $2
|
||||
ld [hBGMapMode], a
|
||||
ldh [hBGMapMode], a
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
pop af
|
||||
ld [hBGMapMode], a
|
||||
ldh [hBGMapMode], a
|
||||
ret
|
||||
|
||||
.UpdateVBank1:
|
||||
@@ -626,7 +626,7 @@ ApplyAttrMap:
|
||||
debgcoord 0, 0
|
||||
ld b, SCREEN_HEIGHT
|
||||
ld a, $1
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
.row
|
||||
ld c, SCREEN_WIDTH
|
||||
.col
|
||||
@@ -644,7 +644,7 @@ ApplyAttrMap:
|
||||
dec b
|
||||
jr nz, .row
|
||||
ld a, $0
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ret
|
||||
|
||||
; CGB layout for SCGB_PARTY_MENU_HP_PALS
|
||||
@@ -742,11 +742,11 @@ Unreferenced_Function9779:
|
||||
ret z
|
||||
ld hl, BattleObjectPals
|
||||
ld a, $90
|
||||
ld [rOBPI], a
|
||||
ldh [rOBPI], a
|
||||
ld c, 6 palettes
|
||||
.loop
|
||||
ld a, [hli]
|
||||
ld [rOBPD], a
|
||||
ldh [rOBPD], a
|
||||
dec c
|
||||
jr nz, .loop
|
||||
ld hl, BattleObjectPals
|
||||
@@ -763,7 +763,7 @@ Unreferenced_Function97cc:
|
||||
call CheckCGB
|
||||
ret z
|
||||
ld a, $90
|
||||
ld [rOBPI], a
|
||||
ldh [rOBPI], a
|
||||
ld a, PREDEFPAL_TRADE_TUBE
|
||||
call GetPredefPal
|
||||
call .PushPalette
|
||||
@@ -776,7 +776,7 @@ Unreferenced_Function97cc:
|
||||
ld c, 1 palettes
|
||||
.loop
|
||||
ld a, [hli]
|
||||
ld [rOBPD], a
|
||||
ldh [rOBPD], a
|
||||
dec c
|
||||
jr nz, .loop
|
||||
ret
|
||||
@@ -822,9 +822,9 @@ _PushSGBPals:
|
||||
.loop
|
||||
push bc
|
||||
xor a
|
||||
ld [rJOYP], a
|
||||
ldh [rJOYP], a
|
||||
ld a, $30
|
||||
ld [rJOYP], a
|
||||
ldh [rJOYP], a
|
||||
ld b, $10
|
||||
.loop2
|
||||
ld e, $8
|
||||
@@ -836,18 +836,18 @@ _PushSGBPals:
|
||||
jr nz, .okay
|
||||
ld a, $20
|
||||
.okay
|
||||
ld [rJOYP], a
|
||||
ldh [rJOYP], a
|
||||
ld a, $30
|
||||
ld [rJOYP], a
|
||||
ldh [rJOYP], a
|
||||
rr d
|
||||
dec e
|
||||
jr nz, .loop3
|
||||
dec b
|
||||
jr nz, .loop2
|
||||
ld a, $20
|
||||
ld [rJOYP], a
|
||||
ldh [rJOYP], a
|
||||
ld a, $30
|
||||
ld [rJOYP], a
|
||||
ldh [rJOYP], a
|
||||
call SGBDelayCycles
|
||||
pop bc
|
||||
dec b
|
||||
@@ -864,12 +864,12 @@ InitSGBBorder:
|
||||
set 7, a
|
||||
ld [wcfbe], a
|
||||
xor a
|
||||
ld [rJOYP], a
|
||||
ld [hSGB], a
|
||||
ldh [rJOYP], a
|
||||
ldh [hSGB], a
|
||||
call PushSGBBorderPalsAndWait
|
||||
jr nc, .skip
|
||||
ld a, $1
|
||||
ld [hSGB], a
|
||||
ldh [hSGB], a
|
||||
call _InitSGBBorderPals
|
||||
call SGBBorder_PushBGPals
|
||||
call SGBDelayCycles
|
||||
@@ -891,43 +891,43 @@ InitCGBPals::
|
||||
ret z
|
||||
; CGB only
|
||||
ld a, BANK(vTiles3)
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld hl, vTiles3
|
||||
ld bc, $200 tiles
|
||||
xor a
|
||||
call ByteFill
|
||||
ld a, BANK(vTiles0)
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld a, 1 << rBGPI_AUTO_INCREMENT
|
||||
ld [rBGPI], a
|
||||
ldh [rBGPI], a
|
||||
ld c, 4 * 8
|
||||
.bgpals_loop
|
||||
ld a, LOW(PALRGB_WHITE)
|
||||
ld [rBGPD], a
|
||||
ldh [rBGPD], a
|
||||
ld a, HIGH(PALRGB_WHITE)
|
||||
ld [rBGPD], a
|
||||
ldh [rBGPD], a
|
||||
dec c
|
||||
jr nz, .bgpals_loop
|
||||
ld a, 1 << rOBPI_AUTO_INCREMENT
|
||||
ld [rOBPI], a
|
||||
ldh [rOBPI], a
|
||||
ld c, 4 * 8
|
||||
.obpals_loop
|
||||
ld a, LOW(PALRGB_WHITE)
|
||||
ld [rOBPD], a
|
||||
ldh [rOBPD], a
|
||||
ld a, HIGH(PALRGB_WHITE)
|
||||
ld [rOBPD], a
|
||||
ldh [rOBPD], a
|
||||
dec c
|
||||
jr nz, .obpals_loop
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wBGPals1)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ld hl, wBGPals1
|
||||
call .LoadWhitePals
|
||||
ld hl, wBGPals2
|
||||
call .LoadWhitePals
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
.LoadWhitePals:
|
||||
@@ -972,7 +972,7 @@ _InitSGBBorderPals:
|
||||
Unreferenced_Function9911:
|
||||
di
|
||||
xor a
|
||||
ld [rJOYP], a
|
||||
ldh [rJOYP], a
|
||||
ld hl, MaskEnFreezePacket
|
||||
call _PushSGBPals
|
||||
call PushSGBBorder
|
||||
@@ -1007,35 +1007,35 @@ PushSGBBorderPalsAndWait:
|
||||
ld hl, MltReq2Packet
|
||||
call _PushSGBPals
|
||||
call SGBDelayCycles
|
||||
ld a, [rJOYP]
|
||||
ldh a, [rJOYP]
|
||||
and $3
|
||||
cp $3
|
||||
jr nz, .carry
|
||||
ld a, $20
|
||||
ld [rJOYP], a
|
||||
ld a, [rJOYP]
|
||||
ld a, [rJOYP]
|
||||
ldh [rJOYP], a
|
||||
ldh a, [rJOYP]
|
||||
ldh a, [rJOYP]
|
||||
call SGBDelayCycles
|
||||
call SGBDelayCycles
|
||||
ld a, $30
|
||||
ld [rJOYP], a
|
||||
ldh [rJOYP], a
|
||||
call SGBDelayCycles
|
||||
call SGBDelayCycles
|
||||
ld a, $10
|
||||
ld [rJOYP], a
|
||||
ldh [rJOYP], a
|
||||
rept 6
|
||||
ld a, [rJOYP]
|
||||
ldh a, [rJOYP]
|
||||
endr
|
||||
call SGBDelayCycles
|
||||
call SGBDelayCycles
|
||||
ld a, $30
|
||||
ld [rJOYP], a
|
||||
ld a, [rJOYP]
|
||||
ld a, [rJOYP]
|
||||
ld a, [rJOYP]
|
||||
ldh [rJOYP], a
|
||||
ldh a, [rJOYP]
|
||||
ldh a, [rJOYP]
|
||||
ldh a, [rJOYP]
|
||||
call SGBDelayCycles
|
||||
call SGBDelayCycles
|
||||
ld a, [rJOYP]
|
||||
ldh a, [rJOYP]
|
||||
and $3
|
||||
cp $3
|
||||
jr nz, .carry
|
||||
@@ -1056,24 +1056,24 @@ endr
|
||||
SGBBorder_PushBGPals:
|
||||
call DisableLCD
|
||||
ld a, %11100100
|
||||
ld [rBGP], a
|
||||
ldh [rBGP], a
|
||||
ld hl, PredefPals
|
||||
ld de, vTiles1
|
||||
ld bc, $100 tiles
|
||||
call CopyData
|
||||
call DrawDefaultTiles
|
||||
ld a, LCDC_DEFAULT
|
||||
ld [rLCDC], a
|
||||
ldh [rLCDC], a
|
||||
ld hl, PalTrnPacket
|
||||
call _PushSGBPals
|
||||
xor a
|
||||
ld [rBGP], a
|
||||
ldh [rBGP], a
|
||||
ret
|
||||
|
||||
SGBBorder_MorePalPushing:
|
||||
call DisableLCD
|
||||
ld a, $e4
|
||||
ld [rBGP], a
|
||||
ldh [rBGP], a
|
||||
ld de, vTiles1
|
||||
ld bc, 20 tiles
|
||||
call CopyData
|
||||
@@ -1097,17 +1097,17 @@ SGBBorder_MorePalPushing:
|
||||
call CopyData
|
||||
call DrawDefaultTiles
|
||||
ld a, LCDC_DEFAULT
|
||||
ld [rLCDC], a
|
||||
ldh [rLCDC], a
|
||||
ld hl, PctTrnPacket
|
||||
call _PushSGBPals
|
||||
xor a
|
||||
ld [rBGP], a
|
||||
ldh [rBGP], a
|
||||
ret
|
||||
|
||||
SGBBorder_YetMorePalPushing:
|
||||
call DisableLCD
|
||||
ld a, %11100100
|
||||
ld [rBGP], a
|
||||
ldh [rBGP], a
|
||||
ld de, vTiles1
|
||||
ld b, $80
|
||||
.loop
|
||||
@@ -1121,11 +1121,11 @@ SGBBorder_YetMorePalPushing:
|
||||
jr nz, .loop
|
||||
call DrawDefaultTiles
|
||||
ld a, LCDC_DEFAULT
|
||||
ld [rLCDC], a
|
||||
ldh [rLCDC], a
|
||||
ld hl, ChrTrnPacket
|
||||
call _PushSGBPals
|
||||
xor a
|
||||
ld [rBGP], a
|
||||
ldh [rBGP], a
|
||||
ret
|
||||
|
||||
CopyData:
|
||||
@@ -1237,10 +1237,10 @@ LoadMapPals:
|
||||
ld e, l
|
||||
ld d, h
|
||||
; Switch to palettes WRAM bank
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wBGPals1)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ld hl, wBGPals1
|
||||
ld b, 8
|
||||
.outer_loop
|
||||
@@ -1269,7 +1269,7 @@ LoadMapPals:
|
||||
dec b
|
||||
jr nz, .outer_loop
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
|
||||
.got_pals
|
||||
ld a, [wTimeOfDayPal]
|
||||
|
@@ -158,7 +158,7 @@ MG_Mobile_Layout01:
|
||||
farcall ApplyAttrMap
|
||||
farcall ApplyPals
|
||||
ld a, $1
|
||||
ld [hCGBPalUpdate], a
|
||||
ldh [hCGBPalUpdate], a
|
||||
ret
|
||||
|
||||
.Palette_49478:
|
||||
|
@@ -10,11 +10,11 @@ HDMATransferAttrMapAndTileMapToWRAMBank3::
|
||||
ld hl, wScratchTileMap
|
||||
call PadTilemapForHDMATransfer
|
||||
ld a, $0
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchTileMap
|
||||
call HDMATransferToWRAMBank3
|
||||
ld a, $1
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchAttrMap
|
||||
call HDMATransferToWRAMBank3
|
||||
ret
|
||||
@@ -28,7 +28,7 @@ HDMATransferTileMapToWRAMBank3::
|
||||
ld hl, wScratchTileMap
|
||||
call PadTilemapForHDMATransfer
|
||||
ld a, $0
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchTileMap
|
||||
call HDMATransferToWRAMBank3
|
||||
ret
|
||||
@@ -42,7 +42,7 @@ HDMATransferAttrMapToWRAMBank3:
|
||||
ld hl, wScratchAttrMap
|
||||
call PadAttrMapForHDMATransfer
|
||||
ld a, $1
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchAttrMap
|
||||
call HDMATransferToWRAMBank3
|
||||
ret
|
||||
@@ -61,18 +61,18 @@ ReloadMapPart::
|
||||
call DelayFrame
|
||||
|
||||
di
|
||||
ld a, [rVBK]
|
||||
ldh a, [rVBK]
|
||||
push af
|
||||
ld a, $1
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchAttrMap
|
||||
call HDMATransfer_Wait127Scanlines_toBGMap
|
||||
ld a, $0
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchTileMap
|
||||
call HDMATransfer_Wait127Scanlines_toBGMap
|
||||
pop af
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ei
|
||||
|
||||
ret
|
||||
@@ -92,18 +92,18 @@ Mobile_ReloadMapPart:
|
||||
call DelayFrame
|
||||
|
||||
di
|
||||
ld a, [rVBK]
|
||||
ldh a, [rVBK]
|
||||
push af
|
||||
ld a, $1
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchAttrMap
|
||||
call HDMATransfer_NoDI
|
||||
ld a, $0
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchTileMap
|
||||
call HDMATransfer_NoDI
|
||||
pop af
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ei
|
||||
|
||||
ret
|
||||
@@ -114,20 +114,20 @@ Mobile_ReloadMapPart:
|
||||
|
||||
.unreferenced_1040da
|
||||
ld a, $1
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld a, BANK(w3_d800)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ld de, w3_d800
|
||||
ld a, [hBGMapAddress + 1]
|
||||
ld [rHDMA1], a
|
||||
ld a, [hBGMapAddress]
|
||||
ld [rHDMA2], a
|
||||
ldh a, [hBGMapAddress + 1]
|
||||
ldh [rHDMA1], a
|
||||
ldh a, [hBGMapAddress]
|
||||
ldh [rHDMA2], a
|
||||
ld a, d
|
||||
ld [rHDMA3], a
|
||||
ldh [rHDMA3], a
|
||||
ld a, e
|
||||
ld [rHDMA4], a
|
||||
ldh [rHDMA4], a
|
||||
ld a, $23
|
||||
ld [hDMATransfer], a
|
||||
ldh [hDMATransfer], a
|
||||
call WaitDMATransfer
|
||||
ret
|
||||
|
||||
@@ -137,9 +137,9 @@ Mobile_ReloadMapPart:
|
||||
|
||||
.unreferenced_104101
|
||||
ld a, $1
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld a, BANK(w3_d800)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ld hl, w3_d800
|
||||
call HDMATransferToWRAMBank3
|
||||
ret
|
||||
@@ -162,18 +162,18 @@ OpenAndCloseMenu_HDMATransferTileMapAndAttrMap::
|
||||
call DelayFrame
|
||||
|
||||
di
|
||||
ld a, [rVBK]
|
||||
ldh a, [rVBK]
|
||||
push af
|
||||
ld a, $1
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchAttrMap
|
||||
call HDMATransfer_Wait123Scanlines_toBGMap
|
||||
ld a, $0
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchTileMap
|
||||
call HDMATransfer_Wait123Scanlines_toBGMap
|
||||
pop af
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ei
|
||||
ret
|
||||
|
||||
@@ -194,40 +194,40 @@ Mobile_OpenAndCloseMenu_HDMATransferTileMapAndAttrMap:
|
||||
call PadMapForHDMATransfer
|
||||
|
||||
ld a, $1
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchAttrMap
|
||||
call HDMATransfer_Wait127Scanlines_toBGMap
|
||||
ld a, $0
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld hl, wScratchTileMap
|
||||
call HDMATransfer_Wait127Scanlines_toBGMap
|
||||
ret
|
||||
|
||||
CallInSafeGFXMode:
|
||||
ld a, [hBGMapMode]
|
||||
ldh a, [hBGMapMode]
|
||||
push af
|
||||
ld a, [hMapAnims]
|
||||
ldh a, [hMapAnims]
|
||||
push af
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
ld [hMapAnims], a
|
||||
ld a, [rSVBK]
|
||||
ldh [hBGMapMode], a
|
||||
ldh [hMapAnims], a
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wScratchTileMap)
|
||||
ld [rSVBK], a
|
||||
ld a, [rVBK]
|
||||
ldh [rSVBK], a
|
||||
ldh a, [rVBK]
|
||||
push af
|
||||
|
||||
call ._hl_
|
||||
|
||||
pop af
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
pop af
|
||||
ld [hMapAnims], a
|
||||
ldh [hMapAnims], a
|
||||
pop af
|
||||
ld [hBGMapMode], a
|
||||
ldh [hBGMapMode], a
|
||||
ret
|
||||
|
||||
._hl_
|
||||
@@ -236,12 +236,12 @@ CallInSafeGFXMode:
|
||||
HDMATransferToWRAMBank3:
|
||||
call _LoadHDMAParameters
|
||||
ld a, $23
|
||||
ld [hDMATransfer], a
|
||||
ldh [hDMATransfer], a
|
||||
|
||||
WaitDMATransfer:
|
||||
.loop
|
||||
call DelayFrame
|
||||
ld a, [hDMATransfer]
|
||||
ldh a, [hDMATransfer]
|
||||
and a
|
||||
jr nz, .loop
|
||||
ret
|
||||
@@ -250,9 +250,9 @@ HDMATransfer_Wait127Scanlines_toBGMap:
|
||||
; HDMA transfer from hl to [hBGMapAddress]
|
||||
; hBGMapAddress -> de
|
||||
; 2 * SCREEN_HEIGHT -> c
|
||||
ld a, [hBGMapAddress + 1]
|
||||
ldh a, [hBGMapAddress + 1]
|
||||
ld d, a
|
||||
ld a, [hBGMapAddress]
|
||||
ldh a, [hBGMapAddress]
|
||||
ld e, a
|
||||
ld c, 2 * SCREEN_HEIGHT
|
||||
jr HDMATransfer_Wait127Scanlines
|
||||
@@ -262,9 +262,9 @@ HDMATransfer_Wait123Scanlines_toBGMap:
|
||||
; hBGMapAddress -> de
|
||||
; 2 * SCREEN_HEIGHT -> c
|
||||
; $7b --> b
|
||||
ld a, [hBGMapAddress + 1]
|
||||
ldh a, [hBGMapAddress + 1]
|
||||
ld d, a
|
||||
ld a, [hBGMapAddress]
|
||||
ldh a, [hBGMapAddress]
|
||||
ld e, a
|
||||
ld c, 2 * SCREEN_HEIGHT
|
||||
jr HDMATransfer_Wait123Scanlines
|
||||
@@ -273,25 +273,25 @@ HDMATransfer_NoDI:
|
||||
; HDMA transfer from hl to [hBGMapAddress]
|
||||
; [hBGMapAddress] --> de
|
||||
; 2 * SCREEN_HEIGHT --> c
|
||||
ld a, [hBGMapAddress + 1]
|
||||
ldh a, [hBGMapAddress + 1]
|
||||
ld d, a
|
||||
ld a, [hBGMapAddress]
|
||||
ldh a, [hBGMapAddress]
|
||||
ld e, a
|
||||
ld c, 2 * SCREEN_HEIGHT
|
||||
|
||||
; [rHDMA1, rHDMA2] = hl & $fff0
|
||||
ld a, h
|
||||
ld [rHDMA1], a
|
||||
ldh [rHDMA1], a
|
||||
ld a, l
|
||||
and $f0
|
||||
ld [rHDMA2], a
|
||||
ldh [rHDMA2], a
|
||||
; [rHDMA3, rHDMA4] = de & $1ff0
|
||||
ld a, d
|
||||
and $1f
|
||||
ld [rHDMA3], a
|
||||
ldh [rHDMA3], a
|
||||
ld a, e
|
||||
and $f0
|
||||
ld [rHDMA4], a
|
||||
ldh [rHDMA4], a
|
||||
; b = c | %10000000
|
||||
ld a, c
|
||||
dec c
|
||||
@@ -303,19 +303,19 @@ HDMATransfer_NoDI:
|
||||
ld d, a
|
||||
; while [rLY] >= d: pass
|
||||
.loop1
|
||||
ld a, [rLY]
|
||||
ldh a, [rLY]
|
||||
cp d
|
||||
jr nc, .loop1
|
||||
; while not [rSTAT] & 3: pass
|
||||
.loop2
|
||||
ld a, [rSTAT]
|
||||
ldh a, [rSTAT]
|
||||
and $3
|
||||
jr z, .loop2
|
||||
; load the 5th byte of HDMA
|
||||
ld a, b
|
||||
ld [rHDMA5], a
|
||||
ldh [rHDMA5], a
|
||||
; wait until rLY advances (c + 1) times
|
||||
ld a, [rLY]
|
||||
ldh a, [rLY]
|
||||
inc c
|
||||
ld hl, rLY
|
||||
.loop3
|
||||
@@ -338,17 +338,17 @@ _continue_HDMATransfer:
|
||||
; a lot of waiting around for hardware registers
|
||||
; [rHDMA1, rHDMA2] = hl & $fff0
|
||||
ld a, h
|
||||
ld [rHDMA1], a
|
||||
ldh [rHDMA1], a
|
||||
ld a, l
|
||||
and $f0 ; high nybble
|
||||
ld [rHDMA2], a
|
||||
ldh [rHDMA2], a
|
||||
; [rHDMA3, rHDMA4] = de & $1ff0
|
||||
ld a, d
|
||||
and $1f ; lower 5 bits
|
||||
ld [rHDMA3], a
|
||||
ldh [rHDMA3], a
|
||||
ld a, e
|
||||
and $f0 ; high nybble
|
||||
ld [rHDMA4], a
|
||||
ldh [rHDMA4], a
|
||||
; e = c | %10000000
|
||||
ld a, c
|
||||
dec c
|
||||
@@ -360,26 +360,26 @@ _continue_HDMATransfer:
|
||||
ld d, a
|
||||
; while [rLY] >= d: pass
|
||||
.ly_loop
|
||||
ld a, [rLY]
|
||||
ldh a, [rLY]
|
||||
cp d
|
||||
jr nc, .ly_loop
|
||||
|
||||
di
|
||||
; while [rSTAT] & 3: pass
|
||||
.rstat_loop_1
|
||||
ld a, [rSTAT]
|
||||
ldh a, [rSTAT]
|
||||
and $3
|
||||
jr nz, .rstat_loop_1
|
||||
; while not [rSTAT] & 3: pass
|
||||
.rstat_loop_2
|
||||
ld a, [rSTAT]
|
||||
ldh a, [rSTAT]
|
||||
and $3
|
||||
jr z, .rstat_loop_2
|
||||
; load the 5th byte of HDMA
|
||||
ld a, e
|
||||
ld [rHDMA5], a
|
||||
ldh [rHDMA5], a
|
||||
; wait until rLY advances (c + 1) times
|
||||
ld a, [rLY]
|
||||
ldh a, [rLY]
|
||||
inc c
|
||||
ld hl, rLY
|
||||
.final_ly_loop
|
||||
@@ -396,14 +396,14 @@ _continue_HDMATransfer:
|
||||
|
||||
_LoadHDMAParameters:
|
||||
ld a, h
|
||||
ld [rHDMA1], a
|
||||
ldh [rHDMA1], a
|
||||
ld a, l
|
||||
ld [rHDMA2], a
|
||||
ld a, [hBGMapAddress + 1]
|
||||
ldh [rHDMA2], a
|
||||
ldh a, [hBGMapAddress + 1]
|
||||
and $1f
|
||||
ld [rHDMA3], a
|
||||
ld a, [hBGMapAddress]
|
||||
ld [rHDMA4], a
|
||||
ldh [rHDMA3], a
|
||||
ldh a, [hBGMapAddress]
|
||||
ldh [rHDMA4], a
|
||||
ret
|
||||
|
||||
PadTilemapForHDMATransfer:
|
||||
@@ -416,10 +416,10 @@ PadAttrMapForHDMATransfer:
|
||||
PadMapForHDMATransfer:
|
||||
; pad a 20x18 map to 32x18 for HDMA transfer
|
||||
; back up the padding value in c to hMapObjectIndexBuffer
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ldh a, [hMapObjectIndexBuffer]
|
||||
push af
|
||||
ld a, c
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ldh [hMapObjectIndexBuffer], a
|
||||
|
||||
; for each row on the screen
|
||||
ld c, SCREEN_HEIGHT
|
||||
@@ -435,7 +435,7 @@ PadMapForHDMATransfer:
|
||||
jr nz, .loop2
|
||||
|
||||
; load the original padding value of c into hl for 32 - 20 = 12 rows
|
||||
ld a, [hMapObjectIndexBuffer]
|
||||
ldh a, [hMapObjectIndexBuffer]
|
||||
ld b, BG_MAP_WIDTH - SCREEN_WIDTH
|
||||
.loop3
|
||||
ld [hli], a
|
||||
@@ -447,16 +447,16 @@ PadMapForHDMATransfer:
|
||||
|
||||
; restore the original value of hMapObjectIndexBuffer
|
||||
pop af
|
||||
ld [hMapObjectIndexBuffer], a
|
||||
ldh [hMapObjectIndexBuffer], a
|
||||
ret
|
||||
|
||||
_Get2bpp::
|
||||
; 2bpp when [rLCDC] & $80
|
||||
; switch to WRAM bank 6
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wScratchTileMap)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
|
||||
push bc
|
||||
push hl
|
||||
@@ -491,7 +491,7 @@ _Get2bpp::
|
||||
|
||||
; restore the previous bank
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
_Get1bpp::
|
||||
@@ -521,10 +521,10 @@ _Get1bpp::
|
||||
jr .loop
|
||||
|
||||
.bankswitch
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wScratchTileMap)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
|
||||
push bc
|
||||
push hl
|
||||
@@ -555,7 +555,7 @@ _Get1bpp::
|
||||
call HDMATransfer_Wait127Scanlines
|
||||
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
HDMATransfer_OnlyTopFourRows:
|
||||
@@ -570,13 +570,13 @@ HDMATransfer_OnlyTopFourRows:
|
||||
decoord 0, 0, wAttrMap
|
||||
call .Copy
|
||||
ld a, $1
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld c, $8
|
||||
ld hl, wScratchTileMap + $80
|
||||
debgcoord 0, 0, vBGMap1
|
||||
call HDMATransfer_Wait127Scanlines
|
||||
ld a, $0
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ld c, $8
|
||||
ld hl, wScratchTileMap
|
||||
debgcoord 0, 0, vBGMap1
|
||||
|
@@ -22,7 +22,7 @@ _LoadStandardFont::
|
||||
ld de, Font
|
||||
ld hl, vTiles1
|
||||
lb bc, BANK(Font), 128 ; "A" to "9"
|
||||
ld a, [rLCDC]
|
||||
ldh a, [rLCDC]
|
||||
bit rLCDC_ENABLE, a
|
||||
jp z, Copy1bpp
|
||||
|
||||
|
@@ -32,18 +32,18 @@ GetUnownLetter:
|
||||
or b
|
||||
|
||||
; Divide by 10 to get 0-25
|
||||
ld [hDividend + 3], a
|
||||
ldh [hDividend + 3], a
|
||||
xor a
|
||||
ld [hDividend], a
|
||||
ld [hDividend + 1], a
|
||||
ld [hDividend + 2], a
|
||||
ldh [hDividend], a
|
||||
ldh [hDividend + 1], a
|
||||
ldh [hDividend + 2], a
|
||||
ld a, $ff / NUM_UNOWN + 1
|
||||
ld [hDivisor], a
|
||||
ldh [hDivisor], a
|
||||
ld b, 4
|
||||
call Divide
|
||||
|
||||
; Increment to get 1-26
|
||||
ld a, [hQuotient + 2]
|
||||
ldh a, [hQuotient + 2]
|
||||
inc a
|
||||
ld [wUnownLetter], a
|
||||
ret
|
||||
@@ -53,11 +53,11 @@ GetMonFrontpic:
|
||||
ld [wCurSpecies], a
|
||||
call IsAPokemon
|
||||
ret c
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
call _GetFrontpic
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
GetAnimatedFrontpic:
|
||||
@@ -65,14 +65,14 @@ GetAnimatedFrontpic:
|
||||
ld [wCurSpecies], a
|
||||
call IsAPokemon
|
||||
ret c
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
ldh [hBGMapMode], a
|
||||
call _GetFrontpic
|
||||
call GetAnimatedEnemyFrontpic
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
_GetFrontpic:
|
||||
@@ -84,7 +84,7 @@ _GetFrontpic:
|
||||
push bc
|
||||
call GetFrontpicPointer
|
||||
ld a, BANK(wDecompressEnemyFrontpic)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ld a, b
|
||||
ld de, wDecompressEnemyFrontpic
|
||||
call FarDecompress
|
||||
@@ -96,7 +96,7 @@ _GetFrontpic:
|
||||
push hl
|
||||
ld de, wDecompressScratch
|
||||
ld c, 7 * 7
|
||||
ld a, [hROMBank]
|
||||
ldh a, [hROMBank]
|
||||
ld b, a
|
||||
call Get2bpp
|
||||
pop hl
|
||||
@@ -131,11 +131,11 @@ GetFrontpicPointer:
|
||||
|
||||
GetAnimatedEnemyFrontpic:
|
||||
ld a, BANK(vTiles3)
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
push hl
|
||||
ld de, wDecompressScratch
|
||||
ld c, 7 * 7
|
||||
ld a, [hROMBank]
|
||||
ldh a, [hROMBank]
|
||||
ld b, a
|
||||
call Get2bpp
|
||||
pop hl
|
||||
@@ -164,11 +164,11 @@ GetAnimatedEnemyFrontpic:
|
||||
pop bc
|
||||
pop hl
|
||||
ld de, wDecompressScratch
|
||||
ld a, [hROMBank]
|
||||
ldh a, [hROMBank]
|
||||
ld b, a
|
||||
call Get2bpp
|
||||
xor a
|
||||
ld [rVBK], a
|
||||
ldh [rVBK], a
|
||||
ret
|
||||
|
||||
LoadFrontpicTiles:
|
||||
@@ -201,10 +201,10 @@ GetMonBackpic:
|
||||
ld b, a
|
||||
ld a, [wUnownLetter]
|
||||
ld c, a
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wDecompressScratch)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
push de
|
||||
|
||||
; These are assumed to be at the same address in their respective banks.
|
||||
@@ -236,11 +236,11 @@ GetMonBackpic:
|
||||
call FixBackpicAlignment
|
||||
pop hl
|
||||
ld de, wDecompressScratch
|
||||
ld a, [hROMBank]
|
||||
ldh a, [hROMBank]
|
||||
ld b, a
|
||||
call Get2bpp
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
FixPicBank:
|
||||
@@ -314,16 +314,16 @@ GetTrainerPic:
|
||||
ret nc
|
||||
call WaitBGMap
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
ldh [hBGMapMode], a
|
||||
ld hl, TrainerPicPointers
|
||||
ld a, [wTrainerClass]
|
||||
dec a
|
||||
ld bc, 3
|
||||
call AddNTimes
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wDecompressScratch)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
push de
|
||||
ld a, BANK(TrainerPicPointers)
|
||||
call GetFarByte
|
||||
@@ -338,23 +338,23 @@ GetTrainerPic:
|
||||
pop hl
|
||||
ld de, wDecompressScratch
|
||||
ld c, 7 * 7
|
||||
ld a, [hROMBank]
|
||||
ldh a, [hROMBank]
|
||||
ld b, a
|
||||
call Get2bpp
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
call WaitBGMap
|
||||
ld a, $1
|
||||
ld [hBGMapMode], a
|
||||
ldh [hBGMapMode], a
|
||||
ret
|
||||
|
||||
DecompressGet2bpp:
|
||||
; Decompress lz data from b:hl to scratch space at 6:d000, then copy it to address de.
|
||||
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wDecompressScratch)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
|
||||
push de
|
||||
push bc
|
||||
@@ -364,12 +364,12 @@ DecompressGet2bpp:
|
||||
pop bc
|
||||
ld de, wDecompressScratch
|
||||
pop hl
|
||||
ld a, [hROMBank]
|
||||
ldh a, [hROMBank]
|
||||
ld b, a
|
||||
call Get2bpp
|
||||
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
FixBackpicAlignment:
|
||||
|
@@ -12,7 +12,7 @@ WriteOAMDMACodeToHRAM::
|
||||
|
||||
.PushOAM:
|
||||
ld a, HIGH(wVirtualOAM)
|
||||
ld [rDMA], a
|
||||
ldh [rDMA], a
|
||||
ld a, NUM_SPRITE_OAM_STRUCTS
|
||||
.pushoam_loop
|
||||
dec a
|
||||
|
@@ -51,7 +51,7 @@ LoadMenuMonIcon:
|
||||
|
||||
.GetPartyMonItemGFX:
|
||||
push bc
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ldh a, [hObjectStructIndexBuffer]
|
||||
ld hl, wPartyMon1Item
|
||||
ld bc, PARTYMON_STRUCT_LENGTH
|
||||
call AddNTimes
|
||||
@@ -125,7 +125,7 @@ PartyMenu_InitAnimatedMonIcon:
|
||||
|
||||
.SpawnItemIcon:
|
||||
push bc
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ldh a, [hObjectStructIndexBuffer]
|
||||
ld hl, wPartyMon1Item
|
||||
ld bc, PARTYMON_STRUCT_LENGTH
|
||||
call AddNTimes
|
||||
@@ -154,7 +154,7 @@ PartyMenu_InitAnimatedMonIcon:
|
||||
InitPartyMenuIcon:
|
||||
ld a, [wCurIconTile]
|
||||
push af
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ldh a, [hObjectStructIndexBuffer]
|
||||
ld hl, wPartySpecies
|
||||
ld e, a
|
||||
ld d, 0
|
||||
@@ -163,7 +163,7 @@ InitPartyMenuIcon:
|
||||
call ReadMonMenuIcon
|
||||
ld [wCurIcon], a
|
||||
call GetMemIconGFX
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ldh a, [hObjectStructIndexBuffer]
|
||||
; y coord
|
||||
add a
|
||||
add a
|
||||
@@ -184,7 +184,7 @@ InitPartyMenuIcon:
|
||||
|
||||
SetPartyMonIconAnimSpeed:
|
||||
push bc
|
||||
ld a, [hObjectStructIndexBuffer]
|
||||
ldh a, [hObjectStructIndexBuffer]
|
||||
ld b, a
|
||||
call .getspeed
|
||||
ld a, b
|
||||
|
@@ -107,10 +107,10 @@ LoadMonAnimation:
|
||||
ret
|
||||
|
||||
SetUpPokeAnim:
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wPokeAnimStruct)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ld a, [wPokeAnimSceneIndex]
|
||||
ld c, a
|
||||
ld b, 0
|
||||
@@ -125,7 +125,7 @@ SetUpPokeAnim:
|
||||
ld a, [wPokeAnimSceneIndex]
|
||||
ld c, a
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ld a, c
|
||||
and $80
|
||||
ret z
|
||||
@@ -256,16 +256,16 @@ PokeAnim_StereoCry:
|
||||
ret
|
||||
|
||||
PokeAnim_DeinitFrames:
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wPokeAnimCoord)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
call PokeAnim_PlaceGraphic
|
||||
farcall HDMATransferTileMapToWRAMBank3
|
||||
call PokeAnim_SetVBank0
|
||||
farcall HDMATransferAttrMapToWRAMBank3
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
AnimateMon_CheckIfPokemon:
|
||||
@@ -282,10 +282,10 @@ AnimateMon_CheckIfPokemon:
|
||||
ret
|
||||
|
||||
PokeAnim_InitPicAttributes:
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wPokeAnimStruct)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
|
||||
push bc
|
||||
push de
|
||||
@@ -330,14 +330,14 @@ PokeAnim_InitPicAttributes:
|
||||
ld [wPokeAnimFrontpicHeight], a
|
||||
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
PokeAnim_InitAnim:
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wPokeAnimIdleFlag)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
push bc
|
||||
ld hl, wPokeAnimIdleFlag
|
||||
ld bc, wPokeAnimStructEnd - wPokeAnimIdleFlag
|
||||
@@ -352,12 +352,12 @@ PokeAnim_InitAnim:
|
||||
call GetMonFramesPointer
|
||||
call GetMonBitmaskPointer
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
PokeAnim_DoAnimScript:
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
ldh [hBGMapMode], a
|
||||
.loop
|
||||
ld a, [wPokeAnimJumptableIndex]
|
||||
and $7f
|
||||
@@ -823,16 +823,16 @@ PokeAnim_PlaceGraphic:
|
||||
ret
|
||||
|
||||
PokeAnim_SetVBank1:
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wPokeAnimCoord)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
ldh [hBGMapMode], a
|
||||
call .SetFlag
|
||||
farcall HDMATransferAttrMapToWRAMBank3
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
.SetFlag:
|
||||
@@ -943,10 +943,10 @@ GetMonAnimPointer:
|
||||
ret
|
||||
|
||||
PokeAnim_GetFrontpicDims:
|
||||
ld a, [rSVBK]
|
||||
ldh a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wCurPartySpecies)
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ld a, [wCurPartySpecies]
|
||||
ld [wCurSpecies], a
|
||||
call GetBaseData
|
||||
@@ -954,7 +954,7 @@ PokeAnim_GetFrontpicDims:
|
||||
and $f
|
||||
ld c, a
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ldh [rSVBK], a
|
||||
ret
|
||||
|
||||
GetMonFramesPointer:
|
||||
|
@@ -8,7 +8,7 @@ PlaceGraphic:
|
||||
and a
|
||||
jr nz, .right
|
||||
|
||||
ld a, [hGraphicStartTile]
|
||||
ldh a, [hGraphicStartTile]
|
||||
.x1
|
||||
push bc
|
||||
push hl
|
||||
@@ -35,7 +35,7 @@ PlaceGraphic:
|
||||
add hl, bc
|
||||
pop bc
|
||||
|
||||
ld a, [hGraphicStartTile]
|
||||
ldh a, [hGraphicStartTile]
|
||||
.x2
|
||||
push bc
|
||||
push hl
|
||||
|
@@ -28,11 +28,11 @@ MovePlayerPic:
|
||||
push hl
|
||||
push de
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
ldh [hBGMapMode], a
|
||||
lb bc, 7, 7
|
||||
predef PlaceGraphic
|
||||
xor a
|
||||
ld [hBGMapThird], a
|
||||
ldh [hBGMapThird], a
|
||||
call WaitBGMap
|
||||
call DelayFrame
|
||||
pop de
|
||||
@@ -147,7 +147,7 @@ GetChrisBackpic:
|
||||
HOF_LoadTrainerFrontpic:
|
||||
call WaitBGMap
|
||||
xor a
|
||||
ld [hBGMapMode], a
|
||||
ldh [hBGMapMode], a
|
||||
ld e, 0
|
||||
ld a, [wPlayerGender]
|
||||
bit PLAYERGENDER_FEMALE_F, a
|
||||
@@ -170,7 +170,7 @@ HOF_LoadTrainerFrontpic:
|
||||
call Get2bpp
|
||||
call WaitBGMap
|
||||
ld a, $1
|
||||
ld [hBGMapMode], a
|
||||
ldh [hBGMapMode], a
|
||||
ret
|
||||
|
||||
DrawIntroPlayerPic:
|
||||
@@ -200,7 +200,7 @@ DrawIntroPlayerPic:
|
||||
|
||||
; Draw
|
||||
xor a
|
||||
ld [hGraphicStartTile], a
|
||||
ldh [hGraphicStartTile], a
|
||||
hlcoord 6, 4
|
||||
lb bc, 7, 7
|
||||
predef PlaceGraphic
|
||||
|
@@ -561,7 +561,7 @@ Sprites_Sine:
|
||||
calc_sine_wave
|
||||
|
||||
AnimateEndOfExpBar:
|
||||
ld a, [hSGB]
|
||||
ldh a, [hSGB]
|
||||
ld de, EndOfExpBarGFX
|
||||
and a
|
||||
jr z, .load
|
||||
|
Reference in New Issue
Block a user