diff --git a/src/constants.asm b/src/constants.asm index 17071e1..6a5c323 100644 --- a/src/constants.asm +++ b/src/constants.asm @@ -110,10 +110,14 @@ sOption4:: sOption5:: db " NO" db " YES" -sEaster0:: db $C4, $C6, $C8, $CA, $CC -sEaster1:: db $C5, $C7, $C9, $CB, $CD -sEaster2:: db $CE, $D0, $C8, $CA, $CC -sEaster3:: db $CF, $D1, $C9, $CB, $CD +sEasterM0:: db $C4, $C6, $C8, $CA, $CC ; MGB +sEasterM1:: db $C5, $C7, $C9, $CB, $CD +sEasterC0:: db $CE, $D0, $C8, $CA, $CC, $72, $74, $76, $78, $7A, $D6, $D7 ; CGB +sEasterC1:: db $CF, $D1, $C9, $CB, $CD +sEasterA0:: db $D2, $D4, $C8, $CA, $CC, $72, $74, $76, $78, $7A, $D6, $D7 ; AGB +sEasterA1:: db $D3, $D5, $C9, $CB, $CD +sEasterS0:: db $F6, $F8, $C8, $CA, $CC ; SGB +sEasterS1:: db $F7, $F9, $C9, $CB, $CD sPieceXOffsets:: ; How to draw each piece. X-offsets of the sprites. db 0, 8, 16, 24 ; I db 0, 8, 8, 16 ; Z diff --git a/src/res/sources/tiles.gbr b/src/res/sources/tiles.gbr index 99c70f0..9076ca5 100644 Binary files a/src/res/sources/tiles.gbr and b/src/res/sources/tiles.gbr differ diff --git a/src/res/tiles.inc b/src/res/tiles.inc index be307f2..88bd77e 100644 --- a/src/res/tiles.inc +++ b/src/res/tiles.inc @@ -440,20 +440,20 @@ Tiles:: DB $2D,$25,$3D,$3D,$01,$01,$00,$00 DB $01,$01,$3D,$3D,$2D,$35,$C5,$FD DB $08,$F8,$10,$F0,$E0,$E0,$00,$00 - DB $00,$00,$7C,$7C,$44,$44,$7C,$7C - DB $44,$44,$44,$44,$00,$00,$00,$00 - DB $00,$00,$7C,$7C,$40,$40,$5C,$5C - DB $44,$44,$7C,$7C,$00,$00,$00,$00 - DB $00,$00,$7C,$7C,$44,$44,$78,$78 - DB $44,$44,$7C,$7C,$00,$00,$00,$00 - DB $00,$00,$7C,$7C,$10,$10,$10,$10 - DB $10,$10,$10,$10,$00,$00,$00,$00 - DB $00,$00,$7C,$7C,$40,$40,$7C,$7C - DB $04,$04,$7C,$7C,$00,$00,$00,$00 - DB $00,$00,$7C,$7C,$40,$40,$5C,$5C - DB $44,$44,$7C,$7C,$00,$00,$00,$00 - DB $00,$00,$7C,$7C,$44,$44,$78,$78 - DB $44,$44,$7C,$7C,$00,$00,$00,$00 + DB $03,$03,$02,$02,$04,$04,$06,$04 + DB $05,$04,$0B,$09,$0F,$09,$00,$00 + DB $0D,$0B,$1A,$16,$17,$1B,$10,$1F + DB $23,$3F,$24,$3C,$3C,$3C,$00,$00 + DB $C0,$C0,$40,$40,$20,$20,$A1,$21 + DB $61,$21,$B1,$91,$F1,$91,$00,$00 + DB $D1,$B1,$69,$59,$D9,$E9,$09,$F9 + DB $C4,$FC,$24,$3C,$3C,$3C,$00,$00 + DB $3C,$3C,$3E,$3E,$36,$36,$36,$36 + DB $3E,$3E,$3C,$3C,$00,$00,$00,$00 + DB $C6,$C6,$6C,$6C,$38,$38,$38,$38 + DB $6C,$6C,$C6,$C6,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00 + DB $00,$00,$00,$00,$00,$00,$00,$00 DB $00,$75,$00,$47,$00,$55,$00,$55 DB $00,$75,$00,$00,$00,$3E,$00,$00 DB $00,$75,$00,$47,$00,$55,$00,$55 @@ -512,14 +512,14 @@ Tiles:: DB $00,$00,$00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 - DB $00,$00,$00,$00,$00,$00,$00,$00 + DB $03,$03,$04,$04,$08,$08,$0D,$08 + DB $0B,$09,$0D,$08,$0F,$08,$00,$00 + DB $06,$05,$03,$03,$00,$00,$0F,$0F + DB $08,$0F,$08,$0F,$0F,$0F,$00,$00 + DB $FC,$FC,$04,$04,$04,$04,$FD,$FD + DB $01,$01,$F1,$F1,$F9,$09,$00,$00 + DB $AD,$55,$D5,$ED,$2D,$35,$C5,$FD + DB $04,$FC,$08,$F8,$F0,$F0,$00,$00 DB $44,$44,$44,$44,$28,$28,$28,$28 DB $28,$28,$10,$10,$12,$12,$00,$00 DB $C4,$C4,$2A,$2A,$2A,$2A,$4A,$4A @@ -528,10 +528,10 @@ Tiles:: DB $82,$82,$82,$82,$EC,$EC,$00,$00 DB $44,$44,$CA,$CA,$4A,$4A,$4A,$4A DB $4A,$4A,$4A,$4A,$E4,$E4,$00,$00 - DB $CC,$CC,$22,$22,$22,$22,$44,$44 - DB $82,$82,$82,$82,$EC,$EC,$00,$00 - DB $0E,$0E,$08,$08,$08,$08,$0C,$0C - DB $08,$08,$08,$08,$0E,$0E,$00,$00 + DB $CA,$CA,$2A,$2A,$2A,$2A,$4E,$4E + DB $82,$82,$82,$82,$E2,$E2,$00,$00 + DB $04,$04,$0A,$0A,$0A,$0A,$0E,$0E + DB $0A,$0A,$0A,$0A,$0A,$0A,$00,$00 TilesEnd:: diff --git a/src/state_title.asm b/src/state_title.asm index 980a81a..8fca3e0 100644 --- a/src/state_title.asm +++ b/src/state_title.asm @@ -42,30 +42,63 @@ SwitchToTitle:: ld bc, TitleScreenTilemapEnd - TitleScreenTilemap call UnsafeMemCopy - ; Little easter egg. - ld a, [wInitialA] - cp a, $FF - jr nz, :+ - ld de, sEaster0 + ; Title screen easter egg. + ld a, [wInitialC] + cp a, $14 + jr nz, .notsgb + ld de, sEasterS0 ld hl, EASTER_0 ld bc, 5 call UnsafeMemCopy - ld de, sEaster1 + ld de, sEasterS1 ld hl, EASTER_1 ld bc, 5 call UnsafeMemCopy jr .oam -: cp a, $11 - jr nz, .oam - ld de, sEaster2 +.notsgb + ld a, [wInitialA] + cp a, $FF + jr nz, .notmgb + ld de, sEasterM0 ld hl, EASTER_0 ld bc, 5 call UnsafeMemCopy - ld de, sEaster3 + ld de, sEasterM1 ld hl, EASTER_1 ld bc, 5 call UnsafeMemCopy + jr .oam + +.notmgb + ld a, [wInitialA] + cp a, $11 + jr nz, .noegg + + ld a, [wInitialB] + bit 0, a + jr nz, .agb + ld de, sEasterC0 + ld hl, EASTER_0 + ld bc, 12 + call UnsafeMemCopy + ld de, sEasterC1 + ld hl, EASTER_1 + ld bc, 5 + call UnsafeMemCopy + jr .oam + +.agb + ld de, sEasterA0 + ld hl, EASTER_0 + ld bc, 12 + call UnsafeMemCopy + ld de, sEasterA1 + ld hl, EASTER_1 + ld bc, 5 + call UnsafeMemCopy + jr .oam +.noegg ; Clear OAM. .oam