From 8b2e753b68f527307f3a4515b61b889602e8ede8 Mon Sep 17 00:00:00 2001 From: Jeremy Rand Date: Wed, 9 Dec 2020 01:38:03 -0500 Subject: [PATCH] Load the sounds at startup. --- BuGS/main.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ BuGS/main.rez | 2 ++ 2 files changed, 52 insertions(+) diff --git a/BuGS/main.c b/BuGS/main.c index 3527af7..15aab20 100644 --- a/BuGS/main.c +++ b/BuGS/main.c @@ -13,6 +13,10 @@ #include #include #include +#include +#include + +#include #include "main.h" #include "game.h" @@ -42,6 +46,50 @@ word randomMushroomOffset(void) } +void setupSound(word soundNum, SoundParamBlock * soundParams, boolean looped) +{ + static word nextDocBuffer = 0; + + Handle handle = LoadResource(rRawSound, soundNum); + HLock(handle); + + word handleSize = GetHandleSize(handle); + + soundParams->freqOffset = 214; + soundParams->docBuffer = nextDocBuffer; + soundParams->volSetting = 255; + soundParams->waveStart = *handle; + soundParams->waveSize = (handleSize / 256) + 1; + soundParams->bufferSize = 0; + nextDocBuffer += (soundParams->waveSize * 256); + if (looped) + soundParams->nextWavePtr = soundParams; + else + soundParams->nextWavePtr = NULL; + + FFSetUpSound((soundNum << 8) | 1, (Pointer)soundParams); +} + + +void loadSounds(void) +{ + static SoundParamBlock spiderSound; + static SoundParamBlock deathSound; + static SoundParamBlock segmentsSound; + static SoundParamBlock bonusSound; + static SoundParamBlock killSound; + static SoundParamBlock fireSound; + + setupSound(SPIDER_SOUND, &spiderSound, TRUE); + setupSound(DEATH_SOUND, &deathSound, FALSE); + setupSound(SEGMENTS_SOUND, &segmentsSound, TRUE); + setupSound(BONUS_SOUND, &bonusSound, FALSE); + setupSound(KILL_SOUND, &killSound, FALSE); + setupSound(FIRE_SOUND, &fireSound, FALSE); + // FFStartPlaying(1 << SEGMENTS_SOUND); +} + + int main(void) { int event; @@ -70,6 +118,8 @@ int main(void) InitMouse(0); SetMouse(transparent); + + loadSounds(); game(); diff --git a/BuGS/main.rez b/BuGS/main.rez index 00d7681..7982854 100644 --- a/BuGS/main.rez +++ b/BuGS/main.rez @@ -36,6 +36,8 @@ resource rToolStartup (TOOL_STARTUP) { { 3, $0100, /* Misc Tool */ 8, $0100, /* Sound Tool */ + 30, $0100, /* Resource Manager */ + } };