From caf277f5a03fe340fd94ac582102f7e2d4c50a2d Mon Sep 17 00:00:00 2001 From: dwsJason Date: Sun, 25 Nov 2018 16:54:07 -0500 Subject: [PATCH] Play Intro songs --- include/system.h | 9 +++++++++ src/dat_maps.c | 8 ++++++++ src/game.c | 17 +++++++++++++++++ src/scr_gameover.c | 2 ++ src/scr_imain.c | 4 ++++ src/scr_imap.c | 8 ++++++++ src/scr_xrick.c | 4 ++++ src/syssnd.c | 1 - 8 files changed, 52 insertions(+), 1 deletion(-) diff --git a/include/system.h b/include/system.h index 2ec0ebd..e959acb 100644 --- a/include/system.h +++ b/include/system.h @@ -243,6 +243,15 @@ extern void wait_vsync(void); extern char KeyArray[128]; extern void RemoveKeyboardDriver(); extern void AddKeyboardDriver(); + +// IIGS NTP Songs +extern char egypt_lz4; +extern char mbase_lz4; +extern char rick1_lz4; +extern char rick1victory_lz4; +extern char samerica_lz4; +extern char schwarz_lz4; + #endif #endif diff --git a/src/dat_maps.c b/src/dat_maps.c index b4843a8..e45fc77 100644 --- a/src/dat_maps.c +++ b/src/dat_maps.c @@ -20,11 +20,19 @@ segment "dat"; #include "maps.h" map_t map_maps[MAP_NBR_MAPS] = { +#ifdef IIGS + {0x0008, 0x008b, 0x0008, 000000, &samerica_lz4}, + {0x0008, 0x008b, 0x0068, 0x0009, &egypt_lz4}, + {0x0010, 0x008b, 0x0010, 0x0014, &schwarz_lz4}, + {0x0010, 0x008b, 0x0010, 0x0026, &mbase_lz4}, + {0x0074, 0x00c8, 0x0008, 0x0026, &mbase_lz4}, +#else {0x0008, 0x008b, 0x0008, 000000, "sounds/tune0.wav"}, {0x0008, 0x008b, 0x0068, 0x0009, "sounds/tune1.wav"}, {0x0010, 0x008b, 0x0010, 0x0014, "sounds/tune2.wav"}, {0x0010, 0x008b, 0x0010, 0x0026, "sounds/tune3.wav"}, {0x0074, 0x00c8, 0x0008, 0x0026, "sounds/tune4.wav"}, +#endif }; submap_t map_submaps[MAP_NBR_SUBMAPS] = { diff --git a/src/game.c b/src/game.c index 5577b87..11fe656 100644 --- a/src/game.c +++ b/src/game.c @@ -200,12 +200,25 @@ game_toggleCheat(U8 nbr) #endif #ifdef ENABLE_SOUND +#ifdef IIGS +void NTPstop(void); +void NTPplay(int bPlayOnce); +int NTPprepare(void* pNTPData); +extern char* pNtpSong; +#endif /* * Music */ void game_setmusic(char *name, U8 loop) { +#ifdef IIGS + NTPstop(); + LZ4_Unpack(pNtpSong, name); + NTPprepare((void*)pNtpSong); + NTPplay(0); +#endif + #ifndef IIGS U8 channel; @@ -223,6 +236,10 @@ game_setmusic(char *name, U8 loop) void game_stopmusic(void) { +#ifdef IIGS + NTPstop(); +#endif + #ifndef IIGS syssnd_stopsound(music_snd); music_snd = NULL; diff --git a/src/scr_gameover.c b/src/scr_gameover.c index 978a4bd..9df880a 100644 --- a/src/scr_gameover.c +++ b/src/scr_gameover.c @@ -49,7 +49,9 @@ screen_gameover(void) period = game_period; /* save period, */ game_period = 50; /* and use our own */ #ifdef ENABLE_SOUND + #ifndef IIGS game_setmusic("sounds/gameover.wav", 1); + #endif #endif } diff --git a/src/scr_imain.c b/src/scr_imain.c index c2583d9..2186540 100644 --- a/src/scr_imain.c +++ b/src/scr_imain.c @@ -53,7 +53,11 @@ screen_introMain(void) game_period = 50; game_rects = &draw_SCREENRECT; #ifdef ENABLE_SOUND + #ifdef IIGS + game_setmusic(&rick1_lz4, -1); + #else game_setmusic("sounds/tune5.wav", -1); + #endif #endif } diff --git a/src/scr_imap.c b/src/scr_imap.c index adce99d..b80e86d 100644 --- a/src/scr_imap.c +++ b/src/scr_imap.c @@ -137,9 +137,17 @@ screen_introMap(void) } if (control_status & CONTROL_EXIT) /* check for exit request */ + { + #ifdef IIGS + game_stopmusic(); + #endif return SCREEN_EXIT; + } if (seq == 5) { /* end as soon as key pressed */ + #ifdef IIGS + game_stopmusic(); + #endif sysvid_clear(); seq = 0; return SCREEN_DONE; diff --git a/src/scr_xrick.c b/src/scr_xrick.c index 89a4bb5..8c1dae2 100644 --- a/src/scr_xrick.c +++ b/src/scr_xrick.c @@ -61,7 +61,11 @@ screen_xrick(void) case 1: /* wait */ if (wait++ > 0x2) { #ifdef ENABLE_SOUND + #ifdef IIGS + syssnd_play(SND_BULLET,1); + #else game_setmusic("sounds/bullet.wav", 1); + #endif #endif seq = 2; wait = 0; diff --git a/src/syssnd.c b/src/syssnd.c index 8fce27b..e22e32c 100644 --- a/src/syssnd.c +++ b/src/syssnd.c @@ -40,7 +40,6 @@ char* pNtpDriver = NULL; char* pNtpSong = NULL; extern char ntpplayer_lz4; -extern char samerica_lz4; extern char sfx_lz4; extern char sfx_lz5;