diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_BakedSpeech.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_BakedSpeech.c new file mode 100644 index 0000000..0898030 --- /dev/null +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_BakedSpeech.c @@ -0,0 +1,102 @@ +// Generated by tools/build_bundled_speech.py from docs/bundled-speech.json. +// Only these packaged graphs are accepted as local speech sources. +class ERR_BakedSpeech +{ + static array Sources() { return {"baked:welcome", "baked:soldier_1001", "baked:soldier_1002", "baked:soldier_1003", "baked:soldier_1004", "baked:soldier_1005", "baked:soldier_1100", "baked:soldier_1101", "baked:soldier_1102", "baked:soldier_1103", "baked:soldier_1104", "baked:soldier_1105", "baked:soldier_1200", "baked:soldier_1201", "baked:soldier_1202", "baked:soldier_1203", "baked:soldier_1204", "baked:soldier_1205", "baked:soldier_clear", "baked:soldier_moving", "baked:soldier_covering", "baked:soldier_reloading", "baked:soldier_under_fire", "baked:soldier_no_ammo", "baked:soldier_engaging", "baked:soldier_target_down", "baked:soldier_target_lost", "baked:radio_01", "baked:radio_02", "baked:radio_03", "baked:radio_04", "baked:radio_05", "baked:radio_06", "baked:radio_07", "baked:radio_08", "baked:radio_09", "baked:radio_10"}; } + static string Welcome() { return "baked:welcome"; } + static string WelcomeText() { return "Welcome to Escape Reintroduced. Work together, stay alert, and find your way off the island. Good luck."; } + static ResourceName Graph(string source) + { + switch (source) + { + case "baked:welcome": return "{3B55F836F9B6D20C}Sounds/ERR/Speech/welcome.acp"; + case "baked:soldier_1001": return "{3DF753B659A184FB}Sounds/ERR/Speech/soldier_1001.acp"; + case "baked:soldier_1002": return "{B1B78A9E50D41FD5}Sounds/ERR/Speech/soldier_1002.acp"; + case "baked:soldier_1003": return "{FEE47650B627484E}Sounds/ERR/Speech/soldier_1003.acp"; + case "baked:soldier_1004": return "{2FA4DC16F80F04FE}Sounds/ERR/Speech/soldier_1004.acp"; + case "baked:soldier_1005": return "{5F3C22AA392DAE36}Sounds/ERR/Speech/soldier_1005.acp"; + case "baked:soldier_1100": return "{AD2DC2C52E226AA7}Sounds/ERR/Speech/soldier_1100.acp"; + case "baked:soldier_1101": return "{AE2E3AA19209018D}Sounds/ERR/Speech/soldier_1101.acp"; + case "baked:soldier_1102": return "{74617A1D01426F95}Sounds/ERR/Speech/soldier_1102.acp"; + case "baked:soldier_1103": return "{6B5037B1DEEB3FCB}Sounds/ERR/Speech/soldier_1103.acp"; + case "baked:soldier_1104": return "{0C8AE411366B20EB}Sounds/ERR/Speech/soldier_1104.acp"; + case "baked:soldier_1105": return "{3E1B0B6406E16734}Sounds/ERR/Speech/soldier_1105.acp"; + case "baked:soldier_1200": return "{86FD331E3D1EB134}Sounds/ERR/Speech/soldier_1200.acp"; + case "baked:soldier_1201": return "{A840837CC23E4A32}Sounds/ERR/Speech/soldier_1201.acp"; + case "baked:soldier_1202": return "{3AF9ED4087FE442C}Sounds/ERR/Speech/soldier_1202.acp"; + case "baked:soldier_1203": return "{97397F4FD27C4371}Sounds/ERR/Speech/soldier_1203.acp"; + case "baked:soldier_1204": return "{EB394FAC323A0CA0}Sounds/ERR/Speech/soldier_1204.acp"; + case "baked:soldier_1205": return "{69750949590AECF1}Sounds/ERR/Speech/soldier_1205.acp"; + case "baked:soldier_clear": return "{ECF3257A4BFF2F53}Sounds/ERR/Speech/soldier_clear.acp"; + case "baked:soldier_moving": return "{BAB1942B5DE85A52}Sounds/ERR/Speech/soldier_moving.acp"; + case "baked:soldier_covering": return "{78DCA194DA126513}Sounds/ERR/Speech/soldier_covering.acp"; + case "baked:soldier_reloading": return "{C51337F1692C21A7}Sounds/ERR/Speech/soldier_reloading.acp"; + case "baked:soldier_under_fire": return "{8A05B1A08D5F23CC}Sounds/ERR/Speech/soldier_under_fire.acp"; + case "baked:soldier_no_ammo": return "{D363E6B37331E416}Sounds/ERR/Speech/soldier_no_ammo.acp"; + case "baked:soldier_engaging": return "{A700E14970CCA3E2}Sounds/ERR/Speech/soldier_engaging.acp"; + case "baked:soldier_target_down": return "{388F2800E5683289}Sounds/ERR/Speech/soldier_target_down.acp"; + case "baked:soldier_target_lost": return "{DA42EA7B286B20BD}Sounds/ERR/Speech/soldier_target_lost.acp"; + case "baked:radio_01": return "{29F6A1A8A691488D}Sounds/ERR/Speech/radio_01.acp"; + case "baked:radio_02": return "{0B1147F331AC4EDA}Sounds/ERR/Speech/radio_02.acp"; + case "baked:radio_03": return "{BC0C902F48008D93}Sounds/ERR/Speech/radio_03.acp"; + case "baked:radio_04": return "{E9EB0183C1ED1906}Sounds/ERR/Speech/radio_04.acp"; + case "baked:radio_05": return "{4995CB641455140B}Sounds/ERR/Speech/radio_05.acp"; + case "baked:radio_06": return "{E4473DD1140515F9}Sounds/ERR/Speech/radio_06.acp"; + case "baked:radio_07": return "{3D3AA49576443D5D}Sounds/ERR/Speech/radio_07.acp"; + case "baked:radio_08": return "{207C5D973D7EBE55}Sounds/ERR/Speech/radio_08.acp"; + case "baked:radio_09": return "{DCAF67D5B901D45F}Sounds/ERR/Speech/radio_09.acp"; + case "baked:radio_10": return "{8CC6CCBA6BDF1568}Sounds/ERR/Speech/radio_10.acp"; + } + return ""; + } + static string Soldier(int kind) + { + switch (kind) + { + case 1001: return "baked:soldier_1001"; + case 1002: return "baked:soldier_1002"; + case 1003: return "baked:soldier_1003"; + case 1004: return "baked:soldier_1004"; + case 1005: return "baked:soldier_1005"; + case 1100: return "baked:soldier_1100"; + case 1101: return "baked:soldier_1101"; + case 1102: return "baked:soldier_1102"; + case 1103: return "baked:soldier_1103"; + case 1104: return "baked:soldier_1104"; + case 1105: return "baked:soldier_1105"; + case 1200: return "baked:soldier_1200"; + case 1201: return "baked:soldier_1201"; + case 1202: return "baked:soldier_1202"; + case 1203: return "baked:soldier_1203"; + case 1204: return "baked:soldier_1204"; + case 1205: return "baked:soldier_1205"; + case ECommunicationType.REPORT_CLEAR: return "baked:soldier_clear"; + case ECommunicationType.REPORT_MOVING: return "baked:soldier_moving"; + case ECommunicationType.REPORT_COVERING: return "baked:soldier_covering"; + case ECommunicationType.REPORT_RELOADING: return "baked:soldier_reloading"; + case ECommunicationType.REPORT_UNDER_FIRE: return "baked:soldier_under_fire"; + case ECommunicationType.REPORT_NO_AMMO: return "baked:soldier_no_ammo"; + case ECommunicationType.REPORT_ENGAGING: return "baked:soldier_engaging"; + case ECommunicationType.REPORT_TARGET_DOWN: return "baked:soldier_target_down"; + case ECommunicationType.REPORT_TARGET_LOST: return "baked:soldier_target_lost"; + } + return ""; + } + static string Radio(string text) + { + switch (text) + { + case "Escapists, this is rescue command. We are preparing your escape route and assembling transports with armed escort helicopters. Hold the radio position until preparations are complete. Keep your smoke grenades ready and stand by for pickup coordinates.": return "baked:radio_01"; + case "Your escape route is ready. The exact pickup point is marked on your map. Gather your team there and throw a smoke grenade within 25 metres of the mark. We will send the transport and armed escorts when we see your smoke.": return "baked:radio_02"; + case "Rescue command cannot establish a safe approach. Extraction has failed.": return "baked:radio_03"; + case "Rescue command could not assemble the required transport capacity. Extraction has failed.": return "baked:radio_04"; + case "Signal received. Launching the rescue flight. Keep the landing point clear.": return "baked:radio_05"; + case "A rescue transport is down or unable to continue. Extraction has failed.": return "baked:radio_06"; + case "Rescue transports are on the ground. Everyone aboard, including your wounded. Use either rescue transport if there are two. Escorts are covering the pickup. We leave when all surviving prisoners are inside.": return "baked:radio_07"; + case "All survivors aboard. Lifting now. Stay inside the transport; escorts are taking you to safety.": return "baked:radio_08"; + case "Smoke confirmed. Rescue transport and armed cover are inbound. Clear the marked landing point. Bring your wounded; we wait for all surviving prisoners to board.": return "baked:radio_09"; + case "Smoke confirmed. Two rescue transports and armed cover are inbound. The helicopters will land separately near the marker. Use either transport and bring your wounded; both wait until everyone is aboard.": return "baked:radio_10"; + } + return ""; + } +} diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionRadio.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionRadio.c index 25adbcd..c845d2e 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionRadio.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionRadio.c @@ -41,6 +41,7 @@ modded class SCR_PlayerController protected void ERR_ReceiveExtractionRadio(string text, string url) { if (this != GetGame().GetPlayerController() || !ERR_GameMode.Get()) return; + if (!ERR_GameMode.Get().ERR_RecordingsEnabled() && !ERR_BakedSpeech.Graph(url).IsEmpty()) url = ""; if (!url.IsEmpty()) { GetGame().ERR_PlaySpeechPreview(url, text, "Extraction radio"); return; } SCR_HintManagerComponent hints = SCR_HintManagerComponent.GetInstance(); if (hints) hints.ShowCustom(text, "Extraction radio", 20); diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionService.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionService.c index ab855ef..51bb292 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionService.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionService.c @@ -64,7 +64,11 @@ class ERR_ExtractionService { m_Stage = value; m_Mode.PublishPickupStage(value); PrintFormat("Reintroduced [extraction]: stage=%1 %2", value, message); - m_Mode.DeliverExtractionRadio(message); + string bundled = ERR_BakedSpeech.Radio(message); + string audio = bundled; + if (!m_Mode.ERR_RecordingsEnabled()) audio = ""; + m_Mode.DeliverExtractionRadio(message, audio); + if (!bundled.IsEmpty()) { m_RadioPending = ""; return; } m_RadioPending = message; m_RadioUntil = GetGame().GetWorld().GetWorldTime() + 30000; } void PreparingRoute() diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_NativeBaseSmoke.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_NativeBaseSmoke.c index 012531f..9696b46 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_NativeBaseSmoke.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_NativeBaseSmoke.c @@ -55,7 +55,7 @@ modded class ERR_GameMode string enabled; if (SCR_Global.IsEditMode() || !Replication.IsServer() || !System.GetCLIParam("errBaseSmoke", enabled) || enabled != "1") return; string nativeEndCase; - array independentFixtures = {"coordinated-ai", "optional-site-skip", "infantry-combat", "medical-combat", "hunter-faction", "unconscious-camera", "self-epinephrine", "starter-backpack", "objective-map", "town-garrisons", "site-garrisons", "radio-interaction", "enemy-loadout", "aggression", "native-end-active", "native-end-preparing", "generated-sites", "roadblocks", "mortar-station", "opening-tools", "airfield-markers", "air-logistics", "air-assault", "air-recon"}; + array independentFixtures = {"coordinated-ai", "optional-site-skip", "infantry-combat", "medical-combat", "hunter-faction", "unconscious-camera", "self-epinephrine", "starter-backpack", "speech-download", "bundled-speech", "objective-map", "town-garrisons", "site-garrisons", "radio-interaction", "enemy-loadout", "aggression", "native-end-active", "native-end-preparing", "generated-sites", "roadblocks", "mortar-station", "opening-tools", "airfield-markers", "air-logistics", "air-assault", "air-recon"}; if (System.GetCLIParam("errSmokeOutcome", nativeEndCase) && independentFixtures.Contains(nativeEndCase)) return; ERR_NativeObjectiveProbe.BeginRound(); ERR_NativeProgressionIdentityProbe.BeginRound(); diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSpeechDownloadProbe.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSpeechDownloadProbe.c new file mode 100644 index 0000000..ce760a0 --- /dev/null +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_NativeSpeechDownloadProbe.c @@ -0,0 +1,58 @@ +#ifdef WORKBENCH +// Explicit local HTTP fixture. It exercises the production REST downloader, +// incremental preparation and native audio handle without Google or game RPCs. +class ERR_SpeechDownloadProbeClient : ERR_WelcomeVoiceClient +{ + bool Played; + bool PlaybackValid; + void ERR_SpeechDownloadProbeClient(ERR_GameMode mode, int serial, ERR_WelcomeConnection connection, bool requirePermit = false, string title = "Speech transport test") {} + override protected void Play() + { + PlaybackValid = FileIO.CopyFile(m_Path, "$profile:speech-downloaded.wav"); + m_Handle = AudioSystem.PlaySound(m_Path); + PlaybackValid = PlaybackValid && m_Handle != AudioHandle.Invalid; + Played = true; + } +} +modded class ERR_GameMode +{ + protected ref ERR_SpeechDownloadProbeClient m_ERRSpeechDownloadProbe; + protected int m_ERRSpeechDownloadDeadline; + protected string m_ERRSpeechProbeURL; + protected override void EOnInit(IEntity owner) + { + super.EOnInit(owner); + string outcome; + if (SCR_Global.IsEditMode() || !System.GetCLIParam("errSmokeOutcome", outcome) || outcome != "speech-download") return; + // Only explicit loopback fixtures: no paid synthesis or production endpoint. + if (!System.GetCLIParam("errSpeechProbeURL", m_ERRSpeechProbeURL) || m_ERRSpeechProbeURL.IndexOf("http://127.0.0.1:") != 0) + { Print("ERR SMOKE FAIL: speech download needs an explicit loopback URL", LogLevel.ERROR); return; } + m_ERRSpeechDownloadDeadline = System.GetTickCount() + 180000; + OnStop().Insert(ERR_StopSpeechDownloadProbe); + GetGame().GetCallqueue().CallLater(ERR_TickSpeechDownloadProbe, 100, true); + } + protected void ERR_TickSpeechDownloadProbe() + { + if (System.GetTickCount() >= m_ERRSpeechDownloadDeadline || !PreparationError().IsEmpty()) + { + Print("ERR SMOKE FAIL: speech download preparation/deadline", LogLevel.ERROR); + ERR_StopSpeechDownloadProbe(); return; + } + if (!Active()) return; + if (!m_ERRSpeechDownloadProbe) m_ERRSpeechDownloadProbe = new ERR_SpeechDownloadProbeClient(this, 910, new ERR_WelcomeConnection(), false); + m_ERRSpeechDownloadProbe.Tick(0.1, true, m_ERRSpeechProbeURL, "Local transport test"); + if (!m_ERRSpeechDownloadProbe.Played) return; + if (m_ERRSpeechDownloadProbe.PlaybackValid) + Print("ERR SMOKE COMPLETE: native REST multipart speech download, incremental preparation and valid playback handle; compare speech-downloaded.wav to source for byte integrity; not an audible multiplayer test"); + else Print("ERR SMOKE FAIL: speech download native output/playback", LogLevel.ERROR); + ERR_StopSpeechDownloadProbe(); + } + protected void ERR_StopSpeechDownloadProbe() + { + if (GetGame()) GetGame().GetCallqueue().Remove(ERR_TickSpeechDownloadProbe); + if (m_ERRSpeechDownloadProbe) m_ERRSpeechDownloadProbe.Stop(); + OnStop().Remove(ERR_StopSpeechDownloadProbe); + } + void ~ERR_GameMode() { ERR_StopSpeechDownloadProbe(); } +} +#endif diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_ScenarioComponent.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_ScenarioComponent.c index 9c4bae4..43a6294 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_ScenarioComponent.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_ScenarioComponent.c @@ -64,7 +64,7 @@ class ERR_ScenarioComponent : ScriptComponent #ifdef WORKBENCH string historicalFixture; if (!m_TerrainIndependent && System.GetCLIParam("errSmokeOutcome", historicalFixture) && historicalFixture != "normal-escape-route" && historicalFixture != "crash-start" && historicalFixture != "mounted-ammo" && historicalFixture != "alarm-hearing" && historicalFixture != "optional-site-skip" && historicalFixture != "infantry-combat" && historicalFixture != "site-garrisons" && historicalFixture != "generated-sites" && historicalFixture != "roadblocks" && historicalFixture != "opening-tools" && historicalFixture != "airfield-markers" && historicalFixture != "air-recon" && historicalFixture != "air-logistics" && historicalFixture != "air-assault") - if (historicalFixture != "self-epinephrine" && historicalFixture != "starter-backpack") m_Definition = "{ACA98B44E2173605}Configs/ERR/Tests/LegacySites.conf"; + if (historicalFixture != "self-epinephrine" && historicalFixture != "starter-backpack" && historicalFixture != "objective-map" && historicalFixture != "speech-download" && historicalFixture != "bundled-speech") m_Definition = "{ACA98B44E2173605}Configs/ERR/Tests/LegacySites.conf"; #endif m_RuntimeDefinition = ERR_ScenarioDefinition.Cast(SCR_BaseContainerTools.CreateInstanceFromPrefab(m_Definition)); if (!m_RuntimeDefinition || !m_RuntimeDefinition.Valid()) { m_Failed = true; return ERR_PrepareResult.FAILED; } @@ -72,7 +72,7 @@ class ERR_ScenarioComponent : ScriptComponent // Existing deterministic probes intentionally use authored coordinates. string fixture; if (!m_TerrainIndependent && System.GetCLIParam("errSmokeOutcome", fixture) && fixture != "normal-escape-route" && fixture != "crash-start" && fixture != "mounted-ammo" && fixture != "alarm-hearing" && fixture != "optional-site-skip" && fixture != "infantry-combat" && fixture != "site-garrisons" && fixture != "generated-sites" && fixture != "roadblocks" && fixture != "airfield-markers" && fixture != "air-recon" && fixture != "air-logistics" && fixture != "air-assault") - if (fixture != "self-epinephrine" && fixture != "starter-backpack") foreach (ERR_SiteDefinition fixedSite : m_RuntimeDefinition.Sites) fixedSite.RandomClear = false; + if (fixture != "self-epinephrine" && fixture != "starter-backpack" && fixture != "objective-map" && fixture != "speech-download" && fixture != "bundled-speech") foreach (ERR_SiteDefinition fixedSite : m_RuntimeDefinition.Sites) fixedSite.RandomClear = false; if (!ERR_ConfigurePatrolHQFixture(fixture)) { m_Failed = true; return ERR_PrepareResult.FAILED; } #endif if (m_Progressive && !m_RuntimeDefinition.ConfigurePopulation(m_Definition, mode.Settings().Get("fieldCampCount"), mode.Settings().Get("fieldHospitalCount"))) diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechMenu.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechMenu.c index 9cdce75..3e7850f 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechMenu.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechMenu.c @@ -32,6 +32,8 @@ modded class ERR_AdminSession if (!service) { SpeechReply("Speech service is unavailable in this mission."); return; } if (action == 0) service.TestAndEnable(this, endpoint, secret); else if (action == 1) service.Disable(this); + else if (action == 2) service.SetRecordings(this, true); + else if (action == 3) service.SetRecordings(this, false); } void SpeechReply(string text) { @@ -53,10 +55,11 @@ modded class ERR_AdminMenu protected bool m_SpeechBusy; protected bool m_SpeechEnabled; protected int m_SpeechSelection = -1; + protected int m_RecordingsSelection = -1; override void OnMenuOpen() { super.OnMenuOpen(); - foreach (string name : {"TTSTest", "TTSDisable", "TTSPasteEndpoint", "TTSPasteToken"}) + foreach (string name : {"TTSTest", "TTSDisable", "TTSPasteEndpoint", "TTSPasteToken", "RecordingsOn", "RecordingsOff"}) { SCR_ButtonTextComponent button = SCR_ButtonTextComponent.GetButtonText(name, GetRootWidget()); if (!button) { Close(); return; } @@ -95,9 +98,12 @@ modded class ERR_AdminMenu super.UpdateActions(); bool ready = m_Ready && m_SpeechInitialized; ERR_SelectionStyle.Pair(GetRootWidget(), "TTSTest", "TTSDisable", m_SpeechSelection); + ERR_SelectionStyle.Pair(GetRootWidget(), "RecordingsOn", "RecordingsOff", m_RecordingsSelection); foreach (SCR_ButtonTextComponent button : m_SpeechButtons) { bool enabled = ready && !m_SpeechBusy; + string name = button.GetRootWidget().GetName(); + if (name == "RecordingsOn" || name == "RecordingsOff") enabled = ready; if (button.GetRootWidget().GetName() == "TTSDisable") enabled = ready && (m_SpeechEnabled || m_SpeechBusy); button.SetEnabled(enabled); } @@ -111,12 +117,13 @@ modded class ERR_AdminMenu override void ReceiveSnapshot(bool authorized, array values, array status) { string endpoint, message, tokenSaved; bool ready, present; - m_SpeechBusy = false; m_SpeechEnabled = false; + m_SpeechBusy = false; m_SpeechEnabled = false; m_RecordingsSelection = -1; if (authorized && values) foreach (string entry : values) { int divider = entry.IndexOf("="); if (divider < 0) continue; string key = entry.Substring(0, divider), value = entry.Substring(divider + 1, entry.Length() - divider - 1); + if (key == "recordingsEnabled") { m_RecordingsSelection = 0; if (value == "1") m_RecordingsSelection = 1; } if (key == "ttsUrl") { endpoint = value; present = true; } if (key == "ttsStatus") message = value; if (key == "ttsTokenSaved") tokenSaved = value; @@ -152,8 +159,16 @@ modded class ERR_AdminMenu if (!m_SpeechBusy) PasteSpeechField(name == "TTSPasteToken"); return; } + if (name == "RecordingsOn" || name == "RecordingsOff") + { + int recordingsAction = 3; if (name == "RecordingsOn") recordingsAction = 2; + m_ClickDelay = 0.3; + SetText("Feedback", "Saving prerecorded speech setting..."); + m_Controller.ERR_AdminSpeech(recordingsAction, "", ""); + return; + } int action; - if (button.GetRootWidget().GetName() == "TTSDisable") action = 1; + if (name == "TTSDisable") action = 1; SCR_EditBoxComponent endpoint = SCR_EditBoxComponent.GetEditBoxComponent("TTSEndpoint", GetRootWidget()); SCR_EditBoxComponent token = SCR_EditBoxComponent.GetEditBoxComponent("TTSToken", GetRootWidget()); if (!endpoint || !token) return; diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechService.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechService.c index df062f6..81014f9 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechService.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechService.c @@ -77,10 +77,11 @@ class ERR_SpeechService protected string m_Endpoint; protected string m_Token; protected bool m_Enabled; + protected bool m_Bundled = true; protected bool m_Ready; protected bool m_BootAttempted; protected bool m_Stopped; - protected string m_Status = "Not configured. Existing audio is unchanged."; + protected string m_Status = "Bundled recordings are available. Live speech is not configured."; protected ref ERR_SpeechRequest m_Request; protected float m_Deadline; protected float m_LastTest = -60000; @@ -88,6 +89,7 @@ class ERR_SpeechService protected string m_StaticURL; string CacheNamespace() { return m_Endpoint; } string StaticURL() { return m_StaticURL; } + bool Bundled() { return m_Bundled; } bool Ready() { return !m_Stopped && m_Enabled && m_Ready; } bool Busy() { return m_Request != null; } bool IdleFor(float milliseconds) @@ -109,7 +111,12 @@ class ERR_SpeechService if (ERR_SpeechRules.Token(token)) m_Token = token; m_Enabled = !m_Endpoint.IsEmpty() && !m_Token.IsEmpty(); json.ReadValue("ttsEnabled", m_Enabled); - if (m_Enabled) m_Status = "Configured; waiting to verify the speech service. Existing audio remains available."; + json.ReadValue("bundledSpeech", m_Bundled); + bool recordingsEnabled = true; + json.ReadValue("recordingsEnabled", recordingsEnabled); + m_Mode.ERR_SetRecordingsEnabled(recordingsEnabled); + if (m_Bundled) m_Status = "Prerecorded welcome selected. Test & enable to use a live welcome briefing."; + else if (m_Enabled) m_Status = "Live welcome configured; waiting to verify the speech service."; else if (!m_Endpoint.IsEmpty()) m_Status = "Disabled. Existing audio is unchanged."; } void Snapshot(array values) @@ -123,23 +130,37 @@ class ERR_SpeechService values.Insert("ttsTokenSaved=" + saved); values.Insert("ttsReady=" + ready); values.Insert("ttsBusy=" + busy); values.Insert("ttsEnabled=" + enabled); values.Insert("ttsStatus=" + m_Status); + string recordings = "0"; if (m_Mode.ERR_RecordingsEnabled()) recordings = "1"; + values.Insert("recordingsEnabled=" + recordings); } - protected bool Save(string endpoint, string token, bool enabled) + protected bool Save(string endpoint, string token, bool enabled, bool recordingsEnabled, bool preserveWelcome = false) { JsonSaveContext json = new JsonSaveContext(); json.EnableTypeDiscriminator(false); json.WriteValue("welcomeUrl", m_StaticURL); json.WriteValue("briefingUrl", endpoint); json.WriteValue("briefingToken", token); json.WriteValue("ttsEnabled", enabled); + bool bundled = !enabled; if (preserveWelcome) bundled = m_Bundled; + json.WriteValue("bundledSpeech", bundled); + json.WriteValue("recordingsEnabled", recordingsEnabled); return ERR_ProfileConfig.Save(ERR_ProfileConfig.VOICE, json); } + void SetRecordings(ERR_AdminSession editor, bool enabled) + { + if (!Current() || !editor || !editor.Valid()) return; + if (!Save(m_Endpoint, m_Token, m_Enabled, enabled, true)) + { editor.SpeechReply("Could not save. Previous speech settings retained."); return; } + m_Mode.ERR_SetRecordingsEnabled(enabled); + if (enabled) editor.SpeechReply("Prerecorded speech enabled for everyone."); + else editor.SpeechReply("Prerecorded speech disabled for everyone. Text messages remain visible."); + } void Disable(ERR_AdminSession editor) { if (!Current() || !editor || !editor.Valid()) return; - if (!Save(m_Endpoint, m_Token, false)) { editor.SpeechReply("Could not save. Previous speech settings retained."); return; } + if (!Save(m_Endpoint, m_Token, false, m_Mode.ERR_RecordingsEnabled())) { editor.SpeechReply("Could not save. Previous speech settings retained."); return; } if (m_Request) m_Request.Cancel(); - m_Request = null; m_Enabled = false; m_Ready = false; m_BootAttempted = false; - m_Status = "Disabled. Existing audio is unchanged."; + m_Request = null; m_Enabled = false; m_Bundled = true; m_Ready = false; m_BootAttempted = false; + m_Status = "Live TTS disabled. Prerecorded speech follows its On / Off setting."; m_Mode.ERR_RestoreStaticWelcome(); - editor.SpeechReply("TTS disabled. The original welcome remains available."); + editor.SpeechReply("Live TTS disabled. Prerecorded speech follows its On / Off setting."); } void TestAndEnable(ERR_AdminSession editor, string endpoint, string token) { @@ -188,6 +209,7 @@ class ERR_SpeechService ERR_SpeechRequest expired = m_Request; Finished(expired, ""); expired.Cancel(); } + if (m_Mode.ERR_UsesBundledWelcome()) return; if (Busy() || !m_Enabled || m_BootAttempted || !m_Mode.Active() || !ERR_WelcomeVoiceRules.HTTPReady()) return; m_BootAttempted = true; if (m_Endpoint.IsEmpty() || m_Token.IsEmpty()) { m_Status = "Incomplete settings. Existing audio is unchanged."; return; } @@ -213,9 +235,9 @@ class ERR_SpeechService } if (request.Enable) { - if (!Save(request.Endpoint, request.Token, true)) + if (!Save(request.Endpoint, request.Token, true, m_Mode.ERR_RecordingsEnabled())) { m_Status = "Test passed, but settings could not be saved. Previous settings retained."; request.Editor.SpeechReply(m_Status); return; } - m_Endpoint = request.Endpoint; m_Token = request.Token; m_Enabled = true; m_BootAttempted = true; + m_Endpoint = request.Endpoint; m_Token = request.Token; m_Enabled = true; m_Bundled = false; m_BootAttempted = true; } m_Ready = true; m_Status = "Enabled. Speech generation verified; repeated text uses the service cache."; if (request.Enable || request.Boot) m_Mode.ERR_PublishWelcome(url, request.Text); diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeIdentity.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeIdentity.c index 469755b..5cbb9d4 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeIdentity.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeIdentity.c @@ -44,7 +44,7 @@ modded class SCR_PlayerController protected void ERR_RequestWelcomePermit(int serial) { ERR_GameMode mode = ERR_GameMode.Get(); - if (!Replication.IsServer() || !mode || !mode.Active() || serial <= 0 || mode.ERR_WelcomePending() || !ERR_WelcomeVoiceRules.URL(mode.ERR_WelcomeVoiceURL())) return; + if (!Replication.IsServer() || !mode || !mode.Active() || serial <= 0 || mode.ERR_WelcomePending() || !ERR_WelcomeVoiceRules.Source(mode.ERR_WelcomeVoiceURL())) return; ERR_PlayerLife life = mode.Players().CurrentActor(GetControlledEntity()); if (!life || GetGame().GetPlayerManager().GetPlayerController(life.ConnectionId) != this) return; float now = GetGame().GetWorld().GetWorldTime(); diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeVoice.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeVoice.c index a148d20..94e8eec 100644 --- a/addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeVoice.c +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeVoice.c @@ -45,6 +45,10 @@ class ERR_WelcomeVoiceRules if (state == "fog" || state == "foggy") return "fog"; return ""; } + static bool Source(string value) + { + return URL(value) || !ERR_BakedSpeech.Graph(value).IsEmpty(); + } static string Briefing(string terrain, string current, string next) { string text = "Listen up. Welcome to Escape Reintroduced."; @@ -75,6 +79,28 @@ class ERR_WelcomeVoiceRules } } +// The native REST body limit is below our maximum base64 WAV size. Fetch bounded +// parts sequentially, checking offsets and the advertised total before decoding. +class ERR_VoiceTransfer +{ + protected string m_Data; + protected int m_Total; + int Part() { return m_Data.Length() / 262144; } + string Data() { return m_Data; } + void Clear() { m_Data = ""; m_Total = 0; } + // -1 rejects the transfer, 0 requests another part, 1 completes it. + int Accept(int offset, int total, string data) + { + if (total < 60 || total > 2796204 || total % 4 != 0) return -1; + if (offset != m_Data.Length() || offset >= total || offset % 262144 != 0) return -1; + if (m_Total != 0 && total != m_Total) return -1; + if (data.Length() != Math.Min(262144, total - offset)) return -1; + m_Total = total; m_Data += data; + if (m_Data.Length() == m_Total) return 1; + return 0; + } +} + // REST callbacks run on the game thread. Keep reconstruction out of the callback // and yield between bounded pieces, including when several clips arrive at once. class ERR_WelcomeVoiceDecoder @@ -164,6 +190,13 @@ modded class ERR_GameMode [RplProp()] protected string m_ERRWelcomeVoiceURL; [RplProp()] protected string m_ERRWelcomeVoiceText; [RplProp()] protected bool m_ERRWelcomePending; + [RplProp()] protected bool m_ERRRecordingsEnabled = true; + bool ERR_RecordingsEnabled() { return m_ERRRecordingsEnabled; } + void ERR_SetRecordingsEnabled(bool enabled) + { + if (!Replication.IsServer()) return; + m_ERRRecordingsEnabled = enabled; Replication.BumpMe(); + } protected ref ERR_SpeechService m_ERRSpeech; protected string m_ERRWelcomeAttempt; protected float m_ERRWelcomeWait; @@ -171,6 +204,7 @@ modded class ERR_GameMode string ERR_WelcomeVoiceURL() { return m_ERRWelcomeVoiceURL; } string ERR_WelcomeVoiceText() { return m_ERRWelcomeVoiceText; } bool ERR_WelcomePending() { return m_ERRWelcomePending; } + bool ERR_UsesBundledWelcome() { return m_ERRSpeech && m_ERRSpeech.Bundled(); } void ERR_SetWelcomePending(bool pending) { m_ERRWelcomePending = pending; Replication.BumpMe(); } protected override void EOnInit(IEntity owner) { @@ -185,8 +219,8 @@ modded class ERR_GameMode { if (!Replication.IsServer() || !m_ERRSpeech) return; m_ERRWelcomePending = false; - m_ERRWelcomeVoiceURL = m_ERRSpeech.StaticURL(); - m_ERRWelcomeVoiceText = "Welcome to Escape Reintroduced. Work together, stay alert, and find your way off the island. Good luck."; + m_ERRWelcomeVoiceURL = ERR_BakedSpeech.Welcome(); + m_ERRWelcomeVoiceText = ERR_BakedSpeech.WelcomeText(); Replication.BumpMe(); } void ERR_PublishWelcome(string url, string text) @@ -222,6 +256,7 @@ modded class ERR_GameMode { if (!Replication.IsServer() || !m_ERRSpeech) return; m_ERRSpeech.Tick(); + if (ERR_UsesBundledWelcome()) return; if (!Active() || !m_ERRSpeech.Ready()) return; m_ERRWelcomeWait -= seconds; if (m_ERRWelcomeWait > 0) return; @@ -261,6 +296,9 @@ class ERR_WelcomeVoiceClient : Managed protected bool m_Stopped; protected bool m_Downloaded; protected ref RestCallback m_Callback; + protected ref ERR_VoiceTransfer m_Transfer; + protected string m_DownloadURL; + protected ResourceName m_BakedGraph; protected ref ERR_WelcomeVoiceDecoder m_Decoder; protected ref FileHandle m_Output; protected int m_PreparationBytes; @@ -287,28 +325,63 @@ class ERR_WelcomeVoiceClient : Managed void Tick(float seconds, bool ready, string url, string text) { if (m_Stopped) return; + // Check before playing prepared audio or claiming the once-only welcome. + if (m_Mode && !m_Mode.ERR_RecordingsEnabled() && (!m_BakedGraph.IsEmpty() || !ERR_BakedSpeech.Graph(url).IsEmpty())) + { + m_Wait = 0; + if (m_Started) Stop(); + return; + } if (m_Downloaded && ready && Current()) { m_Downloaded = false; Play(); } if (m_Started || m_Connection.Attempted()) return; - if (!ready || !ERR_WelcomeVoiceRules.URL(url) || !ERR_WelcomeVoiceRules.HTTPReady()) { m_Wait = 0; return; } + ResourceName baked = ERR_BakedSpeech.Graph(url); + if (!ready || !ERR_WelcomeVoiceRules.Source(url)) { m_Wait = 0; return; } + if (baked.IsEmpty() && !ERR_WelcomeVoiceRules.HTTPReady()) { m_Wait = 0; return; } m_Wait += seconds; if (m_Wait < 3 || !Permit()) return; if (!m_Connection.Claim()) return; m_Started = true; m_Text = text; // One attempt per connection, including failures. + m_BakedGraph = baked; + if (!m_BakedGraph.IsEmpty()) { m_Downloaded = true; return; } FileIO.DeleteFile(m_Path); + m_DownloadURL = url; + m_Transfer = new ERR_VoiceTransfer(); + RequestPart(); + Print("Reintroduced [welcome voice]: downloading startup clip in bounded parts"); + } + protected void RequestPart() + { + if (!Current() || !m_Transfer) { CancelDownload(); return; } + string separator = "?"; + if (m_DownloadURL.IndexOf("?") >= 0) separator = "&"; + string url = m_DownloadURL + separator + "part=" + m_Transfer.Part().ToString(); m_Callback = new RestCallback(); m_Callback.SetOnSuccess(Downloaded); m_Callback.SetOnError(Failed); RestContext context = GetGame().GetRestApi().GetContext(url); - if (!context) { m_Callback = null; Print("Reintroduced [welcome voice]: HTTP unavailable; no retry", LogLevel.WARNING); return; } + if (!context) { m_Callback = null; CancelDownload(); Print("Reintroduced [welcome voice]: HTTP unavailable; no retry", LogLevel.WARNING); return; } context.SetTimeout(20); context.GET(m_Callback, ""); - Print("Reintroduced [welcome voice]: downloading startup clip"); } protected void Downloaded(RestCallback callback) { m_Callback = null; - if (!Current()) { FileIO.DeleteFile(m_Path); return; } + if (!Current() || !m_Transfer) { CancelDownload(); return; } + JsonLoadContext response = new JsonLoadContext(); + int offset, total; string data; + bool valid = callback.GetData().Length() <= 262272 && response.LoadFromString(callback.GetData()); + if (valid) valid = response.ReadValue("offset", offset) && response.ReadValue("total", total) && response.ReadValue("data", data); + int result = -1; + if (valid) result = m_Transfer.Accept(offset, total, data); + if (result < 0) { CancelDownload(); Print("Reintroduced [welcome voice]: invalid audio part; no retry", LogLevel.WARNING); return; } + if (result == 0) { RequestPart(); return; } + BeginPreparation(m_Transfer.Data()); + m_Transfer = null; + } + protected void BeginPreparation(string encoded) + { + if (!Current()) { CancelDownload(); return; } m_Decoder = new ERR_WelcomeVoiceDecoder(); - if (!m_Decoder.Begin(callback.GetData())) + if (!m_Decoder.Begin(encoded)) { m_Decoder = null; Print("Reintroduced [welcome voice]: invalid base64 clip", LogLevel.WARNING); return; } GetGame().ERR_QueueVoiceDownload(this); } @@ -316,6 +389,7 @@ class ERR_WelcomeVoiceClient : Managed { if (m_Output) { m_Output.Close(); m_Output = null; } m_Decoder = null; m_Downloaded = false; + m_Transfer = null; m_DownloadURL = ""; FileIO.DeleteFile(m_Path); } // Called for exactly one queued client per game update, shared by greetings, @@ -354,7 +428,14 @@ class ERR_WelcomeVoiceClient : Managed } protected void Play() { - m_Handle = AudioSystem.PlaySound(m_Path); + if (!m_BakedGraph.IsEmpty()) + { + vector transform[4]; Math3D.MatrixIdentity4(transform); + CameraBase camera = GetGame().GetCameraManager().CurrentCamera(); + if (camera) camera.GetWorldTransform(transform); + if (AudioSystem.PlayEventInitialize(m_BakedGraph)) m_Handle = AudioSystem.PlayEvent(m_BakedGraph, "ERR_SPEECH", transform); + } + else m_Handle = AudioSystem.PlaySound(m_Path); if (m_Handle == AudioHandle.Invalid) Print("Reintroduced [welcome voice]: playback unavailable", LogLevel.WARNING); else { @@ -366,8 +447,8 @@ class ERR_WelcomeVoiceClient : Managed protected void Failed(RestCallback callback) { m_Callback = null; - FileIO.DeleteFile(m_Path); - if (!m_Stopped) PrintFormat("Reintroduced [welcome voice]: download failed (HTTP %1); no retry", callback.GetHttpCode()); + CancelDownload(); + if (!m_Stopped) PrintFormat("Reintroduced [welcome voice]: download failed (HTTP %1, REST %2); no retry", callback.GetHttpCode(), callback.GetRestResult()); } void Stop() { @@ -411,7 +492,7 @@ modded class ArmaReforgerScripted void ERR_PlaySpeechPreview(string url, string text, string title = "Speech test") { ERR_GameMode mode = ERR_GameMode.Get(); - if (!mode || !ERR_WelcomeVoiceRules.URL(url) || !ERR_SpeechRules.Text(text)) return; + if (!mode || !ERR_WelcomeVoiceRules.Source(url) || !ERR_SpeechRules.Text(text)) return; if (m_ERRSpeechPreview) m_ERRSpeechPreview.Stop(); m_ERRSpeechPreview = new ERR_WelcomeVoiceClient(mode, ++m_ERRWelcomeSerial, new ERR_WelcomeConnection(), false, title); // Mission announcements and admin previews do not reset the welcome. diff --git a/addons/core/Scripts/Game/ERR/00_Core/ERR_ZBakedSpeechProbe.c b/addons/core/Scripts/Game/ERR/00_Core/ERR_ZBakedSpeechProbe.c new file mode 100644 index 0000000..6922fc3 --- /dev/null +++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_ZBakedSpeechProbe.c @@ -0,0 +1,80 @@ +#ifdef WORKBENCH +class ERR_BakedSpeechProbeClient : ERR_WelcomeVoiceClient +{ + bool Played; + bool ValidPlayback; + bool RequestedHTTP; + override protected void RequestPart() { RequestedHTTP = true; super.RequestPart(); } + override protected void Play() + { + super.Play(); + Played = true; + ValidPlayback = m_Handle != AudioHandle.Invalid && !m_BakedGraph.IsEmpty(); + } + bool Stopped() { return m_Stopped && m_Handle == AudioHandle.Invalid; } + bool Offline() { return !RequestedHTTP && !m_Callback && !m_Transfer && !m_Decoder && m_PreparationBytes == 0; } +} +modded class ERR_GameMode +{ + protected ref ERR_BakedSpeechProbeClient m_ERRBakedProbe; + protected int m_ERRBakedDeadline; + protected int m_ERRBakedIndex; + protected override void EOnInit(IEntity owner) + { + super.EOnInit(owner); + string outcome; + if (SCR_Global.IsEditMode() || !System.GetCLIParam("errSmokeOutcome", outcome) || outcome != "bundled-speech") return; + m_ERRBakedDeadline = System.GetTickCount() + 240000; + OnStop().Insert(ERR_StopBakedProbe); + GetGame().GetCallqueue().CallLater(ERR_TickBakedProbe, 100, true); + } + protected void ERR_TickBakedProbe() + { + if (System.GetTickCount() >= m_ERRBakedDeadline || !PreparationError().IsEmpty()) + { Print("ERR SMOKE FAIL: bundled speech preparation/deadline", LogLevel.ERROR); ERR_StopBakedProbe(); return; } + if (!Active()) return; + if (!GetGame().GetPlayerController() || !GetGame().GetPlayerController().GetControlledEntity() || ArmaReforgerLoadingAnim.IsOpen()) return; + if (!GetGame().GetCameraManager().CurrentCamera()) return; + SCR_RespawnSystemComponent respawn = SCR_RespawnSystemComponent.GetInstance(); + if (respawn && !respawn.ERR_WelcomeAudioReady()) return; + array sources = ERR_BakedSpeech.Sources(); + if (!m_ERRBakedProbe) + { + if (!ERR_UsesBundledWelcome() || ERR_Speech().Ready()) + { Print("ERR SMOKE FAIL: bundled speech must work without a verified live service", LogLevel.ERROR); ERR_StopBakedProbe(); return; } + m_ERRBakedProbe = new ERR_BakedSpeechProbeClient(this, 1000 + m_ERRBakedIndex, new ERR_WelcomeConnection(), false); + ERR_SetRecordingsEnabled(false); + m_ERRBakedProbe.Tick(3, true, sources[m_ERRBakedIndex], "Muted test"); + m_ERRBakedProbe.Tick(0.1, true, sources[m_ERRBakedIndex], "Muted test"); + if (m_ERRBakedProbe.Played || m_ERRBakedProbe.PreparingDownload()) + { Print("ERR SMOKE FAIL: disabled bundled recording started", LogLevel.ERROR); ERR_StopBakedProbe(); return; } + ERR_SetRecordingsEnabled(true); + m_ERRBakedProbe.Tick(3, true, sources[m_ERRBakedIndex], "Bundled speech test"); + return; + } + m_ERRBakedProbe.Tick(0.1, true, sources[m_ERRBakedIndex], "Bundled speech test"); + if (!m_ERRBakedProbe.Played) return; + if (!m_ERRBakedProbe.ValidPlayback || !m_ERRBakedProbe.Offline()) + { Print("ERR SMOKE FAIL: bundled graph playback without HTTP or decoding " + sources[m_ERRBakedIndex], LogLevel.ERROR); ERR_StopBakedProbe(); return; } + Print("ERR SMOKE PASS: bundled graph playback without HTTP or decoding " + sources[m_ERRBakedIndex]); + ERR_SetRecordingsEnabled(false); + m_ERRBakedProbe.Tick(0.1, true, sources[m_ERRBakedIndex], "Mute playing audio"); + if (!m_ERRBakedProbe.Stopped()) + { Print("ERR SMOKE FAIL: disabling bundled recording did not terminate playback", LogLevel.ERROR); ERR_StopBakedProbe(); return; } + Print("ERR SMOKE PASS: recording toggle blocks, re-enables and stops " + sources[m_ERRBakedIndex]); + ERR_SetRecordingsEnabled(true); + m_ERRBakedProbe = null; + m_ERRBakedIndex++; + if (m_ERRBakedIndex < sources.Count()) return; + Print("ERR SMOKE COMPLETE: all bundled native speech graphs play without live TTS, downloads or PCM reconstruction; not audible multiplayer proof"); + ERR_StopBakedProbe(); + } + protected void ERR_StopBakedProbe() + { + if (GetGame()) GetGame().GetCallqueue().Remove(ERR_TickBakedProbe); + if (m_ERRBakedProbe) m_ERRBakedProbe.Stop(); + OnStop().Remove(ERR_StopBakedProbe); + } + void ~ERR_GameMode() { ERR_StopBakedProbe(); } +} +#endif diff --git a/addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeech.c b/addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeech.c index ed14b9a..7b09d9d 100644 --- a/addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeech.c +++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeech.c @@ -55,8 +55,8 @@ class ERR_SoldierSpeechServer void ERR_SoldierSpeechServer(ERR_GameMode mode, string endpoint) { m_Mode = mode; m_Endpoint = endpoint; } bool Current() { - return GetGame() && m_Mode && m_Mode == ERR_GameMode.Get() && m_Mode.Active() - && m_Mode.ERR_Speech() && m_Mode.ERR_Speech().Ready() && m_Mode.ERR_Speech().CacheNamespace() == m_Endpoint; + return GetGame() && m_Mode && m_Mode == ERR_GameMode.Get() && m_Mode.Active() && m_Mode.ERR_RecordingsEnabled() + && (m_Endpoint == "baked:speech-v1" || (m_Mode.ERR_Speech() && m_Mode.ERR_Speech().Ready() && m_Mode.ERR_Speech().CacheNamespace() == m_Endpoint)); } void Stop() { if (m_Request) m_Request.Server = null; m_Request = null; m_Mode = null; m_Clips.Clear(); } void Prepared(int kind, string url) @@ -100,6 +100,8 @@ class ERR_SoldierSpeechServer } bool ReadyClip(int kind, string text, array listeners, out string url) { + string bundled = ERR_BakedSpeech.Soldier(kind); + if (!bundled.IsEmpty()) m_Clips.Set(kind, bundled); if (!m_Clips.Find(kind, url)) { ERR_SpeechService service = m_Mode.ERR_Speech(); @@ -136,6 +138,14 @@ class ERR_SoldierSpeechClip : ERR_WelcomeVoiceClient } override protected void Play() { + if (!m_BakedGraph.IsEmpty()) + { + GraphPath = m_BakedGraph; + Prepared = AudioSystem.PlayEventInitialize(GraphPath); + SCR_PlayerController local = SCR_PlayerController.Cast(GetGame().GetPlayerController()); + if (Prepared && local) local.ERR_AcknowledgeSoldierClip(Kind, URL); + return; + } GraphPath = m_Path + ".acp"; FileHandle output = FileIO.OpenFile(GraphPath, FileMode.WRITE); if (!output) return; @@ -149,7 +159,7 @@ class ERR_SoldierSpeechClip : ERR_WelcomeVoiceClient { if (m_Stopped) return; super.Stop(); Prepared = false; - if (!GraphPath.IsEmpty()) FileIO.DeleteFile(GraphPath); + if (m_BakedGraph.IsEmpty() && !GraphPath.IsEmpty()) FileIO.DeleteFile(GraphPath); } } @@ -209,15 +219,15 @@ modded class ArmaReforgerScripted bool ERR_SoldierCallout(IEntity actor, SCR_AITalkRequest request, VoNComponent von, int phrase = -1) { ERR_GameMode mode = ERR_GameMode.Get(); - if (!Replication.IsServer() || !mode || !mode.Active() || !mode.ERR_Speech() || !mode.ERR_Speech().Ready()) return false; + if (!Replication.IsServer() || !mode || !mode.Active() || !mode.ERR_RecordingsEnabled()) return false; if (m_ERRSoldierServer && !m_ERRSoldierServer.Current()) { m_ERRSoldierServer.Stop(); m_ERRSoldierServer = null; } - if (!m_ERRSoldierServer) m_ERRSoldierServer = new ERR_SoldierSpeechServer(mode, mode.ERR_Speech().CacheNamespace()); + if (!m_ERRSoldierServer) m_ERRSoldierServer = new ERR_SoldierSpeechServer(mode, "baked:speech-v1"); return m_ERRSoldierServer.Speak(actor, request, von, phrase); } void ERR_PrepareLocalSoldierClip(int kind, string url) { ERR_GameMode mode = ERR_GameMode.Get(); - if (System.IsConsoleApp() || !mode || !mode.Active() || ERR_SoldierSpeechRules.Text(kind).IsEmpty() || !ERR_WelcomeVoiceRules.URL(url)) return; + if (System.IsConsoleApp() || !mode || !mode.Active() || ERR_SoldierSpeechRules.Text(kind).IsEmpty() || !ERR_WelcomeVoiceRules.Source(url)) return; ERR_SoldierSpeechClip clip; if (m_ERRSoldierClips.Find(kind, clip)) { @@ -238,6 +248,7 @@ modded class ArmaReforgerScripted } void ERR_PlaySoldierLine(int kind, string url, RplId actorId) { + if (!ERR_GameMode.Get() || !ERR_GameMode.Get().ERR_RecordingsEnabled()) return; ERR_SoldierSpeechClip clip; if (!m_ERRSoldierClips.Find(kind, clip) || !clip.Prepared || clip.URL != url || !clip.ForMode(ERR_GameMode.Get())) return; RplComponent component = RplComponent.Cast(Replication.FindItem(actorId)); @@ -264,7 +275,7 @@ modded class ArmaReforgerScripted else clip.Tick(timeslice, true, clip.URL, ""); } for (int i = m_ERRSoldierPlaying.Count() - 1; i >= 0; i--) - if (m_bIsMainMenuOpen || !m_ERRSoldierPlaying[i].Tick(timeslice)) { m_ERRSoldierPlaying[i].Stop(); m_ERRSoldierPlaying.Remove(i); } + if (m_bIsMainMenuOpen || !ERR_GameMode.Get() || !ERR_GameMode.Get().ERR_RecordingsEnabled() || !m_ERRSoldierPlaying[i].Tick(timeslice)) { m_ERRSoldierPlaying[i].Stop(); m_ERRSoldierPlaying.Remove(i); } } override protected void OnBeforeWorldCleanup() { diff --git a/addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeechContext.c b/addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeechContext.c index f160628..2cc2a71 100644 --- a/addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeechContext.c +++ b/addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeechContext.c @@ -107,7 +107,7 @@ modded class SCR_AICommsHandler protected bool ERR_SpeechEnabled() { ERR_GameMode mode = ERR_GameMode.Get(); - return Replication.IsServer() && mode && mode.Active() && mode.ERR_Speech() && mode.ERR_Speech().Ready() + return Replication.IsServer() && mode && mode.Active() && mode.ERR_RecordingsEnabled() && m_Entity && m_Agent && ERR_Actors.CanFight(m_Entity) && !ERR_Actors.Player(m_Entity); } protected void ERR_SpeechObserve(float now) diff --git a/addons/core/Sounds/ERR/Speech/radio_01.acp b/addons/core/Sounds/ERR/Speech/radio_01.acp new file mode 100644 index 0000000..d15c354 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_01.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{966927A900B2BC2C}Sounds/ERR/Speech/radio_01.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 0 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/radio_01.acp.meta b/addons/core/Sounds/ERR/Speech/radio_01.acp.meta new file mode 100644 index 0000000..095955b --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_01.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{29F6A1A8A691488D}Sounds/ERR/Speech/radio_01.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/radio_01.wav b/addons/core/Sounds/ERR/Speech/radio_01.wav new file mode 100644 index 0000000..9a13457 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/radio_01.wav differ diff --git a/addons/core/Sounds/ERR/Speech/radio_01.wav.meta b/addons/core/Sounds/ERR/Speech/radio_01.wav.meta new file mode 100644 index 0000000..cc58c37 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_01.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{966927A900B2BC2C}Sounds/ERR/Speech/radio_01.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/radio_02.acp b/addons/core/Sounds/ERR/Speech/radio_02.acp new file mode 100644 index 0000000..9257ef2 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_02.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{713DF8DE3818E413}Sounds/ERR/Speech/radio_02.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 0 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/radio_02.acp.meta b/addons/core/Sounds/ERR/Speech/radio_02.acp.meta new file mode 100644 index 0000000..40aa30c --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_02.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{0B1147F331AC4EDA}Sounds/ERR/Speech/radio_02.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/radio_02.wav b/addons/core/Sounds/ERR/Speech/radio_02.wav new file mode 100644 index 0000000..1ad4078 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/radio_02.wav differ diff --git a/addons/core/Sounds/ERR/Speech/radio_02.wav.meta b/addons/core/Sounds/ERR/Speech/radio_02.wav.meta new file mode 100644 index 0000000..cb42d4c --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_02.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{713DF8DE3818E413}Sounds/ERR/Speech/radio_02.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/radio_03.acp b/addons/core/Sounds/ERR/Speech/radio_03.acp new file mode 100644 index 0000000..8a38548 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_03.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{B41D6FF093FDC5F8}Sounds/ERR/Speech/radio_03.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 0 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/radio_03.acp.meta b/addons/core/Sounds/ERR/Speech/radio_03.acp.meta new file mode 100644 index 0000000..0d1c00f --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_03.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{BC0C902F48008D93}Sounds/ERR/Speech/radio_03.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/radio_03.wav b/addons/core/Sounds/ERR/Speech/radio_03.wav new file mode 100644 index 0000000..91cd65d Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/radio_03.wav differ diff --git a/addons/core/Sounds/ERR/Speech/radio_03.wav.meta b/addons/core/Sounds/ERR/Speech/radio_03.wav.meta new file mode 100644 index 0000000..34ab785 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_03.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{B41D6FF093FDC5F8}Sounds/ERR/Speech/radio_03.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/radio_04.acp b/addons/core/Sounds/ERR/Speech/radio_04.acp new file mode 100644 index 0000000..3184ff4 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_04.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{385C07179A41E9AF}Sounds/ERR/Speech/radio_04.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 0 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/radio_04.acp.meta b/addons/core/Sounds/ERR/Speech/radio_04.acp.meta new file mode 100644 index 0000000..24bc21b --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_04.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{E9EB0183C1ED1906}Sounds/ERR/Speech/radio_04.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/radio_04.wav b/addons/core/Sounds/ERR/Speech/radio_04.wav new file mode 100644 index 0000000..bb2c808 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/radio_04.wav differ diff --git a/addons/core/Sounds/ERR/Speech/radio_04.wav.meta b/addons/core/Sounds/ERR/Speech/radio_04.wav.meta new file mode 100644 index 0000000..de0779c --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_04.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{385C07179A41E9AF}Sounds/ERR/Speech/radio_04.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/radio_05.acp b/addons/core/Sounds/ERR/Speech/radio_05.acp new file mode 100644 index 0000000..6743048 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_05.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{4835494928AC9AB6}Sounds/ERR/Speech/radio_05.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 0 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/radio_05.acp.meta b/addons/core/Sounds/ERR/Speech/radio_05.acp.meta new file mode 100644 index 0000000..6da91e6 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_05.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{4995CB641455140B}Sounds/ERR/Speech/radio_05.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/radio_05.wav b/addons/core/Sounds/ERR/Speech/radio_05.wav new file mode 100644 index 0000000..e932e1d Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/radio_05.wav differ diff --git a/addons/core/Sounds/ERR/Speech/radio_05.wav.meta b/addons/core/Sounds/ERR/Speech/radio_05.wav.meta new file mode 100644 index 0000000..a069de4 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_05.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{4835494928AC9AB6}Sounds/ERR/Speech/radio_05.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/radio_06.acp b/addons/core/Sounds/ERR/Speech/radio_06.acp new file mode 100644 index 0000000..f5ed5d4 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_06.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{34597484A8E4C6EF}Sounds/ERR/Speech/radio_06.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 0 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/radio_06.acp.meta b/addons/core/Sounds/ERR/Speech/radio_06.acp.meta new file mode 100644 index 0000000..36cd76e --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_06.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{E4473DD1140515F9}Sounds/ERR/Speech/radio_06.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/radio_06.wav b/addons/core/Sounds/ERR/Speech/radio_06.wav new file mode 100644 index 0000000..46ac081 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/radio_06.wav differ diff --git a/addons/core/Sounds/ERR/Speech/radio_06.wav.meta b/addons/core/Sounds/ERR/Speech/radio_06.wav.meta new file mode 100644 index 0000000..23e77a3 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_06.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{34597484A8E4C6EF}Sounds/ERR/Speech/radio_06.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/radio_07.acp b/addons/core/Sounds/ERR/Speech/radio_07.acp new file mode 100644 index 0000000..70f1423 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_07.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{713517D22350EF41}Sounds/ERR/Speech/radio_07.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 0 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/radio_07.acp.meta b/addons/core/Sounds/ERR/Speech/radio_07.acp.meta new file mode 100644 index 0000000..0c8f598 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_07.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{3D3AA49576443D5D}Sounds/ERR/Speech/radio_07.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/radio_07.wav b/addons/core/Sounds/ERR/Speech/radio_07.wav new file mode 100644 index 0000000..a646765 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/radio_07.wav differ diff --git a/addons/core/Sounds/ERR/Speech/radio_07.wav.meta b/addons/core/Sounds/ERR/Speech/radio_07.wav.meta new file mode 100644 index 0000000..f30e62c --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_07.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{713517D22350EF41}Sounds/ERR/Speech/radio_07.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/radio_08.acp b/addons/core/Sounds/ERR/Speech/radio_08.acp new file mode 100644 index 0000000..83c4b5a --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_08.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{A4718C98A8E979E9}Sounds/ERR/Speech/radio_08.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 0 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/radio_08.acp.meta b/addons/core/Sounds/ERR/Speech/radio_08.acp.meta new file mode 100644 index 0000000..0303fea --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_08.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{207C5D973D7EBE55}Sounds/ERR/Speech/radio_08.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/radio_08.wav b/addons/core/Sounds/ERR/Speech/radio_08.wav new file mode 100644 index 0000000..f59be78 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/radio_08.wav differ diff --git a/addons/core/Sounds/ERR/Speech/radio_08.wav.meta b/addons/core/Sounds/ERR/Speech/radio_08.wav.meta new file mode 100644 index 0000000..61e73e6 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_08.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{A4718C98A8E979E9}Sounds/ERR/Speech/radio_08.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/radio_09.acp b/addons/core/Sounds/ERR/Speech/radio_09.acp new file mode 100644 index 0000000..84b6be3 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_09.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{99EFAD64AEF15891}Sounds/ERR/Speech/radio_09.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 0 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/radio_09.acp.meta b/addons/core/Sounds/ERR/Speech/radio_09.acp.meta new file mode 100644 index 0000000..2788259 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_09.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{DCAF67D5B901D45F}Sounds/ERR/Speech/radio_09.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/radio_09.wav b/addons/core/Sounds/ERR/Speech/radio_09.wav new file mode 100644 index 0000000..b14ec99 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/radio_09.wav differ diff --git a/addons/core/Sounds/ERR/Speech/radio_09.wav.meta b/addons/core/Sounds/ERR/Speech/radio_09.wav.meta new file mode 100644 index 0000000..2cf8d3e --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_09.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{99EFAD64AEF15891}Sounds/ERR/Speech/radio_09.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/radio_10.acp b/addons/core/Sounds/ERR/Speech/radio_10.acp new file mode 100644 index 0000000..f07548a --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_10.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{8CC2D0FB086FEECA}Sounds/ERR/Speech/radio_10.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 0 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/radio_10.acp.meta b/addons/core/Sounds/ERR/Speech/radio_10.acp.meta new file mode 100644 index 0000000..7d0480b --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_10.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{8CC6CCBA6BDF1568}Sounds/ERR/Speech/radio_10.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/radio_10.wav b/addons/core/Sounds/ERR/Speech/radio_10.wav new file mode 100644 index 0000000..70ab534 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/radio_10.wav differ diff --git a/addons/core/Sounds/ERR/Speech/radio_10.wav.meta b/addons/core/Sounds/ERR/Speech/radio_10.wav.meta new file mode 100644 index 0000000..63f3f9b --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/radio_10.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{8CC2D0FB086FEECA}Sounds/ERR/Speech/radio_10.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1001.acp b/addons/core/Sounds/ERR/Speech/soldier_1001.acp new file mode 100644 index 0000000..59d275d --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1001.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{4A87BDFBA52BDC48}Sounds/ERR/Speech/soldier_1001.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1001.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1001.acp.meta new file mode 100644 index 0000000..c3fe846 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1001.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{3DF753B659A184FB}Sounds/ERR/Speech/soldier_1001.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1001.wav b/addons/core/Sounds/ERR/Speech/soldier_1001.wav new file mode 100644 index 0000000..9a71710 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1001.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1001.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1001.wav.meta new file mode 100644 index 0000000..be88afd --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1001.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{4A87BDFBA52BDC48}Sounds/ERR/Speech/soldier_1001.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1002.acp b/addons/core/Sounds/ERR/Speech/soldier_1002.acp new file mode 100644 index 0000000..d7c1392 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1002.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{80370C323D8123C5}Sounds/ERR/Speech/soldier_1002.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1002.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1002.acp.meta new file mode 100644 index 0000000..390cfb2 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1002.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{B1B78A9E50D41FD5}Sounds/ERR/Speech/soldier_1002.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1002.wav b/addons/core/Sounds/ERR/Speech/soldier_1002.wav new file mode 100644 index 0000000..ec0c0e8 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1002.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1002.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1002.wav.meta new file mode 100644 index 0000000..2e0c07d --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1002.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{80370C323D8123C5}Sounds/ERR/Speech/soldier_1002.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1003.acp b/addons/core/Sounds/ERR/Speech/soldier_1003.acp new file mode 100644 index 0000000..9684c88 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1003.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{0A1F9A0A26B4DC4A}Sounds/ERR/Speech/soldier_1003.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1003.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1003.acp.meta new file mode 100644 index 0000000..d711e77 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1003.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{FEE47650B627484E}Sounds/ERR/Speech/soldier_1003.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1003.wav b/addons/core/Sounds/ERR/Speech/soldier_1003.wav new file mode 100644 index 0000000..838eec3 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1003.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1003.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1003.wav.meta new file mode 100644 index 0000000..d5036f6 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1003.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{0A1F9A0A26B4DC4A}Sounds/ERR/Speech/soldier_1003.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1004.acp b/addons/core/Sounds/ERR/Speech/soldier_1004.acp new file mode 100644 index 0000000..ee1dcf0 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1004.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{702C8630A3759FE7}Sounds/ERR/Speech/soldier_1004.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1004.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1004.acp.meta new file mode 100644 index 0000000..7272390 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1004.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{2FA4DC16F80F04FE}Sounds/ERR/Speech/soldier_1004.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1004.wav b/addons/core/Sounds/ERR/Speech/soldier_1004.wav new file mode 100644 index 0000000..817769b Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1004.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1004.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1004.wav.meta new file mode 100644 index 0000000..b170f8f --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1004.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{702C8630A3759FE7}Sounds/ERR/Speech/soldier_1004.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1005.acp b/addons/core/Sounds/ERR/Speech/soldier_1005.acp new file mode 100644 index 0000000..80b4417 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1005.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{AD1D9B5192BA33AE}Sounds/ERR/Speech/soldier_1005.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1005.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1005.acp.meta new file mode 100644 index 0000000..e4b027c --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1005.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{5F3C22AA392DAE36}Sounds/ERR/Speech/soldier_1005.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1005.wav b/addons/core/Sounds/ERR/Speech/soldier_1005.wav new file mode 100644 index 0000000..8c54090 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1005.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1005.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1005.wav.meta new file mode 100644 index 0000000..c8dc234 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1005.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{AD1D9B5192BA33AE}Sounds/ERR/Speech/soldier_1005.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1100.acp b/addons/core/Sounds/ERR/Speech/soldier_1100.acp new file mode 100644 index 0000000..d25a749 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1100.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{65D4243A25220860}Sounds/ERR/Speech/soldier_1100.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1100.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1100.acp.meta new file mode 100644 index 0000000..7241788 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1100.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{AD2DC2C52E226AA7}Sounds/ERR/Speech/soldier_1100.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1100.wav b/addons/core/Sounds/ERR/Speech/soldier_1100.wav new file mode 100644 index 0000000..d636287 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1100.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1100.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1100.wav.meta new file mode 100644 index 0000000..9bc0600 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1100.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{65D4243A25220860}Sounds/ERR/Speech/soldier_1100.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1101.acp b/addons/core/Sounds/ERR/Speech/soldier_1101.acp new file mode 100644 index 0000000..bf4eb37 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1101.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{D111E8CD3D8680E4}Sounds/ERR/Speech/soldier_1101.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1101.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1101.acp.meta new file mode 100644 index 0000000..0308bd1 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1101.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{AE2E3AA19209018D}Sounds/ERR/Speech/soldier_1101.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1101.wav b/addons/core/Sounds/ERR/Speech/soldier_1101.wav new file mode 100644 index 0000000..228544b Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1101.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1101.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1101.wav.meta new file mode 100644 index 0000000..0aac33b --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1101.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{D111E8CD3D8680E4}Sounds/ERR/Speech/soldier_1101.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1102.acp b/addons/core/Sounds/ERR/Speech/soldier_1102.acp new file mode 100644 index 0000000..daebd6d --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1102.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{D63246D0C09D428E}Sounds/ERR/Speech/soldier_1102.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1102.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1102.acp.meta new file mode 100644 index 0000000..1066762 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1102.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{74617A1D01426F95}Sounds/ERR/Speech/soldier_1102.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1102.wav b/addons/core/Sounds/ERR/Speech/soldier_1102.wav new file mode 100644 index 0000000..d63ff69 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1102.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1102.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1102.wav.meta new file mode 100644 index 0000000..e386226 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1102.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{D63246D0C09D428E}Sounds/ERR/Speech/soldier_1102.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1103.acp b/addons/core/Sounds/ERR/Speech/soldier_1103.acp new file mode 100644 index 0000000..9e62f40 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1103.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{04D4DB7002BEDAA6}Sounds/ERR/Speech/soldier_1103.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1103.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1103.acp.meta new file mode 100644 index 0000000..15bdc2a --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1103.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{6B5037B1DEEB3FCB}Sounds/ERR/Speech/soldier_1103.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1103.wav b/addons/core/Sounds/ERR/Speech/soldier_1103.wav new file mode 100644 index 0000000..9b3e3c5 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1103.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1103.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1103.wav.meta new file mode 100644 index 0000000..fdc977f --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1103.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{04D4DB7002BEDAA6}Sounds/ERR/Speech/soldier_1103.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1104.acp b/addons/core/Sounds/ERR/Speech/soldier_1104.acp new file mode 100644 index 0000000..77785dc --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1104.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{0E73BF59295064E4}Sounds/ERR/Speech/soldier_1104.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1104.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1104.acp.meta new file mode 100644 index 0000000..0b42d7c --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1104.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{0C8AE411366B20EB}Sounds/ERR/Speech/soldier_1104.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1104.wav b/addons/core/Sounds/ERR/Speech/soldier_1104.wav new file mode 100644 index 0000000..8a04756 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1104.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1104.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1104.wav.meta new file mode 100644 index 0000000..d1a1bc2 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1104.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{0E73BF59295064E4}Sounds/ERR/Speech/soldier_1104.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1105.acp b/addons/core/Sounds/ERR/Speech/soldier_1105.acp new file mode 100644 index 0000000..bf3bb9c --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1105.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{105D6DD2CA6B2F84}Sounds/ERR/Speech/soldier_1105.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1105.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1105.acp.meta new file mode 100644 index 0000000..73a0d1f --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1105.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{3E1B0B6406E16734}Sounds/ERR/Speech/soldier_1105.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1105.wav b/addons/core/Sounds/ERR/Speech/soldier_1105.wav new file mode 100644 index 0000000..f2df7a0 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1105.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1105.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1105.wav.meta new file mode 100644 index 0000000..1eb4a0d --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1105.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{105D6DD2CA6B2F84}Sounds/ERR/Speech/soldier_1105.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1200.acp b/addons/core/Sounds/ERR/Speech/soldier_1200.acp new file mode 100644 index 0000000..2a56c6c --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1200.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{E2A86DA661C63763}Sounds/ERR/Speech/soldier_1200.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1200.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1200.acp.meta new file mode 100644 index 0000000..79931e1 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1200.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{86FD331E3D1EB134}Sounds/ERR/Speech/soldier_1200.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1200.wav b/addons/core/Sounds/ERR/Speech/soldier_1200.wav new file mode 100644 index 0000000..dd4a855 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1200.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1200.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1200.wav.meta new file mode 100644 index 0000000..8731eab --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1200.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{E2A86DA661C63763}Sounds/ERR/Speech/soldier_1200.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1201.acp b/addons/core/Sounds/ERR/Speech/soldier_1201.acp new file mode 100644 index 0000000..1fba55a --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1201.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{87AC0E9687D84F52}Sounds/ERR/Speech/soldier_1201.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1201.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1201.acp.meta new file mode 100644 index 0000000..a7958fc --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1201.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{A840837CC23E4A32}Sounds/ERR/Speech/soldier_1201.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1201.wav b/addons/core/Sounds/ERR/Speech/soldier_1201.wav new file mode 100644 index 0000000..7e2b1eb Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1201.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1201.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1201.wav.meta new file mode 100644 index 0000000..ea4992a --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1201.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{87AC0E9687D84F52}Sounds/ERR/Speech/soldier_1201.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1202.acp b/addons/core/Sounds/ERR/Speech/soldier_1202.acp new file mode 100644 index 0000000..5e32722 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1202.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{D7B66AB2401C0D11}Sounds/ERR/Speech/soldier_1202.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1202.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1202.acp.meta new file mode 100644 index 0000000..9d9e6b5 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1202.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{3AF9ED4087FE442C}Sounds/ERR/Speech/soldier_1202.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1202.wav b/addons/core/Sounds/ERR/Speech/soldier_1202.wav new file mode 100644 index 0000000..198ff5b Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1202.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1202.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1202.wav.meta new file mode 100644 index 0000000..2f9a6c0 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1202.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{D7B66AB2401C0D11}Sounds/ERR/Speech/soldier_1202.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1203.acp b/addons/core/Sounds/ERR/Speech/soldier_1203.acp new file mode 100644 index 0000000..2dee6fd --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1203.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{5530DEEF2608D8C9}Sounds/ERR/Speech/soldier_1203.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1203.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1203.acp.meta new file mode 100644 index 0000000..46361b7 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1203.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{97397F4FD27C4371}Sounds/ERR/Speech/soldier_1203.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1203.wav b/addons/core/Sounds/ERR/Speech/soldier_1203.wav new file mode 100644 index 0000000..20f6169 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1203.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1203.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1203.wav.meta new file mode 100644 index 0000000..5eda2a9 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1203.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{5530DEEF2608D8C9}Sounds/ERR/Speech/soldier_1203.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1204.acp b/addons/core/Sounds/ERR/Speech/soldier_1204.acp new file mode 100644 index 0000000..42ec7c2 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1204.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{5128F2654F0D531E}Sounds/ERR/Speech/soldier_1204.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1204.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1204.acp.meta new file mode 100644 index 0000000..be99fcb --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1204.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{EB394FAC323A0CA0}Sounds/ERR/Speech/soldier_1204.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1204.wav b/addons/core/Sounds/ERR/Speech/soldier_1204.wav new file mode 100644 index 0000000..f7381be Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1204.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1204.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1204.wav.meta new file mode 100644 index 0000000..410304f --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1204.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{5128F2654F0D531E}Sounds/ERR/Speech/soldier_1204.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_1205.acp b/addons/core/Sounds/ERR/Speech/soldier_1205.acp new file mode 100644 index 0000000..3b9b9c1 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1205.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{EEB037490052A77D}Sounds/ERR/Speech/soldier_1205.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1205.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_1205.acp.meta new file mode 100644 index 0000000..d2b4718 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1205.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{69750949590AECF1}Sounds/ERR/Speech/soldier_1205.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_1205.wav b/addons/core/Sounds/ERR/Speech/soldier_1205.wav new file mode 100644 index 0000000..a757b28 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_1205.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_1205.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_1205.wav.meta new file mode 100644 index 0000000..b009b53 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_1205.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{EEB037490052A77D}Sounds/ERR/Speech/soldier_1205.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_clear.acp b/addons/core/Sounds/ERR/Speech/soldier_clear.acp new file mode 100644 index 0000000..a3ce8ef --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_clear.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{92FA75C7F89DC5CF}Sounds/ERR/Speech/soldier_clear.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_clear.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_clear.acp.meta new file mode 100644 index 0000000..7152e9c --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_clear.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{ECF3257A4BFF2F53}Sounds/ERR/Speech/soldier_clear.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_clear.wav b/addons/core/Sounds/ERR/Speech/soldier_clear.wav new file mode 100644 index 0000000..63146cb Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_clear.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_clear.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_clear.wav.meta new file mode 100644 index 0000000..63e629a --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_clear.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{92FA75C7F89DC5CF}Sounds/ERR/Speech/soldier_clear.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_covering.acp b/addons/core/Sounds/ERR/Speech/soldier_covering.acp new file mode 100644 index 0000000..fba24a2 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_covering.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{319C1C0DBF9E1D3E}Sounds/ERR/Speech/soldier_covering.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_covering.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_covering.acp.meta new file mode 100644 index 0000000..bb96714 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_covering.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{78DCA194DA126513}Sounds/ERR/Speech/soldier_covering.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_covering.wav b/addons/core/Sounds/ERR/Speech/soldier_covering.wav new file mode 100644 index 0000000..efbe89e Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_covering.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_covering.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_covering.wav.meta new file mode 100644 index 0000000..db65ba4 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_covering.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{319C1C0DBF9E1D3E}Sounds/ERR/Speech/soldier_covering.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_engaging.acp b/addons/core/Sounds/ERR/Speech/soldier_engaging.acp new file mode 100644 index 0000000..373ed31 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_engaging.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{74A54A9FC3699C08}Sounds/ERR/Speech/soldier_engaging.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_engaging.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_engaging.acp.meta new file mode 100644 index 0000000..f2efc78 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_engaging.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{A700E14970CCA3E2}Sounds/ERR/Speech/soldier_engaging.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_engaging.wav b/addons/core/Sounds/ERR/Speech/soldier_engaging.wav new file mode 100644 index 0000000..64e969b Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_engaging.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_engaging.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_engaging.wav.meta new file mode 100644 index 0000000..30bbf55 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_engaging.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{74A54A9FC3699C08}Sounds/ERR/Speech/soldier_engaging.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_moving.acp b/addons/core/Sounds/ERR/Speech/soldier_moving.acp new file mode 100644 index 0000000..1f4dd72 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_moving.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{A437D89B9D39B4B1}Sounds/ERR/Speech/soldier_moving.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_moving.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_moving.acp.meta new file mode 100644 index 0000000..ad8f225 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_moving.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{BAB1942B5DE85A52}Sounds/ERR/Speech/soldier_moving.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_moving.wav b/addons/core/Sounds/ERR/Speech/soldier_moving.wav new file mode 100644 index 0000000..7337ad7 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_moving.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_moving.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_moving.wav.meta new file mode 100644 index 0000000..af30753 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_moving.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{A437D89B9D39B4B1}Sounds/ERR/Speech/soldier_moving.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp b/addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp new file mode 100644 index 0000000..f93b206 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{AB6FA0B35F82D85B}Sounds/ERR/Speech/soldier_no_ammo.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp.meta new file mode 100644 index 0000000..19a7db4 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_no_ammo.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{D363E6B37331E416}Sounds/ERR/Speech/soldier_no_ammo.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav b/addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav new file mode 100644 index 0000000..097aa45 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav.meta new file mode 100644 index 0000000..c23fdb0 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_no_ammo.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{AB6FA0B35F82D85B}Sounds/ERR/Speech/soldier_no_ammo.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_reloading.acp b/addons/core/Sounds/ERR/Speech/soldier_reloading.acp new file mode 100644 index 0000000..6075ac3 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_reloading.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{9D1BEB390E8104CF}Sounds/ERR/Speech/soldier_reloading.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_reloading.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_reloading.acp.meta new file mode 100644 index 0000000..d27b0f5 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_reloading.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{C51337F1692C21A7}Sounds/ERR/Speech/soldier_reloading.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_reloading.wav b/addons/core/Sounds/ERR/Speech/soldier_reloading.wav new file mode 100644 index 0000000..96d4b7c Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_reloading.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_reloading.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_reloading.wav.meta new file mode 100644 index 0000000..ca77216 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_reloading.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{9D1BEB390E8104CF}Sounds/ERR/Speech/soldier_reloading.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_target_down.acp b/addons/core/Sounds/ERR/Speech/soldier_target_down.acp new file mode 100644 index 0000000..a74f14c --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_target_down.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{26BE3FE8012E6985}Sounds/ERR/Speech/soldier_target_down.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_target_down.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_target_down.acp.meta new file mode 100644 index 0000000..a0bec79 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_target_down.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{388F2800E5683289}Sounds/ERR/Speech/soldier_target_down.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_target_down.wav b/addons/core/Sounds/ERR/Speech/soldier_target_down.wav new file mode 100644 index 0000000..70c71a9 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_target_down.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_target_down.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_target_down.wav.meta new file mode 100644 index 0000000..0cb09d0 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_target_down.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{26BE3FE8012E6985}Sounds/ERR/Speech/soldier_target_down.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_target_lost.acp b/addons/core/Sounds/ERR/Speech/soldier_target_lost.acp new file mode 100644 index 0000000..0fd3e8d --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_target_lost.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{CDAFF1C632DD99E4}Sounds/ERR/Speech/soldier_target_lost.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_target_lost.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_target_lost.acp.meta new file mode 100644 index 0000000..608ae58 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_target_lost.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{DA42EA7B286B20BD}Sounds/ERR/Speech/soldier_target_lost.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_target_lost.wav b/addons/core/Sounds/ERR/Speech/soldier_target_lost.wav new file mode 100644 index 0000000..d1ae49c Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_target_lost.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_target_lost.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_target_lost.wav.meta new file mode 100644 index 0000000..515a684 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_target_lost.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{CDAFF1C632DD99E4}Sounds/ERR/Speech/soldier_target_lost.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/soldier_under_fire.acp b/addons/core/Sounds/ERR/Speech/soldier_under_fire.acp new file mode 100644 index 0000000..efeab58 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_under_fire.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{609D8A5A4BFA12C8}Sounds/ERR/Speech/soldier_under_fire.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 1 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_under_fire.acp.meta b/addons/core/Sounds/ERR/Speech/soldier_under_fire.acp.meta new file mode 100644 index 0000000..2bf212b --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_under_fire.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{8A05B1A08D5F23CC}Sounds/ERR/Speech/soldier_under_fire.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/soldier_under_fire.wav b/addons/core/Sounds/ERR/Speech/soldier_under_fire.wav new file mode 100644 index 0000000..cec8a4d Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/soldier_under_fire.wav differ diff --git a/addons/core/Sounds/ERR/Speech/soldier_under_fire.wav.meta b/addons/core/Sounds/ERR/Speech/soldier_under_fire.wav.meta new file mode 100644 index 0000000..0987e47 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/soldier_under_fire.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{609D8A5A4BFA12C8}Sounds/ERR/Speech/soldier_under_fire.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/Sounds/ERR/Speech/welcome.acp b/addons/core/Sounds/ERR/Speech/welcome.acp new file mode 100644 index 0000000..6d4b08c --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/welcome.acp @@ -0,0 +1,448 @@ +AudioClass { + signals { + SignalClass "37901" { + id 37901 + name "Signal Occlusion" + tl -100.991 -395.237 + res "{D4A1555B02A77EDA}Sounds/_SharedData/Signals/Vehicles/Vehicles_Occlusion_OutsideVehicleSource.sig" + inputsport { + 45 55 103 111 + } + outputsport { + 74 + } + inputvalues { + 0 0 0 0 + } + inputvaluesmin { + 0 0 0 0 + } + inputvaluesmax { + 1 1 10000 1 + } + } + SignalClass "38925" { + id 38925 + name "Signal Trigger" + tl 139.692 -132.556 + res "{6A92ECFA84F929B3}Sounds/_SharedData/Signals/OneSignal/HornState.sig" + inputsport { + 1 + } + outputsport { + 2 + } + inputvalues { + 1 + } + inputvaluesmin { + 0 + } + inputvaluesmax { + 1 + } + } + SignalClass "39949" { + id 39949 + name "Signal Reverb" + tl 375 35 + res "{76CBB40EF7F227B6}Sounds/_SharedData/Signals/Reverb/Reverb_Base.sig" + inputsport { + 1 35 112 + } + outputsport { + 39 105 107 106 110 + } + inputvalues { + 40 0 0 + } + inputvaluesmin { + 0 0 0 + } + inputvaluesmax { + 100 1 16000 + } + } + } + sounds { + SoundClass "35849" { + id 35849 + name "ERR_SPEECH" + version 5 + tl 139 -50.75 + ctl 0 -21 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "38925:2" { + id 38925 + port 2 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "40978:65" { + id 40978 + port 65 + } + } + } + } + pi { + 1 0 + } + outState 36875 + outStatePort 17415 + delayTime 250 + } + } + mixers { + MixerClass "36875" { + id 36875 + name "OutputState" + version 4 + tl 625.888 -48 + res "{B764D803219C775E}Sounds/FinalMix.afm" + ins { + ConnectionsClass "con:17415" { + id 17415 + links { + ConnectionClass "35849:65" { + id 35849 + port 65 + } + } + } + ConnectionsClass "con:197639" { + id 197639 + links { + ConnectionClass "45085:65" { + id 45085 + port 65 + } + } + } + ConnectionsClass "con:300039" { + id 300039 + links { + ConnectionClass "46109:65" { + id 46109 + port 65 + } + } + } + ConnectionsClass "con:301063" { + id 301063 + links { + ConnectionClass "48157:65" { + id 48157 + port 65 + } + } + } + ConnectionsClass "con:302087" { + id 302087 + links { + ConnectionClass "47133:65" { + id 47133 + port 65 + } + } + } + } + pi { + 239075392 0 + } + inputs { + "WPN_Handling" "WPN_Shots" "WPN_Explosions" "WNP_BulletHits" "CHAR" "ENV_AMB_2D" "VEH_Animations" "Impacts" "Dialog" "ENV_Doors" "VEH_Engine" "VEH_Tires" "VON" "SFX" "SFX_Reverb_OBSOLETE" "VON_Reverb_Small" "Dialog_Reverb" "Impacts_EXT" "ENV_AMB_3D" "WPN_SonicCracks" "CHAR_Gear" "PA" "SFX_Reverb_Exterior" "ENV_AMB_3D_Reverb_Exterior" "SFX_Direct" "SFX_Reverb_Small" "SFX_Reverb_Medium" "SFX_Reverb_Large" "WPN_Shots_Player" "Dialog_Reverb_Small" "Dialog_Reverb_Medium" "Dialog_Reverb_Large" "WPN_TravelingProjectile" "Dialog_Delay_Exterior" "SFX_Reverb_InCabin" "VON_Reverb_Medium" "VON_Reverb_Large" + } + } + } + shaders { + ShaderClass "40978" { + id 40978 + name "Shader Horn" + version 5 + tl -104.455 -50 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "44060:65" { + id 44060 + port 65 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "42003:65" { + id 42003 + port 65 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "43029:65" { + id 43029 + port 65 + } + } + } + ConnectionsClass "con:64" { + id 64 + links { + ConnectionClass "24580:65" { + id 24580 + port 65 + } + } + } + } + pi { + 7 0 + } + ITD 0 + } + } + amplitudes { + AmplitudeClass "42003" : "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" { + id 42003 + version 5 + tl -101.075 -469.891 + parent "{BA1F5E72DA797274}Sounds/_SharedData/Configs/Amplitude/_SharedData/Amplitude_-30LUFS_to_-25LUFS.conf" + } + } + frequency { + FrequencyClass "43029" : "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" { + id 43029 + version 5 + tl -102.645 -151.587 + parent "{0005FE42A6D80399}Sounds/_SharedData/Configs/Frequency/_SharedData/Frequency_DynamicUpdate.conf" + ins { + ConnectionsClass "con:4" { + id 4 + links { + ConnectionClass "37901:74" { + id 37901 + port 74 + } + } + } + } + pi { + 16 0 + } + pu { + 16 0 + } + } + } + banks_local { + BankLocalClass "24580" { + id 24580 + name "Horn" + version 7 + tl -316.174 -40.795 + Volume -6 + "Loop count" 0 + "Loop begin" 0 + "Loop length" 0 + "Infinite loop" 0 + "Terminate Loop" 0 + Samples { + AudioBankSampleClass Sample { + Filename "{1BF1C8057E81BE52}Sounds/ERR/Speech/welcome.wav" + } + } + } + } + spatialities { + SpatialityClass "44060" { + id 44060 + name "Spatiality" + version 5 + tl -100.325 -546.141 + spatialFactor 0 + } + } + auxOuts { + AuxOutClass "45085" { + id 45085 + name "AuxOut Reverb EXT" + version 5 + tl 375.87 236.15 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:105" { + id 39949 + port 105 + } + } + } + } + pi { + 3 0 + } + pu { + 2 0 + } + OSPort 197639 + } + AuxOutClass "46109" { + id 46109 + name "AuxOut Reverb INT Small" + version 5 + tl 374.56 337.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:107" { + id 39949 + port 107 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 300039 + } + AuxOutClass "47133" { + id 47133 + name "AuxOut Reverb INT Large" + version 5 + tl 374.56 593.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:110" { + id 39949 + port 110 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 302087 + } + AuxOutClass "48157" { + id 48157 + name "AuxOut Reverb INT Medium" + version 5 + tl 374.56 465.573 + ins { + ConnectionsClass "con:0" { + id 0 + links { + ConnectionClass "35849:5" { + id 35849 + port 5 + } + } + } + ConnectionsClass "con:1" { + id 1 + links { + ConnectionClass "39949:106" { + id 39949 + port 106 + } + } + } + ConnectionsClass "con:2" { + id 2 + links { + ConnectionClass "39949:39" { + id 39949 + port 39 + } + } + } + } + pi { + 7 0 + } + pu { + 6 0 + } + OSPort 301063 + } + } + groups { + GroupClass "34819" { + id 34819 + name "Sounds/Vehicles/_SharedData/Vehicles_Horn_Template.acp" + children { + 35849 36875 37901 38925 39949 40978 42003 43029 44060 45085 46109 47133 48157 + } + parent -1 + Color 1 0.502 0 0.1 + } + } + version 2 +} diff --git a/addons/core/Sounds/ERR/Speech/welcome.acp.meta b/addons/core/Sounds/ERR/Speech/welcome.acp.meta new file mode 100644 index 0000000..6c13338 --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/welcome.acp.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{3B55F836F9B6D20C}Sounds/ERR/Speech/welcome.acp" + Configurations { + AudioProjectResourceClass PC { + } + AudioProjectResourceClass XBOX_ONE : PC { + } + AudioProjectResourceClass XBOX_SERIES : PC { + } + AudioProjectResourceClass PS4 : PC { + } + AudioProjectResourceClass PS5 : PC { + } + AudioProjectResourceClass HEADLESS : PC { + } + } +} diff --git a/addons/core/Sounds/ERR/Speech/welcome.wav b/addons/core/Sounds/ERR/Speech/welcome.wav new file mode 100644 index 0000000..7afbb61 Binary files /dev/null and b/addons/core/Sounds/ERR/Speech/welcome.wav differ diff --git a/addons/core/Sounds/ERR/Speech/welcome.wav.meta b/addons/core/Sounds/ERR/Speech/welcome.wav.meta new file mode 100644 index 0000000..628deca --- /dev/null +++ b/addons/core/Sounds/ERR/Speech/welcome.wav.meta @@ -0,0 +1,17 @@ +MetaFileClass { + Name "{1BF1C8057E81BE52}Sounds/ERR/Speech/welcome.wav" + Configurations { + WAVResourceClass PC { + } + WAVResourceClass XBOX_ONE : PC { + } + WAVResourceClass XBOX_SERIES : PC { + } + WAVResourceClass PS4 : PC { + } + WAVResourceClass PS5 : PC { + } + WAVResourceClass HEADLESS : PC { + } + } +} \ No newline at end of file diff --git a/addons/core/UI/layouts/ERR/AdminMenu.layout b/addons/core/UI/layouts/ERR/AdminMenu.layout index 5254d73..3a4a132 100644 --- a/addons/core/UI/layouts/ERR/AdminMenu.layout +++ b/addons/core/UI/layouts/ERR/AdminMenu.layout @@ -843,7 +843,7 @@ ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_But } } FrameWidgetClass { Name "TTSPage" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 0 OffsetLeft 0 PositionY 160 OffsetTop 160 SizeX 1000 OffsetRight -1000 SizeY 486 OffsetBottom -646 } { -TextWidgetClass { Name "TTSHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 6 OffsetTop 6 SizeX 936 OffsetRight -964 SizeY 58 OffsetBottom -64 } Color 0.9 0.92 0.94 1 Text "Optional text-to-speech. Leave it unconfigured to keep existing audio. Test and enable saves only after the service successfully generates speech." "Font Size" 18 "Min Font Size" 18 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +TextWidgetClass { Name "TTSHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 6 OffsetTop 6 SizeX 936 OffsetRight -964 SizeY 58 OffsetBottom -64 } Color 0.9 0.92 0.94 1 Text "Prerecorded speech works without a service. On / Off applies to everyone. Live TTS below is optional and has its own setting." "Font Size" 18 "Min Font Size" 18 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "TTSSelectionState" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 74 OffsetTop 74 SizeX 150 OffsetRight -178 SizeY 42 OffsetBottom -116 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Waiting..." } } } TextWidgetClass { Name "TTSStatus" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 198 OffsetLeft 198 PositionY 74 OffsetTop 74 SizeX 766 OffsetRight -964 SizeY 58 OffsetBottom -132 } Color 0.9 0.92 0.94 1 Text "Waiting for the server." "Font Size" 18 "Min Font Size" 18 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } TextWidgetClass { Name "TTSEndpointLabel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 148 OffsetTop 148 SizeX 260 OffsetRight -288 SizeY 38 OffsetBottom -186 } Color 0.9 0.92 0.94 1 Text "Speech bridge URL" "Font Size" 20 "Min Font Size" 20 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } @@ -854,8 +854,11 @@ ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "TTSPasteToken" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 834 OffsetLeft 834 PositionY 212 OffsetTop 212 SizeX 130 OffsetRight -964 SizeY 42 OffsetBottom -254 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Paste" } } } TextWidgetClass { Name "TTSTokenStatus" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 298 OffsetLeft 298 PositionY 258 OffsetTop 258 SizeX 666 OffsetRight -964 SizeY 48 OffsetBottom -306 } Color 0.9 0.92 0.94 1 Text "No token saved." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "TTSTest" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 298 OffsetLeft 298 PositionY 318 OffsetTop 318 SizeX 240 OffsetRight -538 SizeY 42 OffsetBottom -360 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Test & enable" } } } -ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "TTSDisable" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 558 OffsetLeft 558 PositionY 318 OffsetTop 318 SizeX 180 OffsetRight -738 SizeY 42 OffsetBottom -360 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Disable" } } } -TextWidgetClass { Name "TTSServiceHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 386 OffsetTop 386 SizeX 936 OffsetRight -964 SizeY 65 OffsetBottom -451 } Color 0.9 0.92 0.94 1 Text "Enter your speech helper URL and bridge token, not the Google API URL or a Google token. The helper connects to Google. Paste fills a field; Test & enable verifies and saves." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "TTSDisable" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 558 OffsetLeft 558 PositionY 318 OffsetTop 318 SizeX 180 OffsetRight -738 SizeY 42 OffsetBottom -360 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Disable live TTS" } } } +TextWidgetClass { Name "RecordingsLabel" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 388 OffsetTop 388 SizeX 400 OffsetRight -428 SizeY 42 OffsetBottom -430 } Color 0.9 0.92 0.94 1 Text "Prerecorded speech" "Font Size" 20 "Min Font Size" 20 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "RecordingsOn" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 558 OffsetLeft 558 PositionY 386 OffsetTop 386 SizeX 180 OffsetRight -738 SizeY 42 OffsetBottom -428 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "On" } } } +ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "RecordingsOff" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 758 OffsetLeft 758 PositionY 386 OffsetTop 386 SizeX 180 OffsetRight -938 SizeY 42 OffsetBottom -428 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Off" } } } +TextWidgetClass { Name "TTSServiceHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 440 OffsetTop 440 SizeX 936 OffsetRight -964 SizeY 42 OffsetBottom -482 } Color 0.9 0.92 0.94 1 Text "Prerecorded speech: welcome, soldier dialogue and extraction radio. Text messages stay visible." "Font Size" 17 "Min Font Size" 17 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } } } } diff --git a/docs/bundled-speech-assets.json b/docs/bundled-speech-assets.json new file mode 100644 index 0000000..a6bb22b --- /dev/null +++ b/docs/bundled-speech-assets.json @@ -0,0 +1,327 @@ +{ + "voice": "en-US-Chirp3-HD-Algenib", + "clips": [ + { + "id": "welcome", + "text": "Welcome to Escape Reintroduced. Work together, stay alert, and find your way off the island. Good luck.", + "category": "welcome", + "sha256": "01de068469bd6746dba7634fb6b5b85b150621d3359c17fd01bcb916b34b1720", + "bytes": 318764, + "graph": "{3B55F836F9B6D20C}Sounds/ERR/Speech/welcome.acp" + }, + { + "id": "soldier_1001", + "text": "I can see one of them.", + "category": "soldier", + "kind": "1001", + "sha256": "a8935a5aded028f2fb03734f4423e731ea4f5b17394526df47c0407a3deddfe7", + "bytes": 76844, + "graph": "{3DF753B659A184FB}Sounds/ERR/Speech/soldier_1001.acp" + }, + { + "id": "soldier_1002", + "text": "I've got eyes on two of them.", + "category": "soldier", + "kind": "1002", + "sha256": "8535643e93757dd916f4158b5b03671cefc599489dbccf6bb0f7abf294fbae88", + "bytes": 78764, + "graph": "{B1B78A9E50D41FD5}Sounds/ERR/Speech/soldier_1002.acp" + }, + { + "id": "soldier_1003", + "text": "Hey, I can see three of them.", + "category": "soldier", + "kind": "1003", + "sha256": "5910896661ad67333d2374a16ca44ce831a5820feb337655df99c02df2915d5a", + "bytes": 115244, + "graph": "{FEE47650B627484E}Sounds/ERR/Speech/soldier_1003.acp" + }, + { + "id": "soldier_1004", + "text": "There's at least four of them.", + "category": "soldier", + "kind": "1004", + "sha256": "76375e462ba518c76f752d4b194c9370dffcebd8ce0037865133b37af3ff9a9e", + "bytes": 78764, + "graph": "{2FA4DC16F80F04FE}Sounds/ERR/Speech/soldier_1004.acp" + }, + { + "id": "soldier_1005", + "text": "They're getting closer. Keep your eyes open.", + "category": "soldier", + "kind": "1005", + "sha256": "3e20728fb61863278738f5366343cddd6fac1b8b114a14867f91ebb5cac547d8", + "bytes": 145964, + "graph": "{5F3C22AA392DAE36}Sounds/ERR/Speech/soldier_1005.acp" + }, + { + "id": "soldier_1100", + "text": "I could use a hot coffee. How about you?", + "category": "soldier", + "kind": "1100", + "sha256": "eaf1deb5381f6bac165e364a652920fcf78438c351c564ebe50a216f3f3ba5a0", + "bytes": 153644, + "graph": "{AD2DC2C52E226AA7}Sounds/ERR/Speech/soldier_1100.acp" + }, + { + "id": "soldier_1101", + "text": "Yeah. And something decent to eat for once.", + "category": "soldier", + "kind": "1101", + "sha256": "4bca012ec25d8456cd38d26606312f54b480b674365b76a9c9f54e408314570b", + "bytes": 140204, + "graph": "{AE2E3AA19209018D}Sounds/ERR/Speech/soldier_1101.acp" + }, + { + "id": "soldier_1102", + "text": "My feet are killing me.", + "category": "soldier", + "kind": "1102", + "sha256": "1432bb3c9d99910314a84d9773d2afafe4f5fbb143afb291b0deed55d25ee6d0", + "bytes": 92204, + "graph": "{74617A1D01426F95}Sounds/ERR/Speech/soldier_1102.acp" + }, + { + "id": "soldier_1103", + "text": "Same here. Can't wait to sit down.", + "category": "soldier", + "kind": "1103", + "sha256": "c294454907a229d521c2285eec26dbb82f9782f2a7eca764e11713ff63f0e004", + "bytes": 119084, + "graph": "{6B5037B1DEEB3FCB}Sounds/ERR/Speech/soldier_1103.acp" + }, + { + "id": "soldier_1104", + "text": "Feels like this shift will never end.", + "category": "soldier", + "kind": "1104", + "sha256": "952b3d71366c26fc12bdbb9014665bfc0402f30944c22b1b2369d26a93db7104", + "bytes": 149804, + "graph": "{0C8AE411366B20EB}Sounds/ERR/Speech/soldier_1104.acp" + }, + { + "id": "soldier_1105", + "text": "Tell me about it.", + "category": "soldier", + "kind": "1105", + "sha256": "20e9e82d9897b598497da4722432f83ae03a5e6bf9a1f7a77caab712e3fc3130", + "bytes": 78764, + "graph": "{3E1B0B6406E16734}Sounds/ERR/Speech/soldier_1105.acp" + }, + { + "id": "soldier_1200", + "text": "Covering. Keep low.", + "category": "soldier", + "kind": "1200", + "sha256": "5a1561e821ef33a574c1f9ef95ccf76e69b832bf0a20bcbbf914760345921859", + "bytes": 115244, + "graph": "{86FD331E3D1EB134}Sounds/ERR/Speech/soldier_1200.acp" + }, + { + "id": "soldier_1201", + "text": "Move up. Stay low.", + "category": "soldier", + "kind": "1201", + "sha256": "f058f0482cfe4034fdf37d9b596f7ba8172fae1c57aeb387ce153f8041895e45", + "bytes": 99884, + "graph": "{A840837CC23E4A32}Sounds/ERR/Speech/soldier_1201.acp" + }, + { + "id": "soldier_1202", + "text": "Fall back. Stay together.", + "category": "soldier", + "kind": "1202", + "sha256": "c875f4e798ff5e24c3eb3b48bdfa1b8af03de9326a19c671eca86660297ad737", + "bytes": 96044, + "graph": "{3AF9ED4087FE442C}Sounds/ERR/Speech/soldier_1202.acp" + }, + { + "id": "soldier_1203", + "text": "Hold here. Keep together.", + "category": "soldier", + "kind": "1203", + "sha256": "6e7857dc96dfb556f011ba89f2f4ea659cfd7b605b88790c69e754d5cc51398a", + "bytes": 101804, + "graph": "{97397F4FD27C4371}Sounds/ERR/Speech/soldier_1203.acp" + }, + { + "id": "soldier_1204", + "text": "No sign here. Keep looking.", + "category": "soldier", + "kind": "1204", + "sha256": "bd170ca015b017114e42078dcc5c49d5626aef17d22e4a12b8282e9ee4908ae6", + "bytes": 71084, + "graph": "{EB394FAC323A0CA0}Sounds/ERR/Speech/soldier_1204.acp" + }, + { + "id": "soldier_1205", + "text": "Watch this approach.", + "category": "soldier", + "kind": "1205", + "sha256": "769c457805376e9c0172ddb525ead5f1d8774e15bd1f3f3b218a19f9d77b6883", + "bytes": 101804, + "graph": "{69750949590AECF1}Sounds/ERR/Speech/soldier_1205.acp" + }, + { + "id": "soldier_clear", + "text": "Clear.", + "category": "soldier", + "kind": "ECommunicationType.REPORT_CLEAR", + "sha256": "d6527b8136aa720b721463210420f47de0dbc45acc4e4c390b6a44968c5f0acd", + "bytes": 23084, + "graph": "{ECF3257A4BFF2F53}Sounds/ERR/Speech/soldier_clear.acp" + }, + { + "id": "soldier_moving", + "text": "Moving. Cover me.", + "category": "soldier", + "kind": "ECommunicationType.REPORT_MOVING", + "sha256": "a61dda64e6fc2a11eac3e6008ee14b89f360bd67e258dce1191a71d9e2e26fad", + "bytes": 71084, + "graph": "{BAB1942B5DE85A52}Sounds/ERR/Speech/soldier_moving.acp" + }, + { + "id": "soldier_covering", + "text": "I've got you covered.", + "category": "soldier", + "kind": "ECommunicationType.REPORT_COVERING", + "sha256": "f51e0086eaf0eece8b4061711088a413a2dbeae263deab7ea30fb1852dafda69", + "bytes": 76844, + "graph": "{78DCA194DA126513}Sounds/ERR/Speech/soldier_covering.acp" + }, + { + "id": "soldier_reloading", + "text": "Reloading!", + "category": "soldier", + "kind": "ECommunicationType.REPORT_RELOADING", + "sha256": "15b2749f79bc73fd0784bcd6e6076e1bc50da835e0c434cd43bd185d0735c732", + "bytes": 34604, + "graph": "{C51337F1692C21A7}Sounds/ERR/Speech/soldier_reloading.acp" + }, + { + "id": "soldier_under_fire", + "text": "Taking fire!", + "category": "soldier", + "kind": "ECommunicationType.REPORT_UNDER_FIRE", + "sha256": "e4bd5e69fda289593fc6e6b8c2fae9a271a10d0a9bae877f18ba02dbbf75d1fc", + "bytes": 48044, + "graph": "{8A05B1A08D5F23CC}Sounds/ERR/Speech/soldier_under_fire.acp" + }, + { + "id": "soldier_no_ammo", + "text": "I'm out of ammo!", + "category": "soldier", + "kind": "ECommunicationType.REPORT_NO_AMMO", + "sha256": "ffe6ef5fdf30411749e0cb73186e3005b1ce6a52fcb7c836caeb1bca422ed3ed", + "bytes": 38444, + "graph": "{D363E6B37331E416}Sounds/ERR/Speech/soldier_no_ammo.acp" + }, + { + "id": "soldier_engaging", + "text": "Engaging!", + "category": "soldier", + "kind": "ECommunicationType.REPORT_ENGAGING", + "sha256": "ac0f2d7d698732e3d7c270186e7aa2ab7e6bd4c908f36b07fb6f66a3cbe75ccf", + "bytes": 63404, + "graph": "{A700E14970CCA3E2}Sounds/ERR/Speech/soldier_engaging.acp" + }, + { + "id": "soldier_target_down", + "text": "Target down.", + "category": "soldier", + "kind": "ECommunicationType.REPORT_TARGET_DOWN", + "sha256": "e2e60e8b83a24a548c90b84c5e1137adb7e792cf1d4ba6232ddfb1012fa78892", + "bytes": 55724, + "graph": "{388F2800E5683289}Sounds/ERR/Speech/soldier_target_down.acp" + }, + { + "id": "soldier_target_lost", + "text": "Lost visual. Keep your eyes open.", + "category": "soldier", + "kind": "ECommunicationType.REPORT_TARGET_LOST", + "sha256": "bbcf454d48adea47478d410b1baf14df3a5d018237272e70ae33ee62823f822f", + "bytes": 121004, + "graph": "{DA42EA7B286B20BD}Sounds/ERR/Speech/soldier_target_lost.acp" + }, + { + "id": "radio_01", + "text": "Escapists, this is rescue command. We are preparing your escape route and assembling transports with armed escort helicopters. Hold the radio position until preparations are complete. Keep your smoke grenades ready and stand by for pickup coordinates.", + "category": "radio", + "sha256": "cfe4a00000bc9b629a9e8e282ed64e7177673f829c5657b1ae2b2cb9e661d2ae", + "bytes": 720044, + "graph": "{29F6A1A8A691488D}Sounds/ERR/Speech/radio_01.acp" + }, + { + "id": "radio_02", + "text": "Your escape route is ready. The exact pickup point is marked on your map. Gather your team there and throw a smoke grenade within 25 metres of the mark. We will send the transport and armed escorts when we see your smoke.", + "category": "radio", + "sha256": "6f0c94ae0e501afe6cc1aba804ba6a0403ba4de931debc28bf22970f591d0798", + "bytes": 554924, + "graph": "{0B1147F331AC4EDA}Sounds/ERR/Speech/radio_02.acp" + }, + { + "id": "radio_03", + "text": "Rescue command cannot establish a safe approach. Extraction has failed.", + "category": "radio", + "sha256": "415a206bd1de167342cf1b82d59c708441b8d802395f941d15097c064133802a", + "bytes": 184364, + "graph": "{BC0C902F48008D93}Sounds/ERR/Speech/radio_03.acp" + }, + { + "id": "radio_04", + "text": "Rescue command could not assemble the required transport capacity. Extraction has failed.", + "category": "radio", + "sha256": "a225810c7fba048517248fd9f7e9f7ab8aad5bac35e59f22e11e69166551f7f3", + "bytes": 224684, + "graph": "{E9EB0183C1ED1906}Sounds/ERR/Speech/radio_04.acp" + }, + { + "id": "radio_05", + "text": "Signal received. Launching the rescue flight. Keep the landing point clear.", + "category": "radio", + "sha256": "90f5abe221165ac5cd7d88c9b3e01cf6fd4d00b594c84d09c6baf101fdb776ad", + "bytes": 236204, + "graph": "{4995CB641455140B}Sounds/ERR/Speech/radio_05.acp" + }, + { + "id": "radio_06", + "text": "A rescue transport is down or unable to continue. Extraction has failed.", + "category": "radio", + "sha256": "b3f86b8dde535bc1a63301376c8d42775446d1b6117168557841565391fe0a14", + "bytes": 291884, + "graph": "{E4473DD1140515F9}Sounds/ERR/Speech/radio_06.acp" + }, + { + "id": "radio_07", + "text": "Rescue transports are on the ground. Everyone aboard, including your wounded. Use either rescue transport if there are two. Escorts are covering the pickup. We leave when all surviving prisoners are inside.", + "category": "radio", + "sha256": "f3fd18ddaebe9eb3d0db9ac73c89a7b7a7f18b76e4b66d404d544be660a6825e", + "bytes": 625964, + "graph": "{3D3AA49576443D5D}Sounds/ERR/Speech/radio_07.acp" + }, + { + "id": "radio_08", + "text": "All survivors aboard. Lifting now. Stay inside the transport; escorts are taking you to safety.", + "category": "radio", + "sha256": "ce3c2aff20dbea83aa6545a383c454969c5caeb53d5a88155ec182f789047d4a", + "bytes": 349484, + "graph": "{207C5D973D7EBE55}Sounds/ERR/Speech/radio_08.acp" + }, + { + "id": "radio_09", + "text": "Smoke confirmed. Rescue transport and armed cover are inbound. Clear the marked landing point. Bring your wounded; we wait for all surviving prisoners to board.", + "category": "radio", + "sha256": "3eb0be6393c431b526dbddc723cb608a7681a2dcd8af6910d9f2234aa98c923c", + "bytes": 497324, + "graph": "{DCAF67D5B901D45F}Sounds/ERR/Speech/radio_09.acp" + }, + { + "id": "radio_10", + "text": "Smoke confirmed. Two rescue transports and armed cover are inbound. The helicopters will land separately near the marker. Use either transport and bring your wounded; both wait until everyone is aboard.", + "category": "radio", + "sha256": "2b2dac499a45a7779e79465d628a67b87078c0951db7db3e051feeb4342f2816", + "bytes": 593324, + "graph": "{8CC6CCBA6BDF1568}Sounds/ERR/Speech/radio_10.acp" + } + ] +} diff --git a/docs/bundled-speech.json b/docs/bundled-speech.json new file mode 100644 index 0000000..3a753fb --- /dev/null +++ b/docs/bundled-speech.json @@ -0,0 +1,217 @@ +{ + "voice": "en-US-Chirp3-HD-Algenib", + "language": "en-US", + "clips": [ + { + "id": "welcome", + "text": "Welcome to Escape Reintroduced. Work together, stay alert, and find your way off the island. Good luck.", + "category": "welcome" + }, + { + "id": "soldier_1001", + "text": "I can see one of them.", + "category": "soldier", + "kind": "1001" + }, + { + "id": "soldier_1002", + "text": "I've got eyes on two of them.", + "category": "soldier", + "kind": "1002" + }, + { + "id": "soldier_1003", + "text": "Hey, I can see three of them.", + "category": "soldier", + "kind": "1003" + }, + { + "id": "soldier_1004", + "text": "There's at least four of them.", + "category": "soldier", + "kind": "1004" + }, + { + "id": "soldier_1005", + "text": "They're getting closer. Keep your eyes open.", + "category": "soldier", + "kind": "1005" + }, + { + "id": "soldier_1100", + "text": "I could use a hot coffee. How about you?", + "category": "soldier", + "kind": "1100" + }, + { + "id": "soldier_1101", + "text": "Yeah. And something decent to eat for once.", + "category": "soldier", + "kind": "1101" + }, + { + "id": "soldier_1102", + "text": "My feet are killing me.", + "category": "soldier", + "kind": "1102" + }, + { + "id": "soldier_1103", + "text": "Same here. Can't wait to sit down.", + "category": "soldier", + "kind": "1103" + }, + { + "id": "soldier_1104", + "text": "Feels like this shift will never end.", + "category": "soldier", + "kind": "1104" + }, + { + "id": "soldier_1105", + "text": "Tell me about it.", + "category": "soldier", + "kind": "1105" + }, + { + "id": "soldier_1200", + "text": "Covering. Keep low.", + "category": "soldier", + "kind": "1200" + }, + { + "id": "soldier_1201", + "text": "Move up. Stay low.", + "category": "soldier", + "kind": "1201" + }, + { + "id": "soldier_1202", + "text": "Fall back. Stay together.", + "category": "soldier", + "kind": "1202" + }, + { + "id": "soldier_1203", + "text": "Hold here. Keep together.", + "category": "soldier", + "kind": "1203" + }, + { + "id": "soldier_1204", + "text": "No sign here. Keep looking.", + "category": "soldier", + "kind": "1204" + }, + { + "id": "soldier_1205", + "text": "Watch this approach.", + "category": "soldier", + "kind": "1205" + }, + { + "id": "soldier_clear", + "text": "Clear.", + "category": "soldier", + "kind": "ECommunicationType.REPORT_CLEAR" + }, + { + "id": "soldier_moving", + "text": "Moving. Cover me.", + "category": "soldier", + "kind": "ECommunicationType.REPORT_MOVING" + }, + { + "id": "soldier_covering", + "text": "I've got you covered.", + "category": "soldier", + "kind": "ECommunicationType.REPORT_COVERING" + }, + { + "id": "soldier_reloading", + "text": "Reloading!", + "category": "soldier", + "kind": "ECommunicationType.REPORT_RELOADING" + }, + { + "id": "soldier_under_fire", + "text": "Taking fire!", + "category": "soldier", + "kind": "ECommunicationType.REPORT_UNDER_FIRE" + }, + { + "id": "soldier_no_ammo", + "text": "I'm out of ammo!", + "category": "soldier", + "kind": "ECommunicationType.REPORT_NO_AMMO" + }, + { + "id": "soldier_engaging", + "text": "Engaging!", + "category": "soldier", + "kind": "ECommunicationType.REPORT_ENGAGING" + }, + { + "id": "soldier_target_down", + "text": "Target down.", + "category": "soldier", + "kind": "ECommunicationType.REPORT_TARGET_DOWN" + }, + { + "id": "soldier_target_lost", + "text": "Lost visual. Keep your eyes open.", + "category": "soldier", + "kind": "ECommunicationType.REPORT_TARGET_LOST" + }, + { + "id": "radio_01", + "text": "Escapists, this is rescue command. We are preparing your escape route and assembling transports with armed escort helicopters. Hold the radio position until preparations are complete. Keep your smoke grenades ready and stand by for pickup coordinates.", + "category": "radio" + }, + { + "id": "radio_02", + "text": "Your escape route is ready. The exact pickup point is marked on your map. Gather your team there and throw a smoke grenade within 25 metres of the mark. We will send the transport and armed escorts when we see your smoke.", + "category": "radio" + }, + { + "id": "radio_03", + "text": "Rescue command cannot establish a safe approach. Extraction has failed.", + "category": "radio" + }, + { + "id": "radio_04", + "text": "Rescue command could not assemble the required transport capacity. Extraction has failed.", + "category": "radio" + }, + { + "id": "radio_05", + "text": "Signal received. Launching the rescue flight. Keep the landing point clear.", + "category": "radio" + }, + { + "id": "radio_06", + "text": "A rescue transport is down or unable to continue. Extraction has failed.", + "category": "radio" + }, + { + "id": "radio_07", + "text": "Rescue transports are on the ground. Everyone aboard, including your wounded. Use either rescue transport if there are two. Escorts are covering the pickup. We leave when all surviving prisoners are inside.", + "category": "radio" + }, + { + "id": "radio_08", + "text": "All survivors aboard. Lifting now. Stay inside the transport; escorts are taking you to safety.", + "category": "radio" + }, + { + "id": "radio_09", + "text": "Smoke confirmed. Rescue transport and armed cover are inbound. Clear the marked landing point. Bring your wounded; we wait for all surviving prisoners to board.", + "category": "radio" + }, + { + "id": "radio_10", + "text": "Smoke confirmed. Two rescue transports and armed cover are inbound. The helicopters will land separately near the marker. Use either transport and bring your wounded; both wait until everyone is aboard.", + "category": "radio" + } + ] +} diff --git a/docs/configuration.md b/docs/configuration.md index 26f826f..5d1a7fd 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -93,7 +93,7 @@ Edit the file while the mission is stopped, then restart to load manual changes. | `factions` | Player, enemy and independent role choices | `EscapistsFactions.json` | | `terrain` | Selected next-start scenario | `EscapistsTerrain.json` | | `items` | Item rules and named presets, including dormant rules for absent mods | `EscapistsItems.json` | -| `voice` | Original welcome clip (`welcomeUrl`), speech bridge URL/token (`briefingUrl`, `briefingToken`), optional `ttsEnabled` | `EscapistsWelcomeVoice.json` | +| `voice` | Original welcome clip (`welcomeUrl`), speech bridge URL/token (`briefingUrl`, `briefingToken`), optional `ttsEnabled`, `bundledSpeech` (default true), `recordingsEnabled` (default true; TTS menu prerecorded speech On / Off) | `EscapistsWelcomeVoice.json` | The admin mission menu's **TTS** page can test and save the speech bridge settings without a restart. Only a successful test enables the new settings; an empty or diff --git a/docs/vanilla-resources.json b/docs/vanilla-resources.json index 23e06ca..b84a251 100644 --- a/docs/vanilla-resources.json +++ b/docs/vanilla-resources.json @@ -177,6 +177,7 @@ "UI/Textures/Icons/icons_mapMarkersUI.imageset": "E23427CAC80DA8B7", "UI/Textures/Icons/icons_wrapperUI-glow.imageset": "00FE3DBDFD15227B", "UI/Textures/Icons/icons_wrapperUI.imageset": "3262679C50EF4F01", + "UI/layouts/HUD/Chat/ChatPanel.layout": "28C54D576A8997CF", "UI/layouts/HUD/GameOver/EndScreen/EndScreenContent_NoImage.layout": "C4507D07F3C54831", "UI/layouts/Menus/PauseMenu/PauseMenuButton.layout": "9ECCD201BCF07E95", "UI/layouts/Sights/Optic_Default.layout": "4CE66FA8219D33D7", diff --git a/docs/welcome-voice-test.md b/docs/welcome-voice-test.md index 103af50..4ccfbb3 100644 --- a/docs/welcome-voice-test.md +++ b/docs/welcome-voice-test.md @@ -1,6 +1,6 @@ # Welcome briefing -The optional welcome plays once per authenticated account in the running server +The bundled welcome plays once per authenticated account in the running server game session, after a controlled character exists, loading releases audio and the player closes the menus. The server records permission before the client downloads the greeting, so a crash, reconnect or return through the main menu @@ -16,7 +16,27 @@ Requests are skipped while the engine HTTP service is disabled (including native `-noBackend` diagnostics). An empty URL disables downloading instead of requesting an empty address. -The dynamic briefing names the **loaded terrain**, not a saved next-round choice, +The default welcome is a bundled generic recording and contains no terrain or +weather claims. The addon includes 37 prerecorded messages: the welcome, ten +extraction-radio lines, and 26 soldier lines. They need no speech service, +credentials, HTTP downloads, or PCM reconstruction during play. Recordings use +the existing Algenib voice, with their scripts and hashes in +[`bundled-speech.json`](bundled-speech.json) and +[`bundled-speech-assets.json`](bundled-speech-assets.json). Their combined PCM +source size is about 6.9 MB. Event-specific wording still requires the appropriate +gameplay event; the bank does not manufacture contact, rescue, or weather facts. + +An administrator can explicitly opt into a live welcome using **TTS → Test & +enable**. **Disable live TTS** restores the bundled welcome source. +**TTS → Prerecorded speech → On / Off** controls all bundled welcome, soldier, +and extraction recordings for everyone. It defaults to On, saves immediately as +`voice.recordingsEnabled`, survives restarts, and stops bundled audio already +playing when switched Off. Text announcements remain visible. The optional live +welcome has its own setting. The `voice.bundledSpeech` +preference defaults to true, including for existing configurations without that +field. Live bridge credentials alone do not disable the bundled default. + +The optional dynamic briefing names the **loaded terrain**, not a saved next-round choice, and says the escape was generated for it. It reports the game's current weather and its next known weather state when different. It gives no invented time or forecast for an unknown custom weather state. The server checks for changes once @@ -83,6 +103,26 @@ The existing `/welcome.b64` and `/welcome.wav` endpoints remain supported. recording to the new voice, regenerate it once. Dynamic cache entries include the text, voice, model, prompt and endpoint in their identity. +Speech downloads use sequential `?part=N` requests on the `.b64` URL. Each +response contains at most 256 KiB of encoded audio plus a small JSON envelope +(`offset`, `total`, `data`), below the engine's REST response limit. The client +checks part order, exact sizes and a consistent total, then runs the existing +bounded WAV preparation. Audio bytes, quality and duration are unchanged; old +cached clips need no regeneration. At most eleven parts can form a 2 MiB WAV. +An invalid part or failed request cancels the transfer without playing partial +audio. The original full-download URLs remain available for older clients. + +Deploy the updated helper before the addon containing the chunked downloader. +Restart only the speech helper to activate its new endpoint. The addon update +is still required on the mission and clients; updating the helper alone does not +fix an older client's oversized downloads. Existing external speech helpers must +implement the same part response protocol. + +The opt-in native `speech-download` fixture uses an explicit loopback +`--speech-probe-url`, real REST callbacks, queued decoding and a native playback +handle. Compare its `speech-downloaded.wav` with the served clip for exact byte +integrity. It does not prove audible multiplayer playback. + ## Enable the dynamic briefing Log in as administrator, open the mission menu from Escape, and select **TTS**. @@ -127,20 +167,16 @@ Alternatively, edit only the `voice` section of the dedicated server's } ``` -The saved service is verified at mission startup before replacing `welcomeUrl`. -Restart after installing the -updated mod and speech helper. Merely republishing the mod does not upgrade an -already-running external helper or give it Google credentials. If the bridge -fails, the game keeps the original `welcomeUrl` recording, if configured, and -shows the failure in the TTS page. With no original recording it remains silent. -An unavailable service does not block gameplay. Startup verification may delay -the optional welcome while the request is pending (up to 100 seconds). +Bundled playback starts immediately once the normal welcome readiness checks +pass. A saved explicit live preference (`bundledSpeech: false`) verifies its +service at startup; unavailable live speech falls back to the generic bundled +welcome. The admin test saves the live preference only after verification. +Disable keeps the bridge address/token but saves the bundled preference. -For the old fixed recording, leave the bridge fields absent/empty and keep -`welcomeUrl` pointing at a public `.b64` clip. It gains the connection-scoped -playback fix, but its spoken terrain/weather cannot change. Unconfigured TTS makes -no requests and leaves this behavior unchanged. For compatibility, existing -complete bridge settings without `ttsEnabled` are treated as enabled. +Installing the addon supplies the recordings to every player. The external +helper is needed only for optional live speech and its admin preview. Legacy +`welcomeUrl` settings are preserved in the profile; the generic bundled welcome +is now the default and failure fallback. Mission code can use the server-only `mode.ERR_Speech().Request(text, receiver)` entry point after verification. It returns false when unavailable, busy, or @@ -269,31 +305,25 @@ contact/engaging events with a confirmed visible count or observed approach. Other detailed orders and radio transmissions stay native. There are no generic HQ announcements. Calm groups can now have the short exchanges described below. -A supported callout near a living player prepares its TTS line if the verified -bridge is idle. New preparations are spaced at least 65 seconds apart to respect -the bridge's synthesis limit. The first occurrences therefore remain native; -the generated vocabulary fills gradually as those events occur. Server and -bridge caches reuse repeated text. Subsequent calls advertise the prepared -clip to nearby clients, which download, validate and prepare a spatial graph. +A supported callout near a living player selects its bundled recording. Nearby +clients initialize its native spatial graph without synthesis or downloading. The server replaces a call only after **every nearby living player** has acknowledged readiness for that exact clip in the current mission. Otherwise -the entire allowed native call uses normal native audio. Covert calls are silent -including their stock fallback; added conversations wait for prepared clips. -No player request can start synthesis. +the allowed call uses native audio. Covert calls remain silent, including their +stock fallback; conversations still require both sides to be ready. Unknown +callout types and radio transmissions remain native. -Generated direct speech uses `AudioSystem.PlayEvent` with a runtime audio graph -and the soldier's transform. Playback follows the soldier near head height, -stops on death or loss of a nearby living listener, and has an 80 metre delivery -limit and twelve second lifetime. Up to eight actors can speak concurrently. -Generated clips are not transmitted as native VoN audio, and this version does -not reproduce native radio filtering or all environmental occlusion. It must -not be described as full native voice replacement. TTS credentials remain on -the server; clients receive only public clip URLs and speaker replication IDs. -Unconfigured/disabled TTS leaves native soldier speech and the welcome unchanged. +Direct speech uses `AudioSystem.PlayEvent` at the soldier's transform. Playback +follows the soldier near head height, stops on death or loss of a nearby living +listener, and keeps the existing 80 metre delivery limit, twelve second lifetime +and eight simultaneous actor limit. These are local audio graphs, not native +VoN transmission, and are not a full replacement for native radio filtering or +all environmental occlusion. Disabling the optional live TTS service does not +disable bundled speech. Verification: production policy tests cover all-client readiness, fallback, actual-event mapping, radio exclusion, range, unavailable service, changed URL -and preparation failure. A hidden client using a null audio sink prepared the +and preparation failure. Earlier live-download validation: a hidden client using a null audio sink prepared the production runtime graph and recorded the existing Google WAV with strong left and right separation at five metres. Playback at 500 metres returned an invalid handle and the recording was silent after the preceding clip finished. The @@ -307,14 +337,14 @@ historical. It proves radio recipient routing, not native soldier voice playback ## Context and conversations (5 October follow-up) -When optional TTS is verified and enabled, the comms handler suppresses direct +The comms handler suppresses direct and radio callouts while an alerted group has not opened fire or come under fire. This is a conservative proxy for being discovered, not a claim to know what a player has noticed. Own projectile events and incoming bullet impacts or flybys permit combat calls for 20 seconds; mere sightings, aiming and distant gunshots do not. Recent perceived enemies keep casual chatter suppressed for at least 60 seconds after the last threat observation. Disabling/unconfiguring -TTS preserves native speech; this feature does not change combat decisions. +Missing bundled clips preserve allowed native speech; this feature does not change combat decisions. Reports count distinct currently visible, living enemy characters in the speaker's own native perception, without enumerating players or inspecting @@ -336,7 +366,7 @@ can take several eligible encounters to become audible. This is contextual scripted dialogue voiced by Google TTS, not an LLM generating conversations. Validation for this follow-up: production-method regression harnesses cover -stealth fallback, disabled settings, count/motion sampling, two-clip readiness, +stealth fallback, offline bundled playback, count/motion sampling, two-clip readiness, reply cancellation and cooldowns. The complete mod compiled and loaded in the isolated Nogova dedicated fixture without script errors. No live server restart, Workshop publication or end-to-end multiplayer conversation test was performed. diff --git a/tests/test_bundled_speech.py b/tests/test_bundled_speech.py new file mode 100644 index 0000000..20bab9e --- /dev/null +++ b/tests/test_bundled_speech.py @@ -0,0 +1,41 @@ +"""Check the complete authored voice bank and its offline default routing.""" +import hashlib +import json +from pathlib import Path +import re +import sys + +ROOT = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(ROOT / 'tools')) +from welcome_voice import validate_wav +from source_bundle import build + +manifest = json.loads((ROOT / 'docs/bundled-speech.json').read_text()) +assets = json.loads((ROOT / 'docs/bundled-speech-assets.json').read_text()) +assert len(manifest['clips']) == len(assets['clips']) == 37 +soldiers = (ROOT / 'addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeech.c').read_text() +expected = dict(re.findall(r'case ([\w.]+): return "([^"]+)";', soldiers)) +assert {c['kind']: c['text'] for c in manifest['clips'] if c['category'] == 'soldier'} == expected +extraction = (ROOT / 'addons/core/Scripts/Game/ERR/00_Core/ERR_ExtractionService.c').read_text() +radio = set(re.findall(r'Stage\(\d+, "([^"]+)"\)', extraction) + re.findall(r'inbound = "([^"]+)"', extraction)) +assert {c['text'] for c in manifest['clips'] if c['category'] == 'radio'} == radio +catalog = (ROOT / 'addons/core/Scripts/Game/ERR/00_Core/ERR_BakedSpeech.c').read_text() +for clip in assets['clips']: + path = ROOT / 'addons/core/Sounds/ERR/Speech' / (clip['id'] + '.wav') + audio = validate_wav(path.read_bytes()) + assert hashlib.sha256(audio).hexdigest() == clip['sha256'] + graph = path.with_suffix('.acp').read_text() + assert ('spatialFactor 1' in graph) == (clip['category'] == 'soldier') + assert 'name "ERR_SPEECH"' in graph and '"Infinite loop" 0' in graph + assert clip['graph'] in catalog + assert f'case "baked:{clip["id"]}":' in catalog + for resource in (path, path.with_suffix('.acp')): + meta = resource.with_name(resource.name + '.meta').read_text() + assert resource.relative_to(ROOT / 'addons/core').as_posix() in meta + assert all(f' {platform}' in meta for platform in ('PC', 'XBOX_SERIES', 'PS5', 'HEADLESS')) +_, bundle = build(ROOT) +files = bundle['files'] +for clip in assets['clips']: + for suffix in ('.wav', '.wav.meta', '.acp', '.acp.meta'): + assert 'addons/core/Sounds/ERR/Speech/' + clip['id'] + suffix in files +print('PASS: all 37 fixed messages have validated exact audio, native graph identities and source-bundle inclusion') diff --git a/tests/test_soldier_speech.py b/tests/test_soldier_speech.py index 7366b6d..75c90da 100644 --- a/tests/test_soldier_speech.py +++ b/tests/test_soldier_speech.py @@ -6,6 +6,7 @@ rules=body(p,'static string Text(')+body(p,'static bool Near(') names=re.findall(r'case ECommunicationType\.(\w+)',rules) rules=rules.replace('ECommunicationType.','ECommunicationType::') s='\n'.join(body(p,x) for x in ['bool Current()', 'void Prepared(', 'bool Speak(', 'bool ReadyClip(', 'bool Clip(']) +s=s.replace('ERR_BakedSpeech.', 'ERR_BakedSpeech::') s=s.replace('out string url','string& url').replace('array listeners,','Array listeners,') s=s.replace('protected ','').replace('null','nullptr').replace('ref ','') for typ in ['IEntity','SCR_AITalkRequest','VoNComponent','RplComponent','SCR_PlayerController','ERR_SpeechService']: @@ -34,6 +35,7 @@ namespace ECommunicationType{enum{'''+','.join(names)+r''',REPORT_CONTACT=100,RE struct ERR_SoldierSpeechRules{ '''+rules+r''' }; +bool baked=false;struct ERR_BakedSpeech{static string Soldier(int kind){return baked&&!ERR_SoldierSpeechRules::Text(kind).IsEmpty()?"baked:line":"";}}; namespace ECommMethod{enum{DIRECT,RADIO};} struct VoNComponent{int method=ECommMethod::DIRECT;int GetCommMethod(){return method;}}; struct SCR_AITalkRequest{int m_eCommType=ECommunicationType::REPORT_MOVING;}; @@ -43,7 +45,7 @@ namespace ERR_Actors{bool CanFight(IEntity*a){return a&&a->fit;}bool Player(IEnt float Distance(float a,float b){return std::abs(a-b);} struct ERR_SoldierSpeechPreparation{void*Server=nullptr;int Kind=0;}; struct ERR_SpeechService{bool ready=true,idle=true,accept=true;int requests=0;string endpoint="bridge",text;bool Ready(){return ready;}string CacheNamespace(){return endpoint;}bool IdleFor(float n){assert(n==65000);return idle;}bool Request(string t,ERR_SoldierSpeechPreparation*){requests++;text=t;return accept;}}; -struct ERR_GameMode{static ERR_GameMode*live;bool active=true;ERR_SpeechService voice;bool Active(){return active;}auto ERR_Speech(){return &voice;}static auto Get(){return live;}};ERR_GameMode*ERR_GameMode::live=nullptr; +struct ERR_GameMode{static ERR_GameMode*live;bool active=true,recordings=true;bool ERR_RecordingsEnabled(){return recordings;}ERR_SpeechService voice;bool Active(){return active;}auto ERR_Speech(){return &voice;}static auto Get(){return live;}};ERR_GameMode*ERR_GameMode::live=nullptr; struct SCR_PlayerController{IEntity*body=nullptr;bool ready=false;int preparations=0,delivered=0;IEntity*GetControlledEntity(){return body;}bool ERR_SoldierClipReady(ERR_GameMode*,int,string){return ready;}void ERR_PrepareSoldierClip(int,string){preparations++;}void ERR_DeliverSoldierLine(int,string,int){delivered++;}}; struct Manager{Arraycontrollers;void GetPlayers(Array&ids){for(int i=0;i::quiet_NaN())); assert(ERR_SoldierSpeechRules::Text(100).IsEmpty()); {Fixture f;assert(!f.Speak()&&f.mode.voice.requests==1);assert(!f.Speak()&&f.mode.voice.requests==1);f.Prepared();assert(!f.Speak()&&f.c1.preparations==1&&f.c2.preparations==1);f.c1.ready=true;assert(!f.Speak()&&!f.c1.delivered&&!f.c2.delivered);f.c2.ready=true;assert(f.Speak()&&f.c1.delivered==1&&f.c2.delivered==1);assert(f.server.Clip(f.request.m_eCommType,"clip")&&!f.server.Clip(f.request.m_eCommType,"other"));} diff --git a/tests/test_speech_menu.py b/tests/test_speech_menu.py index 86b8ad2..fbe8d3a 100644 --- a/tests/test_speech_menu.py +++ b/tests/test_speech_menu.py @@ -5,7 +5,7 @@ p = ROOT / 'addons/core/Scripts/Game/ERR/00_Core/ERR_SpeechMenu.c' src = p.read_text() layout = (ROOT / 'addons/core/UI/layouts/ERR/AdminMenu.layout').read_text() menu = ROOT / 'addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c' -for name in ('OpenTTS', 'TTSPage', 'TTSEndpoint', 'TTSToken', 'TTSTest', 'TTSDisable', 'TTSPasteEndpoint', 'TTSPasteToken', 'TTSStatus', 'TTSTokenStatus', 'TTSSelectionState'): +for name in ('OpenTTS', 'TTSPage', 'TTSEndpoint', 'TTSToken', 'TTSTest', 'TTSDisable', 'TTSPasteEndpoint', 'TTSPasteToken', 'TTSStatus', 'TTSTokenStatus', 'TTSSelectionState', 'RecordingsOn', 'RecordingsOff', 'RecordingsLabel'): assert f'Name "{name}"' in layout, name assert '"TTSPage"' in body(menu, 'static array Pages(') assert '"OpenTTS"' in body(menu, 'static array Navigation(') @@ -24,9 +24,10 @@ run(r''' #include struct string:std::string {using std::string::string;int Length(){return size();}}; float clockNow=1000; -struct ERR_SpeechService {int tests=0,disables=0;string endpoint,secret; +struct ERR_SpeechService {int tests=0,disables=0,recordingChanges=0;bool recordings=true;string endpoint,secret; void TestAndEnable(void*,string e,string s){tests++;endpoint=e;secret=s;} void Disable(void*){disables++;} + void SetRecordings(void*,bool value){recordingChanges++;recordings=value;} }; struct Session {bool authorized=true;int replies=0;float m_LastRequest=0;ERR_SpeechService* serviceValue; bool Authorize(){return authorized;}void SpeechReply(string){replies++;} @@ -41,6 +42,9 @@ int main(){ session.Speech(1,"","");assert(!service.disables); clockNow+=250;session.Speech(1,"","");assert(service.disables==1); clockNow+=250;session.Speech(8,"","");assert(service.tests==1&&service.disables==1); + clockNow+=250;session.authorized=false;session.Speech(3,"","");assert(service.recordings&&!service.recordingChanges); + session.authorized=true;session.Speech(3,"","");assert(!service.recordings&&service.recordingChanges==1); + clockNow+=250;session.Speech(2,"","");assert(service.recordings&&service.recordingChanges==2); clockNow+=250;session.serviceValue=nullptr;session.Speech(0,"","");assert(session.replies==1); } ''') diff --git a/tests/test_speech_preparation.py b/tests/test_speech_preparation.py index 3c56671..9990bde 100644 --- a/tests/test_speech_preparation.py +++ b/tests/test_speech_preparation.py @@ -135,7 +135,7 @@ print('PASS: production incremental decoder preserves binary data, bounds each s def client_cpp(text): text = cpp(text) for old, new in [ - ('ERR_WelcomeVoiceRules.', 'Rules::'), ('ERR_GameMode.Get()', 'ERR_GameMode::Get()'), + ('ResourceName', 'string'), ('ERR_BakedSpeech.', 'ERR_BakedSpeech::'), ('ERR_WelcomeVoiceRules.', 'Rules::'), ('ERR_GameMode.Get()', 'ERR_GameMode::Get()'), ('FileIO.', 'FileIO::'), ('AudioSystem.', 'AudioSystem::'), ('AudioHandle.Invalid', 'AudioHandle::Invalid'), ('FileMode.', 'FileMode::'), ('RestContext context', 'RestContext* context'), @@ -154,7 +154,7 @@ def client_cpp(text): client_methods = '\n'.join(client_cpp(body(SOURCE, signature)) for signature in [ 'protected bool Current()', 'bool PreparingDownload()', 'void Tick(', - 'protected void Downloaded(', 'protected void CancelDownload()', + 'protected void BeginPreparation(', 'protected void CancelDownload()', 'bool PrepareDownload()', 'void Stop()', ]).replace('void Tick(', 'virtual void Tick(').replace('void Stop()', 'virtual void Stop()') soldier_source = ROOT / 'addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeech.c' @@ -175,16 +175,48 @@ connection = 'struct Connection { bool m_Attempted=false;' + '\n'.join( wav = b'RIFF' + (9992).to_bytes(4, 'little') + b'WAVE' + random.Random(71).randbytes(9988) wav64 = json.dumps(base64.b64encode(wav).decode()) expected = 'Array{' + ','.join(map(str, wav)) + '}' -run(PREAMBLE + decoder + connection + r''' +transfer = cpp(body(SOURCE, 'class ERR_VoiceTransfer')).replace('class ERR_VoiceTransfer', 'struct ERR_VoiceTransfer').replace('int m_Total;', 'int m_Total=0;') + ';' +run(PREAMBLE + transfer + r''' +int main(){ + for(int size:{60,262140,262144,262148,1600060,2796204}){ + ERR_VoiceTransfer transfer;string expected(size, 'A');int offset=0,requests=0; + while(offset').replace('GetWorld().','GetWorld()->') return s rules='struct ERR_SpeechRules {\n'+'\n'.join(adapt(body(p,s)) for s in ['static bool Endpoint(', 'static string Normalize(', 'static bool Token(', 'static bool Text('])+'\n};' -methods=['string StaticURL()', 'bool Ready()', 'bool Busy()', 'bool Current()', 'bool IdleFor(', +methods=['bool Bundled()', 'string StaticURL()', 'bool Ready()', 'bool Busy()', 'bool Current()', 'bool IdleFor(', 'void ERR_SpeechService(', 'void Snapshot(', 'protected bool Save(', - 'void Disable(', 'void TestAndEnable(', 'protected void Begin(', + 'void SetRecordings(', 'void Disable(', 'void TestAndEnable(', 'protected void Begin(', 'bool Request(', 'void Tick()', 'void Finished(', 'void Stop()'] code='\n'.join(adapt(body(p,s)) for s in methods).replace('void ERR_SpeechService(', 'void Init(') run(r''' @@ -44,6 +44,8 @@ struct JsonSaveContext {std::map data;void EnableTypeDiscriminato namespace ERR_ProfileConfig {string VOICE="voice";bool Load(string,JsonLoadContext*){return loadOK;}bool Save(string,JsonSaveContext* json){if(!saveOK)return false;saves++;saved=json->data;return true;} } namespace Replication {bool IsServer(){return server;}} struct ERR_GameMode {static ERR_GameMode* live;static ERR_GameMode* Get(){return live;}bool active=true;int restored=0,published=0;bool pending=false;string lastURL,lastText; + bool recordings=true;bool ERR_RecordingsEnabled(){return recordings;}void ERR_SetRecordingsEnabled(bool v){recordings=v;} + bool bundled=false;bool ERR_UsesBundledWelcome(){return bundled;} bool Active(){return active;}string ERR_CurrentWelcomeText(){return "Welcome to Nogova.";} void ERR_RestoreStaticWelcome(){restored++;pending=false;} void ERR_PublishWelcome(string url,string text){published++;lastURL=url;lastText=text;pending=false;} @@ -59,7 +61,7 @@ struct ERR_SpeechRequest {string Text,Endpoint,Token;bool Enable=false,Boot=fals }; struct ERR_SpeechService { ERR_GameMode* m_Mode=nullptr;string m_Endpoint,m_Token,m_StaticURL,m_Status="Not configured"; - bool m_Enabled=false,m_Ready=false,m_BootAttempted=false,m_Stopped=false; + bool m_Bundled=true;bool m_Enabled=false,m_Ready=false,m_BootAttempted=false,m_Stopped=false; ERR_SpeechRequest* m_Request=nullptr;float m_Deadline=0,m_LastTest=-60000,m_LastRequest=-5000; '''+code+r''' }; @@ -72,6 +74,7 @@ int main(){ ERR_GameMode mode;ERR_GameMode::live=&mode;ERR_AdminSession admin,other; profile={{"welcomeUrl","http://old/welcome.b64"}}; ERR_SpeechService service;service.Init(&mode);assert(service.StaticURL()=="http://old/welcome.b64");service.Tick();assert(starts==0&&saves==0&&!service.Ready()); + mode.bundled=true;int beforeStarts=starts;service.Tick();assert(service.Bundled()&&starts==beforeStarts&&!service.Busy());mode.bundled=false; ERR_SpeechReceiver receiver;assert(!service.Request("Hello",&receiver)); string secret="AbCdefghijklmnopqrstuvwxyz0123456789"; admin.valid=false;service.TestAndEnable(&admin,"https://speech/",secret);assert(starts==0);admin.valid=true; @@ -86,6 +89,7 @@ int main(){ admin.valid=false;service.Finished(first,"https://speech/clip");assert(saves==0&&!service.Ready());admin.valid=true; game.now+=60001;service.TestAndEnable(&admin,"https://speech/",secret);first=service.m_Request; service.Finished(first,"https://speech/clip");assert(saves==1&&service.Ready()&&admin.previews==1&&mode.published==1); + assert(!service.Bundled()&&saved["bundledSpeech"]=="false"); assert(saved["briefingToken"]==secret&&saved["welcomeUrl"]=="http://old/welcome.b64"&&saved["ttsEnabled"]=="true"); Array snapshot;service.Snapshot(&snapshot);for(string line:snapshot)assert(line.find(secret)==string::npos); game.now+=60001;service.TestAndEnable(&admin,"https://other/", "");assert(!service.Busy()&&saves==1); @@ -94,8 +98,9 @@ int main(){ game.now+=60001;service.TestAndEnable(&admin,"https://speech/", "");first=service.m_Request; service.Disable(&other);assert(!service.Ready()&&!service.Busy()&&first->cancelled&&saved["ttsEnabled"]=="false"); service.Finished(first,"https://speech/late");assert(!service.Ready()&&admin.previews==1); // late success cannot re-enable + assert(service.Bundled()&&saved["bundledSpeech"]=="true"); profile=saved;ERR_SpeechService disabled;disabled.Init(&mode);disabled.Tick();assert(!disabled.Ready()&&!disabled.Busy()); - profile["ttsEnabled"]="true";ERR_SpeechService boot;boot.Init(&mode);int previous=starts;http=false;boot.Tick();assert(starts==previous);http=true; + profile["ttsEnabled"]="true";profile["bundledSpeech"]="false";ERR_SpeechService boot;boot.Init(&mode);int previous=starts;http=false;boot.Tick();assert(starts==previous);http=true; boot.Tick();assert(boot.Busy()&&mode.pending);first=boot.m_Request;assert(first->Boot); boot.Finished(first,"https://speech/cached");assert(boot.Ready()&&!mode.pending&&saves==2); assert(!boot.IdleFor(65000));game.now+=65000;assert(boot.IdleFor(65000)); @@ -106,6 +111,16 @@ int main(){ boot.Finished(first,"https://speech/late");assert(receiver.completed==1&&boot.Ready()); ERR_SpeechService badBoot;badBoot.Init(&mode);badBoot.Tick();assert(badBoot.Busy()); badBoot.Finished(badBoot.m_Request,"");assert(!badBoot.Ready()&&!badBoot.Busy()); + // A recordings toggle preserves live preferences and credentials, and commits only on successful save. + assert(mode.recordings);int beforeSaves=saves; + admin.valid=false;boot.SetRecordings(&admin,false);assert(mode.recordings&&saves==beforeSaves);admin.valid=true; + saveOK=false;boot.SetRecordings(&admin,false);assert(mode.recordings&&saves==beforeSaves);saveOK=true; + boot.SetRecordings(&admin,false);assert(!mode.recordings&&saved["recordingsEnabled"]=="false"&&saved["bundledSpeech"]=="false"&&saved["ttsEnabled"]=="true"&&saved["briefingToken"]==secret); + Array muted;boot.Snapshot(&muted);bool found=false;for(string line:muted)if(line=="recordingsEnabled=0")found=true;assert(found); + profile=saved;ERR_SpeechService reload;reload.Init(&mode);assert(!mode.recordings); + reload.Disable(&admin);assert(!mode.recordings&&saved["recordingsEnabled"]=="false"); + reload.SetRecordings(&admin,true);assert(mode.recordings&&saved["recordingsEnabled"]=="true"&&saved["bundledSpeech"]=="true"); + profile.erase("recordingsEnabled");mode.recordings=false;ERR_SpeechService legacy;legacy.Init(&mode);assert(mode.recordings); boot.Stop();assert(!boot.Current()&&!boot.IdleFor(0)); } ''') diff --git a/tests/test_welcome_identity.py b/tests/test_welcome_identity.py index 6adf574..0db0cac 100644 --- a/tests/test_welcome_identity.py +++ b/tests/test_welcome_identity.py @@ -24,7 +24,7 @@ struct ERR_GameMode {bool active=true,pending=false;std::string url="clip";Roste bool Active(){return active;}bool ERR_WelcomePending(){return pending;}std::string ERR_WelcomeVoiceURL(){return url;}Roster* Players(){return &roster;}}; ERR_GameMode* ERR_GameMode::current; namespace Replication {bool server=true;bool IsServer(){return server;}} -struct ERR_WelcomeVoiceRules {static bool URL(std::string s){return !s.empty();}}; +struct ERR_WelcomeVoiceRules {static bool Source(std::string s){return !s.empty();}}; struct Game {Controller* owner=nullptr;Controller* canonical=nullptr;float now=1000;Ledger ledger;Controller* GetPlayerController(){return owner;} Game* GetWorld(){return this;}Game* GetPlayerManager(){return this;}float GetWorldTime(){return now;}Controller* GetPlayerController(int){return canonical;} bool ERR_ClaimWelcomeIdentity(UUID id){return ledger.Claim(id);}} game; diff --git a/tests/test_welcome_lifecycle.py b/tests/test_welcome_lifecycle.py index 54c127d..ad38fc0 100644 --- a/tests/test_welcome_lifecycle.py +++ b/tests/test_welcome_lifecycle.py @@ -4,10 +4,10 @@ p = ROOT/'addons/core/Scripts/Game/ERR/00_Core/ERR_WelcomeVoice.c' url = body(p, 'static bool URL(') connection = 'class Connection { bool m_Attempted=false; public: ' + '\n'.join(body(p,s) for s in ['void MainMenu()', 'bool Claim()', 'bool Attempted()']) + '};' tick = body(p, 'void Tick(') -for old,new in [('m_Connection.', 'm_Connection->'), ('m_Callback.', 'm_Callback->'), +for old,new in [('m_Mode.', 'm_Mode->'), ('m_Connection.', 'm_Connection->'), ('m_Callback.', 'm_Callback->'), ('context.', 'context->'), ('RestContext context', 'RestContext* context'), ('GetGame().GetRestApi().GetContext', 'game.api.GetContext'), - ('null', 'nullptr'), ('ERR_WelcomeVoiceRules.URL', 'Rules::URL'), ('ERR_WelcomeVoiceRules.HTTPReady', 'Rules::HTTPReady'), + ('null', 'nullptr'), ('ERR_WelcomeVoiceRules.URL', 'Rules::URL'), ('ERR_WelcomeVoiceRules.HTTPReady', 'Rules::HTTPReady'), ('ERR_WelcomeVoiceRules.Source', 'Rules::Source'), ('ERR_BakedSpeech.Graph', 'ERR_BakedSpeech::Graph'), ('ResourceName', 'string'), ('FileIO.DeleteFile', 'FileIO::DeleteFile'), ('LogLevel.WARNING','0')]: tick=tick.replace(old,new) run(r''' @@ -17,8 +17,10 @@ struct string:std::string { using std::string::string; string(std::string s):std bool IsEmpty(){return empty();} int Length(){return size();} int IndexOf(string s){auto p=find(s);return p==npos?-1:int(p);} }; +struct ERR_BakedSpeech { static string Graph(string value){return value=="baked:welcome"?"bundled.acp":"";} }; +struct Mode {bool enabled=true;bool ERR_RecordingsEnabled(){return enabled;}} mode; bool httpReady=true; -struct Rules { static bool HTTPReady(){return httpReady;} '''+url+r''' }; +struct Rules { static bool HTTPReady(){return httpReady;} static bool Source(string value){return URL(value)||!ERR_BakedSpeech::Graph(value).IsEmpty();} '''+url+r''' }; '''+connection+r''' struct RestCallback { void SetOnSuccess(int){} void SetOnError(int){} }; int requests=0; @@ -27,7 +29,11 @@ struct Api { RestContext* GetContext(string){return &context;} }; struct Game { Api api; } game; struct FileIO { static void DeleteFile(string){} }; void Print(string,int=0){} +struct ERR_VoiceTransfer {}; struct Client { + ERR_VoiceTransfer* m_Transfer=nullptr; string m_DownloadURL,m_BakedGraph; + void RequestPart(){requests++;} + Mode* m_Mode=&mode;void Stop(){m_Stopped=true;m_Downloaded=false;} Connection* m_Connection; bool m_Stopped=false,m_Downloaded=false,m_Started=false,current=true; float m_Wait=0; string m_Path,m_Text; RestCallback* m_Callback=nullptr; int Downloaded=0,Failed=0,plays=0; Client(Connection* c):m_Connection(c){} ~Client(){delete m_Callback;} @@ -35,6 +41,16 @@ struct Client { '''+tick+r''' }; int main(){ + Connection mutedConnection;Client muted(&mutedConnection);mode.enabled=false; + muted.Tick(60,true,"baked:welcome","");assert(!mutedConnection.Attempted()&&!muted.m_Downloaded&&requests==0); + mode.enabled=true;muted.Tick(3,true,"baked:welcome","");assert(muted.m_Downloaded); + mode.enabled=false;muted.Tick(1,true,"baked:welcome","");assert(muted.m_Stopped&&muted.plays==0); + Connection liveConnection;Client live(&liveConnection);live.Tick(3,true,"http://voice/clip","");assert(requests==1);requests=0; + mode.enabled=true; + Connection local;Client baked(&local);httpReady=false;int before=requests; + baked.Tick(3,true,"baked:welcome","Generic welcome");assert(requests==before&&baked.m_Downloaded); + baked.Tick(1,false,"baked:welcome","");assert(baked.plays==0); + baked.Tick(1,true,"baked:welcome","");assert(baked.plays==1&&requests==before);httpReady=true; Connection connection; Client first(&connection); httpReady=false; first.Tick(60,true,"http://voice/clip", ""); assert(requests==0 && !connection.Attempted()); httpReady=true; diff --git a/tests/test_welcome_voice.py b/tests/test_welcome_voice.py index 9fa0d58..ea7756a 100644 --- a/tests/test_welcome_voice.py +++ b/tests/test_welcome_voice.py @@ -87,6 +87,63 @@ class Session: class WelcomeTests(unittest.TestCase): + def test_large_cached_audio_downloads_in_bounded_parts(self): + # A 25-second Google-format clip exceeds Enfusion's single-response + # ceiling. Existing disk caches must work without another synthesis. + output = io.BytesIO() + with wave.open(output, 'wb') as wav: + wav.setnchannels(1) + wav.setsampwidth(2) + wav.setframerate(24000) + wav.writeframes(random.Random(53).randbytes(25 * 24000 * 2)) + audio = output.getvalue() + encoded = base64.b64encode(audio) + self.assertGreater(len(encoded), 1024 * 1024) + with tempfile.TemporaryDirectory() as directory: + def forbidden(text): + self.fail('GET must never generate speech') + cache = tool.BriefingCache(directory, 'x'*40, forbidden, 'transport-test') + key = 'a'*64 + tool.save_clip(Path(directory)/(key + '.wav'), audio) + server = tool.ThreadingHTTPServer(('127.0.0.1', 0), tool.handler_for(audio, cache)) + worker = threading.Thread(target=server.serve_forever, daemon=True) + worker.start() + connection = http.client.HTTPConnection(*server.server_address, timeout=3) + try: + for path in ('/welcome.b64', '/clips/' + key + '.b64'): + chunks = [] + for part, offset in enumerate(range(0, len(encoded), tool.VOICE_CHUNK)): + connection.request('GET', path + '?part=' + str(part)) + response = connection.getresponse() + payload = response.read() + self.assertEqual(response.status, 200) + self.assertEqual(int(response.getheader('Content-Length')), len(payload)) + self.assertLessEqual(len(payload), 262272) + data = json.loads(payload) + self.assertEqual(data['offset'], offset) + self.assertEqual(data['total'], len(encoded)) + chunks.append(data['data'].encode()) + self.assertEqual(base64.b64decode(b''.join(chunks)), audio) + # Legacy clients still receive the original, unmodified clip. + connection.request('GET', path) + response = connection.getresponse() + self.assertEqual(response.read(), encoded) + for path, status in [('/welcome.b64?part=99', 416), + ('/welcome.b64?part=-1', 400), + ('/welcome.b64?part=0&part=1', 400), + ('/welcome.wav?part=0', 400), + ('/welcome.b64?part=10000000', 400)]: + connection.request('GET', path) + response = connection.getresponse() + response.read() + self.assertEqual(response.status, status) + self.assertEqual(cache.read(key), audio) + finally: + connection.close() + server.shutdown() + server.server_close() + worker.join(timeout=3) + def test_bounded_http_request_framing(self): read = tool.read_request_body self.assertEqual(read({'Content-Length': '2'}, io.BytesIO(b'{}')), b'{}') diff --git a/tools/build_bundled_speech.py b/tools/build_bundled_speech.py new file mode 100644 index 0000000..d9b9449 --- /dev/null +++ b/tools/build_bundled_speech.py @@ -0,0 +1,84 @@ +#!/usr/bin/env python3 +"""Register generated speech WAVs, native graphs and their exact allowlist.""" +import argparse +import hashlib +import json +from pathlib import Path +import re +import shutil + +from welcome_voice import validate_wav + +ROOT = Path(__file__).resolve().parents[1] +SOUNDS = 'Sounds/ERR/Speech/' + + +def guid(path): + return hashlib.sha256(('ERR bundled speech v1:' + path).encode()).hexdigest()[:16].upper() + + +def resource(path): + return '{' + guid(path) + '}' + path + + +def metadata(path, kind): + # Sound import defaults use the engine's per-platform resource settings. + text = 'MetaFileClass {\n Name "' + resource(path) + '"\n Configurations {\n' + for platform in ('PC', 'XBOX_ONE', 'XBOX_SERIES', 'PS4', 'PS5', 'HEADLESS'): + parent = '' if platform == 'PC' else ' : PC' + text += f' {kind} {platform}{parent} {{\n }}\n' + return text + ' }\n}\n' + + +def build(source, root=ROOT): + manifest = json.loads((root / 'docs/bundled-speech.json').read_text()) + graph_source = (root / 'addons/core/Scripts/Game/ERR/10_AI/ERR_SoldierSpeechAudio.c').read_text() + graph = ''.join(json.loads('"' + value + '"') for value in re.findall(r'graph \+= "((?:[^"\\]|\\.)*)";', graph_source)) + assert graph.count('%1') == 1 and 'spatialFactor 1' in graph + target = root / 'addons/core' / SOUNDS + target.mkdir(parents=True, exist_ok=True) + report = [] + for clip in manifest['clips']: + name = clip['id'] + audio = validate_wav((source / (name + '.wav')).read_bytes()) + record = json.loads((source / (name + '.json')).read_text()) + assert hashlib.sha256(audio).hexdigest() == record['sha256'] + wav = SOUNDS + name + '.wav' + acp = SOUNDS + name + '.acp' + shutil.copyfile(source / (name + '.wav'), root / 'addons/core' / wav) + (root / 'addons/core' / (wav + '.meta')).write_text(metadata(wav, 'WAVResourceClass')) + rendered = graph.replace('%1', resource(wav)) + if clip['category'] != 'soldier': + rendered = rendered.replace('spatialFactor 1', 'spatialFactor 0') + (root / 'addons/core' / acp).write_text(rendered + '\n') + (root / 'addons/core' / (acp + '.meta')).write_text(metadata(acp, 'AudioProjectResourceClass')) + report.append({**clip, 'sha256': record['sha256'], 'bytes': len(audio), 'graph': resource(acp)}) + script = ['// Generated by tools/build_bundled_speech.py from docs/bundled-speech.json.', + '// Only these packaged graphs are accepted as local speech sources.', + 'class ERR_BakedSpeech', '{', + ' static array Sources() { return {' + ', '.join(json.dumps('baked:' + c['id']) for c in report) + '}; }', + ' static string Welcome() { return "baked:welcome"; }', + ' static string WelcomeText() { return ' + json.dumps(manifest['clips'][0]['text']) + '; }', + ' static ResourceName Graph(string source)', ' {', ' switch (source)', ' {'] + for clip in report: + script.append(' case "baked:' + clip['id'] + '": return "' + clip['graph'] + '";') + script += [' }', ' return "";', ' }', + ' static string Soldier(int kind)', ' {', ' switch (kind)', ' {'] + for clip in report: + if clip['category'] == 'soldier': + script.append(' case ' + clip['kind'] + ': return "baked:' + clip['id'] + '";') + script += [' }', ' return "";', ' }', + ' static string Radio(string text)', ' {', ' switch (text)', ' {'] + for clip in report: + if clip['category'] == 'radio': + script.append(' case ' + json.dumps(clip['text']) + ': return "baked:' + clip['id'] + '";') + script += [' }', ' return "";', ' }', '}'] + (root / 'addons/core/Scripts/Game/ERR/00_Core/ERR_BakedSpeech.c').write_text('\n'.join(script) + '\n') + (root / 'docs/bundled-speech-assets.json').write_text(json.dumps({'voice': manifest['voice'], 'clips': report}, indent=2) + '\n') + print(f'Registered {len(report)} speech clips ({sum(c["bytes"] for c in report)} PCM bytes).') + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('source', type=Path) + build(parser.parse_args().source) diff --git a/tools/check.py b/tools/check.py index ca9a888..7c0ac3b 100644 --- a/tools/check.py +++ b/tools/check.py @@ -31,6 +31,7 @@ def check(): subprocess.run([sys.executable,str(ROOT/'tests/test_item_station_lifecycle.py')],check=True) subprocess.run([sys.executable,str(ROOT/'tests/test_profile_config.py')],check=True) subprocess.run([sys.executable,str(ROOT/'tests/test_welcome_voice.py')],check=True) + subprocess.run([sys.executable,str(ROOT/'tests/test_bundled_speech.py')],check=True) subprocess.run([sys.executable,str(ROOT/'tests/test_speech_preparation.py')],check=True) subprocess.run([sys.executable,str(ROOT/'tests/test_welcome_lifecycle.py')],check=True) subprocess.run([sys.executable,str(ROOT/'tests/test_welcome_identity.py')],check=True) @@ -43,6 +44,7 @@ def check(): subprocess.run([sys.executable,str(ROOT/'tests/test_speech_service.py')],check=True) subprocess.run([sys.executable,str(ROOT/'tests/test_speech_menu.py')],check=True) print(f'PASS: {check_prefabs((ROOT/"addons").rglob("*.et"))} prefabs have unique saved root entity IDs') + subprocess.run([sys.executable,str(ROOT/'tests/test_atlas_markers.py')],check=True) subprocess.run([sys.executable,str(ROOT/'tests/test_objective_map_presentation.py')],check=True) subprocess.run([sys.executable,str(ROOT/'tests/test_objective_map_element.py')],check=True) subprocess.run([sys.executable,str(ROOT/'tests/test_native_objective_map_probe.py')],check=True) @@ -96,7 +98,7 @@ def check(): assert set(ALLOWED) <= visibility['core'], 'Combined addon requires the authorized external closure' vanilla=json.loads((ROOT/'docs/vanilla-resources.json').read_text()) for p in (ROOT/'addons').rglob('*'): - if not p.is_file() or p.suffix not in ['.c','.et','.conf','.ent','.layer','.layout','.emat','.bt']:continue + if not p.is_file() or p.suffix not in ['.c','.et','.conf','.ent','.layer','.layout','.emat','.bt','.acp']:continue s=p.read_text() assert not re.search(r'\b(?:ESCT\w*|SCRTC_\w+|SCRT_\w+|EAI_\w+)\b',s),f'Original ecosystem dependency: {p}' for g,path in hard_resource_references(p.relative_to(ROOT).as_posix(),s): @@ -104,7 +106,7 @@ def check(): if g in owners: addon=p.relative_to(ROOT/'addons').parts[0] assert owners[g] in visibility[addon],f'Resource outside declared dependency graph in {p}: {g} {path}' - if p.suffix in ['.et','.conf','.ent','.layout','.emat','.bt']: + if p.suffix in ['.et','.conf','.ent','.layout','.emat','.bt','.acp']: assert p.with_name(p.name+'.meta').exists(),f'Missing metadata: {p}' inventory=json.loads((ROOT/'docs/original-resource-inventory.json').read_text()) coverage=json.loads((ROOT/'docs/original-feature-coverage.json').read_text()) diff --git a/tools/generate_bundled_speech.py b/tools/generate_bundled_speech.py new file mode 100644 index 0000000..32708f7 --- /dev/null +++ b/tools/generate_bundled_speech.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +"""One-off speech asset generation on the credential-owning speech host. + +Resumes completed files and reuses the live helper's existing cache. It never +changes that cache, credentials, mission config or the running helper. +""" +import argparse +import hashlib +import json +from pathlib import Path + +from welcome_voice import ENDPOINT, VETERAN_PROMPT, save_clip, synthesize, validate_wav + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--manifest', type=Path, required=True) + parser.add_argument('--output', type=Path, required=True) + parser.add_argument('--cache', type=Path) + parser.add_argument('--project') + args = parser.parse_args() + manifest = json.loads(args.manifest.read_text()) + voice, language = manifest['voice'], manifest['language'] + identity = [ENDPOINT, voice, language, '', VETERAN_PROMPT] + args.output.mkdir(parents=True, exist_ok=True) + report = [] + for entry in manifest['clips']: + name, text = entry['id'], entry['text'] + assert name.replace('_', '').isalnum() and 1 <= len(text) <= 800 + path = args.output / (name + '.wav') + marker = args.output / (name + '.json') + key = hashlib.sha256(json.dumps([identity, text], ensure_ascii=False).encode()).hexdigest() + origin = 'generated' + if path.exists() and marker.exists() and json.loads(marker.read_text())['cache_key'] == key: + audio = validate_wav(path.read_bytes()) + origin = 'resumed' + elif args.cache and (args.cache / (key + '.wav')).is_file(): + audio = validate_wav((args.cache / (key + '.wav')).read_bytes()) + origin = 'cached' + else: + import google.auth + from google.auth.transport.requests import AuthorizedSession + credentials, _ = google.auth.default( + scopes=['https://www.googleapis.com/auth/cloud-platform'], quota_project_id=args.project) + with AuthorizedSession(credentials, max_refresh_attempts=0) as session: + audio = synthesize(session, ENDPOINT, voice, language, text) + save_clip(path, audio) + record = {'id': name, 'cache_key': key, 'sha256': hashlib.sha256(audio).hexdigest(), + 'bytes': len(audio), 'origin': origin, 'voice': voice} + marker.write_text(json.dumps(record, indent=2) + '\n') + report.append(record) + print(f"{name}: {origin}, {len(audio)} bytes", flush=True) + (args.output / 'generation.json').write_text(json.dumps(report, indent=2) + '\n') + + +if __name__ == '__main__': + try: + main() + except Exception as exc: + # Provider exceptions can contain credentials/URLs; retain a fixed error. + raise SystemExit(f'Bundled speech generation failed ({type(exc).__name__}); completed assets retained.') from None diff --git a/tools/headless_workbench.py b/tools/headless_workbench.py index 6643560..1eac8dd 100644 --- a/tools/headless_workbench.py +++ b/tools/headless_workbench.py @@ -14,7 +14,8 @@ p.add_argument('--steam', type=Path, default=Path.home()/'.local/share/Steam') p.add_argument('--external-addons', type=Path, help='Installed RHS/WCS/BMP source root; expose only audited closure in a separate Chat profile') p.add_argument('--compat', type=Path, required=True, help='Disposable cloned Proton compatdata directory outside Steam') p.add_argument('--profile', type=Path, required=True, help='Separate disposable successor Workbench profile') -p.add_argument('--smoke', choices=['coordinated-ai', 'crash-start', 'crash-geometry', 'normal-escape-route', 'escape-route', 'optional-site-skip', 'infantry-combat', 'medical-combat', 'hunter-faction', 'unconscious-camera', 'self-epinephrine', 'starter-backpack', 'objective-map', 'town-garrisons', 'site-garrisons', 'radio-interaction', 'enemy-loadout', 'aggression', 'air-logistics', 'air-assault', 'air-recon', 'airfield-markers', 'opening-tools', 'mortar-station', 'generated-sites', 'roadblocks', 'hq-local-handoff', 'infantry-transfer', 'hq-body', 'convoy', 'supply-convoys', 'supply-travel', 'mounted-ammo', 'alarm-hearing', 'hq-memory', 'hq-awareness', 'aircraft-field', 'aircraft-route', 'native-end-active', 'native-end-preparing', 'aircraft-control', 'aircraft-cancel', 'aircraft-translate', 'map-ownership', 'mortar-refresh', 'mortar-salvo', 'mortar-courier', 'station-teardown', 'inventory-hitzone', 'prison-breach', 'powered-flight', 'powered-translate', 'local-admission', 'mortar-expiry', 'mortar-transfer', 'mortar-fire', 'patrol-hq', 'victory', 'lost-helicopter', 'player-death', 'radio-network', 'hq-response', 'mortar-inventory', 'startup-failure', 'site-survey', 'cache-loss', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure', 'transport-loss', 'transport-survey', 'lifecycle', 'objective-ui', 'recovery', 'prisoner-kit', 'medical', 'casualty-load', 'casualty-direct', 'casualty-bench', 'casualty-remove', 'environment', 'environment-restart', 'patrols', 'radio-document-loss', 'radio-document-loss-partial', 'guard-cancel', 'casualty-service'], default='victory') +p.add_argument('--smoke', choices=['coordinated-ai', 'crash-start', 'crash-geometry', 'normal-escape-route', 'escape-route', 'optional-site-skip', 'infantry-combat', 'medical-combat', 'hunter-faction', 'unconscious-camera', 'self-epinephrine', 'starter-backpack', 'speech-download', 'bundled-speech', 'objective-map', 'town-garrisons', 'site-garrisons', 'radio-interaction', 'enemy-loadout', 'aggression', 'air-logistics', 'air-assault', 'air-recon', 'airfield-markers', 'opening-tools', 'mortar-station', 'generated-sites', 'roadblocks', 'hq-local-handoff', 'infantry-transfer', 'hq-body', 'convoy', 'supply-convoys', 'supply-travel', 'mounted-ammo', 'alarm-hearing', 'hq-memory', 'hq-awareness', 'aircraft-field', 'aircraft-route', 'native-end-active', 'native-end-preparing', 'aircraft-control', 'aircraft-cancel', 'aircraft-translate', 'map-ownership', 'mortar-refresh', 'mortar-salvo', 'mortar-courier', 'station-teardown', 'inventory-hitzone', 'prison-breach', 'powered-flight', 'powered-translate', 'local-admission', 'mortar-expiry', 'mortar-transfer', 'mortar-fire', 'patrol-hq', 'victory', 'lost-helicopter', 'player-death', 'radio-network', 'hq-response', 'mortar-inventory', 'startup-failure', 'site-survey', 'cache-loss', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure', 'transport-loss', 'transport-survey', 'lifecycle', 'objective-ui', 'recovery', 'prisoner-kit', 'medical', 'casualty-load', 'casualty-direct', 'casualty-bench', 'casualty-remove', 'environment', 'environment-restart', 'patrols', 'radio-document-loss', 'radio-document-loss-partial', 'guard-cancel', 'casualty-service'], default='victory') +p.add_argument('--speech-probe-url', help='Loopback-only cached audio fixture; requires --smoke speech-download') p.add_argument('--trace-random-radius', action='store_true', help='Workbench-only read-only zero-radius caller traces; one normal Chat round, capped at sixteen records') p.add_argument('--maintenance-refuel', action='store_true', help='Opt-in normal-route check: original held Southern fuel can transfers finite fuel through its native UAZ action; one arranged tank depletion, no stock creation') p.add_argument('--mounted-swap-eligibility', action='store_true', help='Read-only mounted-ammo variant: one exact finite cargo/mounted magazine CanSwap call; no transfer or radio proof') @@ -139,6 +140,10 @@ for proc in Path('/proc').iterdir(): p.error('Another Workbench already uses this test profile') except (FileNotFoundError, PermissionError, ProcessLookupError): pass command = ['gamescope', '--backend', 'headless', '-W', '1280', '-H', '720', '-w', '1280', '-h', '720', '-r', '30', '--', str(proton), 'run', str(wb/'ArmaReforgerWorkbenchSteamDiag.exe'), '-gproj', 'Z:'+str(ROOT/'addons/core/addon.gproj'), '-addonsDir', 'Z:'+str(ROOT/'addons'), '-profile', profile_arg, '-logconsole', '-wbModule=WorldEditor', '-load', 'Worlds/ERR_Everon.ent', '-plugin=ERR_ValidateWorldPlugin', '-errPlay', '1', '-errSmoke', '1', '-errSmokeOutcome', a.smoke, '-noThrow', '-disableCrashReporter'] +if a.smoke == 'speech-download': + if a.project != 'core' or not a.speech_probe_url or not a.speech_probe_url.startswith('http://127.0.0.1:'): p.error('speech-download requires Core and an explicit loopback --speech-probe-url') + command += ['-errSpeechProbeURL', a.speech_probe_url] +elif a.speech_probe_url: p.error('--speech-probe-url requires --smoke speech-download') if a.convoy_cover: command += ['-errConvoyCover', '1'] if a.mounted_intercept: command += ['-errMountedIntercept', '1'] if a.mounted_swap_eligibility: command += ['-errMountedSwapEligibility', '1'] @@ -158,7 +163,7 @@ if a.recon_takeover_only: command += ['-errReconTakeoverOnly', '1'] if a.body_recovery_only: command += ['-errBodyRecoveryOnly', '1'] if a.coordinated_blocked_only: command += ['-errCoordinatedBlockedOnly', '1'] if a.project == 'core': - if a.smoke not in {'coordinated-ai', 'optional-site-skip', 'infantry-combat', 'medical-combat', 'hunter-faction', 'unconscious-camera', 'self-epinephrine', 'starter-backpack', 'objective-map', 'town-garrisons', 'site-garrisons', 'radio-interaction', 'enemy-loadout', 'aggression', 'air-logistics', 'air-assault', 'air-recon', 'airfield-markers', 'opening-tools', 'mortar-station', 'generated-sites', 'roadblocks', 'native-end-active', 'native-end-preparing', 'station-teardown', 'inventory-hitzone', 'prison-breach', 'powered-flight', 'powered-translate', 'local-admission', 'victory', 'startup-failure', 'site-survey', 'cache-loss', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure', 'transport-loss', 'transport-survey', 'lifecycle', 'objective-ui', 'recovery', 'prisoner-kit', 'medical', 'casualty-load', 'casualty-direct', 'casualty-bench', 'casualty-remove', 'environment', 'environment-restart', 'patrols', 'radio-document-loss', 'radio-document-loss-partial', 'guard-cancel', 'casualty-service'}: p.error('Unsupported Core-only fixture') + if a.smoke not in {'coordinated-ai', 'optional-site-skip', 'infantry-combat', 'medical-combat', 'hunter-faction', 'unconscious-camera', 'self-epinephrine', 'starter-backpack', 'speech-download', 'bundled-speech', 'objective-map', 'town-garrisons', 'site-garrisons', 'radio-interaction', 'enemy-loadout', 'aggression', 'air-logistics', 'air-assault', 'air-recon', 'airfield-markers', 'opening-tools', 'mortar-station', 'generated-sites', 'roadblocks', 'native-end-active', 'native-end-preparing', 'station-teardown', 'inventory-hitzone', 'prison-breach', 'powered-flight', 'powered-translate', 'local-admission', 'victory', 'startup-failure', 'site-survey', 'cache-loss', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure', 'transport-loss', 'transport-survey', 'lifecycle', 'objective-ui', 'recovery', 'prisoner-kit', 'medical', 'casualty-load', 'casualty-direct', 'casualty-bench', 'casualty-remove', 'environment', 'environment-restart', 'patrols', 'radio-document-loss', 'radio-document-loss-partial', 'guard-cancel', 'casualty-service'}: p.error('Unsupported Core-only fixture') command[command.index('-plugin=ERR_ValidateWorldPlugin')] = '-plugin=ERR_ValidateBaseWorldPlugin' command[command.index('-errSmoke')] = '-errBaseSmoke' if a.smoke in {'station-teardown', 'inventory-hitzone', 'prison-breach', 'powered-flight', 'powered-translate', 'local-admission', 'cache-loss', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure', 'transport-loss', 'transport-survey', 'lifecycle', 'objective-ui', 'recovery', 'prisoner-kit', 'medical', 'casualty-load', 'casualty-direct', 'casualty-bench', 'casualty-remove', 'environment', 'environment-restart', 'patrols', 'radio-document-loss', 'radio-document-loss-partial', 'guard-cancel', 'casualty-service'} and a.project != 'core': p.error('This fixture requires --project core') diff --git a/tools/source_bundle.py b/tools/source_bundle.py index efac2e0..f1388c8 100644 --- a/tools/source_bundle.py +++ b/tools/source_bundle.py @@ -26,6 +26,7 @@ PROJECTS = {'core': ('ERR_Core', '2528466DE220D91C', ())} DIRECTORIES = {'Scripts', 'Prefabs', 'Configs', 'Missions', 'Worlds', 'UI', 'Materials', 'AI'} SUFFIXES = {'.c', '.et', '.conf', '.ent', '.layer', '.layout', '.emat', '.bt', '.meta', '.gproj', '.imageset', '.png', '.edds'} +BUNDLED_SPEECH = re.compile(r'addons/core/Sounds/ERR/Speech/(?:welcome|soldier_[a-z0-9_]+|radio_[0-9]{2})\.(?:wav|acp)(?:\.meta)?$') # Locally authored atlas, with its editable FBX and native import result. # Keep binary-model admission scoped to this reviewed asset, not arbitrary Assets/. ATLAS_ROOT = 'addons/core/Assets/Items/ERR_Atlas/' @@ -118,6 +119,8 @@ def inventory(root): pass elif name.startswith(ATLAS_ROOT) and name[len(ATLAS_ROOT):] in ATLAS_FILES: pass + elif BUNDLED_SPEECH.fullmatch(name): + pass elif len(parts) < 4 or parts[2] not in DIRECTORIES or path.suffix not in SUFFIXES - {'.gproj'}: raise ValueError(f'unreviewed addon source/resource format: {name}') result[name] = digest @@ -156,6 +159,12 @@ def validate(payload, root): suffix = PurePosixPath(name).suffix if suffix == '.meta': continue + if suffix == '.wav': + from welcome_voice import validate_wav + if not BUNDLED_SPEECH.fullmatch(name) or name + '.meta' not in payload: + raise ValueError(f'unregistered bundled speech: {name}') + validate_wav(data) + continue if name.startswith(ATLAS_ROOT) and suffix in {'.fbx', '.xob', '.txo'}: stem = str(PurePosixPath(name).with_suffix('')) if any(stem + required not in payload for required in ('.xob', '.xob.meta', '.fbx')): diff --git a/tools/welcome_voice.py b/tools/welcome_voice.py index 5c5e825..5495b14 100644 --- a/tools/welcome_voice.py +++ b/tools/welcome_voice.py @@ -25,6 +25,9 @@ WELCOME = ("Welcome to Escape Reintroduced. Work together, stay alert, " "and find your way off the island. Good luck.") ENDPOINT = "https://texttospeech.googleapis.com/v1/text:synthesize" MAX_AUDIO = 2 * 1024 * 1024 +# Enfusion rejects REST responses >= 1 MB. Keep each JSON/base64 response well +# below that ceiling; this is transport slicing, not audio recompression. +VOICE_CHUNK = 262144 VETERAN_PROMPT = ("Speak as a fictional older war veteran, about sixty-five: a weathered, " "slightly gravelly male voice, calm authority and dry warmth. " "A concise field briefing to fellow soldiers, not a movie trailer. " @@ -251,20 +254,41 @@ def handler_for(data, briefings=None): print("TTS request completed (200)", flush=True) def do_GET(self): - match = re.fullmatch(r"/clips/([0-9a-f]{64})\.b64", self.path) + url = urlsplit(self.path) + match = re.fullmatch(r"/clips/([0-9a-f]{64})\.b64", url.path) + if not match and url.path not in ("/welcome.wav", "/welcome.b64"): + self.send_error(404) + return + part = None + if url.query: + query = re.fullmatch(r"part=([0-9]{1,2})", url.query) + if not query or not url.path.endswith(".b64"): + self.send_error(400) + return + part = int(query[1]) if match and briefings: try: payload = base64.b64encode(briefings.read(match[1])) except (OSError, ValueError): self.send_error(404) return - elif self.path in ("/welcome.wav", "/welcome.b64"): - payload = encoded if self.path == "/welcome.b64" else data + elif url.path in ("/welcome.wav", "/welcome.b64"): + payload = encoded if url.path == "/welcome.b64" else data else: self.send_error(404) return + content_type = "text/plain" if url.path.endswith(".b64") else "audio/wav" + if part is not None: + offset = part * VOICE_CHUNK + if offset >= len(payload): + self.send_error(416) + return + payload = json.dumps({"offset": offset, "total": len(payload), + "data": payload[offset:offset + VOICE_CHUNK].decode("ascii")}, + separators=(",", ":")).encode("ascii") + content_type = "application/json" self.send_response(200) - self.send_header("Content-Type", "text/plain" if self.path.endswith(".b64") else "audio/wav") + self.send_header("Content-Type", content_type) self.send_header("Content-Length", str(len(payload))) self.end_headers() self.wfile.write(payload)