diff --git a/engine/include/GearSrc/Sound.h b/engine/include/GearSrc/Sound.h index 2230050..bf6bdc3 100644 --- a/engine/include/GearSrc/Sound.h +++ b/engine/include/GearSrc/Sound.h @@ -13,6 +13,8 @@ GSDECL GSSound GSSoundNew(GSSoundEngine sengine); GSDECL GSSound GSSoundOpen(GSSoundEngine sengine, const char* path); GSDECL void GSSoundClose(GSSound sound); GSDECL void GSSoundSetLoop(GSSound sound, GSBool toggle); +GSDECL void GSSoundSet3D(GSSound sound, GSBool toggle); +GSDECL void GSSoundSetPosition(GSSound sound, GSVector3 position); GSDECL void GSSoundStart(GSSound sound); GSDECL void GSSoundResume(GSSound sound); GSDECL void GSSoundPause(GSSound audio); diff --git a/engine/src/sound/sound.c b/engine/src/sound/sound.c index 4858677..c200079 100644 --- a/engine/src/sound/sound.c +++ b/engine/src/sound/sound.c @@ -140,6 +140,20 @@ void GSSoundPause(GSSound sound) { GSSoundUnlock(sound); } +void GSSoundSet3D(GSSound sound, GSBool toggle) { + GSSoundLock(sound); + sound->is_3d = toggle; + GSSoundUnlock(sound); +} + +void GSSoundSetPosition(GSSound sound, GSVector3 position) { + int i; + + GSSoundLock(sound); + for(i = 0; i < 3; i++) sound->position[i] = position[i]; + GSSoundUnlock(sound); +} + void GSSoundLock(GSSound sound) { ma_mutex_lock(&sound->mutex); }