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); diff --git a/source/Misc/Vehicle.cpp b/source/Misc/Vehicle.cpp index 7a86d633..32759e8b 100644 --- a/source/Misc/Vehicle.cpp +++ b/source/Misc/Vehicle.cpp @@ -664,7 +664,7 @@ Int32 GetAutomobileID(const StackStrF & name) // [Vic]e Squad Cheetah if (c == 'a') return SQMOD_VEHICLE_VICECHEE; // [Vir]go - if (c == 'o') return SQMOD_VEHICLE_VIRGO; + if (c == 'r') return SQMOD_VEHICLE_VIRGO; // Default to unknwon else return SQMOD_UNKNOWN; // [Vo]odoo diff --git a/source/Misc/Weapon.cpp b/source/Misc/Weapon.cpp index a10d0267..a3b94c55 100644 --- a/source/Misc/Weapon.cpp +++ b/source/Misc/Weapon.cpp @@ -288,6 +288,8 @@ Int32 GetWeaponID(const StackStrF & name) else if (b == 't') return SQMOD_WEAPON_STUBBY; // [Su]icide else if (b == 'u') return SQMOD_WEAPON_SUICIDE; + // Pump action [Sh]otgun + else if (b == 'h') return SQMOD_WEAPON_SHOTGUN; // Default to unknwon else return SQMOD_UNKNOWN; // [T]ear Gas