summaryrefslogtreecommitdiff
path: root/engine/credits.asm
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2015-12-14 20:06:41 -0500
committerPikalaxALT <PikalaxALT@gmail.com>2015-12-14 20:06:41 -0500
commit6e257bc7cdab3249cc8fbdf4c808f0ebc442022e (patch)
treee95666a37642f3ebc1e9b03dbd6d9126e13a799f /engine/credits.asm
parentc635e30777ba57e3fd4249862fd562936d0d47bd (diff)
mystery gift, credits
Diffstat (limited to 'engine/credits.asm')
-rw-r--r--engine/credits.asm265
1 files changed, 136 insertions, 129 deletions
diff --git a/engine/credits.asm b/engine/credits.asm
index 3ebfdb8de..502c85768 100644
--- a/engine/credits.asm
+++ b/engine/credits.asm
@@ -1,5 +1,8 @@
INCLUDE "includes.asm"
+wCreditsBorderFrame EQU $cf64
+wCreditsBorderMon EQU $cf65
+wCreditsLYOverride EQU $cf66
SECTION "Credits", ROMX, BANK[CREDITS]
@@ -119,11 +122,11 @@ const_value SET -7
Credits:: ; 109847
- bit 6, b
+ bit 6, b ; Hall Of Fame
ld a, $0
- jr z, .asm_10984f
+ jr z, .okay
ld a, $40
-.asm_10984f
+.okay
ld [wJumptableIndex], a
ld a, [rSVBK]
@@ -135,17 +138,17 @@ Credits:: ; 109847
call ClearTileMap
call ClearSprites
- ld hl, wca00
+ ld hl, wCreditsFaux2bpp
ld c, $80
ld de, $ff00
-.asm_10986a
+.load_loop
ld a, e
ld [hli], a
ld a, d
ld [hli], a
dec c
- jr nz, .asm_10986a
+ jr nz, .load_loop
ld de, CreditsBorderGFX
ld hl, VTiles2 tile $20
@@ -163,20 +166,20 @@ Credits:: ; 109847
call Request2bpp
ld a, $ff
- ld [wcf64], a
+ ld [wCreditsBorderFrame], a
xor a
- ld [wcf65], a
+ ld [wCreditsBorderMon], a
- call Function109bca
+ call Credits_LoadBorderGFX
ld e, l
ld d, h
ld hl, VTiles2
- lb bc, BANK(CreditsMonsGFX), $10
+ lb bc, BANK(CreditsMonsGFX), 16
call Request2bpp
- call Function109a95
+ call ConstructCreditsTilemap
xor a
- ld [wcf66], a
+ ld [wCreditsLYOverride], a
ld hl, LYOverrides
ld bc, $100
@@ -200,16 +203,16 @@ Credits:: ; 109847
ld [wcd21], a
ld [CreditsTimer], a
-.asm_1098de
- call Function109908
- call Function1098fd
- jr nz, .asm_1098ee
+.execution_loop
+ call Credits_HandleBButton
+ call Credits_HandleAButton
+ jr nz, .exit_credits
- call Function109926
+ call Credits_Jumptable
call DelayFrame
- jr .asm_1098de
+ jr .execution_loop
-.asm_1098ee
+.exit_credits
call ClearBGPalettes
xor a
ld [hLCDStatCustom], a
@@ -221,18 +224,18 @@ Credits:: ; 109847
ret
; 1098fd
-Function1098fd: ; 1098fd
+Credits_HandleAButton: ; 1098fd
ld a, [hJoypadDown]
- and $1
+ and A_BUTTON
ret z
ld a, [wJumptableIndex]
bit 7, a
ret
; 109908
-Function109908: ; 109908
+Credits_HandleBButton: ; 109908
ld a, [hJoypadDown]
- and $2
+ and B_BUTTON
ret z
ld a, [wJumptableIndex]
bit 6, a
@@ -240,12 +243,11 @@ Function109908: ; 109908
ld hl, CreditsPos
ld a, [hli]
cp $d
- jr nc, .asm_10991e
+ jr nc, .okay
ld a, [hli]
and a
ret z
-
-.asm_10991e
+.okay
ld hl, CreditsTimer
ld a, [hl]
and a
@@ -254,12 +256,12 @@ Function109908: ; 109908
ret
; 109926
-Function109926: ; 109926
+Credits_Jumptable: ; 109926
ld a, [wJumptableIndex]
and $f
ld e, a
ld d, 0
- ld hl, Jumptable_109937
+ ld hl, .Jumptable
rept 2
add hl, de
endr
@@ -270,79 +272,80 @@ endr
; 109937
-Jumptable_109937: ; 109937 (42:5937)
- dw ParseCredits
- dw Function109951
- dw Function109951
- dw Function10995e
- dw Function109964
- dw Function10997b
- dw Function109986
- dw Function109951
- dw Function109951
- dw Function109951
- dw Function109964
- dw Function10997b
- dw Function109956
-
-
-Function109951: ; 109951 (42:5951)
+.Jumptable: ; 109937 (42:5937)
+ jumptable_start
+ jumptable ParseCredits
+ jumptable Credits_Next
+ jumptable Credits_Next
+ jumptable Credits_PrepBGMapUpdate
+ jumptable Credits_UpdateGFXRequestPath
+ jumptable Credits_RequestGFX
+ jumptable Credits_LYOverride
+ jumptable Credits_Next
+ jumptable Credits_Next
+ jumptable Credits_Next
+ jumptable Credits_UpdateGFXRequestPath
+ jumptable Credits_RequestGFX
+ jumptable Credits_LoopBack
+
+
+Credits_Next: ; 109951 (42:5951)
ld hl, wJumptableIndex
inc [hl]
ret
-Function109956: ; 109956 (42:5956)
+Credits_LoopBack: ; 109956 (42:5956)
ld hl, wJumptableIndex
ld a, [hl]
and $f0
ld [hl], a
ret
-Function10995e: ; 10995e (42:595e)
+Credits_PrepBGMapUpdate: ; 10995e (42:595e)
xor a
ld [hBGMapMode], a
- jp Function109951
+ jp Credits_Next
-Function109964: ; 109964 (42:5964)
- call Function109bca
+Credits_UpdateGFXRequestPath: ; 109964 (42:5964)
+ call Credits_LoadBorderGFX
ld a, l
ld [Requested2bppSource], a
ld a, h
ld [Requested2bppSource + 1], a
- ld a, $0
+ ld a, VTiles2 % $100
ld [Requested2bppDest], a
- ld a, $90
+ ld a, VTiles2 / $100
ld [Requested2bppDest + 1], a
- jr Function10997b
+ jr Credits_RequestGFX
-Function10997b: ; 10997b (42:597b)
+Credits_RequestGFX: ; 10997b (42:597b)
xor a
ld [hBGMapMode], a
ld a, $8
ld [Requested2bpp], a
- jp Function109951
+ jp Credits_Next
-Function109986: ; 109986 (42:5986)
+Credits_LYOverride: ; 109986 (42:5986)
ld a, [rLY]
cp $30
- jr c, Function109986
- ld a, [wcf66]
+ jr c, Credits_LYOverride
+ ld a, [wCreditsLYOverride]
rept 2
dec a
endr
- ld [wcf66], a
+ ld [wCreditsLYOverride], a
ld hl, LYOverrides + $1f
- call Function1099a3
+ call .Fill
ld hl, LYOverrides + $87
- call Function1099a3
- jp Function109951
+ call .Fill
+ jp Credits_Next
-Function1099a3: ; 1099a3 (42:59a3)
+.Fill: ; 1099a3 (42:59a3)
ld c, $8
-.asm_1099a5
+.loop
ld [hli], a
dec c
- jr nz, .asm_1099a5
+ jr nz, .loop
ret
; 1099aa
@@ -437,15 +440,15 @@ endr
.theend
; Display "The End" graphic.
- call Function109c11
+ call Credits_TheEnd
jr .loop
.scene
; Update the scene number and corresponding palette.
call .get
- ld [wcf65], a ; scene
+ ld [wCreditsBorderMon], a ; scene
xor a
- ld [wcf64], a ; frame
+ ld [wCreditsBorderFrame], a ; frame
call GetCreditsPalette
call SetPalettes ; update hw pal registers
jr .loop
@@ -453,7 +456,7 @@ endr
.clear
; Clear the banner.
ld a, $ff
- ld [wcf64], a ; frame
+ ld [wCreditsBorderFrame], a ; frame
jr .loop
.music
@@ -484,13 +487,13 @@ endr
ld [hBGMapMode], a
.done
- jp Function109951
+ jp Credits_Next
.end
; Stop execution.
ld hl, wJumptableIndex
set 7, [hl]
- ld a, $20
+ ld a, 32
ld [MusicFade], a
ld a, MUSIC_POST_CREDITS % $100
ld [MusicFadeID], a
@@ -521,91 +524,96 @@ endr
; 109a95
-Function109a95: ; 109a95 (42:5a95)
+ConstructCreditsTilemap: ; 109a95 (42:5a95)
xor a
ld [hBGMapMode], a
ld a, $c
ld [hBGMapAddress], a
+
ld a, $28
hlcoord 0, 0
- ld bc, $168
+ ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
call ByteFill
+
ld a, $7f
hlcoord 0, 4
- ld bc, $118
+ ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH
call ByteFill
+
hlcoord 0, 4
ld a, $24
- call Function109b1d
+ call DrawCreditsBorder
+
hlcoord 0, 17
ld a, $20
- call Function109b1d
+ call DrawCreditsBorder
+
hlcoord 0, 0, AttrMap
- ld bc, $50
+ ld bc, 4 * SCREEN_WIDTH
xor a
call ByteFill
+
hlcoord 0, 4, AttrMap
- ld bc, $14
+ ld bc, SCREEN_WIDTH
ld a, $1
call ByteFill
+
hlcoord 0, 5, AttrMap
- ld bc, $f0
+ ld bc, 12 * SCREEN_WIDTH
ld a, $2
call ByteFill
+
hlcoord 0, 17, AttrMap
- ld bc, $14
+ ld bc, SCREEN_WIDTH
ld a, $1
call ByteFill
+
call WaitBGMap2
xor a
ld [hBGMapMode], a
ld [hBGMapAddress], a
hlcoord 0, 0
- call Function109aff
+ call .InitTopPortion
call WaitBGMap2
ret
-Function109aff: ; 109aff (42:5aff)
- ld b, $5
-.asm_109b01
+.InitTopPortion: ; 109aff (42:5aff)
+ ld b, 5
+.outer_loop
push hl
- ld de, $11
- ld c, $4
+ ld de, SCREEN_WIDTH - 3
+ ld c, 4
xor a
-.asm_109b08
- ld [hli], a
- inc a
- ld [hli], a
- inc a
+.inner_loop
+rept 3
ld [hli], a
inc a
+endr
ld [hl], a
inc a
add hl, de
dec c
- jr nz, .asm_109b08
+ jr nz, .inner_loop
pop hl
rept 4
inc hl
endr
dec b
- jr nz, .asm_109b01
+ jr nz, .outer_loop
ret
-Function109b1d: ; 109b1d (42:5b1d)
- ld c, $5
-.asm_109b1f
+DrawCreditsBorder: ; 109b1d (42:5b1d)
+ ld c, SCREEN_WIDTH / 4
+.loop
push af
+rept 3
ld [hli], a
inc a
- ld [hli], a
- inc a
- ld [hli], a
- inc a
+endr
ld [hli], a
pop af
dec c
- jr nz, .asm_109b1f
+ jr nz, .loop
ret
GetCreditsPalette: ; 109b2c
@@ -619,7 +627,7 @@ GetCreditsPalette: ; 109b2c
.GetPalAddress
; Each set of palette data is 24 bytes long.
- ld a, [wcf65] ; scene
+ ld a, [wCreditsBorderMon] ; scene
and 3
add a
add a ; * 8
@@ -724,18 +732,18 @@ CreditsPalettes:
RGB 31, 31, 31
; 109bca
-Function109bca: ; 109bca (42:5bca)
- ld hl, wcf64
+Credits_LoadBorderGFX: ; 109bca (42:5bca)
+ ld hl, wCreditsBorderFrame
ld a, [hl]
cp $ff
- jr z, .asm_109bed
+ jr z, .init
and 3
ld e, a
inc a
and 3
ld [hl], a
- ld a, [wcf65]
+ ld a, [wCreditsBorderMon]
and 3
rept 2
add a
@@ -744,50 +752,49 @@ endr
add a
ld e, a
ld d, 0
- ld hl, CreditsMonsFrames
+ ld hl, .Frames
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
ret
-.asm_109bed
- ld hl, wca00
+.init
+ ld hl, wCreditsFaux2bpp
ret
; 109bf1 (42:5bf1)
-CreditsMonsFrames: ; 109bf1
+.Frames: ; 109bf1
dw CreditsPichuGFX
- dw CreditsPichuGFX + $100
- dw CreditsPichuGFX + $200
- dw CreditsPichuGFX + $300
+ dw CreditsPichuGFX + 16 tiles
+ dw CreditsPichuGFX + 32 tiles
+ dw CreditsPichuGFX + 48 tiles
dw CreditsSmoochumGFX
- dw CreditsSmoochumGFX + $100
- dw CreditsSmoochumGFX + $200
- dw CreditsSmoochumGFX + $300
+ dw CreditsSmoochumGFX + 16 tiles
+ dw CreditsSmoochumGFX + 32 tiles
+ dw CreditsSmoochumGFX + 48 tiles
dw CreditsDittoGFX
- dw CreditsDittoGFX + $100
- dw CreditsDittoGFX + $200
- dw CreditsDittoGFX + $300
+ dw CreditsDittoGFX + 16 tiles
+ dw CreditsDittoGFX + 32 tiles
+ dw CreditsDittoGFX + 48 tiles
dw CreditsIgglybuffGFX
- dw CreditsIgglybuffGFX + $100
- dw CreditsIgglybuffGFX + $200
- dw CreditsIgglybuffGFX + $300
+ dw CreditsIgglybuffGFX + 16 tiles
+ dw CreditsIgglybuffGFX + 32 tiles
+ dw CreditsIgglybuffGFX + 48 tiles
; 109c11
-Function109c11: ; 109c11 (42:5c11)
+Credits_TheEnd: ; 109c11 (42:5c11)
ld a, $40
hlcoord 6, 9
- call Function109c1c
+ call .Load
hlcoord 6, 10
-
-Function109c1c: ; 109c1c (42:5c1c)
- ld c, $8
-.asm_109c1e
+.Load: ; 109c1c (42:5c1c)
+ ld c, 8
+.loop
ld [hli], a
inc a
dec c
- jr nz, .asm_109c1e
+ jr nz, .loop
ret
; 109c24 (42:5c24)