mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-04-25 14:43:36 +00:00
63 lines
2 KiB
C++
63 lines
2 KiB
C++
#include "../../Minecraft.World/Platform/stdafx.h"
|
|
#include "Consoles_SoundEngine.h"
|
|
|
|
bool ConsoleSoundEngine::GetIsPlayingStreamingCDMusic() {
|
|
return m_bIsPlayingStreamingCDMusic;
|
|
}
|
|
bool ConsoleSoundEngine::GetIsPlayingStreamingGameMusic() {
|
|
return m_bIsPlayingStreamingGameMusic;
|
|
}
|
|
void ConsoleSoundEngine::SetIsPlayingStreamingCDMusic(bool bVal) {
|
|
m_bIsPlayingStreamingCDMusic = bVal;
|
|
}
|
|
void ConsoleSoundEngine::SetIsPlayingStreamingGameMusic(bool bVal) {
|
|
m_bIsPlayingStreamingGameMusic = bVal;
|
|
}
|
|
bool ConsoleSoundEngine::GetIsPlayingEndMusic() { return m_bIsPlayingEndMusic; }
|
|
bool ConsoleSoundEngine::GetIsPlayingNetherMusic() {
|
|
return m_bIsPlayingNetherMusic;
|
|
}
|
|
void ConsoleSoundEngine::SetIsPlayingEndMusic(bool bVal) {
|
|
m_bIsPlayingEndMusic = bVal;
|
|
}
|
|
void ConsoleSoundEngine::SetIsPlayingNetherMusic(bool bVal) {
|
|
m_bIsPlayingNetherMusic = bVal;
|
|
}
|
|
|
|
void ConsoleSoundEngine::tick() {
|
|
if (scheduledSounds.empty()) {
|
|
return;
|
|
}
|
|
|
|
for (AUTO_VAR(it, scheduledSounds.begin()); it != scheduledSounds.end();) {
|
|
SoundEngine::ScheduledSound* next = *it;
|
|
next->delay--;
|
|
|
|
if (next->delay <= 0) {
|
|
play(next->iSound, next->x, next->y, next->z, next->volume,
|
|
next->pitch);
|
|
it = scheduledSounds.erase(it);
|
|
delete next;
|
|
} else {
|
|
++it;
|
|
}
|
|
}
|
|
}
|
|
|
|
void ConsoleSoundEngine::schedule(int iSound, float x, float y, float z,
|
|
float volume, float pitch, int delayTicks) {
|
|
scheduledSounds.push_back(new SoundEngine::ScheduledSound(
|
|
iSound, x, y, z, volume, pitch, delayTicks));
|
|
}
|
|
|
|
ConsoleSoundEngine::ScheduledSound::ScheduledSound(int iSound, float x, float y,
|
|
float z, float volume,
|
|
float pitch, int delay) {
|
|
this->iSound = iSound;
|
|
this->x = x;
|
|
this->y = y;
|
|
this->z = z;
|
|
this->volume = volume;
|
|
this->pitch = pitch;
|
|
this->delay = delay;
|
|
} |