diff --git a/source/Misc/Functions.cpp b/source/Misc/Functions.cpp index e81c7e35..881a6aff 100644 --- a/source/Misc/Functions.cpp +++ b/source/Misc/Functions.cpp @@ -626,6 +626,15 @@ void PlaySoundEx(Int32 world, Int32 sound, Float32 x, Float32 y, Float32 z) } } +// ------------------------------------------------------------------------------------------------ +void PlaySoundForWorld(Int32 world, Int32 sound) +{ + if (_Func->PlaySound(world, sound, NAN, NAN, NAN) == vcmpErrorArgumentOutOfBounds) + { + STHROWF("Argument value out of bounds"); + } +} + // ------------------------------------------------------------------------------------------------ void HideMapObject(Int32 model, const Vector3 & pos) { diff --git a/source/Misc/Functions.hpp b/source/Misc/Functions.hpp index 3a51ea0b..e48bda09 100644 --- a/source/Misc/Functions.hpp +++ b/source/Misc/Functions.hpp @@ -318,6 +318,11 @@ void PlaySound(Int32 world, Int32 sound, const Vector3 & pos); */ void PlaySoundEx(Int32 world, Int32 sound, Float32 x, Float32 y, Float32 z); +/* ------------------------------------------------------------------------------------------------ + * Play a game sound to a specific world. +*/ +void PlaySoundForWorld(Int32 world, Int32 sound); + /* ------------------------------------------------------------------------------------------------ * Make a map object invisible. */ diff --git a/source/Misc/Register.cpp b/source/Misc/Register.cpp index dd950d79..e22581c7 100644 --- a/source/Misc/Register.cpp +++ b/source/Misc/Register.cpp @@ -90,6 +90,7 @@ void Register_Misc(HSQUIRRELVM vm) .Func(_SC("CreateExplosionEx"), &CreateExplosionEx) .Func(_SC("PlaySound"), &PlaySound) .Func(_SC("PlaySoundEx"), &PlaySoundEx) + .Func(_SC("PlaySoundForWorld"), &PlaySoundForWorld) .Func(_SC("HideMapObject"), &HideMapObject) .Func(_SC("HideMapObjectEx"), &HideMapObjectEx) .Func(_SC("HideMapObjectRaw"), &HideMapObjectRaw) @@ -151,6 +152,7 @@ void Register_Misc(HSQUIRRELVM vm) .Func(_SC("IsWeaponNatural"), &IsWeaponNatural) .Func(_SC("PlaySound"), &PlaySound) .Func(_SC("PlaySoundEx"), &PlaySoundEx) + .Func(_SC("PlaySoundForWorld"), &PlaySoundForWorld) .Func(_SC("CreateExplosion"), &CreateExplosion) .Func(_SC("CreateExplosionEx"), &CreateExplosionEx);