shithub: pokered

Download patch

ref: 4ef305907206bdb90c3c9259f6d527a90b26629c
parent: 48da6c53be768e85b8ba47430e2fc0f3dd4de61e
parent: 637f38b139c43c15eb1f4a67562a78389d4f42a7
author: Rangi <35663410+Rangi42@users.noreply.github.com>
date: Fri Aug 28 21:04:24 EDT 2020

Merge pull request #290 from Rangi42/master

Separate splash screen, intro, and credits (like pokegold/pokecrystal)

diff: cannot open b/gfx/credits//null: file does not exist: 'b/gfx/credits//null' diff: cannot open b/gfx/intro//null: file does not exist: 'b/gfx/intro//null' diff: cannot open a/gfx/intro_credits//null: file does not exist: 'a/gfx/intro_credits//null' diff: cannot open b/gfx/splash//null: file does not exist: 'b/gfx/splash//null'
--- a/Makefile
+++ b/Makefile
@@ -114,16 +114,16 @@
 gfx/battle/attack_anim_1.2bpp: tools/gfx += --trim-whitespace
 gfx/battle/attack_anim_2.2bpp: tools/gfx += --trim-whitespace
 
-gfx/intro_credits/blue_jigglypuff_1.2bpp: rgbgfx += -h
-gfx/intro_credits/blue_jigglypuff_2.2bpp: rgbgfx += -h
-gfx/intro_credits/blue_jigglypuff_3.2bpp: rgbgfx += -h
-gfx/intro_credits/red_nidorino_1.2bpp: rgbgfx += -h
-gfx/intro_credits/red_nidorino_2.2bpp: rgbgfx += -h
-gfx/intro_credits/red_nidorino_3.2bpp: rgbgfx += -h
-gfx/intro_credits/gengar.2bpp: rgbgfx += -h
-gfx/intro_credits/gengar.2bpp: tools/gfx += --remove-duplicates --preserve=0x19,0x76
+gfx/intro/blue_jigglypuff_1.2bpp: rgbgfx += -h
+gfx/intro/blue_jigglypuff_2.2bpp: rgbgfx += -h
+gfx/intro/blue_jigglypuff_3.2bpp: rgbgfx += -h
+gfx/intro/red_nidorino_1.2bpp: rgbgfx += -h
+gfx/intro/red_nidorino_2.2bpp: rgbgfx += -h
+gfx/intro/red_nidorino_3.2bpp: rgbgfx += -h
+gfx/intro/gengar.2bpp: rgbgfx += -h
+gfx/intro/gengar.2bpp: tools/gfx += --remove-duplicates --preserve=0x19,0x76
 
-gfx/intro_credits/the_end.2bpp: tools/gfx += --interleave --png=$<
+gfx/credits/the_end.2bpp: tools/gfx += --interleave --png=$<
 
 gfx/slots/red_slots_1.2bpp: tools/gfx += --trim-whitespace
 gfx/slots/blue_slots_1.2bpp: tools/gfx += --trim-whitespace
--- a/data/tilemaps.asm
+++ b/data/tilemaps.asm
@@ -31,13 +31,13 @@
 	INCBIN "gfx/pokemon/slide_down_7x3.tilemap"
 
 GengarIntroTiles1:
-	INCBIN "gfx/intro_credits/gengar_1.tilemap"
+	INCBIN "gfx/intro/gengar_1.tilemap"
 
 GengarIntroTiles2:
-	INCBIN "gfx/intro_credits/gengar_2.tilemap"
+	INCBIN "gfx/intro/gengar_2.tilemap"
 
 GengarIntroTiles3:
-	INCBIN "gfx/intro_credits/gengar_3.tilemap"
+	INCBIN "gfx/intro/gengar_3.tilemap"
 
 GameBoyTiles:
 	INCBIN "gfx/trade/game_boy.tilemap"
--- a/engine/movie/credits.asm
+++ b/engine/movie/credits.asm
@@ -266,5 +266,5 @@
 INCLUDE "data/credits/credits_text.asm"
 
 TheEndGfx:
-	INCBIN "gfx/intro_credits/the_end.2bpp"
+	INCBIN "gfx/credits/the_end.2bpp"
 TheEndGfxEnd:
--- a/engine/movie/gamefreak.asm
+++ /dev/null
@@ -1,243 +1,0 @@
-LoadShootingStarGraphics:
-	ld a, $f9
-	ldh [rOBP0], a
-	ld a, $a4
-	ldh [rOBP1], a
-	ld de, AnimationTileset2 tile 3 ; star tile (top left quadrant)
-	ld hl, vChars1 tile $20
-	lb bc, BANK(AnimationTileset2), 1
-	call CopyVideoData
-	ld de, AnimationTileset2 tile 19 ; star tile (bottom left quadrant)
-	ld hl, vChars1 tile $21
-	lb bc, BANK(AnimationTileset2), 1
-	call CopyVideoData
-	ld de, FallingStar
-	ld hl, vChars1 tile $22
-	lb bc, BANK(FallingStar), (FallingStarEnd - FallingStar) / $10
-	call CopyVideoData
-	ld hl, GameFreakLogoOAMData
-	ld de, wOAMBuffer + $60
-	ld bc, GameFreakLogoOAMDataEnd - GameFreakLogoOAMData
-	call CopyData
-	ld hl, GameFreakShootingStarOAMData
-	ld de, wOAMBuffer
-	ld bc, GameFreakShootingStarOAMDataEnd - GameFreakShootingStarOAMData
-	jp CopyData
-
-AnimateShootingStar:
-	call LoadShootingStarGraphics
-	ld a, SFX_SHOOTING_STAR
-	call PlaySound
-
-; Move the big star down and left across the screen.
-	ld hl, wOAMBuffer
-	lb bc, $a0, $4
-.bigStarLoop
-	push hl
-	push bc
-.bigStarInnerLoop
-	ld a, [hl] ; Y
-	add 4
-	ld [hli], a
-	ld a, [hl] ; X
-	add -4
-	ld [hli], a
-	inc hl
-	inc hl
-	dec c
-	jr nz, .bigStarInnerLoop
-	ld c, 1
-	call CheckForUserInterruption
-	pop bc
-	pop hl
-	ret c
-	ld a, [hl]
-	cp 80
-	jr nz, .next
-	jr .bigStarLoop
-.next
-	cp b
-	jr nz, .bigStarLoop
-
-; Clear big star OAM.
-	ld hl, wOAMBuffer
-	ld c, 4
-	ld de, 4
-.clearOAMLoop
-	ld [hl], 160
-	add hl, de
-	dec c
-	jr nz, .clearOAMLoop
-
-; Make Gamefreak logo flash.
-	ld b, 3
-.flashLogoLoop
-	ld hl, rOBP0
-	rrc [hl]
-	rrc [hl]
-	ld c, 10
-	call CheckForUserInterruption
-	ret c
-	dec b
-	jr nz, .flashLogoLoop
-
-; Copy 24 instances of the small stars OAM data.
-; Note that their coordinates put them off-screen.
-	ld de, wOAMBuffer
-	ld a, 24
-.initSmallStarsOAMLoop
-	push af
-	ld hl, SmallStarsOAM
-	ld bc, SmallStarsOAMEnd - SmallStarsOAM
-	call CopyData
-	pop af
-	dec a
-	jr nz, .initSmallStarsOAMLoop
-
-; Animate the small stars falling from the Gamefreak logo.
-	xor a
-	ld [wMoveDownSmallStarsOAMCount], a
-	ld hl, SmallStarsWaveCoordsPointerTable
-	ld c, 6
-.smallStarsLoop
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	push bc
-	push hl
-	ld hl, wOAMBuffer + $50
-	ld c, 4
-.smallStarsInnerLoop ; introduce new wave of 4 small stars OAM entries
-	ld a, [de]
-	cp $ff
-	jr z, .next2
-	ld [hli], a ; Y
-	inc de
-	ld a, [de]
-	ld [hli], a ; X
-	inc de
-	inc hl
-	inc hl
-	dec c
-	jr nz, .smallStarsInnerLoop
-	ld a, [wMoveDownSmallStarsOAMCount]
-	cp 24
-	jr z, .next2
-	add 6 ; should be 4, but the extra 2 aren't visible on screen
-	ld [wMoveDownSmallStarsOAMCount], a
-.next2
-	call MoveDownSmallStars
-	push af
-
-; shift the existing OAM entries down to make room for the next wave
-	ld hl, wOAMBuffer + $10
-	ld de, wOAMBuffer
-	ld bc, $50
-	call CopyData
-
-	pop af
-	pop hl
-	pop bc
-	ret c
-	dec c
-	jr nz, .smallStarsLoop
-	and a
-	ret
-
-SmallStarsOAM:
-	dbsprite  0,  0,  0,  0, $A2, OAM_BEHIND_BG | OAM_OBP1
-SmallStarsOAMEnd:
-
-SmallStarsWaveCoordsPointerTable:
-	dw SmallStarsWave1Coords
-	dw SmallStarsWave2Coords
-	dw SmallStarsWave3Coords
-	dw SmallStarsWave4Coords
-	dw SmallStarsEmptyWave
-	dw SmallStarsEmptyWave
-
-; The stars that fall from the Gamefreak logo come in 4 waves of 4 OAM entries.
-; These arrays contain the Y and X coordinates of each OAM entry.
-
-SmallStarsWave1Coords:
-	db $68, $30
-	db $68, $40
-	db $68, $58
-	db $68, $78
-
-SmallStarsWave2Coords:
-	db $68, $38
-	db $68, $48
-	db $68, $60
-	db $68, $70
-
-SmallStarsWave3Coords:
-	db $68, $34
-	db $68, $4C
-	db $68, $54
-	db $68, $64
-
-SmallStarsWave4Coords:
-	db $68, $3C
-	db $68, $5C
-	db $68, $6C
-	db $68, $74
-
-SmallStarsEmptyWave:
-	db $FF
-
-MoveDownSmallStars:
-	ld b, 8
-.loop
-	ld hl, wOAMBuffer + $5c
-	ld a, [wMoveDownSmallStarsOAMCount]
-	ld de, -4
-	ld c, a
-.innerLoop
-	inc [hl] ; Y
-	add hl, de
-	dec c
-	jr nz, .innerLoop
-; Toggle the palette so that the lower star in the small stars tile blinks in
-; and out.
-	ldh a, [rOBP1]
-	xor %10100000
-	ldh [rOBP1], a
-
-	ld c, 3
-	call CheckForUserInterruption
-	ret c
-	dec b
-	jr nz, .loop
-	ret
-
-GameFreakLogoOAMData:
-	dbsprite 10,  9,  0,  0, $8d, 0
-	dbsprite 11,  9,  0,  0, $8e, 0
-	dbsprite 10, 10,  0,  0, $8f, 0
-	dbsprite 11, 10,  0,  0, $90, 0
-	dbsprite 10, 11,  0,  0, $91, 0
-	dbsprite 11, 11,  0,  0, $92, 0
-	dbsprite  6, 12,  0,  0, $80, 0
-	dbsprite  7, 12,  0,  0, $81, 0
-	dbsprite  8, 12,  0,  0, $82, 0
-	dbsprite  9, 12,  0,  0, $83, 0
-	dbsprite 10, 12,  0,  0, $93, 0
-	dbsprite 11, 12,  0,  0, $84, 0
-	dbsprite 12, 12,  0,  0, $85, 0
-	dbsprite 13, 12,  0,  0, $83, 0
-	dbsprite 14, 12,  0,  0, $81, 0
-	dbsprite 15, 12,  0,  0, $86, 0
-GameFreakLogoOAMDataEnd:
-
-GameFreakShootingStarOAMData:
-	dbsprite 20,  0,  0,  0, $a0, OAM_OBP1
-	dbsprite 21,  0,  0,  0, $a0, OAM_OBP1 | OAM_HFLIP
-	dbsprite 20,  1,  0,  0, $a1, OAM_OBP1
-	dbsprite 21,  1,  0,  0, $a1, OAM_OBP1 | OAM_HFLIP
-GameFreakShootingStarOAMDataEnd:
-
-FallingStar:
-	INCBIN "gfx/intro_credits/falling_star.2bpp"
-FallingStarEnd:
--- a/engine/movie/intro.asm
+++ b/engine/movie/intro.asm
@@ -433,32 +433,32 @@
 	db ANIMATION_END
 
 GameFreakIntro:
-	INCBIN "gfx/intro_credits/gamefreak_presents.2bpp"
-	INCBIN "gfx/intro_credits/gamefreak_logo.2bpp"
+	INCBIN "gfx/splash/gamefreak_presents.2bpp"
+	INCBIN "gfx/splash/gamefreak_logo.2bpp"
 	ds 16, $00 ; blank tile
 GameFreakIntroEnd:
 
 FightIntroBackMon:
-	INCBIN "gfx/intro_credits/gengar.2bpp"
+	INCBIN "gfx/intro/gengar.2bpp"
 	ds 16, $00 ; blank tile
 FightIntroBackMonEnd:
 
-FightIntroFrontMon:
-
 IF DEF(_RED)
-	INCBIN "gfx/intro_credits/red_nidorino_1.2bpp"
+FightIntroFrontMon:
+	INCBIN "gfx/intro/red_nidorino_1.2bpp"
 FightIntroFrontMon2:
-	INCBIN "gfx/intro_credits/red_nidorino_2.2bpp"
+	INCBIN "gfx/intro/red_nidorino_2.2bpp"
 FightIntroFrontMon3:
-	INCBIN "gfx/intro_credits/red_nidorino_3.2bpp"
+	INCBIN "gfx/intro/red_nidorino_3.2bpp"
 ENDC
 
 IF DEF(_BLUE)
-	INCBIN "gfx/intro_credits/blue_jigglypuff_1.2bpp"
+FightIntroFrontMon:
+	INCBIN "gfx/intro/blue_jigglypuff_1.2bpp"
 FightIntroFrontMon2:
-	INCBIN "gfx/intro_credits/blue_jigglypuff_2.2bpp"
+	INCBIN "gfx/intro/blue_jigglypuff_2.2bpp"
 FightIntroFrontMon3:
-	INCBIN "gfx/intro_credits/blue_jigglypuff_3.2bpp"
+	INCBIN "gfx/intro/blue_jigglypuff_3.2bpp"
 ENDC
 
 FightIntroFrontMonEnd:
--- /dev/null
+++ b/engine/movie/splash.asm
@@ -1,0 +1,243 @@
+LoadShootingStarGraphics:
+	ld a, $f9
+	ldh [rOBP0], a
+	ld a, $a4
+	ldh [rOBP1], a
+	ld de, AnimationTileset2 tile 3 ; star tile (top left quadrant)
+	ld hl, vChars1 tile $20
+	lb bc, BANK(AnimationTileset2), 1
+	call CopyVideoData
+	ld de, AnimationTileset2 tile 19 ; star tile (bottom left quadrant)
+	ld hl, vChars1 tile $21
+	lb bc, BANK(AnimationTileset2), 1
+	call CopyVideoData
+	ld de, FallingStar
+	ld hl, vChars1 tile $22
+	lb bc, BANK(FallingStar), (FallingStarEnd - FallingStar) / $10
+	call CopyVideoData
+	ld hl, GameFreakLogoOAMData
+	ld de, wOAMBuffer + $60
+	ld bc, GameFreakLogoOAMDataEnd - GameFreakLogoOAMData
+	call CopyData
+	ld hl, GameFreakShootingStarOAMData
+	ld de, wOAMBuffer
+	ld bc, GameFreakShootingStarOAMDataEnd - GameFreakShootingStarOAMData
+	jp CopyData
+
+AnimateShootingStar:
+	call LoadShootingStarGraphics
+	ld a, SFX_SHOOTING_STAR
+	call PlaySound
+
+; Move the big star down and left across the screen.
+	ld hl, wOAMBuffer
+	lb bc, $a0, $4
+.bigStarLoop
+	push hl
+	push bc
+.bigStarInnerLoop
+	ld a, [hl] ; Y
+	add 4
+	ld [hli], a
+	ld a, [hl] ; X
+	add -4
+	ld [hli], a
+	inc hl
+	inc hl
+	dec c
+	jr nz, .bigStarInnerLoop
+	ld c, 1
+	call CheckForUserInterruption
+	pop bc
+	pop hl
+	ret c
+	ld a, [hl]
+	cp 80
+	jr nz, .next
+	jr .bigStarLoop
+.next
+	cp b
+	jr nz, .bigStarLoop
+
+; Clear big star OAM.
+	ld hl, wOAMBuffer
+	ld c, 4
+	ld de, 4
+.clearOAMLoop
+	ld [hl], 160
+	add hl, de
+	dec c
+	jr nz, .clearOAMLoop
+
+; Make Gamefreak logo flash.
+	ld b, 3
+.flashLogoLoop
+	ld hl, rOBP0
+	rrc [hl]
+	rrc [hl]
+	ld c, 10
+	call CheckForUserInterruption
+	ret c
+	dec b
+	jr nz, .flashLogoLoop
+
+; Copy 24 instances of the small stars OAM data.
+; Note that their coordinates put them off-screen.
+	ld de, wOAMBuffer
+	ld a, 24
+.initSmallStarsOAMLoop
+	push af
+	ld hl, SmallStarsOAM
+	ld bc, SmallStarsOAMEnd - SmallStarsOAM
+	call CopyData
+	pop af
+	dec a
+	jr nz, .initSmallStarsOAMLoop
+
+; Animate the small stars falling from the Gamefreak logo.
+	xor a
+	ld [wMoveDownSmallStarsOAMCount], a
+	ld hl, SmallStarsWaveCoordsPointerTable
+	ld c, 6
+.smallStarsLoop
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	push bc
+	push hl
+	ld hl, wOAMBuffer + $50
+	ld c, 4
+.smallStarsInnerLoop ; introduce new wave of 4 small stars OAM entries
+	ld a, [de]
+	cp $ff
+	jr z, .next2
+	ld [hli], a ; Y
+	inc de
+	ld a, [de]
+	ld [hli], a ; X
+	inc de
+	inc hl
+	inc hl
+	dec c
+	jr nz, .smallStarsInnerLoop
+	ld a, [wMoveDownSmallStarsOAMCount]
+	cp 24
+	jr z, .next2
+	add 6 ; should be 4, but the extra 2 aren't visible on screen
+	ld [wMoveDownSmallStarsOAMCount], a
+.next2
+	call MoveDownSmallStars
+	push af
+
+; shift the existing OAM entries down to make room for the next wave
+	ld hl, wOAMBuffer + $10
+	ld de, wOAMBuffer
+	ld bc, $50
+	call CopyData
+
+	pop af
+	pop hl
+	pop bc
+	ret c
+	dec c
+	jr nz, .smallStarsLoop
+	and a
+	ret
+
+SmallStarsOAM:
+	dbsprite  0,  0,  0,  0, $A2, OAM_BEHIND_BG | OAM_OBP1
+SmallStarsOAMEnd:
+
+SmallStarsWaveCoordsPointerTable:
+	dw SmallStarsWave1Coords
+	dw SmallStarsWave2Coords
+	dw SmallStarsWave3Coords
+	dw SmallStarsWave4Coords
+	dw SmallStarsEmptyWave
+	dw SmallStarsEmptyWave
+
+; The stars that fall from the Gamefreak logo come in 4 waves of 4 OAM entries.
+; These arrays contain the Y and X coordinates of each OAM entry.
+
+SmallStarsWave1Coords:
+	db $68, $30
+	db $68, $40
+	db $68, $58
+	db $68, $78
+
+SmallStarsWave2Coords:
+	db $68, $38
+	db $68, $48
+	db $68, $60
+	db $68, $70
+
+SmallStarsWave3Coords:
+	db $68, $34
+	db $68, $4C
+	db $68, $54
+	db $68, $64
+
+SmallStarsWave4Coords:
+	db $68, $3C
+	db $68, $5C
+	db $68, $6C
+	db $68, $74
+
+SmallStarsEmptyWave:
+	db $FF
+
+MoveDownSmallStars:
+	ld b, 8
+.loop
+	ld hl, wOAMBuffer + $5c
+	ld a, [wMoveDownSmallStarsOAMCount]
+	ld de, -4
+	ld c, a
+.innerLoop
+	inc [hl] ; Y
+	add hl, de
+	dec c
+	jr nz, .innerLoop
+; Toggle the palette so that the lower star in the small stars tile blinks in
+; and out.
+	ldh a, [rOBP1]
+	xor %10100000
+	ldh [rOBP1], a
+
+	ld c, 3
+	call CheckForUserInterruption
+	ret c
+	dec b
+	jr nz, .loop
+	ret
+
+GameFreakLogoOAMData:
+	dbsprite 10,  9,  0,  0, $8d, 0
+	dbsprite 11,  9,  0,  0, $8e, 0
+	dbsprite 10, 10,  0,  0, $8f, 0
+	dbsprite 11, 10,  0,  0, $90, 0
+	dbsprite 10, 11,  0,  0, $91, 0
+	dbsprite 11, 11,  0,  0, $92, 0
+	dbsprite  6, 12,  0,  0, $80, 0
+	dbsprite  7, 12,  0,  0, $81, 0
+	dbsprite  8, 12,  0,  0, $82, 0
+	dbsprite  9, 12,  0,  0, $83, 0
+	dbsprite 10, 12,  0,  0, $93, 0
+	dbsprite 11, 12,  0,  0, $84, 0
+	dbsprite 12, 12,  0,  0, $85, 0
+	dbsprite 13, 12,  0,  0, $83, 0
+	dbsprite 14, 12,  0,  0, $81, 0
+	dbsprite 15, 12,  0,  0, $86, 0
+GameFreakLogoOAMDataEnd:
+
+GameFreakShootingStarOAMData:
+	dbsprite 20,  0,  0,  0, $a0, OAM_OBP1
+	dbsprite 21,  0,  0,  0, $a0, OAM_OBP1 | OAM_HFLIP
+	dbsprite 20,  1,  0,  0, $a1, OAM_OBP1
+	dbsprite 21,  1,  0,  0, $a1, OAM_OBP1 | OAM_HFLIP
+GameFreakShootingStarOAMDataEnd:
+
+FallingStar:
+	INCBIN "gfx/splash/falling_star.2bpp"
+FallingStarEnd:
binary files /dev/null b/gfx/credits/the_end.png differ
--- a/gfx/font.asm
+++ b/gfx/font.asm
@@ -13,7 +13,7 @@
 BattleHudTiles3: INCBIN "gfx/battle/battle_hud_3.1bpp"
 BattleHudTiles3End:
 
-NintendoCopyrightLogoGraphics: INCBIN "gfx/intro_credits/copyright.2bpp"
+NintendoCopyrightLogoGraphics: INCBIN "gfx/splash/copyright.2bpp"
 
 GamefreakLogoGraphics: INCBIN "gfx/title/gamefreak_inc.2bpp"
 GamefreakLogoGraphicsEnd:
binary files /dev/null b/gfx/intro/blue_jigglypuff_1.png differ
binary files /dev/null b/gfx/intro/blue_jigglypuff_2.png differ
binary files /dev/null b/gfx/intro/blue_jigglypuff_3.png differ
binary files /dev/null b/gfx/intro/gengar.png differ
binary files /dev/null b/gfx/intro/gengar_1.tilemap differ
binary files /dev/null b/gfx/intro/gengar_2.tilemap differ
binary files /dev/null b/gfx/intro/gengar_3.tilemap differ
binary files /dev/null b/gfx/intro/red_nidorino_1.png differ
binary files /dev/null b/gfx/intro/red_nidorino_2.png differ
binary files /dev/null b/gfx/intro/red_nidorino_3.png differ
binary files a/gfx/intro_credits/blue_jigglypuff_1.png /dev/null differ
binary files a/gfx/intro_credits/blue_jigglypuff_2.png /dev/null differ
binary files a/gfx/intro_credits/blue_jigglypuff_3.png /dev/null differ
binary files a/gfx/intro_credits/copyright.png /dev/null differ
binary files a/gfx/intro_credits/falling_star.png /dev/null differ
binary files a/gfx/intro_credits/gamefreak_logo.png /dev/null differ
binary files a/gfx/intro_credits/gamefreak_presents.png /dev/null differ
binary files a/gfx/intro_credits/gengar.png /dev/null differ
binary files a/gfx/intro_credits/gengar_1.tilemap /dev/null differ
binary files a/gfx/intro_credits/gengar_2.tilemap /dev/null differ
binary files a/gfx/intro_credits/gengar_3.tilemap /dev/null differ
binary files a/gfx/intro_credits/red_nidorino_1.png /dev/null differ
binary files a/gfx/intro_credits/red_nidorino_2.png /dev/null differ
binary files a/gfx/intro_credits/red_nidorino_3.png /dev/null differ
binary files a/gfx/intro_credits/the_end.png /dev/null differ
binary files /dev/null b/gfx/splash/copyright.png differ
binary files /dev/null b/gfx/splash/falling_star.png differ
binary files /dev/null b/gfx/splash/gamefreak_logo.png differ
binary files /dev/null b/gfx/splash/gamefreak_presents.png differ
--- a/main.asm
+++ b/main.asm
@@ -314,7 +314,7 @@
 
 SECTION "bank1C", ROMX
 
-INCLUDE "engine/movie/gamefreak.asm"
+INCLUDE "engine/movie/splash.asm"
 INCLUDE "engine/movie/hall_of_fame.asm"
 INCLUDE "engine/overworld/healing_machine.asm"
 INCLUDE "engine/overworld/player_animations.asm"
--- a/scripts/BillsHouse.asm
+++ b/scripts/BillsHouse.asm
@@ -69,9 +69,9 @@
 	ldh [hSpriteScreenYCoord], a
 	ld a, $40
 	ldh [hSpriteScreenXCoord], a
-	ld a, $6
+	ld a, 6
 	ldh [hSpriteMapYCoord], a
-	ld a, $5
+	ld a, 5
 	ldh [hSpriteMapXCoord], a
 	call SetSpritePosition1
 	ld a, HS_BILL_1
--- a/scripts/CeruleanCity.asm
+++ b/scripts/CeruleanCity.asm
@@ -80,7 +80,7 @@
 	ld a, $f0
 	ld [wJoyIgnore], a
 	ld a, [wXCoord]
-	cp $14
+	cp 20
 	jr z, .asm_19535
 	ld a, $1
 	ldh [hSpriteIndex], a
@@ -183,7 +183,7 @@
 	ldh [hSpriteIndex], a
 	call SetSpriteMovementBytesToFF
 	ld a, [wXCoord]
-	cp $14
+	cp 20
 	jr nz, .asm_195f0
 	ld de, CeruleanCityMovement4
 	jr .asm_195f3
--- a/scripts/CinnabarIsland.asm
+++ b/scripts/CinnabarIsland.asm
@@ -17,10 +17,10 @@
 	call IsItemInBag
 	ret nz
 	ld a, [wYCoord]
-	cp $4
+	cp 4
 	ret nz
 	ld a, [wXCoord]
-	cp $12
+	cp 18
 	ret nz
 	ld a, PLAYER_DIR_UP
 	ld [wPlayerMovingDirection], a
--- a/scripts/FightingDojo.asm
+++ b/scripts/FightingDojo.asm
@@ -33,10 +33,10 @@
 	ldh [hJoyHeld], a
 	ld [wcf0d], a
 	ld a, [wYCoord]
-	cp $3
+	cp 3
 	ret nz
 	ld a, [wXCoord]
-	cp $4
+	cp 4
 	ret nz
 	ld a, $1
 	ld [wcf0d], a
--- a/scripts/GameCorner.asm
+++ b/scripts/GameCorner.asm
@@ -64,13 +64,13 @@
 	call SetSpriteMovementBytesToFF
 	ld de, MovementData_48c5a
 	ld a, [wYCoord]
-	cp $6
+	cp 6
 	jr nz, .asm_48c43
 	ld de, MovementData_48c63
 	jr .asm_48c4d
 .asm_48c43
 	ld a, [wXCoord]
-	cp $8
+	cp 8
 	jr nz, .asm_48c4d
 	ld de, MovementData_48c63
 .asm_48c4d
--- a/scripts/MtMoonB2F.asm
+++ b/scripts/MtMoonB2F.asm
@@ -56,10 +56,10 @@
 	CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD
 	jp nz, MtMoon3Script_49d91
 	ld a, [wYCoord]
-	cp $8
+	cp 8
 	jp nz, MtMoon3Script_49d91
 	ld a, [wXCoord]
-	cp $d
+	cp 13
 	jp nz, MtMoon3Script_49d91
 	xor a
 	ldh [hJoyHeld], a
--- a/scripts/Museum1F.asm
+++ b/scripts/Museum1F.asm
@@ -13,13 +13,13 @@
 
 Museum1FScript0:
 	ld a, [wYCoord]
-	cp $4
+	cp 4
 	ret nz
 	ld a, [wXCoord]
-	cp $9
+	cp 9
 	jr z, .asm_5c120
 	ld a, [wXCoord]
-	cp $a
+	cp 10
 	ret nz
 .asm_5c120
 	xor a
@@ -41,10 +41,10 @@
 Museum1FText1:
 	text_asm
 	ld a, [wYCoord]
-	cp $4
+	cp 4
 	jr nz, .asm_8774b
 	ld a, [wXCoord]
-	cp $d
+	cp 13
 	jp z, Museum1FScript_5c1f9
 	jr .asm_b8709
 .asm_8774b
@@ -51,7 +51,7 @@
 	cp $3
 	jr nz, .asm_d49e7
 	ld a, [wXCoord]
-	cp $c
+	cp 12
 	jp z, Museum1FScript_5c1f9
 .asm_d49e7
 	CheckEvent EVENT_BOUGHT_MUSEUM_TICKET
--- a/scripts/OaksLab.asm
+++ b/scripts/OaksLab.asm
@@ -152,7 +152,7 @@
 
 OaksLabScript6:
 	ld a, [wYCoord]
-	cp $6
+	cp 6
 	ret nz
 	ld a, $5
 	ldh [hSpriteIndex], a
@@ -200,7 +200,7 @@
 .Charmander
 	ld de, .MiddleBallMovement1
 	ld a, [wYCoord]
-	cp $4 ; is the player standing below the table?
+	cp 4 ; is the player standing below the table?
 	jr z, .moveBlue
 	ld de, .MiddleBallMovement2
 	jr .moveBlue
@@ -224,7 +224,7 @@
 .Squirtle
 	ld de, .RightBallMovement1
 	ld a, [wYCoord]
-	cp $4 ; is the player standing below the table?
+	cp 4 ; is the player standing below the table?
 	jr z, .moveBlue
 	ld de, .RightBallMovement2
 	jr .moveBlue
@@ -250,7 +250,7 @@
 .Bulbasaur
 	ld de, .LeftBallMovement1
 	ld a, [wXCoord]
-	cp $9 ; is the player standing to the right of the table?
+	cp 9 ; is the player standing to the right of the table?
 	jr nz, .moveBlue
 	push hl
 	ld a, $1
@@ -341,7 +341,7 @@
 
 OaksLabScript10:
 	ld a, [wYCoord]
-	cp $6
+	cp 6
 	ret nz
 	ld a, $1
 	ldh [hSpriteIndex], a
@@ -447,7 +447,7 @@
 	ld de, .RivalExitMovement
 	call MoveSprite
 	ld a, [wXCoord]
-	cp $4
+	cp 4
 	; move left or right depending on where the player is standing
 	jr nz, .moveLeft
 	ld a, NPC_MOVEMENT_RIGHT
@@ -489,7 +489,7 @@
 	cp $5
 	jr nz, .turnPlayerDown
 	ld a, [wXCoord]
-	cp $4
+	cp 4
 	jr nz, .turnPlayerLeft
 	ld a, SPRITE_FACING_RIGHT
 	ld [wSpritePlayerStateData1FacingDirection], a
@@ -673,30 +673,30 @@
 OaksLabScript_1d02b:
 	ld a, $7c
 	ldh [hSpriteScreenYCoord], a
-	ld a, $8
+	ld a, 8
 	ldh [hSpriteMapXCoord], a
 	ld a, [wYCoord]
-	cp $3
+	cp 3
 	jr nz, .asm_1d045
 	ld a, $4
 	ld [wNPCMovementDirections2Index], a
 	ld a, $30
-	ld b, $b
+	ld b, 11
 	jr .asm_1d068
 .asm_1d045
-	cp $1
+	cp 1
 	jr nz, .asm_1d054
 	ld a, $2
 	ld [wNPCMovementDirections2Index], a
 	ld a, $30
-	ld b, $9
+	ld b, 9
 	jr .asm_1d068
 .asm_1d054
 	ld a, $3
 	ld [wNPCMovementDirections2Index], a
-	ld b, $a
+	ld b, 10
 	ld a, [wXCoord]
-	cp $4
+	cp 4
 	jr nz, .asm_1d066
 	ld a, $40
 	jr .asm_1d068
--- a/scripts/PewterCity.asm
+++ b/scripts/PewterCity.asm
@@ -65,9 +65,9 @@
 	ldh [hSpriteScreenYCoord], a
 	ld a, $30
 	ldh [hSpriteScreenXCoord], a
-	ld a, $c
+	ld a, 12
 	ldh [hSpriteMapYCoord], a
-	ld a, $11
+	ld a, 17
 	ldh [hSpriteMapXCoord], a
 	ld a, $3
 	ld [wSpriteIndex], a
@@ -133,9 +133,9 @@
 	ldh [hSpriteScreenYCoord], a
 	ld a, $40
 	ldh [hSpriteScreenXCoord], a
-	ld a, $16
+	ld a, 22
 	ldh [hSpriteMapYCoord], a
-	ld a, $10
+	ld a, 16
 	ldh [hSpriteMapXCoord], a
 	ld a, $5
 	ld [wSpriteIndex], a
--- a/scripts/Route22Gate.asm
+++ b/scripts/Route22Gate.asm
@@ -4,7 +4,7 @@
 	ld a, [wRoute22GateCurScript]
 	call CallFunctionInTable
 	ld a, [wYCoord]
-	cp $4
+	cp 4
 	ld a, ROUTE_23
 	jr c, .asm_1e69a
 	ld a, ROUTE_22
--- a/scripts/SSAnne2F.asm
+++ b/scripts/SSAnne2F.asm
@@ -71,7 +71,7 @@
 
 SSAnne2Script_61416:
 	ld a, [wXCoord]
-	cp $25
+	cp 37
 	jr nz, .asm_61426
 	ld a, PLAYER_DIR_LEFT
 	ld [wPlayerMovingDirection], a
@@ -134,7 +134,7 @@
 	ldh [hSpriteIndex], a
 	call SetSpriteMovementBytesToFF
 	ld a, [wXCoord]
-	cp $25
+	cp 37
 	jr nz, .asm_61497
 	ld de, MovementData_614b9
 	jr .asm_6149a
--- a/scripts/SeafoamIslandsB3F.asm
+++ b/scripts/SeafoamIslandsB3F.asm
@@ -59,10 +59,10 @@
 	CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
 	ret z
 	ld a, [wYCoord]
-	cp $8
+	cp 8
 	ret nz
 	ld a, [wXCoord]
-	cp $f
+	cp 15
 	ret nz
 	ld hl, wSimulatedJoypadStatesEnd
 	ld de, RLEMovement46632
@@ -94,9 +94,9 @@
 	CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE
 	ret z
 	ld a, [wXCoord]
-	cp $12
+	cp 18
 	jr z, .asm_4665e
-	cp $13
+	cp 19
 	ld a, $0
 	jr nz, .asm_4667b
 	ld de, RLEData_4667f
--- a/scripts/ViridianCity.asm
+++ b/scripts/ViridianCity.asm
@@ -24,10 +24,10 @@
 	ret
 .gym_closed
 	ld a, [wYCoord]
-	cp $8
+	cp 8
 	ret nz
 	ld a, [wXCoord]
-	cp $20
+	cp 32
 	ret nz
 	ld a, $e
 	ldh [hSpriteIndexOrTextID], a
@@ -43,10 +43,10 @@
 	CheckEvent EVENT_GOT_POKEDEX
 	ret nz
 	ld a, [wYCoord]
-	cp $9
+	cp 9
 	ret nz
 	ld a, [wXCoord]
-	cp $13
+	cp 19
 	ret nz
 	ld a, $5
 	ldh [hSpriteIndexOrTextID], a