diff options
Diffstat (limited to 'battle')
-rw-r--r-- | battle/core.asm | 20 | ||||
-rwxr-xr-x | battle/sliding_intro.asm | 107 |
2 files changed, 117 insertions, 10 deletions
diff --git a/battle/core.asm b/battle/core.asm index 66250ed45..37b8a4c2e 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -8473,7 +8473,7 @@ StartBattle: ; 3f4c1 ld a, [TimeOfDayPal] push af - call Function3f4dd + call BattleIntro call Function3c000 call Function3f69e pop af @@ -8489,7 +8489,7 @@ Function3f4d9: ; 3f4d9 ; 3f4dd -Function3f4dd: ; 3f4dd +BattleIntro: ; 3f4dd callba MobileFn_106050 ; mobile call LoadTrainerOrWildMonPic xor a @@ -8508,7 +8508,7 @@ Function3f4dd: ; 3f4dd call GetSGBLayout ld hl, rLCDC res 6, [hl] - call Function3fb6c + call InitBattleDisplay call BattleStartMessage ld hl, rLCDC set 6, [hl] @@ -9393,8 +9393,8 @@ Function3fb54: ; 3fb54 ret ; 3fb6c -Function3fb6c: ; 3fb6c - call Function3fbf8 +InitBattleDisplay: ; 3fb6c + call .InitBackPic hlcoord 0, 12 ld b, 4 ld c, 18 @@ -9405,7 +9405,7 @@ Function3fb6c: ; 3fb6c call ClearBox call LoadStandardFont call _LoadBattleFontsHPBar - call Function3fbd6 + call .BlankBGMap xor a ld [hMapAnims], a ld [hSCY], a @@ -9415,7 +9415,7 @@ Function3fb6c: ; 3fb6c call WaitBGMap xor a ld [hBGMapMode], a - callba Function4e980 + callba SlideBattlePics ld a, $1 ld [hBGMapMode], a ld a, $31 @@ -9438,7 +9438,7 @@ Function3fb6c: ; 3fb6c ret ; 3fbd6 -Function3fbd6: ; 3fbd6 +.BlankBGMap: ; 3fbd6 ld a, [rSVBK] push af ld a, $6 @@ -9451,7 +9451,7 @@ Function3fbd6: ; 3fbd6 ld de, w6_d000 ld hl, VBGMap0 - lb bc, BANK(Function3fbd6), $40 + lb bc, BANK(.BlankBGMap), $40 call Request2bpp pop af @@ -9459,7 +9459,7 @@ Function3fbd6: ; 3fbd6 ret ; 3fbf8 -Function3fbf8: ; 3fbf8 +.InitBackPic: ; 3fbf8 call GetTrainerBackpic call CopyBackpic ret diff --git a/battle/sliding_intro.asm b/battle/sliding_intro.asm new file mode 100755 index 000000000..e13e8bd05 --- /dev/null +++ b/battle/sliding_intro.asm @@ -0,0 +1,107 @@ +SlideBattlePics: ; 4e980 + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + call .subfunction1 + ld a, rSCX - $ff00 + ld [hLCDStatCustom], a + call .subfunction2 + xor a + ld [hLCDStatCustom], a + pop af + ld [rSVBK], a + ret +; 4e998 + +.subfunction1: ; 4e998 + call .subfunction4 + ld a, $90 + ld [hSCX], a + ld a, %11100100 + call DmgToCgbBGPals + lb de, %11100100, %11100100 + call DmgToCgbObjPals + ret +; 4e9ab + +.subfunction2: ; 4e9ab + ld d, $90 + ld e, $72 + ld a, $48 + inc a +.loop1 + push af +.loop2 + ld a, [rLY] + cp $60 + jr c, .loop2 + ld a, d + ld [hSCX], a + call .subfunction5 +rept 2 + inc e +endr +rept 2 + dec d +endr + pop af + push af + cp $1 + jr z, .skip1 + push de + call .subfunction3 + pop de + +.skip1 + call DelayFrame + pop af + dec a + jr nz, .loop1 + ret +; 4e9d6 + +.subfunction3: ; 4e9d6 + ld hl, Sprites + 1 + ld c, $12 ; 18 + ld de, $4 +.loop3 +rept 2 + dec [hl] +endr + add hl, de + dec c + jr nz, .loop3 + ret +; 4e9e5 + +.subfunction4: ; 4e9e5 + ld hl, LYOverrides + ld a, $90 + ld bc, SCREEN_HEIGHT_PX + call ByteFill + ret +; 4e9f1 + +.subfunction5: ; 4e9f1 + ld hl, LYOverrides + ld a, d + ld c, $3e ; 62 +.loop4 + ld [hli], a + dec c + jr nz, .loop4 + ld a, e + ld c, $22 ; 34 +.loop5 + ld [hli], a + dec c + jr nz, .loop5 + xor a + ld c, $30 ; 48 +.loop6 + ld [hli], a + dec c + jr nz, .loop6 + ret +; 4ea0a |