2014-05-22 22:13:20 +00:00
|
|
|
PlayIntro: ; 41682 (10:5682)
|
|
|
|
xor a
|
2014-05-25 17:51:53 +00:00
|
|
|
ld [hJoyHeld], a
|
2014-05-22 22:13:20 +00:00
|
|
|
inc a
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a
|
|
|
|
call PlayShootingStar
|
|
|
|
call PlayIntroScene
|
2014-09-13 07:50:56 +00:00
|
|
|
call GBFadeOutToWhite
|
2014-05-22 22:13:20 +00:00
|
|
|
xor a
|
2015-02-07 10:43:08 +00:00
|
|
|
ld [hSCX], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a
|
2014-05-23 22:34:35 +00:00
|
|
|
call ClearSprites
|
2014-05-22 22:13:20 +00:00
|
|
|
call DelayFrame
|
|
|
|
ret
|
|
|
|
|
|
|
|
PlayIntroScene: ; 4169d (10:569d)
|
|
|
|
ld b, $7
|
|
|
|
call GoPAL_SET
|
|
|
|
ld a, %11100100
|
|
|
|
ld [rBGP], a
|
|
|
|
ld [rOBP0], a
|
|
|
|
ld [rOBP1], a
|
|
|
|
xor a
|
2015-02-07 10:43:08 +00:00
|
|
|
ld [hSCX], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld b, $3
|
|
|
|
call Func_4183f
|
|
|
|
ld a, 0
|
|
|
|
ld [W_BASECOORDX], a
|
|
|
|
ld a, 80
|
|
|
|
ld [W_BASECOORDY], a
|
|
|
|
ld bc, $606
|
|
|
|
call Func_417c7
|
|
|
|
ld de, $28ff
|
|
|
|
call Func_4180e
|
|
|
|
ret c
|
|
|
|
|
|
|
|
; hip
|
|
|
|
ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
|
|
|
|
call PlaySound
|
|
|
|
xor a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wd09f], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld de, IntroNidorinoAnimation1
|
|
|
|
call AnimateIntroNidorino
|
|
|
|
; hop
|
|
|
|
ld a, (SFX_1f_60 - SFX_Headers_1f) / 3
|
|
|
|
call PlaySound
|
|
|
|
ld de, IntroNidorinoAnimation2
|
|
|
|
call AnimateIntroNidorino
|
|
|
|
ld c, $a
|
|
|
|
call CheckForUserInterruption
|
|
|
|
ret c
|
|
|
|
|
|
|
|
; hip
|
|
|
|
ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
|
|
|
|
call PlaySound
|
|
|
|
ld de, IntroNidorinoAnimation1
|
|
|
|
call AnimateIntroNidorino
|
|
|
|
; hop
|
|
|
|
ld a, (SFX_1f_60 - SFX_Headers_1f) / 3
|
|
|
|
call PlaySound
|
|
|
|
ld de, IntroNidorinoAnimation2
|
|
|
|
call AnimateIntroNidorino
|
|
|
|
ld c, $1e
|
|
|
|
call CheckForUserInterruption
|
|
|
|
ret c
|
|
|
|
|
|
|
|
; raise
|
|
|
|
ld b, $4
|
|
|
|
call Func_4183f
|
|
|
|
ld a, (SFX_1f_61 - SFX_Headers_1f) / 3
|
|
|
|
call PlaySound
|
|
|
|
ld de, $401
|
|
|
|
call Func_4180e
|
|
|
|
ld c, $1e
|
|
|
|
call CheckForUserInterruption
|
|
|
|
ret c
|
|
|
|
|
|
|
|
; slash
|
|
|
|
ld b, $5
|
|
|
|
call Func_4183f
|
|
|
|
ld a, (SFX_1f_62 - SFX_Headers_1f) / 3
|
|
|
|
call PlaySound
|
|
|
|
ld de, $800
|
|
|
|
call Func_4180e
|
|
|
|
; hip
|
|
|
|
ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
|
|
|
|
call PlaySound
|
|
|
|
ld a, $24
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wd09f], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld de, IntroNidorinoAnimation3
|
|
|
|
call AnimateIntroNidorino
|
|
|
|
ld c, $1e
|
|
|
|
call CheckForUserInterruption
|
|
|
|
ret c
|
|
|
|
|
|
|
|
ld de, $401
|
|
|
|
call Func_4180e
|
|
|
|
ld b, $3
|
|
|
|
call Func_4183f
|
|
|
|
ld c, $3c
|
|
|
|
call CheckForUserInterruption
|
|
|
|
ret c
|
|
|
|
|
|
|
|
; hip
|
|
|
|
ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
|
|
|
|
call PlaySound
|
|
|
|
xor a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wd09f], a
|
2015-07-03 19:37:53 +00:00
|
|
|
ld de, IntroNidorinoAnimation4
|
2014-05-22 22:13:20 +00:00
|
|
|
call AnimateIntroNidorino
|
|
|
|
; hop
|
|
|
|
ld a, (SFX_1f_60 - SFX_Headers_1f) / 3
|
|
|
|
call PlaySound
|
2015-07-03 19:37:53 +00:00
|
|
|
ld de, IntroNidorinoAnimation5
|
2014-05-22 22:13:20 +00:00
|
|
|
call AnimateIntroNidorino
|
|
|
|
ld c, $14
|
|
|
|
call CheckForUserInterruption
|
|
|
|
ret c
|
|
|
|
|
|
|
|
ld a, $24
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wd09f], a
|
2015-07-03 19:37:53 +00:00
|
|
|
ld de, IntroNidorinoAnimation6
|
2014-05-22 22:13:20 +00:00
|
|
|
call AnimateIntroNidorino
|
|
|
|
ld c, $1e
|
|
|
|
call CheckForUserInterruption
|
|
|
|
ret c
|
|
|
|
|
|
|
|
; lunge
|
|
|
|
ld a, (SFX_1f_5e - SFX_Headers_1f) / 3
|
|
|
|
call PlaySound
|
|
|
|
ld a, $48
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wd09f], a
|
2015-07-03 19:37:53 +00:00
|
|
|
ld de, IntroNidorinoAnimation7
|
2014-05-22 22:13:20 +00:00
|
|
|
jp AnimateIntroNidorino
|
|
|
|
|
|
|
|
AnimateIntroNidorino: ; 41793 (10:5793)
|
|
|
|
ld a, [de]
|
|
|
|
cp $50
|
|
|
|
ret z
|
2015-07-03 19:37:53 +00:00
|
|
|
ld [W_BASECOORDY], a
|
2014-05-22 22:13:20 +00:00
|
|
|
inc de
|
|
|
|
ld a, [de]
|
2015-07-03 19:37:53 +00:00
|
|
|
ld [W_BASECOORDX], a
|
2014-05-22 22:13:20 +00:00
|
|
|
push de
|
|
|
|
ld c, $24
|
|
|
|
call Func_417ae
|
|
|
|
ld c, 5
|
|
|
|
call DelayFrames
|
|
|
|
pop de
|
|
|
|
inc de
|
|
|
|
jr AnimateIntroNidorino
|
|
|
|
|
|
|
|
Func_417ae: ; 417ae (10:57ae)
|
|
|
|
ld hl, wOAMBuffer
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wd09f]
|
2014-05-22 22:13:20 +00:00
|
|
|
ld d, a
|
|
|
|
.asm_417b5
|
2015-07-03 19:37:53 +00:00
|
|
|
ld a, [W_BASECOORDY]
|
2014-05-22 22:13:20 +00:00
|
|
|
add [hl]
|
|
|
|
ld [hli], a
|
2015-07-03 19:37:53 +00:00
|
|
|
ld a, [W_BASECOORDX]
|
2014-05-22 22:13:20 +00:00
|
|
|
add [hl]
|
|
|
|
ld [hli], a
|
|
|
|
ld a, d
|
|
|
|
ld [hli], a
|
|
|
|
inc hl
|
|
|
|
inc d
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_417b5
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_417c7: ; 417c7 (10:57c7)
|
|
|
|
ld hl, wOAMBuffer
|
|
|
|
ld d, $0
|
|
|
|
.asm_417cc
|
|
|
|
push bc
|
2015-07-03 19:37:53 +00:00
|
|
|
ld a, [W_BASECOORDY]
|
2014-05-22 22:13:20 +00:00
|
|
|
ld e, a
|
|
|
|
.asm_417d1
|
|
|
|
ld a, e
|
|
|
|
add $8
|
|
|
|
ld e, a
|
|
|
|
ld [hli], a
|
2015-07-03 19:37:53 +00:00
|
|
|
ld a, [W_BASECOORDX]
|
2014-05-22 22:13:20 +00:00
|
|
|
ld [hli], a
|
|
|
|
ld a, d
|
|
|
|
ld [hli], a
|
|
|
|
ld a, $80
|
|
|
|
ld [hli], a
|
|
|
|
inc d
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_417d1
|
2015-07-03 19:37:53 +00:00
|
|
|
ld a, [W_BASECOORDX]
|
2014-05-22 22:13:20 +00:00
|
|
|
add $8
|
2015-07-03 19:37:53 +00:00
|
|
|
ld [W_BASECOORDX], a
|
2014-05-22 22:13:20 +00:00
|
|
|
pop bc
|
|
|
|
dec b
|
|
|
|
jr nz, .asm_417cc
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_417f0: ; 417f0 (10:57f0)
|
2014-05-29 08:31:46 +00:00
|
|
|
ld hl, vBGMap1
|
2014-05-22 22:13:20 +00:00
|
|
|
ld bc, $240
|
|
|
|
jr asm_417fe
|
|
|
|
|
|
|
|
Func_417f8: ; 417f8 (10:57f8)
|
2014-06-25 20:58:27 +00:00
|
|
|
hlCoord 0, 4
|
2014-05-22 22:13:20 +00:00
|
|
|
ld bc, $c8
|
|
|
|
asm_417fe: ; 417fe (10:57fe)
|
|
|
|
ld [hl], $0
|
|
|
|
inc hl
|
|
|
|
dec bc
|
|
|
|
ld a, b
|
|
|
|
or c
|
|
|
|
jr nz, asm_417fe
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_41807: ; 41807 (10:5807)
|
|
|
|
ld a, $1
|
|
|
|
.asm_41809
|
|
|
|
ld [hli], a
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_41809
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_4180e: ; 4180e (10:580e)
|
|
|
|
ld a, e
|
|
|
|
cp $ff
|
|
|
|
jr z, .asm_4181d
|
|
|
|
cp $1
|
|
|
|
jr z, .asm_4182d
|
2015-02-07 10:43:08 +00:00
|
|
|
ld a, [hSCX]
|
2014-05-22 22:13:20 +00:00
|
|
|
dec a
|
|
|
|
dec a
|
|
|
|
jr .asm_41831
|
|
|
|
.asm_4181d
|
|
|
|
push de
|
|
|
|
ld a, $2
|
2015-07-03 19:37:53 +00:00
|
|
|
ld [W_BASECOORDX], a
|
2014-05-22 22:13:20 +00:00
|
|
|
xor a
|
2015-07-03 19:37:53 +00:00
|
|
|
ld [W_BASECOORDY], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld c, $24
|
|
|
|
call Func_417ae
|
|
|
|
pop de
|
|
|
|
.asm_4182d
|
2015-02-07 10:43:08 +00:00
|
|
|
ld a, [hSCX]
|
2014-05-22 22:13:20 +00:00
|
|
|
inc a
|
|
|
|
inc a
|
|
|
|
.asm_41831
|
2015-02-07 10:43:08 +00:00
|
|
|
ld [hSCX], a
|
2014-05-22 22:13:20 +00:00
|
|
|
push de
|
|
|
|
ld c, $2
|
|
|
|
call CheckForUserInterruption
|
|
|
|
pop de
|
|
|
|
ret c
|
|
|
|
dec d
|
|
|
|
jr nz, Func_4180e
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_4183f: ; 4183f (10:583f)
|
2014-06-25 20:58:27 +00:00
|
|
|
hlCoord 13, 7
|
2014-05-22 22:13:20 +00:00
|
|
|
|
2015-02-07 10:43:08 +00:00
|
|
|
CopyTileIDsFromList_ZeroBaseTileID: ; 41842 (10:5842)
|
2014-05-22 22:13:20 +00:00
|
|
|
ld c, $0
|
2015-02-07 10:43:08 +00:00
|
|
|
predef_jump CopyTileIDsFromList
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
Func_41849: ; 41849 (10:5849)
|
2015-07-03 19:37:53 +00:00
|
|
|
predef GetMoveSoundB
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, b
|
|
|
|
jp PlaySound
|
|
|
|
|
|
|
|
LoadIntroGraphics: ; 41852 (10:5852)
|
2015-07-03 19:37:53 +00:00
|
|
|
ld hl, FightIntroBackMon
|
2014-05-29 08:31:46 +00:00
|
|
|
ld de, vChars2
|
2014-05-22 22:13:20 +00:00
|
|
|
ld bc, $600
|
|
|
|
ld a, BANK(FightIntroBackMon)
|
|
|
|
call FarCopyData2
|
2015-07-03 19:37:53 +00:00
|
|
|
ld hl, GameFreakIntro
|
2014-05-29 08:31:46 +00:00
|
|
|
ld de, vChars2 + $600
|
2014-05-22 22:13:20 +00:00
|
|
|
ld bc, $140
|
|
|
|
ld a, BANK(GameFreakIntro)
|
|
|
|
call FarCopyData2
|
2015-07-03 19:37:53 +00:00
|
|
|
ld hl, GameFreakIntro
|
2014-05-29 08:31:46 +00:00
|
|
|
ld de, vChars1
|
2014-05-22 22:13:20 +00:00
|
|
|
ld bc, $140
|
|
|
|
ld a, BANK(GameFreakIntro)
|
|
|
|
call FarCopyData2
|
2015-07-03 19:37:53 +00:00
|
|
|
ld hl, FightIntroFrontMon
|
2014-05-29 08:31:46 +00:00
|
|
|
ld de, vChars0
|
2014-05-22 22:13:20 +00:00
|
|
|
ld bc, $6c0
|
|
|
|
ld a, BANK(FightIntroFrontMon)
|
|
|
|
jp FarCopyData2
|
|
|
|
|
|
|
|
PlayShootingStar: ; 4188a (10:588a)
|
|
|
|
ld b, $c
|
|
|
|
call GoPAL_SET
|
|
|
|
callba LoadCopyrightAndTextBoxTiles
|
|
|
|
ld a, $e4
|
2015-07-03 19:37:53 +00:00
|
|
|
ld [rBGP], a
|
|
|
|
ld c, 180
|
2014-05-22 22:13:20 +00:00
|
|
|
call DelayFrames
|
|
|
|
call ClearScreen
|
|
|
|
call DisableLCD
|
|
|
|
xor a
|
2015-07-03 19:37:53 +00:00
|
|
|
ld [W_CUROPPONENT], a
|
2014-05-22 22:13:20 +00:00
|
|
|
call Func_418e9
|
|
|
|
call LoadIntroGraphics
|
|
|
|
call EnableLCD
|
2015-07-03 19:37:53 +00:00
|
|
|
ld hl, rLCDC
|
2014-05-22 22:13:20 +00:00
|
|
|
res 5, [hl]
|
|
|
|
set 3, [hl]
|
2015-07-03 19:37:53 +00:00
|
|
|
ld c, 64
|
2014-05-22 22:13:20 +00:00
|
|
|
call DelayFrames
|
|
|
|
callba AnimateShootingStar
|
|
|
|
push af
|
|
|
|
pop af
|
|
|
|
jr c, .asm_418d0
|
2015-07-03 19:37:53 +00:00
|
|
|
ld c, 40
|
2014-05-22 22:13:20 +00:00
|
|
|
call DelayFrames
|
|
|
|
.asm_418d0
|
2014-06-09 20:18:29 +00:00
|
|
|
ld a, BANK(Music_IntroBattle)
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wc0ef], a
|
|
|
|
ld [wc0f0], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, MUSIC_INTRO_BATTLE
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wc0ee], a
|
2014-05-22 22:13:20 +00:00
|
|
|
call PlaySound
|
|
|
|
call Func_417f8
|
2014-05-23 22:34:35 +00:00
|
|
|
call ClearSprites
|
2014-05-22 22:13:20 +00:00
|
|
|
jp Delay3
|
|
|
|
|
|
|
|
Func_418e9: ; 418e9 (10:58e9)
|
|
|
|
call Func_417f0
|
|
|
|
ld hl, wTileMap
|
|
|
|
ld c, $50
|
|
|
|
call Func_41807
|
2014-06-25 20:58:27 +00:00
|
|
|
hlCoord 0, 14
|
2014-05-22 22:13:20 +00:00
|
|
|
ld c, $50
|
|
|
|
call Func_41807
|
2014-05-29 08:31:46 +00:00
|
|
|
ld hl, vBGMap1
|
2014-05-22 22:13:20 +00:00
|
|
|
ld c, $80
|
|
|
|
call Func_41807
|
2014-05-29 08:31:46 +00:00
|
|
|
ld hl, vBGMap1 + $1c0
|
2014-05-22 22:13:20 +00:00
|
|
|
ld c, $80
|
|
|
|
jp Func_41807
|
|
|
|
|
|
|
|
Func_4190c: ; 4190c (10:590c)
|
|
|
|
ret
|
|
|
|
|
|
|
|
IntroNidorinoAnimation0: ; 4190d (10:590d)
|
|
|
|
db 0, 0
|
|
|
|
db $50
|
|
|
|
|
|
|
|
IntroNidorinoAnimation1: ; 41910 (10:5910)
|
|
|
|
; This is a sequence of pixel movements for part of the Nidorino animation. This
|
|
|
|
; list describes how Nidorino should hop.
|
|
|
|
; First byte is y movement, second byte is x movement
|
|
|
|
db 0, 0
|
|
|
|
db -2, 2
|
|
|
|
db -1, 2
|
|
|
|
db 1, 2
|
|
|
|
db 2, 2
|
|
|
|
db $50 ; list terminator
|
|
|
|
|
|
|
|
IntroNidorinoAnimation2: ; 4191b (10:591b)
|
|
|
|
; This is a sequence of pixel movements for part of the Nidorino animation.
|
|
|
|
; First byte is y movement, second byte is x movement
|
|
|
|
db 0, 0
|
|
|
|
db -2, -2
|
|
|
|
db -1, -2
|
|
|
|
db 1, -2
|
|
|
|
db 2, -2
|
|
|
|
db $50 ; list terminator
|
|
|
|
|
|
|
|
IntroNidorinoAnimation3: ; 41926 (10:5926)
|
|
|
|
; This is a sequence of pixel movements for part of the Nidorino animation.
|
|
|
|
; First byte is y movement, second byte is x movement
|
|
|
|
db 0, 0
|
|
|
|
db -12, 6
|
|
|
|
db -8, 6
|
|
|
|
db 8, 6
|
|
|
|
db 12, 6
|
|
|
|
db $50 ; list terminator
|
|
|
|
|
|
|
|
IntroNidorinoAnimation4: ; 41931 (10:5931)
|
|
|
|
; This is a sequence of pixel movements for part of the Nidorino animation.
|
|
|
|
; First byte is y movement, second byte is x movement
|
|
|
|
db 0, 0
|
|
|
|
db -8, -4
|
|
|
|
db -4, -4
|
|
|
|
db 4, -4
|
|
|
|
db 8, -4
|
|
|
|
db $50 ; list terminator
|
|
|
|
|
|
|
|
IntroNidorinoAnimation5: ; 4193c (10:593c)
|
|
|
|
; This is a sequence of pixel movements for part of the Nidorino animation.
|
|
|
|
; First byte is y movement, second byte is x movement
|
|
|
|
db 0, 0
|
|
|
|
db -8, 4
|
|
|
|
db -4, 4
|
|
|
|
db 4, 4
|
|
|
|
db 8, 4
|
|
|
|
db $50 ; list terminator
|
|
|
|
|
|
|
|
IntroNidorinoAnimation6: ; 41947 (10:5947)
|
|
|
|
; This is a sequence of pixel movements for part of the Nidorino animation.
|
|
|
|
; First byte is y movement, second byte is x movement
|
|
|
|
db 0, 0
|
|
|
|
db 2, 0
|
|
|
|
db 2, 0
|
|
|
|
db 0, 0
|
|
|
|
db $50 ; list terminator
|
|
|
|
|
|
|
|
IntroNidorinoAnimation7: ; 41950 (10:5950)
|
|
|
|
; This is a sequence of pixel movements for part of the Nidorino animation.
|
|
|
|
; First byte is y movement, second byte is x movement
|
|
|
|
db -8, -16
|
|
|
|
db -7, -14
|
|
|
|
db -6, -12
|
|
|
|
db -4, -10
|
|
|
|
db $50 ; list terminator
|
|
|
|
|
|
|
|
GameFreakIntro: ; 41959 (10:5959)
|
2014-05-30 08:30:10 +00:00
|
|
|
INCBIN "gfx/gamefreak_intro.2bpp"
|
2014-05-22 22:13:20 +00:00
|
|
|
INCBIN "gfx/gamefreak_logo.2bpp"
|
|
|
|
ds $10 ; blank tile
|
|
|
|
|
|
|
|
FightIntroBackMon: ; 41a99 (10:5a99)
|
|
|
|
INCBIN "gfx/intro_fight.2bpp"
|
|
|
|
|
|
|
|
FightIntroFrontMon: ; 42099 (10:6099)
|
|
|
|
|
2014-10-17 08:42:32 +00:00
|
|
|
IF DEF(_RED)
|
2014-05-22 22:13:20 +00:00
|
|
|
INCBIN "gfx/red/intro_nido_1.6x6.2bpp"
|
|
|
|
INCBIN "gfx/red/intro_nido_2.6x6.2bpp"
|
|
|
|
INCBIN "gfx/red/intro_nido_3.6x6.2bpp"
|
|
|
|
ds $10 ; blank tile
|
|
|
|
ENDC
|
2014-10-17 08:42:32 +00:00
|
|
|
IF DEF(_BLUE)
|
2014-05-22 22:13:20 +00:00
|
|
|
INCBIN "gfx/blue/intro_purin_1.6x6.2bpp"
|
|
|
|
INCBIN "gfx/blue/intro_purin_2.6x6.2bpp"
|
|
|
|
INCBIN "gfx/blue/intro_purin_3.6x6.2bpp"
|
|
|
|
ds $10 ; blank tile
|
|
|
|
ENDC
|