From 5c6c5d01f4e6d0c37a8f9462859fc30ab05617b1 Mon Sep 17 00:00:00 2001 From: Koji Ikarashi Date: Wed, 18 Nov 2015 19:47:27 -0800 Subject: [PATCH] Title optimizations and version number --- Makefile | 2 +- game.c | 24 ++++++++++++++++-------- levels/splat_title.h | 10 ++++++++-- splatood.nes | Bin 40976 -> 40976 bytes tileset.chr | Bin 8192 -> 8192 bytes 5 files changed, 25 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 154f641..e75dc72 100644 --- a/Makefile +++ b/Makefile @@ -14,7 +14,7 @@ all: $(EXECUTABLE) ${CRT_OBJ} crt0.o: *.s *.chr -%.s: %.c *.h +%.s: %.c *.h levels/*.h $(CC) -Oi $< --add-source %.o: %.s diff --git a/game.c b/game.c index 1025ad0..aa70174 100644 --- a/game.c +++ b/game.c @@ -74,10 +74,8 @@ extern const unsigned char music_music_data[]; #define MUSIC_STAGE_SELECT 6 /* Palettes */ -const unsigned char palTitle[16]={ 0x0f,0x30,0x14,0x3d,0x0f,0x30,0x29,0x0f,0x0f,0x30,0x27,0x0f,0x0f,0x30,0x0f,0x0f }; -const unsigned char palTitleA[16]={ 0x0f,0x30,0x0f,0x0f,0x0f,0x30,0x0f,0x0f,0x0f,0x30,0x0f,0x0f,0x0f,0x30,0x0f,0x0f }; -const unsigned char palTitleB[16]={ 0x0f,0x30,0x0f,0x0f,0x0f,0x30,0x0f,0x0f,0x0f,0x30,0x27,0x0f,0x0f,0x30,0x0f,0x0f }; -const unsigned char palTitleC[16]={ 0x0f,0x30,0x14,0x0f,0x0f,0x30,0x0f,0x0f,0x0f,0x30,0x27,0x0f,0x0f,0x30,0x0f,0x0f }; +const unsigned char palTitle[16]={ 0x0f,0x30,0x0f,0x0f,0x0f,0x30,0x0f,0x0f,0x0f,0x30,0x0f,0x0f,0x0f,0x30,0x0f,0x0f }; + /* { 0x0f,0x30,0x14,0x0f,0x0f,0x30,0x29,0x0f,0x0f,0x30,0x27,0x0f,0x0f,0x30,0x0f,0x0f }; */ const unsigned char palInkable[16]={ 0x0f,0x10,0x30,0x30,0x0f,0x04,0x14,0x24,0x0f,0x19,0x29,0x3a,0x0f,0x01,0x21,0x31 }; const unsigned char palEndgame[16]={ 0x0f,0x30,0x30,0x30,0x0f,0x24,0x24,0x14,0x0f,0x29,0x29,0x3a,0x0f,0x21,0x21,0x11 }; @@ -88,6 +86,8 @@ const unsigned char palCharacters[8]={ 0x0f,0x04,0x30,0x0f,0x0f,0x19,0x30,0x0f } const unsigned char palCharPaused[8] = {0x0f,0x00,0x2d,0x0f,0x0f,0x00,0x2d,0x0f}; const unsigned char palJudd[]={ 0x0f,0x26,0x27,0x30,0x0f,0x14,0x27,0x30,0x0f,0x2a,0x27,0x30,0x0f,0x26,0x27,0x30 }; + /* v 1 . 0 . 2 */ +const unsigned char versionStr[] = {230,232,241,231,241,233}; const unsigned char victoryMsg[] = "Victory!"; const unsigned char fourSpaces[] = " "; const unsigned char tieMsg[] = "It's a tie!"; @@ -537,8 +537,11 @@ void show_title(void) { vram_adr(NAMETABLE_C); vram_fill(0,1024); + vram_adr(NAMETABLE_A+0x342); + vram_write(versionStr,sizeof(versionStr)); + pal_bright(4); - pal_bg(palTitleA); + pal_bg(palTitle); ppu_on_bg(); WAIT_WITH_SKIP(20); @@ -564,16 +567,17 @@ void show_title(void) { /* Splat splat splat */ WAIT_WITH_SKIP(20); sfx_play(SFX_SPLAT,0); - pal_bg(palTitleB); + pal_col(10,0x27); WAIT_WITH_SKIP(20); sfx_play(SFX_SPLAT,0); - pal_bg(palTitleC); + pal_col(2,0x14); WAIT_WITH_SKIP(20); sfx_play(SFX_SPLAT,0); - pal_bg(palTitle); + pal_col(6,0x29); WAIT_WITH_SKIP(20); music_play(MUSIC_TITLE); + pal_col(3,0x30); pal_col(15,0x30); wait = 10; @@ -600,6 +604,10 @@ void show_title(void) { _skip_title: scroll(0,0); pal_bg(palTitle); + pal_col(10,0x27); + pal_col(2,0x14); + pal_col(6,0x29); + pal_col(3,0x30); music_stop(); diff --git a/levels/splat_title.h b/levels/splat_title.h index d658ca4..e51f570 100644 --- a/levels/splat_title.h +++ b/levels/splat_title.h @@ -30,8 +30,14 @@ const unsigned char splat_title[1024]={ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xdf,0xba,0xbb,0xbc,0xbd,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x5a,0x5b,0x5c, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xca,0xcb,0xcc,0xcd,0xce,0x1c,0x1c,0x1c,0x1c,0x1c,0x1c,0x72,0x02,0x73,0x74, - 0x0,0x30,0x0,0x0,0x55,0x55,0x55,0x5d,0xc,0x0,0x0,0x4c,0x57,0x55,0x55,0xd5,0x0,0x0,0x0,0x4c,0x55,0x55,0x55,0x55,0x0,0x0,0x0,0x0,0x77,0x55,0x55,0xd5,0x0,0x0,0xc0, - 0xfc,0xff,0xff,0xbf,0xaa,0xc0,0xfc,0x3f,0xcf,0xaf,0xaa,0xaa,0xaa,0xcc,0x0,0x80,0xaf,0xaa,0xaa,0xaa,0xaa,0x0,0x0,0x8,0xa,0xa,0xa,0xa,0xa + 0x00,0x30,0x00,0x00,0x55,0x55,0x55,0x5d, + 0x0c,0x00,0x00,0x4c,0x57,0x55,0x55,0xd5, + 0x00,0x00,0x00,0x4c,0x55,0x55,0x55,0x55, + 0x00,0x00,0x00,0x00,0x77,0x55,0x55,0xd5, + 0x00,0x00,0xc0,0xfc,0xff,0xff,0xbf,0xaa, + 0xc0,0xfc,0x3f,0xcf,0xaf,0xaa,0xaa,0xaa, + 0x00,0x00,0x80,0xaf,0xaa,0xaa,0xaa,0xaa, + 0x00,0x00,0x08,0x0a,0x0a,0x0a,0x0a,0x0a, }; diff --git a/splatood.nes b/splatood.nes index a6bf12cfd36d10107443021ef2133b41cb50c8c2..9ede8c7e58e423aa8cc118559bfe966a6f2f5338 100644 GIT binary patch delta 5690 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 delta 22 ecmZp0XmD7-$H*{=FKMz0|DDMO{0A2a2mk<5NCznZ