pokecrystal/engine/crystal_intro.asm

2532 lines
36 KiB
NASM
Executable File

Functione455c: ; e455c
hlcoord 1, 1
ld de, SCREEN_WIDTH
ld c, $10
.asm_e4564
ld [hl], $7f
add hl, de
dec c
jr nz, .asm_e4564
hlcoord 1, 2
ld bc, $28
ld a, [wJumptableIndex]
call AddNTimes
ld [hl], $ed
ret
; e4579
Functione4579: ; e4579
ld de, MUSIC_NONE
call PlayMusic
call ClearBGPalettes
call ClearTileMap
ld a, VBGMap0 / $100
ld [hBGMapAddress + 1], a
xor a
ld [hBGMapAddress], a
ld [hJoyDown], a
ld [hSCX], a
ld [hSCY], a
ld a, $90
ld [hWY], a
call WaitBGMap
ld b, SCGB_19
call GetSGBLayout
call SetPalettes
ld c, 10
call DelayFrames
callab Copyright
call WaitBGMap
ld c, 100
call DelayFrames
call ClearTileMap
callba GBCOnlyScreen
call Functione45e8
.joy_loop
call JoyTextDelay
ld a, [hJoyLast]
and BUTTONS
jr nz, .pressed_button
ld a, [wJumptableIndex]
bit 7, a
jr nz, .finish
call PlaceGameFreakPresents
callba Function8cf69
call DelayFrame
jr .joy_loop
.pressed_button
call Functione465e
scf
ret
.finish
call Functione465e
and a
ret
; e45e8
Functione45e8: ; e45e8
ld de, GameFreakLogo
ld hl, VTiles2
lb bc, BANK(GameFreakLogo), $1c
call Get1bpp
ld a, [rSVBK]
push af
ld a, $6
ld [rSVBK], a
ld hl, IntroLogoGFX
ld de, w6_d000
ld a, BANK(IntroLogoGFX)
call FarDecompress
ld hl, VTiles0
ld de, w6_d000
lb bc, 1, 8 tiles
call Request2bpp
ld hl, VTiles1
ld de, w6_d000 + $80 tiles
lb bc, 1, 8 tiles
call Request2bpp
pop af
ld [rSVBK], a
callba Function8cf53
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_03
call _InitSpriteAnimStruct
ld hl, $7
add hl, bc
ld [hl], $a0
ld hl, $c
add hl, bc
ld [hl], $60
ld hl, $d
add hl, bc
ld [hl], $30
xor a
ld [wJumptableIndex], a
ld [wcf64], a
ld [wcf65], a
ld [hSCX], a
ld [hSCY], a
ld a, $1
ld [hBGMapMode], a
ld a, $90
ld [hWY], a
ld de, $e4e4
call DmgToCgbObjPals
ret
; e465e
Functione465e: ; e465e
callba Function8cf53
call ClearTileMap
call ClearSprites
ld c, 16
call DelayFrames
ret
; e4670
PlaceGameFreakPresents: ; e4670
ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, .jumptable
rept 2
add hl, de
endr
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
; e467f
.jumptable: ; e467f
dw PlaceGameFreakPresents_0
dw PlaceGameFreakPresents_1
dw PlaceGameFreakPresents_2
dw PlaceGameFreakPresents_3
; e4687
PlaceGameFreakPresents_AdvanceIndex: ; e4687
ld hl, wJumptableIndex
inc [hl]
ret
; e468c
PlaceGameFreakPresents_0: ; e468c
ret
; e468d
PlaceGameFreakPresents_1: ; e468d
ld hl, wcf65
ld a, [hl]
cp $20
jr nc, .PlaceGameFreak
inc [hl]
ret
.PlaceGameFreak
ld [hl], 0
ld hl, .GAME_FREAK
decoord 5, 10
ld bc, .end - .GAME_FREAK
call CopyBytes
call PlaceGameFreakPresents_AdvanceIndex
ld de, SFX_GAME_FREAK_PRESENTS
call PlaySFX
ret
; e46af
.GAME_FREAK
; G A M E _ F R E A K
db 0, 1, 2, 3, 13, 4, 5, 3, 1, 6
.end
db "@"
; e46ba
PlaceGameFreakPresents_2: ; e46ba
ld hl, wcf65
ld a, [hl]
cp $40
jr nc, .place_presents
inc [hl]
ret
.place_presents
ld [hl], 0
ld hl, .presents
decoord 7,11
ld bc, .end - .presents
call CopyBytes
call PlaceGameFreakPresents_AdvanceIndex
ret
; e46d6
.presents
db 7, 8, 9, 10, 11, 12
.end
db "@"
; e46dd
PlaceGameFreakPresents_3: ; e46dd
ld hl, wcf65
ld a, [hl]
cp $80
jr nc, .finish
inc [hl]
ret
.finish
ld hl, wJumptableIndex
set 7, [hl]
ret
; e46ed
GameFreakLogoJumper: ; e46ed (39:46ed)
ld hl, $b
add hl, bc
ld e, [hl]
ld d, 0
ld hl, GameFreakLogoScenes
rept 2
add hl, de
endr
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
GameFreakLogoScenes: ; e46fd (39:46fd)
dw GameFreakLogoScene1
dw GameFreakLogoScene2
dw GameFreakLogoScene3
dw GameFreakLogoScene4
dw GameFreakLogoScene5
GameFreakLogoScene1: ; e4707 (39:4707)
ld hl, $b
add hl, bc
inc [hl]
ret
GameFreakLogoScene2: ; e470d (39:470d)
ld hl, $c
add hl, bc
ld a, [hl]
and a
jr z, .asm_e4747
ld d, a
ld hl, $d
add hl, bc
ld a, [hl]
and $3f
cp $20
jr nc, .asm_e4723
add $20
.asm_e4723
ld e, a
callba Functionce765
ld hl, $7
add hl, bc
ld [hl], e
ld hl, $d
add hl, bc
ld a, [hl]
dec [hl]
and $1f
ret nz
ld hl, $c
add hl, bc
ld a, [hl]
sub $30
ld [hl], a
ld de, SFX_DITTO_BOUNCE
call PlaySFX
ret
.asm_e4747
ld hl, $b
add hl, bc
inc [hl]
ld hl, $d
add hl, bc
ld [hl], $0
ld de, SFX_DITTO_POP_UP
call PlaySFX
ret
GameFreakLogoScene3: ; e4759 (39:4759)
ld hl, $d
add hl, bc
ld a, [hl]
cp $20
jr nc, .asm_e4764
inc [hl]
ret
.asm_e4764
ld hl, $b
add hl, bc
inc [hl]
ld hl, $d
add hl, bc
ld [hl], $0
ld de, SFX_DITTO_TRANSFORM
call PlaySFX
ret
GameFreakLogoScene4: ; e4776 (39:4776)
ld hl, $d
add hl, bc
ld a, [hl]
cp $40
jr z, .asm_e47a3
inc [hl]
srl a
srl a
ld e, a
ld d, $0
ld hl, GameFreakLogoPalettes
rept 2
add hl, de
endr
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld a, [hli]
ld [OBPals + 12], a
ld a, [hli]
ld [OBPals + 13], a
pop af
ld [rSVBK], a
ld a, $1
ld [hCGBPalUpdate], a
ret
.asm_e47a3
ld hl, $b
add hl, bc
inc [hl]
call PlaceGameFreakPresents_AdvanceIndex
GameFreakLogoScene5: ; e47ab (39:47ab)
ret
; e47ac (39:47ac)
GameFreakLogoPalettes: ; e47ac
; Ditto's color as it turns into the Game Freak logo.
; Fade from pink to orange.
; One color per step.
RGB 23, 12, 28
RGB 23, 12, 27
RGB 23, 13, 26
RGB 23, 13, 24
RGB 24, 14, 22
RGB 24, 14, 20
RGB 24, 15, 18
RGB 24, 15, 16
RGB 25, 16, 14
RGB 25, 16, 12
RGB 25, 17, 10
RGB 25, 17, 08
RGB 26, 18, 06
RGB 26, 18, 04
RGB 26, 19, 02
RGB 26, 19, 00
;' e47cc
GameFreakLogo: ; e47cc
INCBIN "gfx/splash/logo.1bpp"
; e48ac
CrystalIntro: ; e48ac
ld a, [rSVBK]
push af
ld a, 5
ld [rSVBK], a
ld a, [hInMenu]
push af
ld a, [hVBlank]
push af
call Functione4901
.loop: ; e48bc
call JoyTextDelay
ld a, [hJoyLast]
and BUTTONS
jr nz, .ShutOffMusic
ld a, [wJumptableIndex]
bit 7, a
jr nz, .done
call IntroSceneJumper
callba Function8cf69
call DelayFrame
jp .loop
.ShutOffMusic
ld de, MUSIC_NONE
call PlayMusic
.done
call ClearBGPalettes
call ClearSprites
call ClearTileMap
xor a
ld [hSCX], a
ld [hSCY], a
ld a, $7
ld [hWX], a
ld a, $90
ld [hWY], a
pop af
ld [hVBlank], a
pop af
ld [hInMenu], a
pop af
ld [rSVBK], a
ret
; e4901
Functione4901: ; e4901
xor a
ld [hVBlank], a
ld a, $1
ld [hInMenu], a
xor a
ld [hMapAnims], a
ld [wJumptableIndex], a
ret
; e490f
IntroSceneJumper: ; e490f
ld a, [wJumptableIndex]
ld e, a
ld d, 0
ld hl, IntroScenes
rept 2
add hl, de
endr
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
; e491e
IntroScenes: ; e491e (39:491e)
dw IntroScene1
dw IntroScene2
dw IntroScene3
dw IntroScene4
dw IntroScene5
dw IntroScene6
dw IntroScene7
dw IntroScene8
dw IntroScene9
dw IntroScene10
dw IntroScene11
dw IntroScene12
dw IntroScene13
dw IntroScene14
dw IntroScene15
dw IntroScene16
dw IntroScene17
dw IntroScene18
dw IntroScene19
dw IntroScene20
dw IntroScene21
dw IntroScene22
dw IntroScene23
dw IntroScene24
dw IntroScene25
dw IntroScene26
dw IntroScene27
dw IntroScene28
NextIntroScene: ; e4956 (39:4956)
ld hl, wJumptableIndex
inc [hl]
ret
IntroScene1: ; e495b (39:495b)
; Setup the next scene.
call Functione54a3
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap001
debgcoord 0, 0
call Functione54fa
ld a, $0
ld [rVBK], a
ld hl, IntroUnownsGFX
ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroPulseGFX
ld de, VTiles0 tile $00
call Functione54c2
ld hl, IntroTilemap002
debgcoord 0, 0
call Functione54fa
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_365ad
ld de, UnknBGPals
ld bc, $80
call CopyBytes
ld hl, Palette_365ad
ld de, BGPals
ld bc, $80
call CopyBytes
pop af
ld [rSVBK], a
xor a
ld [hSCX], a
ld [hSCY], a
ld a, $7
ld [hWX], a
ld a, $90
ld [hWY], a
callba Function8cf53
call Functione549e
xor a
ld [wIntroSceneFrameCounter], a
ld [wcf65], a
call NextIntroScene
ret
IntroScene2: ; e49d6 (39:49d6)
; First Unown (A) fades in, pulses, then fades out.
ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $80
jr nc, .endscene
cp $60
jr nz, .DontPlaySound
push af
ld de, $5858
call Functione51dc
ld de, SFX_INTRO_UNOWN_1
call PlaySFX
pop af
.DontPlaySound
ld [wcf65], a
xor a
call Functione5223
ret
.endscene
call NextIntroScene
ret
IntroScene3: ; e49fd (39:49fd)
; More setup. Transition to the outdoor scene.
call Functione54a3
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap003
debgcoord 0, 0
call Functione54fa
ld a, $0
ld [rVBK], a
ld hl, IntroBackgroundGFX
ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroTilemap004
debgcoord 0, 0
call Functione54fa
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_e5edd
ld de, UnknBGPals
ld bc, $80
call CopyBytes
ld hl, Palette_e5edd
ld de, BGPals
ld bc, $80
call CopyBytes
pop af
ld [rSVBK], a
xor a
ld [hSCX], a
ld [hSCY], a
ld a, $7
ld [hWX], a
ld a, $90
ld [hWY], a
call Functione5516
call Functione549e
xor a
ld [wIntroSceneFrameCounter], a
call NextIntroScene
ret
IntroScene4: ; e4a69 (39:4a69)
; Scroll the outdoor panorama for a bit.
call Functione552f
ld hl, wIntroSceneFrameCounter
ld a, [hl]
cp $80
jr z, .endscene
inc [hl]
ret
.endscene
call NextIntroScene
ret
IntroScene5: ; e4a7a (39:4a7a)
; Go back to the Unown.
call Functione54a3
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
ld [hLCDStatCustom], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap005
debgcoord 0, 0
call Functione54fa
ld a, $0
ld [rVBK], a
ld hl, IntroUnownsGFX
ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroPulseGFX
ld de, VTiles0 tile $00
call Functione54c2
ld hl, IntroTilemap006
debgcoord 0, 0
call Functione54fa
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_365ad
ld de, UnknBGPals
ld bc, $80
call CopyBytes
ld hl, Palette_365ad
ld de, BGPals
ld bc, $80
call CopyBytes
pop af
ld [rSVBK], a
xor a
ld [hSCX], a
ld [hSCY], a
ld a, $7
ld [hWX], a
ld a, $90
ld [hWY], a
callba Function8cf53
call Functione549e
xor a
ld [wcf64], a
ld [wcf65], a
call NextIntroScene
ret
IntroScene6: ; e4af7 (39:4af7)
; Two more Unown (I, H) fade in.
ld hl, wcf64
ld a, [hl]
inc [hl]
cp $80
jr nc, .endscene
cp $60
jr z, .SecondUnown
cp $40
jr nc, .StopUnown
cp $20
jr z, .FirstUnown
jr .NoUnown
.FirstUnown
push af
ld de, $3878
call Functione51dc
ld de, SFX_INTRO_UNOWN_2
call PlaySFX
pop af
.NoUnown
ld [wcf65], a
xor a
call Functione5223
ret
.SecondUnown
push af
ld de, $7030
call Functione51dc
ld de, SFX_INTRO_UNOWN_1
call PlaySFX
pop af
.StopUnown
ld [wcf65], a
ld a, $1
call Functione5223
ret
.endscene
call NextIntroScene
ret
IntroScene7: ; e4b3f (39:4b3f)
; Back to the outdoor scene.
call Functione54a3
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap003
debgcoord 0, 0
call Functione54fa
ld hl, IntroPichuWooperGFX
ld de, VTiles0 tile $00
call Functione54c2
ld a, $0
ld [rVBK], a
ld hl, IntroSuicuneRunGFX
ld de, VTiles0 tile $00
call Functione54de
ld hl, IntroBackgroundGFX
ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroTilemap004
debgcoord 0, 0
call Functione54fa
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_e5edd
ld de, UnknBGPals
ld bc, $80
call CopyBytes
ld hl, Palette_e5edd
ld de, BGPals
ld bc, $80
call CopyBytes
pop af
ld [rSVBK], a
xor a
ld [hSCX], a
ld [hSCY], a
ld a, $7
ld [hWX], a
ld a, $90
ld [hWY], a
call Functione5516
callba Function8cf53
depixel 13, 27, 4, 0
ld a, SPRITE_ANIM_INDEX_26
call _InitSpriteAnimStruct
ld a, $f0
ld [wc3c0], a
call Functione549e
xor a
ld [wIntroSceneFrameCounter], a
ld [wcf65], a
call NextIntroScene
ret
IntroScene8: ; e4bd3 (39:4bd3)
; Scroll the scene, then show Suicune running across the screen.
ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $40
jr z, .asm_e4be2
jr nc, .asm_e4be8
call Functione552f
ret
.asm_e4be2
ld de, SFX_INTRO_SUICUNE_3
call PlaySFX
.asm_e4be8
ld a, [wc3c0]
and a
jr z, .asm_e4bf4
sub $8
ld [wc3c0], a
ret
.asm_e4bf4
ld de, SFX_INTRO_SUICUNE_2
call PlaySFX
callba Function8d03d
call NextIntroScene
ret
IntroScene9: ; e4c04 (39:4c04)
; Set up the next scene (same bg).
xor a
ld [hLCDStatCustom], a
call ClearSprites
hlcoord 0, 0, AttrMap
ld bc, $f0
ld a, $1
call ByteFill
ld bc, $3c
ld a, $2
call ByteFill
ld bc, $3c
ld a, $3
call ByteFill
ld a, $2
ld [hBGMapMode], a
call DelayFrame
call DelayFrame
call DelayFrame
ld a, $c
ld [hBGMapAddress], a
call DelayFrame
call DelayFrame
call DelayFrame
xor a
ld [hBGMapMode], a
ld [hBGMapAddress], a
ld [wc3c0], a
xor a
ld [wcf64], a
call NextIntroScene
ret
IntroScene10: ; e4c4f (39:4c4f)
; Wooper and Pichu enter.
call Functione546d
ld hl, wcf64
ld a, [hl]
inc [hl]
cp $c0
jr z, .done
cp $20
jr z, .wooper
cp $40
jr z, .pichu
ret
.pichu
depixel 21, 16, 1, 0
ld a, SPRITE_ANIM_INDEX_27
call _InitSpriteAnimStruct
ld de, SFX_INTRO_PICHU
call PlaySFX
ret
.wooper
depixel 22, 6
ld a, SPRITE_ANIM_INDEX_28
call _InitSpriteAnimStruct
ld de, SFX_INTRO_PICHU
call PlaySFX
ret
.done
call NextIntroScene
ret
IntroScene11: ; e4c86 (39:4c86)
; Back to Unown again.
call Functione54a3
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
ld [hLCDStatCustom], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap007
debgcoord 0, 0
call Functione54fa
ld a, $0
ld [rVBK], a
ld hl, IntroUnownsGFX
ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroTilemap008
debgcoord 0, 0
call Functione54fa
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_365ad
ld de, UnknBGPals
ld bc, $80
call CopyBytes
ld hl, Palette_365ad
ld de, BGPals
ld bc, $80
call CopyBytes
pop af
ld [rSVBK], a
xor a
ld [hSCX], a
ld [hSCY], a
ld a, $7
ld [hWX], a
ld a, $90
ld [hWY], a
callba Function8cf53
call Functione549e
xor a
ld [wIntroSceneFrameCounter], a
ld [wcf65], a
call NextIntroScene
ret
IntroScene12: ; e4cfa (39:4cfa)
; Even more Unown.
call Functione4d36
ld hl, wIntroSceneFrameCounter
ld a, [hl]
inc [hl]
cp $c0
jr nc, .asm_e4d32
cp $80
jr nc, .asm_e4d1d
ld c, a
and $1f
sla a
ld [wcf65], a
ld a, c
and $e0
srl a
swap a
call Functione5223
ret
.asm_e4d1d
ld c, a
and $f
sla a
sla a
ld [wcf65], a
ld a, c
and $70
or $40
swap a
call Functione5223
ret
.asm_e4d32
call NextIntroScene
ret
Functione4d36: ; e4d36 (39:4d36)
ld a, [wIntroSceneFrameCounter]
ld c, a
ld hl, .UnownSounds
.loop
ld a, [hli]
cp -1
ret z
cp c
jr z, .playsound
rept 2
inc hl
endr
jr .loop
.playsound
ld a, [hli]
ld d, [hl]
ld e, a
push de
call SFXChannelsOff
pop de
call PlaySFX
ret
; e4d54 (39:4d54)
.UnownSounds: ; e4d54
dbw $00, SFX_INTRO_UNOWN_3
dbw $20, SFX_INTRO_UNOWN_2
dbw $40, SFX_INTRO_UNOWN_1
dbw $60, SFX_INTRO_UNOWN_2
dbw $80, SFX_INTRO_UNOWN_3
dbw $90, SFX_INTRO_UNOWN_2
dbw $a0, SFX_INTRO_UNOWN_1
dbw $b0, SFX_INTRO_UNOWN_2
db $ff
; e4d6d
IntroScene13: ; e4d6d (39:4d6d)
; Switch scenes again.
call Functione54a3
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap003
debgcoord 0, 0
call Functione54fa
ld a, $0
ld [rVBK], a
ld hl, IntroSuicuneRunGFX
ld de, VTiles0 tile $00
call Functione54de
ld hl, IntroBackgroundGFX
ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroTilemap004
debgcoord 0, 0
call Functione54fa
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_e5edd
ld de, UnknBGPals
ld bc, $80
call CopyBytes
ld hl, Palette_e5edd
ld de, BGPals
ld bc, $80
call CopyBytes
pop af
ld [rSVBK], a
xor a
ld [hSCX], a
ld [hSCY], a
ld a, $7
ld [hWX], a
ld a, $90
ld [hWY], a
callba Function8cf53
depixel 13, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_26
call _InitSpriteAnimStruct
ld de, MUSIC_CRYSTAL_OPENING
call PlayMusic
xor a
ld [wc3c0], a
call Functione549e
xor a
ld [wcf64], a
ld [wcf65], a
call NextIntroScene
ret
IntroScene14: ; e4dfa (39:4dfa)
; Suicune runs then jumps.
ld a, [hSCX]
sub 10
ld [hSCX], a
ld hl, wcf64
ld a, [hl]
inc [hl]
cp $80
jr z, .done
cp $60
jr z, .jump
jr nc, .asm_e4e1a
cp $40
jr nc, .asm_e4e33
ret
.jump
ld de, SFX_INTRO_SUICUNE_4
call PlaySFX
.asm_e4e1a
ld a, $1
ld [wcf65], a
ld a, [wc3c0]
cp $88
jr c, .asm_e4e2c
sub $8
ld [wc3c0], a
ret
.asm_e4e2c
callba Function8d03d
ret
.asm_e4e33
ld a, [wc3c0]
sub $2
ld [wc3c0], a
ret
.done
call NextIntroScene
ret
IntroScene15: ; e4e40 (39:4e40)
; Transition to a new scene.
call Functione54a3
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap009
debgcoord 0, 0
call Functione54fa
ld a, $0
ld [rVBK], a
ld hl, IntroSuicuneJumpGFX
ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroUnownBackGFX
ld de, VTiles0 tile $00
call Functione54c2
ld de, GFX_e7a5d
ld hl, VTiles1 tile $00
lb bc, BANK(GFX_e7a5d), 1
call Request2bpp
ld hl, IntroTilemap010
debgcoord 0, 0
call Functione54fa
call Functione541b
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_e77dd
ld de, UnknBGPals
ld bc, $80
call CopyBytes
ld hl, Palette_e77dd
ld de, BGPals
ld bc, $80
call CopyBytes
pop af
ld [rSVBK], a
xor a
ld [hSCX], a
ld a, $90
ld [hSCY], a
ld a, $7
ld [hWX], a
ld a, $90
ld [hWY], a
callba Function8cf53
call Functione549e
depixel 8, 5
ld a, SPRITE_ANIM_INDEX_2A
call _InitSpriteAnimStruct
depixel 12, 0
ld a, SPRITE_ANIM_INDEX_2B
call _InitSpriteAnimStruct
xor a
ld [wcf64], a
ld [wcf65], a
call NextIntroScene
ret
IntroScene16: ; e4edc (39:4edc)
; Suicune shows its face. An Unown appears in front.
ld hl, wcf64
ld a, [hl]
inc [hl]
cp $80
jr nc, .done
call Functione5441
ld a, [hSCY]
and a
ret z
add 8
ld [hSCY], a
ret
.done
call NextIntroScene
ret
IntroScene17: ; e4ef5 (39:4ef5)
; ...
call Functione54a3
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap011
debgcoord 0, 0
call Functione54fa
ld a, $0
ld [rVBK], a
ld hl, IntroSuicuneCloseGFX
ld de, VTiles1 tile $00
call Functione54de
ld hl, IntroTilemap012
debgcoord 0, 0
call Functione54fa
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_e6d6d
ld de, UnknBGPals
ld bc, $80
call CopyBytes
ld hl, Palette_e6d6d
ld de, BGPals
ld bc, $80
call CopyBytes
pop af
ld [rSVBK], a
xor a
ld [hSCX], a
ld [hSCY], a
ld a, $7
ld [hWX], a
ld a, $90
ld [hWY], a
callba Function8cf53
call Functione549e
xor a
ld [wcf64], a
ld [wcf65], a
call NextIntroScene
ret
IntroScene18: ; e4f67 (39:4f67)
; Suicune close up.
ld hl, wcf64
ld a, [hl]
inc [hl]
cp $60
jr nc, .done
ld a, [hSCX]
cp $60
ret z
add 8
ld [hSCX], a
ret
.done
call NextIntroScene
ret
IntroScene19: ; e4f7e (39:4f7e)
; More setup.
call Functione54a3
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap013
debgcoord 0, 0
call Functione54fa
ld a, $0
ld [rVBK], a
ld hl, IntroSuicuneBackGFX
ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroUnownsGFX
ld de, VTiles1 tile $00
call Functione54c2
ld de, GFX_e7a5d
ld hl, VTiles1 tile $7f
lb bc, BANK(GFX_e7a5d), 1
call Request2bpp
ld hl, IntroTilemap014
debgcoord 0, 0
call Functione54fa
call Functione541b
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_e77dd
ld de, UnknBGPals
ld bc, $80
call CopyBytes
ld hl, Palette_e77dd
ld de, BGPals
ld bc, $80
call CopyBytes
pop af
ld [rSVBK], a
xor a
ld [hSCX], a
ld a, $d8
ld [hSCY], a
ld a, $7
ld [hWX], a
ld a, $90
ld [hWY], a
callba Function8cf53
ld hl, wc300
xor a
ld [hli], a
ld [hl], $7f
call Functione549e
depixel 12, 0
ld a, SPRITE_ANIM_INDEX_2B
call _InitSpriteAnimStruct
xor a
ld [wcf64], a
ld [wcf65], a
call NextIntroScene
ret
IntroScene20: ; e5019 (39:5019)
; Suicune running away. A bunch of Unown appear.
ld hl, wcf64
ld a, [hl]
inc [hl]
cp $98
jr nc, .asm_e5059
cp $58
ret nc
cp $40
jr nc, .asm_e5032
cp $28
ret nc
ld a, [hSCY]
inc a
ld [hSCY], a
ret
.asm_e5032
sub $18
ld c, a
and $3
cp $3
ret nz
ld a, c
and $1c
srl a
srl a
ld [wcf65], a
xor a
call Functione5348
ret
; e5049 (39:5049)
ld a, c
and $1c
srl a
srl a
ld [wcf65], a
ld a, 1
call Functione5348
ret
.asm_e5059
call NextIntroScene
ret
IntroScene21: ; e505d (39:505d)
; Suicune gets more distant and turns black.
call Functione5451
ld c, 3
call DelayFrames
xor a
ld [hBGMapMode], a
ld [wcf64], a
ld [wcf65], a
call NextIntroScene
ret
IntroScene22: ; e5072 (39:5072)
ld hl, wcf64
ld a, [hl]
inc [hl]
cp $8
jr nc, .done
ret
.done
callba Function8d03d
call NextIntroScene
ret
IntroScene23: ; e5086 (39:5086)
xor a
ld [wcf64], a
call NextIntroScene
ret
IntroScene24: ; e508e (39:508e)
; Fade to white.
ld hl, wcf64
ld a, [hl]
inc [hl]
cp $20
jr nc, .done
ld c, a
and $3
ret nz
ld a, c
and $1c
sla a
call Functione5172
ret
.done
ld a, $40
ld [wcf64], a
call NextIntroScene
ret
IntroScene25: ; e50ad (39:50ad)
; Wait around a bit.
ld a, [wcf64]
dec a
jr z, .done
ld [wcf64], a
ret
.done
call NextIntroScene
ret
IntroScene26: ; e50bb (39:50bb)
; Load the final scene.
call ClearBGPalettes
call ClearSprites
call ClearTileMap
xor a
ld [hBGMapMode], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap015
debgcoord 0, 0
call Functione54fa
ld a, $0
ld [rVBK], a
ld hl, IntroCrystalUnownsGFX
ld de, VTiles2 tile $00
call Functione54c2
ld hl, IntroTilemap017
debgcoord 0, 0
call Functione54fa
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, Palette_e679d
ld de, UnknBGPals
ld bc, $80
call CopyBytes
ld hl, Palette_e679d
ld de, BGPals
ld bc, $80
call CopyBytes
pop af
ld [rSVBK], a
xor a
ld [hSCX], a
ld [hSCY], a
ld a, $7
ld [hWX], a
ld a, $90
ld [hWY], a
callba Function8cf53
call Functione549e
xor a
ld [wcf64], a
ld [wcf65], a
call NextIntroScene
ret
IntroScene27: ; e512d (39:512d)
; Spell out C R Y S T A L with Unown.
ld hl, wcf65
inc [hl]
ld hl, wcf64
ld a, [hl]
inc [hl]
cp $80
jr nc, .done
ld c, a
and $f
ld [wcf65], a
ld a, c
and $70
swap a
call Functione539d
ret
.done
call NextIntroScene
ld a, $80
ld [wcf64], a
ret
IntroScene28: ; e5152 (39:5152)
; Cut out when the music ends, and lead into the title screen.
ld hl, wcf64
ld a, [hl]
and a
jr z, .done
dec [hl]
cp $18
jr z, .clear
cp $8
ret nz
ld de, SFX_UNKNOWN_CB
call PlaySFX
ret
.clear
call ClearBGPalettes
ret
.done
ld hl, wJumptableIndex
set 7, [hl]
ret
Functione5172: ; e5172 (39:5172)
ld hl, Unknown_e519c
add l
ld l, a
ld a, $0
adc h
ld h, a
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld de, BGPals
ld b, $8
.asm_e5187
push hl
ld c, $8
.asm_e518a
ld a, [hli]
ld [de], a
inc de
dec c
jr nz, .asm_e518a
pop hl
dec b
jr nz, .asm_e5187
pop af
ld [rSVBK], a
ld a, $1
ld [hCGBPalUpdate], a
ret
; e519c (39:519c)
Unknown_e519c: ; e519c
; Fade to white.
RGB 24, 12, 09
RGB 31, 31, 31
RGB 12, 00, 31
RGB 00, 00, 00
RGB 31, 19, 05
RGB 31, 31, 31
RGB 15, 05, 31
RGB 07, 07, 07
RGB 31, 21, 09
RGB 31, 31, 31
RGB 18, 09, 31
RGB 11, 11, 11
RGB 31, 23, 13
RGB 31, 31, 31
RGB 21, 13, 31
RGB 15, 15, 15
RGB 31, 25, 17
RGB 31, 31, 31
RGB 25, 17, 31
RGB 19, 19, 19
RGB 31, 27, 21
RGB 31, 31, 31
RGB 27, 21, 31
RGB 23, 23, 23
RGB 31, 29, 25
RGB 31, 31, 31
RGB 29, 26, 31
RGB 27, 27, 27
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
; e51dc
Functione51dc: ; e51dc (39:51dc)
push de
ld a, SPRITE_ANIM_INDEX_29
call _InitSpriteAnimStruct
ld hl, $c
add hl, bc
ld [hl], $8
ld a, $3c
call Function3b3c
pop de
push de
ld a, SPRITE_ANIM_INDEX_29
call _InitSpriteAnimStruct
ld hl, $c
add hl, bc
ld [hl], $18
ld a, $3b
call Function3b3c
pop de
push de
ld a, SPRITE_ANIM_INDEX_29
call _InitSpriteAnimStruct
ld hl, $c
add hl, bc
ld [hl], $28
ld a, $39
call Function3b3c
pop de
ld a, SPRITE_ANIM_INDEX_29
call _InitSpriteAnimStruct
ld hl, $c
add hl, bc
ld [hl], $38
ld a, $3a
call Function3b3c
ret
Functione5223: ; e5223 (39:5223)
rept 3
add a
endr
ld e, a
ld d, $0
ld hl, BGPals
add hl, de
rept 2
inc hl
endr
ld a, [wcf65]
and $3f
cp $1f
jr z, .asm_e523e
jr c, .asm_e523e
ld c, a
ld a, $3f
sub c
.asm_e523e
ld c, a
ld b, $0
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
push hl
push bc
ld hl, BGPals
ld bc, $40
xor a
call ByteFill
pop bc
pop hl
push hl
ld hl, Unknown_e5288
rept 2
add hl, bc
endr
ld a, [hli]
ld d, [hl]
ld e, a
pop hl
ld a, e
ld [hli], a
ld a, d
ld [hli], a
push hl
ld hl, Unknown_e52c8
rept 2
add hl, bc
endr
ld a, [hli]
ld d, [hl]
ld e, a
pop hl
ld a, e
ld [hli], a
ld a, d
ld [hli], a
push hl
ld hl, Unknown_e5308
rept 2
add hl, bc
endr
ld a, [hli]
ld d, [hl]
ld e, a
pop hl
ld a, e
ld [hli], a
ld a, d
ld [hli], a
pop af
ld [rSVBK], a
ld a, $1
ld [hCGBPalUpdate], a
ret
; e5288 (39:5288)
Unknown_e5288: ; e5288
; Fade between black and white.
hue = 0
rept 32
RGB hue, hue, hue
hue = hue + 1
endr
; e52c8
Unknown_e52c8: ; e52c8
; Fade between black and light blue.
hue = 0
rept 32
RGB 0, hue / 2, hue
hue = hue + 1
endr
; e5308
Unknown_e5308: ; e5308
; Fade between black and blue.
hue = 0
rept 32
RGB 0, 0, hue
hue = hue + 1
endr
; e5348
Functione5348: ; e5348 (39:5348)
and a
jr nz, .asm_e5350
ld hl, Palette_e538d
jr .asm_e5353
.asm_e5350
ld hl, Palette_e5395
.asm_e5353
ld a, [wcf65]
and $7
rept 3
add a
endr
ld c, a
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
push bc
ld de, BGPals
ld a, c
add e
ld e, a
ld a, $0
adc d
ld d, a
ld bc, $8
call CopyBytes
pop bc
ld de, UnknBGPals
ld a, c
add e
ld e, a
ld a, $0
adc d
ld d, a
ld bc, $8
call CopyBytes
pop af
ld [rSVBK], a
ld a, $1
ld [hCGBPalUpdate], a
ret
; e538d (39:538d)
Palette_e538d: ; e538d
RGB 24, 12, 09
RGB 31, 31, 31
RGB 12, 00, 31
RGB 00, 00, 00
; e5395
Palette_e5395: ; e5395
RGB 24, 12, 09
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
; e539d
Functione539d: ; e539d (39:539d)
rept 3
add a
endr
ld e, a
ld d, $0
ld hl, BGPals
add hl, de
rept 4
inc hl
endr
ld a, [wcf65]
add a
ld c, a
ld b, $0
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
push hl
ld hl, Palette_e53db
add hl, bc
ld a, [hli]
ld d, [hl]
ld e, a
pop hl
ld a, e
ld [hli], a
ld a, d
ld [hli], a
push hl
ld hl, Palette_e53fb
add hl, bc
ld a, [hli]
ld d, [hl]
ld e, a
pop hl
ld a, e
ld [hli], a
ld a, d
ld [hli], a
pop af
ld [rSVBK], a
ld a, $1
ld [hCGBPalUpdate], a
ret
; e53db (39:53db)
Palette_e53db: ; e53db
hue = 31
rept 8
RGB hue, hue, hue
hue = hue + -1
RGB hue, hue, hue
hue = hue + -2
endr
; e53fb
Palette_e53fb: ; e53fb
hue = 31
rept 16
RGB hue, hue, hue
hue = hue + -1
endr
; e541b
Functione541b: ; e541b (39:541b)
ld a, [rSVBK]
push af
ld a, $6
ld [rSVBK], a
ld hl, w6_d000
decoord 0, 0
ld b, SCREEN_HEIGHT
.asm_e542a
ld c, SCREEN_WIDTH
.asm_e542c
ld a, [hli]
ld [de], a
inc de
dec c
jr nz, .asm_e542c
ld a, $c
add l
ld l, a
ld a, $0
adc h
ld h, a
dec b
jr nz, .asm_e542a
pop af
ld [rSVBK], a
ret
Functione5441: ; e5441 (39:5441)
ld a, [wcf64]
and $3
jr z, Functione5451
cp $3
jr z, .asm_e544d
ret
.asm_e544d
xor a
ld [hBGMapMode], a
ret
Functione5451: ; e5451 (39:5451)
hlcoord 0, 0
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
.asm_e5457
ld a, [hl]
and a
jr z, .asm_e5462
cp $80
jr nc, .asm_e5462
xor $8
ld [hl], a
.asm_e5462
inc hl
dec bc
ld a, c
or b
jr nz, .asm_e5457
ld a, $1
ld [hBGMapMode], a
ret
Functione546d: ; e546d (39:546d)
ld a, [wcf64]
cp $24
ret nc
and $c
srl a
ld e, a
ld d, $0
ld hl, Unknown_e5496
add hl, de
ld a, [hli]
ld [Requested2bppSource], a
ld a, [hli]
ld [Requested2bppSource + 1], a
ld a, (VTiles2 tile $09) % $100
ld [Requested2bppDest], a
ld a, (VTiles2 tile $09) / $100
ld [Requested2bppDest + 1], a
ld a, $4
ld [Requested2bpp], a
ret
; e5496 (39:5496)
Unknown_e5496: ; e5496
dw GFX_e799d
dw GFX_e79dd
dw GFX_e7a1d
dw GFX_e79dd
; e549e
Functione549e: ; e549e (39:549e)
ld a, $1
ld [hCGBPalUpdate], a
ret
Functione54a3: ; e54a3 (39:54a3)
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, BGPals
ld bc, $80
xor a
call ByteFill
pop af
ld [rSVBK], a
ld a, $1
ld [hCGBPalUpdate], a
call DelayFrame
call DelayFrame
ret
Functione54c2: ; e54c2 (39:54c2)
ld a, [rSVBK]
push af
ld a, $6
ld [rSVBK], a
push de
ld de, w6_d000
call Decompress
pop hl
ld de, w6_d000
ld bc, $180
call Request2bpp
pop af
ld [rSVBK], a
ret
Functione54de: ; e54de (39:54de)
ld a, [rSVBK]
push af
ld a, $6
ld [rSVBK], a
push de
ld de, w6_d000
call Decompress
pop hl
ld de, w6_d000
ld bc, $1ff
call Request2bpp
pop af
ld [rSVBK], a
ret
Functione54fa: ; e54fa (39:54fa)
ld a, [rSVBK]
push af
ld a, $6
ld [rSVBK], a
push de
ld de, w6_d000
call Decompress
pop hl
ld de, w6_d000
ld bc, $140
call Request2bpp
pop af
ld [rSVBK], a
ret
Functione5516: ; e5516 (39:5516)
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld hl, LYOverrides
ld bc, $90
xor a
call ByteFill
pop af
ld [rSVBK], a
ld a, $43
ld [hLCDStatCustom], a
ret
Functione552f: ; e552f (39:552f)
ld a, [rSVBK]
push af
ld a, $5
ld [rSVBK], a
ld a, [wcf64]
and $1
jr z, .asm_e5548
ld hl, LYOverrides
ld a, [hl]
inc a
ld bc, $5f
call ByteFill
.asm_e5548
ld hl, LYOverrides + $5f
ld a, [hl]
rept 2
inc a
endr
ld bc, $31
call ByteFill
ld a, [LYOverrides + 0]
ld [hSCX], a
pop af
ld [rSVBK], a
ret
IntroSuicuneRunGFX: ; e555d
INCBIN "gfx/intro/suicune_run.2bpp.lz"
; e592d
IntroPichuWooperGFX: ; e592d
INCBIN "gfx/intro/pichu_wooper.2bpp.lz"
; e5c7d
IntroBackgroundGFX: ; e5c7d
INCBIN "gfx/intro/background.2bpp.lz"
; e5e6d
IntroTilemap004: ; e5e6d
INCBIN "gfx/intro/004.tilemap.lz"
; e5ecd
IntroTilemap003: ; e5ecd
INCBIN "gfx/intro/003.tilemap.lz"
; e5edd
Palette_e5edd: ; e5edd
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 0, 4, 5
RGB 1, 8, 5
RGB 4, 12, 9
RGB 24, 12, 9
RGB 0, 4, 5
RGB 9, 6, 8
RGB 8, 16, 5
RGB 5, 10, 4
RGB 31, 31, 31
RGB 9, 6, 8
RGB 18, 9, 9
RGB 13, 8, 9
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 31, 31, 31
RGB 2, 5, 22
RGB 1, 5, 12
RGB 31, 31, 31
RGB 31, 10, 25
RGB 31, 21, 0
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 21, 31
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
IntroUnownsGFX: ; e5f5d
INCBIN "gfx/intro/unowns.2bpp.lz"
; e634d
IntroPulseGFX: ; e634d
INCBIN "gfx/intro/pulse.2bpp.lz"
; e63dd
IntroTilemap002: ; e63dd
INCBIN "gfx/intro/002.tilemap.lz"
; e641d
IntroTilemap001: ; e641d
INCBIN "gfx/intro/001.tilemap.lz"
; e642d
IntroTilemap006: ; e642d
INCBIN "gfx/intro/006.tilemap.lz"
; e647d
IntroTilemap005: ; e647d
INCBIN "gfx/intro/005.tilemap.lz"
; e649d
IntroTilemap008: ; e649d
INCBIN "gfx/intro/008.tilemap.lz"
; e655d
IntroTilemap007: ; e655d
INCBIN "gfx/intro/007.tilemap.lz"
; e65ad
Palette_365ad: ; e65ad
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 31, 31, 31
RGB 10, 0, 10
RGB 19, 0, 19
RGB 31, 0, 31
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
IntroCrystalUnownsGFX: ; e662d
INCBIN "gfx/intro/crystal_unowns.2bpp.lz"
; e672d
IntroTilemap017: ; e672d
INCBIN "gfx/intro/017.tilemap.lz"
; e676d
IntroTilemap015: ; e676d
INCBIN "gfx/intro/015.tilemap.lz"
; e679d
Palette_e679d: ; e679d
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
IntroSuicuneCloseGFX: ; e681d
INCBIN "gfx/intro/suicune_close.2bpp.lz"
; e6c3d
IntroTilemap012: ; e6c3d
INCBIN "gfx/intro/012.tilemap.lz"
; e6d0d
IntroTilemap011: ; e6d0d
INCBIN "gfx/intro/011.tilemap.lz"
; e6d6d
Palette_e6d6d: ; e6d6d
RGB 24, 12, 9
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 24, 12, 9
RGB 31, 31, 31
RGB 8, 9, 31
RGB 0, 0, 0
RGB 24, 12, 9
RGB 12, 20, 31
RGB 19, 8, 31
RGB 0, 0, 0
RGB 12, 20, 31
RGB 8, 9, 31
RGB 19, 8, 31
RGB 0, 0, 0
RGB 31, 31, 31
RGB 12, 20, 31
RGB 8, 9, 31
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
IntroSuicuneJumpGFX: ; e6ded
INCBIN "gfx/intro/suicune_jump.2bpp.lz"
; e72ad
IntroSuicuneBackGFX: ; e72ad
INCBIN "gfx/intro/suicune_back.2bpp.lz"
; e764d
IntroTilemap010: ; e764d
INCBIN "gfx/intro/010.tilemap.lz"
; e76ad
IntroTilemap009: ; e76ad
INCBIN "gfx/intro/009.tilemap.lz"
; e76bd
IntroTilemap014: ; e76bd
INCBIN "gfx/intro/014.tilemap.lz"
; e778d
IntroTilemap013: ; e778d
INCBIN "gfx/intro/013.tilemap.lz"
; e77dd
Palette_e77dd: ; e77dd
RGB 24, 12, 9
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 24, 12, 9
RGB 31, 31, 31
RGB 8, 9, 31
RGB 0, 0, 0
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 24, 12, 9
RGB 31, 31, 31
RGB 31, 31, 31
RGB 12, 0, 31
RGB 0, 0, 0
RGB 31, 31, 31
RGB 21, 9, 0
RGB 21, 9, 0
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
RGB 0, 0, 0
IntroUnownBackGFX: ; e785d
INCBIN "gfx/intro/unown_back.2bpp.lz"
; e799d
GFX_e799d: ; e799d
INCBIN "gfx/unknown/0e799d.2bpp"
GFX_e79dd: ; e79dd
INCBIN "gfx/unknown/0e79dd.2bpp"
GFX_e7a1d: ; e7a1d
INCBIN "gfx/unknown/0e7a1d.2bpp"
GFX_e7a5d: ; e7a5d
INCBIN "gfx/unknown/0e7a5d.2bpp"