Add more sounds internally

This commit is contained in:
Modnark
2022-10-11 22:34:36 -04:00
parent af5c31d5d0
commit d32b0ea4e4
10 changed files with 64 additions and 10 deletions

View File

@@ -6,6 +6,7 @@ class AudioPlayer
public:
AudioPlayer(void);
~AudioPlayer(void);
static void playSound(std::string);
static void init();
static void playSound(std::string);
};

View File

@@ -35,7 +35,9 @@ namespace Enum
namespace Sound
{
enum Value {
NoSound = 0, Victory = 1, Boing = 2
NoSound = 0, Victory = 1, Boing = 2, Bomb = 3,
Ping = 4, Break = 5, Splat = 6, Swoosh = 7,
Snap = 8, Page = 9
};
}
}

View File

@@ -130,6 +130,8 @@ Application::Application(HWND parentWindow) : _propWindow(NULL) { //: GApp(setti
return;
}
AudioPlayer::init();
_window = renderDevice->window();
_window->makeCurrent();

View File

@@ -4,7 +4,7 @@
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#define NUM_SOUNDS 10
#define NUM_SOUNDS 32
static SDL_AudioSpec fmt;
static bool initiated = false;
@@ -23,7 +23,7 @@ void AudioPlayer::init()
initiated = true;
extern void mixaudio(void *unused, Uint8 *stream, int len);
fmt.freq = 22050;
fmt.format = AUDIO_S16;
fmt.format = AUDIO_S16LSB;
fmt.channels = 2;
fmt.samples = 1024; /* A good value for games */
fmt.callback = mixaudio;

View File

@@ -32,6 +32,7 @@ DataModelInstance::DataModelInstance(void)
_modY=0;
workspace->setParent(this);
level->setParent(this);
soundService->setParent(this);
_loadedFileName="..//skooter.rbxm";
listicon = 5;

View File

@@ -20,11 +20,8 @@ Instance::Instance(const Instance &oinst)
className = oinst.className;
canDelete = oinst.canDelete;
listicon = oinst.listicon;
//setParent(oinst.parent);
}
void Instance::render(RenderDevice* rd)
{
for(size_t i = 0; i < children.size(); i++)

View File

@@ -476,6 +476,20 @@ static TCHAR* strSoundType(int option)
return "Victory";
case Enum::Sound::Boing:
return "Boing";
case Enum::Sound::Splat:
return "Splat";
case Enum::Sound::Snap:
return "Snap";
case Enum::Sound::Bomb:
return "Bomb";
case Enum::Sound::Break:
return "Break";
case Enum::Sound::Ping:
return "Ping";
case Enum::Sound::Swoosh:
return "Swoosh";
case Enum::Sound::Page:
return "Page";
}
return "NoSound";
}
@@ -488,6 +502,21 @@ static Enum::Sound::Value EnumOnTouchSoundType(TCHAR* option)
return Enum::Sound::Victory;
if(strcmp("Boing", option) == 0)
return Enum::Sound::Boing;
if(strcmp("Splat", option) == 0)
return Enum::Sound::Splat;
if(strcmp("Bomb", option) == 0)
return Enum::Sound::Bomb;
if(strcmp("Break", option) == 0)
return Enum::Sound::Break;
if(strcmp("Swoosh", option) == 0)
return Enum::Sound::Swoosh;
if(strcmp("Page", option) == 0)
return Enum::Sound::Page;
if(strcmp("Ping", option) == 0)
return Enum::Sound::Ping;
if(strcmp("Snap", option) == 0)
return Enum::Sound::Snap;
return Enum::Sound::NoSound;
}
@@ -530,6 +559,27 @@ void PartInstance::onTouch()
case Enum::Sound::Boing:
sndService->playSound(sndService->findFirstChild("Boing"));
break;
case Enum::Sound::Break:
sndService->playSound(sndService->findFirstChild("Break"));
break;
case Enum::Sound::Snap:
sndService->playSound(sndService->findFirstChild("Snap"));
break;
case Enum::Sound::Bomb:
sndService->playSound(sndService->findFirstChild("Bomb"));
break;
case Enum::Sound::Splat:
sndService->playSound(sndService->findFirstChild("Splat"));
break;
case Enum::Sound::Page:
sndService->playSound(sndService->findFirstChild("Page"));
break;
case Enum::Sound::Ping:
sndService->playSound(sndService->findFirstChild("Ping"));
break;
case Enum::Sound::Swoosh:
sndService->playSound(sndService->findFirstChild("Swoosh"));
break;
}
}
@@ -669,7 +719,7 @@ std::vector<PROPGRIDITEM> PartInstance::getProperties()
"What sound plays when touched",
(LPARAM)strSoundType(OnTouchSound),
PIT_COMBO,
TEXT("NoSound\0Victory\0Boing\0")
TEXT("NoSound\0Victory\0Boing\0Break\0Snap\0Bomb\0Splat\0Page\0Ping\0Swoosh\0")
));
sprintf_s(changeScoreTxt, "%d", changeScore);

View File

@@ -5,6 +5,7 @@ SoundInstance::SoundInstance()
{
name = "Sound";
className = "Sound";
listicon = 8;
soundVolume = 0.5;
soundId = "";

View File

@@ -8,6 +8,8 @@ SoundService::SoundService()
name = "SoundService";
className = "SoundService";
musicVolume = 0.3f;
listicon = 8;
canDelete = false;
// Create stock sounds
SoundInstance* stockSound = new SoundInstance();

View File

@@ -159,8 +159,6 @@ int main(int argc, char** argv) {
icc.dwICC = ICC_WIN95_CLASSES/*|ICC_COOL_CLASSES|ICC_DATE_CLASSES|
ICC_PAGESCROLLER_CLASS|ICC_USEREX_CLASSES*/;
InitCommonControlsEx(&icc);
AudioPlayer::init();
HMODULE hThisInstance = GetModuleHandle(NULL);
if (!createWindowClass("mainHWND",WndProc,hThisInstance))