diff --git a/AUTHORS.txt b/AUTHORS.txt index bcc4a5d40e7..190b12bb6ae 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -126,6 +126,7 @@ Keithen Kllrt KokaKolaA3 Krzyciu +LAxemann legman Legolasindar "Viper" licht-im-Norden87 diff --git a/addons/cookoff/CfgSounds.hpp b/addons/cookoff/CfgSounds.hpp new file mode 100644 index 00000000000..742fb589d94 --- /dev/null +++ b/addons/cookoff/CfgSounds.hpp @@ -0,0 +1,66 @@ +#define VOLUME 2 +#define PITCH 1 + +#define SHOTSOUND(type,dist,N,maxDistance)\ +class GVAR(TRIPLES(type,dist,N)) {\ + sound[] = {QPATHTOF(sounds\type\DOUBLES(dist,N).wss), VOLUME, PITCH, maxDistance};\ + titles[] = {};\ +} + +#define SHOTSOUNDCLASS(type,dist,maxDistance)\ +SHOTSOUND(type,dist,1,maxDistance);\ +SHOTSOUND(type,dist,2,maxDistance);\ +SHOTSOUND(type,dist,3,maxDistance) + +#define SHOTSOUNDCLASSTYPE(type,maxDistance)\ +SHOTSOUNDCLASS(type,close,maxDistance);\ +SHOTSOUNDCLASS(type,mid,maxDistance);\ +SHOTSOUNDCLASS(type,far,maxDistance) + +// Allows other mods to change sounds for cook-off +class CfgSounds { + // These macros set up the sounds for the various classes + SHOTSOUNDCLASSTYPE(shotbullet,1250); + SHOTSOUNDCLASSTYPE(shotrocket,1600); + SHOTSOUNDCLASSTYPE(shotshell,1300); + + // Missiles use the same sounds as rockets + class GVAR(shotmissile_close_1): GVAR(shotrocket_close_1) {}; + class GVAR(shotmissile_close_2): GVAR(shotrocket_close_2) {}; + class GVAR(shotmissile_close_3): GVAR(shotrocket_close_3) {}; + class GVAR(shotmissile_mid_1): GVAR(shotrocket_mid_1) {}; + class GVAR(shotmissile_mid_2): GVAR(shotrocket_mid_2) {}; + class GVAR(shotmissile_mid_3): GVAR(shotrocket_mid_3) {}; + class GVAR(shotmissile_far_1): GVAR(shotrocket_far_1) {}; + class GVAR(shotmissile_far_2): GVAR(shotrocket_far_2) {}; + class GVAR(shotmissile_far_3): GVAR(shotrocket_far_3) {}; + + // Submunitions have the same sound as bullets, but a higher maxDistance + class GVAR(shotsubmunitions_close_1): GVAR(shotbullet_close_1) { + sound[] = {QPATHTOF(sounds\shotbullet\close_1.wss), VOLUME, PITCH, 1600}; + }; + class GVAR(shotsubmunitions_close_2): GVAR(shotbullet_close_2) { + sound[] = {QPATHTOF(sounds\shotbullet\close_2.wss), VOLUME, PITCH, 1600}; + }; + class GVAR(shotsubmunitions_close_3): GVAR(shotbullet_close_3) { + sound[] = {QPATHTOF(sounds\shotbullet\close_3.wss), VOLUME, PITCH, 1600}; + }; + class GVAR(shotsubmunitions_mid_1): GVAR(shotbullet_far_1) { + sound[] = {QPATHTOF(sounds\shotbullet\mid_1.wss), VOLUME, PITCH, 1600}; + }; + class GVAR(shotsubmunitions_mid_2): GVAR(shotbullet_mid_2) { + sound[] = {QPATHTOF(sounds\shotbullet\mid_2.wss), VOLUME, PITCH, 1600}; + }; + class GVAR(shotsubmunitions_mid_3): GVAR(shotbullet_mid_3) { + sound[] = {QPATHTOF(sounds\shotbullet\mid_3.wss), VOLUME, PITCH, 1600}; + }; + class GVAR(shotsubmunitions_far_1): GVAR(shotbullet_far_1) { + sound[] = {QPATHTOF(sounds\shotbullet\far_1.wss), VOLUME, PITCH, 1600}; + }; + class GVAR(shotsubmunitions_far_2): GVAR(shotbullet_far_2) { + sound[] = {QPATHTOF(sounds\shotbullet\far_2.wss), VOLUME, PITCH, 1600}; + }; + class GVAR(shotsubmunitions_far_3): GVAR(shotbullet_far_3) { + sound[] = {QPATHTOF(sounds\shotbullet\far_3.wss), VOLUME, PITCH, 1600}; + }; +}; diff --git a/addons/cookoff/XEH_postInit.sqf b/addons/cookoff/XEH_postInit.sqf index b9c81015950..b33723619e0 100644 --- a/addons/cookoff/XEH_postInit.sqf +++ b/addons/cookoff/XEH_postInit.sqf @@ -14,15 +14,15 @@ // handle cleaning up effects when vehicle is deleted mid-cookoff [QGVAR(addCleanupHandlers), { params ["_vehicle"]; - + // Don't add a new EH if cookoff is run multiple times if ((_vehicle getVariable [QGVAR(deletedEH), -1]) == -1) then { private _deletedEH = _vehicle addEventHandler ["Deleted", { params ["_vehicle"]; - + [QGVAR(cleanupEffects), [_vehicle]] call CBA_fnc_localEvent; }]; - + _vehicle setVariable [QGVAR(deletedEH), _deletedEH]; }; }] call CBA_fnc_addEventHandler; @@ -58,3 +58,42 @@ [FUNC(detonateAmmunition), [_vehicle, _mags, _total], _delay] call CBA_fnc_waitAndExecute; }; }, nil, ["Man","StaticWeapon"]] call CBA_fnc_addClassEventHandler; + +if (hasInterface) then { + // Plays a sound locally, so that different sounds can be used for various distances + [QGVAR(playCookoffSound), { + params ["_object", "_sound"]; + + if (isNull _object) exitWith {}; + + private _distance = _object distance (positionCameraToWorld [0, 0, 0]); + + TRACE_3("",_object,_sound,_maxDistance); + + // 3 classes of distances: close, mid and far, each having different sound files + private _classDistance = switch (true) do { + case (_distance < DISTANCE_CLOSE): {"close"}; + case (_distance < DISTANCE_MID): {"mid"}; + default {"far"}; + }; + + _sound = format [QGVAR(%1_%2_%3), _sound, _classDistance, floor (random 3) + 1]; + + TRACE_1("",_sound); + + // Allows other mods to change sounds for cook-off + _sound = getArray (configFile >> "CfgSounds" >> _sound >> "sound"); + + if (_sound isEqualTo []) exitWith {}; + + _sound params ["_sound", "_volume", "_pitch", "_maxDistance"]; + + if (_distance > _maxDistance) exitWith {}; + + // Make sure file exists, so RPT isn't spammed with non-existent entry errors + if (!fileExists _sound) exitWith {}; + + // Obeys speed of sound and takes doppler effects into account + playSound3D [_sound, objNull, insideBuilding _object >= 0.5, getPosASL _object, _volume, _pitch + (random 0.2) - 0.1, _maxDistance, 0, true]; + }] call CBA_fnc_addEventHandler; +}; diff --git a/addons/cookoff/config.cpp b/addons/cookoff/config.cpp index 4fba15f5e1d..dc7a4728551 100644 --- a/addons/cookoff/config.cpp +++ b/addons/cookoff/config.cpp @@ -21,4 +21,5 @@ class CfgPatches { #include "CfgAmmo.hpp" #include "CfgCloudlets.hpp" #include "CfgSFX.hpp" +#include "CfgSounds.hpp" #include "CfgVehicles.hpp" diff --git a/addons/cookoff/functions/fnc_detonateAmmunition.sqf b/addons/cookoff/functions/fnc_detonateAmmunition.sqf index b4d48f3120d..c089982e31c 100644 --- a/addons/cookoff/functions/fnc_detonateAmmunition.sqf +++ b/addons/cookoff/functions/fnc_detonateAmmunition.sqf @@ -32,90 +32,89 @@ private _magazineIndex = floor random(count _magazines); private _magazine = _magazines select _magazineIndex; _magazine params ["_magazineClassname", "_amountOfMagazines"]; -if (_amountOfMagazines > 0) exitWith { - private _removed = _amountOfMagazines min floor(1 + random(6 / GVAR(ammoCookoffDuration))); - - _amountOfMagazines = _amountOfMagazines - _removed; - if (_amountOfMagazines <= 0) then { - _magazines deleteAt _magazineIndex; - } else { - _magazine set [1, _amountOfMagazines]; // clear out the magazine - }; - private _timeBetweenAmmoDetonation = (((random 10) / (sqrt _totalAmmo)) min MAX_TIME_BETWEEN_AMMO_DET) max 0.1; - TRACE_2("",_totalAmmo,_timeBetweenAmmoDetonation); - _totalAmmo = _totalAmmo - _removed; - - private _ammo = getText (configFile >> "CfgMagazines" >> _magazineClassname >> "ammo"); - private _ammoCfg = configFile >> "CfgAmmo" >> _ammo; +if (_amountOfMagazines < 0) exitWith { + ERROR_1("mag with no ammo - %1", _magazine); +}; +private _removed = _amountOfMagazines min floor(1 + random(6 / GVAR(ammoCookoffDuration))); - private _speedOfAmmo = getNumber (configFile >> "CfgMagazines" >> _magazineClassname >> "initSpeed"); - private _simType = getText (_ammoCfg >> "simulation"); +_amountOfMagazines = _amountOfMagazines - _removed; +if (_amountOfMagazines <= 0) then { + _magazines deleteAt _magazineIndex; +} else { + _magazine set [1, _amountOfMagazines]; // clear out the magazine +}; +private _timeBetweenAmmoDetonation = (((random 10) / (sqrt _totalAmmo)) min MAX_TIME_BETWEEN_AMMO_DET) max 0.1; +TRACE_2("",_totalAmmo,_timeBetweenAmmoDetonation); +_totalAmmo = _totalAmmo - _removed; - private _effect2pos = _vehicle selectionPosition "destructionEffect2"; +private _ammo = getText (configFile >> "CfgMagazines" >> _magazineClassname >> "ammo"); +private _ammoCfg = configFile >> "CfgAmmo" >> _ammo; - private _spawnProjectile = { - params ["_vehicle", "_ammo", "_speed", "_flyAway"]; +private _speedOfAmmo = getNumber (configFile >> "CfgMagazines" >> _magazineClassname >> "initSpeed"); +private _simType = getText (_ammoCfg >> "simulation"); - private _spawnPos = _vehicle modelToWorld [-0.2 + (random 0.4), -0.2 + (random 0.4), random 3]; - if (_spawnPos select 2 < 0) then { - _spawnPos set [2, 0]; - }; +private _effect2pos = _vehicle selectionPosition "destructionEffect2"; - private _projectile = createVehicle [_ammo, _spawnPos, [], 0, "CAN_COLLIDE"]; - if (_flyAway) then { - private _vectorAmmo = [(-1 + (random 2)), (-1 + (random 2)), -0.2 + (random 1)]; - private _velVec = _vectorAmmo vectorMultiply _speed; - _projectile setVectorDir _velVec; - _projectile setVelocity _velVec; - } else { - _projectile setDamage 1; - }; +private _spawnProjectile = { + params ["_vehicle", "_ammo", "_speed", "_flyAway"]; - _projectile; + private _spawnPos = _vehicle modelToWorld [-0.2 + (random 0.4), -0.2 + (random 0.4), random 3]; + if (_spawnPos select 2 < 0) then { + _spawnPos set [2, 0]; }; - private _speed = random (_speedOfAmmo / 10) max 1; + private _projectile = createVehicle [_ammo, _spawnPos, [], 0, "CAN_COLLIDE"]; + if (_flyAway) then { + private _vectorAmmo = [(-1 + (random 2)), (-1 + (random 2)), -0.2 + (random 1)]; + private _velVec = _vectorAmmo vectorMultiply _speed; + _projectile setVectorDir _velVec; + _projectile setVelocity _velVec; + } else { + _projectile setDamage 1; + }; - if (toLower _simType == "shotbullet") then { - private _sound = selectRandom [QUOTE(PATHTO_R(sounds\light_crack_close.wss)), QUOTE(PATHTO_R(sounds\light_crack_close_filtered.wss)), QUOTE(PATHTO_R(sounds\heavy_crack_close.wss)), QUOTE(PATHTO_R(sounds\heavy_crack_close_filtered.wss))]; - playSound3D [_sound, objNull, false, (getPosASL _vehicle), 2, 1, 1250]; + _projectile; +}; +private _speed = random (_speedOfAmmo / 10) max 1; +_simType = toLower _simType; +switch (_simType) do { + case ("shotbullet"): { + [QGVAR(playCookoffSound), [_vehicle, _simType]] call CBA_fnc_globalEvent; if (random 1 < 0.6) then { [_vehicle, _ammo, _speed, true] call _spawnProjectile; }; }; - if (toLower _simType == "shotshell") then { - private _sound = selectRandom [QUOTE(PATHTO_R(sounds\heavy_crack_close.wss)), QUOTE(PATHTO_R(sounds\heavy_crack_close_filtered.wss))]; - playSound3D [_sound, objNull, false, (getPosASL _vehicle), 2, 1, 1300]; - + case ("shotshell"): { + [QGVAR(playCookoffSound), [_vehicle, _simType]] call CBA_fnc_globalEvent; if (random 1 < 0.15) then { [_vehicle, _ammo, _speed, true] call _spawnProjectile; }; }; - if (toLower _simType == "shotgrenade") then { + case ("shotgrenade"): { if (random 1 < 0.9) then { _speed = 0; }; [_vehicle, _ammo, _speed, random 1 < 0.5] call _spawnProjectile; }; - if (toLower _simType in ["shotrocket", "shotmissile", "shotsubmunitions"]) then { + case ("shotrocket"); + case ("shotmissile"); + case ("shotsubmunitions"): { if (random 1 < 0.1) then { - private _sound = selectRandom [QUOTE(PATHTO_R(sounds\cannon_crack_close.wss)), QUOTE(PATHTO_R(sounds\cannon_crack_close_filtered.wss))]; - playSound3D [_sound, objNull, false, (getPosASL _vehicle), 3, 1, 1600]; - + [QGVAR(playCookoffSound), [_vehicle, _simType]] call CBA_fnc_globalEvent; [_vehicle, _ammo, _speed, random 1 < 0.3] call _spawnProjectile; } else { createvehicle ["ACE_ammoExplosionLarge", (_vehicle modelToWorld _effect2pos), [], 0 , "CAN_COLLIDE"]; }; }; - if (toLower _simType in ["shotdirectionalbomb", "shotmine"]) then { + case ("shotmine"); + case ("shotdirectionalbomb"): { if (random 1 < 0.5) then { // Not all explosives detonate on destruction, some have scripted alternatives private _scripted = getNumber (_ammoCfg >> "triggerWhenDestroyed") == 1; if !(_scripted) then { _ammo = getText (_ammoCfg >> "ace_explosives_Explosive"); }; - // If a scripted alternative doesn't exist use generic explosion if (_ammo != "") then { [_vehicle, _ammo, 0, false] call _spawnProjectile; @@ -124,12 +123,10 @@ if (_amountOfMagazines > 0) exitWith { }; }; }; - if (toLower _simType == "shotilluminating") then { + case ("shotilluminating"): { if (random 1 < 0.15) then { [_vehicle, _ammo, _speed, random 1 < 0.3] call _spawnProjectile; }; }; - - [FUNC(detonateAmmunition), [_vehicle, _magazines, _totalAmmo], _timeBetweenAmmoDetonation] call CBA_fnc_waitAndExecute; }; -ERROR_1("mag with no ammo - %1", _magazine); +[FUNC(detonateAmmunition), [_vehicle, _magazines, _totalAmmo], _timeBetweenAmmoDetonation] call CBA_fnc_waitAndExecute; diff --git a/addons/cookoff/script_component.hpp b/addons/cookoff/script_component.hpp index 03b3e5c5f57..d41b8f675c3 100644 --- a/addons/cookoff/script_component.hpp +++ b/addons/cookoff/script_component.hpp @@ -37,3 +37,6 @@ // Common commander hatch defines for default vehicles #define DEFAULT_COMMANDER_HATCHES ["osa_poklop_commander", "hatch_commander_axis"] + +#define DISTANCE_CLOSE 235 +#define DISTANCE_MID 952 diff --git a/addons/cookoff/sounds/cannon_crack_close.wss b/addons/cookoff/sounds/cannon_crack_close.wss deleted file mode 100644 index b45ea96ab01..00000000000 Binary files a/addons/cookoff/sounds/cannon_crack_close.wss and /dev/null differ diff --git a/addons/cookoff/sounds/cannon_crack_close_filtered.wss b/addons/cookoff/sounds/cannon_crack_close_filtered.wss deleted file mode 100644 index 4ddb18539b3..00000000000 Binary files a/addons/cookoff/sounds/cannon_crack_close_filtered.wss and /dev/null differ diff --git a/addons/cookoff/sounds/heavy_crack_close.wss b/addons/cookoff/sounds/heavy_crack_close.wss deleted file mode 100644 index 95cc68d90ec..00000000000 Binary files a/addons/cookoff/sounds/heavy_crack_close.wss and /dev/null differ diff --git a/addons/cookoff/sounds/heavy_crack_close_filtered.wss b/addons/cookoff/sounds/heavy_crack_close_filtered.wss deleted file mode 100644 index 1b4520cd4ad..00000000000 Binary files a/addons/cookoff/sounds/heavy_crack_close_filtered.wss and /dev/null differ diff --git a/addons/cookoff/sounds/light_crack_close.wss b/addons/cookoff/sounds/light_crack_close.wss deleted file mode 100644 index ef284f24efd..00000000000 Binary files a/addons/cookoff/sounds/light_crack_close.wss and /dev/null differ diff --git a/addons/cookoff/sounds/light_crack_close_filtered.wss b/addons/cookoff/sounds/light_crack_close_filtered.wss deleted file mode 100644 index b1c76fa8ed2..00000000000 Binary files a/addons/cookoff/sounds/light_crack_close_filtered.wss and /dev/null differ diff --git a/addons/cookoff/sounds/shotbullet/close_1.wss b/addons/cookoff/sounds/shotbullet/close_1.wss new file mode 100644 index 00000000000..19f07503bff Binary files /dev/null and b/addons/cookoff/sounds/shotbullet/close_1.wss differ diff --git a/addons/cookoff/sounds/shotbullet/close_2.wss b/addons/cookoff/sounds/shotbullet/close_2.wss new file mode 100644 index 00000000000..bf83c295996 Binary files /dev/null and b/addons/cookoff/sounds/shotbullet/close_2.wss differ diff --git a/addons/cookoff/sounds/shotbullet/close_3.wss b/addons/cookoff/sounds/shotbullet/close_3.wss new file mode 100644 index 00000000000..dcf4198acd6 Binary files /dev/null and b/addons/cookoff/sounds/shotbullet/close_3.wss differ diff --git a/addons/cookoff/sounds/shotbullet/far_1.wss b/addons/cookoff/sounds/shotbullet/far_1.wss new file mode 100644 index 00000000000..07cd30e15be Binary files /dev/null and b/addons/cookoff/sounds/shotbullet/far_1.wss differ diff --git a/addons/cookoff/sounds/shotbullet/far_2.wss b/addons/cookoff/sounds/shotbullet/far_2.wss new file mode 100644 index 00000000000..795581517a3 Binary files /dev/null and b/addons/cookoff/sounds/shotbullet/far_2.wss differ diff --git a/addons/cookoff/sounds/shotbullet/far_3.wss b/addons/cookoff/sounds/shotbullet/far_3.wss new file mode 100644 index 00000000000..d7e55381509 Binary files /dev/null and b/addons/cookoff/sounds/shotbullet/far_3.wss differ diff --git a/addons/cookoff/sounds/shotbullet/mid_1.wss b/addons/cookoff/sounds/shotbullet/mid_1.wss new file mode 100644 index 00000000000..b02a481b42a Binary files /dev/null and b/addons/cookoff/sounds/shotbullet/mid_1.wss differ diff --git a/addons/cookoff/sounds/shotbullet/mid_2.wss b/addons/cookoff/sounds/shotbullet/mid_2.wss new file mode 100644 index 00000000000..1e184cc1ef2 Binary files /dev/null and b/addons/cookoff/sounds/shotbullet/mid_2.wss differ diff --git a/addons/cookoff/sounds/shotbullet/mid_3.wss b/addons/cookoff/sounds/shotbullet/mid_3.wss new file mode 100644 index 00000000000..10606bf1380 Binary files /dev/null and b/addons/cookoff/sounds/shotbullet/mid_3.wss differ diff --git a/addons/cookoff/sounds/shotrocket/close_1.wss b/addons/cookoff/sounds/shotrocket/close_1.wss new file mode 100644 index 00000000000..31ff1cbe388 Binary files /dev/null and b/addons/cookoff/sounds/shotrocket/close_1.wss differ diff --git a/addons/cookoff/sounds/shotrocket/close_2.wss b/addons/cookoff/sounds/shotrocket/close_2.wss new file mode 100644 index 00000000000..8ef09dcf04b Binary files /dev/null and b/addons/cookoff/sounds/shotrocket/close_2.wss differ diff --git a/addons/cookoff/sounds/shotrocket/close_3.wss b/addons/cookoff/sounds/shotrocket/close_3.wss new file mode 100644 index 00000000000..5410c359e44 Binary files /dev/null and b/addons/cookoff/sounds/shotrocket/close_3.wss differ diff --git a/addons/cookoff/sounds/shotrocket/far_1.wss b/addons/cookoff/sounds/shotrocket/far_1.wss new file mode 100644 index 00000000000..e71990476b4 Binary files /dev/null and b/addons/cookoff/sounds/shotrocket/far_1.wss differ diff --git a/addons/cookoff/sounds/shotrocket/far_2.wss b/addons/cookoff/sounds/shotrocket/far_2.wss new file mode 100644 index 00000000000..bae24fa78eb Binary files /dev/null and b/addons/cookoff/sounds/shotrocket/far_2.wss differ diff --git a/addons/cookoff/sounds/shotrocket/far_3.wss b/addons/cookoff/sounds/shotrocket/far_3.wss new file mode 100644 index 00000000000..093e841277d Binary files /dev/null and b/addons/cookoff/sounds/shotrocket/far_3.wss differ diff --git a/addons/cookoff/sounds/shotrocket/mid_1.wss b/addons/cookoff/sounds/shotrocket/mid_1.wss new file mode 100644 index 00000000000..f927d7f174d Binary files /dev/null and b/addons/cookoff/sounds/shotrocket/mid_1.wss differ diff --git a/addons/cookoff/sounds/shotrocket/mid_2.wss b/addons/cookoff/sounds/shotrocket/mid_2.wss new file mode 100644 index 00000000000..785dd5b603b Binary files /dev/null and b/addons/cookoff/sounds/shotrocket/mid_2.wss differ diff --git a/addons/cookoff/sounds/shotrocket/mid_3.wss b/addons/cookoff/sounds/shotrocket/mid_3.wss new file mode 100644 index 00000000000..7fb384421df Binary files /dev/null and b/addons/cookoff/sounds/shotrocket/mid_3.wss differ diff --git a/addons/cookoff/sounds/shotshell/close_1.wss b/addons/cookoff/sounds/shotshell/close_1.wss new file mode 100644 index 00000000000..aa9a0bc718d Binary files /dev/null and b/addons/cookoff/sounds/shotshell/close_1.wss differ diff --git a/addons/cookoff/sounds/shotshell/close_2.wss b/addons/cookoff/sounds/shotshell/close_2.wss new file mode 100644 index 00000000000..355d061d01d Binary files /dev/null and b/addons/cookoff/sounds/shotshell/close_2.wss differ diff --git a/addons/cookoff/sounds/shotshell/close_3.wss b/addons/cookoff/sounds/shotshell/close_3.wss new file mode 100644 index 00000000000..3847fa870fc Binary files /dev/null and b/addons/cookoff/sounds/shotshell/close_3.wss differ diff --git a/addons/cookoff/sounds/shotshell/far_1.wss b/addons/cookoff/sounds/shotshell/far_1.wss new file mode 100644 index 00000000000..262b037c12f Binary files /dev/null and b/addons/cookoff/sounds/shotshell/far_1.wss differ diff --git a/addons/cookoff/sounds/shotshell/far_2.wss b/addons/cookoff/sounds/shotshell/far_2.wss new file mode 100644 index 00000000000..38e0e1eb81f Binary files /dev/null and b/addons/cookoff/sounds/shotshell/far_2.wss differ diff --git a/addons/cookoff/sounds/shotshell/far_3.wss b/addons/cookoff/sounds/shotshell/far_3.wss new file mode 100644 index 00000000000..781f86e4b8f Binary files /dev/null and b/addons/cookoff/sounds/shotshell/far_3.wss differ diff --git a/addons/cookoff/sounds/shotshell/mid_1.wss b/addons/cookoff/sounds/shotshell/mid_1.wss new file mode 100644 index 00000000000..76c68cdee18 Binary files /dev/null and b/addons/cookoff/sounds/shotshell/mid_1.wss differ diff --git a/addons/cookoff/sounds/shotshell/mid_2.wss b/addons/cookoff/sounds/shotshell/mid_2.wss new file mode 100644 index 00000000000..f84b579bc4e Binary files /dev/null and b/addons/cookoff/sounds/shotshell/mid_2.wss differ diff --git a/addons/cookoff/sounds/shotshell/mid_3.wss b/addons/cookoff/sounds/shotshell/mid_3.wss new file mode 100644 index 00000000000..990a583a048 Binary files /dev/null and b/addons/cookoff/sounds/shotshell/mid_3.wss differ diff --git a/extras/assets/CookoffSounds/ConvertWAVtoWSS.bat b/extras/assets/CookoffSounds/ConvertWAVtoWSS.bat new file mode 100644 index 00000000000..2db7169f146 --- /dev/null +++ b/extras/assets/CookoffSounds/ConvertWAVtoWSS.bat @@ -0,0 +1 @@ +forfiles /s /m *.wav /c "DeWSSDos -wss/0 -P -V -Y @path @FNAME.wss" diff --git a/extras/assets/CookoffSounds/shotbullet/close_1.wav b/extras/assets/CookoffSounds/shotbullet/close_1.wav new file mode 100644 index 00000000000..27e0c44dd38 Binary files /dev/null and b/extras/assets/CookoffSounds/shotbullet/close_1.wav differ diff --git a/extras/assets/CookoffSounds/shotbullet/close_2.wav b/extras/assets/CookoffSounds/shotbullet/close_2.wav new file mode 100644 index 00000000000..c51039cb73d Binary files /dev/null and b/extras/assets/CookoffSounds/shotbullet/close_2.wav differ diff --git a/extras/assets/CookoffSounds/shotbullet/close_3.wav b/extras/assets/CookoffSounds/shotbullet/close_3.wav new file mode 100644 index 00000000000..46955fa6969 Binary files /dev/null and b/extras/assets/CookoffSounds/shotbullet/close_3.wav differ diff --git a/extras/assets/CookoffSounds/shotbullet/far_1.wav b/extras/assets/CookoffSounds/shotbullet/far_1.wav new file mode 100644 index 00000000000..bfccf1461b5 Binary files /dev/null and b/extras/assets/CookoffSounds/shotbullet/far_1.wav differ diff --git a/extras/assets/CookoffSounds/shotbullet/far_2.wav b/extras/assets/CookoffSounds/shotbullet/far_2.wav new file mode 100644 index 00000000000..39b3e09dee0 Binary files /dev/null and b/extras/assets/CookoffSounds/shotbullet/far_2.wav differ diff --git a/extras/assets/CookoffSounds/shotbullet/far_3.wav b/extras/assets/CookoffSounds/shotbullet/far_3.wav new file mode 100644 index 00000000000..5714da84408 Binary files /dev/null and b/extras/assets/CookoffSounds/shotbullet/far_3.wav differ diff --git a/extras/assets/CookoffSounds/shotbullet/mid_1.wav b/extras/assets/CookoffSounds/shotbullet/mid_1.wav new file mode 100644 index 00000000000..f757ca68f7a Binary files /dev/null and b/extras/assets/CookoffSounds/shotbullet/mid_1.wav differ diff --git a/extras/assets/CookoffSounds/shotbullet/mid_2.wav b/extras/assets/CookoffSounds/shotbullet/mid_2.wav new file mode 100644 index 00000000000..419e62e8470 Binary files /dev/null and b/extras/assets/CookoffSounds/shotbullet/mid_2.wav differ diff --git a/extras/assets/CookoffSounds/shotbullet/mid_3.wav b/extras/assets/CookoffSounds/shotbullet/mid_3.wav new file mode 100644 index 00000000000..c2366ceb17a Binary files /dev/null and b/extras/assets/CookoffSounds/shotbullet/mid_3.wav differ diff --git a/extras/assets/CookoffSounds/shotrocket/close_1.wav b/extras/assets/CookoffSounds/shotrocket/close_1.wav new file mode 100644 index 00000000000..e76da3c464d Binary files /dev/null and b/extras/assets/CookoffSounds/shotrocket/close_1.wav differ diff --git a/extras/assets/CookoffSounds/shotrocket/close_2.wav b/extras/assets/CookoffSounds/shotrocket/close_2.wav new file mode 100644 index 00000000000..82f5c2c6576 Binary files /dev/null and b/extras/assets/CookoffSounds/shotrocket/close_2.wav differ diff --git a/extras/assets/CookoffSounds/shotrocket/close_3.wav b/extras/assets/CookoffSounds/shotrocket/close_3.wav new file mode 100644 index 00000000000..29b447e502f Binary files /dev/null and b/extras/assets/CookoffSounds/shotrocket/close_3.wav differ diff --git a/extras/assets/CookoffSounds/shotrocket/far_1.wav b/extras/assets/CookoffSounds/shotrocket/far_1.wav new file mode 100644 index 00000000000..ec019a7d5e5 Binary files /dev/null and b/extras/assets/CookoffSounds/shotrocket/far_1.wav differ diff --git a/extras/assets/CookoffSounds/shotrocket/far_2.wav b/extras/assets/CookoffSounds/shotrocket/far_2.wav new file mode 100644 index 00000000000..640860b81fd Binary files /dev/null and b/extras/assets/CookoffSounds/shotrocket/far_2.wav differ diff --git a/extras/assets/CookoffSounds/shotrocket/far_3.wav b/extras/assets/CookoffSounds/shotrocket/far_3.wav new file mode 100644 index 00000000000..7481f3dfe9d Binary files /dev/null and b/extras/assets/CookoffSounds/shotrocket/far_3.wav differ diff --git a/extras/assets/CookoffSounds/shotrocket/mid_1.wav b/extras/assets/CookoffSounds/shotrocket/mid_1.wav new file mode 100644 index 00000000000..b4e2c752591 Binary files /dev/null and b/extras/assets/CookoffSounds/shotrocket/mid_1.wav differ diff --git a/extras/assets/CookoffSounds/shotrocket/mid_2.wav b/extras/assets/CookoffSounds/shotrocket/mid_2.wav new file mode 100644 index 00000000000..a21b529f07c Binary files /dev/null and b/extras/assets/CookoffSounds/shotrocket/mid_2.wav differ diff --git a/extras/assets/CookoffSounds/shotrocket/mid_3.wav b/extras/assets/CookoffSounds/shotrocket/mid_3.wav new file mode 100644 index 00000000000..3fdffdbe0fa Binary files /dev/null and b/extras/assets/CookoffSounds/shotrocket/mid_3.wav differ diff --git a/extras/assets/CookoffSounds/shotshell/close_1.wav b/extras/assets/CookoffSounds/shotshell/close_1.wav new file mode 100644 index 00000000000..105d092a91a Binary files /dev/null and b/extras/assets/CookoffSounds/shotshell/close_1.wav differ diff --git a/extras/assets/CookoffSounds/shotshell/close_2.wav b/extras/assets/CookoffSounds/shotshell/close_2.wav new file mode 100644 index 00000000000..899cde65057 Binary files /dev/null and b/extras/assets/CookoffSounds/shotshell/close_2.wav differ diff --git a/extras/assets/CookoffSounds/shotshell/close_3.wav b/extras/assets/CookoffSounds/shotshell/close_3.wav new file mode 100644 index 00000000000..dbfeb326949 Binary files /dev/null and b/extras/assets/CookoffSounds/shotshell/close_3.wav differ diff --git a/extras/assets/CookoffSounds/shotshell/far_1.wav b/extras/assets/CookoffSounds/shotshell/far_1.wav new file mode 100644 index 00000000000..54906554063 Binary files /dev/null and b/extras/assets/CookoffSounds/shotshell/far_1.wav differ diff --git a/extras/assets/CookoffSounds/shotshell/far_2.wav b/extras/assets/CookoffSounds/shotshell/far_2.wav new file mode 100644 index 00000000000..f5cd390b608 Binary files /dev/null and b/extras/assets/CookoffSounds/shotshell/far_2.wav differ diff --git a/extras/assets/CookoffSounds/shotshell/far_3.wav b/extras/assets/CookoffSounds/shotshell/far_3.wav new file mode 100644 index 00000000000..99fc796e7d1 Binary files /dev/null and b/extras/assets/CookoffSounds/shotshell/far_3.wav differ diff --git a/extras/assets/CookoffSounds/shotshell/mid_1.wav b/extras/assets/CookoffSounds/shotshell/mid_1.wav new file mode 100644 index 00000000000..a911545a7fc Binary files /dev/null and b/extras/assets/CookoffSounds/shotshell/mid_1.wav differ diff --git a/extras/assets/CookoffSounds/shotshell/mid_2.wav b/extras/assets/CookoffSounds/shotshell/mid_2.wav new file mode 100644 index 00000000000..e8dc3e06deb Binary files /dev/null and b/extras/assets/CookoffSounds/shotshell/mid_2.wav differ diff --git a/extras/assets/CookoffSounds/shotshell/mid_3.wav b/extras/assets/CookoffSounds/shotshell/mid_3.wav new file mode 100644 index 00000000000..ea6ddd94e6c Binary files /dev/null and b/extras/assets/CookoffSounds/shotshell/mid_3.wav differ