From 309f48ee0b4849705db91d0dc0eca0cc2a21d0c6 Mon Sep 17 00:00:00 2001 From: Jonathan Pereira Date: Tue, 1 Mar 2016 08:56:43 -0300 Subject: [PATCH 01/63] Added remaining PT-BR translarions --- addons/cargo/stringtable.xml | 3 +++ addons/common/stringtable.xml | 1 + addons/explosives/stringtable.xml | 8 +++++++- addons/fastroping/stringtable.xml | 12 ++++++++++-- addons/frag/stringtable.xml | 4 +++- addons/gestures/stringtable.xml | 4 ++++ addons/headless/stringtable.xml | 7 +++++++ addons/hearing/stringtable.xml | 1 + addons/interaction/stringtable.xml | 5 ++++- addons/inventory/stringtable.xml | 7 +++++++ addons/medical/stringtable.xml | 18 ++++++++++++++++++ addons/mk6mortar/stringtable.xml | 21 +++++++++++++++++++++ addons/overheating/stringtable.xml | 13 ++++++++++++- addons/repair/stringtable.xml | 3 ++- addons/switchunits/stringtable.xml | 3 ++- addons/tagging/stringtable.xml | 13 +++++++++++++ addons/trenches/stringtable.xml | 12 ++++++++++++ 17 files changed, 127 insertions(+), 8 deletions(-) diff --git a/addons/cargo/stringtable.xml b/addons/cargo/stringtable.xml index b4210a7755..2b6ce0be17 100644 --- a/addons/cargo/stringtable.xml +++ b/addons/cargo/stringtable.xml @@ -175,6 +175,7 @@ Rendi oggetto caricabile Hacer objeto cargable Rendre l'objet chargeable + Fazer objeto carregável Sets the synced object as loadable by the cargo system. @@ -183,6 +184,7 @@ Imposta l'oggetto sincronizzato come caricabile dal sistema cargo Sincronizar un objecto para hacerlo cargable. Rend l'objet synchronisé chargeable par le système de cargaison. + Seta o objeto sincronizado como carregável Object's Size @@ -191,6 +193,7 @@ Dimensioni dell'oggetto Tamaño del objeto Taille de l'objet + Tamanho do objeto \ No newline at end of file diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index 7e9cba9802..9ff98bf95f 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -802,6 +802,7 @@ Non c'è spazio per scaricare No hay espacio para descargar. Pas de place pour décharger + Sem espaço para descarregar \ No newline at end of file diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index c63c990a16..80962d12dd 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -647,6 +647,7 @@ Mina M6 SLAM (atak od dołu) Mina M6 SLAM (Ataque Inferior) Mine M6 SLAM (Par le bas) + Mina M6 SLAM (Ataque Inferior) M6 SLAM Mine (Side Attack) @@ -661,6 +662,7 @@ Mina M6 SLAM (atak od boku) Mina M6 SLAM (Ataque Lateral) Mine M6 SLAM (De flanc) + Mina M6 SLAM (Ataque Lateral) Large IED (Urban, Pressure Plate) @@ -675,6 +677,7 @@ Duży IED (miejski, płyta naciskowa) IED Grande (Urbano, Placa de presión) Grand EEI (Urbain, plaque de pression) + IED Grande (Urbano, Placa de pressão) Large IED (Dug-in, Pressure Plate) @@ -689,6 +692,7 @@ Duży IED (zakopany, płyta naciskowa) IED Grande (Enterrado, Placa de presión) Grand EEI (Enterré, plaque de pression) + IED Grande (Enterrado, Placa de pressão) Small IED (Urban, Pressure Plate) @@ -703,6 +707,7 @@ Mały IED (miejski, płyta naciskowa) IED Pequeño (Urbano, Placa de presión) Petit EEI (Urbain, plaque de pression) + IED Pequeno(Urbano, Placa de pressão) Small IED (Dug-in, Pressure Plate) @@ -717,6 +722,7 @@ Mały IED (zakopany, płyta naciskowa) IED Pequeño (Enterrado, Placa de presión) Petit EEI (Enterré, plaque de pression) + IED Pequeno (Enterrado, Placa de pressão) Connect to %1 @@ -731,4 +737,4 @@ Conectar à %1 - + \ No newline at end of file diff --git a/addons/fastroping/stringtable.xml b/addons/fastroping/stringtable.xml index b65169b273..997ff32ecf 100644 --- a/addons/fastroping/stringtable.xml +++ b/addons/fastroping/stringtable.xml @@ -1,4 +1,4 @@ - + @@ -6,48 +6,56 @@ Rüste FRIES aus Wyposaż FRIES Equiper le FRIES + Equipar FRIES Equips compatible helicopters with a Fast Rope Insertion Extraction System. Rüstet kompatible Helikopter mit einem Fast Rope Insertion Extraction System aus. Wyposaża kompatybilne helikoptery w zestaw Fast Rope Insertion Extraction System. Equipe les hélicoptères compatibles avec un Module Fast Rope Insertion Extraction System. + Equipa um helicóptero compatível com o Fast Rope Insertion Exctraction System. Prepare fast roping system Bereite Fast Roping System vor Przygotuj system zjazdu na linach Préparer le système de corde lisse + Prepara sistema de descida rápida Deploy ropes Seile auswerfen Wypuść liny Déployer les cordes + Jogar cordas Fast rope Abseilen Zjedź na linie Descendre à la corde + Descida rápida Cut ropes Seile abwerfen Odetnij liny Détacher les cordes + Cortar cordas Equip helicopter with FRIES Rüste Helicopter mit FRIES aus Wyposaż helikopter w FRIES Equiper l'hélicoptère avec le FRIED + Equipar helicóptero com FRIES Equips the selected helicopter with a Fast Rope Insertion Extraction System Rüstet den ausgewählten Helicopter mit einem Fast Rope Insertion Extraction System aus Wyposaża wybrany helikopter w zestaw Fast Rope Insertion Extraction System Equipe l'hélicoptère sélectionné avec un Fast Rope Insertion Extraction System + Equipa o helicóptero selecionado com o Fast Rope Insertion Extraction System - + \ No newline at end of file diff --git a/addons/frag/stringtable.xml b/addons/frag/stringtable.xml index 40b25f4aa6..9bd159ab4f 100644 --- a/addons/frag/stringtable.xml +++ b/addons/frag/stringtable.xml @@ -67,6 +67,7 @@ Simulazione Riflessi Esplosioni Druckwellensimulation Activar simulación de reflexiones + Simulação de reflexo de explosão Enable the ACE Explosion Reflection Simulation @@ -74,6 +75,7 @@ Abilita la Simulazione Riflessi Esplosioni di ACE Aktiviere die ACE-Druckwellensimulation Activa la simulación de reflexiones para las explosiones. + Ativa a simulação de reflexo de explosão do ACE Maximum Projectiles Tracked @@ -148,4 +150,4 @@ (Solo SP) Richiede un restart editor/missione. Abilita il tracciamento visivo di schegge da frammentazione/spalling in modalità Giocatore Singolo. - + \ No newline at end of file diff --git a/addons/gestures/stringtable.xml b/addons/gestures/stringtable.xml index 442f10482d..d554ee8fa0 100644 --- a/addons/gestures/stringtable.xml +++ b/addons/gestures/stringtable.xml @@ -238,6 +238,7 @@ Mostra Gesti su Menù Interazione Mostrar gestos en el menú de interacción Afficher les signaux dans le menu d'interaction + Mostrar gestos no menu de interação Show gestures on the self interaction menu, or just use keybinds, or disable completely @@ -247,6 +248,7 @@ Mostra Gesti nel Menù Interazione Personale, o usa solamente Hotkey, o disabilita completamente Muestror los gestos en el menú de interacción propia, utilizar solo combinación de teclas o desactivarlos completamente Affiche les signaux dans le menu d'interaction personnel, ou seulement par raccourcis, ou encore les désactiver complètement + Mostra gestos no menu de interação, ou utilize um dos atalhos de teclado ou desative completamente Just Keybinds @@ -256,6 +258,7 @@ Solo Hotkey Solo mediante teclas Juste par raccourcis + Somente atalhos de teclado Keybinds + Interaction Menu @@ -265,6 +268,7 @@ Hotkey + Menù Interazione Teclas y Menú de Interacción Raccourcis et menu d'interaction + Atalhos + Menu de Interação \ No newline at end of file diff --git a/addons/headless/stringtable.xml b/addons/headless/stringtable.xml index 6ef7452611..bc0acd8481 100644 --- a/addons/headless/stringtable.xml +++ b/addons/headless/stringtable.xml @@ -8,6 +8,7 @@ Headless Headless Headless + Headless This module allows you to setup automatic transferring of AI to Headless Clients. (Default: No) @@ -16,6 +17,7 @@ Questo modulo ti consente di impostare il trasferimento automatico di IA all'Headless Client (Default: No) Éste módulo permite activar la transferencia automática de IA al Headless Client. (Por defecto: No) Ce module permet de configurer le trasnfert automatique des IA vers les Headless Client. (Défaut : Non) + Este módulo permite que você configure a transferência de AI's de forma automática para os Headless Clients (Padrão: Não) Enables transferring of AI to Headless Clients. @@ -24,6 +26,7 @@ Abilita trasferimento di IA a Headless Client Habilita la transferencia de IA al Headless Client. Autorise le transfert d'IA vers les Headless Clients. + Ativa a transferência de AI para os Headless Clients Delay @@ -32,6 +35,7 @@ Ritardo Retardo Délai + Atraso Minimal delay between transfers, in seconds. (Default: 15) @@ -40,6 +44,7 @@ Ritardo minimo tra trasferimenti, in secondi. (Default: 15) Retardo mínimo entre transferencias, en segundos (Por defecto: 15) Délai minimum entre les transferts, en secondes. (Défaut : 15) + Atraso mínimo entre transferências, em segundos. (Padrão: 15) Log @@ -48,6 +53,7 @@ Log Registro Journal + Registro Log transfer statistics and Headless Client (dis)connections to RPT. (Default: No) @@ -56,6 +62,7 @@ Logga statistiche trasferimenti e (dis)connessioni di Headless Client su RPT. (Default: No) Registrar transferencias y (des)conexiones del Headless Client en el RPT. (Por defecto: No) Enregistre les statistiques de transfert et les (dé)connections du Headless Client vers le RPT. (Défaut : Non) + Registra as estatísticas de transferências e (des)conexões dos Headless Clients para o RPT. (Padrão: Não) \ No newline at end of file diff --git a/addons/hearing/stringtable.xml b/addons/hearing/stringtable.xml index aa6f114f0e..ef36f3737c 100644 --- a/addons/hearing/stringtable.xml +++ b/addons/hearing/stringtable.xml @@ -115,6 +115,7 @@ Desactiva el efecto de zumbido cuando el jugador recibe daño auditivo. Usuń szum w uszach przy chwilowej utracie słuchu. Enlève l'effet de bourdonnement lorsque le joueur subis des traumatismes sonores + Remove o efeito de zunido quando o jogador recebe dano na audição Hearing diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index fcbeebb972..4417c11f75 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -355,6 +355,7 @@ Esci Aussteigen! Sal del vehículo! + Saia Team Management @@ -709,12 +710,14 @@ Aktivieren Włącz Encender + Ligar Turn off Deaktivieren Wyłącz Apagar + Desligar Pass magazine @@ -767,4 +770,4 @@ Mostrar "Pasar cargador" en el menú de interacción - + \ No newline at end of file diff --git a/addons/inventory/stringtable.xml b/addons/inventory/stringtable.xml index 60cc8723c2..60bb41681d 100644 --- a/addons/inventory/stringtable.xml +++ b/addons/inventory/stringtable.xml @@ -32,6 +32,7 @@ Plecaki Zaini Mochilas + Mochilas Headgear @@ -40,6 +41,7 @@ Hełmy Copricapi Cascos + Capacetes Glasses @@ -48,6 +50,7 @@ Gogle Occhiali Gafas + Óculos Uniforms @@ -56,6 +59,7 @@ Uniformy Uniformi Uniformes + Uniformes Vests @@ -64,6 +68,7 @@ Kamizelki Vests Chalecos + Coletes Grenades @@ -72,6 +77,7 @@ Granaty Granate Granadas + Granadas Medical @@ -80,6 +86,7 @@ Medyczne Medico Médico + Médico \ No newline at end of file diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 94cad2f790..cee500b5d5 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -54,6 +54,7 @@ Adenosin injizieren Inyectar Adenosina Wstrzyknij adenozynę + Injetar Adenosina Inject Atropine @@ -252,6 +253,7 @@ Adenosin injizieren... Inyectando Adenosina... Wstrzykiwanie adenozyny... + Injetando Adenosina... Injecting Atropine... @@ -966,18 +968,21 @@ Adenosin-Autoinjektor Asenosina auto-inyectable Autostrzykawka z adenozyną + Auto-injetor de Adenosina Used to counter effects of Epinephrine Wird verwendet um die Symptome von Epiniphrin zu lindern Utilizada para contrarrestar los effectos de la Epinefrina Adenozyna. Stosowana do zwalczania efektów działania adrenaliny. + Usado para combater os efeitos da Epinefrina A drug used to counter the effects of Epinephrine Ein Medikament, das die Symptome von Epiniphrin bekämpft. Medicamento usado para contrarrestar los efectos de la Epinefrina. Organiczny związek chemiczny z grupy nukleozydów. Skuteczna w leczeniu częstoskurczu komorowego. Działa rozszerzająco na naczynia krwionośne. + Uma droga usada para combater os efeitos da Epinefrina Atropine autoinjector @@ -2898,6 +2903,7 @@ Örtliche Trainingssteigerung Ubicación mejora entrenamiento. Miejsca zwiększają wyszkolenie + Localização melhora treinamento Boost medic rating in medical vehicles or near medical facilities [untrained becomes medic, medic becomes doctor] @@ -2906,6 +2912,7 @@ Steigert die medizinische Einstufung eines Soldaten in Sanitätsfarhzeugen oder in der Nähe von Sanitätseinrichtungen [untrainiert wird zu Sanitäter, Sanitäter zu Doktor] Mejora el entrenamiento médico dentro de vehículos médicos o cerca de instalaciones médicas (no entrenados se convierten en médicos, médicos se convierten en doctores) Zwiększa poziom wyszkolenia medyków wewnątrz pojazdów medycznych lub w pobliżu budynków medycznych [niedoświadczony zostaje medykiem, medyk zostaje doktorem] + Aumenta a classificação do médico dentro de veículos médicos ou perto de instalações médicas [sem treinamento vira médico, médico vira doutor] Disable medics @@ -3200,6 +3207,7 @@ Standard Sanitätseinstellungen [ACE] Podstawowe ustawienia medyczne Ajustes médicos básicos [ACE] + Ajustes médicos básicos [ACE] Advanced Medical Settings [ACE] @@ -3314,12 +3322,14 @@ Erlaube Epiniphrin Permitir Epinefrina Ograniczenia adrenaliny + Permitir Epinefrina Who can use Epinephrine for full heal? (Basic medical only) Wer darf Epiniphrin zur vollständigen Heilung benutzen? (Standard Sanitätseinstellungen) Configura quienes pueden usar Epinefrina (Solo sistema médico básico) Kto może skorzystać z adrenaliny w celu pełnego uleczenia? (Tylko podstawowy system medyczny) + Quem pode usar Epinefrina para cura completa? (Somente sistema médico básico) Allow PAK @@ -3410,12 +3420,14 @@ Orte für Epiniphrin Ubicaciones epinefrina Ograniczenia adrenaliny + Localizações de Epinefrina Where can the Epinephrine be used? (Basic Medical) Wo kann Epiniphrin verwendet werden? (Standard Sanitätseinstellungen) Configura donde puede usarse Epinefrina (Solo sistema médico básico) Gdzie można korzystać z adrenaliny? (Podstawowy system medyczny) + Onde pode-se usar a Epinefrina? (Somente sistema médico básico) Locations PAK @@ -3658,6 +3670,7 @@ Behandlungseinstellungen der Standard ACE-Medizin konfigurieren Configure las opciones de tratamiento del sistema médico básico de ACE Skonfiguruj ustawienia leczenia podstawowego systemu medycznego ACE + Configura as opções de tratamento do sistema médico básico do ACE Configure the treatment settings from ACE Advanced Medical @@ -4103,6 +4116,7 @@ Addestramento Medico Sanitätsausbildung Entrenamiento médico + Treino médico Whether or not the object will be a medical vehicle. @@ -4110,20 +4124,24 @@ L'oggetto in questione sarà un veicolo medico o meno. Legt fest, ob das Objekt ein Sanitätsfahrzeug ist. Es un vehículo médico? + Se o objeto será ou não um veículo médico Delay cease fire of AI during medical unconsciousness Verzögert Ende des KI-Beschusses bei medizinischer Bewustlosigkeit Demora antes de volverse neutral al caer inconsciente Opóźnij status captive u nieprzytomnych osób + Atraso durante cessar fogo da AI durante inconsciência médica Delay cease fire of AI while player is unconscious for medical reasons. Verzögert das Ende des KI-Beschusses auf einen Spieler, wenn dieser aus medizinischen Gründen bewustlos wird. + Atraso durante cessar fogo da AI enquanto o jogador estiver inconsciente por motivos médicos Delay cease fire of AI for unconsciousness Verzögert Ende des KI-Beschusses bei medizinischer Bewustlosigkeit + Atraso durante cessar fogo da AI durante inconsciência \ No newline at end of file diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index 9989193232..b6f7ef719d 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -149,126 +149,147 @@ Aktiviere Munitionshandhabung Usar manejo de munición. Aktywuj obsługę amunicji + Usar manejo de munição Removes mortar magazines, requiring individual rounds to be loaded by the gunner or loader. Does not affect AI mortars. Enfernt das Magzin des Mörsers. Es ist nun erforderlich, die einzelnen Patronen manuell zu laden. Dies beeinflusst nicht die KI-Truppen. Elimina los cargadores del mortero, requiriendo al artillero o cargador la carga manual de cada rondas. No afecta morteros controlados por IA. Usuwa magazynki moździerza, wymagając ładowania pojedynczych pocisków przez strzelca lub ładowniczego. Nie dotyczy moździerzy AI. + Elimina os carregadores do morteiro, requerendo que o atirador ou carregador utilize de forma individual a munição. Não afeta os morteiros controlados pela IA. Remove Round Entferne Patrone Extraer ronda Wyładuj pocisk + Remover munição Load Mortar Lade Mörser Cargar mortero Załaduj moździerz + Carregar morteiro Unloading Round Mörser entladen Descargando ronda Rozładowywanie moździerza + Descarregar munição Preparing Round Patrone vorbereiten Preparando ronda Przygotowywanie pocisku + Preparar munição Load HE Lade Sprengpatrone Cargar HE Załaduj pocisk wybuchowy + Carregar HE Load Smoke Lade Nebelpatrone Cargar Humo Załaduj pocisk dymny + Carregar Fumaça Load Illumination Lade Leuchtpatrone Cargar Iluminación Załaduj pocisk oświetlający + Carregar Iluminação Load Guided HE Lade gelenkte Sprengpatrone Cagar HE Guiada Załaduj kierowany pocisk wybuchowy + Carregar HE Guiada Load Laser Guided HE Lade lasergelenkte Sprengpatrone Cargar HE Guiada por Laser Załaduj laserowo napr. pocisk wybuchowy + Carregar HE Guiada por Laser 82mm HE Round 82mm Sprengpatrone Ronda 82mm HE Pocisk wybuchowy kal. 82mm + Munição 82mm HE 82mm Smoke Round 82mm Nebelpatrone Ronda 82mm Humo Pocisk dymny kal. 82mm + Munição 82mm Fumaça 82mm Illumination Round 82mm Leuchtpatrone Ronda 82mm Iluminación Pocisk oświetlający kal. 82mm + Munição 82mm Iluminação 82mm Guided HE Round 82mm gelenkte Sprengpatrone Ronda 82mm Guiada Kierowany pocisk wybuchowy kal. 82mm + Munição 82mm HE Guiada 82mm Laser Guided HE Round 82mm lasergelenkte Sprengpatrone Ronda 82mm Guiada por Laser Laserowo napr. pocisk wybuchowy kal. 82mm + Munição 82mm HE Guiada por Laser Used in Mk6 mortar Wird im Mk6 Mörser verwendet Usada en el mortero Mk6 Używany w moździerzu Mk6 + Usada no Morteiro MK6 [ACE] 82mm HE Rounds Box [ACE] 82mm Sprengpatronenkiste [ACE] Caja de municiones 82mm HE [ACE] Skrzynka amunicji wybuchowej 82mm + [ACE] Caixa de Munição 82mm HE [ACE] 82mm Smoke Rounds Box [ACE] 82mm Nebelpatronenkiste [ACE] Caja de municiones 82mm Humo [ACE] Skrzynka amunicji dymnej 82mm + [ACE] Caixa de Munição 82mm Fumaça [ACE] 82mm Illumination Rounds Box [ACE] 82mm Leuchtpatronenkiste [ACE] Caja de municiones 82mm Iluminacion [ACE] Skrzynka amunicji oświetlającej 82mm + [ACE] Caixa de Munição 82mm Iluminação [ACE] 82mm Default Loadout Box [ACE] 82mm Standardkiste [ACE] Caja de municiones 82mm por defecto [ACE] Skrzynka amunicji standardowej 82mm + [ACE] Caixa de Munição 82mm Padrão \ No newline at end of file diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index e41f9342d4..492edd35ae 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -31,6 +31,7 @@ Efekty cząsteczkowe przegrzania Effetti Particelle Surriscaldamento Efectos de partículas + Efeito de parícula de superaquecimento Show particle effects when weapon overheats @@ -38,6 +39,7 @@ Pokaż efekty cząsteczkowe kiedy broń się przegrzeje Mostra effetti particellari quando l'arma si surriscalda Muestra efectos de partículas cuando el arma del jugador se sobreacalienta + Mostra efeitos de párticula quando a arma superaquece Overheating Particle Effects for everyone @@ -45,6 +47,7 @@ Pokaż efekty cząsteczkowe dla wszystkich Effetti Particellari Surriscaldamento per tutti Efectos de partículas para todos + Efeito de partícula de superaquecimento para todos Show particle effects when other players weapon overheats @@ -52,6 +55,7 @@ Pokazuje efekty cząsteczkowe kiedy broń innego gracza się przegrzeje Mostra effetti particellari quando l'arma di altri giocatori si surriscalda Muestra efectos de partículas cuando el arma de jugadores cercanos se sobreacalienta + Mostra efeito de partículas quando a arma de outros jogadores superaquece Overheating Dispersion @@ -59,6 +63,7 @@ Wpływ na rozrzut Dispersione Surriscaldamento Dispersión + Disperção de superaquecimento Overheated weapons will be less accurate and have decreased muzzle velocity. Applys for all players. @@ -66,30 +71,35 @@ Przegrzane bronie będą mniej celne oraz będą miały zmniejszoną prędkość pocisku. Wpływa na wszystkich graczy. Armi surriscaldate saranno meno precise ed avranno una ridotta velocità alla volata. Applica per tutti i giocatori. Las armas sobrecalentadas pierden precisión y tienen una velocidad de disparo reducida. Se aplica a todos los jugadores. + Armas superaquecidas irão ser menos precisas e ter velocidade de disparo reduzidas. Aplica a todos os jogadores. Unjam weapon on reload Behebt Ladehemmung beim Nachladen Desencasquillar el arma al recargar. Usuń zacięcie przy przeładowaniu + Desemperrar arma no recarregamento Reloading clears a weapon jam. Nachladen behebt eine Ladehemmung. Recargar el arma la desencasquilla. Przeładowywanie usuwa zacięcie + Recarregar desemperra arma. Chance of unjam failing Wahrscheinlichkeit, dass Ladehemmung nicht behoben wird Probabilidad de falla al desencasquillar. Szansa na porażkę usuw. zacięcia + Chance de falha de desemperramento Probability that an unjam action might fail, requiring to be repeated. Wahrscheinlichkeit, dass der Versuch eine Ladehemmung zu beheben fehl schlägt und erneut durchgeführt werden muss. Probabilidad de que el proceso de desencasquille falle, teniendo que repetirlo. Szansa na to, że przy przeładowaniu broni zacięcie nie zostanie usunięte, przez co czynność będzie musiała zostać powtórzona ponownie. + Probabilidade que uma ação de desemperramento falhe, tendo que ser repetida Spare barrel @@ -156,6 +166,7 @@ Ladehemmung nicht behoben Falló el desencasquillado Porażka przy usuwaniu zacięcia + Falha no desemperramento Swap barrel @@ -242,4 +253,4 @@ Температура - + \ No newline at end of file diff --git a/addons/repair/stringtable.xml b/addons/repair/stringtable.xml index de640ff48c..2a73fec0af 100644 --- a/addons/repair/stringtable.xml +++ b/addons/repair/stringtable.xml @@ -728,6 +728,7 @@ ERA Reaktivpanzerung ERA + ERA Repair Settings @@ -1230,4 +1231,4 @@ Oggetti richiesti per riparare/rimuovere ruote - + \ No newline at end of file diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index 26be64dccb..1ccd4abe90 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -20,6 +20,7 @@ Próba zmiany Sto provando a cambiare Intentando cambiar + Tentando trocar This unit is too close to the enemy. @@ -201,4 +202,4 @@ El módulo permite a las unidades cambiar de bando durante el juego. - + \ No newline at end of file diff --git a/addons/tagging/stringtable.xml b/addons/tagging/stringtable.xml index 6dbbcddff1..a6a2ac4ae3 100644 --- a/addons/tagging/stringtable.xml +++ b/addons/tagging/stringtable.xml @@ -6,78 +6,91 @@ Schwarz markieren Marcar en negro Oznakuj na czarno + Marcar em preto Tag red Rot markieren Marcar en rojo Oznakuj na czerwono + Marcar em vermelho Tag green Grün markieren Marcar en verde Oznakuj na zielono + Marcar em verde Tag blue Blau markieren Marcar en azul Oznakuj na niebiesko + Marcar em azul Tag ground black Boden schwarz markieren Oznakuj ziemię na czarno Marcar suelo en negro + Marcar chão em preto Tag ground red Boden rot markieren Oznakuj ziemię na czerwono Marcar suelo en rojo + Marcar chão em vermelho Tag ground green Boden grün markieren Oznakuj ziemię na zielono Marcar suelo en verde + Marcar chão em verde Tag ground blue Boden blau markieren Oznakuj ziemię na niebiesko Marcar suelo en azul + Marcar chão em azul Black spray paint Schwarze Sprühfarbe Pintura negra Czarna farba w sprayu + Spray de tinta preta Red spray paint Rote Sprühfarbe Pintura roja Czerwona farba w sprayu + Spray de tinta vermelha Green spray paint Grüne Sprühfarbe Pintura verde Zielona farba w sprayu + Spray de tinta verde Blue spray paint Blaue Sprühfarbe Pintura azul Niebieska farba w sprayu + Spray de tinta azul A can of spray paint for tagging walls. Eine Farbsprühdose um Wände zu markieren. Lata de pintura en aerosol para marcar. Farba w sprayu, służy do oznakowywania terenu. + Uma lata de tinta spray para marcar paredes. \ No newline at end of file diff --git a/addons/trenches/stringtable.xml b/addons/trenches/stringtable.xml index 1ed6e1fd7b..9140dff907 100644 --- a/addons/trenches/stringtable.xml +++ b/addons/trenches/stringtable.xml @@ -7,6 +7,7 @@ Saperka Pala Pala para trincheras + Ferramenta de trincheira Entrenching Tool @@ -14,6 +15,7 @@ Mit Schanzzeug können Erdwälle oder Gräben ausgehoben werden. Pala Pala para trincheras + Ferramenta de trincheira Envelope - Small @@ -21,6 +23,7 @@ Wnęka - mała Fascia - Piccola Trinchera pequeña + Trincheira - Pequena Small Personal Trench @@ -28,6 +31,7 @@ Mała jednoosobowa wnęka Piccola Trincea Personale Trinchera personal pequeña + Trincheira pessoal pequena Dig Small Trench @@ -35,6 +39,7 @@ Kop małą wnękę Scava Trincea Piccola Cavar trinchera pequeña + Cavar trincheira pequena Envelope - Big @@ -42,6 +47,7 @@ Wnęka - duża Fascia - Grande Trinchera grande + Trincheira - Grande Large Personal Trench @@ -49,6 +55,7 @@ Duża jednoosobowa wnęka Grande Trincea Personale Trinchera personal grande + Trincheira pessoal grande Dig Big Trench @@ -56,6 +63,7 @@ Kop dużą wnękę Scava Trincea Grande Cavar trinchera grande + Cavar trincheira grande Confirm Dig @@ -63,6 +71,7 @@ Potwierdź kopanie Conferma Scava Confirmar cavado + Confirmar excavação Cancel Dig @@ -70,6 +79,7 @@ Anuluj kopanie Cancella Scava Cancelar cavado + Cancelar excavação +Ctrl rotate @@ -77,6 +87,7 @@ +Ctrl obrót +Ctrl ruota +Ctrl rotar + +Ctrl rotaciona Digging Trench @@ -84,6 +95,7 @@ Kopanie okopu Sto Scavando la Trincea Cavando trinchera + Cavando trincheira \ No newline at end of file From f18094e7e4353591638cbaa73599896193544602 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Tue, 8 Mar 2016 19:21:28 +0100 Subject: [PATCH 02/63] MicroDAGR OS Upgrade --- .../functions/fnc_showApplicationPage.sqf | 2 +- .../microdagr/functions/fnc_updateDisplay.sqf | 12 ++++++------ addons/microdagr/gui_controls.hpp | 4 ++-- addons/microdagr/images/button_pushedDown.paa | Bin 22016 -> 11080 bytes addons/microdagr/images/button_pushedUp.paa | Bin 22016 -> 11080 bytes addons/microdagr/images/icon_compass.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_info.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_infoClock.paa | Bin 11080 -> 22016 bytes addons/microdagr/images/icon_infoCompass.paa | Bin 11080 -> 22016 bytes addons/microdagr/images/icon_map.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_menuLaser.paa | Bin 0 -> 22016 bytes addons/microdagr/images/icon_menuMark.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_menuSettings.paa | Bin 22016 -> 22016 bytes .../microdagr/images/icon_menuWaypoints.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/microDAGR_topBar.paa | Bin 187347 -> 5401 bytes 15 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 addons/microdagr/images/icon_menuLaser.paa diff --git a/addons/microdagr/functions/fnc_showApplicationPage.sqf b/addons/microdagr/functions/fnc_showApplicationPage.sqf index dba6b54f18..8284ed8cf4 100644 --- a/addons/microdagr/functions/fnc_showApplicationPage.sqf +++ b/addons/microdagr/functions/fnc_showApplicationPage.sqf @@ -38,7 +38,7 @@ if (GVAR(currentApplicationPage) == APP_MODE_INFODISPLAY) then { (_display displayCtrl IDC_MODEDISPLAY_MODEPOSTIMECG) ctrlShow false; (_display displayCtrl IDC_MODEDISPLAY_MODEPOSTARGETCG) ctrlShow true; if (GVAR(currentWaypoint) == -2) then { - (_display displayCtrl IDC_MODEDISPLAY_TARGETICON) ctrlSetText "\A3\ui_f\data\igui\rscingameui\rscoptics\laser_designator_iconLaserOn.paa" + (_display displayCtrl IDC_MODEDISPLAY_TARGETICON) ctrlSetText QUOTE(PATHTOF(images\icon_menuLaser.paa)); } else { (_display displayCtrl IDC_MODEDISPLAY_TARGETICON) ctrlSetText QUOTE(PATHTOF(images\icon_menuMark.paa)); }; diff --git a/addons/microdagr/functions/fnc_updateDisplay.sqf b/addons/microdagr/functions/fnc_updateDisplay.sqf index 4b609085a8..7ba92e55ef 100644 --- a/addons/microdagr/functions/fnc_updateDisplay.sqf +++ b/addons/microdagr/functions/fnc_updateDisplay.sqf @@ -47,9 +47,9 @@ case (APP_MODE_INFODISPLAY): { //Heading: _compassAngleText = if (GVAR(settingUseMils)) then { - [(floor ((6400 / 360) * (getDir ACE_player))), 4, 0] call CBA_fnc_formatNumber; + [(floor ((6400 / 360) * (([ACE_player] call CBA_fnc_headDir) select 0))), 4, 0] call CBA_fnc_formatNumber; } else { - ([(floor (getDir ACE_player)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 + ([(floor (([ACE_player] call CBA_fnc_headDir) select 0)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 }; (_display displayCtrl IDC_MODEDISPLAY_HEADINGNUM) ctrlSetText _compassAngleText; @@ -107,9 +107,9 @@ case (APP_MODE_INFODISPLAY): { case (APP_MODE_COMPASS): { //Heading: _compassAngleText = if (GVAR(settingUseMils)) then { - [(floor ((6400 / 360) * (getDir ACE_player))), 4, 0] call CBA_fnc_formatNumber; + [(floor ((6400 / 360) * (([ACE_player] call CBA_fnc_headDir) select 0))), 4, 0] call CBA_fnc_formatNumber; } else { - ([(floor (getDir ACE_player)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 + ([(floor (([ACE_player] call CBA_fnc_headDir) select 0)), 3, 1] call CBA_fnc_formatNumber) + "°" //degree symbol is in UTF-8 }; (_display displayCtrl IDC_MODECOMPASS_HEADING) ctrlSetText _compassAngleText; @@ -171,7 +171,7 @@ case (APP_MODE_WAYPOINTS): { _currentIndex = (_currentIndex max 0) min (count _waypoints); _wpListBox lbSetCurSel _currentIndex; - + //Reset focus to a dummy ctrl (top button), otherwise HOME/POS1 key goes to top of listBox and has keybind blocked ctrlSetFocus (_display displayCtrl IDC_TOPMENUBUTTON); }; @@ -193,7 +193,7 @@ case (APP_MODE_SETUP): { } else { _settingListBox lbSetTextRight [1, (localize LSTRING(settingOff))]; }; - + //Reset focus to a dummy ctrl (top button), otherwise HOME/POS1 key goes to top of listBox and has keybind blocked ctrlSetFocus (_display displayCtrl IDC_TOPMENUBUTTON); }; diff --git a/addons/microdagr/gui_controls.hpp b/addons/microdagr/gui_controls.hpp index a8fbb8f83f..ab39974dc6 100644 --- a/addons/microdagr/gui_controls.hpp +++ b/addons/microdagr/gui_controls.hpp @@ -18,7 +18,7 @@ class controlsBackground { }; class RangefinderConnectedIcon: RscPicture { idc = IDC_RANGEFINDERCONNECTEDICON; - text = "\A3\ui_f\data\igui\rscingameui\rscoptics\laser_designator_iconLaserOn.paa"; + text = QUOTE(PATHTOF(images\icon_menuLaser.paa)); x = X_PART(6.35); y = Y_PART(0.1); w = W_PART(2.7); @@ -486,7 +486,7 @@ class controls { onbuttonclick = QUOTE([5] call FUNC(saveCurrentAndSetNewMode)); }; class ButtonBL: ButtonTL { - text = "\A3\ui_f\data\igui\rscingameui\rscoptics\laser_designator_iconLaserOn.paa"; + text = QUOTE(PATHTOF(images\icon_menuLaser.paa)); x = W_PART(3); y = H_PART(10.5); onbuttonclick = QUOTE(_this call FUNC(appMenuButtonConnectRangefinder)); diff --git a/addons/microdagr/images/button_pushedDown.paa b/addons/microdagr/images/button_pushedDown.paa index fc519a3235374b4144f1d369568aa2381bbf26d6..68e301e7cf2154466f8d359c851c20732c783e48 100644 GIT binary patch literal 11080 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 literal 22016 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 diff --git a/addons/microdagr/images/icon_compass.paa b/addons/microdagr/images/icon_compass.paa index 777eaffde413141dd3d1e8e1fb771a7988678669..32528e3cd3b23755fbc3b8d4fedce1a86bcf8c4d 100644 GIT binary patch literal 22016 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 I*igy;0JQD~7ytkO literal 22016 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 RpPB?bSD!X*+Ow{={a-o~tH1yN diff --git a/addons/microdagr/images/icon_info.paa b/addons/microdagr/images/icon_info.paa index 5dc94a444c17cecdaa8b4eb41e53c9ec96996f95..ad7476ba0f72f807c2d487083a323bfbd0427cf0 100644 GIT binary patch literal 22016 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 diff --git a/addons/microdagr/images/icon_infoClock.paa b/addons/microdagr/images/icon_infoClock.paa index 292cf29afb6b50626a5b634bfeda1c7af1c15031..cf0c1c134871e595960d4296f67fe62ede716915 100644 GIT binary patch literal 22016 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 literal 11080 zcmeHNZERcDdA^|qgt}Lm3AjKwY(L0OLPXLkMYLH#Y~DhxYGWbWRLw_p1&y?1$g{1w zkfIqOLs6ogit_hvMQQUW%IER#<3GBhD~jXe_y4r#ryTfy$bo=W zQ3UAv?L|^f`kmGU9-;+L!20mL#KZT$3f*q$W*4`)%&~lOpIRA8Y}u$mjDTL^$0hj#tRg4nnr*};44{3~Cem&ozDq?h+Yd3Z+kV$~v!C90FXg{+Jmy)p z0i_;au|I`*q%_yVJWU+M`gcn4M33zV_$*~}zYpd2$@pN7&(};kja=Hpb!theERzmH zT1aOtsan?TGd7WHAn9vy&e-r>nuzc1t~I+r$6lf#-MgrK1nRr*CgTdfKzCcf#{DPoKcdce5O?r*A zdj@j6l+C$0f6d6bN$)Q~m${!>T5EBd^eLn>Z%C6)@@LG~;uN*CO01=&GUn@W<$=e1 zy)Nj7vg!w-V-x52K2|dOfgT{gv;Q6^$V0ou88)hkUe|_$@3~$K$bAHXcTK)X=*^5R z1_qdN!GxrvE)xp*VALxnKZ2OZl&=Vf8}_UyJ+=|6gr2j1GAS+8w`@A;;XHXG4gFlU z=d(%By=K36?ZTdR*Ih?yucr07+Fc^$0iD=yCg&j?)Qffhn6F$*r->M@ng}|YxEYx9 zL7yx{(npMy63U}Jb3XE=+3$w`7~aeHDp17g#W{a3`60PpOxK}DEzWu(p?nGZ3D>I? z?k`#@>U$^`5sPvE1{gs31%shF>8lotanf&8tEB)?2oanCy`0zNTP>9$rd7pa&Xdh$ zF|WgLTd2Q|Bpl70uicgPXr8OSF`vjKbF2P2U*4m7)`8oqqCVQQ?k~4$sS^X6fpV9( zd}6@bQ&yF<9O~>7ZpGLdeY#Ib6?kGmNVb6`J!XENQ4IEv>B@f}?Ar_ki}9$nXVo7o z=%r#{)erd_Ccor)lTX2VLXz*nN})o2MB{qA!?j@tKTF(yurBMQry8gK0Uw4Ukp>?M z1@a+Suh*Atu%9~(`ctaKlyg2y`L5ZGoOI7opTVGY>TNBV+@yR{nrel-@@Z8)*thD> z=iKh|pjQ~GdT|PLrZjEem2(3E^V}Tz=d2=y(2lTP8j;{>PhaKQsROcZhA{ zuiYkY4ZZUt;%8DAUr)r}ICHR1L<!fwZS!JszjM#L$oS z0{$eZ7kp3u0W*lxzlNig%C22hR_x0*<25PCuW~t+f_~exX%FPx;>;!87TPV;-*Oe} zK>aP9kVh@`m?lYYIqhjX3VO?F^^G%-V=ZYpl-e4F{%e;q*UxlxX%_p9)0rnTM&y;- zpHC^$5O3YyXW}p4Zs70Txqq4Oe|r1=WnCKi$8TK996wn~ek;>GAF3ymFQl}i;bw{r!$lDk3IHS%6?wlEQmKWd`-@39+*gLi3WffY_FM)1JfEw0NI&DfHT#C+JRZ_dx|;M;kFt0;-?cp!_-kv=x4)f8SbI(k z9LDp^1Nu)*kq@sf+0JU$QjqTCqB~tK-&)$9jYOua{qx(inJ(%_|9sw%`T|fhM3AT? zMSkz%!aVfHdupY7F`xP37o~jhWtfp=Yx&{@qyGH!3riPY=KQxVch7_TBim;#PQ8wY z^zY!gIrKE>4~06Rm(^0S2tDvsOQq77Z_alO5A^`-8KysoR4PT&4j>nvb0P49@;8h- zcN+A!wl?Xf9%ZxTJn6S2vw8CO!i5Xx=$~6tsZ>M$8CZGSQH$2~fS;UsW?X;$8_%^JJu#5j2@O*IheP3DXU}E;?5;lAa}{=Q zvc&zvz5jsp4-X$YM7utGcsNA*Ba!Drq`v|_nEHR`jxhDVwKc_lP=l^xzAw2HMfLK0 z(=<3S))c~DL_#x=(8yRtRp z^>#gZ8uTAIQYcI=?mrrQuB6|@`iaEOp%Vi{L#+C(Jsd~+i=|lbMuYx$cpg+LJ0a?S zrBV&?94HiuRni}cghFff6}v;q*T@$wnKJ3`>PltEH?Q|VhIWul8a4U>)gp~mf4fW9 zi=oXxuS?Us89B5W@OrZ1)YQQ~&@bAKj`=E;Xm~Tw?nHir^LosuD<#o6(Chk~JC~Qs z>t7{5+y3L^D`0b`?XA_X6$(cpS4VpNGc(E4>*lzGIqtKLe-SS&ZU!L!%%#-!8SqEk zzYM(qpXAV8$Ii~r1{seiird^@I-P~Sj`^13C4=^#NL&}BALcPg`e3$0yZ*08{}2CH z;Q0sg4eCMaUimcpSyatKJy6}r9Qj~LZrA8XI)C_Pu-ygzMTUoo*nWoVTMPmIw>TBx zG2e`>5(dt*H_xfbJU+YSxNe#(hwK(+`0BJAAJuQ};-JS0*nw&YjNH$OmO6 znPt2yrK<7$aHL@7E153Fza6d@kpGa+2$Phne#9Nf2iAc+r`P>=P23E$IP*EF%zbs$ zuch+BdJ^`NE{lUF=lm1XVX+=)G2{MC@UbzjF`oSG@TxlW&_((ghe7vn}vW|0Y*PYkO#hV9gEyH`B5z;Te*&=si3E z&1G|GEBpq;DmMdHeRafZW;`2)f9RR>myJ?=Ze`G8+#@&PCqH^Dy&#;a^w`*sm@n{B*D{UglpobLgmAKUBj9|gouoS*Gg z=mXKzOC@3MClQxn(p^kc#UAI1y;Q10j)-^b^&sh~eE<7q-iLE>nsI*~^ghgk8}$Lc zui+sg{K*CEGvo{SHEKiJW9CQT&tIE%qN>+6;5U&r)fhMDa=HA!ckcOJ_HTz?z#Or! z4TlQCTb#%n;FxJYZg(f_>KN!^UfbbHdbAql8l5ho{~q{Dh5f+SIP{Gu1@k)~=G|~0 zY>RC;Htf2tL%xV-LzFM2Bn~jrtbr zNDV&Z1(A6%5$bR14b*^Wv#7}=_2aY2beZeRoMG}?k;xj*7ZrB6;aIU*aBxs>FdTN& zKvO@_ZX(|+rKkmD5u%H*?NkL}Jcu|D!!@Nb3d)*E^oFGi+GANNU&R~!2_ z_mBDq)F4PYf@T zvHu3Lj>LYnM`E+x#74jO&lAJGk*Ds~y*MA&Ba*JFfqLC;eX_al56T(q;rZZurxnwh z^-9Yw0utm45OvFs8u$M9yY)lvBhi=-dTh=Mb~RCdH^0e8v+Z`9b z-{j9OUq1Qz&>CEUG`R5FhbHx({`V;deoHy4ZjKGfyQw7qi_UC zh+tmyEBbxX@1wi(Hr*z}8bm+kfR!uil3@nc)fldDeTFAO@H&Xd;}_u@_T5Aj6Tm;I zG`<_V<4fqrmE<*sS3-o1=6Y=7n$t`}L_VM6dMF>``i0ksX_et*IhVA23282_AKha} z`-G81S$e}RaIG}wYov*08|k3=y~MN-{p%%M7x9{`8fO}WTQZ$t7H)wW*JEL$xJxh6 zqY-Pqoc1!DEvHoTnyH-esx1H4YMO=VM>(r1ok&YW&Esa-MF2QUI;^sbs;VQ~+NK2~m#(tv30_hE-9#1+m>9m(&F>Vd8Uc0O8 z^=jw2POauSHHGp{xu$&~C5Q3{4p{!-_8Vt}s><$pTpK_T-Sa;+@y+c1@o=G_@4JF> zd?-}e8bz5t9R9hrXUrEwy_@ueE0s9c2}YyGDW_;8g0kqEJ=4+g1j~OZuck2#E2Ds| z9kupkvIn{rP|nMA?bY7NcF%i~vDo7`y5}o(fpW~kypFK{{^jno78wfN&Yrq}a-KMy zd1E#by?1YW>ikf6XyWHA*N38!3e&K=aBV7N9C!XlI3c8U#ndP=F zueXEO3kMDy$Sf?HW!8>`MU?;a#9;qC%WbMaF?ovm*T3j`3Gah9m%lzP3x(+4X0FfP zyLa#08)xLu#Kgo9uTP$jJRfB`Iy7|nF!>P0bJx)*gK+(hj?5*dvzo`7V!ypz+5F9+ zF`p;*W_}W7C@q~TZ_m#867}1`tx=@6xUOh>>-@7K+m-!`jkyscG#tA5todG?#`VpG zbFHcV`D4E7#6Y}R zf3nAd@>;vgNOzfOebTMeSPsQ)2h#Obe^4rAV!4_Kl5a4-J51Yyp-QmbIp&jBuBaWZ z4SOO{z`8TGc%=%uQI4p`V$}aatYQCoj-<3;RJ?%9BUB zOuxf2z{W1JT@UiT9*-ftMA`_XUB%-@*jx|g5YCT&@IRwAms>S|?qC?P2iM}G_zrgj ze>P%c8uE8&=g{W3X4=IvpE(bZ^WwJdLA&`rU_}~^@oZO{^TieOIy!8&-y3%Kpdb9= zhotB4?MHw4!V648={HZGezzZm+b-k1nI>TW*7)vvOj}3I`OWWG$1phlJ!mF-!aRSN zX7U{Qb)o|+{wB`dhwI`m=D$4lnDz3w6(1WZSdOE(d5lpla4U*mfdFw_jroW?mKxY$ zB9A4sgVExMDUKj+Cq{7mc(h^wRZU#8-@nY`CF6ZF%VWTzJbuI4CqzN-p2smHqHw2l zkIlW%ZWkT1Pc+&7LTRQSBME>9BwDt${eR^ly0@H+JNqs z+AShJO08h@*i)@(gRy}u4 zUjLncUjO&cKQsT#M9D`)7|qinW*ZfRkox-i2PyruF$!rO0@4x2S>Z@C@J9N{@bG9B zeka2_6@IKW5wgilNESy(8N6>kBx4@z&GXBgvIJxa$P$nxAWJ}&fGmN#R01P6*y8Q) zWf$-~AsqKOdzV&IuGTG*z?yZoxU$n$m@X5dR5B#QX>s7>83Qe%j_8P=!-wjF*~H$W zV&!apBMGd@uq`b6&PvhM0^Z}V!B30hkQ;4wVqTG|-nP(AX@$}>B8#u$dE^&3#@5?< z*;8DUpSunE;6);p9<5EI^#OYX%QZRNNCJ#Re(!9s{jsbZ@gs!d zJsFX#`cgoXu%T1Zd)Yz6NSn+Y=SAkA{B@M(xEYySzeudG#nE_1spUp(ZmSQ&$J++m zce;e};#cT{6mS2-wuQAPg!=lys+}jSR}j2teM}}9{~Li1aeqkzdtR65##^ZjZGfK^ z2gL`X*+;|L;@vwIz_-POp?smcDgE~L{dCsKYMLIMCaNOn?|rhKpz$F6_o+U-B! z78CEqls1{o;Oc4{1{LUIYi1`jQ+|eF_+}r zY_ty^ec&G5)K(uxqJ2np9mCW(UhMe97E^y>56w-h1e-JhbFT5mPt0Exyk~BcEdaEZ z5Vc0Dmhnfa+aSNY0!rl&v>!XWvS!&bPvB9?|x!=qc3>-)Px_T z`bWT1tItWXG-g@^{MBk1|C@)Na!TjFV|>QFuvWku-14JbM{Dvebsl}_dmv?WlP$3c z^HYNXko$jok>2Qu6#t&JsYxU9lEBJBDusg1t1-RU|D;9?zUhc~^CHR< z;J@Ygzu{ClzqUB$WBx4E$14ctlY0jbM4IEwnjsf#aZUP!N&!!$g0G>K)`|M3+HYN1 zk}{c&7cjjy%lKah)J{B-;y>hvyrjU;H&%=IAI9}SV>;MheA0e=7oN7V56!gjAd%mW z{sP`QM5Ot6;;SRwS&{C0E+-}~=Xaxo@(A%ipA>zugm;SZqpSEPi^cJcNcSW&alHxo z!}!E;oQ!`bz`hQv6o0Rg^+{b|3LxNNHuL@c)m{VCj41zhc)RG{xMzHbuCr8UTB;&M z{?nxYj4z|BDPHI?h-_#qa+W4ubmznDyn3V>2pX_@d{cK?OEG;nJ~BfCFOiluLB?My zkg!S-zoPpqkn-GTYT@=@7NpCtJ|Qe|tQuWUhFG#Z8Gl%v7QyUuy=KaV4UrFxr)H~-86-(?eq^bzUq_Uxz>wwJc(UmlI|uz$etE~qav#$!MD2CRQi&_6*ly4X^p?0ZKE z<2|ewrLB|kmrA5_v=skdALlJw9r{`rN}taEs=d`j(PIC7zgE?RFi%et@fmb6{$TT^ zMEClPFi+GBa~`)iJpP$(Z`)#4>tm@tfqO|Y;B2_+qS;z5rstc{YuI8>1k_vTC$e*% zx97IZ_oS_p@s~=ZbF>uy!T$_RiVIya(2c)lOu4JTx*`MC>jE-9QMn%f|8$suMSdTi zP@_+v_<}iCPOd}nH(5k}C9KbaA}`SKUkelbK25X!=Dbu%{Yg+$m{$n(75S&u^ELT= zy+?m0k(n1f^F6b<-H|&P|IXnp<(A@a+?@AnSY8s?bFlwl0DO)Pm{go2*l!j#e3*5( zK98sVAx_IFVgEm-WTGX==Ag!;ImhqQLq;s?sf92$5iwng0|8%oCU9vy8W}QC4Mg4&= zeuL@GqbtJz&w5QaF1M=KfD=a0AK3nXi!6u@uG%mOX%lNSYLfM_pg(q`!M(?gy~3a4 zo6#w|xn>aQ zF9-}C%U2D<^tgVIwnoNZDv{37Qv6fiS@tIFj395=ULoUQ|3ARubg$=FQ>euMA}uX@ ztKOpz*uUT33`n-phvDOMSDrCAtpc7b(UdPu9ATSJ=NmA6(5BS`zpKR_Y(ASi*nXfF zwHE-tiP-_l*0TSs-LXr5#p%`_v`0f7`7V3 zJHWebZtbb8txFR`d(VJA5GQN~I#n=gP+n#v=tHr=X%O{c{N>WPjrw^MZ=65$+_4Ym zn_)EG%xOQ`4R|+zjzD_Y4kjUWuo-M^0lfTfG5yp_rs+_>8; zzYnq{`q0=`A09rK(?%aY{6t^b8t)NTWxVevjm&JN4>(?I+yY&@q0%#d7}kJzi~c{> z6nLBU^L~=;z1Ws1+gt1d>cdbO?|TtOxz4f#WC_R;kR>2XK$bu&39#tWRC^xi;FqwN z6&}g7ERS2E53e4z#TT50Qx@PR;lMA}qY&I?Il?v!?8156V)wef(e}YTlsT!kxQY|j z0HpES5>sxdF^*d_5NU8cYagoEll@KMLVE0o1;0{9^2pdm-Ha79f6QW9s*jJB84kjMX3USu#VeGO^cpqE|?fJZdw;PY1KtB@NZH=Cc-?cXao*Dr9% zR&WI4wk07SUTd&oy)ak;T%q?G=-!r8XiTPI!h$W0^`^;Ub zhKBdW^mlvvlM9N|UBxYKb9XyD*hp#L!qk<;R^eJEddc-imL@pAtE6sO*p(&I%2N9+ z-|xK~)4{QN&E4Mq`Rk8IJNN%y#81(#y=MVQRsHAg=WN%C(Y0^CzL#nQ>IYk1Xt(fJ z=i&pTyCmnth1uf5kkZg&Ts(8(ED&1HvdQg^)!*Iif8^S zIF+V;p)S*PDF0ik|A>FcW!wDa`dB(&(Bk-i1h>W2pfB`Ttmj&!4$2aB4u0M-d(itB z++L$FPKB^RP?L&Hk$)E5I!e7DN#8!|wS0 zW2@=0ELN=`BQ6(i`DTwWp8$<9`TT+#R?HuYp+N_qzlA)6(p%cw5uMgb9^hr>x*g#Q zyn}^pFhY!6xBINU9mzwE7bKvAuREc?I_#NfsDz+{uRBq!yEuak3qvn54_yoV`kzh-{6^pqf)2iZP5aJ~5dX)v2lU1K z7$d_(Rrzm=Xl%Jn98sH+HZOd59LB?%RzdzdDZ?))!w+dR<3i~-Zx*EdGyWc&SXZ9# zAT1x}#gj|16}-3D7K3BolVwJG7RDo*Y_hTE;qXOt7>44F()>D0vuFJ;oZot7msq~$ z^XMv{S*1tB^7|Du?Fw*ZoD*p_847ooZ-mg<@}&HwBqrdo?b=we{D2F6zf#S3k?I5R zDtdgoBJEVdnCCH`Wf{Weca1;U_2=VAL-DLMzs}O3yI)*X3@Sy-H*#E%#B2v%*!=FN z;S1=njl=p!`6-^$$=4eOJ6rzk=7*`Mu)Y=w(!m!(>6?k&==@l0HpeNu_=aFN>=i1| zoX2j6{6gv$HRsti*0bF z7Fd^Ib5;e@X2UAA--@Mi`}E>j6(u)hcScl+`)&zDgIp9SPyej9em)r-PnDvj6Z{WZ CO?FxU literal 22016 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 DZi;w? literal 0 HcmV?d00001 diff --git a/addons/microdagr/images/icon_menuMark.paa b/addons/microdagr/images/icon_menuMark.paa index 2c77aac04b0d34b832083e03d8fd48482ef53984..5cd2fe84e0aa80ffe35d07ec053656aeb8958b28 100644 GIT binary patch literal 22016 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 literal 22016 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 literal 22016 zcma)k4_K4u+3#y?cZ7(tibrX;9lNW3GhoED(3%`;YrfO1My(Z$Afdo9taBtN8qy+v zBo*3kYOt*hdhFu29KWQ+gqO6~V8qfRS6l^PXUxD@c)$Be^89(T zvuo$Qce+&Hm3;gHsvmDp9h2!j6j{6h*{r`U!)W(yX5PEPOcki>@_lNI! zQ0q&R3V&TEL5-9S|2$vohJhsT4XdeL@e-ws5JA56;5+mDSb?;aTY% z{F@1E)Xz#uIUvBAqVMxS?Fr5uZNk`ocBp}CpDCocyMc2H+P{ZSoE>Tr(MpR z#Q5{T;#Ri)=YgUmyzL+0!Zx=4Odw)o@kroN5&f5EH(NP(6PaIece-f2_1*JD`18PR zQG1^U-V@Ph0-r#8bbUTQi`KI@g4fF*xGL)3AGiW^rhMRT5`N%c#q{qb;ni<(URrp=8s_Vu{4^fFsX?yiW(vvpO)XMA7t)gTx!L^ld?-)o6U|Q}Oz54a0|*oT6*SD% zO9Wc~;TmY4!QZV(({sJrGTi^()|`S=?{pC3U$!2r;5^f0d~dehF+zFLUr*a*BisMg zwoEgN@17`bWc$0@2G|`T_3xfgiOPT5n!ACsgz7N=r)vHU_+MIz`TxDQR_G4EhsXCq z!=>Vwd?f6_E{#Dk)d1xa*s9b3|F4n$I+O;*9Iuwl@1n92=pGL)|IOM9N_Qkk=quD0 zlv%xk57RfPZzxkey}cOkQiFVWd_2bQXr57n`jGyf)$ddb(|$Rjn=WaB5f5yfarJz%JE;y&T2# zD$`uOc3MjMtE!jl{n=SrnBLzk*Vmo1kp4e1%`0ddo+16+sTt5qPfe5gd}_?C;3U#C zTtCx%**NX@p2b*czEg8b*6YPs*Qhl6dA}dyZ7=K0;4{D%pMP;^~bO*-Ds*I9y z_%Q!-)~}tz>i=)rp3%JoA16c7${jy~pB^VFdG#ZIJT844h{s&~Q zf)va3qoE1HFK_)^efzQ%OEG|a1MEx4-vy;n;qg*=?NFvY z>~=faG5yBci%MTxa2Vrn)~-;69FA`>p0D1eieA4S!Wh|u57wOh6~?D+ALYy8!}t+b zm#yv#$4QLad;@mvw3m#p&40w!6r%Dl=$xb3S4Z_(rkO2s%oLLO%~AhpNh)LiWtycj zP6+1V_IKN^ug#ImN&6Z69$Vx1e!}kz*Ji6$a9eQsuyeQ7my?x>@gu&&hPv|6QH=8{ zp4H{~+KyqYG#@jb;!hFzR|3C-ksA?AkMrL{=!pMcgig9K9r$0v^8b!etp6+5Zx`+V zZ?>fs0RM^oib;(v!SRrW1>xcy4tzt`*S#rTlIpzyht5`J_jtqRW}w+GX2C_9vX zo+sn|M#(GBX04(20ri2wWdhY0_Rf&b-<{$Ebwe|i%Cf78~XVfX)J{$EgL%SzzG z{e%5icynm~>yiEoO--2I0T_ly>=WWY@1y(G4dq4UqDSd`Z>)VrH3J{6ze2r9bubhq z^Vy`%Q7=4pbOh7iu)d1;PweI5K$l%2kuv-p_7@6nVvo1=YkjF%J*BvQ&&W|9C&?!I z^u4j;LxRLZ@anOiktT4kaQV9<$A=0nAu_+7p~*fs=P1VXqJFc_VrehLcvYa=Ul#R} z@oejF1Nn&7VtTjl>-^EtQG&a47d72S&*WkHotiwv|JfL4nm;v4B&k^#$N10F{S^4$ z$nL+Y#>+-%{~RuV*?3zA^0ou-|LN=Zi}e4OZ5Q%c{@*ri5b3`M^ndExsVUr^L7`DZ zA`u_PNdH|fAHgyGhYbMJWBTt~%2Rw%xu)lAC&tf!|L5^g`+)cl^Xb9#XTkp0)m0Pw zzRU28iq(I!FTEv2&J%xnTmNp+`K;UDWuK}mBm6w--)+tArTo1zV)kWAQ_^sM4}d&q z3#q>r!`dbyPm_IJcE=Rehg^QZ-af2t#PzrJ57@K4)W4hT3)|0?*AaS`ElUONH<9;a z#tkZ7E+zKsPR$wPtn6&UZ}8@7qz4NMv?yq-nwZ2NA{oZrTaV5|E8vWL_d)J_vYjf{qIoTP+V`P{tMdw{r)pV zUT&{hgoSXFjy)m;7&QAod>hG_gnwlxY{fC_pACROH z`ObB9*|kEB9Mf}M6ZH~{r5xk*mJ6DalC8vET&~$&kd{LIsXH~7jU8um&f@Z!;QvYC z!#Ku&xmf=z$HzmI{=V`0=nm4~ixsB}V*5?v{GY!5-xjm}e_fkFEz*C}3K9Q1lp2x! zU$1ytmX%7!V^Azd@c{VZ=MQuq%sw#f$9Sg(_J?Udk=MEU8*8-@Zz`sz={KsiO(72B zoAqfbmj01plUl2dIxsy=w@dBw<&gTz4Q@EExh0ss+~5)6xq5do91ltRbM-&ZFD)J= zc(-kQdzzdl|6xDP!Wi)%{4b(kNdFIpDF2Ha z-#4=UAMjtdqqdgV|C<^y|F^YPiunJDX`aabUtFh=fqO>wPlG}x^LVNKsZ?xG1bf#! zfyZ~F_@E*P2XKsc8aAjS-Yl}-M$Pt(6PFjGNp8^g_C_(zw{9?ibP;`1w9M7l z)>8XDzI}yG=%wdvss4O1w?9Pehg1*x9}>v=jBf|JH`0sSUv4;GoWYKj4dx zXQF<5dnyxeNQZdQXk8N-Pn8Mc0lpkEzbeD{_Ohsh%L^aa`f`SQn!eL?#_FQ@x0!j{p|FL3*raDIr{`^0=+ ztoWp0$BtSO|4Co}JCXh`Zk4H6{RjU4t^PMmHQ@F)fc?)|p(65mNRh30Y|)})n67Bq zpy3Zt|K(DBmElEUhWHPyrj3Rfw`CNUuQDt*)YUe;kMRarztSe^e)7F=t!}QnfRVHo3N8$yWY+vV>l|uYA!JqeyIRz=qd3LBK zvkG?0CQM&!&aC3No-&LPzd=5FDOQ;)x9S-dHzV=pe%!+J93>BFYwhEQ!S8PCd=a{zJS!&i|X5Ka2JMTg7lWo`WGis$@-^TAzmi9Njxas+7Gxl3(qIrdI{0b zVSK56xnZ=nh@3yW{h&{3W^1dB>2|TS(@kZ0yo;sX0DezWC)# zGsLsDV~q5_wie>OiS{0=$QSAVM@jsjYWYgZ+W#Z^i`z@S{a_iczsHtlkV`3lkJwgP zOQ-1mwg>Qyrlt@szZ>GMh1a}fJrKTjm&!|wF1U$(-3|4%5lUZa-Dq%(me=C;Hd~h) zhTHN8zsE(8%QUS2KWJa3Vf{0+59-5#1NVpg zy`t*Taf~N`|MI-HVT?ChCz{Km`^ouyCCGb(XeN?{&?GWEId_nZ1%f8#DjZ72!9>>C2+}|M3!M!K) z9d;hEl?hb75eEGr@*c;YgSh??+j2u}d8SW3#G`{!s_U9FH`BLJqO*C(W{k<&@_qV{6-ol@v_lvRl3+>GKkJyAL z)&JOf1?l=Ac`uv^k@f7dgFf_Tk@~lQ-Y9s;dJZPh!_Jj0b(NuWcsw5)E^5|%V23r1 zpIBmT4gNC6+V!+Ek8w|Cn)VD}1>5sbsm zLA%%cDp`NCFYM&yj}v=6?1%Vx)A%7={-{sun-=JP-R;-%;9rsXcKb72bsz30_CxEd zGL=DrfG-(=?x z3I7K=!obUM;@{nJ-nI+Z3W>d6;HtL8;yDR^_t$r5K7$XB_tTm|T{CRx7%wdOkN9~$ z;r}J`KOfde~$`7OUS6U$-jq(3i zTE+A&{M*VPbH6j}@2qFz6~q2Pr#zMRKLqkz#@Kg+BjYE@e1`lW;Y|NX{>$J%iurNW zm&?QPkJz(Zu!n{Frbzt-u0f|TJVWRM&V?stqV#@bfh)(#^1rp-Bj&#`4EY@NJ};ts zN5ubK>c1>u?f-4lDDF7WK3K#oaG~-YAgqTtVf{f(5sC720RZqyE_Tu8gb_(R+X%Wc2yU z2;3+#{_F7}XfI0d^NRY1`>xm4?!*0|`Io?jB*A`Ik06aF#nz{6hKzR-=s~#f!R3cR zK1!#ih&|Zin`j38CwQ0sLjLO2s~^MVKQ(4lfc}$wo=lIlN{hx=r@9!Gtx^^Q@xU%U?aN~2MFzJ0-XQNzaD@67<2C@EE8&cpry^qXS(eevLRt}9fYx&JqVE-xH{;K}4 zQ%Vsh?$^0gVn5yldoH*gWIWsYxA2_hI%$6q$P?VBXmNXOzAig^|F zgkA*waj9M(E|2U7x8Fm?gYZDqwYBuV>Jwd#i2w7F z^uH^K|KHV}UmKH`ggn1ys#NB|hx=RLI%0bX5{5BG=b05u{>EhApq;%BL;SLY1hO98 zu%Fd#rRy``1b=s$@@K%_Wgm4cnM2wK{G7HaiZQIO4bndde||k=_Ca`#=-1Ww{$Ro7 zuZ-+P`vtK-37m!LJ%~O-<55??+&dIJ<0bSrhX$PNdW2y-oqTHwuKx&}k6)bTJs2-= zowheY0t3c_P~OL!U$h_}Qa_bHGsrv0ADPb!;13SBwfS)UT!>$@_c;qIIy8?l{3wQe zkLH&S%);gGH*babAGH^szIgb-$jN$@Ok5o)s|z*b^3P3N8G+R%<5>;+1!OA|`G{fWKDrU| ze}ZrT!1b?=4A^1)sxe;Z>asz)3h_@CxPtanW z0LJCDaNc?XK8ok+tE;Pt{%8#>BL3@Es964AREqci zBXRzd^Wx3o3nKpiM{|dW|GA)lUww6o>Ob&z`i!>|_aC-@Y?zr=(0P}SL`eI$oI&6(_2(9VJrIOj zqqsjL|E{2x*mHzuJT%^%aUyKz`RUJbdB_*EKPH!w_}zWHRRiI0(toD874jdbe_m|P zG|!r~--7GkZ+`|68`Ki?=jRKaJtk*)9F(1gNBC#0sgfmRypOmhOz81J>28L((^`-l98 zh%b-q=UaHUhV}pY>$6lPTZetPywaS$UY|iM)7Iper3=(U;}r6*e7IvwUhKd2Gx%+`85Of>q^%DyV=|>b3}z{+NgzeRONvfC3cME?gAM(qZaC=8$`GJLme!0e|V&Ai< z;C;X>2}jP0#pcE4bKB|t#Z;30e=mvu)+GL?>z^0JfBu&LDUkn7`EO99$f5_OM1Bn# zjf~~j%9ct6d%w2ZxV%Bc%R3^*R|m*WvK|H^KWLh=-(Nyi4s-6h>)0 zTWT)LE=M;5r=F|ql-C>}ra*$4{;#* zxxe3S`erK8?9~@rh;`Ws0`^`dDR*2#$!q2~d)`l8Z3L-7jq9xU5?1J~cAPE&Cb8ZW$*pQg&`rTgb6_K9K$FUxWH zJmi1Z)qR06@*g9O^uF>w*L!f@p#EUk{+|8XH|{04d%cHY&Amr zT1;1(U#Mtj=u^hL3X3H~{EK78H*}-d>xezcFSw{+?Y}|M7q|Z*c>H}&`jMUab7ZqU zLYeSaq%W^MG*9z~C9(VS1kRGREQa$*A*QcWG^YdBVqB?k0v+zt66FmsOz9m-*s64) z_DFeN*(bvN%D@tq{!J3Tk%S*<`KJe^IdFxL=s#?qqmJG8Ch*5G4F2BV!2>o_p3-lj z@+jXoQQlj>^uejAePsTMf*mp`9N;kBRB%AXj`zKSgYoyViTa=D&WmtF_q7NwEV&SW zA4|%At>iclY5!3p$Un1QTPwu)Jsm1f$NvV{dy6AV>VK?R5Bx7J6d*|M;GTXs8~6e9 zDSMK8lH<}jA@blh^fLgT2mZ8}mq_*tcjG?;@WdrWgBJS5c+I6tCKlVz%Jo|47t>Fi zmFrmidEk7$7<)7<{w&}T(Z4@@z8Kn{!R>t(_!@Ak7i0U`bUON^v%rD^JT_A2>(I7Q&g*0sjf`r8a^Ngv>K35N3?6sl`r?|~23zW`=^%hs*r+2;jF>-O_>+eObhq*CuGTpm5+g=-yRhVxsVQTv!M z#TIz>1Ys7kZM@)f=g&lGSZlZS6(u)A-M&4xx0DXIFAujLcE-}e$Tm3OJgjf3{Lq5w zQ|K9GO4_{`qclmM&qu;+fE%BD^64k>{Et=qZgF`v<-hXf&U|+Mhak=I1Nd-zD6JjR z0?7Qnf%$uWbBdXNno91a&sO)e z==Vz2tytBc;eu077A`;J_nJbXb7Y%>MJ+{~FsKoQ%issMA z|KiyEO@#l+^N;c0?}w1UdUN`FdaQZsI<`X1EB9I%rk-`HmSb4s5FSn4?^0i zJV^E9J!_@rv!lJl?fTRh)=M}EIR@zV6-O?=YmrmonGlUK2{oc8_8@q}@Uqu9oNznlE5NKO8Gh z!){fk^Tm)R$Km=YZM^B_zA=n<+vn<<4F9ahc&cV|ffVvsFoyXXdl`LH!Lx|?eB=DT zt@|g@{Es%Y!u-QwTz|85y+-Sy$CAy~*8G(H)D7Ql6WgQRw!4i+)5o>3tYec#s9_pf2?8$9BZik|HOV#^Xp&BWVnBDgKd!3 zMvj@eJm5$#s9;>a5iVoKli{i|RcaZ&l0S!~LN!<>ey!%nyZSAAg*tMZ}-|dWgI&3TS<1W<4hR-cs&kuK5R@ zOJ!PZsROrv*z^=&E#YUk|9M3)!jtiLLmCSE%y`J30clc{zbH*g3vp!J9=fKVW}aEx zwpZKEoqO_0On<-TLjI57!}Aa7o)+={w$mz_|Dr$_g!Ru5eoyx0@{v=t|5fnpRh~n` zp6FTZ-IMegF1kh!3Jx;ADZ^kf{Cv?qPR6^5` z;o6LEf_q&&-(ml5Thl(UcL{m@)CkXRko`*dKkp^YU+Zht$oZDm5`y=_{M}hJthE@PeX>83)C1QNoWw)y_XA^a4VenZ9-{wyA&zNMX(-`2mtpuS#IbQ#m{Z@j31YeEa2{~Nkx zBL43&NY#41{(s`~Vdo)b8hjWJ`v>fK%>Dyu0QPDoEE={C+KU-|LDvL%*P6&NboGRp z_jnGF_F~U!nY5bKV{q*z^!yO_w->^+C0n+XV2t#!>15qCj8R%ro|ZnlMf&*;m!5gRK3_H!Roeh7Y$tXs=YJq@akSjHhte+0tff*>5g_<^wjd)m?n;V*io!1DjOF$g<5D1W~l8E`__mz1yZ z-88w~?Pa*Vu=8~*{Hz9JuUa7t%@KXy)}~R}&pt-RS8Og6?SBOYWAQLR!vFuSUOfNS z{B??jV4z5U_JazE)JL(iU1=#VCAc%+qsWa+_u}$Lta6nEe&++@4A)Al`{c<}7!N`k zq4qAUP(mMWK^V^WL+%@lQ5bZzWT+eCM=K2Kpr7u?xhIb3>oDumpZap-i}o_P5s_GD4W5y}eV5F@#MP zb6gg|7nNTwkxJm$ohUy~JqEw7Me#H0IS8&wzhK-M4`U?yyKH<-!7UV|IX zl^DO^+5l>xt;hJkckTi@+|DJ+H*`q(u{x*IL?{3g2ir~X+ zyb(Kg@kERVOe@rF3l}cL^vS-%rlv|N7I#P9RtmvhvJFi3-E7th*U#bdnPzYUX3d%< zd>c0d#f{ky$K1k1|JtPf=jjdbYX`nGT>n!23N;++PhuQ)!t3%TswT&WHX1A+Hfk}w z%_rBZD=E%259(&2V@jfbm02q4|B;$3n14ITe%NeXr#SV$>HId^z>OAqR^j#+1>iO6 zG)KY|kSzeO+iqXM^z@c0leuq#tVgE#Bh&2J{wCZ%ye${?4`xNrGj8-`AKZ>Gzn;?V zUkAUQQ%>4TZ+S{4Xtl&mH2cQZ`h9Z7je*x9Og0$YhBY*~IScOpnDLK_?c2BO3IF{$ z`cpDl8y-L8hVqZQIdYqS1-3=EBqxaJcfVZK565O=1|ERd`ZI1v9j32>ZF1DHEDz%$ zf12K5fo&kM{x290qW%HLo=Q$pyg@yB^JX!|c@>A%a*HH_v9fVx!J}zl zrlN5(aLg!^l~-5Sr9&tXerr^i{`669_Db&8u0s(0g6Pjo+zediA?PUZX&9gJRT;S9 zh((ybDkN>h?v}VuG7E`Fp2&w3LG|#YT;6RCa#8= zjVsry)oKl{KkWaHdcTY&^&B5srrBD|5wR-jU#H?A-IAm#B1D8Jw9*Z28iSQ4coS57NKF+B38ybU6q~zL z+B~HfqM~3!ihn?gNGoNjPZudw+Cbw&Tardfp>2#lXtfU-dYAS0&FtPK*Tm~xZkt?h zK6dx^cRTa#%=i0dW@mP0y;e(0Q($XLN0Wy!Ha9o-oWQR%y+qi85N>JOv7NAno$$-s zx9>D?9>(5}lS6HceH>uyFlX#4_B)p_=`ij*yb7r-pe&#)u)-GDc**RUGIw3KEXFwZ zvnQ{ZJr9pjbqVZ6jrOiN@D)MANNaJsIb1#uKQ@E->tb7Ee8$Rlk-qg45_43iO5C)7 z#af5zv`RE^#Gj@Kj2k+9q~e-$=9|}S{`_bKt((*o$_7&Y3Md-PY;ehe&<&v;2a3OW z+I)VhA{G_tX)~Ditjqp!7B?L|QX})Vqxv^< z*k}7A)i3v5Hp`|$e+%#7co4fh4SzA_B&Gn}j6F3k{EL?whXjPT2~WNix>1ac(rrNQ zW$r0&`Nn^){V7!+Q~V2;r!pb@LmXFceUQrEa@*N)a z4gXAjsM>$3_Y2D(SX@2-$#!2dulSe#f3F_Z^Z&y7O_l$J_DEa)Cq;PO=`TEbp3b(4 z@jF~;I}`=nuzSkZ!@vC(xUwsOt$K<-ct8GK75xpxzueD6PJgSECk=JoS+r{EZ|Ach=8x?CTh`Z6Ah z{ba>)SM~fy7Psx5^au9B{yJ>*e*hv_aq-ZQ;vdz&$Ab-ye`uVqoq>OJChL<8v%s^# zHFmna>ox#eBcnDpKD6L$PwYz6KlLXptN57oU*w2;CLioR)z~fhZ*FdOF>9+rb;j-g zUFQF88_C0bLpnC{7tpWxm-X(7m4C&*yB1L8f1!O<`Iq*fR+G-`cC*mRe}k(33zPpM z)&7eLpis-d;=i!#f5pGzAN@ZuzJcyv#^YJidiiry&;R+ul^ZEl{JUY*{L!iS&mXSb zNU7rA4XfslPQ`!zaOFly1^@Q@R}Jse#Gs#zX+_BG7%%_q>wzrZ_qve>rBhizSwLAp zSwLAJ-z{L!HvlRVxzKUu48_x*3NK-gFjhsDpm2U@^rc68Ccx5cu<=Dr|dGDYV+3jH1?={nUX2QV+=SAE4dL|C` z$o#jrx07xX9lKM9QH^5=3gst{zd-n zVY2r2C`HE)sqGZq&>;^I1{VG7 z3%Y)OT4F!z_yo@&JN`mQx{j}H(bu((4gVl9`mwg?_$7Vy8Fp(&@mS=+M*92^`XwP< z@>jqF{%m^T*PQl_hw0NiLMUW3!^g5r@1HJx%f0_2-(dAnG=}e;QEm+5>t8>3!&wbS z%h@_ET9H`e+xBWBjlXjmS#M3QKB|fyUq5B9KAOLpN{2Qw5@{vTu@g?sKQk6zt?q#PMI!UHBncq~L>-?wcPlr2Gx&?aJ*X{6)r~b6*Pp3cidL<17 zYV4s-d{ocu+C&b)QS6M9<^UcoA;5^kFJiQ6Ck?>h9AhoMPGESJ!0;+wifDs=ryqc?V_5{2L)igVD54WViftBq78SRX0l0~88zE=3qDJJUta$I9SValxx?nP$o^C*vL0 zw$;o}zuI=e!k2Hi)mUBeU26$1|Iyx?nw<8m9d;-G>FPvr=C=5F)c>vK<*6g!!~PUA zRq7UYemM25N;57mXK)Rf5Bt>P^7!=)Vf_FZk1EZILcaVKiz^HRSYCJOel=yZ_aOGt zR%s}koybGzTN;7hU_^Nc{bMQRuZLyPVV^P>FRjqXrO#kO=n_4{pnSWnyHv_Fk@g(5 z-BM9GbqOf9Xs*tPi;HhYd>}DZM$-ZQh*vRtBIOkV0b+0ZRIJ>dL+rs>)zq1~__!97 zS7}PU1yCX4YJ@*n4PC#BM96ngl{U$$!`! zW7g{pWV~uDTg@Vggv{@|)+3fmovsASdugq)DwWC&h-<7>YM>MJ-J$<5n<)o&*#A}L zO67TLZCB}_K5S$N@0MMv}Z-3IIp05U^V7X zR|ge}0wfIL{ptucCyF8xtMy`ih*H@gETyAD>@g`cS%9HNt~i5Bp9X z(on+o9VpLYA`~fgxqA@bO!-jUZ2hSWaZzeOsHmbN3-MdpWN%8y*^6pJMI=QD3BTU; zpQ$NIK*q1e(rg;g3(0)HXZ@Jb>2gSUH5NG|6#CD`@>%{%O3G^aI5+1anV*L(=`Q>S zrXCZ=!H4?aZ0JaI@1JYIXN zG(aMS0dmL>GUK)K9;p=Z9aDE{@uAw^B0geyB{cy)#0L^T3!4fbhyM}r`RBD{{O)K% z6hJ@mht6qMs!N_`k@4>Y?4%1gEOT|J4rn@u$ZH;Il-+q2jSn8eApS=dVHpD55aQ!tOiye ze=J{4r>k`p?S#*6&9y|TYzN_If_BMFurE!RUTOI@B_Sa(1+gOWGuhOs64E|a|9@Ni zTf%>|`p3;84{m<{S^c6Qr#)Ma`Oj-!sIJ*EG7yI-(!z%H$;sch5&OcDwyq}jZ(rE^ zvKpa)@cl~UXEM9Lk(BpJ_@89$EjtLmD`Z8Xa(jO~mR}fZ^5)OqiS?Jff&SSjkF(WS zVq#)q5#P0LHMh5O^F7AA!iE2iL|6VN)^Akg=jRjtZ)#lif2?wEs)uA?JC-jgs7!6? zk0$LOx5cdR^pp~Pe||u^jixI|e}mO&+YZg~r!aqnW?x}ROUz2d2Q(d#R2kRb3EFiF z`ToupS{uQ~|6RH$nDUpB{(o=Zq{vQ5OvLhLgs&BY{hx#QoN0?HDJf|Y;?0R?!lqA` zj^pqzV=dOt3ICRYvnd{)5;C7(6l5qVN|%l4U#N^m z`Ke00O-JRVp}esmZA)3%4&pDoseb>DLY-Z^ioVy{J?!T)5~G;sCI3bKpaK&vILtl$f{>u>$y) zPMghTV#Ipcr?LepSuXtd_4O0|*UQ?262XJT^y%ug!}woie)#Co-%&nf{~soh z^>D7))&EUb_t&skWE`Ju; zW6%@6cQ&s3!ox#EaPplejX8GvENtJYN7KFo_lnGy8;@4pzt~|T<-Pwn>>*6|7EJH{ zaQb)6mfOVt*!A6qci?-D^31_NCD2RwcV8%TpE&2$gD9U{ACV`64{>DdnTToALi`XP zNQ{g%ep+x5u{Zt8Sa}me>{D&;f2Z*0@7(&)Q{>T^37GzL*oWQ%k-i7Stmt>ztBoWDA;-j)Al!}zxt0#kv173P2Mi&r$Ty(I0uaymIJ+FnNZ z*?s;>4kP01_0q;G=Ox1Se$0QlF}aa3RMsNidFOHCbg92T;($l3clhP&I|3fT@*qdK zx#Q}?gcPp*?hn^}cRMbI@NfD~dk5?t@plh)?n$|nl$wh9cg~c#d%gPVtBC(;GN*oZ z_3Bl`ip1rif$n8d9Nr{@^_|pz=Tu|FY=+y9*Y+|60#SYurr&B=JS8nNp6Ekcp!-bu zKmeKVMH#=B@#o9*Wiw#D#AjmuBALvc5_0?7Pi5sZC@O&LM{dYA2HWj}B>fH9?}8V> z0!Q*I7rOK9|4XZP{U;;1^_$iItgOr(n0{ittN*`I;i~@@gD6R*Qjzt4{h3!v`TU$b zJ-s|%BqHnmM|CI98>UX3jpgrbc(+a})zgTR8%+(lxr3zsCyhHBQ#5&vMDZBM9tKu7p%GUNvXUvZdzN3UK9{&7BH&(vJ^+qZA4 z5zm-iKi)%9PW*%Sw_l6PsTdeQxg3@BR|155Qyu0qo=>P~oVSUpY*42G);NmaZh9wQ6^85mnCxia$+c|p<>vw}l zByB?ZhKK9FrKnsoUilBpzvJs;*uzn0AimLz=}%lNJs%ytgN)xSdU5_hkAck3Z@=*k z=IdYMH`h|Or?%%{{@n$t$#V`JoPqdg?^%t&O_hYWm^tnpci(ad@itq!`l@VEBH}A= zf`9S$+hqRyM@XyJZ{Ozp&CV^?;{Lv2>vl}vxurd7>TE7PDBW4Mn1T&G%EOmFdL^@+ z^9QGgs9=6@_M$PO)VrXdlh`L|-f{2ZV$OeFZ971hmvjEsytYttc6K)D?^cNaz;Zz1 ze;XCYyoct8^Zcip8JqM8FaGoF%uO|4|J%w=l+=D17>MmX3H;Nr;YYl#VfT3{&F%kp zH6%9(bx@yk{v|hPYp9$Sf)`&%F5~mlR`>Wq8Si{y$^DPM;>)KsJ^o7*&wu<~*RH@j9?2g;t3@!i}trYj+*g{-d)gCCYQ`}>piX^w4Oa7#iOY2Pb_ zGWR*W{dJAysjRLgjpSeFn=76J39x@iLJYYv0> z>!=fcEeV|cyW%r#?2NuX;{U0ptn-l+Hxa&D-(u}WKbh~+Ji#loC3=#6yDjN8zCXI! zc6aLvk7m7Slu5DP?kZtG2XJ>=yVrClWzdpV&^@1RPn?EDJRQ+v7{C%>%k9e}^x^zAl z&o@1IqbZknp5fn`_<(^1Vtv2w8rS;$=e0V-n_7cfv$DAO*Q~D5UEog=eoH&sFP}f( z7lY{)CX;ts8pp@`g}JPMP1fUJ?Imvzll;?sj)`YO015N6{KNi)#FI|Nl`p=eQawZY z*NdOcv;6JL`-q<{UgwvY3Fj|P{n+KR)F*cb=Wi_andVhn*+KZ-9nv};qDMWLesti6 zZzMeB&L3OfQoSZ0oJ{72d(wowBm9mZs5$XR&b#3RR{#<+N>(^`IEE1i!VGr z-q**q&-e1kQvn{FfAR3P+jSUTQhq|y8%;el7mslV{`vFMqwD?F?EXID5B$E>zcuG! zJJDDFuE$RjGC6-z`@~kz(!$M0n^NWu{v6@sxhhvI;l(#96>we_zcL!z|B;X2HK^YM zaal;K4`bl$@72X80|f=(4mkVUFz+O|n}cf*UkO?21^p-Oo9465tHNj`_H?x0G#`f7 z|9aoiK1L}QuhIsz`pS)ZsK62bZhdR#q~A6-HzVHln~UN!n9ztbm|ZUX+fE-?g#)$IKjl1fyJBvCIFZs&v zZ05E&GQOA3epn&l+1HWR-To$#^7$WmozE}JKdd(pP;vCPt#gQfG9TMI16t#=xOmB! zuHUsb_1Z~$E_Tjnh4Ve)A9%Ei^Z4fqy0?2S%W)BdG)?KeREp+$ozTy#?DFdrs4^he@Vd3nKAKJG9PBsdm^E^ZfO5) zsz)yTR~u%8^Upg9j#L5voc%pnqRXWO0Rve6yLIdHbpipw?=`%)PnYwQ=*PO#i)B<9 zcV3uRq0NW#$#@+H{-?fOeF)1NdHwPQ@b8H}J-qJc!vCTNQ@#OxAokVNx#&Rve3;+8 ztG*NBwZvY#cg<`y8Y}%#KDz68XC{1zmvwDcCoEX70I|oy$-qB%e$#8J599Oy-omx4 zzfbr#`Csva`cBxuWe_WYcz zM<1Tuqa2!lPW{b0yZ9{lOY?EO{4QUBJyujy7GUJan=8unj0#w?7{Nfx<(aJR2doX7hNgpi@B+A`P2OBC-wLDlm4;xo+?>S?9GX{l6`+NGQ>V42e`ck_Zx`Z zrdsO~AM!R=X&`=>K=@aUbkYB2Q&>3P-c=1d|J|#A^WUF-ioy2Yfca1X2fT=F%DoDy zlv`he;Qq(`1$$ZJ{oEj_S;m1#=#q!f1 zZ~DD5r=^|nvswKxVlbMEw_mXSUP05`eA=SEJh?9}t`FN2XSAi*`+gh>TAUy?$QS z(-LA24`}Os<ZJ`*N`%~g<2>+D(2+sr&uZKFqY{ahjE{vGvyi{O-?Q$8^(dd%cbn=&s9LSA#r_0> z{fvp>;)m66KL*B!?2n7-D7vV#i0EI2p_uL&;MV(thLy}vf(>hwany^D+od;hDvoQuzPYYu2;>3ax&A=14Qzrc;OFAeU4Nu-=VmtOd% zLOWbY#`c|2rxl7s+q;LYcQ zaNkrS)sz0S`ad`b)7e?xL0}us!wJ8cpd0cvcEaCz6U=R!j_B(-)5Ka`{|>^}9JmkK zBo&hW#F$?*>&rNN#1d*YyuF2H@S)yHz%vHlv%Dmee);;+3X*Ym%<$|WxPA3~o9 z<=g-L!~Flf3Q6jHZ~(A;R{tdd+P@edk+^*Q+`_L}8i zB;fWlto@hp;#n;J##*Bh^H*uo)kWa2A-)Og0q{@8m*xM05!^jz`@FQ>8l#>Y&$nnV zEdw9QL+I{O|1R#n%}eWeEdvW8$|tpb;<*3dEYAniOVYFY4#(pc zQ4ahwTADlGI>=-&`U)c%kAut>MpptS8qV^o4H=Ad9H%e6hH8UR&z+a{nk)vRaX#tq zT=T?w18+TzF?-hwMM5E#$MQdw=ik*>Yb>z-5dFVroy+P!*+0A(#{b4){EyeV>VNvb z(0}Xw7_z@$?Y~ImYX70RWc*qF0|K~s9?L)6ry}Dy#J^GR!atqwNn`(R!hKK}A7W47 zzOTk^A0Tp;{|Y@f-oUp8)XN|9M={-+`1n}T-t9K9*AfY7-@G=N3;&NM!}~XR(`?Lt z(6BBT(v$X98$#&*K`XI;EdMik`pxnW<3Z*p1Nsht^sgHH0g0ZoM=bw(n(H6S|NQyf z{9y0@8+qqztp1BCIDd=f|DAWl7d?SEX%9V?daSpV4$JM7KB)PFZ2kq_y==TySyko|9#6FzT&{`2>1w=`86 zM$7qoEdN@jsT1pCv2cE~9B~MJQzO*3;?19}V%(NIbDU>FVXF z@QgJ9@qTqjBAka4{;D)%llb?yy|nP&h!=nEh4ol&3?Soq!~*yKjlx_kZF{1m!e0M(jz@QCM`Bi1JK;+gn<&-|a`$aSNte9+ zja+=W68u$)7Z19rabGB?;QYN9^R?LA4laJg-fz6WvX=PIL4_wmduYyoHY+cA$H(_g z#`e@$H-y7+AJMN#ZSek((v$i4(hBbjO9lzPYmK5ycLTr2pjwWIufb?7v}PU;yQ;J!pXu zMI2+UHt^%YQS@HNeO@R3*J7Rgx5MM_k>dU7>acK+{PIrw3)Y^0=4VsQSU7ZkJ{~P12{U z|L69m4{N_o<=UTdc~?Ry0n8s~{Ta-a(4qLI6BjdAWc=}|HjHt+cW}ykP3|suZavs9 z-gwS6hq>Swv#WgKu=G`$UBM+!v*q@7c>GPh_oglu&VS>hh?;T#>@b4+k*p!>$!}Omjen=4tXOS?2$FY4|z{wDy zeD}A~JTS5?h=2Uy-6K14_I!i-g}6*bh^C;x7K43ucTjzDId8cKw<+vyYvZPEF?&#c`ubXN zOzcbIR@?rzGLf*vCGF(q9yk4hd+*dEvAIy z1FqqC55&hLV0j&h^^;%!>t81z{`a=G>pPzP^BDHuyWSZFbM`-jE;s_mq=}gR0xm50`>w^` zG@kCu#Pa6aj*IWyw}OoVs{!9j>qGZDRt{Ihjh+Cn)`|UTU$)CH=VD40rhoj#I-d!0 z&`4+gF(HCiCg^g&?3P%8--!|1q;`TrQM#VHhE?+E`8_+6Wxj^&*!D@uY_`lS4IWknxQWn6uE70G+} zZv4gTk1z52ukC!JiLXEIT^FAS1l+c@wNq_?TSyDAzPGef+^55bIBeb{@9ER0jzb(& z#9k|rllgKIu90M>!TRm&|5BgUNl)Q-8xXg`wSm4q?%L%?zgg>k`t)DCvHxCl^30)a zBI&`IQL{JCo#o4R%eQ$nu4L3tymOh4JS3CsH!eul%-6Rxc}`*)BT6PVV*=~ELk-3PA8 zx1juFz%-wpo&mBRvezc=#Qo)0C_nYbweFvPe(+W7|0?r|Q2zQKMQ>F69X?FYhB>OM zPgWxq=j~O9;6uEx@OeQt#N`lIslQH)2314cT{<>tDi8a7-(5PtnDfWH>z~3i#7Z~^ zb?7G>mRY|(k=T1SY+wGx@#83mV@0^sz=e5VtzSu}&exOrUo)?JE547bKeHZ=jiGGJ zUt{@7e5e+%)Bl@W@7jL|lBV+ee*^l@=Rc@WuY@oivA=1B&sA^?O7!g(9NQTT|4#ft zHcTg_>62LhZRW?)*NdA55J$l=Ttfpl|2q;dc|Sk$`UI4pgJZlejvqUQxEPLEM8X!b z-Zw*-O~ku)GN-=U0Jlg{2*a~S_lBNDrKDj0ErydW{CjBwUHZ@Rf9~8I!vFC8 z?^oMY5SAh1&mLpXgb&-x_Fq3$Pqy`Jm{QmN@FL0&TdssIgb#5DohvSeI3!{=%zU7x z`UHnTBXqeU#1;rM!*moPo@=%k;M$-OF&h>rF6KWIiZQ3ahyAZM>GbBI#cZ?4RI}EC=P)hVj}xdj?|=TObT56mmbC5(E8*k3sqH{@;aX(a`-Y?0*K6 z?C5_FY<@?H_g86jvB!^hthT>o_3<;mjSAStQ~q+qHdUMBnV?g?qR@RI{G1w*Z-8S& ze@kWyrWY4p@)jClJ$9y#qG7##*+Z~RwPdC;M@O(vTbs;{-R3*fzqGnLw)sw6%!GyK zlo^TKV#tq#Q-6Xd)?bSqdN$=uztzJ2&<`iyYJspSTVD?w1_*z%yL8C^iJnYNrl^sW zz26ZAIBdBVJ3vwW_5nv2;H4E_cSHCAu}_;##m6<4jj?vBE*#~P+KK?{wj;i0HA8-i zMts+Sh4y~OHvFEoO_p7^Ai@5VV;i0U(W;mj?lx|^+NOltpJW^8KA))ltk%oktsR`1-)ebp z;nHR6{*37x!oOb3cMJVPr}^dPKapeohar7JLP|1@e_Kg<;iyrgdN6<4`E~!9khVgO zSo_2cZs&4*jOp6+&4LAWbtqr{N4F^#_U(fgtd3>vhqzrn*=yuv+p6_l>O)K5G{D*a zn;O42uE2-&?^kaG{<&@8q6^}@sSM}VE_wo|%j}Q4ILnW+{7y0X@cz4q<#e0uovCBS zAU?>v8yMHZjSnn)aGNTg!us!7^TU&qHWfzv=1CAA$Mdk&|yzadD1)02=T1*~Xy4u}Oh} zfz==%8piQj)|%(`AU?=!hy?Fl2g5QtfvT3on8zl;CHfS1%AF01LNnNWRPt2|M3g!n zvemGdVScfYnl`bse{w@Ll>wtZR1Gz`*_8SR`AfGwBf+A=cw%dd4Ycyt57H%U I5ft@*0Hy@m8P7|S4Q(Lu@iS)-cWAEg&E%A?R|*092&{1kwTa<^puj#l_D)UJSvzJmdmRkX(b$ecD2xq7E|8AJF!-<9Ss= z45;l9Yq&G04;5vo*(07IK40<(A02n$w3NWd^`K;piYv1bwAR}kx38nU`J@7r%7A=JC*@E1UejdcD0;46}Yz1Xm54g$D!IZWZLuCMXs(lTo9C3g|HiHdC3}^nTl~cTJ-SeW-u5n{ z0LThAod+J-TsVg3F4biR>RJ)?47WGWR;D99$H8UDULOBzu_0r)iJIJGn~ni&{D8n^ z>W-G(ZwsItb%GxT$7Z2Usc6#9gmfgdEXY{Ey!);uBd$%C^J#Omiki4d!jJwX4Wdrr zpX4-SHJh>gF2pH&<4Dl70xZ;JC{$!Zh^iK!UR>K#99WDJ2?pB7`8VYvE(DN=6ul&r z^_}NydkTN|TUB)wtgf%+V1xj5B4X;!j4>9FIHicnMnb?*i}(bIXHhv;l}fYxsnkT6 zigM2i+yAGUu;>xsIz|~{Wjnz}uS-y@$-@K_NL6RDO2I>IXMw+T#_5m)#-p2U+M_WV zW+`<{lf}SG4hOB!UbaChW*RKk_RC%_KYIoAP$EIO^h!Aak*<_@lzWLN3gtX}1#Oo2 zyV6ZjSc{l-#WRm!`a&*BIDi&ffj0Q+bVNMIbd9H+^go<_A0P*r?NQ(|hehoy(Dh&_ zpSs1W8m2rp&5@kw!x-4dVx)m#hN9`5k#A;qvKEc(0z2TIx!_z(L5Y5?z8a#Vv?u6715PO6m3^-(P-@S#Y@#Yl%Z@R&+M<=RVb53Kr;P&70`8Z7$bx)Vn3 z2+HYId{``v2HVbz8}{Be{e;4=v;i^;TTl&j6=1=X^#w1MCnNSJn$yF=;jDJq;sZX- zN#NFmy)@>9il~=vmY~VVA+$4UG`&y%FzK|zh@l?g!%^4c3*8dL4A5QbhylX}B^vY^ z(OFLz2#dq(D5rtzhGEzMON85F%g?#BdBP5r8klrFy1}yctTYe5^Ux5f=u!-;s8Pl& zhhyBIXTEWI&5GY;k{RW@DM&M-{8DX*)?e4LDRaYaPTllA8H30(>POM_29EhoXdUXfV3Xe9(d%C{~XEctW=~aX;@7 z(}0gQ&Qcw_qLG$@h^uTQ2(t~m5TKukPXYHN7= ze3FMkY}sZUzMH2{uq)crT7cU08cn0FXfjyc?YdDvaUil-tH+7a z8%J5&^!hfJUSE({vqLo4zy~)Ohs9F=IxY~ZX}vg1Le~i9J<$0cn3G{}+XjPm@Ajd` z0NSJs3Rvv1P=)|IBi!a$>Oif@{e|27497 z2Rim(d>Aa?NM=CN-uJ?dPrbZ<2p@*ufaBlUGkXul3pNK+zUpvfv_zghlzaOn20QTP zBm5YvI6g^va3ulbKDz%4|0fJg@%n0ofm!|f0 ztIT5=sJI&Gcz*Tmy=GYu?xNqtPp(j$JV@9-EPaX_b(~VRvbrK~Er0C+QOf$??pU+qFm|1o$7}IXymBFt!Z`f+W1nt^-`HuJowy$T^z9`A%qe;jIaCo11>r8%mPKSOvl5u}|!GY+b2yN)~4Ixti>+h8|IXF8V>db-<`39(H~8M51Y;yAkO zcae66&hCEB`D5#Oz?Q7bx4z%){k^~U6PIml^gLSMxZA^06t(^6?(m)adptYU`&r!7 z`;DF*UiCh~KlT12Uhki{@p}mWCVoPwueQ_FBN3X~J3~`Xyhl?9eo9mS<-gO^Tln|? zaXU$|RX-uc*(_zFDAS!MH#zV@4~DG|Qhu7aDe)VW{dM(EZ#$_hH>p2B9V3srfBW1H zpZW6_QIyy5+s7zsKBfHb(fR-Xk4Ai3>ZynR!fK+nI4J&OrG@AL1On*!@U7;wOLbbOytIJ^g${v;_+Th1p!H4~!{@kjkLtB2gm|v!qKmUSz zhb5&{I#%CVw#7kl)bZ?BQa|`g3J-khxL1AnpM$|Y!H;G2diLD8ijPu??8rB(4?NzY zzVdHq>i7@Tr>Zw~BcJ_4SKIpg+xic`|D5N3|L*7S^?&Rohti5}^;BjlmL{ekX>MOJ zef|OJYH=;UyZ1L~#bXXCO=s7p2sfqYbxl_iGBz~05=xUNg4{1gD4UaN76VjRAIQlr zrV0O-d5e{Cax2dspt5qMlcMl%#O|U#8LLBGBD$1)02 zx{A7TR!k|}Wq!(VC03oAA#*&dbjwYNPhAJAN7#ttM5fKWS_2`H1BS)IeM{-uR7d+ zXfbJJ8=q3h+O@T{xcpO6r}^4)cUy|Eo${R2zOpP}kqz=?ekmd6N)D=(=@%S?^~$gF z!NstkP;=6@Rm@61KL1!&OuGhJi0o6i0m;f|M?#e7q^&j|#XZSiHv|{2g=B}D|5Oph zsGH$+&28^5r^z|95^iqWbNAXPit7E`Gq6{$^958bp~^*{iGHMWR+Y-wBwxVa5%KFJ+T9}`m)uXwswuBAx@pK{9qrD6ki zD;O-72UaoZQPD-@CwZ4=I3%WMdfIR`K5SFM?U`W-E2XHm?&DAYZx=Wx@h>~w6n3ve zZY*0q-qIpQU38L78*)_|{@H}S7QekQ97GuuAHiGp9oL(ENBcXGj1+lAL zwgpT7%8C$o&8m-HjgRQ?`I?$pOZEAQD`JeAx1|(%aD&$(OHmIuxS_(tRT7OQ zcT@~gkqw$QCetjs>LT(gAuksX@w&&|$cmreew%uKXXmt1QHe!qEZSo19~@F^9kj?% zKR0O67{!syRnbRb$yXBNvgn|gS<6IqE`{gOg7w^DP{5`R*&40YiBE)#(rJU$M?MQS zi4G50D9fvsqLX~q-E{k$7zkQ4HfLQIpXf=C_X>_WysW~uG*&I7dbqBdu>Sb*;|Kom z5)Wn-ucZr@%?Z{nBhBQzfqj~{c#ZMwRUzu)8m(IEm5EVVj8b%?(KPZ4!4>GTYS@V} z(G?KvT2`63g2f5;{5*24yE~93GcAQA&o(wDpo(PO)JQ@oHj_@vLYeHE!nU*I*62%N zG2`j86qFSTS!K3n%A8h?|Ka65mR8EE(@LMZz(#AIk?DEkBbcnu=ruM61KkoVV~mZC zmbf!qm$A_pTs(J9&Qi-OE9)r_-DT}G=DH~%M(k`pzpSW!t1)&J=Tu^g*#%pLHL-L> zfT14|yyKq#B0RAVxo#r?y>%VM1BGCsyEi3zIDI6^2H3q9W5E&AMSaYga+ z@^VJZ5TRJcS`z78XcFg7;o{78_UbGk80AUMQ5l3dq0BfY%~_+ zEv`?7IIpp>`2F|aKdySFP@I=%vxx~sFt)kb40#ZSzj{^ts+nsv_7#g4qH)ogJck9W zN-688)8xuTZMlp!H^2A(1^g`aDElJw$?x>H{EH~SaN`Mu)aR) ztv61e#;03+0WpS_w%cxivMW?%* z5B9VNGE$mq&q=>>Rr!`I6?e>!O>I9Hgj@Ix`|g z6}ot3`NpuQ&=tlpDV6+&R!WB&`E)ShrsRwgkBbPJvapFtrxlYmmN=Ux1EtKn>9J8E zt(+`Pp4Ky=cdA^}Whp>LX=JE#`ep;oY(FW54Q%L#gyB6p*q__R6CK>+_j2oRFXnJs znNbs$*E%*`8`7Z*Rv zihio1jf~KEAq=!~1G(J^iv)T`M&vXl<6?bo+B!Zo0kGhy%qo_!&P1hBia8n}SI(YY znIHSI3!O30o|n7^&E%QRJ4qd7q?CGzG-pOk@G=>hsa)R1UzIY7S7uG9 z#MkVuQ1kA)jr2Q^l2$GQjjV;M`J5;myfbN)qY4t9ruf>mektghFPp&ff|PM(MRdgd z%($CM6RwC+&*S!9H^H=GXb|L)VgNa-Db70RZiO^bcI%-n7Eo(~3})3KmVq^VFoo zarXJLKrk2-qsqN$Wl{3Qfs^$#{I z$@!w5WKeR@tEmvFtAF@md~i-$VJcI3boquxOG-~OJLcui(z=)0nB?-) zpjptfRA}9lGBzfrvSz2UqNm;2@^nxQ@)0;I>^?3!;~IM^$U8i8Dr0siHXq@g?q))@ z%TDSFI)=CWT(?c3yNutYC?S*RLw3&qE8!-gS?j4N8OL@WqPg`2lDTH4x{flD4D zU6!V_=m@T>{~?t-E~L*4l`=2+Z=Mr;Nw(8AQ?|U)23OUT);(OUh^Zax+^hH(DqHTp zn%_BKMtQQ-o~}8iE?CJFBe=5JIg3#3!}?w0vNMq(0N)O`Y6GqH@)}!;vZheE++?<< z+-mo^?WxH?9!-mBsv^ITSQ3eZdIPFB#QF= zmp^nNX{8?5KswAqab-GK43}T9aW;oy_9?P2YxcQFHk(M8v?;~M=oz=dJKVI5Ve;~} zph-)6EC$xyQ%XWpZYo1MYwnog$*Sy2@{m!E>ewM;m$CW1c!}psgb%*m*1cSkbRmZx zD5gfnC4XMys_%|3i4J#B_??lPV%jZ~_U^d$^j^W4*H@Z+SI>|?9=vNc~_nVCSm)Gv&DI*PnUS|2TOb22~gDf&>0lR7mG);!JwX@x95)N$z)z5pA9Yg zj{(r3{zQtq11box^xeJ2x!6)`*`hNhH)u1&+(hl)Xm!D9mFbRIMYuN5` z2ZQ%x_vZmDtJ2AslyaFfip_?Q3bqivCQ0x*Io4BVPX}l4>-zfI3R{nXqP{>=CnZN# z=`=2^Bk$yiE~+nIcH}aB#a+ecC-j88(^X2HAvbT|h7(d`YWm%GRpi%M>_XY`zf*>s zS)NMhsn2g2%5C~xn5LA~%x~77Ju754%t?(%>RtKOs8?y_rklcU4x?yUDvVYBVA?=a zZa?=Kp;q)7LK3o%kT=HOctegU*YE-tH9jr}CM%4x<9>S3(rHw%@lgQmY+4ymGRkZ* z%=@yJ&nTG;s$pYs!MD!iQ}PkI>+0UQeOrv?w`fVRKYa`B7T*yNhaW$DcQ2*`8k^m$}nKYk!j0 zGs)mOcc3Vg5FO5vbo3-LYKhm;C7nu z)Q6PNLX8C|e-oipQ;wqCE3^7scZjU4WHS1~P{t`822f;QP0skjDrYNb420|Ne~| zWnZAmnO&*O1T&ecj50cE&nP1!$aDM)p4<9DYBE4p)EW+`z1BdJPrOK+tKGF&WjRSU zRA-e)aSj}hwF<@Yix)2f`!e%oCR0B!s5>`ThaO35Fv;zF^bF}fbm#z3*&4ahhd0Xy zu8|x+EXS)zGWYH^{k8xcOe>u*nvA5#JN@susZH4+;H;jhqcqkkCpBZxB?J7YH3>OI z5uGj2I{6BGYoW}*Cbz3u{d4nCY7YJ9&$sMwIv9onR~UC=Yobn@ zPf_mV`1W=^8$#Nl+-+J}e!v$*?^0guNC&+(rRTC-VM9%W*#I;3_AHpC3fOJl(uWs> zSbK%_#EE_Tu-4FY79f!i@nC^x9+)JECXZ?)$JYj5}y5f~5cv z$$(s8{X7_v{?B1^PV#-gfk|@N(q)v>*^1K8c5?mZ&BJ(0a=d%*UNN4lDYmE17`RX_ z^73qJ^Vi(ee_UwtPORWU&2iV2D|$lzS!A=8U7DyCqFwCZ=4k^6$`Vi4Y?Od{V-`Fg znt=Nh*X-u&tF)iIDa5JBeXG_q2h~QEMH_YO7Bc#EQ$8cdJ$HyoAE8q(vhQd~bhH7A+i z`$*&lj{f1iB|m}4Kodpw?K^Y=6kPFRf3hORb_mF%`S)f~MdNyUdPkqprN-DyQSzO; z1Lw!^%-v~)Eux3j{zYKk+1nt2`vDzubDy@Z=@T@gByYcN71O>VxN1iB=4<(7m&&Ey z+`Hhp^2xZ68e&Iw4Q_4@+z>LZhqmXJ*fZ|yrh-CQa#1XwuN4zyVY9U$FDS;yY&$u2 z`wVt@cC(K|jbJ19oins|UlXE)ZIHrx|IIL{5HOu?I!(T1PP>nZY0ot8_$3&|r>|8y zd#>5zC!21Aw)Wre>#@3e(#UpH^Gao!%HqLx(><=fCd?BIu8lJ?`$aigLpK@+%W~Xm zRn=>z5&$UiY$%jpg5(YS`q|soVkmN+}$l)`) znll$nAO)F+b~R;&L85r*1<%z?REU$)yH+vH?*qY+GkbM)Kv*N~+|sR4Fk+|qxTigX zQbQiv9=T6Wh0H;Z|MrNKVXm9xRF65{+ujY38o6(uE!9IBBv1xXhL57-otDx)Jo0Tj zmmZ~T4yrO5Mt-~Q*S5>4usJgg)?A@}k;Tm5@-O0|?5CQEd)bz)YgQXpowD(iOrg$n z!kdd2mt|#Huba%SY)-qZ`6WoO0CkRyvZK~GrKHn%4w!0#*6lW@H{L*J*?^h^{L}ON z9`vuzo3bgb=|@g#3fSQQFs6!5$(&7v#L5Z~$-BT93FlZ0$qzX=p7))5(Tq|v)tLkj zzTxwmTHWtBIXwEI?IxqI}T4cL9+(g+b513egEqZ2w7M4$s>h@?=N2v1JsVAyiXCF;wyZ@4f0)ZZr!2w zrfKC!8`GQx{kF56SsHsua7>aNhu_&NN5h|FV;hJbyi7Ecosa?O2hSHY#!lcFX)x~>61J~ zsoijXTDhdMxvHJexqKjJmE!p|k5RPb%*)dxs>iW2w+NNCWt8uHM@W^R&P9slOkxmN z;6Kdu-siz{b6?S)KP~wLbJmrU#|WA3!jm9TE`I;B$5MpVpM2%SPnMSj#|G}+mtQ?` zqPzPUb-wcEiM7t}UsS96H~;95{t9hH3n4%G$HrBd1x@D-G7A-Y&(_~qdoMiM-T35lA_bB{jjvXDf_0Baf{nwWdvY)JWq(( zM|=!sTV!@~+luI;5yOa2B`j_4Fgtt0Vs^Sgx+0~hBBD{Lu6{sR=A3?aYM7G!(@k!Z zEgNde4%=hX?^n90?2EPpbtP74I`7)Znp>X0hFdwX97-wuU27YmS`1uW92LbEP_ZmH zq98EBIYNcEpwawP!A_~PN}lMeC7s6peo;C0p`?Lzp5(1jGw>^~R${5I7+y z8+JK&{oo5}@*`den$C?14gsO~>WQbHerB&aGJECd#g(77tEE#ONi2b=x^VFq>pj^* z^)jwqd**~3b(5Rd_a8(^Fh4r+(_j7SvkcL{oWEX99fJ{HJv!3g|FM{bEjGcYQ#63e zK{&@#M>E4>?EW`fO3ATXH_`dJnaaaoi*LCzoY{Hw{R9+2V1?K}IpPH6q^@BwrFRpJ*$g8K_+BLlm?U@VcCA`RKOJjMo z>3m@Fbsnfmbo`JA)&a9Eo5iRIOv|%ohs&S|AGIW;RL$zCXWQG+Zb;Dp2!e1}&($sE z!JeF-Tr_Cup1eHd%3(3{*1Sb_6liLDRc{KzjxJ;=@!{jHC{>w+5SZWm(It6-)3iK!j0#2@816Br@{@B&eE zeNA)`;C)im$R34r=mi}UH!7g+7!eX!t83eni12}Z?>KwqtPN~{#p@D8WQZBIjh7bCQuIbbdRgT7*g;nIzO=*D->Ob_ zWM#*b(hUA=_MPYd*1Q|m$xSQwAq&&9#oFRM7&Eo~$(nWmm2B=BZT_A|#LP=;=664m zi#!+9vy(f@3YhLYcI7eTi0vM_Cwb;>3;zQw>`f_adp^4&2EM;d;$NuAgPD=RuAy2A z+?icNo5R;n_~lqC7qtsludAa*)R|5<&__SAoU4`WLJk?_6W`Ar2l+}7X?sW=OW6+> z=7mRZN-@u&HtpywIlh&m#Y~U=Fjq{W@xxCmFbHX7WK4f{@_zp?Ud$ai`pbRc@bwo& zUmcTwm@dy~Rlb}DL{ zd9RPa=`UOmq7f3Y)bn!c{?(!9OH*}v>OS|2rUY~q)tTUe5ouVkIo#{Q%HF-8C9_&S zm`tbBqA$Ug&F6ti9+#s@xCK*zA>n~Lc()j>cJAHA{)uYrwDN>rlg!dPj?Qe(ksN=< zT&t#$_m z+w#t>+X?vup`OpjGvS+}pZ+BuucOW(-{KLExCQmooN|Ep$u!I9xJhzMn_azf0?x@+ zpWJcyfi3GxD3<-}ufBS8`6oYtYnoltEo}fyB)717K*X*lJUV+EbUeu`C>T)7P2sAl z3Mmz)5C8Jp`T3$xi+s|Q`S!O(Un7#z;X}!!n%{2jJ3Kwz3;MUAeMNMx=L&J54rK2N&V%X%?zj?)|`|7CBfk*T~@WzeMVDM=N=vgJ~O-AVEG*?kqda%)C9w$ z@eLU#LpFV3G6a&t=J$YMm0Wek4|2L5&k(PLy%%W99GrP{H=3M-7%qjICdzHuA2zi; z4JPbI{)49GY<57J1^#YCr8IEiME7wqc3Q`~LcySv+O8(`C5%=pQ$ZoUeF4uYjU|6? zH2?AE=C|_k=k7>-%)w7{2qUC6A*n-Wut#)kBGV?&BuFmPCZYq=6o5xiI)wL!1$lZ| zah2a!2VD&-A+0V4&@1Sw&Z|0?a%rDl_Bq#i>X0NttLx(M9koSbt+JoYV&)}BVN5hJ zlMAX@-uy&@2c$h=F`-Di8dMok&!N4nsa2b{DW2g>lN|NQG4d{-@KODXLi9ZS)ZquW zn}D_oPil4FS^lXQn?f7a57kI`b=~FMLeakoO^858(ex(c;5XH9)_WqEl^%7y7FC_fh}FhWqTONJ!hM34ao zy%{ZL*)=#2nKMrt5ZvqBxdbkOmhylqbn?ATCI-qmG5Qeg(Y1FU*R#nVk>H7aQ>GFh z@i{S;SE}K=`ZYbPra@+(T~B?ToRYc#%@f>^Q7~RhCZ|-mzOd#37}7i~a>-{H6TYKL zcaRdmg1tn>!O&x%Y4jHFX%Z5-Ll!S;(BR#PL9O#%@bjLcWLEOm*buO!XS#kr2s13` zV?He&l2iA#k~zsqkv3ARGTJ)yK$Mwx*+#Mumr?jjT^qCMid~`l1I<9qy}VCWg&R)l zTkT|QsR<=b$3Nge>=z}!FQ+Eq6;;7Hov!N6>|gPOZ>9ymr-4t@(Y-f?=p;AfnKtFx z#?oSn1#KWj!^pg7oHB||^_>r3P;DJ&MgM^W6X-?e@P~iNr@}>qYn5G>>6g$0{QU*Y5kk$S$fIivm%^LR>FvtKdCMi#WxB%JWsDmDw9LNXW9yIW*CewB zjs!LKL>9wapi?)heS2G*;OkkPoW#t*gPwM#41F>gF!$&YY^J|*XiVcS>Xfwe)dC76 z>XW?Y8{Nxjcz0RUs6KJ%gQP7OI(GX-dm!}uqAj6ZnHUf=ZeEweRF?F-dah-FG`F?v z+2RQAX+>ofta3^R$<2`QYp;Fd8)6_&KqUxgwf43ztt?^^WXxyaR}*7$G`E!GT@YjL zMw@f8&zuTMfr3H#ZpTpjH8{q>U3^rKq8$j61rPFM=HAGCX6N&}_5I0v%}&o13AT(L zHD^7Q6IX0Ok9J@Q*# zxN=R7Z(mC2N!>ry^XtgfO2MytvaO)4?Sa55kIvUBI@XYF(yZmN#$_>+J7m?38VL16 zw!&UvOjK8wgmy6%8@1LfB#w%v2ubC}@QoGO50BMf6kT~;F!}TuucgtzPHvCfZPGij z4gzP{4>ns(d>!{)dmI*>Hnsde`hS8wWA0;>uHIwE>}mJkxhX(r!s`%)0ee`_>WO&q z{Wdv%1TZ1mv${7`ci69Ty`C5Rt%#Yo^UG|(-fyK_p%?^WVm>r^G{t9b3oiF1lUFyA zwfTBU|8iTqEq%!*MwQi58cN3Ca%QkJc?oUwx=ap_SFDs-7s)diT-}nND4zT6iWt` z7b>7Eayg%x03Zt#3=HTAHAQ=^Ud!WBW>tf18dIYXYK=}X7CAXNL*Q&J zP7oa~y2~E1<+*7AQqGMP*7HLK68aj~=@2$HwSR`4q)3JJlPq9eZYKm%_N(8F%ZLJu z9J;%~oLOhgaxAwZ+N`HOzh$W8o!PB73lwcC3jJF23FPKJuz%@$pD?F<=qlXj)+DjD zJumdMFr?`h7fm+EtVV3v-!x@MOUQTsTaf$YO#ot2+VlO8EjZfL`zU))aEv!V9B1PbhnS$GM5rf_V}f?W`wK!bC{aXOph%| z{!3ub-Q}h3X>#pX-CsgR4i|+q$mt!Wy;N28dEg4ro7L6jwX*Z{(^5)jQc}4l1ySAm z^4hakgaq>>-wALuW6;zky_i4;%<)Wrf0YWAkdawW&~DHsLwq!AphMIK)hP(wSfDk_ znN=V1CMtl?<)bc?Z(3ssFMcLO3mBnhMxLlffAAyHSTnc*tl2KcD>qsSA*=dl;@zON z$*!-=L+xW=>i&Fai>W}-dCi{IH4=QAI4W#8m@YDoPJ4MZ5K0}rP1v{sNx{^gcWo@x zw)vI?UmY9S=(T4d7RI1qXk(wXy&Dmxd^;4{v>`e3*ViVlXrCl^N)%3{zCpTlM}=E&xb7Tw^?CPkGEyH)(zBkzJW_Ap2oH&m}lFQ6I8rjw!1X0NjI{NIH zOP(nr>)QSo1B2_)%NZ$uzddl^ z$Ms*NnN3~$^Vhy^KeWNq4qxW^fh}r+%EWU_57uFLU2}kzDb%NwP)^aYBd?s3S|d; z@KM2{KYgrqQ-Bak&xN_jeS!K~jIGpR-Q$mA3hHAFlXamAOa6bg`F_Qxvp&T1M#ya9 z>!^fH9Y#}Gj9mFt5(V0)1@5XX^-O_Ot6$Pst>8UR^7_keuj#LlSc;R74(AhY!-5UZ z`yt(D(HhT4v7HO0y$?~j)g{zdpfDD!q2ZLuAum8sHGDBsl3c~kS_EVNN>)g(8f@Y8 zO!({%Z2EGKZlJAE6@!&TwsoM|F!MX+9YVF}C}HLw9o)8Z4cLL5-!bE8ZV!mQcWK9< z12kkRm(@7?HXb^(50HFj>oyeQ+|{0`7M}X)fA$FQGi2vs%m%>Nn^XTL#qQw{xKK}UQvMYo})8QkRNZ|tYNNHULlw7n&Rc;*nFYhGp zck1?80#mIo=uPBp-X2ID+*S1OO#Sq<;YXfON5QmCPUL$n0*tVZa-r{u#Y{OV#qNLz zB|G4z92q4yS9FESQ67LgENJFbJ{+#|71K9UoawJz(A(;{8xSB)$`($1`YGW z!5tiG3TdfmI1iG}mrJ+K?^s!p;<-D46GEb^MAJ~noIPJ9_-MMKq0eyue;TT{`{{l6 z{62Z3CV$9`c!MSxWL`Zw>p6YeKCTL3CLu5Fbc`rrC;F^jx zvhO2irmUh2Y(~^Y=F2+EWS<*ahfd3cBE}8~MRn4hX$RxAdu=M%2_K%5S-qZ_%yjZ; z_Z2E1nT74FxxAt2Y8=BdCQ>u7A-G~7;fs;2h0M~p4YNw^#=^X%^AHy~xEb4kxjC>h zEM}+~8C@!w-KwdPQ!b`&YedGhB||D|)`e=tl)P?wd7`#fNId1OVev`OanTW`r}S6SvGt)D_L6iC2X>Z)C_}cDqKk8AVx&rn z_5zXw7Z))S=9+gSyfwuC(I`_H3+>i_A^9D_nR6Nw`nM%VPMJGo8cA(l?S4j9^5bhvShC8wb79mIkZS;xDy0*9o~w!_jYUz)Ku>$T#y6p!O=_$k+A_~> z;|+Jxi-Q6Um_r6PK;z)kFkQx>{OU~x;(5EXXfjrXJ~7I4S^JFr9|HpB5NPr9QNVNH zIxiOQX%sT6hKySF)=Mu5*&@+;&XfQiD?9b{-bD_w@8kX29&( zqxYiL3u|OY1sln0WTVmdkorht{(PRz=O|5f*`f+oGY_whiTLAt0c;wn0lR1z64u zE#E1oYukW4Him+JnH9FpZD`J*!a`D8e`>>>A^UN5;o(HjF# z9S(;KdN&2~PsnnR4dZ0N>gmaq#YNFE(MHC{)e?-@&iXe!YM62Zz2K-FL^G#0^x^*n zcHF&1L=<%zpV_ysTXcl*+u_3}P9Pz@SnMr^i>3kE`idDT^&r;?Wh>5s{1ho*%Jg8d z?9;iTG<0Dv&p&z@s>;YtK!aSBoLpHscMe#U_U;_+9~Ohntra_Y$A4X){4w!1b?rcM ztfg-deem9`&+i6a?swCJtrz}IT~wMm4HeJywSN$cKDe2ZC%^c$+(LaoSlwZDY{5E z)(&pm?beHd(MUtVngKD<(=@*WQXipdRms)2VE6eQmu<0Q5k4BgZX9O1T03jT3h;?U z(^RnyiHo`15~+uNKU&Amw=C5A58hlKKGL<-?s$q`sAr0Bx}%cqY^kV+#zjordbm?< z4>GJ~D~GdnXVi(r9K^K2?gQ84K=qG*1`n-fI=0l8-nxULK9oMt+X7S4R2zY(1^%^p zx0u;*X4jo_1GA<#amG-BFEz-6t9yR)xafEeDSTvfd<+O6MyLtHdXHNJ4N$hICtLPK zMhb)~jOcME2ix-|CY*wzds0$08s_-sM;|r(H>%K-P_t6l*&stxj9xi7F(GDV`;3^m zfAGO)p8=oHoyHRG6Y4d1?}w!ejGWrc4zZ2wq&lG7N*35YR(6PtwxE%_5fGyi zQ&G^x6^^SQt72^CAyG!0ER!(u8xJ2lR7bbB%vaW+pq7^b99EhTi z47Q*IVuI0mq;JRJLv?~bGh6BSHtBnmDYB)G&_{$8c$1GN^G|6WMP1m&Xdd;}H{C|; zu!HrH4T0_hQec_awK{){IT!cvhy2)SHRoTdD@Q*9@VDjCed_d5Df8Ud0wnThhjx8S z&(=M(;4zIs^lx!|PgFKuk}44ULhRR_yfe{epnH$aSsKwuslvU4Er8}(mk`t6>oEI0 zW0In?Sa>MavW9VbYfFJ*U5c7KSwa7Za7K?k6#t9Ps1L!7+!+80XTHXWLw z?BwLXe3T(t6@t-SoWPAqjtxv#K_^#>2nckpWdR#%Snt}tf?WAc!9{i5qs{+dQFRs) zDevQCmvgYPAP?GhoLr|Xht}Fg#ms1ArlH(RT*E-nRj^nEi8#~t#X}x-W6QsdIt*_e>wVg7hUSh?U zXST{ncol)mN1ES{3t1Z*=xik!Rk1zi*ESv6m&9RB-44(N3oX|%PwHj|{1wO0tqZ9z z6Yet|!@x${NXH`s zbt(zFrJxY5Fr9s9*Asd+?9kS!4s%YgNis}CuIFu%oN@v;?a4nZr-FK|Tfsq*8Ze+V z6@uVE%cnPGut_Pdr9f6*yexxbn94$|M@1&Hd|AjZW_6b(6_?W*oS_(yQpITIwMKaa zBSeQa-4_)7RE0U6z?kOkMkD{%P2-R@naWUSR7df)zFv*#bu`DE4QA76!SMy!+v;tq zhV;nW%6x-RUx)Yn9#irg_{Wx1mR}AEitwXe(UuPGFPeM-3WqG2%N5{ueVB)naPR0F zsJmTI%&P;!KF-Ub%lUPLS3(NZdQm46DQGNM{6LJ}U^~|y;1(Be3h~j%J*smJRSvGj zkT-U4rchfjIx5Dc!G=3WRYjl7Gz``rSKZ>f?4UDJJ3ekJp`2u{sjpJ@)w1(D2X{Vw z?V1Xv=UXo~eIGf8Vc0Lvv`$Q*INl<&9otG}KkG%^_dYj|O=B7Y+;i{8^(09%+X9#U z??aLP6xR@mbR62}c4tZBjwfu&FB>}`5pjFjR|ovR$X?tcVxZthR5UOHr@Y5d$nZYp z$AqoN59qlNW?%5QCpjQ=q`;>x?T0Q!Ey0>6JH8bB*B1p>&dl~Q_n!%AM#Ay=G^I1W znO59wU1zUA7{zjOSf7`ZBPcloW{t|mfKDS&9AMf6!1F8)cIB$Xd8mhsjKt$Od|=Mk z%1+%W1NF6J!q}6!0&{8AoZneoP*5O7zgRR?Y}+aZ5*5}}%mhUg>_K=+D= zd0SLpJoV45kT8FK`yCVpe=jRte}6)UfXcDrg0Tr~ z76!u4MhZYV2cS_xlQilrVDn|yvypoWwY5kl3Mn7p5E{%-L1zJ~h|j~$I3sHdDl3I( zEjL&@SU!9qh3-e`s|1&}L@qZC)yghW8oV)gNtn0QH8seCoYu^xM!{HGPsPaetW%oT{joKGK$F3-@H?1Av1z2IYfy6yTar2F;K&t&yRSQlR`MWoORh z!la;_Cvbi@IaNm?)J~dbkjN#B0_t##T~GBSvuNd^B%71aQ9Ou=lPxt{+VkS5Q zn*f;-PYpVUURVnhM(rGO@((D`645&cYnLIFncyxr4L0B$-5VGPuTG-Oc!;)X3T&S| zAnCd3Z#O(QgK%fJ1u6ovJfecg^2oO5Zr;3kJ4NUxBbw*xq`;#INi`TzTWq0+}qdy2X z_V*79{;$mNsaetv$)X&~3Bi{GIenm6!pU<66@;8cxc{)P^(5YEMwL6j&_9>ci96+^ zqSd?ent`r=xwCZ;mnJ-Hcl_zyk^K`SekafkfWg>_+0Fa$=5b+$Mqf+j885)3ihWdB zr|YAId^koUEd3Z619oXtN0t#zmv#Vv2!KqoEK$ zNNBo_m7n76!G`iL&%)kZd7%8cyqwcxY7Gj#^UjxH?B3VrkKA-)7A&?RM2C;qeSWt7 z)$&(YR(>UZeAP3IE!UdTu!2|$D#QHj(H8x-K3#IXp&P`0W{^?j$H$TgP%zQN?ChyNp7V3k*UF9LFrTE! zP!ZK5N8e&!Y#4MxakU-{PQ*D>zMPQ|20J6Qc^D{7&>wcpG)zc7h6qid)nn{7h^2>Y zsVu_oNKYn5LWUyRH zO`8%p4CLM^2A}0DI35kySH=*6%NKFYzD=@^Yhi5B=bK#VI>B^4a4YJKdxvV^v$^{uyDF4Vr6NA0P^-8P+vO`EegzQL$-ItGUYQIu0S0k4qR zd;tvm!uZ zj-ybHU{;e(SjomO%Q5aCoUs)lh#K$__AsqL8g&78_8DmEKEi%;=1X#%wv?il)RzKL zk>0_DmrS4@wg&ej+p3>hqaKIMd_~>pmtp;nNIvDeS>ibbc>yNc!Lk4@{5;5)1!e!R#f!2<}cwZz-e2w5799vzlRy##5I8{_9k z`tG)l8gUSRym`VzFkicK?rat>C@4^iF=qLS92Kj4p*WX7_l>Vg;kv)n-nuChI$m&m@dMB@f{;n99eFL zR2U&BaB!uetU+5(8Hb0V@pyjTl9W>ahD`>X&L`zI$a3K;( z91p;S$eg9iSd~s(B@_goIB5}j(MN2-RhEk4J!3dwG*lM0MgPfEn4yIZyZ>P|KNY33 zkBcrvXq6pT;R+RP90YyAtF7}b@U)@-Y>}7H_Btq9;1<{dVDBW-wvSXnzz;=rBNxWa z1|d&Y?BY5qqlyFAr>Kr()8dc6u+B|Xgc_-g+%p0l5H;9F&Y#Bt+z3J8=doOjvzGB3W_<623tcJ9vEA;LkMq^G``Ol(N4#nzm}me1p#wza+)-jL8? ziiasMb_b@!7m_>(MT(|~3L$;CX3Nf*{s`+e*s{SR-d3FMT@e%6##Sh&k(j)#a_Wqa zJoc9=A*^Y2F?kr2aEi_YQ+WO%i+|)0-s2zJ)6s&OhQ@oAU9uD zQM~Wap+g8K#NeEyr(VNOM^*LbllP?(dpaQH6L6-0N&bVHrX6eHtC%)H=tG@W{bZr+ zy1|4`XFEDO_CE8>Gcal}o81CMf4BI#qvIH3UESUL`mvf}vdWKoXYpQnxMm?Hsfdg} zt_W#iNUdE0H_KLT2Ir7N+zr*S_(-KHa}L_0l-lgYwl?Z>dnP|a9#-{PhzCL<_e9nr z?2eQYa*rI9*CpKqUqkjZumh=RV2ZY+6Eo;QIxe^JpGFH|6h8gbAy6RL>x?3G*q!!9 zI3hjgzkdBXT4L_QSJ=qJ*w}=W4xW-zLTfUWx_Wkw-9&B+2BpYq*2WPHQ@lpI(QBe5Xv`it36c zbyvjb%lE1~Oj*^gMh@uS7!@76iN>e}N_P9fp$NsfdOGyBy6qMos)dx!7qgy|~4Ig&*)(1_$Qu`wu4@-R{#!lSE5-RdQhWSLmsXj(dyBaHT zcv?Nqn#$T-Hm+i;FI(kM%&9n%KFnW*^Q#PX41tgCsHd-BH5lRO3DQ^4QDB3Iu8kDL zP$;py@$p0qKW)Ij@hraG&B2)Qj=|>}ru6zXjC-avQjHcnhK9L~bR3cb&szgr{!1zk zoC5^agY2M!-GBL)e*qpv?>jIM!=4VDl6_CZ5|M|&v{nXhpPheJ4*ZXqmywK8EWG~m zF1${{@_AGA4nFBH+x^~7KIO7yw&Cm5eCJn_*L;x7tmsU+c5mRHA-M zks8^5TG7#op&3dG*V*CiIFB1TL6A-cdUDO|e*{6+q?Xw&nc$VC2k;$5tL>=`+$=N5 z{QT$Xw0gk0g&@V4eF+l|1y|nL^jbJRfWc&`d(!5oy7-vVE}^Kc^&ne5y;sFtC@ zon0WCDzVaYI#3-T9Qw9`GMifpF@!{07Rf9p>9id(J?Hy|p%BXq9tQ;%T&tlVpWQTb(!sH!qa6~Jc z3=LYiVZJV#fpa$YuBhI^d)celeP3d%_Q!aXWxe0N`|j$J$s)zrZ%f28Tm*Q0mlvUC z$Yh8*bc;P-tZB5orlMHzNVU7?Q64E2SOeWi^=h|!HD6!m&1$YkR)jEPk7)txumG8s zXOJQ)c-}SZvN6Y0cF6?!BzZE2u;4jnPnB>w@=(IP)gE$y+3MQ~^C-#t2h0ZL zxZx@6FLGV$Q^e0o*26aB41KEf@6C;!DdXEu;gwG6^@-{Dzy9mLUL~J8!`t;^LL>3b z{MW2-+@a|$HSmtclOb@mo*tj65{ZFy-qTwAd%%vR7>H2e+puBdM$H}D$WLCETP{j& z!F=1z>c3QX&pl@88EtHs=={^O%vrV3O?h>eq= zE8cB@fhMEZt2VJEvdi02$R6RO_1L4%V9hu$hrz;-?fq_IiJ@|;>?AB}A{VGRym*My zr)^W`bG~{d3#vkb?WStDMg)e8UjLLBexT%wihPuRGxBWQ7~v>P8D`_B;ve&eU-4sR zW}Pl}WB64Xu}5Wpe3~Rgo)o9Dv@;iKXSv$Q)NfWz|03bUVq1VGp7*Y)`I*6yO`9>h~$DX%J&Ge)nL8ygCaOa?hMd&tu$dmA+Ol6l6|{moO^ z!yj6w_Dzec3mN(x>n>aOUEg#q*^{`pAnvd}Dj-b&- z*>uzQKD(A!lUx#90$;i1Pkf6JC5kxpD+<^3g<)Wr8WPc1hZl7R7>q7EUB{neXOpy|LE_UYCGdB@5<7zo_A_yB!^z_8}o7aa95U&b5%AB_}Yj@Jqiyym>! z7FsLseKNTQnjP^{51~K`Rx@ve7e(4iJ1oMLs$=8Xpo$(QNkVH43E=RFiHT#xwqy<7 z;jogpGP#80#ruc)Ug-sfGMkkcx7p3?GBgFbO8zHZ&R4YooiVOpSMfBti8>3V;7H-XcT+cL2w^~M`- zklPvWBzTx+V{fT4m{S84$pD6V+FqKeXr1NM_#3kTB4VhvPnEvI?()fGf79bn*gRLj zpyE(O>wDimaKNl&-)79_;6Ym$>E6P#FWSR(?TtM*od-wz#%4>BlhW+^wtUy!OmeZ@ z^k*%_Xka6rMku9#T`K<3IPaIJlf79ISMTNKdhYY}KBGEAYgHW&@WBUX&RkE7(033R zErrZc!dEwS<1P@o&_r)BJ&Nap8c#Y*5tqM1$r5;fd9my+Sz%mtq ziL7uGGdoSB< zKar)3Jq6=j@^$%nerrVTYgDDbDS9jw&Qb|tR9)DW(Td|6ekt6X=f3R=fsM(dhGi&O z^>Vv&j!3pc9&dq!e~r#NGWwoLuXuB#q&CBH6kU?>0NUg3rK5!6?pxx-WjR)H`2zpZ zALuPu*!Bc_B~LGuDmzQjGiTldn)GbDm<@1M#tLf717KOjOodr)q<(dc7s|3u`E9@H>;sPa~j$CA?=|h1VDu z)in~2ZKcd;B5>aj0$!eASHUx7E8c0Otlqil^2ILKcQ{mBT8<8`oYXz=fVu#=!RiV} zp)}H(k1~saHIsiyLMY{ZoT+HRO5X)%di|JfYIJ0Y*+_0yglqsWqTWj}AB(aaOEBWO zezk_IE;pPTnxJ!f&U5@&!SiaJ*Q>ccmQU^(zXcd6 z0OpwW?U^&{<(R-fGIqC|B-xl*Q!VlSU23PRO8qKQ@ti?2!Ufnts7k;bA%pC1&9yj+ zrLLfw7hTT9@^JXk6CEzE?dR=jxkwf;#@}K7zRTZ?Gc0dZDH4S+PA6fhM6QNEWa$`l*HljCYt2qs1ZchGb=2yQ1tGMd6g@LWwOj;dk)zy(TV>h(y6~?xB@%xS=mRr=gcYilL+ZE1t9 z6->ZG`{(se%^IystP(Jm(eZ%#XRL%HYMLHRnDnwYz8e&n0wEr7u~KY=v)B zB~OeR17NUb>GMBDTtDvLbO#Zkw%~bEmY%q-=+OtoBC(wo_koBCAaS)TD^hgQU{h5L zla@bsu77Ci^&UG$gtNJ>l_!0#n6$LEnd3Bj4cjp}sA=h^M`=rCt}_Ia%X%KWxgbBR znu?yY0HeF){qb2KD8v5vfB?yoTb$k5c&}+OF7U@36;+QuW!1I$42K|}VcA=>?oSw) z`mjK2(dfNXZ|sWOhq(hFzs6wHHrs{ZjWt}O)xIw1xvo4Da4n5PrSmbmWx7SWPlRlW z?sMvOMU$XDcQf%AdQxqSR82ymtWCJa9jV(5NrorxDIKW<8cjGCEq~}V2SW)u(}$Uq zyKSzf$^})Z7NH&^T^|$5foc=ln4_ZaA_lhQ`q8PhyM%Vsm`=qDjd1BKO1l{VOUJE}lBaX>N{)pp&rxN*Tb1|bRN9%CVncU&zdum>$Q@ed@0Zz(Ux1FG_`-g=qQ1q@swR z2b%<>#1nzR{SOlC;lUT}sT#eZYeYNn1}*>X`k-dijveJluGMR^7PN6=wvC! z1Y04uzm|=$(a7Fykry9iyGiP69) z4izt7EYgG-z3;HX;{NHLkibE(ex!Ey3tvYBtcz0cxEzmL`^=zKfp|cr+E1!K61d)qLdj1vr|$T*t%Qg%U>Q<&Vk7*3 zrvvJ5L4wu~YWX^Suxq~gz{R39WKiZ%jz$3}!+!*tBX(CoAJ^uZ5!A4{irj?I)(lT4 zLhe+dSI{bUZ8s#F;gcfgXA60oi?@CG%VvZ3ZL>wr<%XBG*-MIX&`7qRGY-!6qih%2 zsn7N2Rz)tJvl30j$O(H+Au%&nWAMY+-x&P}+P7EExgr;-Z589toQuOBtJV95arR_t{fxk8#aU}gr&o#I;lk6 zk^wm!fzk9nY^qBFGCPqyc*JDv%ffs_<6{XF-$-B5O-PA4##is;M3I*2a!}ij9AQYX zt~WcRvxg)$WL!u{Rd6oY7bR@?ijc-QDbIzc!&>w!li_|c!9G!H?T#nxSc?|YEt6wt zZt8YThbGkD5P$&i=0rU9am09T1W;5P}+UAGl5?7tnWvAtqd#0Ff5<9pta`9!37J$ynZ~e*|j<(lH8T?ZC z&^_uxq!T+bKWQIIunobX3Vrm^N3405(mpiTPwU^KYacTD996cdZ_TeaR2MDTg0-Z( zYj!1*ea-1-*Q?7?l>(rg4IBj+XwZ$tM-Ov1Lh5IA3~O!J5ZQ*=-*=pmMGvX4=iC?j zmib@cC7IZHPL}QF9#M!zEqFXm)&2Lg8RiN(n*=f0pgt-*+-mF``O_>hXo0=@8dite zFiJ@`m0M+^0GcKbc>4x^NM5nx$PsZm7r?s%ym+>?5Z%h58x>!h4eP#Q()H-XiAuV` z72+pIyCxr_*58f6u-Ma~q*!d9xl-{`UgUQJm)ld-M5csrzMm-B8I2TelC~b#=!LrKLM-5VHgdIek7Vdh16Ei0IF?3@oZR_<^-xu+}Mw2=i#iV*`yl3k>{# znDyJoTePWars`{oQIa&zzV_iDFRsA2?qs-bfzCf{94ta>tk?U8+lLB;50*+gB{*C$ z{6e{Kon~22woJVZC~r>rgn^wM4U%sOYViVl{&_hWraaV1Cqc3{A5}NHDy$XQ7cTU(WVMcOo5>p4GlTHbTB@3~&7L>H&+ckx1Zk1^ z6D5{w7G4_F@`hh(QwHb2G6~gZZyp)zm(j-5x}}AOw3IKa62h zy<)!WZWVVv&Byzgu$mU8R!1oi;Kr7WAs(J^lzqg1#y}w+?0FJDmt0whJ|jzEHB#_= zUm(}{hlN-FJfxEeMA$z0*s=5loQ&P-(#dm9T_fL4^ZzH+nv&-$@j-Yb%G<2}`~3_H zzt7oKro;NDI_;tyjOWJiIP(5*@=lRU*z?!RhOvH&mQj51B&i9U9}FIVyGJBn?Hp;l z%OD_bo%a?V#NxixM4kPh`f(X-PaFJb>1m-FuHP6(h{;wo_>tSFlWw=BZyRZpi?mjD zYVzkp z<(D%INUCI#0|LgN*0NR@$XppSgd}BJF2_D|guIKhKn+sBkrFi6xM74YQ{#>-bob+R zq^Qt;CZT6&QP*V0tRvLX?Eb?Nd+Ga0_W&OioUWu5DX0m$p062#A~01#*6>VXHf@*< zU~?AN5OqX%gr~;{m{fM*x%*jadG;{`rpc5<3?2{7ZYkNLdN3xz188?0MPqX9SqtBv z#xRya?sq-U{0RsZ58Xi;rEEqpUIPMtAmsSV{6Pttgf^?JDj8mqQokPSPbwfkFEP} zBceezJBEYAZA^@5cAU)qaK(D~)2Co&UoYn#dxgPc1>_FFy$onl=3VN1FH6@i;5Qi| z>?YoY)ZNP`gB_xaz0KpUAC&J}zka>IH`+wLI^Y=Z$QXhRcFk3gxr~a2^rd!s-^E4lytDqg)&X2?|et(e@g7| z;cA`wSFCzfPxcVy)zytVq#7+MO}35j3+) zeDf{0P&3@P${AhL7Qws1g3Wt|7i9PhSnDcQY`=KgR-^D<&ldE&fIM;lpx?sx5?JPZo7I5Ey!^FP9$zc z1NPjXLTcta1j8u%8>+|&&V89-{;8j*P zU$WpeYJJ?_m6}_BlHbYUZIp?jobNNB07Xs?P5UrfKF=+;@VGV%(e84F*BE$YWp-?0 zEMm_aL}YO3a7!KeH{`_TUWrdJO)40QNCLn&n)E$#tNL4Zv)S0u{g$y+3ssX{P}!{& zGE@uevtEbmdQq<$@FPat5=vq4DD*}~SR=*r_B1hR%JWK0OH1&p$lhZxP+ord{8HH% z6j+C+<`lC%kOu_vHO@1(519~gTOsj+xpn8P7;fJghrUM#BSnDHwrZRtvi$l0_Y^9;{EpHtUXm^@pN*wGs-S zb!~D)jfRNW2}`D9?BW}&A~oKa7Veo~eZX`)GXGBUFI}f#6 zE(Up5xMISAQ2(~KCYv33qxv!56xg}T#Q=Uq)A>hip^`EW?TR%v7|DvBU#ReK+w7?- zOWrRx9h;c2X7*a0XQBEFz(Y0;CkMf|c@xr%EZTzi+ykX>*wA%#NHMKEUOB)+P4M8& z=`S6oz=5dCoRQ5VCCC28r0lAi9&6|2FFWz2a;6ouQJ9TBZrl@qy0PdqzFhVU{I_{Nr6W-9b^3rLmsW0Yr(_rn3Dz7C$7b z+p(-FFSl?OYYh5MyJv+#8z)_Bltf_B59WO01`Fys1I}@rg%Sm*%~n}il*i+Gh>N>E zPKH}q#m6k7)fMuysQTdr4ZO`f3)f0lvcg&yi{ks%3U*zn8b|A~gB!FAs8TIYV%SkX zZ%M^9ceSy@m7)72NxU;HWWSSr79$|-&RMmo;Ms{K8nDwL+FC)PLt?mI^4gdMzstw} zgZs7mrWY+{$Y`Ec*Zp50i<%C^Ckg>^q3|Vdc8JxaIQ&?J%a(BYZO7zyHyc1{;e#B5!6?t!OiZNCXRTp zwzg2XK=(qGsVH9&P+aPeJYlK8cM#4#qH|i|5T|j1iK#R#Ulwc7yg>5uHN)Al>9J2f z`J^bSaV-4-+{M(e4r=)El?kqP51Rc78CnzC!ChZs<})u%NjfFdKKJhhYr6 zbjwae-+Rw2dzEE9+2?5>`o)i=7V)UBs8=D3t|JyE#%S?CwGE^2kXqWP{B-PBCZ*?x zXB&HddJpn9XV)8KNUaoF2{3Q?&X)Y(p!npxWI=*h%DEosb?%}rt_l4u;1LG@QEsQ_+@(`6hzweOW~tDB-L9v zDz=Z}PZ3NDiR;Sm$rWED&=Pr;d}oYAsglGEs}Jvxq{A?^!XnF zl>SWk5;&TyOE2MywnGxBg3=%tk1&V!u3J>MTY_`^n#|9#3EtY+T6(10mU#|A{;h2oAv-EM<&CB6{pp zRa)!p5{*H+h;u-?%2}Luw=^5Cu40z&yscC}9X@LBHlEw!Of9~A)>6H;RutUw1tE zuFVyd&#FuV=dU&VXxE-64<0 zy^P&|HP4MpCCa5uWIUnsL}SaE$I17;R?)^Z)=85QmWYpVqfZPb-Ium)x2FC-d15%} zLst&C`B9Pn*;uoAma931&_)-1TP^)}adi>>f%u#wAB8e}+V0Y?C`8K(+s6t*A!6^z zAK#?bgn(Xhgx+Ke$b{_S1x8-3MQp)-8j9@=HB74;VIXU%pM>Rez^1|;48Utzw`rtF zBu|-cgEj)mLa<|3KpDa$05k)>z+rpg#zc#_2?Y(&1f@wVj7o`bt=dtHq7@fb`iWNX z&WJG0Q=U&gL4q1;4#N zVy8)#4TDeqaFdYoM`YrMn;xkAGIw>n&ZkL|XndK48YufY_(=uNQT6{RdaevQrb^>W zm|rV&t`;rm;&n4_T!Nl4`16-8Z37Z;lOp97>4s>0URUs}Vt!;M(CljGSP7sacC|Q8 zx?PD0m|ir0gh3VLv*K+$j3W!6gbd7*cZybz8*%no3%Y&kRfXsX{(sarOscb&_rAAoDR^bYywFlSLJs;b7$T}5x1o^Hu>(qhVLg20*+#>cwaRR_e zUo+pKeo2&#O|;&1!WDDkCNWE<5ayhx>{__vByiZ|YT>#OsyKc6ytR0BatP`Zcg5s} z#s%;x+ll;>Lt5BBOYUuXrg$EglunDQ1>uTE1@{}%pc&d?TA=g3^2&Q$4zW>=L^fU} zx$9#kZfpC1gDhJc-g=84+-8fqXW`6u8+V#i6%qqZbkvWd3j`dQI|4TjJ6sL=Kw|j( z>Gxg{4R^V6OpudFed4#@PEelSGuv5=a_4PnsUbmKnQ1O$Ps-9Qq&}D1_*r4&u*xc( zsg;J0c2(Z|+;h*pL!tTHx;A_E9K|9miL%6fw==QkrW(Xjl=tTrIzww%{}FsZIYfxK zY4v7R116n*B*8-_+wkS9c3H?mRWOMOL74kuSLHpVY6;7jMQt*1n*KWc#{ zb$&bDn~9CGqtmf;7w|0OwAm@xrE3PnZ_|Ofm%3-7qr4Q^GpdLxWVM19RV75AT6mh) zV)W2azJzLEefCpF>3gmICT^RUP>ZmDv~eH?-iwO|ky_aRP9;kcm-%pgr`@#;^E@B| z3gNy=HZ;Q!OWmc?{ajKmis}0ro=V_oMB0Uc*SWnALcJpaEwx0Yh2R@wV9T?ajA-4u z>OMZT=20N93wua^Gu)W|+0B-&!?u<4h z+SV4M@7yZd_~1yxTF7t6jhzj=@(Pz!^9rdIEc48rWHk@4XS1Z|-mi&x=T?H`r99Nz z>aQ_v+Ww8%qO*HjJJGXxnIy@dUHa@Zo}^xm)mDyM)7dzMtbqOPMB_x0AjF^)J-7J1 z|6o`>lUwXe#ql@q7s6qt=_+nuH)|ebmZ4^+xqV0Yfez6;5G*a9gFGS;2nJ}nobV(@ zp&uQxdvpQcT2mjKg0UWwm%X!bTwQL@S%D9vUpNbvzHJ+2K(B!@rV}DM9k_g@=P_>< z1?-#)Gj6)0r{{qOxN}whO=!#A%+Jb(_{0UR7`yu(o9lb}p2~LJ!^pj66T)+odQ%2y>aWQ%>CJrFckbXYqEM$V>Xm4p3eE@86QvDJB!p@fQty#0N z_bpnwhU}-Ie7|UKQwWoY{pzv2ES8bIWNS9!;l@U0X8Dw}5Er zymQM3_@1qMs9AuIub9jZ>dQ=JZfrjWtLK!Cj|QmEV&Vl{H{ns`(Stj8UbU;PEkITq zWeh#ElTZy(46QvEKX~B4%Mje^!KmGaGuV4HN5HBsy{70CUy4P&bNzAgD^?k9R!D{X&69yf! zr!IVcU!wTL9RLv(lFPvr$9@hw>4f~+a|;%Tb04}+9v_;8O(FwFSWDrG)ekr#3Byx- zPnjOgq5Pu6#C^kB#<)K`!dE*=*IUH^?5?A}_$=!{L%75k+_rUUg}`>NE|!LdO#dW% z`#}UJx}Xv@fr#3>-)d3J$_^tmj%-=l!z-|tIM&}h&awvUyio=v1+bT|Z_dZ>`|FLu z@Wqgd{Lt2iwqE;rjVI5JPK$Bp*)b;>S;#XuQbOBY5EkzGuV^gA#|)KW(3|LDUjRBy zF=`9*b8`RQ={R|@_iTA$GloV{To1il5BRxpBR0oGUSHoW*7SdS_D>Ij8Na;73_ZIg z5(N+oSr;qE-#umvKa?PR58G29@tHY%ZIZxYWso7OZerk7*faaXJQG&ib^;hhPP8Ne zV!M(keF`=QXruey1qdq}W``yRANlH6zsh64g`TQdE#}hn{9Y2*xkjxka_^FmAs2=_ zy(RIOT2+kBtTD|BzV0Pq&h^GVIy$KV8`? z__aMx2FVTy4y!4zuS-RnGml(IAGS_8`z+WQW~I5h)WzcJTy->`A!OQ98i)D`av5$U zG+xPvFyU&G&QcT^6b_RP&|<5Mvr3|@AIci*77wvkBsME`|3 z1yuUy$)A9m@a^8GW!(qhO@DQrB$1V_6O}OOrlGyA&%bV6#8$kdS=HP5Qo24)`)CC~ zvuIOj5y=-Y`CvYT&4#jP*n?ZsTRa}7dDp-y3tKMULK|{g=<0v#Pgk-cUuwzQSY-PV zIx0hWiKwonQLQ}OVViQEqLiao0%`l;VQaXWRt%4PbN2vz5?zPv{apIMm`Xo%q zMxR7Y0bc}{mb^$^UW?_ox6S^b^YQDKIM{;#5MYY zpD`8D8aa`D85yP6BCZsfZ&4j=xcBP>eY}N+EsrJE+Kc_DuI;(z@D z;3{8zZf=&PB{b?D21F6pXqKY7p`pLJs(0H1rVaA{_`Wr=b-$%T-(g>1b={zAUFOr> zd#^q9R-@u|AaQNALYB(rOw6RLCP(--&av@Cv{*9Bv5)D&DK#~R_w0eqVO*lC6Sa!$ z+p%MpU{SfP%9t(>4DFf!)X;1a4wRBG6(=@bawFN zY+(kC$yP?x$EIK7j?9a`K->RrH$J$JbS89{Fq*Wo-vZE- zS|a|B+t;>87w@$fO%FY0u7WNwbon{?i6oh?lCzT7-P+xgTpi^(u{f5sh3xv4#_ynP zf7DuhRNvg3`UFT4kv|_QCS{M%fdUt2GOJB_tl%*rbr)`7i4=1drFe}Q2v0tMc#r0C z$hyY%B@WlM9GDKQO_`+Aw$q+^RL=S0J}rfWk1y%Ftz1Z(DwNpl7?E!lH~KMqQboP@ zCgcjtR{&fsoqQ^HMGn!rhsu36g9r(f`_Tv4teEi{ytET&BKro_JXxZq*=+1w_Qe-T zFioFG+3@IUd;VKUC%0=_-iQ zmS|)|wymwE7WSd+Ogc{6*&n|n4wc&YK&1!BdtzDLtCqe-qAeeCm&LaXl`pyH&;+TCwWuXvd)IW}bTHhkRnISh;AX{; zP;;RhEdB4)uVUjhqP!oulIipG`4&Ea;FXNfmiJiR{LO!qp@Wdvn1t^KLV~394hf|f z6VdM1BH=3L-{-1VdW_U}F&FN4SUiCG*wZXIlzCdl8zyGJivVqg^XK564-5)b6>{<#!rB zI&@VmWPtJSeE0Pgl{Wf4{#8W?Y|8g@trcHBe7MsVy>nH9+aVUsX*EB5h{SU7$)UR; zlq|(li&)HTz^Im%C)Ue#=_M250OiAmX&CE=Cy?2qW6(t=m{pfE`Z2d>Qzff%kzZ?+ zzKQq~um}sf<3uY8D$pdo^%y5YG(FkpzSu5Lxv@uvV=v=7wwrkiAaKsL3c*+bCDqGco2Ya#(I=ar|&<^nwJXtKE&bvUjoL{G83 zV z$(EI=wPKE9MJYNlmN4nPw>76SmS_Hao!EtlsXb7=*wiP*KpAQ2dF;iWJ#8la3D4O* zB=I2kx3tw|MQg(>x9&}nux1y35mw6c8|0N4RvqT%O*i)e`-Gzw)?9zq(o%omB6ohY zahJpN!qXJQ$J=KC_5S&vaR@CSWR!HQ!O^4Y)70HH<%@RFB|Ss?ZL>wR*H1FIX)Aq} z=$PZ7y9|@Qr2F*a8$bhlvMcPa-;gnOck@#6L#~~b&SEAwjE9qRqs&;Q4U?p_Jk_WG zc6O4Ec_LJ4kDcaKb83MKjDpbasPE4(mQqwC@%7`n`c z*dnzyrCeRi7`hm$K781gF~Ks&jYur_bh%Ttw+F>f$&i38NPL-%GrTHGdahbNcFfwX zwCxpb%-9`xhcAphS{|Ee=6vgP?;qLzT%!`}>7nND;_tO0?4WP3dD+B5E!Add)6FWc zzWVB+wJbO<^Sko|}cwHM8lYosw2;iru4kyFnf>i||88Zgvg-#pip;T#M zG2^fjNd#iVV35}*DxGLKmW<<(o7F!D6H&f2bb*U<#-duGZm9BSOM7mWU(!WO4u;FB z|GPR+Fc^7Bd+7#WJDSx7<^giIUeZ$2^n&{@9OeEukF>FP$(pZ~=lYGSfk2UD#~PPO z;@aH1#AbLXA)tD9c2cv@aUk_JcPX)oeSk7g05^#O7z^udUC(TP>`u{K2rW_i_U7V` ze6ax;^>@rIwTQW5*|`TJrZ?eQE1$7!R=7`PbG@MA8dwdvx!Lh1AFa(n9(obpV9DWN zJU)s~KBR6VHwP*3xPwb39TADd&xwsl{X1d6c&94Su-L{+N7aSI;Txq`YuNLl z7OImk9Gfs;K;PhEE^8=Me|-Cgoc3_%?)k+p1cVp=$rBR$@AZThF5B&59I(>v#B26@0J-N~>k4bWo(FvyA#-smg@? zfy!UN?UqlNxGmSUW7)3yd$_hry1`$nsmLbIG5OF)iUSS7kWb`F*BUDXvgP=qZ@S5AuH(YJS& z?;(iF&g2`|z!u>ET%t_2|EKL>oegCZr3hy<4?pron>BPT4Rr$p$zE}W+VzOVaHtM5 z)ZLcuKI8^6y$tMy|xsxrMhHA53;=uCxd~k&kX1g5>{pH?s?) z6Qf9DhP%T;;4wx_2^-gI-B%M034h|5<6EX5b9C!NqSFI^p-1o+<}qV(S$jd>Zb@Z` z!$ct{W#G{eq(H3&zvY#V{4@HXw%amPc+FZ|lhE{UXr*p{^Ry%E32x+)9>9RGuFI&s zo6&5pDMf2*=0cdz8~T~9cC9=id$VDldw;gQcRH(e>zJ8nbnAQ|29~gA*sR~-3y8Su zUAsXZic~&m4ZX#nl7Dc0K5tEBrQ_A^WF+Dr#Ox4QP zz{E<`0sA;EuC>tbeG=?xO4$d56VDt26TegPm zd8KSl$K~V}cqZL)e5IJU6e21W{5{Ia)m*QOGPOMq}hz=~$dGx!bLy)ef^yiJdSD3;W%_fBLCCUD|6rx=?{9f*KINgW#O- zZGo^BuB!agvs5KAkrks)+Q8?t$T~Q}o%>noB5LIy$Suou*K6sv{dJV-(bwCma-Muf zOKszwXl|kZRdBbN?*bIRjqr_Y6Iq!Y^d;MXgx^T8;ACO{OomRA`1w?j6r)>$tdTOk#v=XP%hu1B=E@vx z0nc)r1~^XMRro;WVMMcRfoyaJ`PzBn0H{gvbM105GD-E()* z7E0;3G0w&q=M+N;dMe$hZnCAF@iJScV0Fw`ik{PW!5(>LIhw)6YD2TrwNR~f>)P0h zVLpbDa~5VN!l@vR<`7gxA?e}AP5Ot1bpnhw^?Th{m)pZ}K89f$@^9&*kAzZbH2T@n zo}bQ%vyrLIjrnOW_6qt@ZqL=l=%=5SqwQXzQtAgRHrjr`nGS&P&6jTPs z16)dyA@3$bPOe_HYSpzxB(qqSsomp)JOqerY-DhUS0cs8jqV;LG1y80Q057)#W{p6 zg2OECy-A2o6I?vVO=7^X+!J+4Y&!QVIr7z%k>}3wD7tp%BzGa(+!a3Vhl8jC$ zf|GG0eSs4QD=_KAefGEOlgld_bcYH{r5b~{%uPBtRYKQCmuz{rgz|z%N-W=KQck$X z9Y#HDk5E`aQv)TcVs%0jWPn6xDf->-Qup>+ilyPS<`SmK|1yFW9J&NirR1JpKP&cX zMd^x>u{Pjv2&iHC1AC@&Zft_96|%W7J8(wuW=^Pz2)WSZ`o+`~-Q&!Sm|9)`jhAoD zPw;(~J>XPM_0T{l8>ZBMiF=&woSFdKsHI-sjkJ?j%VfhmD{a{_zt3?)94C~FN zJ~ktN1^j{bwOXM@-%-d+*Zgkm-q$F(zOI`di$v%^;a_~-)wW2bb&T?VAqR*rv0(DX z`|saQ7+dFvmh^kkPbMd!`kCIdiId@4V3I!nBSx(LS4*~ZZuH5AS!7AYI0X-HB~FDp z2c8Uyeq_to5NamepC!eqX0&i|x-pim%NLjG{xITGNjhJ8r>fSXuyu4(0rJ4O3Xu4;^ua?Sg zYwa~n?>$1_X0k=}0cTW^*f7jLEON=id}TmXbTH9TX_+!w(Sep@CsbGv(_tfT4#h{m zt0ZP;(kBEM`3UN>&kA(q-U_SRD3Bjrqq+ia);|5-&p!Lz?^y5+V*a)t!|6T2Ec+Mv zKzW_bE0oxtCut0M`;&4<%$pgmR4CwU##^0J?wQ&bMV!RR@DlBdyxhg0uE= z-yNR+ctaA&^6MtolN9c%oowQR#QMYq?oI1|`39i;NMmmw?Ar9x;+$)4-Mp~;Sy3Mc zFb+eI*{ZuY+vlN6`{*r643&_WJVy)yT#8(_yact zh&9$+if&lHehml+HAh0Vxqk`tNt0}8nCf*Osp|aH{MXI)9rdeG(s)#Y`BqT zA+T_!bb&IlX-bl;>FS{Pl$$m^@k9}>rOInei^V6i&_dhDz^NdFeI(g4EwmS5wPde0 zRn=!v@tg6mKqHc4xZ47v`*aa-pwsbLSZ~>0juH7y-FTz7M=NrVtI03Lc;!}$D8ZxA z62ef?eU|d zC0teXOihVA+gctL&Sx0w64x6%VF`WQn0?$VpSUJI#=(-#Qb>8*$1LP0Tk67Vg;?#~ zcay+Me9q0LE2Qin*-0mOTpvfbt~XlKK?9mVyz$q+E>X%lk9n`B;)d}cXXBi1F|`vD ze0OD%`J%_+Tl+03Pvh9@TvskV+i+h%u}ww&O}9U2E!-5S>yh3yE7?Iz8Ga=3o41`4 z`_}9_b?*XOw>#kH$%eGhH-Yu-`LE0E0jPWVTCxbyU);@X{CWYjB*JIKJGMrq!|Q-^ zzCOF?cVVOmm$09fx7^VPNw=1{Z6>}8_|7YY(t}hdxW}`5-b4P^*3F!=*{~DWZ^;i> zxw}=ruYYgGo*weiC;I_zD*mT?V$LJEUFzfY+1STg$#&(39x9X51<(Z@-d}y#;S#qg z0Kohe4_L!#=p{mUJRs+Kp-h6}A1A|GuXvAkGH|y{d`=#>^wH?7NCf4v*-?c<^)YL6 z7d+Kd9fc!i*_{rAe^%5V@JuCPdSN+pm_agcyWLFGLAc?%!mBSGS7 zEoNrp+$CF}B-t}7T2N^|U6_w8Plk7`#l1$Y;**GDc;?KjuUbPgonodXyv>nVamqGz zXaBy%JF<|CJ%)X~IIQjkam(dfGmFPE{*jqRt=$49qNT2969JE+ia~cu=>X9vGg=Xw zCPC$u)7?kBl4?yO)F<@S>?+1(;L@K|zk;NuA!DE7ftFSW6Gf(oJ~b z17u?XzF1d~_Lz0YuZHB*=Z%k5@X4n!-7wC~5C-JSqW!1{_|1%B{Cl0Q0^b}LHrr04 zi2*b3qKI55Rqs-7C7k3FslgeGKs)QgPuNAEHV$|w2n9=s{HMQ?6Wf2&P4B!T zx*S&LCQ9bN=dtBId;al50=2^dv?2Txlm-x(%`%C=DjE9I7B0Xf3_o^JT}E5$J^ZVv zL3BN<{Hze&1sypuGCYogw7;C#2%R-S6b=D^wzfApQhDCka{W8j?%Mel#D&cI>GnsQ%Zwd=GLkJut~0H zA>0x}Ea?|Jv2?B5piekU(LgxqNGZY>&4(T^>tnYYHoc_Z_x}6u|C?>f)4GpxNbErC zzRi2JgJyY0rHH_=n7#5yyvOvX>rT^tyR8@dlrYEVh*V0Cw2(4f&`vwlc>%c-vSgm( z2Ids$Yg`F*V|VXxn+;i^Q}vE49Y+e$i|NN#G8BNMUJhE+>vq@U98fY+-~<)^6?}w$ z6j>Y?u3tP4gfsrpLKG1mvwo-7l@y%4xRxVA?G|zI&0uR8@CvrhEq0_rY!BTa@@)fi zky^Cc*lOf8Vj=XDUzlrQPmOgw*}tMdPF1T{x^?}kQlg{?*}9E^fCw;*hm~{qoCrTCPSj99K4*u07d16YAl-86JG;?4DO& z-L(q?M4oh4Z~s048`?qx8|8fnIk;{ivv?6n#*z2~m#?z$ELW5=N48hO^*q%mZg!Ge zmrW~L^lNRpY4s(%fFKPSMjWi~5>mU~?5u@lnqe1N$<=IK8f3W^EQb$lBQ!XV{xVQd~=4nzV#t zH+dzqN0wl8mfCN?P)8egmGXI%emx0C8hS_wVq@=ncr))g`_ zaYA7_-^{frOi*7b+#%6zAKD-AcKY_A=YTBRwbyb-!6Iytrx&)FDGZ!xst>~cD#k+0cVp3{ilA>mSQU>w1}G&QHZc8JMsGm!aOSmm80#%7;198$uOwRvnfI-sM*U0u`^YCt zROysB&HHGloKzm%r+1V}i9MIub4kUX&28ijTWG*wYWe#oP<=uo#^P z6UOXQy}E><8eT@WuwJ&j(QA#GCgKBZ!Ksy^OnQJk!MB%g1aGYC+n4{>Uu_Tv8yS}u zFUJr>VTCuf-7GQ+YNeL?3Hq1QWJyVyigVQiJVcp9?2R>-8JFZL_+U}`N+)m{FeE17 z&Wkq8Tm#rlSB__6$WouAKXhyY`;RJvCr|eEsY_Xq+}QrW&Yg-PYup*RF!O*5`eiip}X{6%$T8OTL2d zp)*zHB8ceXUQ{tGlgxX!Hiy03Dpn%6&bMgArze}sh#J0Eo){C#Onq`9(9ge%8nZ%9 zF`F&JgT7%c^Yv#(x%jHb-Ea2G-dRM2sdXXyh2Peb#-jQHXS<*1DjM;3@_KaWqVM2e zm7U4feg8%}Sdw4r+eaIFXCD@OU*|m~dDlxVLYy;qxxWzz4l^SvIfQMm$PnEh_L+=m z_FITIxVNw)VF44%Uyt1}7*H0!IxZ+o34^%Q)-&GNCsozfT8mGC?-oHrIngt;fv%A! z+>`vvvJU0kX%4@hR3@r*J4bvZqh$a(9#9lboawss8xw?p-5rIlkq#EsAD5wz}=E z>nJo{drb>bRQGt_wTJGA=+2)v$+3mwWAvj$Qb>`R&Z(B8p}Y@rVMl)bN>SCA*_Tk18Jm4Dl4#=&712khVR z6qDFTO^rPi6Um0*WU1Zo8b^U4SBaKfCQ-e-GtZ24J|mW`^gToK3{GnXci@|B!#+s+ z76`pxOy&`)<7STO>=>UYoEy~&*H3IfVHO0weY0t?_i=uy9TsLP(}v4{#=(cvsgf)x zJ5xwpF@(0jBD5FTY~V$iSUIut}9rokLqHLq-@Et7clUIZqHX)m5Nu+^!1E$EBma2NLg|}Y zcDenZV>1@A#|A}0{l(QLoRFb)*_lRi{rACl#86H#+R?#(uFXf6G2zV*sE6p0HP2%& z;^M){uCnE@z-}R;8D;e40%OM?oIg*Fed8(tCk!$6$2lF-+`paZbbF21=fGx6ZF)-v z5HBG3@VXVHOjnN8)Hl1L+-+k?XI62qEN3OCeuZEPU(0=Cflsf6UMCK;1H$!o+e!CDI%u>q%rbCg@e z98OByb=Of%#YWo@GK)p+WssHayz2NpeZ>8ZBq8|beY<3dJHkC**mG7D4!oTw3}1Z( zEq<&cbUo?+;lnJMBLuYN@iTWL81gGfQaBOz)bG`P{>gvH!4cX@@_1LWt?aamJdzk1 z848S$t`w9(K7N9aIL-dDm$cZ!)1zoeX9Yze(9wOhb+fCKnF!(1YPf=HRhy#}MZQ?f zH3V1riGZTGvy}`%7rK(A_sps#zlNlEoQImFs3>3mRD>qM5yZL>ueb7>RwpqtQ)zTs z%RzZ&`G}Bw3JMCuE>9uKn2H!!M9MT95kb<;?Cw{uZZ;SPnLv=qa7Hq=CB3pS*AR$g$#()~E(y+UFeKQrb8|Wu%n+g*zR0DlCg~lEi7bAmD#A9< zr`jbIt2KHryJ`KrsYZCv6@#-ZM|eXfG)OFxpN*l!wsdV_N}|%`YN>K2m%0cF13wce z_EkrGhtlo3>`-e9r%Z4wJf(HJ$#L)t3!E6^%6A=p?V5UTrcEQ5ZAmJGA11Wn%Opk{#l{+dSK3pyrM^oIB0L+=Eff;6sh&s)Kp_ggP8c@ zAxK?@KunN+S=$UJk&vfjy?>(+HK3EfBKI!K>Y8^@X1VXaeU5}@%hz|)ff~|vRlOu5 zoH*$@clQ=azmH3Sp79v~H@ReXa?+%&&ly+ZwNv|bIi^%;YCN88ta$9!?q%4$%#L-$ z|IV@;xutB*7n7@`Hs?!2QS^4p-}#rb)>4G+VtI-cUr%JmdRNBWpq-r`mN<4mdKO%( z1ZzpIC?{YnFlke_;6}riFHgSyfgiuu5dD^U)dl7APy1bGg{NbKR zRf7~T9J4ILC9N4GKpa?Okb(tpf2H1;&X42KrjA&)urtf3(zx(8JEXZFvUZ63`)wW2xz9o@+}txmWt#=}_;QY9{Y0-%oFVq8O!Qu0 ztYZ<0=5-IyiGP>>PTvy^oI(P>9o&b4>qFuUebMqL0B8pk9N{Ogi*}ANu&O^=y!;W| z%;b_`%kLxdR6antC6oM_)J1i?>9M7+&9&2?o|6zfD_c&^QiOgJql2T|DNHy;Pf#ErI))gs~> z4Y*=lhWN(`pA+%nu6>Fam6(tg7W&v{RPGL$>j^X z=;{e6#=t=nS6;~OGAj*H-x%t+vLzvJw6D*s(3|snA9I}_cT2|ebC8r1)^&iRVVPPp zuce&mHJG8IV=;QC|A)eiHQTsqv0~Z>xH!60njVw5j|r9n(MUYm?VEC*k58YrW!KNP znGN+-w7(G8GbxMI0Xv@MysAk+iY}hKvU>8f#m8BL3H~t1dDJL}W;?trdAd*(9Hwv+ zb6bc+HcS2r!*qaMrsaa)DC2t#m0y}zSzTQtFdjV8bDx0(SG&Sk?`sS@sS0Syi*=9k zVM*OO{76RW;uk}5bOyyXYL|8QRwd94bcOFMALwvs6*2Z!R%D#_*4fe;sl>Vz{y@J4&vnoQt*41=$`;?Cj1SJR2L?P^ z*Cu|&%CAONYQnhr3+xYr$Ti=_z&`+K$eVWK&=zFN30=^c&*hT#T&io!bBd;)l)r-= zs}pE`i1mEQnVu|j3lCryeL2@0t`K@dxvJXmt#;NXeMDPsTlpw$)%}@nC(cjv5B{%< zqV0>)-@R}*dRH{l4)z2cne8VajZueL+qbtoRz>?HWN$XJF>2OL-TmeTXJ<5k4zEAUg16^Nl60xV=96e{7EM%g`YBl(imd&^m z3@UV)q)bNiDTBQ;Jx*7vHSST~eV3k0{?prUzxN)G;F!ESaDvA)k&ISIQBYXvA>GWN zP5$Gy>DQZw^F_SI=)r>*f6alS1;TGewN%1pNkiSbPM~1X`5gRj8$fv1ueWmPtOHPV z2#9q;dll+Xg~6a3*H%{-FA+Rku-27OXCDzqbUxY5Lnry7vu6QeOp4AG+e%rFcaYwg zoMv{;>WuQI z1rm1|gwJvCV8=uDxJTE#l37tTYS5F(*#mc0{-we|k~NgMCQURcuVhwp?z;t>yRnht zX4nRy@;qrb)??gT75v^{kDB{udS{%txLWUf@3B}CcMQ>bFI}zxV_I)x)P(zvN*A86 z=Yl1R1VBmCw(~o?=q&g(9wDyfDs`lpx9+9RCQ+HYp`&>D7&*z{?@vW4AL^U4p-UF| z8k4c^a5)*pk|ic(`Ut#fXEJBd&EO%cE$kIO3wf4A!h(wil0ijK3U+?Ka52`sdIzV# zmfai^F1ngDM7CC9OxmWIt*1^g((PB{d-Qtfg){TM8Jwj(al21^ts!V^B1{SgF85lu z*DXgvWHvA!V1DoWB(aY}-i_5)CAQ8{(A~cu6DEO=2(WYkueM8gp^F^9MV{}PBlpyh zOMK&pIK$YM_H9L+oyI#Io}YI&>NtlMjb*KCTUquWSJ8I%kIJ00vD6vALtkzyzx3}P zylfAKx)9}jwk+g1`Rr0#Lfc$=K8$wqGdg2cW%>L(FR+`&w3QD!(k@+WQ%m{Qt@ccj zVI6_b5?8?g<itdPYriwMC}4SMYT7* zQHeCoxK)>40%*74b%LJ>r@|{OG_u^w9sXvy)H9P(VBLXlp5Wv2oZ(z}!5>4_%fDum#|cdG!-?GmF>5w?_N-Z{TN1IxLkjciKISyP@dg#nZh}!SP6mRBrhBt- z11g2_KJDi2s(bd^bK5J+rR{g?IlIfFHJ0a+6atI&l~v8vGetuvd7HmVXy<$W+0^Q3sLSQrk@<)z63-F)wJUn`yttiXZUc3m-ZVh^(+UsY` zAA+>$#40q`|5?DFTqTkMbuM=Z{s7pyhMojmy0(&DDTgBzj_E2)s@6+$z@DsU>C*fp zkGM|hQoGi&lSA%2q?SzzvWe~tJKz_!6#%H0*oVym?es3i-}TZ^9NIh+khpyo3~^#( zHWc&|B=8$dSI;CLbYyb`@&6`QV1@@!3bw|!I9-E0@qJtE{-^PA71c#HSCMYEb-{J? z0b(l){#IMC`JqB~MGN#cwAmRi(pSaGm)BIg*%V!KRok1BONHXuT%OCGe97+W*EUy; zp4)13PtWdO+Z!+|x+AtN2jOU~9R~=nTiVBZ{WR>C;G$N=)band}H$#y4jM^O)4Xv%%DZI%E0`+|hS2 zw?^@nt*J|$gn`i!g@Ug8Upq%FH|`41sHu!@S-1nt-OzfwHm-B;U>cBT90`Mm(Xx~8 z@jDC=U9+yZczKabbG9(Em+DPQt|y{kHLJ!d^k_?d+>GH!K;pwH46{v4I?HA!S$OB9 z`-yRiKu`M)Qkndlhc~w(TOJN9w6b$WgnQ`a&J6PCICJkDS!EcjM1*98m#T3A%q;JK z!}J;LcG97G!s*E@Y>Ai=;s7MuQuwd-c#9HioOP-Gd?N&1h?4tFNC$FD%q5q#e!&&1 zYRjQ3xr|oMt}SopPTC!=25nXF>iaJ^LYk^`3{7@1)TVjMhaX-+yoF|5lfJHhdPV;Z z8LzlHtM%=8zGEv=8soit9dSKaPUx$I`B2BUw*2Z zbDT-)O6vosPO%QwOyaB^kcH5W3ef0rUfue6@_h%#1&OsjK}ljAd6>X+di=C4`P|OY zx*IR4-{IJ8fEe`Zdw-;qm%RvC_jYZk^m=MiIb~)k_kt#Di0Qg?=U(}dG`A?RWi6yL zf0H+uAB#$3SvJJ^x>LYaj)j|(Ucosq>86{y-LN=wvu@Qdmy;UWXy}4X%rIFWtyxds zAseoo=w(hHG9BE&w6utM`XxZcKNi-TdBQJwZ?d~?Qkqemrc8qmb^3RrOgTxDc*xya zuvK;aRw;0yWP()jmk9=u!_m|_lb%Kf*SIu#W7C4G?M)`Qd6+s>)%G4Y_yNUrU_a7X zOBY&i+IDW-9xO8M(KniP6cmQ;m@=CR8>Xe}`Bt9Tebd~sX||jIda##84va(l)=X;$ z(J9F}faLUtrJ(s$vUz=j>Mk0vG~wftg}RZ7HRqEg(jMRh4c^cmEE#O(z)hLu4G%i~ zCgu2<&Zz48lQNnu`Y1P)yc#we8oaT7st|q3!^02#H(G=_U%jyL)*BF?WSi!(Y*|LXX zeiyS7XqfY&^igSzGpoE{OFkT*ZH>9q_>eN*I!Bl17VSb~!PZyvNfk6x@bh`cvXB~D zV%!svGgZ0A*mN(nX@AJTteV!`$&(_&(YT*ng#Ci;7yO!WkD>8lM^d_ju_gM@mQR38(r$!5?vADoxZW`gte&Vw9Wq*J?t?ZdI=SIQqcbFwQH#ATTAZE!v_8`DD9~hUg(b&tM z2Pw251<&xg-x00Z7NcxSxAvlH5xGxO8Loghkv)- zQ`FMd#6#(t+bZ`EFfi=4l36vML3Jt7(U#a0JZhgbHMiZQJIA!^P-U^MQO#->HU+~o=d!~%D=o5kFyY@sV85$vU(cf1H1rU8PK4Dykl>q*N7ia z%x^R|>B8&A=v)k`@tp*nr%c+^&AKwW6GI_lMMJ&ht{13xhlWOl8}tAGY}`W>tExED zox{iea7QF|8+j_S5o}G3+w>i!$4$DIKUf{E)L*b(G%u}5tkx)?wOvJp2W)Y>ZbBE+ z!Fzu5<`#Con&WCSSbwY@F+BvaPQFB7d8$#xW?kyn6eVlU;yFbCKgPZcN~=g(6d;tC z&sqpJ(2M^DVG5y_pg^H^^24)&CUCaq{p-^r`2XO8cvNX;Waj%&wTpHi_=o-%bE@q}VC=NL5+Cbjy2mzP8G?{eHXaH7>9=)wNB_ zWTB>O0QdogoBgLsbGxlo%`GwBp`gjg=n$b_z?6rq(7d}U2NmEgMf0x1E*yIy~(gUeGb745bpKQGnT*yV}*XU>b6Nl2$AaYEZ^>=-Pzex#L z;lMR&*xl~NVCJ9O-SAdq<{32m@F6A^tviXIhRNvUTu_ym^w&sLkWn zk4Q<(t25m;Rc{=`jFbWDUrZ%{3uQnj9SVzBmWEsGKH}GLzo1Ry44v8c&O7gzKFK>uTkA2WYeokC zOd4nR8ucGuGwG%%D5&w@5+i^7@yC{(S>drrjgt!zujp6(Aq*Xzt*+vNHZ}e|sA>!Q zKm-dRPtj9aovv3ZA`8240`#S?3I9Dg?2emL%aB#i`}5xByDhYD)7pW#$r1H5jOhs_ z4Pv%>U7%siK&4AUT(a4Qv4y*UgVxEZSs1ADo3x$Li_g=9V2{Ht8Bc%WT+bjdQ5N)$&~Fk2yGlO%W{2I>~5R5)>)0PBMHN$=77# zMEgN07F{TvN?wJb5mIZvIWtJ^UdXaZ$Z&m%R_%rHLwxx=1Z5(j=ckq-6*NxM-iI(R zL#)-$9$wlh!e6d>kAOvgU>+E=XyxTmO~ zeKAHIneUfA$N$=kiiF2;2)Gz2Nw%R>^ z)Us@XBckCBDhWJQV|h-D0@)r<_o{Jcl1ZkOZZfttxOxJO^ef72`}iI}_1rwY>T3Mg z%0xTE1B>`TWAH)%T|57exLU_)E|{kO2GBG&cfAKjk$gXQ+xVeM!U-mV2&o0&?ieY) zGPJj{i8+U*VUM;kbl^Zcj5K2t!MK}w?r|`#qp!<4W{%v;OK-!U_RKilufdn|9O1ny ziB`V&BKO7Z*-&MhHFM`_$P7jw5*#6RVGk^w_B;vD^=D;xK0y>o?x{v4^`_g1lB`=9 z6#J%99-T7r9cns`2U`b&_D?t|91$4c9V6hh83v571Xl)-PV&AOGgN)RnkSejr4NUI z)LtM{;RyAM66ulM$Z-08zZv<08w}eN8shQo%CmO?`ukP6SnhrM-ME^5S-JO~y?bxV zellMwh^gx==f{%`)i^D~bRFt6|AYSuzcj?F+T{Gqv_*i9SPst~q^spILCwHm+d;X) zPh%tcAi;31WZDzRd}gOr`^CZ8fa>}I#!E5m+XeL7(ZsUg_Xquu5UJ819zSGs1~v{t zC;Cfj>;rR__wf=2op++OvMduyJ0?So^ki}}HLCv*5=52mt5<*Vi;Qx`QcJEOI!7ls z$9{-Nux%+dU%wn1b}){NOW--4w4KB`5p_=jc|vQpFRNA?N=$XK4iN0U1m4`${^9eJ#VF7s!D%? zyjtA}V&6H5$qdbgMLqS#&p4Si&X+lNIg_JK!=NeRk_rx!Bk;pPMj;7fNgiXR5}xO) z9l`ia`!Zd=ZuE*W)UMIcL2D3Mjn6U(o8M?y7(5Zkees3ttoVcouWKhR(RB?k_=7 zTxq>1aAqGi(cLp34#ibSw3Yh;o}f~>=h`*0ctgxLzpuW&{-DiYBpbBORHzMKW_n?9 zd3jnOOlNuz1o|tE$v_2t6P|@Yrv)!&h#toyvN7p6S486&8CHlprh;F97df`=6;_#( z+B_`16+4ywn4a7Id}#--w;~lPMgQ7TK-@EW>Be&+@Xjp^^!N@=Us=|HTt52~*?!rw z|Jn<71Y9;AH{J8@Rlr5BR-^g;*ju*Dk2(pEl!cWoB3G3|U&{LAhW%C998#VIagXJX z_{#{=JNMmcb65L#;EA;`kLZin%(iuj6CB?I+x}IFz}o0c(p@z?F~ddxMtfu+r4)^v zE;(XEqeqVt@^-CD|G#!PU^JJ9K*2*&SYfo<9fxlNWygP*|C5?_ck7hd>Hl773aOk! zvsQmd1lDLZJa=w95#)Q9NMAJ#THm~?K-YMLBnu8sDDW*sXiGh-^(WkcuA@ml~e z;Y!QFEMpVM+#R{w5;MK(M84vSRK11i!X@`qQ0SEFUirLAgO;xT9>;Ppj6>L#sxA_&C`a3 z)&k^O3Ao`Q(Pz2eaxZ^d=<5fjTS{kRgfXCRH2G}czH*4*g_RuBw5horgY65r!FnDi zC5`2D8ww|FAB?54cuq|g86tW3$PkI#ZDu=()n`U8@`FuQzsGu{-WKSqx5g9vdZes2 zRa~# zmL3gZ)cn@rQkm9fOKj+pcwHM7#pL_GrqR%GXt{~wG2a$z%U%VsoyU(^pX5q{(5`J9 z@wFer)$thmU^O6%mYajJ-KW+WHdlBtQXpeK1yvXa@;Y5oFo{o$|Tl-y{86Dx9PlZZoF~`uuej52@&U)Lj*iD30}uG<0sAhn!OXQs*q(ik z+Vy=hzFG~c3(M9cX02Bf_!#Lhw@6zpQ``;VthC6OSEXPDL&mme8+~iJ;grF(Pa9PK ze<)p>Y}INuH*Mzl=weK#Vth$jtDNvH0IleBlv&#;%zM5)(Eb9$KONcrRt-kj%Ai0sPZ>D}16d(%pX25qibuYj!dnnt1L>ZyzB8 z&9$KxQ%k;g_EJ4J0ApmHQ0NoNgrc4S50owi53caG_uzdQ9bt zS7W)CYiZyZ+EjchQZlsj5cM?))^)Ht7n&XIym6C$cY<_}+=XEl+cWk@tih0fzX?TQ z!y|VU)=yo0?5V6$1#u0{an6~wQ1z^Ts4#+av}J4)Twtu5(qbrJ^-o)lN%33FR&}k_ zo7CjyNCi-+XJ|(=Pg<5a1c6hWB2f_6Lag0zkLo!)-#!DuPFTVW%$cD7JGHo3h&h+3 z(~}S@^ChI73~I`TjGU^A!PG@-P9D6k@k5D9=w#RL)gD7@&Vu!?_Q!gzyFcy8X^2{(`gDhO#ZJcUFuL<_-7 z%BEK{zn+lB5(fJUsfLs$go!?DPgF;E+fk&i*A6jJb;I0_E`YL#+b9QPrhTDJ;^3Hb2a9TQsS-ZQn8DDq&q@8PqW8lB36x^fay!X-DIQ)^_BwfyQnl!C)WE!mK{vPz`S`VwC zqKc6PcGqB8pAN0nylqQr$448)m986m=8X?N;3CxAfAfcGPy@k92{)}duc0COJ)28! z@m{}*N>+HaRg*NYss2IgK&$Ig2bqX9KTm8DyK#dSukX*ARI;S$H7fHOo!)A{{Yzt9 zLUY^89q(T~YGXFqp2vvdYPXL(B{y+bkwv3sceE@sui}?^YEvnj4!vy^sieP_y(yNm zVSa{rRw=jxhr&2z1_(!(WrIta*yAU&1OS5Vj`zx zo2;LQos>yVI9=bNQs0HJrjo0qdi0}$0N#6++=$(pJ>>KZ_=mn>E~x+8ciy2FcNgJx z%JOqMzgo}pU2QyY*<=U+CH)=4!aif$lbKA2!^I_(@+(8FeWp$REdsAAi~AVEkXhO# zW|I7BOHWsclKR44`xX2gVOfvhugVdL?QPU$L$;9@#Yp!t3P-2AJUD|~M(cEmW|#p9 z1Q||;d!!tXRNPgp#{Ej9qMLuySymBQ z$8-KcQ3}9*3s|qS=1j#BBF2k2Kpj zVe1$pCbq%=WIg!kqr1>lKBs0kE&9cRi~(t!^TG+UyJ#EtPjsL?#@u)>%4?`-2b%cInY&WhrpQePASZGvpuI|=jmR72RFkZTR>-?O|n-Bvj ztxKo^B?Ss&q>^DNaE({FS``MDXz8hm8^Ip1i(U!h&t1fl?c%OWn-%W(Sco%I#;l+VtXg!C^+*9vS!ob~x!}wN{=K4Qb zzVmn2)0(=_D%qYjeI8eouxi>|Q26PQ{j5%(i2`S3k%rj+m<@7q&h5SpKB0gtkg^yj z@^xs7Yttd_#_EkZ&o6%Qi+p-X+jz-Mnt%Bhd#Jk0?GuML+rF?zjc*jcmid;E!&d|^ z|Hwj*$uPC8(#c7Y%obvn>U8*zS$U7N#xOHHIQZ4C=EqCV9U^dHLpLf?NKpNVqllk8 zdVLqr-VlFjBm#0IS}Lu6zjFF?bM9mq?N4Vw~1S;if zLSw>e42G&s!`M?#9X(2ahVs!zr%ni#p6kuNFw7 zBU<`;e?FIA_uo!Vo;XSapz`N$Q5EoLKD}@MYOj}@$XY0Rp|HHYzqI^S+OstiqHY=@ zNYH5`6|q%UVeO!>38$dCyQvWe;{%7`YfBQ}mB6W}Nb=!|h%rwCHbyQ4Xh)YoV|=)4 zaDBQL1(FFu0Ici2BM%dhv*PJP9DupU)Qrw&$?}uUZL@nxeJl5SIl`gUm<@@|^V&EQfY>$!aI99MGqZl5Z}H6#pGaGrsWa(gMBL5nQSt zS@u)aZ8GfZzW>%qd(vZwRGYNZ|6D#&;jDEJ2rjY5g2pip0z2`vgIL5p)rcUo_i2;4 zKnd#PKD7}1i|R*7YN|S*rTZ#}9SocQ%l5A`bAe`RYc*AmRk^qS90TLYw3W*ibzr)( zK-~r-l_T={P)RCjJreqIUub9*99h!y;P#wnEykX^qibuo;ACA*m!(Ce9qJ{6X^4mV zwA5}tHarm%>wmrX-%SGcH;ov<_!Zs!U}cbMUrsYW*zb)0P&Yozyw(&^=&uTJ-OT=y zsgmD5h|#IZZ886XoHxt=$|mSl}-StZP%Dg+Vo~HRx%iKxO?yth!ivE&l4OJg1W|a5wH_9|Mv7_aIH6 z96Lkd%k_V+54qRHI?cxEK>3*Ja4lhT^UkQyWDI|e2A9U@fYYxnRi>k=XLo0mSOWCS zG1(WLmdq{m`(;n%5wRA|1?-9Ln{mBfB(3I9RI8QTFz0G9h(3LOf)x(Iy!t#G`m6^T z8kf8ds#N>;a}8>%V{5OW2^Vr>%@?IPbr0SrlStqc`|N(bQgL|3=ghhfPXnE7=BrvF zRsPLLpu9-35n^7fXJHq=^tg%91QAciC6o$W(^?vXd?$(adgk__=hb4qhgUO1X6vD!4%5Ab z3(`aI_qOWi2X(=dCr>&=A4d&E%10K^7L;J&gdD+GCN!#=*<22<4-=h(S>|U+;dOX^RuT+hSZP5U*xsM z(v_Be48zmky{gNZ?Tb{4=R&z_?Q5^Sc9O^n(&!Yfvh9Ld@10fVeDm#xY&i8fXFQ~> z2+sS)$%mN;9(>V6xY{hYc4UUfluF;sa3vBmy$ics`SShIqxN(yy9RV%e4HP)%dqqX zD#Ojv0n4)Hl8-+6us!awe2ozTIN>rEx5H9jsn=Ut_u5O;VF!EkTPXg;dM4P|of5=J z(Il7t&iW&Vt~l~? zKLfigACrr~J}|a9g9Yv4(+er|J$Ue-Enr~i5jh3h!>|1@O`N`V)&E*qBKaBAkycDL z=6gxx259@Nu*N6Z_N%X&l<>0a3fO5E>NN|4ubo`K-k$L`RQbK)W_(z(55(_6S81L5 zn!~L<$YZbYa)mSr0-{_QuoPN~sVYTJo3;Jgu4tz-;ptyiqm6#_)1OQc)c!Z-mSpkg zKX?=P=vN;d#JZuQtVNFo(&D&3{XP&Vmoe+OVGF zis>9mN(?+R{ewOr2Wq zLMLC+WyOa5+r?L1y?W*SeAtls9+SHwJ~gx>)-%K}*&2i_Qh7HhlGHeJP*E`u=>THq zbtyfR5eRTB{Vq{pw%jb%Sl#_P1o@Vy^jKe%B8<05c2}=4%fCQB=AS?Q zht|rKpw`BJ`T)<|&tX?Ag;#(ZD#-x0nc%%yDulx&ads>(<7b$2N46%}D2c!N9KBsh0Bpo;3RDf4)<+4SnZPb1ZOJzvul+lt&>L}Vcv_>|a+)NfYzub=Ok zbxwL3g9iP$qB%{ZIP|+2IM{(9V%8mN)|H&!Ja5(>`xLN-=vGVm{l+1|ahv4NU??%a zjKK{54-2zaa_5O}Dy`X&s-g##X&1JYACzUW6%krx?rwTUI(6Yr!zL=vgYx?b5P%pf zN3VT&g=ai<>Lf))`pGSOey71gSL-#0hs>iA$Irn)!h>ZyVd35ZM$$A#FLJeKT@Avk zc)Ft&C$?Srn0OQVbCMlIP#mH%so&gk^>I{tAaa@09@VMzm4cf*^G%>Dhv1u^{I z|D1om@5V*H?p|{z#r?50rga$TEszi_EqQ~o9;vZq0)nhuWdnGk7{TTMV32Qy{7%pH z;0$cZFHrDrDi2q=e<^}vBZR4b#jr4}k9_u7CW&QyEb=t3Q{Vu(S>yF?%M0UqcUs;h z+u3`Zr)=lsmL)tP5sIPO>R&>{JHcAc$kEkVDYJ2N^u~Ok`8vj(_^8?@mv!|HI+LMD zPv^dGpb;JGkwZZLg@(@?A*_Osg%?6{iaxErPz9u_ByRaB?xH-g_aThqMYKu0{jp}S z-+W5rrply-zH)hV(V5V8n0Fvv02)bv>*XLHD2bjtZg+p5)(q_amVOq+>j)LiKY#EK z7qkny@X9Keh@9kaz7p^Oj!&uIZ_7Oj@N3qGYc0q=FK28*ZETgEiRs}VvT(7c31XiN zQ30MNm8S$n_MET+HhFBd-M9P;_keH4HHz_xOJ;J$btBDKQ%U$g z)W8pPCEgST($mU?;dwt2bc?%4d&UoeET$&J?ea(|mdIiLPw?=)4++4uSG@pL`eWd)TFplvvA$qnHPjvW zkp^L_yyO>QdSH6*ZgK_Ut!Mk5eHMnN2=R5qro5UPS3MtlQC1=5_Og)8`bF4@eUJ?BeqWN!)(-Z(|Net^*UolDs?dYJD|nq4>)54l44AoAo8$^Wvi~JwJ|9YO-crP$}rJqq>oCCZ@)O z{q-{c*Dt=rpbK|If1qeyAWENp12V(&%U-#0A*IaG%AiX zlpFg|tq+KmdN}&G-c`JX>e&!;cOzkRk5|LxSL)uV3Vns-Fco358^-crg4TFx5LlXS zr0L1wd> zHS4q5`C+2_5f=6=(^nhH;~_e*I>y#P&1tZ@>Qw(q8I4^Y8x)|}a4gU%i8f+8=ck4+ zyY;T$iL$L|&}hP8TY9Qgr-?n+Z%^Djd*jLrOx>LI5XBOFkRZOo>d+mt%(fvHLbycr zd&rE|B|JIWPSn~%INmL(oY;qwDz<)JR|Iwt!92w4=wj9I)JC~6j2xl~@gv;Aj=+|A zyuI@F_oF}Jhv28Z{0t$rP}}dQN*FsZY;EBED^~=yIWbtc**>Z0$B2-J4q5Y6hFSlo zpW@l>FM2c|nI3!1fB~6)qof)*(viI!7Nru^d#7hv`}{uEX1CZj%@8_o#HZ&+dgy8j zKZ{@OdEo^+Y(6?hd)m97BMZ+fFurtm@T*6T2p3~vc!o z{{At<*eb^^;mJ2zI4`5T2}nR#=|3Y)hXw2XZomLXwy*0O<_4YS5ze`ZUrcLP)Is(G zF*`#mh-Tq=>y1k-WU@L^O(ct)^(^61HD$frMB548-p6RZ)JD$Ik0#gKG8-F} z+YbZ21UdSh_#@>6Eu{8f_Og&QJ)8AoFYze1yTjAoykAhuk`0 zvyL_`{TO&k+?&tqH_)RzaHfM`qdJ*uigj>HRz@%IHkY>xxPOR`ylm0I?#*wS zw@^E9rYTyZCjRM$YFP3*hK81XCie;3qMbuV2|b3}t{007m@Gx`l+R7#JthZ+UW_~G zDt_AV+G~!4rh@A%WSBsz9bu@ej-;nL`FD2zca+Eu@|3h5r}`G>bzK=dpzWRaArs)z z)5x{ZW7hReHZfQFx##H9)-UwF$dxw7*=QV-nL4@%*B^zH%flB20pFdNlij^xRyM(8 zJilX@RlHR}%^B0|09CnmVWUOTLaS^vX_c$c(A-|pzErE#+H1qjf`}ACg%OZ_(R2?w z@t)VZdOG;Vak~7S{(9__UXJ~`9+hBJ983Y)jynqXNflW_{wTO*Zh6I6!|#~KSrpJWShzDUJ^$Ax{rT5B@j?&S1Ico3a5sCq5IXoBH2?i2n5!Ts$<`YN>DCrkij_s`u|loJe$I+u8#GanEnPH8y6eRoW!| zb;eK0I#Buajp&0kbx5H&yvT)x(74olk9~8VT-tdGe9-Fo!J!8qv@9VY!)B}r512k$ z9m$!E%a*gOcR?oe@}cs};LUoh zN4DGipDVH6fnMfnq3r7_rhMGqeNEJor&zIBlTn+h7y|?Sr=~GVh@PrYSU)yEc-m+( z)&~qb;9h#39(~A}D;|h7tWmZ4ffY8zeh)K;<%pOMD4M$@%)|+3n}PKwaXke&#!3}nso`3G&hk|O z=u%eq=B4&vsC$*_*2iR{j$B1(iyCum>qFDi)Apb@wu6-#8zXV-5|7t)-|E%J`Wf4Y z0qB@wcsZa>>I;Hg`jX&ZE`=TV-e1}LI)b1Dq~|s(mq%lV%s0!{2;-iu*Y!6?4$Y#! zy1mM!Sl$!<8V}j+Yib9X3qQ-+cJWDep}gWcfW>>)u`BrrL63DDJZKMkCMccdo5YYm zt<_w4-|pAoym~CVd47BJGKEYnTR%cu;2gv z7tcuB*0lM?n?M40Zi3}N)u`pA?by(IVO^N|}r=Qmhi{VB!6*7ulA(M@j{toBYoVkBL6SeK0-M)KtmX|zjN5j9YD9Z(~lpdK)3t_ z44m{Pq%)4NTq<`lyR|-~^gs8^>i*i9Jhsr% z3go{@0}6cO?NXBi0;)(SsS??G8~G$Ow<*~z*Y=+1Jw@f>yX-{oxn=L!vaR!hWkt8f zx6x3qH1|B{73q+_#`!2sQKopLwc3M_h@avZ1Y8XS*PQ?-f5o2?#llL9?UH?I9=4i{ z{fWjX0%8bzat)xJl}$E|L43^_ALr6hKv0!_ixy!st(P)qi2+x6#Dh{T%lOl)LC|(C|x>~A_&C7MvWPk=E z)$tT*!EgDCrFeb+6vc(L_ge`|JWoAE59BkB^li%Q9^)NkxZ!_MG>&~w=oM6+>C2aAp8ZHE4 zy&rxEPBp1%?y+8FX#GxmCx?y*GQu9xy)RQ(E?wd^8-zv`|6_d8x{<2HbF&t1NBgj# z1>#m40I4z?0P2ikFMktS=%^!CQ|PC8$Cfq48k_+wSF)7LXe$Vls)lf76%JhKy*IA^ zKg;?vP}Oo1zdTc9gUj82jTSEMH=ALCGD2B4l*!a&LZ>WCV8^!@{`V(T)ocKa#Y4_X zO{9VpOO0;@8+;6}N*b5FZB`~QO_5(|lt?@ABJ)_{cqx7^c%dR<(7%Cgk^N&^HfL4b zsML?m?&aXBXpYPej}N9y+Ut@ancf!e@56KW*u??d6dMwBOm2?Q@t>1In|+tX@(y9- z4z?30fzNC1p}VZfho+CltBv>yd|q_-Eo@JI9`pdis!&4U8QnW(I2_duyQ^5437mkW z*R$F%(X)Ip-X6i2`C#sz;%799PrT@=|z_)CEf47O#n`m0y2UNJ9M z!p$3LmddCP!(G4g(jgqR#cN zgtPVB`@UkGPxUV)M_ZICP@Tj{(!6tGBcH%PvM2c`Z!ABb2^8oVbZV=;>BOLD6VXvS zAMioBxU*Zbj&k{XT>&`TJOgB!#psbYs1XQPQHo6NDG}#TIfG0CmiA zjc_l$+c9up>Qr(=EgEQ50nJiJ;v<&6$`$4;LZM?%va~wC{IcDZ6VAz6ns&IDr}FI1 z@iuY^|9U=m9d>Jcg46gL5FUIG*;q+JFTJVH*gaa~;Rd!TR>oRK@${ZGb>D%`p`iqF z0*;zTdwJ9tc+}yll?Mc#zG%zpjKlmP#xq!)o-K=Yb(UY^tbLWZ@n&G=HfNTjw!nv8 z`G(o2O?3yLdO!7;Iw=i2wS^}bNQ0tVU}T)*K>L{MCwb`#ICI_zDZqV}ZCP#k7*v9b z7yl!plp#3l<+_jnBXkr_u=Jvgk6JPPlDO8E8OC9S@y6Ck^cd_3t%$KySa8Y(B0G43 zA47ehBPM+Tc@Ev!i%af~Vm^((-iVOtxp#3_!KwzY_7>ov| zfJVg`rVxz5h$E{EW||agO6!;&?5Z#A53P+(s<}{XYaR1G zvNUqx(>ANY>PB%;d3`r3X4*=C`?C~rn^=(3!%Pq`1i`~tOq|e>DhgN1pu7e*KS z+;CI16L(i-H#tBjlh1Q3;=ffE1|rN&YvH*&cy+4`@Wk$lsYa0-MtpLm&fRT!DC>Fb zQG0E{yfm}S!%+Fq;om{bpt^p-?VD0FOE_zH(xItcCn48=eDTy%T-p(*D}Vv%M`EVE zI`8FCg*Cn3c7&S-n7Lmr1*u36@INT|Bw;JBU^yn=ymUryCnXy#kCt;$x8Z;^*Z)}{ zw2}*W7anJ_>XUvs3vh3W(xf1UN3NXsqGbdGE>HQZ3JTCKxtv{}H z+JjuorHMnI$+f&scYlG(DH<|Zx7RrBlL&^EB;5T-NL1(xt)GVqnXF=s=ai2>{@?@L z-1xnhZ(<|+@Oy(SzRG}?e@iQRK>MQ_v0`d{ff4Ev~qBoj8dmm4#)i5 zZY?td5t){&WZU)u6@@6q0(OpczxrXWlUOh{KauH`XC!YGPmDyD&)?HOfAW^qhE++}DXwbFGN zoX(=905ge%nh14SC+l9BkVt$*Sh0J~Q9iK#*qtDZsd!n@{55+uzBRTM*EkK>_rc4j zR@VjRF;;shxX>nv(>Qy=$mWptu;Gb!^j^8sN$BkF+fz5A{${R|(yk9D?4_ua8PGZX6A`#j-Uk`{K*wHzMO zU_kZnP%46Q_apmc`O0+_@A-^9{W(3^>qhSPfu4oE`&J`y)*r1-hxmX&*~H3NRi=1K zGKRDW;Q5FP41C>=bqRH!#U}j4P1(>p@2Ck15^=5YUE-t4iwtRy!t?z9p}C8s@N3`W zlL}cOU5oxN{^E8E=Wc@62(h$FVAefs=&JTl5{O;Ai0@S0LS5_gG#k{!mZ9pnmuq^$ z5md$v%xzL@&#j%fX?cwkS6A`Z$21zdE2WE7jBedpq2>^Y)U6KxP&@BiXgcli=#2No z_=b62>ToCjqX`s*rX`KR&m44=@uq%N5mb}k>KYjUpW^|e{GcAeuka77Z1w0%FRfpX z0Wq~Pd#CeVfvlyVXO*rqT*(rNyr{&3dzU|FN8HTMOcIGlP}$rM965sJ+C4vOii-4H6JtER9kF?5;42m8+s^k@awLg2eb#{IFD3QqTTwUl z0yltJm%7jDpJv%+ZuF*7@o32;cU2{-Hi(VH?ToJydWqLCq<>id<5NYtjMB|13WW}^ z%Zu!tjK~RFU$uQ%rx`Rn42qGpW`gvcZYYa~l;ixvQ)w}$Q#j?4hFm7|rYzR>sx!jF zFOC_qY;46uu}OCx9zepAaiqVEHpyDDR9$S(tozhQW}-o@p=)+eHBT$C0E3J})waVY zoY^f+5%QH^*qQtqEONvZ)VtvvbKZvnomT2sf-p=tX~ijz>KW~Fj(=YsRsH9AH8uBH zAnGYO=GAyI<{9h^2dIN$0eHU-zh;I`wZ0zkb!TNAr5>#_mO0S_W zSiuCR_CUxUFf|@fKKm?5F~&N%qoTr*YZ#mDxZa%!W`*E*TzX(t{~ucu0cHbHM+!TV zGY4a{5~y??;u}_I!uIq(X`yXK<9zi$x8Dp9l$s&hS5+eJ3!{zZ|MJG(JY}44-d<06 z6=4qh>qT|W%qHQ#S>tiac|#OvuOT_Xj3>SI2m^vc_A+;ELap`S#&zd|-Nfq8shR8- zEFX95Cm((E3~H)ctSdXqZ1Xe(!OK@ z*A9=d_m7s_5{aSG^T~6Lc#S@?XSV6Xlh4{culQnntgp(Qynj(nI4j-~oag_~2Yvzd zEBT$vgOz2!8L+!Pv8E^QuO8>aMD}@c6UC~|u{p_^E0`H}?OHY{=jp=m^5r!XcK^q^ znNjbqNB@XIRaLfksFN#f(7+|VI`v({!a&S_te`>Mj&&^uR04flc zeZq*-t*n*n^rFmJwk?jeD(@R@i4UH6h$7^)b8qw+5>xeD0N3Y;hNk z`!Wu@;pY(2!M*Llqm8H~d!ByW)C5OXjGNe?B$X~n{K-iy=tD=QsSK9xwd1i)j`fa) zu?49okB?Rp2R6pc&P81(OfqaelRJ*M(`ST;PhWoC_kS>nx$Pnzc+jj)+FNd}N^de0E_+>n4{8G( z-;%(i?^oe?~}6^alodxo}- zR|r{+8)i@0sefzBDYL$2t{BiGntB$IzDYIFeyH&)cLsH34AIn%%mjY%jy>%+lt*HL zliAz>hyPpJK+)N=8H_|K4+UiSVWnbZajzP0G8o1#48MQn$bP%KdXU)p>^NdP^wMjd zKKY+nhH0~SLgzFvR^m|K^hb}_@okYq%qu5=={n@AfAE{%v?bQ-teNSRislwH@#^8V zVJpq}Xse&8DX`$67&>y#M113XSi3|4ZA$nUPG+7EOiwgXx3j`pyBn39d&)2K3_sz- zAUUo#S<`--&{D`D3E*QNd|*%i!;1c7E_W8^pw)FolauSKnAX}KYoFK#?moZWvNoyJ z2c(jtJs#7Iy)2Hg?*6)yaMo^37o>N8NeP3mde9O~7ZLW1i?RvKj2o|!JSxU@#+zNX zI1|4rTbJI1l;2A?zr@<^dk0$ekt6ThTt5b_SAs}RlS^BV1Z^(6ZgE+Q;pjDcKvMu3 zs2q6UzE9O!4LM%C+E7sZu;Hy}{C0H9bt_wn-^;#cbA6z%Ts5~+O}>I4mVUO%wze&U zQspE1#qzGTZ-0N%=C9HZRT$Umik`8tQ$y|oH{E}>v|B&1x5a(#+*#=e*=yU=_S;EY zywA|x9&1%=lAjT1%{3TyKWukz*_6K_LOSC}S1(KlOkg}v*=u>>+5vmKSJxcSo(#3; z6kBftu9KuLI{IzcwvAh>bGraEgq*^#-&T`&DmUyO3NX`4mGi!EG~2ll-aBTR`hQa5tjT>A$~!Yb=If4 z4&l?O+cOYsuVuHy8$^tac<%d`AGLGrDuN`*bU#-_E)g|O>-3SvAV1D%M%tB}{;$iR zE*TQlAFJd^tdrZ3sm=6t?o*Vu1Gy~UbJ|gx8HgE|9XzOJGL?vWx@QE#i;dQiFT{$9 zI0S~i*g!OSmawBir=_x3(<1XWzcnn!nQ* ztnAhwJ@USM_R5K6p{Fi>SvlE!KxxZ7XN#ZIb*)@ncHo*l9n^QPv=txNe-*3IcYmp% z_)TOGlesSy7F*Ln+vG=!UosXheb(-}LvJge_)=Twn%(2wGFJ}lC}w8dQc(Ri`lhw| zg6igSZPDp3Yx?ztO)akQ$xmn^)3v_d_}OU&b}RbUf>ur6V}Z0{nA^L!TRoe2lebe^ z8XkPu9^5eRAYggD_k>{g#O@1+t_JUIv#065eq8f{Jzb}_1)4iw`0xvfh`KueKeFBi zu8A{UAD$%Q*$2A3u zu)3eMOf=el;?%Sz-EMcM(S?n*8+LJtT269nyhio$wAfK>pi$eLM57F);1N?q=DSkR zj|&YInt^78O=i_B)pFK|=56TioSJo=|L15Iq=%`yI!zAWPp1a)&@RU}P zvmbn0_fs>j-Bt{#gew;go@4wAqe%HrdfQDRP|WJzu9@rxL7_R;3wfYWNU}P=&HsPz zFGQg~?XUd}&G|sMT^Z>*UxBvSbRn%q95)LN-G-^LiJtmf16ViGoW{bI=F^>17d;TZ z18<}`GnuZ6vVud~oca6%p89cf*a3wK`B|kjY7Q09H#1-O8Gf$(oW5XrD$9LMbw142 z=Pe053r{+B*7TXi6Ok%>ttp-9yWU_9EkGCK=@yM1v^u-cpr;c0%tBBTw{%gl4;=o@ zB{2rNaYSZCftZUm*l-SMZtt)*J-Zs#R? zd;FA2R+vSeTHzbU&Td|D)?z=e@}1h|b&D3zneUnd1LwD)y?>Z`K4WK~kwZ08_R|~I zu)SJv>VpPxQ!>e%+Xn;?w@oqUfua60KNjXzQ1!f5PKlCAgbBTp1y|r zq@cMuahmlTv`jGC6%0-xJMmTUz4!iPmdmo5H(&#B!d@frMs?ZFsUpt@3+&{Cq8!3T z%>uSm*I;ev%%j1fA@zD1`e^$E`geYEGzM}0k} zG6zMCCfwJf{$6dTBk;i#&7aSGfEi;msRB8pa{G33*f1UM-J7(8a87+=?^)>TUnfsKY!)KgcbLuxS4Gg7 z=I7c6OVg^nw;;tTAiF0~*mH{ZTT|!MaCZVLT4=sAb1>Ma0vVe54- zu;3$xcPua$8}xBq_gROdI2(L?NFX=oe}mC^=%hctgY(^rRPmwzBr8|0S_K@_ENP63 zPfEdP98Kq%^+lAb>{{U>nAZ1H5}Vs;n@FWZhcyHtL!{EG;$>`e-*Q_g`Jh z1dAxP%Y2ZBfNuIWKA`p*g~EF~ht_hto<#o(G*kZOi0g4qIZLnY3fXRuc}SW7vEY*zLHC9cVU=tZPa)J&x*^VR9g zEjILkrnvK+Ry`M*Eb4gYq;OP*>~GiglR|8l}UcwM9i} zBg9B^S8?`#eUkCcz=jilW%By=qWT}c;5=U0gigkqRIo(4uNgYScYQ);75hSbPAY>A z$Ay3cf;Y(sjJD}AGmLTV->+H2hU^3~i*6M@vzWp-HV_#?xgufWPDEJg;kOxQ@!2{F zM06qJ<#GpEk$8!92y0<-%sPF|io|OO1D#;+3Xv8G<(eG*@jdW+P13VDC}}RrWQZMl*>%HM?~X(}c%ssw{R|4|VyZGdosuUaG7-)4u>R8W3(jKvZbYb0h9L zsW`L6Vsk)O@~}x*$O<2l4J&oUys%ia!S(G5C~WnmE0bvokWfm;tejpvyo2@5@0_2Q zhHJP~Y6-GrZ&~cRpD_OEn04qkxjTt=@zSymk#Ne3^f%k4ufx8H%++mAG~kz@&-)n9 zub9}+r9q5KsA5f1t8RW0A8ORLekiiNK`fe#Ow#ZOB2jJ0{tht#CIq;(aQ}vFr^c_E z#ihFQV(FSEw(O|4+5IbRp;)vNm(f2IL#+c~A+5#i2utPi;q zT>(~S$@+)&`gd6fh_Mr#dpeg)hqdcA+vhf?HpSl>_nIS%uv<{1f=f9?ls!4g@iox6 zz(I&vw_!y>7u;R)?HUv{LY_yKU=Ar8xwr-zIAFGB`npnVEC2lFlu{}z?L@B$s)>F_ z?8w7ZG-M^-5x=d)tQlR*?wF^2*Xtx!bdrwR1cZx_;6bT%3Vj%ybnMg3<-@}e4ZrkZ zo>lqOXpBZ{A&^pZM7MjxHePhn=f#_KU|1r;`CUooMlSei$u^ic-y<5`?(-F}?wTf* zo(Iv&239U!gD_})Yf>gyU@g7Ab=@`=Lp>`=>({#|F7VoiM|7@sPMMWt~;2-g&uy;7yr`(*(#uykh3`LOw44nlyp9|SV!-@ zZMM&jNgaU7qMXDOmpshdmv+|Zu*d!TK73&3o*L-RG^QtW(N(mJp1$HndVD-9&n;ci ziJV-5E@nyTeBX(PM-?8()VJj^un^N%lpvD+2&@mf)=l;625lio^#5%Ty7f%P68YmA zs6RC(hqLi4><}IEbVoVD_K19|E}1?tj;L3+Xw5hI!^4|US#*ZSQR7y61UhhNRd93H?pjTE&lnpi`lt?U=mR(FXq004?h|Uvg8YYX z_y6Z0{t`N9<=wByn9WXk=GyDytjg2c-i8bLd-j0TnWNzR4E@shse>Yv@ge2? zNxry@GkIvrA4CDmY#L2;n)bL{F5@2&KRA}0OK+=7(G0|pbLnsZ?6clcA4p)%*LjR? zKdMs)^2s+GVsLLgogswgyd`-&9-~>Hb=mWGro`K9{cOPdO&*f%bjkePT>CiuMD4@t zIm)NTXU^0;sV&&(L^mI&NtrKVQip(XNg9*?)DRcgr<S>PpWNoCd5Q(^LTK?13&su_nIY^>WNzfd`N(i+eW9i3KKnw45iTKnft zqjJ%Q??V3VGw04l$of3k*bn(He`Y)v(| zkTGq%u~Fick5lM@7}PsyOp!)xplH!M+zklTm+Xei(LMos02R^5v6O3>lG0=78=}v0 z#gpMJ_0@d9v9bz!$CuW*K=;b)ylJPSnBGMUpPjn8iVskrE*uZ+$}`ZzX4t@eHVm0K2-adYDCJ?RJIdbSl0B+x z>MXPi|L&AD+|+_}vm{mB4qXU_&KapE{ufU-!5~B{G5#0!s)}=9S1|sklUVUM+TW~Afi2OU zGZw~GhPySaJ)c42D@|kMoY6x(Xy5AJNM?wX#esc?&-}Gfqjg6yJyXk|43fg`3nB!5 znhEAqT|GVR?Cte=$(AZ_Iw>Mq+>ux#+&GV6C@>EjrI%$LDWlnwG^HC}g8Yg4YJYcwC-EHq5@R8LGJrR!xww9CgvFo6*~ zipe>5D8RD*@AD0d`klE`3NGj_R>u|9!mq(P?)fR&HohpFGtN`~IH@Rht9xE(c1r9( ztd~6LPI-190d3qT?KJqfkZAHQHb$@~ld+1X;Nt5t3cjf2H6G()fi@`(B&lO;3`O<4 zcYagKjDYU5DrCQ#`zZ;0kCOaIxYvQyU9kX9h06W6-?$u zyEp~nQE!zI74}dZyn>DPGB2aw!A|UogPE>Yl?AnP|=j-!SJ5d7Ma3D6o)3AB*L}%J5Uxa*Zw0fx8@cj}l+`H3bx^1flW%U`nw1{odyf9vDBa$xQL_okJj_Ni z3q*T7U&~dFBCg#zFFTozcAJ&?x(kKp(y_06Y+(F`5ycEXw!9=+FOR6s_nb|A(Cxxo`6*x z2$8JF3zfDoS?ebeOd?eFhKLP64mS^CWQL#Azyu>nf<*Ovo1n?@Q>}AQeib6PyRWA7 zzyJqee7j-CPvRP`IU@bllqzGap!rHytzP9~6ehS1*Vr>hjCCmFtBf#SmyQ1dc=wZd z{Khy%H`|`zvDq~qyPxX84HE}0o+07F9X3%L>sj~u2b=%$!9&!BEQfGx-BtQV`cXnb zx-s8JX<=YrE_gG`bpR9wP3bJ^Oz{3QlYX`z-Fja|=pNme|gV5ZMtg1#HX)&?$% z>+455RhdG=K}NIF{ERj!zAWqYtc9GG>FqsAt0U2v~(qOhe?TxPW3<1 zuYN0w^NozuUnRd=&p0mGdJ?CG(nP3dYpSri%{8RHnnG(#F_z?Z^qqt~pqUdHzDIdP zG2Q;|u@I3b*Q~0+78TRTv5~G3c-C6xhVkgtqgPm2+n6$304*tM?Y|)J{{Ht6#!!cb zw74F*Vbo?k==+2XQS=R?#g;o;y_Iw6@4Ywv9QM@(YF1=rJ7B zmg?BV?P26;|CMY+hhScEbTN?~?jKn%Dr2<|5O>4KS@j;c^6==}jZiurJvGA|%GZsq zEvr~Pes5Tf+qm)?B=r`wFu?`aB3&@R<%4grAs$9T3b)% zngzwB(^Rbb@{|#s@jXy>$dd{v5Vj1>S*NTwXss+|K)Buie!Vb(L-;oq* zF-2b}JeH1JqST14&Ck1YPs|Ivz);xM2xoR@I$s#;OW@@Xt7<+s%O9es#^P_j!G!l# z*_V+&CxVUJ2g z2uV5qJ=v~Q#=rlB1*jxwz0)c^*2w;`JFJo{>T*JKF8-D&l_d^o!Jpo!u~d2xXEYr( zL{3=)e>hEHHbnFo4j!7o6-pVf+B)}?1dH%8C%!1!AmV6Dp=?5oH4t+yy(V@nmkY!Z z3L^zk*{0~)(l|laHkA`KZ`lTe&{2{5!Jn|z>es&QC+%>rl5-^Z^9~Gu;RAFLVkvSI zcQ9q=l-i>t+ztC4+$Js^ia>M8iB#~PT^e9?Xij;e@iS?692E)YoJr!_k zFRraet0eWXU0mBgn+^Q9v`#mph6~JoajSv$)L#b~yWd5~wKv{-j}_Ej{f89f7nf~~ z&AJ*IHwR`et&2^s{Nl9P5$SC((3s$4_LEQX3#(Q^mWZnk9iHO|lc!y&n0@h&f8c%S zOV#`L?A>ej({)MHHll8)*Xq&L)yZb@JKd$V7pu37fA<|P7uSu9OxdZqh%1F}-@arH z$5x>E-zzV__dV-ags~ckdFK|)f)xflZp`vG4qNSwJQpd$kURXv@ls1!mbl9-%qMY0 zSsX9y(H+lkOs`UB3W(=&?R$|&p^ymk?_QiZMUyw?wycyEu#B?bP2*P{fv@m;JF>zE`g!c9*#mY>K`x-`m$$+pER;|a>JrrHibU1gvwkb2O2p~_4qI^e#(n6UNYFv2mXC+ z%H!D-oL#H3q;0B>x*VnlHgA42Q;=fTRBw4Ae7WrM2ia)8I033(ph(@OO#?WzjVXFU zB>+-1UmLqv3QmV9EOy5YnPoVQS`4GM;3l9q^3-_i)q`s%W6{1Y^(*HjMv*^`cRQKL{ubr2vE%)F~Q||4nC;?Lmm`Lf`f)Gi%VSF;K2Xo3UhX>yO&&_Xr zZBmx1Ej)bc|c%(VTyiIwaS~W9f-?RUd7MU5cxDh zk4lhYYd%bW@a&$IE?)Q(KILmOcwtSdpLqZg!4SYSy2Rg?%PC7!o3anhaqyAlRS{Oq zFo~a#lYKeKys}JRwd%@edPNS!%J&v^RZrbHeKu8;CA2(P_)w)UGe9onBc{GtC^)FN zB4ZMGNph_+KIlWZuF-@^Cv5bELgPbl`{IoeY?qlLHCLb<_`O0QOs%&C@I93%GU`Iw zc@jBp{AVH7;U(+UPgnw1GAB&u8#Q)qJ36d{w46e}rPpW@=D-tFbPmJ`9BLbL{A7bM zStK+4niCXCfCbti(d!=;Xt=;xOdFkJ*JuN!RPeN@oIkxD>QRN$|34zdEpKk zr=YVL*3{-83puM8V>ARbS&ZP--Y{AP`YqDl{+?aX;k`H|R?){&n#p^=yBqnqFC?Y9 zAzt4u{wke5`>?*2iO#KqqDs6^mzD2{*VEW*q@{YSn^peVO)3~kiDM)4x~dubFDB6L zH9IM38udHqnlx)S-?_b)$LO&;J?JbT*pWBBy^K-jliK3i+6Wn`PE5l+T;HT_$>EXF zyDT!Km#S}^`@IerB%+%3OZ~a>}nrGSzYYnka45QGwKvOreHai>D zYG^FGqtNUq>fIU>_bgI&3qNUyv3_xxqF{IFrFEh4@g1rgX|4OR22u})Cb2H#%rg_P zgv99#z6BOYQ;S(WtJ$D7v33r0ZR*F<*TUu^lT%~9bcqdX6O)VA`jTeW^Fb~3!gtfC zlgzdfO+{Qn&T+F>x3;Cm`3p(C-lad>-mGS;%gVo>Xz;MoTw}&SFumM&8qMmuH!*S} z8kg~r=LdtV_u;N;SOX>Bol(x)XO5~NH>$ViHTN5!g)L{_!4nQWd8-$exPWBHmAJbkjqe zQ`23|BAzh`kHFRXneX>fd)GAQdAt*r&>zriqpU5Bx5pe$0&yIQh4*}`Fh__1 zD|`_a*e+Z=I%UMi2RQn~7+z`$yoygMHJ4#}LAa~}2g54sxbkL; zM6)#y;mq2#Wv(Q5RU@mEx-u<7iCZu8_9dMbx$HuI$xr4u*I!n{`Cn~j9Cm5c8d)@W zpAE@JV&%lAc%_VY#@;MM=SMIkybx;&Ex^DMljM`Rkj@k>=;^a?5TR+AYXLq~j8Jtf z{4N(-3}G@PiD6AiP0~25DTM|Z(Y_W8b7i3aM8%X7#}nay33|B)`*IU3b`nkOBlh6N1_jN zVvRSu3Nq3cOI(?_f#bQnf(3Gh=3i#+ITPf6Jk?V1WD3d|vUkkQ3hfqU^6S6{C*i$b z$ZyVnq3gQ{FXD`0j3K@iTXZ~sF1iNc*wGjA@9n5ZBrWaj<`l~Pe13-i>JBXV`n;kH z?PI_;x`flm@9znd<1RND`BC=pVbV>gcY*B8@BeL#71e9BBNq!sfiyODkE*ui)R$jg z#WkJd8M}@_Qk%cQFeT^@tFLX&n|J!?Q8>p9sRRF{f|+LTySF3cR-rZ#ASq+GBk@cb zk>wEaK4!>eLH$2R9F94M5eXc-u1&NAbp~XE6dG^J=LAl&UR`s(Nq8Bq0BJmTVT9bR6a;f+F<&{;dLd0`~fvVtZ zbxE{Lu6b_1dT%EJ0jygr8T~;5*{a2`By?C){rhq4RNWbj|m}~ObuHFD*@G_og4^$itO*X^9|0KE&dn%>RWXMqmZN1WZ>-DO?W()dOBFe zVDi3o>T~KJKRxtQs8@05&{sETz2$VbANrSFLdeC5SkmM z(_}Vk_9-bd`psal3r3>yeoE}l9rx3xHE!z6PuC4RY!YXs77o12dlfvBke9w#9q4L7 zY)p~ECj$X|sEH7ZcIHYxf$ZPR3l7qQd6|4*{{H>QelUWdsXce;kL$s!7sW>*X3yDE z;Y+G(;N_hyC{YMgql~wJZc2yL5n54AbyL&c+o)CP?h8+$>O85{_s02%Z=^bT%E$=5 zZR_ZmLZ03aNAdQ?bh6X>qKlBC+9!V%COr&H(7k)r)#{iENrZ$1;FM8_5-x|f{T`Ax z*3E9+{PL0t| zm?|$|%!0Upmu4-knWi!*62gG6{S((r-kIOq(B+QpLZ~tdGMXeT6ER0+i3z`A=k_y! z^Zh++$n2e4gA}5MaW1MI45MDQS2o-au-J&8_bnI$@dUX06Fy$ti*H$7U@~QQ>RQCi zo3|qF>d#Hk@ZvIeJjI4!0cyA3*{cECc2{Fy&gQKxH3q2Q9Elq%kVEq_9%R;L$!TN$ zTuz8_AvI8tC^qnc9hR9AxCi!p^tVHPu$KXT!?OEqr;V38Hqp$O=2?gL|7 zI6l!e8JtyO?M9%6E1nBAwZ(IaKhs|lWxbk9)j8qv#Yk&xVuXdNvjf7c$m-bFna?YU zGI9UdWf3U1JAs#qt8o1mw~7_$V_VKf7q(QNPnzOoy>W3xR`eZA4+z*i zy#aVYiOU%OO&m-3FAo;n!VB!L;KZv&8BOMW?ZZfp6S5atQHxV!fZ24A&U_{`(;Oi; z^ONZ7sRdsGY_hmELVbq!W#s(v@zv@LlyC_a%+@LQpAUm3X*LvhAx{jZKlbNM zdn6WOh335W6Surj(|Wj(k?+)C7mbw7=8m6`EeA4GRTD8<*MO#Iv>|oiY0PU55^4~4 zCmeIzP-zy^m9*eTj1#`cgalrs7<;Lov(xzrvJKTZF{ph4m*6Ii8QQ75pm}`C7?g`d z30=K{D}-i}&px}dO1*3GVNB#zFFK2`7?q^LDcy8#BUUYkES`;3bh~HnfSm_fwf0#6 zdzRy{r3XPa*skj%Kt4f3Xqvo>5_t<4n-KcAFJK(E;cnRJvm~Vs2!Ae}u>-H26gxkF z5(vh>!1#D&kBTU{xjh{aIt3EzR0taHf{%w%n0ZP7cP?g-&p-bXk|6>SO6tzP{0h*6 zNjFG#u4lrB14)J<+(c^AgZI>ADFwxmlJG#`6m&S%UQe1*XLacG@#p|YEV;8=!E~&C zj`Qkn7$1LbD=%wv`c9g~IPKTQV=1>rAXiRI-7%s;2(90*qS%q7T&UJ=#3pu)R`N0# z*;L0x0bL0{1p%0&t!Pb%#ZH_)9f61Eekz++$Ecq)!<}{(ZrW6j8#Z|zEeHiuOx`!U zdf9LcB-+fczF4JVu*KHXk0SXTq8!H~BXL&i2l(iZFY~HDynTD~cGjz1o04$hsH!Vw z;*fq+dwwZj5x%QCtTsc+>Fo{T*>u4P@!Bv-(;t7!|u|bZ$#BI?$G(aYu%Ub>U z=cpU|AbR?QCGu^w3$Hgak=tEy7U%6~FIf0Dsv;xiP)1rYS0$t4K^FrZlu6-I{nO%E zC*M`w!%1E}AnPdDO*|N9f$C?WzNBe2nDE)NA+`O15xttVd%Gbv56;l*UsCnsUDcX| zzMH&QPkc}sTjcq^>-D_-tj6^yFEl<*I=~|}fp0972{JL3068&{PBfO$YF&y7R=<>| zBqSKPXi#6a^Wt;QjYJmYJaX;CD$!RKZLiknPgEV6KcL)>4{1E6DFw*X=ypV$;mCbd$ z@&RqwwSVhilyz*Ku`f1G{_&Vu;hDsbPu?>D0jDMb0V5DQ!ju-51cmaN~Xs; zAc2ax+mtw!x7%_JX zQW01#AckGN4Nyghh5l1zD+h1`>od(D0fRRjOkWF7n~LPyBfaaEv?=0JoGD z2Ek}hAeqvTrCS>|AunRs=Zd!}3qegBO^vF!#fM@=yDJvpiHK^M#<1(ft=qZC<-1ME zhM}vxqg0RXe+36j_QF9#evGvE8Vh!p5nkezhs9JznyC)cvN3_O)5vR3NTw&&;$9?! zl$d5gOd7?M0hfW3=7EM@GG-AM(=F9i*CtNz;neLM0(+W?6!s<{(~Xg+=p<_L7gb^P z;=QqIjT@2mgC|kqm899fwW}J42bQs@4H*R*X(i;TWHp~|3GCI^T9G#qm-2xHOY79y zxy@VmROBke0yq<1;Djd4rL}QIP)@yI@l#uK6e5|y`^H?X#%Iq7k+vjGNW^k0RAzYL zHCqUL1SO{Bz^!o@5^HOa%fL50x}ks(%f$tCm#Wd+dtX;FU09hPqTh;*_Ni=?6c0fs zaASxQ_W}BGggw*7x-~fTYUu4fC^fJ`3U)(8b$U<12RL|g-;B3!|p6gi7Uuryf2;1L91NeYiOxRM7WX; z<0%}_QPIB+fHKpzJsBs-^-o0q3ikCCZKm)NIeD`8gbD`>$hW`z<=@n=c3|XEM-Lw6 z`WoHI+$hq@8<@zvi4puv5Se_8jZ~<#0W%^J6krb^8bq|Uf4}RaF9EN!GW;16U|71< zq=;rihUQSVA%f^K(=Oh^6`Pqz{b&0^Cm)Jr8ET7V!U|nnr!aYCge-Crbu3Pwo22AbI6=I4l7(quoc%wubYvS5k!0}Jq<6*y#OCfO+cSGeToHSFuxz|QbX&bR|E6HFCvm>;YzxhA2@_CcO0%XkIGIGNf%LMR1o4W1;Jk7F@@c zOcnpjY^Spkf%f;??RdDR$b57UwCfv^-dxK@sdMSA3tJZc!9v%0JDum8N#F!CwMWA+3|O?kZKa0WOn~- zGgjwoW9m-h&w;n2qnFHzUM2T?15iw0{c2`@`8m#wyUY*z$V{l8i2Rd>KllI!uNsVt z{stIaeBRra;A|Aex${ql$fUE`80#d&!8CUNYgaoyVh)zUPW2)yiMw_`xydZ*JWJf} z2G?Q2{fTI@l+Vc*r%f7L_)BU5&a((j^&5DlH@;G4!>>1H&_AHW6q+~s$++3G?MR&b zvwN8y#h-@`ALhN(sc|;cW(o)@vD!%fwsud2`}rVHrR%#Wrz`*uwExZ+l!bB0D9S;) zg1qqS|H4u~RL(dTpkfN95iv&>BTkSco4?=UEZEb7O>veaB=q%JoMK#WFVgFpgl@A$ zjn+)Tphr=VA38gNph1K9uW|3_9qgU!6Ac{n{~Id?o~ZZo%D*r_ycx!$K8C8FaKXmZ zBAr@|K$&EA_+CA$6uTH=oca1!svq|2K;%9z$j}u3V2Wg_#RFbb;Emx;DHt4et7a$% zJmtV27|EEIJalr1Rn|f`;JYQ(s9$As0|T2jfmK0Zj;1n*f;Km7tcH-OMR(v}Z^Kwm z4|J!(-6mc#Z)qc}m`HCqXxIh5SFqCWx6Rlmj{toxx5Xq%pwl^Wx$T*QXtUzgRo-X4 z&pmSx`K-vc%Wc3**rfbtTuE>P$bo}1cJZMGG2WGG4$S)dJ25lRNXN^*- zcYGz{HQsN1Z+cQlfkF3vTgtBc!5o&g(Q>Oqsz z&m8=;VJK)-2rtYtgv((N zCy>@+^JGdzsM~#ES+YLd0#6LeIw%OFWhr7d67^)pzRg>CrCHQjy&5Zow>yhJvB?YX zHZ27*n}jkx6rqwGxjAe;T1R|m7IEF7xAI}ZPUPvLqZOjCN)Ra8g?zSiE%j&1o}{w9)Y{F74Ag* z5ku7KMS#pZ4#F?+>pqoAqE_Jm{B-Tzrc2dT(UBZ`tB)6!L0^}VDJ+AySzYBcKJq|s zgG&$Z~IyP3kTR9U5$Dy-hpu4=fK%eJ<~!)kd9(r63fiZM?7nA~jwpxdLLGNIRa z;WMNs& z%6ag9FBf?U#HO+&)4wRpM@u>pa4T9D&DmZ0q^Xc$9crmC*;^vkNO8E!8YVdNS1#nc z-iD6*ZOnDJSY4yPHUZbYM(>&6#4D2ur;S*nFOKz5*3e5<@k`8&bkPORqSp6BW%M)` zgfM8#5-N4mgREklR4|PX{rRh@NE~0ahL&3$FJG)q(G_%P_EcnX9*caSBrj}n9_Y-k z%mI%c;6hr)aabDV#P}L|FvxiUXS}zir8<=`NW>)EOr60ppNq z6=Jc#fvIKXu2@c34*XY>){rs(N7NR28SmF;4INIS`XK7f<|IpqVjO?I->Y&Ij>OJ< z{I-ZA8uQlF${A?I>R~jGgSf5tNqmuA-C`LV3C)z=Q?j{nfsjd&zK2%=HcUF9w#u92QWJQ2oo)t?abu^Zp<D)e_HrB$ScGf%^_z#|MN z_#h(BpN{S#QsG93t3CiJtNe&r)Qiijs#bjoKxNBQC1PN`lQ&i{%BRqC0w_B0N5$-} zJ}9=M&fxv~sNM6VR_MD`52~wrQ$<2SIvie2xo-ftAEEZ#NhbsU!YDUr$d` zJb>rGK|b=E%WZBl!P*PI$3Xym{hQ|R@4Vku&w06-9lAu!g+JRcs|StVq&Z!{NAi9f zngN6o$=~03<>2Gp5N~RpIfzhmx0HIH3%#pJ>v;blc)WWa(l&S)O|573T&~f>!+=wf z!CR4!H%n$i{G%TEGr z7s~aL@F*+J^d=2PQ%K<_4|pHy?}G`vf|F(nEqeU72sdI$W%MrG#UdP^^7k2`WOdNu zDDFq+=faimd*Umvp0I>y_ur4P0rJ?s)fpD2&Ml8vRIw+ZYL>}cygh0a%iWi{fNlG> zbHY|rsE}7KW=m!5JS1Q6bKLO_XrvU-bvIgsa?Sw{z^Z7VAVzX6SN%wcKJ^ff`AyH* zlqK2zMMhqvtdY_g`*`so2*(FTS664N`}y$Stc-XcM$t$Q&p>ZNgIle_*mNt52M22|a=m zirB}z`XG;^&IwtlZGgm!s!E#LZnLk1qo4yD8Tss)gI4cC{3Xyi;xdVNI3Z0v=Lbwe zg=-P#Px#anUh1=j7IF5{{TAgAdFJ4LpxVxtXUKFkz|QgO4!8`DS0%tBs~JB9tUNN= zH{VfOC9}c!)%}dJ@-BWq1Bj$AbPc%OtOzdrFu?UOFi(5AWNvS=Ee^Y_O zqid0Vv5Jpc9RFmkb){NG+9E#Uo*hY~=Y(TE^>eIEdemnL#{_xhu}M2Oo#N!UmJ0Ys zn)Um)<~R-^^&X%h(zgF)znVa{SVGHeQfxJ^>@z8^f``|;^_84Vtaad!iB+LQ0~o^> zz0)Szt)hmrS1n7NlA>*#hREH2U}@V!eCSQ9{N{^WyKKTu7qJPnRlIE#4}F#4v)B)z zW#sEer`!eRlkFB|*c#O8Yh!JZ!#4}9B8KbvG671V%gA}ikbRNWLgk!jQD`Lp-3Xetj+8X}ro(Bqk;JnK_^K%7&hFQ$E25(--2Whej z4@lXZBYxS2?-w7@!2w?mBncnEgiiI$w9ac zPHL3uC*a2hnBRq&h}_HbQbCjx&Q2=uLGg$n&uJeTx(Z)|l$8$!k#2+qz8VQ|%5Bf9 z{kd@{w97ctFpd^$QU%~_3?_+t)I?{4hS&5x!Ku_qfDgDo9_Tu?)-88lrsxiL_PHl4Q5ASS-D~A z*bJ){57-72EYg^fo zOo#ng(mc(|o(Fo+ZeU@hOGh@X9Ueg7DaF@b2agEs=-H1}X9aE1UTc)99J^zd$V|{c zZw00_vMYOZi4bG?9+nKjg5`++uDtQuG_qu6P5eE?UJrT=^;=ja3AXw+DPH|gUYF=-vCKRh&ym5g>bav|E27aeJY@vW3qmcg-TEQmd!d7xvk zzZ+2phnsh$;Rc%CioFkNI8cOCo-iGVqhw2@A1eoPiuwHlmK6y7eVhE_2ml1QCFJl< zU8P4hE6V{xe{SQ&Jd>2~V)4fe!Y`FbjxD^j3kL0^(;`1|4Ubw$ z_RPH&nc$;wo{?jgV6t1Dzyi?+4i14GL3*jm8{vMk{Em`m4(2EtchYGr<3v}x#i^A? zd`Ob<;?G4huPATXAiM;H9px=iQdM)x;$Pap39X`@v9}`O3A}b5Ns6H9>hgWOke?MU z8n@tQ;l&z0u=MH#8=(H)Cg~eh6be3ixox?{vGDtMk_~rYofjJz?_!1Jh1aaYBG3B% zT$QdMHCM+^;a2Le4|9&!XY2!jCmqO*zVb;!2Pfp1&A!!AoJqBa1LXoX}nXbqCV)&M6jGwiy``Tyzi(Pblz7+uw6 zQDXQ|oJ0@Wysskx>sVbG#rc-?KZ%d&8T;;A z9_17>N!f?6Re3~A%8}k2w25z89mN1YWr-VrA6UE}jQt#wSe6rL-F}x1R;TQG8nPfU z!y0%4B)YhAM)WOfos8)DtBiK5qqL7lbj%5&Nx04{$@suM@Bnh8wxyQP5|eziA3s;# z$nnBO;-lXz1vMXf#UvkIb@db{TxTLnB0$bVHsyxZ(Qd8F3BDHY?y`ulAtqU83YXV# zA*7@wn{t?!ie5~mZB>!3xda8Hk!b?f1cngYLI_9=;?4XeU<3oAUF zQYOdubR*-i*b{s0s=Ajet0K^LMBzOwqgyIY20?KJFsEJ>ZUlEqzq-wZN?pVfT8i?L zlPA%!6}sR1y}yQBTPAl#QR^i|)TE4UBbu4=_Lp0jKw&h(iqlN;hueQqXO`x(sZ9>K z?jlfpOMU|^_d}D4ANN$h$06S6%#V(+A;YABCo=rGn4C`YQ2%nut4wGK7y7#?{Avvs z{6}YgHcH&KY=AzS2L=mY;o`N|sI*hyBrSVMZcz+|*0>NPzWU5-8I zK(G9k7OYJ?tpVptR(7->v)G*-t6#D>GyzOzEcjTnt!H*mkPGaY-LKQ$MVaBJ+xufu zYOX?tvCU1^AXC}e|9}N#7t@n!{}&5@qaKf0B6~PE6$Ga0jW<+FzOp9_1uDFD#K24N zeF&H#;3&AyiHW9&ef$=yO!w+=dhOaTl3qOl8;S=IP&qj1lY_3@)SV|m$5Xh96ux_x zS13{`kB&mJg;bKixY9-3zv))37Ak^`e1xEcKwN}38SCLV80zi4tP(5F9s0n^Ih<*T zM`y^>23vz>d&x{Uxx$GvhMV{PB+XiE%y%TwBA54^s=|?qqjO^-HB|nQ2tFz?x-li~F;UZIoAud=X)pc>g9;Bcp zR?KGnMepFLK4@~z%S}LjHy-j&;D>YB?WQJ+qb%HKQ5L&@`)gMTSm( zfIP#Yz&uN|plVeJ6QfOz7rSslU9bx+LW;jnmQQzC>e__`P|?7%e{--nT*P#p*{zLQ)Huqaf8GT&lXh{nl3o7t0i4kot9B)rCpPs@gWxSPr% z*KaJL6{&?cT2Lu{JlPU?`S6v1FkA+&2*GBv(axEm0ltiW4eo3<%#)cq;x1 zj~$h^2|QeWfs*65LlYBSp&pXgh*=mt3OJxV&WlQ z{FzB9#gltHEBx2?1;QZ^av&44B6lERc2a|H@gUS{CP3X0X|#))7rq7W_)t#hO(yWz zoxL{krWH*ql*diML%@6YJo-{w7tkty;!%c;mx&(4HMxQ7EpKEIUF@SWsw#bWo9WKft5My0Zkz zUtTH%&}W$BqH904gJs=RaT3|(ep95h>c3d!xGAu^QXOoxCCvE+eQH6jRs0VW;^H{R z!J0{OO3cn|{6#$jiWQ=A1iD!L=nGL0<4U84mPP?7q`-q$JcXeippVakK8~F<@H;-# zX$qeKlCM(Nh3XIqV;AR7N7wrr{j=9yVRU;fvqa=={UEVS0o%j~E1WfXbGuu3#X`^O zS#|Y`FQ838{V?wKyh(uo!j~ZHU?Djdc#b2hPnRO1iKf(53~DXr|mAYN9`c>XU* zZvx*$o%fGtlBP%6(i3Pw*QPC!%y%X!y(sM@X*mT%5hw+08;^B&g>}_OSh1a>wECz; zJi)Vt+O=y*Otb55EY_J!fyd`q_xL}$g?(H(mc2^4h^uzNbdLW!{(QX@gf>lPzVkWW z@Av2Z$<=i|72;2vI57(K$CU^SS6nWaP}bURLn#@HfmXeys&1{PlZc>FTTk$N^ zb>t2~RahsmE&$)*kW058QR;wcS!{bFD#rDY2~tCJg;ItzH;38HeZeJD`qiaE)!u=n zZlLX;D7$IBIl^*l(H}?)-y1`=yt#JX(&RKG61JMiEB;0rXIn+kGtyc+@ZjJYjR*W5 z+GmIM&BoiPuCCp?k$$_T0g#o8Pn#-n#3T&?b(eWkUOQ0eQmQFcqhfE%2-wF|*r?q>J`9idX1kz(M1^U3aCr+UmlBn|& zE&>{fJ9KpM2jy@)hh)>-JaQbLq_I4(R`qyLlOJnz@l-oyjh)v{oS^;9XX4PhcI*vi zqjEw}a5i{J+y*a0-Xq?3<+w|GMap~I>mlmlmt}^C>rxuPtxgW*)vtx@Ha8!v)Q=$A z<)BZ~l*P_n?t)G1xVFz@T)c3$gz4+X%<_APt74EgV16j2Z@B^*9&3Szr z@#lAd7sCYY1<@Ytc58z{N>Aw?^J8uf#3(K!QPR!>HSEZ~!1!Ko%e9?g{72>zG{2_f z&K~3m>dNKtLBu*X8|e$Z(MLplO-K;9U(wt$)HYwgH4~!!t;HiWzn33u`5OF!16|6S z{0iq|&ky55pTLxZaYtttBkjPDC8NH9HWCTJ`HcrP945<}wCD_Gkx1=uegpQK*z;BlxDcsXmJ|IGk>dO+lMoc+$ZlJ1O%qq_USXkpP{3eA1>FnGTdz?ww_pp znuv}$i1=z3HfgUL21@%UJSewJsR5YMIRk$(rbij$&q#~PB|3G$#RO4by*$$gs~)t? zTB`s}E1v)j#dlUH>#s8M5wGxXr)D_ttkrJtbNx0nS z=2ttVwSbB6;YfV#p+^|y(5C#1$sd)=t03-4#dHs?{RYA-b`Q<}qv+JbD6;gmtseO~ zT0h&DpLOz~vu=61c(RfhamW|H-D2#ck*1hdEjUxT(6~a{xo&xyYH6aY+&Q&K9KA(@} z1+P1&;enN@*4TOZe3FST$DeVJ*=r+vN5(uJ03d-7t@{(KAoK$b!^jk$jXTo^X*_04 z_tBbVXI2-soanRIYmj`Tk`F8u8tPddQkRB1Km-dtL55p_!lo{@)_}8?`feHpQ5=B@ zD|T~pW&C0Y6aiPhn!8lBBdog>>sB})sV%WqJT*^%wZZ7P3#8djTNsOWT4g8U>kE82 z307I1BA~Dl0QRiO3EG$W2okj?V5yDm^9mW)@~tQH_j%c&JOK?19iNDz9)6&&s} z9`07DC@4w9?-2F?d{iyyTOjTQ!a@AEU7B<$Rjt6u`Mg)}rnU9WtBIO(_38{QWsvM_ zqHGl1+->|i8o`zVbY|NZiO1t1TK1>NTLh}u;T#+265GBQ%fcYj4_7%Ccbh;RXH#Yu zdO)Tytf^Ud*a+x)R?WO%8aQU?3C72Xyb?&1K&h;M6-_h3rd_DI{v@!Uf`S#ATB%>^ zbfDNkg&o*Bf!w6FC;=?iF4!CKsM%fDue#9*MfNE(FZ8XU_bKmKL1Rt`jwP-|Q98=%Em!Zi~`1F|ucn&F>SaY?NVA>s8Fj zL5)8$;?1KCe;59$lBYTzJq<6Kxv)!HA!Kytesu|BM&G2aS+-Mto9Oc&b8}6V`au-_ z>w@Qrv@rqXEpA)lW&E#pCSBYnX=!IN$(Wh53d{HxbQ-vSK_f|o7O)P@&+-LSpd_u^CU7pr(FE3>MaLJvyH#go;FvI0O<}EoY4ta1<)uVRi9r+8zF5sjs+A}n zkwP9J3pI?@qphd;|3u3o9hr(DzP||kZaX}1>g9_S$}3T{BUGE29Ie-0P;Sb`VZjuF z?Nrsf1MLsO4Io9|ydQATw0ed^+|^y(p6 z>&wsRdAI^yR=VYpeEX>%LR7=uR$=}czRkq^odof!(x>BjEj*o(LI>6V>AF5d)DOE7 zJ#M4fjfEm7`?pjH%|{EHUj{p|+vz)fp`3fnt(!|Q0`;rCF#x*K^mLMNOIs`o>IhnI zs;dy|f}JqOj1p}L%~wg(#f#VBL>;2FYUc`HEBsm*sj0U&L}bQ!VkMEq0_qH@_xZQ6 zz|7$g>E>5fh=JBtCSD&`8+l8?n`=T$+&Y~=Mel4`ImL)Q*V|d4ewOjCywJ+>=x$r6 zOoxMpJ7fiafW()gQ0LiTU9hbUkH;0ri2w#B5~f7dC8pU*0tdq3<4oL=6tT>k<({DV z$E(pGBP&R0Wo0O1YIjylr51wew!N&rdatrI=n}JQBA(Qau(W~$Z=`tP>1ntB*RgG^ zVy_VZxr0gHGz2XW@FQJs@I6z*njmEMq!O66R)i+bC5z?!&3GHTccU56XBmT%f<$aO zJ4NCdGc#~5f$5}{BT#sH0~PwZ%PiMO)D;sGaX|Px7tUa69tx_Kp&|G`OEv_rrKY_# z7HiLCcyEF5wZIC2^LWjq$q3Era+BMx?DfhHI5}Obk2~sORkEdhKGEtu+VeYGdTB5q ziV_)t4PCr3uu)Z2`0O*%ZQCMVuqSUo?B~(ap#Wp}3=ii}vec#gi=_7kqh~Q4JavBl|Bdo0Jd=N8f-)?WDjf|fR)8e6Rk%E@7E-)bqE;Rnqm$ujG-#&y6 zeiO8jDCSSp!$U@b6|9nXWSN}V@pp+xw`21=t7pa;Ig3%#+uDMJ-&}fhrkw# zrj-KJ!dQ>Q`v~7LWFXQ+WL@{Dg>`KY8r3 z5)CuL?MV{f+J!uDbjn2NSxjvo8_gvAQC5TvIHTfNjAC-Dwe!PMeW>ntCBI0)%yW$N zN*nU6&k=J8oi86<0@bE!*>Qau1!*iAWwq@tp?OpDd5*jIt>BTC{7G$QB`76gF zQPeH>5@Bg8YwQBF1ukKhQHRbRb-Cq@PH9~bJ}biXEL_}_v^ux8`Phfa#3*hCi5MWc$;L^ls4^h`%P4p54b#Y+JfV@3`Q8spEvGReuA!Iy5WrAc(J8w)ou78LbHSQ)rY)(%ftjO9L4yS6C%gp84|(@t-NMywL}et5^n$O))Dv_a+<{> z_E{Z_|L5(UjA3&S{Kw*Aq!kuRubVG%nhjpqI2iV_A;vI0W4N$X`yi$2I5%81d1k2WCO5anEc2%V0 zeruL-=^oLF;!U&DT5Y+q(Qs>)YCVwh+JqJ+-O7sa#K&@W_$|1(^}*bcL?UNtqj9U% z>e3i~ae+MrcQ`!bmU}=-Gk$yy7r#Dr zt;CiP{vVsUTwG4MUPfDr0aJ|vA=kUYaOF4;k3!14!1!%ZoUGrJbIXa^7)i|K)G+=H zXU{U+JVt&NiJ_x|(QOJb>UVWA{+!-k7ypvrivg9zdRi`UP`!ZW<;4)i%mIVNH&Nc` z+iznDTD@}EYgAuP<~-Wy&jfU(HCXq>=x7X&#^|Ww7QBxTfF6b-M&AOLQ5ceP7J$S@{aQe*K&tU)(_Th$^b944UnF71crt-9ujSO~KNEkJt}uKi z%@3Yi7pv!*JaT%qmW}|3UEus5J@Wqz&PNbyg%Te<5IX{C6)nF$a68L`^e-NGgcb6= zSh^FAD9~smy1IY~B7*-oM$19;Ro7XycW5->7S?WSk1&B3LSy4@&4K#X1sv=7;7-q2 z6!!=F+U+L`#@*cW`~$S|`Vp2tHt0l@-Nk4-MHWz=|J6^SPW}$n^@E2VqQwf_PoF;w zrecYF=W=25VOHKCEIbR5xsag~UskJEMp(R)UxHzW`!ONdjD6#$zSyo*@wvDqhS3Pe z+M~yg9ixp+;b_i-@Z1veuCm6)WP;_L=x;nSCDhHZpd$l+*%p}tZR^z5VrUn072C1g zhxRuBWf1=%%y>i>m?Pyo-K?x@NYN+NB6h4HwN+f-_c{ z2KxJ^?dQ)EU$7OTPBCNmJ-`$M?*uv@-scfZqF!3Au(d`oWdc?{liJ>?Y4uuWrT7+_ zSMip!uQ1%th`gnM^1jWeYkx1pe)`jL<$n{5a#?~x@mzSAh)+%dyIXx^Ty^m?LFbWI z#u30C-rm_oG}ofZOMu`K36zSI8g(%7&#;1tyX@rtLHnk`YQ3==vfNc};c7pkp%X4vHyu=eRbD=}}8(EEZUa`S!sMoQ}L{xjjv zA*xpBtM<84I*{iMcVe=;u=zoT`zT0t?g#PO43P$$BWW5~@OH#b+JB&vhr;o<-Ot+Z z#VkN??X!<8YUW(>JBwOQ%WmbyTT?p`mDk`IYPEM=N5fdyvZgEL9D34vzObhWj@pF> zR!#69;WxJ5_3hqOSBE{dwLtqRtjJ2TS}8Fyt^)6*XPy-+=85$>LGbApgP>J}_TPJTJ9loYowM8V;K z4bj5ZMuiIPKLGEjts`NUd$h$ei*c-SZbj+IdnMX8kFdfT^n`Z#zq~qh+Q7p0Hxg+( z#zRmfQpsSj70y|N7fTOpW{KJ~J>3QNE7(SaK#1k#4yv2wK}+!%s1e&}4!ch3h>!`~ z=wYDHaaA3s1I-qP13Xp5{+c>q6>=7^UvD4~VEngUyojIS=6a81CzF_ew$u^%p=0*5 zaGKDtf_TLQa6sDlS7eg1Kzxwv;cwmXPh`@&Qr<`bXV1G}T_{8Z5mX?We%=Bb$wU{+ zZD7=2#p7pad7`6WhUSTL|9U3=EYOd@yO!QzfY1&aB-qgO58SG^Hlnh={!TZSbu=%O zAkz0>D@^zmuLfy93Sy7`qYL%igGV#saRi^S_uj)#4|$a|WVJNd6F;=0N!*I-q}|-H z3RlTWu*cmc%ZF1<#fr*SR@oM2fQp!DhA9zob<|`<3!q#PSX#bG#FTsO}@M-OX#BfZ+p(fq&A)uz~ z*OP7`y)MUeOZG=1b*%i1)8Bsi8gC$d z^E1^VC66-tUD5n>>Va5(+N8^)1omQ3s$4mjAlyrX2a}*302w=1Tvc7B<(H9gmE1yv z!wD2$)!dy#`&;Mz(YPyRIB++ni5rzsfekcIgzyOdwL;klX2ynyrM>DDei#RD!f;18 z%z$Sz%F$M*@+NM}$%?mG{-RUFDxZMhe9_D{!I z;Y-vruYdLl;cjw1)_~WeosVr)Q;lU26kcpfTQ*(c^L4q@W!pw3+|cFvmt76h>W9T6 zSKQohrMxSVFp#{Kfh-cgcJ?e$Gg|kdwZFq@ZUaNqDBUvC-%orOx(OEn6>||%c}yim zuKwy*xOxv1uDmbtRK9KHLlSD`G`LRgc*rGe|9J;BllUW(KbI-H-Jxwb%<-G_rHyd8CJN%oBV&Ab0U1d`f^KaPu*@xHEXQ!Qdda;D6?k znrmXUj93qyNWfAQX$722D|Z!phk*L~8HET3i52A+O(xh3cd{oUc#R}#O zQu6|U_d=h+fLQhQ7Ulif%YweKz_x5O)QDo%0WS*lS?M1DeGu%m9m^BTdGP3~XyL(a zN~y#c)+pq=kkxSxaY87_;2771}6R zi{P@PiI5DA*QKp1=gUF3R2$oRdl`9KJ9PQa62aP=vo6&QxZN-o&}=*0MB;nC$eZZV87YjI=4y6{JO~x1UkxAtw=T*16)gPNL*G7{QqJ1U8M1icEZcJd_lJj4yYb#Oz$0H1v#c1=K?{7f-u5)v*wcAQtu3lk%gHgaeLl=pE zLv);&tGh4{Zf>4IKsBej01DwfK8z~-MMj?Au^yb6wec9OW+aoquQsVFGQ}EN&hzjM z9hu~2DCQL_iOh+6@j1Yyv`DCzDGEU?&Zz0GMDsFO>AFhsi`vY8GRq% znlUzhVx?llj%5j3%r;<4-9cQqs{-Kz zh~#$^J<4i@tdR)CnfRSSpmmPn;d<`7)pEv;Yec@?*-*hqZ;oC!n7Cy|Zw%PS#-ac< z;&DdX)L|QEwZGuHA`c4IAT2-8aUbf=reqQ@NdY0)#8%Gzqk~1Ovb{@U^fVA-4_>eU zJH2-dbn}vABEf#E;rG+>AIf>qz+{QiY9%J9$NwxrtBc@drFbMlK0R2_E4&mBC- zXwQ1owBBCOv)^=g3q%Uub=PjfEpQ4yJ?&CY7mY}?T;=5YXl-?2U)mR6JVZ>%YVC!; z6lNthKhr+D)R%P!;uLs`Lxs(l`0$URvBo*Tj@WjW??oopwrAeKxfw*c{rgMo&Hqiy zJFxDtwB=B;EJF_z<69{#Mf>WVZAgaY#(y{*4F43A^JvfOqR|GGFO1ZBwHnBZ_zcLH z1~A09yoS~4t2jUv_b!oZvFX}a!THgTcob_4-A^VX3@ZjG3c02%~p@+Tf8z4jIL3$^z=u^ip?SCEm&Cs&qIl#CRyzpiACHW@dJD~c?&0PQWO(@0Qoov!VOB^h zUm-VqwvT9z9ak~t1`))rU5!F+h}E(gem%d2m2+7mZ!FG8yF#G^D+a=Ih-0uoP<_5U z8ZFE9WO6yb)q{~v-_|H-q-`S!bmk{cF!5V@hduHtMzOg(!kTIP3N&h7m3+8L**=CJ zzjXu|!pg|m!99`B4LAQpdj>UUUbw*W`9$#_aC1M$+boyMQBV~4xmSgvF^{>G4g(KJ zOB#*b25KU%jyH-Hn&g~?^=CQ%CKZj2kF)$k#HiY_i&2X`U?=n?Ubog>sl1$ExnlJ8 z&Tq&EM14M#H0k)3(GaI?YLo{C7ek%jtSD1NZ+t4}6UJ;xNK!rL0IHn8Hj1(g`KXiu zc?>Z+Ei}V#>9{iifg@tKX7%`UvGYd0OL#Ep@y|~riJnK?+<#YLCS&W!@GxU;4^0@$ z<)J}el-3Jt+nYeGw-3@rLvaLZk_W1JpuL?=Z9Rk*#gTpt;Yjz7&(0Ek`$a5MtCAt! z0K$|Y@mmi*O>4JQa2-VLf-4L$Zozt0d-EvuBQe-PxVr(tj3Q$7d!me)W9<)-_~WVd zOc>htQZuH0j?w=(O%yRZ_bRNB?4zR-5F}HlcJH|#GCUH+McqC<-6(BKbO%Y`2(2C= z@tmHEjIqoS244Ats9Sz;Fe`~m?~O7>@zAJ?tEd3j!BL`fPV(qa6Ev_xjJVU%&r0h< z<0w5hkwC`9i)e#3^x}PFN>mm*LJX|Y&AHkjPBn zt09JOq{>{LafY8p{Y_bhk(T5);c@5my_Cs{33`m^n?r7Gb-6wrX9FuGsRPtnri0<| zp#4U$brS6}swP6bjGPJg!ZT+Wel=sR?+sse^EU?DLQoI;^VMq%w~MYRKy2h#f z3c=f}XCG&^S+EBE{b(TFTywsow-#udm{&HMZ|`HCy8<4wum>84XF>@^%Iyzt3hDFI5S<}C1-SwO5|&tRJ`AYw_Hsi7tR=6+UrkSQh#MS*3FJshkXBh? zO5@kSaasP8mOu9BQW&e1sALj2111?Q7R!an1m6{jbI0}nm zmght}9t^pj_Fww?9gc7IaF$9xt*Z61n=b&S7z9kClYXGxEao}%k;Jt+6NFgiq6?uH#k({5b;H@3#g+WjV zmier2*?b=&pq%Lm*o!08USA*%78&(ez@yncyrs&2(^qfNT(OX$0+~$naQz+*QpI)E zN~X#R>76W>P3gcY>t#`A2Uh{V2{CQSCguw}_c#!e?iw7IIdDZ$FbmHsa zN{Omf26~y1WcimoN_Cvotd0CLgSH9A$VrN+B3$_+-fMGOwc?ob2o5CfwQ-}tpZC=} zIZx91J2gi?1aJzbJF7R8lbzy2-tO(^_?2EE?>wWVMN=Dw+}fhSH73oslv)ZPCAd}o zegjv?FZIYRq&%^vJ0~=2M>lB zAgg9QpD9q8KBdsZit|QCIejgJE;r5}$JKy8GUSWyU|F`Z^%U#7k;cE*z5G3Z ztl^~PRU3tk4#=u%oyGFzI{tKkD;RC z#;!GJTZE-9H$PhG`;+0(W*Gf-jDQ3Zgr99MB5HQ)$Pi}zLX*|R}8c{69%IFAa$Pc!(xL~4jHg&%4=>A zir@)$;C(bkZv|h0Cn*5JBp0_M5#z*E<0U3$o^SdN$WJW-*!Q*ha2 z&%hj^)pTzzBRb;Fp(`WorRE`-w(*30%qnpX-5c;y zFxv)j)`Ma@9IofBLe>z5wV$ZgDm^j*Jyabi$8%PeiB`2JQa2dlxPPk_sEM)+`~;m# zQC;8?C;(q74yH%m=+W>-EXUlby&AF?jp@la6|e2{cMXRG3= zDj_qtLUU9B9p=*f2x%A*Mz)^AKaHr{j6Z(;P8p@Fh?hC=0s-5X@6PFF`mfbS z;C|l(E;M57Q@F8Md2AMwsWfI-|M=xQRZ6MKDtSpX*Rfa=pH8%apdGHf%QeEv9Y>2& zK%tG&u>q}K&O4Vo*Qf>jz*j_1DMjFhXa6=8E5q@)TM>AoP!)vEvI>W#aJM3`H`@q%o8|1G&I~` zoG*?ry1f|6jL~wX`np@*4=#hFtN5l)2?)HhE5(ncRcY*C1`Y8eqih<&kVB0(@Z(~X z3*4_8xW82^kus2{wIeQ8ZwV8jw04>Q^3Z65Hc}PH+P!DbQoat;{zZdWi1G=_ZNtsw zp&$Sl0itEjtreFm0ov_5Tve{AZcrR~kEf>AnhT*}D4?3}rL`xq{=?0GUf45a<0@7A<|Vyi2cB{`m;53XLTIAi zKXGC-6)o^+?uZZ#y-Rhq+yb?Y-NSvzqbzxj4i}1sAHf$9=*AgZ1SDQMS5#;J<}4sk870-ivZ7 z5vrG~{Mrlo8I~NsQd{lgKH+ad5q_Z()A`(U?XXMqgrGsPp393iXxQplRIOz#;}$@S z7le$4W}$^eEAU)d5$@IhW3cSYe6?5WwY)eb85{)4-2H_se;Mo~91L@BA3=agA@sK^ zjeOD0K%&uD1P+kvFL*-3>mT)qTfQ7<)Y>32H&YjrhR-*u!o}5c39U6^xSPAVIyLQT zi3h!2R>|oC5>hIZUS{<|6};kdxg8xpJlV$824T&YO|r8ZfsfBz;w!s~dx@P`pPg=! zH!^x%p;uc&YoE#UIqnS-e;`(zU);RAO87@>Rp76QWLJaE)im*+d*lKyH-F%Mw{}Y> z0tn|n6pc2D#kdQ~!XzvI6EJJFZcR4H_m@#T<28n(S666XimPU48~ML-{PC*z-@;*9 z-+=2qd8M3NMr)5%qjtY~6=#;Kua4W|@vwc=!&C$lB4~7f^Xf#3_@dix=-& zIN6Nf{I>f#;z!sz)_v%aham83dB7>FxPJI*#L*PN1UEOh>h$lr2o!Ti0VeY{piV6} zr2_|SH}zaz+%h)n*8bH|7iJB+X*O{7;>k}LqZ@>zR_RuMh~hcG|HETECCtF^33@gt zlGR_g>XH1k16&;G{V(Op)3a`Q0ji_=!btx7$%er{Mm=I>5@*`%@6W%fnLC=LhFNiN zco_Ufl;JIu2uP(-$68CnK6{N33)QeoTDT=PKOnnchM(&EDSu#lab#+OE{z!Z*6e`Q`Wdn&t*%DtQnP62{ z@GkxluO7hHPOcGb6Ra`MoMY9F5HJyg8XaxY?q%h*wANfLlqXp++r&Y$vV1nyHlatz z_VeeBoHn?ajjM=1nZ>=g;b&y?V~EY+72MWptSG~T`xPQ(#wR8?zJQ7U#F$|H1(=fK zEU@)Zqv-s$c(ofl0_gk8Xi!|+MpTtSeCFVkbLveK#rTt~u)<{Z>?q4+`Qx>wfmrY2 zmfC7YzJ3dFz@Mf^Qr#j}adtNPs~|AqYlW>{M0jJXPc5ne_`p92>!tDWdadc`0ZClW zx4~a>uu+|l8lbEU@tW0gJ$flVp5^LHgO<01-$Z=g8IN9w&h{1&;-^-H;V9^GR*ICO z=6t`AdxwIy6iUo3;C}*PhRa2=ip8CfA^5DOOKC24a=ndwdQD(WbZo3qEBv;}Xw=t9 z074`)-#%GPA$P}`837bknk~LC zGn0wiL9;^v(F@UPqjpate@~T`hc>tP)Ut3Gd3np=3s-agj@Ni5Zcjz!5|8{~wdMm) zm^wUq`nF{Pq&rX z->c)^+?fkJc^FXJp3n(@%bF zy1APRsUtee{kQY|fjC$j-5#>8I!i_zR2(zuTvv?%4q&sJUg4iI6?R$JM(%l`T`_!=Rc=uv&;Y*?7K7S@nzB__5&HM zEQf6w38=l`mB8wGLAO@!5vXk}?>o8?DkH6o)n3JZzwSNx_LgSd7D}@L=)X48+xZXi0egliU z`PIInS=0^R9}r+!(_baq8THmssGmiK<-RCMv-Ad=B9Qv?Zv->4vmK0Y$0%U!sn`gS zF1Mys;MM}&?xjtKge!?4zdLcMhgH&gS#38#-{Z~8n@2>?7he!AM$LqVdmDYr6`x## zob3tJOpT8>aa70nFzZ`E^3x}=3W74{=0L#D65ocPTY0>u!uU}Li*C~usC|;tXscB? zKSq~x-eXTdfeV6}a211#K?!dTA%KI{pfEc`*YnxZ)5gR^ldm1vnWI|Xg`7T6;L)C9 z&F{cSr73XQj7B~B>j|IogW(2WY^#rdr$P@9pGE`IIhz$7LlIcv`wU^3$d)55Rl@B3MW%+CX9 ztQ5)y4bxrUS)zRjjBGk3vh$_CTTC@SL^M3mEiklzp(1j>9@vk+#41#s`Yoz;JQwQ@ z0bTolWdYQPh$P`%JBvnLrW)F{%Pm`~G!<4f;6s7Bxi%mk9VxY78IO8oac{^ROR+Qu zM!TS4S*z=A{z=$m1aVL{QA?KOIly^*GJ(Z%!+QrabP$4@Ox49z7EYeKBO{K2{sqQQ zV{L=I&oeuVzs5f4S6@vDYJU~a>yYy8J%uH9TcmX#qz66sLY)rV$2jo1XNn&zP!xFW+>!FJP-Ekq^rll@2gZJ|La-r5_1Y28!VBbCvVDOb{ zs3fh$Jq1tl8&CdcCoBx^2!(p_N56oG>3^`ESRE@#Th$os?7}aLbR9A37LP$oc?YDu_*6%(e}Tk;&E294B!`loVB;0XiHqCI6I$+qm!BEN;Lv~#dXwaY zi(3OJYtB|;9=`T3$U~~kIk59RFH!qu^$08HzzK5-YNUAjS(T{Pvt}HMiq9p(#rcmG zoI6Lfc`eT(;ULY^80w}%G$s=L)D)Hy*i!B?3`RLk^n0LIa~LBJn1)FK+bv0(bW)u= zc6>qN+^>2Goc&|5r5IV8htL_Lxj=F6e`5$GV3VX71lgYrNp!PLOax9++j-3M1VglhV$X%CFeJvB=ZXGHL~4c)Dl=C z5D6bBSyI`z*fbNYvSEZ#TEivwRsSJ&O(SHffLZkvc_JlQpg<~0- zx5*EbpGb`6Xs)H`fIw8gL}$nwf^7-LmZ6DNi&^>XQ;+ho){ zGYLi|eHO~No|+wY5}!A#GwP~j;v(_wFbUS+Xm>EGbM~)q=`&+(!)ns=!Fw*T; zm_S>wbC+A+UrUsO+X{Ld9mm0nXI+Ct@4%JgVWQfnFjwO*MA@nrBtc76;idS09BWBn zE>hdU@PrDAUDq4*_L`E+$$xf?peIeMQMSeyHQS6MEUz!Y1R^yOc{-cbGa!*z1T0%= zPcqVdQ&Zz^rL(y3q&iB=#qB%M;XGMW?t5|?4H53%-;ULY$x$L^MMECt)=}2?awtE~ zQs?2Ks`ObDQxfuULDBp*_ zL8`Yb>YG2VVifO&F1P%~qMoZeAI+xC??|FilGeL$_F9R3M--^qa zySF6WBHhq?Qy2DgSXI`rV)riJ3uEIc9eM$|meH+9GL9R1?@d4#gX#Kc*Z~n@>49Ad zB(MsuZmGJZMtRwb0LLL2pJv?Q%B8H>kV94%4?f-wc(MEU8G z49jHkrMLF5M!W1!qm7J{KD71#{RV zSfjM&XPz3t4sdOagpktLC~E53g<1=C-X?a zF%=EbashRI%$13TLLxb*7xmWwH;E$ zEF@_{d3Tm~k|>$o(8KHP$g&NcUHSIYCuZSQ6JIwAvSb0q_~KLyG4DGa%LPWUcH&ZQ z_#nja3)-(B6@RHH2rZA5T90(0}*>AToJJ z1^53gm&GdOXEp85G17@7bk$N;hty5<%1Gu%SgCZK^}o`3fl=NRO46I}qQbNlsc3I} z{?JgP-f|>A-F7~4=^{~{7u|eQ!AbKiqDpTS9YJ+rdEqdKm-R8o{$ zY1x4&u;d2It`hs{f)Hd+YDp*@MK$+-l#7ACzLx1+ar_!aCJXpa7^C)eR6?r?h7yoi zVM~mTjc!@ofLo;AX79q<}`$Y(}F`|QzaW~Z^N)TCD<4HjOiJ3WY zB9H+q5P|6{14JtU``&&-%l!_Q|25@ENv37EJr~{=)PyOiX-m0cJ6HbNd80 z{JkcZ#22c^h)~g)Z@2z^2+_sz9p`m)&z7AlARNh@_&{Z~%#yUzKcBgD50Tb{LK98$ z>JFHIaHzxskZ+-M{slEuR`#={0gLipjMndXFZU<0(v$WeK^9AE`EHD0O&2a+B6+?I zGjT3g$ZfEx{Y)jfBK$_yNUlDe$LIu!eJ~16RiDi z?crm0_x9e6Q-?o4A?@6=XAdUPFEv{jpABqn8HgbVFq59O;5ISYf*ST4V;q)baX+J4 z-jlJiCr!+~0N`?KKM>IG;ze?Vg_rS@4~cnD_Tt(&ca*yH48;@pZe0Xd(DEV8)rbpI zM%>FVea`0P9fEZRaT7T7oVZ4W8$=dQ7wt#=vph(Ybw_fdAkm4CzZVzu>wymdHdY-$ z!aiMT92*&F2;{a#LadBUQ9FsSHNnbIJm0;G==qVHh4u0RJ_|DZZIJ|#gC+JBzTP7* ztk9o_U~wzhU^wmJ8I6`?we;cfwS)bGk%51=$HOR4pa*_Lr)td6jt`@>_QS>eO>WhK ztK*i=L2b<%7u;?f#z#@v{ZZTsDWb2S6CvltDslN3gyK=48n%7Q)K0+6XhA<7fij!> zeo4lG=h^_5{pqjh;Bl$+&)PitqBz7HC^CE(*_6h%gxa4pAOp<~q;6#*0lX8F{b$bL z{bJhLXqg54x>9}nJ>1hi?4Z+c*oNeMsFLqv_&X3-CgaZmw^Vk$e8Yj)1x5p{n~6fE z=a0+O$>CvS!FFhPhK5;f6>gDQIC&c_yAVNdur^=6{w*Z=S?W>H49!5?)$oCuo!le{ z#&uvL4n1-nAjhR8nzX_Qr1m3PPU4Gc8LVG`x@gH6!v7VWzU3RLS+M;U78$jX3?|#{ zh5>&ehI}*@o^_T{11f`%iV*v1sjssQklhgC!gp<7y=ApV_CeqB@j!bPw0Kth=pS|3 z93Wn)9(T&e_LIB}Ygk8-NM(lN*APWZthND|k>}dVT>LV)61;f0wbI1jGZJ3J3aNIG za)fmv+OESMq2=dab=vXm+EYMCBzq_d=_!R*GN*`Q9fA?4fWa4jRe|*_<1Ekz2Mu^& z%d(Z>bUO$LTI=m`&3$Vk?q>*tY!tY9Q96g@V67Nrs-%+{e0 z@@IZo2!<3z!yYjMZthZ+D~@Fol_~~)vs`dxi)V~pXZ#MM6N+9gp=ZV*%sPmY>O2OYLFKH5Sjo#(S96@lHmt|`#cQ0g^uh{&QDlh+AElFc7@=T zVJVvkGD3cwsA*-R08r8_z-mL$ztZZwQ@igcav^l-QI!#MLP$0?M+h+mmp60l8ng?? zo=XN>X+Knbw0=)|ZC`>n-!nYt;c|&uJQg2!OOCJJ@|VCgN%{qLkhtZV z_W8JBl{$n8{^etFl(;;EiNXf-7?UeX`x+_gX(F~k{i$y6O#p|$sgMIY$L@cmT-y7#OM59u{Z6|PT6knN0GKM3$3zx*Xq5{(F zEOUzC3-awf4>S6r;&~Z8lW0D!I|vfmp>X)Bn_DKlgyogru?#ax_R#+Of#OXkt|CMC zpy6Po@5PPn81-c0^Aj_Sh6~0nKD|;uhj9XX09)`hP;>F~XSSo27=mo8Fnkq?bjxVs z8d0+n-5tcYKZaUlCFO~~_c8`wlOhn1CEU$KnV-qZi?Mj`;yw8V7JE_ijYOKTlwvpBECioRdOjmuSGx7{u>1Err`f!_7zVo(SE)I!?YMvz>Cp9%^1dO}B$6b=~Mw-fXGk&zJ+`0ePlMgot7X3i1w zk?@QJ9YGXXx0xEf{x3LBWX1C{do79GcqZwvLZqD0i3|B@Ez??wwP#Ja(lClk_YL*& zTc2Qg5cWr?u*rZoYV#d1bi}H_l%zxZ0dQ}lgz9;g%6sN_SW~bn6}y#|)Z$+BkvxUf zINA61khuEMt^#=_(bN`8C$g0774sX5wdW|cdrO7T{LL21mR~w~67$ShJLGa7ckye> z1rE-1Kl;ik_wD@tEY4b7J&QRxoYog5+eL`)P~3&D;En!=ZSyl_qsDpKzos|g;#Tm~ zj;ELE8K0CM_z=O|vQ9wdEOvkSR>%CfOIiFeZ+G)`V%-o(aX%)f@fG(_?+)DYOjh62 zw`s#Vc?gNo!74|9?oAs~3L}4a0IQ05TQCoaCY35eGbTc}Eo!2s#fZ+Ou5O}Ic}sA? zF@SRhLSb*94l^szI~(_Z^;Vv(XS&Ocl~OMpE{mUS1;WsC$;GGh%U(SKReI8;*MHSP zuutd;)&R|zf}6+A)79BeUq&M^nwpuQI{r81>5Ix=w^`hxt7xRNCJgL;4PMaejm2<= z4b+$>MXP7soK>_T0dlEv>iZ?iGY+Y?)dHVFJOO}m$BDW8;urgAqp5EOUg^iY7n2e` zb_f%7sU^5N^+H|{7Z)FLM~hpdtiKqrhGyUy6q=cF`_o`Zu2mg#CJYI0H5<>iN{t$A zgv%@K`4P%dWTcd9h_$s9{M}NlFzU?J&VveKglvmjTO(~8O7%innE4}Ie##pGSw186 zWXAt>7H=Yfn>lv$es2K8m1_dx!GR(-$A}9Fz~9nicC0<8O`Ck?>{1h+Z7@K-6>C+I zx2BVBylui|E02tm02V=x6ZLlNB2B^Bjq#%|qXnJ5j)`$B#x&a+_;gt4I3lx%HaU#4 znT9-9qFiH9w_yFmDfq^g8lanl9iz!0$UKbEScY;k>h;Xx4yaK@@-K&I6eBc zTP+}!;APf*y16+*cvSIYt0;F=q-Mz5pw@XLGlK!O+79qkU4u5CIf1ObwrF}yuFXF`xbzNeIf{(mQKpxs6ATnyUoe=n!zRr~ew1^* z4IuxcgZ6;_Pn=YH99ih<&p(H0`J$bs}A9*(hp)*s91_g;aBio~hG%Bqj z99n~@RPPTwEgH^49D2oXwZ* za^>B-mrzt9MA-lbFG|W_=P_GwhAP$KUl4NkUA}_;M|9?izP`&STwX^m*Vos>X*g&X z=XnQ$f{Psg+!B4Un+zfpTXNy_C-%Yg>uC7gU3BbDLF~R`ua_*%5u0LeN^271GyQ(?&c!>4xS36PwRziEae)W3np?HMYJT`t^D_r-w$G!6 z{!TE(r=3XOu33ZDZk)dmZ7%vxSFPBWH}(Bj+R`_K(Dn4#dompPuV%M*wB5J?fj`UW*duEWzVpi5q4tBQ zoDY-MA*f&nAxB`9i6pzV!m#V7Hw8aM+>6mb$c>42-D+kH{#GtoM94RIi9Uh7l5nCA1{hD>y7+sNT31Xud;qgY{Z!!ZQvFgW!4 zyXSZ`R^aXb^Uo6jsF$LCOM?DWZ3e#>S{C+I zG=?eTF`^8uoDnFEr)@#b2#NmrFMkoxG9|h2x39wlHxyq%gq0$$-*(}@6f(D>Q7D$v zQ4uBEK{(9mQ0k1LQ`TVS_g^ub{pwvIkd%gGL0G+}XtytM-DXt$JfYe0?6K@|$DF)MSBygKVr5x)dgdE~Yj3<^@}^*a_vO3#uR0|U^;H?{=$ zMDj;91sDmR4qFRZ0<+Th;lAlV9i(ZD3Xjprg&5f#FhQzi`S&2f>f9C~mNawvhqhi1 z8riG9NLZrjMogM$Yin-@{qM>>4(w1fYx^HT@|=6wuWtVp1JHeYu0OdG?WO5g53<6t z`8eM*cP!DYIi~UQ*T>?DKi8#uSb<$T`PL5ky(7+ zVss?sd6c?RropSX1u6L$o|22+E2lrbxEcXM5J-K!5TsIVNWg*v;5ynLAkT$t+Jx3D zQG=lv8pW-vsljV!c>nMu^u1E77wTaxXLx7MKWo$DgBCw!ls7%NWC`z|VRRhizH|Rs zX}k6$$~aK7{PJ-jkgc*tjiJ1k_n`9|TDA%*nnvZ9F}7mM7Le1PJxZ{9ITv{KTLIqm z?<}hU8H<3bRX>^aaiQx$oJz*I|H5cGd{8d6%ZgJ!a^&=Bn|tQ=9kqfJvfq({;nB{5 z-$C6Iw)e~(<>UJMKE3Z%1%eoaejQcI+6iJw}JaaTiZg%{Xck)$80} z2r>2VF*!5`THXpv0)#uS)o%4;HBZ41&x{v1GvgMdaQlA&X#&;h)a2nvIq8260lw(0V97;kYGQ5X}4P zD^xRepK3pcW)EP3R2v2r_FBc<;7{)CK;3xH1ZszHG4VLqzK524@YK(u+xIBPDJ)y| z9y&}SA;ubf3(fOW~4?D_NY!-EGc{yBkp zw-xE-Ts@w)2JJyoQ!OF}^2EAvEH2X3r8K)l>^D)!gBn+_21#@`0O~qtev}4^n-?_9 zn1$mE^vq1BdF6g*%+P3TVv0>p|I@*fR=}jJ7zE2Qpk0eS60y6|L0iG18&3$L0eY+! zUxKsH+!$q%(?gHZ?36d)hs z8>RJBAyn;?k0H4teeYvWJO=UW04hJ_k`^()><9f+C~eX6`@_O7zi%D-gmfd_W` zO?VZi8@Z1|UiypR)Vm+!UVo2!eda)R>n(8NlOBo>kyjpg#s6!Crf%gy0cd{k%B)wE z{xAvhD(5KkH(Ok4yf3;NGR_b0ioe)@ODV?(scD9>Ko|Kwp86%8djBiy_8^rUM5;9g zJPr_T6iIC=|HtbdzGw-ke=@K20}yFU=|z$b;TzzP|AYVswKZkQU-6h{4y^m)3rq)G z_r>Sfz(MNH#hwvs?cQkR;d+Op!=!#UT5i9Q>&b^13$tVh;tP z|FtRjC>qZzefraDvtDV#-eeHN?>!XS)*d*H3lHQDc_^iulvT7k)cyj&IpZfB65*r3 zJWH(-3To}5#{UQ?0KNMHNk6Dr{r|7!$QsvRbYy{qp5JitDKnI{X0gWtPvK8s3eO2FX~!ozsb9lr_~`II z3gQ_*Iq+9}m_xhn;~hAGhwwf27tO->=QsYQ+{&Wdp$7#Fg&0)*rxzVwMI9$DN5gRB zohlW`3$YiwWcV7-RvV*cVKD8Zns;$jLB9T33Xg&qWC}6W&2Lo<=U>~R2Crr{J|kdw zQt1OG&iB*Vtye5^@-qjDZ1Jq099ZI^By=ycV-Dmj%+o`35Hmcm7dh#jgD2n^41O;a zDI_>-v`~ru6AX_O7Jue^kAN#%Z58JmQ7N04gH|z%5HX%(94z>)vO8sifl85UEfu05 zul(6VHqbOT*l@t^NV8EdY$Vwy=Rd%A06z&EyZDB_E??9>fF|!TM*cilm2w@ z2Wa#2&Vlb2#Ad#F07)A*gsz?iJ_MQCQhnqySn6Q{WO`5~2(Izn|UujS$t$_B^i~mzWYDpID=OAa{?=&Hw438(xsF z4}UUEJ0C%SpaQ_5t9e*CjugXS^wNW(PN_|w1KvMsMVomA6+oI4MGaAw!}x_8Dz()!^Xdw!g?!(myz-DE1AkMmI+XuRe=QLi zHAVf085SGc>7cywtA6sPtfKzk3-U!qe2>LPApid3!GFIkTXNgGen@?9=U?#?gUDz+ ztPl|wF{7b;(qBEwF9^Z)<0SJHP_(=gEK)(Pkw&2ElOuJ#=RZ*Jziv<$wZ z4YlL~Xr8LoRLi`JI;XFttMA|&E;&d-o_{|#C^3x!o>Neeo+1);M3}Iyk&f_*`J+Be zp%nmtG~orixoV8ngFh*MK^fO#4Y3-bOi8ZZ&23DsAxK#$GrGAot84!K(5EFP-!zM| zrljyVl~EyVYP*rB#xe(NS{nwbtDt98VIg#VFYjPTrL7UM0!C}AKmrk&6wpLRVj~M? zQOHgE_Y;34F)Pe)45#CPYExy7>bUIX{S0j$!=!0J`IISJlNph(H4>??rNJ{9zi@$% zGPF%=!XR{u-=nrAnOm=44@rbym`1IW*Z%v_PbZl7-;@h@F{J4NkV($Lk)iP&K8%;N9hCq5)E_0> zV+B}N*j|x?0RZc<`KFxwoYrGE5($#eIarc7dA!dOXDTwc6KWg>Li0I0ci#ODs$FaE z%uGqz!6z6K`-Q~x>5Q)a*Yc36A0jV&*$T~2?L*YPzxt~LDIO%X|N6*WiD|OiMTV}h zYjd{3Qe@QmIg|5L$4>GRqcyA57`p*4hJ)e;SpfRp8kro0-xS_}&P>#KVEOZuPtyu` z<*EKW4Ifeqv_XiCR4nikh>Lzzz0P;17kDb46C;>VR{QTG%uO(r*sChvJUZ_-PA9}n z&iexYI()P?X9MbjVJXs+CKR^MZi^M!{>9nDBxmHKLllqfw(Zamj1fZr%E??amjO0@0_LH09?UJplkOGUW3c$B!q7 zh6{x5Y?l+XeO40k!}zGXMpGeLj^JP?Y)v^rpjFF$DTUrgUV8%<+YM_HXVzp(%0Z~o zMRnRZSL65&-q}B}x?t zGJ=>LkdG*PZ^b_QCng#!j&b&j1hb+*EY}R=ROSR9A3tIVYF|R-lE)I&a<1~B>lTH& z{r{#NMs`n`IGf0Du23eX26`yJ5-#RqzIh=*+~Jjrkn|uir%zkl#T7Yc2(>IhMzAHO z$y}&hf9AE@q9l{f%t|hncl?CK9SNshwn}*`a{jd!Q-bN_lqx5tF%uA4aMTG=RE>vj z-k>ODJKCJoS+kHsj88}~qqTDPdx6<~$iVe=@?9as9=mbV;(x;{Gm1Tx$9^d? zg^7M`&0X?VJ8V~wNk!%{Jkkof%UPT|ckcgtyibc=)*w#eGe&(l7n8H@CQ@G}k-pN3 z&S7CJKpl`*L3mFkH0Z&@7zfL~Q+An0E?x5B9eKp5=BpdN<^&RBCFGA};fKK8WBu}#6CYb(O ztiU1~R1>Dk%(oR{TIx;2l>>{Rr0+qI3864D4!@rU8$8c`nPB)DS&%eZ^GqKN^yBMB zV^<-;te@6#6m?u;9)4^lb?cNx`r)zl$(eAaFTxyUH3uO}KlYZs+IJ_*W1u5T>vb46 z3SmC5v<(G980fonV>0qH&JeSeONKl9oL+4v)h$2zfDfpW-<%^l6RNM-0m)Eqgs_=S z^^)KI_BX#lhlH4ivW4Qkz3}?GQ3`-Tgn_zmahk#6d^5I@?IG+9iFw~vC^uAQ?orq% zq|H2?;){cpH*AndlKInn%=QcHdEYh;i=gh1|JwOs{kmJN3PE7bbB*ebZF2_imrn#g$v(6yE#T6G^JMtEn1vx`9awd@->Q;#DVh_UYEX$w&WNt=qkC+x6==vs!Tb_n}JO-dVNf?`Poaji{EZ?mklg}5zK#cS_ErDN<`_yI&*b5Zw>vyzyxr5TiHO>pI$qXrqm z=pY_vFT^b#3ssnf zVDYdnfb+P9U3Qv5QvvlrO+xUWS53~*rU{UnfriWsQnAw#({jK(`09aRd2~zo0kZ4d zIg2B=>?#s@o>TAN`S8k@j>)`()l_Yv6{=e zpsYC4nSLXIlp%!z#?HAsd8aHRA%k=?YP&ed73nEI~0V6&lKdmq@3dE1Nsl30R5bykND_P%~RXX z=`UZdf7TKUa><5P1Mk<-B=0xmJu+N6Nag@;Ao!{%(<+YAXT< zd)McI`?*0EMg>tMZA@I>>rhw($rGp`(dZ13KiEtV(;PCIg1`q&~fH|h~OGaB7& zU*CH;(MPu=>94n4=cNZ9-7+gR*k|NpY}%Gt^J=%><^x#~E{2Yn?9!;;|KIE6*DS8= zGNT}_n_begX0=7+{IX8l)@zypF_B<^dg0M1HNf4+4n$qqXLrAre3Fm4G-X_I@|xi7 z-hx5uD}@M871;d8t!{q6#zEYuad7BmDCOE*yB*7rs#Rg;QX-RZ2KCk>+x~{?H$x3){V&*P89)lPbPIzYgS`h zyC+SFi9FuHsT=JBw!Xf%c(Ghv;o!|a-wsPOPi1d1Ke+?*m+~s@=~>(Vr669Gm_3h~ z2495InKzq!w3c^f?lJ|dy?u5E?q+;f@|$$8GvNQ@gYE}ew8|Ght4SefiD8B1N>n$0 z^fbJVy|osYvGFw**HmY<{q3q{7FBfW0^|&J*NgM3Hz&Vs2~pt(iq)A`Kc^mB`j#Gv zOjZX+U(ws#gRfZ}b-IRgj>8;UwlEpRbvaNwb%lO;0pP=6>nuwkyZGQo?2)LX(+-){ zW42KN3FN$3N;fVTGYN5vw6bx5;rFG-EWxDk0yqjLxSA9}93hVUh44m|(~(D;?6q*W zuF#AvYP8?FdAuz_25P2_KkCO4W8Y#L{O>$Vbe{LnrxYcVyzI+1agdZ7RR%q+`gysr zhPJx8)kZG1*!Kya2<(PuwZ-bZ?{E!4JpiQd;2S_`G4%-7mV6;`oY}Q=H|ID=LQg;W zzI~9pmDTnQondkW`Pd7)s32YaB8t7~^@EhVK=vM9y#`hkOF6BMV7I(>ExRH*L`LVC z4D0@wZgqW!1*eb@cG1BzyED-Pxg9d$g7wGd1O~ zD9?C!%22ZVTF~N5nyRI#w=IK}O**aWY6rNcgJ`QF3v6=SJL>St*Cdi(o<@_Fz>ikK zR$9)9_L`Jw#sNW8ZLud79pU^N$bsMd_Cel}NwULpkkaQM{l?LGg3CK0aARK|lh#RI)7oi0aM@ojJjgsZVsg-3hy*7Jj@A>adqRu5$@JWND+!wWrUu5e+bFI zzcBbk-fR-zRohpaopgg8+`CVv%&5hFAHHR?)OD9k6ydR_ZZ?h zs>IyaAmrZU9&Dq&&#shelI&`;jxJt50b^!xFdo;6h>UZd71*mbJ*#)CXXVbki=F&Ha%LKf-kq;$d2ODfDsa|H)W zYwdil@jV4(jV{bD5d5%)%EHSr<3r3}-{lh)XO4DO>hkK4j!>Ms^3gusj`}*@pQYBWI&27hvBx5=Rz1?sRbPTyQ->E6 zC$C?>mUl4?%eYX<&O3b;vBVf;cWebrezqRK_!0kxwFn`*!x^ZF`1s?$d@9Hx05_}S z7if*6C&hJ>1cZ_@p4D2A~Hnu?sUw4*k_a~E5Y$$i&dt88f?bH}rm zfMp7>w5>oIX{=W7h8Sz~s+F<98fjo0>h6TS*A`d^U)3kP}CR!q^f>y^RQqizW0lBKi zmcxcUR?I8lTN>bVlnK9TSXU$S{)g0&4P^_w-@V04`urazJ-TDZR*Oiyay`3JX37ON z@V8UEIA3Md=B!>VxLYSpeTrG*V97gY-gyVcXRVBCCFjm^F2JwV4G+h8yIo$X&1p0Y zn-8Jdiq`D7bDbgQwT5%^ckXzS515;P;{6_@*w5YW=i`;(>JEkaD!lpC1wy>oJ6Quv zUp{?s2Sf&!Ky%5Hv@!)Clb%vns@+bDsMj=Vcnva`3oLH7N%JA0eh(`>7fjCd^t>*S zfr6xDWR>vJ;?eS?zl1l0QFb?F5U%1mV0Jv99vGV@_Qg+rs+U8&xBikLZDOM4tQnWe`plT^7s>UcaHZ0D_8%PRjSw86ahi zdB0|V@PFQaig)LB)h8>&t?9@EWo403|9Rj8GQh>ImKKBgDueTeb#`$VInPbbTX$hC zUMoaHG5OX1fE(Z{gl6UJc5c<`HM(C7F}kd?wG~`c68w`v?#yYyznQMg!K~aT9~6Cs zAyVPZ1M;N#>Y^f;Bk`45?~mXb5JS`CvQO?gww^+IdxS<4NHUf-nJPq`q*0Tk5yaoA z!$sy!;(*>RBB;_cs!x>)v zyZ(Ne^p{VdTq&s$!eq5(qIt5R?X4>y6t)e>y)0a>JbhxHDQvaMB@?d=+hm`%W3w%~ z1bfcgfIW|9l$1SOMNzt~L-R-uZAjOvc6~CL;kjf;_yBG_nRj*o4@*p&j(rb2kaRZI zR4XGw>))i-nv*gwU%qUSd^w%K&G0FP?uY%4PgIvTRC>`XkQYZ(+J;8&CGZ@DuQw7* zGh{J~KLecTyI*23Rz+eEk@mOvWgwfmE7H|!TWD@>XFB)d-2y8XpL+rm8J8rOS_Pv{ zHcxnk5E%cEP3|cVZ^Xw&YGfT<>YsQGqgj|qzgoH1$=wZ`)~4_Y63IAwwu)U3(Duzl zatiYEdO!c%68#%I6Zx4K0&)#X^bUJgbX)v;RZZ|niom%tgWhxaz$qslj+N%uBy5g+ zRYSyk<_rL>Hh+36uS(4Ro%RGnIq`XwnlVgI`*TP>js$}QgW;jY%Q|2NT)1F$w3773 z^c&VFs|x3a(+jMwjgcy^yiYMQ>JA(6X;a=^g%VT!vO*wPPlHJF!U}P!&hOKNK_W8I zbPd}i-=yCjeE}TXu?dN*1MEhTK?3fGtx~UUUB*RGt2vL2<5-Kt9#vt{_qFhfA4Y*X+;aS`vEe+2dv6GP5wKK6TJpU&acG0oBhxqX(}a(8Cfrjt{9$J*hHmc+ zFw>4687+jTC0Vvn@}+AmawzO9$Hg96E;E{^+wfhVLR%f$=T*va(_QDV{t15vRL*mg z*iJF)RVV>Z^#9EeSa#GBY@M8!5sf2w%P(RF;jt`|;8tF@bi2jn!EewWn5ITZPRG7| zeBg-zr|84VuUZjMQ#UqLHq4lj450W3Y0mS0faU)y)blD?hjWz*2MjHP829 zU&D6U*P#gt@@2Z~3S^@u07{E&Vz(sRlQrn0(W5xpk51>X2?<{k8-t_P1dArdMK2+n z@T+meJ}z8%ElYK^(Vmusu5CBApnCvY6whl`qv79{=Eep@D#=K51^&Hs?-tNHO^gds zFGRtpQh^%HM0?Z1sL$?TvAl4Bt2I1Vt1en>ajg#LY1HsVoZAp7z&w{w)o@{gsb2e; zMS9`sKARlUJU?s`-9#Ne91wyzS5U~uXafbZ@44^>c8kO$nX#FQoPtCshkIxl`?$mu zC+ju4=9kSWX*h!s<(T??1UkDzNALRmm2UE*;U!KpX3`DCV2LK#|M3>hi&}MfQNFqQ zLY$9Yqz4vtm=tFiUB}xfU1sU#NV7(#CawKABwuLfjt4=k(_1_M1($G-Vmazb>~cGs zo?!MOBUW(L8I6{Nw;y-Kedimrx_jrQrszm}ab&T2d4ier${Nf!XakD}&n4p#%dN6| zWZz|6R5{2x@|*&4iZ`-PVOn#{tqe(IGKXb%kwpxl>*(6GYxP@qwbL1G{TE{H*g}Hw`9|6dR1wAM5s)<{|Jmae546Yr;n5i z6*WXpsC)!n%DA1dHP9s2jFR!qRTaw-pw(!rMjaR4EfnA&TYyOKNX?uK=jJsJhCrp8 zb!w_r)zK1exC05eYorA{J-x|SrMMk!s;JicMc)GwQ&7M%3Fb2751b}m8LG%-g@w$J z5$|Y~fF*+vk(o=?(dytx0GYed95T@1NnVx+^%voh&C|QeIQvG9;J?fIz;{Ny#`BgY zY~wSNfBD;QEUvfs9Kp#Zr5Bmt>KxFFSd(&!_{ED6=C=mrJ{{ETMaA);sqkv6E?^Wp zyg&`$-?#Me<~{^9j7)tx($dkqbDNHkmvCVviWS&cs-y6Aob;mpjDg^h?O2IF3T6wf!s-u*>ee zK!2eaDv)|M>e!k@2!Xs1(vh z6UEaY{fw0l<92(&j|vXRfBF!%MMF9D zcPRYTv0P%NAjj{;Ax$yFBj9RN%>%W8+!FG6z1DLD{jJ{G8)pt&|3#38%74=a;RRyQnRNXq->ySEJSUdf>f= zWo)X4!50ztud^q5U_mhge@+^R@bq+CCJwYp`% zIJhe)l^zBU>e^IQjl4@|HJMca+jg5L~}OJymW3QC>`Tzvpke&a11g@Yo2 zr~lV~@xeor8~(kS+2?#GkfPzw)L=Z-V}JbP%9RknZZehDq`@2=U~XNKhlLb^sfga% zZ|?_(WCoY;f)tALde z;6%EjYO1(RR|(Qvn_$c!$Jx8yJBhmVQ3ZwJpgVI8>DUdDY%;ho{pQ>-dX_>nW(v_- zRlmUJ%w=cD?*4{6TeKG7w8D#FYFTHkm8?!;N;$jq_(VVmP-ggnTu<9_Pl$*=RSkHY9q-D=RMtJvCFmY11MO(U8OP(k?*e}EWXIFK$#p)oKN z#i~cE!;6cGmf*~*hn=ttS_YRVd}h$(2xJ($LG;1PzD_=gz%s0a5Dng`uyq#U`fmqo zS3@H3uFihr0*P6*3ci++=5qXqZuIu{Dorw3HchdhOsIW7N+vo+0zfoyT{u|5nRd@| zdsYF8cK>fQCw5+8FaP7&^%loYRdI6t&UFkG&}R`(#UW(_yWBE zCl(CYrJjO~pn_GjHCR`TCICLW%d@H_s9;JoFh$_q=XC)2iwr)fpi#?GKB=S5h(%>fxsGc8o-K-p^GSO zCz0lcM|8;)Ti{S4dJt~pe1|rO`>&N-?pR~>lNUDES*K0y7zV-Wxe5F^d z^H%fmTYb7wT?JrWMuM3jRD(o*U-eo_{tlNu4oJjwI62>=gz5q%b*&Z=muUyABX*$lnYgdCj#5I zZ+{%#Ak|3Vc1U5CXwIX8@dpzIg-6;zy?Fv6+v`b#^UEbfV4kHii<4fIqAfPcP z(80;)@?hw*b>T_Jj?D5;%t#VvLJHZ1<38v8; zh~LC;956#1N^HW24;lcr4QU3dBF?{ldhr52=?aAPD5~)yKG{}eTZ%)NOM9kZ-fe~F z0UFckg?uFANo*cI4FXdYF58H5^sqMVN5pYSI?aQ7M$5E|QCyfyI?IZaU7`wSlW{h- zg;1MtD3c|~Lv_hLnsBLJt?D)JPf{ZW%157qcgZkRo~25k+BAJlE%4&{GiMLUiawyT z`)4S#_h6OYj@`#K8{mJ1PQI8TLP5+9F2(?uFUv>clD1Fwuj z`yGb*h0410cewx_AY_|?(T0`dFa`n_^r~Tu)l1u85dB%LdD*SCWX+{B$Z$eBXm!gU zS=1kQR*W<-XuGqyoOQ>dmaRx;dULLbR0hH)~53aEk%9*zLqL z9xdPB4wTPoO1m^+47eD?FGf0q!MuU#jXn>k2~1HBiLA~(44xzrdP1d8Hp_@UH#P|g zO`7uRby#t(5V~)yoYtx7-mtf%0Et%3no=k4q{AQ)TYO3Xb8u)fx(=$2Ljk4sdw;(G zl30Rq^U%D3OVwyNSlg!~bB^)w*H;Kv^tX`fImm^SXI;VHJTZy&!R96hUXZx)I{b5eYQr5dfId=E>Nj3%K8MrI4Nl1#ZHQFR! zXC7LK^_GWoxrcsdk^fd+rWgjr1<+FsMYzybT@uZXJhvMsG6j88w^Y}n@>pQwwfhq= z-fJ4o`L;wT*(os_p)_OI>X_+>=;s|dBqDUq19jG_M};O6d*%}Ig{OppS@c8QA4_Dn z!QmS0R46B--F0d(o;B20Lo$Y9mKZa(Nb`X;_e{nR zjFoiYP%ykM2?dWB9|-)$GsXHUdO*;<+5?TVv02c-}pl5g)c3(oZ~;a=Nx_~{rD9H?XxMhc~l9x`XQ z*Y3RB%e%Z&rX=PYqWp%_%)03>+>x3w*Y2k zD$G_;fTAHn*`wvVacU&F(StxATAQ)(Gs;of5~uS!;LSPrLgcxAu&Ztx>9yMv=WzB% z_gLb_e59IyU2uJUI&HfpA`IXun#!DTX3MuH_bT>NMNZqXo4nJ>8;V2o3DvEL^{_&$ zrIPoXZ611677t7~YeDJppNpUq_sg0-Jlhyd*=p zYpm2HUV>nYJY|>N6&<^6(QgYA@iFN05H6D}YBcWwxjV_CPWzMh^by=CbZ%H^!dsD7 z-IV$E41^MT8nfGK2QToBx@-v8?q8ffogn2(pX>%s_Py}!H;iY9&PPxKK@jK@(%DQ= z5IC3A!47OwlhNwpZu_#@cV7*_&BF}CyxDApy|rN{@IyVx>)NzmPq(FppPS~%pFs8l z|I+On!t@B6h6`Cj)wvS#DEOfO_ft$2SrWcda9`5Xb&zL8P>1ke9OiVHR2{UvBG5Dy ziw1H~<4ps8M8LUCi*QnL6wm-eA~DI4lU-7KeT$B?9ho#Ca^b@m42!=G5ja$A_OnTd zB{l$%4)|sAjU@gO3>fyJPRPg3f~6gX$h(?xE_VF*%S@|{Tn$8i2t{#OuS@Y9!mrFW zhecD?MepzH>+QwG(s^C~>w^#8w?r+|yQ5%gOd6pG^V)#QB8!FC<*6z=6h;F;zj~sj zzxi*Ue8LZ|AB9Alc<$?A;NCp|IyhDpXT;Ua*N5U{)V3)T)&KeWU%M`^&_rSE7+#tA; zOa_d0=*9*fS8eJtcin|Q)=Ax@s4SIw)IYuYXA%sDwcn^;2&@W$058@heKE!AlS=C* zjS)19pau$*0Eh}vcMPF}s%^%ZOak)vcql!JS|GsmFHr0PnQ3o-nFm0HL%hEJ$$CUy z94wb$P9lcA9C9${?%hjSXD?QIEx4Q5gOxv-lMl3>p=#V67_LT<$#r;1;YaZxCE>HZ|Zq zmmsyn%ap6S+VKT^glez68N$%5aD92Vu}cVC-h|8JzT11sA|AOX6X@O#*0U_$qhCtu zR=}NE{6{r;e%*Aqdj)vwF@x6Gm$SZ^-LHPZfI;UIMGWz zSl8IVEj2C%s#yz8GXjB@?N=fY`>%3R=-A!|CEsPeQ@YfxhK%AQ_xevD2Y4l`NHcvM zZJ-$YmOkBMD0-9PBeNAMu~OqTw0<@<#1csHf`qRGRy*pwNszzM-A;JHhK1ns6 zA3(?YtbR1j?A1RHjOB1E4HYUK{dU2>VL^gf3&#Z0VXU+vo~g~zX3kW+#Ji-J)$j7k zY2e-wPBCQR#@&Vdc-|5#e!K(Fw9n8TwR;7CK(VmkZ?-3rnx z!@ZPEOz+}((YFkKJOe2HFpG~B^d^c0ec76Hb4hQNanaen5pW9UPV*`fYMlGCZa z{~leP1%)=N9~VSphRW9vw>o_**qO-X+20QaLAN$$QVC=h$noyYT|%@T()1qCZIh7> z*M{in3>KHe&XPkNnkE}EVZx^H++~ov8PvEShbFz7aGze_bKgV;)oY2}r)j~PA{kJ> zj=!@$WfB-XCys$dCypuzWYQ5{gnCVO7G47qI&MR#0R<$DY1ttAM4ZKYTW}%(7~y8L z=8mUKKsiXE6)k{XZK&z@$}5$FQiqc^>&z-ow-QroNTXHVckh1vHFCb&BV}FR;!)AZ z?@>^K*|tD(KmNF)d z*qPJQ!!W2PvpQV4V=eYX-+4%j+F($cw(SybHF!!hEM4so;(OI$9!Lg#(S|sLWu2A| zq}PM}>m%h|sBaBVZ)kVIJq+5J@i>faic4H_TKzc+tZ~UQq9wXam8ZX2p{P;sc}@ss zX@h`EIR^4=i{Q}1t}3++ehYa8EjG?RgV4qagt>+^qh*bYX3c`ZAjUyeMZrVneq+Lv zuBS@~+BOWTD-7pI^@ZiU8;Pb(P#|;pV7On|(Nq8gIsz4g5jtOf2~SyL^C6v?8Yk-g z9VIX~Fogr&OYLTzNj1JH0_^YE{iggk_&qrAtax^MM;!^~ENpb+VIT~4Lgmz{JWfzy zM4wEk3f2KZif}O*ciQ2s?5`SKj1zygW^kB??#t=b;0JndgXR)KOvf$;Uu4L{(u&jYSp}C1J;e zRT$J#H1SoWI3-N*T_pB>LtUZc2{Ij4_iRquMr#-(0rm&%4@WF&H!n!1P zN4gzCw@~sqi*XiCL7JyU_Kj*h>1l|CmdkjfqYkq-%Q#3D_-DLQPlclZ$vC5^HTk(F z^5~>P8K;e0CMA6FDEcA9lC;&c=G;1YjCT~neq7WY(-Yc1T4v&69b2~|Nk?27BvTy) zm~Yk^!@R$zpB4$=b|aj0?#Eknc@&Lxm|$FS+Ye>I!qx0=|DoQbqS_;NM>68F;tb8E zZgcnEy?fiHZ*`v(VktNS)Mds^hE$t1i~POJKn>|>DvSLdtQFba2$ckFi#vA zTsSZr+IKK`%{H%e^w!y5?fV_g5b`F}rbdIZJ^wH5pHV0^i3MdNa{Th98 ztBX{<8!zM&+6qH^ZMWkg82%c*dSmide6dMEG8TZV?rDVIsSh%CHMVGXE?&ZmDeO#% z+0>=brZHoZ`SdF*ZhI?V|>PSx6(o<iM|gAHt!4K_J-N*Nah zI=%#V9^!6rhpZa~dv|Oukb5S#3;}TrRqCH5)FkJWk$}NC@-$d}Ew-;kh4dX|>(@5> zzeYzM(%}V=^ZONdNSDjyKt+)^$k){=*y4~~jAVH71t4Heu)pQh62-d?(vX;LB+M|x z)K#`$h^LtLPoUowKdg7aX4>4{rnAeT@^0k6BuG1?)))Ai-u%l_sCf&7Okr$wo8CZ; zTm7JZL>J*=RGh!iD@ZczM{za4{7Y3EAqU=lcL^VVNZWWGM&<01+w0d`0ySfb*(miy z{J^j*T&+E$;8xCATPBF2DpIC(BIctomJrf(H00~lt-+w|a#>>K`3=#ZD%Uv>Kvrb% zf#3dyqAa419tq6N%F2?+Xh1iQYPUIE%XHcy40altPs+L~p3<3!rwndDOO#R7M>cn( z&C}88-Lxk{`yh6O5Je@A=`*R;gEHhoodcfNdp_MJuY3Y7gr;R7C?(*foOHkl!p?WVayQbtI6L)zu}D$$&nOI!D^O)eDpa zIa#k7+T)d<1EQsM_nk9t?pA`g099S7R_E0=#9PH;9fhwSD*+rz{r1jt`fb}bF(v=J z$|faOuL<&E3n@-kawBs9Neb8*@aYu5y*~?BabYK}iJtIAs@{FqCZab>h<_gbw4U9F z(L{-YyC9qaz&3!=A&w>-24{tcxGyP>loeVXW;R0!e?VSbga9xM)uL`6xtb_;N=vwL zM5st~{}x7s#B|*UL&KTdp@`$n-BF*pix zCb99JdH)O8J4igTpj#doP-=k{|AUhIZHArk7ll*ul-zL?o9xODE5^IxogyXO(BOeu z#gKQ&?uJMmzM)II_U?VV5Il*4$lo`8S#N-%%B`P$_W9>1hC8AXyF}`osh1SYK!foz*tB+hkv*l8>q+HT9!eIq5AgkS|U8 zH|a5ZL%*A%3KKn(ob3DfFI{?4YFbrMg(eG-BcZ7p98N%!54NN$ytn%MJAl{Nbjha) zgKZd6r>!BJC}))nR_s?UtgKrNuU*-+CjY&Gk`>Y|hw>}5MkjFh{4{ex)u}BjQMN&L zWqF=cf4DxfbeW6cqpztxSPoF{p#bLWk`J;n`VDTolk@lfAR~^31b8gWr=O95<>B0A zV!T$aF0^8bvZhgO6x`W)VGfs(UHZ_DXX}}^oJa@WJB5Yow^2idh_&QbO+NbH-+lLg zkz7GnRE>Z2)mKnFkS2+q3PVZl%P#}j&$`Q@i8j~XQZk~>jg@w3ao`4*#CVbmodlhOX2j$R7p6D+GEy2INK%uO6TG-V zeSG~D*1aT)_vdQ<=aDPAE_?yZq^B#u52L<7ffc!(HYb^a-hQIoW0!x{Fj}n!fLumK z8p;HKx4f_dEolvs)2?6FleV8n_CcSZY>W{60(?zW{ixPD4>`H!o=1yRk3RYqwjil$ zD&VkBOqMEscT6Q|P*RVc^usz_~kE;908}I@XD08A7ZAI)OUwV z3ZwJa<+&{ZRts-S2w@1L)U#v>*cZri{NCkCp?Y2IXZ@%~lvPhW#w9PY`g2tuK4Qu^ zpmZr=FtcRZ22CB3*;EM7T;z^9vPjaRFmh0kO@jehJ8EU`sbmvU6%cBI=n1z&^bl>} zvfeIU0yI`pLnN{kS672%9c8tXt3Lbe3aTVsw6?mr>fwil=r{;3)LbZCs%%)7cTAC) zP2S@#D^2q1K)s=){q_LKGqk%_ul|M)beq}vN=!vYlOq2NMcS1|&Vn25&W$BenIRu0 z{hMqHUDOjRfs^&5;87D&|J_KL)FSV({mmxLDD-k&K5StR^tdi**xi|@O59C=9YY1G^TCCct_9_maij=5yOsddoOP z&M9fosF(V5WS>KnA-pD)$fklzR9bIiHN4R>DR1EM#)?N+4u^C7`Uf9ObIiHo$D2J0 ze~|L7L&-pHN_&0=EL)I1YZjX&GxZVNJ=0JluS-1*x7#K#LcFZo?tHwo0DX|#B8|9? z`gb?8HXDMw z6^e~?1t{&r$rCpfgkcFRhd&nzv=G^L2napntf*xsrF#?0mRBTKa1emS~9X zXl`sa8l$iFWHhsihnC6f+6C(5+!w=2KTDY|MR^Bcj&lIc0=VcR<-l~OPv2&S#z<+` z=LbUkEd&rp8|*_}xE9xr?mI zRxr@)p&mh81l=zCBF;)2a<~cyIZ}-r#4?8Vwz9Vvd}|6}RP1EZ+V z{%7{c9X25#35VI)96Q%$IRZ-9BOC!itqLrGu$x67AVfrkD8kH62oNA#Y5}c=5CaKe zW0KasD26=(2vmHl{n;X|3ZW>6i4a?hVAz@YeTKgNfspLZe2?dOzR&kLJ|8U^L*}oA zYr6twW2$Bq;(X}(d=CfdtXU}Hf^_*4DsYhR*a17!T+x`OJJ~QjEg$_@yEocZcc?x@ z3oeM8(|SXzLaCUNmeG9~USb>qYif2*!}n=Jz}nD)+lc%6<_DYep5k6L7v3F4DP)XR zB+a=GM^sQmLRw8G?Gz7@q}74Qps3qshqXB4(*WqklX4PV4-fW(ascO+Z-7+*gp=hppgO}9JJ%7HgPWx1xFU?qOL_O)5Rlp1YYGc+Z z*TRK}P*c-aX}eq?_vB`6LXx==?XT(G4Z7XO!r`zPHy@a92ymkdTb|SKNoIkQs$)WK zssT@6_AuMSyIlyTO(vJGLLUgejT_mFT)$kd3;@p* zo1;fIV9Jd6{aT46=W-c~3L*``Anjf`t)Vu}plh7UxKJn)Q;ii3OBz0V{P9X82s<)} zVwje^2j0~?h`Kq6$8gYp{-Dsx4MjgP7Ji1VIunz`(S+O(_!SqRl-iKh{fjj^@$95p zSnllw;PF&Rh9vcHHA`yG;7!@{RjYHI=KkUijtYdAaqEY&Hlv$hH8x5xLQ$j}OU;}x z+1OmwvT9RJjaK-wve!K9K^u!(mxnwK`gG$lHRK^9v~_=4J_40--Q~#O0ot9G$c7dH z&s?GfPM@;Z*RDkrfa25V^_%)&IFy=f+Ip$wi1(l4hflEz8&;T71@N zG#q833(ii`f}>^-3h9imT&rjY4r@uRb{#XE*=4A0Z*R8BUthDye(jX9#8gPP*^lID z5iv=2FDqAP&7#8*_`%5HJW|LJQwcq|}A2u_i8s$Wn z$^Ch|yBH@^^4~%)EOuX}Zj)lT*yI@j)NEz!9)HMC6XO}i;8;12VPHot2q_qT+iQoLWdlZOK>|m}&bpqqz%^ zVp!S6>ASu|iyA87!|R%Td7Cv45q54YAC0T1Xu**6wZ5X^MMdUJ*}WD{4uKTYnW_s1 z4_bwVh(uglrPE~Cply^ErM-6#Yn7%i{th(`FxL?z?R85Vu4@5=3PkmYA7DKY0sQ3` zoPDG-96lhETmEmRe(hqs+pGDjl;TfDa35JJEBvR%8Jq)FMn+HOf*84z~{PDL5Cfv&#+f2C#U_ z5`)_k6dyw ztvSM*T5@cvyJUYC!YLBfVAujz#r^$01XEWm)$W_WT))1Xj>1|^Vq*XNzvCT|XTNUr z=4zr|t79^5MMv&?T;mI9XD11-Zd&cNqD4%YSPJuH$eMh75DMCx_hF`*r81n| z+_I#*yPJ+p_NpjBm9`YYp)j^o7=7pQUz#0mIz9$#RRu>OT=dXwLrM4ZnF8RIJz{1v-MQR_VP%EmPAc9|&6m37cEYCYYmGi*ZxK(gu(3 zgavm;WZxAyNf@9dB2`tv6@R=bU2oQ!xK3LB?@&?>mY_K``-=^J_3gL+4$(*$a?bGT zE5H26s#2*R?dr!2H&V75{ehLkh>Hem>T;t;?6o?E8E*`kk?OhAnE($)&u<;-@!ubI za{UY{dayaqW(^%Q+?b1!i=%C{@H>NV#gYXcD#5jXjdH5BcT$!6vJaY-sA()UYq= zvO05@3u=1x&Ih8k19vzKX4jfj;_sR@&eB_Eq?Ep*SOtjvh^;9ewacnzoXxp0C|>Fv zMwT8y!}|~o)~b6vz(UTAth(EQMFaxHIUenpv|u(krjH|}reQ z$lUy?r+Ot6f3|w5U6d6fVT`LfyO3xc@LQea+AO{Kxs?GJiThdM8l<1yI$XtC6+quC zUt6zQBO_-lwa5pLT7kT9ZsBI8d(mQR0KhwglK=cEuIU_A_9Y_f{uNHRh9B_3G^E`wHO+1_O6uZScCr1 zzPez)L_4CH`MO0dXJDWk(Fdn%01wMPI`lAEvah(94oo{dCUY3kt+|35I}Wv|>irWm z?AN9ihl399jHk3@G=cwiL$9g&PtgDXC?pN^t2%0k8=+4J4VV>;{mVvt59$wEcvydp znVtiXu#ii)oV%Ktz(~N=I2@N5#QM!8uaBKZp=jS=o%CI%OeRst^)PZh%7GxQbYWR!#Pxdtn z)xGE=sNHu!U9Sb#4{MH`VQNd<7PjLqV!H-?L;Tw6^XG?coc0L}V(mWO^{2%x#!Q0z z4uM>5IoXXpM(64e799R4-s$$#;qQfG2}22tk$ZEwy6#N@>E@hH%^ znrX_hTmn5Ad8(3+5UJPjo582w0(K%G>t9~z0}I)wV6iz>9>2kdGRT{gjR})cf~0vt z=sCcJq~-BE029Xy;GzHL}}EZV_5$p$6SpE1aEG-P9){CL%qvZhjd)MQ&cou(9cehXrp6~k<)ffU&uyv75i%AXmguY$=kXF z(RfWvcg3W6cZs2>qx>Tx-c-ViFTcFlTq=w(uXX?ypVF$;L!$e4-% zCZO}xa+onyn!Ef~W%wC}ip%M^%gL6xj3eKLaM<9DCy${UK)-B?J`4Mfv+2y3O=)bT z;>?)9&*i1&1X-H+WC~&p+0&;iw!{EwLmJM`TAT*n8msuQ(VI>_J-@6RA6q;p?thY* zOtQL-Y?%c`kag1=vcTBtHqM>rc|Qxm;_ zpWygC^56G}e}6F3P1>!K01R18+Ttb1Rs8NyW}xRjp`iyR;18*qRoosA9XhyVu*cH} zgoTPR0a9t@!$i~?A@Ue6$w<|Cj9D<*z|U;vqQsp}9UUO41g{aE$9D%zD*iXU!4$>8 z_nqJPYX3IYu^FA>wf;nqr(2`MirGYFZubatyo(^JUnI!abIl0{NWk#U{k43kr%oXk zryU@_lS#@K54<>n@)>WW##dlJSB{CKxbJXekJQu-4unurSgh(!jA|j19-|z7`1%wia!BbFx!z%=#V)E7Z z&4~_ja1D{#o@yE^kslsNu*4qIgN)Efj1B26k(s*wgki?fDnNYWh?y40swD3`QfFPX zRs8##dvi;KndyHC>P9d5aMd?HV=nH&RG3WmllpJ=hm1y}PM7TcFcmJ`6N4u>iCm|q zW}d9>I3R%!wF|@;7ZF#GqL2ILkE6a()$h#@;)h#sP(0#z<%OSrc>(tV$8clHlA5%W zC(+;#IbmQ}_sE1# zy#qoSa&ck(4a)H>7p5jcjG~7D2Z>@A{mfZSnI4snY(Z#FA;wSul{+$#mtas9gNN_j zM9AJUZ#)|?+?X5~+NPTj(j6qFfyN0+{<1On-8pYMCy;ept ze>!vZ>i!@kiQK-O)GK5OgF?kg=tj|g^zFCzP=T3?B4~Ms9rBnif0nGh8z1rcUi%K6 zd}E9$<(A^>YARDg4UXNC$!Wg$8zj*J;B9K+&2E|0`+yNg+=pAF|IWN`-&-sjCU%m< zwv7QP>xlwdGjt~{JevR=*t1;XBAQ| zkyCP9?1iB+dAK3D^p_Z!9|ID7uEO27$YfJJNp_jbSNk*6f4Os|ybHrd1@x*ZC$!rl zCuG_)$b(U9BwwPKRY<#v+@<6tKsor&`yHJ~ID4W&tKbCo zV_(@TKmPb5?Udc&7+7spI2!6{3vN|>#Ad_eX?WK?y{Fa&Jk=syTVj#EAuDV6LAKta5&gLR9&wsVT zLr9pyio}yZno~x>HCCd(&aBX`e|BsOnGRoH{s_w~=W2E|Zo2+#>4l(lT+@M^>Q` zs3E?ppAi^cO_~UBRi}O$I1`1TTxhgm%Aw5Cz|F=-g?v85=+8}@lJM#;w9K8esGQhW z!-6N^5+dR8ck7b3#G}1`R zi4&JJ&_w)|E^xgCzXlfWPd`5Yf`SJbc(Uoxudji?uINM<2jGp#DM!eJZ5?-EQ1yAt zpI&(3RUn~|ZK~{HV+5H5E>&!*#ywT8*@2XWq%P;^#~PlM`w@V53Oar5#8c;Itwzwg zn~MFf_LPb-oE?lw_1VGH>AAkM_6C-t}GtI3rE8tU3XHHJ&{?kgUBgvu`bVV;&U5VeBQ*sikul8=3 ze5O0{ucZgS&y5t!I?pTX)!+mNksGkh>!rg(D70b#gVtzx4*_M_*tht6S^sC}XVI~d z`d}Huw1-(~6!nLHSYsdRQ{nG#~tiz{P%;vbTj64O~7PTrp{E}4tHYU^^NK8ec zVPw}DlYZOzerw=uC{%LmJz75YWO;g02Q9n;XD~RsH3ZsG7g}s+$GdnKJ*#yfP)Z9! zAxrSH6*x3;|I>Jd4sEc2djKR$@NbpuH}+D2+%S3vr#!vWfP%3M!w2=BZ>R#eWcZ;k zk)R6@V6+GmFF~6aW#}7w4;Xc{8<@m?MjiFW-sf#9`tg7|M38^j3l4+WP~97QUswaB zpN7ZH#RfGD6Z@>;5zqKZ=mB=LRH1Rbd~t7q3X^z;iGs>ymp2^>`$Q!Iai*Py=ONH( zn|UO|N819r(K~rq)Ba7Ll~r+4Zm`S`ZVT`xoG+_C2ls8e&7D^_`vN{29F);thf9rV zGw-&3zJcbPIiCxOAaQ$oXNrl9SV!+X5MND)iJ6>2m^RlNAyvMi3iMwlTltt3eg1qP zuYXgDwJ5CXu*ct8#Ny*QQu?R26NW;uo6=N=4isEJ` zZn!|26JlhJH2YOGNhZ%*qR)6Fpy|^#nW*!{dk7v5?e^IRjMY#LKY2klvmp}QZFj)F zMW95)?}tIeVMY1=SdHHx!Fh*H~9AK<|lmKQG>b12s_zD|{$KmeK z3wmneZ*(YP@TAxgmB^*sZ%I-wO!}enp*=LdFG*5zb;I}dCQ9V*(9(vMiA^BMthG57 zSeyl=T&PgLI4w05DY-!Q`LZ;9chnMdk+)xX{&`v|ubZ8WDE-^g{SOAdwmO`K6|*0k zwFp=6z@_c8ZRNsOdA_|W!*Y7 zT5lxhdc83|2Eg$o_3m*sH<0H!j}ZB|=AcI7zL+d*|HEFN9eCFS`Nm#=jyf{+bKAeH zm)oFBAJiwFZe=3)f6@*_rZnmqUt$w%-h$Hv>n5v$+n}=g59)FDwc-fB0Ek!^dATzw zNn2J83^Jn`gglYu8O?*@tNQQ`Dg9zs5{Gk4rJavdrMShRL2L7y|C;0@VzW8NJgt6z&Ezl8@$_ zHp9X^{$+h?GRz0@^I@Fa;=^BhjjS+2(1WXd^iGKh>B6QUAJbv+X(Y!^n;ptyO_JvVAR6XM^pn7m`;2j+6$bl#cbh&W@{1qT7GO$}3 zOAL&a@yq&EYs&96nrT-qUkLy$DZZ*5jlVn(i}^u4eiYHYv^Pc1D~J-Y!W`JjluF+~ z6IMET3GcEcFF|eg8Kyz_oKRuqoL3>X<0ex40BB?3cVGA0c5$ ztgK|%wZ_LtgTAa!#>a$sHuf8fXcIwIYItUEuxwtel@V;b%$dC4@<>kG8RT60{!M(0 zvjliglnE7hN3o$-azZR_Bz17(UV+ubQV6^&L^kN}Hx-09t4MxfiFo?!H~|e0uVMJ{ zQ^4bG5$9B;yvn=y`$0yT3wO>1i1h-H@)(&&e8-0JrAD zB6*h)^(#;ij}lX0_|1kFH18GG?WrB3G6Im+!KxE)iGdt>h<@3aXVc_1|BSnYj;i?H z3{p|DYV{X&s=Du39U{L_l_AXl7Y}6_=C)_FHv^V8nmw)=XoSU^^i{_S+vf!kvO2N0 zJypLTQ@7DL7tYPX**{%@!6uK5Z*EJ|)m*DO7N79S?b}wF*atl5(yvgvsSpJTba?RE zlz3h95hOa`*PZ}0xJXo)tnE@SEs#(%ab-<47~+uRZQ6L zHIg1#?Pn$Z#Rhbrkh+Zavfno%a@Sm%7!T`4Tnn-hYDjzH&$tT{VA~7ayV=M}mQuBs ziBX`2>}lv~MPlffeGub{%RsWh1;k|)s|j_jx`iy1o9OAX;OgZK({j$SKw@7Lex$as zxTE>3%|4VU1PH(x3s&)wDp=KhUWW91GtdMVO1eqld#qrp&tn`JQnJ(*1m#s}fR7sd zz2I#p_vL9taQ@WZU^VNqO1->;#&$L^ZVODuogg0k@55~D^>BO*n4tXQyMh)r#IoS< zD{OyrZ~aS*O03$U;~e-=90q+K)A*qNQffvcJV{ot=E*$4y6jc`a5^n68*9ez%X?d) z#qbC%QIP21@1!?_i^0U01Mzp-c+qx=3H??Y1C|6XOjH5s+yhofi%MVaVi|>dX>UP< z_T9%A{d%A^vnu`S?K+#xwb~*DYyu*R15L19ykLjMXEggveLM!D7=NzkL%hXZ0E&f2 zKxpPHcr|4z7qhdX{sViA15ra&zun0va3LFP$7qG`-&7E>gF+}YE|A!z9pBm~ZSMJR z?A^@?ge5lD7D7~mh1r8Ga(Z6ENtF{?z=TG9t7oElPgFu%^2pIUS5>l6ecI+HY#|Tg zBBjcsj(HYGsdoohAYplwx4+l~t<-gF_^b?kG59|fo5O^>IWa2}pg!Nghv#-P;|7grk1{c1!_;sT7g1lv0H!42e0>^_E9JmL#=<$>xNsix zW@QOa(rWUtz3s^CKPDMHa+q-#Fu>n^e6$^Q#jo~4*h%00`zP3F?yXML& z^0n_yU1b&4e;M?_us59@?}uQSUbzkTLO|ntF9eXh(9@&9(+&i{El-fX4c~2Im7Kr; z9r}Zm_>bS6z=5v!9P4eWsR0M!E%4fmo@-j(v27a=?zSb87VX>}-+sF;L37W506(CC zXyFnW@>l}a-fBKZlN)*)tFdpCSio}%4eQ|IN(cBr!9Ex57%rvye(hsaV@C5r8#ePB z?bh|5!)-dmQE2jFq?P8wWH09~5Zh{?wtkyPylR6N?wBX&Ss@GTeG6oQ4_G^BM5KUs z<7kNQGV?JT6P~;e@#s6@HV!^->jT>Pu(g$QF_%uTE(T6eUjpZ}N<1DT&YWv=7R(Ke zLWDsJR)qC$P!Ug4bx|}=hEEfN3{Nd==cBVTn%_(v(ZwlGZw@d{@Yu(4QMLG`&1D_Z zo)gYvxzICU(}Q(L+suaSmMC4-k;I0dfuCb$!vY9^=Ue1lw5hPToAfRA58Q;4zLAp6 zjcnjh;3kMa`W91aeW3RyQdBEv$4@!ZQMXN1tB$R}DJ7givpA^?oXIViHA;K(tU z`TUl*u-14Ek<64-6k>;a{mbL5fL zHK)#l^}6kc6`DTlbirG!nsHzCanZak)vt+R=N*qnQ>H#u5;62seIhnzK=O0$yyyiF z&X-_6N-B(q#rMElBctlY3z(B~_aYdyz42sNzH@<(nfXZe08oqO5bqzXFk-h~qHNZn9{$M^NA zoT?j8RHz@N=6*G=R9m-g!9J`z0Xp3_nNtl)pd2*|5+8~u0V@8hP0sDpe*3||eLn*J zHRN9KCYqBH|A=MO-TX12O_B}DmsqzhiS6J5)~_$~ZoL~V77!&#di7OK8q-|^(@c>2 zhm0JF7u>(EYW{YlD;h0|GBum}7zcMCd*uX&VXQ)c95!sKqMW%`m{`HVVZFUKG4Ay* zuh**WE-Q-4x`rUZ?_67$vIFsmzgyg+OYf?XA0V^uhcFjf)(MavA({kZ&m70?5& zBF4Y~{7-vZkav>hOpKFuz1!7gjq2wd^Kg#BKzjK)UeQNUtz)a~W#JyrZSU#g1G+o? znh_WC;ZrZ5Vsn9HY>CZ=>yXhL=0YSTE_js=k1rHCns(-T;LnP4JmvBJayo1)EKdbj zk7F*S(qRa^d>=!4NBZZUq$Ezw^THPnO^0g@)d?~1*I(M}zZ{FvU>5j% z!#eQQ(ZXaZ{1SSKbgL-gBw2Rv_rIrwrIg#e?z!h;szvyO3fo`6H7cWhMH%a87AURq zSJRC5BN1!JKn`gi*9`hqQD4BwV~5y;Y#7kq-WLK8Pexia?pUGSL6QRl%4KLmu#I+4 zm~(81JwkM#7;o~qaegk?0fZZZ+;Q~i4-g@C-7Oq4&y2XsMM+S;v93e_rh{KtU)M&5 z^@U!Fdd+bHDu**Hlz8}B0e?sG0fQ;-dfr=WDBF0omyrx}np@#a`G*F36-^ekcpR&e zFe!{nSJ+Jcxr>V!tD9({LrPCdHbKvlf}MbSD>UVFl|z%soZ~d(CK5V2AZ-3IJ34Q% zxV$@a`(SH0rX8zJ9|un}PgY;8T*yi~Lf6LOJZZhzt2`A8vRH zuH}$+^Saecba*h*gM5vy&hRbPx9t`kORYDi>AF`R9HBcJ#-S6uTxt`^i=4u#J)Dq7 zz4n$L7yGMyJoL}}=sO^Oj?WTa$X<#k+EIxvQbN?`YMb{`IEiZ7Sdrh04dv4`=+Eu)J4MGa< z=yt8KRUQY%&y$pVGJv`@HT#8?E0OqZUNIZ>bO1m?b=ogqeZ`3n^)XKGSnn-1<{29> z2LgO(_yTnRrRU?y_2rl8kWol3aF8G_a1Uvp&BX>ot;QZGkVf5-L23W+Y%2U4;PUD+ z;E#2m3m7&0numUVe~#Tv0?m_)W}Y|^c61VK~Wf7kO4!{`uI5Q{62jCU_w!~qn%txj^rNvJdolY{LMgDOL1 zP&v8+d#POR=_!)qg0@i3f@_^cPTc?_B#sT!y~4AM)85G_zyHtsqvfPdF2HFct^T2Y zvPMOHsnh1yMg$$msIgB>go%@ns;=+kyN)NQOPvzajFQsrE9@1wt zzjd+aAPyFrGp-*=uv_H4J4MlCMZF90j`Z|E1A~2hbo6H{R&fz~?|r;J*v3apT?&rw z0bZE6Hl2+QTe-o=;+0c6iJ22)ZPa?1^Yt^Bo(5y}f)y5A!1ywsB!YV}UXnMkWC52Yemqabq@p zVKWZ+HZGF$&Rbl#>|XINT)=R%mvbi5OlV5zQ`Q|nr@2W}_QK|$?(xp5qYyW7-u;w6 za#HqfoPQ1r*)*`hUxe9p(6M*H6#ZpAdbeJrh0TcR#$rN%4%LvR%^=PINH2mRs8n_@ z7%H%;TMz^^P%^W6vFmd7Oq|PeB{d8Poq&EwGkHVdl<^q45J&cRc6Ll~JS-S}I~uvb zLszdLC!KL@E^3D7`*<}|ReMoq803XS-f6r;DDkmL-bBr1lo8^B2)5PLKohAy zJk!BN();@g1o)G>NC%iS-zcAWPr8a&W@lXpJUi?7M*33#Q0Q`Ih3IP1&0&&N{d ze#*s?7o4c$91n3ZgD)PZ=~+s(z*2LfPT}2|YV-uBq(~}aU}}FqP7+y;a*`1YsW79L zFE_xttHjg1kW%2v?dY%t5;}u6G50FE!2{UjWVxLWC6H>ggXJCBxH)_M5IO2j&VWs} zc1(zw$3`p{FVfMxan1iJPwnWK5XwLJR9|0^R}5bdurkCWcO@L2^plj#JL8o}n!fR_ z#QuJpni7qkusKt2bAcn$2DnW=QPkE%zSXwFCMIfEf`cb`@gek|ju1!OVT4@=UWH&k z+zW))5Mn%4Rd;YimZmQ3;bU>Mi_U0Hv6H8#o<0rtoR8{zdMd2iEfp0P3kYm@1I)tjErD5nWKKTR4{2{Zq(js+ z=h_k0wWP3}4F$z`DUs`iE4+SXH{;kvMV>_bMmVW!zZ2$?U>4PZUM^Ni-Z|E6$7%zs zS~!k7LB*{dH84P)ipL>wRqY`6(fPB2Iz)bF`6LxWbF3LbO`Wc={ngu`H+=KL1&rf$ zO6tBFY2_3>E|zZc*3s<{(|?p;L3XBC=)tB1>W|ETy&Mkdbl|fF5M_QQ)>xNk5 zwbiVe(giNd*y|Y2FCBHb#%=eS%srR?`CU!ohzX{4OR+gSC*yHONhCsXK#Z{^&d z_Vv|3H>&zLr*VLB?8UwK*(5&laL`;7@{6B2A>E=CCLNgxY*|b+odR{CSLDI z;N+@4n>*FxQ#l194503V_R{hJHl`!Hx{4lUT~x>Ww9qIeU$_u0kc--Ej;YX%JGXXl zv3I>s;@E>#kpA4?zk`!7&Q2~mrt3I%AR%6i3{2`wD#E1qwQzyI+`gT1kPn+-Pf6%T&K0BA)L>`eJd|7LkSN|^#}Fq*4?|u zq0392{Ipjk1A+DTPyzhnBHDG5uS7iKaJ>q94=?wz$BK)?>Y{QJJq!QLiR|dU!bNus zT)Dytb!5BU{t>6VSx^A0LLDE?Mc)|EOh+X(aTl(Hl?ip%wCwY-=H_FZ6dF+GA-2S^ z9Exg_Qpay+!_Uc#P#MtI=x7A2Gf27bzNnpEKLq>yw(#yQeEK6qO&lMSYDecC?LK)l zIk}yU{n2+K0*wo-$MtC+DXv;2+G5?Da!l?7C>|AgXU7h!+cqJ*mlJjg$&_>VWzPM^ zPe1*e4}Y?cQ|m#q%qhEigM9e-`otaO$ZL_uY1VEF{g!i_AonEixCQgHo)enLAltEz zi@xx}3ldbfr-ygElOId1 z2g$ygQ>QqGo^hlLS!6rI9AyKac>4L!DYC7px|>stZ9Cdo*?23_-_OeWdvGMs;hUNH z&Ovl1lSfP@6DP3)|8C-7ytPy(6*KZH#CgM>#DwIrYq)a2Q7FZm1NYx^0upAGfibdxMN^a>SGVufP6=b3IyC#$lBbll94Lfb8$( z#lQODAxc9%r5CwaD|w;aX6GY`LV#0}gK=@N-hC+K47P^HCj7G=$m0}woA*h_n< zdl3}I(zu=ma!}gre7&$CUaevU5LUIxKFEj;wHJ=netoL~b11>grQt(Fg}NTN&p>YorHZ2FU{_%m%I{fjp3L z5mvrUMs2U5N&5)OX#=<`vG6jEi>XmSPUwC<+&bX5IgNow0*0z%2PVn97}v+EWKi*A z7AOmL$LYAEoDvVmS&VOD!*O4xEa6Zaq6AfsEvDz(O+@e_rygk4C_4Wam*a%s3xP+S ziC@|tWLz41Wsw&NTkj1ZQ90s zPPyN+e6WypxBz)2lC7zCWllNV+C>WmzGRe&C5t0;c9$Vg%DLiO6Cnf45z&h{6KVH8&7kXao4(@$1blqAA<5nhPlyVCu|!*tUrPBvg4Wmsbagg% zSX@3}6BA_ATs5Xlf)wgFVX&Cq$q5t4#@6dVxHOUj_vU+{{7Id6ImZ!f!5t~lJW!4h z0zi_FqDozJvl0^CpUz`1qlU)T+g$kBR-5`tLhv>teCi+3c1s3X8_BW-Za(~V0DH^w zYJ6+(1Sh>7RC+iiL8~lI1MpFnbD;z=C-2=`=VcZ5&3hn#PumQH2PV8|73I8guQ(2E zmrEBtm%gc3CUgr(b4ZP^?3b_W)4ut`sBb)dvn)!Fd^^2+diwv?g2MQjosSNG_+gp+ zfQr3GnznA)0%Q6=UlAx@#r<~l&fPa|+@P^(PwzAtw=~lcq@1aVKer(frysrZ%1`%D znrM7_XWC9PTZBWABnuzfzaPn^*dfyT2$+r#`}lM>;vzUUYS2ciMd0*@-a~USv1vP6 zqa3;bgC=kM_MW$V9+JcMBLsn*MKYK~kty_<1`r~^zpJU@h1z!~jmXZ%X#58Oc+1L$ zR?1_1*22u?7}eTi`;?WHN=JX9FjX#ydZ!PRlv%kQmQw+>;6BAZih z&mv}G4d2`gyaYj?H93Aha@Vx$L&lvndNYR;JrMW9Dy)keRXtyW>*ue&#O$nTJRK$8 ztmm?-zhuO?dTQdHm8ggN{nvPhQ{O>3#?dOW{VWsH58n82FXM{;vVKrTYdP&q9^&0G ze}PpPB<@@|0xa|Ri9t?X_DxpDgsKWOQPD~kYHg&^pDIy4B?PJ`m&wK~8> zFXIJh79Ra}eFM^oydw^l@#M^zGiCDM<>Lk}WA;Ki89uge9}1fR-GArWHHgkP3vnaH zKOOr)`YEAoqK%ri0`-s3#DVpJfaY&JFTC;!!dRs4GmRUDB)5Hj`!*_u6~<}$(saLG z$I*^Ni^8Kr5w*J+&3~-Nsd);Hn{Mx;4GnqpUGzj9u>&Ip;5Y}<=+EFqrkX!)=O_pBN!_A?435NPu0`%)f3zXRFScH+K5u00m_ z``fo^A+A1yicQ8)lJ@*}WVaFg(FU`v_2y0dSiceUnka%AUi}Y19dp>SVpShZ%+bI&~& zBL{bHWJP0d`pGFPg-r?9iDi>MTrz2US>0?)=tCfZ5*rEfcs?;iRq;3TlZ0ALn27=h zp(`dHtI2(g5Ow5ag6Jmb!-P2iQSJWIp4ekV6*(8ZZ$xn@!Av|2U~HmV`nTTwlU^o~ zEY!W8i>i1t+$R9KyeW|Nl6h0eWG0Be#7uF;zmJak`!U})W?M>%*^URQ>WCimZ&4^) z-2M4#0`>9{Y5sh@K|Pp@-7$ZThZldSn#>KiVMmw{wK`a!93DpMqTP!!jc250{#3eR`3E$pI--0dXxOVmkK(Jp%BFbg%W;5)h?xvG za+Z%I(CdR|oXe>lnG{uJl%7rJthu^=5uI7h7W0s zLG&eL(qA8uTmV(TLuQOzS=`-?dTiinm<%&GDgjNF7#ncClIyiphkwJE_mxJnS% z#F07pvP&^dPRMZxRylETt|%ZJgYsn=C|S!DlfiO8LPpQ@t1Me1{y5&Zq6-!?nwmfI zU?K`XL)8nUd1y`2O~-}|#xBHx^YZ7PX~ncD3r}_`rj*J!!-aiXe&%!V?r4=A3s66F zDAR+k3Ct>aiB?}n7`D%zoPZ8M3~A;paSNLB#M&|SBzFBf^8vCNIjPVtb7m}6x;u2= zK21XMb6awPINKOUs&3@#Z@+z9+p}wy?(X7Zh-g|snpcXRNYgUxuW`nZ>lwfNXRV-+ zhp7}hG=U%{DyCg)DAUfoyk=T9B}`uzyaOTX-%wXZ5FH*`AW-NUG`D(S&2%YC%ByQo z32*#jQ?N{`(IvsEj^4R_ws#BG87)8P02yesy3#%?i_1mjpc6gFTm5B#?Nd^qBNEd5 zsy#2~P^!9-h4`R4YY^=sz6UOkNlc8Hi$qgSj;ra1jW#jwEv%c?5NgtG9oaG>29b0Y zfAV0108mVsge{<>loKbKh$PiR%R48h9wAVK!OZfJop|KR+2v$V))tkoM4_Uxa@U#} zF*b1${~zNn*UG z)GFFPnUY3dpp~?WG0zZS2x_=7nX+G;I`c{Muuv*QY*Ut=OiW}|6G(8GK-#G^VTE~y zVp^V?Iwz5F41U10me2v@w~&dFr~D1Nh*-yywNp2;^5AKyrbWd~SWSLrK<6`;AHn6>20nRDhW*Y7u`#i^+_RzbR!b-qre{Iz(cc?Nbj zf25fpaRBF2lC-k-PgZs6wc%*+eU_Z=IRlte!k6R7)yAlpf8mL!a5d?FVl1&hCIeB>yJ=XPNJU@t7w=QKXMBw1a zK}2FAZ>U%4Ddts+}^`+^)>l};?hFC0{exSsni5QlUWJtCe0VC3fq@ywH3^EmFr0o0)RQhwI7Auo_ON#i!o-Mx8|##&mkYhyyLwqt}& z$Ys3q%~`@Ai?chAMKn=)3XlOZd4mdH@uDiqjCbeqvgrn;zVw15SrvQ!hyvMEi&6bX zHuc&RQ(Q{w{dL+pJRl7I?ELxj3c1ags)~#t>RZMyPempQP{HWtgymgT!eKmy-4z@s zaa%NkY?Cf-i=LVf=rz*_-f=)wH;}|atEkH{|0ZTad-L>>sX6Ox(0o;$sa`FMf<_stX3K%AVSx*vW7h-L%fs5`%$_rq({WkylI=x!QY;wI$>5 zeepf~L$_@0;z9!W)%m1jByj=lHG)LD)3%nphmYrtgEU?PIH@U51lzG``Pv$DfojSh z*@s0(mJ?(JBf_2f9G6sOl*#WhYA8>u&H3A>tzi>LFHFYT!s{bY?sp!gGdwWlD**Fg zss-{AQLNf0VIlF6<;FOJ4gVoO90a0~#aXJB25@4HrZ6u=}bh_0W4zTM$0A_qnOU-m`4E*A@{&*skCeIjFD_$FU^OZ zvN{dE)Dd}%FvKD}#kvfO(?qG%s+yWtU4uYY{Z|H(90l@IGw_mS#>ec~#@A#NP8B;a z_cI(_mZS_%* z@W+dk_nNhrJSCexwaM-o+6-k=KjYlBtX#@FMyu}S<2PbWA<=H~OjR?g8SPb9@y$#a z8Iz!r4UtF#fR;3QF=#Z^k%(dq{A&geMQop1k}4wa6wLVAnX|X>x{bBjOsS7SA-NY&vCA`~XA3OGm`12Opth zB3#!j**+4|7B{4qByLWCuC-XwK}V>HJxsDviEA0tkXnjfQj& zxk(bpQ<+(1O3Nxu`oQHjw+KqVWg6_*HLs>VHsuSxlKNtSamyJPj6>!l`pU}1i_BRu zQ;y?Bt74jw2lXi_;Z=8)VFU)$Yul zM4FrcJ%GoDxmMU!)4X}}7`SSfurcu9wUB-)A}5qU{mu~pHC^!divaR4O)rSqAvC=D zl!m~EZK>jwJ=32zkCIJ5rGX!os-n;YwTan^=?2F;S5Hr`rpUWWuzG@GKU<~Eam%VL z-U5JosU|}$Y?IrlSw_3!PFVu5A=Q+YpB(o%xad+96BsH%C;@gBdmi>HhYcjhSD9_{ z!E=}%tJ>pod(w2|(=BGBZ2I{TF@4(L?jelu205*kFGXQ-?)6FDrx@WGY;5zYWus$u z1}`_(UR%hCxx4X7s8Zz*3g}AC6tzfwD!%HU zW`y0(=A^|JKdq0;J=hS9LP)ML@oAn5$8aX=St`M!wpm@KTDDy8S!i{+&&}lpigNhL zl0fej)O`Xqk_&9SE@B?j$IAA(wD`9(*y22G9Eu6tM~X>5I0dDx@Po7SZYnMWwH>UA1|2Uw_5d^RJla~N5$}~>f zsBCQ7jJ)@3vc1BlxO0c|u}%!LB~_&`Z4(DEGUgX9<11IJSRs>VVUnm&1262Rgxe$? zLDV*;;5fPN#UA)2U*&3ofG6Zd5-1K7118XMV(FXeRXUoMv%dtIowpw&u*X)Lb7WHz zz=}*cyrvAQ$y#+1hOEgvQnA-^wwT>eSj(SYQdudJ&Gix;NnMVX2KWJcz%xqz!Rmx* ztgR@iXh0%P{Lfr(G7Dph4fuY`wY9~?Y4OC%2;ofKpNF?k(>5NL9>uO7ZZ^c+kKp_i ze!_(V2CW2kqN9@=2F1cqwqqT5fAE_Cdvrk@|1ii`~{J?<|H&cZV6zLROEs!9BOO2ry7f z8@4RLc0O2WH9L3sGEgC#P>Bt_L#fZ1CtJXFlzc{nVaqNNH^E?ndS{gU6rKUZnQ3PW z!TdLj>;QM5={nFW_vk&>r+Mx-4LkM0xhHt%!MLzAly>NK&8r%^jt|>-@~lm^Pc!S_ z4CCsvv|;l?EP)G~gGP+2ndkKD*JCp6@oB?}H1v8bPaUM+w=d(ehpF_F{6Tat-k&|FOZaDwXO>JSQ@g4 z=oN4_VU=?B8^vOvXIKhit1%A49E=0!TpygzWy!oUB0dF!bTi7H_7A z1_R|4sRE>E_R|(`B)e;( zALlC$%P>*meHHo*kUs|}`!jjB4mkPPg{2q=BUIEQxj4^qFnOb5m-^YJc|u?kvctTh&@ z3Bzdd*(#T&x+!pB@G9u<;2OmU^!V<6+^?=Bv5q9D1Kt%&alv-jp2fg(WP3Lq=5yid zC;&d ze{$=VQ_TNw?_1!ax~{$VnHR%LP-7LrI>-RS06syZ;U$94SdDVTATTHolNg%VNNaVN z8AUL$l4t_vCgl|bf4(Xuz)%rwkD6XR8p*A(zGmj!{~kOuXQnlT z+qBp3_i>sEi~ZjJz4l}6wbqWZCZ?d*&E50p=woGU<=Y<~gHg>)%qk1fJ^8_j5DL6K zeuoWQJ1rEI4~||aazBET zhZXt7s6V{DRs{vc%|@kAv0Md%bq+3HQD_pj1od7M2!f>ueV2>vcrNC1REp zNy?(8;-!OHy4Pr;^FNrf-XDaN_Pb@pOo(R6F>)45;k-7yW3qH%WI|FIjUD`yb=p-- ze7i~;05cwNnq*CsOz=p`kz~oTS|U9ev_pzMm%=-2;ScZK+m5|-bi77JdxAbf1{}DAJq zfTs%jT3Sv-TUMy(``7>rYqKa|s%^!tWUv)Iuq0ajUO?38*2{Pg@1;xnLn{5iMqk*R z7^Y%U|GpIaI0@FC+Pu?A2wrRQ|rs{9XvY?O#-%RMrrqvjfc%#0%=t66#KV#5D zC-`-5!6X^_`VGv>aV2q>OLA)(E3x&Uv-Uicy4>og#wf$hF2h-^pX01#LR7FFIjYi6 zk}Y44UZHb$$>>Pkvhq{d(!7eI6AuPYO?;_0GnhbhN{jAYM~Bq4qEUX{-T)jfY17nDc|LLc=uwQV zBT(+vn|F_EM~%$2pZV{DLK4IV{?e{Z68f^NpQy1iZ{8C)w}o31uV96P2fb`=M~Ri$ zHPxC3*UEmdxP9ZY&4PtGw2ZpgD`{GApyz^lD%^Zew}#Rt^56;{RNMzs?q`cP8RbgCKx>G3C%=*!b)JYHgbV;5?i zWSi!l>qmb1%jJ_h3nf<+;XZ6SUa}8lr0VNW;1N2_?x=u|{|!!@Ec=+Br!0Vz!p=;| z`^)eEx&OQ4JBuaPx15SFz=@iU?0(VDLo7Ztnaq%cy(kWdYy0hZ@+axW)mIgteDdjS zMG!Zwva&~&c(Zh#0ZM@qf7wZE!RiT8@~=#2QByK*$K)Z_#O!dLEmb?EO@S_)COuVI zunxE95TkxiCxuCoc2<=>TwB3htqxla<%I>oNM0{q&{UAjc&c=gYt_~IZ4(GtMUFyJ zC{K-u`%U@}$+X*0R)4T7d-coc4>B?N$MsqGIY#tj8;hS);`{xf6)>fEy8%DO{4CNF zojrPD@}#tM$V633B`T(|@mhCcyI;~r{g;@;4tPc?_8aFpb|;+dMl9cYC)4{=X1%=H z7Y?v;v&G|jR65c-W7GoN0LPPtY=}ish}JWp^F63rO6Mu4mM@uG{G)UPuL^BzgvaoC z8N{fMj2ErR4hc&7-o#poueZV{MTA@bfK(mhH(l%Dm9tIHEw03k@W1*JWv1U+sf@^$ z;)3Sbeq}p@Cr1`$GFhIf)eQ9ges5g{5uclyKs>e)LRf9{X zV;cjpA(?oxy0lcKQ{R}MIX|L(@{;To>>XNLsk)dvA0Vz{t?D^C81QC`Ipf@7GG8km z&y+6?)}Q?4*<^pu63YX|-?Py_(C}VB=cMuCnaf|n)95z9Aih_q3=;bL-DI~M1@+Orv%V%W+?!Ks2VV<&VCaJlyUD%4w^+!n$#_QRn- z&_U7SrOEz1*-Z5xSH7a5Zc0W4_HdB$!(qsmY32Ck%v|XgJrQ~&f_J4NHB`lzs5t3o8N*N)xOR2+E8R+YT;Z)h2ISZq!fv~B8y3#&)6snrd6f} zTLWC8*R~oA_0WVO_&asz6K#Polc_mDynJR!%*VXzF1~rSmg)S%4Yl^$+B2$RFGZwn zz&lsc%)p~gJp{DyxY6qEJ)qM1!WT|+bK3w%M3Q&QVVTpEn8@>dWE_wt3W;L;=kKQh}RbQt&TZMBhHFPlR>_y%(80*s5=cEP4Cs^bo2Y5- z-E>@mkTT7gmtX#aZV@qf?^9f#n|UQE8>gTclg}o#?&&lWM9HQQIK>Bae|nYdp+99l zavvMRwn`-$pOEnQF{gwrF~1!X!=f47bv$HD%HT3Rsom5(AQ-TH&a7&y~o|U zI*cHu=!klXDuFpywYDgNL*YeCiU>R507G+x9)HzfAWgLpn3H}`mE8=KpmY)FB}X|I zpfV)Vj5`9eUTCnqXFw+VE7a{w4D2x4!ZENnS3s8{TYN+mVP!T)o1syohf?b^73#Q& zRSd>N3~-K&5AcW5CUkz2s8#dIy=u$&YBBVnJu@#sXF}9?c>C=m(Uw4148d;-YILir zFxnOvwJFLz>7A>JqPiDnBNGD0He&wUU!nb-%EqkRt2v{;VNmH5^5m*3S!WcB37l>< z&FwKCZ-#6D+Wqy$fjiJA-f3(J2Qy|e&@{WrLHuSg`ZHZMF{W959%`63S*R(~iOYa% zO8tpQD=Hn4I7?Olx9`mWV`Z zOyoP>24(y`eGq<)VT|`-^=$Q3OV2|;ji?S|t4r`lPD9O_j6L874YPAoQFI&=iPD?< z9_YcRDqIXt@m*nsWr2~yKU0h_&#oP9G+$P8V-9maKu&di{gDvRZjFVHiJSLT+GmUL zE>s}Zth1#9cKDfuabSH52W7lw-#2<96GT*pi%Cnw5f~oM=pCiDi@9;*W>I82tO?o} zrg18?UE>I|vaSwF%g}l~Wa>d()YSAa&GcL!?EU17wnl~e$Cy5RUscRh!gB_ATaTK< z9K~iZ7@+oJh5bsguPwsD>De{S@(6C+*hVWJS2$Xszy7IBL+{Bk_`ZNe9*lvf@7=al z)izB!Q1bMqZ0**qR=rPf+)Vf(+q%}K2gDGfZ-<6*hmlr{%A2@cBSLI{pp^PVDHwks00QymF z66QqvhaE6iNs=J1o*p`MYRwOj4RiD6Uofr-^ZD)DpJSTt>%+dqC>f8DVbkj)t>Zag zKl40Jd>po9sGn&dyzMDwmFdd{b=%Xm0hcuzqH0a|w`{j$n}-2zn6PtcCJV}pGvxn!<{qYb79YFBn-)I@~8szoC7qVcd= zHx6!cEoQwKE(XFAy^C6BjruXn3p%2?4xa_I4IMMsA4ob8IdU3w;JMBuweDN&9V`V2 z3{0AF!(7zowSsD%tNUd12?PVxk_U-YaLE3l%=>)59;Agz$@z=W0daOw+DQlLY{l}L~FgE6^-+hOA)ZUpOvVjh z+e0`1vb17}D5PyRL%6IgT(ZCg&tB-avNo&_8m159FOit3msI#Ucz_jWGhFpy@ns^c z%bL2i0t`ni{dmAmjuhU>?892;fjArzG4PD@; zV>+jija;-@++T!4gE-TBYJ#|L08SaOSj0)S08Uahb{ZUUXyLO8PUNt)&_NYeexw~n ztl|%P+bVnd`^3MWV4OpWy5y?Zb~Zl$&E+or=l=DeS{<&X(Gu8s>mP#XTjh7B;8 zYcaKB3>@$Hlud85jTY`G3>> z{iyt;frO01$A|ZZ><&_MoRO!)m4wjeiFtas^%DnRJh45F{C5RYI^8gWKe2y&fBtXb z-!Rb?f0?p3Fk#-4Px5$&{hj!CBY&t=JMfoG!T2&)R*vBRc;Md!{&eO4u%H%vJpQu3 z6My&d6&4g4n3S|QX$1da;h)IkF<(ySPu4L%Kb$`-d^kU!d|kSP;*T32K7MbcEXZo* zYz{gE4|=Rzxss=cn}44B{1TK3{F6rTAB5kr|9#Z_|8WK(J%ai3SKE~lnpbf&et2Fh ze5HOudLP|04Q6cYDSQv{g1w8}%gmygz!%R#5WH)%jt}R{=V_TT zBtVEio&V{}41BnIe0O?L5Fw%X`1l)x*2{(aM;V(NkUYZw578n+^8fC6gp`(+O8Nd= z7_!lqim7&~4!cb=yUwov|ergz7W@;l&n;7|AO^gPU`caQH* z4~2hO{*{Pid?WKev44F3J!<}^_)DeE`E(KR7vk3xTOf^(k9FXGI_uP|GJHH8`Fis|*x#|Aa>u`HT!Az;)_HzAy}UF;$p659wUGaZi~qGD z@RtSE`wQ{E{9rkviiK|Te}Qj-w6fAEzi)EG zzq{zF3;r92IsXsE|FWPRF8sfExhwu*`EK}^hRhtnpGR|O{_kH#$b0|yop<;Y?)+Z> z6YTg&)tC72rufo8A^&$5x$^&T*Z-mLUl=vt1^;l&_rm$V%nkq0GVuuhj??~QG*Nr7rgk@`+q9$7w-Q(q7-D!Zx1-ubCq(Z zKdXNsi7#(qmTUa5d{_KSVKy$D|CO(g;6I%GpGTyE0DcGl?)?8(_{ZkE;NMg@JpK=h za>dgF@&F+}FASOjM>a{1#9s!yh4D*^6mlW{DF<@rjm-Z%_YBSd!^hv1|GVKP!Dat9 z1pgP{{3hi8(-?n3JY_*5Pa*yV;CEsC&?49Pjm7ib@IOf5A36UI9{-1w|6PZEhLHc= z=YQ%2M0j84zW$$fTmOgJ|GVSg3;CZb{-5~^@h^jGJt6+7MXvF?OI`Utucl-K|6#2E z!^QuM+xkD;{a+L0H9|ZW;yy=+fB5np@)rd1+$P{HjGtfZ8Xx$(tp6kU|84!IN6CM} zp`Qc(pUbZp?(6?Xod4iz{%t<|bZVZ<`MKb2pz;*u5s~MU9hqM2?F^`adclN)>w5r&GV55B(44{lDZu>Wj~8 z-ux^dzHtcrWrOp7BOiYd|M8CVg$(n3PR~xlKD?w! zI`8Dk`A74-ZLuJR`sXwn$B3(-{%lGG^IA{dhSO@I^M?LZZC;h%Q7%#0j>0dyf zaBar3&(>KvZt}fa?(7Dt4{9S^9qgTub^ithxy?Rs&}TvSu$+T7W&{(R3#}j~0sTDm z5#JWjRNr*1h9i5ga?|Gf-Q&uZo}6%!W$%+N@$@B2{>(MaMfoj864nLp9iY!p+GsTJ zbp8xGO}>8=##uYQ1nVe+sjGToKxGl1;|{`=49gb&3E^*kk;rjfcG`0nXf%l%%#n4{ z_7WdS58D5593OvBU$(B9rweF(Sh7ecL>*{%0IT-FpFA28C zmw(52Y<=Ld`7^I5DBZb}$Cu(S)XzV=0Up$iPJO@r4Y-dH&{3P}-Do&rHyY~r{1zj> zbx`Q!tb_KBX{N$gtdU}e{!W_7e=nKzmTM^E|zV2atKB&5)c$l9Lt#6v? zs=^-r@V+m`q>SjH@gLG~^|ArnETGX|%D)f8Kd5?sl`wqz-ln-4jm^MW>0U#mh}tw? zp3WKTc>H5b)AtJXH)7x;1kMN?`sLJT2uzF}_5k*9qtiYh&2+0l)WV(M%cnFknqAV@ zw>$u!($-OYkpJQ9hk2UjPX=x~!tJ!VM?fRL!vhX`l)?N5`km=%d7L}#njW=r#z%R^ z%a;YTi5TxV!Vk2gy_|EtENUIw*vu7a`1q7o!?4{+qy0t>84R|MhVO(=D4wSERVdJX zg7B$_In2J!_y!}F&eQhxlbbH_>+lG#GyGPA7hbRu(tV;xLI1>y3=iSP7Y5i z@Qbj|9!0CZA+uqs_ANa2Q5tH-k5v2a#kEAar>E~@-hMpEG1#Mg|2>NC4N(wZftu}U z;4f5rPMt#W?it6Yf7oB69@q9S-$e1b=U8Uo^v_>MjyRTu{tal))|_I#J@lGasAifE zeACj_tl`6(Knu5_VQh&fJ!U?x?SF0@Az)|6HC9u6_e_mKq2SxoyM++_R;O7CHB*6> ztwW4*Wwa~)3o$;>{&{@*g;}|eb^C9iJ;H0bP`1D~I@;O3vSLE;*x7S@d#Ku1s6fmt z9^=}68O-+H`srJ5@$q{z6-0vXam9b@?*+;VMbNT*S`Q_O!xK+#i;J> zKONUF@ptdMv!73&TKIUkzjVfRiO_5_HHx;syPL27LbvuWjB*t-h6SDU|G|%b^dm?7 ztdg1kj*q8Pq1N>{<6k;skyP0J>yuKSco!dE|An~55aM4J4nv9P{5@IbZ*csW1bl$LNRqVGp!FCudvHZ?5}& zLC+bt8Xz|0M1=dzpxEqu)p~gm;_`G+>w5@?80ura2+}}^aR|8sdhCDV?NX%QVuDx< za;&lcX{i1`G(%1qF%Aiibsnph*y*bZ_$4qdvJ8rOISztT7dj;(M?gcULxTw)-<>|+ zaMGWOxx#ZHGe!RAsvrgxh{aa!RS>JG#eS}$Cjh@)5aYE#Y-XbrQTXH%@EgG6QhtmN9iKB@HH;3ZUID&`i*V$YJu3~E)@fOnFt|Q1{DJ- z=t*DV=%z*32C}R^mmel4{VC1Hj{V8=z88=BUc8JU!Gcd{C((~0OMj|98GMPBQfV+x zhKJ}{WaSVeJTaI1wdM3n76txh9}V_Y&TzgwYJHxYyM8@S(_;yyrTDQAkJ*=z4#odf z`N-D((R9>0mZuf?#a_oJ@CYydivsLu&TT&bvl*1m>E~&B>{-8g^JbndNU>|*MSfG| z6S;?!9`pJ9rOQKtpX==G*A}+6EtA zer{>*Y7{^Fn`(bEm;&u>g@X6DQZ5BGY=w)F4xG)fDlA5CwUu6PYzLT!vE5Xlk(D(v@iGvRub(GkNl4(!6femq~tKeg~T-_REHbU*9!bFPf`; z?hX(V7#L_Qoa2;_RI7J@w(O=$Fa~Nq@g-r@iUqzX3p1 B$07g# From 3710c04da4afc07d69211cb6b88fb8aec6a7247a Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Tue, 8 Mar 2016 19:22:04 +0100 Subject: [PATCH 03/63] Use head instead of body direction for compass --- addons/microdagr/functions/fnc_mapOnDrawEH.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/microdagr/functions/fnc_mapOnDrawEH.sqf b/addons/microdagr/functions/fnc_mapOnDrawEH.sqf index 25f5bc92fd..92d647f348 100644 --- a/addons/microdagr/functions/fnc_mapOnDrawEH.sqf +++ b/addons/microdagr/functions/fnc_mapOnDrawEH.sqf @@ -27,7 +27,7 @@ if (GVAR(currentApplicationPage) == 1) then { _theMap ctrlMapAnimAdd [0, DUMMY_ZOOM, DUMMY_POS]; ctrlMapAnimCommit _theMap; _size = 412 * _mapSize; - _theMap drawIcon [QUOTE(PATHTO_R(images\compass_starInverted.paa)), [1,1,1,1], DUMMY_POS, _size, _size, (-1 * (getDir ACE_player)), '', 0 ]; + _theMap drawIcon [QUOTE(PATHTO_R(images\compass_starInverted.paa)), [1,1,1,1], DUMMY_POS, _size, _size, (-1 * (([ACE_player] call CBA_fnc_headDir) select 0)), '', 0 ]; _theMap drawIcon [QUOTE(PATHTO_R(images\compass_needle.paa)), [0.533,0.769,0.76,1], DUMMY_POS, _size, _size, 0, '', 0 ]; if (GVAR(currentWaypoint) != -1) then { @@ -56,7 +56,7 @@ if (GVAR(currentApplicationPage) == 1) then { ctrlMapAnimCommit _theMap; }; _size = 48 * _mapSize; - _theMap drawIcon [QUOTE(PATHTO_R(images\icon_self.paa)), [0.533,0.769,0.76,0.75], (getPosASL ACE_player), _size, _size, (getDir ACE_player), '', 0 ]; + _theMap drawIcon [QUOTE(PATHTO_R(images\icon_self.paa)), [0.533,0.769,0.76,0.75], (getPosASL ACE_player), _size, _size, (([ACE_player] call CBA_fnc_headDir) select 0), '', 0 ]; if (GVAR(settingShowAllWaypointsOnMap)) then { _size = 32 * _mapSize; From 3f96e11cbb54e45eec9b1f75a7213c8b08fba2ca Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Sun, 8 May 2016 18:52:33 +0200 Subject: [PATCH 04/63] Made icons grey --- addons/microdagr/images/button_pushedDown.paa | Bin 11080 -> 11080 bytes addons/microdagr/images/button_pushedUp.paa | Bin 11080 -> 11080 bytes addons/microdagr/images/icon_compass.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_info.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_infoClock.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_infoCompass.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_map.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_menuLaser.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_menuMark.paa | Bin 22016 -> 22016 bytes addons/microdagr/images/icon_menuSettings.paa | Bin 22016 -> 22016 bytes .../microdagr/images/icon_menuWaypoints.paa | Bin 22016 -> 22016 bytes 11 files changed, 0 insertions(+), 0 deletions(-) diff --git a/addons/microdagr/images/button_pushedDown.paa b/addons/microdagr/images/button_pushedDown.paa index 68e301e7cf2154466f8d359c851c20732c783e48..30ac306c5b1755eea180eba840356b2c604e649a 100644 GIT binary patch literal 11080 zcmeI2J4?hs6orqnMHVb<0+uOdEp__@A*sZ|9kJNLeh~x_3qjJ@T1ozaAPYA3X>Be2 zDO;}hBn*hvEJ8HyxkETiGMPtm=gybM#fC%K9gj!Ywp0SIkL|kKVHn*Zcy3m X`)zv~mBj{@BH-Z)sH)2Tgr$7~Np#ru%2}`RR=DD_++L zaI+8GPJo>Q;E-2$t55++Q?N1>@4$lAy?|k+R6k>y22?!=>i&EF?f+i?!`#)nx7z!k z_kW*%KK}#v1U3Jdf6PDTpY9|v%#`LI^N;z*{1dn*sQJhIWBxJ!43lcQx7z$;{xScU ze**UeHUDfj|LAL|PJd~h|8I@s&+op$|2I`P^`|qDPf10zG_|>zHSzp3{?WSTa2S(Py0HxOPEp`6i8$Y>mQ9N=MMDb5+ z>2x~5E<*)ezO)ZR-`zmJ>*c{u@9(`eEPht=-5&0s0U~f>?95v5l`XfAV?RF;-Y8h>gwoG9QDQOA_yWV zl>Q&2kI+JzUz4=Z)UIioOb6*K2_!{PRMh9m$k(qH{`_P(9LH8)T3LnCrXy{;QZtfz zRz8nRnH1`hpYy#%b+adP?vhtC`(6_WAb+Xis&%Hub<{+>f?-tTcBGg@uK^O-j*H>yRLrN-Q+uG3+b^N#jv$yo^WiC~?NsMi4|W5PSoh zk0n2odC3e5JFP0uv(+?TXOW~NNy2=S&3#^(`T6B+wn%NhwXut(!$3L?rS3=?+xXl{ zl~R0vu;1hk{!=~bq6pFdpL+Bd1Rwwb2tWV=5P$##AOHafKmY;|fB*y_009U<00Izz z00bZa0SGjoK&n*g*!KTDl*cx>YS-A@dkX>z2mS-{fI2`Opbpeo2Q1^-VHt3KbisY0 uq;0d)wx^!Ah4!!Vp2*^z{`xa_Y(;85Ca3TkPknV8DY6T7*@w&QXm$g34=?!u diff --git a/addons/microdagr/images/icon_compass.paa b/addons/microdagr/images/icon_compass.paa index 32528e3cd3b23755fbc3b8d4fedce1a86bcf8c4d..4449ce17bc05b25c87932962f6c70783a4886529 100644 GIT binary patch literal 22016 zcmeHPe{2)i9eRlfd(!4VIVD`(25_ySde(}ubPUa*-ELi_jcFQW8|wk3qda1px9_G~Gk zIrt&;^QEOrMfkf0ern;5O?HH~IuL4*5bA-S+rMf^AL8w|H(DATFgRdvz~F$v0fPeu z2fim9$VBB^O3JsG`VJx_Nsj`YpRJG5zLw+(fh*p;Y=@ za0p{-&d&lAKO{Ob%W%;l*~w^8l7M#qRHHdbni9l;aan8B_BJVJ!)|9lcFrfyJHUVB z;;bwG%5G>Sv`rMnWz?VKY5wB5d&!$0!`P2?fwKR%k=b*AUa!A7-{N4$`fL?n`>_4@ z6kWXV_)?E+u%G!4FfV9rdyCTHtEToqwA<~Lu1Bw&IsUbk%7cx`;*SA`|JNFGo${&y zi;L>JAb`H>{P+9=IC!L`x|8bn2<$Vb!#lIp;=1rnHmeLgbOf6S>Yk)qz@t%7?>YH~hsY1!b=HmOFBs`FEbI=N zo)wk1jM>f01F$6^&x5!*7Pk%dM*MDSFA&J*4qV<~Dt~92*58O1{v&qVwh9(m!w7zk61ona$S$m;QN!PUHY*wzw{PSbRSeKlAFq`F^75Uot-* z-AwiemGcSS5|N)doSBTE;itzZ9nHqE?GuNyR-mjH{!QUp#n69^JLx~0!X8)OEf>{aYX8G11MqLv z?032zG7A0f$mw1h&qFxI>Fqn^hL2cW+;Qe(3n7TOVfz{g20Ar;mAcyPx>3c$%Br@52MJe2iZI)6#Ru3{6pg z^XO&(U(GKNf1#g0#D5iQzhl3`nL+;z{Pk>0NyGjR;^|cdYW$WIk4@jVx4NS-bv(78 zt^Wj$+&=y_ePlNnipKZ+M>x{e%=QA{}~s&*AKt@#E9|ctTews<5Lhf9#TzXt{9&>~U~ zMEC1(o}1*)lO~}1V*UZyg^!bbKg{w_ zh-8S;Oy9UYN)9YTe!5cD?}m#*CQg0q##1NaA9&W2`EuTel~Qm-*3C_7t^1}J`# z4WZ03DE64d_J5KjGWx9>?7qaIf_GFao zFdo-&;C{vO+AlA*FnchBeb(FS;nEL;LD@%9U!t3?LEd2wVcMC}PoP0Zhjl@4|P59MQqe&1od?sj)j&t0#@djj~25bBN6q#!(m zUToCv6FPI0@xt9+kI}!u0fPeu2Mi7v956UwaA33?5TRTJ57@F8{#0d;6Kgtot;(friyy9xvHiZg^? zcDspVucaivmU_45KU)4QJ_c!7znhj>Lspi1=5ri8+{nr(AS;`MXVxxytkOs21M;kS zCy#z`#HyU4+jcldS=6%OV8?=ncE*obnsuzMKfklT#j5lbX~z_t9nO^1*UX@b0JfcQ z22tMdFkLU`!;+h)6XZi!4P}RMW$yW%c(Zrl&!8Xd7<9Dw-0A0Cn+Sf|F`OXe`xDD1 zCy=yjoIcF#F1;2}SeljSgXVFx_0^nCESt&qA9oL)b4LijAkE9cc-etZnLI&RM)a8F zUdcm4cVZbxreckB_}DQ7oC4Zcw~?~;Drye|a@FHddmO$(eYkfp?lpq(OB2i7GZnuZ zjydRSP;d&$H*^nO26GSBpHK#!sleiW>{!HZ7sc^Q6U!uodUA}fSP7n>-bkp2WAtmJ zY=h#9R<|`j5nncuslehrE{Z>~Ck@?0mx14_^@BWCz8@iWc*)4H-| z-7)3NZj4*Jk!ad+LRq4{$oD6fwYfIIYe=!Oq-UaTCP<# zcwTv$$urOAoxJECJl-=-lkcou;NMmJpz0)=R@T<@%;$1tFN6%FJ;*y+e9WpG)?Pau z!hepn^+UW8O|z1;>(uQ}PUw^?sec!9dA{bleDFTNjjWFZ1K#U0_q9qx6()M>GL;YY zSQUwRdlU6xtgScQd~9D?R%-sA2Zor};YMtEO^x?BLSySjr%H>G?W^@9UZynBhjjfL z_ZbJw@G%zc!C1$~Oe`ssEvpw0W0H+?bZ=`HpOq`V9>C92GYN5I@!8$VQESt0s9Axq zB8#@abK9nQm*mww7I!V_A6`c1CvV+O%=r6sJcmQb+UfabUF2pFp}7o%=3V+^dB*&w{s4 zJb6_MLu@L%BX*lbp5xAQ=PDY=cs4qo-&q)Q>zwfBlOLS0MmouT7~WpwS$E}Be;b_- z`EMDc9e>^>&#S+%ytbCE7s|o1cJ}XTT+8?i?}>?%w|+|A{tJ=&4yewXcj@iwuG;0y zjK)>-j+Fl(PYG_V`0S0B2VZa%knvz&!WW-CkG;MLbUfgIeNKwg#F36aTK=VbK9{5d zL66kS44=fBW}gOEWO;QPS*9fM+)koaYcqbrXuGI3PbpRp`e$5y=x@b;CGE-o$SCoD z^RWM==Oz(4CKRcoxf1_Jf4VlYM;b^vBI_s6~GqFG<;_ zv!Cryy{l+X_OAEA3nwB%b+Am+_z%{QVImcH`KFSez+8D^UTJD6rs85`K2MJ?GxHzbs2I zA!76H3~%@BeeeF9@7#0FJ@-5Wx@JvA_Nq0TGQtTVV`F1_M(1Q~K$=29dQHaqOr&-2 zhxFZz)axln_~##hg*4(55`~Q%a-sFt;`_~L>UzGmxC1y zT~W|Yi|=&!2iD)*OGn!(65HADl4OeH`b5vPlml3Omax%#o24$mem~N0wbQX`w%&CBJ;%|De`*GG z9DnX!j-Oz$YP#QkuhV;J-@{4x3q79DsL%)lk&?el^EC zheva_cRfzAuSTNqZh54ATru{CfPC+QQl7mvI}*vexQ>a&=B ziHV8HK71CzNB@K08F9?${K(?`1Sv2NQs8_vIy48kfAx~OUlYY!&yRfKyS`$3>F^1o z>p183%=xRgEBD`&d0+ycXa3?>q5TIsg5#a+iKGQ4IfVD6zdGcIOwxOnyN7 z>uxZqopN$&dt`_t1B^UX^BGJFoq(rW5dXM`5&z*S@n6-b6sIfqC*X4+u9M_7D!1I#@jCYhE<|1f=X0geg^h-yuMIx< zyC9z9qkmJ$+9S(1bhG#z>fb>AM4nO1%bPm*Wos-N1Iz+YCjH5c=b)C+b()U`vnfgZRi-J)xLOl{`kn@|E#- zEN*?jWRt~t%IIYNMlk%t0e|;+L>Lcs3ML|W@o%Mjt2$n(V*3GY{d3-iy0+4i{9DfX z*i$E&2lyXy;{p5*xxZer$y)3@ZD;-%+b;y*33x}@j`H;{g8%>x_TqlF{^cP0JG~9| zd$na#;>XA1JztB$WJTXSJnAK;*`&a;>DF%SJ+rm@=7IkA@H3U% z)w=xW+@B7n|4la7FAh$Pe_U66S*LLr#0l0vc#m;iirMigmo5k~cp!ZbO)0RCUd{Yq3W=#Od*|4^9w z*1`TSq(7~vdlNfeu43`mVC!jD@5m|YtOoQh4F5OA@lG$^F&`LR?R!@+e*lhqCi$1X zW5w@!@K%;?17+xy1Hjd=kfp z(H}w}{^Kyx@g#Tqk!0;RZvPP6%}M^MPgC00ARLG|HsOh{p+9%{ECu5YEQW%&N7$6e z^tv$SFNopc%nsx4?s|TgmllRC=b~@?1;?96+4H8^PheYq#R76i=JjE_vM37luz&n8 z;uv+gRSl@`6M^KOSglw7-GMdV5N?T=v~bJ z0_04KXNq^g2q{@u85WEFJ&XsS50o!sZADr8o7{eYeVVa83Fz*MC*eHRZ-1TIH~Q|0 z-TnXMeAnrc&j9!(MQpz(=mg!P2PjPf6RzT7+HjG0r)DVIzqVF`xT)s_@QKAOe~NJYQ09T+P?G^G>j*pMDso*>n*vONgk8*THhBF@t{{?VwWwhQ+lY!`m zbnu1-wg<~yv+q*@H%q@qk_=BgFbm>uH}@LyzZ^Wp@D#uyLtL=9@w!+#%0P!9AM9KE zi+nWNb=El0Fc#g*;ziJdPL#9kfc$82?}g&e?x&7s_x+@Sp5^fzXiw7C_pISIOASLl zx1axzGn!)t`@q*P=!=}uGh2M=c+Gy#5)xXo8V58EXdKWupm9Lsz+B;g1kp?q;~9+} zzIj|<_^#0!KQ4tl#0`MYt>oRr!!Du_QK=NZriNKCECY1cyVL<)L0CqDV|l#4E|I0# z%Q7C+^P-23OEDg`xmlC%&oh2O zUiQN74=PVsTpw|MNK#J6WB+Ks{a_p82b`+?^W zNb71To;c0Z?C}^d`PI4&wl}yu`KAGVSMz_{iD@9-V`yC*OB-Zi2AIBSXSb4_s*B3gi{W?fkHd=<>SJwfo zm$lu#X#;6pR=ev9Z(3XOt1$m#UjD!mVnq*EU?S5I_`~I*K_B^r*+5_Y$1?sn4uy?n z{!SSGV1=5NNyv^dm@ggvm%D!TDCFFzVL5z_Yrfgvexg2Y8ujYauqncHmutSrTP%9` zbI-w-&gmF5A1t|V70w>l>%#6Y>=P}Iui-QyOPavGt7*uPb>cZTa<_L+uVS`ad0L48 z=gc{DVO8@hJdG5@X_EcKzOm@xFW7jn4vQZCE=N81D}M42^G?HS*D7Xa-=&yvLA36v zdJYEy{K3hHM-82LD2Ft@X1g&LzYnwZ1EiGvp1=Ks-&oPZl|MDNY4B(B6IA&YAgw8) zl2%jeFPVM=2|=0~6TPpU#|>0^`~?t?N%FyGd-?Fx`kUMGb+P#9Q8VB_8stR}A9Hb8 z-4@_xujowV*2f6dg21h0l);%(FFL1lZ7p|~8|zaI2*{LAnv zQC;DStiSA~Vst}E-)`sGB&1{K*>ze(;xNhw=FgXfx$x-w&;uvtp5!fOZ!>d;P?oyMAb%HEMcSNmkSFN#RnrvMckOerd)cx>}U(RiL7Q2xl z`S7k6lohro)Swh3_W_;%XJs2h8>;2h{WVW@K>88h57lxwXjI_mwZFQ$z`D4Q`Sux5 I*igy;0JQD~7ytkO diff --git a/addons/microdagr/images/icon_info.paa b/addons/microdagr/images/icon_info.paa index ad7476ba0f72f807c2d487083a323bfbd0427cf0..00247b826757d58220cf2d22b8e79e2b55a42d2a 100644 GIT binary patch literal 22016 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 b!lWE{RPb}1@M@X(OUn-lO%3}8HVOX+=X8~X literal 22016 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 literal 22016 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 diff --git a/addons/microdagr/images/icon_map.paa b/addons/microdagr/images/icon_map.paa index 552717b7ed38af79373d840702f516e8e9905368..7fe52c455b6657bfe0ddbc0b948616c78ead35eb 100644 GIT binary patch literal 22016 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 literal 22016 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 CO?FxU diff --git a/addons/microdagr/images/icon_menuLaser.paa b/addons/microdagr/images/icon_menuLaser.paa index 5e82f6459b8723052dc8670eb910a7ff6d78ef03..43b546b88d6847d218d4f7cc67097e3ecaf55604 100644 GIT binary patch literal 22016 zcmeHPUuYaf7@yr{FD-g)5tbI((uJIsqF^87UP`?U!o^^vSG*Mw#cT2)mfppu*wCc6 zRjvgeywIvo);#zosOduwB$OToYC)(-3r6#xkV<{2Nn0T~de`;$&Ftoqy=!yZyS8UK zL-ulCW_M=3-}h&~nfWG~)6>(Pe5vR4?heM-#KgpAPQTIpD$x!K(LLRJ<3uaCh<+^| z-)G{xjq3!ye3D@7vm|3*Sd7i!YP{IghS~W2@=l3>L_i`S5s(N-1SA3y0f~S_Kq4R! zkO)WwBmxfz0f+UTj3^t~{5i%fOHnw@R723F`GC5W&9(^w4ukMr`70<6gYaGXn<#BE zOgRh}fpD&n-V*J*%I#Cvlu*t-{X_P~d7=}LR*3Am_rr*=Ukgi@_b#oLe+c7y;qNhr z_m5Roj5j=etWxB3l13;?GYEuo7iY`yfv*TprYM>NgQYTm?$>i)ql5+kc6KgC^^NF5 zQ27h}I@!VHX<2$YTR3p-Ql86O(-bVM`^J;Y&TV@BttmcUW@0&AmSzwD{-Y6?IN_;V zmX*#f43q~mTLivZV0{QGf0kwH)r-Qu;eKl6J>cBx+^}^~-XZof{E--M660-#clm5B z0(JEvn%OP%LD6gM5&mHgn_pB<#^{7;>#OQNoG??D($Ct3BUjz~HB{8LC*@6ewM+5q zL$_U?Enk@B^2Yl@@yjnL9U}XVRsInAWt!5yTPt~*f3bC=Vm_w9pR-=q9x*>dSAl82 zef!?eLFMoF4}r(iEI*In`G~2Ccsh}I;PHz?!e2Ma`-Au`Aud5f{K4rk=_k$aMSK`o z-hO@I?J;AqJ!+mcF}}8c9>O<8`~vZ}ef;8&&%5nA1LaFUbN>(bU-SMBst@r0mCNq@ zf>sAae~r&Kxwz#=%MkF(8}qUL8FxOW*O52m=Qta-yYV?oz@MWm@ee-x4yAGbyO}QW zzGs2w7cFB{HdGgZP&Rt-n!DbjAwc)rGmqEqF&|rL{^yS;L+Mh!9QX90`SpjoOvyjq z6@gGLdhp*%`7+s~R^Pq@&A(TYzkeWs^&yw5V12Ta&o@nfYmyF%K=}K?%twU-(}bs@ z=~gJ`+}^bF$@^Y!2`Yd8cx&__SIOUr_pcG}3q=d(;C#l@e7t5N+4k|1pTE^kH!J_u zj?Zf6kIUa(pH&o#=9jAB(xxfbYgfDcC4UkDiGV~vA|Mfv2uK7Z0ulj?GEOxj-aih(cKP;)oc8I!ccL+XRHhrs^9W}~svsTgguEZtN2zxtE-@j`lcG&4c` z=*WAD4UJc(vSrR6rLn8NV-1e2JZ0d=OG6U%)wJ|I!<3dT(v&GJJ$AgXZTiI9d>bmc zB#ocKqzf z)ETi25BImSeiHL22Cj#}KlMe$z|~NHHeP}m{c-J+D$HsmP;B@i}7hym{VU{}pum2REMpUN>BgJTDOW`y>ZGmh$HZr%X^z?0-Hi$5D zq6*#FGPKmAt#DYZ}8KdBo=}ujO~x4pq6gZCWZ5xQ|k_SVmFr@;=Nz7tz~OzS@bel&(K((7?#3z5xviw6edx> n^YeL6yP=)C7`wBm?J&O%cvRrI{)56dYd=nLB}O3V#)AI=6e*xD literal 22016 zcmeHPU2GIp6uz_Ffp&$m(M(cWc|KeSicaFDT&hz^1L&@7z1HyA0LsbeFK! zd(+vOvvc>}bG~!V{XMrj@9gYIyxh6HBghz=o}O+J^y?j4h~`K{cXn)!5v}1O`n6bW ztA*zjuKjp8*u~fv3C6y)8M}&W{wYOeSo6=Xaw-HA0tx|zfI>hapb$_9Cy)5O_cca27w*s)ey2!kBGqnxI+0l(c0%plVgIHG%+VP`;yo4GCrtFdh9{NHxNy zV#7gTGS!aogNYvZXcXBtKZiSB~7BIM8Uy{*!JZ7f~>d#bkn9~sYdxBWbZ z9I8|a0+G|_ZqCH|zb8DIrs?92M_SOPawA6o_MThqM9s$@ z{OVuY*P$SlZ`-yJ;nAJXzIjI2o33l3A0a+me%g4$NO;xe3z9nv%jqgrf&lOzZiR~z zo(2>U8P5;R4D_v*`0Bpx!LR<=2^P3^ZcJDknxFgh9XY~tOIJKm(07EriuOqIn*hI+ z$gX~SKLT^wL#*#PX%Ctq??r#qkBr>DL(U2N38Of^iMGCq@A)PcD5dq26Yu@zUekzscA^g783dr$vSJwj{zi?81 z!>}`+(ru|ONkdcq=}n|xn%^%_-(GtWYtgsEVW;q_W$*Hi@xf-SPlkzKwfg5p z(?7l9Vyy4S%o|gLr=}Zr8;^e#Ze6zE^%lSS_j2sDhc;S|iuKgV)<@Gfp2A|##BRZ_ z)s?9E@sn4+#ZFhM|HY2aVwX?o-&vp4G@Is^0n?!^ORd)~cKs{)6aoqXg@8gpA)pXY z2q**;0tx|zfI>hapb)4W0gG8O&`K6%;^uD6&^L-!cqn_2n+3`re6$BCHr$^7yq%CM z-BbCmwkM6FneNrmei6oOAnYx~_tCcDAjwDDh9S?f2AAj(lGXOW*Nbru(`R z_CjIljYlV%FN`;fZL&m37+0;}1^({|>kjeFJ!_Wq?h~GYF#phD3hTcMaU~w9$-C*6 ze2&D&H;nE0CewTUoTLmLcpbhs3_J7>VVVz3{uFT?xI*0H6oDcB;ZFQdAq{Ohgi@LA zDTg*dcTY|a@jS^V<&~eszN34R=UaFYk5CGGj?VAJrX$r?Qogsos?gfIBK*R(6NO_p zCaQIL#$&O+Pq9Y%4q^O=<7X*8)++K+F53wwp~$P!drgz>7^7+F62)j&YzwsnYdh@{LmpBD{;e^D9i!&%=ecZD@Xy4cDR6B zc4(CUGE)+kBK@U!4944j5HFNWTy7Z;lMWq^?#g9)g}%}J86n!%U-f)pTi@%ybF_cn z_9KAyqgUFArZ*lh??Y= zxI{8>DgNBnOW~pH;s4KaFy-qP&3UhUjpkmzMPvPh*3=r<*>QjrTyltD-i{ zd+Kue%e?<3)FZkn9unquZ87q_r0BtXwEHmtXX5^3FUjeC* z579r#EWjU-(R)ECU~psr_&D!%+uksEZ26Q!S7Vq5sYEjI>B>xBELJ*9XD&68P$Uzd z3laMO%&sXu+)rx5Au&z6@xy0(mwo*f(c4hwx+HAGF;kk1G$o<4%xG5Rw{7bH%YPaC zWJH?1q1)Px_s;YPU)b@tVlI5dP~~Jz4Wp=fT#; z$&Vyk8e6g+^zl(~#sJ2R_uF^YJJ!ZvolDloO_vP@_Y0y$1)hx`WPYmuG$|W}!dUQc DZi;w? diff --git a/addons/microdagr/images/icon_menuMark.paa b/addons/microdagr/images/icon_menuMark.paa index 5cd2fe84e0aa80ffe35d07ec053656aeb8958b28..44e62af43dddbd37f00cfb3e891261c36d6f3b3b 100644 GIT binary patch literal 22016 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 HK~eq(LWjqs literal 22016 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 diff --git a/addons/microdagr/images/icon_menuSettings.paa b/addons/microdagr/images/icon_menuSettings.paa index e979a74c8623b6a378d31626c9482975080922b2..f8e307ff55c66b1132a873d02240d7a638753218 100644 GIT binary patch literal 22016 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 G$o~U{aNrOC literal 22016 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 diff --git a/addons/microdagr/images/icon_menuWaypoints.paa b/addons/microdagr/images/icon_menuWaypoints.paa index 54d0952d905aebfb608f1d6eb78b9069416e1a35..92ebdb17ad8bbaa4b99dc8c5ee64d545f588393b 100644 GIT binary patch literal 22016 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 Date: Mon, 9 May 2016 11:51:28 +0100 Subject: [PATCH 05/63] Moved IR Strobe to left shoulder when attached. --- addons/attach/functions/fnc_attach.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/attach/functions/fnc_attach.sqf b/addons/attach/functions/fnc_attach.sqf index 305c3c0960..faaead9f15 100644 --- a/addons/attach/functions/fnc_attach.sqf +++ b/addons/attach/functions/fnc_attach.sqf @@ -40,7 +40,7 @@ _onAtachText = format [localize LSTRING(Item_Attached), _onAtachText]; if (_unit == _attachToVehicle) then { //Self Attachment _attachedItem = _itemVehClass createVehicle [0,0,0]; - _attachedItem attachTo [_unit, [-0.05, 0, 0.12], "rightshoulder"]; + _attachedItem attachTo [_unit, [0.05, -0.09, 0.1], "leftshoulder"]; if (!_silentScripted) then { _unit removeItem _itemClassname; // Remove item [_onAtachText] call EFUNC(common,displayTextStructured); From d902d1182a2f3078c9a35da680d1d83d1a639fea Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 21 May 2016 19:59:44 +0200 Subject: [PATCH 06/63] Replace ace_common_fnc_execRemoteFunc with events --- addons/common/XEH_postInit.sqf | 8 ++++++++ addons/common/functions/fnc_checkPBOs.sqf | 3 ++- addons/common/functions/fnc_onAnswerRequest.sqf | 2 +- addons/common/functions/fnc_sendRequest.sqf | 2 +- addons/common/functions/fnc_serverLog.sqf | 2 +- addons/common/scripts/checkVersionNumber.sqf | 8 ++++---- addons/explosives/XEH_postInit.sqf | 1 + addons/explosives/functions/fnc_startDefuse.sqf | 2 +- addons/repair/XEH_postInit.sqf | 2 ++ addons/repair/functions/fnc_useItem.sqf | 2 +- addons/respawn/XEH_postInit.sqf | 2 ++ addons/respawn/functions/fnc_handleKilled.sqf | 2 +- addons/spectator/XEH_postInit.sqf | 2 ++ .../spectator/functions/fnc_respawnTemplate.sqf | 2 +- .../spectator/functions/fnc_stageSpectator.sqf | 2 +- addons/switchunits/XEH_postInit.sqf | 8 ++++++++ addons/switchunits/functions/fnc_switchUnit.sqf | 16 ++-------------- 17 files changed, 39 insertions(+), 27 deletions(-) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 88012a7884..c3cda091d8 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -163,9 +163,17 @@ if (isServer) then { ["setVectorDirAndUp", {(_this select 0) setVectorDirAndUp (_this select 1)}] call FUNC(addEventHandler); ["setVanillaHitPointDamage", {(_this select 0) setHitPointDamage (_this select 1)}] call FUNC(addEventHandler); +// Request framework +[QGVAR(requestCallback), FUNC(requestCallback)] call FUNC(addEventHandler); +[QGVAR(receiveRequest), FUNC(receiveRequest)] call FUNC(addEventHandler); + +[QGVAR(systemChatGlobal), {systemChat _this}] call FUNC(addEventHandler); + if (isServer) then { ["hideObjectGlobal", {(_this select 0) hideObjectGlobal (_this select 1)}] call FUNC(addEventHandler); ["enableSimulationGlobal", {(_this select 0) enableSimulationGlobal (_this select 1)}] call FUNC(addEventHandler); + ["setOwner", {(_this select 0) setOwner (_this select 1)}] call FUNC(addEventHandler); + [QGVAR(serverLog), FUNC(serverLog)] call FUNC(addEventHandler); }; diff --git a/addons/common/functions/fnc_checkPBOs.sqf b/addons/common/functions/fnc_checkPBOs.sqf index f447d126af..991b4e11f9 100644 --- a/addons/common/functions/fnc_checkPBOs.sqf +++ b/addons/common/functions/fnc_checkPBOs.sqf @@ -61,7 +61,8 @@ if (!isServer) then { _error = _error + "Newer version; "; }; - //[_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + //[QGVAR(systemChatGlobal), _error] call FUNC(globalEvent); + ACE_LOGERROR(_error); if (_mode < 2) then { diff --git a/addons/common/functions/fnc_onAnswerRequest.sqf b/addons/common/functions/fnc_onAnswerRequest.sqf index d88969b059..e462a4bbf8 100644 --- a/addons/common/functions/fnc_onAnswerRequest.sqf +++ b/addons/common/functions/fnc_onAnswerRequest.sqf @@ -20,7 +20,7 @@ if (!isNil "_info") then { _info params ["_caller", "_target", "_requestID", "_requestMessage", "_callBack"]; private _replyParams = [_info, _accepted]; - [_replyParams, QFUNC(requestCallback), _caller, false] call FUNC(execRemoteFnc); + [QGVAR(requestCallback), _caller, _replyParams] call FUNC(objectEvent); _unit setVariable [_id, nil]; }; diff --git a/addons/common/functions/fnc_sendRequest.sqf b/addons/common/functions/fnc_sendRequest.sqf index c8d2ef7e2b..6df60cf24d 100644 --- a/addons/common/functions/fnc_sendRequest.sqf +++ b/addons/common/functions/fnc_sendRequest.sqf @@ -20,7 +20,7 @@ params ["_caller", "_target", "_requestID", "_requestMessage", "_callBack"]; if (isPlayer _target) then { // Pass request on to target locality for player accept/decline. - [[_caller, _target, _requestID, _requestMessage, _callBack], QFUNC(receiveRequest), _target, false] call FUNC(execRemoteFnc); + [QGVAR(receiveRequest), _target, [_caller, _target, _requestID, _requestMessage, _callBack]] call FUNC(objectEvent); } else { // accept it, since it's an AI. [_caller, _target, true] call compile _callBack; diff --git a/addons/common/functions/fnc_serverLog.sqf b/addons/common/functions/fnc_serverLog.sqf index 2525f81c95..ca4ba69f5d 100644 --- a/addons/common/functions/fnc_serverLog.sqf +++ b/addons/common/functions/fnc_serverLog.sqf @@ -20,5 +20,5 @@ params [["_msg", "", [""]]]; if (isServer) then { diag_log text _msg; } else { - [_this, QFUNC(serverLog), 1] call FUNC(execRemoteFnc); + [QGVAR(serverLog), _this] call FUNC(serverEvent); }; diff --git a/addons/common/scripts/checkVersionNumber.sqf b/addons/common/scripts/checkVersionNumber.sqf index 07bd443a06..7b1fbca291 100644 --- a/addons/common/scripts/checkVersionNumber.sqf +++ b/addons/common/scripts/checkVersionNumber.sqf @@ -100,7 +100,7 @@ if (!isServer) then { _error = _error call _fnc_cutComma; diag_log text _error; - [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + [QGVAR(systemChatGlobal), _error] call FUNC(globalEvent); }; _missingAddonServer = false; @@ -117,7 +117,7 @@ if (!isServer) then { _error = _error call _fnc_cutComma; diag_log text _error; - [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + [QGVAR(systemChatGlobal), _error] call FUNC(globalEvent); }; _oldVersionClient = false; @@ -134,7 +134,7 @@ if (!isServer) then { _error = _error call _fnc_cutComma; diag_log text _error; - [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + [QGVAR(systemChatGlobal), _error] call FUNC(globalEvent); }; _oldVersionServer = false; @@ -151,7 +151,7 @@ if (!isServer) then { _error = _error call _fnc_cutComma; diag_log text _error; - [_error, "{systemChat _this}"] call FUNC(execRemoteFnc); + [QGVAR(systemChatGlobal), _error] call FUNC(globalEvent); }; ACE_Version_ClientErrors = [_missingAddon, _missingAddonServer, _oldVersionClient, _oldVersionServer]; diff --git a/addons/explosives/XEH_postInit.sqf b/addons/explosives/XEH_postInit.sqf index fe12a88b7f..f81cef5f79 100644 --- a/addons/explosives/XEH_postInit.sqf +++ b/addons/explosives/XEH_postInit.sqf @@ -17,6 +17,7 @@ //Event for setting explosive placement angle/pitch: [QGVAR(place), {_this call FUNC(setPosition)}] call EFUNC(common,addEventHandler); +[QGVAR(startDefuse), FUNC(startDefuse)] call EFUNC(common,addEventHandler); //When getting knocked out in medical, trigger deadman explosives: //Event is global, only run on server (ref: ace_medical_fnc_setUnconscious) diff --git a/addons/explosives/functions/fnc_startDefuse.sqf b/addons/explosives/functions/fnc_startDefuse.sqf index 84d7274069..ed5a419e3c 100644 --- a/addons/explosives/functions/fnc_startDefuse.sqf +++ b/addons/explosives/functions/fnc_startDefuse.sqf @@ -44,7 +44,7 @@ if (STANCE _unit == "Prone") then { if (ACE_player != _unit) then { // If the unit is a player, call the function on the player. if (isPlayer _unit) then { - [[_unit, _target], QFUNC(startDefuse), _unit] call EFUNC(common,execRemoteFnc); + [QGVAR(startDefuse), _unit, [_unit, _target]] call EFUNC(common,objectEvent); } else { _unit playActionNow _actionToPlay; _unit disableAI "MOVE"; diff --git a/addons/repair/XEH_postInit.sqf b/addons/repair/XEH_postInit.sqf index 44ca157b0c..a18e19fe37 100644 --- a/addons/repair/XEH_postInit.sqf +++ b/addons/repair/XEH_postInit.sqf @@ -5,3 +5,5 @@ // wheels ["setWheelHitPointDamage", {(_this select 0) setHitPointDamage [_this select 1, _this select 2]}] call EFUNC(common,addEventHandler); + +[QGVAR(useItem), EFUNC(common,useItem)] call EFUNC(common,addEventHandler); diff --git a/addons/repair/functions/fnc_useItem.sqf b/addons/repair/functions/fnc_useItem.sqf index 024ee76c29..c486ed50a0 100644 --- a/addons/repair/functions/fnc_useItem.sqf +++ b/addons/repair/functions/fnc_useItem.sqf @@ -20,7 +20,7 @@ params ["_unit", "_item"]; TRACE_2("params",_unit,_item); if ([_unit, _item] call EFUNC(common,hasItem)) exitWith { - [[_unit, _item], QUOTE(EFUNC(common,useItem)), _unit] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */ + [QGVAR(useItem), _unit, [_unit, _item]] call EFUNC(common,objectEvent); [true, _unit]; }; diff --git a/addons/respawn/XEH_postInit.sqf b/addons/respawn/XEH_postInit.sqf index 22be7b86ac..dc112b388e 100644 --- a/addons/respawn/XEH_postInit.sqf +++ b/addons/respawn/XEH_postInit.sqf @@ -3,3 +3,5 @@ ["rallypointMoved", {_this call FUNC(updateRallypoint)}] call EFUNC(common,addEventhandler); ["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); // hide enemy rallypoint markers + +[QGVAR(showFriendlyFireMessageEvent), DFUNC(showFriendlyFireMessage)] call EFUNC(common,addEventHandler); diff --git a/addons/respawn/functions/fnc_handleKilled.sqf b/addons/respawn/functions/fnc_handleKilled.sqf index 2b9509f39d..aa53c6741a 100644 --- a/addons/respawn/functions/fnc_handleKilled.sqf +++ b/addons/respawn/functions/fnc_handleKilled.sqf @@ -25,5 +25,5 @@ if (ACE_player == _unit && {GVAR(SavePreDeathGear)}) then { }; if (missionNamespace getVariable [QGVAR(showFriendlyFireMessage), false]) then { - [_this, QUOTE(DFUNC(showFriendlyFireMessage)), 2] call EFUNC(common,execRemoteFnc); + [QGVAR(showFriendlyFireMessageEvent), _this] call EFUNC(common,objectEvent); }; diff --git a/addons/spectator/XEH_postInit.sqf b/addons/spectator/XEH_postInit.sqf index 43c812d1a2..ea3e6a5510 100644 --- a/addons/spectator/XEH_postInit.sqf +++ b/addons/spectator/XEH_postInit.sqf @@ -27,3 +27,5 @@ if (isServer) then { [false] call FUNC(setSpectator); }; }] call EFUNC(common,addEventHandler); + +[QGVAR(stageSpectator), FUNC(stageSpectator)] call EFUNC(common,addEventHandler); diff --git a/addons/spectator/functions/fnc_respawnTemplate.sqf b/addons/spectator/functions/fnc_respawnTemplate.sqf index 4584a1fc3c..fde8ef05ad 100644 --- a/addons/spectator/functions/fnc_respawnTemplate.sqf +++ b/addons/spectator/functions/fnc_respawnTemplate.sqf @@ -23,7 +23,7 @@ private ["_vision","_pos"]; // When all are dead with respawn type "None" the mission should end if ((_respawn == 0) && {{alive _x} count allPlayers <= 0}) exitWith { - [["endDeath",false],"BIS_fnc_endMission"] call EFUNC(common,execRemoteFnc); + ["BIS_fnc_endMission", ["endDeath", false]] call EFUNC(common,globalEvent); }; // Some environment information can be used for the initial camera attributes diff --git a/addons/spectator/functions/fnc_stageSpectator.sqf b/addons/spectator/functions/fnc_stageSpectator.sqf index 926ac008dc..0b2caa2c70 100644 --- a/addons/spectator/functions/fnc_stageSpectator.sqf +++ b/addons/spectator/functions/fnc_stageSpectator.sqf @@ -27,7 +27,7 @@ params [["_unit",player,[objNull]], ["_set",true,[true]]]; if !(_set || (GETVAR(_unit,GVAR(isStaged),false))) exitWith {}; if !(local _unit) exitWith { - [[_unit, _set], QFUNC(stageSpectator), _unit] call EFUNC(common,execRemoteFnc); + [QGVAR(stageSpectator), _unit, [_unit, _set]] call EFUNC(common,objectEvent); }; // Prevent unit falling into water diff --git a/addons/switchunits/XEH_postInit.sqf b/addons/switchunits/XEH_postInit.sqf index 5928804d7b..d5020391e6 100644 --- a/addons/switchunits/XEH_postInit.sqf +++ b/addons/switchunits/XEH_postInit.sqf @@ -27,3 +27,11 @@ if (missionNamespace getVariable [QGVAR(EnableSwitchUnits), false]) then { }; }] call EFUNC(common,addEventhandler); }; + +if (isServer) then { + [QGVAR(switchLocality), { + params ["_unit", "_player"]; + _unit setVariable [QGVAR(OriginalOwner), owner _unit, true]; + _unit setOwner (owner _player); + }] call EFUNC(common,addEventHandler); +}; diff --git a/addons/switchunits/functions/fnc_switchUnit.sqf b/addons/switchunits/functions/fnc_switchUnit.sqf index a26b2d474a..64cc77c221 100644 --- a/addons/switchunits/functions/fnc_switchUnit.sqf +++ b/addons/switchunits/functions/fnc_switchUnit.sqf @@ -40,14 +40,7 @@ if (_leave) exitWith { // should switch locality // This doesn't work anymore, because one's now able to switch to units from a different side //[_unit] joinSilent group player; -[ - [_unit, player], - QUOTE({ - (_this select 0) setVariable [ARR_3(QUOTE(QGVAR(OriginalOwner)), owner (_this select 0), true)]; - (_this select 0) setOwner owner (_this select 1) - }), - 1 -] call EFUNC(common,execRemoteFnc); +[QGVAR(switchLocality), [_unit, player]] call EFUNC(common,serverEvent); [{ params ["_args", "_pfhId"]; @@ -79,12 +72,7 @@ if (_leave) exitWith { // set owner back to original owner private _oldOwner = _oldUnit getVariable[QGVAR(OriginalOwner), -1]; if (_oldOwner > -1) then { - [ - [_oldUnit, _oldOwner], - QUOTE({ - (_this select 0) setOwner (_this select 1) - }), 1 - ] call EFUNC(common,execRemoteFnc); + ["setOwner", [_oldUnit, _oldOwner]] call EFUNC(common,serverEvent); }; [localize LSTRING(SwitchedUnit)] call EFUNC(common,displayTextStructured); From f0b8da33c4eee1af72d73382d3ac5b4e647b335f Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Sun, 22 May 2016 16:02:40 +0100 Subject: [PATCH 07/63] Deprecate ACE events framework CBA 2.4.0 entirely replaces the ACE events framework. Adds wrappers with deprecated warnings to all of the public event framework functions and removes all of the underlying GVARs and code. --- addons/common/XEH_PREP.hpp | 1 - addons/common/XEH_postInit.sqf | 4 - addons/common/XEH_preInit.sqf | 4 - .../common/functions/fnc__handleNetEvent.sqf | 81 ------------------- .../common/functions/fnc_addEventHandler.sqf | 24 +----- addons/common/functions/fnc_globalEvent.sqf | 20 +---- addons/common/functions/fnc_localEvent.sqf | 35 +------- addons/common/functions/fnc_objectEvent.sqf | 31 +------ .../functions/fnc_removeAllEventHandlers.sqf | 17 +--- .../functions/fnc_removeEventHandler.sqf | 22 +---- addons/common/functions/fnc_serverEvent.sqf | 28 +------ addons/common/functions/fnc_targetEvent.sqf | 30 +------ addons/common/tests/script_component.hpp | 1 - addons/common/tests/test_eventHandlers.sqf | 78 ------------------ 14 files changed, 18 insertions(+), 358 deletions(-) delete mode 100644 addons/common/functions/fnc__handleNetEvent.sqf delete mode 100644 addons/common/tests/script_component.hpp delete mode 100644 addons/common/tests/test_eventHandlers.sqf diff --git a/addons/common/XEH_PREP.hpp b/addons/common/XEH_PREP.hpp index 3dea56a98d..971d6cc722 100644 --- a/addons/common/XEH_PREP.hpp +++ b/addons/common/XEH_PREP.hpp @@ -235,7 +235,6 @@ PREP(dumpPerformanceCounters); PREP(dumpArray); PREP(globalEvent); -PREP(_handleNetEvent); PREP(addEventHandler); PREP(objectEvent); PREP(targetEvent); diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 88012a7884..86a86918e4 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -173,10 +173,6 @@ if (isServer) then { // Set up remote execution ////////////////////////////////////////////////// -// ACE events -"ACEg" addPublicVariableEventHandler {_this call FUNC(_handleNetEvent)}; -"ACEc" addPublicVariableEventHandler {_this call FUNC(_handleNetEvent)}; - // Synced ACE events // Handle JIP scenario if (!isServer) then { diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index dea4e64538..8b16777781 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -5,10 +5,6 @@ ADDON = false; #include "XEH_PREP.hpp" -//ACE events global variables -GVAR(eventsLocation) = createLocation ["ACE_HashLocation", [-10000,-10000,-10000], 0, 0]; -GVAR(eventsLocation) setText QGVAR(eventsLocation); - // backwards comp DFUNC(canUseWeapon) = { ACE_DEPRECATED("ace_common_fnc_canUseWeapon","3.7.0","CBA_fnc_canUseWeapon"); diff --git a/addons/common/functions/fnc__handleNetEvent.sqf b/addons/common/functions/fnc__handleNetEvent.sqf deleted file mode 100644 index 54cef66228..0000000000 --- a/addons/common/functions/fnc__handleNetEvent.sqf +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Author: jaynus - * Internal net event handler. - * - * Arguments: - * None - * - * Return Value: - * None - * - * Public: No - */ -#include "script_component.hpp" - -params ["_eventType", "_event"]; - -if (_eventType == "ACEg") then { - _event params ["_eventName", "_eventArgs"]; - - private _eventFunctions = GVAR(eventsLocation) getVariable _eventName; - if (!isNil "_eventFunctions") then { - - #ifdef DEBUG_EVENTS - ACE_LOGINFO_1("* Net Event %1",_eventName); - ACE_LOGINFO_1(" args=%1",_eventArgs); - #endif - - { - if (!isNil "_x") then { - _eventArgs call CALLSTACK_NAMED(_x, FORMAT_2("Net Event %1 ID: %2",_eventName,_forEachIndex)); - #ifdef DEBUG_EVENTS_CALLSTACK - ACE_LOGINFO_1(" ID: %1",_forEachIndex); - #endif - }; - } forEach _eventFunctions; - }; -}; - -if (_eventType == "ACEc") then { - if (isServer) then { - _event params ["_eventName", "_eventTargets", "_eventArgs"]; - - private _sentEvents = []; - - if (!IS_ARRAY(_eventTargets)) then { - _eventTargets = [_eventTargets]; - }; - - //If not multiplayer, and there are targets, then just run localy - if (!isMultiplayer && {count _eventTargets > 0}) exitWith { - ACEg = [_eventName, _eventArgs]; - ["ACEg", ACEg] call FUNC(_handleNetEvent); - }; - - private _serverFlagged = false; - - { - private _owner = _x; - - if (IS_OBJECT(_x)) then { - _owner = owner _x; - }; - if !(_owner in _sentEvents) then { - _sentEvents pushBack _owner; - ACEg = [_eventName, _eventArgs]; - - if (isDedicated || {_x != ACE_player}) then { - if (isDedicated && {local _x} && {!_serverFlagged}) then { - _serverFlagged = true; - ["ACEg", ACEg] call FUNC(_handleNetEvent); - } else { - _owner publicVariableClient "ACEg"; - }; - } else { - ["ACEg", ACEg] call FUNC(_handleNetEvent); - }; - }; - false - } count _eventTargets; - }; -}; diff --git a/addons/common/functions/fnc_addEventHandler.sqf b/addons/common/functions/fnc_addEventHandler.sqf index e7df00f5ff..4f285dd449 100644 --- a/addons/common/functions/fnc_addEventHandler.sqf +++ b/addons/common/functions/fnc_addEventHandler.sqf @@ -1,25 +1,5 @@ -/* - * Author: Nou - * Add an event handler. - * - * Arguments: - * 0: Event name - * 1: Event code - * - * Return Value: - * Event handler ID number (for use with fnc_removeEventHandler) - * - * Public: Yes - */ #include "script_component.hpp" -params ["_eventName", "_eventCode"]; +_this call CBA_fnc_addEventHandler; -private _eventFunctions = GVAR(eventsLocation) getVariable _eventName; - -if (isNil "_eventFunctions") then { - _eventFunctions = []; - GVAR(eventsLocation) setVariable [_eventName, _eventFunctions]; -}; - -_eventFunctions pushBack _eventCode // Return event function count +ACE_DEPRECATED("ace_common_fnc_addEventHandler","3.8.0","CBA_fnc_addEventHandler"); diff --git a/addons/common/functions/fnc_globalEvent.sqf b/addons/common/functions/fnc_globalEvent.sqf index 126419b553..cbd586c39c 100644 --- a/addons/common/functions/fnc_globalEvent.sqf +++ b/addons/common/functions/fnc_globalEvent.sqf @@ -1,21 +1,5 @@ -/* - * Author: Nou - * Execute a global event on all clients, including self. - * - * Arguments: - * 0: Event name - * 1: Event args - * - * Return Value: - * None - * - * Public: Yes - */ #include "script_component.hpp" -params ["_eventName", "_eventArgs"]; +_this call CBA_fnc_globalEvent; -ACEg = [_eventName, _eventArgs]; -publicVariable "ACEg"; - -["ACEg", ACEg] call FUNC(_handleNetEvent); +ACE_DEPRECATED("ace_common_fnc_globalEvent","3.8.0","CBA_fnc_globalEvent"); diff --git a/addons/common/functions/fnc_localEvent.sqf b/addons/common/functions/fnc_localEvent.sqf index bf17cc0d0e..84b0aa4898 100644 --- a/addons/common/functions/fnc_localEvent.sqf +++ b/addons/common/functions/fnc_localEvent.sqf @@ -1,36 +1,5 @@ -/* - * Author: Nou - * Execute a local event on this client only. - * - * Arguments: - * 0: Event name (string) - * 1: Event args (any) - * - * Return Value: - * None - * - * Public: No - */ #include "script_component.hpp" -params ["_eventName", "_eventArgs"]; +_this call CBA_fnc_localEvent; -private _eventFunctions = GVAR(eventsLocation) getVariable _eventName; - -if (!isNil "_eventFunctions") then { - - #ifdef DEBUG_EVENTS - ACE_LOGINFO_1("* Local Event: %1",_eventName); - ACE_LOGINFO_1(" args=%1",_eventArgs); - #endif - - { - if (!isNil "_x") then { - _eventArgs call CALLSTACK_NAMED(_x,FORMAT_2("Local Event %1 ID: %2",_eventName,_forEachIndex)); - - #ifdef DEBUG_EVENTS_CALLSTACK - ACE_LOGINFO_1(" ID: %1",_forEachIndex); - #endif - }; - } forEach _eventFunctions; -}; +ACE_DEPRECATED("ace_common_fnc_localEvent","3.8.0","CBA_fnc_localEvent"); diff --git a/addons/common/functions/fnc_objectEvent.sqf b/addons/common/functions/fnc_objectEvent.sqf index 2015ad77dc..ed9029df65 100644 --- a/addons/common/functions/fnc_objectEvent.sqf +++ b/addons/common/functions/fnc_objectEvent.sqf @@ -1,34 +1,7 @@ -/* - * Author: PabstMirror - * Execute an event where object is local. - * If local there is no network traffic/delay (Unlike targetEvent) - * - * Arguments: - * 0: Event name (STRING) - * 1: Event target - * 2: Event args - * - * Return Value: - * None - * - * Example: - * ["doThing", vehicle player, []] call ace_common_fnc_objectEvent - * - * Public: Yes - */ #include "script_component.hpp" params ["_eventName", "_eventTarget", "_eventArgs"]; -#ifdef DEBUG_EVENTS - ACE_LOGINFO_2("* Object Event: %1 - %2",_eventName,_eventTarget); - ACE_LOGINFO_1(" args=%1",_eventArgs); -#endif +[_eventName, _eventArgs, _eventTargets] call CBA_fnc_targetEvent; -if (local _eventTarget) then { - [_eventName, _eventArgs] call FUNC(localEvent); -} else { - _this call FUNC(targetEvent); -}; - -nil +ACE_DEPRECATED("ace_common_fnc_objectEvent","3.8.0","CBA_fnc_targetEvent"); diff --git a/addons/common/functions/fnc_removeAllEventHandlers.sqf b/addons/common/functions/fnc_removeAllEventHandlers.sqf index ed1cce278c..ca4db8db0a 100644 --- a/addons/common/functions/fnc_removeAllEventHandlers.sqf +++ b/addons/common/functions/fnc_removeAllEventHandlers.sqf @@ -1,17 +1,8 @@ -/* - * Author: Nou - * Remove all events of a certain event type. - * - * Argument: - * 0: Event name - * - * Return Value: - * None - * - * Public: Yes - */ #include "script_component.hpp" params ["_eventName"]; -GVAR(eventsLocation) setVariable [_eventName, nil]; +CBA_events_eventNamespace setVariable [_eventName,nil]; +CBA_events_eventHashes setVariable [_eventName,nil]; + +ACE_DEPRECATED("ace_common_fnc_removeAllEventHandlers","3.8.0","N/A (remove events individually w/ CBA_fnc_removeEventHandler)"); diff --git a/addons/common/functions/fnc_removeEventHandler.sqf b/addons/common/functions/fnc_removeEventHandler.sqf index a0b5ed5333..b241aae833 100644 --- a/addons/common/functions/fnc_removeEventHandler.sqf +++ b/addons/common/functions/fnc_removeEventHandler.sqf @@ -1,23 +1,5 @@ -/* - * Author: Nou - * Remove an event handler. - * - * Argument: - * 0: Event name - * 1: Event code - * - * Return Value: - * None - * - * Public: Yes - */ #include "script_component.hpp" -params ["_eventName", "_eventCodeIndex"]; +_this call CBA_fnc_removeEventHandler; -private _eventFunctions = GVAR(eventsLocation) getVariable _eventName; - -if (isNil "_eventFunctions") exitWith {TRACE_1("eventName not found",_eventName);}; -if ((_eventCodeIndex < 0) || {(count _eventFunctions) <= _eventCodeIndex}) exitWith {TRACE_2("index out of bounds",_eventName,_eventCodeIndex);}; - -_eventFunctions set [_eventCodeIndex, nil]; +ACE_DEPRECATED("ace_common_fnc_removeEventHandler","3.8.0","CBA_fnc_removeEventHandler"); diff --git a/addons/common/functions/fnc_serverEvent.sqf b/addons/common/functions/fnc_serverEvent.sqf index 65ab0da2a7..7fbb3d21a6 100644 --- a/addons/common/functions/fnc_serverEvent.sqf +++ b/addons/common/functions/fnc_serverEvent.sqf @@ -1,29 +1,5 @@ -/* - * Author: Nou - * Execute a event only on the server. - * - * Argument: - * 0: Event name - * 1: Event args - * - * Return Value: - * None - * - * Public: Yes - */ #include "script_component.hpp" -params ["_eventName", "_eventArgs"]; +_this call CBA_fnc_serverEvent; -#ifdef DEBUG_EVENTS - ACE_LOGINFO_1("* Server Event: %1",_eventName); - ACE_LOGINFO_1(" args=%1",_eventArgs); -#endif - -ACEg = [_eventName, _eventArgs]; - -if (!isServer) then { - publicVariableServer "ACEg"; -} else { - ["ACEg", ACEg] call FUNC(_handleNetEvent); -}; +ACE_DEPRECATED("ace_common_fnc_serverEvent","3.8.0","CBA_fnc_serverEvent"); diff --git a/addons/common/functions/fnc_targetEvent.sqf b/addons/common/functions/fnc_targetEvent.sqf index b9802f0835..e78f193370 100644 --- a/addons/common/functions/fnc_targetEvent.sqf +++ b/addons/common/functions/fnc_targetEvent.sqf @@ -1,33 +1,7 @@ -/* - * Author: Nou - * Execute a event only on specific clients. - * - * Arguments: - * 0: Event name (STRING) - * 1: Event targets - * 2: Event args - * - * Note: If local executor is in list of targets, event will execute with - * network delay, and not immediatly. - * - * Return Value: - * None - * - * Public: Yes - */ #include "script_component.hpp" params ["_eventName", "_eventTargets", "_eventArgs"]; -#ifdef DEBUG_EVENTS - ACE_LOGINFO_2("* Target Event: %1 - %2",_eventName,_eventTargets); - ACE_LOGINFO_1(" args=%1",_eventArgs); -#endif +[_eventName,_eventArgs,_eventTargets] call CBA_fnc_targetEvent; -ACEc = [_eventName, _eventTargets, _eventArgs]; - -if (!isServer) then { - publicVariableServer "ACEc"; -} else { - ["ACEc", ACEc] call FUNC(_handleNetEvent); -}; +ACE_DEPRECATED("ace_common_fnc_targetEvent","3.8.0","CBA_fnc_targetEvent"); diff --git a/addons/common/tests/script_component.hpp b/addons/common/tests/script_component.hpp deleted file mode 100644 index 6a1bf9154d..0000000000 --- a/addons/common/tests/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\common\script_component.hpp" diff --git a/addons/common/tests/test_eventHandlers.sqf b/addons/common/tests/test_eventHandlers.sqf deleted file mode 100644 index 5a75cb0a06..0000000000 --- a/addons/common/tests/test_eventHandlers.sqf +++ /dev/null @@ -1,78 +0,0 @@ -// ---------------------------------------------------------------------------- -#define DEBUG_MODE_FULL -#include "script_component.hpp" - -#ifndef TEST_DEFINED_AND_OP -if (true) exitWith {}; -#endif - -// ---------------------------------------------------------------------------- - -LOG('Testing EventHandlers'); - -TEST_DEFINED(QFUNC(_handleNetEvent),""); -TEST_DEFINED(QFUNC(addEventHandler),""); -TEST_DEFINED(QFUNC(localEvent),""); -TEST_DEFINED(QFUNC(targetEvent),""); -TEST_DEFINED(QFUNC(globalEvent),""); -TEST_DEFINED(QFUNC(serverEvent),""); -TEST_DEFINED(QFUNC(removeAllEventHandlers),""); -TEST_DEFINED(QFUNC(removeEventHandler),""); - -private _result = ["A", {}] call ace_common_fnc_addEventHandler; -private _expected = 0; -TEST_DEFINED_AND_OP(_result,==,_expected,"Adding first A EH"); - -_result = ["A", {GVAR(test_A2) = _this}] call ace_common_fnc_addEventHandler; -_expected = 1; -TEST_DEFINED_AND_OP(_result,==,_expected,"Adding second A EH"); - -_result = ["A", {GVAR(test_A3) = _this}] call ace_common_fnc_addEventHandler; -_expected = 2; -TEST_DEFINED_AND_OP(_result,==,_expected,"Adding third A EH"); - -GVAR(test_A2) = -1; -["A", 11] call FUNC(localEvent); -_expected = 11; -_result = GVAR(test_A2); -TEST_DEFINED_AND_OP(_result,==,_expected,"Test Local Event"); - -//Remove 2nd EH -["A", 1] call FUNC(removeEventHandler); - -GVAR(test_A2) = -1; -GVAR(test_A3) = -1; -["A", 22] call FUNC(localEvent); -_expected = -1; -_result = GVAR(test_A2); -TEST_DEFINED_AND_OP(_result,==,_expected,"Test 2nd (removed) EH"); -_expected = 22; -_result = GVAR(test_A3); -TEST_DEFINED_AND_OP(_result,==,_expected,"Test 3rd Event"); - -//Remove All EH: -["A"] call FUNC(removeAllEventHandlers); - -GVAR(test_A3) = -1; -["A", 77] call FUNC(localEvent); -_expected = -1; -_result = GVAR(test_A3); -TEST_DEFINED_AND_OP(_result,==,_expected,"Test 3rd is removed after removeAll"); - -//Much harder to test network events -TRACE_2("testing network events",isServer,isDedicated); - -["B", {GVAR(test_B) = _this}] call ace_common_fnc_addEventHandler; - -GVAR(test_B) = -1; -["B", 33] call FUNC(globalEvent); -_expected = 33; -_result = GVAR(test_B); -TEST_DEFINED_AND_OP(_result,==,_expected,"Test globalEvent"); - -GVAR(test_B) = -1; -["B", 44] call FUNC(serverEvent); -_expected = if (isServer) then {44} else {-1}; -_result = GVAR(test_B); -TEST_DEFINED_AND_OP(_result,==,_expected,"Test serverEvent"); - From 108ff4f64406fd4c370a2fc146843434dabc57a8 Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Sun, 22 May 2016 16:29:05 +0100 Subject: [PATCH 08/63] Replace ACE event system calls with CBA counterparts Regex used: \[(.+?),(.+?),(.+?)\]\s+call\s+E?FUNC\((common,)?(target|object)Event\) [$1,$3,$2] call CBA_fnc_targetEvent E?FUNC\((common,)?(server|global|local)Event\) CBA_fnc_$2Event E?FUNC\((common,)?(add|remove)EventHandler\) CBA_fnc_$2EventHandler --- addons/advanced_ballistics/XEH_postInit.sqf | 6 +- addons/atragmx/XEH_postInit.sqf | 2 +- addons/attach/XEH_clientInit.sqf | 2 +- addons/backpacks/XEH_postInit.sqf | 2 +- .../functions/fnc_onOpenInventory.sqf | 2 +- addons/captives/XEH_postInit.sqf | 14 +-- .../functions/fnc_doApplyHandcuffs.sqf | 2 +- .../captives/functions/fnc_doLoadCaptive.sqf | 2 +- .../functions/fnc_doRemoveHandcuffs.sqf | 2 +- .../functions/fnc_doUnloadCaptive.sqf | 2 +- .../functions/fnc_moduleHandcuffed.sqf | 2 +- .../functions/fnc_moduleSurrender.sqf | 2 +- .../captives/functions/fnc_setHandcuffed.sqf | 2 +- .../captives/functions/fnc_setSurrendered.sqf | 2 +- addons/cargo/XEH_postInit.sqf | 16 +-- addons/cargo/functions/fnc_addCargoItem.sqf | 2 +- addons/cargo/functions/fnc_initVehicle.sqf | 2 +- addons/cargo/functions/fnc_loadItem.sqf | 2 +- addons/cargo/functions/fnc_startLoadIn.sqf | 4 +- addons/cargo/functions/fnc_startUnload.sqf | 4 +- addons/cargo/functions/fnc_unloadItem.sqf | 4 +- addons/common/RscInfoType.hpp | 54 +++++----- addons/common/XEH_postInit.sqf | 102 +++++++++--------- .../fnc__handleRequestAllSyncedEvents.sqf | 2 +- .../fnc__handleRequestSyncedEvent.sqf | 2 +- addons/common/functions/fnc_addSetting.sqf | 2 +- .../functions/fnc_addSyncedEventHandler.sqf | 2 +- .../common/functions/fnc_assignedItemFix.sqf | 2 +- addons/common/functions/fnc_cachedCall.sqf | 2 +- addons/common/functions/fnc_claim.sqf | 4 +- addons/common/functions/fnc_doAnimation.sqf | 14 +-- addons/common/functions/fnc_firedEH.sqf | 12 +-- addons/common/functions/fnc_fixFloating.sqf | 4 +- addons/common/functions/fnc_headBugFix.sqf | 4 +- addons/common/functions/fnc_hideUnit.sqf | 2 +- addons/common/functions/fnc_loadPerson.sqf | 2 +- addons/common/functions/fnc_muteUnit.sqf | 2 +- .../functions/fnc_muteUnitHandleInitPost.sqf | 2 +- .../functions/fnc_muteUnitHandleRespawn.sqf | 2 +- addons/common/functions/fnc_progressBar.sqf | 4 +- .../fnc_removeSyncedEventHandler.sqf | 2 +- .../functions/fnc_requestSyncedEvent.sqf | 2 +- addons/common/functions/fnc_setSetting.sqf | 4 +- .../fnc_statusEffect_sendEffects.sqf | 6 +- addons/common/functions/fnc_syncedEvent.sqf | 2 +- addons/common/functions/fnc_unhideUnit.sqf | 2 +- addons/common/functions/fnc_unloadPerson.sqf | 2 +- .../functions/fnc_unloadPersonLocal.sqf | 2 +- addons/common/functions/fnc_unmuteUnit.sqf | 2 +- addons/concertina_wire/XEH_postInit.sqf | 4 +- .../functions/fnc_handleKilled.sqf | 2 +- addons/dagr/XEH_postInit.sqf | 2 +- addons/disarming/XEH_postInit.sqf | 4 +- .../functions/fnc_eventTargetFinish.sqf | 2 +- .../functions/fnc_openDisarmDialog.sqf | 2 +- addons/disposable/XEH_postInit.sqf | 6 +- addons/dragging/XEH_postInit.sqf | 8 +- addons/dragging/functions/fnc_carryObject.sqf | 2 +- addons/dragging/functions/fnc_dragObject.sqf | 2 +- addons/dragging/functions/fnc_dropObject.sqf | 8 +- .../functions/fnc_dropObject_carry.sqf | 8 +- .../functions/fnc_handleScrollWheel.sqf | 2 +- addons/explosives/XEH_postInit.sqf | 14 +-- .../functions/fnc_defuseExplosive.sqf | 4 +- .../functions/fnc_placeExplosive.sqf | 2 +- addons/fastroping/CfgVehicles.hpp | 2 +- addons/fastroping/XEH_postInit.sqf | 4 +- addons/fastroping/functions/fnc_fastRope.sqf | 2 +- addons/fcs/XEH_postInit.sqf | 8 +- addons/finger/XEH_postInit.sqf | 4 +- addons/finger/functions/fnc_keyPress.sqf | 2 +- addons/frag/XEH_postInit.sqf | 16 +-- addons/frag/functions/fnc_pfhRound.sqf | 2 +- addons/gforces/XEH_postInit.sqf | 4 +- addons/goggles/XEH_postInit.sqf | 14 +-- .../goggles/functions/fnc_handleExplosion.sqf | 4 +- addons/grenades/XEH_postInit.sqf | 8 +- .../functions/fnc_flashbangThrownFuze.sqf | 2 +- addons/hearing/XEH_postInit.sqf | 10 +- addons/huntir/XEH_postInit.sqf | 4 +- addons/interact_menu/XEH_clientInit.sqf | 14 +-- .../interact_menu/functions/fnc_keyDown.sqf | 2 +- addons/interact_menu/functions/fnc_keyUp.sqf | 6 +- addons/interact_menu/functions/fnc_render.sqf | 4 +- addons/interaction/XEH_postInit.sqf | 12 +-- .../functions/fnc_doBecomeLeader.sqf | 2 +- addons/interaction/functions/fnc_getDown.sqf | 2 +- addons/interaction/functions/fnc_joinTeam.sqf | 2 +- addons/interaction/functions/fnc_pardon.sqf | 2 +- .../functions/fnc_passMagazine.sqf | 2 +- addons/interaction/functions/fnc_push.sqf | 2 +- addons/interaction/functions/fnc_sendAway.sqf | 2 +- .../interaction/functions/fnc_switchLamp.sqf | 4 +- .../interaction/functions/fnc_tapShoulder.sqf | 2 +- addons/laser/XEH_post_init.sqf | 4 +- addons/laser/functions/fnc_laserOff.sqf | 2 +- addons/laser/functions/fnc_laserOn.sqf | 2 +- addons/laserpointer/XEH_postInit.sqf | 4 +- .../functions/fnc_refuelUAV.sqf | 2 +- .../logistics_wirecutter/XEH_clientInit.sqf | 2 +- addons/map/XEH_postInitClient.sqf | 8 +- addons/map_gestures/XEH_postInit.sqf | 2 +- addons/map_gestures/XEH_serverPostInit.sqf | 2 +- .../map_gestures/functions/fnc_transmit.sqf | 2 +- addons/maptools/XEH_postInitClient.sqf | 2 +- addons/maptools/XEH_preInit.sqf | 8 +- .../functions/fnc_copyMapRemoteSend.sqf | 2 +- .../maptools/functions/fnc_copyMapStart.sqf | 2 +- .../maptools/functions/fnc_handleKeyDown.sqf | 2 +- .../functions/fnc_handleMouseButton.sqf | 2 +- addons/markers/XEH_postInit.sqf | 6 +- addons/markers/XEH_preInit.sqf | 2 +- addons/markers/functions/fnc_placeMarker.sqf | 2 +- .../markers/functions/fnc_sendMarkersJIP.sqf | 6 +- addons/medical/XEH_postInit.sqf | 52 ++++----- .../fnc_actionCheckBloodPressure.sqf | 4 +- .../fnc_actionCheckBloodPressureLocal.sqf | 2 +- .../functions/fnc_actionCheckPulse.sqf | 4 +- .../functions/fnc_actionCheckPulseLocal.sqf | 2 +- .../functions/fnc_actionCheckResponse.sqf | 2 +- .../medical/functions/fnc_actionDiagnose.sqf | 2 +- .../medical/functions/fnc_actionLoadUnit.sqf | 2 +- .../functions/fnc_actionPlaceInBodyBag.sqf | 4 +- .../functions/fnc_actionRemoveTourniquet.sqf | 4 +- .../functions/fnc_actionUnloadUnit.sqf | 2 +- .../functions/fnc_addHeartRateAdjustment.sqf | 2 +- addons/medical/functions/fnc_addToLog.sqf | 4 +- .../medical/functions/fnc_addToTriageCard.sqf | 4 +- addons/medical/functions/fnc_addVitalLoop.sqf | 2 +- .../fnc_displayPatientInformation.sqf | 2 +- .../functions/fnc_onWoundUpdateRequest.sqf | 2 +- .../functions/fnc_requestWoundSync.sqf | 2 +- .../functions/fnc_serverRemoveBody.sqf | 2 +- .../functions/fnc_setCardiacArrest.sqf | 2 +- addons/medical/functions/fnc_setDead.sqf | 4 +- .../functions/fnc_setHitPointDamage.sqf | 2 +- .../medical/functions/fnc_setUnconscious.sqf | 4 +- addons/medical/functions/fnc_treatment.sqf | 2 +- .../functions/fnc_treatmentAdvanced_CPR.sqf | 4 +- .../fnc_treatmentAdvanced_bandage.sqf | 4 +- .../fnc_treatmentAdvanced_bandageLocal.sqf | 2 +- .../fnc_treatmentAdvanced_fullHeal.sqf | 4 +- .../fnc_treatmentAdvanced_medication.sqf | 2 +- .../functions/fnc_treatmentBasic_bandage.sqf | 4 +- .../functions/fnc_treatmentBasic_bloodbag.sqf | 4 +- .../functions/fnc_treatmentBasic_morphine.sqf | 4 +- addons/medical/functions/fnc_treatmentIV.sqf | 4 +- .../functions/fnc_treatmentTourniquet.sqf | 8 +- .../functions/fnc_treatment_success.sqf | 2 +- .../medical/functions/fnc_unconsciousPFH.sqf | 4 +- addons/medical/functions/fnc_useItem.sqf | 12 +-- addons/medical_menu/XEH_postInit.sqf | 2 +- .../medical_menu/functions/fnc_onMenuOpen.sqf | 4 +- addons/microdagr/XEH_clientInit.sqf | 2 +- addons/missileguidance/XEH_post_init.sqf | 2 +- .../functions/fnc_doHandoff.sqf | 2 +- addons/mk6mortar/RscInGameUI.hpp | 2 +- addons/mk6mortar/XEH_postInit.sqf | 12 +-- .../fnc_handlePlayerVehicleChanged.sqf | 2 +- .../mk6mortar/functions/fnc_loadMagazine.sqf | 8 +- .../functions/fnc_unloadMagazine.sqf | 2 +- addons/modules/XEH_postInit.sqf | 2 +- addons/movement/XEH_postInit.sqf | 4 +- addons/nametags/XEH_postInit.sqf | 4 +- .../nametags/functions/fnc_initIsSpeaking.sqf | 2 +- addons/nightvision/XEH_postInitClient.sqf | 14 +-- addons/noradio/XEH_postInit.sqf | 2 +- addons/optics/XEH_postInit.sqf | 6 +- addons/optionsmenu/XEH_postInit.sqf | 2 +- addons/overheating/XEH_postInit.sqf | 14 +-- .../fnc_checkSpareBarrelsTemperatures.sqf | 2 +- .../overheating/functions/fnc_jamWeapon.sqf | 2 +- .../functions/fnc_loadCoolestSpareBarrel.sqf | 2 +- .../fnc_sendSpareBarrelsTemperaturesHint.sqf | 2 +- .../functions/fnc_swapBarrelAssistant.sqf | 2 +- .../functions/fnc_swapBarrelCallback.sqf | 2 +- addons/overpressure/XEH_postInit.sqf | 6 +- .../overpressure/functions/fnc_firedEHBB.sqf | 2 +- .../overpressure/functions/fnc_firedEHOP.sqf | 2 +- addons/parachute/XEH_postInit.sqf | 6 +- addons/rearm/XEH_postInit.sqf | 4 +- .../rearm/functions/fnc_rearmSuccessLocal.sqf | 32 ++++-- addons/recoil/XEH_postInit.sqf | 2 +- addons/refuel/XEH_postInit.sqf | 4 +- addons/refuel/functions/fnc_checkFuel.sqf | 4 +- .../functions/fnc_connectNozzleAction.sqf | 2 +- addons/refuel/functions/fnc_refuel.sqf | 2 +- addons/refuel/functions/fnc_reset.sqf | 2 +- addons/reload/XEH_postInit.sqf | 14 +-- .../reload/functions/fnc_startLinkingBelt.sqf | 2 +- addons/reloadlaunchers/XEH_postInit.sqf | 2 +- addons/reloadlaunchers/functions/fnc_load.sqf | 2 +- addons/repair/XEH_postInit.sqf | 6 +- addons/repair/functions/fnc_addSpareParts.sqf | 2 +- addons/repair/functions/fnc_doRemoveTrack.sqf | 4 +- addons/repair/functions/fnc_doRemoveWheel.sqf | 4 +- addons/repair/functions/fnc_doRepair.sqf | 4 +- addons/repair/functions/fnc_doRepairTrack.sqf | 2 +- .../repair/functions/fnc_doReplaceTrack.sqf | 2 +- .../repair/functions/fnc_doReplaceWheel.sqf | 2 +- addons/repair/functions/fnc_repair.sqf | 6 +- addons/repair/functions/fnc_spawnObject.sqf | 4 +- addons/respawn/XEH_postInit.sqf | 4 +- addons/respawn/XEH_serverPostInit.sqf | 2 +- .../respawn/functions/fnc_initRallypoint.sqf | 2 +- .../respawn/functions/fnc_moveRallypoint.sqf | 2 +- .../functions/fnc_showFriendlyFireMessage.sqf | 2 +- addons/sandbag/XEH_postInit.sqf | 10 +- addons/sandbag/functions/fnc_deploy.sqf | 2 +- addons/scopes/XEH_postInit.sqf | 8 +- addons/sitting/XEH_clientInit.sqf | 6 +- addons/spectator/XEH_postInit.sqf | 6 +- .../spectator/functions/fnc_setSpectator.sqf | 2 +- .../functions/fnc_stageSpectator.sqf | 2 +- addons/switchunits/XEH_postInit.sqf | 2 +- addons/tacticalladder/XEH_postInit.sqf | 10 +- addons/tagging/XEH_postInit.sqf | 2 +- addons/tagging/functions/fnc_createTag.sqf | 2 +- addons/tagging/functions/fnc_tag.sqf | 2 +- addons/trenches/XEH_postInit.sqf | 10 +- addons/trenches/functions/fnc_placeTrench.sqf | 2 +- addons/tripod/XEH_postInit.sqf | 8 +- addons/ui/XEH_clientInit.sqf | 6 +- addons/vector/functions/fnc_dataTransfer.sqf | 2 +- addons/vehiclelock/CfgVehicles.hpp | 8 +- addons/vehiclelock/XEH_postInit.sqf | 6 +- .../functions/fnc_addKeyForVehicle.sqf | 2 +- .../functions/fnc_handleVehicleInitPost.sqf | 2 +- addons/vehiclelock/functions/fnc_lockpick.sqf | 2 +- addons/viewdistance/XEH_clientInit.sqf | 6 +- addons/weaponselect/XEH_postInit.sqf | 2 +- .../fnc_displayGrenadeTypeAndNumber.sqf | 2 +- addons/weather/XEH_postInit.sqf | 2 +- addons/weather/XEH_postServerInit.sqf | 2 +- addons/winddeflection/XEH_postInit.sqf | 10 +- addons/zeus/XEH_preInit.sqf | 2 +- .../zeus/functions/fnc_bi_moduleCurator.sqf | 2 +- .../functions/fnc_moduleAddSpareTrack.sqf | 2 +- .../functions/fnc_moduleAddSpareWheel.sqf | 2 +- addons/zeus/functions/fnc_moduleCaptive.sqf | 2 +- addons/zeus/functions/fnc_moduleSurrender.sqf | 2 +- 241 files changed, 582 insertions(+), 566 deletions(-) diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index 2a9f6c3eb6..26e0bf93bf 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -32,8 +32,8 @@ if (!hasInterface) exitWith {}; [] call FUNC(initializeTerrainExtension); // Register fire event handler - ["firedPlayer", DFUNC(handleFired)] call EFUNC(common,addEventHandler); - ["firedPlayerNonLocal", DFUNC(handleFired)] call EFUNC(common,addEventHandler); + ["firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; + ["firedPlayerNonLocal", DFUNC(handleFired)] call CBA_fnc_addEventHandler; //Add warnings for missing compat PBOs (only if AB is on) { @@ -50,7 +50,7 @@ if (!hasInterface) exitWith {}; ["iansky_opt","ace_compat_sma3_iansky"], ["R3F_Armes","ace_compat_r3f"] ]; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; #ifdef DEBUG_MODE_FULL call FUNC(diagnoseWeapons); diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf index 8d4907523b..ef293e9309 100644 --- a/addons/atragmx/XEH_postInit.sqf +++ b/addons/atragmx/XEH_postInit.sqf @@ -49,4 +49,4 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == [] call FUNC(init); [] call FUNC(restore_user_data); -["RangerfinderData", {_this call FUNC(sord)}] call EFUNC(common,addEventHandler); +["RangerfinderData", {_this call FUNC(sord)}] call CBA_fnc_addEventHandler; diff --git a/addons/attach/XEH_clientInit.sqf b/addons/attach/XEH_clientInit.sqf index f7e663c2ae..8ba867ec26 100644 --- a/addons/attach/XEH_clientInit.sqf +++ b/addons/attach/XEH_clientInit.sqf @@ -3,4 +3,4 @@ if (!hasInterface) exitWith {}; //If attach placing, stop when opening menu: -["interactMenuOpened", {GVAR(placeAction) = 0;}] call EFUNC(common,addEventHandler); +["interactMenuOpened", {GVAR(placeAction) = 0;}] call CBA_fnc_addEventHandler; diff --git a/addons/backpacks/XEH_postInit.sqf b/addons/backpacks/XEH_postInit.sqf index 375fcd5f89..c3341ff305 100644 --- a/addons/backpacks/XEH_postInit.sqf +++ b/addons/backpacks/XEH_postInit.sqf @@ -1,3 +1,3 @@ #include "script_component.hpp" -["backpackOpened", {_this call FUNC(backpackOpened)}] call EFUNC(common,addEventHandler); +["backpackOpened", {_this call FUNC(backpackOpened)}] call CBA_fnc_addEventHandler; diff --git a/addons/backpacks/functions/fnc_onOpenInventory.sqf b/addons/backpacks/functions/fnc_onOpenInventory.sqf index d9a99535eb..c2f3c861a2 100644 --- a/addons/backpacks/functions/fnc_onOpenInventory.sqf +++ b/addons/backpacks/functions/fnc_onOpenInventory.sqf @@ -24,7 +24,7 @@ private _target = objectParent _backpack; if (isNull _target) exitWith {false}; // raise event on target unit -["backpackOpened", _target, [_target, _backpack]] call EFUNC(common,targetEvent); +["backpackOpened", [_target, _backpack], _target] call CBA_fnc_targetEvent; // return false to open inventory as usual false diff --git a/addons/captives/XEH_postInit.sqf b/addons/captives/XEH_postInit.sqf index 5aada0950f..8f6b470a0a 100644 --- a/addons/captives/XEH_postInit.sqf +++ b/addons/captives/XEH_postInit.sqf @@ -5,7 +5,7 @@ [{ GVAR(captivityEnabled) = true; }, [], 0.05] call EFUNC(common,waitAndExecute); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; //Handles when someone starts escorting and then disconnects, leaving the captive attached //This is normaly handled by the PFEH in doEscortCaptive, but that won't be running if they DC @@ -24,15 +24,15 @@ if (isServer) then { }]; }; -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); -["MoveInCaptive", {_this call FUNC(vehicleCaptiveMoveIn)}] call EFUNC(common,addEventHandler); -["MoveOutCaptive", {_this call FUNC(vehicleCaptiveMoveOut)}] call EFUNC(common,addEventHandler); +["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["MoveInCaptive", {_this call FUNC(vehicleCaptiveMoveIn)}] call CBA_fnc_addEventHandler; +["MoveOutCaptive", {_this call FUNC(vehicleCaptiveMoveOut)}] call CBA_fnc_addEventHandler; -["SetHandcuffed", {_this call FUNC(setHandcuffed)}] call EFUNC(common,addEventHandler); -["SetSurrendered", {_this call FUNC(setSurrendered)}] call EFUNC(common,addEventHandler); +["SetHandcuffed", {_this call FUNC(setHandcuffed)}] call CBA_fnc_addEventHandler; +["SetSurrendered", {_this call FUNC(setSurrendered)}] call CBA_fnc_addEventHandler; //Medical Integration Events -["medical_onUnconscious", {_this call ACE_Captives_fnc_handleOnUnconscious}] call EFUNC(common,addEventHandler); +["medical_onUnconscious", {_this call ACE_Captives_fnc_handleOnUnconscious}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; diff --git a/addons/captives/functions/fnc_doApplyHandcuffs.sqf b/addons/captives/functions/fnc_doApplyHandcuffs.sqf index 21bfe58747..95236579f4 100644 --- a/addons/captives/functions/fnc_doApplyHandcuffs.sqf +++ b/addons/captives/functions/fnc_doApplyHandcuffs.sqf @@ -21,6 +21,6 @@ params ["_unit", "_target"]; playSound3D [QUOTE(PATHTO_R(sounds\cable_tie_zipping.ogg)), objNull, false, (getPosASL _target), 1, 1, 10]; -["SetHandcuffed", [_target], [_target, true]] call EFUNC(common,targetEvent); +["SetHandcuffed", [_target, true], [_target]] call CBA_fnc_targetEvent; _unit removeItem "ACE_CableTie"; diff --git a/addons/captives/functions/fnc_doLoadCaptive.sqf b/addons/captives/functions/fnc_doLoadCaptive.sqf index a4d7df8892..e4f919a42f 100644 --- a/addons/captives/functions/fnc_doLoadCaptive.sqf +++ b/addons/captives/functions/fnc_doLoadCaptive.sqf @@ -47,4 +47,4 @@ if (isNull _vehicle) then { if (isNull _vehicle) exitWith {ERROR("");}; _unit setVariable [QGVAR(isEscorting), false, true]; -["MoveInCaptive", [_target], [_target, _vehicle]] call EFUNC(common,targetEvent); +["MoveInCaptive", [_target, _vehicle], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/captives/functions/fnc_doRemoveHandcuffs.sqf b/addons/captives/functions/fnc_doRemoveHandcuffs.sqf index 681b698de3..27bb1fd078 100644 --- a/addons/captives/functions/fnc_doRemoveHandcuffs.sqf +++ b/addons/captives/functions/fnc_doRemoveHandcuffs.sqf @@ -17,4 +17,4 @@ params ["_unit", "_target"]; -["SetHandcuffed", [_target], [_target, false]] call EFUNC(common,targetEvent); +["SetHandcuffed", [_target, false], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/captives/functions/fnc_doUnloadCaptive.sqf b/addons/captives/functions/fnc_doUnloadCaptive.sqf index 46ba618010..e3d0749d39 100644 --- a/addons/captives/functions/fnc_doUnloadCaptive.sqf +++ b/addons/captives/functions/fnc_doUnloadCaptive.sqf @@ -18,4 +18,4 @@ params ["_unit", "_target"]; -["MoveOutCaptive", [_target], [_target]] call EFUNC(common,targetEvent); +["MoveOutCaptive", [_target], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/captives/functions/fnc_moduleHandcuffed.sqf b/addons/captives/functions/fnc_moduleHandcuffed.sqf index dcb59ff2a1..84a7ed852d 100644 --- a/addons/captives/functions/fnc_moduleHandcuffed.sqf +++ b/addons/captives/functions/fnc_moduleHandcuffed.sqf @@ -30,7 +30,7 @@ if (!isServer) exitWith {}; params ["_units"]; { TRACE_2("event",_x,local _x); - ["SetHandcuffed", [_x], [_x, true]] call EFUNC(common,targetEvent); + ["SetHandcuffed", [_x, true], [_x]] call CBA_fnc_targetEvent; } forEach _units; }, [_units], 0.05] call EFUNC(common,waitAndExecute); diff --git a/addons/captives/functions/fnc_moduleSurrender.sqf b/addons/captives/functions/fnc_moduleSurrender.sqf index 29659b351e..60234e6052 100644 --- a/addons/captives/functions/fnc_moduleSurrender.sqf +++ b/addons/captives/functions/fnc_moduleSurrender.sqf @@ -30,7 +30,7 @@ if (!isServer) exitWith {}; params ["_units"]; { TRACE_2("event",_x,local _x); - ["SetSurrendered", [_x], [_x, true]] call EFUNC(common,targetEvent); + ["SetSurrendered", [_x, true], [_x]] call CBA_fnc_targetEvent; } forEach _units; }, [_units], 0.05] call EFUNC(common,waitAndExecute); diff --git a/addons/captives/functions/fnc_setHandcuffed.sqf b/addons/captives/functions/fnc_setHandcuffed.sqf index d4f84730e6..630726206a 100644 --- a/addons/captives/functions/fnc_setHandcuffed.sqf +++ b/addons/captives/functions/fnc_setHandcuffed.sqf @@ -124,4 +124,4 @@ if (_state) then { }; //Global Event after changes: -["CaptiveStatusChanged", [_unit, _state, "SetHandcuffed"]] call EFUNC(common,globalEvent); +["CaptiveStatusChanged", [_unit, _state, "SetHandcuffed"]] call CBA_fnc_globalEvent; diff --git a/addons/captives/functions/fnc_setSurrendered.sqf b/addons/captives/functions/fnc_setSurrendered.sqf index ffc3c35081..5fe01b740c 100644 --- a/addons/captives/functions/fnc_setSurrendered.sqf +++ b/addons/captives/functions/fnc_setSurrendered.sqf @@ -117,4 +117,4 @@ if (_state) then { }; //Global Event after changes: -["CaptiveStatusChanged", [_unit, _state, "SetSurrendered"]] call EFUNC(common,globalEvent); +["CaptiveStatusChanged", [_unit, _state, "SetSurrendered"]] call CBA_fnc_globalEvent; diff --git a/addons/cargo/XEH_postInit.sqf b/addons/cargo/XEH_postInit.sqf index f3789d641f..97d05366af 100644 --- a/addons/cargo/XEH_postInit.sqf +++ b/addons/cargo/XEH_postInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -["AddCargoByClass", {_this call FUNC(addCargoItem)}] call EFUNC(common,addEventHandler); +["AddCargoByClass", {_this call FUNC(addCargoItem)}] call CBA_fnc_addEventHandler; ["LoadCargo", { params ["_item", "_vehicle"]; @@ -13,13 +13,13 @@ private _itemName = getText (configFile >> "CfgVehicles" >> typeOf _item >> "displayName"); private _vehicleName = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - ["displayTextStructured", [[_hint, _itemName, _vehicleName], 3.0]] call EFUNC(common,localEvent); + ["displayTextStructured", [[_hint, _itemName, _vehicleName], 3.0]] call CBA_fnc_localEvent; if (_loaded) then { // Invoke listenable event - ["cargoLoaded", [_item, _vehicle]] call EFUNC(common,globalEvent); + ["cargoLoaded", [_item, _vehicle]] call CBA_fnc_globalEvent; }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; ["UnloadCargo", { params ["_item", "_vehicle", ["_unloader", objNull]]; @@ -34,19 +34,19 @@ private _itemName = getText (configFile >> "CfgVehicles" >> _itemClass >> "displayName"); private _vehicleName = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - ["displayTextStructured", [[_hint, _itemName, _vehicleName], 3.0]] call EFUNC(common,localEvent); + ["displayTextStructured", [[_hint, _itemName, _vehicleName], 3.0]] call CBA_fnc_localEvent; if (_unloaded) then { // Invoke listenable event - ["cargoUnloaded", [_item, _vehicle]] call EFUNC(common,globalEvent); + ["cargoUnloaded", [_item, _vehicle]] call CBA_fnc_globalEvent; }; // TOOO maybe drag/carry the unloaded item? -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; ["ServerUnloadCargo", { params ["_item", "_emptyPosAGL"]; _item hideObjectGlobal false; _item setPosASL (AGLtoASL _emptyPosAGL); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/cargo/functions/fnc_addCargoItem.sqf b/addons/cargo/functions/fnc_addCargoItem.sqf index 5e01214934..d90ba6c4d3 100644 --- a/addons/cargo/functions/fnc_addCargoItem.sqf +++ b/addons/cargo/functions/fnc_addCargoItem.sqf @@ -26,4 +26,4 @@ for "_i" from 1 to _amount do { }; // Invoke listenable event -["cargoAddedByClass", [_itemClass, _vehicle, _amount]] call EFUNC(common,globalEvent); +["cargoAddedByClass", [_itemClass, _vehicle, _amount]] call CBA_fnc_globalEvent; diff --git a/addons/cargo/functions/fnc_initVehicle.sqf b/addons/cargo/functions/fnc_initVehicle.sqf index 7e19b0acd0..101799148a 100644 --- a/addons/cargo/functions/fnc_initVehicle.sqf +++ b/addons/cargo/functions/fnc_initVehicle.sqf @@ -29,7 +29,7 @@ if (isServer) then { _cargoClassname = getText (_x >> "type"); _cargoCount = getNumber (_x >> "amount"); TRACE_3("adding ACE_Cargo", (configName _x), _cargoClassname, _cargoCount); - ["AddCargoByClass", [_cargoClassname, _vehicle, _cargoCount]] call EFUNC(common,localEvent); + ["AddCargoByClass", [_cargoClassname, _vehicle, _cargoCount]] call CBA_fnc_localEvent; }; } count ("true" configClasses (configFile >> "CfgVehicles" >> _type >> "ACE_Cargo" >> "Cargo")); }; diff --git a/addons/cargo/functions/fnc_loadItem.sqf b/addons/cargo/functions/fnc_loadItem.sqf index 443143ece0..49fa531e5e 100644 --- a/addons/cargo/functions/fnc_loadItem.sqf +++ b/addons/cargo/functions/fnc_loadItem.sqf @@ -35,7 +35,7 @@ _vehicle setVariable [QGVAR(space), _space - _itemSize, true]; if (_item isEqualType objNull) then { detach _item; _item attachTo [_vehicle,[0,0,-100]]; - ["hideObjectGlobal", [_item, true]] call EFUNC(common,serverEvent); + ["hideObjectGlobal", [_item, true]] call CBA_fnc_serverEvent; }; true diff --git a/addons/cargo/functions/fnc_startLoadIn.sqf b/addons/cargo/functions/fnc_startLoadIn.sqf index 6fcd3cf62c..5476d3e31c 100644 --- a/addons/cargo/functions/fnc_startLoadIn.sqf +++ b/addons/cargo/functions/fnc_startLoadIn.sqf @@ -40,7 +40,7 @@ if ([_object, _vehicle] call FUNC(canLoadItemIn)) then { [ 5 * _size, [_object,_vehicle], - {["LoadCargo", _this select 0] call EFUNC(common,localEvent)}, + {["LoadCargo", _this select 0] call CBA_fnc_localEvent}, {}, localize LSTRING(LoadingItem) ] call EFUNC(common,progressBar); @@ -48,7 +48,7 @@ if ([_object, _vehicle] call FUNC(canLoadItemIn)) then { } else { private _displayName = getText (configFile >> "CfgVehicles" >> typeOf _object >> "displayName"); - ["displayTextStructured", [[LSTRING(LoadingFailed), _displayName], 3.0]] call EFUNC(common,localEvent); + ["displayTextStructured", [[LSTRING(LoadingFailed), _displayName], 3.0]] call CBA_fnc_localEvent; }; _return diff --git a/addons/cargo/functions/fnc_startUnload.sqf b/addons/cargo/functions/fnc_startUnload.sqf index 46a69e737f..741825a387 100644 --- a/addons/cargo/functions/fnc_startUnload.sqf +++ b/addons/cargo/functions/fnc_startUnload.sqf @@ -37,7 +37,7 @@ if ([_item, GVAR(interactionVehicle), ACE_player] call FUNC(canUnloadItem)) then [ 5 * _size, [_item, GVAR(interactionVehicle), ACE_player], - {["UnloadCargo", _this select 0] call EFUNC(common,localEvent)}, + {["UnloadCargo", _this select 0] call CBA_fnc_localEvent}, {}, localize LSTRING(UnloadingItem), {true}, @@ -47,5 +47,5 @@ if ([_item, GVAR(interactionVehicle), ACE_player] call FUNC(canUnloadItem)) then private _itemClass = if (_item isEqualType "") then {_item} else {typeOf _item}; private _displayName = getText (configFile >> "CfgVehicles" >> _itemClass >> "displayName"); - ["displayTextStructured", [[LSTRING(UnloadingFailed), _displayName], 3.0]] call EFUNC(common,localEvent); + ["displayTextStructured", [[LSTRING(UnloadingFailed), _displayName], 3.0]] call CBA_fnc_localEvent; }; diff --git a/addons/cargo/functions/fnc_unloadItem.sqf b/addons/cargo/functions/fnc_unloadItem.sqf index 8bd18f989e..25eb25fa6c 100644 --- a/addons/cargo/functions/fnc_unloadItem.sqf +++ b/addons/cargo/functions/fnc_unloadItem.sqf @@ -29,7 +29,7 @@ if ((count _emptyPosAGL) != 3) exitWith { TRACE_4("Could not find unload pos",_vehicle,getPosASL _vehicle,isTouchingGround _vehicle,speed _vehicle); if ((!isNull _unloader) && {_unloader == ACE_player}) then { //display text saying there are no safe places to exit the vehicle - ["displayTextStructured", [localize ELSTRING(common,NoRoomToUnload)]] call EFUNC(common,localEvent); + ["displayTextStructured", [localize ELSTRING(common,NoRoomToUnload)]] call CBA_fnc_localEvent; }; false }; @@ -52,7 +52,7 @@ if (_item isEqualType objNull) then { detach _item; // hideObjectGlobal must be executed before setPos to ensure light objects are rendered correctly // do both on server to ensure they are executed in the correct order - ["ServerUnloadCargo", [_item, _emptyPosAGL]] call EFUNC(common,serverEvent); + ["ServerUnloadCargo", [_item, _emptyPosAGL]] call CBA_fnc_serverEvent; } else { private _newItem = createVehicle [_item, _emptyPosAGL, [], 0, ""]; _newItem setPosASL (AGLtoASL _emptyPosAGL); diff --git a/addons/common/RscInfoType.hpp b/addons/common/RscInfoType.hpp index e5af2454cb..c6136d0107 100644 --- a/addons/common/RscInfoType.hpp +++ b/addons/common/RscInfoType.hpp @@ -1,111 +1,111 @@ class RscInGameUI { class RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscUnitInfoNoHUD { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscUnitInfoSoldier: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgSoldier', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Soldier')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgSoldier', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Soldier')])] call CBA_fnc_localEvent;); }; class RscUnitInfoTank: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgVehicle', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Vehicle')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgVehicle', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Vehicle')])] call CBA_fnc_localEvent;); }; class RscUnitInfoAirNoWeapon: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call CBA_fnc_localEvent;); }; class RscUnitInfoAir: RscUnitInfoAirNoWeapon { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call CBA_fnc_localEvent;); }; class RscUnitInfo_AH64D_gunner { - onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent);); + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call CBA_fnc_localEvent;); }; class RscUnitInfoUAV { - onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgUAV', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'UAV')])] call FUNC(localEvent);); + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgUAV', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'UAV')])] call CBA_fnc_localEvent;); }; class RscUnitInfoSubmarine: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgSubmarine', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Submarine')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgSubmarine', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Submarine')])] call CBA_fnc_localEvent;); }; class RscUnitInfoShip: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgShip', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Ship')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgShip', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Ship')])] call CBA_fnc_localEvent;); }; class RscWeaponEmpty { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeFinder { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeArtillery { - onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgArtillery', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Artillery')])] call FUNC(localEvent);); + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgArtillery', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Artillery')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeArtilleryAuto { - onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgArtillery', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Artillery')])] call FUNC(localEvent);); + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgArtillery', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Artillery')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeFinderPAS13 { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscOptics_LaserDesignator { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeFinderMAAWS { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeFinderAbramsCom { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeFinderAbramsGun { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeFinderStrykerMGSGun { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscOptics_strider_commander { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscOptics_titan { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscOptics_punisher { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscOptics_SDV_periscope { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscUnitInfoParachute: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgParachute', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Parachute')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgParachute', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Parachute')])] call CBA_fnc_localEvent;); }; class RscUnitVehicle { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscOptics_LaserDesignator_02 { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscStaminaBar { diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 86a86918e4..8e389bf68c 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -59,7 +59,7 @@ ////////////////////////////////////////////////// //Status Effect EHs: -["setStatusEffect", {_this call FUNC(statusEffect_set)}] call FUNC(addEventHandler); +["setStatusEffect", {_this call FUNC(statusEffect_set)}] call CBA_fnc_addEventHandler; ["forceWalk", false, ["ACE_SwitchUnits", "ACE_Attach", "ACE_dragging", "ACE_Explosives", "ACE_Ladder", "ACE_Sandbag", "ACE_refuel", "ACE_rearm", "ACE_dragging"]] call FUNC(statusEffect_addType); ["blockSprint", false, []] call FUNC(statusEffect_addType); ["setCaptive", true, [QEGVAR(captives,Handcuffed), QEGVAR(captives,Surrendered), QEGVAR(medical,unconscious)]] call FUNC(statusEffect_addType); @@ -70,17 +70,17 @@ params ["_object", "_set"]; TRACE_2("forceWalk EH",_object,_set); _object forceWalk (_set > 0); -}] call FUNC(addEventHandler); +}] call CBA_fnc_addEventHandler; ["blockSprint", { //Name reversed from `allowSprint` because we want NOR logic params ["_object", "_set"]; TRACE_2("blockSprint EH",_object,_set); _object allowSprint (_set == 0); -}] call FUNC(addEventHandler); +}] call CBA_fnc_addEventHandler; ["setCaptive", { params ["_object", "_set"]; TRACE_2("setCaptive EH",_object,_set); _object setCaptive (_set > 0); -}] call FUNC(addEventHandler); +}] call CBA_fnc_addEventHandler; ["blockDamage", { //Name reversed from `allowDamage` because we want NOR logic params ["_object", "_set"]; if ((_object isKindOf "CAManBase") && {(["ace_medical"] call FUNC(isModLoaded))}) then { @@ -90,12 +90,12 @@ TRACE_2("blockDamage EH (using allowDamage)",_object,_set); _object allowDamage (_set == 0); }; -}] call FUNC(addEventHandler); +}] call CBA_fnc_addEventHandler; ["blockEngine", { params ["_vehicle", "_set"]; _vehicle setVariable [QGVAR(blockEngine), _set > 0, true]; _vehicle engineOn false; -}] call FUNC(addEventHandler); +}] call CBA_fnc_addEventHandler; //Add a fix for BIS's zeus remoteControl module not reseting variables on DC when RC a unit //This variable is used for isPlayer checks @@ -126,46 +126,46 @@ if (isServer) then { _settingData set [6, _force]; }; -}] call FUNC(addEventhandler); +}] call CBA_fnc_addEventHandler; // Event to log Fix Headbug output ["HeadbugFixUsed", { params ["_profileName", "_animation"]; ACE_LOGINFO_2("Headbug Used: Name: %1, Animation: %2",_profileName,_animation); -}] call FUNC(addEventHandler); +}] call CBA_fnc_addEventHandler; -["fixCollision", FUNC(fixCollision)] call FUNC(addEventhandler); -["fixFloating", FUNC(fixFloating)] call FUNC(addEventhandler); -["fixPosition", FUNC(fixPosition)] call FUNC(addEventhandler); +["fixCollision", FUNC(fixCollision)] call CBA_fnc_addEventHandler; +["fixFloating", FUNC(fixFloating)] call CBA_fnc_addEventHandler; +["fixPosition", FUNC(fixPosition)] call CBA_fnc_addEventHandler; -["loadPersonEvent", FUNC(loadPersonLocal)] call FUNC(addEventhandler); -["unloadPersonEvent", FUNC(unloadPersonLocal)] call FUNC(addEventhandler); +["loadPersonEvent", FUNC(loadPersonLocal)] call CBA_fnc_addEventHandler; +["unloadPersonEvent", FUNC(unloadPersonLocal)] call CBA_fnc_addEventHandler; ["lockVehicle", { _this setVariable [QGVAR(lockStatus), locked _this]; _this lock 2; -}] call FUNC(addEventhandler); +}] call CBA_fnc_addEventHandler; ["unlockVehicle", { _this lock (_this getVariable [QGVAR(lockStatus), locked _this]); -}] call FUNC(addEventhandler); +}] call CBA_fnc_addEventHandler; -["setDir", {(_this select 0) setDir (_this select 1)}] call FUNC(addEventhandler); -["setFuel", {(_this select 0) setFuel (_this select 1)}] call FUNC(addEventhandler); -["engineOn", {(_this select 0) engineOn (_this select 1)}] call FUNC(addEventhandler); -["setSpeaker", {(_this select 0) setSpeaker (_this select 1)}] call FUNC(addEventhandler); -["selectLeader", {(_this select 0) selectLeader (_this select 1)}] call FUNC(addEventHandler); -["setVelocity", {(_this select 0) setVelocity (_this select 1)}] call FUNC(addEventHandler); -["playMove", {(_this select 0) playMove (_this select 1)}] call FUNC(addEventHandler); -["playMoveNow", {(_this select 0) playMoveNow (_this select 1)}] call FUNC(addEventHandler); -["switchMove", {(_this select 0) switchMove (_this select 1)}] call FUNC(addEventHandler); -["setVectorDirAndUp", {(_this select 0) setVectorDirAndUp (_this select 1)}] call FUNC(addEventHandler); -["setVanillaHitPointDamage", {(_this select 0) setHitPointDamage (_this select 1)}] call FUNC(addEventHandler); +["setDir", {(_this select 0) setDir (_this select 1)}] call CBA_fnc_addEventHandler; +["setFuel", {(_this select 0) setFuel (_this select 1)}] call CBA_fnc_addEventHandler; +["engineOn", {(_this select 0) engineOn (_this select 1)}] call CBA_fnc_addEventHandler; +["setSpeaker", {(_this select 0) setSpeaker (_this select 1)}] call CBA_fnc_addEventHandler; +["selectLeader", {(_this select 0) selectLeader (_this select 1)}] call CBA_fnc_addEventHandler; +["setVelocity", {(_this select 0) setVelocity (_this select 1)}] call CBA_fnc_addEventHandler; +["playMove", {(_this select 0) playMove (_this select 1)}] call CBA_fnc_addEventHandler; +["playMoveNow", {(_this select 0) playMoveNow (_this select 1)}] call CBA_fnc_addEventHandler; +["switchMove", {(_this select 0) switchMove (_this select 1)}] call CBA_fnc_addEventHandler; +["setVectorDirAndUp", {(_this select 0) setVectorDirAndUp (_this select 1)}] call CBA_fnc_addEventHandler; +["setVanillaHitPointDamage", {(_this select 0) setHitPointDamage (_this select 1)}] call CBA_fnc_addEventHandler; if (isServer) then { - ["hideObjectGlobal", {(_this select 0) hideObjectGlobal (_this select 1)}] call FUNC(addEventHandler); - ["enableSimulationGlobal", {(_this select 0) enableSimulationGlobal (_this select 1)}] call FUNC(addEventHandler); + ["hideObjectGlobal", {(_this select 0) hideObjectGlobal (_this select 1)}] call CBA_fnc_addEventHandler; + ["enableSimulationGlobal", {(_this select 0) enableSimulationGlobal (_this select 1)}] call CBA_fnc_addEventHandler; }; @@ -178,14 +178,14 @@ if (isServer) then { if (!isServer) then { ["PlayerJip", { ACE_LOGINFO("JIP event synchronization initialized"); - ["SEH_all", [player]] call FUNC(serverEvent); - }] call FUNC(addEventHandler); + ["SEH_all", [player]] call CBA_fnc_serverEvent; + }] call CBA_fnc_addEventHandler; } else { - ["SEH_all", FUNC(_handleRequestAllSyncedEvents)] call FUNC(addEventHandler); + ["SEH_all", FUNC(_handleRequestAllSyncedEvents)] call CBA_fnc_addEventHandler; }; -["SEH", FUNC(_handleSyncedEvent)] call FUNC(addEventHandler); -["SEH_s", FUNC(_handleRequestSyncedEvent)] call FUNC(addEventHandler); +["SEH", FUNC(_handleSyncedEvent)] call CBA_fnc_addEventHandler; +["SEH_s", FUNC(_handleRequestSyncedEvent)] call CBA_fnc_addEventHandler; if (isServer) then { [FUNC(syncedEventPFH), 0.5, []] call CBA_fnc_addPerFrameHandler; @@ -227,7 +227,7 @@ call FUNC(checkFiles); GVAR(checkPBOsCheckAll), GVAR(checkPBOsWhitelist) ] call FUNC(checkPBOs) -}] call FUNC(addEventHandler); +}] call CBA_fnc_addEventHandler; // Create a pfh to wait until all postinits are ready and settings are initialized [{ @@ -254,7 +254,7 @@ call FUNC(checkFiles); [] call FUNC(readSettingsFromParamsArray); }; // Event so that ACE_Modules have their settings loaded: - ["InitSettingsFromModules", []] call FUNC(localEvent); + ["InitSettingsFromModules", []] call CBA_fnc_localEvent; if (isServer) then { // Publish all settings data after all configs and modules are read @@ -270,7 +270,7 @@ call FUNC(checkFiles); ACE_LOGINFO("Settings initialized."); //Event that settings are safe to use: - ["SettingsInitialized", []] call FUNC(localEvent); + ["SettingsInitialized", []] call CBA_fnc_localEvent; //Set init finished and run all delayed functions: GVAR(settingsInitFinished) = true; @@ -318,7 +318,7 @@ enableCamShake true; if (alive _oldPlayer) then { [_oldPlayer] call FUNC(setName); }; -}] call FUNC(addEventhandler); +}] call CBA_fnc_addEventHandler; ////////////////////////////////////////////////// @@ -350,7 +350,7 @@ GVAR(OldIsCamera) = false; uiNamespace setVariable ["ACE_player", _data]; // Raise ACE event locally - ["playerChanged", [ACE_player, _oldPlayer]] call FUNC(localEvent); + ["playerChanged", [ACE_player, _oldPlayer]] call CBA_fnc_localEvent; }; // "playerVehicleChanged" event @@ -358,7 +358,7 @@ GVAR(OldIsCamera) = false; if !(_data isEqualTo GVAR(OldPlayerVehicle)) then { // Raise ACE event locally GVAR(OldPlayerVehicle) = _data; - ["playerVehicleChanged", [ACE_player, _data]] call FUNC(localEvent); + ["playerVehicleChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; // "playerTurretChanged" event @@ -366,7 +366,7 @@ GVAR(OldIsCamera) = false; if !(_data isEqualTo GVAR(OldPlayerTurret)) then { // Raise ACE event locally GVAR(OldPlayerTurret) = _data; - ["playerTurretChanged", [ACE_player, _data]] call FUNC(localEvent); + ["playerTurretChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; // "playerWeaponChanged" event @@ -374,7 +374,7 @@ GVAR(OldIsCamera) = false; if (_data != GVAR(OldPlayerWeapon)) then { // Raise ACE event locally GVAR(OldPlayerWeapon) = _data; - ["playerWeaponChanged", [ACE_player, _data]] call FUNC(localEvent); + ["playerWeaponChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; // "playerInventoryChanged" event @@ -406,7 +406,7 @@ GVAR(OldIsCamera) = false; if !(_data isEqualTo GVAR(OldPlayerInventoryNoAmmo)) then { GVAR(OldPlayerInventoryNoAmmo) = _data; - ["playerInventoryChanged", [ACE_player, [ACE_player, false] call FUNC(getAllGear)]] call FUNC(localEvent); + ["playerInventoryChanged", [ACE_player, [ACE_player, false] call FUNC(getAllGear)]] call CBA_fnc_localEvent; }; }; @@ -415,7 +415,7 @@ GVAR(OldIsCamera) = false; if !(_data isEqualTo GVAR(OldPlayerVisionMode)) then { // Raise ACE event locally GVAR(OldPlayerVisionMode) = _data; - ["playerVisionModeChanged", [ACE_player, _data]] call FUNC(localEvent); + ["playerVisionModeChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; // "cameraViewChanged" event @@ -423,7 +423,7 @@ GVAR(OldIsCamera) = false; if !(_data isEqualTo GVAR(OldCameraView)) then { // Raise ACE event locally GVAR(OldCameraView) = _data; - ["cameraViewChanged", [ACE_player, _data]] call FUNC(localEvent); + ["cameraViewChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; // "visibleMapChanged" event @@ -431,7 +431,7 @@ GVAR(OldIsCamera) = false; if (!_data isEqualTo GVAR(OldVisibleMap)) then { // Raise ACE event locally GVAR(OldVisibleMap) = _data; - ["visibleMapChanged", [ACE_player, _data]] call FUNC(localEvent); + ["visibleMapChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; // "activeCameraChanged" event @@ -439,7 +439,7 @@ GVAR(OldIsCamera) = false; if !(_data isEqualTo GVAR(OldIsCamera)) then { // Raise ACE event locally GVAR(OldIsCamera) = _data; - ["activeCameraChanged", [ACE_player, _data]] call FUNC(localEvent); + ["activeCameraChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; END_COUNTER(stateChecker); @@ -450,8 +450,8 @@ GVAR(OldIsCamera) = false; // Eventhandlers for player controlled machines ////////////////////////////////////////////////// -["displayTextStructured", {_this call FUNC(displayTextStructured)}] call FUNC(addEventhandler); -["displayTextPicture", {_this call FUNC(displayTextPicture)}] call FUNC(addEventhandler); +["displayTextStructured", {_this call FUNC(displayTextStructured)}] call CBA_fnc_addEventHandler; +["displayTextPicture", {_this call FUNC(displayTextPicture)}] call CBA_fnc_addEventHandler; ["medical_onUnconscious", { params ["_unit", "_isUnconscious"]; @@ -459,9 +459,9 @@ GVAR(OldIsCamera) = false; if (local _unit && {!_isUnconscious}) then { [_unit, false, QFUNC(loadPerson), west /* dummy side */] call FUNC(switchToGroupSide); }; -}] call FUNC(addEventhandler); +}] call CBA_fnc_addEventHandler; -["useItem", DFUNC(useItem)] call FUNC(addEventHandler); +["useItem", DFUNC(useItem)] call CBA_fnc_addEventHandler; ////////////////////////////////////////////////// @@ -499,7 +499,7 @@ if (didJip) then { // We are jipping! Get ready and wait, and throw the event [{ if(!isNull player && GVAR(settingsInitFinished)) then { - ["PlayerJip", [player]] call FUNC(localEvent); + ["PlayerJip", [player]] call CBA_fnc_localEvent; [_this select 1] call CBA_fnc_removePerFrameHandler; }; }, 0, []] call CBA_fnc_addPerFrameHandler; diff --git a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf index 8c8cbd1486..ce57658e6f 100644 --- a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf +++ b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf @@ -18,7 +18,7 @@ params ["_client"]; private _eventEntry = HASH_GET(GVAR(syncedEvents),_x); _eventEntry params ["", "_eventLog"]; - ["SEH_s", _client, [_x, _eventLog]] call FUNC(targetEvent); + ["SEH_s", [_x, _eventLog], _client] call CBA_fnc_targetEvent; false } count (GVAR(syncedEvents) select 0); diff --git a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf index 9d6c062ac2..35aac9d52e 100644 --- a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf +++ b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf @@ -30,7 +30,7 @@ if (isServer) then { private _eventEntry = HASH_GET(GVAR(syncedEvents),_eventName); _eventEntry params ["", "_eventLog"]; - ["SEH_s", _client, [_eventName, _eventLog]] call FUNC(targetEvent); + ["SEH_s", [_eventName, _eventLog], _client] call CBA_fnc_targetEvent; } else { params ["_eventName", "_eventLog"]; diff --git a/addons/common/functions/fnc_addSetting.sqf b/addons/common/functions/fnc_addSetting.sqf index 0cf25b860a..85008e49f9 100644 --- a/addons/common/functions/fnc_addSetting.sqf +++ b/addons/common/functions/fnc_addSetting.sqf @@ -37,4 +37,4 @@ missionNamespace setVariable [_name, _value]; GVAR(settings) pushBack _this; // Raise event locally -["SettingChanged", [_name, _value]] call FUNC(localEvent); +["SettingChanged", [_name, _value]] call CBA_fnc_localEvent; diff --git a/addons/common/functions/fnc_addSyncedEventHandler.sqf b/addons/common/functions/fnc_addSyncedEventHandler.sqf index 126bb6a957..caa842a58f 100644 --- a/addons/common/functions/fnc_addSyncedEventHandler.sqf +++ b/addons/common/functions/fnc_addSyncedEventHandler.sqf @@ -24,7 +24,7 @@ if (HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith { false }; -private _eventId = [_name, FUNC(_handleSyncedEvent)] call FUNC(addEventHandler); +private _eventId = [_name, FUNC(_handleSyncedEvent)] call CBA_fnc_addEventHandler; private _data = [_handler, [], _ttl, _eventId]; HASH_SET(GVAR(syncedEvents),_name,_data); diff --git a/addons/common/functions/fnc_assignedItemFix.sqf b/addons/common/functions/fnc_assignedItemFix.sqf index 18dd6b4e0c..cfa73a8901 100644 --- a/addons/common/functions/fnc_assignedItemFix.sqf +++ b/addons/common/functions/fnc_assignedItemFix.sqf @@ -48,4 +48,4 @@ GVAR(AssignedItemsShownItems) = [ showWatch _showWatch; showRadio _showRadio; showGPS (_showGPS || {cameraOn == getConnectedUAV _unit}); //If player is activly controling a UAV, showGPS controls showing the map (m key) -}] call FUNC(addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/common/functions/fnc_cachedCall.sqf b/addons/common/functions/fnc_cachedCall.sqf index 2c7cdd4b27..a87e9f2364 100644 --- a/addons/common/functions/fnc_cachedCall.sqf +++ b/addons/common/functions/fnc_cachedCall.sqf @@ -46,7 +46,7 @@ if ((_namespace getVariable [_uid, [-99999]]) select 0 < ACE_diagTime) then { } forEach _cacheList; // Empty the list missionNamespace setVariable [_varName, []]; - }] call FUNC(addEventhandler); + }] call CBA_fnc_addEventHandler; }; // Add this cache to the list of the event diff --git a/addons/common/functions/fnc_claim.sqf b/addons/common/functions/fnc_claim.sqf index cc514a2a6f..0b5761125f 100644 --- a/addons/common/functions/fnc_claim.sqf +++ b/addons/common/functions/fnc_claim.sqf @@ -28,9 +28,9 @@ _target setVariable [QGVAR(owner), _unit, true]; // lock target object if (_lockTarget) then { if (!isNull _unit) then { - ["lockVehicle", _target, _target] call FUNC(targetEvent); + ["lockVehicle", _target, _target] call CBA_fnc_targetEvent; } else { - ["unlockVehicle", _target, _target] call FUNC(targetEvent); + ["unlockVehicle", _target, _target] call CBA_fnc_targetEvent; }; }; diff --git a/addons/common/functions/fnc_doAnimation.sqf b/addons/common/functions/fnc_doAnimation.sqf index bfd50b08b8..b9cbf2f4b3 100644 --- a/addons/common/functions/fnc_doAnimation.sqf +++ b/addons/common/functions/fnc_doAnimation.sqf @@ -41,34 +41,34 @@ TRACE_2("",local _unit,vehicle _unit); switch (_priority) do { case 0: { if (_unit == vehicle _unit) then { - ["playMove", _unit, [_unit, _animation]] call FUNC(objectEvent); + ["playMove", [_unit, _animation], _unit] call CBA_fnc_targetEvent; } else { // Execute on all machines. PlayMove and PlayMoveNow are bugged: They have no global effects when executed on remote machines inside vehicles. - ["playMove", [_unit, _animation]] call FUNC(globalEvent); + ["playMove", [_unit, _animation]] call CBA_fnc_globalEvent; }; }; case 1: { if (_unit == vehicle _unit) then { - ["playMoveNow", _unit, [_unit, _animation]] call FUNC(objectEvent); + ["playMoveNow", [_unit, _animation], _unit] call CBA_fnc_targetEvent; } else { // Execute on all machines. PlayMove and PlayMoveNow are bugged: They have no global effects when executed on remote machines inside vehicles. - ["playMoveNow", [_unit, _animation]] call FUNC(globalEvent); + ["playMoveNow", [_unit, _animation]] call CBA_fnc_globalEvent; }; }; case 2: { // try playMoveNow first if (_unit == vehicle _unit) then { - ["playMoveNow", _unit, [_unit, _animation]] call FUNC(objectEvent); + ["playMoveNow", [_unit, _animation], _unit] call CBA_fnc_targetEvent; } else { // Execute on all machines. PlayMove and PlayMoveNow are bugged: They have no global effects when executed on remote machines inside vehicles. - ["playMoveNow", [_unit, _animation]] call FUNC(globalEvent); + ["playMoveNow", [_unit, _animation]] call CBA_fnc_globalEvent; }; // if animation doesn't respond, do switchMove if (animationState _unit != _animation) then { TRACE_1("did not respond to playMoveNow",animationState _unit); // Execute on all machines. SwitchMove has local effects. - ["switchMove", [_unit, _animation]] call FUNC(globalEvent); + ["switchMove", [_unit, _animation]] call CBA_fnc_globalEvent; }; }; default {}; diff --git a/addons/common/functions/fnc_firedEH.sqf b/addons/common/functions/fnc_firedEH.sqf index d70f0a8650..ba2ca1923c 100644 --- a/addons/common/functions/fnc_firedEH.sqf +++ b/addons/common/functions/fnc_firedEH.sqf @@ -26,12 +26,12 @@ TRACE_7("firedEH:",_unit, _weapon, _muzzle, _mode, _ammo, _magazine, _projectile if (_unit isKindOf "CAManBase") then { // The unit it on foot if (_unit == ACE_player) then { - ["firedPlayer", _this] call FUNC(localEvent); + ["firedPlayer", _this] call CBA_fnc_localEvent; } else { if ([_unit] call EFUNC(common,isPlayer)) then { - ["firedPlayerNonLocal", _this] call FUNC(localEvent); + ["firedPlayerNonLocal", _this] call CBA_fnc_localEvent; } else { - ["firedNonPlayer", _this] call FUNC(localEvent); + ["firedNonPlayer", _this] call CBA_fnc_localEvent; }; }; } else { @@ -55,12 +55,12 @@ if (_unit isKindOf "CAManBase") then { }; if (_gunner == ACE_player) then { - ["firedPlayerVehicle", _this] call FUNC(localEvent); + ["firedPlayerVehicle", _this] call CBA_fnc_localEvent; } else { if ([_gunner] call EFUNC(common,isPlayer)) then { - ["firedPlayerVehicleNonLocal", _this] call FUNC(localEvent); + ["firedPlayerVehicleNonLocal", _this] call CBA_fnc_localEvent; } else { - ["firedNonPlayerVehicle", _this] call FUNC(localEvent); + ["firedNonPlayerVehicle", _this] call CBA_fnc_localEvent; }; }; }; diff --git a/addons/common/functions/fnc_fixFloating.sqf b/addons/common/functions/fnc_fixFloating.sqf index 1d8da1c8a4..dfd9e431cd 100644 --- a/addons/common/functions/fnc_fixFloating.sqf +++ b/addons/common/functions/fnc_fixFloating.sqf @@ -21,7 +21,7 @@ if (!local _object) exitWith {}; if (_object isKindOf "CAManBase") exitWith {}; //We need to manually set allowDamage to true for setHitIndex to function -["blockDamage", [_object, 0]] call FUNC(localEvent); +["blockDamage", [_object, 0]] call CBA_fnc_localEvent; // save and restore hitpoints, see below why private _hitPointDamages = getAllHitPointsDamage _object; @@ -41,4 +41,4 @@ _object setDamage damage _object; //manually re-enable allowDamage to previous setting (ref statusEffect_funcs) private _effectVarName = format [QGVAR(effect_%1), "blockDamage"]; private _effectNumber = _object getVariable [_effectVarName, 0]; -["blockDamage", [_object, _effectNumber]] call FUNC(localEvent); +["blockDamage", [_object, _effectNumber]] call CBA_fnc_localEvent; diff --git a/addons/common/functions/fnc_headBugFix.sqf b/addons/common/functions/fnc_headBugFix.sqf index dffb28ff4b..bb9e0c219f 100644 --- a/addons/common/functions/fnc_headBugFix.sqf +++ b/addons/common/functions/fnc_headBugFix.sqf @@ -17,8 +17,8 @@ private _unit = ACE_player; private _anim = animationState _unit; -["HeadbugFixUsed", [profileName, _anim]] call FUNC(serverEvent); -["HeadbugFixUsed", [profileName, _anim]] call FUNC(localEvent); +["HeadbugFixUsed", [profileName, _anim]] call CBA_fnc_serverEvent; +["HeadbugFixUsed", [profileName, _anim]] call CBA_fnc_localEvent; if (_unit != vehicle _unit || {!([_unit, objNull, ["isNotSitting"]] call FUNC(canInteractWith))}) exitWith {false}; diff --git a/addons/common/functions/fnc_hideUnit.sqf b/addons/common/functions/fnc_hideUnit.sqf index 85636a08f7..ef2bafb559 100644 --- a/addons/common/functions/fnc_hideUnit.sqf +++ b/addons/common/functions/fnc_hideUnit.sqf @@ -28,5 +28,5 @@ if !(_reason in _setHiddenReasons) then { }; if !(isObjectHidden _unit) then { - ["hideObjectGlobal", [_unit, true]] call FUNC(serverEvent); + ["hideObjectGlobal", [_unit, true]] call CBA_fnc_serverEvent; }; diff --git a/addons/common/functions/fnc_loadPerson.sqf b/addons/common/functions/fnc_loadPerson.sqf index 6c728134d1..8e6b768f76 100644 --- a/addons/common/functions/fnc_loadPerson.sqf +++ b/addons/common/functions/fnc_loadPerson.sqf @@ -32,7 +32,7 @@ private _nearVehicles = nearestObjects [_unit, ["Car", "Air", "Tank", "Ship_F"], if (!isNull _vehicle) then { [_unit, true, GROUP_SWITCH_ID, side group _caller] call FUNC(switchToGroupSide); - ["loadPersonEvent", _unit, [_unit, _vehicle, _caller]] call FUNC(objectEvent); + ["loadPersonEvent", [_unit, _vehicle, _caller], _unit] call CBA_fnc_targetEvent; }; _vehicle diff --git a/addons/common/functions/fnc_muteUnit.sqf b/addons/common/functions/fnc_muteUnit.sqf index d4648155b6..d2448577e1 100644 --- a/addons/common/functions/fnc_muteUnit.sqf +++ b/addons/common/functions/fnc_muteUnit.sqf @@ -29,6 +29,6 @@ private _speaker = speaker _unit; if (_speaker == "ACE_NoVoice") exitWith {}; -["setSpeaker", [_unit, "ACE_NoVoice"]] call FUNC(globalEvent); +["setSpeaker", [_unit, "ACE_NoVoice"]] call CBA_fnc_globalEvent; _unit setVariable ["ACE_OriginalSpeaker", _speaker, true]; diff --git a/addons/common/functions/fnc_muteUnitHandleInitPost.sqf b/addons/common/functions/fnc_muteUnitHandleInitPost.sqf index 8c5967b0d3..08be3a3e19 100644 --- a/addons/common/functions/fnc_muteUnitHandleInitPost.sqf +++ b/addons/common/functions/fnc_muteUnitHandleInitPost.sqf @@ -16,5 +16,5 @@ params ["_unit"]; // setSpeaker gets overwritten after init on remote units; if unit is muted, setSpeaker again if (count (_unit getVariable [QGVAR(muteUnitReasons), []]) > 0) then { - ["setSpeaker", [_unit, "ACE_NoVoice"]] call FUNC(localEvent); + ["setSpeaker", [_unit, "ACE_NoVoice"]] call CBA_fnc_localEvent; }; diff --git a/addons/common/functions/fnc_muteUnitHandleRespawn.sqf b/addons/common/functions/fnc_muteUnitHandleRespawn.sqf index a1a64eada3..47a55aa615 100644 --- a/addons/common/functions/fnc_muteUnitHandleRespawn.sqf +++ b/addons/common/functions/fnc_muteUnitHandleRespawn.sqf @@ -18,4 +18,4 @@ params ["_unit"]; _unit setVariable [QGVAR(muteUnitReasons), _unit getVariable [QGVAR(muteUnitReasons), []], true]; // fix mp issues with respawning and the speaker -["setSpeaker", [_unit, speaker _unit]] call FUNC(globalEvent); +["setSpeaker", [_unit, speaker _unit]] call CBA_fnc_globalEvent; diff --git a/addons/common/functions/fnc_progressBar.sqf b/addons/common/functions/fnc_progressBar.sqf index 6129f14a65..b39fd8fd73 100644 --- a/addons/common/functions/fnc_progressBar.sqf +++ b/addons/common/functions/fnc_progressBar.sqf @@ -82,13 +82,13 @@ _ctrlPos set [1, ((0 + 29 * GVAR(settingProgressBarLocation)) * ((((safezoneW / if (_errorCode == 0) then { if (_onFinish isEqualType "") then { - [_onFinish, [_args, _elapsedTime, _totalTime, _errorCode]] call FUNC(localEvent); + [_onFinish, [_args, _elapsedTime, _totalTime, _errorCode]] call CBA_fnc_localEvent; } else { [_args, _elapsedTime, _totalTime, _errorCode] call _onFinish; }; } else { if (_onFail isEqualType "") then { - [_onFail, [_args, _elapsedTime, _totalTime, _errorCode]] call FUNC(localEvent); + [_onFail, [_args, _elapsedTime, _totalTime, _errorCode]] call CBA_fnc_localEvent; } else { [_args, _elapsedTime, _totalTime, _errorCode] call _onFail; }; diff --git a/addons/common/functions/fnc_removeSyncedEventHandler.sqf b/addons/common/functions/fnc_removeSyncedEventHandler.sqf index 23803acdd1..23735a120f 100644 --- a/addons/common/functions/fnc_removeSyncedEventHandler.sqf +++ b/addons/common/functions/fnc_removeSyncedEventHandler.sqf @@ -22,5 +22,5 @@ if (!HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith { private _data = HASH_GET(GVAR(syncedEvents),_name); _data params ["", "", "", "_eventId"]; -[_eventId] call FUNC(removeEventHandler); +[_eventId] call CBA_fnc_removeEventHandler; HASH_REM(GVAR(syncedEvents),_name); diff --git a/addons/common/functions/fnc_requestSyncedEvent.sqf b/addons/common/functions/fnc_requestSyncedEvent.sqf index 7cbc8f6c8d..b89256246a 100644 --- a/addons/common/functions/fnc_requestSyncedEvent.sqf +++ b/addons/common/functions/fnc_requestSyncedEvent.sqf @@ -17,4 +17,4 @@ params ["_eventName"]; // Only JIP machines on initialization send this off, requesting sync on events with the serverCommand if (isServer) exitWith {false}; -["SEH_s", [_eventName, ACE_player] ] call FUNC(serverEvent); +["SEH_s", [_eventName, ACE_player] ] call CBA_fnc_serverEvent; diff --git a/addons/common/functions/fnc_setSetting.sqf b/addons/common/functions/fnc_setSetting.sqf index a2bd9e700e..b5b7f3a6ec 100644 --- a/addons/common/functions/fnc_setSetting.sqf +++ b/addons/common/functions/fnc_setSetting.sqf @@ -78,8 +78,8 @@ if (isServer && {_broadcastChanges}) then { publicVariable _name; // Raise event globally, this publicizes eventual changes in _force status so clients can update it locally - ["SettingChanged", [_name, _value, _force]] call FUNC(globalEvent); + ["SettingChanged", [_name, _value, _force]] call CBA_fnc_globalEvent; } else { // Raise event locally - ["SettingChanged", [_name, _value, _force]] call FUNC(localEvent); + ["SettingChanged", [_name, _value, _force]] call CBA_fnc_localEvent; }; diff --git a/addons/common/functions/fnc_statusEffect_sendEffects.sqf b/addons/common/functions/fnc_statusEffect_sendEffects.sqf index 4291de1ad8..078c6a0338 100644 --- a/addons/common/functions/fnc_statusEffect_sendEffects.sqf +++ b/addons/common/functions/fnc_statusEffect_sendEffects.sqf @@ -32,15 +32,15 @@ if (isNull _object) exitWith {}; if (_effectNumber != -1) then { if (GVAR(statusEffect_isGlobal) select _forEachIndex) then { TRACE_2("Sending Global Event", _object, _effectNumber); - [_x, [_object, _effectNumber]] call FUNC(globalEvent); + [_x, [_object, _effectNumber]] call CBA_fnc_globalEvent; } else { if (local _object) then { //If local, send directly to bypass network delay of targetEvent call TRACE_2("Sending Target Local Event", _object, _effectNumber); - [_x, [_object, _effectNumber]] call FUNC(localEvent); + [_x, [_object, _effectNumber]] call CBA_fnc_localEvent; } else { TRACE_2("Sending Target Non-Local Event", _object, _effectNumber); - [_x, [_object], [_object, _effectNumber]] call FUNC(targetEvent); + [_x, [_object, _effectNumber], [_object]] call CBA_fnc_targetEvent; }; }; }; diff --git a/addons/common/functions/fnc_syncedEvent.sqf b/addons/common/functions/fnc_syncedEvent.sqf index c752d1eba2..3964d23afc 100644 --- a/addons/common/functions/fnc_syncedEvent.sqf +++ b/addons/common/functions/fnc_syncedEvent.sqf @@ -23,4 +23,4 @@ if (!HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith { private _eventData = [_name, _args, _ttl]; -["SEH", _eventData] call FUNC(globalEvent); +["SEH", _eventData] call CBA_fnc_globalEvent; diff --git a/addons/common/functions/fnc_unhideUnit.sqf b/addons/common/functions/fnc_unhideUnit.sqf index 908dbf3dc8..2d1889065d 100644 --- a/addons/common/functions/fnc_unhideUnit.sqf +++ b/addons/common/functions/fnc_unhideUnit.sqf @@ -28,5 +28,5 @@ if (_reason in _setHiddenReasons) then { }; if (_setHiddenReasons isEqualTo []) then { - ["hideObjectGlobal",[_unit,false]] call FUNC(serverEvent); + ["hideObjectGlobal",[_unit,false]] call CBA_fnc_serverEvent; }; diff --git a/addons/common/functions/fnc_unloadPerson.sqf b/addons/common/functions/fnc_unloadPerson.sqf index 72816f2c3f..2096b18836 100644 --- a/addons/common/functions/fnc_unloadPerson.sqf +++ b/addons/common/functions/fnc_unloadPerson.sqf @@ -26,7 +26,7 @@ if (_vehicle == _unit) exitWith {false}; if (speed _vehicle > 1 || {((getPos _vehicle) select 2) > 2}) exitWith {false}; if (!isNull _vehicle) then { - ["unloadPersonEvent", [_unit], [_unit, _vehicle]] call EFUNC(common,targetEvent); + ["unloadPersonEvent", [_unit, _vehicle], [_unit]] call CBA_fnc_targetEvent; }; true diff --git a/addons/common/functions/fnc_unloadPersonLocal.sqf b/addons/common/functions/fnc_unloadPersonLocal.sqf index ff5813434a..adbbe0d9a9 100644 --- a/addons/common/functions/fnc_unloadPersonLocal.sqf +++ b/addons/common/functions/fnc_unloadPersonLocal.sqf @@ -27,7 +27,7 @@ if (count _emptyPos != 3) exitwith { ACE_LOGWARNING_4("Could not find unload pos %1-ASL: %2 isTouchingGround: %3 Speed: %4",_vehicle, getPosASL _vehicle, isTouchingGround _vehicle, speed _vehicle); if ((!isNull _unloader) && {[_unloader] call FUNC(isPlayer)}) then { //display text saying there are no safe places to exit the vehicle - ["displayTextStructured", [_unloader], [localize LSTRING(NoRoomToUnload)]] call FUNC(targetEvent); + ["displayTextStructured", [localize LSTRING(NoRoomToUnload)], [_unloader]] call CBA_fnc_targetEvent; }; false }; diff --git a/addons/common/functions/fnc_unmuteUnit.sqf b/addons/common/functions/fnc_unmuteUnit.sqf index a995eed244..c8e450016d 100644 --- a/addons/common/functions/fnc_unmuteUnit.sqf +++ b/addons/common/functions/fnc_unmuteUnit.sqf @@ -32,4 +32,4 @@ private _speaker = _unit getVariable ["ACE_OriginalSpeaker", ""]; if (_speaker == "") exitWith {}; -["setSpeaker", _unit, [_unit, _speaker]] call FUNC(targetEvent); +["setSpeaker", [_unit, _speaker], _unit] call CBA_fnc_targetEvent; diff --git a/addons/concertina_wire/XEH_postInit.sqf b/addons/concertina_wire/XEH_postInit.sqf index 58bd1f63c7..361b561f0b 100644 --- a/addons/concertina_wire/XEH_postInit.sqf +++ b/addons/concertina_wire/XEH_postInit.sqf @@ -8,6 +8,6 @@ GVAR(deployPFH) = -1; if (GVAR(deployPFH) != -1) then { GVAR(placer) setVariable [QGVAR(wireDeployed), true]; }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; -[QGVAR(vehicleDamage), {_this call FUNC(vehicleDamage)}] call EFUNC(common,addEventHandler); +[QGVAR(vehicleDamage), {_this call FUNC(vehicleDamage)}] call CBA_fnc_addEventHandler; diff --git a/addons/concertina_wire/functions/fnc_handleKilled.sqf b/addons/concertina_wire/functions/fnc_handleKilled.sqf index 1af3f93151..fa03b58972 100644 --- a/addons/concertina_wire/functions/fnc_handleKilled.sqf +++ b/addons/concertina_wire/functions/fnc_handleKilled.sqf @@ -34,4 +34,4 @@ if (_distance > 14 || {_distance < 2}) exitWith {}; // Fix if shooting wire _vehicle = vehicle _killer; -[QGVAR(vehicleDamage), [_vehicle], [_wire, _vehicle]] call EFUNC(common,targetEvent); +[QGVAR(vehicleDamage), [_wire, _vehicle], [_vehicle]] call CBA_fnc_targetEvent; diff --git a/addons/dagr/XEH_postInit.sqf b/addons/dagr/XEH_postInit.sqf index 883a73d418..bcfc91061a 100644 --- a/addons/dagr/XEH_postInit.sqf +++ b/addons/dagr/XEH_postInit.sqf @@ -30,4 +30,4 @@ GVAR(vectorConnected) = false; GVAR(noVectorData) = true; GVAR(vectorGrid) = "00000000"; -["RangerfinderData", FUNC(handleRangeFinderData)] call EFUNC(common,addEventHandler); +["RangerfinderData", FUNC(handleRangeFinderData)] call CBA_fnc_addEventHandler; diff --git a/addons/disarming/XEH_postInit.sqf b/addons/disarming/XEH_postInit.sqf index ef17e6e96a..82a77e182c 100644 --- a/addons/disarming/XEH_postInit.sqf +++ b/addons/disarming/XEH_postInit.sqf @@ -1,4 +1,4 @@ #include "script_component.hpp" -["DisarmDropItems", FUNC(eventTargetStart)] call EFUNC(common,addEventHandler); -["DisarmDebugCallback", FUNC(eventCallerFinish)] call EFUNC(common,addEventHandler); +["DisarmDropItems", FUNC(eventTargetStart)] call CBA_fnc_addEventHandler; +["DisarmDebugCallback", FUNC(eventCallerFinish)] call CBA_fnc_addEventHandler; diff --git a/addons/disarming/functions/fnc_eventTargetFinish.sqf b/addons/disarming/functions/fnc_eventTargetFinish.sqf index b7364a8f40..e6c6782d85 100644 --- a/addons/disarming/functions/fnc_eventTargetFinish.sqf +++ b/addons/disarming/functions/fnc_eventTargetFinish.sqf @@ -23,5 +23,5 @@ params ["_caller", "_target", "_errorMsg"]; if (_errorMsg != "") then { ACE_LOGINFO_2("%1 - eventTargetFinish: %2",ACE_time,_this); - ["DisarmDebugCallback", [_caller], [_caller, _target, _errorMsg]] call EFUNC(common,targetEvent); + ["DisarmDebugCallback", [_caller, _target, _errorMsg], [_caller]] call CBA_fnc_targetEvent; }; diff --git a/addons/disarming/functions/fnc_openDisarmDialog.sqf b/addons/disarming/functions/fnc_openDisarmDialog.sqf index 92f98a0756..fc66170d01 100644 --- a/addons/disarming/functions/fnc_openDisarmDialog.sqf +++ b/addons/disarming/functions/fnc_openDisarmDialog.sqf @@ -42,7 +42,7 @@ GVAR(disarmTarget) = _target; if (isNull GVAR(disarmTarget)) exitWith {ERROR("disarmTarget is null");}; TRACE_2("Debug: Droping %1 from %2",_data,GVAR(disarmTarget)); - ["DisarmDropItems", [GVAR(disarmTarget)], [ACE_player, GVAR(disarmTarget), [_data]]] call EFUNC(common,targetEvent); + ["DisarmDropItems", [ACE_player, GVAR(disarmTarget), [_data]], [GVAR(disarmTarget)]] call CBA_fnc_targetEvent; false //not sure what this does }]; diff --git a/addons/disposable/XEH_postInit.sqf b/addons/disposable/XEH_postInit.sqf index 94ad62b1cc..520ff67691 100644 --- a/addons/disposable/XEH_postInit.sqf +++ b/addons/disposable/XEH_postInit.sqf @@ -7,9 +7,9 @@ if (!hasInterface) exitWith {}; params ["_unit"]; [_unit] call FUNC(takeLoadedATWeapon); [_unit] call FUNC(updateInventoryDisplay); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; // Register fire event handler // Only for the local player and for AI. Non-local players will handle it themselves -["firedPlayer", DFUNC(replaceATWeapon)] call EFUNC(common,addEventHandler); -["firedNonPlayer", DFUNC(replaceATWeapon)] call EFUNC(common,addEventHandler); +["firedPlayer", DFUNC(replaceATWeapon)] call CBA_fnc_addEventHandler; +["firedNonPlayer", DFUNC(replaceATWeapon)] call CBA_fnc_addEventHandler; diff --git a/addons/dragging/XEH_postInit.sqf b/addons/dragging/XEH_postInit.sqf index 9e20d8ee60..101463eb28 100644 --- a/addons/dragging/XEH_postInit.sqf +++ b/addons/dragging/XEH_postInit.sqf @@ -20,11 +20,11 @@ if (isNil "ACE_maxWeightCarry") then { ["isNotCarrying", {!((_this select 0) getVariable [QGVAR(isCarrying), false])}] call EFUNC(common,addCanInteractWithCondition); // release object on player change. This does work when returning to lobby, but not when hard disconnecting. -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); -["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); -["playerWeaponChanged", {_this call FUNC(handlePlayerWeaponChanged)}] call EFUNC(common,addEventhandler); +["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["playerWeaponChanged", {_this call FUNC(handlePlayerWeaponChanged)}] call CBA_fnc_addEventHandler; // handle waking up dragged unit and falling unconscious while dragging -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call EFUNC(common,addEventhandler); +["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; //@todo Captivity? diff --git a/addons/dragging/functions/fnc_carryObject.sqf b/addons/dragging/functions/fnc_carryObject.sqf index ec00693825..69aa930884 100644 --- a/addons/dragging/functions/fnc_carryObject.sqf +++ b/addons/dragging/functions/fnc_carryObject.sqf @@ -44,7 +44,7 @@ if (_target isKindOf "CAManBase") then { _target attachTo [_unit, _position]; }; -["setDir", _target, [_target, _direction]] call EFUNC(common,targetEvent); +["setDir", [_target, _direction], _target] call CBA_fnc_targetEvent; _unit setVariable [QGVAR(isCarrying), true, true]; _unit setVariable [QGVAR(carriedObject), _target, true]; diff --git a/addons/dragging/functions/fnc_dragObject.sqf b/addons/dragging/functions/fnc_dragObject.sqf index 3237ddbb07..df17976973 100644 --- a/addons/dragging/functions/fnc_dragObject.sqf +++ b/addons/dragging/functions/fnc_dragObject.sqf @@ -33,7 +33,7 @@ _position = _position vectorAdd [0, 0, _offset]; // attach object TRACE_3("attaching",_position,_offset,_direction); _target attachTo [_unit, _position]; -["setDir", _target, [_target, _direction]] call EFUNC(common,targetEvent); +["setDir", [_target, _direction], _target] call CBA_fnc_targetEvent; if (_target isKindOf "CAManBase") then { [_target, "AinjPpneMrunSnonWnonDb_still", 0, true] call EFUNC(common,doAnimation); diff --git a/addons/dragging/functions/fnc_dropObject.sqf b/addons/dragging/functions/fnc_dropObject.sqf index 604f6c25b7..6cd2869a4b 100644 --- a/addons/dragging/functions/fnc_dropObject.sqf +++ b/addons/dragging/functions/fnc_dropObject.sqf @@ -30,8 +30,8 @@ if !(_unit getVariable ["ACE_isUnconscious", false]) then { }; // prevent collision damage -["fixCollision", _unit] call EFUNC(common,localEvent); -["fixCollision", _target, _target] call EFUNC(common,targetEvent); +["fixCollision", _unit] call CBA_fnc_localEvent; +["fixCollision", _target, _target] call CBA_fnc_targetEvent; // release object detach _target; @@ -62,8 +62,8 @@ _unit setVariable [QGVAR(draggedObject), objNull, true]; [objNull, _target, true] call EFUNC(common,claim); if !(_target isKindOf "CAManBase") then { - ["fixPosition", _target, _target] call EFUNC(common,targetEvent); - ["fixFloating", _target, _target] call EFUNC(common,targetEvent); + ["fixPosition", _target, _target] call CBA_fnc_targetEvent; + ["fixFloating", _target, _target] call CBA_fnc_targetEvent; }; if (_unit getVariable ["ACE_isUnconscious", false]) then { diff --git a/addons/dragging/functions/fnc_dropObject_carry.sqf b/addons/dragging/functions/fnc_dropObject_carry.sqf index 2002142e2e..1e25403c1d 100644 --- a/addons/dragging/functions/fnc_dropObject_carry.sqf +++ b/addons/dragging/functions/fnc_dropObject_carry.sqf @@ -25,8 +25,8 @@ TRACE_2("params",_unit,_target); private _inBuilding = [_unit] call FUNC(isObjectOnObject); // prevent collision damage -["fixCollision", _unit] call EFUNC(common,localEvent); -["fixCollision", _target, _target] call EFUNC(common,targetEvent); +["fixCollision", _unit] call CBA_fnc_localEvent; +["fixCollision", _target, _target] call CBA_fnc_targetEvent; // release object detach _target; @@ -67,8 +67,8 @@ _unit setVariable [QGVAR(carriedObject), objNull, true]; [objNull, _target, true] call EFUNC(common,claim); if !(_target isKindOf "CAManBase") then { - ["fixPosition", _target, _target] call EFUNC(common,targetEvent); - ["fixFloating", _target, _target] call EFUNC(common,targetEvent); + ["fixPosition", _target, _target] call CBA_fnc_targetEvent; + ["fixFloating", _target, _target] call CBA_fnc_targetEvent; }; // recreate UAV crew diff --git a/addons/dragging/functions/fnc_handleScrollWheel.sqf b/addons/dragging/functions/fnc_handleScrollWheel.sqf index c97284618c..0413e51efe 100644 --- a/addons/dragging/functions/fnc_handleScrollWheel.sqf +++ b/addons/dragging/functions/fnc_handleScrollWheel.sqf @@ -42,6 +42,6 @@ _carriedItem attachTo [_unit]; //reset the carry direction private _direction = _carriedItem getVariable [QGVAR(carryDirection), 0]; -["setDir", _carriedItem, [_carriedItem, _direction]] call EFUNC(common,targetEvent); +["setDir", [_carriedItem, _direction], _carriedItem] call CBA_fnc_targetEvent; true diff --git a/addons/explosives/XEH_postInit.sqf b/addons/explosives/XEH_postInit.sqf index fe12a88b7f..9b21dedc73 100644 --- a/addons/explosives/XEH_postInit.sqf +++ b/addons/explosives/XEH_postInit.sqf @@ -16,7 +16,7 @@ #include "script_component.hpp" //Event for setting explosive placement angle/pitch: -[QGVAR(place), {_this call FUNC(setPosition)}] call EFUNC(common,addEventHandler); +[QGVAR(place), {_this call FUNC(setPosition)}] call CBA_fnc_addEventHandler; //When getting knocked out in medical, trigger deadman explosives: //Event is global, only run on server (ref: ace_medical_fnc_setUnconscious) @@ -26,7 +26,7 @@ if (isServer) then { if (!_isUnconscious) exitWith {}; TRACE_1("Knocked Out, Doing Deadman", _unit); [_unit] call FUNC(onIncapacitated); - }] call EFUNC(common,addEventHandler); + }] call CBA_fnc_addEventHandler; ["clientRequestsOrientations", { params ["_logic"]; @@ -37,8 +37,8 @@ if (isServer) then { (!isNull _explosive && {alive _explosive}) }; TRACE_1("serverSendsOrientations sent:",GVAR(explosivesOrientations)); - ["serverSendsOrientations", _logic, [GVAR(explosivesOrientations)]] call EFUNC(common,targetEvent); - }] call EFUNC(common,addEventHandler); + ["serverSendsOrientations", [GVAR(explosivesOrientations)], _logic] call CBA_fnc_targetEvent; + }] call CBA_fnc_addEventHandler; }; if (!hasInterface) exitWith {}; @@ -61,12 +61,12 @@ if (didJIP) then { } forEach _explosivesOrientations; deleteVehicle GVAR(localLogic); GVAR(localLogic) = nil; - }] call EFUNC(common,addEventHandler); + }] call CBA_fnc_addEventHandler; // Create a logic to get the client ID GVAR(localLogic) = ([sideLogic] call CBA_fnc_getSharedGroup) createUnit ["Logic", [0,0,0], [], 0, "NONE"]; TRACE_1("clientRequestsOrientations sent:",GVAR(localLogic)); - ["clientRequestsOrientations", [GVAR(localLogic)]] call EFUNC(common,serverEvent); + ["clientRequestsOrientations", [GVAR(localLogic)]] call CBA_fnc_serverEvent; }; ["interactMenuOpened", { @@ -78,4 +78,4 @@ if (didJIP) then { //Show defuse actions on CfgAmmos (allMines): _this call FUNC(interactEH); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/explosives/functions/fnc_defuseExplosive.sqf b/addons/explosives/functions/fnc_defuseExplosive.sqf index 147d722987..b98b992f8e 100644 --- a/addons/explosives/functions/fnc_defuseExplosive.sqf +++ b/addons/explosives/functions/fnc_defuseExplosive.sqf @@ -22,8 +22,8 @@ TRACE_2("params",_unit,_explosive); if (GVAR(ExplodeOnDefuse) && {(random 1.0) < (getNumber (ConfigFile >> "CfgAmmo" >> typeOf _explosive >> QGVAR(explodeOnDefuseChance)))}) exitWith { TRACE_1("exploding on defuse",_explosive); [_unit, -1, [_explosive, 1], true] call FUNC(detonateExplosive); - [QGVAR(explodeOnDefuse), [_explosive, _unit]] call EFUNC(common,globalEvent); + [QGVAR(explodeOnDefuse), [_explosive, _unit]] call CBA_fnc_globalEvent; }; _unit action ["Deactivate", _unit, _explosive]; -[QGVAR(defuse), [_explosive, _unit]] call EFUNC(common,globalEvent); +[QGVAR(defuse), [_explosive, _unit]] call CBA_fnc_globalEvent; diff --git a/addons/explosives/functions/fnc_placeExplosive.sqf b/addons/explosives/functions/fnc_placeExplosive.sqf index 83cdb2fef8..455b768b97 100644 --- a/addons/explosives/functions/fnc_placeExplosive.sqf +++ b/addons/explosives/functions/fnc_placeExplosive.sqf @@ -95,6 +95,6 @@ if (isText(_triggerConfig >> "onPlace") && {[_unit,_explosive,_magazineClass,_tr _pitch = getNumber (_magazineTrigger >> "pitch"); //Globaly set the position and angle: -[QGVAR(place), [_explosive, _dir, _pitch, _unit]] call EFUNC(common,globalEvent); +[QGVAR(place), [_explosive, _dir, _pitch, _unit]] call CBA_fnc_globalEvent; _explosive diff --git a/addons/fastroping/CfgVehicles.hpp b/addons/fastroping/CfgVehicles.hpp index 609e386e68..9182064157 100644 --- a/addons/fastroping/CfgVehicles.hpp +++ b/addons/fastroping/CfgVehicles.hpp @@ -48,7 +48,7 @@ class CfgVehicles { class ACE_deployRopes { displayName = CSTRING(Interaction_deployRopes); condition = QUOTE([ARR_2(_player, vehicle _player)] call FUNC(canDeployRopes)); - statement = QUOTE([ARR_2(QUOTE(QGVAR(deployRopes)), [vehicle _player])] call EFUNC(common,serverEvent)); + statement = QUOTE([ARR_2(QUOTE(QGVAR(deployRopes)), [vehicle _player])] call CBA_fnc_serverEvent); showDisabled = 0; priority = 1; }; diff --git a/addons/fastroping/XEH_postInit.sqf b/addons/fastroping/XEH_postInit.sqf index ae88feaa76..752ac2f756 100644 --- a/addons/fastroping/XEH_postInit.sqf +++ b/addons/fastroping/XEH_postInit.sqf @@ -2,8 +2,8 @@ [QGVAR(deployRopes), { _this call FUNC(deployRopes); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; [QGVAR(startFastRope), { [FUNC(fastRopeServerPFH), 0, _this] call CBA_fnc_addPerFrameHandler; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/fastroping/functions/fnc_fastRope.sqf b/addons/fastroping/functions/fnc_fastRope.sqf index 17991c538e..b941bc4c13 100644 --- a/addons/fastroping/functions/fnc_fastRope.sqf +++ b/addons/fastroping/functions/fnc_fastRope.sqf @@ -35,6 +35,6 @@ _deployedRopes set [_usableRopeIndex, _usableRope]; _vehicle setVariable [QGVAR(deployedRopes), _deployedRopes, true]; //Start server PFH asap -[QGVAR(startFastRope), [_unit, _vehicle, _usableRope, _usableRopeIndex, false]] call EFUNC(common,serverEvent); +[QGVAR(startFastRope), [_unit, _vehicle, _usableRope, _usableRopeIndex, false]] call CBA_fnc_serverEvent; moveOut _unit; [FUNC(fastRopeLocalPFH), 0, [_unit, _vehicle, _usableRope, _usableRopeIndex, ACE_diagTime]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/fcs/XEH_postInit.sqf b/addons/fcs/XEH_postInit.sqf index 25fd09ba8c..5fd2af9ccf 100644 --- a/addons/fcs/XEH_postInit.sqf +++ b/addons/fcs/XEH_postInit.sqf @@ -13,11 +13,11 @@ if (!hasInterface) exitWith {}; uiNamespace setVariable ["ACE_dlgRangefinder", _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0,0,0,0]; }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; // Register fire event handler -["firedPlayerVehicle", DFUNC(firedEH)] call EFUNC(common,addEventHandler); -["firedPlayerVehicleNonLocal", DFUNC(firedEH)] call EFUNC(common,addEventHandler); +["firedPlayerVehicle", DFUNC(firedEH)] call CBA_fnc_addEventHandler; +["firedPlayerVehicleNonLocal", DFUNC(firedEH)] call CBA_fnc_addEventHandler; // Register event for global updates -[QGVAR(forceUpdate), {[ACE_player] call FUNC(onForceUpdate)}] call EFUNC(common,addEventHandler); +[QGVAR(forceUpdate), {[ACE_player] call FUNC(onForceUpdate)}] call CBA_fnc_addEventHandler; diff --git a/addons/finger/XEH_postInit.sqf b/addons/finger/XEH_postInit.sqf index 94a22d7224..e36872dc8d 100644 --- a/addons/finger/XEH_postInit.sqf +++ b/addons/finger/XEH_postInit.sqf @@ -10,7 +10,7 @@ GVAR(pfeh_id) = -1; //If not enabled, dont't bother adding keybind or eventhandler if (!GVAR(enabled)) exitWith {}; - [QGVAR(fingered), {_this call FUNC(incomingFinger)}] call EFUNC(common,addEventHandler); + [QGVAR(fingered), {_this call FUNC(incomingFinger)}] call CBA_fnc_addEventHandler; ["ACE3 Common", QGVAR(finger), @@ -20,4 +20,4 @@ GVAR(pfeh_id) = -1; }, {false}, [41, [true, false, false]], true] call CBA_fnc_addKeybind; // Shift + Tilda (hold) -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/finger/functions/fnc_keyPress.sqf b/addons/finger/functions/fnc_keyPress.sqf index 1ce83d62dc..e957a1f72d 100644 --- a/addons/finger/functions/fnc_keyPress.sqf +++ b/addons/finger/functions/fnc_keyPress.sqf @@ -55,7 +55,7 @@ _nearbyMen = (ACE_player nearObjects ["CAManBase", (GVAR(maxRange) + 2)]); TRACE_1("sending finger to",_sendFingerToPlayers); -[QGVAR(fingered), _sendFingerToPlayers, [ACE_player, _fingerPosPrecise]] call EFUNC(common,targetEvent); +[QGVAR(fingered), [ACE_player, _fingerPosPrecise], _sendFingerToPlayers] call CBA_fnc_targetEvent; ACE_player playActionNow "GestureGo"; diff --git a/addons/frag/XEH_postInit.sqf b/addons/frag/XEH_postInit.sqf index 977866e24e..6dc34340b9 100644 --- a/addons/frag/XEH_postInit.sqf +++ b/addons/frag/XEH_postInit.sqf @@ -6,7 +6,7 @@ if(GVAR(EnableDebugTrace) && !isMultiplayer) then { }; if(isServer) then { - [QGVAR(frag_eh), { _this call FUNC(frago); }] call EFUNC(common,addEventHandler); + [QGVAR(frag_eh), { _this call FUNC(frago); }] call CBA_fnc_addEventHandler; }; ["SettingsInitialized", { @@ -14,16 +14,16 @@ if(isServer) then { if (!GVAR(enabled)) exitWith {}; // Register fire event handler - ["firedPlayer", DFUNC(fired)] call EFUNC(common,addEventHandler); - ["firedPlayerNonLocal", DFUNC(fired)] call EFUNC(common,addEventHandler); - ["firedNonPlayer", DFUNC(fired)] call EFUNC(common,addEventHandler); - ["firedPlayerVehicle", DFUNC(fired)] call EFUNC(common,addEventHandler); - ["firedPlayerVehicleNonLocal", DFUNC(fired)] call EFUNC(common,addEventHandler); - ["firedNonPlayerVehicle", DFUNC(fired)] call EFUNC(common,addEventHandler); + ["firedPlayer", DFUNC(fired)] call CBA_fnc_addEventHandler; + ["firedPlayerNonLocal", DFUNC(fired)] call CBA_fnc_addEventHandler; + ["firedNonPlayer", DFUNC(fired)] call CBA_fnc_addEventHandler; + ["firedPlayerVehicle", DFUNC(fired)] call CBA_fnc_addEventHandler; + ["firedPlayerVehicleNonLocal", DFUNC(fired)] call CBA_fnc_addEventHandler; + ["firedNonPlayerVehicle", DFUNC(fired)] call CBA_fnc_addEventHandler; [FUNC(masterPFH), 0, []] call CBA_fnc_addPerFrameHandler; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; //Cache for ammo type configs GVAR(cacheRoundsTypesToTrack) = createLocation ["ACE_HashLocation", [-10000,-10000,-10000], 0, 0]; diff --git a/addons/frag/functions/fnc_pfhRound.sqf b/addons/frag/functions/fnc_pfhRound.sqf index 8aa2303c0d..759d74afc8 100644 --- a/addons/frag/functions/fnc_pfhRound.sqf +++ b/addons/frag/functions/fnc_pfhRound.sqf @@ -22,7 +22,7 @@ if (!alive _round) exitWith { if((diag_frameno - _firedFrame) > 1) then { //skip if deleted within a single frame if(_skip == 0) then { if((_explosive > 0.5 && {_indirectRange >= 4.5} && {_fragPower >= 35}) || {_force == 1} ) then { - [QGVAR(frag_eh), _this] call EFUNC(common,serverEvent); + [QGVAR(frag_eh), _this] call CBA_fnc_serverEvent; }; }; }; diff --git a/addons/gforces/XEH_postInit.sqf b/addons/gforces/XEH_postInit.sqf index d1df112606..ce6f3ce1f2 100644 --- a/addons/gforces/XEH_postInit.sqf +++ b/addons/gforces/XEH_postInit.sqf @@ -35,5 +35,5 @@ GVAR(pfID) = -1; GVAR(pfID) = -1; }; }; - }] call EFUNC(common,addEventHandler); -}] call EFUNC(common,addEventHandler); + }] call CBA_fnc_addEventHandler; +}] call CBA_fnc_addEventHandler; diff --git a/addons/goggles/XEH_postInit.sqf b/addons/goggles/XEH_postInit.sqf index 37edd7184b..e27f302433 100644 --- a/addons/goggles/XEH_postInit.sqf +++ b/addons/goggles/XEH_postInit.sqf @@ -50,10 +50,10 @@ GVAR(OldGlasses) = ""; private _currentGlasses = goggles _unit; if (GVAR(OldGlasses) != _currentGlasses) then { - ["GlassesChanged", [_unit, _currentGlasses]] call EFUNC(common,localEvent); + ["GlassesChanged", [_unit, _currentGlasses]] call CBA_fnc_localEvent; GVAR(OldGlasses) = _currentGlasses; }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; // add glasses eventhandlers ["GlassesChanged", { @@ -68,7 +68,7 @@ GVAR(OldGlasses) = ""; } else { call FUNC(removeGlassesEffect); }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; ["GlassesCracked", { params ["_unit"]; @@ -94,7 +94,7 @@ GVAR(OldGlasses) = ""; }, _unit, 25] call EFUNC(common,waitAndExecute); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; // check goggles private _fnc_checkGoggles = { @@ -111,8 +111,8 @@ private _fnc_checkGoggles = { }; }; -["cameraViewChanged", _fnc_checkGoggles] call EFUNC(common,addEventHandler); -["activeCameraChanged", _fnc_checkGoggles] call EFUNC(common,addEventHandler); +["cameraViewChanged", _fnc_checkGoggles] call CBA_fnc_addEventHandler; +["activeCameraChanged", _fnc_checkGoggles] call CBA_fnc_addEventHandler; // goggles effects main PFH [{ @@ -135,4 +135,4 @@ private _fnc_checkGoggles = { }, 0.5, []] call CBA_fnc_addPerFrameHandler; // Register fire event handler -["firedPlayer", DFUNC(handleFired)] call EFUNC(common,addEventHandler); +["firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; diff --git a/addons/goggles/functions/fnc_handleExplosion.sqf b/addons/goggles/functions/fnc_handleExplosion.sqf index b5c71a3d94..0da7e06a8c 100644 --- a/addons/goggles/functions/fnc_handleExplosion.sqf +++ b/addons/goggles/functions/fnc_handleExplosion.sqf @@ -27,7 +27,7 @@ _config = configFile >> "CfgGlasses" >> goggles _unit; if ((_this select 1) call FUNC(GetExplosionIndex) < getNumber (_config >> "ACE_Resistance")) exitWith {true}; if !([_unit] call FUNC(isGogglesVisible)) exitWith { - ["GlassesCracked", [_unit]] call EFUNC(common,localEvent); + ["GlassesCracked", [_unit]] call CBA_fnc_localEvent; true }; @@ -46,5 +46,5 @@ if (getText (_config >> "ACE_OverlayCracked") != "") then { (GLASSDISPLAY displayCtrl 10650) ctrlSetText getText (_config >> "ACE_OverlayCracked"); }; -["GlassesCracked", [_unit]] call EFUNC(common,localEvent); +["GlassesCracked", [_unit]] call CBA_fnc_localEvent; true diff --git a/addons/grenades/XEH_postInit.sqf b/addons/grenades/XEH_postInit.sqf index d4cc01f06f..df67033853 100644 --- a/addons/grenades/XEH_postInit.sqf +++ b/addons/grenades/XEH_postInit.sqf @@ -2,7 +2,7 @@ #include "script_component.hpp" -["flashbangExplosion", {_this call FUNC(flashbangExplosionEH)}] call EFUNC(common,addEventHandler); +["flashbangExplosion", {_this call FUNC(flashbangExplosionEH)}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; @@ -25,6 +25,6 @@ GVAR(flashbangPPEffectCC) ppEffectForceInNVG true; // Register fire event handler -["firedPlayer", DFUNC(throwGrenade)] call EFUNC(common,addEventHandler); -["firedPlayerNonLocal", DFUNC(throwGrenade)] call EFUNC(common,addEventHandler); -["firedNonPlayer", DFUNC(throwGrenade)] call EFUNC(common,addEventHandler); +["firedPlayer", DFUNC(throwGrenade)] call CBA_fnc_addEventHandler; +["firedPlayerNonLocal", DFUNC(throwGrenade)] call CBA_fnc_addEventHandler; +["firedNonPlayer", DFUNC(throwGrenade)] call CBA_fnc_addEventHandler; diff --git a/addons/grenades/functions/fnc_flashbangThrownFuze.sqf b/addons/grenades/functions/fnc_flashbangThrownFuze.sqf index 73c10997ba..5518f5967b 100644 --- a/addons/grenades/functions/fnc_flashbangThrownFuze.sqf +++ b/addons/grenades/functions/fnc_flashbangThrownFuze.sqf @@ -21,5 +21,5 @@ TRACE_1("params",_projectile); if (alive _projectile) then { playSound3D ["A3\Sounds_F\weapons\Explosion\explosion_mine_1.wss", _projectile, false, getPosASL _projectile, 5, 1.2, 400]; - ["flashbangExplosion", [getPosASL _projectile]] call EFUNC(common,globalEvent); + ["flashbangExplosion", [getPosASL _projectile]] call CBA_fnc_globalEvent; }; diff --git a/addons/hearing/XEH_postInit.sqf b/addons/hearing/XEH_postInit.sqf index fdd61ccfde..1131ec7823 100644 --- a/addons/hearing/XEH_postInit.sqf +++ b/addons/hearing/XEH_postInit.sqf @@ -28,8 +28,8 @@ GVAR(volumeAttenuation) = 1; [FUNC(updateVolume), 1, [false]] call CBA_fnc_addPerFrameHandler; // Update veh attunation when player veh changes - ["playerVehicleChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call EFUNC(common,addEventHandler); - ["playerTurretChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call EFUNC(common,addEventHandler); + ["playerVehicleChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call CBA_fnc_addEventHandler; + ["playerTurretChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call CBA_fnc_addEventHandler; // Reset deafness on respawn (or remote control player switch) ["playerChanged", { @@ -38,8 +38,8 @@ GVAR(volumeAttenuation) = 1; ACE_player setVariable [QGVAR(deaf), false]; GVAR(time3) = 0; [] call FUNC(updateHearingProtection); - }] call EFUNC(common,addEventhandler); + }] call CBA_fnc_addEventHandler; // Update protection on possible helmet change - ["playerInventoryChanged", {[] call FUNC(updateHearingProtection);}] call EFUNC(common,addEventhandler); -}] call EFUNC(common,addEventHandler); + ["playerInventoryChanged", {[] call FUNC(updateHearingProtection);}] call CBA_fnc_addEventHandler; +}] call CBA_fnc_addEventHandler; diff --git a/addons/huntir/XEH_postInit.sqf b/addons/huntir/XEH_postInit.sqf index 0c518dfcea..5aaa50be52 100644 --- a/addons/huntir/XEH_postInit.sqf +++ b/addons/huntir/XEH_postInit.sqf @@ -10,5 +10,5 @@ GVAR(ELEVAT) = 0.01; // Register fire event handler // Don't run for non players, as they are too dumb to launch huntirs anyway -["firedPlayer", DFUNC(handleFired)] call EFUNC(common,addEventHandler); -["firedPlayerNonLocal", DFUNC(handleFired)] call EFUNC(common,addEventHandler); +["firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; +["firedPlayerNonLocal", DFUNC(handleFired)] call CBA_fnc_addEventHandler; diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index 4e4e6025a3..f9ac5ff1d7 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -13,17 +13,17 @@ GVAR(ParsedTextCached) = []; if (({_x == _name} count [QGVAR(colorTextMax), QGVAR(colorTextMin), QGVAR(colorShadowMax), QGVAR(colorShadowMin), QGVAR(textSize), QGVAR(shadowSetting)]) == 1) then { [] call FUNC(setupTextColors); }; -}] call EFUNC(common,addEventhandler); +}] call CBA_fnc_addEventHandler; ["SettingsInitialized", { //Setup text/shadow/size/color settings matrix [] call FUNC(setupTextColors); // Install the render EH on the main display addMissionEventHandler ["Draw3D", DFUNC(render)]; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; //Add Actions to Houses: -["interactMenuOpened", {_this call FUNC(userActions_addHouseActions)}] call EFUNC(common,addEventHandler); +["interactMenuOpened", {_this call FUNC(userActions_addHouseActions)}] call CBA_fnc_addEventHandler; ["ACE3 Common", QGVAR(InteractKey), (localize LSTRING(InteractKey)), { @@ -51,17 +51,17 @@ GVAR(ParsedTextCached) = []; GVAR(actionSelected) = false; [GVAR(openedMenuType), false] call FUNC(keyUp); -}] call EFUNC(common,addEventhandler); +}] call CBA_fnc_addEventHandler; // disable firing while the interact menu is is is opened -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventHandler); +["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // background options ["interactMenuOpened", { if (GVAR(menuBackground)==1) then {[QGVAR(menuBackground), true] call EFUNC(common,blurScreen);}; if (GVAR(menuBackground)==2) then {0 cutRsc[QGVAR(menuBackground), "PLAIN", 1, false];}; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; ["interactMenuClosed", { if (GVAR(menuBackground)==1) then {[QGVAR(menuBackground), false] call EFUNC(common,blurScreen);}; if (GVAR(menuBackground)==2) then {(uiNamespace getVariable [QGVAR(menuBackground), displayNull]) closeDisplay 0;}; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index b71130a248..f1cbe9318e 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -102,6 +102,6 @@ if (GVAR(openedMenuType) == 0) then { GVAR(startHoverTime) = -1000; }; -["interactMenuOpened", [_menuType]] call EFUNC(common,localEvent); +["interactMenuOpened", [_menuType]] call CBA_fnc_localEvent; true diff --git a/addons/interact_menu/functions/fnc_keyUp.sqf b/addons/interact_menu/functions/fnc_keyUp.sqf index b6eae6f527..8658caf665 100644 --- a/addons/interact_menu/functions/fnc_keyUp.sqf +++ b/addons/interact_menu/functions/fnc_keyUp.sqf @@ -28,7 +28,7 @@ if(GVAR(actionSelected)) then { private _target = GVAR(selectedTarget); // Clear the conditions caches - ["clearConditionCaches", []] call EFUNC(common,localEvent); + ["clearConditionCaches", []] call CBA_fnc_localEvent; // exit scope if selecting an action on key release is disabled if (!(GVAR(actionOnKeyRelease)) && !_calledByClicking) exitWith {}; @@ -40,11 +40,11 @@ if(GVAR(actionSelected)) then { [_target, _player, _actionData select 6] call (_actionData select 3); // Clear the conditions caches again if the action was performed - ["clearConditionCaches", []] call EFUNC(common,localEvent); + ["clearConditionCaches", []] call CBA_fnc_localEvent; }; }; -["interactMenuClosed", [GVAR(openedMenuType)]] call EFUNC(common,localEvent); +["interactMenuClosed", [GVAR(openedMenuType)]] call CBA_fnc_localEvent; GVAR(keyDown) = false; GVAR(keyDownSelfAction) = false; diff --git a/addons/interact_menu/functions/fnc_render.sqf b/addons/interact_menu/functions/fnc_render.sqf index 117a828b0b..dff117528c 100644 --- a/addons/interact_menu/functions/fnc_render.sqf +++ b/addons/interact_menu/functions/fnc_render.sqf @@ -97,7 +97,7 @@ if (GVAR(openedMenuType) >= 0) then { private _target = GVAR(selectedTarget); // Clear the conditions caches - ["clearConditionCaches", []] call EFUNC(common,localEvent); + ["clearConditionCaches", []] call CBA_fnc_localEvent; // Check the action conditions private _actionData = GVAR(selectedAction) select 0; @@ -106,7 +106,7 @@ if (GVAR(openedMenuType) >= 0) then { [_target, _player, _actionData select 6] call (_actionData select 3); // Clear the conditions caches again if the action was performed - ["clearConditionCaches", []] call EFUNC(common,localEvent); + ["clearConditionCaches", []] call CBA_fnc_localEvent; }; }; }; diff --git a/addons/interaction/XEH_postInit.sqf b/addons/interaction/XEH_postInit.sqf index 66e0cb1341..d6530db4c9 100644 --- a/addons/interaction/XEH_postInit.sqf +++ b/addons/interaction/XEH_postInit.sqf @@ -3,30 +3,30 @@ ACE_Modifier = 0; -["pardon", {(_this select 0) addRating -rating (_this select 0)}] call EFUNC(common,addEventHandler); +["pardon", {(_this select 0) addRating -rating (_this select 0)}] call CBA_fnc_addEventHandler; ["getDown", { params ["_target"]; _target setUnitPos "DOWN"; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; ["sendAway", { params ["_unit", "_position"]; _unit setUnitPos "AUTO"; _unit doMove _position; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; ["lampTurnOn", { params ["_lamp", "_hitPointsDamage", "_disabledLampDMG"]; {if((_x select 1) == _disabledLampDMG) then {_lamp setHit [_x select 0, 0];};nil} count _hitPointsDamage; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; ["lampTurnOff", { params ["_lamp", "_hitPointsDamage", "_disabledLampDMG"]; {_lamp setHit [_x select 0, (_x select 1) max _disabledLampDMG];nil} count _hitPointsDamage; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; @@ -40,7 +40,7 @@ GVAR(isOpeningDoor) = false; private _message = parseText format ([["%1 >", localize LSTRING(YouWereTappedRight)], ["< %1", localize LSTRING(YouWereTappedLeft)]] select (_shoulderNum == 1)); [_message] call EFUNC(common,displayTextStructured); }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; // add keybinds ["ACE3 Common", QGVAR(openDoor), localize LSTRING(OpenDoor), { diff --git a/addons/interaction/functions/fnc_doBecomeLeader.sqf b/addons/interaction/functions/fnc_doBecomeLeader.sqf index b2a423e0c0..de051f0135 100644 --- a/addons/interaction/functions/fnc_doBecomeLeader.sqf +++ b/addons/interaction/functions/fnc_doBecomeLeader.sqf @@ -17,4 +17,4 @@ params ["_unit"]; -["selectLeader", units group _unit, [group _unit, _unit]] call EFUNC(common,targetEvent); +["selectLeader", [group _unit, _unit], units group _unit] call CBA_fnc_targetEvent; diff --git a/addons/interaction/functions/fnc_getDown.sqf b/addons/interaction/functions/fnc_getDown.sqf index 2dc9711e2c..e3cdbd6e0e 100644 --- a/addons/interaction/functions/fnc_getDown.sqf +++ b/addons/interaction/functions/fnc_getDown.sqf @@ -27,7 +27,7 @@ _chance = [0.5, 0.8] select (count weapons _unit > 0); { if (count weapons _x == 0 && {random 1 < _chance}) then { - ["getDown", [_x], [_x]] call EFUNC(common,targetEvent); + ["getDown", [_x], [_x]] call CBA_fnc_targetEvent; }; false } count (_target nearEntities ["Civilian", SEND_RADIUS]); diff --git a/addons/interaction/functions/fnc_joinTeam.sqf b/addons/interaction/functions/fnc_joinTeam.sqf index 1ada3843c1..e3f8bc5064 100644 --- a/addons/interaction/functions/fnc_joinTeam.sqf +++ b/addons/interaction/functions/fnc_joinTeam.sqf @@ -31,5 +31,5 @@ if (_unit == ACE_player) then { _message = format [localize LSTRING(JoinedTeam), _team]; }; - ["displayTextStructured", _message] call EFUNC(common,localEvent); + ["displayTextStructured", _message] call CBA_fnc_localEvent; }; diff --git a/addons/interaction/functions/fnc_pardon.sqf b/addons/interaction/functions/fnc_pardon.sqf index 00fe2f6d17..5ce36897fd 100644 --- a/addons/interaction/functions/fnc_pardon.sqf +++ b/addons/interaction/functions/fnc_pardon.sqf @@ -15,4 +15,4 @@ params ["", "_target"]; -["pardon", [_target], [_target]] call EFUNC(common,targetEvent); +["pardon", [_target], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/interaction/functions/fnc_passMagazine.sqf b/addons/interaction/functions/fnc_passMagazine.sqf index 7e2f7b9356..34c3b559be 100644 --- a/addons/interaction/functions/fnc_passMagazine.sqf +++ b/addons/interaction/functions/fnc_passMagazine.sqf @@ -51,4 +51,4 @@ _target addMagazine [_magToPassClassName, _magToPassAmmoCount]; _playerName = [_player] call EFUNC(common,getName); _magToPassDisplayName = getText (configFile >> "CfgMagazines" >> _magToPassClassName >> "displayName"); -["displayTextStructured", [_target], [[LSTRING(PassMagazineHint), _playerName, _magToPassDisplayName], 1.5, _target]] call EFUNC(common,targetEvent); \ No newline at end of file +["displayTextStructured", [[LSTRING(PassMagazineHint), _playerName, _magToPassDisplayName], 1.5, _target], [_target]] call CBA_fnc_targetEvent; \ No newline at end of file diff --git a/addons/interaction/functions/fnc_push.sqf b/addons/interaction/functions/fnc_push.sqf index bdeaf29012..f2cc7c15a3 100644 --- a/addons/interaction/functions/fnc_push.sqf +++ b/addons/interaction/functions/fnc_push.sqf @@ -22,4 +22,4 @@ private _newVelocity = vectorDir _unit; _newVelocity set [2, 0.25]; _newVelocity = _newVelocity vectorMultiply 2; -["setVelocity", [_boat], [_boat, _newVelocity]] call EFUNC(common,targetEvent); +["setVelocity", [_boat, _newVelocity], [_boat]] call CBA_fnc_targetEvent; diff --git a/addons/interaction/functions/fnc_sendAway.sqf b/addons/interaction/functions/fnc_sendAway.sqf index 546ab9ba3f..9fe3c2b1c3 100644 --- a/addons/interaction/functions/fnc_sendAway.sqf +++ b/addons/interaction/functions/fnc_sendAway.sqf @@ -31,7 +31,7 @@ _chance = [0.5, 0.8] select (count weapons _unit > 0); _position = getPosASL _unit vectorAdd (eyeDirection _unit vectorMultiply SEND_DISTANCE); _position set [2, 0]; - ["sendAway", [_x], [_x, _position]] call EFUNC(common,targetEvent); + ["sendAway", [_x, _position], [_x]] call CBA_fnc_targetEvent; }; false } count (_unit nearEntities ["Civilian", SEND_RADIUS]); diff --git a/addons/interaction/functions/fnc_switchLamp.sqf b/addons/interaction/functions/fnc_switchLamp.sqf index 20a2d45dea..199bc6c9f7 100644 --- a/addons/interaction/functions/fnc_switchLamp.sqf +++ b/addons/interaction/functions/fnc_switchLamp.sqf @@ -31,8 +31,8 @@ private _hitPointsDamage = []; //if lamp is on turn it off private _eventName = ["lampTurnOn", "lampTurnOff"] select _isOn; if(local _lamp) then { - [_eventName, [_lamp, _hitPointsDamage, DISABLED_LAMP_DMG]] call EFUNC(common,localEvent); + [_eventName, [_lamp, _hitPointsDamage, DISABLED_LAMP_DMG]] call CBA_fnc_localEvent; } else { - [_eventName, [_lamp], [_lamp, _hitPointsDamage, DISABLED_LAMP_DMG]] call EFUNC(common,targetEvent); + [_eventName, [_lamp, _hitPointsDamage, DISABLED_LAMP_DMG], [_lamp]] call CBA_fnc_targetEvent; }; _lamp setVariable ["ACE_lampOn", !_isOn, true]; diff --git a/addons/interaction/functions/fnc_tapShoulder.sqf b/addons/interaction/functions/fnc_tapShoulder.sqf index 2061f1806f..6be7402bcd 100644 --- a/addons/interaction/functions/fnc_tapShoulder.sqf +++ b/addons/interaction/functions/fnc_tapShoulder.sqf @@ -25,4 +25,4 @@ if (_unit == ACE_player) then { _unit playActionNow "PutDown"; -["tapShoulder", [_target], [_target, _shoulderNum]] call EFUNC(common,targetEvent); +["tapShoulder", [_target, _shoulderNum], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/laser/XEH_post_init.sqf b/addons/laser/XEH_post_init.sqf index a9f0e82be3..27d5611ae9 100644 --- a/addons/laser/XEH_post_init.sqf +++ b/addons/laser/XEH_post_init.sqf @@ -2,6 +2,6 @@ #include "initKeybinds.sqf" -["laser_laserOn", {_this call DFUNC(handleLaserOn)}] call EFUNC(common,addEventHandler); -["laser_laserOff", {_this call DFUNC(handleLaserOff)}] call EFUNC(common,addEventHandler); +["laser_laserOn", {_this call DFUNC(handleLaserOn)}] call CBA_fnc_addEventHandler; +["laser_laserOff", {_this call DFUNC(handleLaserOff)}] call CBA_fnc_addEventHandler; diff --git a/addons/laser/functions/fnc_laserOff.sqf b/addons/laser/functions/fnc_laserOff.sqf index 7899ec1253..b7d03a422c 100644 --- a/addons/laser/functions/fnc_laserOff.sqf +++ b/addons/laser/functions/fnc_laserOff.sqf @@ -13,4 +13,4 @@ private ["_uuid"]; _uuid = _this select 0; -["laser_laserOff", [_uuid]] call EFUNC(common,globalEvent); +["laser_laserOff", [_uuid]] call CBA_fnc_globalEvent; diff --git a/addons/laser/functions/fnc_laserOn.sqf b/addons/laser/functions/fnc_laserOn.sqf index 901fa04b9a..e206167015 100644 --- a/addons/laser/functions/fnc_laserOn.sqf +++ b/addons/laser/functions/fnc_laserOn.sqf @@ -19,5 +19,5 @@ private ["_uuid", "_args"]; _uuid = format["%1%2%3", floor ACE_diagTime, floor random 1000, floor random 10000]; _args = [_uuid, _this]; -["laser_laserOn", _args] call EFUNC(common,globalEvent); +["laser_laserOn", _args] call CBA_fnc_globalEvent; _uuid; diff --git a/addons/laserpointer/XEH_postInit.sqf b/addons/laserpointer/XEH_postInit.sqf index c478fe33fd..5b9ac08c53 100644 --- a/addons/laserpointer/XEH_postInit.sqf +++ b/addons/laserpointer/XEH_postInit.sqf @@ -2,7 +2,7 @@ #include "script_component.hpp" // fixes laser when being captured. Needed, because the selectionPosition of the right hand is used -["SetHandcuffed", {if (_this select 1) then {(_this select 0) action ["GunLightOff", _this select 0]};}] call EFUNC(common,addEventHandler); +["SetHandcuffed", {if (_this select 1) then {(_this select 0) action ["GunLightOff", _this select 0]};}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; @@ -32,4 +32,4 @@ GVAR(nearUnits) = []; addMissionEventHandler ["Draw3D", { call FUNC(onDraw); }]; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf b/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf index 25f452882c..b1183ab25e 100644 --- a/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf +++ b/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf @@ -24,7 +24,7 @@ _onFinish = { (_this select 0) params ["_caller", "_target"]; _caller removeItem "ACE_UAVBattery"; playSound3D [QUOTE(PATHTO_R(sounds\exchange_battery.ogg)), objNull, false, getPosASL _caller, 1, 1, 10]; - ["setFuel", [_target], [_target, 1]] call EFUNC(common,targetEvent); //setFuel is local + ["setFuel", [_target, 1], [_target]] call CBA_fnc_targetEvent; //setFuel is local }; _onFailure = { diff --git a/addons/logistics_wirecutter/XEH_clientInit.sqf b/addons/logistics_wirecutter/XEH_clientInit.sqf index c46cab29f1..aaead1bdcc 100644 --- a/addons/logistics_wirecutter/XEH_clientInit.sqf +++ b/addons/logistics_wirecutter/XEH_clientInit.sqf @@ -2,4 +2,4 @@ if (!hasInterface) exitWith {}; -["interactMenuOpened", {_this call FUNC(interactEH)}] call EFUNC(common,addEventHandler); +["interactMenuOpened", {_this call FUNC(interactEH)}] call CBA_fnc_addEventHandler; diff --git a/addons/map/XEH_postInitClient.sqf b/addons/map/XEH_postInitClient.sqf index f3b3ba6106..bdc7599222 100644 --- a/addons/map/XEH_postInitClient.sqf +++ b/addons/map/XEH_postInitClient.sqf @@ -104,7 +104,7 @@ call FUNC(determineZoom); if ((GVAR(flashlightInUse) != "") && !(GVAR(flashlightInUse) in _flashlights)) then { GVAR(flashlightInUse) = ""; }; - }] call EFUNC(common,addEventHandler); + }] call CBA_fnc_addEventHandler; if (GVAR(mapGlow)) then { ["visibleMapChanged", { @@ -127,10 +127,10 @@ call FUNC(determineZoom); [""] call FUNC(flashlightGlow); }; }; - }] call EFUNC(common,addEventHandler); + }] call CBA_fnc_addEventHandler; }; }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; // hide clock on map if player has no watch GVAR(hasWatch) = true; @@ -144,4 +144,4 @@ GVAR(hasWatch) = true; if (_x isKindOf ["ItemWatch", configFile >> "CfgWeapons"]) exitWith {GVAR(hasWatch) = true;}; false } count (assignedItems ACE_player); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/map_gestures/XEH_postInit.sqf b/addons/map_gestures/XEH_postInit.sqf index 233ee23c04..a1ce8871b7 100644 --- a/addons/map_gestures/XEH_postInit.sqf +++ b/addons/map_gestures/XEH_postInit.sqf @@ -18,4 +18,4 @@ if (!hasInterface) exitWith {}; [_pfhId] call CBA_fnc_removePerFrameHandler; }, 1, []] call CBA_fnc_addPerFrameHandler; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/map_gestures/XEH_serverPostInit.sqf b/addons/map_gestures/XEH_serverPostInit.sqf index bde1cdc55b..31626b7881 100644 --- a/addons/map_gestures/XEH_serverPostInit.sqf +++ b/addons/map_gestures/XEH_serverPostInit.sqf @@ -1,3 +1,3 @@ #include "script_component.hpp" -[EVENT_PLAYER_HAS_NO_OWNER_ID, FUNC(assignClientIDOnServer)] call EFUNC(common,addEventHandler); +[EVENT_PLAYER_HAS_NO_OWNER_ID, FUNC(assignClientIDOnServer)] call CBA_fnc_addEventHandler; diff --git a/addons/map_gestures/functions/fnc_transmit.sqf b/addons/map_gestures/functions/fnc_transmit.sqf index c9dc487db2..ab975a076c 100644 --- a/addons/map_gestures/functions/fnc_transmit.sqf +++ b/addons/map_gestures/functions/fnc_transmit.sqf @@ -31,7 +31,7 @@ if (!GVAR(EnableTransmit) || !visibleMap) exitWith { { _ownerID = _x getVariable QGVAR(owner_id); if (isNil "_ownerID") then { - [EVENT_PLAYER_HAS_NO_OWNER_ID, [name _x]] call EFUNC(common,serverEvent); + [EVENT_PLAYER_HAS_NO_OWNER_ID, [name _x]] call CBA_fnc_serverEvent; } else { _playerOwnerID = ACE_player getVariable QGVAR(owner_id); if (!isNil "_playerOwnerID" && _ownerID != _playerOwnerID) then { diff --git a/addons/maptools/XEH_postInitClient.sqf b/addons/maptools/XEH_postInitClient.sqf index 06cb8eda3d..eec175077e 100644 --- a/addons/maptools/XEH_postInitClient.sqf +++ b/addons/maptools/XEH_postInitClient.sqf @@ -77,4 +77,4 @@ GVAR(drawing_controls) = [36732, 36733, 36734, 36735, 36736, 36737]; // Cancel drawing call FUNC(cancelDrawing); }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/maptools/XEH_preInit.sqf b/addons/maptools/XEH_preInit.sqf index 3022d53753..aada5db223 100644 --- a/addons/maptools/XEH_preInit.sqf +++ b/addons/maptools/XEH_preInit.sqf @@ -10,10 +10,10 @@ if (isServer) then { }; //Add Event Handlers: -["drawing_removeLineMarker", FUNC(removeLineMarker) ] call EFUNC(common,addEventHandler); -["drawing_addLineMarker", FUNC(addLineMarker) ] call EFUNC(common,addEventHandler); +["drawing_removeLineMarker", FUNC(removeLineMarker) ] call CBA_fnc_addEventHandler; +["drawing_addLineMarker", FUNC(addLineMarker) ] call CBA_fnc_addEventHandler; -["drawing_requestMarkers", FUNC(copyMapRemoteSend) ] call EFUNC(common,addEventHandler); -["drawing_sendbackMarkers", FUNC(copyMapReceiveMarkers) ] call EFUNC(common,addEventHandler); +["drawing_requestMarkers", FUNC(copyMapRemoteSend) ] call CBA_fnc_addEventHandler; +["drawing_sendbackMarkers", FUNC(copyMapReceiveMarkers) ] call CBA_fnc_addEventHandler; ADDON = true; diff --git a/addons/maptools/functions/fnc_copyMapRemoteSend.sqf b/addons/maptools/functions/fnc_copyMapRemoteSend.sqf index 551019f900..fdfe53e7c4 100644 --- a/addons/maptools/functions/fnc_copyMapRemoteSend.sqf +++ b/addons/maptools/functions/fnc_copyMapRemoteSend.sqf @@ -14,4 +14,4 @@ params ["_requester"]; -["drawing_sendbackMarkers", _requester, [GVAR(drawing_lineMarkers)]] call EFUNC(common,targetEvent); +["drawing_sendbackMarkers", [GVAR(drawing_lineMarkers)], _requester] call CBA_fnc_targetEvent; diff --git a/addons/maptools/functions/fnc_copyMapStart.sqf b/addons/maptools/functions/fnc_copyMapStart.sqf index 7295f6f499..a7d1a016a7 100644 --- a/addons/maptools/functions/fnc_copyMapStart.sqf +++ b/addons/maptools/functions/fnc_copyMapStart.sqf @@ -19,4 +19,4 @@ params ["_player", "_target"]; -["drawing_requestMarkers", _target, [_player]] call EFUNC(common,targetEvent); +["drawing_requestMarkers", [_player], _target] call CBA_fnc_targetEvent; diff --git a/addons/maptools/functions/fnc_handleKeyDown.sqf b/addons/maptools/functions/fnc_handleKeyDown.sqf index a83522ac91..4a8c615327 100644 --- a/addons/maptools/functions/fnc_handleKeyDown.sqf +++ b/addons/maptools/functions/fnc_handleKeyDown.sqf @@ -58,7 +58,7 @@ if (_code == DIK_DELETE) exitWith { if (_lambdaLong >= 0 && _lambdaLong <= _magDiffVector && _lambdaTrasAbs <= 5) exitWith { // Delete the line marker if (GVAR(drawing_syncMarkers)) then { - ["drawing_removeLineMarker", [_x select 0]] call EFUNC(common,globalEvent); + ["drawing_removeLineMarker", [_x select 0]] call CBA_fnc_globalEvent; } else { deleteMarkerLocal (_x select 0); GVAR(drawing_lineMarkers) = GVAR(drawing_lineMarkers) - [_x]; diff --git a/addons/maptools/functions/fnc_handleMouseButton.sqf b/addons/maptools/functions/fnc_handleMouseButton.sqf index cb1a4598ad..e0bdbbe130 100644 --- a/addons/maptools/functions/fnc_handleMouseButton.sqf +++ b/addons/maptools/functions/fnc_handleMouseButton.sqf @@ -42,7 +42,7 @@ if (_dir != 1) then { // Already drawing -> Add tempLineMarker to permanent list if (GVAR(drawing_syncMarkers)) then { deleteMarkerLocal (GVAR(drawing_tempLineMarker) select 0); - ["drawing_addLineMarker", GVAR(drawing_tempLineMarker)] call EFUNC(common,globalEvent); + ["drawing_addLineMarker", GVAR(drawing_tempLineMarker)] call CBA_fnc_globalEvent; // Log who drew on the briefing screen [ACE_INFOFORMAT_1("Player %1 drew on the briefing screen", profileName)] call EFUNC(common,serverLog); } else { diff --git a/addons/markers/XEH_postInit.sqf b/addons/markers/XEH_postInit.sqf index 7b5924d680..6e1af95a50 100644 --- a/addons/markers/XEH_postInit.sqf +++ b/addons/markers/XEH_postInit.sqf @@ -2,15 +2,15 @@ #include "script_component.hpp" // recieve remote marker data -[QGVAR(setMarkerNetwork), {_this call DFUNC(setMarkerNetwork)}] call EFUNC(common,addEventHandler); +[QGVAR(setMarkerNetwork), {_this call DFUNC(setMarkerNetwork)}] call CBA_fnc_addEventHandler; // recieve marker data for JIP -[QGVAR(setMarkerJIP), {_this call DFUNC(setMarkerJIP)}] call EFUNC(common,addEventHandler); +[QGVAR(setMarkerJIP), {_this call DFUNC(setMarkerJIP)}] call CBA_fnc_addEventHandler; // request marker data for JIP if (isMultiplayer && {!isServer} && {hasInterface}) then { GVAR(localLogic) = (createGroup sideLogic) createUnit ["Logic", [0,0,0], [], 0, "NONE"]; - [QGVAR(sendMarkersJIP), [GVAR(localLogic)]] call EFUNC(common,serverEvent); + [QGVAR(sendMarkersJIP), [GVAR(localLogic)]] call CBA_fnc_serverEvent; }; GVAR(mapDisplaysWithDrawEHs) = []; diff --git a/addons/markers/XEH_preInit.sqf b/addons/markers/XEH_preInit.sqf index 5308117754..da62205b51 100644 --- a/addons/markers/XEH_preInit.sqf +++ b/addons/markers/XEH_preInit.sqf @@ -50,6 +50,6 @@ if (isNil QGVAR(MarkerColorsCache)) then { }; //Server Sync JIP markers: -[QGVAR(sendMarkersJIP), FUNC(sendMarkersJIP)] call EFUNC(common,addEventHandler); +[QGVAR(sendMarkersJIP), FUNC(sendMarkersJIP)] call CBA_fnc_addEventHandler; ADDON = true; diff --git a/addons/markers/functions/fnc_placeMarker.sqf b/addons/markers/functions/fnc_placeMarker.sqf index 5b0783b454..3e61c0d133 100644 --- a/addons/markers/functions/fnc_placeMarker.sqf +++ b/addons/markers/functions/fnc_placeMarker.sqf @@ -30,7 +30,7 @@ if (_closeNum == 1) then { GETGVAR(currentMarkerPosition,[]), GETGVAR(currentMarkerAngle,0) ] - ]] call EFUNC(common,globalEvent); + ]] call CBA_fnc_globalEvent; }, []] call EFUNC(common,execNextFrame); }; diff --git a/addons/markers/functions/fnc_sendMarkersJIP.sqf b/addons/markers/functions/fnc_sendMarkersJIP.sqf index 5b1a779b27..e63a32b843 100644 --- a/addons/markers/functions/fnc_sendMarkersJIP.sqf +++ b/addons/markers/functions/fnc_sendMarkersJIP.sqf @@ -20,6 +20,6 @@ TRACE_1("params",_logic); [ QGVAR(setMarkerJIP), - [_logic], - [GETGVAR(allMapMarkers,[]), GETGVAR(allMapMarkersProperties,[])] -] call EFUNC(common,targetEvent); + [GETGVAR(allMapMarkers,[]), GETGVAR(allMapMarkersProperties,[])], + [_logic] +] call CBA_fnc_targetEvent; diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index f0d3b907f6..3a082c85d1 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -6,32 +6,32 @@ GVAR(heartBeatSounds_Fast) = ["ACE_heartbeat_fast_1", "ACE_heartbeat_fast_2", "A GVAR(heartBeatSounds_Normal) = ["ACE_heartbeat_norm_1", "ACE_heartbeat_norm_2"]; GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; -["medical_propagateWound", FUNC(onPropagateWound)] call EFUNC(common,addEventHandler); -["medical_woundUpdateRequest", FUNC(onWoundUpdateRequest)] call EFUNC(common,addEventHandler); -["interactMenuClosed", {[objNull, false] call FUNC(displayPatientInformation); }] call EFUNC(common,addEventHandler); +["medical_propagateWound", FUNC(onPropagateWound)] call CBA_fnc_addEventHandler; +["medical_woundUpdateRequest", FUNC(onWoundUpdateRequest)] call CBA_fnc_addEventHandler; +["interactMenuClosed", {[objNull, false] call FUNC(displayPatientInformation); }] call CBA_fnc_addEventHandler; //Treatment EventHandlers: -["actionCheckBloodPressureLocal", DFUNC(actionCheckBloodPressureLocal)] call EFUNC(common,addEventHandler); -["actionCheckPulseLocal", DFUNC(actionCheckPulseLocal)] call EFUNC(common,addEventHandler); -["addToInjuredCollection", DFUNC(addToInjuredCollection)] call EFUNC(common,addEventHandler); -["addToMedicalLog", DFUNC(addToLog)] call EFUNC(common,addEventHandler); -["addToTriageCard", DFUNC(addToTriageCard)] call EFUNC(common,addEventHandler); -["setDead", DFUNC(setDead)] call EFUNC(common,addEventHandler); -["setHitPointDamage", DFUNC(setHitPointDamage)] call EFUNC(common,addEventHandler); -["setUnconscious", DFUNC(setUnconscious)] call EFUNC(common,addEventHandler); -["treatmentAdvanced_bandageLocal", DFUNC(treatmentAdvanced_bandageLocal)] call EFUNC(common,addEventHandler); -["treatmentAdvanced_CPRLocal", DFUNC(treatmentAdvanced_CPRLocal)] call EFUNC(common,addEventHandler); -["treatmentAdvanced_fullHealLocal", DFUNC(treatmentAdvanced_fullHealLocal)] call EFUNC(common,addEventHandler); -["treatmentAdvanced_medicationLocal", DFUNC(treatmentAdvanced_medicationLocal)] call EFUNC(common,addEventHandler); -["treatmentBasic_bandageLocal", DFUNC(treatmentBasic_bandageLocal)] call EFUNC(common,addEventHandler); -["treatmentBasic_bloodbagLocal", DFUNC(treatmentBasic_bloodbagLocal)] call EFUNC(common,addEventHandler); -["treatmentBasic_morphineLocal", DFUNC(treatmentBasic_morphineLocal)] call EFUNC(common,addEventHandler); -["treatmentIVLocal", DFUNC(treatmentIVLocal)] call EFUNC(common,addEventHandler); -["treatmentTourniquetLocal", DFUNC(treatmentTourniquetLocal)] call EFUNC(common,addEventHandler); -["actionPlaceInBodyBag", FUNC(actionPlaceInBodyBag)] call EFUNC(common,addEventHandler); +["actionCheckBloodPressureLocal", DFUNC(actionCheckBloodPressureLocal)] call CBA_fnc_addEventHandler; +["actionCheckPulseLocal", DFUNC(actionCheckPulseLocal)] call CBA_fnc_addEventHandler; +["addToInjuredCollection", DFUNC(addToInjuredCollection)] call CBA_fnc_addEventHandler; +["addToMedicalLog", DFUNC(addToLog)] call CBA_fnc_addEventHandler; +["addToTriageCard", DFUNC(addToTriageCard)] call CBA_fnc_addEventHandler; +["setDead", DFUNC(setDead)] call CBA_fnc_addEventHandler; +["setHitPointDamage", DFUNC(setHitPointDamage)] call CBA_fnc_addEventHandler; +["setUnconscious", DFUNC(setUnconscious)] call CBA_fnc_addEventHandler; +["treatmentAdvanced_bandageLocal", DFUNC(treatmentAdvanced_bandageLocal)] call CBA_fnc_addEventHandler; +["treatmentAdvanced_CPRLocal", DFUNC(treatmentAdvanced_CPRLocal)] call CBA_fnc_addEventHandler; +["treatmentAdvanced_fullHealLocal", DFUNC(treatmentAdvanced_fullHealLocal)] call CBA_fnc_addEventHandler; +["treatmentAdvanced_medicationLocal", DFUNC(treatmentAdvanced_medicationLocal)] call CBA_fnc_addEventHandler; +["treatmentBasic_bandageLocal", DFUNC(treatmentBasic_bandageLocal)] call CBA_fnc_addEventHandler; +["treatmentBasic_bloodbagLocal", DFUNC(treatmentBasic_bloodbagLocal)] call CBA_fnc_addEventHandler; +["treatmentBasic_morphineLocal", DFUNC(treatmentBasic_morphineLocal)] call CBA_fnc_addEventHandler; +["treatmentIVLocal", DFUNC(treatmentIVLocal)] call CBA_fnc_addEventHandler; +["treatmentTourniquetLocal", DFUNC(treatmentTourniquetLocal)] call CBA_fnc_addEventHandler; +["actionPlaceInBodyBag", FUNC(actionPlaceInBodyBag)] call CBA_fnc_addEventHandler; //Handle Deleting Bodies on Server: -if (isServer) then {["placedInBodyBag", FUNC(serverRemoveBody)] call EFUNC(common,addEventHandler);}; +if (isServer) then {["placedInBodyBag", FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler;}; ["medical_onUnconscious", { params ["_unit", "_status"]; @@ -48,7 +48,7 @@ if (isServer) then {["placedInBodyBag", FUNC(serverRemoveBody)] call EFUNC(commo _unit setVariable ["acre_sys_core_isDisabled", false, true]; }; }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; // Initialize all effects @@ -287,18 +287,18 @@ GVAR(lastHeartBeatSound) = ACE_time; {((_this select 0) getVariable [QGVAR(inReviveState), false])}, {((_this select 0) getVariable ["ACE_isDead", false])} ] call FUNC(addUnconsciousCondition); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; // Prevent all types of interaction while unconscious // @todo: probably remove this when CBA keybind hold key works properly ["isNotUnconscious", {!((_this select 0) getVariable ["ACE_isUnconscious", false])}] call EFUNC(common,addCanInteractWithCondition); // Item Event Handler -["playerInventoryChanged", FUNC(itemCheck)] call EFUNC(common,addEventHandler); +["playerInventoryChanged", FUNC(itemCheck)] call CBA_fnc_addEventHandler; if (hasInterface) then { ["PlayerJip", { ACE_LOGINFO("JIP Medical init for player."); [player] call FUNC(init); - }] call EFUNC(common,addEventHandler); + }] call CBA_fnc_addEventHandler; }; diff --git a/addons/medical/functions/fnc_actionCheckBloodPressure.sqf b/addons/medical/functions/fnc_actionCheckBloodPressure.sqf index 4d821ea6b0..062284d7e6 100644 --- a/addons/medical/functions/fnc_actionCheckBloodPressure.sqf +++ b/addons/medical/functions/fnc_actionCheckBloodPressure.sqf @@ -16,7 +16,7 @@ params ["_caller", "_target", "_selectionName"]; if (local _target) then { - ["actionCheckBloodPressureLocal", [_caller, _target, _selectionName]] call EFUNC(common,localEvent); + ["actionCheckBloodPressureLocal", [_caller, _target, _selectionName]] call CBA_fnc_localEvent; } else { - ["actionCheckBloodPressureLocal", _target, [_caller, _target, _selectionName]] call EFUNC(common,targetEvent); + ["actionCheckBloodPressureLocal", [_caller, _target, _selectionName], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf index 0fd9394f92..ac162d7002 100644 --- a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf @@ -57,7 +57,7 @@ if (_selectionName in ["hand_l","hand_r"] && {[_unit, _selectionName] call FUNC( _logOutPut = ""; }; -["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller]] call EFUNC(common,targetEvent); +["displayTextStructured", [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller], [_caller]] call CBA_fnc_targetEvent; if (_logOutPut != "") then { [_target,"activity", LSTRING(Check_Bloodpressure_Log), [[_caller, false, true] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); diff --git a/addons/medical/functions/fnc_actionCheckPulse.sqf b/addons/medical/functions/fnc_actionCheckPulse.sqf index 2c0a46c826..a6bac8a8cb 100644 --- a/addons/medical/functions/fnc_actionCheckPulse.sqf +++ b/addons/medical/functions/fnc_actionCheckPulse.sqf @@ -16,7 +16,7 @@ params ["_caller","_target", "_selectionName"]; if (local _target) then { - ["actionCheckPulseLocal", [_caller, _target, _selectionName]] call EFUNC(common,localEvent); + ["actionCheckPulseLocal", [_caller, _target, _selectionName]] call CBA_fnc_localEvent; } else { - ["actionCheckPulseLocal", _target, [_caller, _target, _selectionName]] call EFUNC(common,targetEvent); + ["actionCheckPulseLocal", [_caller, _target, _selectionName], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf index 83852f8042..d5dd2d9ca5 100644 --- a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf @@ -49,7 +49,7 @@ if (_selectionName in ["hand_l","hand_r"] && {[_unit, _selectionName] call FUNC( _logOutPut = LSTRING(Check_Pulse_None); }; -["displayTextStructured", [_caller], [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller]] call EFUNC(common,targetEvent); +["displayTextStructured", [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; if (_logOutPut != "") then { [_unit,"activity", LSTRING(Check_Pulse_Log),[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); diff --git a/addons/medical/functions/fnc_actionCheckResponse.sqf b/addons/medical/functions/fnc_actionCheckResponse.sqf index d69fa90c86..3ca9a66fcc 100644 --- a/addons/medical/functions/fnc_actionCheckResponse.sqf +++ b/addons/medical/functions/fnc_actionCheckResponse.sqf @@ -19,7 +19,7 @@ params ["_caller", "_target"]; _output = [LSTRING(Check_Response_Unresponsive), LSTRING(Check_Response_Responsive)] select ([_target] call EFUNC(common,isAwake)); -["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName)], 2, _caller]] call EFUNC(common,targetEvent); +["displayTextStructured", [[_output, [_target] call EFUNC(common,getName)], 2, _caller], [_caller]] call CBA_fnc_targetEvent; [_target,"activity",_output, [[_target, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); [_target,"quick_view",_output, [[_target, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); diff --git a/addons/medical/functions/fnc_actionDiagnose.sqf b/addons/medical/functions/fnc_actionDiagnose.sqf index ffb2583a15..31684d722e 100644 --- a/addons/medical/functions/fnc_actionDiagnose.sqf +++ b/addons/medical/functions/fnc_actionDiagnose.sqf @@ -43,4 +43,4 @@ if (alive _target) then { }; }; -["displayTextStructured", [_caller], [_genericMessages, 3.0, _caller]] call EFUNC(common,targetEvent); +["displayTextStructured", [_genericMessages, 3.0, _caller], [_caller]] call CBA_fnc_targetEvent; diff --git a/addons/medical/functions/fnc_actionLoadUnit.sqf b/addons/medical/functions/fnc_actionLoadUnit.sqf index 41970e23d2..5c035872da 100644 --- a/addons/medical/functions/fnc_actionLoadUnit.sqf +++ b/addons/medical/functions/fnc_actionLoadUnit.sqf @@ -18,7 +18,7 @@ private "_vehicle"; params ["_caller", "_target"]; if ([_target] call EFUNC(common,isAwake)) exitWith { - ["displayTextStructured", [_caller], [[LSTRING(CanNotLoaded), [_target] call EFUNC(common,getName)], 1.5, _caller]] call EFUNC(common,targetEvent); + ["displayTextStructured", [[LSTRING(CanNotLoaded), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; }; if ([_target] call FUNC(isBeingCarried)) then { [_caller, _target] call EFUNC(dragging,dropObject_carry); diff --git a/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf b/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf index d7a316cab0..e9e40c36ad 100644 --- a/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf +++ b/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf @@ -22,7 +22,7 @@ TRACE_2("params",_caller,_target); if (!local _target) exitWith { TRACE_1("running where local",local _target); - ["actionPlaceInBodyBag", [_target], [_caller, _target]] call EFUNC(common,targetEvent); + ["actionPlaceInBodyBag", [_caller, _target], [_target]] call CBA_fnc_targetEvent; objNull }; @@ -47,6 +47,6 @@ private _bodyBag = createVehicle ["ACE_bodyBagObject", _position, [], 0, ""]; _bodyBag setPosASL _position; _bodyBag setDir _direction; -["placedInBodyBag", [_target, _bodyBag]] call EFUNC(common,globalEvent); //hide and delete body on server +["placedInBodyBag", [_target, _bodyBag]] call CBA_fnc_globalEvent; //hide and delete body on server _bodyBag diff --git a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf index 660c3f9ff7..7bc90005af 100644 --- a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf +++ b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf @@ -26,7 +26,7 @@ _tourniquets = _target getVariable [QGVAR(tourniquets), [0,0,0,0,0,0]]; // Check if there is a tourniquet on this bodypart if ((_tourniquets select _part) == 0) exitWith { _output = LSTRING(noTourniquetOnBodyPart); - ["displayTextStructured", [_caller], [_output, 1.5, _caller]] call EFUNC(common,targetEvent); + ["displayTextStructured", [_output, 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; }; // Removing the tourniquet @@ -44,7 +44,7 @@ TRACE_2("meds",_part,_delayedMedications); _x params ["", "", "_medPartNum"]; if (_part == _medPartNum) then { TRACE_1("delayed medication call after tourniquet removeal",_x); - ["treatmentAdvanced_medicationLocal", [_target], _x] call EFUNC(common,targetEvent); + ["treatmentAdvanced_medicationLocal", _x, [_target]] call CBA_fnc_targetEvent; _delayedMedications set [_forEachIndex, -1]; _updatedArray = true; }; diff --git a/addons/medical/functions/fnc_actionUnloadUnit.sqf b/addons/medical/functions/fnc_actionUnloadUnit.sqf index 705eeb88f5..2039c60ffe 100644 --- a/addons/medical/functions/fnc_actionUnloadUnit.sqf +++ b/addons/medical/functions/fnc_actionUnloadUnit.sqf @@ -21,4 +21,4 @@ params ["_caller", "_target", ["_drag", false]]; if (vehicle _target == _target) exitWith {}; if (([_target] call EFUNC(common,isAwake))) exitWith {}; -["unloadPersonEvent", _target, [_target, vehicle _target, _caller]] call EFUNC(common,targetEvent); +["unloadPersonEvent", [_target, vehicle _target, _caller], _target] call CBA_fnc_targetEvent; diff --git a/addons/medical/functions/fnc_addHeartRateAdjustment.sqf b/addons/medical/functions/fnc_addHeartRateAdjustment.sqf index cc8c093071..2dd1abb29a 100644 --- a/addons/medical/functions/fnc_addHeartRateAdjustment.sqf +++ b/addons/medical/functions/fnc_addHeartRateAdjustment.sqf @@ -22,4 +22,4 @@ params [["_unit", objNull, [objNull]], ["_value", 0, [0]], ["_time", 1, [0]], [" _adjustment = _unit getVariable [QGVAR(heartRateAdjustments), []]; _adjustment pushBack [_value, _time, _callBack]; _unit setVariable [QGVAR(heartRateAdjustments), _adjustment ]; -["Medical_onHeartRateAdjustmentAdded", [_unit, _value, _time]] call EFUNC(common,localEvent); +["Medical_onHeartRateAdjustmentAdded", [_unit, _value, _time]] call CBA_fnc_localEvent; diff --git a/addons/medical/functions/fnc_addToLog.sqf b/addons/medical/functions/fnc_addToLog.sqf index 88c463d1eb..a38fd71924 100644 --- a/addons/medical/functions/fnc_addToLog.sqf +++ b/addons/medical/functions/fnc_addToLog.sqf @@ -20,7 +20,7 @@ private ["_moment", "_logVarName", "_log","_newLog", "_logs"]; params ["_unit", "_type", "_message", "_arguments"]; if (!local _unit) exitWith { - ["addToMedicalLog", _unit, _this] call EFUNC(common,targetEvent); + ["addToMedicalLog", _this, _unit] call CBA_fnc_targetEvent; }; date params ["", "", "", "_hour", "_minute"]; @@ -43,7 +43,7 @@ if (count _log >= 8) then { _log pushBack [_message, _moment, _type, _arguments]; _unit setVariable [_logVarName, _log, true]; -["medical_onLogEntryAdded", [_unit, _type, _message, _arguments]] call EFUNC(common,localEvent); +["medical_onLogEntryAdded", [_unit, _type, _message, _arguments]] call CBA_fnc_localEvent; _logs = _unit getVariable [QGVAR(allLogs), []]; if !(_logVarName in _logs) then { diff --git a/addons/medical/functions/fnc_addToTriageCard.sqf b/addons/medical/functions/fnc_addToTriageCard.sqf index ca54d8cd27..3b335b503f 100644 --- a/addons/medical/functions/fnc_addToTriageCard.sqf +++ b/addons/medical/functions/fnc_addToTriageCard.sqf @@ -18,7 +18,7 @@ private ["_log", "_inList", "_amount"]; params ["_unit", "_newItem"]; if (!local _unit) exitWith { - ["addToTriageCard", _unit, _this] call EFUNC(common,targetEvent); + ["addToTriageCard", _this, _unit] call CBA_fnc_targetEvent; }; _log = _unit getVariable [QGVAR(triageCard), []]; @@ -41,4 +41,4 @@ if (!_inList) then { _log pushBack [_newItem, 1, ACE_gameTime]; }; _unit setVariable [QGVAR(triageCard), _log, true]; -["Medical_onItemAddedToTriageCard", [_unit, _newItem, _amount]] call EFUNC(common,localEvent); +["Medical_onItemAddedToTriageCard", [_unit, _newItem, _amount]] call CBA_fnc_localEvent; diff --git a/addons/medical/functions/fnc_addVitalLoop.sqf b/addons/medical/functions/fnc_addVitalLoop.sqf index 52b2cc11f9..96115cc3b8 100644 --- a/addons/medical/functions/fnc_addVitalLoop.sqf +++ b/addons/medical/functions/fnc_addVitalLoop.sqf @@ -18,7 +18,7 @@ params ["_unit", ["_force", false]]; if !([_unit] call FUNC(hasMedicalEnabled) || _force) exitWith {}; if !(local _unit) exitWith { - ["addVitalLoop", _unit, [_unit, _force]] call EFUNC(common,targetEvent); + ["addVitalLoop", [_unit, _force], _unit] call CBA_fnc_targetEvent; }; // Quit if the unit already has a vital loop, or is dead, unless it's forced diff --git a/addons/medical/functions/fnc_displayPatientInformation.sqf b/addons/medical/functions/fnc_displayPatientInformation.sqf index 1e1816d5f5..82e1f34e5d 100644 --- a/addons/medical/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical/functions/fnc_displayPatientInformation.sqf @@ -42,7 +42,7 @@ if (_show) then { if (ACE_player distance _target > MAX_DISTANCE) exitwith { ("ACE_MedicalRscDisplayInformation" call BIS_fnc_rscLayer) cutText ["","PLAIN"]; [_idPFH] call CBA_fnc_removePerFrameHandler; - ["displayTextStructured", [ACE_player], [[LSTRING(DistanceToFar), [_target] call EFUNC(common,getName)], 1.75, ACE_player]] call EFUNC(common,targetEvent); + ["displayTextStructured", [[LSTRING(DistanceToFar), [_target] call EFUNC(common,getName)], 1.75, ACE_player], [ACE_player]] call CBA_fnc_targetEvent; }; disableSerialization; diff --git a/addons/medical/functions/fnc_onWoundUpdateRequest.sqf b/addons/medical/functions/fnc_onWoundUpdateRequest.sqf index dff59fb2cf..18edfce294 100644 --- a/addons/medical/functions/fnc_onWoundUpdateRequest.sqf +++ b/addons/medical/functions/fnc_onWoundUpdateRequest.sqf @@ -19,6 +19,6 @@ params ["_unit", "_originOfrequest"]; if (local _unit && !(local _originOfrequest)) then { _openWounds = _unit getVariable [QGVAR(openWounds), []]; { - ["medical_propagateWound", [_originOfrequest], [_unit, _x]] call EFUNC(common,targetEvent); + ["medical_propagateWound", [_unit, _x], [_originOfrequest]] call CBA_fnc_targetEvent; } forEach _openWounds; }; diff --git a/addons/medical/functions/fnc_requestWoundSync.sqf b/addons/medical/functions/fnc_requestWoundSync.sqf index 1d7d6de53f..705a3b58ef 100644 --- a/addons/medical/functions/fnc_requestWoundSync.sqf +++ b/addons/medical/functions/fnc_requestWoundSync.sqf @@ -19,4 +19,4 @@ params [ "_target", "_caller"]; if (local _target || GVAR(level) < 2) exitWith {}; // if the target is local, we already got the most update to date information if (_target getVariable [QGVAR(isWoundSynced), false]) exitWith {}; _target setVariable [QGVAR(isWoundSynced), true]; -["medical_woundUpdateRequest", [_target], [_target, _caller]] call EFUNC(common,targetEvent); +["medical_woundUpdateRequest", [_target, _caller], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/medical/functions/fnc_serverRemoveBody.sqf b/addons/medical/functions/fnc_serverRemoveBody.sqf index 311199b1b8..a5ae69259a 100644 --- a/addons/medical/functions/fnc_serverRemoveBody.sqf +++ b/addons/medical/functions/fnc_serverRemoveBody.sqf @@ -21,7 +21,7 @@ params ["_target"]; TRACE_2("",_target,isPlayer _target); //Hide the body globaly -["hideObjectGlobal", [_target, true]] call EFUNC(common,serverEvent); +["hideObjectGlobal", [_target, true]] call CBA_fnc_serverEvent; if (isNil QGVAR(bodiesToDelete)) then {GVAR(bodiesToDelete) = [];}; GVAR(bodiesToDelete) pushBack _target; diff --git a/addons/medical/functions/fnc_setCardiacArrest.sqf b/addons/medical/functions/fnc_setCardiacArrest.sqf index bf4a679bdc..318a3a506d 100644 --- a/addons/medical/functions/fnc_setCardiacArrest.sqf +++ b/addons/medical/functions/fnc_setCardiacArrest.sqf @@ -21,7 +21,7 @@ if (_unit getVariable [QGVAR(inCardiacArrest),false]) exitWith {}; _unit setVariable [QGVAR(inCardiacArrest), true,true]; _unit setVariable [QGVAR(heartRate), 0]; -["Medical_onEnteredCardiacArrest", [_unit]] call EFUNC(common,localEvent); +["Medical_onEnteredCardiacArrest", [_unit]] call CBA_fnc_localEvent; [_unit, true] call FUNC(setUnconscious); _timeInCardiacArrest = 120 + round(random(600)); diff --git a/addons/medical/functions/fnc_setDead.sqf b/addons/medical/functions/fnc_setDead.sqf index 061a28c081..3ee1e8481d 100644 --- a/addons/medical/functions/fnc_setDead.sqf +++ b/addons/medical/functions/fnc_setDead.sqf @@ -20,7 +20,7 @@ params ["_unit", ["_force", false], ["_delaySetDamage", false]]; if ((!alive _unit) || {_unit getVariable ["ACE_isDead", false]}) exitWith {true}; if (!local _unit) exitwith { - ["setDead", _unit, [_unit, _force]] call EFUNC(common,targetEvent); + ["setDead", [_unit, _force], _unit] call CBA_fnc_targetEvent; false; }; @@ -51,7 +51,7 @@ if (isPLayer _unit) then { _unit setVariable ["isDeadPlayer", true, true]; }; -["medical_onSetDead", [_unit]] call EFUNC(common,localEvent); +["medical_onSetDead", [_unit]] call CBA_fnc_localEvent; //Delay a frame before killing the unit via scripted damage //to avoid triggering the "Killed" Event twice (and having the wrong killer) diff --git a/addons/medical/functions/fnc_setHitPointDamage.sqf b/addons/medical/functions/fnc_setHitPointDamage.sqf index 9abce575cd..97d0c20b14 100644 --- a/addons/medical/functions/fnc_setHitPointDamage.sqf +++ b/addons/medical/functions/fnc_setHitPointDamage.sqf @@ -26,7 +26,7 @@ params ["_unit", "_selection", "_damage", ["_disabled", false]]; // Unit isn't local, give function to machine where it is. if !(local _unit) exitWith { - ["setHitPointDamage", _unit, _this] call EFUNC(common,targetEvent); + ["setHitPointDamage", _this, _unit] call CBA_fnc_targetEvent; }; // Check if overall damage adjustment is disabled diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 25bc8aacb5..7a3f4f17dd 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -39,7 +39,7 @@ if !(_set) exitWith { if !(!(isNull _unit) && {(_unit isKindOf "CAManBase") && ([_unit] call EFUNC(common,isAwake))}) exitWith{}; if (!local _unit) exitWith { - ["setUnconscious", _unit, [_unit, _set, _minWaitingTime, _force]] call EFUNC(common,targetEvent); + ["setUnconscious", [_unit, _set, _minWaitingTime, _force], _unit] call CBA_fnc_targetEvent; }; _unit setVariable ["ACE_isUnconscious", true, true]; @@ -122,4 +122,4 @@ _startingTime = ACE_time; // unconscious can't talk [_unit, "isUnconscious"] call EFUNC(common,muteUnit); -["medical_onUnconscious", [_unit, true]] call EFUNC(common,globalEvent); +["medical_onUnconscious", [_unit, true]] call CBA_fnc_globalEvent; diff --git a/addons/medical/functions/fnc_treatment.sqf b/addons/medical/functions/fnc_treatment.sqf index d7f80edc35..f59a540bdc 100644 --- a/addons/medical/functions/fnc_treatment.sqf +++ b/addons/medical/functions/fnc_treatment.sqf @@ -239,7 +239,7 @@ if (_target != _caller) then { }; if (_displayText != "") then { - ["displayTextStructured", [_caller], [[_displayText, [_caller] call EFUNC(common,getName), [_target] call EFUNC(common,getName)], 1.5, _caller]] call EFUNC(common,targetEvent); + ["displayTextStructured", [[_displayText, [_caller] call EFUNC(common,getName), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; }; true; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf b/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf index 7d34a278f1..599f7fdad9 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf @@ -22,9 +22,9 @@ if (alive _target && {(_target getVariable [QGVAR(inCardiacArrest), false] || _t [_target, "activity_view", LSTRING(Activity_cpr), [[_caller, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); if (local _target) then { - ["treatmentAdvanced_CPRLocal", [_caller, _target]] call EFUNC(common,localEvent); + ["treatmentAdvanced_CPRLocal", [_caller, _target]] call CBA_fnc_localEvent; } else { - ["treatmentAdvanced_CPRLocal", _target, [_caller, _target]] call EFUNC(common,targetEvent); + ["treatmentAdvanced_CPRLocal", [_caller, _target], _target] call CBA_fnc_targetEvent; }; }; true; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf index 98881e1a28..bebc2d88a0 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf @@ -27,9 +27,9 @@ if !([_target] call FUNC(hasMedicalEnabled)) exitWith { }; if (local _target) then { - ["treatmentAdvanced_bandageLocal", [_target, _className, _selectionName, _specificSpot]] call EFUNC(common,localEvent); + ["treatmentAdvanced_bandageLocal", [_target, _className, _selectionName, _specificSpot]] call CBA_fnc_localEvent; } else { - ["treatmentAdvanced_bandageLocal", _target, [_target, _className, _selectionName, _specificSpot]] call EFUNC(common,targetEvent); + ["treatmentAdvanced_bandageLocal", [_target, _className, _selectionName, _specificSpot], _target] call CBA_fnc_targetEvent; }; /* { diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf index 5cfe73ab8d..c657dfc8da 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf @@ -90,7 +90,7 @@ _openWounds set [_mostEffectiveSpot, _mostEffectiveInjury]; _target setVariable [QGVAR(openWounds), _openWounds, !USE_WOUND_EVENT_SYNC]; if (USE_WOUND_EVENT_SYNC) then { - ["medical_propagateWound", [_target, _mostEffectiveInjury]] call EFUNC(common,globalEvent); + ["medical_propagateWound", [_target, _mostEffectiveInjury]] call CBA_fnc_globalEvent; }; // Handle the reopening of bandaged wounds if (_impact > 0 && {GVAR(enableAdvancedWounds)}) then { diff --git a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf index a5332df107..6e7146719d 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf @@ -13,9 +13,9 @@ params ["_caller", "_target", "_selectionName", "_className", "_items"]; if (local _target) then { - ["treatmentAdvanced_fullHealLocal", [_caller, _target]] call EFUNC(common,localEvent); + ["treatmentAdvanced_fullHealLocal", [_caller, _target]] call CBA_fnc_localEvent; } else { - ["treatmentAdvanced_fullHealLocal", _target, [_caller, _target]] call EFUNC(common,targetEvent); + ["treatmentAdvanced_fullHealLocal", [_caller, _target], _target] call CBA_fnc_targetEvent; }; true; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf index 185853b677..95948c465c 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf @@ -22,7 +22,7 @@ TRACE_5("params",_caller,_target,_selectionName,_className,_items); private _part = [_selectionName] call FUNC(selectionNameToNumber); -["treatmentAdvanced_medicationLocal", [_target], [_target, _className, _part]] call EFUNC(common,targetEvent); +["treatmentAdvanced_medicationLocal", [_target, _className, _part], [_target]] call CBA_fnc_targetEvent; { if (_x != "") then { diff --git a/addons/medical/functions/fnc_treatmentBasic_bandage.sqf b/addons/medical/functions/fnc_treatmentBasic_bandage.sqf index 3e04ad3bd8..16d2192a2b 100644 --- a/addons/medical/functions/fnc_treatmentBasic_bandage.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_bandage.sqf @@ -21,7 +21,7 @@ private ["_hitSelections", "_hitPoints", "_point", "_damage"]; params ["_caller", "_target", "_selection", "_className"]; if (local _target) then { - ["treatmentBasic_bandageLocal", [_target, _selection]] call EFUNC(common,localEvent); + ["treatmentBasic_bandageLocal", [_target, _selection]] call CBA_fnc_localEvent; } else { - ["treatmentBasic_bandageLocal", _target, [_target, _selection]] call EFUNC(common,targetEvent); + ["treatmentBasic_bandageLocal", [_target, _selection], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf b/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf index f28b634038..94353055c0 100644 --- a/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf @@ -19,7 +19,7 @@ params ["_caller", "_target", "_treatmentClassname"]; if (local _target) then { - ["treatmentBasic_bloodbagLocal", [_target, _treatmentClassname]] call EFUNC(common,localEvent); + ["treatmentBasic_bloodbagLocal", [_target, _treatmentClassname]] call CBA_fnc_localEvent; } else { - ["treatmentBasic_bloodbagLocal", _target, [_target, _treatmentClassname]] call EFUNC(common,targetEvent); + ["treatmentBasic_bloodbagLocal", [_target, _treatmentClassname], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_treatmentBasic_morphine.sqf b/addons/medical/functions/fnc_treatmentBasic_morphine.sqf index d2f7de45a9..20e6d44f96 100644 --- a/addons/medical/functions/fnc_treatmentBasic_morphine.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_morphine.sqf @@ -20,7 +20,7 @@ params ["_caller", "_target"]; if (local _target) then { - ["treatmentBasic_morphineLocal", [_target]] call EFUNC(common,localEvent); + ["treatmentBasic_morphineLocal", [_target]] call CBA_fnc_localEvent; } else { - ["treatmentBasic_morphineLocal", _target, [_target]] call EFUNC(common,targetEvent); + ["treatmentBasic_morphineLocal", [_target], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_treatmentIV.sqf b/addons/medical/functions/fnc_treatmentIV.sqf index 29173fe23b..d584caca83 100644 --- a/addons/medical/functions/fnc_treatmentIV.sqf +++ b/addons/medical/functions/fnc_treatmentIV.sqf @@ -23,9 +23,9 @@ if (count _items == 0) exitWith {false}; _removeItem = _items select 0; if (local _target) then { - ["treatmentIVLocal", [_target, _className]] call EFUNC(common,localEvent); + ["treatmentIVLocal", [_target, _className]] call CBA_fnc_localEvent; } else { - ["treatmentIVLocal", _target, [_target, _className]] call EFUNC(common,targetEvent); + ["treatmentIVLocal", [_target, _className], _target] call CBA_fnc_targetEvent; }; [_target, _removeItem] call FUNC(addToTriageCard); diff --git a/addons/medical/functions/fnc_treatmentTourniquet.sqf b/addons/medical/functions/fnc_treatmentTourniquet.sqf index b410a899a4..b866aa65af 100644 --- a/addons/medical/functions/fnc_treatmentTourniquet.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquet.sqf @@ -28,22 +28,22 @@ if (count _items == 0) exitWith {false}; _part = [_selectionName] call FUNC(selectionNameToNumber); if (_part == 0 || _part == 1) exitWith { - // ["displayTextStructured", [_caller], ["You cannot apply a CAT on this body part!"]] call EFUNC(common,targetEvent); + // ["displayTextStructured", ["You cannot apply a CAT on this body part!"], [_caller]] call CBA_fnc_targetEvent; false; }; _tourniquets = _target getVariable [QGVAR(tourniquets), [0,0,0,0,0,0]]; if ((_tourniquets select _part) > 0) exitWith { _output = "There is already a tourniquet on this body part!"; // TODO localization - ["displayTextStructured", [_caller], [_output, 1.5, _caller]] call EFUNC(common,targetEvent); + ["displayTextStructured", [_output, 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; false; }; _removeItem = _items select 0; if (local _target) then { - ["treatmentTourniquetLocal", [_target, _removeItem, _selectionName]] call EFUNC(common,localEvent); + ["treatmentTourniquetLocal", [_target, _removeItem, _selectionName]] call CBA_fnc_localEvent; } else { - ["treatmentTourniquetLocal", _target, [_target, _removeItem, _selectionName]] call EFUNC(common,targetEvent); + ["treatmentTourniquetLocal", [_target, _removeItem, _selectionName], _target] call CBA_fnc_targetEvent; }; [_target, _removeItem] call FUNC(addToTriageCard); diff --git a/addons/medical/functions/fnc_treatment_success.sqf b/addons/medical/functions/fnc_treatment_success.sqf index a9ef534346..aca94c5be6 100644 --- a/addons/medical/functions/fnc_treatment_success.sqf +++ b/addons/medical/functions/fnc_treatment_success.sqf @@ -95,4 +95,4 @@ if (!(_target getVariable [QGVAR(addedToUnitLoop),false])) then { [_target] call FUNC(addVitalLoop); }; -["medical_treatmentSuccess", [_caller, _target, _selectionName, _className]] call EFUNC(common,localEvent); +["medical_treatmentSuccess", [_caller, _target, _selectionName, _className]] call CBA_fnc_localEvent; diff --git a/addons/medical/functions/fnc_unconsciousPFH.sqf b/addons/medical/functions/fnc_unconsciousPFH.sqf index e78c80f3ec..bda65fe477 100644 --- a/addons/medical/functions/fnc_unconsciousPFH.sqf +++ b/addons/medical/functions/fnc_unconsciousPFH.sqf @@ -39,7 +39,7 @@ if (!alive _unit) exitWith { _unit setUnconscious false; [_unit, "isUnconscious"] call EFUNC(common,unmuteUnit); - ["medical_onUnconscious", [_unit, false]] call EFUNC(common,globalEvent); + ["medical_onUnconscious", [_unit, false]] call CBA_fnc_globalEvent; TRACE_3("ACE_DEBUG_Unconscious_Exit",_unit, (!alive _unit) , QGVAR(unconscious)); @@ -96,7 +96,7 @@ if !(_unit getVariable ["ACE_isUnconscious",false]) exitWith { }; _unit setVariable [QGVAR(vehicleAwakeAnim), nil]; - ["medical_onUnconscious", [_unit, false]] call EFUNC(common,globalEvent); + ["medical_onUnconscious", [_unit, false]] call CBA_fnc_globalEvent; // EXIT PFH [_idPFH] call CBA_fnc_removePerFrameHandler; }; diff --git a/addons/medical/functions/fnc_useItem.sqf b/addons/medical/functions/fnc_useItem.sqf index 71b5304c67..e5ee6b0517 100644 --- a/addons/medical/functions/fnc_useItem.sqf +++ b/addons/medical/functions/fnc_useItem.sqf @@ -25,18 +25,18 @@ if (isNil QGVAR(setting_allowSharedEquipment)) then { if (GVAR(setting_allowSharedEquipment) && {[_patient, _item] call EFUNC(common,hasItem)}) exitWith { if (local _patient) then { - ["useItem", [_patient, _item]] call EFUNC(common,localEvent); + ["useItem", [_patient, _item]] call CBA_fnc_localEvent; } else { - ["useItem", _patient, [_patient, _item]] call EFUNC(common,targetEvent); + ["useItem", [_patient, _item], _patient] call CBA_fnc_targetEvent; }; [true, _patient]; }; if ([_medic, _item] call EFUNC(common,hasItem)) exitWith { if (local _medic) then { - ["useItem", [_medic, _item]] call EFUNC(common,localEvent); + ["useItem", [_medic, _item]] call CBA_fnc_localEvent; } else { - ["useItem", _medic, [_medic, _item]] call EFUNC(common,targetEvent); + ["useItem", [_medic, _item], _medic] call CBA_fnc_targetEvent; }; [true, _medic]; }; @@ -48,9 +48,9 @@ if ([vehicle _medic] call FUNC(isMedicalVehicle) && {vehicle _medic != _medic}) if ([_medic, _x] call FUNC(canAccessMedicalEquipment) && {([_x, _item] call EFUNC(common,hasItem))}) exitWith { _return = [true, _x]; if (local _x) then { - ["useItem", [_x, _item]] call EFUNC(common,localEvent); + ["useItem", [_x, _item]] call CBA_fnc_localEvent; } else { - ["useItem", _x, [_x, _item]] call EFUNC(common,targetEvent); + ["useItem", [_x, _item], _x] call CBA_fnc_targetEvent; }; }; } forEach _crew; diff --git a/addons/medical_menu/XEH_postInit.sqf b/addons/medical_menu/XEH_postInit.sqf index 92e2af341f..864218c23a 100644 --- a/addons/medical_menu/XEH_postInit.sqf +++ b/addons/medical_menu/XEH_postInit.sqf @@ -14,7 +14,7 @@ GVAR(pendingReopen) = false; [GVAR(INTERACTION_TARGET)] call FUNC(openMenu); }, []] call EFUNC(common,execNextFrame); }; -}] call EFUNC(common,addEventhandler); +}] call CBA_fnc_addEventHandler; ["ACE3 Common", QGVAR(displayMenuKeyPressed), localize LSTRING(DisplayMenuKey), diff --git a/addons/medical_menu/functions/fnc_onMenuOpen.sqf b/addons/medical_menu/functions/fnc_onMenuOpen.sqf index d8d1fde35a..f8b38d46fe 100644 --- a/addons/medical_menu/functions/fnc_onMenuOpen.sqf +++ b/addons/medical_menu/functions/fnc_onMenuOpen.sqf @@ -81,10 +81,10 @@ GVAR(MenuPFHID) = [{ closeDialog 314412; //If we failed because of distance check, show UI message: if ((ACE_player distance GVAR(INTERACTION_TARGET)) > GVAR(maxRange)) then { - ["displayTextStructured", [[ELSTRING(medical,DistanceToFar), [GVAR(INTERACTION_TARGET)] call EFUNC(common,getName)], 2, ACE_player]] call EFUNC(common,localEvent); + ["displayTextStructured", [[ELSTRING(medical,DistanceToFar), [GVAR(INTERACTION_TARGET)] call EFUNC(common,getName)], 2, ACE_player]] call CBA_fnc_localEvent; }; }; }, 0, [_display]] call CBA_fnc_addPerFrameHandler; -["Medical_onMenuOpen", [ACE_player, _target]] call EFUNC(common,localEvent); +["Medical_onMenuOpen", [ACE_player, _target]] call CBA_fnc_localEvent; diff --git a/addons/microdagr/XEH_clientInit.sqf b/addons/microdagr/XEH_clientInit.sqf index c918bcf454..aecfc8141c 100644 --- a/addons/microdagr/XEH_clientInit.sqf +++ b/addons/microdagr/XEH_clientInit.sqf @@ -20,7 +20,7 @@ _closeCode = { //Add Eventhandler: -["RangerfinderData", {_this call FUNC(recieveRangefinderData)}] call EFUNC(common,addEventHandler); +["RangerfinderData", {_this call FUNC(recieveRangefinderData)}] call CBA_fnc_addEventHandler; //Global Variables to default: GVAR(gpsPositionASL) = [0,0,0]; diff --git a/addons/missileguidance/XEH_post_init.sqf b/addons/missileguidance/XEH_post_init.sqf index deaeef669d..5fe3a665d8 100644 --- a/addons/missileguidance/XEH_post_init.sqf +++ b/addons/missileguidance/XEH_post_init.sqf @@ -1,3 +1,3 @@ #include "script_component.hpp" -[QGVAR(handoff), {_this call FUNC(handleHandoff)}] call EFUNC(common,addEventHandler); +[QGVAR(handoff), {_this call FUNC(handleHandoff)}] call CBA_fnc_addEventHandler; diff --git a/addons/missileguidance/functions/fnc_doHandoff.sqf b/addons/missileguidance/functions/fnc_doHandoff.sqf index d99998c8c4..8d90a7c499 100644 --- a/addons/missileguidance/functions/fnc_doHandoff.sqf +++ b/addons/missileguidance/functions/fnc_doHandoff.sqf @@ -1,4 +1,4 @@ #include "script_component.hpp" PARAMS_2(_target,_args); -[QGVAR(handoff), [_target, _args]] call EFUNC(common,globalEvent); \ No newline at end of file +[QGVAR(handoff), [_target, _args]] call CBA_fnc_globalEvent; \ No newline at end of file diff --git a/addons/mk6mortar/RscInGameUI.hpp b/addons/mk6mortar/RscInGameUI.hpp index a114896044..864dcecda3 100644 --- a/addons/mk6mortar/RscInGameUI.hpp +++ b/addons/mk6mortar/RscInGameUI.hpp @@ -3,7 +3,7 @@ class RscInGameUI { class CA_IGUI_elements_group: RscControlsGroup {}; }; class ACE_Mk6_RscWeaponRangeArtillery: RscWeaponRangeArtillery { - onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_Mk6_RscWeaponRangeArtillery', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Mk6Mortar')])] call EFUNC(common,localEvent);); + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_Mk6_RscWeaponRangeArtillery', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Mk6Mortar')])] call CBA_fnc_localEvent;); controls[] = {"ACE_ChargeDisplay", "ACE_MILS_GROUP", "CA_IGUI_elements_group","CA_RangeElements_group"}; class ACE_ChargeDisplay: RscStructuredText { idc = 80085; diff --git a/addons/mk6mortar/XEH_postInit.sqf b/addons/mk6mortar/XEH_postInit.sqf index 9c098b8cdd..4d0216d00a 100644 --- a/addons/mk6mortar/XEH_postInit.sqf +++ b/addons/mk6mortar/XEH_postInit.sqf @@ -3,21 +3,21 @@ [QGVAR(addMagazine), { params ["_static", "_magazine"]; _static addMagazineTurret [_magazine,[0]]; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; [QGVAR(removeMagazine), { params ["_static", "_magazine"]; _static removeMagazineTurret [_magazine,[0]]; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; [QGVAR(setAmmo), { params ["_static", "_magazine","_ammoCount"]; _static setMagazineTurretAmmo [_magazine, _ammoCount, [0]]; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; -["initMortar", {_this call FUNC(mortarInit);}] call EFUNC(common,addEventHandler); +["initMortar", {_this call FUNC(mortarInit);}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; -["playerVehicleChanged", {_this call FUNC(handlePlayerVehicleChanged);}] call EFUNC(common,addEventHandler); -["infoDisplayChanged", {_this call FUNC(turretDisplayLoaded);}] call EFUNC(common,addEventHandler); +["playerVehicleChanged", {_this call FUNC(handlePlayerVehicleChanged);}] call CBA_fnc_addEventHandler; +["infoDisplayChanged", {_this call FUNC(turretDisplayLoaded);}] call CBA_fnc_addEventHandler; diff --git a/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf index 2d921973d4..8c3dfbae8c 100644 --- a/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf +++ b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf @@ -29,7 +29,7 @@ if (!(_newVehicle getVariable [QGVAR(initialized),false]) && !(_newVehicle getVa if (GVAR(useAmmoHandling) && {!(_mortar getVariable [QGVAR(initialized),false]) && !(_mortar getVariable [QGVAR(exclude),false])}) then { //wait for proper turret locality change [{ - ["initMortar", [_this], [_this]] call EFUNC(common,globalEvent); + ["initMortar", [_this], [_this]] call CBA_fnc_globalEvent; }, _mortar, 0.05] call EFUNC(common,waitAndExecute); }; }, _newVehicle] call EFUNC(common,runAfterSettingsInit); diff --git a/addons/mk6mortar/functions/fnc_loadMagazine.sqf b/addons/mk6mortar/functions/fnc_loadMagazine.sqf index 41b0162151..37fa2f4db4 100644 --- a/addons/mk6mortar/functions/fnc_loadMagazine.sqf +++ b/addons/mk6mortar/functions/fnc_loadMagazine.sqf @@ -24,7 +24,7 @@ private ["_weapon","_currentMagazine","_count","_magazines","_magazineDetails"," //If function has been called with an optional classname hten add that magazine to the static weapon. Otherwise add the compatible magazine if(_magazineClassOptional != "") then { _unit removeMagazine _magazineClassOptional; - [QGVAR(addMagazine), [_static, _magazineClassOptional]] call EFUNC(common,globalEvent); + [QGVAR(addMagazine), [_static, _magazineClassOptional]] call CBA_fnc_globalEvent; } else { //Get weapon & magazine information of static weapon _weapon = (_static weaponsTurret [0]) select 0; @@ -49,7 +49,7 @@ if(_magazineClassOptional != "") then { } forEach _magazines; //If the static weapon already has an empty magazine then remove it if (_count == 0) then { - [QGVAR(removeMagazine), [_static, _currentMagazineClass]] call EFUNC(common,globalEvent); + [QGVAR(removeMagazine), [_static, _currentMagazineClass]] call CBA_fnc_globalEvent; }; //Find out the ammo count of the compatible magazine found if (_magazineClassDetails != "") then{ @@ -60,6 +60,6 @@ if(_magazineClassOptional != "") then { }; _unit removeMagazine _magazineClass; - [QGVAR(addMagazine), [_static, _magazineClass]] call EFUNC(common,globalEvent); - [QGVAR(setAmmo), _static, [_static, _magazineClass,_roundsLeft]] call EFUNC(common,targetEvent); + [QGVAR(addMagazine), [_static, _magazineClass]] call CBA_fnc_globalEvent; + [QGVAR(setAmmo), [_static, _magazineClass,_roundsLeft], _static] call CBA_fnc_targetEvent; }; diff --git a/addons/mk6mortar/functions/fnc_unloadMagazine.sqf b/addons/mk6mortar/functions/fnc_unloadMagazine.sqf index 537cc931d8..c485a39a3a 100644 --- a/addons/mk6mortar/functions/fnc_unloadMagazine.sqf +++ b/addons/mk6mortar/functions/fnc_unloadMagazine.sqf @@ -35,5 +35,5 @@ if (_ammoCount > 0) then { _unit addMagazineAmmoCargo [_currentMagazineClass, 1, _ammoCount]; _unit setPosATL _pos; }; - [QGVAR(removeMagazine), [_static, _currentMagazineClass]] call EFUNC(common,globalEvent); + [QGVAR(removeMagazine), [_static, _currentMagazineClass]] call CBA_fnc_globalEvent; }; diff --git a/addons/modules/XEH_postInit.sqf b/addons/modules/XEH_postInit.sqf index 8f0c430db2..1bd8862fe1 100644 --- a/addons/modules/XEH_postInit.sqf +++ b/addons/modules/XEH_postInit.sqf @@ -49,4 +49,4 @@ GVAR(serverModulesRead) = true; publicVariable QGVAR(serverModulesRead); }; -}] call EFUNC(common,addEventhandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/movement/XEH_postInit.sqf b/addons/movement/XEH_postInit.sqf index d9179a912a..3da8465c4b 100644 --- a/addons/movement/XEH_postInit.sqf +++ b/addons/movement/XEH_postInit.sqf @@ -3,8 +3,8 @@ if (!hasInterface) exitWith {}; -["playerChanged", FUNC(handleVirtualMass)] call FUNC(addEventHandler); -["playerInventoryChanged", FUNC(handleVirtualMass)] call FUNC(addEventHandler); +["playerChanged", FUNC(handleVirtualMass)] call CBA_fnc_addEventHandler; +["playerInventoryChanged", FUNC(handleVirtualMass)] call CBA_fnc_addEventHandler; ["ACE3 Movement", QGVAR(climb), localize LSTRING(Climb), { diff --git a/addons/nametags/XEH_postInit.sqf b/addons/nametags/XEH_postInit.sqf index 46d0e287d8..9b497c0da1 100644 --- a/addons/nametags/XEH_postInit.sqf +++ b/addons/nametags/XEH_postInit.sqf @@ -26,7 +26,7 @@ GVAR(showNamesTime) = -10; ["SettingsInitialized", { // Draw handle call FUNC(updateSettings); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; // Change settings accordingly when they are changed ["SettingChanged", { @@ -34,4 +34,4 @@ GVAR(showNamesTime) = -10; if (_name == QGVAR(showPlayerNames)) then { call FUNC(updateSettings); }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/nametags/functions/fnc_initIsSpeaking.sqf b/addons/nametags/functions/fnc_initIsSpeaking.sqf index 7f9ced67f7..3904b7f552 100644 --- a/addons/nametags/functions/fnc_initIsSpeaking.sqf +++ b/addons/nametags/functions/fnc_initIsSpeaking.sqf @@ -34,7 +34,7 @@ if (!hasInterface) exitWith {}; if ((!isNull _oldUnit) && {_oldUnit getVariable [QGVAR(isSpeakingInGame), false]}) then { _oldUnit setVariable [QGVAR(isSpeakingInGame), false, true]; }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; if (isClass (configFile >> "CfgPatches" >> "acre_api")) then { diff --git a/addons/nightvision/XEH_postInitClient.sqf b/addons/nightvision/XEH_postInitClient.sqf index 96badd59af..85e4e768cc 100644 --- a/addons/nightvision/XEH_postInitClient.sqf +++ b/addons/nightvision/XEH_postInitClient.sqf @@ -29,18 +29,18 @@ GVAR(ppEffectMuzzleFlash) ppEffectAdjust [1, 1, 0, [0, 0, 0, 0], [0, 0, 0, 1], [ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0; // Setup the event handlers -["playerInventoryChanged", FUNC(updatePPEffects)] call EFUNC(common,addEventHandler); +["playerInventoryChanged", FUNC(updatePPEffects)] call CBA_fnc_addEventHandler; ["playerVisionModeChanged", { _this call FUNC(updatePPEffects); _this call FUNC(onVisionModeChanged); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; ["cameraViewChanged", { _this call FUNC(updatePPEffects); _this call FUNC(onCameraViewChanged); -}] call EFUNC(common,addEventHandler); -["playerVehicleChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler); -["playerTurretChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; +["playerVehicleChanged", {_this call FUNC(updatePPEffects)}] call CBA_fnc_addEventHandler; +["playerTurretChanged", {_this call FUNC(updatePPEffects)}] call CBA_fnc_addEventHandler; // Add keybinds ["ACE3 Equipment", QGVAR(IncreaseNVGBrightness), localize LSTRING(IncreaseNVGBrightness), @@ -72,5 +72,5 @@ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0; [209, [false, false, true]], false] call CBA_fnc_addKeybind; //PageDown + ALT // Register fire event handler -["firedPlayer", DFUNC(blending)] call EFUNC(common,addEventHandler); -["firedPlayerVehicle", DFUNC(blending)] call EFUNC(common,addEventHandler); +["firedPlayer", DFUNC(blending)] call CBA_fnc_addEventHandler; +["firedPlayerVehicle", DFUNC(blending)] call CBA_fnc_addEventHandler; diff --git a/addons/noradio/XEH_postInit.sqf b/addons/noradio/XEH_postInit.sqf index 4aeccffd62..8396a00b8e 100644 --- a/addons/noradio/XEH_postInit.sqf +++ b/addons/noradio/XEH_postInit.sqf @@ -21,4 +21,4 @@ if (!hasInterface) exitWith {}; if (alive _oldPlayer) then { [_oldPlayer, "isPlayer"] call EFUNC(common,unmuteUnit); }; -}] call EFUNC(common,addEventhandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/optics/XEH_postInit.sqf b/addons/optics/XEH_postInit.sqf index c9667f3931..0e37839dca 100644 --- a/addons/optics/XEH_postInit.sqf +++ b/addons/optics/XEH_postInit.sqf @@ -32,7 +32,7 @@ GVAR(camera) = objNull; if (!isNull ((_this select 0) displayCtrl 1713001)) then { uiNamespace setVariable [QGVAR(RscWeaponInfo2D), _this select 0]; }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; // camera has to be re-created every time another camera is created. Otherwise r2t is either black or transparent. @todo Add popular custom cameras to the event in ACE_common. ["activeCameraChanged", { @@ -49,7 +49,7 @@ GVAR(camera) = objNull; "ace_optics_rendertarget0" setPiPEffect [0]; GVAR(camera) cameraEffect ["INTERNAL", "BACK", "ace_optics_rendertarget0"]; }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; // Register fire event handler -["firedPlayer", DFUNC(handleFired)] call EFUNC(common,addEventHandler); +["firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; diff --git a/addons/optionsmenu/XEH_postInit.sqf b/addons/optionsmenu/XEH_postInit.sqf index 4736d72623..90365be262 100644 --- a/addons/optionsmenu/XEH_postInit.sqf +++ b/addons/optionsmenu/XEH_postInit.sqf @@ -8,4 +8,4 @@ GVAR(categories) pushBack (_x select 8); }; }forEach EGVAR(common,settings); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/overheating/XEH_postInit.sqf b/addons/overheating/XEH_postInit.sqf index e4935b8831..e2fd88f596 100644 --- a/addons/overheating/XEH_postInit.sqf +++ b/addons/overheating/XEH_postInit.sqf @@ -35,8 +35,8 @@ if (hasInterface) then { GVAR(storedSpareBarrels) = [] call CBA_fnc_hashCreate; // Install event handlers for spare barrels - ["spareBarrelsSendTemperatureHint", FUNC(sendSpareBarrelsTemperaturesHint)] call EFUNC(common,addEventHandler); - ["spareBarrelsLoadCoolest", FUNC(loadCoolestSpareBarrel)] call EFUNC(common,addEventHandler); + ["spareBarrelsSendTemperatureHint", FUNC(sendSpareBarrelsTemperaturesHint)] call CBA_fnc_addEventHandler; + ["spareBarrelsLoadCoolest", FUNC(loadCoolestSpareBarrel)] call CBA_fnc_addEventHandler; // Schedule cool down calculation of stored spare barrels [] call FUNC(updateSpareBarrelsTemperaturesThread); @@ -52,18 +52,18 @@ if (hasInterface) then { ["CAManBase", "Take", {_this call FUNC(handleTakeEH);}] call CBA_fnc_addClassEventHandler; // Register fire event handler - ["firedPlayer", DFUNC(firedEH)] call EFUNC(common,addEventHandler); + ["firedPlayer", DFUNC(firedEH)] call CBA_fnc_addEventHandler; // Only add eh to non local players if dispersion is enabled if (GVAR(overheatingDispersion)) then { - ["firedPlayerNonLocal", DFUNC(firedEH)] call EFUNC(common,addEventHandler); + ["firedPlayerNonLocal", DFUNC(firedEH)] call CBA_fnc_addEventHandler; }; // Schedule cool down calculation of player weapons at (infrequent) regular intervals [] call FUNC(updateTemperatureThread); // Install event handler to display temp when a barrel was swapped - ["showWeaponTemperature", DFUNC(displayTemperature)] call EFUNC(common,addEventHandler); + ["showWeaponTemperature", DFUNC(displayTemperature)] call CBA_fnc_addEventHandler; // Install event handler to initiate an assisted barrel swap - ["initiateSwapBarrelAssisted", DFUNC(swapBarrel)] call EFUNC(common,addEventHandler); + ["initiateSwapBarrelAssisted", DFUNC(swapBarrel)] call CBA_fnc_addEventHandler; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/overheating/functions/fnc_checkSpareBarrelsTemperatures.sqf b/addons/overheating/functions/fnc_checkSpareBarrelsTemperatures.sqf index e8dbaabec0..129f80845b 100644 --- a/addons/overheating/functions/fnc_checkSpareBarrelsTemperatures.sqf +++ b/addons/overheating/functions/fnc_checkSpareBarrelsTemperatures.sqf @@ -29,7 +29,7 @@ if (!([_player, objNull, ["isNotInside", "isNotSitting"]] call EFUNC(common,canI params ["_args", "_elapsedTime", "_totalTime", "_errorCode"]; _args params ["_player"]; // Time has enlapsed, ask the server to send the hint - ['spareBarrelsSendTemperatureHint', [_player, _player]] call EFUNC(common,serverEvent); + ['spareBarrelsSendTemperatureHint', [_player, _player]] call CBA_fnc_serverEvent; }, {}, (localize LSTRING(CheckingSpareBarrelsTemperatures)), diff --git a/addons/overheating/functions/fnc_jamWeapon.sqf b/addons/overheating/functions/fnc_jamWeapon.sqf index b6cacdbea3..e85bb12673 100644 --- a/addons/overheating/functions/fnc_jamWeapon.sqf +++ b/addons/overheating/functions/fnc_jamWeapon.sqf @@ -43,7 +43,7 @@ if (_ammo > 0) then { // only display the hint once, after you try to shoot an already jammed weapon GVAR(knowAboutJam) = false; -["weaponJammed", [_unit,_weapon]] call EFUNC(common,localEvent); +["weaponJammed", [_unit,_weapon]] call CBA_fnc_localEvent; if (_unit getVariable [QGVAR(JammingActionID), -1] == -1) then { diff --git a/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf b/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf index 08cb85083c..ee314b9edf 100644 --- a/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf +++ b/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf @@ -50,4 +50,4 @@ _gunner setVariable [format [QGVAR(%1_temp), _weapon], _coolestTemp, true]; [GVAR(storedSpareBarrels), _coolestMag, [_weaponTemp, ACE_Time, _barrelMass]] call CBA_fnc_hashSet; // Send an event so the machines of the assistant and gunner can show the hint -["showWeaponTemperature", [_assistant, _gunner], [_gunner, _weapon]] call EFUNC(common,targetEvent); +["showWeaponTemperature", _gunner], [_gunner, _weapon], [_assistant] call CBA_fnc_targetEvent; diff --git a/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf b/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf index 2ff248016d..621f246432 100644 --- a/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf +++ b/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf @@ -73,4 +73,4 @@ if (_countExtremelyHot > 0) then { }; TRACE_1("_output",_output); -["displayTextStructured", [_player], [_output, _size, _player]] call EFUNC(common,targetEvent); +["displayTextStructured", [_output, _size, _player], [_player]] call CBA_fnc_targetEvent; diff --git a/addons/overheating/functions/fnc_swapBarrelAssistant.sqf b/addons/overheating/functions/fnc_swapBarrelAssistant.sqf index 5e3c31fc5e..73a06e53d1 100644 --- a/addons/overheating/functions/fnc_swapBarrelAssistant.sqf +++ b/addons/overheating/functions/fnc_swapBarrelAssistant.sqf @@ -30,4 +30,4 @@ playSound "ACE_BarrelSwap"; [3, [_assistant, _gunner, _weapon], {}, {}, (localize LSTRING(SwappingBarrel))] call EFUNC(common,progressBar); -["initiateSwapBarrelAssisted", _gunner, [_assistant, _gunner, _weapon]] call EFUNC(common,objectEvent); +["initiateSwapBarrelAssisted", [_assistant, _gunner, _weapon], _gunner] call CBA_fnc_targetEvent; diff --git a/addons/overheating/functions/fnc_swapBarrelCallback.sqf b/addons/overheating/functions/fnc_swapBarrelCallback.sqf index 403989deca..6898ff648b 100644 --- a/addons/overheating/functions/fnc_swapBarrelCallback.sqf +++ b/addons/overheating/functions/fnc_swapBarrelCallback.sqf @@ -34,7 +34,7 @@ private _barrelMass = 0.50 * (getNumber (configFile >> "CfgWeapons" >> _weapon > // store the removed barrel with the former weapon temperature. The server // also updates the current weapon temperature to match that of the new // loaded barrel. -["spareBarrelsLoadCoolest", [_assistant, _gunner, _weapon, _temp, _barrelMass]] call EFUNC(common,serverEvent); +["spareBarrelsLoadCoolest", [_assistant, _gunner, _weapon, _temp, _barrelMass]] call CBA_fnc_serverEvent; // Store the update time _gunner setVariable [format [QGVAR(%1_time), _weapon], ACE_time]; diff --git a/addons/overpressure/XEH_postInit.sqf b/addons/overpressure/XEH_postInit.sqf index f7f0bc2ace..8e39b7fdcc 100644 --- a/addons/overpressure/XEH_postInit.sqf +++ b/addons/overpressure/XEH_postInit.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" -["overpressure", FUNC(overpressureDamage)] call EFUNC(common,addEventHandler); +["overpressure", FUNC(overpressureDamage)] call CBA_fnc_addEventHandler; // Register fire event handler -["firedPlayer", DFUNC(firedEHBB)] call EFUNC(common,addEventHandler); -["firedPlayerVehicle", DFUNC(firedEHOP)] call EFUNC(common,addEventHandler); +["firedPlayer", DFUNC(firedEHBB)] call CBA_fnc_addEventHandler; +["firedPlayerVehicle", DFUNC(firedEHOP)] call CBA_fnc_addEventHandler; diff --git a/addons/overpressure/functions/fnc_firedEHBB.sqf b/addons/overpressure/functions/fnc_firedEHBB.sqf index 8dc15e0f0a..4835b537e4 100644 --- a/addons/overpressure/functions/fnc_firedEHBB.sqf +++ b/addons/overpressure/functions/fnc_firedEHBB.sqf @@ -37,7 +37,7 @@ private _direction = [0, 0, 0] vectorDiff (vectorDir _projectile); private _affected = (ASLtoAGL _position) nearEntities ["CAManBase", _backblastRange]; // Let each client handle their own affected units -["overpressure", _affected, [_unit, _position, _direction, _weapon, _magazine, _ammo]] call EFUNC(common,targetEvent); +["overpressure", [_unit, _position, _direction, _weapon, _magazine, _ammo], _affected] call CBA_fnc_targetEvent; // Damage to the firer private _distance = 2 * ([_position, _direction, _backblastRange, _unit] call FUNC(getDistance)); diff --git a/addons/overpressure/functions/fnc_firedEHOP.sqf b/addons/overpressure/functions/fnc_firedEHOP.sqf index dff9215a52..0b2b85a00c 100644 --- a/addons/overpressure/functions/fnc_firedEHOP.sqf +++ b/addons/overpressure/functions/fnc_firedEHOP.sqf @@ -40,7 +40,7 @@ private _direction = vectorDir _projectile; private _affected = (ASLtoAGL _position) nearEntities ["CAManBase", _dangerZoneRange]; // Let each client handle their own affected units -["overpressure", _affected, [_unit, _position, _direction, _weapon, _magazine, _ammo]] call EFUNC(common,targetEvent); +["overpressure", [_unit, _position, _direction, _weapon, _magazine, _ammo], _affected] call CBA_fnc_targetEvent; // Draw debug lines #ifdef DEBUG_MODE_FULL diff --git a/addons/parachute/XEH_postInit.sqf b/addons/parachute/XEH_postInit.sqf index ad4044e6e5..e732f7ecdf 100644 --- a/addons/parachute/XEH_postInit.sqf +++ b/addons/parachute/XEH_postInit.sqf @@ -38,9 +38,9 @@ GVAR(PFH) = false; GVAR(PFH) = true; [FUNC(onEachFrame), 0.1, []] call CALLSTACK(CBA_fnc_addPerFrameHandler); }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; // don't show speed and height when in expert mode -["infoDisplayChanged", {_this call FUNC(handleInfoDisplayChanged)}] call EFUNC(common,addEventHandler); +["infoDisplayChanged", {_this call FUNC(handleInfoDisplayChanged)}] call CBA_fnc_addEventHandler; -["playerInventoryChanged", FUNC(storeParachute)] call EFUNC(common,addEventHandler); +["playerInventoryChanged", FUNC(storeParachute)] call CBA_fnc_addEventHandler; diff --git a/addons/rearm/XEH_postInit.sqf b/addons/rearm/XEH_postInit.sqf index c22b84ffb4..3ff17057d0 100644 --- a/addons/rearm/XEH_postInit.sqf +++ b/addons/rearm/XEH_postInit.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call EFUNC(common,addEventHandler); -["playerVehicleChanged", {params ["_unit"]; [_unit] call FUNC(dropAmmo)}] call EFUNC(common,addEventHandler); +["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["playerVehicleChanged", {params ["_unit"]; [_unit] call FUNC(dropAmmo)}] call CBA_fnc_addEventHandler; if (isServer) then { addMissionEventHandler ["HandleDisconnect", {params ["_unit"]; [_unit] call FUNC(dropAmmo)}]; diff --git a/addons/rearm/functions/fnc_rearmSuccessLocal.sqf b/addons/rearm/functions/fnc_rearmSuccessLocal.sqf index 1789767cfd..b015b842a4 100644 --- a/addons/rearm/functions/fnc_rearmSuccessLocal.sqf +++ b/addons/rearm/functions/fnc_rearmSuccessLocal.sqf @@ -40,15 +40,23 @@ if (_maxMagazines == 1) then { if (GVAR(level) == 1) then { // Fill magazine completely _target setMagazineTurretAmmo [_magazineClass, _rounds, _turretPath]; - ["displayTextStructured", [_unit], [[LSTRING(Hint_RearmedTriple), _rounds, + ["displayTextStructured", + [ + [LSTRING(Hint_RearmedTriple), _rounds, getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"), - getText(configFile >> "CfgVehicles" >> (typeOf _target) >> "displayName")], 3, _unit]] call EFUNC(common,targetEvent); + getText(configFile >> "CfgVehicles" >> (typeOf _target) >> "displayName")], 3, _unit + ], + [_unit]] call CBA_fnc_targetEvent; } else { // Fill only at most _numRounds _target setMagazineTurretAmmo [_magazineClass, ((_target magazineTurretAmmo [_magazineClass, _turretPath]) + _numRounds) min _rounds, _turretPath]; - ["displayTextStructured", [_unit], [[LSTRING(Hint_RearmedTriple), _numRounds, + ["displayTextStructured", + [ + [LSTRING(Hint_RearmedTriple), _numRounds, getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"), - getText(configFile >> "CfgVehicles" >> (typeOf _target) >> "displayName")], 3, _unit]] call EFUNC(common,targetEvent); + getText(configFile >> "CfgVehicles" >> (typeOf _target) >> "displayName")], 3, _unit + ], + [_unit]] call CBA_fnc_targetEvent; }; } else { for "_idx" from 1 to (_maxMagazines+1) do { @@ -69,9 +77,13 @@ if (_maxMagazines == 1) then { } else { _target setMagazineTurretAmmo [_magazineClass, _currentRounds + _numRounds, _turretPath]; }; - ["displayTextStructured", [_unit], [[LSTRING(Hint_RearmedTriple), _numRounds, + ["displayTextStructured", + [ + [LSTRING(Hint_RearmedTriple), _numRounds, getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"), - getText(configFile >> "CfgVehicles" >> (typeOf _target) >> "displayName")], 3, _unit]] call EFUNC(common,targetEvent); + getText(configFile >> "CfgVehicles" >> (typeOf _target) >> "displayName")], 3, _unit + ], + [_unit]] call CBA_fnc_targetEvent; } else { // Fill current magazine completely and fill next magazine partially _target setMagazineTurretAmmo [_magazineClass, _rounds, _turretPath]; @@ -79,9 +91,13 @@ if (_maxMagazines == 1) then { _target addMagazineTurret [_magazineClass, _turretPath]; _target setMagazineTurretAmmo [_magazineClass, _currentRounds, _turretPath]; }; - ["displayTextStructured", [_unit], [[LSTRING(Hint_RearmedTriple), _rounds, + ["displayTextStructured", + [ + [LSTRING(Hint_RearmedTriple), _rounds, getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"), - getText(configFile >> "CfgVehicles" >> (typeOf _target) >> "displayName")], 3, _unit]] call EFUNC(common,targetEvent); + getText(configFile >> "CfgVehicles" >> (typeOf _target) >> "displayName")], 3, _unit + ], + [_unit]] call CBA_fnc_targetEvent; }; }; _target removeMagazineTurret [_magazineClass, _turretPath]; diff --git a/addons/recoil/XEH_postInit.sqf b/addons/recoil/XEH_postInit.sqf index e6b694646f..9375b05a2c 100644 --- a/addons/recoil/XEH_postInit.sqf +++ b/addons/recoil/XEH_postInit.sqf @@ -1,4 +1,4 @@ #include "script_component.hpp" // Register fire event handler -["firedPlayer", DFUNC(camShake)] call EFUNC(common,addEventHandler); +["firedPlayer", DFUNC(camShake)] call CBA_fnc_addEventHandler; diff --git a/addons/refuel/XEH_postInit.sqf b/addons/refuel/XEH_postInit.sqf index 5078d808a2..12dd2c5994 100644 --- a/addons/refuel/XEH_postInit.sqf +++ b/addons/refuel/XEH_postInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call EFUNC(common,addEventHandler); +["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; if (isServer) then { addMissionEventHandler ["HandleDisconnect", {_this call FUNC(handleDisconnect)}]; @@ -8,4 +8,4 @@ if (isServer) then { [QGVAR(resetLocal), { _this call FUNC(resetLocal); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/refuel/functions/fnc_checkFuel.sqf b/addons/refuel/functions/fnc_checkFuel.sqf index 140021419d..adc5c81674 100644 --- a/addons/refuel/functions/fnc_checkFuel.sqf +++ b/addons/refuel/functions/fnc_checkFuel.sqf @@ -27,9 +27,9 @@ private _fuel = [_target] call FUNC(getFuel); params ["_args"]; _args params [["_unit", objNull, [objNull]], ["_target", objNull, [objNull]], ["_fuel", 0, [0]]]; if (_fuel > 0 ) then { - ["displayTextStructured", _unit, [[LSTRING(Hint_RemainingFuel), _fuel], 2, _unit]] call EFUNC(common,objectEvent); + ["displayTextStructured", [[LSTRING(Hint_RemainingFuel), _fuel], 2, _unit], _unit] call CBA_fnc_targetEvent; } else { - ["displayTextStructured", _unit, [LSTRING(Hint_Empty), 2, _unit]] call EFUNC(common,objectEvent); + ["displayTextStructured", [LSTRING(Hint_Empty), 2, _unit], _unit] call CBA_fnc_targetEvent; }; true }, diff --git a/addons/refuel/functions/fnc_connectNozzleAction.sqf b/addons/refuel/functions/fnc_connectNozzleAction.sqf index 1df5f1e208..306f7d8389 100644 --- a/addons/refuel/functions/fnc_connectNozzleAction.sqf +++ b/addons/refuel/functions/fnc_connectNozzleAction.sqf @@ -119,7 +119,7 @@ _endPosTestOffset set [2, (_startingOffset select 2)]; }; }; }; - ["setVectorDirAndUp", _nozzle, [_nozzle, _dirAndUp]] call EFUNC(common,objectEvent); + ["setVectorDirAndUp", [_nozzle, _dirAndUp], _nozzle] call CBA_fnc_targetEvent; _nozzle setVariable [QGVAR(sink), _target, true]; _nozzle setVariable [QGVAR(isConnected), true, true]; _target setVariable [QGVAR(nozzle), _nozzle, true]; diff --git a/addons/refuel/functions/fnc_refuel.sqf b/addons/refuel/functions/fnc_refuel.sqf index 62a006cda9..3f7a6259e7 100644 --- a/addons/refuel/functions/fnc_refuel.sqf +++ b/addons/refuel/functions/fnc_refuel.sqf @@ -79,7 +79,7 @@ private _maxFuel = getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> }; _unit setVariable [QGVAR(tempFuel), _fuelInSink]; - ["setFuel", _sink, [_sink, _fuelInSink]] call EFUNC(common,objectEvent); + ["setFuel", [_sink, _fuelInSink], _sink] call CBA_fnc_targetEvent; [_source, _fuelInSource] call FUNC(setFuel); } else { _unit setVariable [QGVAR(tempFuel), fuel _sink]; diff --git a/addons/refuel/functions/fnc_reset.sqf b/addons/refuel/functions/fnc_reset.sqf index 767e4b6c88..d58f0a48ad 100644 --- a/addons/refuel/functions/fnc_reset.sqf +++ b/addons/refuel/functions/fnc_reset.sqf @@ -33,7 +33,7 @@ if !(isNil "_nozzle") then { }; { - [QGVAR(resetLocal), _x, [_x, _nozzle]] call EFUNC(common,objectEvent); + [QGVAR(resetLocal), [_x, _nozzle], _x] call CBA_fnc_targetEvent; } count allPlayers; deleteVehicle _nozzle; }; diff --git a/addons/reload/XEH_postInit.sqf b/addons/reload/XEH_postInit.sqf index 16f3d9b40e..946b3a1786 100644 --- a/addons/reload/XEH_postInit.sqf +++ b/addons/reload/XEH_postInit.sqf @@ -24,7 +24,7 @@ if (!hasInterface) exitWith {}; TRACE_3("setAmmoSync EH",_unit,_weapon,_ammo); _unit setAmmo [_weapon, _ammo]; -}] call EFUNC(common,addEventhandler); +}] call CBA_fnc_addEventHandler; // Listen for attempts to link ammo ["linkedAmmo", { @@ -35,7 +35,7 @@ if (!hasInterface) exitWith {}; // Return the magazine if it's the wrong type if (_magazineType != (_magazine select 0)) exitWith { - ["returnedAmmo", [_giver], [_giver,_receiver,_magazine]] call EFUNC(common,targetEvent); + ["returnedAmmo", [_giver,_receiver,_magazine], [_giver]] call CBA_fnc_targetEvent; }; private _ammoCount = _receiver ammo currentWeapon _receiver; @@ -43,17 +43,17 @@ if (!hasInterface) exitWith {}; // Return the magazine if the belt is full or empty if ((_ammoCount == 0) || _ammoMissing == 0) exitWith { - ["returnedAmmo", [_giver], [_giver,_receiver,_magazine]] call EFUNC(common,targetEvent); + ["returnedAmmo", [_giver,_receiver,_magazine], [_giver]] call CBA_fnc_targetEvent; }; // Add the ammo private _ammoAdded = _ammoMissing min (_magazine select 1); - ["setAmmoSync", [_receiver, currentWeapon _receiver, _ammoCount + _ammoAdded]] call EFUNC(common,globalEvent); + ["setAmmoSync", [_receiver, currentWeapon _receiver, _ammoCount + _ammoAdded]] call CBA_fnc_globalEvent; if ((_magazine select 1) - _ammoAdded > 0) then { - ["returnedAmmo", [_giver], [_giver, _receiver, [_magazineType, (_magazine select 1) - _ammoAdded]]] call EFUNC(common,targetEvent); + ["returnedAmmo", [_giver, _receiver, [_magazineType, (_magazine select 1) - _ammoAdded]], [_giver]] call CBA_fnc_targetEvent; }; -}] call EFUNC(common,addEventhandler); +}] call CBA_fnc_addEventHandler; // Listen for returned magazines ["returnedAmmo", { @@ -61,4 +61,4 @@ if (!hasInterface) exitWith {}; TRACE_2("returnedAmmo EH",_receiver,_magazine); _receiver addMagazine _magazine; -}] call EFUNC(common,addEventhandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/reload/functions/fnc_startLinkingBelt.sqf b/addons/reload/functions/fnc_startLinkingBelt.sqf index 5924e1b4e1..5c3d04a00a 100644 --- a/addons/reload/functions/fnc_startLinkingBelt.sqf +++ b/addons/reload/functions/fnc_startLinkingBelt.sqf @@ -46,7 +46,7 @@ private _onFinish = { (_this select 0) params ["_player", "_target", "_magazine"]; // Raise event on remote unit - ["linkedAmmo", [_target], [_target, _player, _magazine]] call EFUNC(common,targetEvent); + ["linkedAmmo", [_target, _player, _magazine], [_target]] call CBA_fnc_targetEvent; }; private _onFailure = { diff --git a/addons/reloadlaunchers/XEH_postInit.sqf b/addons/reloadlaunchers/XEH_postInit.sqf index 437927602a..5d436b2b04 100644 --- a/addons/reloadlaunchers/XEH_postInit.sqf +++ b/addons/reloadlaunchers/XEH_postInit.sqf @@ -1,4 +1,4 @@ // by commy2 #include "script_component.hpp" -["reloadLauncher", {_this call DFUNC(reloadLauncher)}] call EFUNC(common,addEventhandler); +["reloadLauncher", {_this call DFUNC(reloadLauncher)}] call CBA_fnc_addEventHandler; diff --git a/addons/reloadlaunchers/functions/fnc_load.sqf b/addons/reloadlaunchers/functions/fnc_load.sqf index db18e7edaa..ea2ad467c1 100644 --- a/addons/reloadlaunchers/functions/fnc_load.sqf +++ b/addons/reloadlaunchers/functions/fnc_load.sqf @@ -32,7 +32,7 @@ private ["_onSuccess", "_onFailure", "_condition"]; _onSuccess = { (_this select 0 select 0) removeMagazine (_this select 0 select 3); - ["reloadLauncher", _this select 0 select 1, _this select 0] call DEFUNC(common,targetEvent); + ["reloadLauncher", _this select 0, _this select 0 select 1] call CBA_fnc_targetEvent; [localize LSTRING(LauncherLoaded)] call DEFUNC(common,displayTextStructured); }; diff --git a/addons/repair/XEH_postInit.sqf b/addons/repair/XEH_postInit.sqf index 44ca157b0c..526cdc0b84 100644 --- a/addons/repair/XEH_postInit.sqf +++ b/addons/repair/XEH_postInit.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" -["setVehicleDamage", {_this call FUNC(setDamage)}] call EFUNC(common,addEventHandler); -["setVehicleHitPointDamage", {_this call FUNC(setHitPointDamage)}] call EFUNC(common,addEventHandler); +["setVehicleDamage", {_this call FUNC(setDamage)}] call CBA_fnc_addEventHandler; +["setVehicleHitPointDamage", {_this call FUNC(setHitPointDamage)}] call CBA_fnc_addEventHandler; // wheels -["setWheelHitPointDamage", {(_this select 0) setHitPointDamage [_this select 1, _this select 2]}] call EFUNC(common,addEventHandler); +["setWheelHitPointDamage", {(_this select 0) setHitPointDamage [_this select 1, _this select 2]}] call CBA_fnc_addEventHandler; diff --git a/addons/repair/functions/fnc_addSpareParts.sqf b/addons/repair/functions/fnc_addSpareParts.sqf index 3d7247fcaa..717c3ee948 100644 --- a/addons/repair/functions/fnc_addSpareParts.sqf +++ b/addons/repair/functions/fnc_addSpareParts.sqf @@ -33,4 +33,4 @@ if (!EGVAR(common,settingsInitFinished)) exitWith { if (!_force && !GVAR(addSpareParts)) exitWith {}; // Load -["AddCargoByClass", [_part, _vehicle, _amount]] call EFUNC(common,localEvent); +["AddCargoByClass", [_part, _vehicle, _amount]] call CBA_fnc_localEvent; diff --git a/addons/repair/functions/fnc_doRemoveTrack.sqf b/addons/repair/functions/fnc_doRemoveTrack.sqf index d36407b197..997d1b6bce 100644 --- a/addons/repair/functions/fnc_doRemoveTrack.sqf +++ b/addons/repair/functions/fnc_doRemoveTrack.sqf @@ -27,14 +27,14 @@ private _hitPointDamage = _vehicle getHitPointDamage _hitPoint; if (_hitPointDamage >= 1) exitWith {}; // don't die by spawning / moving the wheel -["fixCollision", _unit] call EFUNC(common,localEvent); +["fixCollision", _unit] call CBA_fnc_localEvent; // spawn track private _newTrack = ["ACE_Track", getPosASL _unit, _hitPointDamage] call FUNC(spawnObject); TRACE_2("new track created",_newTrack,damage _newTrack); // raise event to set the new hitpoint damage -["setWheelHitPointDamage", _vehicle, [_vehicle, _hitPoint, 1]] call EFUNC(common,targetEvent); +["setWheelHitPointDamage", [_vehicle, _hitPoint, 1], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_doRemoveWheel.sqf b/addons/repair/functions/fnc_doRemoveWheel.sqf index 21a152c597..3f0a29293f 100644 --- a/addons/repair/functions/fnc_doRemoveWheel.sqf +++ b/addons/repair/functions/fnc_doRemoveWheel.sqf @@ -27,14 +27,14 @@ private _hitPointDamage = _vehicle getHitPointDamage _hitPoint; if (_hitPointDamage >= 1) exitWith {}; // don't die by spawning / moving the wheel -["fixCollision", _unit] call EFUNC(common,localEvent); +["fixCollision", _unit] call CBA_fnc_localEvent; // spawn wheel private _newWheel = ["ACE_Wheel", getPosASL _unit, _hitPointDamage] call FUNC(spawnObject); TRACE_2("new wheel created",_newWheel,damage _newWheel); // raise event to set the new hitpoint damage -["setWheelHitPointDamage", _vehicle, [_vehicle, _hitPoint, 1]] call EFUNC(common,targetEvent); +["setWheelHitPointDamage", [_vehicle, _hitPoint, 1], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_doRepair.sqf b/addons/repair/functions/fnc_doRepair.sqf index 4c063c6c73..084511b763 100644 --- a/addons/repair/functions/fnc_doRepair.sqf +++ b/addons/repair/functions/fnc_doRepair.sqf @@ -34,7 +34,7 @@ private _hitPointNewDamage = (_hitPointCurDamage - 0.5) max _postRepairDamageMin if (_hitPointNewDamage < _hitPointCurDamage) then { // raise event to set the new hitpoint damage TRACE_3("repairing main point", _vehicle, _hitPointIndex, _hitPointNewDamage); - ["setVehicleHitPointDamage", _vehicle, [_vehicle, _hitPointIndex, _hitPointNewDamage]] call EFUNC(common,targetEvent); + ["setVehicleHitPointDamage", [_vehicle, _hitPointIndex, _hitPointNewDamage], _vehicle] call CBA_fnc_targetEvent; _hitPointCurDamage = _hitPointNewDamage; }; @@ -55,7 +55,7 @@ if (isArray _hitpointGroupConfig) then { private _subPointNewDamage = (_subPointCurDamage - 0.5) max _postRepairDamageMin; if (_subPointNewDamage < _subPointCurDamage) then { TRACE_3("repairing sub point", _vehicle, _subHitIndex, _subPointNewDamage); - ["setVehicleHitPointDamage", _vehicle, [_vehicle, _subHitIndex, _subPointNewDamage]] call EFUNC(common,targetEvent); + ["setVehicleHitPointDamage", [_vehicle, _subHitIndex, _subPointNewDamage], _vehicle] call CBA_fnc_targetEvent; }; }; } forEach _subHitArray; diff --git a/addons/repair/functions/fnc_doRepairTrack.sqf b/addons/repair/functions/fnc_doRepairTrack.sqf index 46c94c29f9..7959edbab7 100644 --- a/addons/repair/functions/fnc_doRepairTrack.sqf +++ b/addons/repair/functions/fnc_doRepairTrack.sqf @@ -41,7 +41,7 @@ _hitPointDamage = (_hitPointDamage - _damageRepaired) min 0; deleteVehicle _track; // raise event to set the new hitpoint damage -["setWheelHitPointDamage", _vehicle, [_vehicle, _hitPoint, _hitPointDamage]] call EFUNC(common,targetEvent); +["setWheelHitPointDamage", [_vehicle, _hitPoint, _hitPointDamage], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_doReplaceTrack.sqf b/addons/repair/functions/fnc_doReplaceTrack.sqf index 9eafe68c9e..7fbafac99d 100644 --- a/addons/repair/functions/fnc_doReplaceTrack.sqf +++ b/addons/repair/functions/fnc_doReplaceTrack.sqf @@ -44,7 +44,7 @@ if (_newHitPointDamage >= 1) exitWith {}; deleteVehicle _track; // raise event to set the new hitpoint damage -["setWheelHitPointDamage", _vehicle, [_vehicle, _hitPoint, _newHitPointDamage]] call EFUNC(common,targetEvent); +["setWheelHitPointDamage", [_vehicle, _hitPoint, _newHitPointDamage], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_doReplaceWheel.sqf b/addons/repair/functions/fnc_doReplaceWheel.sqf index ce5e9220dd..742ae1d3bf 100644 --- a/addons/repair/functions/fnc_doReplaceWheel.sqf +++ b/addons/repair/functions/fnc_doReplaceWheel.sqf @@ -44,7 +44,7 @@ if (_newHitPointDamage >= 1) exitWith {}; deleteVehicle _wheel; // raise event to set the new hitpoint damage -["setWheelHitPointDamage", _vehicle, [_vehicle, _hitPoint, _newHitPointDamage]] call EFUNC(common,targetEvent); +["setWheelHitPointDamage", [_vehicle, _hitPoint, _newHitPointDamage], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_repair.sqf b/addons/repair/functions/fnc_repair.sqf index f5b7d8cbfc..f952e561c4 100644 --- a/addons/repair/functions/fnc_repair.sqf +++ b/addons/repair/functions/fnc_repair.sqf @@ -38,10 +38,10 @@ _engineerRequired = if (isNumber (_config >> "requiredEngineer")) then { if !([_caller, _engineerRequired] call FUNC(isEngineer)) exitWith {false}; if ((isEngineOn _target) && {GVAR(autoShutOffEngineWhenStartingRepair)}) then { - ["engineOn", _target, [_target, false]] call EFUNC(common,objectEvent); + ["engineOn", [_target, false], _target] call CBA_fnc_targetEvent; }; if ((isEngineOn _target) && {!GVAR(autoShutOffEngineWhenStartingRepair)}) exitWith { - ["displayTextStructured", [LSTRING(shutOffEngineWarning), 1.5, _caller]] call EFUNC(common,localEvent); + ["displayTextStructured", [LSTRING(shutOffEngineWarning), 1.5, _caller]] call CBA_fnc_localEvent; false }; @@ -235,7 +235,7 @@ if (_target != _caller) then { }; if (_displayText != "") then { - ["displayTextStructured", [_caller], [[_displayText, [_caller] call EFUNC(common,getName), [_target] call EFUNC(common,getName)], 1.5, _caller]] call EFUNC(common,targetEvent); + ["displayTextStructured", [[_displayText, [_caller] call EFUNC(common,getName), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; }; true; diff --git a/addons/repair/functions/fnc_spawnObject.sqf b/addons/repair/functions/fnc_spawnObject.sqf index 86d0b563ac..d4da90b7f9 100644 --- a/addons/repair/functions/fnc_spawnObject.sqf +++ b/addons/repair/functions/fnc_spawnObject.sqf @@ -28,7 +28,7 @@ _newObject setPosASL _position; _newObject setDamage _damage; -["fixCollision", _newObject] call EFUNC(common,localEvent); -["fixPosition", _newObject] call EFUNC(common,localEvent); +["fixCollision", _newObject] call CBA_fnc_localEvent; +["fixPosition", _newObject] call CBA_fnc_localEvent; _newObject diff --git a/addons/respawn/XEH_postInit.sqf b/addons/respawn/XEH_postInit.sqf index 22be7b86ac..43a9683377 100644 --- a/addons/respawn/XEH_postInit.sqf +++ b/addons/respawn/XEH_postInit.sqf @@ -1,5 +1,5 @@ // by commy2 #include "script_component.hpp" -["rallypointMoved", {_this call FUNC(updateRallypoint)}] call EFUNC(common,addEventhandler); -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); // hide enemy rallypoint markers +["rallypointMoved", {_this call FUNC(updateRallypoint)}] call CBA_fnc_addEventHandler; +["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // hide enemy rallypoint markers diff --git a/addons/respawn/XEH_serverPostInit.sqf b/addons/respawn/XEH_serverPostInit.sqf index d472bb0d5c..65cc1e9727 100644 --- a/addons/respawn/XEH_serverPostInit.sqf +++ b/addons/respawn/XEH_serverPostInit.sqf @@ -14,4 +14,4 @@ false }]; }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/respawn/functions/fnc_initRallypoint.sqf b/addons/respawn/functions/fnc_initRallypoint.sqf index dba1ae5d0a..b857b58f83 100644 --- a/addons/respawn/functions/fnc_initRallypoint.sqf +++ b/addons/respawn/functions/fnc_initRallypoint.sqf @@ -60,7 +60,7 @@ if (isNil _name) then { createMarker [_respawnMarker, _rallypoint]; }; - ["rallypointMoved", [_rallypoint, _side]] call EFUNC(common,globalEvent); + ["rallypointMoved", [_rallypoint, _side]] call CBA_fnc_globalEvent; } else { deleteVehicle _rallypoint; ACE_LOGERROR("Multiple Rallypoints of same type."); diff --git a/addons/respawn/functions/fnc_moveRallypoint.sqf b/addons/respawn/functions/fnc_moveRallypoint.sqf index fa8aae40a5..24e5f55a97 100644 --- a/addons/respawn/functions/fnc_moveRallypoint.sqf +++ b/addons/respawn/functions/fnc_moveRallypoint.sqf @@ -48,7 +48,7 @@ _position set [2, 0]; _rallypoint setVariable [QGVAR(markerDate), [dayTime, "HH:MM"] call BIS_fnc_timeToString, true]; - ["rallypointMoved", [_rallypoint, _side, _position]] call EFUNC(common,globalEvent); + ["rallypointMoved", [_rallypoint, _side, _position]] call CBA_fnc_globalEvent; [localize LSTRING(Deployed)] call EFUNC(common,displayTextStructured); }, [_rallypoint, _unit, _position], 5] call EFUNC(common,waitAndExecute); diff --git a/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf b/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf index 1079ef6e6d..e4ddc5bb35 100644 --- a/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf +++ b/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf @@ -22,5 +22,5 @@ if (_unit != _killer && {side group _unit in [side group ACE_player, civilian]} systemChat format ["%1 was killed by %2", [_unit, false, true] call EFUNC(common,getName), [_killer, false, true] call EFUNC(common,getName)]; // Raise ACE globalEvent - ["killedByFriendly", [_unit, _killer]] call EFUNC(common,globalEvent); + ["killedByFriendly", [_unit, _killer]] call CBA_fnc_globalEvent; }; diff --git a/addons/sandbag/XEH_postInit.sqf b/addons/sandbag/XEH_postInit.sqf index d6e4c0aadc..a186e38a7a 100644 --- a/addons/sandbag/XEH_postInit.sqf +++ b/addons/sandbag/XEH_postInit.sqf @@ -12,14 +12,14 @@ GVAR(deployPFH) = -1; GVAR(deployDirection) = 0; // Cancel deploy sandbag if interact menu opened -["interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call EFUNC(common,addEventHandler); +["interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call CBA_fnc_addEventHandler; // Cancel deploy on player change. This does work when returning to lobby, but not when hard disconnecting. -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); -["playerInventoryChanged", {_this call FUNC(handlePlayerInventoryChanged)}] call EFUNC(common,addEventhandler); -["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); +["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["playerInventoryChanged", {_this call FUNC(handlePlayerInventoryChanged)}] call CBA_fnc_addEventHandler; +["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle waking up dragged unit and falling unconscious while dragging -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call EFUNC(common,addEventhandler); +["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; //@todo Captivity? diff --git a/addons/sandbag/functions/fnc_deploy.sqf b/addons/sandbag/functions/fnc_deploy.sqf index 735a736bbb..163c64b8f2 100644 --- a/addons/sandbag/functions/fnc_deploy.sqf +++ b/addons/sandbag/functions/fnc_deploy.sqf @@ -27,7 +27,7 @@ _sandBag = createVehicle ["ACE_SandbagObject_NoGeo", [0, 0, 0], [], 0, "NONE"]; GVAR(sandBag) = _sandBag; // prevent collisions with sandbag -["enableSimulationGlobal", [_sandBag, false]] call EFUNC(common,serverEvent); +["enableSimulationGlobal", [_sandBag, false]] call CBA_fnc_serverEvent; GVAR(deployDirection) = 0; diff --git a/addons/scopes/XEH_postInit.sqf b/addons/scopes/XEH_postInit.sqf index 1763bb7a32..ed40a52ef2 100644 --- a/addons/scopes/XEH_postInit.sqf +++ b/addons/scopes/XEH_postInit.sqf @@ -10,7 +10,7 @@ if (!hasInterface) exitWith {}; // Check inventory when it changes -["playerInventoryChanged", FUNC(inventoryCheck)] call EFUNC(common,addEventhandler); +["playerInventoryChanged", FUNC(inventoryCheck)] call CBA_fnc_addEventHandler; // Instantly hide knobs when scoping in ["cameraViewChanged", { @@ -26,7 +26,7 @@ if (!hasInterface) exitWith {}; GVAR(fadePFH) = nil; }; }; -}] call EFUNC(common,addEventhandler); +}] call CBA_fnc_addEventHandler; // Add keybinds @@ -152,5 +152,5 @@ if (!hasInterface) exitWith {}; // Register fire event handler -["firedPlayer", DFUNC(firedEH)] call EFUNC(common,addEventHandler); -["firedPlayerNonLocal", DFUNC(firedEH)] call EFUNC(common,addEventHandler); +["firedPlayer", DFUNC(firedEH)] call CBA_fnc_addEventHandler; +["firedPlayerNonLocal", DFUNC(firedEH)] call CBA_fnc_addEventHandler; diff --git a/addons/sitting/XEH_clientInit.sqf b/addons/sitting/XEH_clientInit.sqf index e15017d715..e9dcbfa6da 100644 --- a/addons/sitting/XEH_clientInit.sqf +++ b/addons/sitting/XEH_clientInit.sqf @@ -13,6 +13,6 @@ if (!hasInterface) exitWith {}; ["isNotSitting", {isNil {(_this select 0) getVariable QGVAR(isSitting)}}] call EFUNC(common,addCanInteractWithCondition); // Handle interruptions - ["medical_onUnconscious", {_this call DFUNC(handleInterrupt)}] call EFUNC(common,addEventhandler); - ["SetHandcuffed", {_this call DFUNC(handleInterrupt)}] call EFUNC(common,addEventhandler); -}] call EFUNC(common,addEventHandler); + ["medical_onUnconscious", {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; + ["SetHandcuffed", {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; +}] call CBA_fnc_addEventHandler; diff --git a/addons/spectator/XEH_postInit.sqf b/addons/spectator/XEH_postInit.sqf index 43c812d1a2..f3d0c217b4 100644 --- a/addons/spectator/XEH_postInit.sqf +++ b/addons/spectator/XEH_postInit.sqf @@ -7,7 +7,7 @@ ["SettingsInitialized", { GVAR(availableModes) = [[0,1,2], [1,2], [0], [1], [2]] select GVAR(restrictModes); GVAR(availableVisions) = [[-2,-1,0,1], [-2,-1], [-2,0,1], [-2]] select GVAR(restrictVisions); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; // Create a radio channel for any spectators to text chat in if (isServer) then { @@ -18,7 +18,7 @@ if (isServer) then { // Should prevent unending spectator on mission end if (isServer) then { addMissionEventHandler ["Ended", { - [QGVAR(endMission), []] call EFUNC(common,globalEvent); + [QGVAR(endMission), []] call CBA_fnc_globalEvent; }]; }; @@ -26,4 +26,4 @@ if (isServer) then { if (GVAR(isSet)) then { [false] call FUNC(setSpectator); }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/spectator/functions/fnc_setSpectator.sqf b/addons/spectator/functions/fnc_setSpectator.sqf index 1f010962b5..09c91ea4ef 100644 --- a/addons/spectator/functions/fnc_setSpectator.sqf +++ b/addons/spectator/functions/fnc_setSpectator.sqf @@ -170,4 +170,4 @@ GVAR(interrupts) = []; // Mark spectator state for reference GVAR(isSet) = _set; -["spectatorSet",[_set]] call EFUNC(common,localEvent); +["spectatorSet",[_set]] call CBA_fnc_localEvent; diff --git a/addons/spectator/functions/fnc_stageSpectator.sqf b/addons/spectator/functions/fnc_stageSpectator.sqf index 926ac008dc..5d65f74a81 100644 --- a/addons/spectator/functions/fnc_stageSpectator.sqf +++ b/addons/spectator/functions/fnc_stageSpectator.sqf @@ -64,7 +64,7 @@ if !(_set isEqualTo (GETVAR(_unit,GVAR(isStaged),false))) then { // Mark spectator state for reference _unit setVariable [QGVAR(isStaged), _set, true]; - ["spectatorStaged",[_set]] call EFUNC(common,localEvent); + ["spectatorStaged",[_set]] call CBA_fnc_localEvent; }; //BandAid for #2677 - if player in unitList weird before being staged, weird things can happen diff --git a/addons/switchunits/XEH_postInit.sqf b/addons/switchunits/XEH_postInit.sqf index 5928804d7b..41d975f102 100644 --- a/addons/switchunits/XEH_postInit.sqf +++ b/addons/switchunits/XEH_postInit.sqf @@ -25,5 +25,5 @@ if (missionNamespace getVariable [QGVAR(EnableSwitchUnits), false]) then { if ((_name == QGVAR(EnableSwitchUnits)) && {_value}) then { [player] call FUNC(startSwitchUnits); }; - }] call EFUNC(common,addEventhandler); + }] call CBA_fnc_addEventHandler; }; diff --git a/addons/tacticalladder/XEH_postInit.sqf b/addons/tacticalladder/XEH_postInit.sqf index 465f514d14..0f4283f4ee 100644 --- a/addons/tacticalladder/XEH_postInit.sqf +++ b/addons/tacticalladder/XEH_postInit.sqf @@ -11,16 +11,16 @@ GVAR(currentAngle) = 0; if ((ACE_time > GVAR(cancelTime)) && !isNull GVAR(ladder)) then { GVAR(ladder) call FUNC(cancelTLdeploy); }; -}] call EFUNC(common,addEventHandler);*/ +}] call CBA_fnc_addEventHandler;*/ // Cancel adjustment if interact menu opens -["interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call EFUNC(common,addEventHandler); +["interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call CBA_fnc_addEventHandler; // Cancel adjusting on player change. -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); -["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); +["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle falling unconscious -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call EFUNC(common,addEventhandler); +["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; // @todo captivity? diff --git a/addons/tagging/XEH_postInit.sqf b/addons/tagging/XEH_postInit.sqf index 31fd73d913..bd6f502287 100644 --- a/addons/tagging/XEH_postInit.sqf +++ b/addons/tagging/XEH_postInit.sqf @@ -44,4 +44,4 @@ if (!isServer) exitWith {}; GVAR(testingThread) = false; GVAR(tagsToTest) = []; -["createTag", DFUNC(createTag)] call EFUNC(common,addEventHandler); +["createTag", DFUNC(createTag)] call CBA_fnc_addEventHandler; diff --git a/addons/tagging/functions/fnc_createTag.sqf b/addons/tagging/functions/fnc_createTag.sqf index 4f83196524..8ec65ccd02 100644 --- a/addons/tagging/functions/fnc_createTag.sqf +++ b/addons/tagging/functions/fnc_createTag.sqf @@ -34,7 +34,7 @@ _tag setPosASL _tagPosASL; _tag setVectorDirAndUp _vectorDirAndUp; // Throw a global event for mision makers -["tagCreated", [_tag, _texture, _object, _unit]] call EFUNC(common,globalEvent); +["tagCreated", [_tag, _texture, _object, _unit]] call CBA_fnc_globalEvent; if (isNull _object) exitWith {true}; diff --git a/addons/tagging/functions/fnc_tag.sqf b/addons/tagging/functions/fnc_tag.sqf index 43e951629e..b00f7ed88e 100644 --- a/addons/tagging/functions/fnc_tag.sqf +++ b/addons/tagging/functions/fnc_tag.sqf @@ -109,7 +109,7 @@ _unit playActionNow "PutDown"; playSound3D [QUOTE(PATHTO_R(sounds\spray.ogg)), _unit, false, (eyePos _unit), 10, 1, 15]; // Tell the server to create the tag and handle its destruction - ["createTag", _this] call EFUNC(common,serverEvent); + ["createTag", _this] call CBA_fnc_serverEvent; }, [_touchingPoint vectorAdd (_surfaceNormal vectorMultiply 0.06), _vectorDirAndUp, _texture, _object, _unit], 0.6] call EFUNC(common,waitAndExecute); true diff --git a/addons/trenches/XEH_postInit.sqf b/addons/trenches/XEH_postInit.sqf index ba84123009..f9deb53ff1 100644 --- a/addons/trenches/XEH_postInit.sqf +++ b/addons/trenches/XEH_postInit.sqf @@ -13,14 +13,14 @@ GVAR(digPFH) = -1; GVAR(digDirection) = 0; // Cancel dig sandbag if interact menu opened -["interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call EFUNC(common,addEventHandler); +["interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call CBA_fnc_addEventHandler; // Cancel dig on player change. This does work when returning to lobby, but not when hard disconnecting. -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); -["playerInventoryChanged", {_this call FUNC(handlePlayerInventoryChanged)}] call EFUNC(common,addEventhandler); -["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); +["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["playerInventoryChanged", {_this call FUNC(handlePlayerInventoryChanged)}] call CBA_fnc_addEventHandler; +["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle waking up dragged unit and falling unconscious while dragging -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call EFUNC(common,addEventhandler); +["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; //@todo Captivity? diff --git a/addons/trenches/functions/fnc_placeTrench.sqf b/addons/trenches/functions/fnc_placeTrench.sqf index 35a6706d30..eb6a75ae44 100644 --- a/addons/trenches/functions/fnc_placeTrench.sqf +++ b/addons/trenches/functions/fnc_placeTrench.sqf @@ -36,7 +36,7 @@ _trench = createVehicle [_noGeoModel, [0, 0, 0], [], 0, "NONE"]; GVAR(trench) = _trench; // prevent collisions with trench -["enableSimulationGlobal", [_trench, false]] call EFUNC(common,serverEvent); +["enableSimulationGlobal", [_trench, false]] call CBA_fnc_serverEvent; GVAR(digDirection) = 0; diff --git a/addons/tripod/XEH_postInit.sqf b/addons/tripod/XEH_postInit.sqf index 79aa7a69f2..438a5a26ae 100644 --- a/addons/tripod/XEH_postInit.sqf +++ b/addons/tripod/XEH_postInit.sqf @@ -7,13 +7,13 @@ GVAR(adjustPFH) = -1; GVAR(height) = 0; // Cancel adjustment if interact menu opens -["interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call EFUNC(common,addEventHandler); +["interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call CBA_fnc_addEventHandler; // Cancel adjusting on player change. -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); -["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); +["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle falling unconscious -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call EFUNC(common,addEventhandler); +["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; // @todo captivity? diff --git a/addons/ui/XEH_clientInit.sqf b/addons/ui/XEH_clientInit.sqf index d228696fc0..2ef05fe15c 100644 --- a/addons/ui/XEH_clientInit.sqf +++ b/addons/ui/XEH_clientInit.sqf @@ -15,7 +15,7 @@ if (!hasInterface) exitWith {}; { [_x select 0, _x select 1, _x select 2, _force] call FUNC(setAdvancedElement); } forEach ELEMENTS_ADVANCED; - }] call EFUNC(common,addEventHandler); + }] call CBA_fnc_addEventHandler; // On changing settings ["SettingChanged", { @@ -35,6 +35,6 @@ if (!hasInterface) exitWith {}; TRACE_2("Setting Changed",_name,_elementName); }; } forEach ELEMENTS_ADVANCED; - }] call EFUNC(common,addEventHandler); + }] call CBA_fnc_addEventHandler; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/vector/functions/fnc_dataTransfer.sqf b/addons/vector/functions/fnc_dataTransfer.sqf index 25403b82ee..9c5e2dbf97 100644 --- a/addons/vector/functions/fnc_dataTransfer.sqf +++ b/addons/vector/functions/fnc_dataTransfer.sqf @@ -22,4 +22,4 @@ _direction = call FUNC(getDirection); _azimuth = _direction select 0; _inclination = _direction select 1; //Send Data to connected GPS -["RangerfinderData", [_distance, _azimuth, _inclination]] call EFUNC(common,localEvent); \ No newline at end of file +["RangerfinderData", [_distance, _azimuth, _inclination]] call CBA_fnc_localEvent; \ No newline at end of file diff --git a/addons/vehiclelock/CfgVehicles.hpp b/addons/vehiclelock/CfgVehicles.hpp index 873c875f09..18d8fa3401 100644 --- a/addons/vehiclelock/CfgVehicles.hpp +++ b/addons/vehiclelock/CfgVehicles.hpp @@ -3,14 +3,14 @@ class ACE_unlockVehicle { \ displayName = CSTRING(Action_UnLock); \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ - statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,false)])] call EFUNC(common,targetEvent)); \ + statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,false)]), [_target]] call CBA_fnc_targetEvent); \ priority = 0.3; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ class ACE_lockVehicle { \ displayName = CSTRING(Action_Lock); \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ - statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,true)])] call EFUNC(common,targetEvent)); \ + statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,true)]), [_target]] call CBA_fnc_targetEvent); \ priority = 0.2; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ @@ -27,7 +27,7 @@ displayName = CSTRING(Action_UnLock); \ distance = 4; \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ - statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,false)])] call EFUNC(common,targetEvent)); \ + statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,false)]), [_target]] call CBA_fnc_targetEvent); \ priority = 0.3; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ @@ -35,7 +35,7 @@ displayName = CSTRING(Action_Lock); \ distance = 4; \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ - statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [_target], [ARR_2(_target,true)])] call EFUNC(common,targetEvent)); \ + statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,true)]), [_target]] call CBA_fnc_targetEvent); \ priority = 0.2; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ diff --git a/addons/vehiclelock/XEH_postInit.sqf b/addons/vehiclelock/XEH_postInit.sqf index 93d8bd6426..5d250867ee 100644 --- a/addons/vehiclelock/XEH_postInit.sqf +++ b/addons/vehiclelock/XEH_postInit.sqf @@ -1,8 +1,8 @@ #include "script_component.hpp" //Add Event Handlers -["VehicleLock_SetupCustomKey", {_this call FUNC(serverSetupCustomKeyEH)}] call EFUNC(common,addEventHandler); -["VehicleLock_SetVehicleLock", {_this call FUNC(setVehicleLockEH)}] call EFUNC(common,addEventHandler); +["VehicleLock_SetupCustomKey", {_this call FUNC(serverSetupCustomKeyEH)}] call CBA_fnc_addEventHandler; +["VehicleLock_SetVehicleLock", {_this call FUNC(setVehicleLockEH)}] call CBA_fnc_addEventHandler; if (!hasInterface) exitwith {}; @@ -12,4 +12,4 @@ if (!hasInterface) exitwith {}; if (GVAR(LockVehicleInventory)) then { ["CAManBase", "InventoryOpened", {_this call FUNC(onOpenInventory);}] call CBA_fnc_addClassEventHandler; }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf b/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf index 073054648e..c2035d8188 100644 --- a/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf +++ b/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf @@ -36,7 +36,7 @@ if (_useCustom) then { _keyMagazine = _newMags select 0; TRACE_2("setting up key on server",_veh,_keyMagazine); //Have the server run add the key to the vehicle's key array: - ["VehicleLock_SetupCustomKey", [_veh, _keyMagazine]] call EFUNC(common,serverEvent); + ["VehicleLock_SetupCustomKey", [_veh, _keyMagazine]] call CBA_fnc_serverEvent; } else { _keyName = [_veh] call FUNC(getVehicleSideKey); _unit addItem _keyName; //addItem has global effects diff --git a/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf b/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf index be23dc8dd9..fa82e8838b 100644 --- a/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf +++ b/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf @@ -38,7 +38,7 @@ TRACE_1("params",_vehicle); }; if ((_lock && {(locked _vehicle) != 2}) || {!_lock && {(locked _vehicle) != 0}}) then { TRACE_3("Setting Lock State",_lock,(typeOf _vehicle),_vehicle); - ["VehicleLock_SetVehicleLock", [_vehicle], [_vehicle, _lock]] call EFUNC(common,targetEvent); + ["VehicleLock_SetVehicleLock", [_vehicle, _lock], [_vehicle]] call CBA_fnc_targetEvent; }; }; //Delay call until mission start (so everyone has the eventHandler's installed) diff --git a/addons/vehiclelock/functions/fnc_lockpick.sqf b/addons/vehiclelock/functions/fnc_lockpick.sqf index 3435af24bf..291f6e42bc 100644 --- a/addons/vehiclelock/functions/fnc_lockpick.sqf +++ b/addons/vehiclelock/functions/fnc_lockpick.sqf @@ -55,7 +55,7 @@ switch (_funcType) do { [_vehLockpickStrenth, [_unit, _veh, "finishLockpick"], {(_this select 0) call FUNC(lockpick)}, {}, (localize LSTRING(Action_LockpickInUse)), _condition] call EFUNC(common,progressBar); }; case "finishLockpick": { - ["VehicleLock_SetVehicleLock", [_veh], [_veh, false]] call EFUNC(common,targetEvent); + ["VehicleLock_SetVehicleLock", [_veh, false], [_veh]] call CBA_fnc_targetEvent; }; default { ERROR("bad function type"); diff --git a/addons/viewdistance/XEH_clientInit.sqf b/addons/viewdistance/XEH_clientInit.sqf index dfcfd7e405..a72194a989 100644 --- a/addons/viewdistance/XEH_clientInit.sqf +++ b/addons/viewdistance/XEH_clientInit.sqf @@ -19,11 +19,11 @@ if (!hasInterface) exitWith {}; [true] call FUNC(adaptViewDistance); }; - }] call EFUNC(common,addEventHandler); + }] call CBA_fnc_addEventHandler; // Set the EH which waits for a vehicle change to automatically swap between On Foot/In Land Vehicle/In Air Vehicle // Also run when SettingsInitialized runs (not guaranteed) ["playerVehicleChanged",{ [false] call FUNC(adaptViewDistance); - }] call EFUNC(common,addEventHandler); -}] call EFUNC(common,addEventHandler); + }] call CBA_fnc_addEventHandler; +}] call CBA_fnc_addEventHandler; diff --git a/addons/weaponselect/XEH_postInit.sqf b/addons/weaponselect/XEH_postInit.sqf index 2e03982fec..acde791f79 100644 --- a/addons/weaponselect/XEH_postInit.sqf +++ b/addons/weaponselect/XEH_postInit.sqf @@ -198,4 +198,4 @@ if (!hasInterface) exitWith {}; // Register fire event handler -["firedPlayer", DFUNC(throwGrenade)] call EFUNC(common,addEventHandler); +["firedPlayer", DFUNC(throwGrenade)] call CBA_fnc_addEventHandler; diff --git a/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf b/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf index ef9397ba57..10fc20e001 100644 --- a/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf +++ b/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf @@ -26,4 +26,4 @@ private _name = getText (configFile >> "CfgMagazines" >> _magazine >> "displayNa private _text = [format ["%1 x%2", _name, _numberofGrenades], _color] call EFUNC(common,stringToColoredText); private _picture = getText (configFile >> "CfgMagazines" >> _magazine >> "picture"); -["displayTextPicture", [_text, _picture]] call EFUNC(common,localEvent); +["displayTextPicture", [_text, _picture]] call CBA_fnc_localEvent; diff --git a/addons/weather/XEH_postInit.sqf b/addons/weather/XEH_postInit.sqf index 9c32634060..6fb14aeacf 100644 --- a/addons/weather/XEH_postInit.sqf +++ b/addons/weather/XEH_postInit.sqf @@ -91,4 +91,4 @@ simulWeatherSync; END_COUNTER(weatherPFEH); }, 1, []] call CBA_fnc_addPerFrameHandler; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/weather/XEH_postServerInit.sqf b/addons/weather/XEH_postServerInit.sqf index f7b830b11d..4e6a112996 100644 --- a/addons/weather/XEH_postServerInit.sqf +++ b/addons/weather/XEH_postServerInit.sqf @@ -15,4 +15,4 @@ call FUNC(initWind); if (GVAR(enableServerController)) then { [FUNC(serverController), GVAR(serverUpdateInterval)] call CBA_fnc_addPerFrameHandler; }; -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/winddeflection/XEH_postInit.sqf b/addons/winddeflection/XEH_postInit.sqf index 14b4db1def..f78309c30c 100644 --- a/addons/winddeflection/XEH_postInit.sqf +++ b/addons/winddeflection/XEH_postInit.sqf @@ -9,14 +9,14 @@ GVAR(trackedBullets) = []; if (!GVAR(enabled)) exitWith {}; // Register fire event handler - ["firedPlayer", DFUNC(handleFired)] call EFUNC(common,addEventHandler); - ["firedPlayerNonLocal", DFUNC(handleFired)] call EFUNC(common,addEventHandler); + ["firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; + ["firedPlayerNonLocal", DFUNC(handleFired)] call CBA_fnc_addEventHandler; if (GVAR(vehicleEnabled)) then { - ["firedPlayerVehicle", DFUNC(handleFired)] call EFUNC(common,addEventHandler); - ["firedPlayerVehicleNonLocal", DFUNC(handleFired)] call EFUNC(common,addEventHandler); + ["firedPlayerVehicle", DFUNC(handleFired)] call CBA_fnc_addEventHandler; + ["firedPlayerVehicleNonLocal", DFUNC(handleFired)] call CBA_fnc_addEventHandler; }; [] call FUNC(updateTrajectoryPFH); -}] call EFUNC(common,addEventHandler); +}] call CBA_fnc_addEventHandler; diff --git a/addons/zeus/XEH_preInit.sqf b/addons/zeus/XEH_preInit.sqf index 0d03673e46..8e7ee84a07 100644 --- a/addons/zeus/XEH_preInit.sqf +++ b/addons/zeus/XEH_preInit.sqf @@ -5,7 +5,7 @@ ADDON = false; #include "XEH_PREP.hpp" if (isServer) then { - ["zeusUnitAssigned", FUNC(handleZeusUnitAssigned)] call EFUNC(common,addEventHandler); + ["zeusUnitAssigned", FUNC(handleZeusUnitAssigned)] call CBA_fnc_addEventHandler; }; ADDON = true; diff --git a/addons/zeus/functions/fnc_bi_moduleCurator.sqf b/addons/zeus/functions/fnc_bi_moduleCurator.sqf index d10d36b839..cfcbdc685b 100644 --- a/addons/zeus/functions/fnc_bi_moduleCurator.sqf +++ b/addons/zeus/functions/fnc_bi_moduleCurator.sqf @@ -175,7 +175,7 @@ if (_activated) then { [_logic,"curatorUnitAssigned",[_logic,_player]] call bis_fnc_callscriptedeventhandler; // Added by ace_zeus - ["zeusUnitAssigned", [_logic,_player]] call EFUNC(common,globalEvent); + ["zeusUnitAssigned", [_logic,_player]] call CBA_fnc_globalEvent; //--- Forced interface //if (_forced) then { diff --git a/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf b/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf index 3acb024476..91b1b4d764 100644 --- a/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf +++ b/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf @@ -32,7 +32,7 @@ if !(["ace_cargo"] call EFUNC(common,isModLoaded) && ["ace_repair"] call EFUNC(c if (getNumber (configFile >> "CfgVehicles" >> "ACE_Track" >> QEGVAR(cargo,size)) > [_mouseOverUnit] call EFUNC(cargo,getCargoSpaceLeft)) then { [LSTRING(OnlyEnoughCargoSpace)] call EFUNC(common,displayTextStructured); } else { - ["AddCargoByClass", ["ACE_Track", _mouseOverUnit, 1, true]] call EFUNC(common,localEvent); + ["AddCargoByClass", ["ACE_Track", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent; }; }; }; diff --git a/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf b/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf index c353af189b..f6f1fadb5a 100644 --- a/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf +++ b/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf @@ -32,7 +32,7 @@ if !(["ace_cargo"] call EFUNC(common,isModLoaded) && ["ace_repair"] call EFUNC(c if (getNumber (configFile >> "CfgVehicles" >> "ACE_Wheel" >> QEGVAR(cargo,size)) > [_mouseOverUnit] call EFUNC(cargo,getCargoSpaceLeft)) then { [LSTRING(OnlyEnoughCargoSpace)] call EFUNC(common,displayTextStructured); } else { - ["AddCargoByClass", ["ACE_Wheel", _mouseOverUnit, 1, true]] call EFUNC(common,localEvent); + ["AddCargoByClass", ["ACE_Wheel", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent; }; }; }; diff --git a/addons/zeus/functions/fnc_moduleCaptive.sqf b/addons/zeus/functions/fnc_moduleCaptive.sqf index 8273c8ba6f..d9b1c429e0 100644 --- a/addons/zeus/functions/fnc_moduleCaptive.sqf +++ b/addons/zeus/functions/fnc_moduleCaptive.sqf @@ -38,7 +38,7 @@ if (isNil QEFUNC(captives,setHandcuffed)) then { } else { _captive = GETVAR(_unit,EGVAR(captives,isHandcuffed),false); // Event initalized by ACE_Captives - ["SetHandcuffed", _unit, [_unit, !_captive]] call EFUNC(common,targetEvent); + ["SetHandcuffed", [_unit, !_captive], _unit] call CBA_fnc_targetEvent; }; }; }; diff --git a/addons/zeus/functions/fnc_moduleSurrender.sqf b/addons/zeus/functions/fnc_moduleSurrender.sqf index 95f35593a5..9ef8270eee 100644 --- a/addons/zeus/functions/fnc_moduleSurrender.sqf +++ b/addons/zeus/functions/fnc_moduleSurrender.sqf @@ -41,7 +41,7 @@ if (isNil QEFUNC(captives,setSurrendered)) then { } else { _surrendering = GETVAR(_unit,EGVAR(captives,isSurrendering),false); // Event initalized by ACE_Captives - ["SetSurrendered", _unit, [_unit, !_surrendering]] call EFUNC(common,targetEvent); + ["SetSurrendered", [_unit, !_surrendering], _unit] call CBA_fnc_targetEvent; }; }; }; From 86b90223224510a28c4958faa8e9550fbb94b183 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sun, 22 May 2016 23:13:15 -0500 Subject: [PATCH 09/63] Fix VehLock Macros --- addons/vehiclelock/CfgVehicles.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/vehiclelock/CfgVehicles.hpp b/addons/vehiclelock/CfgVehicles.hpp index 18d8fa3401..f6db9fe467 100644 --- a/addons/vehiclelock/CfgVehicles.hpp +++ b/addons/vehiclelock/CfgVehicles.hpp @@ -3,14 +3,14 @@ class ACE_unlockVehicle { \ displayName = CSTRING(Action_UnLock); \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ - statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,false)]), [_target]] call CBA_fnc_targetEvent); \ + statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,false)], [_target])] call CBA_fnc_targetEvent); \ priority = 0.3; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ class ACE_lockVehicle { \ displayName = CSTRING(Action_Lock); \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ - statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,true)]), [_target]] call CBA_fnc_targetEvent); \ + statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,true)], [_target])] call CBA_fnc_targetEvent); \ priority = 0.2; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ @@ -27,7 +27,7 @@ displayName = CSTRING(Action_UnLock); \ distance = 4; \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ - statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,false)]), [_target]] call CBA_fnc_targetEvent); \ + statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,false)], [_target])] call CBA_fnc_targetEvent); \ priority = 0.3; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ @@ -35,7 +35,7 @@ displayName = CSTRING(Action_Lock); \ distance = 4; \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ - statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,true)]), [_target]] call CBA_fnc_targetEvent); \ + statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,true)], [_target])] call CBA_fnc_targetEvent); \ priority = 0.2; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ From 84eca899a9e5373d6e2f1fc10dba60b7eb2a56e5 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Sun, 22 May 2016 23:13:58 -0500 Subject: [PATCH 10/63] Add event renaming system Allows us to switch event names such that anyone currently using our old event framework and names won't have their code broken until it is deprecated in version 3.8.0 --- addons/common/config.cpp | 5 +++++ addons/common/functions/fnc_addEventHandler.sqf | 11 ++++++++++- addons/common/functions/fnc_globalEvent.sqf | 11 ++++++++++- addons/common/functions/fnc_localEvent.sqf | 10 +++++++++- addons/common/functions/fnc_objectEvent.sqf | 6 ++++++ .../common/functions/fnc_removeAllEventHandlers.sqf | 6 ++++++ addons/common/functions/fnc_removeEventHandler.sqf | 10 +++++++++- addons/common/functions/fnc_serverEvent.sqf | 10 +++++++++- addons/common/functions/fnc_targetEvent.sqf | 6 ++++++ 9 files changed, 70 insertions(+), 5 deletions(-) diff --git a/addons/common/config.cpp b/addons/common/config.cpp index cbe5c5df6a..83e2d8a2a1 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -12,6 +12,11 @@ class CfgPatches { }; }; +// This class will be deprecated in version 3.8.0 +class ACE_newEvents { + playMoveNow = QGVAR(playMoveNow); +}; + #include "CfgEventHandlers.hpp" #include "CfgLocationTypes.hpp" diff --git a/addons/common/functions/fnc_addEventHandler.sqf b/addons/common/functions/fnc_addEventHandler.sqf index 4f285dd449..c7d641b509 100644 --- a/addons/common/functions/fnc_addEventHandler.sqf +++ b/addons/common/functions/fnc_addEventHandler.sqf @@ -1,5 +1,14 @@ +#define DEBUG_MODE_FULL #include "script_component.hpp" -_this call CBA_fnc_addEventHandler; +params ["_eventName", "_eventCode"]; + +private _newName = getText (configFile >> "ACE_newEvents" >> _eventName); +if (_newName != "") then { + TRACE_2("Switching Names",_eventName,_newName); + _eventName = _newName; +}; + +[_eventName, _eventCode] call CBA_fnc_addEventHandler; ACE_DEPRECATED("ace_common_fnc_addEventHandler","3.8.0","CBA_fnc_addEventHandler"); diff --git a/addons/common/functions/fnc_globalEvent.sqf b/addons/common/functions/fnc_globalEvent.sqf index cbd586c39c..88de2eadf7 100644 --- a/addons/common/functions/fnc_globalEvent.sqf +++ b/addons/common/functions/fnc_globalEvent.sqf @@ -1,5 +1,14 @@ +#define DEBUG_MODE_FULL #include "script_component.hpp" -_this call CBA_fnc_globalEvent; +params ["_eventName", "_eventArgs"]; + +private _newName = getText (configFile >> "ACE_newEvents" >> _eventName); +if (_newName != "") then { + TRACE_2("Switching Names",_eventName,_newName); + _eventName = _newName; +}; + +[_eventName, _eventArgs] call CBA_fnc_globalEvent; ACE_DEPRECATED("ace_common_fnc_globalEvent","3.8.0","CBA_fnc_globalEvent"); diff --git a/addons/common/functions/fnc_localEvent.sqf b/addons/common/functions/fnc_localEvent.sqf index 84b0aa4898..87672015e2 100644 --- a/addons/common/functions/fnc_localEvent.sqf +++ b/addons/common/functions/fnc_localEvent.sqf @@ -1,5 +1,13 @@ #include "script_component.hpp" -_this call CBA_fnc_localEvent; +params ["_eventName", "_eventArgs"]; + +private _newName = getText (configFile >> "ACE_newEvents" >> _eventName); +if (_newName != "") then { + TRACE_2("Switching Names",_eventName,_newName); + _eventName = _newName; +}; + +[_eventName, _eventArgs] call CBA_fnc_localEvent; ACE_DEPRECATED("ace_common_fnc_localEvent","3.8.0","CBA_fnc_localEvent"); diff --git a/addons/common/functions/fnc_objectEvent.sqf b/addons/common/functions/fnc_objectEvent.sqf index ed9029df65..21ba60b802 100644 --- a/addons/common/functions/fnc_objectEvent.sqf +++ b/addons/common/functions/fnc_objectEvent.sqf @@ -2,6 +2,12 @@ params ["_eventName", "_eventTarget", "_eventArgs"]; +private _newName = getText (configFile >> "ACE_newEvents" >> _eventName); +if (_newName != "") then { + TRACE_2("Switching Names",_eventName,_newName); + _eventName = _newName; +}; + [_eventName, _eventArgs, _eventTargets] call CBA_fnc_targetEvent; ACE_DEPRECATED("ace_common_fnc_objectEvent","3.8.0","CBA_fnc_targetEvent"); diff --git a/addons/common/functions/fnc_removeAllEventHandlers.sqf b/addons/common/functions/fnc_removeAllEventHandlers.sqf index ca4db8db0a..8e24e52a7f 100644 --- a/addons/common/functions/fnc_removeAllEventHandlers.sqf +++ b/addons/common/functions/fnc_removeAllEventHandlers.sqf @@ -2,6 +2,12 @@ params ["_eventName"]; +private _newName = getText (configFile >> "ACE_newEvents" >> _eventName); +if (_newName != "") then { + TRACE_2("Switching Names",_eventName,_newName); + _eventName = _newName; +}; + CBA_events_eventNamespace setVariable [_eventName,nil]; CBA_events_eventHashes setVariable [_eventName,nil]; diff --git a/addons/common/functions/fnc_removeEventHandler.sqf b/addons/common/functions/fnc_removeEventHandler.sqf index b241aae833..003eb1c6d4 100644 --- a/addons/common/functions/fnc_removeEventHandler.sqf +++ b/addons/common/functions/fnc_removeEventHandler.sqf @@ -1,5 +1,13 @@ #include "script_component.hpp" -_this call CBA_fnc_removeEventHandler; +params ["_eventName", "_eventCode"]; + +private _newName = getText (configFile >> "ACE_newEvents" >> _eventName); +if (_newName != "") then { + TRACE_2("Switching Names",_eventName,_newName); + _eventName = _newName; +}; + +[_eventName, _eventCode] call CBA_fnc_removeEventHandler; ACE_DEPRECATED("ace_common_fnc_removeEventHandler","3.8.0","CBA_fnc_removeEventHandler"); diff --git a/addons/common/functions/fnc_serverEvent.sqf b/addons/common/functions/fnc_serverEvent.sqf index 7fbb3d21a6..a9d82f1638 100644 --- a/addons/common/functions/fnc_serverEvent.sqf +++ b/addons/common/functions/fnc_serverEvent.sqf @@ -1,5 +1,13 @@ #include "script_component.hpp" -_this call CBA_fnc_serverEvent; +params ["_eventName", "_eventArgs"]; + +private _newName = getText (configFile >> "ACE_newEvents" >> _eventName); +if (_newName != "") then { + TRACE_2("Switching Names",_eventName,_newName); + _eventName = _newName; +}; + +[_eventName, _eventArgs] call CBA_fnc_serverEvent; ACE_DEPRECATED("ace_common_fnc_serverEvent","3.8.0","CBA_fnc_serverEvent"); diff --git a/addons/common/functions/fnc_targetEvent.sqf b/addons/common/functions/fnc_targetEvent.sqf index e78f193370..fcc8e37775 100644 --- a/addons/common/functions/fnc_targetEvent.sqf +++ b/addons/common/functions/fnc_targetEvent.sqf @@ -2,6 +2,12 @@ params ["_eventName", "_eventTargets", "_eventArgs"]; +private _newName = getText (configFile >> "ACE_newEvents" >> _eventName); +if (_newName != "") then { + TRACE_2("Switching Names",_eventName,_newName); + _eventName = _newName; +}; + [_eventName,_eventArgs,_eventTargets] call CBA_fnc_targetEvent; ACE_DEPRECATED("ace_common_fnc_targetEvent","3.8.0","CBA_fnc_targetEvent"); From 78cdd0d55a8314fcedd4323caa9fa2a695de43f3 Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Mon, 23 May 2016 15:29:35 +0100 Subject: [PATCH 11/63] Add event renaming script --- tools/event_rename.py | 115 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 tools/event_rename.py diff --git a/tools/event_rename.py b/tools/event_rename.py new file mode 100644 index 0000000000..99dd261a02 --- /dev/null +++ b/tools/event_rename.py @@ -0,0 +1,115 @@ +import os +import sys +import re + +un_capitalize = lambda s: s[:1].lower() + s[1:] if s else '' + +def add_to_config(old, new): + with open(add_to_config.file, "r+") as file: + contents = file.read() + + events_class = re.search(r"class\s+ACE_newEvents\s+{\n",contents,re.I) + + if events_class: + newline_index = events_class.end() + insert = " {0} = \"{1}\";\n".format(old,new) + else: + newline_index = len(contents) + insert = "\nclass ACE_newEvents {{\n {0} = \"{1}\";\n}};".format(old,new) + + contents = contents[:newline_index] + insert + contents[newline_index:] + + file.seek(0) + file.write(contents) + file.truncate() + +def event_replace(match): + event = un_capitalize(match.group(1)) + add_to_config(match.group(1), "ace_" + event) + + return "[\"ace_{0}\", {1}] call CBA_fnc_{2}".format(event,match.group(2),match.group(3)) + +def process_directory(dir, config=""): + if not config: + config = os.path.join(dir,"config.cpp") + if os.path.isfile(config): + add_to_config.file = config + + for p in os.listdir(dir): + path = os.path.join(dir, p) + if os.path.isdir(path): + process_directory(path, config) + continue + + ext = os.path.splitext(path)[1] + if ext not in [".sqf",".hpp",".cpp"]: + continue + + with open(path, "r+") as file: + contents = file.read() + + # Simple single-line substitutions + find = r"\[\s*\"(?!ace_)(\w+)\"\s*,\s*(.+?)\s*\]\s+call\s+CBA_fnc_((add|remove|local|global|target|server)Event(Handler)?)" + contents, subbed = re.subn(find,event_replace,contents,0,re.I) + + # Handle multi-line code blocks + for match in re.finditer(r"\[\s*\"(?!ace_)(\w+)\"\s*,\s*({.+?})\s*\]\s+call\s*CBA_fnc_(add|remove)EventHandler",contents,re.I|re.S): + pair = 0 + for i, c in enumerate(contents[match.start(2):]): + if c == "{": + pair += 1 + elif c == "}": + pair -= 1 + if pair == 0: + pair = i + break + if re.match(r"\s*\]\s+call\s+CBA_fnc_(add|remove)EventHandler",contents[pair+match.start(2)+1:],re.I): + event = un_capitalize(match.group(1)) + add_to_config(match.group(1), "ace_" + event) + + contents = contents[:match.start(1)] + "ace_" + event + contents[match.end(1):] + subbed += 1 + + # Handle multi-line argument arrays + for match in re.finditer(r"\[\s*\"(?!ace_)(\w+)\"\s*,\s*(\[.+?\])\s*\]\s+call\s*CBA_fnc_(local|global|server)Event",contents,re.I|re.S): + pair = 0 + for i, c in enumerate(contents[match.start(2):]): + if c == "[": + pair += 1 + elif c == "]": + pair -= 1 + if pair == 0: + pair = i + break + if re.match(r"\s*\]\s+call\s+CBA_fnc_(local|global|server)Event",contents[pair+match.start(2)+1:],re.I): + event = un_capitalize(match.group(1)) + add_to_config(match.group(1), "ace_" + event) + + contents = contents[:match.start(1)] + "ace_" + event + contents[match.end(1):] + subbed += 1 + + if subbed > 0: + print("Making {0} substitutions: {1}".format(subbed,path)) + + file.seek(0) + file.write(contents) + file.truncate() + +def main(): + scriptpath = os.path.realpath(sys.argv[0]) + projectpath = os.path.dirname(os.path.dirname(scriptpath)) + addonspath = os.path.join(projectpath, "addons") + + os.chdir(addonspath) + + for p in os.listdir(addonspath): + path = os.path.join(addonspath, p) + if not os.path.isdir(path): + continue + if p[0] == ".": + continue + + process_directory(path) + +if __name__ == "__main__": + sys.exit(main()) From c4b75160a4b55d9edeba43aeb393397592226ec2 Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Tue, 24 May 2016 14:13:11 +0100 Subject: [PATCH 12/63] Run event renaming script --- addons/advanced_ballistics/XEH_postInit.sqf | 6 +- addons/advanced_ballistics/config.cpp | 6 ++ addons/atragmx/XEH_postInit.sqf | 2 +- addons/atragmx/config.cpp | 5 +- addons/attach/XEH_clientInit.sqf | 2 +- addons/attach/config.cpp | 4 + addons/backpacks/XEH_postInit.sqf | 2 +- addons/backpacks/config.cpp | 5 ++ .../functions/fnc_onOpenInventory.sqf | 2 +- addons/captives/XEH_postInit.sqf | 14 +-- addons/captives/config.cpp | 19 +++- .../functions/fnc_doApplyHandcuffs.sqf | 2 +- .../captives/functions/fnc_doLoadCaptive.sqf | 2 +- .../functions/fnc_doRemoveHandcuffs.sqf | 2 +- .../functions/fnc_doUnloadCaptive.sqf | 2 +- .../functions/fnc_moduleHandcuffed.sqf | 2 +- .../functions/fnc_moduleSurrender.sqf | 2 +- .../captives/functions/fnc_setHandcuffed.sqf | 2 +- .../captives/functions/fnc_setSurrendered.sqf | 2 +- addons/cargo/XEH_postInit.sqf | 12 +-- addons/cargo/config.cpp | 18 ++++ addons/cargo/functions/fnc_addCargoItem.sqf | 2 +- addons/cargo/functions/fnc_initVehicle.sqf | 2 +- addons/cargo/functions/fnc_loadItem.sqf | 2 +- addons/cargo/functions/fnc_startLoadIn.sqf | 4 +- addons/cargo/functions/fnc_startUnload.sqf | 4 +- addons/cargo/functions/fnc_unloadItem.sqf | 4 +- addons/common/XEH_postInit.sqf | 78 ++++++++--------- addons/common/config.cpp | 75 ++++++++++++++++ .../fnc__handleRequestAllSyncedEvents.sqf | 2 +- .../fnc__handleRequestSyncedEvent.sqf | 2 +- addons/common/functions/fnc_addSetting.sqf | 2 +- .../common/functions/fnc_assignedItemFix.sqf | 2 +- addons/common/functions/fnc_claim.sqf | 4 +- addons/common/functions/fnc_doAnimation.sqf | 14 +-- addons/common/functions/fnc_firedEH.sqf | 12 +-- addons/common/functions/fnc_fixFloating.sqf | 4 +- addons/common/functions/fnc_headBugFix.sqf | 4 +- addons/common/functions/fnc_hideUnit.sqf | 2 +- addons/common/functions/fnc_loadPerson.sqf | 2 +- addons/common/functions/fnc_muteUnit.sqf | 2 +- .../functions/fnc_muteUnitHandleInitPost.sqf | 2 +- .../functions/fnc_muteUnitHandleRespawn.sqf | 2 +- .../functions/fnc_requestSyncedEvent.sqf | 2 +- addons/common/functions/fnc_setSetting.sqf | 4 +- addons/common/functions/fnc_syncedEvent.sqf | 2 +- addons/common/functions/fnc_unhideUnit.sqf | 2 +- addons/common/functions/fnc_unloadPerson.sqf | 2 +- .../functions/fnc_unloadPersonLocal.sqf | 2 +- addons/common/functions/fnc_unmuteUnit.sqf | 2 +- addons/concertina_wire/XEH_postInit.sqf | 2 +- addons/concertina_wire/config.cpp | 5 +- addons/dagr/XEH_postInit.sqf | 2 +- addons/dagr/config.cpp | 4 + addons/disarming/XEH_postInit.sqf | 4 +- addons/disarming/config.cpp | 7 ++ .../functions/fnc_eventTargetFinish.sqf | 2 +- .../functions/fnc_openDisarmDialog.sqf | 2 +- addons/disposable/XEH_postInit.sqf | 6 +- addons/disposable/config.cpp | 6 ++ addons/dragging/XEH_postInit.sqf | 8 +- addons/dragging/config.cpp | 18 ++++ addons/dragging/functions/fnc_carryObject.sqf | 2 +- addons/dragging/functions/fnc_dragObject.sqf | 2 +- addons/dragging/functions/fnc_dropObject.sqf | 8 +- .../functions/fnc_dropObject_carry.sqf | 8 +- .../functions/fnc_handleScrollWheel.sqf | 2 +- addons/explosives/XEH_postInit.sqf | 6 +- addons/explosives/config.cpp | 6 ++ addons/fcs/XEH_postInit.sqf | 6 +- addons/fcs/config.cpp | 6 ++ addons/finger/XEH_postInit.sqf | 2 +- addons/finger/config.cpp | 4 + addons/frag/XEH_postInit.sqf | 14 +-- addons/frag/config.cpp | 11 ++- addons/gforces/XEH_postInit.sqf | 2 +- addons/gforces/config.cpp | 4 + addons/goggles/XEH_postInit.sqf | 10 +-- addons/goggles/config.cpp | 10 +++ .../goggles/functions/fnc_handleExplosion.sqf | 4 +- addons/grenades/XEH_postInit.sqf | 8 +- addons/grenades/config.cpp | 8 ++ .../functions/fnc_flashbangThrownFuze.sqf | 2 +- addons/hearing/XEH_postInit.sqf | 8 +- addons/hearing/config.cpp | 7 ++ addons/huntir/XEH_postInit.sqf | 4 +- addons/huntir/config.cpp | 5 ++ addons/interact_menu/XEH_clientInit.sqf | 6 +- addons/interact_menu/config.cpp | 12 +++ .../interact_menu/functions/fnc_keyDown.sqf | 2 +- addons/interact_menu/functions/fnc_keyUp.sqf | 6 +- addons/interact_menu/functions/fnc_render.sqf | 4 +- addons/interaction/XEH_postInit.sqf | 4 +- addons/interaction/config.cpp | 14 +++ .../functions/fnc_doBecomeLeader.sqf | 2 +- addons/interaction/functions/fnc_getDown.sqf | 2 +- addons/interaction/functions/fnc_joinTeam.sqf | 4 +- addons/interaction/functions/fnc_pardon.sqf | 2 +- .../functions/fnc_passMagazine.sqf | 2 +- addons/interaction/functions/fnc_push.sqf | 2 +- addons/interaction/functions/fnc_sendAway.sqf | 2 +- .../interaction/functions/fnc_tapShoulder.sqf | 2 +- addons/laser/XEH_post_init.sqf | 4 +- addons/laser/config.cpp | 8 +- addons/laser/functions/fnc_laserOff.sqf | 30 +++---- addons/laser/functions/fnc_laserOn.sqf | 40 ++++----- addons/laserpointer/XEH_postInit.sqf | 4 +- addons/laserpointer/config.cpp | 5 ++ addons/logistics_uavbattery/config.cpp | 4 + .../functions/fnc_refuelUAV.sqf | 2 +- .../logistics_wirecutter/XEH_clientInit.sqf | 2 +- addons/logistics_wirecutter/config.cpp | 4 + addons/map/XEH_postInitClient.sqf | 2 +- addons/map/config.cpp | 4 + addons/map_gestures/XEH_postInit.sqf | 2 +- addons/map_gestures/config.cpp | 4 + addons/maptools/XEH_preInit.sqf | 8 +- addons/maptools/config.cpp | 11 +++ .../functions/fnc_copyMapRemoteSend.sqf | 2 +- .../maptools/functions/fnc_copyMapStart.sqf | 2 +- .../maptools/functions/fnc_handleKeyDown.sqf | 2 +- .../functions/fnc_handleMouseButton.sqf | 2 +- addons/medical/XEH_postInit.sqf | 48 +++++----- addons/medical/config.cpp | 87 +++++++++++++++++++ .../fnc_actionCheckBloodPressure.sqf | 4 +- .../fnc_actionCheckBloodPressureLocal.sqf | 2 +- .../functions/fnc_actionCheckPulse.sqf | 4 +- .../functions/fnc_actionCheckPulseLocal.sqf | 2 +- .../functions/fnc_actionCheckResponse.sqf | 2 +- .../medical/functions/fnc_actionDiagnose.sqf | 2 +- .../medical/functions/fnc_actionLoadUnit.sqf | 2 +- .../functions/fnc_actionPlaceInBodyBag.sqf | 4 +- .../functions/fnc_actionRemoveTourniquet.sqf | 4 +- .../functions/fnc_actionUnloadUnit.sqf | 2 +- .../functions/fnc_addHeartRateAdjustment.sqf | 2 +- addons/medical/functions/fnc_addToLog.sqf | 4 +- .../medical/functions/fnc_addToTriageCard.sqf | 4 +- addons/medical/functions/fnc_addVitalLoop.sqf | 2 +- .../fnc_displayPatientInformation.sqf | 2 +- .../functions/fnc_onWoundUpdateRequest.sqf | 2 +- .../functions/fnc_requestWoundSync.sqf | 2 +- .../functions/fnc_serverRemoveBody.sqf | 2 +- .../functions/fnc_setCardiacArrest.sqf | 2 +- addons/medical/functions/fnc_setDead.sqf | 4 +- .../functions/fnc_setHitPointDamage.sqf | 2 +- .../medical/functions/fnc_setUnconscious.sqf | 4 +- addons/medical/functions/fnc_treatment.sqf | 2 +- .../functions/fnc_treatmentAdvanced_CPR.sqf | 4 +- .../fnc_treatmentAdvanced_bandage.sqf | 4 +- .../fnc_treatmentAdvanced_bandageLocal.sqf | 2 +- .../fnc_treatmentAdvanced_fullHeal.sqf | 4 +- .../fnc_treatmentAdvanced_medication.sqf | 2 +- .../functions/fnc_treatmentBasic_bandage.sqf | 4 +- .../functions/fnc_treatmentBasic_bloodbag.sqf | 4 +- .../functions/fnc_treatmentBasic_morphine.sqf | 4 +- addons/medical/functions/fnc_treatmentIV.sqf | 4 +- .../functions/fnc_treatmentTourniquet.sqf | 8 +- .../functions/fnc_treatment_success.sqf | 2 +- .../medical/functions/fnc_unconsciousPFH.sqf | 4 +- addons/medical/functions/fnc_useItem.sqf | 12 +-- addons/medical_menu/XEH_postInit.sqf | 2 +- addons/medical_menu/config.cpp | 6 ++ .../medical_menu/functions/fnc_onMenuOpen.sqf | 4 +- addons/microdagr/XEH_clientInit.sqf | 2 +- addons/microdagr/config.cpp | 4 + addons/mk6mortar/XEH_postInit.sqf | 6 +- addons/mk6mortar/config.cpp | 7 ++ .../fnc_handlePlayerVehicleChanged.sqf | 2 +- addons/modules/XEH_postInit.sqf | 2 +- addons/modules/config.cpp | 5 +- addons/movement/XEH_postInit.sqf | 4 +- addons/movement/config.cpp | 5 ++ addons/nametags/XEH_postInit.sqf | 2 +- addons/nametags/config.cpp | 4 + addons/nightvision/XEH_postInitClient.sqf | 12 +-- addons/nightvision/config.cpp | 9 ++ addons/optics/XEH_postInit.sqf | 4 +- addons/optics/config.cpp | 5 ++ addons/optionsmenu/XEH_postInit.sqf | 2 +- addons/optionsmenu/config.cpp | 4 + addons/overheating/XEH_postInit.sqf | 14 +-- addons/overheating/config.cpp | 14 +++ .../overheating/functions/fnc_jamWeapon.sqf | 2 +- .../functions/fnc_loadCoolestSpareBarrel.sqf | 2 +- .../fnc_sendSpareBarrelsTemperaturesHint.sqf | 2 +- .../functions/fnc_swapBarrelAssistant.sqf | 2 +- .../functions/fnc_swapBarrelCallback.sqf | 2 +- addons/overpressure/XEH_postInit.sqf | 6 +- addons/overpressure/config.cpp | 8 ++ .../overpressure/functions/fnc_firedEHBB.sqf | 2 +- .../overpressure/functions/fnc_firedEHOP.sqf | 2 +- addons/parachute/XEH_postInit.sqf | 6 +- addons/parachute/config.cpp | 6 ++ addons/rearm/XEH_postInit.sqf | 4 +- addons/rearm/config.cpp | 5 ++ addons/recoil/XEH_postInit.sqf | 2 +- addons/recoil/config.cpp | 4 + addons/refuel/XEH_postInit.sqf | 2 +- addons/refuel/config.cpp | 8 ++ addons/refuel/functions/fnc_checkFuel.sqf | 4 +- .../functions/fnc_connectNozzleAction.sqf | 2 +- addons/refuel/functions/fnc_refuel.sqf | 2 +- addons/reload/XEH_postInit.sqf | 10 +-- addons/reload/config.cpp | 9 ++ .../reload/functions/fnc_startLinkingBelt.sqf | 2 +- addons/reloadlaunchers/XEH_postInit.sqf | 2 +- addons/reloadlaunchers/config.cpp | 5 ++ addons/reloadlaunchers/functions/fnc_load.sqf | 2 +- addons/repair/XEH_postInit.sqf | 6 +- addons/repair/config.cpp | 21 +++++ addons/repair/functions/fnc_addSpareParts.sqf | 2 +- addons/repair/functions/fnc_doRemoveTrack.sqf | 4 +- addons/repair/functions/fnc_doRemoveWheel.sqf | 4 +- addons/repair/functions/fnc_doRepair.sqf | 4 +- addons/repair/functions/fnc_doRepairTrack.sqf | 2 +- .../repair/functions/fnc_doReplaceTrack.sqf | 2 +- .../repair/functions/fnc_doReplaceWheel.sqf | 2 +- addons/repair/functions/fnc_repair.sqf | 6 +- addons/repair/functions/fnc_spawnObject.sqf | 4 +- addons/respawn/XEH_postInit.sqf | 4 +- addons/respawn/XEH_serverPostInit.sqf | 2 +- addons/respawn/config.cpp | 9 ++ .../respawn/functions/fnc_initRallypoint.sqf | 2 +- .../respawn/functions/fnc_moveRallypoint.sqf | 2 +- .../functions/fnc_showFriendlyFireMessage.sqf | 2 +- addons/sandbag/XEH_postInit.sqf | 10 +-- addons/sandbag/config.cpp | 10 ++- addons/sandbag/functions/fnc_deploy.sqf | 2 +- addons/scopes/XEH_postInit.sqf | 8 +- addons/scopes/config.cpp | 7 ++ addons/sitting/XEH_clientInit.sqf | 6 +- addons/sitting/config.cpp | 6 ++ addons/spectator/config.cpp | 5 ++ .../spectator/functions/fnc_setSpectator.sqf | 2 +- .../functions/fnc_stageSpectator.sqf | 2 +- addons/switchunits/XEH_postInit.sqf | 2 +- addons/switchunits/config.cpp | 4 + addons/tacticalladder/XEH_postInit.sqf | 10 +-- addons/tacticalladder/config.cpp | 8 ++ addons/tagging/XEH_postInit.sqf | 2 +- addons/tagging/config.cpp | 6 ++ addons/tagging/functions/fnc_createTag.sqf | 2 +- addons/tagging/functions/fnc_tag.sqf | 2 +- addons/trenches/XEH_postInit.sqf | 10 +-- addons/trenches/config.cpp | 9 ++ addons/trenches/functions/fnc_placeTrench.sqf | 2 +- addons/tripod/XEH_postInit.sqf | 8 +- addons/tripod/config.cpp | 8 +- addons/ui/XEH_clientInit.sqf | 2 +- addons/ui/config.cpp | 4 + addons/vector/config.cpp | 4 + addons/vector/functions/fnc_dataTransfer.sqf | 2 +- addons/vehiclelock/XEH_postInit.sqf | 6 +- addons/vehiclelock/config.cpp | 9 ++ .../functions/fnc_addKeyForVehicle.sqf | 2 +- .../functions/fnc_handleVehicleInitPost.sqf | 2 +- addons/vehiclelock/functions/fnc_lockpick.sqf | 2 +- addons/viewdistance/XEH_clientInit.sqf | 2 +- addons/viewdistance/config.cpp | 4 + addons/weaponselect/XEH_postInit.sqf | 2 +- addons/weaponselect/config.cpp | 5 ++ .../fnc_displayGrenadeTypeAndNumber.sqf | 2 +- addons/weather/XEH_postInit.sqf | 2 +- addons/weather/XEH_postServerInit.sqf | 2 +- addons/weather/config.cpp | 6 +- addons/winddeflection/XEH_postInit.sqf | 10 +-- addons/winddeflection/config.cpp | 8 ++ addons/zeus/XEH_preInit.sqf | 2 +- addons/zeus/config.cpp | 9 ++ .../zeus/functions/fnc_bi_moduleCurator.sqf | 2 +- .../functions/fnc_moduleAddSpareTrack.sqf | 2 +- .../functions/fnc_moduleAddSpareWheel.sqf | 2 +- addons/zeus/functions/fnc_moduleCaptive.sqf | 2 +- addons/zeus/functions/fnc_moduleSurrender.sqf | 2 +- 274 files changed, 1090 insertions(+), 472 deletions(-) diff --git a/addons/advanced_ballistics/XEH_postInit.sqf b/addons/advanced_ballistics/XEH_postInit.sqf index 26e0bf93bf..140820e400 100644 --- a/addons/advanced_ballistics/XEH_postInit.sqf +++ b/addons/advanced_ballistics/XEH_postInit.sqf @@ -24,7 +24,7 @@ if (!GVAR(extensionAvailable)) exitWith { if (!hasInterface) exitWith {}; -["SettingsInitialized", { +["ace_settingsInitialized", { //If not enabled, dont't add PFEH if (!GVAR(enabled)) exitWith {}; @@ -32,8 +32,8 @@ if (!hasInterface) exitWith {}; [] call FUNC(initializeTerrainExtension); // Register fire event handler - ["firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; - ["firedPlayerNonLocal", DFUNC(handleFired)] call CBA_fnc_addEventHandler; + ["ace_firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; + ["ace_firedPlayerNonLocal", DFUNC(handleFired)] call CBA_fnc_addEventHandler; //Add warnings for missing compat PBOs (only if AB is on) { diff --git a/addons/advanced_ballistics/config.cpp b/addons/advanced_ballistics/config.cpp index 3f974b18df..363753121b 100644 --- a/addons/advanced_ballistics/config.cpp +++ b/addons/advanced_ballistics/config.cpp @@ -20,3 +20,9 @@ class CfgPatches { class ACE_Extensions { extensions[] += {"ace_advanced_ballistics"}; }; + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; + firedPlayerNonLocal = "ace_firedPlayerNonLocal"; + firedPlayer = "ace_firedPlayer"; +}; \ No newline at end of file diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf index ef293e9309..dc4230ebaa 100644 --- a/addons/atragmx/XEH_postInit.sqf +++ b/addons/atragmx/XEH_postInit.sqf @@ -49,4 +49,4 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == [] call FUNC(init); [] call FUNC(restore_user_data); -["RangerfinderData", {_this call FUNC(sord)}] call CBA_fnc_addEventHandler; +["ace_rangerfinderData", {_this call FUNC(sord)}] call CBA_fnc_addEventHandler; diff --git a/addons/atragmx/config.cpp b/addons/atragmx/config.cpp index 3abe32ba34..925c1a4dfc 100644 --- a/addons/atragmx/config.cpp +++ b/addons/atragmx/config.cpp @@ -14,4 +14,7 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" -#include "RscTitles.hpp" \ No newline at end of file +#include "RscTitles.hpp" +class ACE_newEvents { + RangerfinderData = "ace_rangerfinderData"; +}; \ No newline at end of file diff --git a/addons/attach/XEH_clientInit.sqf b/addons/attach/XEH_clientInit.sqf index 8ba867ec26..feb7216e6b 100644 --- a/addons/attach/XEH_clientInit.sqf +++ b/addons/attach/XEH_clientInit.sqf @@ -3,4 +3,4 @@ if (!hasInterface) exitWith {}; //If attach placing, stop when opening menu: -["interactMenuOpened", {GVAR(placeAction) = 0;}] call CBA_fnc_addEventHandler; +["ace_interactMenuOpened", {GVAR(placeAction) = 0;}] call CBA_fnc_addEventHandler; diff --git a/addons/attach/config.cpp b/addons/attach/config.cpp index 0ecc37788a..3efdaea561 100644 --- a/addons/attach/config.cpp +++ b/addons/attach/config.cpp @@ -17,3 +17,7 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" #include "GUI_VirtualAmmo.hpp" + +class ACE_newEvents { + interactMenuOpened = "ace_interactMenuOpened"; +}; \ No newline at end of file diff --git a/addons/backpacks/XEH_postInit.sqf b/addons/backpacks/XEH_postInit.sqf index c3341ff305..de5ffa4bee 100644 --- a/addons/backpacks/XEH_postInit.sqf +++ b/addons/backpacks/XEH_postInit.sqf @@ -1,3 +1,3 @@ #include "script_component.hpp" -["backpackOpened", {_this call FUNC(backpackOpened)}] call CBA_fnc_addEventHandler; +["ace_backpackOpened", {_this call FUNC(backpackOpened)}] call CBA_fnc_addEventHandler; diff --git a/addons/backpacks/config.cpp b/addons/backpacks/config.cpp index ddc7639921..212ea47b5f 100644 --- a/addons/backpacks/config.cpp +++ b/addons/backpacks/config.cpp @@ -13,3 +13,8 @@ class CfgPatches { }; #include "CfgEventHandlers.hpp" + +class ACE_newEvents { + backpackOpened = "ace_backpackOpened"; + backpackOpened = "ace_backpackOpened"; +}; \ No newline at end of file diff --git a/addons/backpacks/functions/fnc_onOpenInventory.sqf b/addons/backpacks/functions/fnc_onOpenInventory.sqf index c2f3c861a2..0857f6b7ab 100644 --- a/addons/backpacks/functions/fnc_onOpenInventory.sqf +++ b/addons/backpacks/functions/fnc_onOpenInventory.sqf @@ -24,7 +24,7 @@ private _target = objectParent _backpack; if (isNull _target) exitWith {false}; // raise event on target unit -["backpackOpened", [_target, _backpack], _target] call CBA_fnc_targetEvent; +["ace_backpackOpened", [_target, _backpack], _target] call CBA_fnc_targetEvent; // return false to open inventory as usual false diff --git a/addons/captives/XEH_postInit.sqf b/addons/captives/XEH_postInit.sqf index 8f6b470a0a..0c627c55f2 100644 --- a/addons/captives/XEH_postInit.sqf +++ b/addons/captives/XEH_postInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -["SettingsInitialized", { +["ace_settingsInitialized", { // Hold on a little bit longer to ensure anims will work [{ GVAR(captivityEnabled) = true; @@ -24,15 +24,15 @@ if (isServer) then { }]; }; -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; -["MoveInCaptive", {_this call FUNC(vehicleCaptiveMoveIn)}] call CBA_fnc_addEventHandler; -["MoveOutCaptive", {_this call FUNC(vehicleCaptiveMoveOut)}] call CBA_fnc_addEventHandler; +["ace_playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["ace_moveInCaptive", {_this call FUNC(vehicleCaptiveMoveIn)}] call CBA_fnc_addEventHandler; +["ace_moveOutCaptive", {_this call FUNC(vehicleCaptiveMoveOut)}] call CBA_fnc_addEventHandler; -["SetHandcuffed", {_this call FUNC(setHandcuffed)}] call CBA_fnc_addEventHandler; -["SetSurrendered", {_this call FUNC(setSurrendered)}] call CBA_fnc_addEventHandler; +["ace_setHandcuffed", {_this call FUNC(setHandcuffed)}] call CBA_fnc_addEventHandler; +["ace_setSurrendered", {_this call FUNC(setSurrendered)}] call CBA_fnc_addEventHandler; //Medical Integration Events -["medical_onUnconscious", {_this call ACE_Captives_fnc_handleOnUnconscious}] call CBA_fnc_addEventHandler; +["ace_medical_onUnconscious", {_this call ACE_Captives_fnc_handleOnUnconscious}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; diff --git a/addons/captives/config.cpp b/addons/captives/config.cpp index c87408b341..8b3aec38f2 100644 --- a/addons/captives/config.cpp +++ b/addons/captives/config.cpp @@ -17,4 +17,21 @@ class CfgPatches { #include "CfgMoves.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" -#include "CfgEden.hpp" \ No newline at end of file +#include "CfgEden.hpp" +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; + medical_onUnconscious = "ace_medical_onUnconscious"; + SetSurrendered = "ace_setSurrendered"; + SetHandcuffed = "ace_setHandcuffed"; + MoveOutCaptive = "ace_moveOutCaptive"; + MoveInCaptive = "ace_moveInCaptive"; + playerChanged = "ace_playerChanged"; + CaptiveStatusChanged = "ace_captiveStatusChanged"; + CaptiveStatusChanged = "ace_captiveStatusChanged"; + SetSurrendered = "ace_setSurrendered"; + SetHandcuffed = "ace_setHandcuffed"; + MoveOutCaptive = "ace_moveOutCaptive"; + SetHandcuffed = "ace_setHandcuffed"; + MoveInCaptive = "ace_moveInCaptive"; + SetHandcuffed = "ace_setHandcuffed"; +}; \ No newline at end of file diff --git a/addons/captives/functions/fnc_doApplyHandcuffs.sqf b/addons/captives/functions/fnc_doApplyHandcuffs.sqf index 95236579f4..35efa16a6d 100644 --- a/addons/captives/functions/fnc_doApplyHandcuffs.sqf +++ b/addons/captives/functions/fnc_doApplyHandcuffs.sqf @@ -21,6 +21,6 @@ params ["_unit", "_target"]; playSound3D [QUOTE(PATHTO_R(sounds\cable_tie_zipping.ogg)), objNull, false, (getPosASL _target), 1, 1, 10]; -["SetHandcuffed", [_target, true], [_target]] call CBA_fnc_targetEvent; +["ace_setHandcuffed", [_target, true], [_target]] call CBA_fnc_targetEvent; _unit removeItem "ACE_CableTie"; diff --git a/addons/captives/functions/fnc_doLoadCaptive.sqf b/addons/captives/functions/fnc_doLoadCaptive.sqf index e4f919a42f..4d45494fd2 100644 --- a/addons/captives/functions/fnc_doLoadCaptive.sqf +++ b/addons/captives/functions/fnc_doLoadCaptive.sqf @@ -47,4 +47,4 @@ if (isNull _vehicle) then { if (isNull _vehicle) exitWith {ERROR("");}; _unit setVariable [QGVAR(isEscorting), false, true]; -["MoveInCaptive", [_target, _vehicle], [_target]] call CBA_fnc_targetEvent; +["ace_moveInCaptive", [_target, _vehicle], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/captives/functions/fnc_doRemoveHandcuffs.sqf b/addons/captives/functions/fnc_doRemoveHandcuffs.sqf index 27bb1fd078..e824893c34 100644 --- a/addons/captives/functions/fnc_doRemoveHandcuffs.sqf +++ b/addons/captives/functions/fnc_doRemoveHandcuffs.sqf @@ -17,4 +17,4 @@ params ["_unit", "_target"]; -["SetHandcuffed", [_target, false], [_target]] call CBA_fnc_targetEvent; +["ace_setHandcuffed", [_target, false], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/captives/functions/fnc_doUnloadCaptive.sqf b/addons/captives/functions/fnc_doUnloadCaptive.sqf index e3d0749d39..b5c27706c4 100644 --- a/addons/captives/functions/fnc_doUnloadCaptive.sqf +++ b/addons/captives/functions/fnc_doUnloadCaptive.sqf @@ -18,4 +18,4 @@ params ["_unit", "_target"]; -["MoveOutCaptive", [_target], [_target]] call CBA_fnc_targetEvent; +["ace_moveOutCaptive", [_target], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/captives/functions/fnc_moduleHandcuffed.sqf b/addons/captives/functions/fnc_moduleHandcuffed.sqf index 84a7ed852d..ea72ca5d26 100644 --- a/addons/captives/functions/fnc_moduleHandcuffed.sqf +++ b/addons/captives/functions/fnc_moduleHandcuffed.sqf @@ -30,7 +30,7 @@ if (!isServer) exitWith {}; params ["_units"]; { TRACE_2("event",_x,local _x); - ["SetHandcuffed", [_x, true], [_x]] call CBA_fnc_targetEvent; + ["ace_setHandcuffed", [_x, true], [_x]] call CBA_fnc_targetEvent; } forEach _units; }, [_units], 0.05] call EFUNC(common,waitAndExecute); diff --git a/addons/captives/functions/fnc_moduleSurrender.sqf b/addons/captives/functions/fnc_moduleSurrender.sqf index 60234e6052..8e342b1aeb 100644 --- a/addons/captives/functions/fnc_moduleSurrender.sqf +++ b/addons/captives/functions/fnc_moduleSurrender.sqf @@ -30,7 +30,7 @@ if (!isServer) exitWith {}; params ["_units"]; { TRACE_2("event",_x,local _x); - ["SetSurrendered", [_x, true], [_x]] call CBA_fnc_targetEvent; + ["ace_setSurrendered", [_x, true], [_x]] call CBA_fnc_targetEvent; } forEach _units; }, [_units], 0.05] call EFUNC(common,waitAndExecute); diff --git a/addons/captives/functions/fnc_setHandcuffed.sqf b/addons/captives/functions/fnc_setHandcuffed.sqf index 630726206a..5092fa94dc 100644 --- a/addons/captives/functions/fnc_setHandcuffed.sqf +++ b/addons/captives/functions/fnc_setHandcuffed.sqf @@ -124,4 +124,4 @@ if (_state) then { }; //Global Event after changes: -["CaptiveStatusChanged", [_unit, _state, "SetHandcuffed"]] call CBA_fnc_globalEvent; +["ace_captiveStatusChanged", [_unit, _state, "SetHandcuffed"]] call CBA_fnc_globalEvent; diff --git a/addons/captives/functions/fnc_setSurrendered.sqf b/addons/captives/functions/fnc_setSurrendered.sqf index 5fe01b740c..e0b4cb8fb5 100644 --- a/addons/captives/functions/fnc_setSurrendered.sqf +++ b/addons/captives/functions/fnc_setSurrendered.sqf @@ -117,4 +117,4 @@ if (_state) then { }; //Global Event after changes: -["CaptiveStatusChanged", [_unit, _state, "SetSurrendered"]] call CBA_fnc_globalEvent; +["ace_captiveStatusChanged", [_unit, _state, "SetSurrendered"]] call CBA_fnc_globalEvent; diff --git a/addons/cargo/XEH_postInit.sqf b/addons/cargo/XEH_postInit.sqf index 97d05366af..90995b8659 100644 --- a/addons/cargo/XEH_postInit.sqf +++ b/addons/cargo/XEH_postInit.sqf @@ -1,8 +1,8 @@ #include "script_component.hpp" -["AddCargoByClass", {_this call FUNC(addCargoItem)}] call CBA_fnc_addEventHandler; +["ace_addCargoByClass", {_this call FUNC(addCargoItem)}] call CBA_fnc_addEventHandler; -["LoadCargo", { +["ace_loadCargo", { params ["_item", "_vehicle"]; TRACE_2("LoadCargo EH",_item,_vehicle); @@ -13,11 +13,11 @@ private _itemName = getText (configFile >> "CfgVehicles" >> typeOf _item >> "displayName"); private _vehicleName = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - ["displayTextStructured", [[_hint, _itemName, _vehicleName], 3.0]] call CBA_fnc_localEvent; + ["ace_displayTextStructured", [[_hint, _itemName, _vehicleName], 3.0]] call CBA_fnc_localEvent; if (_loaded) then { // Invoke listenable event - ["cargoLoaded", [_item, _vehicle]] call CBA_fnc_globalEvent; + ["ace_cargoLoaded", [_item, _vehicle]] call CBA_fnc_globalEvent; }; }] call CBA_fnc_addEventHandler; @@ -34,11 +34,11 @@ private _itemName = getText (configFile >> "CfgVehicles" >> _itemClass >> "displayName"); private _vehicleName = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - ["displayTextStructured", [[_hint, _itemName, _vehicleName], 3.0]] call CBA_fnc_localEvent; + ["ace_displayTextStructured", [[_hint, _itemName, _vehicleName], 3.0]] call CBA_fnc_localEvent; if (_unloaded) then { // Invoke listenable event - ["cargoUnloaded", [_item, _vehicle]] call CBA_fnc_globalEvent; + ["ace_cargoUnloaded", [_item, _vehicle]] call CBA_fnc_globalEvent; }; // TOOO maybe drag/carry the unloaded item? diff --git a/addons/cargo/config.cpp b/addons/cargo/config.cpp index 1aefa49616..1c20a0d762 100644 --- a/addons/cargo/config.cpp +++ b/addons/cargo/config.cpp @@ -16,3 +16,21 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "menu.hpp" + +class ACE_newEvents { + LoadCargo = "ace_loadCargo"; + cargoUnloaded = "ace_cargoUnloaded"; + displayTextStructured = "ace_displayTextStructured"; + cargoLoaded = "ace_cargoLoaded"; + displayTextStructured = "ace_displayTextStructured"; + AddCargoByClass = "ace_addCargoByClass"; + ServerUnloadCargo = "ace_serverUnloadCargo"; + displayTextStructured = "ace_displayTextStructured"; + displayTextStructured = "ace_displayTextStructured"; + UnloadCargo = "ace_unloadCargo"; + displayTextStructured = "ace_displayTextStructured"; + LoadCargo = "ace_loadCargo"; + hideObjectGlobal = "ace_hideObjectGlobal"; + AddCargoByClass = "ace_addCargoByClass"; + cargoAddedByClass = "ace_cargoAddedByClass"; +}; \ No newline at end of file diff --git a/addons/cargo/functions/fnc_addCargoItem.sqf b/addons/cargo/functions/fnc_addCargoItem.sqf index d90ba6c4d3..bc179b8912 100644 --- a/addons/cargo/functions/fnc_addCargoItem.sqf +++ b/addons/cargo/functions/fnc_addCargoItem.sqf @@ -26,4 +26,4 @@ for "_i" from 1 to _amount do { }; // Invoke listenable event -["cargoAddedByClass", [_itemClass, _vehicle, _amount]] call CBA_fnc_globalEvent; +["ace_cargoAddedByClass", [_itemClass, _vehicle, _amount]] call CBA_fnc_globalEvent; diff --git a/addons/cargo/functions/fnc_initVehicle.sqf b/addons/cargo/functions/fnc_initVehicle.sqf index 101799148a..64ed4c4273 100644 --- a/addons/cargo/functions/fnc_initVehicle.sqf +++ b/addons/cargo/functions/fnc_initVehicle.sqf @@ -29,7 +29,7 @@ if (isServer) then { _cargoClassname = getText (_x >> "type"); _cargoCount = getNumber (_x >> "amount"); TRACE_3("adding ACE_Cargo", (configName _x), _cargoClassname, _cargoCount); - ["AddCargoByClass", [_cargoClassname, _vehicle, _cargoCount]] call CBA_fnc_localEvent; + ["ace_addCargoByClass", [_cargoClassname, _vehicle, _cargoCount]] call CBA_fnc_localEvent; }; } count ("true" configClasses (configFile >> "CfgVehicles" >> _type >> "ACE_Cargo" >> "Cargo")); }; diff --git a/addons/cargo/functions/fnc_loadItem.sqf b/addons/cargo/functions/fnc_loadItem.sqf index 49fa531e5e..36261e05b7 100644 --- a/addons/cargo/functions/fnc_loadItem.sqf +++ b/addons/cargo/functions/fnc_loadItem.sqf @@ -35,7 +35,7 @@ _vehicle setVariable [QGVAR(space), _space - _itemSize, true]; if (_item isEqualType objNull) then { detach _item; _item attachTo [_vehicle,[0,0,-100]]; - ["hideObjectGlobal", [_item, true]] call CBA_fnc_serverEvent; + ["ace_hideObjectGlobal", [_item, true]] call CBA_fnc_serverEvent; }; true diff --git a/addons/cargo/functions/fnc_startLoadIn.sqf b/addons/cargo/functions/fnc_startLoadIn.sqf index 5476d3e31c..ceea80da9a 100644 --- a/addons/cargo/functions/fnc_startLoadIn.sqf +++ b/addons/cargo/functions/fnc_startLoadIn.sqf @@ -40,7 +40,7 @@ if ([_object, _vehicle] call FUNC(canLoadItemIn)) then { [ 5 * _size, [_object,_vehicle], - {["LoadCargo", _this select 0] call CBA_fnc_localEvent}, + {["ace_loadCargo", _this select 0] call CBA_fnc_localEvent}, {}, localize LSTRING(LoadingItem) ] call EFUNC(common,progressBar); @@ -48,7 +48,7 @@ if ([_object, _vehicle] call FUNC(canLoadItemIn)) then { } else { private _displayName = getText (configFile >> "CfgVehicles" >> typeOf _object >> "displayName"); - ["displayTextStructured", [[LSTRING(LoadingFailed), _displayName], 3.0]] call CBA_fnc_localEvent; + ["ace_displayTextStructured", [[LSTRING(LoadingFailed), _displayName], 3.0]] call CBA_fnc_localEvent; }; _return diff --git a/addons/cargo/functions/fnc_startUnload.sqf b/addons/cargo/functions/fnc_startUnload.sqf index 741825a387..3179855b60 100644 --- a/addons/cargo/functions/fnc_startUnload.sqf +++ b/addons/cargo/functions/fnc_startUnload.sqf @@ -37,7 +37,7 @@ if ([_item, GVAR(interactionVehicle), ACE_player] call FUNC(canUnloadItem)) then [ 5 * _size, [_item, GVAR(interactionVehicle), ACE_player], - {["UnloadCargo", _this select 0] call CBA_fnc_localEvent}, + {["ace_unloadCargo", _this select 0] call CBA_fnc_localEvent}, {}, localize LSTRING(UnloadingItem), {true}, @@ -47,5 +47,5 @@ if ([_item, GVAR(interactionVehicle), ACE_player] call FUNC(canUnloadItem)) then private _itemClass = if (_item isEqualType "") then {_item} else {typeOf _item}; private _displayName = getText (configFile >> "CfgVehicles" >> _itemClass >> "displayName"); - ["displayTextStructured", [[LSTRING(UnloadingFailed), _displayName], 3.0]] call CBA_fnc_localEvent; + ["ace_displayTextStructured", [[LSTRING(UnloadingFailed), _displayName], 3.0]] call CBA_fnc_localEvent; }; diff --git a/addons/cargo/functions/fnc_unloadItem.sqf b/addons/cargo/functions/fnc_unloadItem.sqf index 25eb25fa6c..5faad01120 100644 --- a/addons/cargo/functions/fnc_unloadItem.sqf +++ b/addons/cargo/functions/fnc_unloadItem.sqf @@ -29,7 +29,7 @@ if ((count _emptyPosAGL) != 3) exitWith { TRACE_4("Could not find unload pos",_vehicle,getPosASL _vehicle,isTouchingGround _vehicle,speed _vehicle); if ((!isNull _unloader) && {_unloader == ACE_player}) then { //display text saying there are no safe places to exit the vehicle - ["displayTextStructured", [localize ELSTRING(common,NoRoomToUnload)]] call CBA_fnc_localEvent; + ["ace_displayTextStructured", [localize ELSTRING(common,NoRoomToUnload)]] call CBA_fnc_localEvent; }; false }; @@ -52,7 +52,7 @@ if (_item isEqualType objNull) then { detach _item; // hideObjectGlobal must be executed before setPos to ensure light objects are rendered correctly // do both on server to ensure they are executed in the correct order - ["ServerUnloadCargo", [_item, _emptyPosAGL]] call CBA_fnc_serverEvent; + ["ace_serverUnloadCargo", [_item, _emptyPosAGL]] call CBA_fnc_serverEvent; } else { private _newItem = createVehicle [_item, _emptyPosAGL, [], 0, ""]; _newItem setPosASL (AGLtoASL _emptyPosAGL); diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 8e389bf68c..bc109cb636 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -59,14 +59,14 @@ ////////////////////////////////////////////////// //Status Effect EHs: -["setStatusEffect", {_this call FUNC(statusEffect_set)}] call CBA_fnc_addEventHandler; +["ace_setStatusEffect", {_this call FUNC(statusEffect_set)}] call CBA_fnc_addEventHandler; ["forceWalk", false, ["ACE_SwitchUnits", "ACE_Attach", "ACE_dragging", "ACE_Explosives", "ACE_Ladder", "ACE_Sandbag", "ACE_refuel", "ACE_rearm", "ACE_dragging"]] call FUNC(statusEffect_addType); ["blockSprint", false, []] call FUNC(statusEffect_addType); ["setCaptive", true, [QEGVAR(captives,Handcuffed), QEGVAR(captives,Surrendered), QEGVAR(medical,unconscious)]] call FUNC(statusEffect_addType); ["blockDamage", false, ["fixCollision"]] call FUNC(statusEffect_addType); ["blockEngine", false, ["ACE_Refuel"]] call FUNC(statusEffect_addType); -["forceWalk", { +["ace_forceWalk", { params ["_object", "_set"]; TRACE_2("forceWalk EH",_object,_set); _object forceWalk (_set > 0); @@ -135,12 +135,12 @@ if (isServer) then { ACE_LOGINFO_2("Headbug Used: Name: %1, Animation: %2",_profileName,_animation); }] call CBA_fnc_addEventHandler; -["fixCollision", FUNC(fixCollision)] call CBA_fnc_addEventHandler; -["fixFloating", FUNC(fixFloating)] call CBA_fnc_addEventHandler; -["fixPosition", FUNC(fixPosition)] call CBA_fnc_addEventHandler; +["ace_fixCollision", FUNC(fixCollision)] call CBA_fnc_addEventHandler; +["ace_fixFloating", FUNC(fixFloating)] call CBA_fnc_addEventHandler; +["ace_fixPosition", FUNC(fixPosition)] call CBA_fnc_addEventHandler; -["loadPersonEvent", FUNC(loadPersonLocal)] call CBA_fnc_addEventHandler; -["unloadPersonEvent", FUNC(unloadPersonLocal)] call CBA_fnc_addEventHandler; +["ace_loadPersonEvent", FUNC(loadPersonLocal)] call CBA_fnc_addEventHandler; +["ace_unloadPersonEvent", FUNC(unloadPersonLocal)] call CBA_fnc_addEventHandler; ["lockVehicle", { _this setVariable [QGVAR(lockStatus), locked _this]; @@ -151,21 +151,21 @@ if (isServer) then { _this lock (_this getVariable [QGVAR(lockStatus), locked _this]); }] call CBA_fnc_addEventHandler; -["setDir", {(_this select 0) setDir (_this select 1)}] call CBA_fnc_addEventHandler; -["setFuel", {(_this select 0) setFuel (_this select 1)}] call CBA_fnc_addEventHandler; -["engineOn", {(_this select 0) engineOn (_this select 1)}] call CBA_fnc_addEventHandler; -["setSpeaker", {(_this select 0) setSpeaker (_this select 1)}] call CBA_fnc_addEventHandler; -["selectLeader", {(_this select 0) selectLeader (_this select 1)}] call CBA_fnc_addEventHandler; -["setVelocity", {(_this select 0) setVelocity (_this select 1)}] call CBA_fnc_addEventHandler; -["playMove", {(_this select 0) playMove (_this select 1)}] call CBA_fnc_addEventHandler; -["playMoveNow", {(_this select 0) playMoveNow (_this select 1)}] call CBA_fnc_addEventHandler; -["switchMove", {(_this select 0) switchMove (_this select 1)}] call CBA_fnc_addEventHandler; -["setVectorDirAndUp", {(_this select 0) setVectorDirAndUp (_this select 1)}] call CBA_fnc_addEventHandler; -["setVanillaHitPointDamage", {(_this select 0) setHitPointDamage (_this select 1)}] call CBA_fnc_addEventHandler; +["ace_setDir", {(_this select 0) setDir (_this select 1)}] call CBA_fnc_addEventHandler; +["ace_setFuel", {(_this select 0) setFuel (_this select 1)}] call CBA_fnc_addEventHandler; +["ace_engineOn", {(_this select 0) engineOn (_this select 1)}] call CBA_fnc_addEventHandler; +["ace_setSpeaker", {(_this select 0) setSpeaker (_this select 1)}] call CBA_fnc_addEventHandler; +["ace_selectLeader", {(_this select 0) selectLeader (_this select 1)}] call CBA_fnc_addEventHandler; +["ace_setVelocity", {(_this select 0) setVelocity (_this select 1)}] call CBA_fnc_addEventHandler; +["ace_playMove", {(_this select 0) playMove (_this select 1)}] call CBA_fnc_addEventHandler; +["ace_playMoveNow", {(_this select 0) playMoveNow (_this select 1)}] call CBA_fnc_addEventHandler; +["ace_switchMove", {(_this select 0) switchMove (_this select 1)}] call CBA_fnc_addEventHandler; +["ace_setVectorDirAndUp", {(_this select 0) setVectorDirAndUp (_this select 1)}] call CBA_fnc_addEventHandler; +["ace_setVanillaHitPointDamage", {(_this select 0) setHitPointDamage (_this select 1)}] call CBA_fnc_addEventHandler; if (isServer) then { - ["hideObjectGlobal", {(_this select 0) hideObjectGlobal (_this select 1)}] call CBA_fnc_addEventHandler; - ["enableSimulationGlobal", {(_this select 0) enableSimulationGlobal (_this select 1)}] call CBA_fnc_addEventHandler; + ["ace_hideObjectGlobal", {(_this select 0) hideObjectGlobal (_this select 1)}] call CBA_fnc_addEventHandler; + ["ace_enableSimulationGlobal", {(_this select 0) enableSimulationGlobal (_this select 1)}] call CBA_fnc_addEventHandler; }; @@ -178,14 +178,14 @@ if (isServer) then { if (!isServer) then { ["PlayerJip", { ACE_LOGINFO("JIP event synchronization initialized"); - ["SEH_all", [player]] call CBA_fnc_serverEvent; + ["ace_sEH_all", [player]] call CBA_fnc_serverEvent; }] call CBA_fnc_addEventHandler; } else { - ["SEH_all", FUNC(_handleRequestAllSyncedEvents)] call CBA_fnc_addEventHandler; + ["ace_sEH_all", FUNC(_handleRequestAllSyncedEvents)] call CBA_fnc_addEventHandler; }; -["SEH", FUNC(_handleSyncedEvent)] call CBA_fnc_addEventHandler; -["SEH_s", FUNC(_handleRequestSyncedEvent)] call CBA_fnc_addEventHandler; +["ace_sEH", FUNC(_handleSyncedEvent)] call CBA_fnc_addEventHandler; +["ace_sEH_s", FUNC(_handleRequestSyncedEvent)] call CBA_fnc_addEventHandler; if (isServer) then { [FUNC(syncedEventPFH), 0.5, []] call CBA_fnc_addPerFrameHandler; @@ -254,7 +254,7 @@ call FUNC(checkFiles); [] call FUNC(readSettingsFromParamsArray); }; // Event so that ACE_Modules have their settings loaded: - ["InitSettingsFromModules", []] call CBA_fnc_localEvent; + ["ace_initSettingsFromModules", []] call CBA_fnc_localEvent; if (isServer) then { // Publish all settings data after all configs and modules are read @@ -270,7 +270,7 @@ call FUNC(checkFiles); ACE_LOGINFO("Settings initialized."); //Event that settings are safe to use: - ["SettingsInitialized", []] call CBA_fnc_localEvent; + ["ace_settingsInitialized", []] call CBA_fnc_localEvent; //Set init finished and run all delayed functions: GVAR(settingsInitFinished) = true; @@ -350,7 +350,7 @@ GVAR(OldIsCamera) = false; uiNamespace setVariable ["ACE_player", _data]; // Raise ACE event locally - ["playerChanged", [ACE_player, _oldPlayer]] call CBA_fnc_localEvent; + ["ace_playerChanged", [ACE_player, _oldPlayer]] call CBA_fnc_localEvent; }; // "playerVehicleChanged" event @@ -358,7 +358,7 @@ GVAR(OldIsCamera) = false; if !(_data isEqualTo GVAR(OldPlayerVehicle)) then { // Raise ACE event locally GVAR(OldPlayerVehicle) = _data; - ["playerVehicleChanged", [ACE_player, _data]] call CBA_fnc_localEvent; + ["ace_playerVehicleChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; // "playerTurretChanged" event @@ -366,7 +366,7 @@ GVAR(OldIsCamera) = false; if !(_data isEqualTo GVAR(OldPlayerTurret)) then { // Raise ACE event locally GVAR(OldPlayerTurret) = _data; - ["playerTurretChanged", [ACE_player, _data]] call CBA_fnc_localEvent; + ["ace_playerTurretChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; // "playerWeaponChanged" event @@ -374,7 +374,7 @@ GVAR(OldIsCamera) = false; if (_data != GVAR(OldPlayerWeapon)) then { // Raise ACE event locally GVAR(OldPlayerWeapon) = _data; - ["playerWeaponChanged", [ACE_player, _data]] call CBA_fnc_localEvent; + ["ace_playerWeaponChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; // "playerInventoryChanged" event @@ -406,7 +406,7 @@ GVAR(OldIsCamera) = false; if !(_data isEqualTo GVAR(OldPlayerInventoryNoAmmo)) then { GVAR(OldPlayerInventoryNoAmmo) = _data; - ["playerInventoryChanged", [ACE_player, [ACE_player, false] call FUNC(getAllGear)]] call CBA_fnc_localEvent; + ["ace_playerInventoryChanged", [ACE_player, [ACE_player, false] call FUNC(getAllGear)]] call CBA_fnc_localEvent; }; }; @@ -415,7 +415,7 @@ GVAR(OldIsCamera) = false; if !(_data isEqualTo GVAR(OldPlayerVisionMode)) then { // Raise ACE event locally GVAR(OldPlayerVisionMode) = _data; - ["playerVisionModeChanged", [ACE_player, _data]] call CBA_fnc_localEvent; + ["ace_playerVisionModeChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; // "cameraViewChanged" event @@ -423,7 +423,7 @@ GVAR(OldIsCamera) = false; if !(_data isEqualTo GVAR(OldCameraView)) then { // Raise ACE event locally GVAR(OldCameraView) = _data; - ["cameraViewChanged", [ACE_player, _data]] call CBA_fnc_localEvent; + ["ace_cameraViewChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; // "visibleMapChanged" event @@ -431,7 +431,7 @@ GVAR(OldIsCamera) = false; if (!_data isEqualTo GVAR(OldVisibleMap)) then { // Raise ACE event locally GVAR(OldVisibleMap) = _data; - ["visibleMapChanged", [ACE_player, _data]] call CBA_fnc_localEvent; + ["ace_visibleMapChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; // "activeCameraChanged" event @@ -439,7 +439,7 @@ GVAR(OldIsCamera) = false; if !(_data isEqualTo GVAR(OldIsCamera)) then { // Raise ACE event locally GVAR(OldIsCamera) = _data; - ["activeCameraChanged", [ACE_player, _data]] call CBA_fnc_localEvent; + ["ace_activeCameraChanged", [ACE_player, _data]] call CBA_fnc_localEvent; }; END_COUNTER(stateChecker); @@ -450,8 +450,8 @@ GVAR(OldIsCamera) = false; // Eventhandlers for player controlled machines ////////////////////////////////////////////////// -["displayTextStructured", {_this call FUNC(displayTextStructured)}] call CBA_fnc_addEventHandler; -["displayTextPicture", {_this call FUNC(displayTextPicture)}] call CBA_fnc_addEventHandler; +["ace_displayTextStructured", {_this call FUNC(displayTextStructured)}] call CBA_fnc_addEventHandler; +["ace_displayTextPicture", {_this call FUNC(displayTextPicture)}] call CBA_fnc_addEventHandler; ["medical_onUnconscious", { params ["_unit", "_isUnconscious"]; @@ -461,7 +461,7 @@ GVAR(OldIsCamera) = false; }; }] call CBA_fnc_addEventHandler; -["useItem", DFUNC(useItem)] call CBA_fnc_addEventHandler; +["ace_useItem", DFUNC(useItem)] call CBA_fnc_addEventHandler; ////////////////////////////////////////////////// @@ -499,7 +499,7 @@ if (didJip) then { // We are jipping! Get ready and wait, and throw the event [{ if(!isNull player && GVAR(settingsInitFinished)) then { - ["PlayerJip", [player]] call CBA_fnc_localEvent; + ["ace_playerJip", [player]] call CBA_fnc_localEvent; [_this select 1] call CBA_fnc_removePerFrameHandler; }; }, 0, []] call CBA_fnc_addPerFrameHandler; diff --git a/addons/common/config.cpp b/addons/common/config.cpp index 83e2d8a2a1..3a9a962d9c 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -14,6 +14,81 @@ class CfgPatches { // This class will be deprecated in version 3.8.0 class ACE_newEvents { + forceWalk = "ace_forceWalk"; + PlayerJip = "ace_playerJip"; + useItem = "ace_useItem"; + displayTextPicture = "ace_displayTextPicture"; + displayTextStructured = "ace_displayTextStructured"; + activeCameraChanged = "ace_activeCameraChanged"; + visibleMapChanged = "ace_visibleMapChanged"; + cameraViewChanged = "ace_cameraViewChanged"; + playerVisionModeChanged = "ace_playerVisionModeChanged"; + playerInventoryChanged = "ace_playerInventoryChanged"; + playerWeaponChanged = "ace_playerWeaponChanged"; + playerTurretChanged = "ace_playerTurretChanged"; + playerVehicleChanged = "ace_playerVehicleChanged"; + playerChanged = "ace_playerChanged"; + SettingsInitialized = "ace_settingsInitialized"; + InitSettingsFromModules = "ace_initSettingsFromModules"; + SEH_s = "ace_sEH_s"; + SEH = "ace_sEH"; + SEH_all = "ace_sEH_all"; + SEH_all = "ace_sEH_all"; + enableSimulationGlobal = "ace_enableSimulationGlobal"; + hideObjectGlobal = "ace_hideObjectGlobal"; + setVanillaHitPointDamage = "ace_setVanillaHitPointDamage"; + setVectorDirAndUp = "ace_setVectorDirAndUp"; + switchMove = "ace_switchMove"; + playMoveNow = "ace_playMoveNow"; + playMove = "ace_playMove"; + setVelocity = "ace_setVelocity"; + selectLeader = "ace_selectLeader"; + setSpeaker = "ace_setSpeaker"; + engineOn = "ace_engineOn"; + setFuel = "ace_setFuel"; + setDir = "ace_setDir"; + unloadPersonEvent = "ace_unloadPersonEvent"; + loadPersonEvent = "ace_loadPersonEvent"; + fixPosition = "ace_fixPosition"; + fixFloating = "ace_fixFloating"; + fixCollision = "ace_fixCollision"; + setStatusEffect = "ace_setStatusEffect"; + SEH_s = "ace_sEH_s"; + SEH_s = "ace_sEH_s"; + setSpeaker = "ace_setSpeaker"; + displayTextStructured = "ace_displayTextStructured"; + unloadPersonEvent = "ace_unloadPersonEvent"; + hideObjectGlobal = "ace_hideObjectGlobal"; + SEH = "ace_sEH"; + SettingChanged = "ace_settingChanged"; + SettingChanged = "ace_settingChanged"; + SEH_s = "ace_sEH_s"; + setSpeaker = "ace_setSpeaker"; + setSpeaker = "ace_setSpeaker"; + setSpeaker = "ace_setSpeaker"; + loadPersonEvent = "ace_loadPersonEvent"; + hideObjectGlobal = "ace_hideObjectGlobal"; + HeadbugFixUsed = "ace_headbugFixUsed"; + HeadbugFixUsed = "ace_headbugFixUsed"; + blockDamage = "ace_blockDamage"; + blockDamage = "ace_blockDamage"; + firedNonPlayerVehicle = "ace_firedNonPlayerVehicle"; + firedPlayerVehicleNonLocal = "ace_firedPlayerVehicleNonLocal"; + firedPlayerVehicle = "ace_firedPlayerVehicle"; + firedNonPlayer = "ace_firedNonPlayer"; + firedPlayerNonLocal = "ace_firedPlayerNonLocal"; + firedPlayer = "ace_firedPlayer"; + switchMove = "ace_switchMove"; + playMoveNow = "ace_playMoveNow"; + playMoveNow = "ace_playMoveNow"; + playMoveNow = "ace_playMoveNow"; + playMoveNow = "ace_playMoveNow"; + playMove = "ace_playMove"; + playMove = "ace_playMove"; + unlockVehicle = "ace_unlockVehicle"; + lockVehicle = "ace_lockVehicle"; + playerInventoryChanged = "ace_playerInventoryChanged"; + SettingChanged = "ace_settingChanged"; playMoveNow = QGVAR(playMoveNow); }; diff --git a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf index ce57658e6f..1d4ac98f3c 100644 --- a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf +++ b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf @@ -18,7 +18,7 @@ params ["_client"]; private _eventEntry = HASH_GET(GVAR(syncedEvents),_x); _eventEntry params ["", "_eventLog"]; - ["SEH_s", [_x, _eventLog], _client] call CBA_fnc_targetEvent; + ["ace_sEH_s", [_x, _eventLog], _client] call CBA_fnc_targetEvent; false } count (GVAR(syncedEvents) select 0); diff --git a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf index 35aac9d52e..4dd2e6359e 100644 --- a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf +++ b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf @@ -30,7 +30,7 @@ if (isServer) then { private _eventEntry = HASH_GET(GVAR(syncedEvents),_eventName); _eventEntry params ["", "_eventLog"]; - ["SEH_s", [_eventName, _eventLog], _client] call CBA_fnc_targetEvent; + ["ace_sEH_s", [_eventName, _eventLog], _client] call CBA_fnc_targetEvent; } else { params ["_eventName", "_eventLog"]; diff --git a/addons/common/functions/fnc_addSetting.sqf b/addons/common/functions/fnc_addSetting.sqf index 85008e49f9..c4b97ddcce 100644 --- a/addons/common/functions/fnc_addSetting.sqf +++ b/addons/common/functions/fnc_addSetting.sqf @@ -37,4 +37,4 @@ missionNamespace setVariable [_name, _value]; GVAR(settings) pushBack _this; // Raise event locally -["SettingChanged", [_name, _value]] call CBA_fnc_localEvent; +["ace_settingChanged", [_name, _value]] call CBA_fnc_localEvent; diff --git a/addons/common/functions/fnc_assignedItemFix.sqf b/addons/common/functions/fnc_assignedItemFix.sqf index cfa73a8901..4604e1b987 100644 --- a/addons/common/functions/fnc_assignedItemFix.sqf +++ b/addons/common/functions/fnc_assignedItemFix.sqf @@ -28,7 +28,7 @@ GVAR(AssignedItemsShownItems) = [ ACE_isGPSEnabled ]; -["playerInventoryChanged", { +["ace_playerInventoryChanged", { params ["_unit"]; private _assignedItems = getUnitLoadout _unit param [9, ["","","","","",""]]; // ["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch","NVGoggles"] diff --git a/addons/common/functions/fnc_claim.sqf b/addons/common/functions/fnc_claim.sqf index 0b5761125f..2699e423bd 100644 --- a/addons/common/functions/fnc_claim.sqf +++ b/addons/common/functions/fnc_claim.sqf @@ -28,9 +28,9 @@ _target setVariable [QGVAR(owner), _unit, true]; // lock target object if (_lockTarget) then { if (!isNull _unit) then { - ["lockVehicle", _target, _target] call CBA_fnc_targetEvent; + ["ace_lockVehicle", _target, _target] call CBA_fnc_targetEvent; } else { - ["unlockVehicle", _target, _target] call CBA_fnc_targetEvent; + ["ace_unlockVehicle", _target, _target] call CBA_fnc_targetEvent; }; }; diff --git a/addons/common/functions/fnc_doAnimation.sqf b/addons/common/functions/fnc_doAnimation.sqf index b9cbf2f4b3..9460debb78 100644 --- a/addons/common/functions/fnc_doAnimation.sqf +++ b/addons/common/functions/fnc_doAnimation.sqf @@ -41,34 +41,34 @@ TRACE_2("",local _unit,vehicle _unit); switch (_priority) do { case 0: { if (_unit == vehicle _unit) then { - ["playMove", [_unit, _animation], _unit] call CBA_fnc_targetEvent; + ["ace_playMove", [_unit, _animation], _unit] call CBA_fnc_targetEvent; } else { // Execute on all machines. PlayMove and PlayMoveNow are bugged: They have no global effects when executed on remote machines inside vehicles. - ["playMove", [_unit, _animation]] call CBA_fnc_globalEvent; + ["ace_playMove", [_unit, _animation]] call CBA_fnc_globalEvent; }; }; case 1: { if (_unit == vehicle _unit) then { - ["playMoveNow", [_unit, _animation], _unit] call CBA_fnc_targetEvent; + ["ace_playMoveNow", [_unit, _animation], _unit] call CBA_fnc_targetEvent; } else { // Execute on all machines. PlayMove and PlayMoveNow are bugged: They have no global effects when executed on remote machines inside vehicles. - ["playMoveNow", [_unit, _animation]] call CBA_fnc_globalEvent; + ["ace_playMoveNow", [_unit, _animation]] call CBA_fnc_globalEvent; }; }; case 2: { // try playMoveNow first if (_unit == vehicle _unit) then { - ["playMoveNow", [_unit, _animation], _unit] call CBA_fnc_targetEvent; + ["ace_playMoveNow", [_unit, _animation], _unit] call CBA_fnc_targetEvent; } else { // Execute on all machines. PlayMove and PlayMoveNow are bugged: They have no global effects when executed on remote machines inside vehicles. - ["playMoveNow", [_unit, _animation]] call CBA_fnc_globalEvent; + ["ace_playMoveNow", [_unit, _animation]] call CBA_fnc_globalEvent; }; // if animation doesn't respond, do switchMove if (animationState _unit != _animation) then { TRACE_1("did not respond to playMoveNow",animationState _unit); // Execute on all machines. SwitchMove has local effects. - ["switchMove", [_unit, _animation]] call CBA_fnc_globalEvent; + ["ace_switchMove", [_unit, _animation]] call CBA_fnc_globalEvent; }; }; default {}; diff --git a/addons/common/functions/fnc_firedEH.sqf b/addons/common/functions/fnc_firedEH.sqf index ba2ca1923c..488766faff 100644 --- a/addons/common/functions/fnc_firedEH.sqf +++ b/addons/common/functions/fnc_firedEH.sqf @@ -26,12 +26,12 @@ TRACE_7("firedEH:",_unit, _weapon, _muzzle, _mode, _ammo, _magazine, _projectile if (_unit isKindOf "CAManBase") then { // The unit it on foot if (_unit == ACE_player) then { - ["firedPlayer", _this] call CBA_fnc_localEvent; + ["ace_firedPlayer", _this] call CBA_fnc_localEvent; } else { if ([_unit] call EFUNC(common,isPlayer)) then { - ["firedPlayerNonLocal", _this] call CBA_fnc_localEvent; + ["ace_firedPlayerNonLocal", _this] call CBA_fnc_localEvent; } else { - ["firedNonPlayer", _this] call CBA_fnc_localEvent; + ["ace_firedNonPlayer", _this] call CBA_fnc_localEvent; }; }; } else { @@ -55,12 +55,12 @@ if (_unit isKindOf "CAManBase") then { }; if (_gunner == ACE_player) then { - ["firedPlayerVehicle", _this] call CBA_fnc_localEvent; + ["ace_firedPlayerVehicle", _this] call CBA_fnc_localEvent; } else { if ([_gunner] call EFUNC(common,isPlayer)) then { - ["firedPlayerVehicleNonLocal", _this] call CBA_fnc_localEvent; + ["ace_firedPlayerVehicleNonLocal", _this] call CBA_fnc_localEvent; } else { - ["firedNonPlayerVehicle", _this] call CBA_fnc_localEvent; + ["ace_firedNonPlayerVehicle", _this] call CBA_fnc_localEvent; }; }; }; diff --git a/addons/common/functions/fnc_fixFloating.sqf b/addons/common/functions/fnc_fixFloating.sqf index dfd9e431cd..752b5108bb 100644 --- a/addons/common/functions/fnc_fixFloating.sqf +++ b/addons/common/functions/fnc_fixFloating.sqf @@ -21,7 +21,7 @@ if (!local _object) exitWith {}; if (_object isKindOf "CAManBase") exitWith {}; //We need to manually set allowDamage to true for setHitIndex to function -["blockDamage", [_object, 0]] call CBA_fnc_localEvent; +["ace_blockDamage", [_object, 0]] call CBA_fnc_localEvent; // save and restore hitpoints, see below why private _hitPointDamages = getAllHitPointsDamage _object; @@ -41,4 +41,4 @@ _object setDamage damage _object; //manually re-enable allowDamage to previous setting (ref statusEffect_funcs) private _effectVarName = format [QGVAR(effect_%1), "blockDamage"]; private _effectNumber = _object getVariable [_effectVarName, 0]; -["blockDamage", [_object, _effectNumber]] call CBA_fnc_localEvent; +["ace_blockDamage", [_object, _effectNumber]] call CBA_fnc_localEvent; diff --git a/addons/common/functions/fnc_headBugFix.sqf b/addons/common/functions/fnc_headBugFix.sqf index bb9e0c219f..b5a1fc0d39 100644 --- a/addons/common/functions/fnc_headBugFix.sqf +++ b/addons/common/functions/fnc_headBugFix.sqf @@ -17,8 +17,8 @@ private _unit = ACE_player; private _anim = animationState _unit; -["HeadbugFixUsed", [profileName, _anim]] call CBA_fnc_serverEvent; -["HeadbugFixUsed", [profileName, _anim]] call CBA_fnc_localEvent; +["ace_headbugFixUsed", [profileName, _anim]] call CBA_fnc_serverEvent; +["ace_headbugFixUsed", [profileName, _anim]] call CBA_fnc_localEvent; if (_unit != vehicle _unit || {!([_unit, objNull, ["isNotSitting"]] call FUNC(canInteractWith))}) exitWith {false}; diff --git a/addons/common/functions/fnc_hideUnit.sqf b/addons/common/functions/fnc_hideUnit.sqf index ef2bafb559..58b5dc2e2c 100644 --- a/addons/common/functions/fnc_hideUnit.sqf +++ b/addons/common/functions/fnc_hideUnit.sqf @@ -28,5 +28,5 @@ if !(_reason in _setHiddenReasons) then { }; if !(isObjectHidden _unit) then { - ["hideObjectGlobal", [_unit, true]] call CBA_fnc_serverEvent; + ["ace_hideObjectGlobal", [_unit, true]] call CBA_fnc_serverEvent; }; diff --git a/addons/common/functions/fnc_loadPerson.sqf b/addons/common/functions/fnc_loadPerson.sqf index 8e6b768f76..f8a4456b96 100644 --- a/addons/common/functions/fnc_loadPerson.sqf +++ b/addons/common/functions/fnc_loadPerson.sqf @@ -32,7 +32,7 @@ private _nearVehicles = nearestObjects [_unit, ["Car", "Air", "Tank", "Ship_F"], if (!isNull _vehicle) then { [_unit, true, GROUP_SWITCH_ID, side group _caller] call FUNC(switchToGroupSide); - ["loadPersonEvent", [_unit, _vehicle, _caller], _unit] call CBA_fnc_targetEvent; + ["ace_loadPersonEvent", [_unit, _vehicle, _caller], _unit] call CBA_fnc_targetEvent; }; _vehicle diff --git a/addons/common/functions/fnc_muteUnit.sqf b/addons/common/functions/fnc_muteUnit.sqf index d2448577e1..d34b605595 100644 --- a/addons/common/functions/fnc_muteUnit.sqf +++ b/addons/common/functions/fnc_muteUnit.sqf @@ -29,6 +29,6 @@ private _speaker = speaker _unit; if (_speaker == "ACE_NoVoice") exitWith {}; -["setSpeaker", [_unit, "ACE_NoVoice"]] call CBA_fnc_globalEvent; +["ace_setSpeaker", [_unit, "ACE_NoVoice"]] call CBA_fnc_globalEvent; _unit setVariable ["ACE_OriginalSpeaker", _speaker, true]; diff --git a/addons/common/functions/fnc_muteUnitHandleInitPost.sqf b/addons/common/functions/fnc_muteUnitHandleInitPost.sqf index 08be3a3e19..f71e3e8362 100644 --- a/addons/common/functions/fnc_muteUnitHandleInitPost.sqf +++ b/addons/common/functions/fnc_muteUnitHandleInitPost.sqf @@ -16,5 +16,5 @@ params ["_unit"]; // setSpeaker gets overwritten after init on remote units; if unit is muted, setSpeaker again if (count (_unit getVariable [QGVAR(muteUnitReasons), []]) > 0) then { - ["setSpeaker", [_unit, "ACE_NoVoice"]] call CBA_fnc_localEvent; + ["ace_setSpeaker", [_unit, "ACE_NoVoice"]] call CBA_fnc_localEvent; }; diff --git a/addons/common/functions/fnc_muteUnitHandleRespawn.sqf b/addons/common/functions/fnc_muteUnitHandleRespawn.sqf index 47a55aa615..cfb64e8c69 100644 --- a/addons/common/functions/fnc_muteUnitHandleRespawn.sqf +++ b/addons/common/functions/fnc_muteUnitHandleRespawn.sqf @@ -18,4 +18,4 @@ params ["_unit"]; _unit setVariable [QGVAR(muteUnitReasons), _unit getVariable [QGVAR(muteUnitReasons), []], true]; // fix mp issues with respawning and the speaker -["setSpeaker", [_unit, speaker _unit]] call CBA_fnc_globalEvent; +["ace_setSpeaker", [_unit, speaker _unit]] call CBA_fnc_globalEvent; diff --git a/addons/common/functions/fnc_requestSyncedEvent.sqf b/addons/common/functions/fnc_requestSyncedEvent.sqf index b89256246a..da01201395 100644 --- a/addons/common/functions/fnc_requestSyncedEvent.sqf +++ b/addons/common/functions/fnc_requestSyncedEvent.sqf @@ -17,4 +17,4 @@ params ["_eventName"]; // Only JIP machines on initialization send this off, requesting sync on events with the serverCommand if (isServer) exitWith {false}; -["SEH_s", [_eventName, ACE_player] ] call CBA_fnc_serverEvent; +["ace_sEH_s", [_eventName, ACE_player]] call CBA_fnc_serverEvent; diff --git a/addons/common/functions/fnc_setSetting.sqf b/addons/common/functions/fnc_setSetting.sqf index b5b7f3a6ec..5a56b385a7 100644 --- a/addons/common/functions/fnc_setSetting.sqf +++ b/addons/common/functions/fnc_setSetting.sqf @@ -78,8 +78,8 @@ if (isServer && {_broadcastChanges}) then { publicVariable _name; // Raise event globally, this publicizes eventual changes in _force status so clients can update it locally - ["SettingChanged", [_name, _value, _force]] call CBA_fnc_globalEvent; + ["ace_settingChanged", [_name, _value, _force]] call CBA_fnc_globalEvent; } else { // Raise event locally - ["SettingChanged", [_name, _value, _force]] call CBA_fnc_localEvent; + ["ace_settingChanged", [_name, _value, _force]] call CBA_fnc_localEvent; }; diff --git a/addons/common/functions/fnc_syncedEvent.sqf b/addons/common/functions/fnc_syncedEvent.sqf index 3964d23afc..996ff0f4c8 100644 --- a/addons/common/functions/fnc_syncedEvent.sqf +++ b/addons/common/functions/fnc_syncedEvent.sqf @@ -23,4 +23,4 @@ if (!HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith { private _eventData = [_name, _args, _ttl]; -["SEH", _eventData] call CBA_fnc_globalEvent; +["ace_sEH", _eventData] call CBA_fnc_globalEvent; diff --git a/addons/common/functions/fnc_unhideUnit.sqf b/addons/common/functions/fnc_unhideUnit.sqf index 2d1889065d..f2e8608ec5 100644 --- a/addons/common/functions/fnc_unhideUnit.sqf +++ b/addons/common/functions/fnc_unhideUnit.sqf @@ -28,5 +28,5 @@ if (_reason in _setHiddenReasons) then { }; if (_setHiddenReasons isEqualTo []) then { - ["hideObjectGlobal",[_unit,false]] call CBA_fnc_serverEvent; + ["ace_hideObjectGlobal", [_unit,false]] call CBA_fnc_serverEvent; }; diff --git a/addons/common/functions/fnc_unloadPerson.sqf b/addons/common/functions/fnc_unloadPerson.sqf index 2096b18836..c88e8d23a6 100644 --- a/addons/common/functions/fnc_unloadPerson.sqf +++ b/addons/common/functions/fnc_unloadPerson.sqf @@ -26,7 +26,7 @@ if (_vehicle == _unit) exitWith {false}; if (speed _vehicle > 1 || {((getPos _vehicle) select 2) > 2}) exitWith {false}; if (!isNull _vehicle) then { - ["unloadPersonEvent", [_unit, _vehicle], [_unit]] call CBA_fnc_targetEvent; + ["ace_unloadPersonEvent", [_unit, _vehicle], [_unit]] call CBA_fnc_targetEvent; }; true diff --git a/addons/common/functions/fnc_unloadPersonLocal.sqf b/addons/common/functions/fnc_unloadPersonLocal.sqf index adbbe0d9a9..b734109a16 100644 --- a/addons/common/functions/fnc_unloadPersonLocal.sqf +++ b/addons/common/functions/fnc_unloadPersonLocal.sqf @@ -27,7 +27,7 @@ if (count _emptyPos != 3) exitwith { ACE_LOGWARNING_4("Could not find unload pos %1-ASL: %2 isTouchingGround: %3 Speed: %4",_vehicle, getPosASL _vehicle, isTouchingGround _vehicle, speed _vehicle); if ((!isNull _unloader) && {[_unloader] call FUNC(isPlayer)}) then { //display text saying there are no safe places to exit the vehicle - ["displayTextStructured", [localize LSTRING(NoRoomToUnload)], [_unloader]] call CBA_fnc_targetEvent; + ["ace_displayTextStructured", [localize LSTRING(NoRoomToUnload)], [_unloader]] call CBA_fnc_targetEvent; }; false }; diff --git a/addons/common/functions/fnc_unmuteUnit.sqf b/addons/common/functions/fnc_unmuteUnit.sqf index c8e450016d..0474975a16 100644 --- a/addons/common/functions/fnc_unmuteUnit.sqf +++ b/addons/common/functions/fnc_unmuteUnit.sqf @@ -32,4 +32,4 @@ private _speaker = _unit getVariable ["ACE_OriginalSpeaker", ""]; if (_speaker == "") exitWith {}; -["setSpeaker", [_unit, _speaker], _unit] call CBA_fnc_targetEvent; +["ace_setSpeaker", [_unit, _speaker], _unit] call CBA_fnc_targetEvent; diff --git a/addons/concertina_wire/XEH_postInit.sqf b/addons/concertina_wire/XEH_postInit.sqf index 361b561f0b..7cb8909c81 100644 --- a/addons/concertina_wire/XEH_postInit.sqf +++ b/addons/concertina_wire/XEH_postInit.sqf @@ -4,7 +4,7 @@ GVAR(placer) = objNull; GVAR(deployPFH) = -1; // Deploy concertina wire if interact menu is opened -["interactMenuOpened", { +["ace_interactMenuOpened", { if (GVAR(deployPFH) != -1) then { GVAR(placer) setVariable [QGVAR(wireDeployed), true]; }; diff --git a/addons/concertina_wire/config.cpp b/addons/concertina_wire/config.cpp index 06b7bf5d86..6404b1018e 100644 --- a/addons/concertina_wire/config.cpp +++ b/addons/concertina_wire/config.cpp @@ -12,4 +12,7 @@ class CfgPatches { }; #include "CfgEventHandlers.hpp" -#include "CfgVehicles.hpp" \ No newline at end of file +#include "CfgVehicles.hpp" +class ACE_newEvents { + interactMenuOpened = "ace_interactMenuOpened"; +}; \ No newline at end of file diff --git a/addons/dagr/XEH_postInit.sqf b/addons/dagr/XEH_postInit.sqf index bcfc91061a..84e45a8f85 100644 --- a/addons/dagr/XEH_postInit.sqf +++ b/addons/dagr/XEH_postInit.sqf @@ -30,4 +30,4 @@ GVAR(vectorConnected) = false; GVAR(noVectorData) = true; GVAR(vectorGrid) = "00000000"; -["RangerfinderData", FUNC(handleRangeFinderData)] call CBA_fnc_addEventHandler; +["ace_rangerfinderData", FUNC(handleRangeFinderData)] call CBA_fnc_addEventHandler; diff --git a/addons/dagr/config.cpp b/addons/dagr/config.cpp index 9f46660aaa..fc63e4a0ec 100644 --- a/addons/dagr/config.cpp +++ b/addons/dagr/config.cpp @@ -16,3 +16,7 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "Dialog.hpp" #include "RscTitles.hpp" + +class ACE_newEvents { + RangerfinderData = "ace_rangerfinderData"; +}; \ No newline at end of file diff --git a/addons/disarming/XEH_postInit.sqf b/addons/disarming/XEH_postInit.sqf index 82a77e182c..92a2c10148 100644 --- a/addons/disarming/XEH_postInit.sqf +++ b/addons/disarming/XEH_postInit.sqf @@ -1,4 +1,4 @@ #include "script_component.hpp" -["DisarmDropItems", FUNC(eventTargetStart)] call CBA_fnc_addEventHandler; -["DisarmDebugCallback", FUNC(eventCallerFinish)] call CBA_fnc_addEventHandler; +["ace_disarmDropItems", FUNC(eventTargetStart)] call CBA_fnc_addEventHandler; +["ace_disarmDebugCallback", FUNC(eventCallerFinish)] call CBA_fnc_addEventHandler; diff --git a/addons/disarming/config.cpp b/addons/disarming/config.cpp index 00f8204b09..d8358a2bd3 100644 --- a/addons/disarming/config.cpp +++ b/addons/disarming/config.cpp @@ -17,3 +17,10 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "gui_disarm.hpp" + +class ACE_newEvents { + DisarmDebugCallback = "ace_disarmDebugCallback"; + DisarmDropItems = "ace_disarmDropItems"; + DisarmDropItems = "ace_disarmDropItems"; + DisarmDebugCallback = "ace_disarmDebugCallback"; +}; \ No newline at end of file diff --git a/addons/disarming/functions/fnc_eventTargetFinish.sqf b/addons/disarming/functions/fnc_eventTargetFinish.sqf index e6c6782d85..1bd1ffa342 100644 --- a/addons/disarming/functions/fnc_eventTargetFinish.sqf +++ b/addons/disarming/functions/fnc_eventTargetFinish.sqf @@ -23,5 +23,5 @@ params ["_caller", "_target", "_errorMsg"]; if (_errorMsg != "") then { ACE_LOGINFO_2("%1 - eventTargetFinish: %2",ACE_time,_this); - ["DisarmDebugCallback", [_caller, _target, _errorMsg], [_caller]] call CBA_fnc_targetEvent; + ["ace_disarmDebugCallback", [_caller, _target, _errorMsg], [_caller]] call CBA_fnc_targetEvent; }; diff --git a/addons/disarming/functions/fnc_openDisarmDialog.sqf b/addons/disarming/functions/fnc_openDisarmDialog.sqf index fc66170d01..ea0de8942a 100644 --- a/addons/disarming/functions/fnc_openDisarmDialog.sqf +++ b/addons/disarming/functions/fnc_openDisarmDialog.sqf @@ -42,7 +42,7 @@ GVAR(disarmTarget) = _target; if (isNull GVAR(disarmTarget)) exitWith {ERROR("disarmTarget is null");}; TRACE_2("Debug: Droping %1 from %2",_data,GVAR(disarmTarget)); - ["DisarmDropItems", [ACE_player, GVAR(disarmTarget), [_data]], [GVAR(disarmTarget)]] call CBA_fnc_targetEvent; + ["ace_disarmDropItems", [ACE_player, GVAR(disarmTarget), [_data]], [GVAR(disarmTarget)]] call CBA_fnc_targetEvent; false //not sure what this does }]; diff --git a/addons/disposable/XEH_postInit.sqf b/addons/disposable/XEH_postInit.sqf index 520ff67691..9c54456620 100644 --- a/addons/disposable/XEH_postInit.sqf +++ b/addons/disposable/XEH_postInit.sqf @@ -3,7 +3,7 @@ if (!hasInterface) exitWith {}; -["playerInventoryChanged", { +["ace_playerInventoryChanged", { params ["_unit"]; [_unit] call FUNC(takeLoadedATWeapon); [_unit] call FUNC(updateInventoryDisplay); @@ -11,5 +11,5 @@ if (!hasInterface) exitWith {}; // Register fire event handler // Only for the local player and for AI. Non-local players will handle it themselves -["firedPlayer", DFUNC(replaceATWeapon)] call CBA_fnc_addEventHandler; -["firedNonPlayer", DFUNC(replaceATWeapon)] call CBA_fnc_addEventHandler; +["ace_firedPlayer", DFUNC(replaceATWeapon)] call CBA_fnc_addEventHandler; +["ace_firedNonPlayer", DFUNC(replaceATWeapon)] call CBA_fnc_addEventHandler; diff --git a/addons/disposable/config.cpp b/addons/disposable/config.cpp index 0f256824d7..63f0dc0a03 100644 --- a/addons/disposable/config.cpp +++ b/addons/disposable/config.cpp @@ -16,3 +16,9 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "CfgMagazines.hpp" #include "CfgVehicles.hpp" + +class ACE_newEvents { + playerInventoryChanged = "ace_playerInventoryChanged"; + firedNonPlayer = "ace_firedNonPlayer"; + firedPlayer = "ace_firedPlayer"; +}; \ No newline at end of file diff --git a/addons/dragging/XEH_postInit.sqf b/addons/dragging/XEH_postInit.sqf index 101463eb28..d6157edd35 100644 --- a/addons/dragging/XEH_postInit.sqf +++ b/addons/dragging/XEH_postInit.sqf @@ -20,11 +20,11 @@ if (isNil "ACE_maxWeightCarry") then { ["isNotCarrying", {!((_this select 0) getVariable [QGVAR(isCarrying), false])}] call EFUNC(common,addCanInteractWithCondition); // release object on player change. This does work when returning to lobby, but not when hard disconnecting. -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; -["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; -["playerWeaponChanged", {_this call FUNC(handlePlayerWeaponChanged)}] call CBA_fnc_addEventHandler; +["ace_playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["ace_playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["ace_playerWeaponChanged", {_this call FUNC(handlePlayerWeaponChanged)}] call CBA_fnc_addEventHandler; // handle waking up dragged unit and falling unconscious while dragging -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; //@todo Captivity? diff --git a/addons/dragging/config.cpp b/addons/dragging/config.cpp index 0c9cfb3c43..59bec425d8 100644 --- a/addons/dragging/config.cpp +++ b/addons/dragging/config.cpp @@ -15,3 +15,21 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "CfgMovesBasic.hpp" + +class ACE_newEvents { + medical_onUnconscious = "ace_medical_onUnconscious"; + playerWeaponChanged = "ace_playerWeaponChanged"; + playerVehicleChanged = "ace_playerVehicleChanged"; + playerChanged = "ace_playerChanged"; + setDir = "ace_setDir"; + fixFloating = "ace_fixFloating"; + fixPosition = "ace_fixPosition"; + fixCollision = "ace_fixCollision"; + fixCollision = "ace_fixCollision"; + fixFloating = "ace_fixFloating"; + fixPosition = "ace_fixPosition"; + fixCollision = "ace_fixCollision"; + fixCollision = "ace_fixCollision"; + setDir = "ace_setDir"; + setDir = "ace_setDir"; +}; \ No newline at end of file diff --git a/addons/dragging/functions/fnc_carryObject.sqf b/addons/dragging/functions/fnc_carryObject.sqf index 69aa930884..e4cb1f58c8 100644 --- a/addons/dragging/functions/fnc_carryObject.sqf +++ b/addons/dragging/functions/fnc_carryObject.sqf @@ -44,7 +44,7 @@ if (_target isKindOf "CAManBase") then { _target attachTo [_unit, _position]; }; -["setDir", [_target, _direction], _target] call CBA_fnc_targetEvent; +["ace_setDir", [_target, _direction], _target] call CBA_fnc_targetEvent; _unit setVariable [QGVAR(isCarrying), true, true]; _unit setVariable [QGVAR(carriedObject), _target, true]; diff --git a/addons/dragging/functions/fnc_dragObject.sqf b/addons/dragging/functions/fnc_dragObject.sqf index df17976973..b97a6a2a01 100644 --- a/addons/dragging/functions/fnc_dragObject.sqf +++ b/addons/dragging/functions/fnc_dragObject.sqf @@ -33,7 +33,7 @@ _position = _position vectorAdd [0, 0, _offset]; // attach object TRACE_3("attaching",_position,_offset,_direction); _target attachTo [_unit, _position]; -["setDir", [_target, _direction], _target] call CBA_fnc_targetEvent; +["ace_setDir", [_target, _direction], _target] call CBA_fnc_targetEvent; if (_target isKindOf "CAManBase") then { [_target, "AinjPpneMrunSnonWnonDb_still", 0, true] call EFUNC(common,doAnimation); diff --git a/addons/dragging/functions/fnc_dropObject.sqf b/addons/dragging/functions/fnc_dropObject.sqf index 6cd2869a4b..e32734ebb4 100644 --- a/addons/dragging/functions/fnc_dropObject.sqf +++ b/addons/dragging/functions/fnc_dropObject.sqf @@ -30,8 +30,8 @@ if !(_unit getVariable ["ACE_isUnconscious", false]) then { }; // prevent collision damage -["fixCollision", _unit] call CBA_fnc_localEvent; -["fixCollision", _target, _target] call CBA_fnc_targetEvent; +["ace_fixCollision", _unit] call CBA_fnc_localEvent; +["ace_fixCollision", _target, _target] call CBA_fnc_targetEvent; // release object detach _target; @@ -62,8 +62,8 @@ _unit setVariable [QGVAR(draggedObject), objNull, true]; [objNull, _target, true] call EFUNC(common,claim); if !(_target isKindOf "CAManBase") then { - ["fixPosition", _target, _target] call CBA_fnc_targetEvent; - ["fixFloating", _target, _target] call CBA_fnc_targetEvent; + ["ace_fixPosition", _target, _target] call CBA_fnc_targetEvent; + ["ace_fixFloating", _target, _target] call CBA_fnc_targetEvent; }; if (_unit getVariable ["ACE_isUnconscious", false]) then { diff --git a/addons/dragging/functions/fnc_dropObject_carry.sqf b/addons/dragging/functions/fnc_dropObject_carry.sqf index 1e25403c1d..49cf4dbcad 100644 --- a/addons/dragging/functions/fnc_dropObject_carry.sqf +++ b/addons/dragging/functions/fnc_dropObject_carry.sqf @@ -25,8 +25,8 @@ TRACE_2("params",_unit,_target); private _inBuilding = [_unit] call FUNC(isObjectOnObject); // prevent collision damage -["fixCollision", _unit] call CBA_fnc_localEvent; -["fixCollision", _target, _target] call CBA_fnc_targetEvent; +["ace_fixCollision", _unit] call CBA_fnc_localEvent; +["ace_fixCollision", _target, _target] call CBA_fnc_targetEvent; // release object detach _target; @@ -67,8 +67,8 @@ _unit setVariable [QGVAR(carriedObject), objNull, true]; [objNull, _target, true] call EFUNC(common,claim); if !(_target isKindOf "CAManBase") then { - ["fixPosition", _target, _target] call CBA_fnc_targetEvent; - ["fixFloating", _target, _target] call CBA_fnc_targetEvent; + ["ace_fixPosition", _target, _target] call CBA_fnc_targetEvent; + ["ace_fixFloating", _target, _target] call CBA_fnc_targetEvent; }; // recreate UAV crew diff --git a/addons/dragging/functions/fnc_handleScrollWheel.sqf b/addons/dragging/functions/fnc_handleScrollWheel.sqf index 0413e51efe..505ad441bf 100644 --- a/addons/dragging/functions/fnc_handleScrollWheel.sqf +++ b/addons/dragging/functions/fnc_handleScrollWheel.sqf @@ -42,6 +42,6 @@ _carriedItem attachTo [_unit]; //reset the carry direction private _direction = _carriedItem getVariable [QGVAR(carryDirection), 0]; -["setDir", [_carriedItem, _direction], _carriedItem] call CBA_fnc_targetEvent; +["ace_setDir", [_carriedItem, _direction], _carriedItem] call CBA_fnc_targetEvent; true diff --git a/addons/explosives/XEH_postInit.sqf b/addons/explosives/XEH_postInit.sqf index 9b21dedc73..8b08ffd804 100644 --- a/addons/explosives/XEH_postInit.sqf +++ b/addons/explosives/XEH_postInit.sqf @@ -21,7 +21,7 @@ //When getting knocked out in medical, trigger deadman explosives: //Event is global, only run on server (ref: ace_medical_fnc_setUnconscious) if (isServer) then { - ["medical_onUnconscious", { + ["ace_medical_onUnconscious", { params ["_unit", "_isUnconscious"]; if (!_isUnconscious) exitWith {}; TRACE_1("Knocked Out, Doing Deadman", _unit); @@ -37,7 +37,7 @@ if (isServer) then { (!isNull _explosive && {alive _explosive}) }; TRACE_1("serverSendsOrientations sent:",GVAR(explosivesOrientations)); - ["serverSendsOrientations", [GVAR(explosivesOrientations)], _logic] call CBA_fnc_targetEvent; + ["ace_serverSendsOrientations", [GVAR(explosivesOrientations)], _logic] call CBA_fnc_targetEvent; }] call CBA_fnc_addEventHandler; }; @@ -66,7 +66,7 @@ if (didJIP) then { // Create a logic to get the client ID GVAR(localLogic) = ([sideLogic] call CBA_fnc_getSharedGroup) createUnit ["Logic", [0,0,0], [], 0, "NONE"]; TRACE_1("clientRequestsOrientations sent:",GVAR(localLogic)); - ["clientRequestsOrientations", [GVAR(localLogic)]] call CBA_fnc_serverEvent; + ["ace_clientRequestsOrientations", [GVAR(localLogic)]] call CBA_fnc_serverEvent; }; ["interactMenuOpened", { diff --git a/addons/explosives/config.cpp b/addons/explosives/config.cpp index 3fc047fa6a..8b5b91007b 100644 --- a/addons/explosives/config.cpp +++ b/addons/explosives/config.cpp @@ -42,3 +42,9 @@ class CfgMineTriggers { mineTriggerRange = 1; }; }; + +class ACE_newEvents { + medical_onUnconscious = "ace_medical_onUnconscious"; + clientRequestsOrientations = "ace_clientRequestsOrientations"; + serverSendsOrientations = "ace_serverSendsOrientations"; +}; \ No newline at end of file diff --git a/addons/fcs/XEH_postInit.sqf b/addons/fcs/XEH_postInit.sqf index 5fd2af9ccf..02c9e72ae5 100644 --- a/addons/fcs/XEH_postInit.sqf +++ b/addons/fcs/XEH_postInit.sqf @@ -8,7 +8,7 @@ if (!hasInterface) exitWith {}; #include "initKeybinds.sqf" -["infoDisplayChanged", { +["ace_infoDisplayChanged", { if (!isNull ((_this select 0) displayCtrl 1713151)) then { uiNamespace setVariable ["ACE_dlgRangefinder", _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0,0,0,0]; @@ -16,8 +16,8 @@ if (!hasInterface) exitWith {}; }] call CBA_fnc_addEventHandler; // Register fire event handler -["firedPlayerVehicle", DFUNC(firedEH)] call CBA_fnc_addEventHandler; -["firedPlayerVehicleNonLocal", DFUNC(firedEH)] call CBA_fnc_addEventHandler; +["ace_firedPlayerVehicle", DFUNC(firedEH)] call CBA_fnc_addEventHandler; +["ace_firedPlayerVehicleNonLocal", DFUNC(firedEH)] call CBA_fnc_addEventHandler; // Register event for global updates [QGVAR(forceUpdate), {[ACE_player] call FUNC(onForceUpdate)}] call CBA_fnc_addEventHandler; diff --git a/addons/fcs/config.cpp b/addons/fcs/config.cpp index 12edf02ba3..21045dd625 100644 --- a/addons/fcs/config.cpp +++ b/addons/fcs/config.cpp @@ -24,3 +24,9 @@ class CfgPatches { class ACE_Extensions { extensions[] += {"ace_fcs"}; }; + +class ACE_newEvents { + infoDisplayChanged = "ace_infoDisplayChanged"; + firedPlayerVehicleNonLocal = "ace_firedPlayerVehicleNonLocal"; + firedPlayerVehicle = "ace_firedPlayerVehicle"; +}; \ No newline at end of file diff --git a/addons/finger/XEH_postInit.sqf b/addons/finger/XEH_postInit.sqf index e36872dc8d..2b3da6eb64 100644 --- a/addons/finger/XEH_postInit.sqf +++ b/addons/finger/XEH_postInit.sqf @@ -6,7 +6,7 @@ GVAR(lastFPTime) = -1; GVAR(fingersHash) = HASH_CREATE; GVAR(pfeh_id) = -1; -["SettingsInitialized", { +["ace_settingsInitialized", { //If not enabled, dont't bother adding keybind or eventhandler if (!GVAR(enabled)) exitWith {}; diff --git a/addons/finger/config.cpp b/addons/finger/config.cpp index 2cc3be5ddd..86623c3860 100644 --- a/addons/finger/config.cpp +++ b/addons/finger/config.cpp @@ -16,3 +16,7 @@ class CfgPatches { #include "ACE_Settings.hpp" #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; +}; \ No newline at end of file diff --git a/addons/frag/XEH_postInit.sqf b/addons/frag/XEH_postInit.sqf index 6dc34340b9..7c09e14764 100644 --- a/addons/frag/XEH_postInit.sqf +++ b/addons/frag/XEH_postInit.sqf @@ -9,17 +9,17 @@ if(isServer) then { [QGVAR(frag_eh), { _this call FUNC(frago); }] call CBA_fnc_addEventHandler; }; -["SettingsInitialized", { +["ace_settingsInitialized", { //If not enabled, exit if (!GVAR(enabled)) exitWith {}; // Register fire event handler - ["firedPlayer", DFUNC(fired)] call CBA_fnc_addEventHandler; - ["firedPlayerNonLocal", DFUNC(fired)] call CBA_fnc_addEventHandler; - ["firedNonPlayer", DFUNC(fired)] call CBA_fnc_addEventHandler; - ["firedPlayerVehicle", DFUNC(fired)] call CBA_fnc_addEventHandler; - ["firedPlayerVehicleNonLocal", DFUNC(fired)] call CBA_fnc_addEventHandler; - ["firedNonPlayerVehicle", DFUNC(fired)] call CBA_fnc_addEventHandler; + ["ace_firedPlayer", DFUNC(fired)] call CBA_fnc_addEventHandler; + ["ace_firedPlayerNonLocal", DFUNC(fired)] call CBA_fnc_addEventHandler; + ["ace_firedNonPlayer", DFUNC(fired)] call CBA_fnc_addEventHandler; + ["ace_firedPlayerVehicle", DFUNC(fired)] call CBA_fnc_addEventHandler; + ["ace_firedPlayerVehicleNonLocal", DFUNC(fired)] call CBA_fnc_addEventHandler; + ["ace_firedNonPlayerVehicle", DFUNC(fired)] call CBA_fnc_addEventHandler; [FUNC(masterPFH), 0, []] call CBA_fnc_addPerFrameHandler; diff --git a/addons/frag/config.cpp b/addons/frag/config.cpp index 16af88bfc4..2f650a7b6a 100644 --- a/addons/frag/config.cpp +++ b/addons/frag/config.cpp @@ -12,4 +12,13 @@ class CfgPatches { #include "CfgEventhandlers.hpp" #include "CfgAmmo.hpp" -#include "ACE_Settings.hpp" \ No newline at end of file +#include "ACE_Settings.hpp" +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; + firedNonPlayerVehicle = "ace_firedNonPlayerVehicle"; + firedPlayerVehicleNonLocal = "ace_firedPlayerVehicleNonLocal"; + firedPlayerVehicle = "ace_firedPlayerVehicle"; + firedNonPlayer = "ace_firedNonPlayer"; + firedPlayerNonLocal = "ace_firedPlayerNonLocal"; + firedPlayer = "ace_firedPlayer"; +}; \ No newline at end of file diff --git a/addons/gforces/XEH_postInit.sqf b/addons/gforces/XEH_postInit.sqf index ce6f3ce1f2..795b473164 100644 --- a/addons/gforces/XEH_postInit.sqf +++ b/addons/gforces/XEH_postInit.sqf @@ -4,7 +4,7 @@ if (!hasInterface) exitWith {}; GVAR(pfID) = -1; -["SettingsInitialized", { +["ace_settingsInitialized", { TRACE_1("SettingsInitialized eh",GVAR(enabledFor)); if (GVAR(enabledFor) == 0) exitWith {}; //Module has no effect if enabledFor is "None" diff --git a/addons/gforces/config.cpp b/addons/gforces/config.cpp index 6c40f4ce1c..d0d7965ffa 100644 --- a/addons/gforces/config.cpp +++ b/addons/gforces/config.cpp @@ -17,3 +17,7 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "CfgVehicles.hpp" + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; +}; \ No newline at end of file diff --git a/addons/goggles/XEH_postInit.sqf b/addons/goggles/XEH_postInit.sqf index e27f302433..25ee3ba5af 100644 --- a/addons/goggles/XEH_postInit.sqf +++ b/addons/goggles/XEH_postInit.sqf @@ -44,13 +44,13 @@ GVAR(surfaceCacheIsDust) = false; // init GlassesChanged eventhandler GVAR(OldGlasses) = ""; -["playerInventoryChanged", { +["ace_playerInventoryChanged", { params ["_unit"]; private _currentGlasses = goggles _unit; if (GVAR(OldGlasses) != _currentGlasses) then { - ["GlassesChanged", [_unit, _currentGlasses]] call CBA_fnc_localEvent; + ["ace_glassesChanged", [_unit, _currentGlasses]] call CBA_fnc_localEvent; GVAR(OldGlasses) = _currentGlasses; }; }] call CBA_fnc_addEventHandler; @@ -111,8 +111,8 @@ private _fnc_checkGoggles = { }; }; -["cameraViewChanged", _fnc_checkGoggles] call CBA_fnc_addEventHandler; -["activeCameraChanged", _fnc_checkGoggles] call CBA_fnc_addEventHandler; +["ace_cameraViewChanged", _fnc_checkGoggles] call CBA_fnc_addEventHandler; +["ace_activeCameraChanged", _fnc_checkGoggles] call CBA_fnc_addEventHandler; // goggles effects main PFH [{ @@ -135,4 +135,4 @@ private _fnc_checkGoggles = { }, 0.5, []] call CBA_fnc_addPerFrameHandler; // Register fire event handler -["firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; +["ace_firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; diff --git a/addons/goggles/config.cpp b/addons/goggles/config.cpp index 0812200a87..7f7d932cb1 100644 --- a/addons/goggles/config.cpp +++ b/addons/goggles/config.cpp @@ -268,3 +268,13 @@ class CfgCloudlets { destroyOnWaterSurface = 1; }; }; + +class ACE_newEvents { + playerInventoryChanged = "ace_playerInventoryChanged"; + firedPlayer = "ace_firedPlayer"; + activeCameraChanged = "ace_activeCameraChanged"; + cameraViewChanged = "ace_cameraViewChanged"; + GlassesChanged = "ace_glassesChanged"; + GlassesCracked = "ace_glassesCracked"; + GlassesCracked = "ace_glassesCracked"; +}; \ No newline at end of file diff --git a/addons/goggles/functions/fnc_handleExplosion.sqf b/addons/goggles/functions/fnc_handleExplosion.sqf index 0da7e06a8c..44be6ab6c1 100644 --- a/addons/goggles/functions/fnc_handleExplosion.sqf +++ b/addons/goggles/functions/fnc_handleExplosion.sqf @@ -27,7 +27,7 @@ _config = configFile >> "CfgGlasses" >> goggles _unit; if ((_this select 1) call FUNC(GetExplosionIndex) < getNumber (_config >> "ACE_Resistance")) exitWith {true}; if !([_unit] call FUNC(isGogglesVisible)) exitWith { - ["GlassesCracked", [_unit]] call CBA_fnc_localEvent; + ["ace_glassesCracked", [_unit]] call CBA_fnc_localEvent; true }; @@ -46,5 +46,5 @@ if (getText (_config >> "ACE_OverlayCracked") != "") then { (GLASSDISPLAY displayCtrl 10650) ctrlSetText getText (_config >> "ACE_OverlayCracked"); }; -["GlassesCracked", [_unit]] call CBA_fnc_localEvent; +["ace_glassesCracked", [_unit]] call CBA_fnc_localEvent; true diff --git a/addons/grenades/XEH_postInit.sqf b/addons/grenades/XEH_postInit.sqf index df67033853..2d05c622c9 100644 --- a/addons/grenades/XEH_postInit.sqf +++ b/addons/grenades/XEH_postInit.sqf @@ -2,7 +2,7 @@ #include "script_component.hpp" -["flashbangExplosion", {_this call FUNC(flashbangExplosionEH)}] call CBA_fnc_addEventHandler; +["ace_flashbangExplosion", {_this call FUNC(flashbangExplosionEH)}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; @@ -25,6 +25,6 @@ GVAR(flashbangPPEffectCC) ppEffectForceInNVG true; // Register fire event handler -["firedPlayer", DFUNC(throwGrenade)] call CBA_fnc_addEventHandler; -["firedPlayerNonLocal", DFUNC(throwGrenade)] call CBA_fnc_addEventHandler; -["firedNonPlayer", DFUNC(throwGrenade)] call CBA_fnc_addEventHandler; +["ace_firedPlayer", DFUNC(throwGrenade)] call CBA_fnc_addEventHandler; +["ace_firedPlayerNonLocal", DFUNC(throwGrenade)] call CBA_fnc_addEventHandler; +["ace_firedNonPlayer", DFUNC(throwGrenade)] call CBA_fnc_addEventHandler; diff --git a/addons/grenades/config.cpp b/addons/grenades/config.cpp index 2f9e631fe1..27c729f06d 100644 --- a/addons/grenades/config.cpp +++ b/addons/grenades/config.cpp @@ -19,3 +19,11 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "Effects.hpp" + +class ACE_newEvents { + firedNonPlayer = "ace_firedNonPlayer"; + firedPlayerNonLocal = "ace_firedPlayerNonLocal"; + firedPlayer = "ace_firedPlayer"; + flashbangExplosion = "ace_flashbangExplosion"; + flashbangExplosion = "ace_flashbangExplosion"; +}; \ No newline at end of file diff --git a/addons/grenades/functions/fnc_flashbangThrownFuze.sqf b/addons/grenades/functions/fnc_flashbangThrownFuze.sqf index 5518f5967b..a617ea3a7a 100644 --- a/addons/grenades/functions/fnc_flashbangThrownFuze.sqf +++ b/addons/grenades/functions/fnc_flashbangThrownFuze.sqf @@ -21,5 +21,5 @@ TRACE_1("params",_projectile); if (alive _projectile) then { playSound3D ["A3\Sounds_F\weapons\Explosion\explosion_mine_1.wss", _projectile, false, getPosASL _projectile, 5, 1.2, 400]; - ["flashbangExplosion", [getPosASL _projectile]] call CBA_fnc_globalEvent; + ["ace_flashbangExplosion", [getPosASL _projectile]] call CBA_fnc_globalEvent; }; diff --git a/addons/hearing/XEH_postInit.sqf b/addons/hearing/XEH_postInit.sqf index 1131ec7823..3502b85020 100644 --- a/addons/hearing/XEH_postInit.sqf +++ b/addons/hearing/XEH_postInit.sqf @@ -12,7 +12,7 @@ GVAR(time3) = 0; GVAR(damageCoefficent) = 1; GVAR(volumeAttenuation) = 1; -["SettingsInitialized", { +["ace_settingsInitialized", { TRACE_1("settingInit",GVAR(EnableCombatDeafness)); // Only run PFEH and install event handlers if combat deafness is enabled if (!GVAR(EnableCombatDeafness)) exitWith {}; @@ -28,8 +28,8 @@ GVAR(volumeAttenuation) = 1; [FUNC(updateVolume), 1, [false]] call CBA_fnc_addPerFrameHandler; // Update veh attunation when player veh changes - ["playerVehicleChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call CBA_fnc_addEventHandler; - ["playerTurretChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call CBA_fnc_addEventHandler; + ["ace_playerVehicleChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call CBA_fnc_addEventHandler; + ["ace_playerTurretChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call CBA_fnc_addEventHandler; // Reset deafness on respawn (or remote control player switch) ["playerChanged", { @@ -41,5 +41,5 @@ GVAR(volumeAttenuation) = 1; }] call CBA_fnc_addEventHandler; // Update protection on possible helmet change - ["playerInventoryChanged", {[] call FUNC(updateHearingProtection);}] call CBA_fnc_addEventHandler; + ["ace_playerInventoryChanged", {[] call FUNC(updateHearingProtection);}] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler; diff --git a/addons/hearing/config.cpp b/addons/hearing/config.cpp index 5d130e589a..1654f083d7 100644 --- a/addons/hearing/config.cpp +++ b/addons/hearing/config.cpp @@ -23,3 +23,10 @@ class CfgPatches { #include "CfgAmmo.hpp" #include "ACE_Settings.hpp" + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; + playerInventoryChanged = "ace_playerInventoryChanged"; + playerTurretChanged = "ace_playerTurretChanged"; + playerVehicleChanged = "ace_playerVehicleChanged"; +}; \ No newline at end of file diff --git a/addons/huntir/XEH_postInit.sqf b/addons/huntir/XEH_postInit.sqf index 5aaa50be52..5b0a7c9445 100644 --- a/addons/huntir/XEH_postInit.sqf +++ b/addons/huntir/XEH_postInit.sqf @@ -10,5 +10,5 @@ GVAR(ELEVAT) = 0.01; // Register fire event handler // Don't run for non players, as they are too dumb to launch huntirs anyway -["firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; -["firedPlayerNonLocal", DFUNC(handleFired)] call CBA_fnc_addEventHandler; +["ace_firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; +["ace_firedPlayerNonLocal", DFUNC(handleFired)] call CBA_fnc_addEventHandler; diff --git a/addons/huntir/config.cpp b/addons/huntir/config.cpp index 5fb106ad2d..c8a0596d57 100644 --- a/addons/huntir/config.cpp +++ b/addons/huntir/config.cpp @@ -19,3 +19,8 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "Dialog.hpp" #include "RscTitles.hpp" + +class ACE_newEvents { + firedPlayerNonLocal = "ace_firedPlayerNonLocal"; + firedPlayer = "ace_firedPlayer"; +}; \ No newline at end of file diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index f9ac5ff1d7..40b6e3eb25 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -8,7 +8,7 @@ GVAR(cachedBuildingActionPairs) = []; GVAR(ParsedTextCached) = []; -["SettingChanged", { +["ace_settingChanged", { params ["_name"]; if (({_x == _name} count [QGVAR(colorTextMax), QGVAR(colorTextMin), QGVAR(colorShadowMax), QGVAR(colorShadowMin), QGVAR(textSize), QGVAR(shadowSetting)]) == 1) then { [] call FUNC(setupTextColors); @@ -23,7 +23,7 @@ GVAR(ParsedTextCached) = []; }] call CBA_fnc_addEventHandler; //Add Actions to Houses: -["interactMenuOpened", {_this call FUNC(userActions_addHouseActions)}] call CBA_fnc_addEventHandler; +["ace_interactMenuOpened", {_this call FUNC(userActions_addHouseActions)}] call CBA_fnc_addEventHandler; ["ACE3 Common", QGVAR(InteractKey), (localize LSTRING(InteractKey)), { @@ -54,7 +54,7 @@ GVAR(ParsedTextCached) = []; }] call CBA_fnc_addEventHandler; // disable firing while the interact menu is is is opened -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["ace_playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // background options ["interactMenuOpened", { diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index 8909c3d685..663eaccea8 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -23,3 +23,15 @@ class CfgPatches { class ACE_Extensions { extensions[] += {"ace_break_line", "ace_parse_imagepath"}; }; + +class ACE_newEvents { + SettingChanged = "ace_settingChanged"; + playerChanged = "ace_playerChanged"; + interactMenuOpened = "ace_interactMenuOpened"; + clearConditionCaches = "ace_clearConditionCaches"; + clearConditionCaches = "ace_clearConditionCaches"; + interactMenuClosed = "ace_interactMenuClosed"; + clearConditionCaches = "ace_clearConditionCaches"; + clearConditionCaches = "ace_clearConditionCaches"; + interactMenuOpened = "ace_interactMenuOpened"; +}; \ No newline at end of file diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index f1cbe9318e..58fc4fbed9 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -102,6 +102,6 @@ if (GVAR(openedMenuType) == 0) then { GVAR(startHoverTime) = -1000; }; -["interactMenuOpened", [_menuType]] call CBA_fnc_localEvent; +["ace_interactMenuOpened", [_menuType]] call CBA_fnc_localEvent; true diff --git a/addons/interact_menu/functions/fnc_keyUp.sqf b/addons/interact_menu/functions/fnc_keyUp.sqf index 8658caf665..5f7fe72888 100644 --- a/addons/interact_menu/functions/fnc_keyUp.sqf +++ b/addons/interact_menu/functions/fnc_keyUp.sqf @@ -28,7 +28,7 @@ if(GVAR(actionSelected)) then { private _target = GVAR(selectedTarget); // Clear the conditions caches - ["clearConditionCaches", []] call CBA_fnc_localEvent; + ["ace_clearConditionCaches", []] call CBA_fnc_localEvent; // exit scope if selecting an action on key release is disabled if (!(GVAR(actionOnKeyRelease)) && !_calledByClicking) exitWith {}; @@ -40,11 +40,11 @@ if(GVAR(actionSelected)) then { [_target, _player, _actionData select 6] call (_actionData select 3); // Clear the conditions caches again if the action was performed - ["clearConditionCaches", []] call CBA_fnc_localEvent; + ["ace_clearConditionCaches", []] call CBA_fnc_localEvent; }; }; -["interactMenuClosed", [GVAR(openedMenuType)]] call CBA_fnc_localEvent; +["ace_interactMenuClosed", [GVAR(openedMenuType)]] call CBA_fnc_localEvent; GVAR(keyDown) = false; GVAR(keyDownSelfAction) = false; diff --git a/addons/interact_menu/functions/fnc_render.sqf b/addons/interact_menu/functions/fnc_render.sqf index dff117528c..555886a55d 100644 --- a/addons/interact_menu/functions/fnc_render.sqf +++ b/addons/interact_menu/functions/fnc_render.sqf @@ -97,7 +97,7 @@ if (GVAR(openedMenuType) >= 0) then { private _target = GVAR(selectedTarget); // Clear the conditions caches - ["clearConditionCaches", []] call CBA_fnc_localEvent; + ["ace_clearConditionCaches", []] call CBA_fnc_localEvent; // Check the action conditions private _actionData = GVAR(selectedAction) select 0; @@ -106,7 +106,7 @@ if (GVAR(openedMenuType) >= 0) then { [_target, _player, _actionData select 6] call (_actionData select 3); // Clear the conditions caches again if the action was performed - ["clearConditionCaches", []] call CBA_fnc_localEvent; + ["ace_clearConditionCaches", []] call CBA_fnc_localEvent; }; }; }; diff --git a/addons/interaction/XEH_postInit.sqf b/addons/interaction/XEH_postInit.sqf index d6530db4c9..6107b26d59 100644 --- a/addons/interaction/XEH_postInit.sqf +++ b/addons/interaction/XEH_postInit.sqf @@ -3,9 +3,9 @@ ACE_Modifier = 0; -["pardon", {(_this select 0) addRating -rating (_this select 0)}] call CBA_fnc_addEventHandler; +["ace_pardon", {(_this select 0) addRating -rating (_this select 0)}] call CBA_fnc_addEventHandler; -["getDown", { +["ace_getDown", { params ["_target"]; _target setUnitPos "DOWN"; diff --git a/addons/interaction/config.cpp b/addons/interaction/config.cpp index 2413256bf4..b914d94bee 100644 --- a/addons/interaction/config.cpp +++ b/addons/interaction/config.cpp @@ -17,3 +17,17 @@ class CfgPatches { #include "RscTitles.hpp" #include "ACE_Settings.hpp" #include "ACE_ZeusActions.hpp" + +class ACE_newEvents { + getDown = "ace_getDown"; + pardon = "ace_pardon"; + tapShoulder = "ace_tapShoulder"; + sendAway = "ace_sendAway"; + setVelocity = "ace_setVelocity"; + displayTextStructured = "ace_displayTextStructured"; + pardon = "ace_pardon"; + displayTextStructured = "ace_displayTextStructured"; + CBA_teamColorChanged = "ace_cBA_teamColorChanged"; + getDown = "ace_getDown"; + selectLeader = "ace_selectLeader"; +}; \ No newline at end of file diff --git a/addons/interaction/functions/fnc_doBecomeLeader.sqf b/addons/interaction/functions/fnc_doBecomeLeader.sqf index de051f0135..a5a2ede5b2 100644 --- a/addons/interaction/functions/fnc_doBecomeLeader.sqf +++ b/addons/interaction/functions/fnc_doBecomeLeader.sqf @@ -17,4 +17,4 @@ params ["_unit"]; -["selectLeader", [group _unit, _unit], units group _unit] call CBA_fnc_targetEvent; +["ace_selectLeader", [group _unit, _unit], units group _unit] call CBA_fnc_targetEvent; diff --git a/addons/interaction/functions/fnc_getDown.sqf b/addons/interaction/functions/fnc_getDown.sqf index e3cdbd6e0e..402e6c9976 100644 --- a/addons/interaction/functions/fnc_getDown.sqf +++ b/addons/interaction/functions/fnc_getDown.sqf @@ -27,7 +27,7 @@ _chance = [0.5, 0.8] select (count weapons _unit > 0); { if (count weapons _x == 0 && {random 1 < _chance}) then { - ["getDown", [_x], [_x]] call CBA_fnc_targetEvent; + ["ace_getDown", [_x], [_x]] call CBA_fnc_targetEvent; }; false } count (_target nearEntities ["Civilian", SEND_RADIUS]); diff --git a/addons/interaction/functions/fnc_joinTeam.sqf b/addons/interaction/functions/fnc_joinTeam.sqf index e3f8bc5064..46b0f79d5f 100644 --- a/addons/interaction/functions/fnc_joinTeam.sqf +++ b/addons/interaction/functions/fnc_joinTeam.sqf @@ -18,7 +18,7 @@ params ["_unit", "_team"]; -["CBA_teamColorChanged", [_unit, _team]] call CBA_fnc_globalEvent; +["ace_cBA_teamColorChanged", [_unit, _team]] call CBA_fnc_globalEvent; // display message if (_unit == ACE_player) then { @@ -31,5 +31,5 @@ if (_unit == ACE_player) then { _message = format [localize LSTRING(JoinedTeam), _team]; }; - ["displayTextStructured", _message] call CBA_fnc_localEvent; + ["ace_displayTextStructured", _message] call CBA_fnc_localEvent; }; diff --git a/addons/interaction/functions/fnc_pardon.sqf b/addons/interaction/functions/fnc_pardon.sqf index 5ce36897fd..8c9f3a39e5 100644 --- a/addons/interaction/functions/fnc_pardon.sqf +++ b/addons/interaction/functions/fnc_pardon.sqf @@ -15,4 +15,4 @@ params ["", "_target"]; -["pardon", [_target], [_target]] call CBA_fnc_targetEvent; +["ace_pardon", [_target], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/interaction/functions/fnc_passMagazine.sqf b/addons/interaction/functions/fnc_passMagazine.sqf index 34c3b559be..2ea062ae79 100644 --- a/addons/interaction/functions/fnc_passMagazine.sqf +++ b/addons/interaction/functions/fnc_passMagazine.sqf @@ -51,4 +51,4 @@ _target addMagazine [_magToPassClassName, _magToPassAmmoCount]; _playerName = [_player] call EFUNC(common,getName); _magToPassDisplayName = getText (configFile >> "CfgMagazines" >> _magToPassClassName >> "displayName"); -["displayTextStructured", [[LSTRING(PassMagazineHint), _playerName, _magToPassDisplayName], 1.5, _target], [_target]] call CBA_fnc_targetEvent; \ No newline at end of file +["ace_displayTextStructured", [[LSTRING(PassMagazineHint), _playerName, _magToPassDisplayName], 1.5, _target], [_target]] call CBA_fnc_targetEvent; \ No newline at end of file diff --git a/addons/interaction/functions/fnc_push.sqf b/addons/interaction/functions/fnc_push.sqf index f2cc7c15a3..b22ec366f2 100644 --- a/addons/interaction/functions/fnc_push.sqf +++ b/addons/interaction/functions/fnc_push.sqf @@ -22,4 +22,4 @@ private _newVelocity = vectorDir _unit; _newVelocity set [2, 0.25]; _newVelocity = _newVelocity vectorMultiply 2; -["setVelocity", [_boat, _newVelocity], [_boat]] call CBA_fnc_targetEvent; +["ace_setVelocity", [_boat, _newVelocity], [_boat]] call CBA_fnc_targetEvent; diff --git a/addons/interaction/functions/fnc_sendAway.sqf b/addons/interaction/functions/fnc_sendAway.sqf index 9fe3c2b1c3..499e139497 100644 --- a/addons/interaction/functions/fnc_sendAway.sqf +++ b/addons/interaction/functions/fnc_sendAway.sqf @@ -31,7 +31,7 @@ _chance = [0.5, 0.8] select (count weapons _unit > 0); _position = getPosASL _unit vectorAdd (eyeDirection _unit vectorMultiply SEND_DISTANCE); _position set [2, 0]; - ["sendAway", [_x, _position], [_x]] call CBA_fnc_targetEvent; + ["ace_sendAway", [_x, _position], [_x]] call CBA_fnc_targetEvent; }; false } count (_unit nearEntities ["Civilian", SEND_RADIUS]); diff --git a/addons/interaction/functions/fnc_tapShoulder.sqf b/addons/interaction/functions/fnc_tapShoulder.sqf index 6be7402bcd..35274b3724 100644 --- a/addons/interaction/functions/fnc_tapShoulder.sqf +++ b/addons/interaction/functions/fnc_tapShoulder.sqf @@ -25,4 +25,4 @@ if (_unit == ACE_player) then { _unit playActionNow "PutDown"; -["tapShoulder", [_target, _shoulderNum], [_target]] call CBA_fnc_targetEvent; +["ace_tapShoulder", [_target, _shoulderNum], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/laser/XEH_post_init.sqf b/addons/laser/XEH_post_init.sqf index 27d5611ae9..01b79a3378 100644 --- a/addons/laser/XEH_post_init.sqf +++ b/addons/laser/XEH_post_init.sqf @@ -2,6 +2,6 @@ #include "initKeybinds.sqf" -["laser_laserOn", {_this call DFUNC(handleLaserOn)}] call CBA_fnc_addEventHandler; -["laser_laserOff", {_this call DFUNC(handleLaserOff)}] call CBA_fnc_addEventHandler; +["ace_laser_laserOn", {_this call DFUNC(handleLaserOn)}] call CBA_fnc_addEventHandler; +["ace_laser_laserOff", {_this call DFUNC(handleLaserOff)}] call CBA_fnc_addEventHandler; diff --git a/addons/laser/config.cpp b/addons/laser/config.cpp index ad368cdc2d..3a334f3b9d 100644 --- a/addons/laser/config.cpp +++ b/addons/laser/config.cpp @@ -13,4 +13,10 @@ class CfgPatches { #include "CfgEventhandlers.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" -#include "RscInGameUI.hpp" \ No newline at end of file +#include "RscInGameUI.hpp" +class ACE_newEvents { + laser_laserOff = "ace_laser_laserOff"; + laser_laserOn = "ace_laser_laserOn"; + laser_laserOn = "ace_laser_laserOn"; + laser_laserOff = "ace_laser_laserOff"; +}; \ No newline at end of file diff --git a/addons/laser/functions/fnc_laserOff.sqf b/addons/laser/functions/fnc_laserOff.sqf index b7d03a422c..31cbdb876e 100644 --- a/addons/laser/functions/fnc_laserOff.sqf +++ b/addons/laser/functions/fnc_laserOff.sqf @@ -1,16 +1,16 @@ -/* - * Author: Nou - * Turn a laser designator off. - * - * Arguments: - * 0: UUID (from laserOn) - * - * Return value: - * None - */ - -#include "script_component.hpp" - -private ["_uuid"]; +/* + * Author: Nou + * Turn a laser designator off. + * + * Arguments: + * 0: UUID (from laserOn) + * + * Return value: + * None + */ + +#include "script_component.hpp" + +private ["_uuid"]; _uuid = _this select 0; -["laser_laserOff", [_uuid]] call CBA_fnc_globalEvent; +["ace_laser_laserOff", [_uuid]] call CBA_fnc_globalEvent; diff --git a/addons/laser/functions/fnc_laserOn.sqf b/addons/laser/functions/fnc_laserOn.sqf index e206167015..e698dda2e3 100644 --- a/addons/laser/functions/fnc_laserOn.sqf +++ b/addons/laser/functions/fnc_laserOn.sqf @@ -1,23 +1,23 @@ -/* - * Author: Nou - * Turn a laser designator on. - * - * Arguments: - * 0: Emitter - * 1: Owner - * 2: Method, can be code, which emitter and owner are passed to, a string function name, an array with a position memory point and weapon name, or an array with a position memory point, a vector begining memory point, and vector ending memory point. - * 3: Wavelength (1550nm is common eye safe) - * 4: Laser code - * 5: Beam divergence (in mils off beam center). - * - * Return value: - * String, UUID for sending to laserOff function. - */ - -#include "script_component.hpp" - -private ["_uuid", "_args"]; +/* + * Author: Nou + * Turn a laser designator on. + * + * Arguments: + * 0: Emitter + * 1: Owner + * 2: Method, can be code, which emitter and owner are passed to, a string function name, an array with a position memory point and weapon name, or an array with a position memory point, a vector begining memory point, and vector ending memory point. + * 3: Wavelength (1550nm is common eye safe) + * 4: Laser code + * 5: Beam divergence (in mils off beam center). + * + * Return value: + * String, UUID for sending to laserOff function. + */ + +#include "script_component.hpp" + +private ["_uuid", "_args"]; _uuid = format["%1%2%3", floor ACE_diagTime, floor random 1000, floor random 10000]; _args = [_uuid, _this]; -["laser_laserOn", _args] call CBA_fnc_globalEvent; +["ace_laser_laserOn", _args] call CBA_fnc_globalEvent; _uuid; diff --git a/addons/laserpointer/XEH_postInit.sqf b/addons/laserpointer/XEH_postInit.sqf index 5b9ac08c53..e77693a6ae 100644 --- a/addons/laserpointer/XEH_postInit.sqf +++ b/addons/laserpointer/XEH_postInit.sqf @@ -2,7 +2,7 @@ #include "script_component.hpp" // fixes laser when being captured. Needed, because the selectionPosition of the right hand is used -["SetHandcuffed", {if (_this select 1) then {(_this select 0) action ["GunLightOff", _this select 0]};}] call CBA_fnc_addEventHandler; +["ace_setHandcuffed", {if (_this select 1) then {(_this select 0) action ["GunLightOff", _this select 0]};}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; @@ -10,7 +10,7 @@ GVAR(nearUnits) = []; #include "initKeybinds.sqf" -["SettingsInitialized", { +["ace_settingsInitialized", { //If not enabled, dont't add draw eventhandler or PFEH (for performance) if (!GVAR(enabled)) exitWith {}; diff --git a/addons/laserpointer/config.cpp b/addons/laserpointer/config.cpp index cbb3105696..37cd2c4387 100644 --- a/addons/laserpointer/config.cpp +++ b/addons/laserpointer/config.cpp @@ -17,3 +17,8 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" #include "CfgJointRails.hpp" + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; + SetHandcuffed = "ace_setHandcuffed"; +}; \ No newline at end of file diff --git a/addons/logistics_uavbattery/config.cpp b/addons/logistics_uavbattery/config.cpp index c6123e590f..9b0568b9f6 100644 --- a/addons/logistics_uavbattery/config.cpp +++ b/addons/logistics_uavbattery/config.cpp @@ -16,3 +16,7 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" #include "CfgSounds.hpp" + +class ACE_newEvents { + setFuel = "ace_setFuel"; +}; \ No newline at end of file diff --git a/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf b/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf index b1183ab25e..d26ada5267 100644 --- a/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf +++ b/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf @@ -24,7 +24,7 @@ _onFinish = { (_this select 0) params ["_caller", "_target"]; _caller removeItem "ACE_UAVBattery"; playSound3D [QUOTE(PATHTO_R(sounds\exchange_battery.ogg)), objNull, false, getPosASL _caller, 1, 1, 10]; - ["setFuel", [_target, 1], [_target]] call CBA_fnc_targetEvent; //setFuel is local + ["ace_setFuel", [_target, 1], [_target]] call CBA_fnc_targetEvent; //setFuel is local }; _onFailure = { diff --git a/addons/logistics_wirecutter/XEH_clientInit.sqf b/addons/logistics_wirecutter/XEH_clientInit.sqf index aaead1bdcc..45e93bc6bd 100644 --- a/addons/logistics_wirecutter/XEH_clientInit.sqf +++ b/addons/logistics_wirecutter/XEH_clientInit.sqf @@ -2,4 +2,4 @@ if (!hasInterface) exitWith {}; -["interactMenuOpened", {_this call FUNC(interactEH)}] call CBA_fnc_addEventHandler; +["ace_interactMenuOpened", {_this call FUNC(interactEH)}] call CBA_fnc_addEventHandler; diff --git a/addons/logistics_wirecutter/config.cpp b/addons/logistics_wirecutter/config.cpp index d83cff4035..436b17fada 100644 --- a/addons/logistics_wirecutter/config.cpp +++ b/addons/logistics_wirecutter/config.cpp @@ -15,3 +15,7 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgWeapons.hpp" #include "CfgVehicles.hpp" + +class ACE_newEvents { + interactMenuOpened = "ace_interactMenuOpened"; +}; \ No newline at end of file diff --git a/addons/map/XEH_postInitClient.sqf b/addons/map/XEH_postInitClient.sqf index bdc7599222..e9438d7508 100644 --- a/addons/map/XEH_postInitClient.sqf +++ b/addons/map/XEH_postInitClient.sqf @@ -107,7 +107,7 @@ call FUNC(determineZoom); }] call CBA_fnc_addEventHandler; if (GVAR(mapGlow)) then { - ["visibleMapChanged", { + ["ace_visibleMapChanged", { params ["_player", "_mapOn"]; if (_mapOn) then { if (!alive _player && !isNull GVAR(glow)) then { diff --git a/addons/map/config.cpp b/addons/map/config.cpp index 6d6b4030ec..5143f7d5e5 100644 --- a/addons/map/config.cpp +++ b/addons/map/config.cpp @@ -161,3 +161,7 @@ class RscDisplayServerGetReady: RscDisplayGetReady { }; }; }; + +class ACE_newEvents { + visibleMapChanged = "ace_visibleMapChanged"; +}; \ No newline at end of file diff --git a/addons/map_gestures/XEH_postInit.sqf b/addons/map_gestures/XEH_postInit.sqf index a1ce8871b7..185eaf97f0 100644 --- a/addons/map_gestures/XEH_postInit.sqf +++ b/addons/map_gestures/XEH_postInit.sqf @@ -6,7 +6,7 @@ if (["STMapGestures"] call EFUNC(common,isModLoaded)) exitWith { if (!hasInterface) exitWith {}; -["SettingsInitialized", { +["ace_settingsInitialized", { if (!GVAR(enabled)) exitWith {}; [{ if (isNull (findDisplay 12)) exitWith {}; diff --git a/addons/map_gestures/config.cpp b/addons/map_gestures/config.cpp index 72e7f82078..d3217124d6 100644 --- a/addons/map_gestures/config.cpp +++ b/addons/map_gestures/config.cpp @@ -15,3 +15,7 @@ class CfgPatches { #include "ACE_Settings.hpp" #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; +}; \ No newline at end of file diff --git a/addons/maptools/XEH_preInit.sqf b/addons/maptools/XEH_preInit.sqf index aada5db223..7e144e724d 100644 --- a/addons/maptools/XEH_preInit.sqf +++ b/addons/maptools/XEH_preInit.sqf @@ -10,10 +10,10 @@ if (isServer) then { }; //Add Event Handlers: -["drawing_removeLineMarker", FUNC(removeLineMarker) ] call CBA_fnc_addEventHandler; -["drawing_addLineMarker", FUNC(addLineMarker) ] call CBA_fnc_addEventHandler; +["ace_drawing_removeLineMarker", FUNC(removeLineMarker)] call CBA_fnc_addEventHandler; +["ace_drawing_addLineMarker", FUNC(addLineMarker)] call CBA_fnc_addEventHandler; -["drawing_requestMarkers", FUNC(copyMapRemoteSend) ] call CBA_fnc_addEventHandler; -["drawing_sendbackMarkers", FUNC(copyMapReceiveMarkers) ] call CBA_fnc_addEventHandler; +["ace_drawing_requestMarkers", FUNC(copyMapRemoteSend)] call CBA_fnc_addEventHandler; +["ace_drawing_sendbackMarkers", FUNC(copyMapReceiveMarkers)] call CBA_fnc_addEventHandler; ADDON = true; diff --git a/addons/maptools/config.cpp b/addons/maptools/config.cpp index 1e82cd2269..2d9d92345a 100644 --- a/addons/maptools/config.cpp +++ b/addons/maptools/config.cpp @@ -66,3 +66,14 @@ class RscDisplayServerGetReady: RscDisplayGetReady { }; }; }; + +class ACE_newEvents { + drawing_sendbackMarkers = "ace_drawing_sendbackMarkers"; + drawing_requestMarkers = "ace_drawing_requestMarkers"; + drawing_addLineMarker = "ace_drawing_addLineMarker"; + drawing_removeLineMarker = "ace_drawing_removeLineMarker"; + drawing_addLineMarker = "ace_drawing_addLineMarker"; + drawing_removeLineMarker = "ace_drawing_removeLineMarker"; + drawing_requestMarkers = "ace_drawing_requestMarkers"; + drawing_sendbackMarkers = "ace_drawing_sendbackMarkers"; +}; \ No newline at end of file diff --git a/addons/maptools/functions/fnc_copyMapRemoteSend.sqf b/addons/maptools/functions/fnc_copyMapRemoteSend.sqf index fdfe53e7c4..452c76167a 100644 --- a/addons/maptools/functions/fnc_copyMapRemoteSend.sqf +++ b/addons/maptools/functions/fnc_copyMapRemoteSend.sqf @@ -14,4 +14,4 @@ params ["_requester"]; -["drawing_sendbackMarkers", [GVAR(drawing_lineMarkers)], _requester] call CBA_fnc_targetEvent; +["ace_drawing_sendbackMarkers", [GVAR(drawing_lineMarkers)], _requester] call CBA_fnc_targetEvent; diff --git a/addons/maptools/functions/fnc_copyMapStart.sqf b/addons/maptools/functions/fnc_copyMapStart.sqf index a7d1a016a7..c1c6a7a459 100644 --- a/addons/maptools/functions/fnc_copyMapStart.sqf +++ b/addons/maptools/functions/fnc_copyMapStart.sqf @@ -19,4 +19,4 @@ params ["_player", "_target"]; -["drawing_requestMarkers", [_player], _target] call CBA_fnc_targetEvent; +["ace_drawing_requestMarkers", [_player], _target] call CBA_fnc_targetEvent; diff --git a/addons/maptools/functions/fnc_handleKeyDown.sqf b/addons/maptools/functions/fnc_handleKeyDown.sqf index 4a8c615327..a5ed69f9e1 100644 --- a/addons/maptools/functions/fnc_handleKeyDown.sqf +++ b/addons/maptools/functions/fnc_handleKeyDown.sqf @@ -58,7 +58,7 @@ if (_code == DIK_DELETE) exitWith { if (_lambdaLong >= 0 && _lambdaLong <= _magDiffVector && _lambdaTrasAbs <= 5) exitWith { // Delete the line marker if (GVAR(drawing_syncMarkers)) then { - ["drawing_removeLineMarker", [_x select 0]] call CBA_fnc_globalEvent; + ["ace_drawing_removeLineMarker", [_x select 0]] call CBA_fnc_globalEvent; } else { deleteMarkerLocal (_x select 0); GVAR(drawing_lineMarkers) = GVAR(drawing_lineMarkers) - [_x]; diff --git a/addons/maptools/functions/fnc_handleMouseButton.sqf b/addons/maptools/functions/fnc_handleMouseButton.sqf index e0bdbbe130..f0fadc7cb3 100644 --- a/addons/maptools/functions/fnc_handleMouseButton.sqf +++ b/addons/maptools/functions/fnc_handleMouseButton.sqf @@ -42,7 +42,7 @@ if (_dir != 1) then { // Already drawing -> Add tempLineMarker to permanent list if (GVAR(drawing_syncMarkers)) then { deleteMarkerLocal (GVAR(drawing_tempLineMarker) select 0); - ["drawing_addLineMarker", GVAR(drawing_tempLineMarker)] call CBA_fnc_globalEvent; + ["ace_drawing_addLineMarker", GVAR(drawing_tempLineMarker)] call CBA_fnc_globalEvent; // Log who drew on the briefing screen [ACE_INFOFORMAT_1("Player %1 drew on the briefing screen", profileName)] call EFUNC(common,serverLog); } else { diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 3a082c85d1..e07b13479f 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -6,34 +6,34 @@ GVAR(heartBeatSounds_Fast) = ["ACE_heartbeat_fast_1", "ACE_heartbeat_fast_2", "A GVAR(heartBeatSounds_Normal) = ["ACE_heartbeat_norm_1", "ACE_heartbeat_norm_2"]; GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; -["medical_propagateWound", FUNC(onPropagateWound)] call CBA_fnc_addEventHandler; -["medical_woundUpdateRequest", FUNC(onWoundUpdateRequest)] call CBA_fnc_addEventHandler; -["interactMenuClosed", {[objNull, false] call FUNC(displayPatientInformation); }] call CBA_fnc_addEventHandler; +["ace_medical_propagateWound", FUNC(onPropagateWound)] call CBA_fnc_addEventHandler; +["ace_medical_woundUpdateRequest", FUNC(onWoundUpdateRequest)] call CBA_fnc_addEventHandler; +["ace_interactMenuClosed", {[objNull, false] call FUNC(displayPatientInformation); }] call CBA_fnc_addEventHandler; //Treatment EventHandlers: -["actionCheckBloodPressureLocal", DFUNC(actionCheckBloodPressureLocal)] call CBA_fnc_addEventHandler; -["actionCheckPulseLocal", DFUNC(actionCheckPulseLocal)] call CBA_fnc_addEventHandler; -["addToInjuredCollection", DFUNC(addToInjuredCollection)] call CBA_fnc_addEventHandler; -["addToMedicalLog", DFUNC(addToLog)] call CBA_fnc_addEventHandler; -["addToTriageCard", DFUNC(addToTriageCard)] call CBA_fnc_addEventHandler; -["setDead", DFUNC(setDead)] call CBA_fnc_addEventHandler; -["setHitPointDamage", DFUNC(setHitPointDamage)] call CBA_fnc_addEventHandler; -["setUnconscious", DFUNC(setUnconscious)] call CBA_fnc_addEventHandler; -["treatmentAdvanced_bandageLocal", DFUNC(treatmentAdvanced_bandageLocal)] call CBA_fnc_addEventHandler; -["treatmentAdvanced_CPRLocal", DFUNC(treatmentAdvanced_CPRLocal)] call CBA_fnc_addEventHandler; -["treatmentAdvanced_fullHealLocal", DFUNC(treatmentAdvanced_fullHealLocal)] call CBA_fnc_addEventHandler; -["treatmentAdvanced_medicationLocal", DFUNC(treatmentAdvanced_medicationLocal)] call CBA_fnc_addEventHandler; -["treatmentBasic_bandageLocal", DFUNC(treatmentBasic_bandageLocal)] call CBA_fnc_addEventHandler; -["treatmentBasic_bloodbagLocal", DFUNC(treatmentBasic_bloodbagLocal)] call CBA_fnc_addEventHandler; -["treatmentBasic_morphineLocal", DFUNC(treatmentBasic_morphineLocal)] call CBA_fnc_addEventHandler; -["treatmentIVLocal", DFUNC(treatmentIVLocal)] call CBA_fnc_addEventHandler; -["treatmentTourniquetLocal", DFUNC(treatmentTourniquetLocal)] call CBA_fnc_addEventHandler; -["actionPlaceInBodyBag", FUNC(actionPlaceInBodyBag)] call CBA_fnc_addEventHandler; +["ace_actionCheckBloodPressureLocal", DFUNC(actionCheckBloodPressureLocal)] call CBA_fnc_addEventHandler; +["ace_actionCheckPulseLocal", DFUNC(actionCheckPulseLocal)] call CBA_fnc_addEventHandler; +["ace_addToInjuredCollection", DFUNC(addToInjuredCollection)] call CBA_fnc_addEventHandler; +["ace_addToMedicalLog", DFUNC(addToLog)] call CBA_fnc_addEventHandler; +["ace_addToTriageCard", DFUNC(addToTriageCard)] call CBA_fnc_addEventHandler; +["ace_setDead", DFUNC(setDead)] call CBA_fnc_addEventHandler; +["ace_setHitPointDamage", DFUNC(setHitPointDamage)] call CBA_fnc_addEventHandler; +["ace_setUnconscious", DFUNC(setUnconscious)] call CBA_fnc_addEventHandler; +["ace_treatmentAdvanced_bandageLocal", DFUNC(treatmentAdvanced_bandageLocal)] call CBA_fnc_addEventHandler; +["ace_treatmentAdvanced_CPRLocal", DFUNC(treatmentAdvanced_CPRLocal)] call CBA_fnc_addEventHandler; +["ace_treatmentAdvanced_fullHealLocal", DFUNC(treatmentAdvanced_fullHealLocal)] call CBA_fnc_addEventHandler; +["ace_treatmentAdvanced_medicationLocal", DFUNC(treatmentAdvanced_medicationLocal)] call CBA_fnc_addEventHandler; +["ace_treatmentBasic_bandageLocal", DFUNC(treatmentBasic_bandageLocal)] call CBA_fnc_addEventHandler; +["ace_treatmentBasic_bloodbagLocal", DFUNC(treatmentBasic_bloodbagLocal)] call CBA_fnc_addEventHandler; +["ace_treatmentBasic_morphineLocal", DFUNC(treatmentBasic_morphineLocal)] call CBA_fnc_addEventHandler; +["ace_treatmentIVLocal", DFUNC(treatmentIVLocal)] call CBA_fnc_addEventHandler; +["ace_treatmentTourniquetLocal", DFUNC(treatmentTourniquetLocal)] call CBA_fnc_addEventHandler; +["ace_actionPlaceInBodyBag", FUNC(actionPlaceInBodyBag)] call CBA_fnc_addEventHandler; //Handle Deleting Bodies on Server: -if (isServer) then {["placedInBodyBag", FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler;}; +if (isServer) then {["ace_placedInBodyBag", FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler;}; -["medical_onUnconscious", { +["ace_medical_onUnconscious", { params ["_unit", "_status"]; if (local _unit) then { if (_status) then { @@ -294,7 +294,7 @@ GVAR(lastHeartBeatSound) = ACE_time; ["isNotUnconscious", {!((_this select 0) getVariable ["ACE_isUnconscious", false])}] call EFUNC(common,addCanInteractWithCondition); // Item Event Handler -["playerInventoryChanged", FUNC(itemCheck)] call CBA_fnc_addEventHandler; +["ace_playerInventoryChanged", FUNC(itemCheck)] call CBA_fnc_addEventHandler; if (hasInterface) then { ["PlayerJip", { diff --git a/addons/medical/config.cpp b/addons/medical/config.cpp index d40fb9e6a6..832be32cb6 100644 --- a/addons/medical/config.cpp +++ b/addons/medical/config.cpp @@ -23,3 +23,90 @@ class CfgPatches { #include "ACE_Settings.hpp" #include "UI\RscTitles.hpp" #include "UI\triagecard.hpp" + +class ACE_newEvents { + medical_onUnconscious = "ace_medical_onUnconscious"; + playerInventoryChanged = "ace_playerInventoryChanged"; + placedInBodyBag = "ace_placedInBodyBag"; + actionPlaceInBodyBag = "ace_actionPlaceInBodyBag"; + treatmentTourniquetLocal = "ace_treatmentTourniquetLocal"; + treatmentIVLocal = "ace_treatmentIVLocal"; + treatmentBasic_morphineLocal = "ace_treatmentBasic_morphineLocal"; + treatmentBasic_bloodbagLocal = "ace_treatmentBasic_bloodbagLocal"; + treatmentBasic_bandageLocal = "ace_treatmentBasic_bandageLocal"; + treatmentAdvanced_medicationLocal = "ace_treatmentAdvanced_medicationLocal"; + treatmentAdvanced_fullHealLocal = "ace_treatmentAdvanced_fullHealLocal"; + treatmentAdvanced_CPRLocal = "ace_treatmentAdvanced_CPRLocal"; + treatmentAdvanced_bandageLocal = "ace_treatmentAdvanced_bandageLocal"; + setUnconscious = "ace_setUnconscious"; + setHitPointDamage = "ace_setHitPointDamage"; + setDead = "ace_setDead"; + addToTriageCard = "ace_addToTriageCard"; + addToMedicalLog = "ace_addToMedicalLog"; + addToInjuredCollection = "ace_addToInjuredCollection"; + actionCheckPulseLocal = "ace_actionCheckPulseLocal"; + actionCheckBloodPressureLocal = "ace_actionCheckBloodPressureLocal"; + interactMenuClosed = "ace_interactMenuClosed"; + medical_woundUpdateRequest = "ace_medical_woundUpdateRequest"; + medical_propagateWound = "ace_medical_propagateWound"; + useItem = "ace_useItem"; + useItem = "ace_useItem"; + useItem = "ace_useItem"; + useItem = "ace_useItem"; + useItem = "ace_useItem"; + useItem = "ace_useItem"; + medical_onUnconscious = "ace_medical_onUnconscious"; + medical_onUnconscious = "ace_medical_onUnconscious"; + medical_treatmentSuccess = "ace_medical_treatmentSuccess"; + treatmentTourniquetLocal = "ace_treatmentTourniquetLocal"; + treatmentTourniquetLocal = "ace_treatmentTourniquetLocal"; + displayTextStructured = "ace_displayTextStructured"; + displayTextStructured = "ace_displayTextStructured"; + treatmentIVLocal = "ace_treatmentIVLocal"; + treatmentIVLocal = "ace_treatmentIVLocal"; + treatmentBasic_morphineLocal = "ace_treatmentBasic_morphineLocal"; + treatmentBasic_morphineLocal = "ace_treatmentBasic_morphineLocal"; + treatmentBasic_bloodbagLocal = "ace_treatmentBasic_bloodbagLocal"; + treatmentBasic_bloodbagLocal = "ace_treatmentBasic_bloodbagLocal"; + treatmentBasic_bandageLocal = "ace_treatmentBasic_bandageLocal"; + treatmentBasic_bandageLocal = "ace_treatmentBasic_bandageLocal"; + treatmentAdvanced_medicationLocal = "ace_treatmentAdvanced_medicationLocal"; + treatmentAdvanced_fullHealLocal = "ace_treatmentAdvanced_fullHealLocal"; + treatmentAdvanced_fullHealLocal = "ace_treatmentAdvanced_fullHealLocal"; + treatmentAdvanced_CPRLocal = "ace_treatmentAdvanced_CPRLocal"; + treatmentAdvanced_CPRLocal = "ace_treatmentAdvanced_CPRLocal"; + medical_propagateWound = "ace_medical_propagateWound"; + treatmentAdvanced_bandageLocal = "ace_treatmentAdvanced_bandageLocal"; + treatmentAdvanced_bandageLocal = "ace_treatmentAdvanced_bandageLocal"; + displayTextStructured = "ace_displayTextStructured"; + medical_onUnconscious = "ace_medical_onUnconscious"; + setUnconscious = "ace_setUnconscious"; + setHitPointDamage = "ace_setHitPointDamage"; + medical_onSetDead = "ace_medical_onSetDead"; + setDead = "ace_setDead"; + Medical_onEnteredCardiacArrest = "ace_medical_onEnteredCardiacArrest"; + hideObjectGlobal = "ace_hideObjectGlobal"; + medical_woundUpdateRequest = "ace_medical_woundUpdateRequest"; + medical_propagateWound = "ace_medical_propagateWound"; + displayTextStructured = "ace_displayTextStructured"; + addVitalLoop = "ace_addVitalLoop"; + Medical_onItemAddedToTriageCard = "ace_medical_onItemAddedToTriageCard"; + addToTriageCard = "ace_addToTriageCard"; + medical_onLogEntryAdded = "ace_medical_onLogEntryAdded"; + addToMedicalLog = "ace_addToMedicalLog"; + Medical_onHeartRateAdjustmentAdded = "ace_medical_onHeartRateAdjustmentAdded"; + unloadPersonEvent = "ace_unloadPersonEvent"; + treatmentAdvanced_medicationLocal = "ace_treatmentAdvanced_medicationLocal"; + displayTextStructured = "ace_displayTextStructured"; + placedInBodyBag = "ace_placedInBodyBag"; + actionPlaceInBodyBag = "ace_actionPlaceInBodyBag"; + displayTextStructured = "ace_displayTextStructured"; + displayTextStructured = "ace_displayTextStructured"; + displayTextStructured = "ace_displayTextStructured"; + displayTextStructured = "ace_displayTextStructured"; + actionCheckPulseLocal = "ace_actionCheckPulseLocal"; + actionCheckPulseLocal = "ace_actionCheckPulseLocal"; + displayTextStructured = "ace_displayTextStructured"; + actionCheckBloodPressureLocal = "ace_actionCheckBloodPressureLocal"; + actionCheckBloodPressureLocal = "ace_actionCheckBloodPressureLocal"; +}; \ No newline at end of file diff --git a/addons/medical/functions/fnc_actionCheckBloodPressure.sqf b/addons/medical/functions/fnc_actionCheckBloodPressure.sqf index 062284d7e6..2d2b5a9e59 100644 --- a/addons/medical/functions/fnc_actionCheckBloodPressure.sqf +++ b/addons/medical/functions/fnc_actionCheckBloodPressure.sqf @@ -16,7 +16,7 @@ params ["_caller", "_target", "_selectionName"]; if (local _target) then { - ["actionCheckBloodPressureLocal", [_caller, _target, _selectionName]] call CBA_fnc_localEvent; + ["ace_actionCheckBloodPressureLocal", [_caller, _target, _selectionName]] call CBA_fnc_localEvent; } else { - ["actionCheckBloodPressureLocal", [_caller, _target, _selectionName], _target] call CBA_fnc_targetEvent; + ["ace_actionCheckBloodPressureLocal", [_caller, _target, _selectionName], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf index ac162d7002..44c5a1fc0b 100644 --- a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf @@ -57,7 +57,7 @@ if (_selectionName in ["hand_l","hand_r"] && {[_unit, _selectionName] call FUNC( _logOutPut = ""; }; -["displayTextStructured", [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller], [_caller]] call CBA_fnc_targetEvent; +["ace_displayTextStructured", [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller], [_caller]] call CBA_fnc_targetEvent; if (_logOutPut != "") then { [_target,"activity", LSTRING(Check_Bloodpressure_Log), [[_caller, false, true] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); diff --git a/addons/medical/functions/fnc_actionCheckPulse.sqf b/addons/medical/functions/fnc_actionCheckPulse.sqf index a6bac8a8cb..2b97c1aa24 100644 --- a/addons/medical/functions/fnc_actionCheckPulse.sqf +++ b/addons/medical/functions/fnc_actionCheckPulse.sqf @@ -16,7 +16,7 @@ params ["_caller","_target", "_selectionName"]; if (local _target) then { - ["actionCheckPulseLocal", [_caller, _target, _selectionName]] call CBA_fnc_localEvent; + ["ace_actionCheckPulseLocal", [_caller, _target, _selectionName]] call CBA_fnc_localEvent; } else { - ["actionCheckPulseLocal", [_caller, _target, _selectionName], _target] call CBA_fnc_targetEvent; + ["ace_actionCheckPulseLocal", [_caller, _target, _selectionName], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf index d5dd2d9ca5..0e58344528 100644 --- a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf @@ -49,7 +49,7 @@ if (_selectionName in ["hand_l","hand_r"] && {[_unit, _selectionName] call FUNC( _logOutPut = LSTRING(Check_Pulse_None); }; -["displayTextStructured", [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; +["ace_displayTextStructured", [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; if (_logOutPut != "") then { [_unit,"activity", LSTRING(Check_Pulse_Log),[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); diff --git a/addons/medical/functions/fnc_actionCheckResponse.sqf b/addons/medical/functions/fnc_actionCheckResponse.sqf index 3ca9a66fcc..c8a6128a08 100644 --- a/addons/medical/functions/fnc_actionCheckResponse.sqf +++ b/addons/medical/functions/fnc_actionCheckResponse.sqf @@ -19,7 +19,7 @@ params ["_caller", "_target"]; _output = [LSTRING(Check_Response_Unresponsive), LSTRING(Check_Response_Responsive)] select ([_target] call EFUNC(common,isAwake)); -["displayTextStructured", [[_output, [_target] call EFUNC(common,getName)], 2, _caller], [_caller]] call CBA_fnc_targetEvent; +["ace_displayTextStructured", [[_output, [_target] call EFUNC(common,getName)], 2, _caller], [_caller]] call CBA_fnc_targetEvent; [_target,"activity",_output, [[_target, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); [_target,"quick_view",_output, [[_target, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); diff --git a/addons/medical/functions/fnc_actionDiagnose.sqf b/addons/medical/functions/fnc_actionDiagnose.sqf index 31684d722e..fdba12cd21 100644 --- a/addons/medical/functions/fnc_actionDiagnose.sqf +++ b/addons/medical/functions/fnc_actionDiagnose.sqf @@ -43,4 +43,4 @@ if (alive _target) then { }; }; -["displayTextStructured", [_genericMessages, 3.0, _caller], [_caller]] call CBA_fnc_targetEvent; +["ace_displayTextStructured", [_genericMessages, 3.0, _caller], [_caller]] call CBA_fnc_targetEvent; diff --git a/addons/medical/functions/fnc_actionLoadUnit.sqf b/addons/medical/functions/fnc_actionLoadUnit.sqf index 5c035872da..61d1ab32a6 100644 --- a/addons/medical/functions/fnc_actionLoadUnit.sqf +++ b/addons/medical/functions/fnc_actionLoadUnit.sqf @@ -18,7 +18,7 @@ private "_vehicle"; params ["_caller", "_target"]; if ([_target] call EFUNC(common,isAwake)) exitWith { - ["displayTextStructured", [[LSTRING(CanNotLoaded), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; + ["ace_displayTextStructured", [[LSTRING(CanNotLoaded), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; }; if ([_target] call FUNC(isBeingCarried)) then { [_caller, _target] call EFUNC(dragging,dropObject_carry); diff --git a/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf b/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf index e9e40c36ad..9d87b6ea50 100644 --- a/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf +++ b/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf @@ -22,7 +22,7 @@ TRACE_2("params",_caller,_target); if (!local _target) exitWith { TRACE_1("running where local",local _target); - ["actionPlaceInBodyBag", [_caller, _target], [_target]] call CBA_fnc_targetEvent; + ["ace_actionPlaceInBodyBag", [_caller, _target], [_target]] call CBA_fnc_targetEvent; objNull }; @@ -47,6 +47,6 @@ private _bodyBag = createVehicle ["ACE_bodyBagObject", _position, [], 0, ""]; _bodyBag setPosASL _position; _bodyBag setDir _direction; -["placedInBodyBag", [_target, _bodyBag]] call CBA_fnc_globalEvent; //hide and delete body on server +["ace_placedInBodyBag", [_target, _bodyBag]] call CBA_fnc_globalEvent; //hide and delete body on server _bodyBag diff --git a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf index 7bc90005af..1eaa0ec32d 100644 --- a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf +++ b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf @@ -26,7 +26,7 @@ _tourniquets = _target getVariable [QGVAR(tourniquets), [0,0,0,0,0,0]]; // Check if there is a tourniquet on this bodypart if ((_tourniquets select _part) == 0) exitWith { _output = LSTRING(noTourniquetOnBodyPart); - ["displayTextStructured", [_output, 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; + ["ace_displayTextStructured", [_output, 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; }; // Removing the tourniquet @@ -44,7 +44,7 @@ TRACE_2("meds",_part,_delayedMedications); _x params ["", "", "_medPartNum"]; if (_part == _medPartNum) then { TRACE_1("delayed medication call after tourniquet removeal",_x); - ["treatmentAdvanced_medicationLocal", _x, [_target]] call CBA_fnc_targetEvent; + ["ace_treatmentAdvanced_medicationLocal", _x, [_target]] call CBA_fnc_targetEvent; _delayedMedications set [_forEachIndex, -1]; _updatedArray = true; }; diff --git a/addons/medical/functions/fnc_actionUnloadUnit.sqf b/addons/medical/functions/fnc_actionUnloadUnit.sqf index 2039c60ffe..75fe76bce9 100644 --- a/addons/medical/functions/fnc_actionUnloadUnit.sqf +++ b/addons/medical/functions/fnc_actionUnloadUnit.sqf @@ -21,4 +21,4 @@ params ["_caller", "_target", ["_drag", false]]; if (vehicle _target == _target) exitWith {}; if (([_target] call EFUNC(common,isAwake))) exitWith {}; -["unloadPersonEvent", [_target, vehicle _target, _caller], _target] call CBA_fnc_targetEvent; +["ace_unloadPersonEvent", [_target, vehicle _target, _caller], _target] call CBA_fnc_targetEvent; diff --git a/addons/medical/functions/fnc_addHeartRateAdjustment.sqf b/addons/medical/functions/fnc_addHeartRateAdjustment.sqf index 2dd1abb29a..2665a1cb7c 100644 --- a/addons/medical/functions/fnc_addHeartRateAdjustment.sqf +++ b/addons/medical/functions/fnc_addHeartRateAdjustment.sqf @@ -22,4 +22,4 @@ params [["_unit", objNull, [objNull]], ["_value", 0, [0]], ["_time", 1, [0]], [" _adjustment = _unit getVariable [QGVAR(heartRateAdjustments), []]; _adjustment pushBack [_value, _time, _callBack]; _unit setVariable [QGVAR(heartRateAdjustments), _adjustment ]; -["Medical_onHeartRateAdjustmentAdded", [_unit, _value, _time]] call CBA_fnc_localEvent; +["ace_medical_onHeartRateAdjustmentAdded", [_unit, _value, _time]] call CBA_fnc_localEvent; diff --git a/addons/medical/functions/fnc_addToLog.sqf b/addons/medical/functions/fnc_addToLog.sqf index a38fd71924..d01a99202e 100644 --- a/addons/medical/functions/fnc_addToLog.sqf +++ b/addons/medical/functions/fnc_addToLog.sqf @@ -20,7 +20,7 @@ private ["_moment", "_logVarName", "_log","_newLog", "_logs"]; params ["_unit", "_type", "_message", "_arguments"]; if (!local _unit) exitWith { - ["addToMedicalLog", _this, _unit] call CBA_fnc_targetEvent; + ["ace_addToMedicalLog", _this, _unit] call CBA_fnc_targetEvent; }; date params ["", "", "", "_hour", "_minute"]; @@ -43,7 +43,7 @@ if (count _log >= 8) then { _log pushBack [_message, _moment, _type, _arguments]; _unit setVariable [_logVarName, _log, true]; -["medical_onLogEntryAdded", [_unit, _type, _message, _arguments]] call CBA_fnc_localEvent; +["ace_medical_onLogEntryAdded", [_unit, _type, _message, _arguments]] call CBA_fnc_localEvent; _logs = _unit getVariable [QGVAR(allLogs), []]; if !(_logVarName in _logs) then { diff --git a/addons/medical/functions/fnc_addToTriageCard.sqf b/addons/medical/functions/fnc_addToTriageCard.sqf index 3b335b503f..cf9fc4e0f1 100644 --- a/addons/medical/functions/fnc_addToTriageCard.sqf +++ b/addons/medical/functions/fnc_addToTriageCard.sqf @@ -18,7 +18,7 @@ private ["_log", "_inList", "_amount"]; params ["_unit", "_newItem"]; if (!local _unit) exitWith { - ["addToTriageCard", _this, _unit] call CBA_fnc_targetEvent; + ["ace_addToTriageCard", _this, _unit] call CBA_fnc_targetEvent; }; _log = _unit getVariable [QGVAR(triageCard), []]; @@ -41,4 +41,4 @@ if (!_inList) then { _log pushBack [_newItem, 1, ACE_gameTime]; }; _unit setVariable [QGVAR(triageCard), _log, true]; -["Medical_onItemAddedToTriageCard", [_unit, _newItem, _amount]] call CBA_fnc_localEvent; +["ace_medical_onItemAddedToTriageCard", [_unit, _newItem, _amount]] call CBA_fnc_localEvent; diff --git a/addons/medical/functions/fnc_addVitalLoop.sqf b/addons/medical/functions/fnc_addVitalLoop.sqf index 96115cc3b8..e261adf7af 100644 --- a/addons/medical/functions/fnc_addVitalLoop.sqf +++ b/addons/medical/functions/fnc_addVitalLoop.sqf @@ -18,7 +18,7 @@ params ["_unit", ["_force", false]]; if !([_unit] call FUNC(hasMedicalEnabled) || _force) exitWith {}; if !(local _unit) exitWith { - ["addVitalLoop", [_unit, _force], _unit] call CBA_fnc_targetEvent; + ["ace_addVitalLoop", [_unit, _force], _unit] call CBA_fnc_targetEvent; }; // Quit if the unit already has a vital loop, or is dead, unless it's forced diff --git a/addons/medical/functions/fnc_displayPatientInformation.sqf b/addons/medical/functions/fnc_displayPatientInformation.sqf index 82e1f34e5d..dc13e944dd 100644 --- a/addons/medical/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical/functions/fnc_displayPatientInformation.sqf @@ -42,7 +42,7 @@ if (_show) then { if (ACE_player distance _target > MAX_DISTANCE) exitwith { ("ACE_MedicalRscDisplayInformation" call BIS_fnc_rscLayer) cutText ["","PLAIN"]; [_idPFH] call CBA_fnc_removePerFrameHandler; - ["displayTextStructured", [[LSTRING(DistanceToFar), [_target] call EFUNC(common,getName)], 1.75, ACE_player], [ACE_player]] call CBA_fnc_targetEvent; + ["ace_displayTextStructured", [[LSTRING(DistanceToFar), [_target] call EFUNC(common,getName)], 1.75, ACE_player], [ACE_player]] call CBA_fnc_targetEvent; }; disableSerialization; diff --git a/addons/medical/functions/fnc_onWoundUpdateRequest.sqf b/addons/medical/functions/fnc_onWoundUpdateRequest.sqf index 18edfce294..e0a28dfd18 100644 --- a/addons/medical/functions/fnc_onWoundUpdateRequest.sqf +++ b/addons/medical/functions/fnc_onWoundUpdateRequest.sqf @@ -19,6 +19,6 @@ params ["_unit", "_originOfrequest"]; if (local _unit && !(local _originOfrequest)) then { _openWounds = _unit getVariable [QGVAR(openWounds), []]; { - ["medical_propagateWound", [_unit, _x], [_originOfrequest]] call CBA_fnc_targetEvent; + ["ace_medical_propagateWound", [_unit, _x], [_originOfrequest]] call CBA_fnc_targetEvent; } forEach _openWounds; }; diff --git a/addons/medical/functions/fnc_requestWoundSync.sqf b/addons/medical/functions/fnc_requestWoundSync.sqf index 705a3b58ef..9f72c0b322 100644 --- a/addons/medical/functions/fnc_requestWoundSync.sqf +++ b/addons/medical/functions/fnc_requestWoundSync.sqf @@ -19,4 +19,4 @@ params [ "_target", "_caller"]; if (local _target || GVAR(level) < 2) exitWith {}; // if the target is local, we already got the most update to date information if (_target getVariable [QGVAR(isWoundSynced), false]) exitWith {}; _target setVariable [QGVAR(isWoundSynced), true]; -["medical_woundUpdateRequest", [_target, _caller], [_target]] call CBA_fnc_targetEvent; +["ace_medical_woundUpdateRequest", [_target, _caller], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/medical/functions/fnc_serverRemoveBody.sqf b/addons/medical/functions/fnc_serverRemoveBody.sqf index a5ae69259a..c37d14cde8 100644 --- a/addons/medical/functions/fnc_serverRemoveBody.sqf +++ b/addons/medical/functions/fnc_serverRemoveBody.sqf @@ -21,7 +21,7 @@ params ["_target"]; TRACE_2("",_target,isPlayer _target); //Hide the body globaly -["hideObjectGlobal", [_target, true]] call CBA_fnc_serverEvent; +["ace_hideObjectGlobal", [_target, true]] call CBA_fnc_serverEvent; if (isNil QGVAR(bodiesToDelete)) then {GVAR(bodiesToDelete) = [];}; GVAR(bodiesToDelete) pushBack _target; diff --git a/addons/medical/functions/fnc_setCardiacArrest.sqf b/addons/medical/functions/fnc_setCardiacArrest.sqf index 318a3a506d..e861635f79 100644 --- a/addons/medical/functions/fnc_setCardiacArrest.sqf +++ b/addons/medical/functions/fnc_setCardiacArrest.sqf @@ -21,7 +21,7 @@ if (_unit getVariable [QGVAR(inCardiacArrest),false]) exitWith {}; _unit setVariable [QGVAR(inCardiacArrest), true,true]; _unit setVariable [QGVAR(heartRate), 0]; -["Medical_onEnteredCardiacArrest", [_unit]] call CBA_fnc_localEvent; +["ace_medical_onEnteredCardiacArrest", [_unit]] call CBA_fnc_localEvent; [_unit, true] call FUNC(setUnconscious); _timeInCardiacArrest = 120 + round(random(600)); diff --git a/addons/medical/functions/fnc_setDead.sqf b/addons/medical/functions/fnc_setDead.sqf index 3ee1e8481d..5683d7331a 100644 --- a/addons/medical/functions/fnc_setDead.sqf +++ b/addons/medical/functions/fnc_setDead.sqf @@ -20,7 +20,7 @@ params ["_unit", ["_force", false], ["_delaySetDamage", false]]; if ((!alive _unit) || {_unit getVariable ["ACE_isDead", false]}) exitWith {true}; if (!local _unit) exitwith { - ["setDead", [_unit, _force], _unit] call CBA_fnc_targetEvent; + ["ace_setDead", [_unit, _force], _unit] call CBA_fnc_targetEvent; false; }; @@ -51,7 +51,7 @@ if (isPLayer _unit) then { _unit setVariable ["isDeadPlayer", true, true]; }; -["medical_onSetDead", [_unit]] call CBA_fnc_localEvent; +["ace_medical_onSetDead", [_unit]] call CBA_fnc_localEvent; //Delay a frame before killing the unit via scripted damage //to avoid triggering the "Killed" Event twice (and having the wrong killer) diff --git a/addons/medical/functions/fnc_setHitPointDamage.sqf b/addons/medical/functions/fnc_setHitPointDamage.sqf index 97d0c20b14..6ded061bb4 100644 --- a/addons/medical/functions/fnc_setHitPointDamage.sqf +++ b/addons/medical/functions/fnc_setHitPointDamage.sqf @@ -26,7 +26,7 @@ params ["_unit", "_selection", "_damage", ["_disabled", false]]; // Unit isn't local, give function to machine where it is. if !(local _unit) exitWith { - ["setHitPointDamage", _this, _unit] call CBA_fnc_targetEvent; + ["ace_setHitPointDamage", _this, _unit] call CBA_fnc_targetEvent; }; // Check if overall damage adjustment is disabled diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 7a3f4f17dd..69f745ed01 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -39,7 +39,7 @@ if !(_set) exitWith { if !(!(isNull _unit) && {(_unit isKindOf "CAManBase") && ([_unit] call EFUNC(common,isAwake))}) exitWith{}; if (!local _unit) exitWith { - ["setUnconscious", [_unit, _set, _minWaitingTime, _force], _unit] call CBA_fnc_targetEvent; + ["ace_setUnconscious", [_unit, _set, _minWaitingTime, _force], _unit] call CBA_fnc_targetEvent; }; _unit setVariable ["ACE_isUnconscious", true, true]; @@ -122,4 +122,4 @@ _startingTime = ACE_time; // unconscious can't talk [_unit, "isUnconscious"] call EFUNC(common,muteUnit); -["medical_onUnconscious", [_unit, true]] call CBA_fnc_globalEvent; +["ace_medical_onUnconscious", [_unit, true]] call CBA_fnc_globalEvent; diff --git a/addons/medical/functions/fnc_treatment.sqf b/addons/medical/functions/fnc_treatment.sqf index f59a540bdc..46967d3c4f 100644 --- a/addons/medical/functions/fnc_treatment.sqf +++ b/addons/medical/functions/fnc_treatment.sqf @@ -239,7 +239,7 @@ if (_target != _caller) then { }; if (_displayText != "") then { - ["displayTextStructured", [[_displayText, [_caller] call EFUNC(common,getName), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; + ["ace_displayTextStructured", [[_displayText, [_caller] call EFUNC(common,getName), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; }; true; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf b/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf index 599f7fdad9..1c041b05b9 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf @@ -22,9 +22,9 @@ if (alive _target && {(_target getVariable [QGVAR(inCardiacArrest), false] || _t [_target, "activity_view", LSTRING(Activity_cpr), [[_caller, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); if (local _target) then { - ["treatmentAdvanced_CPRLocal", [_caller, _target]] call CBA_fnc_localEvent; + ["ace_treatmentAdvanced_CPRLocal", [_caller, _target]] call CBA_fnc_localEvent; } else { - ["treatmentAdvanced_CPRLocal", [_caller, _target], _target] call CBA_fnc_targetEvent; + ["ace_treatmentAdvanced_CPRLocal", [_caller, _target], _target] call CBA_fnc_targetEvent; }; }; true; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf index bebc2d88a0..c387649705 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf @@ -27,9 +27,9 @@ if !([_target] call FUNC(hasMedicalEnabled)) exitWith { }; if (local _target) then { - ["treatmentAdvanced_bandageLocal", [_target, _className, _selectionName, _specificSpot]] call CBA_fnc_localEvent; + ["ace_treatmentAdvanced_bandageLocal", [_target, _className, _selectionName, _specificSpot]] call CBA_fnc_localEvent; } else { - ["treatmentAdvanced_bandageLocal", [_target, _className, _selectionName, _specificSpot], _target] call CBA_fnc_targetEvent; + ["ace_treatmentAdvanced_bandageLocal", [_target, _className, _selectionName, _specificSpot], _target] call CBA_fnc_targetEvent; }; /* { diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf index c657dfc8da..eeeeb431bb 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandageLocal.sqf @@ -90,7 +90,7 @@ _openWounds set [_mostEffectiveSpot, _mostEffectiveInjury]; _target setVariable [QGVAR(openWounds), _openWounds, !USE_WOUND_EVENT_SYNC]; if (USE_WOUND_EVENT_SYNC) then { - ["medical_propagateWound", [_target, _mostEffectiveInjury]] call CBA_fnc_globalEvent; + ["ace_medical_propagateWound", [_target, _mostEffectiveInjury]] call CBA_fnc_globalEvent; }; // Handle the reopening of bandaged wounds if (_impact > 0 && {GVAR(enableAdvancedWounds)}) then { diff --git a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf index 6e7146719d..a9ef6ee3a4 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf @@ -13,9 +13,9 @@ params ["_caller", "_target", "_selectionName", "_className", "_items"]; if (local _target) then { - ["treatmentAdvanced_fullHealLocal", [_caller, _target]] call CBA_fnc_localEvent; + ["ace_treatmentAdvanced_fullHealLocal", [_caller, _target]] call CBA_fnc_localEvent; } else { - ["treatmentAdvanced_fullHealLocal", [_caller, _target], _target] call CBA_fnc_targetEvent; + ["ace_treatmentAdvanced_fullHealLocal", [_caller, _target], _target] call CBA_fnc_targetEvent; }; true; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf index 95948c465c..2365eaea5d 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf @@ -22,7 +22,7 @@ TRACE_5("params",_caller,_target,_selectionName,_className,_items); private _part = [_selectionName] call FUNC(selectionNameToNumber); -["treatmentAdvanced_medicationLocal", [_target, _className, _part], [_target]] call CBA_fnc_targetEvent; +["ace_treatmentAdvanced_medicationLocal", [_target, _className, _part], [_target]] call CBA_fnc_targetEvent; { if (_x != "") then { diff --git a/addons/medical/functions/fnc_treatmentBasic_bandage.sqf b/addons/medical/functions/fnc_treatmentBasic_bandage.sqf index 16d2192a2b..d7a87bd3c8 100644 --- a/addons/medical/functions/fnc_treatmentBasic_bandage.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_bandage.sqf @@ -21,7 +21,7 @@ private ["_hitSelections", "_hitPoints", "_point", "_damage"]; params ["_caller", "_target", "_selection", "_className"]; if (local _target) then { - ["treatmentBasic_bandageLocal", [_target, _selection]] call CBA_fnc_localEvent; + ["ace_treatmentBasic_bandageLocal", [_target, _selection]] call CBA_fnc_localEvent; } else { - ["treatmentBasic_bandageLocal", [_target, _selection], _target] call CBA_fnc_targetEvent; + ["ace_treatmentBasic_bandageLocal", [_target, _selection], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf b/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf index 94353055c0..9a65a9deb4 100644 --- a/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf @@ -19,7 +19,7 @@ params ["_caller", "_target", "_treatmentClassname"]; if (local _target) then { - ["treatmentBasic_bloodbagLocal", [_target, _treatmentClassname]] call CBA_fnc_localEvent; + ["ace_treatmentBasic_bloodbagLocal", [_target, _treatmentClassname]] call CBA_fnc_localEvent; } else { - ["treatmentBasic_bloodbagLocal", [_target, _treatmentClassname], _target] call CBA_fnc_targetEvent; + ["ace_treatmentBasic_bloodbagLocal", [_target, _treatmentClassname], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_treatmentBasic_morphine.sqf b/addons/medical/functions/fnc_treatmentBasic_morphine.sqf index 20e6d44f96..4d424923da 100644 --- a/addons/medical/functions/fnc_treatmentBasic_morphine.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_morphine.sqf @@ -20,7 +20,7 @@ params ["_caller", "_target"]; if (local _target) then { - ["treatmentBasic_morphineLocal", [_target]] call CBA_fnc_localEvent; + ["ace_treatmentBasic_morphineLocal", [_target]] call CBA_fnc_localEvent; } else { - ["treatmentBasic_morphineLocal", [_target], _target] call CBA_fnc_targetEvent; + ["ace_treatmentBasic_morphineLocal", [_target], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_treatmentIV.sqf b/addons/medical/functions/fnc_treatmentIV.sqf index d584caca83..3f5c4d2493 100644 --- a/addons/medical/functions/fnc_treatmentIV.sqf +++ b/addons/medical/functions/fnc_treatmentIV.sqf @@ -23,9 +23,9 @@ if (count _items == 0) exitWith {false}; _removeItem = _items select 0; if (local _target) then { - ["treatmentIVLocal", [_target, _className]] call CBA_fnc_localEvent; + ["ace_treatmentIVLocal", [_target, _className]] call CBA_fnc_localEvent; } else { - ["treatmentIVLocal", [_target, _className], _target] call CBA_fnc_targetEvent; + ["ace_treatmentIVLocal", [_target, _className], _target] call CBA_fnc_targetEvent; }; [_target, _removeItem] call FUNC(addToTriageCard); diff --git a/addons/medical/functions/fnc_treatmentTourniquet.sqf b/addons/medical/functions/fnc_treatmentTourniquet.sqf index b866aa65af..98b5a22411 100644 --- a/addons/medical/functions/fnc_treatmentTourniquet.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquet.sqf @@ -28,22 +28,22 @@ if (count _items == 0) exitWith {false}; _part = [_selectionName] call FUNC(selectionNameToNumber); if (_part == 0 || _part == 1) exitWith { - // ["displayTextStructured", ["You cannot apply a CAT on this body part!"], [_caller]] call CBA_fnc_targetEvent; + // ["ace_displayTextStructured", ["You cannot apply a CAT on this body part!"], [_caller]] call CBA_fnc_targetEvent; false; }; _tourniquets = _target getVariable [QGVAR(tourniquets), [0,0,0,0,0,0]]; if ((_tourniquets select _part) > 0) exitWith { _output = "There is already a tourniquet on this body part!"; // TODO localization - ["displayTextStructured", [_output, 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; + ["ace_displayTextStructured", [_output, 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; false; }; _removeItem = _items select 0; if (local _target) then { - ["treatmentTourniquetLocal", [_target, _removeItem, _selectionName]] call CBA_fnc_localEvent; + ["ace_treatmentTourniquetLocal", [_target, _removeItem, _selectionName]] call CBA_fnc_localEvent; } else { - ["treatmentTourniquetLocal", [_target, _removeItem, _selectionName], _target] call CBA_fnc_targetEvent; + ["ace_treatmentTourniquetLocal", [_target, _removeItem, _selectionName], _target] call CBA_fnc_targetEvent; }; [_target, _removeItem] call FUNC(addToTriageCard); diff --git a/addons/medical/functions/fnc_treatment_success.sqf b/addons/medical/functions/fnc_treatment_success.sqf index aca94c5be6..0a857c1f18 100644 --- a/addons/medical/functions/fnc_treatment_success.sqf +++ b/addons/medical/functions/fnc_treatment_success.sqf @@ -95,4 +95,4 @@ if (!(_target getVariable [QGVAR(addedToUnitLoop),false])) then { [_target] call FUNC(addVitalLoop); }; -["medical_treatmentSuccess", [_caller, _target, _selectionName, _className]] call CBA_fnc_localEvent; +["ace_medical_treatmentSuccess", [_caller, _target, _selectionName, _className]] call CBA_fnc_localEvent; diff --git a/addons/medical/functions/fnc_unconsciousPFH.sqf b/addons/medical/functions/fnc_unconsciousPFH.sqf index bda65fe477..d278c2d7d6 100644 --- a/addons/medical/functions/fnc_unconsciousPFH.sqf +++ b/addons/medical/functions/fnc_unconsciousPFH.sqf @@ -39,7 +39,7 @@ if (!alive _unit) exitWith { _unit setUnconscious false; [_unit, "isUnconscious"] call EFUNC(common,unmuteUnit); - ["medical_onUnconscious", [_unit, false]] call CBA_fnc_globalEvent; + ["ace_medical_onUnconscious", [_unit, false]] call CBA_fnc_globalEvent; TRACE_3("ACE_DEBUG_Unconscious_Exit",_unit, (!alive _unit) , QGVAR(unconscious)); @@ -96,7 +96,7 @@ if !(_unit getVariable ["ACE_isUnconscious",false]) exitWith { }; _unit setVariable [QGVAR(vehicleAwakeAnim), nil]; - ["medical_onUnconscious", [_unit, false]] call CBA_fnc_globalEvent; + ["ace_medical_onUnconscious", [_unit, false]] call CBA_fnc_globalEvent; // EXIT PFH [_idPFH] call CBA_fnc_removePerFrameHandler; }; diff --git a/addons/medical/functions/fnc_useItem.sqf b/addons/medical/functions/fnc_useItem.sqf index e5ee6b0517..8ab8b3cb3d 100644 --- a/addons/medical/functions/fnc_useItem.sqf +++ b/addons/medical/functions/fnc_useItem.sqf @@ -25,18 +25,18 @@ if (isNil QGVAR(setting_allowSharedEquipment)) then { if (GVAR(setting_allowSharedEquipment) && {[_patient, _item] call EFUNC(common,hasItem)}) exitWith { if (local _patient) then { - ["useItem", [_patient, _item]] call CBA_fnc_localEvent; + ["ace_useItem", [_patient, _item]] call CBA_fnc_localEvent; } else { - ["useItem", [_patient, _item], _patient] call CBA_fnc_targetEvent; + ["ace_useItem", [_patient, _item], _patient] call CBA_fnc_targetEvent; }; [true, _patient]; }; if ([_medic, _item] call EFUNC(common,hasItem)) exitWith { if (local _medic) then { - ["useItem", [_medic, _item]] call CBA_fnc_localEvent; + ["ace_useItem", [_medic, _item]] call CBA_fnc_localEvent; } else { - ["useItem", [_medic, _item], _medic] call CBA_fnc_targetEvent; + ["ace_useItem", [_medic, _item], _medic] call CBA_fnc_targetEvent; }; [true, _medic]; }; @@ -48,9 +48,9 @@ if ([vehicle _medic] call FUNC(isMedicalVehicle) && {vehicle _medic != _medic}) if ([_medic, _x] call FUNC(canAccessMedicalEquipment) && {([_x, _item] call EFUNC(common,hasItem))}) exitWith { _return = [true, _x]; if (local _x) then { - ["useItem", [_x, _item]] call CBA_fnc_localEvent; + ["ace_useItem", [_x, _item]] call CBA_fnc_localEvent; } else { - ["useItem", [_x, _item], _x] call CBA_fnc_targetEvent; + ["ace_useItem", [_x, _item], _x] call CBA_fnc_targetEvent; }; }; } forEach _crew; diff --git a/addons/medical_menu/XEH_postInit.sqf b/addons/medical_menu/XEH_postInit.sqf index 864218c23a..c2ad5a78b5 100644 --- a/addons/medical_menu/XEH_postInit.sqf +++ b/addons/medical_menu/XEH_postInit.sqf @@ -6,7 +6,7 @@ GVAR(MenuPFHID) = -1; GVAR(lastOpenedOn) = -1; GVAR(pendingReopen) = false; -["medical_treatmentSuccess", { +["ace_medical_treatmentSuccess", { if (GVAR(openAfterTreatment) && {GVAR(pendingReopen)}) then { GVAR(pendingReopen) = false; diff --git a/addons/medical_menu/config.cpp b/addons/medical_menu/config.cpp index 27e0db03b9..960ff0bf71 100644 --- a/addons/medical_menu/config.cpp +++ b/addons/medical_menu/config.cpp @@ -16,3 +16,9 @@ class CfgPatches { #include "ui\menu.hpp" #include "ACE_Settings.hpp" #include "CfgVehicles.hpp" + +class ACE_newEvents { + medical_treatmentSuccess = "ace_medical_treatmentSuccess"; + Medical_onMenuOpen = "ace_medical_onMenuOpen"; + displayTextStructured = "ace_displayTextStructured"; +}; \ No newline at end of file diff --git a/addons/medical_menu/functions/fnc_onMenuOpen.sqf b/addons/medical_menu/functions/fnc_onMenuOpen.sqf index f8b38d46fe..33e934afe5 100644 --- a/addons/medical_menu/functions/fnc_onMenuOpen.sqf +++ b/addons/medical_menu/functions/fnc_onMenuOpen.sqf @@ -81,10 +81,10 @@ GVAR(MenuPFHID) = [{ closeDialog 314412; //If we failed because of distance check, show UI message: if ((ACE_player distance GVAR(INTERACTION_TARGET)) > GVAR(maxRange)) then { - ["displayTextStructured", [[ELSTRING(medical,DistanceToFar), [GVAR(INTERACTION_TARGET)] call EFUNC(common,getName)], 2, ACE_player]] call CBA_fnc_localEvent; + ["ace_displayTextStructured", [[ELSTRING(medical,DistanceToFar), [GVAR(INTERACTION_TARGET)] call EFUNC(common,getName)], 2, ACE_player]] call CBA_fnc_localEvent; }; }; }, 0, [_display]] call CBA_fnc_addPerFrameHandler; -["Medical_onMenuOpen", [ACE_player, _target]] call CBA_fnc_localEvent; +["ace_medical_onMenuOpen", [ACE_player, _target]] call CBA_fnc_localEvent; diff --git a/addons/microdagr/XEH_clientInit.sqf b/addons/microdagr/XEH_clientInit.sqf index aecfc8141c..6f52de1776 100644 --- a/addons/microdagr/XEH_clientInit.sqf +++ b/addons/microdagr/XEH_clientInit.sqf @@ -20,7 +20,7 @@ _closeCode = { //Add Eventhandler: -["RangerfinderData", {_this call FUNC(recieveRangefinderData)}] call CBA_fnc_addEventHandler; +["ace_rangerfinderData", {_this call FUNC(recieveRangefinderData)}] call CBA_fnc_addEventHandler; //Global Variables to default: GVAR(gpsPositionASL) = [0,0,0]; diff --git a/addons/microdagr/config.cpp b/addons/microdagr/config.cpp index 7a39df8980..ecb4ac2e97 100644 --- a/addons/microdagr/config.cpp +++ b/addons/microdagr/config.cpp @@ -17,3 +17,7 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "gui.hpp" #include "ACE_Settings.hpp" + +class ACE_newEvents { + RangerfinderData = "ace_rangerfinderData"; +}; \ No newline at end of file diff --git a/addons/mk6mortar/XEH_postInit.sqf b/addons/mk6mortar/XEH_postInit.sqf index 4d0216d00a..c5bcf134ac 100644 --- a/addons/mk6mortar/XEH_postInit.sqf +++ b/addons/mk6mortar/XEH_postInit.sqf @@ -15,9 +15,9 @@ _static setMagazineTurretAmmo [_magazine, _ammoCount, [0]]; }] call CBA_fnc_addEventHandler; -["initMortar", {_this call FUNC(mortarInit);}] call CBA_fnc_addEventHandler; +["ace_initMortar", {_this call FUNC(mortarInit);}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; -["playerVehicleChanged", {_this call FUNC(handlePlayerVehicleChanged);}] call CBA_fnc_addEventHandler; -["infoDisplayChanged", {_this call FUNC(turretDisplayLoaded);}] call CBA_fnc_addEventHandler; +["ace_playerVehicleChanged", {_this call FUNC(handlePlayerVehicleChanged);}] call CBA_fnc_addEventHandler; +["ace_infoDisplayChanged", {_this call FUNC(turretDisplayLoaded);}] call CBA_fnc_addEventHandler; diff --git a/addons/mk6mortar/config.cpp b/addons/mk6mortar/config.cpp index 102875a195..d108c81ff3 100644 --- a/addons/mk6mortar/config.cpp +++ b/addons/mk6mortar/config.cpp @@ -32,3 +32,10 @@ class RscStructuredText; #include "RscInGameUI.hpp" #include "RscRangeTable.hpp" + +class ACE_newEvents { + infoDisplayChanged = "ace_infoDisplayChanged"; + playerVehicleChanged = "ace_playerVehicleChanged"; + initMortar = "ace_initMortar"; + initMortar = "ace_initMortar"; +}; \ No newline at end of file diff --git a/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf index 8c3dfbae8c..eb5d584e76 100644 --- a/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf +++ b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf @@ -29,7 +29,7 @@ if (!(_newVehicle getVariable [QGVAR(initialized),false]) && !(_newVehicle getVa if (GVAR(useAmmoHandling) && {!(_mortar getVariable [QGVAR(initialized),false]) && !(_mortar getVariable [QGVAR(exclude),false])}) then { //wait for proper turret locality change [{ - ["initMortar", [_this], [_this]] call CBA_fnc_globalEvent; + ["ace_initMortar", [_this], [_this]] call CBA_fnc_globalEvent; }, _mortar, 0.05] call EFUNC(common,waitAndExecute); }; }, _newVehicle] call EFUNC(common,runAfterSettingsInit); diff --git a/addons/modules/XEH_postInit.sqf b/addons/modules/XEH_postInit.sqf index 1bd8862fe1..8eabe08f0d 100644 --- a/addons/modules/XEH_postInit.sqf +++ b/addons/modules/XEH_postInit.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" -["InitSettingsFromModules", { +["ace_initSettingsFromModules", { // TODO This is a basic and limited implementation that mimics some of the functionality from the A3 module framework, but not all of it. // We have to execute this in the postInit XEH because on object init, the parameters of the modules are not yet available. They are if we execute it at the start of postInit execution. diff --git a/addons/modules/config.cpp b/addons/modules/config.cpp index d25e193d32..d09fcbd5f1 100644 --- a/addons/modules/config.cpp +++ b/addons/modules/config.cpp @@ -25,4 +25,7 @@ class CfgVehicles { }; }; -#include "CfgEventHandlers.hpp" \ No newline at end of file +#include "CfgEventHandlers.hpp" +class ACE_newEvents { + InitSettingsFromModules = "ace_initSettingsFromModules"; +}; \ No newline at end of file diff --git a/addons/movement/XEH_postInit.sqf b/addons/movement/XEH_postInit.sqf index 3da8465c4b..3b18cb937b 100644 --- a/addons/movement/XEH_postInit.sqf +++ b/addons/movement/XEH_postInit.sqf @@ -3,8 +3,8 @@ if (!hasInterface) exitWith {}; -["playerChanged", FUNC(handleVirtualMass)] call CBA_fnc_addEventHandler; -["playerInventoryChanged", FUNC(handleVirtualMass)] call CBA_fnc_addEventHandler; +["ace_playerChanged", FUNC(handleVirtualMass)] call CBA_fnc_addEventHandler; +["ace_playerInventoryChanged", FUNC(handleVirtualMass)] call CBA_fnc_addEventHandler; ["ACE3 Movement", QGVAR(climb), localize LSTRING(Climb), { diff --git a/addons/movement/config.cpp b/addons/movement/config.cpp index 8ea42fbf0c..bca174c422 100644 --- a/addons/movement/config.cpp +++ b/addons/movement/config.cpp @@ -18,3 +18,8 @@ class CfgPatches { #include "CfgMoves.hpp" #include "CfgVehicles.hpp" #include "ACE_Settings.hpp" + +class ACE_newEvents { + playerInventoryChanged = "ace_playerInventoryChanged"; + playerChanged = "ace_playerChanged"; +}; \ No newline at end of file diff --git a/addons/nametags/XEH_postInit.sqf b/addons/nametags/XEH_postInit.sqf index 9b497c0da1..7b3dfe71d3 100644 --- a/addons/nametags/XEH_postInit.sqf +++ b/addons/nametags/XEH_postInit.sqf @@ -23,7 +23,7 @@ GVAR(showNamesTime) = -10; [29, [false, false, false]], false] call CBA_fnc_addKeybind; //LeftControl Key // Wait until the colors are defined before starting to draw the nametags -["SettingsInitialized", { +["ace_settingsInitialized", { // Draw handle call FUNC(updateSettings); }] call CBA_fnc_addEventHandler; diff --git a/addons/nametags/config.cpp b/addons/nametags/config.cpp index a2d38254f1..b3abf02a7a 100644 --- a/addons/nametags/config.cpp +++ b/addons/nametags/config.cpp @@ -17,3 +17,7 @@ class CfgPatches { #include "CfgVehicles.hpp" #include + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; +}; \ No newline at end of file diff --git a/addons/nightvision/XEH_postInitClient.sqf b/addons/nightvision/XEH_postInitClient.sqf index 85e4e768cc..3c19f7969b 100644 --- a/addons/nightvision/XEH_postInitClient.sqf +++ b/addons/nightvision/XEH_postInitClient.sqf @@ -29,8 +29,8 @@ GVAR(ppEffectMuzzleFlash) ppEffectAdjust [1, 1, 0, [0, 0, 0, 0], [0, 0, 0, 1], [ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0; // Setup the event handlers -["playerInventoryChanged", FUNC(updatePPEffects)] call CBA_fnc_addEventHandler; -["playerVisionModeChanged", { +["ace_playerInventoryChanged", FUNC(updatePPEffects)] call CBA_fnc_addEventHandler; +["ace_playerVisionModeChanged", { _this call FUNC(updatePPEffects); _this call FUNC(onVisionModeChanged); }] call CBA_fnc_addEventHandler; @@ -39,8 +39,8 @@ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0; _this call FUNC(updatePPEffects); _this call FUNC(onCameraViewChanged); }] call CBA_fnc_addEventHandler; -["playerVehicleChanged", {_this call FUNC(updatePPEffects)}] call CBA_fnc_addEventHandler; -["playerTurretChanged", {_this call FUNC(updatePPEffects)}] call CBA_fnc_addEventHandler; +["ace_playerVehicleChanged", {_this call FUNC(updatePPEffects)}] call CBA_fnc_addEventHandler; +["ace_playerTurretChanged", {_this call FUNC(updatePPEffects)}] call CBA_fnc_addEventHandler; // Add keybinds ["ACE3 Equipment", QGVAR(IncreaseNVGBrightness), localize LSTRING(IncreaseNVGBrightness), @@ -72,5 +72,5 @@ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0; [209, [false, false, true]], false] call CBA_fnc_addKeybind; //PageDown + ALT // Register fire event handler -["firedPlayer", DFUNC(blending)] call CBA_fnc_addEventHandler; -["firedPlayerVehicle", DFUNC(blending)] call CBA_fnc_addEventHandler; +["ace_firedPlayer", DFUNC(blending)] call CBA_fnc_addEventHandler; +["ace_firedPlayerVehicle", DFUNC(blending)] call CBA_fnc_addEventHandler; diff --git a/addons/nightvision/config.cpp b/addons/nightvision/config.cpp index 1edeca6e5b..a70cda0836 100644 --- a/addons/nightvision/config.cpp +++ b/addons/nightvision/config.cpp @@ -16,3 +16,12 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" #include "ACE_Settings.hpp" + +class ACE_newEvents { + playerVisionModeChanged = "ace_playerVisionModeChanged"; + firedPlayerVehicle = "ace_firedPlayerVehicle"; + firedPlayer = "ace_firedPlayer"; + playerTurretChanged = "ace_playerTurretChanged"; + playerVehicleChanged = "ace_playerVehicleChanged"; + playerInventoryChanged = "ace_playerInventoryChanged"; +}; \ No newline at end of file diff --git a/addons/optics/XEH_postInit.sqf b/addons/optics/XEH_postInit.sqf index 0e37839dca..ae4c835072 100644 --- a/addons/optics/XEH_postInit.sqf +++ b/addons/optics/XEH_postInit.sqf @@ -28,7 +28,7 @@ GVAR(camera) = objNull; }; // save control for fired EH -["infoDisplayChanged", { +["ace_infoDisplayChanged", { if (!isNull ((_this select 0) displayCtrl 1713001)) then { uiNamespace setVariable [QGVAR(RscWeaponInfo2D), _this select 0]; }; @@ -52,4 +52,4 @@ GVAR(camera) = objNull; }] call CBA_fnc_addEventHandler; // Register fire event handler -["firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; +["ace_firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; diff --git a/addons/optics/config.cpp b/addons/optics/config.cpp index 79f71842ee..382f97e555 100644 --- a/addons/optics/config.cpp +++ b/addons/optics/config.cpp @@ -33,3 +33,8 @@ class CfgPatches { #include "CfgJointRails.hpp" #include "CfgPreloadTextures.hpp" + +class ACE_newEvents { + infoDisplayChanged = "ace_infoDisplayChanged"; + firedPlayer = "ace_firedPlayer"; +}; \ No newline at end of file diff --git a/addons/optionsmenu/XEH_postInit.sqf b/addons/optionsmenu/XEH_postInit.sqf index 90365be262..2ef332446a 100644 --- a/addons/optionsmenu/XEH_postInit.sqf +++ b/addons/optionsmenu/XEH_postInit.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" -["SettingsInitialized", { +["ace_settingsInitialized", { GVAR(categories) pushBack ""; //Ensure All Catagories is at top { if !(_x select 8 in GVAR(categories)) then { diff --git a/addons/optionsmenu/config.cpp b/addons/optionsmenu/config.cpp index 4acfef321f..d4e49b90de 100644 --- a/addons/optionsmenu/config.cpp +++ b/addons/optionsmenu/config.cpp @@ -39,3 +39,7 @@ class CfgCommands { "http://ace3mod.com/version.html" }; }; + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; +}; \ No newline at end of file diff --git a/addons/overheating/XEH_postInit.sqf b/addons/overheating/XEH_postInit.sqf index e2fd88f596..c42ce1f9fd 100644 --- a/addons/overheating/XEH_postInit.sqf +++ b/addons/overheating/XEH_postInit.sqf @@ -19,7 +19,7 @@ if (hasInterface) then { [19, [true, false, false]], false] call CBA_fnc_addKeybind; //SHIFT + R Key }; -["SettingsInitialized", { +["ace_settingsInitialized", { TRACE_1("SettingsInitialized eh", GVAR(enabled)); if (!GVAR(enabled)) exitWith {}; @@ -35,8 +35,8 @@ if (hasInterface) then { GVAR(storedSpareBarrels) = [] call CBA_fnc_hashCreate; // Install event handlers for spare barrels - ["spareBarrelsSendTemperatureHint", FUNC(sendSpareBarrelsTemperaturesHint)] call CBA_fnc_addEventHandler; - ["spareBarrelsLoadCoolest", FUNC(loadCoolestSpareBarrel)] call CBA_fnc_addEventHandler; + ["ace_spareBarrelsSendTemperatureHint", FUNC(sendSpareBarrelsTemperaturesHint)] call CBA_fnc_addEventHandler; + ["ace_spareBarrelsLoadCoolest", FUNC(loadCoolestSpareBarrel)] call CBA_fnc_addEventHandler; // Schedule cool down calculation of stored spare barrels [] call FUNC(updateSpareBarrelsTemperaturesThread); @@ -52,18 +52,18 @@ if (hasInterface) then { ["CAManBase", "Take", {_this call FUNC(handleTakeEH);}] call CBA_fnc_addClassEventHandler; // Register fire event handler - ["firedPlayer", DFUNC(firedEH)] call CBA_fnc_addEventHandler; + ["ace_firedPlayer", DFUNC(firedEH)] call CBA_fnc_addEventHandler; // Only add eh to non local players if dispersion is enabled if (GVAR(overheatingDispersion)) then { - ["firedPlayerNonLocal", DFUNC(firedEH)] call CBA_fnc_addEventHandler; + ["ace_firedPlayerNonLocal", DFUNC(firedEH)] call CBA_fnc_addEventHandler; }; // Schedule cool down calculation of player weapons at (infrequent) regular intervals [] call FUNC(updateTemperatureThread); // Install event handler to display temp when a barrel was swapped - ["showWeaponTemperature", DFUNC(displayTemperature)] call CBA_fnc_addEventHandler; + ["ace_showWeaponTemperature", DFUNC(displayTemperature)] call CBA_fnc_addEventHandler; // Install event handler to initiate an assisted barrel swap - ["initiateSwapBarrelAssisted", DFUNC(swapBarrel)] call CBA_fnc_addEventHandler; + ["ace_initiateSwapBarrelAssisted", DFUNC(swapBarrel)] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler; diff --git a/addons/overheating/config.cpp b/addons/overheating/config.cpp index 673edcf77f..dcf9c64ea3 100644 --- a/addons/overheating/config.cpp +++ b/addons/overheating/config.cpp @@ -49,4 +49,18 @@ class CfgGesturesMale { speed = 0.3; }; }; +}; +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; + initiateSwapBarrelAssisted = "ace_initiateSwapBarrelAssisted"; + showWeaponTemperature = "ace_showWeaponTemperature"; + firedPlayerNonLocal = "ace_firedPlayerNonLocal"; + firedPlayer = "ace_firedPlayer"; + spareBarrelsLoadCoolest = "ace_spareBarrelsLoadCoolest"; + spareBarrelsSendTemperatureHint = "ace_spareBarrelsSendTemperatureHint"; + spareBarrelsLoadCoolest = "ace_spareBarrelsLoadCoolest"; + initiateSwapBarrelAssisted = "ace_initiateSwapBarrelAssisted"; + displayTextStructured = "ace_displayTextStructured"; + showWeaponTemperature = "ace_showWeaponTemperature"; + weaponJammed = "ace_weaponJammed"; }; \ No newline at end of file diff --git a/addons/overheating/functions/fnc_jamWeapon.sqf b/addons/overheating/functions/fnc_jamWeapon.sqf index e85bb12673..ba58231336 100644 --- a/addons/overheating/functions/fnc_jamWeapon.sqf +++ b/addons/overheating/functions/fnc_jamWeapon.sqf @@ -43,7 +43,7 @@ if (_ammo > 0) then { // only display the hint once, after you try to shoot an already jammed weapon GVAR(knowAboutJam) = false; -["weaponJammed", [_unit,_weapon]] call CBA_fnc_localEvent; +["ace_weaponJammed", [_unit,_weapon]] call CBA_fnc_localEvent; if (_unit getVariable [QGVAR(JammingActionID), -1] == -1) then { diff --git a/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf b/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf index ee314b9edf..c77a5dbed2 100644 --- a/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf +++ b/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf @@ -50,4 +50,4 @@ _gunner setVariable [format [QGVAR(%1_temp), _weapon], _coolestTemp, true]; [GVAR(storedSpareBarrels), _coolestMag, [_weaponTemp, ACE_Time, _barrelMass]] call CBA_fnc_hashSet; // Send an event so the machines of the assistant and gunner can show the hint -["showWeaponTemperature", _gunner], [_gunner, _weapon], [_assistant] call CBA_fnc_targetEvent; +["ace_showWeaponTemperature", _gunner], [_gunner, _weapon], [_assistant] call CBA_fnc_targetEvent; diff --git a/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf b/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf index 621f246432..77ef2199bf 100644 --- a/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf +++ b/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf @@ -73,4 +73,4 @@ if (_countExtremelyHot > 0) then { }; TRACE_1("_output",_output); -["displayTextStructured", [_output, _size, _player], [_player]] call CBA_fnc_targetEvent; +["ace_displayTextStructured", [_output, _size, _player], [_player]] call CBA_fnc_targetEvent; diff --git a/addons/overheating/functions/fnc_swapBarrelAssistant.sqf b/addons/overheating/functions/fnc_swapBarrelAssistant.sqf index 73a06e53d1..326afcae1c 100644 --- a/addons/overheating/functions/fnc_swapBarrelAssistant.sqf +++ b/addons/overheating/functions/fnc_swapBarrelAssistant.sqf @@ -30,4 +30,4 @@ playSound "ACE_BarrelSwap"; [3, [_assistant, _gunner, _weapon], {}, {}, (localize LSTRING(SwappingBarrel))] call EFUNC(common,progressBar); -["initiateSwapBarrelAssisted", [_assistant, _gunner, _weapon], _gunner] call CBA_fnc_targetEvent; +["ace_initiateSwapBarrelAssisted", [_assistant, _gunner, _weapon], _gunner] call CBA_fnc_targetEvent; diff --git a/addons/overheating/functions/fnc_swapBarrelCallback.sqf b/addons/overheating/functions/fnc_swapBarrelCallback.sqf index 6898ff648b..73cf5f6006 100644 --- a/addons/overheating/functions/fnc_swapBarrelCallback.sqf +++ b/addons/overheating/functions/fnc_swapBarrelCallback.sqf @@ -34,7 +34,7 @@ private _barrelMass = 0.50 * (getNumber (configFile >> "CfgWeapons" >> _weapon > // store the removed barrel with the former weapon temperature. The server // also updates the current weapon temperature to match that of the new // loaded barrel. -["spareBarrelsLoadCoolest", [_assistant, _gunner, _weapon, _temp, _barrelMass]] call CBA_fnc_serverEvent; +["ace_spareBarrelsLoadCoolest", [_assistant, _gunner, _weapon, _temp, _barrelMass]] call CBA_fnc_serverEvent; // Store the update time _gunner setVariable [format [QGVAR(%1_time), _weapon], ACE_time]; diff --git a/addons/overpressure/XEH_postInit.sqf b/addons/overpressure/XEH_postInit.sqf index 8e39b7fdcc..dd74ec5c3a 100644 --- a/addons/overpressure/XEH_postInit.sqf +++ b/addons/overpressure/XEH_postInit.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" -["overpressure", FUNC(overpressureDamage)] call CBA_fnc_addEventHandler; +["ace_overpressure", FUNC(overpressureDamage)] call CBA_fnc_addEventHandler; // Register fire event handler -["firedPlayer", DFUNC(firedEHBB)] call CBA_fnc_addEventHandler; -["firedPlayerVehicle", DFUNC(firedEHOP)] call CBA_fnc_addEventHandler; +["ace_firedPlayer", DFUNC(firedEHBB)] call CBA_fnc_addEventHandler; +["ace_firedPlayerVehicle", DFUNC(firedEHOP)] call CBA_fnc_addEventHandler; diff --git a/addons/overpressure/config.cpp b/addons/overpressure/config.cpp index 0524f6e4c9..443bee528d 100644 --- a/addons/overpressure/config.cpp +++ b/addons/overpressure/config.cpp @@ -14,3 +14,11 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgWeapons.hpp" + +class ACE_newEvents { + firedPlayerVehicle = "ace_firedPlayerVehicle"; + firedPlayer = "ace_firedPlayer"; + overpressure = "ace_overpressure"; + overpressure = "ace_overpressure"; + overpressure = "ace_overpressure"; +}; \ No newline at end of file diff --git a/addons/overpressure/functions/fnc_firedEHBB.sqf b/addons/overpressure/functions/fnc_firedEHBB.sqf index 4835b537e4..aa2997d0e7 100644 --- a/addons/overpressure/functions/fnc_firedEHBB.sqf +++ b/addons/overpressure/functions/fnc_firedEHBB.sqf @@ -37,7 +37,7 @@ private _direction = [0, 0, 0] vectorDiff (vectorDir _projectile); private _affected = (ASLtoAGL _position) nearEntities ["CAManBase", _backblastRange]; // Let each client handle their own affected units -["overpressure", [_unit, _position, _direction, _weapon, _magazine, _ammo], _affected] call CBA_fnc_targetEvent; +["ace_overpressure", [_unit, _position, _direction, _weapon, _magazine, _ammo], _affected] call CBA_fnc_targetEvent; // Damage to the firer private _distance = 2 * ([_position, _direction, _backblastRange, _unit] call FUNC(getDistance)); diff --git a/addons/overpressure/functions/fnc_firedEHOP.sqf b/addons/overpressure/functions/fnc_firedEHOP.sqf index 0b2b85a00c..b8c47a826b 100644 --- a/addons/overpressure/functions/fnc_firedEHOP.sqf +++ b/addons/overpressure/functions/fnc_firedEHOP.sqf @@ -40,7 +40,7 @@ private _direction = vectorDir _projectile; private _affected = (ASLtoAGL _position) nearEntities ["CAManBase", _dangerZoneRange]; // Let each client handle their own affected units -["overpressure", [_unit, _position, _direction, _weapon, _magazine, _ammo], _affected] call CBA_fnc_targetEvent; +["ace_overpressure", [_unit, _position, _direction, _weapon, _magazine, _ammo], _affected] call CBA_fnc_targetEvent; // Draw debug lines #ifdef DEBUG_MODE_FULL diff --git a/addons/parachute/XEH_postInit.sqf b/addons/parachute/XEH_postInit.sqf index e732f7ecdf..799acf92b6 100644 --- a/addons/parachute/XEH_postInit.sqf +++ b/addons/parachute/XEH_postInit.sqf @@ -33,7 +33,7 @@ if (!hasInterface) exitWith {}; [24, [false, false, false]], false] call CBA_fnc_addKeybind; GVAR(PFH) = false; -["playerVehicleChanged",{ +["ace_playerVehicleChanged",{ if (!GVAR(PFH) && {(vehicle ACE_player) isKindOf "ParachuteBase"}) then { GVAR(PFH) = true; [FUNC(onEachFrame), 0.1, []] call CALLSTACK(CBA_fnc_addPerFrameHandler); @@ -41,6 +41,6 @@ GVAR(PFH) = false; }] call CBA_fnc_addEventHandler; // don't show speed and height when in expert mode -["infoDisplayChanged", {_this call FUNC(handleInfoDisplayChanged)}] call CBA_fnc_addEventHandler; +["ace_infoDisplayChanged", {_this call FUNC(handleInfoDisplayChanged)}] call CBA_fnc_addEventHandler; -["playerInventoryChanged", FUNC(storeParachute)] call CBA_fnc_addEventHandler; +["ace_playerInventoryChanged", FUNC(storeParachute)] call CBA_fnc_addEventHandler; diff --git a/addons/parachute/config.cpp b/addons/parachute/config.cpp index 3671177e28..8c914259b2 100644 --- a/addons/parachute/config.cpp +++ b/addons/parachute/config.cpp @@ -16,3 +16,9 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" #include "RscTitles.hpp" + +class ACE_newEvents { + playerVehicleChanged = "ace_playerVehicleChanged"; + playerInventoryChanged = "ace_playerInventoryChanged"; + infoDisplayChanged = "ace_infoDisplayChanged"; +}; \ No newline at end of file diff --git a/addons/rearm/XEH_postInit.sqf b/addons/rearm/XEH_postInit.sqf index 3ff17057d0..d49af32eab 100644 --- a/addons/rearm/XEH_postInit.sqf +++ b/addons/rearm/XEH_postInit.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; -["playerVehicleChanged", {params ["_unit"]; [_unit] call FUNC(dropAmmo)}] call CBA_fnc_addEventHandler; +["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_playerVehicleChanged", {params ["_unit"]; [_unit] call FUNC(dropAmmo)}] call CBA_fnc_addEventHandler; if (isServer) then { addMissionEventHandler ["HandleDisconnect", {params ["_unit"]; [_unit] call FUNC(dropAmmo)}]; diff --git a/addons/rearm/config.cpp b/addons/rearm/config.cpp index c15721c9df..305167b860 100644 --- a/addons/rearm/config.cpp +++ b/addons/rearm/config.cpp @@ -18,3 +18,8 @@ class CfgPatches { #include "CfgAmmo.hpp" #include "CfgMagazines.hpp" #include "CfgVehicles.hpp" + +class ACE_newEvents { + playerVehicleChanged = "ace_playerVehicleChanged"; + medical_onUnconscious = "ace_medical_onUnconscious"; +}; \ No newline at end of file diff --git a/addons/recoil/XEH_postInit.sqf b/addons/recoil/XEH_postInit.sqf index 9375b05a2c..29e5464612 100644 --- a/addons/recoil/XEH_postInit.sqf +++ b/addons/recoil/XEH_postInit.sqf @@ -1,4 +1,4 @@ #include "script_component.hpp" // Register fire event handler -["firedPlayer", DFUNC(camShake)] call CBA_fnc_addEventHandler; +["ace_firedPlayer", DFUNC(camShake)] call CBA_fnc_addEventHandler; diff --git a/addons/recoil/config.cpp b/addons/recoil/config.cpp index 5b8002bc37..266bfb817d 100644 --- a/addons/recoil/config.cpp +++ b/addons/recoil/config.cpp @@ -21,3 +21,7 @@ class CfgCameraShake { // What does this do, really? It seems like the engine no longer respects it. defaultCaliberCoefWeaponFire = 0; }; + +class ACE_newEvents { + firedPlayer = "ace_firedPlayer"; +}; \ No newline at end of file diff --git a/addons/refuel/XEH_postInit.sqf b/addons/refuel/XEH_postInit.sqf index 12dd2c5994..b55575e72c 100644 --- a/addons/refuel/XEH_postInit.sqf +++ b/addons/refuel/XEH_postInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; if (isServer) then { addMissionEventHandler ["HandleDisconnect", {_this call FUNC(handleDisconnect)}]; diff --git a/addons/refuel/config.cpp b/addons/refuel/config.cpp index 6140cefe8c..a030633d0a 100644 --- a/addons/refuel/config.cpp +++ b/addons/refuel/config.cpp @@ -15,3 +15,11 @@ class CfgPatches { #include "ACE_Settings.hpp" #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" + +class ACE_newEvents { + medical_onUnconscious = "ace_medical_onUnconscious"; + setFuel = "ace_setFuel"; + setVectorDirAndUp = "ace_setVectorDirAndUp"; + displayTextStructured = "ace_displayTextStructured"; + displayTextStructured = "ace_displayTextStructured"; +}; \ No newline at end of file diff --git a/addons/refuel/functions/fnc_checkFuel.sqf b/addons/refuel/functions/fnc_checkFuel.sqf index adc5c81674..ce815a3f1d 100644 --- a/addons/refuel/functions/fnc_checkFuel.sqf +++ b/addons/refuel/functions/fnc_checkFuel.sqf @@ -27,9 +27,9 @@ private _fuel = [_target] call FUNC(getFuel); params ["_args"]; _args params [["_unit", objNull, [objNull]], ["_target", objNull, [objNull]], ["_fuel", 0, [0]]]; if (_fuel > 0 ) then { - ["displayTextStructured", [[LSTRING(Hint_RemainingFuel), _fuel], 2, _unit], _unit] call CBA_fnc_targetEvent; + ["ace_displayTextStructured", [[LSTRING(Hint_RemainingFuel), _fuel], 2, _unit], _unit] call CBA_fnc_targetEvent; } else { - ["displayTextStructured", [LSTRING(Hint_Empty), 2, _unit], _unit] call CBA_fnc_targetEvent; + ["ace_displayTextStructured", [LSTRING(Hint_Empty), 2, _unit], _unit] call CBA_fnc_targetEvent; }; true }, diff --git a/addons/refuel/functions/fnc_connectNozzleAction.sqf b/addons/refuel/functions/fnc_connectNozzleAction.sqf index 306f7d8389..c46156a26e 100644 --- a/addons/refuel/functions/fnc_connectNozzleAction.sqf +++ b/addons/refuel/functions/fnc_connectNozzleAction.sqf @@ -119,7 +119,7 @@ _endPosTestOffset set [2, (_startingOffset select 2)]; }; }; }; - ["setVectorDirAndUp", [_nozzle, _dirAndUp], _nozzle] call CBA_fnc_targetEvent; + ["ace_setVectorDirAndUp", [_nozzle, _dirAndUp], _nozzle] call CBA_fnc_targetEvent; _nozzle setVariable [QGVAR(sink), _target, true]; _nozzle setVariable [QGVAR(isConnected), true, true]; _target setVariable [QGVAR(nozzle), _nozzle, true]; diff --git a/addons/refuel/functions/fnc_refuel.sqf b/addons/refuel/functions/fnc_refuel.sqf index 3f7a6259e7..bdd49d01d0 100644 --- a/addons/refuel/functions/fnc_refuel.sqf +++ b/addons/refuel/functions/fnc_refuel.sqf @@ -79,7 +79,7 @@ private _maxFuel = getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> }; _unit setVariable [QGVAR(tempFuel), _fuelInSink]; - ["setFuel", [_sink, _fuelInSink], _sink] call CBA_fnc_targetEvent; + ["ace_setFuel", [_sink, _fuelInSink], _sink] call CBA_fnc_targetEvent; [_source, _fuelInSource] call FUNC(setFuel); } else { _unit setVariable [QGVAR(tempFuel), fuel _sink]; diff --git a/addons/reload/XEH_postInit.sqf b/addons/reload/XEH_postInit.sqf index 946b3a1786..d5ce159f38 100644 --- a/addons/reload/XEH_postInit.sqf +++ b/addons/reload/XEH_postInit.sqf @@ -18,7 +18,7 @@ if (!hasInterface) exitWith {}; {false}, [19, [false, true, false]], false] call CBA_fnc_addKeybind; -["setAmmoSync", { +["ace_setAmmoSync", { //To propagate the setAmmo change, do it on all clients params ["_unit", "_weapon", "_ammo"]; TRACE_3("setAmmoSync EH",_unit,_weapon,_ammo); @@ -35,7 +35,7 @@ if (!hasInterface) exitWith {}; // Return the magazine if it's the wrong type if (_magazineType != (_magazine select 0)) exitWith { - ["returnedAmmo", [_giver,_receiver,_magazine], [_giver]] call CBA_fnc_targetEvent; + ["ace_returnedAmmo", [_giver,_receiver,_magazine], [_giver]] call CBA_fnc_targetEvent; }; private _ammoCount = _receiver ammo currentWeapon _receiver; @@ -43,15 +43,15 @@ if (!hasInterface) exitWith {}; // Return the magazine if the belt is full or empty if ((_ammoCount == 0) || _ammoMissing == 0) exitWith { - ["returnedAmmo", [_giver,_receiver,_magazine], [_giver]] call CBA_fnc_targetEvent; + ["ace_returnedAmmo", [_giver,_receiver,_magazine], [_giver]] call CBA_fnc_targetEvent; }; // Add the ammo private _ammoAdded = _ammoMissing min (_magazine select 1); - ["setAmmoSync", [_receiver, currentWeapon _receiver, _ammoCount + _ammoAdded]] call CBA_fnc_globalEvent; + ["ace_setAmmoSync", [_receiver, currentWeapon _receiver, _ammoCount + _ammoAdded]] call CBA_fnc_globalEvent; if ((_magazine select 1) - _ammoAdded > 0) then { - ["returnedAmmo", [_giver, _receiver, [_magazineType, (_magazine select 1) - _ammoAdded]], [_giver]] call CBA_fnc_targetEvent; + ["ace_returnedAmmo", [_giver, _receiver, [_magazineType, (_magazine select 1) - _ammoAdded]], [_giver]] call CBA_fnc_targetEvent; }; }] call CBA_fnc_addEventHandler; diff --git a/addons/reload/config.cpp b/addons/reload/config.cpp index 86ba809a93..cd22dfc98c 100644 --- a/addons/reload/config.cpp +++ b/addons/reload/config.cpp @@ -21,3 +21,12 @@ class CfgPatches { #include "CfgActions.hpp" #include "ACE_Settings.hpp" + +class ACE_newEvents { + setAmmoSync = "ace_setAmmoSync"; + returnedAmmo = "ace_returnedAmmo"; + setAmmoSync = "ace_setAmmoSync"; + returnedAmmo = "ace_returnedAmmo"; + returnedAmmo = "ace_returnedAmmo"; + linkedAmmo = "ace_linkedAmmo"; +}; \ No newline at end of file diff --git a/addons/reload/functions/fnc_startLinkingBelt.sqf b/addons/reload/functions/fnc_startLinkingBelt.sqf index 5c3d04a00a..ba5d4ddca4 100644 --- a/addons/reload/functions/fnc_startLinkingBelt.sqf +++ b/addons/reload/functions/fnc_startLinkingBelt.sqf @@ -46,7 +46,7 @@ private _onFinish = { (_this select 0) params ["_player", "_target", "_magazine"]; // Raise event on remote unit - ["linkedAmmo", [_target, _player, _magazine], [_target]] call CBA_fnc_targetEvent; + ["ace_linkedAmmo", [_target, _player, _magazine], [_target]] call CBA_fnc_targetEvent; }; private _onFailure = { diff --git a/addons/reloadlaunchers/XEH_postInit.sqf b/addons/reloadlaunchers/XEH_postInit.sqf index 5d436b2b04..0800c4b0eb 100644 --- a/addons/reloadlaunchers/XEH_postInit.sqf +++ b/addons/reloadlaunchers/XEH_postInit.sqf @@ -1,4 +1,4 @@ // by commy2 #include "script_component.hpp" -["reloadLauncher", {_this call DFUNC(reloadLauncher)}] call CBA_fnc_addEventHandler; +["ace_reloadLauncher", {_this call DFUNC(reloadLauncher)}] call CBA_fnc_addEventHandler; diff --git a/addons/reloadlaunchers/config.cpp b/addons/reloadlaunchers/config.cpp index 6a04f6339a..df2a8e5e35 100644 --- a/addons/reloadlaunchers/config.cpp +++ b/addons/reloadlaunchers/config.cpp @@ -16,3 +16,8 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" + +class ACE_newEvents { + reloadLauncher = "ace_reloadLauncher"; + reloadLauncher = "ace_reloadLauncher"; +}; \ No newline at end of file diff --git a/addons/reloadlaunchers/functions/fnc_load.sqf b/addons/reloadlaunchers/functions/fnc_load.sqf index ea2ad467c1..59d28f8cad 100644 --- a/addons/reloadlaunchers/functions/fnc_load.sqf +++ b/addons/reloadlaunchers/functions/fnc_load.sqf @@ -32,7 +32,7 @@ private ["_onSuccess", "_onFailure", "_condition"]; _onSuccess = { (_this select 0 select 0) removeMagazine (_this select 0 select 3); - ["reloadLauncher", _this select 0, _this select 0 select 1] call CBA_fnc_targetEvent; + ["ace_reloadLauncher", _this select 0, _this select 0 select 1] call CBA_fnc_targetEvent; [localize LSTRING(LauncherLoaded)] call DEFUNC(common,displayTextStructured); }; diff --git a/addons/repair/XEH_postInit.sqf b/addons/repair/XEH_postInit.sqf index 526cdc0b84..660eea866a 100644 --- a/addons/repair/XEH_postInit.sqf +++ b/addons/repair/XEH_postInit.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" -["setVehicleDamage", {_this call FUNC(setDamage)}] call CBA_fnc_addEventHandler; -["setVehicleHitPointDamage", {_this call FUNC(setHitPointDamage)}] call CBA_fnc_addEventHandler; +["ace_setVehicleDamage", {_this call FUNC(setDamage)}] call CBA_fnc_addEventHandler; +["ace_setVehicleHitPointDamage", {_this call FUNC(setHitPointDamage)}] call CBA_fnc_addEventHandler; // wheels -["setWheelHitPointDamage", {(_this select 0) setHitPointDamage [_this select 1, _this select 2]}] call CBA_fnc_addEventHandler; +["ace_setWheelHitPointDamage", {(_this select 0) setHitPointDamage [_this select 1, _this select 2]}] call CBA_fnc_addEventHandler; diff --git a/addons/repair/config.cpp b/addons/repair/config.cpp index d377342adf..e4f3807e38 100644 --- a/addons/repair/config.cpp +++ b/addons/repair/config.cpp @@ -18,3 +18,24 @@ class CfgPatches { #include "CfgActions.hpp" #include "CfgVehicles.hpp" #include "CfgEden.hpp" + +class ACE_newEvents { + setWheelHitPointDamage = "ace_setWheelHitPointDamage"; + setVehicleHitPointDamage = "ace_setVehicleHitPointDamage"; + setVehicleDamage = "ace_setVehicleDamage"; + fixPosition = "ace_fixPosition"; + fixCollision = "ace_fixCollision"; + displayTextStructured = "ace_displayTextStructured"; + displayTextStructured = "ace_displayTextStructured"; + engineOn = "ace_engineOn"; + setWheelHitPointDamage = "ace_setWheelHitPointDamage"; + setWheelHitPointDamage = "ace_setWheelHitPointDamage"; + setWheelHitPointDamage = "ace_setWheelHitPointDamage"; + setVehicleHitPointDamage = "ace_setVehicleHitPointDamage"; + setVehicleHitPointDamage = "ace_setVehicleHitPointDamage"; + setWheelHitPointDamage = "ace_setWheelHitPointDamage"; + fixCollision = "ace_fixCollision"; + setWheelHitPointDamage = "ace_setWheelHitPointDamage"; + fixCollision = "ace_fixCollision"; + AddCargoByClass = "ace_addCargoByClass"; +}; \ No newline at end of file diff --git a/addons/repair/functions/fnc_addSpareParts.sqf b/addons/repair/functions/fnc_addSpareParts.sqf index 717c3ee948..2d133da3c1 100644 --- a/addons/repair/functions/fnc_addSpareParts.sqf +++ b/addons/repair/functions/fnc_addSpareParts.sqf @@ -33,4 +33,4 @@ if (!EGVAR(common,settingsInitFinished)) exitWith { if (!_force && !GVAR(addSpareParts)) exitWith {}; // Load -["AddCargoByClass", [_part, _vehicle, _amount]] call CBA_fnc_localEvent; +["ace_addCargoByClass", [_part, _vehicle, _amount]] call CBA_fnc_localEvent; diff --git a/addons/repair/functions/fnc_doRemoveTrack.sqf b/addons/repair/functions/fnc_doRemoveTrack.sqf index 997d1b6bce..00adf18cc1 100644 --- a/addons/repair/functions/fnc_doRemoveTrack.sqf +++ b/addons/repair/functions/fnc_doRemoveTrack.sqf @@ -27,14 +27,14 @@ private _hitPointDamage = _vehicle getHitPointDamage _hitPoint; if (_hitPointDamage >= 1) exitWith {}; // don't die by spawning / moving the wheel -["fixCollision", _unit] call CBA_fnc_localEvent; +["ace_fixCollision", _unit] call CBA_fnc_localEvent; // spawn track private _newTrack = ["ACE_Track", getPosASL _unit, _hitPointDamage] call FUNC(spawnObject); TRACE_2("new track created",_newTrack,damage _newTrack); // raise event to set the new hitpoint damage -["setWheelHitPointDamage", [_vehicle, _hitPoint, 1], _vehicle] call CBA_fnc_targetEvent; +["ace_setWheelHitPointDamage", [_vehicle, _hitPoint, 1], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_doRemoveWheel.sqf b/addons/repair/functions/fnc_doRemoveWheel.sqf index 3f0a29293f..bf734af1ff 100644 --- a/addons/repair/functions/fnc_doRemoveWheel.sqf +++ b/addons/repair/functions/fnc_doRemoveWheel.sqf @@ -27,14 +27,14 @@ private _hitPointDamage = _vehicle getHitPointDamage _hitPoint; if (_hitPointDamage >= 1) exitWith {}; // don't die by spawning / moving the wheel -["fixCollision", _unit] call CBA_fnc_localEvent; +["ace_fixCollision", _unit] call CBA_fnc_localEvent; // spawn wheel private _newWheel = ["ACE_Wheel", getPosASL _unit, _hitPointDamage] call FUNC(spawnObject); TRACE_2("new wheel created",_newWheel,damage _newWheel); // raise event to set the new hitpoint damage -["setWheelHitPointDamage", [_vehicle, _hitPoint, 1], _vehicle] call CBA_fnc_targetEvent; +["ace_setWheelHitPointDamage", [_vehicle, _hitPoint, 1], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_doRepair.sqf b/addons/repair/functions/fnc_doRepair.sqf index 084511b763..8c8b8182f9 100644 --- a/addons/repair/functions/fnc_doRepair.sqf +++ b/addons/repair/functions/fnc_doRepair.sqf @@ -34,7 +34,7 @@ private _hitPointNewDamage = (_hitPointCurDamage - 0.5) max _postRepairDamageMin if (_hitPointNewDamage < _hitPointCurDamage) then { // raise event to set the new hitpoint damage TRACE_3("repairing main point", _vehicle, _hitPointIndex, _hitPointNewDamage); - ["setVehicleHitPointDamage", [_vehicle, _hitPointIndex, _hitPointNewDamage], _vehicle] call CBA_fnc_targetEvent; + ["ace_setVehicleHitPointDamage", [_vehicle, _hitPointIndex, _hitPointNewDamage], _vehicle] call CBA_fnc_targetEvent; _hitPointCurDamage = _hitPointNewDamage; }; @@ -55,7 +55,7 @@ if (isArray _hitpointGroupConfig) then { private _subPointNewDamage = (_subPointCurDamage - 0.5) max _postRepairDamageMin; if (_subPointNewDamage < _subPointCurDamage) then { TRACE_3("repairing sub point", _vehicle, _subHitIndex, _subPointNewDamage); - ["setVehicleHitPointDamage", [_vehicle, _subHitIndex, _subPointNewDamage], _vehicle] call CBA_fnc_targetEvent; + ["ace_setVehicleHitPointDamage", [_vehicle, _subHitIndex, _subPointNewDamage], _vehicle] call CBA_fnc_targetEvent; }; }; } forEach _subHitArray; diff --git a/addons/repair/functions/fnc_doRepairTrack.sqf b/addons/repair/functions/fnc_doRepairTrack.sqf index 7959edbab7..897ef881c1 100644 --- a/addons/repair/functions/fnc_doRepairTrack.sqf +++ b/addons/repair/functions/fnc_doRepairTrack.sqf @@ -41,7 +41,7 @@ _hitPointDamage = (_hitPointDamage - _damageRepaired) min 0; deleteVehicle _track; // raise event to set the new hitpoint damage -["setWheelHitPointDamage", [_vehicle, _hitPoint, _hitPointDamage], _vehicle] call CBA_fnc_targetEvent; +["ace_setWheelHitPointDamage", [_vehicle, _hitPoint, _hitPointDamage], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_doReplaceTrack.sqf b/addons/repair/functions/fnc_doReplaceTrack.sqf index 7fbafac99d..1de9c3b7bf 100644 --- a/addons/repair/functions/fnc_doReplaceTrack.sqf +++ b/addons/repair/functions/fnc_doReplaceTrack.sqf @@ -44,7 +44,7 @@ if (_newHitPointDamage >= 1) exitWith {}; deleteVehicle _track; // raise event to set the new hitpoint damage -["setWheelHitPointDamage", [_vehicle, _hitPoint, _newHitPointDamage], _vehicle] call CBA_fnc_targetEvent; +["ace_setWheelHitPointDamage", [_vehicle, _hitPoint, _newHitPointDamage], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_doReplaceWheel.sqf b/addons/repair/functions/fnc_doReplaceWheel.sqf index 742ae1d3bf..3d6b161cfa 100644 --- a/addons/repair/functions/fnc_doReplaceWheel.sqf +++ b/addons/repair/functions/fnc_doReplaceWheel.sqf @@ -44,7 +44,7 @@ if (_newHitPointDamage >= 1) exitWith {}; deleteVehicle _wheel; // raise event to set the new hitpoint damage -["setWheelHitPointDamage", [_vehicle, _hitPoint, _newHitPointDamage], _vehicle] call CBA_fnc_targetEvent; +["ace_setWheelHitPointDamage", [_vehicle, _hitPoint, _newHitPointDamage], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_repair.sqf b/addons/repair/functions/fnc_repair.sqf index f952e561c4..f79510aea7 100644 --- a/addons/repair/functions/fnc_repair.sqf +++ b/addons/repair/functions/fnc_repair.sqf @@ -38,10 +38,10 @@ _engineerRequired = if (isNumber (_config >> "requiredEngineer")) then { if !([_caller, _engineerRequired] call FUNC(isEngineer)) exitWith {false}; if ((isEngineOn _target) && {GVAR(autoShutOffEngineWhenStartingRepair)}) then { - ["engineOn", [_target, false], _target] call CBA_fnc_targetEvent; + ["ace_engineOn", [_target, false], _target] call CBA_fnc_targetEvent; }; if ((isEngineOn _target) && {!GVAR(autoShutOffEngineWhenStartingRepair)}) exitWith { - ["displayTextStructured", [LSTRING(shutOffEngineWarning), 1.5, _caller]] call CBA_fnc_localEvent; + ["ace_displayTextStructured", [LSTRING(shutOffEngineWarning), 1.5, _caller]] call CBA_fnc_localEvent; false }; @@ -235,7 +235,7 @@ if (_target != _caller) then { }; if (_displayText != "") then { - ["displayTextStructured", [[_displayText, [_caller] call EFUNC(common,getName), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; + ["ace_displayTextStructured", [[_displayText, [_caller] call EFUNC(common,getName), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; }; true; diff --git a/addons/repair/functions/fnc_spawnObject.sqf b/addons/repair/functions/fnc_spawnObject.sqf index d4da90b7f9..3b5c9caa9b 100644 --- a/addons/repair/functions/fnc_spawnObject.sqf +++ b/addons/repair/functions/fnc_spawnObject.sqf @@ -28,7 +28,7 @@ _newObject setPosASL _position; _newObject setDamage _damage; -["fixCollision", _newObject] call CBA_fnc_localEvent; -["fixPosition", _newObject] call CBA_fnc_localEvent; +["ace_fixCollision", _newObject] call CBA_fnc_localEvent; +["ace_fixPosition", _newObject] call CBA_fnc_localEvent; _newObject diff --git a/addons/respawn/XEH_postInit.sqf b/addons/respawn/XEH_postInit.sqf index 43a9683377..d20f6ccbe0 100644 --- a/addons/respawn/XEH_postInit.sqf +++ b/addons/respawn/XEH_postInit.sqf @@ -1,5 +1,5 @@ // by commy2 #include "script_component.hpp" -["rallypointMoved", {_this call FUNC(updateRallypoint)}] call CBA_fnc_addEventHandler; -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // hide enemy rallypoint markers +["ace_rallypointMoved", {_this call FUNC(updateRallypoint)}] call CBA_fnc_addEventHandler; +["ace_playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // hide enemy rallypoint markers diff --git a/addons/respawn/XEH_serverPostInit.sqf b/addons/respawn/XEH_serverPostInit.sqf index 65cc1e9727..331baa8c20 100644 --- a/addons/respawn/XEH_serverPostInit.sqf +++ b/addons/respawn/XEH_serverPostInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -["SettingsInitialized", { +["ace_settingsInitialized", { if (GVAR(RemoveDeadBodiesDisconnected)) then { addMissionEventHandler ["HandleDisconnect", { [{ diff --git a/addons/respawn/config.cpp b/addons/respawn/config.cpp index 4a23d1f650..e723e6a6f5 100644 --- a/addons/respawn/config.cpp +++ b/addons/respawn/config.cpp @@ -17,3 +17,12 @@ class CfgPatches { #include "CfgVehicleClasses.hpp" #include "CfgVehicles.hpp" #include "ACE_Settings.hpp" + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; + playerChanged = "ace_playerChanged"; + rallypointMoved = "ace_rallypointMoved"; + killedByFriendly = "ace_killedByFriendly"; + rallypointMoved = "ace_rallypointMoved"; + rallypointMoved = "ace_rallypointMoved"; +}; \ No newline at end of file diff --git a/addons/respawn/functions/fnc_initRallypoint.sqf b/addons/respawn/functions/fnc_initRallypoint.sqf index b857b58f83..2d255f6047 100644 --- a/addons/respawn/functions/fnc_initRallypoint.sqf +++ b/addons/respawn/functions/fnc_initRallypoint.sqf @@ -60,7 +60,7 @@ if (isNil _name) then { createMarker [_respawnMarker, _rallypoint]; }; - ["rallypointMoved", [_rallypoint, _side]] call CBA_fnc_globalEvent; + ["ace_rallypointMoved", [_rallypoint, _side]] call CBA_fnc_globalEvent; } else { deleteVehicle _rallypoint; ACE_LOGERROR("Multiple Rallypoints of same type."); diff --git a/addons/respawn/functions/fnc_moveRallypoint.sqf b/addons/respawn/functions/fnc_moveRallypoint.sqf index 24e5f55a97..08ed8a594d 100644 --- a/addons/respawn/functions/fnc_moveRallypoint.sqf +++ b/addons/respawn/functions/fnc_moveRallypoint.sqf @@ -48,7 +48,7 @@ _position set [2, 0]; _rallypoint setVariable [QGVAR(markerDate), [dayTime, "HH:MM"] call BIS_fnc_timeToString, true]; - ["rallypointMoved", [_rallypoint, _side, _position]] call CBA_fnc_globalEvent; + ["ace_rallypointMoved", [_rallypoint, _side, _position]] call CBA_fnc_globalEvent; [localize LSTRING(Deployed)] call EFUNC(common,displayTextStructured); }, [_rallypoint, _unit, _position], 5] call EFUNC(common,waitAndExecute); diff --git a/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf b/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf index e4ddc5bb35..388302150d 100644 --- a/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf +++ b/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf @@ -22,5 +22,5 @@ if (_unit != _killer && {side group _unit in [side group ACE_player, civilian]} systemChat format ["%1 was killed by %2", [_unit, false, true] call EFUNC(common,getName), [_killer, false, true] call EFUNC(common,getName)]; // Raise ACE globalEvent - ["killedByFriendly", [_unit, _killer]] call CBA_fnc_globalEvent; + ["ace_killedByFriendly", [_unit, _killer]] call CBA_fnc_globalEvent; }; diff --git a/addons/sandbag/XEH_postInit.sqf b/addons/sandbag/XEH_postInit.sqf index a186e38a7a..74a8e67b74 100644 --- a/addons/sandbag/XEH_postInit.sqf +++ b/addons/sandbag/XEH_postInit.sqf @@ -12,14 +12,14 @@ GVAR(deployPFH) = -1; GVAR(deployDirection) = 0; // Cancel deploy sandbag if interact menu opened -["interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call CBA_fnc_addEventHandler; +["ace_interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call CBA_fnc_addEventHandler; // Cancel deploy on player change. This does work when returning to lobby, but not when hard disconnecting. -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; -["playerInventoryChanged", {_this call FUNC(handlePlayerInventoryChanged)}] call CBA_fnc_addEventHandler; -["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["ace_playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["ace_playerInventoryChanged", {_this call FUNC(handlePlayerInventoryChanged)}] call CBA_fnc_addEventHandler; +["ace_playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle waking up dragged unit and falling unconscious while dragging -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; //@todo Captivity? diff --git a/addons/sandbag/config.cpp b/addons/sandbag/config.cpp index 6b7ce1a456..1f3c7e1652 100644 --- a/addons/sandbag/config.cpp +++ b/addons/sandbag/config.cpp @@ -13,4 +13,12 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" -#include "CfgWeapons.hpp" \ No newline at end of file +#include "CfgWeapons.hpp" +class ACE_newEvents { + medical_onUnconscious = "ace_medical_onUnconscious"; + playerVehicleChanged = "ace_playerVehicleChanged"; + playerInventoryChanged = "ace_playerInventoryChanged"; + playerChanged = "ace_playerChanged"; + interactMenuOpened = "ace_interactMenuOpened"; + enableSimulationGlobal = "ace_enableSimulationGlobal"; +}; \ No newline at end of file diff --git a/addons/sandbag/functions/fnc_deploy.sqf b/addons/sandbag/functions/fnc_deploy.sqf index 163c64b8f2..ca81929a78 100644 --- a/addons/sandbag/functions/fnc_deploy.sqf +++ b/addons/sandbag/functions/fnc_deploy.sqf @@ -27,7 +27,7 @@ _sandBag = createVehicle ["ACE_SandbagObject_NoGeo", [0, 0, 0], [], 0, "NONE"]; GVAR(sandBag) = _sandBag; // prevent collisions with sandbag -["enableSimulationGlobal", [_sandBag, false]] call CBA_fnc_serverEvent; +["ace_enableSimulationGlobal", [_sandBag, false]] call CBA_fnc_serverEvent; GVAR(deployDirection) = 0; diff --git a/addons/scopes/XEH_postInit.sqf b/addons/scopes/XEH_postInit.sqf index ed40a52ef2..4ebfe39bf3 100644 --- a/addons/scopes/XEH_postInit.sqf +++ b/addons/scopes/XEH_postInit.sqf @@ -10,10 +10,10 @@ if (!hasInterface) exitWith {}; // Check inventory when it changes -["playerInventoryChanged", FUNC(inventoryCheck)] call CBA_fnc_addEventHandler; +["ace_playerInventoryChanged", FUNC(inventoryCheck)] call CBA_fnc_addEventHandler; // Instantly hide knobs when scoping in -["cameraViewChanged", { +["ace_cameraViewChanged", { EXPLODE_2_PVT(_this,_player,_newCameraView); if (_newCameraView == "GUNNER") then { private "_layer"; @@ -152,5 +152,5 @@ if (!hasInterface) exitWith {}; // Register fire event handler -["firedPlayer", DFUNC(firedEH)] call CBA_fnc_addEventHandler; -["firedPlayerNonLocal", DFUNC(firedEH)] call CBA_fnc_addEventHandler; +["ace_firedPlayer", DFUNC(firedEH)] call CBA_fnc_addEventHandler; +["ace_firedPlayerNonLocal", DFUNC(firedEH)] call CBA_fnc_addEventHandler; diff --git a/addons/scopes/config.cpp b/addons/scopes/config.cpp index 42be283044..63eab66219 100644 --- a/addons/scopes/config.cpp +++ b/addons/scopes/config.cpp @@ -21,3 +21,10 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "RscTitles.hpp" + +class ACE_newEvents { + cameraViewChanged = "ace_cameraViewChanged"; + firedPlayerNonLocal = "ace_firedPlayerNonLocal"; + firedPlayer = "ace_firedPlayer"; + playerInventoryChanged = "ace_playerInventoryChanged"; +}; \ No newline at end of file diff --git a/addons/sitting/XEH_clientInit.sqf b/addons/sitting/XEH_clientInit.sqf index e9dcbfa6da..2ce615c68a 100644 --- a/addons/sitting/XEH_clientInit.sqf +++ b/addons/sitting/XEH_clientInit.sqf @@ -3,7 +3,7 @@ // Exit on Headless if (!hasInterface) exitWith {}; -["SettingsInitialized", { +["ace_settingsInitialized", { TRACE_1("SettingInit", GVAR(enable)); //If not enabled, then do not add CanInteractWith Condition or event handlers: @@ -13,6 +13,6 @@ if (!hasInterface) exitWith {}; ["isNotSitting", {isNil {(_this select 0) getVariable QGVAR(isSitting)}}] call EFUNC(common,addCanInteractWithCondition); // Handle interruptions - ["medical_onUnconscious", {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; - ["SetHandcuffed", {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; + ["ace_medical_onUnconscious", {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; + ["ace_setHandcuffed", {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler; diff --git a/addons/sitting/config.cpp b/addons/sitting/config.cpp index 96d3edab7b..65e23cd1ad 100644 --- a/addons/sitting/config.cpp +++ b/addons/sitting/config.cpp @@ -16,3 +16,9 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgMoves.hpp" #include "CfgVehicles.hpp" + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; + SetHandcuffed = "ace_setHandcuffed"; + medical_onUnconscious = "ace_medical_onUnconscious"; +}; \ No newline at end of file diff --git a/addons/spectator/config.cpp b/addons/spectator/config.cpp index 6e32ed0413..5aaedf48be 100644 --- a/addons/spectator/config.cpp +++ b/addons/spectator/config.cpp @@ -23,3 +23,8 @@ class CfgRespawnTemplates { onPlayerRespawn = QFUNC(respawnTemplate); }; }; + +class ACE_newEvents { + spectatorStaged = "ace_spectatorStaged"; + spectatorSet = "ace_spectatorSet"; +}; \ No newline at end of file diff --git a/addons/spectator/functions/fnc_setSpectator.sqf b/addons/spectator/functions/fnc_setSpectator.sqf index 09c91ea4ef..9e7e4e0278 100644 --- a/addons/spectator/functions/fnc_setSpectator.sqf +++ b/addons/spectator/functions/fnc_setSpectator.sqf @@ -170,4 +170,4 @@ GVAR(interrupts) = []; // Mark spectator state for reference GVAR(isSet) = _set; -["spectatorSet",[_set]] call CBA_fnc_localEvent; +["ace_spectatorSet", [_set]] call CBA_fnc_localEvent; diff --git a/addons/spectator/functions/fnc_stageSpectator.sqf b/addons/spectator/functions/fnc_stageSpectator.sqf index 5d65f74a81..f833d9a4c8 100644 --- a/addons/spectator/functions/fnc_stageSpectator.sqf +++ b/addons/spectator/functions/fnc_stageSpectator.sqf @@ -64,7 +64,7 @@ if !(_set isEqualTo (GETVAR(_unit,GVAR(isStaged),false))) then { // Mark spectator state for reference _unit setVariable [QGVAR(isStaged), _set, true]; - ["spectatorStaged",[_set]] call CBA_fnc_localEvent; + ["ace_spectatorStaged", [_set]] call CBA_fnc_localEvent; }; //BandAid for #2677 - if player in unitList weird before being staged, weird things can happen diff --git a/addons/switchunits/XEH_postInit.sqf b/addons/switchunits/XEH_postInit.sqf index 41d975f102..3ec08621c6 100644 --- a/addons/switchunits/XEH_postInit.sqf +++ b/addons/switchunits/XEH_postInit.sqf @@ -20,7 +20,7 @@ if (missionNamespace getVariable [QGVAR(EnableSwitchUnits), false]) then { [player] call FUNC(startSwitchUnits); } else { - ["SettingChanged", { + ["ace_settingChanged", { PARAMS_2(_name,_value); if ((_name == QGVAR(EnableSwitchUnits)) && {_value}) then { [player] call FUNC(startSwitchUnits); diff --git a/addons/switchunits/config.cpp b/addons/switchunits/config.cpp index 22a4924709..6caf7a955c 100644 --- a/addons/switchunits/config.cpp +++ b/addons/switchunits/config.cpp @@ -15,3 +15,7 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "ACE_Settings.hpp" + +class ACE_newEvents { + SettingChanged = "ace_settingChanged"; +}; \ No newline at end of file diff --git a/addons/tacticalladder/XEH_postInit.sqf b/addons/tacticalladder/XEH_postInit.sqf index 0f4283f4ee..88b0480df3 100644 --- a/addons/tacticalladder/XEH_postInit.sqf +++ b/addons/tacticalladder/XEH_postInit.sqf @@ -7,20 +7,20 @@ GVAR(cancelTime) = 0; GVAR(currentStep) = 3; GVAR(currentAngle) = 0; -/*["interactMenuOpened", { +/*["ace_interactMenuOpened", { if ((ACE_time > GVAR(cancelTime)) && !isNull GVAR(ladder)) then { GVAR(ladder) call FUNC(cancelTLdeploy); }; }] call CBA_fnc_addEventHandler;*/ // Cancel adjustment if interact menu opens -["interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call CBA_fnc_addEventHandler; +["ace_interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call CBA_fnc_addEventHandler; // Cancel adjusting on player change. -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; -["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["ace_playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["ace_playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle falling unconscious -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; // @todo captivity? diff --git a/addons/tacticalladder/config.cpp b/addons/tacticalladder/config.cpp index 02740639fe..9ef3e2e42b 100644 --- a/addons/tacticalladder/config.cpp +++ b/addons/tacticalladder/config.cpp @@ -13,3 +13,11 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" + +class ACE_newEvents { + interactMenuOpened = "ace_interactMenuOpened"; + medical_onUnconscious = "ace_medical_onUnconscious"; + playerVehicleChanged = "ace_playerVehicleChanged"; + playerChanged = "ace_playerChanged"; + interactMenuOpened = "ace_interactMenuOpened"; +}; \ No newline at end of file diff --git a/addons/tagging/XEH_postInit.sqf b/addons/tagging/XEH_postInit.sqf index bd6f502287..df5d3a1a5b 100644 --- a/addons/tagging/XEH_postInit.sqf +++ b/addons/tagging/XEH_postInit.sqf @@ -44,4 +44,4 @@ if (!isServer) exitWith {}; GVAR(testingThread) = false; GVAR(tagsToTest) = []; -["createTag", DFUNC(createTag)] call CBA_fnc_addEventHandler; +["ace_createTag", DFUNC(createTag)] call CBA_fnc_addEventHandler; diff --git a/addons/tagging/config.cpp b/addons/tagging/config.cpp index dcd1fb845d..38d974a8ec 100644 --- a/addons/tagging/config.cpp +++ b/addons/tagging/config.cpp @@ -15,3 +15,9 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" + +class ACE_newEvents { + createTag = "ace_createTag"; + createTag = "ace_createTag"; + tagCreated = "ace_tagCreated"; +}; \ No newline at end of file diff --git a/addons/tagging/functions/fnc_createTag.sqf b/addons/tagging/functions/fnc_createTag.sqf index 8ec65ccd02..20ca33bd2e 100644 --- a/addons/tagging/functions/fnc_createTag.sqf +++ b/addons/tagging/functions/fnc_createTag.sqf @@ -34,7 +34,7 @@ _tag setPosASL _tagPosASL; _tag setVectorDirAndUp _vectorDirAndUp; // Throw a global event for mision makers -["tagCreated", [_tag, _texture, _object, _unit]] call CBA_fnc_globalEvent; +["ace_tagCreated", [_tag, _texture, _object, _unit]] call CBA_fnc_globalEvent; if (isNull _object) exitWith {true}; diff --git a/addons/tagging/functions/fnc_tag.sqf b/addons/tagging/functions/fnc_tag.sqf index b00f7ed88e..0cf5336dec 100644 --- a/addons/tagging/functions/fnc_tag.sqf +++ b/addons/tagging/functions/fnc_tag.sqf @@ -109,7 +109,7 @@ _unit playActionNow "PutDown"; playSound3D [QUOTE(PATHTO_R(sounds\spray.ogg)), _unit, false, (eyePos _unit), 10, 1, 15]; // Tell the server to create the tag and handle its destruction - ["createTag", _this] call CBA_fnc_serverEvent; + ["ace_createTag", _this] call CBA_fnc_serverEvent; }, [_touchingPoint vectorAdd (_surfaceNormal vectorMultiply 0.06), _vectorDirAndUp, _texture, _object, _unit], 0.6] call EFUNC(common,waitAndExecute); true diff --git a/addons/trenches/XEH_postInit.sqf b/addons/trenches/XEH_postInit.sqf index f9deb53ff1..6fb3c9b33f 100644 --- a/addons/trenches/XEH_postInit.sqf +++ b/addons/trenches/XEH_postInit.sqf @@ -13,14 +13,14 @@ GVAR(digPFH) = -1; GVAR(digDirection) = 0; // Cancel dig sandbag if interact menu opened -["interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call CBA_fnc_addEventHandler; +["ace_interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call CBA_fnc_addEventHandler; // Cancel dig on player change. This does work when returning to lobby, but not when hard disconnecting. -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; -["playerInventoryChanged", {_this call FUNC(handlePlayerInventoryChanged)}] call CBA_fnc_addEventHandler; -["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["ace_playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["ace_playerInventoryChanged", {_this call FUNC(handlePlayerInventoryChanged)}] call CBA_fnc_addEventHandler; +["ace_playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle waking up dragged unit and falling unconscious while dragging -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; //@todo Captivity? diff --git a/addons/trenches/config.cpp b/addons/trenches/config.cpp index e1b14fa37c..ad484212f0 100644 --- a/addons/trenches/config.cpp +++ b/addons/trenches/config.cpp @@ -15,3 +15,12 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" + +class ACE_newEvents { + medical_onUnconscious = "ace_medical_onUnconscious"; + playerVehicleChanged = "ace_playerVehicleChanged"; + playerInventoryChanged = "ace_playerInventoryChanged"; + playerChanged = "ace_playerChanged"; + interactMenuOpened = "ace_interactMenuOpened"; + enableSimulationGlobal = "ace_enableSimulationGlobal"; +}; \ No newline at end of file diff --git a/addons/trenches/functions/fnc_placeTrench.sqf b/addons/trenches/functions/fnc_placeTrench.sqf index eb6a75ae44..9a51e43b67 100644 --- a/addons/trenches/functions/fnc_placeTrench.sqf +++ b/addons/trenches/functions/fnc_placeTrench.sqf @@ -36,7 +36,7 @@ _trench = createVehicle [_noGeoModel, [0, 0, 0], [], 0, "NONE"]; GVAR(trench) = _trench; // prevent collisions with trench -["enableSimulationGlobal", [_trench, false]] call CBA_fnc_serverEvent; +["ace_enableSimulationGlobal", [_trench, false]] call CBA_fnc_serverEvent; GVAR(digDirection) = 0; diff --git a/addons/tripod/XEH_postInit.sqf b/addons/tripod/XEH_postInit.sqf index 438a5a26ae..577f0c5037 100644 --- a/addons/tripod/XEH_postInit.sqf +++ b/addons/tripod/XEH_postInit.sqf @@ -7,13 +7,13 @@ GVAR(adjustPFH) = -1; GVAR(height) = 0; // Cancel adjustment if interact menu opens -["interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call CBA_fnc_addEventHandler; +["ace_interactMenuOpened", {[ACE_player] call FUNC(handleInteractMenuOpened)}] call CBA_fnc_addEventHandler; // Cancel adjusting on player change. -["playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; -["playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["ace_playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; +["ace_playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle falling unconscious -["medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; // @todo captivity? diff --git a/addons/tripod/config.cpp b/addons/tripod/config.cpp index 80379019c3..f4a5163980 100644 --- a/addons/tripod/config.cpp +++ b/addons/tripod/config.cpp @@ -13,4 +13,10 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" -#include "CfgWeapons.hpp" \ No newline at end of file +#include "CfgWeapons.hpp" +class ACE_newEvents { + medical_onUnconscious = "ace_medical_onUnconscious"; + playerVehicleChanged = "ace_playerVehicleChanged"; + playerChanged = "ace_playerChanged"; + interactMenuOpened = "ace_interactMenuOpened"; +}; \ No newline at end of file diff --git a/addons/ui/XEH_clientInit.sqf b/addons/ui/XEH_clientInit.sqf index 2ef05fe15c..47b7c8c139 100644 --- a/addons/ui/XEH_clientInit.sqf +++ b/addons/ui/XEH_clientInit.sqf @@ -3,7 +3,7 @@ // Exit on Headless if (!hasInterface) exitWith {}; -["SettingsInitialized", { +["ace_settingsInitialized", { // Initial settings [true] call FUNC(setElements); diff --git a/addons/ui/config.cpp b/addons/ui/config.cpp index d6fbed61ae..36f97719e7 100644 --- a/addons/ui/config.cpp +++ b/addons/ui/config.cpp @@ -18,3 +18,7 @@ class CfgPatches { #include "RscChat.hpp" #include "RscVignette.hpp" + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; +}; \ No newline at end of file diff --git a/addons/vector/config.cpp b/addons/vector/config.cpp index e4cdf9a55b..a39bab6e72 100644 --- a/addons/vector/config.cpp +++ b/addons/vector/config.cpp @@ -18,3 +18,7 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "RscInGameUI.hpp" + +class ACE_newEvents { + RangerfinderData = "ace_rangerfinderData"; +}; \ No newline at end of file diff --git a/addons/vector/functions/fnc_dataTransfer.sqf b/addons/vector/functions/fnc_dataTransfer.sqf index 9c5e2dbf97..6c51332e88 100644 --- a/addons/vector/functions/fnc_dataTransfer.sqf +++ b/addons/vector/functions/fnc_dataTransfer.sqf @@ -22,4 +22,4 @@ _direction = call FUNC(getDirection); _azimuth = _direction select 0; _inclination = _direction select 1; //Send Data to connected GPS -["RangerfinderData", [_distance, _azimuth, _inclination]] call CBA_fnc_localEvent; \ No newline at end of file +["ace_rangerfinderData", [_distance, _azimuth, _inclination]] call CBA_fnc_localEvent; \ No newline at end of file diff --git a/addons/vehiclelock/XEH_postInit.sqf b/addons/vehiclelock/XEH_postInit.sqf index 5d250867ee..0a9d00ffbc 100644 --- a/addons/vehiclelock/XEH_postInit.sqf +++ b/addons/vehiclelock/XEH_postInit.sqf @@ -1,12 +1,12 @@ #include "script_component.hpp" //Add Event Handlers -["VehicleLock_SetupCustomKey", {_this call FUNC(serverSetupCustomKeyEH)}] call CBA_fnc_addEventHandler; -["VehicleLock_SetVehicleLock", {_this call FUNC(setVehicleLockEH)}] call CBA_fnc_addEventHandler; +["ace_vehicleLock_SetupCustomKey", {_this call FUNC(serverSetupCustomKeyEH)}] call CBA_fnc_addEventHandler; +["ace_vehicleLock_SetVehicleLock", {_this call FUNC(setVehicleLockEH)}] call CBA_fnc_addEventHandler; if (!hasInterface) exitwith {}; -["SettingsInitialized", { +["ace_settingsInitialized", { TRACE_1("SettingsInitialized eh",GVAR(LockVehicleInventory)); if (GVAR(LockVehicleInventory)) then { diff --git a/addons/vehiclelock/config.cpp b/addons/vehiclelock/config.cpp index 9ee1343bc8..31a87fafdf 100644 --- a/addons/vehiclelock/config.cpp +++ b/addons/vehiclelock/config.cpp @@ -17,3 +17,12 @@ class CfgPatches { #include "CfgMagazines.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; + VehicleLock_SetVehicleLock = "ace_vehicleLock_SetVehicleLock"; + VehicleLock_SetupCustomKey = "ace_vehicleLock_SetupCustomKey"; + VehicleLock_SetVehicleLock = "ace_vehicleLock_SetVehicleLock"; + VehicleLock_SetVehicleLock = "ace_vehicleLock_SetVehicleLock"; + VehicleLock_SetupCustomKey = "ace_vehicleLock_SetupCustomKey"; +}; \ No newline at end of file diff --git a/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf b/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf index c2035d8188..ea8a22d352 100644 --- a/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf +++ b/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf @@ -36,7 +36,7 @@ if (_useCustom) then { _keyMagazine = _newMags select 0; TRACE_2("setting up key on server",_veh,_keyMagazine); //Have the server run add the key to the vehicle's key array: - ["VehicleLock_SetupCustomKey", [_veh, _keyMagazine]] call CBA_fnc_serverEvent; + ["ace_vehicleLock_SetupCustomKey", [_veh, _keyMagazine]] call CBA_fnc_serverEvent; } else { _keyName = [_veh] call FUNC(getVehicleSideKey); _unit addItem _keyName; //addItem has global effects diff --git a/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf b/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf index fa82e8838b..ac16e0467f 100644 --- a/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf +++ b/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf @@ -38,7 +38,7 @@ TRACE_1("params",_vehicle); }; if ((_lock && {(locked _vehicle) != 2}) || {!_lock && {(locked _vehicle) != 0}}) then { TRACE_3("Setting Lock State",_lock,(typeOf _vehicle),_vehicle); - ["VehicleLock_SetVehicleLock", [_vehicle, _lock], [_vehicle]] call CBA_fnc_targetEvent; + ["ace_vehicleLock_SetVehicleLock", [_vehicle, _lock], [_vehicle]] call CBA_fnc_targetEvent; }; }; //Delay call until mission start (so everyone has the eventHandler's installed) diff --git a/addons/vehiclelock/functions/fnc_lockpick.sqf b/addons/vehiclelock/functions/fnc_lockpick.sqf index 291f6e42bc..9743eb5275 100644 --- a/addons/vehiclelock/functions/fnc_lockpick.sqf +++ b/addons/vehiclelock/functions/fnc_lockpick.sqf @@ -55,7 +55,7 @@ switch (_funcType) do { [_vehLockpickStrenth, [_unit, _veh, "finishLockpick"], {(_this select 0) call FUNC(lockpick)}, {}, (localize LSTRING(Action_LockpickInUse)), _condition] call EFUNC(common,progressBar); }; case "finishLockpick": { - ["VehicleLock_SetVehicleLock", [_veh, false], [_veh]] call CBA_fnc_targetEvent; + ["ace_vehicleLock_SetVehicleLock", [_veh, false], [_veh]] call CBA_fnc_targetEvent; }; default { ERROR("bad function type"); diff --git a/addons/viewdistance/XEH_clientInit.sqf b/addons/viewdistance/XEH_clientInit.sqf index a72194a989..a1b81a6ddb 100644 --- a/addons/viewdistance/XEH_clientInit.sqf +++ b/addons/viewdistance/XEH_clientInit.sqf @@ -2,7 +2,7 @@ if (!hasInterface) exitWith {}; -["SettingsInitialized", { +["ace_settingsInitialized", { // if not enabled, then bugger off. if !(GVAR(enabled)) exitWith {}; diff --git a/addons/viewdistance/config.cpp b/addons/viewdistance/config.cpp index 2de8b2c954..83fda3cc09 100644 --- a/addons/viewdistance/config.cpp +++ b/addons/viewdistance/config.cpp @@ -15,3 +15,7 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "ACE_Settings.hpp" #include "CfgVehicles.hpp" + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; +}; \ No newline at end of file diff --git a/addons/weaponselect/XEH_postInit.sqf b/addons/weaponselect/XEH_postInit.sqf index acde791f79..f9d1cf1d78 100644 --- a/addons/weaponselect/XEH_postInit.sqf +++ b/addons/weaponselect/XEH_postInit.sqf @@ -198,4 +198,4 @@ if (!hasInterface) exitWith {}; // Register fire event handler -["firedPlayer", DFUNC(throwGrenade)] call CBA_fnc_addEventHandler; +["ace_firedPlayer", DFUNC(throwGrenade)] call CBA_fnc_addEventHandler; diff --git a/addons/weaponselect/config.cpp b/addons/weaponselect/config.cpp index 231d167cd0..5132c4084b 100644 --- a/addons/weaponselect/config.cpp +++ b/addons/weaponselect/config.cpp @@ -14,3 +14,8 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "ACE_Settings.hpp" + +class ACE_newEvents { + firedPlayer = "ace_firedPlayer"; + displayTextPicture = "ace_displayTextPicture"; +}; \ No newline at end of file diff --git a/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf b/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf index 10fc20e001..5a6697cabc 100644 --- a/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf +++ b/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf @@ -26,4 +26,4 @@ private _name = getText (configFile >> "CfgMagazines" >> _magazine >> "displayNa private _text = [format ["%1 x%2", _name, _numberofGrenades], _color] call EFUNC(common,stringToColoredText); private _picture = getText (configFile >> "CfgMagazines" >> _magazine >> "picture"); -["displayTextPicture", [_text, _picture]] call CBA_fnc_localEvent; +["ace_displayTextPicture", [_text, _picture]] call CBA_fnc_localEvent; diff --git a/addons/weather/XEH_postInit.sqf b/addons/weather/XEH_postInit.sqf index 6fb14aeacf..92d2688038 100644 --- a/addons/weather/XEH_postInit.sqf +++ b/addons/weather/XEH_postInit.sqf @@ -58,7 +58,7 @@ simulWeatherSync; -["SettingsInitialized",{ +["ace_settingsInitialized",{ TRACE_1("SettingsInitialized",GVAR(syncRain)); //Create a 0 sec delay PFEH to update rain every frame: diff --git a/addons/weather/XEH_postServerInit.sqf b/addons/weather/XEH_postServerInit.sqf index 4e6a112996..c72dd8db4c 100644 --- a/addons/weather/XEH_postServerInit.sqf +++ b/addons/weather/XEH_postServerInit.sqf @@ -9,7 +9,7 @@ GVAR(rain_current_range) = -1+(random 2); // Wind call FUNC(initWind); -["SettingsInitialized", { +["ace_settingsInitialized", { TRACE_2("SettingsInitialized",GVAR(enableServerController),GVAR(serverUpdateInterval)); if (GVAR(enableServerController)) then { diff --git a/addons/weather/config.cpp b/addons/weather/config.cpp index 50e2f8ace0..35c3237ad8 100644 --- a/addons/weather/config.cpp +++ b/addons/weather/config.cpp @@ -15,4 +15,8 @@ class CfgPatches { #include "CfgWorlds.hpp" #include "RscTitles.hpp" #include "CfgVehicles.hpp" -#include "ACE_Settings.hpp" \ No newline at end of file +#include "ACE_Settings.hpp" +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; + SettingsInitialized = "ace_settingsInitialized"; +}; \ No newline at end of file diff --git a/addons/winddeflection/XEH_postInit.sqf b/addons/winddeflection/XEH_postInit.sqf index f78309c30c..fe454cb00d 100644 --- a/addons/winddeflection/XEH_postInit.sqf +++ b/addons/winddeflection/XEH_postInit.sqf @@ -4,17 +4,17 @@ if (!hasInterface) exitWith {}; GVAR(trackedBullets) = []; -["SettingsInitialized", { +["ace_settingsInitialized", { //If not enabled, dont't add PFEH if (!GVAR(enabled)) exitWith {}; // Register fire event handler - ["firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; - ["firedPlayerNonLocal", DFUNC(handleFired)] call CBA_fnc_addEventHandler; + ["ace_firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; + ["ace_firedPlayerNonLocal", DFUNC(handleFired)] call CBA_fnc_addEventHandler; if (GVAR(vehicleEnabled)) then { - ["firedPlayerVehicle", DFUNC(handleFired)] call CBA_fnc_addEventHandler; - ["firedPlayerVehicleNonLocal", DFUNC(handleFired)] call CBA_fnc_addEventHandler; + ["ace_firedPlayerVehicle", DFUNC(handleFired)] call CBA_fnc_addEventHandler; + ["ace_firedPlayerVehicleNonLocal", DFUNC(handleFired)] call CBA_fnc_addEventHandler; }; [] call FUNC(updateTrajectoryPFH); diff --git a/addons/winddeflection/config.cpp b/addons/winddeflection/config.cpp index a7bedbb9ef..220899d184 100644 --- a/addons/winddeflection/config.cpp +++ b/addons/winddeflection/config.cpp @@ -23,3 +23,11 @@ class CfgAddons { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "ACE_Settings.hpp" + +class ACE_newEvents { + SettingsInitialized = "ace_settingsInitialized"; + firedPlayerVehicleNonLocal = "ace_firedPlayerVehicleNonLocal"; + firedPlayerVehicle = "ace_firedPlayerVehicle"; + firedPlayerNonLocal = "ace_firedPlayerNonLocal"; + firedPlayer = "ace_firedPlayer"; +}; \ No newline at end of file diff --git a/addons/zeus/XEH_preInit.sqf b/addons/zeus/XEH_preInit.sqf index 8e7ee84a07..136851458b 100644 --- a/addons/zeus/XEH_preInit.sqf +++ b/addons/zeus/XEH_preInit.sqf @@ -5,7 +5,7 @@ ADDON = false; #include "XEH_PREP.hpp" if (isServer) then { - ["zeusUnitAssigned", FUNC(handleZeusUnitAssigned)] call CBA_fnc_addEventHandler; + ["ace_zeusUnitAssigned", FUNC(handleZeusUnitAssigned)] call CBA_fnc_addEventHandler; }; ADDON = true; diff --git a/addons/zeus/config.cpp b/addons/zeus/config.cpp index f41769e727..737c73cb9a 100644 --- a/addons/zeus/config.cpp +++ b/addons/zeus/config.cpp @@ -42,3 +42,12 @@ class ACE_Curator { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "ACE_Settings.hpp" + +class ACE_newEvents { + zeusUnitAssigned = "ace_zeusUnitAssigned"; + SetSurrendered = "ace_setSurrendered"; + SetHandcuffed = "ace_setHandcuffed"; + AddCargoByClass = "ace_addCargoByClass"; + AddCargoByClass = "ace_addCargoByClass"; + zeusUnitAssigned = "ace_zeusUnitAssigned"; +}; \ No newline at end of file diff --git a/addons/zeus/functions/fnc_bi_moduleCurator.sqf b/addons/zeus/functions/fnc_bi_moduleCurator.sqf index cfcbdc685b..84c4dd59ec 100644 --- a/addons/zeus/functions/fnc_bi_moduleCurator.sqf +++ b/addons/zeus/functions/fnc_bi_moduleCurator.sqf @@ -175,7 +175,7 @@ if (_activated) then { [_logic,"curatorUnitAssigned",[_logic,_player]] call bis_fnc_callscriptedeventhandler; // Added by ace_zeus - ["zeusUnitAssigned", [_logic,_player]] call CBA_fnc_globalEvent; + ["ace_zeusUnitAssigned", [_logic,_player]] call CBA_fnc_globalEvent; //--- Forced interface //if (_forced) then { diff --git a/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf b/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf index 91b1b4d764..492914eb1c 100644 --- a/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf +++ b/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf @@ -32,7 +32,7 @@ if !(["ace_cargo"] call EFUNC(common,isModLoaded) && ["ace_repair"] call EFUNC(c if (getNumber (configFile >> "CfgVehicles" >> "ACE_Track" >> QEGVAR(cargo,size)) > [_mouseOverUnit] call EFUNC(cargo,getCargoSpaceLeft)) then { [LSTRING(OnlyEnoughCargoSpace)] call EFUNC(common,displayTextStructured); } else { - ["AddCargoByClass", ["ACE_Track", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent; + ["ace_addCargoByClass", ["ACE_Track", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent; }; }; }; diff --git a/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf b/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf index f6f1fadb5a..105acb2b83 100644 --- a/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf +++ b/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf @@ -32,7 +32,7 @@ if !(["ace_cargo"] call EFUNC(common,isModLoaded) && ["ace_repair"] call EFUNC(c if (getNumber (configFile >> "CfgVehicles" >> "ACE_Wheel" >> QEGVAR(cargo,size)) > [_mouseOverUnit] call EFUNC(cargo,getCargoSpaceLeft)) then { [LSTRING(OnlyEnoughCargoSpace)] call EFUNC(common,displayTextStructured); } else { - ["AddCargoByClass", ["ACE_Wheel", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent; + ["ace_addCargoByClass", ["ACE_Wheel", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent; }; }; }; diff --git a/addons/zeus/functions/fnc_moduleCaptive.sqf b/addons/zeus/functions/fnc_moduleCaptive.sqf index d9b1c429e0..ee0781b43f 100644 --- a/addons/zeus/functions/fnc_moduleCaptive.sqf +++ b/addons/zeus/functions/fnc_moduleCaptive.sqf @@ -38,7 +38,7 @@ if (isNil QEFUNC(captives,setHandcuffed)) then { } else { _captive = GETVAR(_unit,EGVAR(captives,isHandcuffed),false); // Event initalized by ACE_Captives - ["SetHandcuffed", [_unit, !_captive], _unit] call CBA_fnc_targetEvent; + ["ace_setHandcuffed", [_unit, !_captive], _unit] call CBA_fnc_targetEvent; }; }; }; diff --git a/addons/zeus/functions/fnc_moduleSurrender.sqf b/addons/zeus/functions/fnc_moduleSurrender.sqf index 9ef8270eee..08b74847c1 100644 --- a/addons/zeus/functions/fnc_moduleSurrender.sqf +++ b/addons/zeus/functions/fnc_moduleSurrender.sqf @@ -41,7 +41,7 @@ if (isNil QEFUNC(captives,setSurrendered)) then { } else { _surrendering = GETVAR(_unit,EGVAR(captives,isSurrendering),false); // Event initalized by ACE_Captives - ["SetSurrendered", [_unit, !_surrendering], _unit] call CBA_fnc_targetEvent; + ["ace_setSurrendered", [_unit, !_surrendering], _unit] call CBA_fnc_targetEvent; }; }; }; From 207d6612da4d9f6f0444ae7df703c78de6213ca0 Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Tue, 24 May 2016 15:06:17 +0100 Subject: [PATCH 13/63] Remove duplicate ACE_newEvents entries --- addons/atragmx/XEH_postInit.sqf | 2 +- addons/atragmx/config.cpp | 4 +- addons/backpacks/config.cpp | 3 +- addons/captives/config.cpp | 9 +--- addons/cargo/config.cpp | 8 +-- addons/common/XEH_postInit.sqf | 8 +-- addons/common/config.cpp | 33 ++---------- .../fnc__handleRequestAllSyncedEvents.sqf | 2 +- .../fnc__handleRequestSyncedEvent.sqf | 2 +- .../functions/fnc_requestSyncedEvent.sqf | 2 +- addons/common/functions/fnc_syncedEvent.sqf | 2 +- addons/dagr/XEH_postInit.sqf | 2 +- addons/dagr/config.cpp | 2 +- addons/disarming/config.cpp | 4 +- addons/dragging/config.cpp | 9 +--- addons/gforces/config.cpp | 2 - addons/goggles/config.cpp | 3 +- addons/grenades/config.cpp | 3 +- addons/hearing/config.cpp | 2 +- addons/interact_menu/config.cpp | 6 +-- addons/interaction/config.cpp | 7 +-- addons/interaction/functions/fnc_joinTeam.sqf | 2 +- addons/laser/config.cpp | 4 +- addons/maptools/config.cpp | 6 +-- addons/medical/config.cpp | 51 +------------------ addons/medical_menu/config.cpp | 4 +- addons/microdagr/XEH_clientInit.sqf | 2 +- addons/microdagr/config.cpp | 2 +- addons/mk6mortar/config.cpp | 3 +- addons/optics/config.cpp | 2 +- addons/overheating/config.cpp | 5 +- addons/overpressure/config.cpp | 4 +- addons/rearm/config.cpp | 2 +- addons/refuel/config.cpp | 3 +- addons/reload/config.cpp | 5 +- addons/reloadlaunchers/config.cpp | 3 +- addons/repair/config.cpp | 12 +---- addons/respawn/config.cpp | 4 +- addons/sandbag/config.cpp | 2 +- addons/scopes/config.cpp | 2 +- addons/tacticalladder/config.cpp | 2 +- addons/tagging/config.cpp | 3 +- addons/trenches/config.cpp | 2 +- addons/tripod/config.cpp | 2 +- addons/ui/config.cpp | 2 +- addons/vector/config.cpp | 4 +- addons/vector/functions/fnc_dataTransfer.sqf | 2 +- addons/vehiclelock/config.cpp | 5 +- addons/viewdistance/config.cpp | 2 +- addons/weaponselect/config.cpp | 2 +- addons/weather/config.cpp | 3 +- addons/winddeflection/config.cpp | 2 +- addons/zeus/config.cpp | 4 +- 53 files changed, 61 insertions(+), 207 deletions(-) diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf index dc4230ebaa..5cbdea57b8 100644 --- a/addons/atragmx/XEH_postInit.sqf +++ b/addons/atragmx/XEH_postInit.sqf @@ -49,4 +49,4 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == [] call FUNC(init); [] call FUNC(restore_user_data); -["ace_rangerfinderData", {_this call FUNC(sord)}] call CBA_fnc_addEventHandler; +["ace_rangefinderData", {_this call FUNC(sord)}] call CBA_fnc_addEventHandler; diff --git a/addons/atragmx/config.cpp b/addons/atragmx/config.cpp index 925c1a4dfc..d46b0f1583 100644 --- a/addons/atragmx/config.cpp +++ b/addons/atragmx/config.cpp @@ -16,5 +16,5 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "RscTitles.hpp" class ACE_newEvents { - RangerfinderData = "ace_rangerfinderData"; -}; \ No newline at end of file + RangerfinderData = "ace_rangefinderData"; +}; diff --git a/addons/backpacks/config.cpp b/addons/backpacks/config.cpp index 212ea47b5f..520d83a240 100644 --- a/addons/backpacks/config.cpp +++ b/addons/backpacks/config.cpp @@ -16,5 +16,4 @@ class CfgPatches { class ACE_newEvents { backpackOpened = "ace_backpackOpened"; - backpackOpened = "ace_backpackOpened"; -}; \ No newline at end of file +}; diff --git a/addons/captives/config.cpp b/addons/captives/config.cpp index 8b3aec38f2..e526f11019 100644 --- a/addons/captives/config.cpp +++ b/addons/captives/config.cpp @@ -27,11 +27,4 @@ class ACE_newEvents { MoveInCaptive = "ace_moveInCaptive"; playerChanged = "ace_playerChanged"; CaptiveStatusChanged = "ace_captiveStatusChanged"; - CaptiveStatusChanged = "ace_captiveStatusChanged"; - SetSurrendered = "ace_setSurrendered"; - SetHandcuffed = "ace_setHandcuffed"; - MoveOutCaptive = "ace_moveOutCaptive"; - SetHandcuffed = "ace_setHandcuffed"; - MoveInCaptive = "ace_moveInCaptive"; - SetHandcuffed = "ace_setHandcuffed"; -}; \ No newline at end of file +}; diff --git a/addons/cargo/config.cpp b/addons/cargo/config.cpp index 1c20a0d762..73efef25ba 100644 --- a/addons/cargo/config.cpp +++ b/addons/cargo/config.cpp @@ -22,15 +22,9 @@ class ACE_newEvents { cargoUnloaded = "ace_cargoUnloaded"; displayTextStructured = "ace_displayTextStructured"; cargoLoaded = "ace_cargoLoaded"; - displayTextStructured = "ace_displayTextStructured"; AddCargoByClass = "ace_addCargoByClass"; ServerUnloadCargo = "ace_serverUnloadCargo"; - displayTextStructured = "ace_displayTextStructured"; - displayTextStructured = "ace_displayTextStructured"; UnloadCargo = "ace_unloadCargo"; - displayTextStructured = "ace_displayTextStructured"; - LoadCargo = "ace_loadCargo"; hideObjectGlobal = "ace_hideObjectGlobal"; - AddCargoByClass = "ace_addCargoByClass"; cargoAddedByClass = "ace_cargoAddedByClass"; -}; \ No newline at end of file +}; diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index bc109cb636..26f25d9ea4 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -178,14 +178,14 @@ if (isServer) then { if (!isServer) then { ["PlayerJip", { ACE_LOGINFO("JIP event synchronization initialized"); - ["ace_sEH_all", [player]] call CBA_fnc_serverEvent; + ["ace_SEH_all", [player]] call CBA_fnc_serverEvent; }] call CBA_fnc_addEventHandler; } else { - ["ace_sEH_all", FUNC(_handleRequestAllSyncedEvents)] call CBA_fnc_addEventHandler; + ["ace_SEH_all", FUNC(_handleRequestAllSyncedEvents)] call CBA_fnc_addEventHandler; }; -["ace_sEH", FUNC(_handleSyncedEvent)] call CBA_fnc_addEventHandler; -["ace_sEH_s", FUNC(_handleRequestSyncedEvent)] call CBA_fnc_addEventHandler; +["ace_SEH", FUNC(_handleSyncedEvent)] call CBA_fnc_addEventHandler; +["ace_SEH_s", FUNC(_handleRequestSyncedEvent)] call CBA_fnc_addEventHandler; if (isServer) then { [FUNC(syncedEventPFH), 0.5, []] call CBA_fnc_addPerFrameHandler; diff --git a/addons/common/config.cpp b/addons/common/config.cpp index 3a9a962d9c..bf911907ad 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -30,10 +30,9 @@ class ACE_newEvents { playerChanged = "ace_playerChanged"; SettingsInitialized = "ace_settingsInitialized"; InitSettingsFromModules = "ace_initSettingsFromModules"; - SEH_s = "ace_sEH_s"; - SEH = "ace_sEH"; - SEH_all = "ace_sEH_all"; - SEH_all = "ace_sEH_all"; + SEH_s = "ace_SEH_s"; + SEH = "ace_SEH"; + SEH_all = "ace_SEH_all"; enableSimulationGlobal = "ace_enableSimulationGlobal"; hideObjectGlobal = "ace_hideObjectGlobal"; setVanillaHitPointDamage = "ace_setVanillaHitPointDamage"; @@ -53,24 +52,8 @@ class ACE_newEvents { fixFloating = "ace_fixFloating"; fixCollision = "ace_fixCollision"; setStatusEffect = "ace_setStatusEffect"; - SEH_s = "ace_sEH_s"; - SEH_s = "ace_sEH_s"; - setSpeaker = "ace_setSpeaker"; - displayTextStructured = "ace_displayTextStructured"; - unloadPersonEvent = "ace_unloadPersonEvent"; - hideObjectGlobal = "ace_hideObjectGlobal"; - SEH = "ace_sEH"; SettingChanged = "ace_settingChanged"; - SettingChanged = "ace_settingChanged"; - SEH_s = "ace_sEH_s"; - setSpeaker = "ace_setSpeaker"; - setSpeaker = "ace_setSpeaker"; - setSpeaker = "ace_setSpeaker"; - loadPersonEvent = "ace_loadPersonEvent"; - hideObjectGlobal = "ace_hideObjectGlobal"; HeadbugFixUsed = "ace_headbugFixUsed"; - HeadbugFixUsed = "ace_headbugFixUsed"; - blockDamage = "ace_blockDamage"; blockDamage = "ace_blockDamage"; firedNonPlayerVehicle = "ace_firedNonPlayerVehicle"; firedPlayerVehicleNonLocal = "ace_firedPlayerVehicleNonLocal"; @@ -78,18 +61,8 @@ class ACE_newEvents { firedNonPlayer = "ace_firedNonPlayer"; firedPlayerNonLocal = "ace_firedPlayerNonLocal"; firedPlayer = "ace_firedPlayer"; - switchMove = "ace_switchMove"; - playMoveNow = "ace_playMoveNow"; - playMoveNow = "ace_playMoveNow"; - playMoveNow = "ace_playMoveNow"; - playMoveNow = "ace_playMoveNow"; - playMove = "ace_playMove"; - playMove = "ace_playMove"; unlockVehicle = "ace_unlockVehicle"; lockVehicle = "ace_lockVehicle"; - playerInventoryChanged = "ace_playerInventoryChanged"; - SettingChanged = "ace_settingChanged"; - playMoveNow = QGVAR(playMoveNow); }; #include "CfgEventHandlers.hpp" diff --git a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf index 1d4ac98f3c..5c95d7c030 100644 --- a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf +++ b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf @@ -18,7 +18,7 @@ params ["_client"]; private _eventEntry = HASH_GET(GVAR(syncedEvents),_x); _eventEntry params ["", "_eventLog"]; - ["ace_sEH_s", [_x, _eventLog], _client] call CBA_fnc_targetEvent; + ["ace_SEH_s", [_x, _eventLog], _client] call CBA_fnc_targetEvent; false } count (GVAR(syncedEvents) select 0); diff --git a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf index 4dd2e6359e..ed55997baa 100644 --- a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf +++ b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf @@ -30,7 +30,7 @@ if (isServer) then { private _eventEntry = HASH_GET(GVAR(syncedEvents),_eventName); _eventEntry params ["", "_eventLog"]; - ["ace_sEH_s", [_eventName, _eventLog], _client] call CBA_fnc_targetEvent; + ["ace_SEH_s", [_eventName, _eventLog], _client] call CBA_fnc_targetEvent; } else { params ["_eventName", "_eventLog"]; diff --git a/addons/common/functions/fnc_requestSyncedEvent.sqf b/addons/common/functions/fnc_requestSyncedEvent.sqf index da01201395..5527030764 100644 --- a/addons/common/functions/fnc_requestSyncedEvent.sqf +++ b/addons/common/functions/fnc_requestSyncedEvent.sqf @@ -17,4 +17,4 @@ params ["_eventName"]; // Only JIP machines on initialization send this off, requesting sync on events with the serverCommand if (isServer) exitWith {false}; -["ace_sEH_s", [_eventName, ACE_player]] call CBA_fnc_serverEvent; +["ace_SEH_s", [_eventName, ACE_player]] call CBA_fnc_serverEvent; diff --git a/addons/common/functions/fnc_syncedEvent.sqf b/addons/common/functions/fnc_syncedEvent.sqf index 996ff0f4c8..08734463be 100644 --- a/addons/common/functions/fnc_syncedEvent.sqf +++ b/addons/common/functions/fnc_syncedEvent.sqf @@ -23,4 +23,4 @@ if (!HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith { private _eventData = [_name, _args, _ttl]; -["ace_sEH", _eventData] call CBA_fnc_globalEvent; +["ace_SEH", _eventData] call CBA_fnc_globalEvent; diff --git a/addons/dagr/XEH_postInit.sqf b/addons/dagr/XEH_postInit.sqf index 84e45a8f85..512ec68eef 100644 --- a/addons/dagr/XEH_postInit.sqf +++ b/addons/dagr/XEH_postInit.sqf @@ -30,4 +30,4 @@ GVAR(vectorConnected) = false; GVAR(noVectorData) = true; GVAR(vectorGrid) = "00000000"; -["ace_rangerfinderData", FUNC(handleRangeFinderData)] call CBA_fnc_addEventHandler; +["ace_rangefinderData", FUNC(handleRangeFinderData)] call CBA_fnc_addEventHandler; diff --git a/addons/dagr/config.cpp b/addons/dagr/config.cpp index fc63e4a0ec..e619f88717 100644 --- a/addons/dagr/config.cpp +++ b/addons/dagr/config.cpp @@ -18,5 +18,5 @@ class CfgPatches { #include "RscTitles.hpp" class ACE_newEvents { - RangerfinderData = "ace_rangerfinderData"; + RangerfinderData = "ace_rangefinderData"; }; \ No newline at end of file diff --git a/addons/disarming/config.cpp b/addons/disarming/config.cpp index d8358a2bd3..b7868726ed 100644 --- a/addons/disarming/config.cpp +++ b/addons/disarming/config.cpp @@ -21,6 +21,4 @@ class CfgPatches { class ACE_newEvents { DisarmDebugCallback = "ace_disarmDebugCallback"; DisarmDropItems = "ace_disarmDropItems"; - DisarmDropItems = "ace_disarmDropItems"; - DisarmDebugCallback = "ace_disarmDebugCallback"; -}; \ No newline at end of file +}; diff --git a/addons/dragging/config.cpp b/addons/dragging/config.cpp index 59bec425d8..ef9d57bcd1 100644 --- a/addons/dragging/config.cpp +++ b/addons/dragging/config.cpp @@ -25,11 +25,4 @@ class ACE_newEvents { fixFloating = "ace_fixFloating"; fixPosition = "ace_fixPosition"; fixCollision = "ace_fixCollision"; - fixCollision = "ace_fixCollision"; - fixFloating = "ace_fixFloating"; - fixPosition = "ace_fixPosition"; - fixCollision = "ace_fixCollision"; - fixCollision = "ace_fixCollision"; - setDir = "ace_setDir"; - setDir = "ace_setDir"; -}; \ No newline at end of file +}; diff --git a/addons/gforces/config.cpp b/addons/gforces/config.cpp index d0d7965ffa..79a2a850ed 100644 --- a/addons/gforces/config.cpp +++ b/addons/gforces/config.cpp @@ -13,9 +13,7 @@ class CfgPatches { }; #include "CfgEventHandlers.hpp" - #include "CfgWeapons.hpp" - #include "CfgVehicles.hpp" class ACE_newEvents { diff --git a/addons/goggles/config.cpp b/addons/goggles/config.cpp index 7f7d932cb1..409f114b98 100644 --- a/addons/goggles/config.cpp +++ b/addons/goggles/config.cpp @@ -276,5 +276,4 @@ class ACE_newEvents { cameraViewChanged = "ace_cameraViewChanged"; GlassesChanged = "ace_glassesChanged"; GlassesCracked = "ace_glassesCracked"; - GlassesCracked = "ace_glassesCracked"; -}; \ No newline at end of file +}; diff --git a/addons/grenades/config.cpp b/addons/grenades/config.cpp index 27c729f06d..01c3b51bdb 100644 --- a/addons/grenades/config.cpp +++ b/addons/grenades/config.cpp @@ -25,5 +25,4 @@ class ACE_newEvents { firedPlayerNonLocal = "ace_firedPlayerNonLocal"; firedPlayer = "ace_firedPlayer"; flashbangExplosion = "ace_flashbangExplosion"; - flashbangExplosion = "ace_flashbangExplosion"; -}; \ No newline at end of file +}; diff --git a/addons/hearing/config.cpp b/addons/hearing/config.cpp index 1654f083d7..255f0e6cb5 100644 --- a/addons/hearing/config.cpp +++ b/addons/hearing/config.cpp @@ -29,4 +29,4 @@ class ACE_newEvents { playerInventoryChanged = "ace_playerInventoryChanged"; playerTurretChanged = "ace_playerTurretChanged"; playerVehicleChanged = "ace_playerVehicleChanged"; -}; \ No newline at end of file +}; diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index 663eaccea8..898829dd5e 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -29,9 +29,5 @@ class ACE_newEvents { playerChanged = "ace_playerChanged"; interactMenuOpened = "ace_interactMenuOpened"; clearConditionCaches = "ace_clearConditionCaches"; - clearConditionCaches = "ace_clearConditionCaches"; interactMenuClosed = "ace_interactMenuClosed"; - clearConditionCaches = "ace_clearConditionCaches"; - clearConditionCaches = "ace_clearConditionCaches"; - interactMenuOpened = "ace_interactMenuOpened"; -}; \ No newline at end of file +}; diff --git a/addons/interaction/config.cpp b/addons/interaction/config.cpp index b914d94bee..9359c10df1 100644 --- a/addons/interaction/config.cpp +++ b/addons/interaction/config.cpp @@ -25,9 +25,6 @@ class ACE_newEvents { sendAway = "ace_sendAway"; setVelocity = "ace_setVelocity"; displayTextStructured = "ace_displayTextStructured"; - pardon = "ace_pardon"; - displayTextStructured = "ace_displayTextStructured"; - CBA_teamColorChanged = "ace_cBA_teamColorChanged"; - getDown = "ace_getDown"; + CBA_teamColorChanged = "ace_CBA_teamColorChanged"; selectLeader = "ace_selectLeader"; -}; \ No newline at end of file +}; diff --git a/addons/interaction/functions/fnc_joinTeam.sqf b/addons/interaction/functions/fnc_joinTeam.sqf index 46b0f79d5f..bd3db0e294 100644 --- a/addons/interaction/functions/fnc_joinTeam.sqf +++ b/addons/interaction/functions/fnc_joinTeam.sqf @@ -18,7 +18,7 @@ params ["_unit", "_team"]; -["ace_cBA_teamColorChanged", [_unit, _team]] call CBA_fnc_globalEvent; +["ace_CBA_teamColorChanged", [_unit, _team]] call CBA_fnc_globalEvent; // display message if (_unit == ACE_player) then { diff --git a/addons/laser/config.cpp b/addons/laser/config.cpp index 3a334f3b9d..746471a493 100644 --- a/addons/laser/config.cpp +++ b/addons/laser/config.cpp @@ -17,6 +17,4 @@ class CfgPatches { class ACE_newEvents { laser_laserOff = "ace_laser_laserOff"; laser_laserOn = "ace_laser_laserOn"; - laser_laserOn = "ace_laser_laserOn"; - laser_laserOff = "ace_laser_laserOff"; -}; \ No newline at end of file +}; diff --git a/addons/maptools/config.cpp b/addons/maptools/config.cpp index 2d9d92345a..01a68e9d3c 100644 --- a/addons/maptools/config.cpp +++ b/addons/maptools/config.cpp @@ -72,8 +72,4 @@ class ACE_newEvents { drawing_requestMarkers = "ace_drawing_requestMarkers"; drawing_addLineMarker = "ace_drawing_addLineMarker"; drawing_removeLineMarker = "ace_drawing_removeLineMarker"; - drawing_addLineMarker = "ace_drawing_addLineMarker"; - drawing_removeLineMarker = "ace_drawing_removeLineMarker"; - drawing_requestMarkers = "ace_drawing_requestMarkers"; - drawing_sendbackMarkers = "ace_drawing_sendbackMarkers"; -}; \ No newline at end of file +}; diff --git a/addons/medical/config.cpp b/addons/medical/config.cpp index 832be32cb6..e78c5bea03 100644 --- a/addons/medical/config.cpp +++ b/addons/medical/config.cpp @@ -50,63 +50,14 @@ class ACE_newEvents { medical_woundUpdateRequest = "ace_medical_woundUpdateRequest"; medical_propagateWound = "ace_medical_propagateWound"; useItem = "ace_useItem"; - useItem = "ace_useItem"; - useItem = "ace_useItem"; - useItem = "ace_useItem"; - useItem = "ace_useItem"; - useItem = "ace_useItem"; - medical_onUnconscious = "ace_medical_onUnconscious"; - medical_onUnconscious = "ace_medical_onUnconscious"; medical_treatmentSuccess = "ace_medical_treatmentSuccess"; - treatmentTourniquetLocal = "ace_treatmentTourniquetLocal"; - treatmentTourniquetLocal = "ace_treatmentTourniquetLocal"; displayTextStructured = "ace_displayTextStructured"; - displayTextStructured = "ace_displayTextStructured"; - treatmentIVLocal = "ace_treatmentIVLocal"; - treatmentIVLocal = "ace_treatmentIVLocal"; - treatmentBasic_morphineLocal = "ace_treatmentBasic_morphineLocal"; - treatmentBasic_morphineLocal = "ace_treatmentBasic_morphineLocal"; - treatmentBasic_bloodbagLocal = "ace_treatmentBasic_bloodbagLocal"; - treatmentBasic_bloodbagLocal = "ace_treatmentBasic_bloodbagLocal"; - treatmentBasic_bandageLocal = "ace_treatmentBasic_bandageLocal"; - treatmentBasic_bandageLocal = "ace_treatmentBasic_bandageLocal"; - treatmentAdvanced_medicationLocal = "ace_treatmentAdvanced_medicationLocal"; - treatmentAdvanced_fullHealLocal = "ace_treatmentAdvanced_fullHealLocal"; - treatmentAdvanced_fullHealLocal = "ace_treatmentAdvanced_fullHealLocal"; - treatmentAdvanced_CPRLocal = "ace_treatmentAdvanced_CPRLocal"; - treatmentAdvanced_CPRLocal = "ace_treatmentAdvanced_CPRLocal"; - medical_propagateWound = "ace_medical_propagateWound"; - treatmentAdvanced_bandageLocal = "ace_treatmentAdvanced_bandageLocal"; - treatmentAdvanced_bandageLocal = "ace_treatmentAdvanced_bandageLocal"; - displayTextStructured = "ace_displayTextStructured"; - medical_onUnconscious = "ace_medical_onUnconscious"; - setUnconscious = "ace_setUnconscious"; - setHitPointDamage = "ace_setHitPointDamage"; medical_onSetDead = "ace_medical_onSetDead"; - setDead = "ace_setDead"; Medical_onEnteredCardiacArrest = "ace_medical_onEnteredCardiacArrest"; hideObjectGlobal = "ace_hideObjectGlobal"; - medical_woundUpdateRequest = "ace_medical_woundUpdateRequest"; - medical_propagateWound = "ace_medical_propagateWound"; - displayTextStructured = "ace_displayTextStructured"; addVitalLoop = "ace_addVitalLoop"; Medical_onItemAddedToTriageCard = "ace_medical_onItemAddedToTriageCard"; - addToTriageCard = "ace_addToTriageCard"; medical_onLogEntryAdded = "ace_medical_onLogEntryAdded"; - addToMedicalLog = "ace_addToMedicalLog"; Medical_onHeartRateAdjustmentAdded = "ace_medical_onHeartRateAdjustmentAdded"; unloadPersonEvent = "ace_unloadPersonEvent"; - treatmentAdvanced_medicationLocal = "ace_treatmentAdvanced_medicationLocal"; - displayTextStructured = "ace_displayTextStructured"; - placedInBodyBag = "ace_placedInBodyBag"; - actionPlaceInBodyBag = "ace_actionPlaceInBodyBag"; - displayTextStructured = "ace_displayTextStructured"; - displayTextStructured = "ace_displayTextStructured"; - displayTextStructured = "ace_displayTextStructured"; - displayTextStructured = "ace_displayTextStructured"; - actionCheckPulseLocal = "ace_actionCheckPulseLocal"; - actionCheckPulseLocal = "ace_actionCheckPulseLocal"; - displayTextStructured = "ace_displayTextStructured"; - actionCheckBloodPressureLocal = "ace_actionCheckBloodPressureLocal"; - actionCheckBloodPressureLocal = "ace_actionCheckBloodPressureLocal"; -}; \ No newline at end of file +}; diff --git a/addons/medical_menu/config.cpp b/addons/medical_menu/config.cpp index 960ff0bf71..0183c0207f 100644 --- a/addons/medical_menu/config.cpp +++ b/addons/medical_menu/config.cpp @@ -7,7 +7,7 @@ class CfgPatches { requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_medical"}; author[] = {$STR_ACE_Common_ACETeam, "Glowbal"}; - authorUrl = "http://ace3mod.com"; + authorUrl = "http://ace3mod.com"; VERSION_CONFIG; }; }; @@ -21,4 +21,4 @@ class ACE_newEvents { medical_treatmentSuccess = "ace_medical_treatmentSuccess"; Medical_onMenuOpen = "ace_medical_onMenuOpen"; displayTextStructured = "ace_displayTextStructured"; -}; \ No newline at end of file +}; diff --git a/addons/microdagr/XEH_clientInit.sqf b/addons/microdagr/XEH_clientInit.sqf index 6f52de1776..62d49a1fd3 100644 --- a/addons/microdagr/XEH_clientInit.sqf +++ b/addons/microdagr/XEH_clientInit.sqf @@ -20,7 +20,7 @@ _closeCode = { //Add Eventhandler: -["ace_rangerfinderData", {_this call FUNC(recieveRangefinderData)}] call CBA_fnc_addEventHandler; +["ace_rangefinderData", {_this call FUNC(recieveRangefinderData)}] call CBA_fnc_addEventHandler; //Global Variables to default: GVAR(gpsPositionASL) = [0,0,0]; diff --git a/addons/microdagr/config.cpp b/addons/microdagr/config.cpp index ecb4ac2e97..4cbc4b4cbf 100644 --- a/addons/microdagr/config.cpp +++ b/addons/microdagr/config.cpp @@ -19,5 +19,5 @@ class CfgPatches { #include "ACE_Settings.hpp" class ACE_newEvents { - RangerfinderData = "ace_rangerfinderData"; + RangerfinderData = "ace_rangefinderData"; }; \ No newline at end of file diff --git a/addons/mk6mortar/config.cpp b/addons/mk6mortar/config.cpp index d108c81ff3..31fba6f7ba 100644 --- a/addons/mk6mortar/config.cpp +++ b/addons/mk6mortar/config.cpp @@ -37,5 +37,4 @@ class ACE_newEvents { infoDisplayChanged = "ace_infoDisplayChanged"; playerVehicleChanged = "ace_playerVehicleChanged"; initMortar = "ace_initMortar"; - initMortar = "ace_initMortar"; -}; \ No newline at end of file +}; diff --git a/addons/optics/config.cpp b/addons/optics/config.cpp index 382f97e555..64affd601f 100644 --- a/addons/optics/config.cpp +++ b/addons/optics/config.cpp @@ -37,4 +37,4 @@ class CfgPatches { class ACE_newEvents { infoDisplayChanged = "ace_infoDisplayChanged"; firedPlayer = "ace_firedPlayer"; -}; \ No newline at end of file +}; diff --git a/addons/overheating/config.cpp b/addons/overheating/config.cpp index dcf9c64ea3..89158a67e1 100644 --- a/addons/overheating/config.cpp +++ b/addons/overheating/config.cpp @@ -58,9 +58,6 @@ class ACE_newEvents { firedPlayer = "ace_firedPlayer"; spareBarrelsLoadCoolest = "ace_spareBarrelsLoadCoolest"; spareBarrelsSendTemperatureHint = "ace_spareBarrelsSendTemperatureHint"; - spareBarrelsLoadCoolest = "ace_spareBarrelsLoadCoolest"; - initiateSwapBarrelAssisted = "ace_initiateSwapBarrelAssisted"; displayTextStructured = "ace_displayTextStructured"; - showWeaponTemperature = "ace_showWeaponTemperature"; weaponJammed = "ace_weaponJammed"; -}; \ No newline at end of file +}; diff --git a/addons/overpressure/config.cpp b/addons/overpressure/config.cpp index 443bee528d..5e37dd9ecb 100644 --- a/addons/overpressure/config.cpp +++ b/addons/overpressure/config.cpp @@ -19,6 +19,4 @@ class ACE_newEvents { firedPlayerVehicle = "ace_firedPlayerVehicle"; firedPlayer = "ace_firedPlayer"; overpressure = "ace_overpressure"; - overpressure = "ace_overpressure"; - overpressure = "ace_overpressure"; -}; \ No newline at end of file +}; diff --git a/addons/rearm/config.cpp b/addons/rearm/config.cpp index 305167b860..006e3e8bcc 100644 --- a/addons/rearm/config.cpp +++ b/addons/rearm/config.cpp @@ -22,4 +22,4 @@ class CfgPatches { class ACE_newEvents { playerVehicleChanged = "ace_playerVehicleChanged"; medical_onUnconscious = "ace_medical_onUnconscious"; -}; \ No newline at end of file +}; diff --git a/addons/refuel/config.cpp b/addons/refuel/config.cpp index a030633d0a..b903970a3b 100644 --- a/addons/refuel/config.cpp +++ b/addons/refuel/config.cpp @@ -21,5 +21,4 @@ class ACE_newEvents { setFuel = "ace_setFuel"; setVectorDirAndUp = "ace_setVectorDirAndUp"; displayTextStructured = "ace_displayTextStructured"; - displayTextStructured = "ace_displayTextStructured"; -}; \ No newline at end of file +}; diff --git a/addons/reload/config.cpp b/addons/reload/config.cpp index cd22dfc98c..e82dab39c8 100644 --- a/addons/reload/config.cpp +++ b/addons/reload/config.cpp @@ -25,8 +25,5 @@ class CfgPatches { class ACE_newEvents { setAmmoSync = "ace_setAmmoSync"; returnedAmmo = "ace_returnedAmmo"; - setAmmoSync = "ace_setAmmoSync"; - returnedAmmo = "ace_returnedAmmo"; - returnedAmmo = "ace_returnedAmmo"; linkedAmmo = "ace_linkedAmmo"; -}; \ No newline at end of file +}; diff --git a/addons/reloadlaunchers/config.cpp b/addons/reloadlaunchers/config.cpp index df2a8e5e35..915316ac39 100644 --- a/addons/reloadlaunchers/config.cpp +++ b/addons/reloadlaunchers/config.cpp @@ -19,5 +19,4 @@ class CfgPatches { class ACE_newEvents { reloadLauncher = "ace_reloadLauncher"; - reloadLauncher = "ace_reloadLauncher"; -}; \ No newline at end of file +}; diff --git a/addons/repair/config.cpp b/addons/repair/config.cpp index e4f3807e38..84d8a6fa83 100644 --- a/addons/repair/config.cpp +++ b/addons/repair/config.cpp @@ -24,18 +24,8 @@ class ACE_newEvents { setVehicleHitPointDamage = "ace_setVehicleHitPointDamage"; setVehicleDamage = "ace_setVehicleDamage"; fixPosition = "ace_fixPosition"; - fixCollision = "ace_fixCollision"; - displayTextStructured = "ace_displayTextStructured"; displayTextStructured = "ace_displayTextStructured"; engineOn = "ace_engineOn"; - setWheelHitPointDamage = "ace_setWheelHitPointDamage"; - setWheelHitPointDamage = "ace_setWheelHitPointDamage"; - setWheelHitPointDamage = "ace_setWheelHitPointDamage"; - setVehicleHitPointDamage = "ace_setVehicleHitPointDamage"; - setVehicleHitPointDamage = "ace_setVehicleHitPointDamage"; - setWheelHitPointDamage = "ace_setWheelHitPointDamage"; - fixCollision = "ace_fixCollision"; - setWheelHitPointDamage = "ace_setWheelHitPointDamage"; fixCollision = "ace_fixCollision"; AddCargoByClass = "ace_addCargoByClass"; -}; \ No newline at end of file +}; diff --git a/addons/respawn/config.cpp b/addons/respawn/config.cpp index e723e6a6f5..e70532fee0 100644 --- a/addons/respawn/config.cpp +++ b/addons/respawn/config.cpp @@ -23,6 +23,4 @@ class ACE_newEvents { playerChanged = "ace_playerChanged"; rallypointMoved = "ace_rallypointMoved"; killedByFriendly = "ace_killedByFriendly"; - rallypointMoved = "ace_rallypointMoved"; - rallypointMoved = "ace_rallypointMoved"; -}; \ No newline at end of file +}; diff --git a/addons/sandbag/config.cpp b/addons/sandbag/config.cpp index 1f3c7e1652..80938d6ff4 100644 --- a/addons/sandbag/config.cpp +++ b/addons/sandbag/config.cpp @@ -21,4 +21,4 @@ class ACE_newEvents { playerChanged = "ace_playerChanged"; interactMenuOpened = "ace_interactMenuOpened"; enableSimulationGlobal = "ace_enableSimulationGlobal"; -}; \ No newline at end of file +}; diff --git a/addons/scopes/config.cpp b/addons/scopes/config.cpp index 63eab66219..038739d558 100644 --- a/addons/scopes/config.cpp +++ b/addons/scopes/config.cpp @@ -27,4 +27,4 @@ class ACE_newEvents { firedPlayerNonLocal = "ace_firedPlayerNonLocal"; firedPlayer = "ace_firedPlayer"; playerInventoryChanged = "ace_playerInventoryChanged"; -}; \ No newline at end of file +}; diff --git a/addons/tacticalladder/config.cpp b/addons/tacticalladder/config.cpp index 9ef3e2e42b..81b210c80c 100644 --- a/addons/tacticalladder/config.cpp +++ b/addons/tacticalladder/config.cpp @@ -20,4 +20,4 @@ class ACE_newEvents { playerVehicleChanged = "ace_playerVehicleChanged"; playerChanged = "ace_playerChanged"; interactMenuOpened = "ace_interactMenuOpened"; -}; \ No newline at end of file +}; diff --git a/addons/tagging/config.cpp b/addons/tagging/config.cpp index 38d974a8ec..96ecadbf03 100644 --- a/addons/tagging/config.cpp +++ b/addons/tagging/config.cpp @@ -17,7 +17,6 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - createTag = "ace_createTag"; createTag = "ace_createTag"; tagCreated = "ace_tagCreated"; -}; \ No newline at end of file +}; diff --git a/addons/trenches/config.cpp b/addons/trenches/config.cpp index ad484212f0..3d5c3a5a17 100644 --- a/addons/trenches/config.cpp +++ b/addons/trenches/config.cpp @@ -23,4 +23,4 @@ class ACE_newEvents { playerChanged = "ace_playerChanged"; interactMenuOpened = "ace_interactMenuOpened"; enableSimulationGlobal = "ace_enableSimulationGlobal"; -}; \ No newline at end of file +}; diff --git a/addons/tripod/config.cpp b/addons/tripod/config.cpp index f4a5163980..f57dbb7b9e 100644 --- a/addons/tripod/config.cpp +++ b/addons/tripod/config.cpp @@ -19,4 +19,4 @@ class ACE_newEvents { playerVehicleChanged = "ace_playerVehicleChanged"; playerChanged = "ace_playerChanged"; interactMenuOpened = "ace_interactMenuOpened"; -}; \ No newline at end of file +}; diff --git a/addons/ui/config.cpp b/addons/ui/config.cpp index 36f97719e7..b00b209f52 100644 --- a/addons/ui/config.cpp +++ b/addons/ui/config.cpp @@ -21,4 +21,4 @@ class CfgPatches { class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; -}; \ No newline at end of file +}; diff --git a/addons/vector/config.cpp b/addons/vector/config.cpp index a39bab6e72..fae30f790e 100644 --- a/addons/vector/config.cpp +++ b/addons/vector/config.cpp @@ -20,5 +20,5 @@ class CfgPatches { #include "RscInGameUI.hpp" class ACE_newEvents { - RangerfinderData = "ace_rangerfinderData"; -}; \ No newline at end of file + RangerfinderData = "ace_rangefinderData"; +}; diff --git a/addons/vector/functions/fnc_dataTransfer.sqf b/addons/vector/functions/fnc_dataTransfer.sqf index 6c51332e88..1c3a67c1cb 100644 --- a/addons/vector/functions/fnc_dataTransfer.sqf +++ b/addons/vector/functions/fnc_dataTransfer.sqf @@ -22,4 +22,4 @@ _direction = call FUNC(getDirection); _azimuth = _direction select 0; _inclination = _direction select 1; //Send Data to connected GPS -["ace_rangerfinderData", [_distance, _azimuth, _inclination]] call CBA_fnc_localEvent; \ No newline at end of file +["ace_rangefinderData", [_distance, _azimuth, _inclination]] call CBA_fnc_localEvent; \ No newline at end of file diff --git a/addons/vehiclelock/config.cpp b/addons/vehiclelock/config.cpp index 31a87fafdf..8dbc7a5ece 100644 --- a/addons/vehiclelock/config.cpp +++ b/addons/vehiclelock/config.cpp @@ -22,7 +22,4 @@ class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; VehicleLock_SetVehicleLock = "ace_vehicleLock_SetVehicleLock"; VehicleLock_SetupCustomKey = "ace_vehicleLock_SetupCustomKey"; - VehicleLock_SetVehicleLock = "ace_vehicleLock_SetVehicleLock"; - VehicleLock_SetVehicleLock = "ace_vehicleLock_SetVehicleLock"; - VehicleLock_SetupCustomKey = "ace_vehicleLock_SetupCustomKey"; -}; \ No newline at end of file +}; diff --git a/addons/viewdistance/config.cpp b/addons/viewdistance/config.cpp index 83fda3cc09..a9af73b78e 100644 --- a/addons/viewdistance/config.cpp +++ b/addons/viewdistance/config.cpp @@ -18,4 +18,4 @@ class CfgPatches { class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; -}; \ No newline at end of file +}; diff --git a/addons/weaponselect/config.cpp b/addons/weaponselect/config.cpp index 5132c4084b..04a674a576 100644 --- a/addons/weaponselect/config.cpp +++ b/addons/weaponselect/config.cpp @@ -18,4 +18,4 @@ class CfgPatches { class ACE_newEvents { firedPlayer = "ace_firedPlayer"; displayTextPicture = "ace_displayTextPicture"; -}; \ No newline at end of file +}; diff --git a/addons/weather/config.cpp b/addons/weather/config.cpp index 35c3237ad8..280efd3654 100644 --- a/addons/weather/config.cpp +++ b/addons/weather/config.cpp @@ -18,5 +18,4 @@ class CfgPatches { #include "ACE_Settings.hpp" class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; - SettingsInitialized = "ace_settingsInitialized"; -}; \ No newline at end of file +}; diff --git a/addons/winddeflection/config.cpp b/addons/winddeflection/config.cpp index 220899d184..48f24920c4 100644 --- a/addons/winddeflection/config.cpp +++ b/addons/winddeflection/config.cpp @@ -30,4 +30,4 @@ class ACE_newEvents { firedPlayerVehicle = "ace_firedPlayerVehicle"; firedPlayerNonLocal = "ace_firedPlayerNonLocal"; firedPlayer = "ace_firedPlayer"; -}; \ No newline at end of file +}; diff --git a/addons/zeus/config.cpp b/addons/zeus/config.cpp index 737c73cb9a..0758e1557b 100644 --- a/addons/zeus/config.cpp +++ b/addons/zeus/config.cpp @@ -48,6 +48,4 @@ class ACE_newEvents { SetSurrendered = "ace_setSurrendered"; SetHandcuffed = "ace_setHandcuffed"; AddCargoByClass = "ace_addCargoByClass"; - AddCargoByClass = "ace_addCargoByClass"; - zeusUnitAssigned = "ace_zeusUnitAssigned"; -}; \ No newline at end of file +}; From 331c3c70cb53957f01ad88c91d49d0c5be0f1ade Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 24 May 2016 18:58:27 +0200 Subject: [PATCH 14/63] Verify and fix cargo, nametags, rearm, reload, repair, ui, Convert infoDisplayChanged in common and mk6mortar Rsc's --- addons/cargo/XEH_postInit.sqf | 2 +- addons/cargo/config.cpp | 2 +- addons/cargo/functions/fnc_unloadItem.sqf | 2 +- addons/common/RscInfoType.hpp | 54 +++++++++---------- addons/mk6mortar/RscInGameUI.hpp | 2 +- addons/nametags/XEH_postInit.sqf | 2 +- .../nametags/functions/fnc_initIsSpeaking.sqf | 2 +- .../rearm/functions/fnc_rearmSuccessLocal.sqf | 8 +-- addons/reload/XEH_postInit.sqf | 10 ++-- addons/reload/config.cpp | 2 +- addons/repair/XEH_postInit.sqf | 6 +-- addons/repair/config.cpp | 6 +-- addons/repair/functions/fnc_doRemoveTrack.sqf | 2 +- addons/repair/functions/fnc_doRemoveWheel.sqf | 2 +- addons/repair/functions/fnc_doRepair.sqf | 4 +- addons/repair/functions/fnc_doRepairTrack.sqf | 2 +- .../repair/functions/fnc_doReplaceTrack.sqf | 2 +- .../repair/functions/fnc_doReplaceWheel.sqf | 2 +- .../functions/fnc_setHitPointDamage.sqf | 2 +- addons/ui/XEH_clientInit.sqf | 4 +- 20 files changed, 59 insertions(+), 59 deletions(-) diff --git a/addons/cargo/XEH_postInit.sqf b/addons/cargo/XEH_postInit.sqf index 90995b8659..99242d3726 100644 --- a/addons/cargo/XEH_postInit.sqf +++ b/addons/cargo/XEH_postInit.sqf @@ -44,7 +44,7 @@ // TOOO maybe drag/carry the unloaded item? }] call CBA_fnc_addEventHandler; -["ServerUnloadCargo", { +[QGVAR("serverUnload"), { params ["_item", "_emptyPosAGL"]; _item hideObjectGlobal false; diff --git a/addons/cargo/config.cpp b/addons/cargo/config.cpp index 73efef25ba..4d8a622e36 100644 --- a/addons/cargo/config.cpp +++ b/addons/cargo/config.cpp @@ -23,7 +23,7 @@ class ACE_newEvents { displayTextStructured = "ace_displayTextStructured"; cargoLoaded = "ace_cargoLoaded"; AddCargoByClass = "ace_addCargoByClass"; - ServerUnloadCargo = "ace_serverUnloadCargo"; + ServerUnloadCargo = QGVAR(serverUnload); UnloadCargo = "ace_unloadCargo"; hideObjectGlobal = "ace_hideObjectGlobal"; cargoAddedByClass = "ace_cargoAddedByClass"; diff --git a/addons/cargo/functions/fnc_unloadItem.sqf b/addons/cargo/functions/fnc_unloadItem.sqf index 5faad01120..204a8479ca 100644 --- a/addons/cargo/functions/fnc_unloadItem.sqf +++ b/addons/cargo/functions/fnc_unloadItem.sqf @@ -52,7 +52,7 @@ if (_item isEqualType objNull) then { detach _item; // hideObjectGlobal must be executed before setPos to ensure light objects are rendered correctly // do both on server to ensure they are executed in the correct order - ["ace_serverUnloadCargo", [_item, _emptyPosAGL]] call CBA_fnc_serverEvent; + [QGVAR(serverUnload), [_item, _emptyPosAGL]] call CBA_fnc_serverEvent; } else { private _newItem = createVehicle [_item, _emptyPosAGL, [], 0, ""]; _newItem setPosASL (AGLtoASL _emptyPosAGL); diff --git a/addons/common/RscInfoType.hpp b/addons/common/RscInfoType.hpp index c6136d0107..5828e4b18f 100644 --- a/addons/common/RscInfoType.hpp +++ b/addons/common/RscInfoType.hpp @@ -1,111 +1,111 @@ class RscInGameUI { class RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscUnitInfoNoHUD { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscUnitInfoSoldier: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgSoldier', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Soldier')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgSoldier', _this select 0)]; [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Soldier')])] call CBA_fnc_localEvent;); }; class RscUnitInfoTank: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgVehicle', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Vehicle')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgVehicle', _this select 0)]; [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Vehicle')])] call CBA_fnc_localEvent;); }; class RscUnitInfoAirNoWeapon: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call CBA_fnc_localEvent;); }; class RscUnitInfoAir: RscUnitInfoAirNoWeapon { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call CBA_fnc_localEvent;); }; class RscUnitInfo_AH64D_gunner { - onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call CBA_fnc_localEvent;); + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call CBA_fnc_localEvent;); }; class RscUnitInfoUAV { - onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgUAV', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'UAV')])] call CBA_fnc_localEvent;); + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgUAV', _this select 0)]; [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'UAV')])] call CBA_fnc_localEvent;); }; class RscUnitInfoSubmarine: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgSubmarine', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Submarine')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgSubmarine', _this select 0)]; [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Submarine')])] call CBA_fnc_localEvent;); }; class RscUnitInfoShip: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgShip', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Ship')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgShip', _this select 0)]; [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Ship')])] call CBA_fnc_localEvent;); }; class RscWeaponEmpty { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeFinder { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeArtillery { - onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgArtillery', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Artillery')])] call CBA_fnc_localEvent;); + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgArtillery', _this select 0)]; [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Artillery')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeArtilleryAuto { - onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgArtillery', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Artillery')])] call CBA_fnc_localEvent;); + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_dlgArtillery', _this select 0)]; [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Artillery')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeFinderPAS13 { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscOptics_LaserDesignator { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeFinderMAAWS { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeFinderAbramsCom { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeFinderAbramsGun { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscWeaponRangeFinderStrykerMGSGun { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscOptics_strider_commander { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscOptics_titan { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscOptics_punisher { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscOptics_SDV_periscope { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscUnitInfoParachute: RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgParachute', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Parachute')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgParachute', _this select 0)]; [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Parachute')])] call CBA_fnc_localEvent;); }; class RscUnitVehicle { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscOptics_LaserDesignator_02 { - onLoad = QUOTE([ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscStaminaBar { diff --git a/addons/mk6mortar/RscInGameUI.hpp b/addons/mk6mortar/RscInGameUI.hpp index 864dcecda3..7d32512827 100644 --- a/addons/mk6mortar/RscInGameUI.hpp +++ b/addons/mk6mortar/RscInGameUI.hpp @@ -3,7 +3,7 @@ class RscInGameUI { class CA_IGUI_elements_group: RscControlsGroup {}; }; class ACE_Mk6_RscWeaponRangeArtillery: RscWeaponRangeArtillery { - onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_Mk6_RscWeaponRangeArtillery', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Mk6Mortar')])] call CBA_fnc_localEvent;); + onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_Mk6_RscWeaponRangeArtillery', _this select 0)]; [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Mk6Mortar')])] call CBA_fnc_localEvent;); controls[] = {"ACE_ChargeDisplay", "ACE_MILS_GROUP", "CA_IGUI_elements_group","CA_RangeElements_group"}; class ACE_ChargeDisplay: RscStructuredText { idc = 80085; diff --git a/addons/nametags/XEH_postInit.sqf b/addons/nametags/XEH_postInit.sqf index 7b3dfe71d3..d469843d22 100644 --- a/addons/nametags/XEH_postInit.sqf +++ b/addons/nametags/XEH_postInit.sqf @@ -29,7 +29,7 @@ GVAR(showNamesTime) = -10; }] call CBA_fnc_addEventHandler; // Change settings accordingly when they are changed -["SettingChanged", { +["ace_settingChanged", { params ["_name"]; if (_name == QGVAR(showPlayerNames)) then { call FUNC(updateSettings); diff --git a/addons/nametags/functions/fnc_initIsSpeaking.sqf b/addons/nametags/functions/fnc_initIsSpeaking.sqf index 3904b7f552..1e6484c7fa 100644 --- a/addons/nametags/functions/fnc_initIsSpeaking.sqf +++ b/addons/nametags/functions/fnc_initIsSpeaking.sqf @@ -28,7 +28,7 @@ if (isServer) then { if (!hasInterface) exitWith {}; -["playerChanged", { +["ace_playerChanged", { //When player changes, make sure to reset old unit's variable params ["", "_oldUnit"]; if ((!isNull _oldUnit) && {_oldUnit getVariable [QGVAR(isSpeakingInGame), false]}) then { diff --git a/addons/rearm/functions/fnc_rearmSuccessLocal.sqf b/addons/rearm/functions/fnc_rearmSuccessLocal.sqf index b015b842a4..f2a826fa3b 100644 --- a/addons/rearm/functions/fnc_rearmSuccessLocal.sqf +++ b/addons/rearm/functions/fnc_rearmSuccessLocal.sqf @@ -40,7 +40,7 @@ if (_maxMagazines == 1) then { if (GVAR(level) == 1) then { // Fill magazine completely _target setMagazineTurretAmmo [_magazineClass, _rounds, _turretPath]; - ["displayTextStructured", + ["ace_displayTextStructured", [ [LSTRING(Hint_RearmedTriple), _rounds, getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"), @@ -50,7 +50,7 @@ if (_maxMagazines == 1) then { } else { // Fill only at most _numRounds _target setMagazineTurretAmmo [_magazineClass, ((_target magazineTurretAmmo [_magazineClass, _turretPath]) + _numRounds) min _rounds, _turretPath]; - ["displayTextStructured", + ["ace_displayTextStructured", [ [LSTRING(Hint_RearmedTriple), _numRounds, getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"), @@ -77,7 +77,7 @@ if (_maxMagazines == 1) then { } else { _target setMagazineTurretAmmo [_magazineClass, _currentRounds + _numRounds, _turretPath]; }; - ["displayTextStructured", + ["ace_displayTextStructured", [ [LSTRING(Hint_RearmedTriple), _numRounds, getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"), @@ -91,7 +91,7 @@ if (_maxMagazines == 1) then { _target addMagazineTurret [_magazineClass, _turretPath]; _target setMagazineTurretAmmo [_magazineClass, _currentRounds, _turretPath]; }; - ["displayTextStructured", + ["ace_displayTextStructured", [ [LSTRING(Hint_RearmedTriple), _rounds, getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"), diff --git a/addons/reload/XEH_postInit.sqf b/addons/reload/XEH_postInit.sqf index d5ce159f38..5ce2096118 100644 --- a/addons/reload/XEH_postInit.sqf +++ b/addons/reload/XEH_postInit.sqf @@ -18,16 +18,16 @@ if (!hasInterface) exitWith {}; {false}, [19, [false, true, false]], false] call CBA_fnc_addKeybind; -["ace_setAmmoSync", { +[QGVAR(syncAmmo), { //To propagate the setAmmo change, do it on all clients params ["_unit", "_weapon", "_ammo"]; - TRACE_3("setAmmoSync EH",_unit,_weapon,_ammo); + TRACE_3("syncAmmo EH",_unit,_weapon,_ammo); _unit setAmmo [_weapon, _ammo]; }] call CBA_fnc_addEventHandler; // Listen for attempts to link ammo -["linkedAmmo", { +["ace_linkedAmmo", { params ["_receiver", "_giver", "_magazine"]; private _magazineType = currentMagazine _receiver; @@ -48,7 +48,7 @@ if (!hasInterface) exitWith {}; // Add the ammo private _ammoAdded = _ammoMissing min (_magazine select 1); - ["ace_setAmmoSync", [_receiver, currentWeapon _receiver, _ammoCount + _ammoAdded]] call CBA_fnc_globalEvent; + [QGVAR(syncAmmo), [_receiver, currentWeapon _receiver, _ammoCount + _ammoAdded]] call CBA_fnc_globalEvent; if ((_magazine select 1) - _ammoAdded > 0) then { ["ace_returnedAmmo", [_giver, _receiver, [_magazineType, (_magazine select 1) - _ammoAdded]], [_giver]] call CBA_fnc_targetEvent; @@ -56,7 +56,7 @@ if (!hasInterface) exitWith {}; }] call CBA_fnc_addEventHandler; // Listen for returned magazines -["returnedAmmo", { +["ace_returnedAmmo", { params ["_receiver", "", "_magazine"]; TRACE_2("returnedAmmo EH",_receiver,_magazine); diff --git a/addons/reload/config.cpp b/addons/reload/config.cpp index e82dab39c8..8d773efa4b 100644 --- a/addons/reload/config.cpp +++ b/addons/reload/config.cpp @@ -23,7 +23,7 @@ class CfgPatches { #include "ACE_Settings.hpp" class ACE_newEvents { - setAmmoSync = "ace_setAmmoSync"; + setAmmoSync = QGVAR(syncAmmo); returnedAmmo = "ace_returnedAmmo"; linkedAmmo = "ace_linkedAmmo"; }; diff --git a/addons/repair/XEH_postInit.sqf b/addons/repair/XEH_postInit.sqf index 660eea866a..2f0bbe7869 100644 --- a/addons/repair/XEH_postInit.sqf +++ b/addons/repair/XEH_postInit.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" -["ace_setVehicleDamage", {_this call FUNC(setDamage)}] call CBA_fnc_addEventHandler; -["ace_setVehicleHitPointDamage", {_this call FUNC(setHitPointDamage)}] call CBA_fnc_addEventHandler; +[QGVAR(setVehicleDamage), {_this call FUNC(setDamage)}] call CBA_fnc_addEventHandler; +[QGVAR(setVehicleHitPointDamage), {_this call FUNC(setHitPointDamage)}] call CBA_fnc_addEventHandler; // wheels -["ace_setWheelHitPointDamage", {(_this select 0) setHitPointDamage [_this select 1, _this select 2]}] call CBA_fnc_addEventHandler; +[QGVAR(setWheelHitPointDamage), {(_this select 0) setHitPointDamage [_this select 1, _this select 2]}] call CBA_fnc_addEventHandler; diff --git a/addons/repair/config.cpp b/addons/repair/config.cpp index 84d8a6fa83..05bf5cbd3e 100644 --- a/addons/repair/config.cpp +++ b/addons/repair/config.cpp @@ -20,9 +20,9 @@ class CfgPatches { #include "CfgEden.hpp" class ACE_newEvents { - setWheelHitPointDamage = "ace_setWheelHitPointDamage"; - setVehicleHitPointDamage = "ace_setVehicleHitPointDamage"; - setVehicleDamage = "ace_setVehicleDamage"; + setWheelHitPointDamage = QGVAR(setWheelHitPointDamage); + setVehicleHitPointDamage = QGVAR(setVehicleHitPointDamage); + setVehicleDamage = QGVAR(setVehicleDamage); fixPosition = "ace_fixPosition"; displayTextStructured = "ace_displayTextStructured"; engineOn = "ace_engineOn"; diff --git a/addons/repair/functions/fnc_doRemoveTrack.sqf b/addons/repair/functions/fnc_doRemoveTrack.sqf index 00adf18cc1..8c3554adc1 100644 --- a/addons/repair/functions/fnc_doRemoveTrack.sqf +++ b/addons/repair/functions/fnc_doRemoveTrack.sqf @@ -34,7 +34,7 @@ private _newTrack = ["ACE_Track", getPosASL _unit, _hitPointDamage] call FUNC(sp TRACE_2("new track created",_newTrack,damage _newTrack); // raise event to set the new hitpoint damage -["ace_setWheelHitPointDamage", [_vehicle, _hitPoint, 1], _vehicle] call CBA_fnc_targetEvent; +[QGVAR(setWheelHitPointDamage), [_vehicle, _hitPoint, 1], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_doRemoveWheel.sqf b/addons/repair/functions/fnc_doRemoveWheel.sqf index bf734af1ff..1d2fedeb77 100644 --- a/addons/repair/functions/fnc_doRemoveWheel.sqf +++ b/addons/repair/functions/fnc_doRemoveWheel.sqf @@ -34,7 +34,7 @@ private _newWheel = ["ACE_Wheel", getPosASL _unit, _hitPointDamage] call FUNC(sp TRACE_2("new wheel created",_newWheel,damage _newWheel); // raise event to set the new hitpoint damage -["ace_setWheelHitPointDamage", [_vehicle, _hitPoint, 1], _vehicle] call CBA_fnc_targetEvent; +[QGVAR(setWheelHitPointDamage), [_vehicle, _hitPoint, 1], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_doRepair.sqf b/addons/repair/functions/fnc_doRepair.sqf index 8c8b8182f9..ede096a1fb 100644 --- a/addons/repair/functions/fnc_doRepair.sqf +++ b/addons/repair/functions/fnc_doRepair.sqf @@ -34,7 +34,7 @@ private _hitPointNewDamage = (_hitPointCurDamage - 0.5) max _postRepairDamageMin if (_hitPointNewDamage < _hitPointCurDamage) then { // raise event to set the new hitpoint damage TRACE_3("repairing main point", _vehicle, _hitPointIndex, _hitPointNewDamage); - ["ace_setVehicleHitPointDamage", [_vehicle, _hitPointIndex, _hitPointNewDamage], _vehicle] call CBA_fnc_targetEvent; + [QGVAR(setVehicleHitPointDamage), [_vehicle, _hitPointIndex, _hitPointNewDamage], _vehicle] call CBA_fnc_targetEvent; _hitPointCurDamage = _hitPointNewDamage; }; @@ -55,7 +55,7 @@ if (isArray _hitpointGroupConfig) then { private _subPointNewDamage = (_subPointCurDamage - 0.5) max _postRepairDamageMin; if (_subPointNewDamage < _subPointCurDamage) then { TRACE_3("repairing sub point", _vehicle, _subHitIndex, _subPointNewDamage); - ["ace_setVehicleHitPointDamage", [_vehicle, _subHitIndex, _subPointNewDamage], _vehicle] call CBA_fnc_targetEvent; + [QGVAR(setVehicleHitPointDamage), [_vehicle, _subHitIndex, _subPointNewDamage], _vehicle] call CBA_fnc_targetEvent; }; }; } forEach _subHitArray; diff --git a/addons/repair/functions/fnc_doRepairTrack.sqf b/addons/repair/functions/fnc_doRepairTrack.sqf index 897ef881c1..34f29506a3 100644 --- a/addons/repair/functions/fnc_doRepairTrack.sqf +++ b/addons/repair/functions/fnc_doRepairTrack.sqf @@ -41,7 +41,7 @@ _hitPointDamage = (_hitPointDamage - _damageRepaired) min 0; deleteVehicle _track; // raise event to set the new hitpoint damage -["ace_setWheelHitPointDamage", [_vehicle, _hitPoint, _hitPointDamage], _vehicle] call CBA_fnc_targetEvent; +[QGVAR(setWheelHitPointDamage), [_vehicle, _hitPoint, _hitPointDamage], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_doReplaceTrack.sqf b/addons/repair/functions/fnc_doReplaceTrack.sqf index 1de9c3b7bf..b0b71e5b61 100644 --- a/addons/repair/functions/fnc_doReplaceTrack.sqf +++ b/addons/repair/functions/fnc_doReplaceTrack.sqf @@ -44,7 +44,7 @@ if (_newHitPointDamage >= 1) exitWith {}; deleteVehicle _track; // raise event to set the new hitpoint damage -["ace_setWheelHitPointDamage", [_vehicle, _hitPoint, _newHitPointDamage], _vehicle] call CBA_fnc_targetEvent; +[QGVAR(setWheelHitPointDamage), [_vehicle, _hitPoint, _newHitPointDamage], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_doReplaceWheel.sqf b/addons/repair/functions/fnc_doReplaceWheel.sqf index 3d6b161cfa..24b995a45f 100644 --- a/addons/repair/functions/fnc_doReplaceWheel.sqf +++ b/addons/repair/functions/fnc_doReplaceWheel.sqf @@ -44,7 +44,7 @@ if (_newHitPointDamage >= 1) exitWith {}; deleteVehicle _wheel; // raise event to set the new hitpoint damage -["ace_setWheelHitPointDamage", [_vehicle, _hitPoint, _newHitPointDamage], _vehicle] call CBA_fnc_targetEvent; +[QGVAR(setWheelHitPointDamage), [_vehicle, _hitPoint, _newHitPointDamage], _vehicle] call CBA_fnc_targetEvent; // display text message if enabled if (GVAR(DisplayTextOnRepair)) then { diff --git a/addons/repair/functions/fnc_setHitPointDamage.sqf b/addons/repair/functions/fnc_setHitPointDamage.sqf index ba04cdb7eb..0f809b345c 100644 --- a/addons/repair/functions/fnc_setHitPointDamage.sqf +++ b/addons/repair/functions/fnc_setHitPointDamage.sqf @@ -1,7 +1,7 @@ /* * Author: commy2 * Set the hitpoint damage and change the structural damage acordingly, requires local vehicle. - * Handles the "setVehicleHitPointDamage" event + * Handles the "ace_repair_setVehicleHitPointDamage" event * * Arguments: * 0: Local Vehicle to Damage diff --git a/addons/ui/XEH_clientInit.sqf b/addons/ui/XEH_clientInit.sqf index 47b7c8c139..117fd414a0 100644 --- a/addons/ui/XEH_clientInit.sqf +++ b/addons/ui/XEH_clientInit.sqf @@ -8,7 +8,7 @@ if (!hasInterface) exitWith {}; [true] call FUNC(setElements); // On load and entering/exiting a vehicle - ["infoDisplayChanged", { + ["ace_infoDisplayChanged", { // Selective UI Advanced // Defaults must be set in this EH to make sure controls are activated and advanced settings can be modified private _force = [true, false] select (GVAR(allowSelectiveUI)); @@ -18,7 +18,7 @@ if (!hasInterface) exitWith {}; }] call CBA_fnc_addEventHandler; // On changing settings - ["SettingChanged", { + ["ace_settingChanged", { params ["_name"]; // Selective UI Basic From 30b15ee3d31dd70c546fa6c745d2ba7f4bf1d2d7 Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 24 May 2016 19:22:48 +0200 Subject: [PATCH 15/63] Fix quotes in cargo --- addons/cargo/XEH_postInit.sqf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/cargo/XEH_postInit.sqf b/addons/cargo/XEH_postInit.sqf index 99242d3726..2fe1e2c516 100644 --- a/addons/cargo/XEH_postInit.sqf +++ b/addons/cargo/XEH_postInit.sqf @@ -21,7 +21,7 @@ }; }] call CBA_fnc_addEventHandler; -["UnloadCargo", { +["ace_unloadCargo", { params ["_item", "_vehicle", ["_unloader", objNull]]; TRACE_3("UnloadCargo EH",_item,_vehicle,_unloader); @@ -44,7 +44,7 @@ // TOOO maybe drag/carry the unloaded item? }] call CBA_fnc_addEventHandler; -[QGVAR("serverUnload"), { +[QGVAR(serverUnload), { params ["_item", "_emptyPosAGL"]; _item hideObjectGlobal false; From da4c08fb6c2d63b42a97219c64cbfa4790cf3df3 Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 24 May 2016 20:51:10 +0200 Subject: [PATCH 16/63] QGVAR all reload events --- addons/reload/XEH_postInit.sqf | 10 +++++----- addons/reload/config.cpp | 4 ++-- addons/reload/functions/fnc_startLinkingBelt.sqf | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/reload/XEH_postInit.sqf b/addons/reload/XEH_postInit.sqf index 5ce2096118..193fdaf79b 100644 --- a/addons/reload/XEH_postInit.sqf +++ b/addons/reload/XEH_postInit.sqf @@ -27,7 +27,7 @@ if (!hasInterface) exitWith {}; }] call CBA_fnc_addEventHandler; // Listen for attempts to link ammo -["ace_linkedAmmo", { +[QGVAR(linkedAmmo), { params ["_receiver", "_giver", "_magazine"]; private _magazineType = currentMagazine _receiver; @@ -35,7 +35,7 @@ if (!hasInterface) exitWith {}; // Return the magazine if it's the wrong type if (_magazineType != (_magazine select 0)) exitWith { - ["ace_returnedAmmo", [_giver,_receiver,_magazine], [_giver]] call CBA_fnc_targetEvent; + [QGVAR(returnedAmmo), [_giver,_receiver,_magazine], [_giver]] call CBA_fnc_targetEvent; }; private _ammoCount = _receiver ammo currentWeapon _receiver; @@ -43,7 +43,7 @@ if (!hasInterface) exitWith {}; // Return the magazine if the belt is full or empty if ((_ammoCount == 0) || _ammoMissing == 0) exitWith { - ["ace_returnedAmmo", [_giver,_receiver,_magazine], [_giver]] call CBA_fnc_targetEvent; + [QGVAR(returnedAmmo), [_giver,_receiver,_magazine], [_giver]] call CBA_fnc_targetEvent; }; // Add the ammo @@ -51,12 +51,12 @@ if (!hasInterface) exitWith {}; [QGVAR(syncAmmo), [_receiver, currentWeapon _receiver, _ammoCount + _ammoAdded]] call CBA_fnc_globalEvent; if ((_magazine select 1) - _ammoAdded > 0) then { - ["ace_returnedAmmo", [_giver, _receiver, [_magazineType, (_magazine select 1) - _ammoAdded]], [_giver]] call CBA_fnc_targetEvent; + [QGVAR(returnedAmmo), [_giver, _receiver, [_magazineType, (_magazine select 1) - _ammoAdded]], [_giver]] call CBA_fnc_targetEvent; }; }] call CBA_fnc_addEventHandler; // Listen for returned magazines -["ace_returnedAmmo", { +[QGVAR(returnedAmmo), { params ["_receiver", "", "_magazine"]; TRACE_2("returnedAmmo EH",_receiver,_magazine); diff --git a/addons/reload/config.cpp b/addons/reload/config.cpp index 8d773efa4b..8910929376 100644 --- a/addons/reload/config.cpp +++ b/addons/reload/config.cpp @@ -24,6 +24,6 @@ class CfgPatches { class ACE_newEvents { setAmmoSync = QGVAR(syncAmmo); - returnedAmmo = "ace_returnedAmmo"; - linkedAmmo = "ace_linkedAmmo"; + returnedAmmo = QGVAR(returnedAmmo); + linkedAmmo = QGVAR(linkedAmmo); }; diff --git a/addons/reload/functions/fnc_startLinkingBelt.sqf b/addons/reload/functions/fnc_startLinkingBelt.sqf index ba5d4ddca4..8b8768dbba 100644 --- a/addons/reload/functions/fnc_startLinkingBelt.sqf +++ b/addons/reload/functions/fnc_startLinkingBelt.sqf @@ -46,7 +46,7 @@ private _onFinish = { (_this select 0) params ["_player", "_target", "_magazine"]; // Raise event on remote unit - ["ace_linkedAmmo", [_target, _player, _magazine], [_target]] call CBA_fnc_targetEvent; + [QGVAR(linkedAmmo), [_target, _player, _magazine], [_target]] call CBA_fnc_targetEvent; }; private _onFailure = { From dd2e9140ae2dec31b3dc38f36b1008aab2c4fe72 Mon Sep 17 00:00:00 2001 From: jonpas Date: Wed, 25 May 2016 01:44:56 +0200 Subject: [PATCH 17/63] Q(E)GVAR rangefinderData event --- addons/atragmx/XEH_postInit.sqf | 2 +- addons/atragmx/config.cpp | 3 ++- addons/dagr/XEH_postInit.sqf | 2 +- addons/dagr/config.cpp | 4 ++-- addons/microdagr/XEH_clientInit.sqf | 2 +- addons/microdagr/config.cpp | 4 ++-- addons/vector/config.cpp | 2 +- addons/vector/functions/fnc_dataTransfer.sqf | 2 +- 8 files changed, 11 insertions(+), 10 deletions(-) diff --git a/addons/atragmx/XEH_postInit.sqf b/addons/atragmx/XEH_postInit.sqf index 5cbdea57b8..82f3c25aeb 100644 --- a/addons/atragmx/XEH_postInit.sqf +++ b/addons/atragmx/XEH_postInit.sqf @@ -49,4 +49,4 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) == [] call FUNC(init); [] call FUNC(restore_user_data); -["ace_rangefinderData", {_this call FUNC(sord)}] call CBA_fnc_addEventHandler; +[QEGVAR(vector,rangefinderData), {_this call FUNC(sord)}] call CBA_fnc_addEventHandler; diff --git a/addons/atragmx/config.cpp b/addons/atragmx/config.cpp index d46b0f1583..d866d6bc83 100644 --- a/addons/atragmx/config.cpp +++ b/addons/atragmx/config.cpp @@ -15,6 +15,7 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" #include "RscTitles.hpp" + class ACE_newEvents { - RangerfinderData = "ace_rangefinderData"; + RangerfinderData = QEGVAR(vector,rangefinderData); }; diff --git a/addons/dagr/XEH_postInit.sqf b/addons/dagr/XEH_postInit.sqf index 512ec68eef..4c3fce167d 100644 --- a/addons/dagr/XEH_postInit.sqf +++ b/addons/dagr/XEH_postInit.sqf @@ -30,4 +30,4 @@ GVAR(vectorConnected) = false; GVAR(noVectorData) = true; GVAR(vectorGrid) = "00000000"; -["ace_rangefinderData", FUNC(handleRangeFinderData)] call CBA_fnc_addEventHandler; +[QEGVAR(vector,rangefinderData), FUNC(handleRangeFinderData)] call CBA_fnc_addEventHandler; diff --git a/addons/dagr/config.cpp b/addons/dagr/config.cpp index e619f88717..7eac84dc74 100644 --- a/addons/dagr/config.cpp +++ b/addons/dagr/config.cpp @@ -18,5 +18,5 @@ class CfgPatches { #include "RscTitles.hpp" class ACE_newEvents { - RangerfinderData = "ace_rangefinderData"; -}; \ No newline at end of file + RangerfinderData = QEGVAR(vector,rangefinderData); +}; diff --git a/addons/microdagr/XEH_clientInit.sqf b/addons/microdagr/XEH_clientInit.sqf index 62d49a1fd3..22889f378c 100644 --- a/addons/microdagr/XEH_clientInit.sqf +++ b/addons/microdagr/XEH_clientInit.sqf @@ -20,7 +20,7 @@ _closeCode = { //Add Eventhandler: -["ace_rangefinderData", {_this call FUNC(recieveRangefinderData)}] call CBA_fnc_addEventHandler; +[QEGVAR(vector,rangefinderData), {_this call FUNC(recieveRangefinderData)}] call CBA_fnc_addEventHandler; //Global Variables to default: GVAR(gpsPositionASL) = [0,0,0]; diff --git a/addons/microdagr/config.cpp b/addons/microdagr/config.cpp index 4cbc4b4cbf..fc95c29e6d 100644 --- a/addons/microdagr/config.cpp +++ b/addons/microdagr/config.cpp @@ -19,5 +19,5 @@ class CfgPatches { #include "ACE_Settings.hpp" class ACE_newEvents { - RangerfinderData = "ace_rangefinderData"; -}; \ No newline at end of file + RangerfinderData = QEGVAR(vector,rangefinderData); +}; diff --git a/addons/vector/config.cpp b/addons/vector/config.cpp index fae30f790e..88cfd15439 100644 --- a/addons/vector/config.cpp +++ b/addons/vector/config.cpp @@ -20,5 +20,5 @@ class CfgPatches { #include "RscInGameUI.hpp" class ACE_newEvents { - RangerfinderData = "ace_rangefinderData"; + RangerfinderData = QGVAR(rangefinderData); }; diff --git a/addons/vector/functions/fnc_dataTransfer.sqf b/addons/vector/functions/fnc_dataTransfer.sqf index 1c3a67c1cb..f99490f04c 100644 --- a/addons/vector/functions/fnc_dataTransfer.sqf +++ b/addons/vector/functions/fnc_dataTransfer.sqf @@ -22,4 +22,4 @@ _direction = call FUNC(getDirection); _azimuth = _direction select 0; _inclination = _direction select 1; //Send Data to connected GPS -["ace_rangefinderData", [_distance, _azimuth, _inclination]] call CBA_fnc_localEvent; \ No newline at end of file +[QGVAR(rangefinderData), [_distance, _azimuth, _inclination]] call CBA_fnc_localEvent; From 99675417c698bbf1804dabb11ebf3eeb96c27359 Mon Sep 17 00:00:00 2001 From: jonpas Date: Wed, 25 May 2016 01:51:58 +0200 Subject: [PATCH 18/63] QGVAR and fix events in concertina_wire, disarming and explosives --- addons/concertina_wire/config.cpp | 3 ++- addons/disarming/XEH_postInit.sqf | 4 ++-- addons/disarming/config.cpp | 4 ++-- addons/disarming/functions/fnc_eventTargetFinish.sqf | 2 +- addons/disarming/functions/fnc_openDisarmDialog.sqf | 2 +- addons/explosives/XEH_postInit.sqf | 10 +++++----- addons/explosives/config.cpp | 6 +++--- 7 files changed, 16 insertions(+), 15 deletions(-) diff --git a/addons/concertina_wire/config.cpp b/addons/concertina_wire/config.cpp index 6404b1018e..68bb4816db 100644 --- a/addons/concertina_wire/config.cpp +++ b/addons/concertina_wire/config.cpp @@ -13,6 +13,7 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" + class ACE_newEvents { interactMenuOpened = "ace_interactMenuOpened"; -}; \ No newline at end of file +}; diff --git a/addons/disarming/XEH_postInit.sqf b/addons/disarming/XEH_postInit.sqf index 92a2c10148..6944f8b146 100644 --- a/addons/disarming/XEH_postInit.sqf +++ b/addons/disarming/XEH_postInit.sqf @@ -1,4 +1,4 @@ #include "script_component.hpp" -["ace_disarmDropItems", FUNC(eventTargetStart)] call CBA_fnc_addEventHandler; -["ace_disarmDebugCallback", FUNC(eventCallerFinish)] call CBA_fnc_addEventHandler; +[QGVAR(dropItems), FUNC(eventTargetStart)] call CBA_fnc_addEventHandler; +[QGVAR(debugCallback), FUNC(eventCallerFinish)] call CBA_fnc_addEventHandler; diff --git a/addons/disarming/config.cpp b/addons/disarming/config.cpp index b7868726ed..39a536e1b2 100644 --- a/addons/disarming/config.cpp +++ b/addons/disarming/config.cpp @@ -19,6 +19,6 @@ class CfgPatches { #include "gui_disarm.hpp" class ACE_newEvents { - DisarmDebugCallback = "ace_disarmDebugCallback"; - DisarmDropItems = "ace_disarmDropItems"; + DisarmDebugCallback = QGVAR(debugCallback); + DisarmDropItems = QGVAR(dropItems); }; diff --git a/addons/disarming/functions/fnc_eventTargetFinish.sqf b/addons/disarming/functions/fnc_eventTargetFinish.sqf index 1bd1ffa342..42580d81f3 100644 --- a/addons/disarming/functions/fnc_eventTargetFinish.sqf +++ b/addons/disarming/functions/fnc_eventTargetFinish.sqf @@ -23,5 +23,5 @@ params ["_caller", "_target", "_errorMsg"]; if (_errorMsg != "") then { ACE_LOGINFO_2("%1 - eventTargetFinish: %2",ACE_time,_this); - ["ace_disarmDebugCallback", [_caller, _target, _errorMsg], [_caller]] call CBA_fnc_targetEvent; + [QGVAR(debugCallback), [_caller, _target, _errorMsg], [_caller]] call CBA_fnc_targetEvent; }; diff --git a/addons/disarming/functions/fnc_openDisarmDialog.sqf b/addons/disarming/functions/fnc_openDisarmDialog.sqf index ea0de8942a..0883fde2dd 100644 --- a/addons/disarming/functions/fnc_openDisarmDialog.sqf +++ b/addons/disarming/functions/fnc_openDisarmDialog.sqf @@ -42,7 +42,7 @@ GVAR(disarmTarget) = _target; if (isNull GVAR(disarmTarget)) exitWith {ERROR("disarmTarget is null");}; TRACE_2("Debug: Droping %1 from %2",_data,GVAR(disarmTarget)); - ["ace_disarmDropItems", [ACE_player, GVAR(disarmTarget), [_data]], [GVAR(disarmTarget)]] call CBA_fnc_targetEvent; + [QGVAR(dropItems), [ACE_player, GVAR(disarmTarget), [_data]], [GVAR(disarmTarget)]] call CBA_fnc_targetEvent; false //not sure what this does }]; diff --git a/addons/explosives/XEH_postInit.sqf b/addons/explosives/XEH_postInit.sqf index 8b08ffd804..27a1371447 100644 --- a/addons/explosives/XEH_postInit.sqf +++ b/addons/explosives/XEH_postInit.sqf @@ -28,7 +28,7 @@ if (isServer) then { [_unit] call FUNC(onIncapacitated); }] call CBA_fnc_addEventHandler; - ["clientRequestsOrientations", { + [QGVAR(clientRequestOrientations), { params ["_logic"]; TRACE_1("clientRequestsOrientations received:",_logic); // Filter the array before sending it @@ -37,7 +37,7 @@ if (isServer) then { (!isNull _explosive && {alive _explosive}) }; TRACE_1("serverSendsOrientations sent:",GVAR(explosivesOrientations)); - ["ace_serverSendsOrientations", [GVAR(explosivesOrientations)], _logic] call CBA_fnc_targetEvent; + [QGVAR(serverSendOrientations), [GVAR(explosivesOrientations)], _logic] call CBA_fnc_targetEvent; }] call CBA_fnc_addEventHandler; }; @@ -51,7 +51,7 @@ GVAR(CurrentSpeedDial) = 0; // In case we are a JIP client, ask the server for orientation of any previously // placed mine. if (didJIP) then { - ["serverSendsOrientations", { + [QGVAR(serverSendOrientations), { params ["_explosivesOrientations"]; TRACE_1("serverSendsOrientations received:",_explosivesOrientations); { @@ -66,10 +66,10 @@ if (didJIP) then { // Create a logic to get the client ID GVAR(localLogic) = ([sideLogic] call CBA_fnc_getSharedGroup) createUnit ["Logic", [0,0,0], [], 0, "NONE"]; TRACE_1("clientRequestsOrientations sent:",GVAR(localLogic)); - ["ace_clientRequestsOrientations", [GVAR(localLogic)]] call CBA_fnc_serverEvent; + [QGVAR(clientRequestOrientations), [GVAR(localLogic)]] call CBA_fnc_serverEvent; }; -["interactMenuOpened", { +["ace_interactMenuOpened", { //Cancel placement if interact menu opened if (GVAR(pfeh_running)) then { GVAR(placeAction) = PLACE_CANCEL; diff --git a/addons/explosives/config.cpp b/addons/explosives/config.cpp index 8b5b91007b..6dc7d95719 100644 --- a/addons/explosives/config.cpp +++ b/addons/explosives/config.cpp @@ -45,6 +45,6 @@ class CfgMineTriggers { class ACE_newEvents { medical_onUnconscious = "ace_medical_onUnconscious"; - clientRequestsOrientations = "ace_clientRequestsOrientations"; - serverSendsOrientations = "ace_serverSendsOrientations"; -}; \ No newline at end of file + clientRequestsOrientations = QGVAR(clientRequestOrientations); + serverSendsOrientations = QGVAR(serverSendOrientations); +}; From b54d1985f1c6d8447caeb2b9e3e218a5ca041fda Mon Sep 17 00:00:00 2001 From: jonpas Date: Wed, 25 May 2016 01:57:41 +0200 Subject: [PATCH 19/63] QGVAR and fix gforces, goggles, grenades, hearing, interact_menu --- addons/gforces/XEH_postInit.sqf | 2 +- addons/goggles/XEH_postInit.sqf | 4 ++-- addons/grenades/XEH_postInit.sqf | 2 +- addons/grenades/config.cpp | 2 +- addons/grenades/functions/fnc_flashbangThrownFuze.sqf | 2 +- addons/hearing/XEH_postInit.sqf | 4 ++-- addons/interact_menu/XEH_clientInit.sqf | 8 ++++---- addons/interact_menu/config.cpp | 2 +- addons/interact_menu/functions/fnc_keyUp.sqf | 4 ++-- addons/interact_menu/functions/fnc_render.sqf | 4 ++-- 10 files changed, 17 insertions(+), 17 deletions(-) diff --git a/addons/gforces/XEH_postInit.sqf b/addons/gforces/XEH_postInit.sqf index 795b473164..4401b1f5dd 100644 --- a/addons/gforces/XEH_postInit.sqf +++ b/addons/gforces/XEH_postInit.sqf @@ -19,7 +19,7 @@ GVAR(pfID) = -1; [] call FUNC(addPFEH); TRACE_1("adding temp PFEH [start in]",GVAR(pfID)); }; - ["playerVehicleChanged", { + ["ace_playerVehicleChanged", { params ["", "_vehicle"]; TRACE_2("playerVehicleChanged",_vehicle,typeOf _vehicle); if (_vehicle isKindOf "Air") then { diff --git a/addons/goggles/XEH_postInit.sqf b/addons/goggles/XEH_postInit.sqf index 25ee3ba5af..ac7386ccdb 100644 --- a/addons/goggles/XEH_postInit.sqf +++ b/addons/goggles/XEH_postInit.sqf @@ -56,7 +56,7 @@ GVAR(OldGlasses) = ""; }] call CBA_fnc_addEventHandler; // add glasses eventhandlers -["GlassesChanged", { +["ace_glassesChanged", { params ["_unit", "_glasses"]; SETGLASSES(_unit,GLASSESDEFAULT); @@ -70,7 +70,7 @@ GVAR(OldGlasses) = ""; }; }] call CBA_fnc_addEventHandler; -["GlassesCracked", { +["ace_glassesCracked", { params ["_unit"]; _unit setVariable ["ACE_EyesDamaged", true]; diff --git a/addons/grenades/XEH_postInit.sqf b/addons/grenades/XEH_postInit.sqf index 2d05c622c9..e47734c53e 100644 --- a/addons/grenades/XEH_postInit.sqf +++ b/addons/grenades/XEH_postInit.sqf @@ -2,7 +2,7 @@ #include "script_component.hpp" -["ace_flashbangExplosion", {_this call FUNC(flashbangExplosionEH)}] call CBA_fnc_addEventHandler; +["ace_flashbangExploded", {_this call FUNC(flashbangExplosionEH)}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; diff --git a/addons/grenades/config.cpp b/addons/grenades/config.cpp index 01c3b51bdb..584be36c2e 100644 --- a/addons/grenades/config.cpp +++ b/addons/grenades/config.cpp @@ -24,5 +24,5 @@ class ACE_newEvents { firedNonPlayer = "ace_firedNonPlayer"; firedPlayerNonLocal = "ace_firedPlayerNonLocal"; firedPlayer = "ace_firedPlayer"; - flashbangExplosion = "ace_flashbangExplosion"; + flashbangExplosion = "ace_flashbangExploded"; }; diff --git a/addons/grenades/functions/fnc_flashbangThrownFuze.sqf b/addons/grenades/functions/fnc_flashbangThrownFuze.sqf index a617ea3a7a..5c05abc9a3 100644 --- a/addons/grenades/functions/fnc_flashbangThrownFuze.sqf +++ b/addons/grenades/functions/fnc_flashbangThrownFuze.sqf @@ -21,5 +21,5 @@ TRACE_1("params",_projectile); if (alive _projectile) then { playSound3D ["A3\Sounds_F\weapons\Explosion\explosion_mine_1.wss", _projectile, false, getPosASL _projectile, 5, 1.2, 400]; - ["ace_flashbangExplosion", [getPosASL _projectile]] call CBA_fnc_globalEvent; + ["ace_flashbangExploded", [getPosASL _projectile]] call CBA_fnc_globalEvent; }; diff --git a/addons/hearing/XEH_postInit.sqf b/addons/hearing/XEH_postInit.sqf index 3502b85020..5f92b239bb 100644 --- a/addons/hearing/XEH_postInit.sqf +++ b/addons/hearing/XEH_postInit.sqf @@ -20,7 +20,7 @@ GVAR(volumeAttenuation) = 1; //Add XEH: ["CAManBase", "FiredNear", FUNC(firedNear)] call CBA_fnc_addClassEventHandler; ["CAManBase", "Explosion", FUNC(explosionNear)] call CBA_fnc_addClassEventHandler; - + // Update hearing protection now: [] call FUNC(updateHearingProtection); @@ -32,7 +32,7 @@ GVAR(volumeAttenuation) = 1; ["ace_playerTurretChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call CBA_fnc_addEventHandler; // Reset deafness on respawn (or remote control player switch) - ["playerChanged", { + ["ace_playerChanged", { GVAR(deafnessDV) = 0; GVAR(deafnessPrior) = 0; ACE_player setVariable [QGVAR(deaf), false]; diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index 40b6e3eb25..26617c25b9 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -15,7 +15,7 @@ GVAR(ParsedTextCached) = []; }; }] call CBA_fnc_addEventHandler; -["SettingsInitialized", { +["ace_settingsInitialized", { //Setup text/shadow/size/color settings matrix [] call FUNC(setupTextColors); // Install the render EH on the main display @@ -41,7 +41,7 @@ GVAR(ParsedTextCached) = []; // Listens for the falling unconscious event, just in case the menu needs to be closed -["medical_onUnconscious", { +["ace_medical_onUnconscious", { // If no menu is open just quit if (GVAR(openedMenuType) < 0) exitWith {}; @@ -57,11 +57,11 @@ GVAR(ParsedTextCached) = []; ["ace_playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // background options -["interactMenuOpened", { +["ace_interactMenuOpened", { if (GVAR(menuBackground)==1) then {[QGVAR(menuBackground), true] call EFUNC(common,blurScreen);}; if (GVAR(menuBackground)==2) then {0 cutRsc[QGVAR(menuBackground), "PLAIN", 1, false];}; }] call CBA_fnc_addEventHandler; -["interactMenuClosed", { +["ace_interactMenuClosed", { if (GVAR(menuBackground)==1) then {[QGVAR(menuBackground), false] call EFUNC(common,blurScreen);}; if (GVAR(menuBackground)==2) then {(uiNamespace getVariable [QGVAR(menuBackground), displayNull]) closeDisplay 0;}; }] call CBA_fnc_addEventHandler; diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index 898829dd5e..3ddd78a431 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -28,6 +28,6 @@ class ACE_newEvents { SettingChanged = "ace_settingChanged"; playerChanged = "ace_playerChanged"; interactMenuOpened = "ace_interactMenuOpened"; - clearConditionCaches = "ace_clearConditionCaches"; + clearConditionCaches = QGVAR(clearConditionCaches); interactMenuClosed = "ace_interactMenuClosed"; }; diff --git a/addons/interact_menu/functions/fnc_keyUp.sqf b/addons/interact_menu/functions/fnc_keyUp.sqf index 5f7fe72888..969e1f2b08 100644 --- a/addons/interact_menu/functions/fnc_keyUp.sqf +++ b/addons/interact_menu/functions/fnc_keyUp.sqf @@ -28,7 +28,7 @@ if(GVAR(actionSelected)) then { private _target = GVAR(selectedTarget); // Clear the conditions caches - ["ace_clearConditionCaches", []] call CBA_fnc_localEvent; + [QGVAR(clearConditionCaches), []] call CBA_fnc_localEvent; // exit scope if selecting an action on key release is disabled if (!(GVAR(actionOnKeyRelease)) && !_calledByClicking) exitWith {}; @@ -40,7 +40,7 @@ if(GVAR(actionSelected)) then { [_target, _player, _actionData select 6] call (_actionData select 3); // Clear the conditions caches again if the action was performed - ["ace_clearConditionCaches", []] call CBA_fnc_localEvent; + [QGVAR(clearConditionCaches), []] call CBA_fnc_localEvent; }; }; diff --git a/addons/interact_menu/functions/fnc_render.sqf b/addons/interact_menu/functions/fnc_render.sqf index 555886a55d..1efe9bcf4d 100644 --- a/addons/interact_menu/functions/fnc_render.sqf +++ b/addons/interact_menu/functions/fnc_render.sqf @@ -97,7 +97,7 @@ if (GVAR(openedMenuType) >= 0) then { private _target = GVAR(selectedTarget); // Clear the conditions caches - ["ace_clearConditionCaches", []] call CBA_fnc_localEvent; + [QGVAR(clearConditionCaches), []] call CBA_fnc_localEvent; // Check the action conditions private _actionData = GVAR(selectedAction) select 0; @@ -106,7 +106,7 @@ if (GVAR(openedMenuType) >= 0) then { [_target, _player, _actionData select 6] call (_actionData select 3); // Clear the conditions caches again if the action was performed - ["ace_clearConditionCaches", []] call CBA_fnc_localEvent; + [QGVAR(clearConditionCaches), []] call CBA_fnc_localEvent; }; }; }; From 7ede53bbdd638f43a0a9bfe3a42767a7686d1c2b Mon Sep 17 00:00:00 2001 From: jonpas Date: Wed, 25 May 2016 02:09:11 +0200 Subject: [PATCH 20/63] QGVAR and Fix laser, map, map_gestures, maptools, modules, nightvision, optics --- addons/laser/XEH_post_init.sqf | 4 ++-- addons/laser/config.cpp | 5 +++-- addons/laser/functions/fnc_laserOff.sqf | 2 +- addons/laser/functions/fnc_laserOn.sqf | 2 +- addons/map/XEH_postInitClient.sqf | 6 +++--- addons/map_gestures/XEH_serverPostInit.sqf | 2 +- addons/map_gestures/functions/fnc_transmit.sqf | 2 +- addons/map_gestures/script_component.hpp | 2 -- addons/maptools/XEH_postInitClient.sqf | 2 +- addons/maptools/XEH_preInit.sqf | 8 ++++---- addons/maptools/config.cpp | 8 ++++---- addons/maptools/functions/fnc_copyMapRemoteSend.sqf | 2 +- addons/maptools/functions/fnc_copyMapStart.sqf | 2 +- addons/maptools/functions/fnc_handleKeyDown.sqf | 2 +- addons/maptools/functions/fnc_handleMouseButton.sqf | 2 +- addons/modules/config.cpp | 3 ++- addons/nightvision/XEH_postInitClient.sqf | 2 +- addons/optics/XEH_postInit.sqf | 2 +- 18 files changed, 29 insertions(+), 29 deletions(-) diff --git a/addons/laser/XEH_post_init.sqf b/addons/laser/XEH_post_init.sqf index 01b79a3378..88aea3a204 100644 --- a/addons/laser/XEH_post_init.sqf +++ b/addons/laser/XEH_post_init.sqf @@ -2,6 +2,6 @@ #include "initKeybinds.sqf" -["ace_laser_laserOn", {_this call DFUNC(handleLaserOn)}] call CBA_fnc_addEventHandler; -["ace_laser_laserOff", {_this call DFUNC(handleLaserOff)}] call CBA_fnc_addEventHandler; +["ace_laserOn", {_this call DFUNC(handleLaserOn)}] call CBA_fnc_addEventHandler; +["ace_laserOff", {_this call DFUNC(handleLaserOff)}] call CBA_fnc_addEventHandler; diff --git a/addons/laser/config.cpp b/addons/laser/config.cpp index 746471a493..6eab695261 100644 --- a/addons/laser/config.cpp +++ b/addons/laser/config.cpp @@ -14,7 +14,8 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" #include "RscInGameUI.hpp" + class ACE_newEvents { - laser_laserOff = "ace_laser_laserOff"; - laser_laserOn = "ace_laser_laserOn"; + laser_laserOff = "ace_laserOff"; + laser_laserOn = "ace_laserOn"; }; diff --git a/addons/laser/functions/fnc_laserOff.sqf b/addons/laser/functions/fnc_laserOff.sqf index 31cbdb876e..60a5e4e269 100644 --- a/addons/laser/functions/fnc_laserOff.sqf +++ b/addons/laser/functions/fnc_laserOff.sqf @@ -13,4 +13,4 @@ private ["_uuid"]; _uuid = _this select 0; -["ace_laser_laserOff", [_uuid]] call CBA_fnc_globalEvent; +["ace_laserOff", [_uuid]] call CBA_fnc_globalEvent; diff --git a/addons/laser/functions/fnc_laserOn.sqf b/addons/laser/functions/fnc_laserOn.sqf index e698dda2e3..617492b614 100644 --- a/addons/laser/functions/fnc_laserOn.sqf +++ b/addons/laser/functions/fnc_laserOn.sqf @@ -19,5 +19,5 @@ private ["_uuid", "_args"]; _uuid = format["%1%2%3", floor ACE_diagTime, floor random 1000, floor random 10000]; _args = [_uuid, _this]; -["ace_laser_laserOn", _args] call CBA_fnc_globalEvent; +["ace_laserOn", _args] call CBA_fnc_globalEvent; _uuid; diff --git a/addons/map/XEH_postInitClient.sqf b/addons/map/XEH_postInitClient.sqf index e9438d7508..d39049b59c 100644 --- a/addons/map/XEH_postInitClient.sqf +++ b/addons/map/XEH_postInitClient.sqf @@ -72,7 +72,7 @@ call FUNC(determineZoom); [_this select 1] call CBA_fnc_removePerFrameHandler; }, 0] call CBA_fnc_addPerFrameHandler; -["SettingsInitialized", { +["ace_settingsInitialized", { if (isMultiplayer && {GVAR(DefaultChannel) != -1}) then { //Set the chat channel once the map has finished loading [{ @@ -99,7 +99,7 @@ call FUNC(determineZoom); GVAR(flashlightInUse) = ""; GVAR(glow) = objNull; - ["playerInventoryChanged", { + ["ace_playerInventoryChanged", { private _flashlights = [ACE_player] call FUNC(getUnitFlashlights); if ((GVAR(flashlightInUse) != "") && !(GVAR(flashlightInUse) in _flashlights)) then { GVAR(flashlightInUse) = ""; @@ -135,7 +135,7 @@ call FUNC(determineZoom); // hide clock on map if player has no watch GVAR(hasWatch) = true; -["playerInventoryChanged", { +["ace_playerInventoryChanged", { if (isNull (_this select 0)) exitWith { GVAR(hasWatch) = true; }; diff --git a/addons/map_gestures/XEH_serverPostInit.sqf b/addons/map_gestures/XEH_serverPostInit.sqf index 31626b7881..1b70e24149 100644 --- a/addons/map_gestures/XEH_serverPostInit.sqf +++ b/addons/map_gestures/XEH_serverPostInit.sqf @@ -1,3 +1,3 @@ #include "script_component.hpp" -[EVENT_PLAYER_HAS_NO_OWNER_ID, FUNC(assignClientIDOnServer)] call CBA_fnc_addEventHandler; +[QGVAR(noOwnerID), FUNC(assignClientIDOnServer)] call CBA_fnc_addEventHandler; diff --git a/addons/map_gestures/functions/fnc_transmit.sqf b/addons/map_gestures/functions/fnc_transmit.sqf index ab975a076c..aacff9e679 100644 --- a/addons/map_gestures/functions/fnc_transmit.sqf +++ b/addons/map_gestures/functions/fnc_transmit.sqf @@ -31,7 +31,7 @@ if (!GVAR(EnableTransmit) || !visibleMap) exitWith { { _ownerID = _x getVariable QGVAR(owner_id); if (isNil "_ownerID") then { - [EVENT_PLAYER_HAS_NO_OWNER_ID, [name _x]] call CBA_fnc_serverEvent; + [QGVAR(noOwnerID), [name _x]] call CBA_fnc_serverEvent; } else { _playerOwnerID = ACE_player getVariable QGVAR(owner_id); if (!isNil "_playerOwnerID" && _ownerID != _playerOwnerID) then { diff --git a/addons/map_gestures/script_component.hpp b/addons/map_gestures/script_component.hpp index 2bc9b212d0..bcf6a1a97c 100644 --- a/addons/map_gestures/script_component.hpp +++ b/addons/map_gestures/script_component.hpp @@ -15,5 +15,3 @@ #endif #include "\z\ace\addons\main\script_macros.hpp" - -#define EVENT_PLAYER_HAS_NO_OWNER_ID "PlayerNameHasNoOwnerID" diff --git a/addons/maptools/XEH_postInitClient.sqf b/addons/maptools/XEH_postInitClient.sqf index eec175077e..ec2293b3e2 100644 --- a/addons/maptools/XEH_postInitClient.sqf +++ b/addons/maptools/XEH_postInitClient.sqf @@ -66,7 +66,7 @@ GVAR(drawing_controls) = [36732, 36733, 36734, 36735, 36736, 36737]; 12 call _fnc_installMapEvents; }; -["visibleMapChanged", { +["ace_visibleMapChanged", { params ["", "_mapOn"]; if (_mapOn) then { // Show GPS if required diff --git a/addons/maptools/XEH_preInit.sqf b/addons/maptools/XEH_preInit.sqf index 7e144e724d..76daa4f305 100644 --- a/addons/maptools/XEH_preInit.sqf +++ b/addons/maptools/XEH_preInit.sqf @@ -10,10 +10,10 @@ if (isServer) then { }; //Add Event Handlers: -["ace_drawing_removeLineMarker", FUNC(removeLineMarker)] call CBA_fnc_addEventHandler; -["ace_drawing_addLineMarker", FUNC(addLineMarker)] call CBA_fnc_addEventHandler; +[QGVAR(removeLineMarker), FUNC(removeLineMarker)] call CBA_fnc_addEventHandler; +[QGVAR(addLineMarker), FUNC(addLineMarker)] call CBA_fnc_addEventHandler; -["ace_drawing_requestMarkers", FUNC(copyMapRemoteSend)] call CBA_fnc_addEventHandler; -["ace_drawing_sendbackMarkers", FUNC(copyMapReceiveMarkers)] call CBA_fnc_addEventHandler; +[QGVAR(requestMarkers), FUNC(copyMapRemoteSend)] call CBA_fnc_addEventHandler; +[QGVAR(sendbackMarkers), FUNC(copyMapReceiveMarkers)] call CBA_fnc_addEventHandler; ADDON = true; diff --git a/addons/maptools/config.cpp b/addons/maptools/config.cpp index 01a68e9d3c..f5267ad11a 100644 --- a/addons/maptools/config.cpp +++ b/addons/maptools/config.cpp @@ -68,8 +68,8 @@ class RscDisplayServerGetReady: RscDisplayGetReady { }; class ACE_newEvents { - drawing_sendbackMarkers = "ace_drawing_sendbackMarkers"; - drawing_requestMarkers = "ace_drawing_requestMarkers"; - drawing_addLineMarker = "ace_drawing_addLineMarker"; - drawing_removeLineMarker = "ace_drawing_removeLineMarker"; + drawing_sendbackMarkers = QGVAR(sendbackMarkers); + drawing_requestMarkers = QGVAR(requestMarkers); + drawing_addLineMarker = QGVAR(addLineMarker); + drawing_removeLineMarker = QGVAR(removeLineMarker); }; diff --git a/addons/maptools/functions/fnc_copyMapRemoteSend.sqf b/addons/maptools/functions/fnc_copyMapRemoteSend.sqf index 452c76167a..56ea2683e9 100644 --- a/addons/maptools/functions/fnc_copyMapRemoteSend.sqf +++ b/addons/maptools/functions/fnc_copyMapRemoteSend.sqf @@ -14,4 +14,4 @@ params ["_requester"]; -["ace_drawing_sendbackMarkers", [GVAR(drawing_lineMarkers)], _requester] call CBA_fnc_targetEvent; +[QGVAR(sendbackMarkers), [GVAR(drawing_lineMarkers)], _requester] call CBA_fnc_targetEvent; diff --git a/addons/maptools/functions/fnc_copyMapStart.sqf b/addons/maptools/functions/fnc_copyMapStart.sqf index c1c6a7a459..62361447f6 100644 --- a/addons/maptools/functions/fnc_copyMapStart.sqf +++ b/addons/maptools/functions/fnc_copyMapStart.sqf @@ -19,4 +19,4 @@ params ["_player", "_target"]; -["ace_drawing_requestMarkers", [_player], _target] call CBA_fnc_targetEvent; +[QGVAR(requestMarkers), [_player], _target] call CBA_fnc_targetEvent; diff --git a/addons/maptools/functions/fnc_handleKeyDown.sqf b/addons/maptools/functions/fnc_handleKeyDown.sqf index a5ed69f9e1..c93ce4724c 100644 --- a/addons/maptools/functions/fnc_handleKeyDown.sqf +++ b/addons/maptools/functions/fnc_handleKeyDown.sqf @@ -58,7 +58,7 @@ if (_code == DIK_DELETE) exitWith { if (_lambdaLong >= 0 && _lambdaLong <= _magDiffVector && _lambdaTrasAbs <= 5) exitWith { // Delete the line marker if (GVAR(drawing_syncMarkers)) then { - ["ace_drawing_removeLineMarker", [_x select 0]] call CBA_fnc_globalEvent; + [QGVAR(removeLineMarker), [_x select 0]] call CBA_fnc_globalEvent; } else { deleteMarkerLocal (_x select 0); GVAR(drawing_lineMarkers) = GVAR(drawing_lineMarkers) - [_x]; diff --git a/addons/maptools/functions/fnc_handleMouseButton.sqf b/addons/maptools/functions/fnc_handleMouseButton.sqf index f0fadc7cb3..62debbb55f 100644 --- a/addons/maptools/functions/fnc_handleMouseButton.sqf +++ b/addons/maptools/functions/fnc_handleMouseButton.sqf @@ -42,7 +42,7 @@ if (_dir != 1) then { // Already drawing -> Add tempLineMarker to permanent list if (GVAR(drawing_syncMarkers)) then { deleteMarkerLocal (GVAR(drawing_tempLineMarker) select 0); - ["ace_drawing_addLineMarker", GVAR(drawing_tempLineMarker)] call CBA_fnc_globalEvent; + [QGVAR(addLineMarker), GVAR(drawing_tempLineMarker)] call CBA_fnc_globalEvent; // Log who drew on the briefing screen [ACE_INFOFORMAT_1("Player %1 drew on the briefing screen", profileName)] call EFUNC(common,serverLog); } else { diff --git a/addons/modules/config.cpp b/addons/modules/config.cpp index d09fcbd5f1..4349b239db 100644 --- a/addons/modules/config.cpp +++ b/addons/modules/config.cpp @@ -26,6 +26,7 @@ class CfgVehicles { }; #include "CfgEventHandlers.hpp" + class ACE_newEvents { InitSettingsFromModules = "ace_initSettingsFromModules"; -}; \ No newline at end of file +}; diff --git a/addons/nightvision/XEH_postInitClient.sqf b/addons/nightvision/XEH_postInitClient.sqf index 3c19f7969b..186412cdde 100644 --- a/addons/nightvision/XEH_postInitClient.sqf +++ b/addons/nightvision/XEH_postInitClient.sqf @@ -35,7 +35,7 @@ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0; _this call FUNC(onVisionModeChanged); }] call CBA_fnc_addEventHandler; -["cameraViewChanged", { +["ace_cameraViewChanged", { _this call FUNC(updatePPEffects); _this call FUNC(onCameraViewChanged); }] call CBA_fnc_addEventHandler; diff --git a/addons/optics/XEH_postInit.sqf b/addons/optics/XEH_postInit.sqf index ae4c835072..44e59a4074 100644 --- a/addons/optics/XEH_postInit.sqf +++ b/addons/optics/XEH_postInit.sqf @@ -35,7 +35,7 @@ GVAR(camera) = objNull; }] call CBA_fnc_addEventHandler; // camera has to be re-created every time another camera is created. Otherwise r2t is either black or transparent. @todo Add popular custom cameras to the event in ACE_common. -["activeCameraChanged", { +["ace_activeCameraChanged", { if !(_this select 1) then { GVAR(camera) cameraEffect ["TERMINATE", "BACK"]; camDestroy GVAR(camera); From c4999c13e4d0ddd99c3e741585384c017293bc7d Mon Sep 17 00:00:00 2001 From: jonpas Date: Wed, 25 May 2016 02:19:50 +0200 Subject: [PATCH 21/63] QGVAR and Fix sandbag, tagging, tripod, viewdistance, weather, zeus --- addons/sandbag/config.cpp | 1 + addons/tagging/XEH_postInit.sqf | 2 +- addons/tagging/config.cpp | 2 +- addons/tagging/functions/fnc_tag.sqf | 2 +- addons/tripod/config.cpp | 1 + addons/viewdistance/XEH_clientInit.sqf | 4 ++-- addons/weather/config.cpp | 1 + addons/zeus/XEH_preInit.sqf | 2 +- addons/zeus/config.cpp | 2 +- addons/zeus/functions/fnc_bi_moduleCurator.sqf | 2 +- 10 files changed, 11 insertions(+), 8 deletions(-) diff --git a/addons/sandbag/config.cpp b/addons/sandbag/config.cpp index 80938d6ff4..bc59d52a8a 100644 --- a/addons/sandbag/config.cpp +++ b/addons/sandbag/config.cpp @@ -14,6 +14,7 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" + class ACE_newEvents { medical_onUnconscious = "ace_medical_onUnconscious"; playerVehicleChanged = "ace_playerVehicleChanged"; diff --git a/addons/tagging/XEH_postInit.sqf b/addons/tagging/XEH_postInit.sqf index df5d3a1a5b..055cb59cfd 100644 --- a/addons/tagging/XEH_postInit.sqf +++ b/addons/tagging/XEH_postInit.sqf @@ -44,4 +44,4 @@ if (!isServer) exitWith {}; GVAR(testingThread) = false; GVAR(tagsToTest) = []; -["ace_createTag", DFUNC(createTag)] call CBA_fnc_addEventHandler; +[QGVAR(createTag), DFUNC(createTag)] call CBA_fnc_addEventHandler; diff --git a/addons/tagging/config.cpp b/addons/tagging/config.cpp index 96ecadbf03..e494247db3 100644 --- a/addons/tagging/config.cpp +++ b/addons/tagging/config.cpp @@ -17,6 +17,6 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - createTag = "ace_createTag"; + createTag = QGVAR(createTag); tagCreated = "ace_tagCreated"; }; diff --git a/addons/tagging/functions/fnc_tag.sqf b/addons/tagging/functions/fnc_tag.sqf index 0cf5336dec..4cdb428f6a 100644 --- a/addons/tagging/functions/fnc_tag.sqf +++ b/addons/tagging/functions/fnc_tag.sqf @@ -109,7 +109,7 @@ _unit playActionNow "PutDown"; playSound3D [QUOTE(PATHTO_R(sounds\spray.ogg)), _unit, false, (eyePos _unit), 10, 1, 15]; // Tell the server to create the tag and handle its destruction - ["ace_createTag", _this] call CBA_fnc_serverEvent; + [QGVAR(createTag), _this] call CBA_fnc_serverEvent; }, [_touchingPoint vectorAdd (_surfaceNormal vectorMultiply 0.06), _vectorDirAndUp, _texture, _object, _unit], 0.6] call EFUNC(common,waitAndExecute); true diff --git a/addons/tripod/config.cpp b/addons/tripod/config.cpp index f57dbb7b9e..c8fca00687 100644 --- a/addons/tripod/config.cpp +++ b/addons/tripod/config.cpp @@ -14,6 +14,7 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" + class ACE_newEvents { medical_onUnconscious = "ace_medical_onUnconscious"; playerVehicleChanged = "ace_playerVehicleChanged"; diff --git a/addons/viewdistance/XEH_clientInit.sqf b/addons/viewdistance/XEH_clientInit.sqf index a1b81a6ddb..2572931935 100644 --- a/addons/viewdistance/XEH_clientInit.sqf +++ b/addons/viewdistance/XEH_clientInit.sqf @@ -10,7 +10,7 @@ if (!hasInterface) exitWith {}; [false] call FUNC(adaptViewDistance); // Set the EH which waits for any of the view distance settings to be changed, so that the effect is show immediately - ["SettingChanged",{ + ["ace_settingChanged",{ params ["_name"]; if ((_name == QGVAR(viewDistanceOnFoot)) || (_name == QGVAR(viewDistanceLandVehicle)) || @@ -23,7 +23,7 @@ if (!hasInterface) exitWith {}; // Set the EH which waits for a vehicle change to automatically swap between On Foot/In Land Vehicle/In Air Vehicle // Also run when SettingsInitialized runs (not guaranteed) - ["playerVehicleChanged",{ + ["ace_playerVehicleChanged",{ [false] call FUNC(adaptViewDistance); }] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler; diff --git a/addons/weather/config.cpp b/addons/weather/config.cpp index 280efd3654..ebe2271670 100644 --- a/addons/weather/config.cpp +++ b/addons/weather/config.cpp @@ -16,6 +16,7 @@ class CfgPatches { #include "RscTitles.hpp" #include "CfgVehicles.hpp" #include "ACE_Settings.hpp" + class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; }; diff --git a/addons/zeus/XEH_preInit.sqf b/addons/zeus/XEH_preInit.sqf index 136851458b..b39f4c0e04 100644 --- a/addons/zeus/XEH_preInit.sqf +++ b/addons/zeus/XEH_preInit.sqf @@ -5,7 +5,7 @@ ADDON = false; #include "XEH_PREP.hpp" if (isServer) then { - ["ace_zeusUnitAssigned", FUNC(handleZeusUnitAssigned)] call CBA_fnc_addEventHandler; + [QGVAR(zeusUnitAssigned), FUNC(handleZeusUnitAssigned)] call CBA_fnc_addEventHandler; }; ADDON = true; diff --git a/addons/zeus/config.cpp b/addons/zeus/config.cpp index 0758e1557b..1337d12518 100644 --- a/addons/zeus/config.cpp +++ b/addons/zeus/config.cpp @@ -44,7 +44,7 @@ class ACE_Curator { #include "ACE_Settings.hpp" class ACE_newEvents { - zeusUnitAssigned = "ace_zeusUnitAssigned"; + zeusUnitAssigned = QGVAR(zeusUnitAssigned); SetSurrendered = "ace_setSurrendered"; SetHandcuffed = "ace_setHandcuffed"; AddCargoByClass = "ace_addCargoByClass"; diff --git a/addons/zeus/functions/fnc_bi_moduleCurator.sqf b/addons/zeus/functions/fnc_bi_moduleCurator.sqf index 84c4dd59ec..a86f81930d 100644 --- a/addons/zeus/functions/fnc_bi_moduleCurator.sqf +++ b/addons/zeus/functions/fnc_bi_moduleCurator.sqf @@ -175,7 +175,7 @@ if (_activated) then { [_logic,"curatorUnitAssigned",[_logic,_player]] call bis_fnc_callscriptedeventhandler; // Added by ace_zeus - ["ace_zeusUnitAssigned", [_logic,_player]] call CBA_fnc_globalEvent; + [QGVAR(zeusUnitAssigned), [_logic,_player]] call CBA_fnc_globalEvent; //--- Forced interface //if (_forced) then { From fef50ae48fbae99553fba66ef43ec5a6e2525c30 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 24 May 2016 19:25:38 -0500 Subject: [PATCH 22/63] Fix duplicate event --- addons/tacticalladder/config.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/tacticalladder/config.cpp b/addons/tacticalladder/config.cpp index 81b210c80c..02cd3e2ea0 100644 --- a/addons/tacticalladder/config.cpp +++ b/addons/tacticalladder/config.cpp @@ -19,5 +19,4 @@ class ACE_newEvents { medical_onUnconscious = "ace_medical_onUnconscious"; playerVehicleChanged = "ace_playerVehicleChanged"; playerChanged = "ace_playerChanged"; - interactMenuOpened = "ace_interactMenuOpened"; }; From 87ee34ba354b67ffae4324b781e60fd7101019cf Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 24 May 2016 19:37:24 -0500 Subject: [PATCH 23/63] vehicleLock - Use QGVAR --- addons/vehiclelock/CfgVehicles.hpp | 8 ++++---- addons/vehiclelock/XEH_postInit.sqf | 4 ++-- addons/vehiclelock/config.cpp | 4 ++-- addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf | 2 +- .../vehiclelock/functions/fnc_handleVehicleInitPost.sqf | 2 +- addons/vehiclelock/functions/fnc_lockpick.sqf | 2 +- addons/vehiclelock/functions/fnc_setVehicleLockEH.sqf | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/addons/vehiclelock/CfgVehicles.hpp b/addons/vehiclelock/CfgVehicles.hpp index f6db9fe467..dc025af65b 100644 --- a/addons/vehiclelock/CfgVehicles.hpp +++ b/addons/vehiclelock/CfgVehicles.hpp @@ -3,14 +3,14 @@ class ACE_unlockVehicle { \ displayName = CSTRING(Action_UnLock); \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ - statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,false)], [_target])] call CBA_fnc_targetEvent); \ + statement = QUOTE([ARR_3(QUOTE(QGVAR(setVehicleLock)), [ARR_2(_target,false)], [_target])] call CBA_fnc_targetEvent); \ priority = 0.3; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ class ACE_lockVehicle { \ displayName = CSTRING(Action_Lock); \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ - statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,true)], [_target])] call CBA_fnc_targetEvent); \ + statement = QUOTE([ARR_3(QUOTE(QGVAR(setVehicleLock)), [ARR_2(_target,true)], [_target])] call CBA_fnc_targetEvent); \ priority = 0.2; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ @@ -27,7 +27,7 @@ displayName = CSTRING(Action_UnLock); \ distance = 4; \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ - statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,false)], [_target])] call CBA_fnc_targetEvent); \ + statement = QUOTE([ARR_3(QUOTE(QGVAR(setVehicleLock)), [ARR_2(_target,false)], [_target])] call CBA_fnc_targetEvent); \ priority = 0.3; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ @@ -35,7 +35,7 @@ displayName = CSTRING(Action_Lock); \ distance = 4; \ condition = QUOTE(([ARR_2(_player, _target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ - statement = QUOTE([ARR_3('VehicleLock_SetVehicleLock', [ARR_2(_target,true)], [_target])] call CBA_fnc_targetEvent); \ + statement = QUOTE([ARR_3(QUOTE(QGVAR(setVehicleLock)), [ARR_2(_target,true)], [_target])] call CBA_fnc_targetEvent); \ priority = 0.2; \ icon = QUOTE(PATHTOF(UI\key_menuIcon_ca.paa)); \ }; \ diff --git a/addons/vehiclelock/XEH_postInit.sqf b/addons/vehiclelock/XEH_postInit.sqf index 0a9d00ffbc..3888a6e87a 100644 --- a/addons/vehiclelock/XEH_postInit.sqf +++ b/addons/vehiclelock/XEH_postInit.sqf @@ -1,8 +1,8 @@ #include "script_component.hpp" //Add Event Handlers -["ace_vehicleLock_SetupCustomKey", {_this call FUNC(serverSetupCustomKeyEH)}] call CBA_fnc_addEventHandler; -["ace_vehicleLock_SetVehicleLock", {_this call FUNC(setVehicleLockEH)}] call CBA_fnc_addEventHandler; +[QGVAR(setupCustomKey), {_this call FUNC(serverSetupCustomKeyEH)}] call CBA_fnc_addEventHandler; +[QGVAR(setVehicleLock), {_this call FUNC(setVehicleLockEH)}] call CBA_fnc_addEventHandler; if (!hasInterface) exitwith {}; diff --git a/addons/vehiclelock/config.cpp b/addons/vehiclelock/config.cpp index 8dbc7a5ece..8b51cb60a9 100644 --- a/addons/vehiclelock/config.cpp +++ b/addons/vehiclelock/config.cpp @@ -20,6 +20,6 @@ class CfgPatches { class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; - VehicleLock_SetVehicleLock = "ace_vehicleLock_SetVehicleLock"; - VehicleLock_SetupCustomKey = "ace_vehicleLock_SetupCustomKey"; + VehicleLock_SetVehicleLock = QGVAR(setVehicleLock); + VehicleLock_SetupCustomKey = QGVAR(setupCustomKey); }; diff --git a/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf b/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf index ea8a22d352..b45bf150f3 100644 --- a/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf +++ b/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf @@ -36,7 +36,7 @@ if (_useCustom) then { _keyMagazine = _newMags select 0; TRACE_2("setting up key on server",_veh,_keyMagazine); //Have the server run add the key to the vehicle's key array: - ["ace_vehicleLock_SetupCustomKey", [_veh, _keyMagazine]] call CBA_fnc_serverEvent; + [QGVAR(setupCustomKey), [_veh, _keyMagazine]] call CBA_fnc_serverEvent; } else { _keyName = [_veh] call FUNC(getVehicleSideKey); _unit addItem _keyName; //addItem has global effects diff --git a/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf b/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf index ac16e0467f..c5e22d6336 100644 --- a/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf +++ b/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf @@ -38,7 +38,7 @@ TRACE_1("params",_vehicle); }; if ((_lock && {(locked _vehicle) != 2}) || {!_lock && {(locked _vehicle) != 0}}) then { TRACE_3("Setting Lock State",_lock,(typeOf _vehicle),_vehicle); - ["ace_vehicleLock_SetVehicleLock", [_vehicle, _lock], [_vehicle]] call CBA_fnc_targetEvent; + [QGVAR(SetVehicleLock), [_vehicle, _lock], [_vehicle]] call CBA_fnc_targetEvent; }; }; //Delay call until mission start (so everyone has the eventHandler's installed) diff --git a/addons/vehiclelock/functions/fnc_lockpick.sqf b/addons/vehiclelock/functions/fnc_lockpick.sqf index 9743eb5275..bf15a6eadd 100644 --- a/addons/vehiclelock/functions/fnc_lockpick.sqf +++ b/addons/vehiclelock/functions/fnc_lockpick.sqf @@ -55,7 +55,7 @@ switch (_funcType) do { [_vehLockpickStrenth, [_unit, _veh, "finishLockpick"], {(_this select 0) call FUNC(lockpick)}, {}, (localize LSTRING(Action_LockpickInUse)), _condition] call EFUNC(common,progressBar); }; case "finishLockpick": { - ["ace_vehicleLock_SetVehicleLock", [_veh, false], [_veh]] call CBA_fnc_targetEvent; + [QGVAR(setVehicleLock), [_veh, false], [_veh]] call CBA_fnc_targetEvent; }; default { ERROR("bad function type"); diff --git a/addons/vehiclelock/functions/fnc_setVehicleLockEH.sqf b/addons/vehiclelock/functions/fnc_setVehicleLockEH.sqf index d2290ef732..9382de408e 100644 --- a/addons/vehiclelock/functions/fnc_setVehicleLockEH.sqf +++ b/addons/vehiclelock/functions/fnc_setVehicleLockEH.sqf @@ -1,6 +1,6 @@ /* * Author: PabstMirror - * Sets a vehicle lock state because of a "VehicleLock_SetVehicleLock" event + * Sets a vehicle lock state because of a "ace_vehiclelock_setVehicleLock" event * * Arguments: * 0: Vehicle From 5d36f84eb1d2ad1586621334c9990fc0d4cec898 Mon Sep 17 00:00:00 2001 From: jonpas Date: Wed, 25 May 2016 20:13:36 +0200 Subject: [PATCH 24/63] qGVAR overheating and reloadlaunchers --- addons/overheating/XEH_postInit.sqf | 8 ++++---- addons/overheating/config.cpp | 8 ++++---- .../functions/fnc_checkSpareBarrelsTemperatures.sqf | 2 +- .../overheating/functions/fnc_loadCoolestSpareBarrel.sqf | 2 +- addons/overheating/functions/fnc_swapBarrelAssistant.sqf | 2 +- addons/overheating/functions/fnc_swapBarrelCallback.sqf | 2 +- addons/reloadlaunchers/XEH_postInit.sqf | 2 +- addons/reloadlaunchers/config.cpp | 2 +- addons/reloadlaunchers/functions/fnc_load.sqf | 2 +- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/addons/overheating/XEH_postInit.sqf b/addons/overheating/XEH_postInit.sqf index c42ce1f9fd..f5a162e075 100644 --- a/addons/overheating/XEH_postInit.sqf +++ b/addons/overheating/XEH_postInit.sqf @@ -35,8 +35,8 @@ if (hasInterface) then { GVAR(storedSpareBarrels) = [] call CBA_fnc_hashCreate; // Install event handlers for spare barrels - ["ace_spareBarrelsSendTemperatureHint", FUNC(sendSpareBarrelsTemperaturesHint)] call CBA_fnc_addEventHandler; - ["ace_spareBarrelsLoadCoolest", FUNC(loadCoolestSpareBarrel)] call CBA_fnc_addEventHandler; + [QGVAR(spareBarrelsSendTemperatureHint), FUNC(sendSpareBarrelsTemperaturesHint)] call CBA_fnc_addEventHandler; + [QGVAR(spareBarrelsLoadCoolest), FUNC(loadCoolestSpareBarrel)] call CBA_fnc_addEventHandler; // Schedule cool down calculation of stored spare barrels [] call FUNC(updateSpareBarrelsTemperaturesThread); @@ -62,8 +62,8 @@ if (hasInterface) then { [] call FUNC(updateTemperatureThread); // Install event handler to display temp when a barrel was swapped - ["ace_showWeaponTemperature", DFUNC(displayTemperature)] call CBA_fnc_addEventHandler; + [QGVAR(showWeaponTemperature), DFUNC(displayTemperature)] call CBA_fnc_addEventHandler; // Install event handler to initiate an assisted barrel swap - ["ace_initiateSwapBarrelAssisted", DFUNC(swapBarrel)] call CBA_fnc_addEventHandler; + [QGVAR(initiateSwapBarrelAssisted), DFUNC(swapBarrel)] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler; diff --git a/addons/overheating/config.cpp b/addons/overheating/config.cpp index 89158a67e1..c945716149 100644 --- a/addons/overheating/config.cpp +++ b/addons/overheating/config.cpp @@ -52,12 +52,12 @@ class CfgGesturesMale { }; class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; - initiateSwapBarrelAssisted = "ace_initiateSwapBarrelAssisted"; - showWeaponTemperature = "ace_showWeaponTemperature"; + initiateSwapBarrelAssisted = QGVAR(initiateSwapBarrelAssisted); + showWeaponTemperature = QGVAR(showWeaponTemperature); firedPlayerNonLocal = "ace_firedPlayerNonLocal"; firedPlayer = "ace_firedPlayer"; - spareBarrelsLoadCoolest = "ace_spareBarrelsLoadCoolest"; - spareBarrelsSendTemperatureHint = "ace_spareBarrelsSendTemperatureHint"; + spareBarrelsLoadCoolest = QGVAR(spareBarrelsLoadCoolest); + spareBarrelsSendTemperatureHint = QGVAR(spareBarrelsSendTemperatureHint); displayTextStructured = "ace_displayTextStructured"; weaponJammed = "ace_weaponJammed"; }; diff --git a/addons/overheating/functions/fnc_checkSpareBarrelsTemperatures.sqf b/addons/overheating/functions/fnc_checkSpareBarrelsTemperatures.sqf index 129f80845b..be2e1ae1a5 100644 --- a/addons/overheating/functions/fnc_checkSpareBarrelsTemperatures.sqf +++ b/addons/overheating/functions/fnc_checkSpareBarrelsTemperatures.sqf @@ -29,7 +29,7 @@ if (!([_player, objNull, ["isNotInside", "isNotSitting"]] call EFUNC(common,canI params ["_args", "_elapsedTime", "_totalTime", "_errorCode"]; _args params ["_player"]; // Time has enlapsed, ask the server to send the hint - ['spareBarrelsSendTemperatureHint', [_player, _player]] call CBA_fnc_serverEvent; + [QGVAR(spareBarrelsSendTemperatureHint), [_player, _player]] call CBA_fnc_serverEvent; }, {}, (localize LSTRING(CheckingSpareBarrelsTemperatures)), diff --git a/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf b/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf index c77a5dbed2..f4636150b5 100644 --- a/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf +++ b/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf @@ -50,4 +50,4 @@ _gunner setVariable [format [QGVAR(%1_temp), _weapon], _coolestTemp, true]; [GVAR(storedSpareBarrels), _coolestMag, [_weaponTemp, ACE_Time, _barrelMass]] call CBA_fnc_hashSet; // Send an event so the machines of the assistant and gunner can show the hint -["ace_showWeaponTemperature", _gunner], [_gunner, _weapon], [_assistant] call CBA_fnc_targetEvent; +[QGVAR(showWeaponTemperature), _gunner], [_gunner, _weapon], [_assistant] call CBA_fnc_targetEvent; diff --git a/addons/overheating/functions/fnc_swapBarrelAssistant.sqf b/addons/overheating/functions/fnc_swapBarrelAssistant.sqf index 326afcae1c..dd6d51d109 100644 --- a/addons/overheating/functions/fnc_swapBarrelAssistant.sqf +++ b/addons/overheating/functions/fnc_swapBarrelAssistant.sqf @@ -30,4 +30,4 @@ playSound "ACE_BarrelSwap"; [3, [_assistant, _gunner, _weapon], {}, {}, (localize LSTRING(SwappingBarrel))] call EFUNC(common,progressBar); -["ace_initiateSwapBarrelAssisted", [_assistant, _gunner, _weapon], _gunner] call CBA_fnc_targetEvent; +[QGVAR(initiateSwapBarrelAssisted), [_assistant, _gunner, _weapon], _gunner] call CBA_fnc_targetEvent; diff --git a/addons/overheating/functions/fnc_swapBarrelCallback.sqf b/addons/overheating/functions/fnc_swapBarrelCallback.sqf index 73cf5f6006..17864ab3f6 100644 --- a/addons/overheating/functions/fnc_swapBarrelCallback.sqf +++ b/addons/overheating/functions/fnc_swapBarrelCallback.sqf @@ -34,7 +34,7 @@ private _barrelMass = 0.50 * (getNumber (configFile >> "CfgWeapons" >> _weapon > // store the removed barrel with the former weapon temperature. The server // also updates the current weapon temperature to match that of the new // loaded barrel. -["ace_spareBarrelsLoadCoolest", [_assistant, _gunner, _weapon, _temp, _barrelMass]] call CBA_fnc_serverEvent; +[QGVAR(spareBarrelsLoadCoolest), [_assistant, _gunner, _weapon, _temp, _barrelMass]] call CBA_fnc_serverEvent; // Store the update time _gunner setVariable [format [QGVAR(%1_time), _weapon], ACE_time]; diff --git a/addons/reloadlaunchers/XEH_postInit.sqf b/addons/reloadlaunchers/XEH_postInit.sqf index 0800c4b0eb..8c18d430c4 100644 --- a/addons/reloadlaunchers/XEH_postInit.sqf +++ b/addons/reloadlaunchers/XEH_postInit.sqf @@ -1,4 +1,4 @@ // by commy2 #include "script_component.hpp" -["ace_reloadLauncher", {_this call DFUNC(reloadLauncher)}] call CBA_fnc_addEventHandler; +[QGVAR(reloadLauncher), {_this call DFUNC(reloadLauncher)}] call CBA_fnc_addEventHandler; diff --git a/addons/reloadlaunchers/config.cpp b/addons/reloadlaunchers/config.cpp index 915316ac39..044b05086b 100644 --- a/addons/reloadlaunchers/config.cpp +++ b/addons/reloadlaunchers/config.cpp @@ -18,5 +18,5 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - reloadLauncher = "ace_reloadLauncher"; + reloadLauncher = QGVAR(reloadLauncher); }; diff --git a/addons/reloadlaunchers/functions/fnc_load.sqf b/addons/reloadlaunchers/functions/fnc_load.sqf index 59d28f8cad..863d1e9189 100644 --- a/addons/reloadlaunchers/functions/fnc_load.sqf +++ b/addons/reloadlaunchers/functions/fnc_load.sqf @@ -32,7 +32,7 @@ private ["_onSuccess", "_onFailure", "_condition"]; _onSuccess = { (_this select 0 select 0) removeMagazine (_this select 0 select 3); - ["ace_reloadLauncher", _this select 0, _this select 0 select 1] call CBA_fnc_targetEvent; + [QGVAR(reloadLauncher), _this select 0, _this select 0 select 1] call CBA_fnc_targetEvent; [localize LSTRING(LauncherLoaded)] call DEFUNC(common,displayTextStructured); }; From 4f515ec4e12a71ef3864f537d0194eb4efeef7a1 Mon Sep 17 00:00:00 2001 From: jonpas Date: Wed, 25 May 2016 20:23:53 +0200 Subject: [PATCH 25/63] QGVAR captives, interaction --- addons/captives/XEH_postInit.sqf | 8 ++++---- addons/captives/config.cpp | 9 +++++---- addons/captives/functions/fnc_doApplyHandcuffs.sqf | 2 +- addons/captives/functions/fnc_doLoadCaptive.sqf | 2 +- addons/captives/functions/fnc_doRemoveHandcuffs.sqf | 2 +- addons/captives/functions/fnc_doUnloadCaptive.sqf | 2 +- addons/captives/functions/fnc_moduleHandcuffed.sqf | 2 +- addons/captives/functions/fnc_moduleSurrender.sqf | 2 +- addons/interaction/XEH_postInit.sqf | 12 ++++++------ addons/interaction/config.cpp | 10 ++++++---- addons/interaction/functions/fnc_getDown.sqf | 2 +- addons/interaction/functions/fnc_joinTeam.sqf | 2 +- addons/interaction/functions/fnc_pardon.sqf | 2 +- addons/interaction/functions/fnc_sendAway.sqf | 2 +- addons/interaction/functions/fnc_switchLamp.sqf | 9 +++------ addons/interaction/functions/fnc_tapShoulder.sqf | 2 +- addons/laserpointer/XEH_postInit.sqf | 2 +- addons/laserpointer/config.cpp | 2 +- addons/sitting/XEH_clientInit.sqf | 2 +- addons/sitting/config.cpp | 2 +- addons/zeus/config.cpp | 4 ++-- addons/zeus/functions/fnc_moduleCaptive.sqf | 2 +- addons/zeus/functions/fnc_moduleSurrender.sqf | 2 +- 23 files changed, 43 insertions(+), 43 deletions(-) diff --git a/addons/captives/XEH_postInit.sqf b/addons/captives/XEH_postInit.sqf index 0c627c55f2..f8511b5789 100644 --- a/addons/captives/XEH_postInit.sqf +++ b/addons/captives/XEH_postInit.sqf @@ -25,11 +25,11 @@ if (isServer) then { }; ["ace_playerChanged", {_this call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; -["ace_moveInCaptive", {_this call FUNC(vehicleCaptiveMoveIn)}] call CBA_fnc_addEventHandler; -["ace_moveOutCaptive", {_this call FUNC(vehicleCaptiveMoveOut)}] call CBA_fnc_addEventHandler; +[QGVAR(moveInCaptive), {_this call FUNC(vehicleCaptiveMoveIn)}] call CBA_fnc_addEventHandler; +[QGVAR(moveOutCaptive), {_this call FUNC(vehicleCaptiveMoveOut)}] call CBA_fnc_addEventHandler; -["ace_setHandcuffed", {_this call FUNC(setHandcuffed)}] call CBA_fnc_addEventHandler; -["ace_setSurrendered", {_this call FUNC(setSurrendered)}] call CBA_fnc_addEventHandler; +[QGVAR(setHandcuffed), {_this call FUNC(setHandcuffed)}] call CBA_fnc_addEventHandler; +[QGVAR(setSurrendered), {_this call FUNC(setSurrendered)}] call CBA_fnc_addEventHandler; //Medical Integration Events ["ace_medical_onUnconscious", {_this call ACE_Captives_fnc_handleOnUnconscious}] call CBA_fnc_addEventHandler; diff --git a/addons/captives/config.cpp b/addons/captives/config.cpp index e526f11019..4e31f77c9a 100644 --- a/addons/captives/config.cpp +++ b/addons/captives/config.cpp @@ -18,13 +18,14 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" #include "CfgEden.hpp" + class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; medical_onUnconscious = "ace_medical_onUnconscious"; - SetSurrendered = "ace_setSurrendered"; - SetHandcuffed = "ace_setHandcuffed"; - MoveOutCaptive = "ace_moveOutCaptive"; - MoveInCaptive = "ace_moveInCaptive"; + SetSurrendered = QGVAR(setSurrendered); + SetHandcuffed = QGVAR(setHandcuffed); + MoveOutCaptive = QGVAR(moveOutCaptive); + MoveInCaptive = QGVAR(moveInCaptive); playerChanged = "ace_playerChanged"; CaptiveStatusChanged = "ace_captiveStatusChanged"; }; diff --git a/addons/captives/functions/fnc_doApplyHandcuffs.sqf b/addons/captives/functions/fnc_doApplyHandcuffs.sqf index 35efa16a6d..d80ffc40a1 100644 --- a/addons/captives/functions/fnc_doApplyHandcuffs.sqf +++ b/addons/captives/functions/fnc_doApplyHandcuffs.sqf @@ -21,6 +21,6 @@ params ["_unit", "_target"]; playSound3D [QUOTE(PATHTO_R(sounds\cable_tie_zipping.ogg)), objNull, false, (getPosASL _target), 1, 1, 10]; -["ace_setHandcuffed", [_target, true], [_target]] call CBA_fnc_targetEvent; +[QGVAR(setHandcuffed), [_target, true], [_target]] call CBA_fnc_targetEvent; _unit removeItem "ACE_CableTie"; diff --git a/addons/captives/functions/fnc_doLoadCaptive.sqf b/addons/captives/functions/fnc_doLoadCaptive.sqf index 4d45494fd2..2a8bc055ec 100644 --- a/addons/captives/functions/fnc_doLoadCaptive.sqf +++ b/addons/captives/functions/fnc_doLoadCaptive.sqf @@ -47,4 +47,4 @@ if (isNull _vehicle) then { if (isNull _vehicle) exitWith {ERROR("");}; _unit setVariable [QGVAR(isEscorting), false, true]; -["ace_moveInCaptive", [_target, _vehicle], [_target]] call CBA_fnc_targetEvent; +[QGVAR(moveInCaptive), [_target, _vehicle], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/captives/functions/fnc_doRemoveHandcuffs.sqf b/addons/captives/functions/fnc_doRemoveHandcuffs.sqf index e824893c34..7f445440ba 100644 --- a/addons/captives/functions/fnc_doRemoveHandcuffs.sqf +++ b/addons/captives/functions/fnc_doRemoveHandcuffs.sqf @@ -17,4 +17,4 @@ params ["_unit", "_target"]; -["ace_setHandcuffed", [_target, false], [_target]] call CBA_fnc_targetEvent; +[QGVAR(setHandcuffed), [_target, false], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/captives/functions/fnc_doUnloadCaptive.sqf b/addons/captives/functions/fnc_doUnloadCaptive.sqf index b5c27706c4..fd4375e4b7 100644 --- a/addons/captives/functions/fnc_doUnloadCaptive.sqf +++ b/addons/captives/functions/fnc_doUnloadCaptive.sqf @@ -18,4 +18,4 @@ params ["_unit", "_target"]; -["ace_moveOutCaptive", [_target], [_target]] call CBA_fnc_targetEvent; +[QGVAR(moveOutCaptive), [_target], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/captives/functions/fnc_moduleHandcuffed.sqf b/addons/captives/functions/fnc_moduleHandcuffed.sqf index ea72ca5d26..c2cf0708d3 100644 --- a/addons/captives/functions/fnc_moduleHandcuffed.sqf +++ b/addons/captives/functions/fnc_moduleHandcuffed.sqf @@ -30,7 +30,7 @@ if (!isServer) exitWith {}; params ["_units"]; { TRACE_2("event",_x,local _x); - ["ace_setHandcuffed", [_x, true], [_x]] call CBA_fnc_targetEvent; + [QGVAR(setHandcuffed), [_x, true], [_x]] call CBA_fnc_targetEvent; } forEach _units; }, [_units], 0.05] call EFUNC(common,waitAndExecute); diff --git a/addons/captives/functions/fnc_moduleSurrender.sqf b/addons/captives/functions/fnc_moduleSurrender.sqf index 8e342b1aeb..04d9027896 100644 --- a/addons/captives/functions/fnc_moduleSurrender.sqf +++ b/addons/captives/functions/fnc_moduleSurrender.sqf @@ -30,7 +30,7 @@ if (!isServer) exitWith {}; params ["_units"]; { TRACE_2("event",_x,local _x); - ["ace_setSurrendered", [_x, true], [_x]] call CBA_fnc_targetEvent; + [QGVAR(setSurrendered), [_x, true], [_x]] call CBA_fnc_targetEvent; } forEach _units; }, [_units], 0.05] call EFUNC(common,waitAndExecute); diff --git a/addons/interaction/XEH_postInit.sqf b/addons/interaction/XEH_postInit.sqf index 6107b26d59..0bb6e2386a 100644 --- a/addons/interaction/XEH_postInit.sqf +++ b/addons/interaction/XEH_postInit.sqf @@ -3,27 +3,27 @@ ACE_Modifier = 0; -["ace_pardon", {(_this select 0) addRating -rating (_this select 0)}] call CBA_fnc_addEventHandler; +[QGVAR(pardon), {(_this select 0) addRating -rating (_this select 0)}] call CBA_fnc_addEventHandler; -["ace_getDown", { +[QGVAR(getDown), { params ["_target"]; _target setUnitPos "DOWN"; }] call CBA_fnc_addEventHandler; -["sendAway", { +[QGVAR(sendAway), { params ["_unit", "_position"]; _unit setUnitPos "AUTO"; _unit doMove _position; }] call CBA_fnc_addEventHandler; -["lampTurnOn", { +[QGVAR(lampTurnOn), { params ["_lamp", "_hitPointsDamage", "_disabledLampDMG"]; {if((_x select 1) == _disabledLampDMG) then {_lamp setHit [_x select 0, 0];};nil} count _hitPointsDamage; }] call CBA_fnc_addEventHandler; -["lampTurnOff", { +[QGVAR(lampTurnOff), { params ["_lamp", "_hitPointsDamage", "_disabledLampDMG"]; {_lamp setHit [_x select 0, (_x select 1) max _disabledLampDMG];nil} count _hitPointsDamage; }] call CBA_fnc_addEventHandler; @@ -32,7 +32,7 @@ if (!hasInterface) exitWith {}; GVAR(isOpeningDoor) = false; -["tapShoulder", { +[QGVAR(tapShoulder), { params ["_unit", "_shoulderNum"]; if (_unit == ACE_player) then { diff --git a/addons/interaction/config.cpp b/addons/interaction/config.cpp index 9359c10df1..54444f1b6a 100644 --- a/addons/interaction/config.cpp +++ b/addons/interaction/config.cpp @@ -19,12 +19,14 @@ class CfgPatches { #include "ACE_ZeusActions.hpp" class ACE_newEvents { - getDown = "ace_getDown"; - pardon = "ace_pardon"; - tapShoulder = "ace_tapShoulder"; - sendAway = "ace_sendAway"; + getDown = QGVAR(getDown); + pardon = QGVAR(pardon); + tapShoulder = QGVAR(tapShoulder); + sendAway = QGVAR(sendAway); setVelocity = "ace_setVelocity"; displayTextStructured = "ace_displayTextStructured"; CBA_teamColorChanged = "ace_CBA_teamColorChanged"; selectLeader = "ace_selectLeader"; + lampTurnOff = QGVAR(lampTurnOff); + lampTurnOn = QGVAR(lampTurnOn); }; diff --git a/addons/interaction/functions/fnc_getDown.sqf b/addons/interaction/functions/fnc_getDown.sqf index 402e6c9976..af0a9da38c 100644 --- a/addons/interaction/functions/fnc_getDown.sqf +++ b/addons/interaction/functions/fnc_getDown.sqf @@ -27,7 +27,7 @@ _chance = [0.5, 0.8] select (count weapons _unit > 0); { if (count weapons _x == 0 && {random 1 < _chance}) then { - ["ace_getDown", [_x], [_x]] call CBA_fnc_targetEvent; + [QGVAR(getDown), [_x], [_x]] call CBA_fnc_targetEvent; }; false } count (_target nearEntities ["Civilian", SEND_RADIUS]); diff --git a/addons/interaction/functions/fnc_joinTeam.sqf b/addons/interaction/functions/fnc_joinTeam.sqf index bd3db0e294..70a2ba2b35 100644 --- a/addons/interaction/functions/fnc_joinTeam.sqf +++ b/addons/interaction/functions/fnc_joinTeam.sqf @@ -18,7 +18,7 @@ params ["_unit", "_team"]; -["ace_CBA_teamColorChanged", [_unit, _team]] call CBA_fnc_globalEvent; +["CBA_teamColorChanged", [_unit, _team]] call CBA_fnc_globalEvent; // display message if (_unit == ACE_player) then { diff --git a/addons/interaction/functions/fnc_pardon.sqf b/addons/interaction/functions/fnc_pardon.sqf index 8c9f3a39e5..e11a92e7db 100644 --- a/addons/interaction/functions/fnc_pardon.sqf +++ b/addons/interaction/functions/fnc_pardon.sqf @@ -15,4 +15,4 @@ params ["", "_target"]; -["ace_pardon", [_target], [_target]] call CBA_fnc_targetEvent; +[QGVAR(pardon), [_target], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/interaction/functions/fnc_sendAway.sqf b/addons/interaction/functions/fnc_sendAway.sqf index 499e139497..c200587f2b 100644 --- a/addons/interaction/functions/fnc_sendAway.sqf +++ b/addons/interaction/functions/fnc_sendAway.sqf @@ -31,7 +31,7 @@ _chance = [0.5, 0.8] select (count weapons _unit > 0); _position = getPosASL _unit vectorAdd (eyeDirection _unit vectorMultiply SEND_DISTANCE); _position set [2, 0]; - ["ace_sendAway", [_x, _position], [_x]] call CBA_fnc_targetEvent; + [QGVAR(sendAway), [_x, _position], [_x]] call CBA_fnc_targetEvent; }; false } count (_unit nearEntities ["Civilian", SEND_RADIUS]); diff --git a/addons/interaction/functions/fnc_switchLamp.sqf b/addons/interaction/functions/fnc_switchLamp.sqf index 199bc6c9f7..bf386f9ef3 100644 --- a/addons/interaction/functions/fnc_switchLamp.sqf +++ b/addons/interaction/functions/fnc_switchLamp.sqf @@ -29,10 +29,7 @@ private _hitPointsDamage = []; } count _reflectors; //if lamp is on turn it off -private _eventName = ["lampTurnOn", "lampTurnOff"] select _isOn; -if(local _lamp) then { - [_eventName, [_lamp, _hitPointsDamage, DISABLED_LAMP_DMG]] call CBA_fnc_localEvent; -} else { - [_eventName, [_lamp, _hitPointsDamage, DISABLED_LAMP_DMG], [_lamp]] call CBA_fnc_targetEvent; -}; +private _eventName = [QGVAR(lampTurnOn), QGVAR(lampTurnOff)] select _isOn; +[_eventName, [_lamp, _hitPointsDamage, DISABLED_LAMP_DMG], [_lamp]] call CBA_fnc_targetEvent; + _lamp setVariable ["ACE_lampOn", !_isOn, true]; diff --git a/addons/interaction/functions/fnc_tapShoulder.sqf b/addons/interaction/functions/fnc_tapShoulder.sqf index 35274b3724..d6621d2c07 100644 --- a/addons/interaction/functions/fnc_tapShoulder.sqf +++ b/addons/interaction/functions/fnc_tapShoulder.sqf @@ -25,4 +25,4 @@ if (_unit == ACE_player) then { _unit playActionNow "PutDown"; -["ace_tapShoulder", [_target, _shoulderNum], [_target]] call CBA_fnc_targetEvent; +[QGVAR(tapShoulder), [_target, _shoulderNum], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/laserpointer/XEH_postInit.sqf b/addons/laserpointer/XEH_postInit.sqf index e77693a6ae..c4c83171cb 100644 --- a/addons/laserpointer/XEH_postInit.sqf +++ b/addons/laserpointer/XEH_postInit.sqf @@ -2,7 +2,7 @@ #include "script_component.hpp" // fixes laser when being captured. Needed, because the selectionPosition of the right hand is used -["ace_setHandcuffed", {if (_this select 1) then {(_this select 0) action ["GunLightOff", _this select 0]};}] call CBA_fnc_addEventHandler; +[QEGVAR(captives,setHandcuffed), {if (_this select 1) then {(_this select 0) action ["GunLightOff", _this select 0]};}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; diff --git a/addons/laserpointer/config.cpp b/addons/laserpointer/config.cpp index 37cd2c4387..fe695517a7 100644 --- a/addons/laserpointer/config.cpp +++ b/addons/laserpointer/config.cpp @@ -20,5 +20,5 @@ class CfgPatches { class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; - SetHandcuffed = "ace_setHandcuffed"; + SetHandcuffed = QEGVAR(captives,setHandcuffed); }; \ No newline at end of file diff --git a/addons/sitting/XEH_clientInit.sqf b/addons/sitting/XEH_clientInit.sqf index 2ce615c68a..e19f0c66b9 100644 --- a/addons/sitting/XEH_clientInit.sqf +++ b/addons/sitting/XEH_clientInit.sqf @@ -14,5 +14,5 @@ if (!hasInterface) exitWith {}; // Handle interruptions ["ace_medical_onUnconscious", {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; - ["ace_setHandcuffed", {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; + [QEGVAR(captives,setHandcuffed), {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler; diff --git a/addons/sitting/config.cpp b/addons/sitting/config.cpp index 65e23cd1ad..e46b25b555 100644 --- a/addons/sitting/config.cpp +++ b/addons/sitting/config.cpp @@ -19,6 +19,6 @@ class CfgPatches { class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; - SetHandcuffed = "ace_setHandcuffed"; + SetHandcuffed = QEGVAR(captives,setHandcuffed); medical_onUnconscious = "ace_medical_onUnconscious"; }; \ No newline at end of file diff --git a/addons/zeus/config.cpp b/addons/zeus/config.cpp index 1337d12518..5db5fad035 100644 --- a/addons/zeus/config.cpp +++ b/addons/zeus/config.cpp @@ -45,7 +45,7 @@ class ACE_Curator { class ACE_newEvents { zeusUnitAssigned = QGVAR(zeusUnitAssigned); - SetSurrendered = "ace_setSurrendered"; - SetHandcuffed = "ace_setHandcuffed"; + SetSurrendered = QEGVAR(captives,setSurrendered); + SetHandcuffed = QEGVAR(captives,setHandcuffed); AddCargoByClass = "ace_addCargoByClass"; }; diff --git a/addons/zeus/functions/fnc_moduleCaptive.sqf b/addons/zeus/functions/fnc_moduleCaptive.sqf index ee0781b43f..7d1c46f873 100644 --- a/addons/zeus/functions/fnc_moduleCaptive.sqf +++ b/addons/zeus/functions/fnc_moduleCaptive.sqf @@ -38,7 +38,7 @@ if (isNil QEFUNC(captives,setHandcuffed)) then { } else { _captive = GETVAR(_unit,EGVAR(captives,isHandcuffed),false); // Event initalized by ACE_Captives - ["ace_setHandcuffed", [_unit, !_captive], _unit] call CBA_fnc_targetEvent; + [QEGVAR(captives,setHandcuffed), [_unit, !_captive], _unit] call CBA_fnc_targetEvent; }; }; }; diff --git a/addons/zeus/functions/fnc_moduleSurrender.sqf b/addons/zeus/functions/fnc_moduleSurrender.sqf index 08b74847c1..e14501feb0 100644 --- a/addons/zeus/functions/fnc_moduleSurrender.sqf +++ b/addons/zeus/functions/fnc_moduleSurrender.sqf @@ -41,7 +41,7 @@ if (isNil QEFUNC(captives,setSurrendered)) then { } else { _surrendering = GETVAR(_unit,EGVAR(captives,isSurrendering),false); // Event initalized by ACE_Captives - ["ace_setSurrendered", [_unit, !_surrendering], _unit] call CBA_fnc_targetEvent; + [QEGVAR(captives,setSurrendered), [_unit, !_surrendering], _unit] call CBA_fnc_targetEvent; }; }; }; From 6905e6f97f551aad26b9329924973610e8af1db7 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 31 May 2016 01:53:28 -0500 Subject: [PATCH 26/63] Fix showHud if set before display loaded --- addons/common/XEH_postInit.sqf | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 26f25d9ea4..9c25fea8a2 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -303,6 +303,15 @@ call FUNC(assignedItemFix); enableCamShake true; +//FUNC(showHud) needs to be refreshed if it was set during mission init +["ace_infoDisplayChanged", { + GVAR(showHudHash) params ["", "_masks"]; + if (!(_masks isEqualTo [])) then { + [] call FUNC(showHud); + }; +}] call CBA_fnc_addEventHandler; + + ////////////////////////////////////////////////// // Eventhandler to set player names ////////////////////////////////////////////////// From cc83bf64d632d347c98472f827351b1ac6213ea8 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Thu, 2 Jun 2016 10:35:33 +0200 Subject: [PATCH 27/63] Moved all deployables to equipment submenu --- addons/tacticalladder/CfgVehicles.hpp | 16 +++++++++------- addons/tripod/CfgVehicles.hpp | 16 +++++++++------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/addons/tacticalladder/CfgVehicles.hpp b/addons/tacticalladder/CfgVehicles.hpp index e6525d8edd..564a034614 100644 --- a/addons/tacticalladder/CfgVehicles.hpp +++ b/addons/tacticalladder/CfgVehicles.hpp @@ -5,13 +5,15 @@ class CfgVehicles { class Man; class CAManBase: Man { class ACE_SelfActions { - class ACE_TacticalLadders { - displayName = CSTRING(Deploy); - condition = QUOTE(backpack _player == 'ACE_TacticalLadder_Pack'); - statement = QUOTE([_player] call FUNC(deployTL)); - exceptions[] = {}; - showDisabled = 1; - priority = 4; + class ACE_Equipment { + class ACE_TacticalLadders { + displayName = CSTRING(Deploy); + condition = QUOTE(backpack _player == 'ACE_TacticalLadder_Pack'); + statement = QUOTE([_player] call FUNC(deployTL)); + exceptions[] = {}; + showDisabled = 1; + priority = 4; + }; }; }; }; diff --git a/addons/tripod/CfgVehicles.hpp b/addons/tripod/CfgVehicles.hpp index b30500ab00..b1d804e393 100644 --- a/addons/tripod/CfgVehicles.hpp +++ b/addons/tripod/CfgVehicles.hpp @@ -5,13 +5,15 @@ class CfgVehicles { class Man; class CAManBase: Man { class ACE_SelfActions { - class GVAR(place) { - displayName = CSTRING(Placedown); - condition = QUOTE([ARR_2(_player,'ACE_Tripod')] call EFUNC(common,hasItem)); - statement = QUOTE([ARR_2(_player,'ACE_Tripod')] call FUNC(place)); - showDisabled = 0; - priority = 2; - icon = QPATHTOF(UI\w_sniper_tripod_ca.paa); + class ACE_Equipment { + class GVAR(place) { + displayName = CSTRING(Placedown); + condition = QUOTE([ARR_2(_player,'ACE_Tripod')] call EFUNC(common,hasItem)); + statement = QUOTE([ARR_2(_player,'ACE_Tripod')] call FUNC(place)); + showDisabled = 0; + priority = 2; + icon = QPATHTOF(UI\w_sniper_tripod_ca.paa); + }; }; }; }; From db78dd53a8f6d360b8d6bf6d43f35e5827faf0bb Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 2 Jun 2016 19:59:18 -0500 Subject: [PATCH 28/63] Cleanup Merge and remoteFnc events --- addons/common/RscInfoType.hpp | 2 +- addons/common/XEH_postInit.sqf | 4 ++-- addons/common/functions/fnc_onAnswerRequest.sqf | 2 +- addons/common/functions/fnc_sendRequest.sqf | 2 +- addons/explosives/XEH_postInit.sqf | 2 +- addons/explosives/functions/fnc_startDefuse.sqf | 2 +- addons/medical/XEH_postInit.sqf | 2 +- addons/repair/functions/fnc_useItem.sqf | 2 +- addons/respawn/functions/fnc_handleKilled.sqf | 2 +- addons/spectator/XEH_postInit.sqf | 2 +- addons/spectator/functions/fnc_respawnTemplate.sqf | 2 +- addons/spectator/functions/fnc_stageSpectator.sqf | 2 +- addons/switchunits/XEH_postInit.sqf | 2 +- addons/switchunits/functions/fnc_switchUnit.sqf | 4 ++-- addons/ui/XEH_clientInit.sqf | 4 ++-- addons/weather/XEH_postInit.sqf | 2 +- addons/weather/XEH_postServerInit.sqf | 2 +- 17 files changed, 20 insertions(+), 20 deletions(-) diff --git a/addons/common/RscInfoType.hpp b/addons/common/RscInfoType.hpp index b2b74e1ade..b62839f9ca 100644 --- a/addons/common/RscInfoType.hpp +++ b/addons/common/RscInfoType.hpp @@ -113,6 +113,6 @@ class RscInGameUI { }; class RscStanceInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscStanceInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Stance')])] call FUNC(localEvent);); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscStanceInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Stance')])] call CBA_fnc_localEvent;); }; }; diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 30e770c2c4..9763a1603c 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -189,10 +189,10 @@ call FUNC(checkFiles); ////////////////////////////////////////////////// -// Set up SettingsInitialized eventhandler +// Set up ace_settingsInitialized eventhandler ////////////////////////////////////////////////// -["SettingsInitialized", { +["ace_settingsInitialized", { [ GVAR(checkPBOsAction), GVAR(checkPBOsCheckAll), diff --git a/addons/common/functions/fnc_onAnswerRequest.sqf b/addons/common/functions/fnc_onAnswerRequest.sqf index e462a4bbf8..8c77719256 100644 --- a/addons/common/functions/fnc_onAnswerRequest.sqf +++ b/addons/common/functions/fnc_onAnswerRequest.sqf @@ -20,7 +20,7 @@ if (!isNil "_info") then { _info params ["_caller", "_target", "_requestID", "_requestMessage", "_callBack"]; private _replyParams = [_info, _accepted]; - [QGVAR(requestCallback), _caller, _replyParams] call FUNC(objectEvent); + [QGVAR(requestCallback), _replyParams, _caller] call CBA_fnc_targetEvent; _unit setVariable [_id, nil]; }; diff --git a/addons/common/functions/fnc_sendRequest.sqf b/addons/common/functions/fnc_sendRequest.sqf index 6df60cf24d..a0c505c575 100644 --- a/addons/common/functions/fnc_sendRequest.sqf +++ b/addons/common/functions/fnc_sendRequest.sqf @@ -20,7 +20,7 @@ params ["_caller", "_target", "_requestID", "_requestMessage", "_callBack"]; if (isPlayer _target) then { // Pass request on to target locality for player accept/decline. - [QGVAR(receiveRequest), _target, [_caller, _target, _requestID, _requestMessage, _callBack]] call FUNC(objectEvent); + [QGVAR(receiveRequest), [_caller, _target, _requestID, _requestMessage, _callBack], _target] call CBA_fnc_targetEvent; } else { // accept it, since it's an AI. [_caller, _target, true] call compile _callBack; diff --git a/addons/explosives/XEH_postInit.sqf b/addons/explosives/XEH_postInit.sqf index 25b929f052..6900953a31 100644 --- a/addons/explosives/XEH_postInit.sqf +++ b/addons/explosives/XEH_postInit.sqf @@ -17,7 +17,7 @@ //Event for setting explosive placement angle/pitch: [QGVAR(place), {_this call FUNC(setPosition)}] call CBA_fnc_addEventHandler; -[QGVAR(startDefuse), FUNC(startDefuse)] call EFUNC(common,addEventHandler); +[QGVAR(startDefuse), FUNC(startDefuse)] call CBA_fnc_addEventHandler; //When getting knocked out in medical, trigger deadman explosives: //Event is global, only run on server (ref: ace_medical_fnc_setUnconscious) diff --git a/addons/explosives/functions/fnc_startDefuse.sqf b/addons/explosives/functions/fnc_startDefuse.sqf index e9ba668e0e..8e3f071661 100644 --- a/addons/explosives/functions/fnc_startDefuse.sqf +++ b/addons/explosives/functions/fnc_startDefuse.sqf @@ -44,7 +44,7 @@ if (STANCE _unit == "Prone") then { if (ACE_player != _unit) then { // If the unit is a player, call the function on the player. if (isPlayer _unit) then { - [QGVAR(startDefuse), _unit, [_unit, _target]] call EFUNC(common,objectEvent); + [QGVAR(startDefuse), [_unit, _target], _unit] call CBA_fnc_targetEvent; } else { _unit playActionNow _actionToPlay; _unit disableAI "MOVE"; diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 31707bde53..0d9d33f22a 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -264,7 +264,7 @@ GVAR(lastHeartBeatSound) = CBA_missionTime; }, 0, []] call CBA_fnc_addPerFrameHandler; }; -["SettingsInitialized", { +["ace_settingsInitialized", { // Networked litter (need to wait for GVAR(litterCleanUpDelay) to be set) [QGVAR(createLitter), FUNC(handleCreateLitter), GVAR(litterCleanUpDelay)] call EFUNC(common,addSyncedEventHandler); diff --git a/addons/repair/functions/fnc_useItem.sqf b/addons/repair/functions/fnc_useItem.sqf index 4bae3e7918..eca88d7aca 100644 --- a/addons/repair/functions/fnc_useItem.sqf +++ b/addons/repair/functions/fnc_useItem.sqf @@ -20,7 +20,7 @@ params ["_unit", "_item"]; TRACE_2("params",_unit,_item); if ([_unit, _item] call EFUNC(common,hasItem)) exitWith { - [QGVAR(useItem), _unit, [_unit, _item]] call EFUNC(common,objectEvent); + [QGVAR(useItem), [_unit, _item], _unit] call CBA_fnc_targetEvent; [true, _unit]; }; diff --git a/addons/respawn/functions/fnc_handleKilled.sqf b/addons/respawn/functions/fnc_handleKilled.sqf index aa53c6741a..6ca816e8a4 100644 --- a/addons/respawn/functions/fnc_handleKilled.sqf +++ b/addons/respawn/functions/fnc_handleKilled.sqf @@ -25,5 +25,5 @@ if (ACE_player == _unit && {GVAR(SavePreDeathGear)}) then { }; if (missionNamespace getVariable [QGVAR(showFriendlyFireMessage), false]) then { - [QGVAR(showFriendlyFireMessageEvent), _this] call EFUNC(common,objectEvent); + [QGVAR(showFriendlyFireMessageEvent), _this] call CBA_fnc_globalEvent; }; diff --git a/addons/spectator/XEH_postInit.sqf b/addons/spectator/XEH_postInit.sqf index 8907858d3f..72c53a2af0 100644 --- a/addons/spectator/XEH_postInit.sqf +++ b/addons/spectator/XEH_postInit.sqf @@ -4,7 +4,7 @@ // Add interaction menu exception ["isNotSpectating", {!(GETVAR((_this select 0),GVAR(isStaged),false))}] call EFUNC(common,addCanInteractWithCondition); -["SettingsInitialized", { +["ace_settingsInitialized", { GVAR(availableModes) = [[0,1,2], [1,2], [0], [1], [2]] select GVAR(restrictModes); GVAR(availableVisions) = [[-2,-1,0,1], [-2,-1], [-2,0,1], [-2]] select GVAR(restrictVisions); }] call CBA_fnc_addEventHandler; diff --git a/addons/spectator/functions/fnc_respawnTemplate.sqf b/addons/spectator/functions/fnc_respawnTemplate.sqf index fde8ef05ad..0813f37755 100644 --- a/addons/spectator/functions/fnc_respawnTemplate.sqf +++ b/addons/spectator/functions/fnc_respawnTemplate.sqf @@ -23,7 +23,7 @@ private ["_vision","_pos"]; // When all are dead with respawn type "None" the mission should end if ((_respawn == 0) && {{alive _x} count allPlayers <= 0}) exitWith { - ["BIS_fnc_endMission", ["endDeath", false]] call EFUNC(common,globalEvent); + ["BIS_fnc_endMission", ["endDeath", false]] call EFUNC(common,globalEvent); //??? }; // Some environment information can be used for the initial camera attributes diff --git a/addons/spectator/functions/fnc_stageSpectator.sqf b/addons/spectator/functions/fnc_stageSpectator.sqf index 425d4a3783..8e6c32f568 100644 --- a/addons/spectator/functions/fnc_stageSpectator.sqf +++ b/addons/spectator/functions/fnc_stageSpectator.sqf @@ -27,7 +27,7 @@ params [["_unit",player,[objNull]], ["_set",true,[true]]]; if !(_set || (GETVAR(_unit,GVAR(isStaged),false))) exitWith {}; if !(local _unit) exitWith { - [QGVAR(stageSpectator), _unit, [_unit, _set]] call EFUNC(common,objectEvent); + [QGVAR(stageSpectator), [_unit, _set], _unit] call CBA_fnc_targetEvent; }; // Prevent unit falling into water diff --git a/addons/switchunits/XEH_postInit.sqf b/addons/switchunits/XEH_postInit.sqf index 9dc58e7769..dc143bc6ac 100644 --- a/addons/switchunits/XEH_postInit.sqf +++ b/addons/switchunits/XEH_postInit.sqf @@ -33,5 +33,5 @@ if (isServer) then { params ["_unit", "_player"]; _unit setVariable [QGVAR(OriginalOwner), owner _unit, true]; _unit setOwner (owner _player); - }] call EFUNC(common,addEventHandler); + }] call CBA_fnc_addEventHandler; }; diff --git a/addons/switchunits/functions/fnc_switchUnit.sqf b/addons/switchunits/functions/fnc_switchUnit.sqf index 64cc77c221..84b766de4d 100644 --- a/addons/switchunits/functions/fnc_switchUnit.sqf +++ b/addons/switchunits/functions/fnc_switchUnit.sqf @@ -40,7 +40,7 @@ if (_leave) exitWith { // should switch locality // This doesn't work anymore, because one's now able to switch to units from a different side //[_unit] joinSilent group player; -[QGVAR(switchLocality), [_unit, player]] call EFUNC(common,serverEvent); +[QGVAR(switchLocality), [_unit, player]] call CBA_fnc_serverEvent; [{ params ["_args", "_pfhId"]; @@ -72,7 +72,7 @@ if (_leave) exitWith { // set owner back to original owner private _oldOwner = _oldUnit getVariable[QGVAR(OriginalOwner), -1]; if (_oldOwner > -1) then { - ["setOwner", [_oldUnit, _oldOwner]] call EFUNC(common,serverEvent); + ["ace_setOwner", [_oldUnit, _oldOwner]] call CBA_fnc_serverEvent; }; [localize LSTRING(SwitchedUnit)] call EFUNC(common,displayTextStructured); diff --git a/addons/ui/XEH_clientInit.sqf b/addons/ui/XEH_clientInit.sqf index ad9e9b14cc..9746862eaa 100644 --- a/addons/ui/XEH_clientInit.sqf +++ b/addons/ui/XEH_clientInit.sqf @@ -20,10 +20,10 @@ if (!hasInterface) exitWith {}; // Execute local event for when it's safe to modify UI through this API // infoDisplayChanged can execute multiple times, make sure it only happens once if (!GVAR(interfaceInitialized)) then { - ["InterfaceInitialized", []] call CBA_fnc_localEvent + [QGVAR(InterfaceInitialized), []] call CBA_fnc_localEvent GVAR(interfaceInitialized) = true; }; - }] call EFUNC(common,addEventHandler); + }] call CBA_fnc_addEventHandler; // On changing settings ["ace_settingChanged", { diff --git a/addons/weather/XEH_postInit.sqf b/addons/weather/XEH_postInit.sqf index 341d4f87ed..1e4496f7ca 100644 --- a/addons/weather/XEH_postInit.sqf +++ b/addons/weather/XEH_postInit.sqf @@ -59,7 +59,7 @@ simulWeatherSync; ["ace_settingsInitialized",{ - TRACE_1("SettingsInitialized",GVAR(syncRain)); + TRACE_1("ace_settingsInitialized eh",GVAR(syncRain)); //Create a 0 sec delay PFEH to update rain every frame: if (GVAR(syncRain)) then { diff --git a/addons/weather/XEH_postServerInit.sqf b/addons/weather/XEH_postServerInit.sqf index c72dd8db4c..cd1fca2c4c 100644 --- a/addons/weather/XEH_postServerInit.sqf +++ b/addons/weather/XEH_postServerInit.sqf @@ -10,7 +10,7 @@ GVAR(rain_current_range) = -1+(random 2); call FUNC(initWind); ["ace_settingsInitialized", { - TRACE_2("SettingsInitialized",GVAR(enableServerController),GVAR(serverUpdateInterval)); + TRACE_2("ace_settingsInitialized eh",GVAR(enableServerController),GVAR(serverUpdateInterval)); if (GVAR(enableServerController)) then { [FUNC(serverController), GVAR(serverUpdateInterval)] call CBA_fnc_addPerFrameHandler; From 240cf4f0b59a3636c1aa02da4301ec5322995b69 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 2 Jun 2016 20:02:16 -0500 Subject: [PATCH 29/63] Fix merge --- addons/common/XEH_postInit.sqf | 4 ---- 1 file changed, 4 deletions(-) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 9763a1603c..e9b9bcfe25 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -140,10 +140,6 @@ if (isServer) then { // Set up remote execution ////////////////////////////////////////////////// -// ACE events -"ACEg" addPublicVariableEventHandler {_this call FUNC(_handleNetEvent)}; -"ACEc" addPublicVariableEventHandler {_this call FUNC(_handleNetEvent)}; - // Synced ACE events // Handle JIP scenario if (!isServer) then { From 59ffff406edfbeb57ba4cbfaa058cd59873e1acf Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 2 Jun 2016 20:05:03 -0500 Subject: [PATCH 30/63] Fix missing ; --- addons/ui/XEH_clientInit.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/ui/XEH_clientInit.sqf b/addons/ui/XEH_clientInit.sqf index 9746862eaa..4ef2e3394e 100644 --- a/addons/ui/XEH_clientInit.sqf +++ b/addons/ui/XEH_clientInit.sqf @@ -20,7 +20,7 @@ if (!hasInterface) exitWith {}; // Execute local event for when it's safe to modify UI through this API // infoDisplayChanged can execute multiple times, make sure it only happens once if (!GVAR(interfaceInitialized)) then { - [QGVAR(InterfaceInitialized), []] call CBA_fnc_localEvent + [QGVAR(InterfaceInitialized), []] call CBA_fnc_localEvent; GVAR(interfaceInitialized) = true; }; }] call CBA_fnc_addEventHandler; From 49156376015931d8a580f3ecc5eb5382fcab0cc0 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 2 Jun 2016 20:13:09 -0500 Subject: [PATCH 31/63] Few more in common --- addons/common/functions/fnc_checkPBOs.sqf | 2 +- addons/common/functions/fnc_serverLog.sqf | 2 +- addons/common/scripts/checkVersionNumber.sqf | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/common/functions/fnc_checkPBOs.sqf b/addons/common/functions/fnc_checkPBOs.sqf index 1e6eac7887..1328624a0c 100644 --- a/addons/common/functions/fnc_checkPBOs.sqf +++ b/addons/common/functions/fnc_checkPBOs.sqf @@ -61,7 +61,7 @@ if (!isServer) then { _error = _error + "Newer version; "; }; - //[QGVAR(systemChatGlobal), _error] call FUNC(globalEvent); + //[QGVAR(systemChatGlobal), _error] call CBA_fnc_globalEvent; ACE_LOGERROR(_error); diff --git a/addons/common/functions/fnc_serverLog.sqf b/addons/common/functions/fnc_serverLog.sqf index ca4ba69f5d..af7485c494 100644 --- a/addons/common/functions/fnc_serverLog.sqf +++ b/addons/common/functions/fnc_serverLog.sqf @@ -20,5 +20,5 @@ params [["_msg", "", [""]]]; if (isServer) then { diag_log text _msg; } else { - [QGVAR(serverLog), _this] call FUNC(serverEvent); + [QGVAR(serverLog), _this] call CBA_fnc_serverEvent; }; diff --git a/addons/common/scripts/checkVersionNumber.sqf b/addons/common/scripts/checkVersionNumber.sqf index 7b1fbca291..402e5d9f56 100644 --- a/addons/common/scripts/checkVersionNumber.sqf +++ b/addons/common/scripts/checkVersionNumber.sqf @@ -100,7 +100,7 @@ if (!isServer) then { _error = _error call _fnc_cutComma; diag_log text _error; - [QGVAR(systemChatGlobal), _error] call FUNC(globalEvent); + [QGVAR(systemChatGlobal), _error] call CBA_fnc_globalEvent; }; _missingAddonServer = false; @@ -117,7 +117,7 @@ if (!isServer) then { _error = _error call _fnc_cutComma; diag_log text _error; - [QGVAR(systemChatGlobal), _error] call FUNC(globalEvent); + [QGVAR(systemChatGlobal), _error] call CBA_fnc_globalEvent; }; _oldVersionClient = false; @@ -134,7 +134,7 @@ if (!isServer) then { _error = _error call _fnc_cutComma; diag_log text _error; - [QGVAR(systemChatGlobal), _error] call FUNC(globalEvent); + [QGVAR(systemChatGlobal), _error] call CBA_fnc_globalEvent; }; _oldVersionServer = false; @@ -151,7 +151,7 @@ if (!isServer) then { _error = _error call _fnc_cutComma; diag_log text _error; - [QGVAR(systemChatGlobal), _error] call FUNC(globalEvent); + [QGVAR(systemChatGlobal), _error] call CBA_fnc_globalEvent; }; ACE_Version_ClientErrors = [_missingAddon, _missingAddonServer, _oldVersionClient, _oldVersionServer]; From bd251a0c32b0b3b21bf0827703dfa96bf068b428 Mon Sep 17 00:00:00 2001 From: voiper Date: Fri, 3 Jun 2016 03:11:23 -0700 Subject: [PATCH 32/63] Fix thrown blink. --- addons/nightvision/functions/fnc_blending.sqf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/nightvision/functions/fnc_blending.sqf b/addons/nightvision/functions/fnc_blending.sqf index b34584a5d0..aad964a665 100644 --- a/addons/nightvision/functions/fnc_blending.sqf +++ b/addons/nightvision/functions/fnc_blending.sqf @@ -21,6 +21,9 @@ TRACE_10("firedEH:",_unit, _weapon, _muzzle, _mode, _ammo, _magazine, _projectil private "_player"; _player = ACE_player; +//exit if it's a thrown weapon +if (_weapon == "Throw") exitWith {}; + //If our vehicle didn't shoot, or we're not in NVG mode, exit if ((currentVisionMode _player) != 1) exitWith {}; From 11f1518220bc8daf0714fcd87dddfcbaac430b61 Mon Sep 17 00:00:00 2001 From: BaerMitUmlaut Date: Fri, 3 Jun 2016 17:21:47 +0200 Subject: [PATCH 33/63] Fix spottingscope interaction point, add to misc. box (#3862) --- addons/spottingscope/CfgVehicles.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/spottingscope/CfgVehicles.hpp b/addons/spottingscope/CfgVehicles.hpp index ef5f1e1c3e..f45173ae31 100644 --- a/addons/spottingscope/CfgVehicles.hpp +++ b/addons/spottingscope/CfgVehicles.hpp @@ -33,7 +33,7 @@ class CfgVehicles { class Box_NATO_Support_F; class ACE_Box_Misc: Box_NATO_Support_F { class TransportItems { - MACRO_ADDITEM(ACE_Item_SpottingScope,2); + MACRO_ADDITEM(ACE_SpottingScope,2); }; }; @@ -116,7 +116,7 @@ class CfgVehicles { EGVAR(dragging,dragDirection) = 0; class ACE_Actions: ACE_Actions{ class ACE_MainActions: ACE_MainActions { - selection = "osaveze"; + selection = "main_turret"; class ACE_Pickup { selection = ""; displayName = CSTRING(PickUp); From fa2cf5515625ba44c51d34243577280c0facc6f4 Mon Sep 17 00:00:00 2001 From: Glowbal Date: Fri, 3 Jun 2016 20:22:34 +0200 Subject: [PATCH 34/63] Fix medical related events --- addons/captives/XEH_postInit.sqf | 2 +- addons/captives/config.cpp | 2 +- addons/dragging/XEH_postInit.sqf | 2 +- addons/dragging/config.cpp | 2 +- addons/explosives/XEH_postInit.sqf | 2 +- addons/explosives/config.cpp | 2 +- addons/interact_menu/XEH_clientInit.sqf | 2 +- addons/medical/XEH_postInit.sqf | 6 ++--- addons/medical/config.cpp | 24 +++++++------------ .../functions/fnc_actionPlaceInBodyBag.sqf | 2 +- .../functions/fnc_addHeartRateAdjustment.sqf | 2 +- addons/medical/functions/fnc_addToLog.sqf | 2 +- .../medical/functions/fnc_addToTriageCard.sqf | 2 +- .../functions/fnc_setCardiacArrest.sqf | 2 +- addons/medical/functions/fnc_setDead.sqf | 2 +- .../medical/functions/fnc_setUnconscious.sqf | 2 +- .../functions/fnc_treatment_success.sqf | 2 +- .../medical/functions/fnc_unconsciousPFH.sqf | 4 ++-- addons/medical_menu/XEH_postInit.sqf | 2 +- addons/medical_menu/config.cpp | 4 ++-- .../medical_menu/functions/fnc_onMenuOpen.sqf | 2 +- addons/rearm/XEH_postInit.sqf | 2 +- addons/rearm/config.cpp | 2 +- addons/refuel/XEH_postInit.sqf | 2 +- addons/refuel/config.cpp | 2 +- addons/sandbag/XEH_postInit.sqf | 2 +- addons/sandbag/config.cpp | 2 +- addons/sitting/XEH_clientInit.sqf | 2 +- addons/sitting/config.cpp | 2 +- addons/tacticalladder/XEH_postInit.sqf | 2 +- addons/tacticalladder/config.cpp | 2 +- addons/trenches/XEH_postInit.sqf | 2 +- addons/trenches/config.cpp | 2 +- addons/tripod/XEH_postInit.sqf | 2 +- addons/tripod/config.cpp | 2 +- 35 files changed, 45 insertions(+), 55 deletions(-) diff --git a/addons/captives/XEH_postInit.sqf b/addons/captives/XEH_postInit.sqf index 8cbb93d059..ae3ab5a639 100644 --- a/addons/captives/XEH_postInit.sqf +++ b/addons/captives/XEH_postInit.sqf @@ -32,7 +32,7 @@ if (isServer) then { [QGVAR(setSurrendered), {_this call FUNC(setSurrendered)}] call CBA_fnc_addEventHandler; //Medical Integration Events -["ace_medical_onUnconscious", {_this call ACE_Captives_fnc_handleOnUnconscious}] call CBA_fnc_addEventHandler; +[QEGVAR(medical,unconscious), {_this call ACE_Captives_fnc_handleOnUnconscious}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; diff --git a/addons/captives/config.cpp b/addons/captives/config.cpp index 85378a6d4c..41adbb3228 100644 --- a/addons/captives/config.cpp +++ b/addons/captives/config.cpp @@ -22,7 +22,7 @@ class CfgPatches { class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; - medical_onUnconscious = "ace_medical_onUnconscious"; + medical_onUnconscious = QEGVAR(medical,unconscious); SetSurrendered = QGVAR(setSurrendered); SetHandcuffed = QGVAR(setHandcuffed); MoveOutCaptive = QGVAR(moveOutCaptive); diff --git a/addons/dragging/XEH_postInit.sqf b/addons/dragging/XEH_postInit.sqf index d6157edd35..fedb6fee9c 100644 --- a/addons/dragging/XEH_postInit.sqf +++ b/addons/dragging/XEH_postInit.sqf @@ -25,6 +25,6 @@ if (isNil "ACE_maxWeightCarry") then { ["ace_playerWeaponChanged", {_this call FUNC(handlePlayerWeaponChanged)}] call CBA_fnc_addEventHandler; // handle waking up dragged unit and falling unconscious while dragging -["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; //@todo Captivity? diff --git a/addons/dragging/config.cpp b/addons/dragging/config.cpp index 2b6b27b956..adb4649651 100644 --- a/addons/dragging/config.cpp +++ b/addons/dragging/config.cpp @@ -18,7 +18,7 @@ class CfgPatches { #include "CfgMovesBasic.hpp" class ACE_newEvents { - medical_onUnconscious = "ace_medical_onUnconscious"; + medical_onUnconscious = QEGVAR(medical,unconscious); playerWeaponChanged = "ace_playerWeaponChanged"; playerVehicleChanged = "ace_playerVehicleChanged"; playerChanged = "ace_playerChanged"; diff --git a/addons/explosives/XEH_postInit.sqf b/addons/explosives/XEH_postInit.sqf index 6900953a31..91887d247d 100644 --- a/addons/explosives/XEH_postInit.sqf +++ b/addons/explosives/XEH_postInit.sqf @@ -22,7 +22,7 @@ //When getting knocked out in medical, trigger deadman explosives: //Event is global, only run on server (ref: ace_medical_fnc_setUnconscious) if (isServer) then { - ["ace_medical_onUnconscious", { + [QEGVAR(medical,unconscious), { params ["_unit", "_isUnconscious"]; if (!_isUnconscious) exitWith {}; TRACE_1("Knocked Out, Doing Deadman", _unit); diff --git a/addons/explosives/config.cpp b/addons/explosives/config.cpp index 06487f002b..09a814dae6 100644 --- a/addons/explosives/config.cpp +++ b/addons/explosives/config.cpp @@ -45,7 +45,7 @@ class CfgMineTriggers { }; class ACE_newEvents { - medical_onUnconscious = "ace_medical_onUnconscious"; + medical_onUnconscious = QEGVAR(medical,unconscious); clientRequestsOrientations = QGVAR(clientRequestOrientations); serverSendsOrientations = QGVAR(serverSendOrientations); }; diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index 26617c25b9..e703653efb 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -41,7 +41,7 @@ GVAR(ParsedTextCached) = []; // Listens for the falling unconscious event, just in case the menu needs to be closed -["ace_medical_onUnconscious", { +[QEGVAR(medical,unconscious), { // If no menu is open just quit if (GVAR(openedMenuType) < 0) exitWith {}; diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 0d9d33f22a..82f367ffdd 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -6,8 +6,6 @@ GVAR(heartBeatSounds_Fast) = ["ACE_heartbeat_fast_1", "ACE_heartbeat_fast_2", "A GVAR(heartBeatSounds_Normal) = ["ACE_heartbeat_norm_1", "ACE_heartbeat_norm_2"]; GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; -["ace_medical_propagateWound", FUNC(onPropagateWound)] call CBA_fnc_addEventHandler; -["ace_medical_woundUpdateRequest", FUNC(onWoundUpdateRequest)] call CBA_fnc_addEventHandler; ["ace_interactMenuClosed", {[objNull, false] call FUNC(displayPatientInformation); }] call CBA_fnc_addEventHandler; //Treatment EventHandlers: @@ -31,9 +29,9 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; ["ace_actionPlaceInBodyBag", FUNC(actionPlaceInBodyBag)] call CBA_fnc_addEventHandler; //Handle Deleting Bodies on Server: -if (isServer) then {["ace_placedInBodyBag", FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler;}; +if (isServer) then {[QGVAR(playedInBodyBag), FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler;}; -["ace_medical_onUnconscious", { +[QGVAR(unconscious), { params ["_unit", "_status"]; if (local _unit) then { if (_status) then { diff --git a/addons/medical/config.cpp b/addons/medical/config.cpp index 533af19e8e..812e52f6dd 100644 --- a/addons/medical/config.cpp +++ b/addons/medical/config.cpp @@ -26,9 +26,14 @@ class CfgPatches { #include "UI\triagecard.hpp" class ACE_newEvents { - medical_onUnconscious = "ace_medical_onUnconscious"; - playerInventoryChanged = "ace_playerInventoryChanged"; - placedInBodyBag = "ace_placedInBodyBag"; + medical_onUnconscious = QGVAR(unconscious); + medical_treatmentSuccess = QGVAR(treatmentSuccess); + medical_onSetDead = QGVAR(killed); + Medical_onEnteredCardiacArrest = QGVAR(enteredCardiacArrest); + Medical_onItemAddedToTriageCard = QGVAR(itemAddedToTriageCard); + medical_onLogEntryAdded = QGVAR(logEntryAdded); + Medical_onHeartRateAdjustmentAdded = QGVAR(addedHeartRateAdjustment); + placedInBodyBag = QGVAR(playedInBodyBag); actionPlaceInBodyBag = "ace_actionPlaceInBodyBag"; treatmentTourniquetLocal = "ace_treatmentTourniquetLocal"; treatmentIVLocal = "ace_treatmentIVLocal"; @@ -47,18 +52,5 @@ class ACE_newEvents { addToInjuredCollection = "ace_addToInjuredCollection"; actionCheckPulseLocal = "ace_actionCheckPulseLocal"; actionCheckBloodPressureLocal = "ace_actionCheckBloodPressureLocal"; - interactMenuClosed = "ace_interactMenuClosed"; - medical_woundUpdateRequest = "ace_medical_woundUpdateRequest"; - medical_propagateWound = "ace_medical_propagateWound"; - useItem = "ace_useItem"; - medical_treatmentSuccess = "ace_medical_treatmentSuccess"; - displayTextStructured = "ace_displayTextStructured"; - medical_onSetDead = "ace_medical_onSetDead"; - Medical_onEnteredCardiacArrest = "ace_medical_onEnteredCardiacArrest"; - hideObjectGlobal = "ace_hideObjectGlobal"; addVitalLoop = "ace_addVitalLoop"; - Medical_onItemAddedToTriageCard = "ace_medical_onItemAddedToTriageCard"; - medical_onLogEntryAdded = "ace_medical_onLogEntryAdded"; - Medical_onHeartRateAdjustmentAdded = "ace_medical_onHeartRateAdjustmentAdded"; - unloadPersonEvent = "ace_unloadPersonEvent"; }; diff --git a/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf b/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf index 9d87b6ea50..c8f6de3628 100644 --- a/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf +++ b/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf @@ -47,6 +47,6 @@ private _bodyBag = createVehicle ["ACE_bodyBagObject", _position, [], 0, ""]; _bodyBag setPosASL _position; _bodyBag setDir _direction; -["ace_placedInBodyBag", [_target, _bodyBag]] call CBA_fnc_globalEvent; //hide and delete body on server +[QGVAR(playedInBodyBag), [_target, _bodyBag]] call CBA_fnc_globalEvent; //hide and delete body on server _bodyBag diff --git a/addons/medical/functions/fnc_addHeartRateAdjustment.sqf b/addons/medical/functions/fnc_addHeartRateAdjustment.sqf index 2665a1cb7c..1b214ec99a 100644 --- a/addons/medical/functions/fnc_addHeartRateAdjustment.sqf +++ b/addons/medical/functions/fnc_addHeartRateAdjustment.sqf @@ -22,4 +22,4 @@ params [["_unit", objNull, [objNull]], ["_value", 0, [0]], ["_time", 1, [0]], [" _adjustment = _unit getVariable [QGVAR(heartRateAdjustments), []]; _adjustment pushBack [_value, _time, _callBack]; _unit setVariable [QGVAR(heartRateAdjustments), _adjustment ]; -["ace_medical_onHeartRateAdjustmentAdded", [_unit, _value, _time]] call CBA_fnc_localEvent; +[QGVAR(addedHeartRateAdjustment), [_unit, _value, _time]] call CBA_fnc_localEvent; diff --git a/addons/medical/functions/fnc_addToLog.sqf b/addons/medical/functions/fnc_addToLog.sqf index d01a99202e..ab0d993c56 100644 --- a/addons/medical/functions/fnc_addToLog.sqf +++ b/addons/medical/functions/fnc_addToLog.sqf @@ -43,7 +43,7 @@ if (count _log >= 8) then { _log pushBack [_message, _moment, _type, _arguments]; _unit setVariable [_logVarName, _log, true]; -["ace_medical_onLogEntryAdded", [_unit, _type, _message, _arguments]] call CBA_fnc_localEvent; +[QGVAR(logEntryAdded), [_unit, _type, _message, _arguments]] call CBA_fnc_localEvent; _logs = _unit getVariable [QGVAR(allLogs), []]; if !(_logVarName in _logs) then { diff --git a/addons/medical/functions/fnc_addToTriageCard.sqf b/addons/medical/functions/fnc_addToTriageCard.sqf index 0db54cb692..cae1dd35cf 100644 --- a/addons/medical/functions/fnc_addToTriageCard.sqf +++ b/addons/medical/functions/fnc_addToTriageCard.sqf @@ -41,4 +41,4 @@ if (!_inList) then { _log pushBack [_newItem, 1, CBA_missionTime]; }; _unit setVariable [QGVAR(triageCard), _log, true]; -["ace_medical_onItemAddedToTriageCard", [_unit, _newItem, _amount]] call CBA_fnc_localEvent; +[QGVAR(itemAddedToTriageCard), [_unit, _newItem, _amount]] call CBA_fnc_localEvent; diff --git a/addons/medical/functions/fnc_setCardiacArrest.sqf b/addons/medical/functions/fnc_setCardiacArrest.sqf index fe2a0b81a0..9522eeaec4 100644 --- a/addons/medical/functions/fnc_setCardiacArrest.sqf +++ b/addons/medical/functions/fnc_setCardiacArrest.sqf @@ -21,7 +21,7 @@ if (_unit getVariable [QGVAR(inCardiacArrest),false]) exitWith {}; _unit setVariable [QGVAR(inCardiacArrest), true,true]; _unit setVariable [QGVAR(heartRate), 0]; -["ace_medical_onEnteredCardiacArrest", [_unit]] call CBA_fnc_localEvent; +[QGVAR(enteredCardiacArrest), [_unit]] call CBA_fnc_localEvent; [_unit, true] call FUNC(setUnconscious); _timeInCardiacArrest = 120 + round(random(600)); diff --git a/addons/medical/functions/fnc_setDead.sqf b/addons/medical/functions/fnc_setDead.sqf index 422850f1b3..6d51ec2bac 100644 --- a/addons/medical/functions/fnc_setDead.sqf +++ b/addons/medical/functions/fnc_setDead.sqf @@ -51,7 +51,7 @@ if (isPLayer _unit) then { _unit setVariable ["isDeadPlayer", true, true]; }; -["ace_medical_onSetDead", [_unit]] call CBA_fnc_localEvent; +[QGVAR(killed), [_unit]] call CBA_fnc_localEvent; //Delay a frame before killing the unit via scripted damage //to avoid triggering the "Killed" Event twice (and having the wrong killer) diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index 5de1aa1a0c..adee89e4fe 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -122,4 +122,4 @@ _startingTime = CBA_missionTime; // unconscious can't talk [_unit, "isUnconscious"] call EFUNC(common,muteUnit); -["ace_medical_onUnconscious", [_unit, true]] call CBA_fnc_globalEvent; +[QGVAR(unconscious), [_unit, true]] call CBA_fnc_globalEvent; diff --git a/addons/medical/functions/fnc_treatment_success.sqf b/addons/medical/functions/fnc_treatment_success.sqf index 0a857c1f18..04fec2b5bd 100644 --- a/addons/medical/functions/fnc_treatment_success.sqf +++ b/addons/medical/functions/fnc_treatment_success.sqf @@ -95,4 +95,4 @@ if (!(_target getVariable [QGVAR(addedToUnitLoop),false])) then { [_target] call FUNC(addVitalLoop); }; -["ace_medical_treatmentSuccess", [_caller, _target, _selectionName, _className]] call CBA_fnc_localEvent; +[QGVAR(treatmentSuccess), [_caller, _target, _selectionName, _className]] call CBA_fnc_localEvent; diff --git a/addons/medical/functions/fnc_unconsciousPFH.sqf b/addons/medical/functions/fnc_unconsciousPFH.sqf index 34d2ffd321..0e80d49457 100644 --- a/addons/medical/functions/fnc_unconsciousPFH.sqf +++ b/addons/medical/functions/fnc_unconsciousPFH.sqf @@ -39,7 +39,7 @@ if (!alive _unit) exitWith { _unit setUnconscious false; [_unit, "isUnconscious"] call EFUNC(common,unmuteUnit); - ["ace_medical_onUnconscious", [_unit, false]] call CBA_fnc_globalEvent; + [QGVAR(unconscious), [_unit, false]] call CBA_fnc_globalEvent; TRACE_3("ACE_DEBUG_Unconscious_Exit",_unit, (!alive _unit) , QGVAR(unconscious)); @@ -96,7 +96,7 @@ if !(_unit getVariable ["ACE_isUnconscious",false]) exitWith { }; _unit setVariable [QGVAR(vehicleAwakeAnim), nil]; - ["ace_medical_onUnconscious", [_unit, false]] call CBA_fnc_globalEvent; + [QGVAR(unconscious), [_unit, false]] call CBA_fnc_globalEvent; // EXIT PFH [_idPFH] call CBA_fnc_removePerFrameHandler; }; diff --git a/addons/medical_menu/XEH_postInit.sqf b/addons/medical_menu/XEH_postInit.sqf index 746521fabf..046abfdaad 100644 --- a/addons/medical_menu/XEH_postInit.sqf +++ b/addons/medical_menu/XEH_postInit.sqf @@ -6,7 +6,7 @@ GVAR(MenuPFHID) = -1; GVAR(lastOpenedOn) = -1; GVAR(pendingReopen) = false; -["ace_medical_treatmentSuccess", { +[QEGVAR(medical,treatmentSuccess), { if (GVAR(openAfterTreatment) && {GVAR(pendingReopen)}) then { GVAR(pendingReopen) = false; diff --git a/addons/medical_menu/config.cpp b/addons/medical_menu/config.cpp index ec1840c696..a33dbe9235 100644 --- a/addons/medical_menu/config.cpp +++ b/addons/medical_menu/config.cpp @@ -19,7 +19,7 @@ class CfgPatches { #include "CfgVehicles.hpp" class ACE_newEvents { - medical_treatmentSuccess = "ace_medical_treatmentSuccess"; - Medical_onMenuOpen = "ace_medical_onMenuOpen"; + medical_treatmentSuccess = QEGVAR(medical,treatmentSuccess); + Medical_onMenuOpen = QGVAR(opened); displayTextStructured = "ace_displayTextStructured"; }; diff --git a/addons/medical_menu/functions/fnc_onMenuOpen.sqf b/addons/medical_menu/functions/fnc_onMenuOpen.sqf index 33e934afe5..ed33b2d321 100644 --- a/addons/medical_menu/functions/fnc_onMenuOpen.sqf +++ b/addons/medical_menu/functions/fnc_onMenuOpen.sqf @@ -87,4 +87,4 @@ GVAR(MenuPFHID) = [{ }, 0, [_display]] call CBA_fnc_addPerFrameHandler; -["ace_medical_onMenuOpen", [ACE_player, _target]] call CBA_fnc_localEvent; +[QGVAR(opened), [ACE_player, _target]] call CBA_fnc_localEvent; diff --git a/addons/rearm/XEH_postInit.sqf b/addons/rearm/XEH_postInit.sqf index d49af32eab..7c89e90ac1 100644 --- a/addons/rearm/XEH_postInit.sqf +++ b/addons/rearm/XEH_postInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; ["ace_playerVehicleChanged", {params ["_unit"]; [_unit] call FUNC(dropAmmo)}] call CBA_fnc_addEventHandler; if (isServer) then { diff --git a/addons/rearm/config.cpp b/addons/rearm/config.cpp index d057ba2acf..0d4ec30baa 100644 --- a/addons/rearm/config.cpp +++ b/addons/rearm/config.cpp @@ -22,5 +22,5 @@ class CfgPatches { class ACE_newEvents { playerVehicleChanged = "ace_playerVehicleChanged"; - medical_onUnconscious = "ace_medical_onUnconscious"; + medical_onUnconscious = QEGVAR(medical,unconscious); }; diff --git a/addons/refuel/XEH_postInit.sqf b/addons/refuel/XEH_postInit.sqf index b55575e72c..866f50dbd8 100644 --- a/addons/refuel/XEH_postInit.sqf +++ b/addons/refuel/XEH_postInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; if (isServer) then { addMissionEventHandler ["HandleDisconnect", {_this call FUNC(handleDisconnect)}]; diff --git a/addons/refuel/config.cpp b/addons/refuel/config.cpp index 8e3279c3fe..1517ab7006 100644 --- a/addons/refuel/config.cpp +++ b/addons/refuel/config.cpp @@ -18,7 +18,7 @@ class CfgPatches { #include "CfgVehicles.hpp" class ACE_newEvents { - medical_onUnconscious = "ace_medical_onUnconscious"; + medical_onUnconscious = QEGVAR(medical,unconscious); setFuel = "ace_setFuel"; setVectorDirAndUp = "ace_setVectorDirAndUp"; displayTextStructured = "ace_displayTextStructured"; diff --git a/addons/sandbag/XEH_postInit.sqf b/addons/sandbag/XEH_postInit.sqf index 74a8e67b74..e65928c48e 100644 --- a/addons/sandbag/XEH_postInit.sqf +++ b/addons/sandbag/XEH_postInit.sqf @@ -20,6 +20,6 @@ GVAR(deployDirection) = 0; ["ace_playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle waking up dragged unit and falling unconscious while dragging -["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; //@todo Captivity? diff --git a/addons/sandbag/config.cpp b/addons/sandbag/config.cpp index 0c4033e281..6ad3e212d8 100644 --- a/addons/sandbag/config.cpp +++ b/addons/sandbag/config.cpp @@ -18,7 +18,7 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - medical_onUnconscious = "ace_medical_onUnconscious"; + medical_onUnconscious = QEGVAR(medical,unconscious); playerVehicleChanged = "ace_playerVehicleChanged"; playerInventoryChanged = "ace_playerInventoryChanged"; playerChanged = "ace_playerChanged"; diff --git a/addons/sitting/XEH_clientInit.sqf b/addons/sitting/XEH_clientInit.sqf index 41ac0d258b..58a926022b 100644 --- a/addons/sitting/XEH_clientInit.sqf +++ b/addons/sitting/XEH_clientInit.sqf @@ -12,6 +12,6 @@ if (!hasInterface) exitWith {}; ["isNotSitting", {isNil {(_this select 0) getVariable QGVAR(isSitting)}}] call EFUNC(common,addCanInteractWithCondition); // Handle interruptions - ["ace_medical_onUnconscious", {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; + [QEGVAR(medical,unconscious), {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; [QEGVAR(captives,setHandcuffed), {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler; diff --git a/addons/sitting/config.cpp b/addons/sitting/config.cpp index 1fd81ad5d1..26d013179e 100644 --- a/addons/sitting/config.cpp +++ b/addons/sitting/config.cpp @@ -21,5 +21,5 @@ class CfgPatches { class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; SetHandcuffed = QEGVAR(captives,setHandcuffed); - medical_onUnconscious = "ace_medical_onUnconscious"; + medical_onUnconscious = QEGVAR(medical,unconscious); }; \ No newline at end of file diff --git a/addons/tacticalladder/XEH_postInit.sqf b/addons/tacticalladder/XEH_postInit.sqf index 3820188d52..902d73f9ab 100644 --- a/addons/tacticalladder/XEH_postInit.sqf +++ b/addons/tacticalladder/XEH_postInit.sqf @@ -21,6 +21,6 @@ GVAR(currentAngle) = 0; ["ace_playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle falling unconscious -["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; // @todo captivity? diff --git a/addons/tacticalladder/config.cpp b/addons/tacticalladder/config.cpp index ed0f933c9b..38f47b40ea 100644 --- a/addons/tacticalladder/config.cpp +++ b/addons/tacticalladder/config.cpp @@ -18,7 +18,7 @@ class CfgPatches { class ACE_newEvents { interactMenuOpened = "ace_interactMenuOpened"; - medical_onUnconscious = "ace_medical_onUnconscious"; + medical_onUnconscious = QEGVAR(medical,unconscious); playerVehicleChanged = "ace_playerVehicleChanged"; playerChanged = "ace_playerChanged"; }; diff --git a/addons/trenches/XEH_postInit.sqf b/addons/trenches/XEH_postInit.sqf index 6fb3c9b33f..02de7f02c1 100644 --- a/addons/trenches/XEH_postInit.sqf +++ b/addons/trenches/XEH_postInit.sqf @@ -21,6 +21,6 @@ GVAR(digDirection) = 0; ["ace_playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle waking up dragged unit and falling unconscious while dragging -["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; //@todo Captivity? diff --git a/addons/trenches/config.cpp b/addons/trenches/config.cpp index f173d16628..0486a71509 100644 --- a/addons/trenches/config.cpp +++ b/addons/trenches/config.cpp @@ -18,7 +18,7 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - medical_onUnconscious = "ace_medical_onUnconscious"; + medical_onUnconscious = QEGVAR(medical,unconscious); playerVehicleChanged = "ace_playerVehicleChanged"; playerInventoryChanged = "ace_playerInventoryChanged"; playerChanged = "ace_playerChanged"; diff --git a/addons/tripod/XEH_postInit.sqf b/addons/tripod/XEH_postInit.sqf index 577f0c5037..57f1fd08b0 100644 --- a/addons/tripod/XEH_postInit.sqf +++ b/addons/tripod/XEH_postInit.sqf @@ -14,6 +14,6 @@ GVAR(height) = 0; ["ace_playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle falling unconscious -["ace_medical_onUnconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; // @todo captivity? diff --git a/addons/tripod/config.cpp b/addons/tripod/config.cpp index a4c205d7a9..bd2a0d0505 100644 --- a/addons/tripod/config.cpp +++ b/addons/tripod/config.cpp @@ -18,7 +18,7 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - medical_onUnconscious = "ace_medical_onUnconscious"; + medical_onUnconscious = QEGVAR(medical,unconscious); playerVehicleChanged = "ace_playerVehicleChanged"; playerChanged = "ace_playerChanged"; interactMenuOpened = "ace_interactMenuOpened"; From 694503c01b8665389391c7ea83d8a20d49e91bcf Mon Sep 17 00:00:00 2001 From: Glowbal Date: Fri, 3 Jun 2016 20:57:21 +0200 Subject: [PATCH 35/63] Fix medical events --- addons/captives/XEH_postInit.sqf | 2 +- addons/captives/config.cpp | 2 +- addons/common/XEH_postInit.sqf | 2 +- addons/dragging/XEH_postInit.sqf | 2 +- addons/dragging/config.cpp | 2 +- addons/explosives/XEH_postInit.sqf | 2 +- addons/explosives/config.cpp | 2 +- addons/interact_menu/XEH_clientInit.sqf | 2 +- addons/medical/XEH_postInit.sqf | 40 +++++++------- addons/medical/XEH_respawn.sqf | 2 +- addons/medical/config.cpp | 53 +++++++++---------- .../fnc_actionCheckBloodPressure.sqf | 4 +- .../functions/fnc_actionCheckPulse.sqf | 4 +- .../functions/fnc_actionPlaceInBodyBag.sqf | 4 +- .../functions/fnc_actionRemoveTourniquet.sqf | 2 +- .../functions/fnc_addHeartRateAdjustment.sqf | 2 +- addons/medical/functions/fnc_addToLog.sqf | 4 +- .../medical/functions/fnc_addToTriageCard.sqf | 4 +- addons/medical/functions/fnc_addVitalLoop.sqf | 2 +- .../functions/fnc_setCardiacArrest.sqf | 2 +- addons/medical/functions/fnc_setDead.sqf | 4 +- .../functions/fnc_setHitPointDamage.sqf | 2 +- .../medical/functions/fnc_setUnconscious.sqf | 8 +-- .../functions/fnc_treatmentAdvanced_CPR.sqf | 4 +- .../fnc_treatmentAdvanced_bandage.sqf | 4 +- .../fnc_treatmentAdvanced_fullHeal.sqf | 4 +- .../fnc_treatmentAdvanced_medication.sqf | 2 +- .../functions/fnc_treatmentBasic_bandage.sqf | 4 +- .../functions/fnc_treatmentBasic_bloodbag.sqf | 4 +- .../functions/fnc_treatmentBasic_morphine.sqf | 4 +- addons/medical/functions/fnc_treatmentIV.sqf | 4 +- .../functions/fnc_treatmentTourniquet.sqf | 4 +- .../functions/fnc_treatment_success.sqf | 2 +- .../medical/functions/fnc_unconsciousPFH.sqf | 10 ++-- addons/medical_menu/XEH_postInit.sqf | 5 +- addons/medical_menu/config.cpp | 4 +- .../medical_menu/functions/fnc_onMenuOpen.sqf | 2 +- addons/rearm/XEH_postInit.sqf | 2 +- addons/rearm/config.cpp | 2 +- addons/refuel/XEH_postInit.sqf | 2 +- addons/refuel/config.cpp | 2 +- addons/sandbag/XEH_postInit.sqf | 2 +- addons/sandbag/config.cpp | 2 +- addons/sitting/XEH_clientInit.sqf | 2 +- addons/sitting/config.cpp | 2 +- addons/tacticalladder/XEH_postInit.sqf | 2 +- addons/tacticalladder/config.cpp | 2 +- addons/trenches/XEH_postInit.sqf | 2 +- addons/trenches/config.cpp | 2 +- addons/tripod/XEH_postInit.sqf | 2 +- addons/tripod/config.cpp | 2 +- 51 files changed, 116 insertions(+), 122 deletions(-) diff --git a/addons/captives/XEH_postInit.sqf b/addons/captives/XEH_postInit.sqf index ae3ab5a639..9709508fa2 100644 --- a/addons/captives/XEH_postInit.sqf +++ b/addons/captives/XEH_postInit.sqf @@ -32,7 +32,7 @@ if (isServer) then { [QGVAR(setSurrendered), {_this call FUNC(setSurrendered)}] call CBA_fnc_addEventHandler; //Medical Integration Events -[QEGVAR(medical,unconscious), {_this call ACE_Captives_fnc_handleOnUnconscious}] call CBA_fnc_addEventHandler; +["ace_unconscious", {_this call ACE_Captives_fnc_handleOnUnconscious}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; diff --git a/addons/captives/config.cpp b/addons/captives/config.cpp index 41adbb3228..eb8066ed82 100644 --- a/addons/captives/config.cpp +++ b/addons/captives/config.cpp @@ -22,7 +22,7 @@ class CfgPatches { class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; - medical_onUnconscious = QEGVAR(medical,unconscious); + medical_onUnconscious = "ace_unconscious"; SetSurrendered = QGVAR(setSurrendered); SetHandcuffed = QGVAR(setHandcuffed); MoveOutCaptive = QGVAR(moveOutCaptive); diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index e9b9bcfe25..a223ec1f9e 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -21,7 +21,7 @@ ["ace_setStatusEffect", {_this call FUNC(statusEffect_set)}] call CBA_fnc_addEventHandler; ["forceWalk", false, ["ACE_SwitchUnits", "ACE_Attach", "ACE_dragging", "ACE_Explosives", "ACE_Ladder", "ACE_Sandbag", "ACE_refuel", "ACE_rearm", "ACE_dragging"]] call FUNC(statusEffect_addType); ["blockSprint", false, []] call FUNC(statusEffect_addType); -["setCaptive", true, [QEGVAR(captives,Handcuffed), QEGVAR(captives,Surrendered), QEGVAR(medical,unconscious)]] call FUNC(statusEffect_addType); +["setCaptive", true, [QEGVAR(captives,Handcuffed), QEGVAR(captives,Surrendered), "ace_unconscious"]] call FUNC(statusEffect_addType); ["blockDamage", false, ["fixCollision"]] call FUNC(statusEffect_addType); ["blockEngine", false, ["ACE_Refuel"]] call FUNC(statusEffect_addType); diff --git a/addons/dragging/XEH_postInit.sqf b/addons/dragging/XEH_postInit.sqf index fedb6fee9c..c9a1fbea1b 100644 --- a/addons/dragging/XEH_postInit.sqf +++ b/addons/dragging/XEH_postInit.sqf @@ -25,6 +25,6 @@ if (isNil "ACE_maxWeightCarry") then { ["ace_playerWeaponChanged", {_this call FUNC(handlePlayerWeaponChanged)}] call CBA_fnc_addEventHandler; // handle waking up dragged unit and falling unconscious while dragging -[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_unconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; //@todo Captivity? diff --git a/addons/dragging/config.cpp b/addons/dragging/config.cpp index adb4649651..dfc8a7fbf6 100644 --- a/addons/dragging/config.cpp +++ b/addons/dragging/config.cpp @@ -18,7 +18,7 @@ class CfgPatches { #include "CfgMovesBasic.hpp" class ACE_newEvents { - medical_onUnconscious = QEGVAR(medical,unconscious); + medical_onUnconscious = "ace_unconscious"; playerWeaponChanged = "ace_playerWeaponChanged"; playerVehicleChanged = "ace_playerVehicleChanged"; playerChanged = "ace_playerChanged"; diff --git a/addons/explosives/XEH_postInit.sqf b/addons/explosives/XEH_postInit.sqf index 91887d247d..365e772023 100644 --- a/addons/explosives/XEH_postInit.sqf +++ b/addons/explosives/XEH_postInit.sqf @@ -22,7 +22,7 @@ //When getting knocked out in medical, trigger deadman explosives: //Event is global, only run on server (ref: ace_medical_fnc_setUnconscious) if (isServer) then { - [QEGVAR(medical,unconscious), { + ["ace_unconscious", { params ["_unit", "_isUnconscious"]; if (!_isUnconscious) exitWith {}; TRACE_1("Knocked Out, Doing Deadman", _unit); diff --git a/addons/explosives/config.cpp b/addons/explosives/config.cpp index 09a814dae6..379cf1138a 100644 --- a/addons/explosives/config.cpp +++ b/addons/explosives/config.cpp @@ -45,7 +45,7 @@ class CfgMineTriggers { }; class ACE_newEvents { - medical_onUnconscious = QEGVAR(medical,unconscious); + medical_onUnconscious = "ace_unconscious"; clientRequestsOrientations = QGVAR(clientRequestOrientations); serverSendsOrientations = QGVAR(serverSendOrientations); }; diff --git a/addons/interact_menu/XEH_clientInit.sqf b/addons/interact_menu/XEH_clientInit.sqf index e703653efb..051e41edba 100644 --- a/addons/interact_menu/XEH_clientInit.sqf +++ b/addons/interact_menu/XEH_clientInit.sqf @@ -41,7 +41,7 @@ GVAR(ParsedTextCached) = []; // Listens for the falling unconscious event, just in case the menu needs to be closed -[QEGVAR(medical,unconscious), { +["ace_unconscious", { // If no menu is open just quit if (GVAR(openedMenuType) < 0) exitWith {}; diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 82f367ffdd..404c6746f1 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -9,29 +9,29 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; ["ace_interactMenuClosed", {[objNull, false] call FUNC(displayPatientInformation); }] call CBA_fnc_addEventHandler; //Treatment EventHandlers: -["ace_actionCheckBloodPressureLocal", DFUNC(actionCheckBloodPressureLocal)] call CBA_fnc_addEventHandler; -["ace_actionCheckPulseLocal", DFUNC(actionCheckPulseLocal)] call CBA_fnc_addEventHandler; -["ace_addToInjuredCollection", DFUNC(addToInjuredCollection)] call CBA_fnc_addEventHandler; -["ace_addToMedicalLog", DFUNC(addToLog)] call CBA_fnc_addEventHandler; -["ace_addToTriageCard", DFUNC(addToTriageCard)] call CBA_fnc_addEventHandler; -["ace_setDead", DFUNC(setDead)] call CBA_fnc_addEventHandler; -["ace_setHitPointDamage", DFUNC(setHitPointDamage)] call CBA_fnc_addEventHandler; -["ace_setUnconscious", DFUNC(setUnconscious)] call CBA_fnc_addEventHandler; -["ace_treatmentAdvanced_bandageLocal", DFUNC(treatmentAdvanced_bandageLocal)] call CBA_fnc_addEventHandler; -["ace_treatmentAdvanced_CPRLocal", DFUNC(treatmentAdvanced_CPRLocal)] call CBA_fnc_addEventHandler; -["ace_treatmentAdvanced_fullHealLocal", DFUNC(treatmentAdvanced_fullHealLocal)] call CBA_fnc_addEventHandler; -["ace_treatmentAdvanced_medicationLocal", DFUNC(treatmentAdvanced_medicationLocal)] call CBA_fnc_addEventHandler; -["ace_treatmentBasic_bandageLocal", DFUNC(treatmentBasic_bandageLocal)] call CBA_fnc_addEventHandler; -["ace_treatmentBasic_bloodbagLocal", DFUNC(treatmentBasic_bloodbagLocal)] call CBA_fnc_addEventHandler; -["ace_treatmentBasic_morphineLocal", DFUNC(treatmentBasic_morphineLocal)] call CBA_fnc_addEventHandler; -["ace_treatmentIVLocal", DFUNC(treatmentIVLocal)] call CBA_fnc_addEventHandler; -["ace_treatmentTourniquetLocal", DFUNC(treatmentTourniquetLocal)] call CBA_fnc_addEventHandler; -["ace_actionPlaceInBodyBag", FUNC(actionPlaceInBodyBag)] call CBA_fnc_addEventHandler; +[QGVAR(actionCheckBloodPressureLocal), DFUNC(actionCheckBloodPressureLocal)] call CBA_fnc_addEventHandler; +[QGVAR(actionCheckPulseLocal), DFUNC(actionCheckPulseLocal)] call CBA_fnc_addEventHandler; +[QGVAR(addVitalLoop), DFUNC(addVitalLoop)] call CBA_fnc_addEventHandler; +[QGVAR(addToMedicalLog), DFUNC(addToLog)] call CBA_fnc_addEventHandler; +[QGVAR(addToTriageCard), DFUNC(addToTriageCard)] call CBA_fnc_addEventHandler; +[QGVAR(setDead), DFUNC(setDead)] call CBA_fnc_addEventHandler; +[QGVAR(setHitPointDamage), DFUNC(setHitPointDamage)] call CBA_fnc_addEventHandler; +[QGVAR(setUnconscious), DFUNC(setUnconscious)] call CBA_fnc_addEventHandler; +[QGVAR(treatmentAdvanced_bandageLocal), DFUNC(treatmentAdvanced_bandageLocal)] call CBA_fnc_addEventHandler; +[QGVAR(treatmentAdvanced_CPRLocal), DFUNC(treatmentAdvanced_CPRLocal)] call CBA_fnc_addEventHandler; +[QGVAR(treatmentAdvanced_fullHealLocal), DFUNC(treatmentAdvanced_fullHealLocal)] call CBA_fnc_addEventHandler; +[QGVAR(treatmentAdvanced_medicationLocal), DFUNC(treatmentAdvanced_medicationLocal)] call CBA_fnc_addEventHandler; +[QGVAR(treatmentBasic_bandageLocal), DFUNC(treatmentBasic_bandageLocal)] call CBA_fnc_addEventHandler; +[QGVAR(treatmentBasic_bloodbagLocal), DFUNC(treatmentBasic_bloodbagLocal)] call CBA_fnc_addEventHandler; +[QGVAR(treatmentBasic_morphineLocal), DFUNC(treatmentBasic_morphineLocal)] call CBA_fnc_addEventHandler; +[QGVAR(treatmentIVLocal), DFUNC(treatmentIVLocal)] call CBA_fnc_addEventHandler; +[QGVAR(treatmentTourniquetLocal), DFUNC(treatmentTourniquetLocal)] call CBA_fnc_addEventHandler; +[QGVAR(actionPlaceInBodyBag), FUNC(actionPlaceInBodyBag)] call CBA_fnc_addEventHandler; //Handle Deleting Bodies on Server: -if (isServer) then {[QGVAR(playedInBodyBag), FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler;}; +if (isServer) then {["ace_playedInBodyBag", FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler;}; -[QGVAR(unconscious), { +["ace_unconscious", { params ["_unit", "_status"]; if (local _unit) then { if (_status) then { diff --git a/addons/medical/XEH_respawn.sqf b/addons/medical/XEH_respawn.sqf index 7d48672972..1d1c34d6c7 100644 --- a/addons/medical/XEH_respawn.sqf +++ b/addons/medical/XEH_respawn.sqf @@ -7,7 +7,7 @@ params ["_unit"]; // Reset captive status for respawning unit if (!(_unit getVariable ["ACE_isUnconscious", false])) then { - [_unit, "setCaptive", QGVAR(unconscious), false] call EFUNC(common,statusEffect_set); + [_unit, "setCaptive", "ace_unconscious", false] call EFUNC(common,statusEffect_set); }; // Remove maximum unconsciousness time handler diff --git a/addons/medical/config.cpp b/addons/medical/config.cpp index 812e52f6dd..bda657960b 100644 --- a/addons/medical/config.cpp +++ b/addons/medical/config.cpp @@ -26,31 +26,30 @@ class CfgPatches { #include "UI\triagecard.hpp" class ACE_newEvents { - medical_onUnconscious = QGVAR(unconscious); - medical_treatmentSuccess = QGVAR(treatmentSuccess); - medical_onSetDead = QGVAR(killed); - Medical_onEnteredCardiacArrest = QGVAR(enteredCardiacArrest); - Medical_onItemAddedToTriageCard = QGVAR(itemAddedToTriageCard); - medical_onLogEntryAdded = QGVAR(logEntryAdded); - Medical_onHeartRateAdjustmentAdded = QGVAR(addedHeartRateAdjustment); - placedInBodyBag = QGVAR(playedInBodyBag); - actionPlaceInBodyBag = "ace_actionPlaceInBodyBag"; - treatmentTourniquetLocal = "ace_treatmentTourniquetLocal"; - treatmentIVLocal = "ace_treatmentIVLocal"; - treatmentBasic_morphineLocal = "ace_treatmentBasic_morphineLocal"; - treatmentBasic_bloodbagLocal = "ace_treatmentBasic_bloodbagLocal"; - treatmentBasic_bandageLocal = "ace_treatmentBasic_bandageLocal"; - treatmentAdvanced_medicationLocal = "ace_treatmentAdvanced_medicationLocal"; - treatmentAdvanced_fullHealLocal = "ace_treatmentAdvanced_fullHealLocal"; - treatmentAdvanced_CPRLocal = "ace_treatmentAdvanced_CPRLocal"; - treatmentAdvanced_bandageLocal = "ace_treatmentAdvanced_bandageLocal"; - setUnconscious = "ace_setUnconscious"; - setHitPointDamage = "ace_setHitPointDamage"; - setDead = "ace_setDead"; - addToTriageCard = "ace_addToTriageCard"; - addToMedicalLog = "ace_addToMedicalLog"; - addToInjuredCollection = "ace_addToInjuredCollection"; - actionCheckPulseLocal = "ace_actionCheckPulseLocal"; - actionCheckBloodPressureLocal = "ace_actionCheckBloodPressureLocal"; - addVitalLoop = "ace_addVitalLoop"; + medical_onUnconscious = "ace_unconscious"; + medical_treatmentSuccess = "ace_treatmentSuccess"; + medical_onSetDead = "ace_killed"; + Medical_onEnteredCardiacArrest = "ace_enteredCardiacArrest"; + Medical_onItemAddedToTriageCard = "ace_itemAddedToTriageCard"; + medical_onLogEntryAdded = "ace_medicalLogEntryAdded"; + Medical_onHeartRateAdjustmentAdded = "ace_addedHeartRateAdjustment"; + placedInBodyBag = "ace_playedInBodyBag"; + actionPlaceInBodyBag = QGVAR(actionPlaceInBodyBag); + treatmentTourniquetLocal = QGVAR(treatmentTourniquetLocal); + treatmentIVLocal = QGVAR(treatmentIVLocal); + treatmentBasic_morphineLocal = QGVAR(treatmentBasic_morphineLocal); + treatmentBasic_bloodbagLocal = QGVAR(treatmentBasic_bloodbagLocal); + treatmentBasic_bandageLocal = QGVAR(treatmentBasic_bandageLocal); + treatmentAdvanced_medicationLocal = QGVAR(treatmentAdvanced_medicationLocal); + treatmentAdvanced_fullHealLocal = QGVAR(treatmentAdvanced_fullHealLocal); + treatmentAdvanced_CPRLocal = QGVAR(treatmentAdvanced_CPRLocal); + treatmentAdvanced_bandageLocal = QGVAR(treatmentAdvanced_bandageLocal); + setUnconscious = QGVAR(setUnconscious); + setHitPointDamage = QGVAR(setHitPointDamage); + setDead = QGVAR(setDead); + addToTriageCard = QGVAR(addToTriageCard); + addToMedicalLog = QGVAR(addToMedicalLog); + actionCheckPulseLocal = QGVAR(actionCheckPulseLocal); + actionCheckBloodPressureLocal = QGVAR(actionCheckBloodPressureLocal); + addVitalLoop = QGVAR(addVitalLoop); }; diff --git a/addons/medical/functions/fnc_actionCheckBloodPressure.sqf b/addons/medical/functions/fnc_actionCheckBloodPressure.sqf index 2d2b5a9e59..9e66eda263 100644 --- a/addons/medical/functions/fnc_actionCheckBloodPressure.sqf +++ b/addons/medical/functions/fnc_actionCheckBloodPressure.sqf @@ -16,7 +16,7 @@ params ["_caller", "_target", "_selectionName"]; if (local _target) then { - ["ace_actionCheckBloodPressureLocal", [_caller, _target, _selectionName]] call CBA_fnc_localEvent; + [QGVAR(actionCheckBloodPressureLocal), [_caller, _target, _selectionName]] call CBA_fnc_localEvent; } else { - ["ace_actionCheckBloodPressureLocal", [_caller, _target, _selectionName], _target] call CBA_fnc_targetEvent; + [QGVAR(actionCheckBloodPressureLocal), [_caller, _target, _selectionName], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_actionCheckPulse.sqf b/addons/medical/functions/fnc_actionCheckPulse.sqf index 2b97c1aa24..39f196a0a5 100644 --- a/addons/medical/functions/fnc_actionCheckPulse.sqf +++ b/addons/medical/functions/fnc_actionCheckPulse.sqf @@ -16,7 +16,7 @@ params ["_caller","_target", "_selectionName"]; if (local _target) then { - ["ace_actionCheckPulseLocal", [_caller, _target, _selectionName]] call CBA_fnc_localEvent; + [QGVAR(actionCheckPulseLocal), [_caller, _target, _selectionName]] call CBA_fnc_localEvent; } else { - ["ace_actionCheckPulseLocal", [_caller, _target, _selectionName], _target] call CBA_fnc_targetEvent; + [QGVAR(actionCheckPulseLocal), [_caller, _target, _selectionName], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf b/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf index c8f6de3628..35d283c925 100644 --- a/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf +++ b/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf @@ -22,7 +22,7 @@ TRACE_2("params",_caller,_target); if (!local _target) exitWith { TRACE_1("running where local",local _target); - ["ace_actionPlaceInBodyBag", [_caller, _target], [_target]] call CBA_fnc_targetEvent; + [QGVAR(actionPlaceInBodyBag), [_caller, _target], [_target]] call CBA_fnc_targetEvent; objNull }; @@ -47,6 +47,6 @@ private _bodyBag = createVehicle ["ACE_bodyBagObject", _position, [], 0, ""]; _bodyBag setPosASL _position; _bodyBag setDir _direction; -[QGVAR(playedInBodyBag), [_target, _bodyBag]] call CBA_fnc_globalEvent; //hide and delete body on server +["ace_playedInBodyBag", [_target, _bodyBag]] call CBA_fnc_globalEvent; //hide and delete body on server _bodyBag diff --git a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf index 1eaa0ec32d..e428e84d99 100644 --- a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf +++ b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf @@ -44,7 +44,7 @@ TRACE_2("meds",_part,_delayedMedications); _x params ["", "", "_medPartNum"]; if (_part == _medPartNum) then { TRACE_1("delayed medication call after tourniquet removeal",_x); - ["ace_treatmentAdvanced_medicationLocal", _x, [_target]] call CBA_fnc_targetEvent; + [QGVAR(treatmentAdvanced_medicationLocal), _x, [_target]] call CBA_fnc_targetEvent; _delayedMedications set [_forEachIndex, -1]; _updatedArray = true; }; diff --git a/addons/medical/functions/fnc_addHeartRateAdjustment.sqf b/addons/medical/functions/fnc_addHeartRateAdjustment.sqf index 1b214ec99a..b2470383a2 100644 --- a/addons/medical/functions/fnc_addHeartRateAdjustment.sqf +++ b/addons/medical/functions/fnc_addHeartRateAdjustment.sqf @@ -22,4 +22,4 @@ params [["_unit", objNull, [objNull]], ["_value", 0, [0]], ["_time", 1, [0]], [" _adjustment = _unit getVariable [QGVAR(heartRateAdjustments), []]; _adjustment pushBack [_value, _time, _callBack]; _unit setVariable [QGVAR(heartRateAdjustments), _adjustment ]; -[QGVAR(addedHeartRateAdjustment), [_unit, _value, _time]] call CBA_fnc_localEvent; +["ace_addedHeartRateAdjustment", [_unit, _value, _time]] call CBA_fnc_localEvent; diff --git a/addons/medical/functions/fnc_addToLog.sqf b/addons/medical/functions/fnc_addToLog.sqf index ab0d993c56..787596faa2 100644 --- a/addons/medical/functions/fnc_addToLog.sqf +++ b/addons/medical/functions/fnc_addToLog.sqf @@ -20,7 +20,7 @@ private ["_moment", "_logVarName", "_log","_newLog", "_logs"]; params ["_unit", "_type", "_message", "_arguments"]; if (!local _unit) exitWith { - ["ace_addToMedicalLog", _this, _unit] call CBA_fnc_targetEvent; + [QGVAR(addToMedicalLog), _this, _unit] call CBA_fnc_targetEvent; }; date params ["", "", "", "_hour", "_minute"]; @@ -43,7 +43,7 @@ if (count _log >= 8) then { _log pushBack [_message, _moment, _type, _arguments]; _unit setVariable [_logVarName, _log, true]; -[QGVAR(logEntryAdded), [_unit, _type, _message, _arguments]] call CBA_fnc_localEvent; +["ace_medicalLogEntryAdded", [_unit, _type, _message, _arguments]] call CBA_fnc_localEvent; _logs = _unit getVariable [QGVAR(allLogs), []]; if !(_logVarName in _logs) then { diff --git a/addons/medical/functions/fnc_addToTriageCard.sqf b/addons/medical/functions/fnc_addToTriageCard.sqf index cae1dd35cf..940cf554c5 100644 --- a/addons/medical/functions/fnc_addToTriageCard.sqf +++ b/addons/medical/functions/fnc_addToTriageCard.sqf @@ -18,7 +18,7 @@ private ["_log", "_inList", "_amount"]; params ["_unit", "_newItem"]; if (!local _unit) exitWith { - ["ace_addToTriageCard", _this, _unit] call CBA_fnc_targetEvent; + [QGVAR(addToTriageCard), _this, _unit] call CBA_fnc_targetEvent; }; _log = _unit getVariable [QGVAR(triageCard), []]; @@ -41,4 +41,4 @@ if (!_inList) then { _log pushBack [_newItem, 1, CBA_missionTime]; }; _unit setVariable [QGVAR(triageCard), _log, true]; -[QGVAR(itemAddedToTriageCard), [_unit, _newItem, _amount]] call CBA_fnc_localEvent; +["ace_itemAddedToTriageCard", [_unit, _newItem, _amount]] call CBA_fnc_localEvent; diff --git a/addons/medical/functions/fnc_addVitalLoop.sqf b/addons/medical/functions/fnc_addVitalLoop.sqf index 5d7d8d1d92..aa3d6608d0 100644 --- a/addons/medical/functions/fnc_addVitalLoop.sqf +++ b/addons/medical/functions/fnc_addVitalLoop.sqf @@ -18,7 +18,7 @@ params ["_unit", ["_force", false]]; if !([_unit] call FUNC(hasMedicalEnabled) || _force) exitWith {}; if !(local _unit) exitWith { - ["ace_addVitalLoop", [_unit, _force], _unit] call CBA_fnc_targetEvent; + [QGVAR(addVitalLoop), [_unit, _force], _unit] call CBA_fnc_targetEvent; }; // Quit if the unit already has a vital loop, or is dead, unless it's forced diff --git a/addons/medical/functions/fnc_setCardiacArrest.sqf b/addons/medical/functions/fnc_setCardiacArrest.sqf index 9522eeaec4..925ff4cc03 100644 --- a/addons/medical/functions/fnc_setCardiacArrest.sqf +++ b/addons/medical/functions/fnc_setCardiacArrest.sqf @@ -21,7 +21,7 @@ if (_unit getVariable [QGVAR(inCardiacArrest),false]) exitWith {}; _unit setVariable [QGVAR(inCardiacArrest), true,true]; _unit setVariable [QGVAR(heartRate), 0]; -[QGVAR(enteredCardiacArrest), [_unit]] call CBA_fnc_localEvent; +["ace_enteredCardiacArrest", [_unit]] call CBA_fnc_localEvent; [_unit, true] call FUNC(setUnconscious); _timeInCardiacArrest = 120 + round(random(600)); diff --git a/addons/medical/functions/fnc_setDead.sqf b/addons/medical/functions/fnc_setDead.sqf index 6d51ec2bac..0e5fd884f4 100644 --- a/addons/medical/functions/fnc_setDead.sqf +++ b/addons/medical/functions/fnc_setDead.sqf @@ -20,7 +20,7 @@ params ["_unit", ["_force", false], ["_delaySetDamage", false]]; if ((!alive _unit) || {_unit getVariable ["ACE_isDead", false]}) exitWith {true}; if (!local _unit) exitwith { - ["ace_setDead", [_unit, _force], _unit] call CBA_fnc_targetEvent; + [QGVAR(setDead), [_unit, _force], _unit] call CBA_fnc_targetEvent; false; }; @@ -51,7 +51,7 @@ if (isPLayer _unit) then { _unit setVariable ["isDeadPlayer", true, true]; }; -[QGVAR(killed), [_unit]] call CBA_fnc_localEvent; +["ace_killed", [_unit]] call CBA_fnc_localEvent; //Delay a frame before killing the unit via scripted damage //to avoid triggering the "Killed" Event twice (and having the wrong killer) diff --git a/addons/medical/functions/fnc_setHitPointDamage.sqf b/addons/medical/functions/fnc_setHitPointDamage.sqf index 6ded061bb4..b1dfe59d29 100644 --- a/addons/medical/functions/fnc_setHitPointDamage.sqf +++ b/addons/medical/functions/fnc_setHitPointDamage.sqf @@ -26,7 +26,7 @@ params ["_unit", "_selection", "_damage", ["_disabled", false]]; // Unit isn't local, give function to machine where it is. if !(local _unit) exitWith { - ["ace_setHitPointDamage", _this, _unit] call CBA_fnc_targetEvent; + [QGVAR(setHitPointDamage), _this, _unit] call CBA_fnc_targetEvent; }; // Check if overall damage adjustment is disabled diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index adee89e4fe..41c02dd553 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -39,7 +39,7 @@ if !(_set) exitWith { if !(!(isNull _unit) && {(_unit isKindOf "CAManBase") && ([_unit] call EFUNC(common,isAwake))}) exitWith{}; if (!local _unit) exitWith { - ["ace_setUnconscious", [_unit, _set, _minWaitingTime, _force], _unit] call CBA_fnc_targetEvent; + [QGVAR(setUnconscious), [_unit, _set, _minWaitingTime, _force], _unit] call CBA_fnc_targetEvent; }; _unit setVariable ["ACE_isUnconscious", true, true]; @@ -96,12 +96,12 @@ if (GVAR(moveUnitsFromGroupOnUnconscious)) then { }; // Delay Unconscious so the AI dont instant stop shooting on the unit #3121 if (GVAR(delayUnconCaptive) == 0) then { - [_unit, "setCaptive", QGVAR(unconscious), true] call EFUNC(common,statusEffect_set); + [_unit, "setCaptive", "ace_unconscious", true] call EFUNC(common,statusEffect_set); } else { [{ params ["_unit"]; if (_unit getVariable ["ACE_isUnconscious", false]) then { - [_unit, "setCaptive", QGVAR(unconscious), true] call EFUNC(common,statusEffect_set); + [_unit, "setCaptive", "ace_unconscious", true] call EFUNC(common,statusEffect_set); }; },[_unit], GVAR(delayUnconCaptive)] call CBA_fnc_waitAndExecute; }; @@ -122,4 +122,4 @@ _startingTime = CBA_missionTime; // unconscious can't talk [_unit, "isUnconscious"] call EFUNC(common,muteUnit); -[QGVAR(unconscious), [_unit, true]] call CBA_fnc_globalEvent; +["ace_unconscious", [_unit, true]] call CBA_fnc_globalEvent; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf b/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf index 1c041b05b9..0ce1f7d4d9 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_CPR.sqf @@ -22,9 +22,9 @@ if (alive _target && {(_target getVariable [QGVAR(inCardiacArrest), false] || _t [_target, "activity_view", LSTRING(Activity_cpr), [[_caller, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); if (local _target) then { - ["ace_treatmentAdvanced_CPRLocal", [_caller, _target]] call CBA_fnc_localEvent; + [QGVAR(treatmentAdvanced_CPRLocal), [_caller, _target]] call CBA_fnc_localEvent; } else { - ["ace_treatmentAdvanced_CPRLocal", [_caller, _target], _target] call CBA_fnc_targetEvent; + [QGVAR(treatmentAdvanced_CPRLocal), [_caller, _target], _target] call CBA_fnc_targetEvent; }; }; true; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf index c387649705..67606ddd7e 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_bandage.sqf @@ -27,9 +27,9 @@ if !([_target] call FUNC(hasMedicalEnabled)) exitWith { }; if (local _target) then { - ["ace_treatmentAdvanced_bandageLocal", [_target, _className, _selectionName, _specificSpot]] call CBA_fnc_localEvent; + [QGVAR(treatmentAdvanced_bandageLocal), [_target, _className, _selectionName, _specificSpot]] call CBA_fnc_localEvent; } else { - ["ace_treatmentAdvanced_bandageLocal", [_target, _className, _selectionName, _specificSpot], _target] call CBA_fnc_targetEvent; + [QGVAR(treatmentAdvanced_bandageLocal), [_target, _className, _selectionName, _specificSpot], _target] call CBA_fnc_targetEvent; }; /* { diff --git a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf index a9ef6ee3a4..18bd0468d2 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_fullHeal.sqf @@ -13,9 +13,9 @@ params ["_caller", "_target", "_selectionName", "_className", "_items"]; if (local _target) then { - ["ace_treatmentAdvanced_fullHealLocal", [_caller, _target]] call CBA_fnc_localEvent; + [QGVAR(treatmentAdvanced_fullHealLocal), [_caller, _target]] call CBA_fnc_localEvent; } else { - ["ace_treatmentAdvanced_fullHealLocal", [_caller, _target], _target] call CBA_fnc_targetEvent; + [QGVAR(treatmentAdvanced_fullHealLocal), [_caller, _target], _target] call CBA_fnc_targetEvent; }; true; diff --git a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf index 2365eaea5d..ceb788f571 100644 --- a/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf +++ b/addons/medical/functions/fnc_treatmentAdvanced_medication.sqf @@ -22,7 +22,7 @@ TRACE_5("params",_caller,_target,_selectionName,_className,_items); private _part = [_selectionName] call FUNC(selectionNameToNumber); -["ace_treatmentAdvanced_medicationLocal", [_target, _className, _part], [_target]] call CBA_fnc_targetEvent; +[QGVAR(treatmentAdvanced_medicationLocal), [_target, _className, _part], [_target]] call CBA_fnc_targetEvent; { if (_x != "") then { diff --git a/addons/medical/functions/fnc_treatmentBasic_bandage.sqf b/addons/medical/functions/fnc_treatmentBasic_bandage.sqf index d7a87bd3c8..c0411c09e4 100644 --- a/addons/medical/functions/fnc_treatmentBasic_bandage.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_bandage.sqf @@ -21,7 +21,7 @@ private ["_hitSelections", "_hitPoints", "_point", "_damage"]; params ["_caller", "_target", "_selection", "_className"]; if (local _target) then { - ["ace_treatmentBasic_bandageLocal", [_target, _selection]] call CBA_fnc_localEvent; + [QGVAR(treatmentBasic_bandageLocal), [_target, _selection]] call CBA_fnc_localEvent; } else { - ["ace_treatmentBasic_bandageLocal", [_target, _selection], _target] call CBA_fnc_targetEvent; + [QGVAR(treatmentBasic_bandageLocal), [_target, _selection], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf b/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf index 9a65a9deb4..6989ac14b8 100644 --- a/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_bloodbag.sqf @@ -19,7 +19,7 @@ params ["_caller", "_target", "_treatmentClassname"]; if (local _target) then { - ["ace_treatmentBasic_bloodbagLocal", [_target, _treatmentClassname]] call CBA_fnc_localEvent; + [QGVAR(treatmentBasic_bloodbagLocal), [_target, _treatmentClassname]] call CBA_fnc_localEvent; } else { - ["ace_treatmentBasic_bloodbagLocal", [_target, _treatmentClassname], _target] call CBA_fnc_targetEvent; + [QGVAR(treatmentBasic_bloodbagLocal), [_target, _treatmentClassname], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_treatmentBasic_morphine.sqf b/addons/medical/functions/fnc_treatmentBasic_morphine.sqf index 4d424923da..f704a67042 100644 --- a/addons/medical/functions/fnc_treatmentBasic_morphine.sqf +++ b/addons/medical/functions/fnc_treatmentBasic_morphine.sqf @@ -20,7 +20,7 @@ params ["_caller", "_target"]; if (local _target) then { - ["ace_treatmentBasic_morphineLocal", [_target]] call CBA_fnc_localEvent; + [QGVAR(treatmentBasic_morphineLocal), [_target]] call CBA_fnc_localEvent; } else { - ["ace_treatmentBasic_morphineLocal", [_target], _target] call CBA_fnc_targetEvent; + [QGVAR(treatmentBasic_morphineLocal), [_target], _target] call CBA_fnc_targetEvent; }; diff --git a/addons/medical/functions/fnc_treatmentIV.sqf b/addons/medical/functions/fnc_treatmentIV.sqf index 3f5c4d2493..456c415362 100644 --- a/addons/medical/functions/fnc_treatmentIV.sqf +++ b/addons/medical/functions/fnc_treatmentIV.sqf @@ -23,9 +23,9 @@ if (count _items == 0) exitWith {false}; _removeItem = _items select 0; if (local _target) then { - ["ace_treatmentIVLocal", [_target, _className]] call CBA_fnc_localEvent; + [QGVAR(treatmentIVLocal), [_target, _className]] call CBA_fnc_localEvent; } else { - ["ace_treatmentIVLocal", [_target, _className], _target] call CBA_fnc_targetEvent; + [QGVAR(treatmentIVLocal), [_target, _className], _target] call CBA_fnc_targetEvent; }; [_target, _removeItem] call FUNC(addToTriageCard); diff --git a/addons/medical/functions/fnc_treatmentTourniquet.sqf b/addons/medical/functions/fnc_treatmentTourniquet.sqf index 98b5a22411..6642bf7c80 100644 --- a/addons/medical/functions/fnc_treatmentTourniquet.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquet.sqf @@ -41,9 +41,9 @@ if ((_tourniquets select _part) > 0) exitWith { _removeItem = _items select 0; if (local _target) then { - ["ace_treatmentTourniquetLocal", [_target, _removeItem, _selectionName]] call CBA_fnc_localEvent; + [QGVAR(treatmentTourniquetLocal), [_target, _removeItem, _selectionName]] call CBA_fnc_localEvent; } else { - ["ace_treatmentTourniquetLocal", [_target, _removeItem, _selectionName], _target] call CBA_fnc_targetEvent; + [QGVAR(treatmentTourniquetLocal), [_target, _removeItem, _selectionName], _target] call CBA_fnc_targetEvent; }; [_target, _removeItem] call FUNC(addToTriageCard); diff --git a/addons/medical/functions/fnc_treatment_success.sqf b/addons/medical/functions/fnc_treatment_success.sqf index 04fec2b5bd..98befeab04 100644 --- a/addons/medical/functions/fnc_treatment_success.sqf +++ b/addons/medical/functions/fnc_treatment_success.sqf @@ -95,4 +95,4 @@ if (!(_target getVariable [QGVAR(addedToUnitLoop),false])) then { [_target] call FUNC(addVitalLoop); }; -[QGVAR(treatmentSuccess), [_caller, _target, _selectionName, _className]] call CBA_fnc_localEvent; +["ace_treatmentSuccess", [_caller, _target, _selectionName, _className]] call CBA_fnc_localEvent; diff --git a/addons/medical/functions/fnc_unconsciousPFH.sqf b/addons/medical/functions/fnc_unconsciousPFH.sqf index 0e80d49457..edf2e871fd 100644 --- a/addons/medical/functions/fnc_unconsciousPFH.sqf +++ b/addons/medical/functions/fnc_unconsciousPFH.sqf @@ -33,15 +33,15 @@ if (!alive _unit) exitWith { if (GVAR(moveUnitsFromGroupOnUnconscious)) then { [_unit, false, "ACE_isUnconscious", side group _unit] call EFUNC(common,switchToGroupSide); }; - [_unit, "setCaptive", QGVAR(unconscious), false] call EFUNC(common,statusEffect_set); + [_unit, "setCaptive", "ace_unconscious", false] call EFUNC(common,statusEffect_set); [_unit, false] call EFUNC(common,disableAI); //_unit setUnitPos _originalPos; _unit setUnconscious false; [_unit, "isUnconscious"] call EFUNC(common,unmuteUnit); - [QGVAR(unconscious), [_unit, false]] call CBA_fnc_globalEvent; + ["ace_unconscious", [_unit, false]] call CBA_fnc_globalEvent; - TRACE_3("ACE_DEBUG_Unconscious_Exit",_unit, (!alive _unit) , QGVAR(unconscious)); + TRACE_3("ACE_DEBUG_Unconscious_Exit",_unit, (!alive _unit) , "ace_unconscious"); [_idPFH] call CBA_fnc_removePerFrameHandler; }; @@ -96,13 +96,13 @@ if !(_unit getVariable ["ACE_isUnconscious",false]) exitWith { }; _unit setVariable [QGVAR(vehicleAwakeAnim), nil]; - [QGVAR(unconscious), [_unit, false]] call CBA_fnc_globalEvent; + ["ace_unconscious", [_unit, false]] call CBA_fnc_globalEvent; // EXIT PFH [_idPFH] call CBA_fnc_removePerFrameHandler; }; if (!_hasMovedOut) then { // Reset the unit back to the previous captive state. - [_unit, "setCaptive", QGVAR(unconscious), false] call EFUNC(common,statusEffect_set); + [_unit, "setCaptive", "ace_unconscious", false] call EFUNC(common,statusEffect_set); // Swhich the unit back to its original group //Unconscious units shouldn't be put in another group #527: diff --git a/addons/medical_menu/XEH_postInit.sqf b/addons/medical_menu/XEH_postInit.sqf index 046abfdaad..e7b7ec40cb 100644 --- a/addons/medical_menu/XEH_postInit.sqf +++ b/addons/medical_menu/XEH_postInit.sqf @@ -6,8 +6,7 @@ GVAR(MenuPFHID) = -1; GVAR(lastOpenedOn) = -1; GVAR(pendingReopen) = false; -[QEGVAR(medical,treatmentSuccess), { - +["ace_treatmentSuccess", { if (GVAR(openAfterTreatment) && {GVAR(pendingReopen)}) then { GVAR(pendingReopen) = false; [{ @@ -16,7 +15,6 @@ GVAR(pendingReopen) = false; }; }] call CBA_fnc_addEventHandler; - ["ACE3 Common", QGVAR(displayMenuKeyPressed), localize LSTRING(DisplayMenuKey), { private _target = cursorTarget; @@ -37,4 +35,3 @@ GVAR(pendingReopen) = false; false }, [35, [false, false, false]], false, 0] call CBA_fnc_addKeybind; - diff --git a/addons/medical_menu/config.cpp b/addons/medical_menu/config.cpp index a33dbe9235..67d3966771 100644 --- a/addons/medical_menu/config.cpp +++ b/addons/medical_menu/config.cpp @@ -19,7 +19,5 @@ class CfgPatches { #include "CfgVehicles.hpp" class ACE_newEvents { - medical_treatmentSuccess = QEGVAR(medical,treatmentSuccess); - Medical_onMenuOpen = QGVAR(opened); - displayTextStructured = "ace_displayTextStructured"; + Medical_onMenuOpen = "ace_medicalMenuOpened"; }; diff --git a/addons/medical_menu/functions/fnc_onMenuOpen.sqf b/addons/medical_menu/functions/fnc_onMenuOpen.sqf index ed33b2d321..563c855454 100644 --- a/addons/medical_menu/functions/fnc_onMenuOpen.sqf +++ b/addons/medical_menu/functions/fnc_onMenuOpen.sqf @@ -87,4 +87,4 @@ GVAR(MenuPFHID) = [{ }, 0, [_display]] call CBA_fnc_addPerFrameHandler; -[QGVAR(opened), [ACE_player, _target]] call CBA_fnc_localEvent; +["ace_medicalMenuOpened", [ACE_player, _target]] call CBA_fnc_localEvent; diff --git a/addons/rearm/XEH_postInit.sqf b/addons/rearm/XEH_postInit.sqf index 7c89e90ac1..a3038494da 100644 --- a/addons/rearm/XEH_postInit.sqf +++ b/addons/rearm/XEH_postInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_unconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; ["ace_playerVehicleChanged", {params ["_unit"]; [_unit] call FUNC(dropAmmo)}] call CBA_fnc_addEventHandler; if (isServer) then { diff --git a/addons/rearm/config.cpp b/addons/rearm/config.cpp index 0d4ec30baa..be579f56fd 100644 --- a/addons/rearm/config.cpp +++ b/addons/rearm/config.cpp @@ -22,5 +22,5 @@ class CfgPatches { class ACE_newEvents { playerVehicleChanged = "ace_playerVehicleChanged"; - medical_onUnconscious = QEGVAR(medical,unconscious); + medical_onUnconscious = "ace_unconscious"; }; diff --git a/addons/refuel/XEH_postInit.sqf b/addons/refuel/XEH_postInit.sqf index 866f50dbd8..8c28464287 100644 --- a/addons/refuel/XEH_postInit.sqf +++ b/addons/refuel/XEH_postInit.sqf @@ -1,6 +1,6 @@ #include "script_component.hpp" -[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_unconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; if (isServer) then { addMissionEventHandler ["HandleDisconnect", {_this call FUNC(handleDisconnect)}]; diff --git a/addons/refuel/config.cpp b/addons/refuel/config.cpp index 1517ab7006..4a944304e5 100644 --- a/addons/refuel/config.cpp +++ b/addons/refuel/config.cpp @@ -18,7 +18,7 @@ class CfgPatches { #include "CfgVehicles.hpp" class ACE_newEvents { - medical_onUnconscious = QEGVAR(medical,unconscious); + medical_onUnconscious = "ace_unconscious"; setFuel = "ace_setFuel"; setVectorDirAndUp = "ace_setVectorDirAndUp"; displayTextStructured = "ace_displayTextStructured"; diff --git a/addons/sandbag/XEH_postInit.sqf b/addons/sandbag/XEH_postInit.sqf index e65928c48e..0bc5b6d2b1 100644 --- a/addons/sandbag/XEH_postInit.sqf +++ b/addons/sandbag/XEH_postInit.sqf @@ -20,6 +20,6 @@ GVAR(deployDirection) = 0; ["ace_playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle waking up dragged unit and falling unconscious while dragging -[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_unconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; //@todo Captivity? diff --git a/addons/sandbag/config.cpp b/addons/sandbag/config.cpp index 6ad3e212d8..1303b09ad0 100644 --- a/addons/sandbag/config.cpp +++ b/addons/sandbag/config.cpp @@ -18,7 +18,7 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - medical_onUnconscious = QEGVAR(medical,unconscious); + medical_onUnconscious = "ace_unconscious"; playerVehicleChanged = "ace_playerVehicleChanged"; playerInventoryChanged = "ace_playerInventoryChanged"; playerChanged = "ace_playerChanged"; diff --git a/addons/sitting/XEH_clientInit.sqf b/addons/sitting/XEH_clientInit.sqf index 58a926022b..3b6b0ba6c8 100644 --- a/addons/sitting/XEH_clientInit.sqf +++ b/addons/sitting/XEH_clientInit.sqf @@ -12,6 +12,6 @@ if (!hasInterface) exitWith {}; ["isNotSitting", {isNil {(_this select 0) getVariable QGVAR(isSitting)}}] call EFUNC(common,addCanInteractWithCondition); // Handle interruptions - [QEGVAR(medical,unconscious), {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; + ["ace_unconscious", {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; [QEGVAR(captives,setHandcuffed), {_this call DFUNC(handleInterrupt)}] call CBA_fnc_addEventHandler; }] call CBA_fnc_addEventHandler; diff --git a/addons/sitting/config.cpp b/addons/sitting/config.cpp index 26d013179e..d48a8f9fb9 100644 --- a/addons/sitting/config.cpp +++ b/addons/sitting/config.cpp @@ -21,5 +21,5 @@ class CfgPatches { class ACE_newEvents { SettingsInitialized = "ace_settingsInitialized"; SetHandcuffed = QEGVAR(captives,setHandcuffed); - medical_onUnconscious = QEGVAR(medical,unconscious); + medical_onUnconscious = "ace_unconscious"; }; \ No newline at end of file diff --git a/addons/tacticalladder/XEH_postInit.sqf b/addons/tacticalladder/XEH_postInit.sqf index 902d73f9ab..723c5b1421 100644 --- a/addons/tacticalladder/XEH_postInit.sqf +++ b/addons/tacticalladder/XEH_postInit.sqf @@ -21,6 +21,6 @@ GVAR(currentAngle) = 0; ["ace_playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle falling unconscious -[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_unconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; // @todo captivity? diff --git a/addons/tacticalladder/config.cpp b/addons/tacticalladder/config.cpp index 38f47b40ea..46be014d6a 100644 --- a/addons/tacticalladder/config.cpp +++ b/addons/tacticalladder/config.cpp @@ -18,7 +18,7 @@ class CfgPatches { class ACE_newEvents { interactMenuOpened = "ace_interactMenuOpened"; - medical_onUnconscious = QEGVAR(medical,unconscious); + medical_onUnconscious = "ace_unconscious"; playerVehicleChanged = "ace_playerVehicleChanged"; playerChanged = "ace_playerChanged"; }; diff --git a/addons/trenches/XEH_postInit.sqf b/addons/trenches/XEH_postInit.sqf index 02de7f02c1..af6038d992 100644 --- a/addons/trenches/XEH_postInit.sqf +++ b/addons/trenches/XEH_postInit.sqf @@ -21,6 +21,6 @@ GVAR(digDirection) = 0; ["ace_playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle waking up dragged unit and falling unconscious while dragging -[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_unconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; //@todo Captivity? diff --git a/addons/trenches/config.cpp b/addons/trenches/config.cpp index 0486a71509..0e689502a6 100644 --- a/addons/trenches/config.cpp +++ b/addons/trenches/config.cpp @@ -18,7 +18,7 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - medical_onUnconscious = QEGVAR(medical,unconscious); + medical_onUnconscious = "ace_unconscious"; playerVehicleChanged = "ace_playerVehicleChanged"; playerInventoryChanged = "ace_playerInventoryChanged"; playerChanged = "ace_playerChanged"; diff --git a/addons/tripod/XEH_postInit.sqf b/addons/tripod/XEH_postInit.sqf index 57f1fd08b0..df62d653ab 100644 --- a/addons/tripod/XEH_postInit.sqf +++ b/addons/tripod/XEH_postInit.sqf @@ -14,6 +14,6 @@ GVAR(height) = 0; ["ace_playerVehicleChanged", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addEventHandler; // handle falling unconscious -[QEGVAR(medical,unconscious), {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; +["ace_unconscious", {_this call FUNC(handleUnconscious)}] call CBA_fnc_addEventHandler; // @todo captivity? diff --git a/addons/tripod/config.cpp b/addons/tripod/config.cpp index bd2a0d0505..6c18a663bc 100644 --- a/addons/tripod/config.cpp +++ b/addons/tripod/config.cpp @@ -18,7 +18,7 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - medical_onUnconscious = QEGVAR(medical,unconscious); + medical_onUnconscious = "ace_unconscious"; playerVehicleChanged = "ace_playerVehicleChanged"; playerChanged = "ace_playerChanged"; interactMenuOpened = "ace_interactMenuOpened"; From bd985d57ffb11598818deb81783087e8cab8c1aa Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Fri, 3 Jun 2016 16:02:21 +0100 Subject: [PATCH 36/63] Run event renaming script for new additions --- addons/common/XEH_postInit.sqf | 2 +- addons/common/config.cpp | 1 + addons/laserpointer/XEH_postInit.sqf | 2 +- addons/laserpointer/config.cpp | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index a223ec1f9e..fc9cf0f7dc 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -30,7 +30,7 @@ TRACE_2("forceWalk EH",_object,_set); _object forceWalk (_set > 0); }] call CBA_fnc_addEventHandler; -["blockSprint", { //Name reversed from `allowSprint` because we want NOR logic +["ace_blockSprint", { //Name reversed from `allowSprint` because we want NOR logic params ["_object", "_set"]; TRACE_2("blockSprint EH",_object,_set); _object allowSprint (_set == 0); diff --git a/addons/common/config.cpp b/addons/common/config.cpp index d81c3ef1cb..e0e1ec6600 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -15,6 +15,7 @@ class CfgPatches { // This class will be deprecated in version 3.8.0 class ACE_newEvents { + blockSprint = "ace_blockSprint"; forceWalk = "ace_forceWalk"; PlayerJip = "ace_playerJip"; useItem = "ace_useItem"; diff --git a/addons/laserpointer/XEH_postInit.sqf b/addons/laserpointer/XEH_postInit.sqf index c4c83171cb..9506a91fb5 100644 --- a/addons/laserpointer/XEH_postInit.sqf +++ b/addons/laserpointer/XEH_postInit.sqf @@ -2,7 +2,7 @@ #include "script_component.hpp" // fixes laser when being captured. Needed, because the selectionPosition of the right hand is used -[QEGVAR(captives,setHandcuffed), {if (_this select 1) then {(_this select 0) action ["GunLightOff", _this select 0]};}] call CBA_fnc_addEventHandler; +[QEGVAR(captives,setHandcuffed), {if (_this select 1) then {(_this select 0) action ["ace_gunLightOff", _this select 0]};}] call CBA_fnc_addEventHandler; if (!hasInterface) exitWith {}; diff --git a/addons/laserpointer/config.cpp b/addons/laserpointer/config.cpp index 8167aa5504..3d41c803a3 100644 --- a/addons/laserpointer/config.cpp +++ b/addons/laserpointer/config.cpp @@ -20,6 +20,7 @@ class CfgPatches { #include "CfgJointRails.hpp" class ACE_newEvents { + GunLightOff = "ace_gunLightOff"; SettingsInitialized = "ace_settingsInitialized"; SetHandcuffed = QEGVAR(captives,setHandcuffed); }; \ No newline at end of file From 5b8fa4d4f18bc8973b72cd19007f4165c895ff95 Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Fri, 3 Jun 2016 20:07:49 +0100 Subject: [PATCH 37/63] Update common status effect framework Instead of changing the event names to match the new standards and also changing every single call to `FUNC(statusEffect_set)`/`FUNC(statusEffect_get)` I figured it made sense to only change the event names and the internal workings of `FUNC(statusEffect_sendEffects)` to automatically add the appropriate prefix. --- addons/common/XEH_postInit.sqf | 12 ++++++------ addons/common/config.cpp | 11 +++++++---- addons/common/functions/fnc_fixFloating.sqf | 4 ++-- .../common/functions/fnc_statusEffect_addType.sqf | 6 ++---- .../functions/fnc_statusEffect_sendEffects.sqf | 15 +++++---------- 5 files changed, 22 insertions(+), 26 deletions(-) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index fc9cf0f7dc..56cb75bb10 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -18,29 +18,29 @@ ////////////////////////////////////////////////// //Status Effect EHs: -["ace_setStatusEffect", {_this call FUNC(statusEffect_set)}] call CBA_fnc_addEventHandler; +[QGVAR(setStatusEffect), {_this call FUNC(statusEffect_set)}] call CBA_fnc_addEventHandler; ["forceWalk", false, ["ACE_SwitchUnits", "ACE_Attach", "ACE_dragging", "ACE_Explosives", "ACE_Ladder", "ACE_Sandbag", "ACE_refuel", "ACE_rearm", "ACE_dragging"]] call FUNC(statusEffect_addType); ["blockSprint", false, []] call FUNC(statusEffect_addType); ["setCaptive", true, [QEGVAR(captives,Handcuffed), QEGVAR(captives,Surrendered), "ace_unconscious"]] call FUNC(statusEffect_addType); ["blockDamage", false, ["fixCollision"]] call FUNC(statusEffect_addType); ["blockEngine", false, ["ACE_Refuel"]] call FUNC(statusEffect_addType); -["ace_forceWalk", { +[QGVAR(forceWalk), { params ["_object", "_set"]; TRACE_2("forceWalk EH",_object,_set); _object forceWalk (_set > 0); }] call CBA_fnc_addEventHandler; -["ace_blockSprint", { //Name reversed from `allowSprint` because we want NOR logic +[QGVAR(blockSprint), { //Name reversed from `allowSprint` because we want NOR logic params ["_object", "_set"]; TRACE_2("blockSprint EH",_object,_set); _object allowSprint (_set == 0); }] call CBA_fnc_addEventHandler; -["setCaptive", { +[QGVAR(setCaptive), { params ["_object", "_set"]; TRACE_2("setCaptive EH",_object,_set); _object setCaptive (_set > 0); }] call CBA_fnc_addEventHandler; -["blockDamage", { //Name reversed from `allowDamage` because we want NOR logic +[QGVAR(blockDamage), { //Name reversed from `allowDamage` because we want NOR logic params ["_object", "_set"]; if ((_object isKindOf "CAManBase") && {(["ace_medical"] call FUNC(isModLoaded))}) then { TRACE_2("blockDamage EH (using medical)",_object,_set); @@ -50,7 +50,7 @@ _object allowDamage (_set == 0); }; }] call CBA_fnc_addEventHandler; -["blockEngine", { +[QGVAR(blockEngine), { params ["_vehicle", "_set"]; _vehicle setVariable [QGVAR(blockEngine), _set > 0, true]; _vehicle engineOn false; diff --git a/addons/common/config.cpp b/addons/common/config.cpp index e0e1ec6600..8803c751ba 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -15,9 +15,12 @@ class CfgPatches { // This class will be deprecated in version 3.8.0 class ACE_newEvents { - blockSprint = "ace_blockSprint"; - forceWalk = "ace_forceWalk"; - PlayerJip = "ace_playerJip"; + forceWalk = QGVAR(forceWalk); + blockSprint = QGVAR(blockSprint); + setCaptive = QGVAR(setCaptive); + blockDamage = QGVAR(blockDamage); + blockEngine = QGVAR(blockEngine); + useItem = "ace_useItem"; displayTextPicture = "ace_displayTextPicture"; displayTextStructured = "ace_displayTextStructured"; @@ -53,7 +56,7 @@ class ACE_newEvents { fixPosition = "ace_fixPosition"; fixFloating = "ace_fixFloating"; fixCollision = "ace_fixCollision"; - setStatusEffect = "ace_setStatusEffect"; + setStatusEffect = QGVAR(setStatusEffect); SettingChanged = "ace_settingChanged"; HeadbugFixUsed = "ace_headbugFixUsed"; blockDamage = "ace_blockDamage"; diff --git a/addons/common/functions/fnc_fixFloating.sqf b/addons/common/functions/fnc_fixFloating.sqf index 752b5108bb..5a00aa3863 100644 --- a/addons/common/functions/fnc_fixFloating.sqf +++ b/addons/common/functions/fnc_fixFloating.sqf @@ -21,7 +21,7 @@ if (!local _object) exitWith {}; if (_object isKindOf "CAManBase") exitWith {}; //We need to manually set allowDamage to true for setHitIndex to function -["ace_blockDamage", [_object, 0]] call CBA_fnc_localEvent; +[QGVAR(blockDamage), [_object, 0]] call CBA_fnc_localEvent; // save and restore hitpoints, see below why private _hitPointDamages = getAllHitPointsDamage _object; @@ -41,4 +41,4 @@ _object setDamage damage _object; //manually re-enable allowDamage to previous setting (ref statusEffect_funcs) private _effectVarName = format [QGVAR(effect_%1), "blockDamage"]; private _effectNumber = _object getVariable [_effectVarName, 0]; -["ace_blockDamage", [_object, _effectNumber]] call CBA_fnc_localEvent; +[QGVAR(blockDamage), [_object, _effectNumber]] call CBA_fnc_localEvent; diff --git a/addons/common/functions/fnc_statusEffect_addType.sqf b/addons/common/functions/fnc_statusEffect_addType.sqf index afd7ff7be7..b5d6c1e879 100644 --- a/addons/common/functions/fnc_statusEffect_addType.sqf +++ b/addons/common/functions/fnc_statusEffect_addType.sqf @@ -3,7 +3,7 @@ * Adds a status effect that will be handled. * * Arguments: - * 0: Status Effect Name, this should match a corisponding event name + * 0: Status Effect Name, this should match a corresponding event name * 1: Send event globaly * 2: Common Effect Reaons to pre-seed durring init * @@ -30,8 +30,6 @@ GVAR(statusEffect_isGlobal) pushBack _isGlobal; //We add reasons at any time, but more efficenet to add all common ones at one time during init if (isServer && {!(_commonReasonsArray isEqualTo [])}) then { //Switch case to lower: - { - _commonReasonsArray set [_forEachIndex, toLower _x]; - } forEach _commonReasonsArray; + _commonReasonsArray = _commonReasonsArray apply { toLower _x }; missionNamespace setVariable [(format [QGVAR(statusEffects_%1), _name]), _commonReasonsArray, true]; }; diff --git a/addons/common/functions/fnc_statusEffect_sendEffects.sqf b/addons/common/functions/fnc_statusEffect_sendEffects.sqf index 078c6a0338..f82ab10427 100644 --- a/addons/common/functions/fnc_statusEffect_sendEffects.sqf +++ b/addons/common/functions/fnc_statusEffect_sendEffects.sqf @@ -4,7 +4,7 @@ * * Arguments: * 0: Object - * 1: Effect name (or "" or send all) + * 1: Effect name (or "" to send all) * * Return Value: * Nothing @@ -30,18 +30,13 @@ if (isNull _object) exitWith {}; //We only do anything if the effect has been defined at some point in the game for this unit TRACE_2("checking if event is nil",_x,_effectNumber); if (_effectNumber != -1) then { + private _eventName = format [QGVAR(%1), _x]; if (GVAR(statusEffect_isGlobal) select _forEachIndex) then { TRACE_2("Sending Global Event", _object, _effectNumber); - [_x, [_object, _effectNumber]] call CBA_fnc_globalEvent; + [_eventName, [_object, _effectNumber]] call CBA_fnc_globalEvent; } else { - if (local _object) then { - //If local, send directly to bypass network delay of targetEvent call - TRACE_2("Sending Target Local Event", _object, _effectNumber); - [_x, [_object, _effectNumber]] call CBA_fnc_localEvent; - } else { - TRACE_2("Sending Target Non-Local Event", _object, _effectNumber); - [_x, [_object, _effectNumber], [_object]] call CBA_fnc_targetEvent; - }; + TRACE_2("Sending Target Event", _object, _effectNumber); + [_eventName, [_object, _effectNumber], _object] call CBA_fnc_targetEvent; }; }; }; From 9e4fd777456b220d8706dbb4ebccba4366135843 Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Fri, 3 Jun 2016 20:38:16 +0100 Subject: [PATCH 38/63] Update common event names to meet new standard --- addons/advanced_ballistics/config.cpp | 3 +-- addons/captives/config.cpp | 2 -- addons/cargo/config.cpp | 1 - addons/cargo/functions/fnc_loadItem.sqf | 2 +- addons/common/XEH_postInit.sqf | 22 ++++++++-------- addons/common/config.cpp | 26 ++++++++++--------- .../fnc__handleRequestAllSyncedEvents.sqf | 2 +- .../fnc__handleRequestSyncedEvent.sqf | 2 +- addons/common/functions/fnc_headBugFix.sqf | 4 +-- addons/common/functions/fnc_hideUnit.sqf | 2 +- .../functions/fnc_requestSyncedEvent.sqf | 4 +-- addons/common/functions/fnc_syncedEvent.sqf | 2 +- addons/common/functions/fnc_unhideUnit.sqf | 2 +- addons/disposable/config.cpp | 3 +-- addons/dragging/config.cpp | 3 --- addons/finger/config.cpp | 4 --- addons/frag/config.cpp | 3 +-- addons/gforces/config.cpp | 4 --- addons/goggles/config.cpp | 3 --- addons/hearing/XEH_postInit.sqf | 4 +-- addons/hearing/config.cpp | 12 --------- addons/interact_menu/config.cpp | 1 - addons/laserpointer/config.cpp | 3 +-- addons/map/config.cpp | 4 --- addons/map_gestures/config.cpp | 4 --- addons/medical/XEH_postInit.sqf | 4 +-- addons/medical/config.cpp | 2 +- .../functions/fnc_actionPlaceInBodyBag.sqf | 2 +- .../functions/fnc_serverRemoveBody.sqf | 2 +- addons/mk6mortar/XEH_postInit.sqf | 4 +-- addons/mk6mortar/config.cpp | 1 - addons/modules/XEH_postInit.sqf | 2 +- addons/modules/config.cpp | 4 --- addons/movement/config.cpp | 5 ---- addons/nametags/config.cpp | 4 --- addons/nightvision/config.cpp | 6 +---- addons/noradio/XEH_postInit.sqf | 2 +- addons/optionsmenu/config.cpp | 4 --- addons/overheating/config.cpp | 1 - addons/parachute/config.cpp | 4 +-- addons/rearm/config.cpp | 1 - addons/respawn/config.cpp | 2 -- addons/sandbag/config.cpp | 4 --- addons/sandbag/functions/fnc_deploy.sqf | 2 +- addons/scopes/config.cpp | 2 -- addons/sitting/config.cpp | 3 +-- addons/tacticalladder/config.cpp | 2 -- addons/trenches/config.cpp | 4 --- addons/trenches/functions/fnc_placeTrench.sqf | 2 +- addons/tripod/config.cpp | 2 -- addons/ui/config.cpp | 4 --- addons/vehiclelock/config.cpp | 1 - addons/viewdistance/config.cpp | 4 --- addons/weaponselect/config.cpp | 1 - .../fnc_displayGrenadeTypeAndNumber.sqf | 2 +- addons/weather/config.cpp | 4 --- addons/winddeflection/config.cpp | 1 - 57 files changed, 56 insertions(+), 154 deletions(-) diff --git a/addons/advanced_ballistics/config.cpp b/addons/advanced_ballistics/config.cpp index 84557517d2..961a4a1b07 100644 --- a/addons/advanced_ballistics/config.cpp +++ b/addons/advanced_ballistics/config.cpp @@ -23,7 +23,6 @@ class ACE_Extensions { }; class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; firedPlayerNonLocal = "ace_firedPlayerNonLocal"; firedPlayer = "ace_firedPlayer"; -}; \ No newline at end of file +}; diff --git a/addons/captives/config.cpp b/addons/captives/config.cpp index eb8066ed82..c2faedb7c0 100644 --- a/addons/captives/config.cpp +++ b/addons/captives/config.cpp @@ -21,12 +21,10 @@ class CfgPatches { #include "CfgEden.hpp" class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; medical_onUnconscious = "ace_unconscious"; SetSurrendered = QGVAR(setSurrendered); SetHandcuffed = QGVAR(setHandcuffed); MoveOutCaptive = QGVAR(moveOutCaptive); MoveInCaptive = QGVAR(moveInCaptive); - playerChanged = "ace_playerChanged"; CaptiveStatusChanged = "ace_captiveStatusChanged"; }; diff --git a/addons/cargo/config.cpp b/addons/cargo/config.cpp index 48642639cc..450b2b5e25 100644 --- a/addons/cargo/config.cpp +++ b/addons/cargo/config.cpp @@ -26,6 +26,5 @@ class ACE_newEvents { AddCargoByClass = "ace_addCargoByClass"; ServerUnloadCargo = QGVAR(serverUnload); UnloadCargo = "ace_unloadCargo"; - hideObjectGlobal = "ace_hideObjectGlobal"; cargoAddedByClass = "ace_cargoAddedByClass"; }; diff --git a/addons/cargo/functions/fnc_loadItem.sqf b/addons/cargo/functions/fnc_loadItem.sqf index 36261e05b7..6e9bf4cc9d 100644 --- a/addons/cargo/functions/fnc_loadItem.sqf +++ b/addons/cargo/functions/fnc_loadItem.sqf @@ -35,7 +35,7 @@ _vehicle setVariable [QGVAR(space), _space - _itemSize, true]; if (_item isEqualType objNull) then { detach _item; _item attachTo [_vehicle,[0,0,-100]]; - ["ace_hideObjectGlobal", [_item, true]] call CBA_fnc_serverEvent; + [QEGVAR(common,hideObjectGlobal), [_item, true]] call CBA_fnc_serverEvent; }; true diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 56cb75bb10..1408357086 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -89,7 +89,7 @@ if (isServer) then { // Event to log Fix Headbug output -["HeadbugFixUsed", { +[QGVAR(headbugFixUsed), { params ["_profileName", "_animation"]; ACE_LOGINFO_2("Headbug Used: Name: %1, Animation: %2",_profileName,_animation); }] call CBA_fnc_addEventHandler; @@ -129,8 +129,8 @@ if (isServer) then { [QGVAR(systemChatGlobal), {systemChat _this}] call CBA_fnc_addEventHandler; if (isServer) then { - ["ace_hideObjectGlobal", {(_this select 0) hideObjectGlobal (_this select 1)}] call CBA_fnc_addEventHandler; - ["ace_enableSimulationGlobal", {(_this select 0) enableSimulationGlobal (_this select 1)}] call CBA_fnc_addEventHandler; + [QGVAR(hideObjectGlobal), {(_this select 0) hideObjectGlobal (_this select 1)}] call CBA_fnc_addEventHandler; + [QGVAR(enableSimulationGlobal), {(_this select 0) enableSimulationGlobal (_this select 1)}] call CBA_fnc_addEventHandler; ["ace_setOwner", {(_this select 0) setOwner (_this select 1)}] call CBA_fnc_addEventHandler; [QGVAR(serverLog), FUNC(serverLog)] call CBA_fnc_addEventHandler; }; @@ -143,16 +143,16 @@ if (isServer) then { // Synced ACE events // Handle JIP scenario if (!isServer) then { - ["PlayerJip", { + ["ace_playerJIP", { ACE_LOGINFO("JIP event synchronization initialized"); - ["ace_SEH_all", [player]] call CBA_fnc_serverEvent; + [QGVAR(SEH_all), [player]] call CBA_fnc_serverEvent; }] call CBA_fnc_addEventHandler; } else { - ["ace_SEH_all", FUNC(_handleRequestAllSyncedEvents)] call CBA_fnc_addEventHandler; + [QGVAR(SEH_all), FUNC(_handleRequestAllSyncedEvents)] call CBA_fnc_addEventHandler; }; -["ace_SEH", FUNC(_handleSyncedEvent)] call CBA_fnc_addEventHandler; -["ace_SEH_s", FUNC(_handleRequestSyncedEvent)] call CBA_fnc_addEventHandler; +[QGVAR(SEH), FUNC(_handleSyncedEvent)] call CBA_fnc_addEventHandler; +[QGVAR(SEH_s), FUNC(_handleRequestSyncedEvent)] call CBA_fnc_addEventHandler; if (isServer) then { [FUNC(syncedEventPFH), 0.5, []] call CBA_fnc_addPerFrameHandler; @@ -221,7 +221,7 @@ call FUNC(checkFiles); [] call FUNC(readSettingsFromParamsArray); }; // Event so that ACE_Modules have their settings loaded: - ["ace_initSettingsFromModules", []] call CBA_fnc_localEvent; + [QGVAR(initSettingsFromModules), []] call CBA_fnc_localEvent; if (isServer) then { // Publish all settings data after all configs and modules are read @@ -284,7 +284,7 @@ enableCamShake true; ////////////////////////////////////////////////// // Set the name for the current player -["playerChanged", { +["ace_playerChanged", { params ["_newPlayer","_oldPlayer"]; if (alive _newPlayer) then { @@ -475,7 +475,7 @@ if (didJip) then { // We are jipping! Get ready and wait, and throw the event [{ if(!isNull player && GVAR(settingsInitFinished)) then { - ["ace_playerJip", [player]] call CBA_fnc_localEvent; + ["ace_playerJIP", [player]] call CBA_fnc_localEvent; [_this select 1] call CBA_fnc_removePerFrameHandler; }; }, 0, []] call CBA_fnc_addPerFrameHandler; diff --git a/addons/common/config.cpp b/addons/common/config.cpp index 8803c751ba..a4d7789e1a 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -21,9 +21,7 @@ class ACE_newEvents { blockDamage = QGVAR(blockDamage); blockEngine = QGVAR(blockEngine); - useItem = "ace_useItem"; - displayTextPicture = "ace_displayTextPicture"; - displayTextStructured = "ace_displayTextStructured"; + PlayerJip = "ace_playerJIP"; activeCameraChanged = "ace_activeCameraChanged"; visibleMapChanged = "ace_visibleMapChanged"; cameraViewChanged = "ace_cameraViewChanged"; @@ -34,12 +32,19 @@ class ACE_newEvents { playerVehicleChanged = "ace_playerVehicleChanged"; playerChanged = "ace_playerChanged"; SettingsInitialized = "ace_settingsInitialized"; - InitSettingsFromModules = "ace_initSettingsFromModules"; - SEH_s = "ace_SEH_s"; - SEH = "ace_SEH"; - SEH_all = "ace_SEH_all"; - enableSimulationGlobal = "ace_enableSimulationGlobal"; - hideObjectGlobal = "ace_hideObjectGlobal"; + + SEH_s = QGVAR(SEH_s); + SEH = QGVAR(SEH); + SEH_all = QGVAR(SEH_all); + setStatusEffect = QGVAR(setStatusEffect); + HeadbugFixUsed = QGVAR(headbugFixUsed); + InitSettingsFromModules = QGVAR(initSettingsFromModules); + enableSimulationGlobal = QGVAR(enableSimulationGlobal); + hideObjectGlobal = QGVAR(hideObjectGlobal); + + useItem = "ace_useItem"; + displayTextPicture = "ace_displayTextPicture"; + displayTextStructured = "ace_displayTextStructured"; setVanillaHitPointDamage = "ace_setVanillaHitPointDamage"; setVectorDirAndUp = "ace_setVectorDirAndUp"; switchMove = "ace_switchMove"; @@ -56,10 +61,7 @@ class ACE_newEvents { fixPosition = "ace_fixPosition"; fixFloating = "ace_fixFloating"; fixCollision = "ace_fixCollision"; - setStatusEffect = QGVAR(setStatusEffect); SettingChanged = "ace_settingChanged"; - HeadbugFixUsed = "ace_headbugFixUsed"; - blockDamage = "ace_blockDamage"; firedNonPlayerVehicle = "ace_firedNonPlayerVehicle"; firedPlayerVehicleNonLocal = "ace_firedPlayerVehicleNonLocal"; firedPlayerVehicle = "ace_firedPlayerVehicle"; diff --git a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf index 5c95d7c030..4a599f2d7e 100644 --- a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf +++ b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf @@ -18,7 +18,7 @@ params ["_client"]; private _eventEntry = HASH_GET(GVAR(syncedEvents),_x); _eventEntry params ["", "_eventLog"]; - ["ace_SEH_s", [_x, _eventLog], _client] call CBA_fnc_targetEvent; + [QGVAR(SEH_s), [_x, _eventLog], _client] call CBA_fnc_targetEvent; false } count (GVAR(syncedEvents) select 0); diff --git a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf index ed55997baa..40d60aedef 100644 --- a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf +++ b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf @@ -30,7 +30,7 @@ if (isServer) then { private _eventEntry = HASH_GET(GVAR(syncedEvents),_eventName); _eventEntry params ["", "_eventLog"]; - ["ace_SEH_s", [_eventName, _eventLog], _client] call CBA_fnc_targetEvent; + [QGVAR(SEH_s), [_eventName, _eventLog], _client] call CBA_fnc_targetEvent; } else { params ["_eventName", "_eventLog"]; diff --git a/addons/common/functions/fnc_headBugFix.sqf b/addons/common/functions/fnc_headBugFix.sqf index b5a1fc0d39..07a1652b1b 100644 --- a/addons/common/functions/fnc_headBugFix.sqf +++ b/addons/common/functions/fnc_headBugFix.sqf @@ -17,8 +17,8 @@ private _unit = ACE_player; private _anim = animationState _unit; -["ace_headbugFixUsed", [profileName, _anim]] call CBA_fnc_serverEvent; -["ace_headbugFixUsed", [profileName, _anim]] call CBA_fnc_localEvent; +[QGVAR(headbugFixUsed), [profileName, _anim]] call CBA_fnc_serverEvent; +[QGVAR(headbugFixUsed), [profileName, _anim]] call CBA_fnc_localEvent; if (_unit != vehicle _unit || {!([_unit, objNull, ["isNotSitting"]] call FUNC(canInteractWith))}) exitWith {false}; diff --git a/addons/common/functions/fnc_hideUnit.sqf b/addons/common/functions/fnc_hideUnit.sqf index 58b5dc2e2c..e0adb201c3 100644 --- a/addons/common/functions/fnc_hideUnit.sqf +++ b/addons/common/functions/fnc_hideUnit.sqf @@ -28,5 +28,5 @@ if !(_reason in _setHiddenReasons) then { }; if !(isObjectHidden _unit) then { - ["ace_hideObjectGlobal", [_unit, true]] call CBA_fnc_serverEvent; + [QGVAR(hideObjectGlobal), [_unit, true]] call CBA_fnc_serverEvent; }; diff --git a/addons/common/functions/fnc_requestSyncedEvent.sqf b/addons/common/functions/fnc_requestSyncedEvent.sqf index 5527030764..08423ad40d 100644 --- a/addons/common/functions/fnc_requestSyncedEvent.sqf +++ b/addons/common/functions/fnc_requestSyncedEvent.sqf @@ -4,7 +4,7 @@ * * Arguments: * 0: eventName - * + * * Return Value: * Boolean of success * @@ -17,4 +17,4 @@ params ["_eventName"]; // Only JIP machines on initialization send this off, requesting sync on events with the serverCommand if (isServer) exitWith {false}; -["ace_SEH_s", [_eventName, ACE_player]] call CBA_fnc_serverEvent; +[QGVAR(SEH_s), [_eventName, ACE_player]] call CBA_fnc_serverEvent; diff --git a/addons/common/functions/fnc_syncedEvent.sqf b/addons/common/functions/fnc_syncedEvent.sqf index 08734463be..c36c519f6d 100644 --- a/addons/common/functions/fnc_syncedEvent.sqf +++ b/addons/common/functions/fnc_syncedEvent.sqf @@ -23,4 +23,4 @@ if (!HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith { private _eventData = [_name, _args, _ttl]; -["ace_SEH", _eventData] call CBA_fnc_globalEvent; +[QGVAR(SEH), _eventData] call CBA_fnc_globalEvent; diff --git a/addons/common/functions/fnc_unhideUnit.sqf b/addons/common/functions/fnc_unhideUnit.sqf index f2e8608ec5..cb988cde1b 100644 --- a/addons/common/functions/fnc_unhideUnit.sqf +++ b/addons/common/functions/fnc_unhideUnit.sqf @@ -28,5 +28,5 @@ if (_reason in _setHiddenReasons) then { }; if (_setHiddenReasons isEqualTo []) then { - ["ace_hideObjectGlobal", [_unit,false]] call CBA_fnc_serverEvent; + [QGVAR(hideObjectGlobal), [_unit,false]] call CBA_fnc_serverEvent; }; diff --git a/addons/disposable/config.cpp b/addons/disposable/config.cpp index f73bd843a6..1f87c85c28 100644 --- a/addons/disposable/config.cpp +++ b/addons/disposable/config.cpp @@ -19,7 +19,6 @@ class CfgPatches { #include "CfgVehicles.hpp" class ACE_newEvents { - playerInventoryChanged = "ace_playerInventoryChanged"; firedNonPlayer = "ace_firedNonPlayer"; firedPlayer = "ace_firedPlayer"; -}; \ No newline at end of file +}; diff --git a/addons/dragging/config.cpp b/addons/dragging/config.cpp index dfc8a7fbf6..48d72c5106 100644 --- a/addons/dragging/config.cpp +++ b/addons/dragging/config.cpp @@ -19,9 +19,6 @@ class CfgPatches { class ACE_newEvents { medical_onUnconscious = "ace_unconscious"; - playerWeaponChanged = "ace_playerWeaponChanged"; - playerVehicleChanged = "ace_playerVehicleChanged"; - playerChanged = "ace_playerChanged"; setDir = "ace_setDir"; fixFloating = "ace_fixFloating"; fixPosition = "ace_fixPosition"; diff --git a/addons/finger/config.cpp b/addons/finger/config.cpp index 9621006dfd..12e48da03e 100644 --- a/addons/finger/config.cpp +++ b/addons/finger/config.cpp @@ -17,7 +17,3 @@ class CfgPatches { #include "ACE_Settings.hpp" #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" - -class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; -}; \ No newline at end of file diff --git a/addons/frag/config.cpp b/addons/frag/config.cpp index 6df989e1a8..84fe7249b4 100644 --- a/addons/frag/config.cpp +++ b/addons/frag/config.cpp @@ -16,11 +16,10 @@ class CfgPatches { #include "CfgAmmo.hpp" #include "ACE_Settings.hpp" class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; firedNonPlayerVehicle = "ace_firedNonPlayerVehicle"; firedPlayerVehicleNonLocal = "ace_firedPlayerVehicleNonLocal"; firedPlayerVehicle = "ace_firedPlayerVehicle"; firedNonPlayer = "ace_firedNonPlayer"; firedPlayerNonLocal = "ace_firedPlayerNonLocal"; firedPlayer = "ace_firedPlayer"; -}; \ No newline at end of file +}; diff --git a/addons/gforces/config.cpp b/addons/gforces/config.cpp index db3a9a58fd..58f11020eb 100644 --- a/addons/gforces/config.cpp +++ b/addons/gforces/config.cpp @@ -17,7 +17,3 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgWeapons.hpp" #include "CfgVehicles.hpp" - -class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; -}; \ No newline at end of file diff --git a/addons/goggles/config.cpp b/addons/goggles/config.cpp index f3e837177a..d3d1f6189f 100644 --- a/addons/goggles/config.cpp +++ b/addons/goggles/config.cpp @@ -271,10 +271,7 @@ class CfgCloudlets { }; class ACE_newEvents { - playerInventoryChanged = "ace_playerInventoryChanged"; firedPlayer = "ace_firedPlayer"; - activeCameraChanged = "ace_activeCameraChanged"; - cameraViewChanged = "ace_cameraViewChanged"; GlassesChanged = "ace_glassesChanged"; GlassesCracked = "ace_glassesCracked"; }; diff --git a/addons/hearing/XEH_postInit.sqf b/addons/hearing/XEH_postInit.sqf index 5f92b239bb..cdf2e6d74b 100644 --- a/addons/hearing/XEH_postInit.sqf +++ b/addons/hearing/XEH_postInit.sqf @@ -28,8 +28,8 @@ GVAR(volumeAttenuation) = 1; [FUNC(updateVolume), 1, [false]] call CBA_fnc_addPerFrameHandler; // Update veh attunation when player veh changes - ["ace_playerVehicleChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call CBA_fnc_addEventHandler; - ["ace_playerTurretChanged", {_this call FUNC(updatePlayerVehAttenuation);}] call CBA_fnc_addEventHandler; + ["ace_playerVehicleChanged", FUNC(updatePlayerVehAttenuation)] call CBA_fnc_addEventHandler; + ["ace_playerTurretChanged", FUNC(updatePlayerVehAttenuation)] call CBA_fnc_addEventHandler; // Reset deafness on respawn (or remote control player switch) ["ace_playerChanged", { diff --git a/addons/hearing/config.cpp b/addons/hearing/config.cpp index ac8ff8f4b2..455bc20dd1 100644 --- a/addons/hearing/config.cpp +++ b/addons/hearing/config.cpp @@ -14,20 +14,8 @@ class CfgPatches { }; #include "CfgEventHandlers.hpp" - #include "CfgVehicles.hpp" - #include "CfgSounds.hpp" - #include "CfgWeapons.hpp" - #include "CfgAmmo.hpp" - #include "ACE_Settings.hpp" - -class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; - playerInventoryChanged = "ace_playerInventoryChanged"; - playerTurretChanged = "ace_playerTurretChanged"; - playerVehicleChanged = "ace_playerVehicleChanged"; -}; diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index 4ab562956c..3ad5316b38 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -27,7 +27,6 @@ class ACE_Extensions { class ACE_newEvents { SettingChanged = "ace_settingChanged"; - playerChanged = "ace_playerChanged"; interactMenuOpened = "ace_interactMenuOpened"; clearConditionCaches = QGVAR(clearConditionCaches); interactMenuClosed = "ace_interactMenuClosed"; diff --git a/addons/laserpointer/config.cpp b/addons/laserpointer/config.cpp index 3d41c803a3..c727bc6407 100644 --- a/addons/laserpointer/config.cpp +++ b/addons/laserpointer/config.cpp @@ -21,6 +21,5 @@ class CfgPatches { class ACE_newEvents { GunLightOff = "ace_gunLightOff"; - SettingsInitialized = "ace_settingsInitialized"; SetHandcuffed = QEGVAR(captives,setHandcuffed); -}; \ No newline at end of file +}; diff --git a/addons/map/config.cpp b/addons/map/config.cpp index f7c4101218..17e9aae0ab 100644 --- a/addons/map/config.cpp +++ b/addons/map/config.cpp @@ -164,7 +164,3 @@ class RscDisplayServerGetReady: RscDisplayGetReady { }; }; }; - -class ACE_newEvents { - visibleMapChanged = "ace_visibleMapChanged"; -}; diff --git a/addons/map_gestures/config.cpp b/addons/map_gestures/config.cpp index 8c25ee34a7..52f333c717 100644 --- a/addons/map_gestures/config.cpp +++ b/addons/map_gestures/config.cpp @@ -16,7 +16,3 @@ class CfgPatches { #include "ACE_Settings.hpp" #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" - -class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; -}; \ No newline at end of file diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf index 404c6746f1..194292de27 100644 --- a/addons/medical/XEH_postInit.sqf +++ b/addons/medical/XEH_postInit.sqf @@ -29,7 +29,7 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"]; [QGVAR(actionPlaceInBodyBag), FUNC(actionPlaceInBodyBag)] call CBA_fnc_addEventHandler; //Handle Deleting Bodies on Server: -if (isServer) then {["ace_playedInBodyBag", FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler;}; +if (isServer) then {["ace_placedInBodyBag", FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler;}; ["ace_unconscious", { params ["_unit", "_status"]; @@ -295,7 +295,7 @@ GVAR(lastHeartBeatSound) = CBA_missionTime; ["ace_playerInventoryChanged", FUNC(itemCheck)] call CBA_fnc_addEventHandler; if (hasInterface) then { - ["PlayerJip", { + ["ace_playerJIP", { ACE_LOGINFO("JIP Medical init for player."); [player] call FUNC(init); }] call CBA_fnc_addEventHandler; diff --git a/addons/medical/config.cpp b/addons/medical/config.cpp index bda657960b..27aacb04e7 100644 --- a/addons/medical/config.cpp +++ b/addons/medical/config.cpp @@ -33,7 +33,7 @@ class ACE_newEvents { Medical_onItemAddedToTriageCard = "ace_itemAddedToTriageCard"; medical_onLogEntryAdded = "ace_medicalLogEntryAdded"; Medical_onHeartRateAdjustmentAdded = "ace_addedHeartRateAdjustment"; - placedInBodyBag = "ace_playedInBodyBag"; + placedInBodyBag = "ace_placedInBodyBag"; actionPlaceInBodyBag = QGVAR(actionPlaceInBodyBag); treatmentTourniquetLocal = QGVAR(treatmentTourniquetLocal); treatmentIVLocal = QGVAR(treatmentIVLocal); diff --git a/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf b/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf index 35d283c925..1ae1dfdc6d 100644 --- a/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf +++ b/addons/medical/functions/fnc_actionPlaceInBodyBag.sqf @@ -47,6 +47,6 @@ private _bodyBag = createVehicle ["ACE_bodyBagObject", _position, [], 0, ""]; _bodyBag setPosASL _position; _bodyBag setDir _direction; -["ace_playedInBodyBag", [_target, _bodyBag]] call CBA_fnc_globalEvent; //hide and delete body on server +["ace_placedInBodyBag", [_target, _bodyBag]] call CBA_fnc_globalEvent; //hide and delete body on server _bodyBag diff --git a/addons/medical/functions/fnc_serverRemoveBody.sqf b/addons/medical/functions/fnc_serverRemoveBody.sqf index c37d14cde8..42e755f003 100644 --- a/addons/medical/functions/fnc_serverRemoveBody.sqf +++ b/addons/medical/functions/fnc_serverRemoveBody.sqf @@ -21,7 +21,7 @@ params ["_target"]; TRACE_2("",_target,isPlayer _target); //Hide the body globaly -["ace_hideObjectGlobal", [_target, true]] call CBA_fnc_serverEvent; +[QEGVAR(common,hideObjectGlobal), [_target, true]] call CBA_fnc_serverEvent; if (isNil QGVAR(bodiesToDelete)) then {GVAR(bodiesToDelete) = [];}; GVAR(bodiesToDelete) pushBack _target; diff --git a/addons/mk6mortar/XEH_postInit.sqf b/addons/mk6mortar/XEH_postInit.sqf index c5bcf134ac..594b0cc231 100644 --- a/addons/mk6mortar/XEH_postInit.sqf +++ b/addons/mk6mortar/XEH_postInit.sqf @@ -19,5 +19,5 @@ if (!hasInterface) exitWith {}; -["ace_playerVehicleChanged", {_this call FUNC(handlePlayerVehicleChanged);}] call CBA_fnc_addEventHandler; -["ace_infoDisplayChanged", {_this call FUNC(turretDisplayLoaded);}] call CBA_fnc_addEventHandler; +["ace_playerVehicleChanged", FUNC(handlePlayerVehicleChanged)] call CBA_fnc_addEventHandler; +["ace_infoDisplayChanged", FUNC(turretDisplayLoaded)] call CBA_fnc_addEventHandler; diff --git a/addons/mk6mortar/config.cpp b/addons/mk6mortar/config.cpp index 509bea599c..e13d26588b 100644 --- a/addons/mk6mortar/config.cpp +++ b/addons/mk6mortar/config.cpp @@ -36,6 +36,5 @@ class RscStructuredText; class ACE_newEvents { infoDisplayChanged = "ace_infoDisplayChanged"; - playerVehicleChanged = "ace_playerVehicleChanged"; initMortar = "ace_initMortar"; }; diff --git a/addons/modules/XEH_postInit.sqf b/addons/modules/XEH_postInit.sqf index 8eabe08f0d..293b946897 100644 --- a/addons/modules/XEH_postInit.sqf +++ b/addons/modules/XEH_postInit.sqf @@ -1,7 +1,7 @@ #include "script_component.hpp" -["ace_initSettingsFromModules", { +[QEGVAR(common,initSettingsFromModules), { // TODO This is a basic and limited implementation that mimics some of the functionality from the A3 module framework, but not all of it. // We have to execute this in the postInit XEH because on object init, the parameters of the modules are not yet available. They are if we execute it at the start of postInit execution. diff --git a/addons/modules/config.cpp b/addons/modules/config.cpp index c35dd623ba..543bbe2551 100644 --- a/addons/modules/config.cpp +++ b/addons/modules/config.cpp @@ -27,7 +27,3 @@ class CfgVehicles { }; #include "CfgEventHandlers.hpp" - -class ACE_newEvents { - InitSettingsFromModules = "ace_initSettingsFromModules"; -}; diff --git a/addons/movement/config.cpp b/addons/movement/config.cpp index 49dbd45277..a1d9b25be4 100644 --- a/addons/movement/config.cpp +++ b/addons/movement/config.cpp @@ -19,8 +19,3 @@ class CfgPatches { #include "CfgMoves.hpp" #include "CfgVehicles.hpp" #include "ACE_Settings.hpp" - -class ACE_newEvents { - playerInventoryChanged = "ace_playerInventoryChanged"; - playerChanged = "ace_playerChanged"; -}; \ No newline at end of file diff --git a/addons/nametags/config.cpp b/addons/nametags/config.cpp index 5fa6cde85a..b02dfa9297 100644 --- a/addons/nametags/config.cpp +++ b/addons/nametags/config.cpp @@ -18,7 +18,3 @@ class CfgPatches { #include "CfgVehicles.hpp" #include - -class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; -}; \ No newline at end of file diff --git a/addons/nightvision/config.cpp b/addons/nightvision/config.cpp index 5d2be0963e..0bb7c9227b 100644 --- a/addons/nightvision/config.cpp +++ b/addons/nightvision/config.cpp @@ -19,10 +19,6 @@ class CfgPatches { #include "ACE_Settings.hpp" class ACE_newEvents { - playerVisionModeChanged = "ace_playerVisionModeChanged"; firedPlayerVehicle = "ace_firedPlayerVehicle"; firedPlayer = "ace_firedPlayer"; - playerTurretChanged = "ace_playerTurretChanged"; - playerVehicleChanged = "ace_playerVehicleChanged"; - playerInventoryChanged = "ace_playerInventoryChanged"; -}; \ No newline at end of file +}; diff --git a/addons/noradio/XEH_postInit.sqf b/addons/noradio/XEH_postInit.sqf index 8396a00b8e..1606c674a9 100644 --- a/addons/noradio/XEH_postInit.sqf +++ b/addons/noradio/XEH_postInit.sqf @@ -11,7 +11,7 @@ if (isServer) then { if (!hasInterface) exitWith {}; // mutes/unmutes units when the player changes -["playerChanged", { +["ace_playerChanged", { params ["_newPlayer", "_oldPlayer"]; // mute the new player diff --git a/addons/optionsmenu/config.cpp b/addons/optionsmenu/config.cpp index 34be3b876d..0e564535b9 100644 --- a/addons/optionsmenu/config.cpp +++ b/addons/optionsmenu/config.cpp @@ -40,7 +40,3 @@ class CfgCommands { "http://ace3mod.com/version.html" }; }; - -class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; -}; \ No newline at end of file diff --git a/addons/overheating/config.cpp b/addons/overheating/config.cpp index 11837b7db7..863e3e01d3 100644 --- a/addons/overheating/config.cpp +++ b/addons/overheating/config.cpp @@ -52,7 +52,6 @@ class CfgGesturesMale { }; }; class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; initiateSwapBarrelAssisted = QGVAR(initiateSwapBarrelAssisted); showWeaponTemperature = QGVAR(showWeaponTemperature); firedPlayerNonLocal = "ace_firedPlayerNonLocal"; diff --git a/addons/parachute/config.cpp b/addons/parachute/config.cpp index a80edfcc99..5eb109ae94 100644 --- a/addons/parachute/config.cpp +++ b/addons/parachute/config.cpp @@ -19,7 +19,5 @@ class CfgPatches { #include "RscTitles.hpp" class ACE_newEvents { - playerVehicleChanged = "ace_playerVehicleChanged"; - playerInventoryChanged = "ace_playerInventoryChanged"; infoDisplayChanged = "ace_infoDisplayChanged"; -}; \ No newline at end of file +}; diff --git a/addons/rearm/config.cpp b/addons/rearm/config.cpp index be579f56fd..76ec880db7 100644 --- a/addons/rearm/config.cpp +++ b/addons/rearm/config.cpp @@ -21,6 +21,5 @@ class CfgPatches { #include "CfgVehicles.hpp" class ACE_newEvents { - playerVehicleChanged = "ace_playerVehicleChanged"; medical_onUnconscious = "ace_unconscious"; }; diff --git a/addons/respawn/config.cpp b/addons/respawn/config.cpp index 7133a361d7..3a887b48b2 100644 --- a/addons/respawn/config.cpp +++ b/addons/respawn/config.cpp @@ -20,8 +20,6 @@ class CfgPatches { #include "ACE_Settings.hpp" class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; - playerChanged = "ace_playerChanged"; rallypointMoved = "ace_rallypointMoved"; killedByFriendly = "ace_killedByFriendly"; }; diff --git a/addons/sandbag/config.cpp b/addons/sandbag/config.cpp index 1303b09ad0..55e88aef6c 100644 --- a/addons/sandbag/config.cpp +++ b/addons/sandbag/config.cpp @@ -19,9 +19,5 @@ class CfgPatches { class ACE_newEvents { medical_onUnconscious = "ace_unconscious"; - playerVehicleChanged = "ace_playerVehicleChanged"; - playerInventoryChanged = "ace_playerInventoryChanged"; - playerChanged = "ace_playerChanged"; interactMenuOpened = "ace_interactMenuOpened"; - enableSimulationGlobal = "ace_enableSimulationGlobal"; }; diff --git a/addons/sandbag/functions/fnc_deploy.sqf b/addons/sandbag/functions/fnc_deploy.sqf index ca81929a78..0cbe0c5012 100644 --- a/addons/sandbag/functions/fnc_deploy.sqf +++ b/addons/sandbag/functions/fnc_deploy.sqf @@ -27,7 +27,7 @@ _sandBag = createVehicle ["ACE_SandbagObject_NoGeo", [0, 0, 0], [], 0, "NONE"]; GVAR(sandBag) = _sandBag; // prevent collisions with sandbag -["ace_enableSimulationGlobal", [_sandBag, false]] call CBA_fnc_serverEvent; +[QEGVAR(common,enableSimulationGlobal), [_sandBag, false]] call CBA_fnc_serverEvent; GVAR(deployDirection) = 0; diff --git a/addons/scopes/config.cpp b/addons/scopes/config.cpp index 07b820f176..8a2e720283 100644 --- a/addons/scopes/config.cpp +++ b/addons/scopes/config.cpp @@ -24,8 +24,6 @@ class CfgPatches { #include "RscTitles.hpp" class ACE_newEvents { - cameraViewChanged = "ace_cameraViewChanged"; firedPlayerNonLocal = "ace_firedPlayerNonLocal"; firedPlayer = "ace_firedPlayer"; - playerInventoryChanged = "ace_playerInventoryChanged"; }; diff --git a/addons/sitting/config.cpp b/addons/sitting/config.cpp index d48a8f9fb9..88db8f5262 100644 --- a/addons/sitting/config.cpp +++ b/addons/sitting/config.cpp @@ -19,7 +19,6 @@ class CfgPatches { #include "CfgVehicles.hpp" class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; SetHandcuffed = QEGVAR(captives,setHandcuffed); medical_onUnconscious = "ace_unconscious"; -}; \ No newline at end of file +}; diff --git a/addons/tacticalladder/config.cpp b/addons/tacticalladder/config.cpp index 46be014d6a..b2e3405249 100644 --- a/addons/tacticalladder/config.cpp +++ b/addons/tacticalladder/config.cpp @@ -19,6 +19,4 @@ class CfgPatches { class ACE_newEvents { interactMenuOpened = "ace_interactMenuOpened"; medical_onUnconscious = "ace_unconscious"; - playerVehicleChanged = "ace_playerVehicleChanged"; - playerChanged = "ace_playerChanged"; }; diff --git a/addons/trenches/config.cpp b/addons/trenches/config.cpp index 0e689502a6..b1ca0fc0bb 100644 --- a/addons/trenches/config.cpp +++ b/addons/trenches/config.cpp @@ -19,9 +19,5 @@ class CfgPatches { class ACE_newEvents { medical_onUnconscious = "ace_unconscious"; - playerVehicleChanged = "ace_playerVehicleChanged"; - playerInventoryChanged = "ace_playerInventoryChanged"; - playerChanged = "ace_playerChanged"; interactMenuOpened = "ace_interactMenuOpened"; - enableSimulationGlobal = "ace_enableSimulationGlobal"; }; diff --git a/addons/trenches/functions/fnc_placeTrench.sqf b/addons/trenches/functions/fnc_placeTrench.sqf index 9a51e43b67..f7a643d882 100644 --- a/addons/trenches/functions/fnc_placeTrench.sqf +++ b/addons/trenches/functions/fnc_placeTrench.sqf @@ -36,7 +36,7 @@ _trench = createVehicle [_noGeoModel, [0, 0, 0], [], 0, "NONE"]; GVAR(trench) = _trench; // prevent collisions with trench -["ace_enableSimulationGlobal", [_trench, false]] call CBA_fnc_serverEvent; +[QEGVAR(common,enableSimulationGlobal), [_trench, false]] call CBA_fnc_serverEvent; GVAR(digDirection) = 0; diff --git a/addons/tripod/config.cpp b/addons/tripod/config.cpp index 6c18a663bc..7e4e556070 100644 --- a/addons/tripod/config.cpp +++ b/addons/tripod/config.cpp @@ -19,7 +19,5 @@ class CfgPatches { class ACE_newEvents { medical_onUnconscious = "ace_unconscious"; - playerVehicleChanged = "ace_playerVehicleChanged"; - playerChanged = "ace_playerChanged"; interactMenuOpened = "ace_interactMenuOpened"; }; diff --git a/addons/ui/config.cpp b/addons/ui/config.cpp index 339bc52e5c..0b680ca136 100644 --- a/addons/ui/config.cpp +++ b/addons/ui/config.cpp @@ -20,7 +20,3 @@ class CfgPatches { #include "RscChat.hpp" #include "RscVignette.hpp" - -class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; -}; diff --git a/addons/vehiclelock/config.cpp b/addons/vehiclelock/config.cpp index 1180cd8aab..cb67bca1c3 100644 --- a/addons/vehiclelock/config.cpp +++ b/addons/vehiclelock/config.cpp @@ -21,7 +21,6 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; VehicleLock_SetVehicleLock = QGVAR(setVehicleLock); VehicleLock_SetupCustomKey = QGVAR(setupCustomKey); }; diff --git a/addons/viewdistance/config.cpp b/addons/viewdistance/config.cpp index 92dacefcf1..bf3dd29d24 100644 --- a/addons/viewdistance/config.cpp +++ b/addons/viewdistance/config.cpp @@ -16,7 +16,3 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "ACE_Settings.hpp" #include "CfgVehicles.hpp" - -class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; -}; diff --git a/addons/weaponselect/config.cpp b/addons/weaponselect/config.cpp index 94c51a118c..2bc7e843f8 100644 --- a/addons/weaponselect/config.cpp +++ b/addons/weaponselect/config.cpp @@ -18,5 +18,4 @@ class CfgPatches { class ACE_newEvents { firedPlayer = "ace_firedPlayer"; - displayTextPicture = "ace_displayTextPicture"; }; diff --git a/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf b/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf index 5a6697cabc..288531df2c 100644 --- a/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf +++ b/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf @@ -26,4 +26,4 @@ private _name = getText (configFile >> "CfgMagazines" >> _magazine >> "displayNa private _text = [format ["%1 x%2", _name, _numberofGrenades], _color] call EFUNC(common,stringToColoredText); private _picture = getText (configFile >> "CfgMagazines" >> _magazine >> "picture"); -["ace_displayTextPicture", [_text, _picture]] call CBA_fnc_localEvent; +[_text, _picture] call EFUNC(common,displayTextPicture); diff --git a/addons/weather/config.cpp b/addons/weather/config.cpp index b0eff243cb..2444064f41 100644 --- a/addons/weather/config.cpp +++ b/addons/weather/config.cpp @@ -18,7 +18,3 @@ class CfgPatches { #include "RscTitles.hpp" #include "CfgVehicles.hpp" #include "ACE_Settings.hpp" - -class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; -}; diff --git a/addons/winddeflection/config.cpp b/addons/winddeflection/config.cpp index f400f2eb12..f49a9e11bf 100644 --- a/addons/winddeflection/config.cpp +++ b/addons/winddeflection/config.cpp @@ -26,7 +26,6 @@ class CfgAddons { #include "ACE_Settings.hpp" class ACE_newEvents { - SettingsInitialized = "ace_settingsInitialized"; firedPlayerVehicleNonLocal = "ace_firedPlayerVehicleNonLocal"; firedPlayerVehicle = "ace_firedPlayerVehicle"; firedPlayerNonLocal = "ace_firedPlayerNonLocal"; From b64b7e431e4f499e3bec929132967deb37d26675 Mon Sep 17 00:00:00 2001 From: Jonathan Pereira Date: Fri, 3 Jun 2016 23:11:40 -0300 Subject: [PATCH 39/63] Translated remaining strings --- addons/explosives/stringtable.xml | 1 + addons/fastroping/stringtable.xml | 1 + addons/gforces/stringtable.xml | 2 ++ addons/overheating/stringtable.xml | 9 ++++++ addons/repair/stringtable.xml | 1 + addons/trenches/stringtable.xml | 3 ++ addons/ui/stringtable.xml | 44 +++++++++++++++++++++++++++++- 7 files changed, 60 insertions(+), 1 deletion(-) diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index 206f92e977..65d19364de 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -46,6 +46,7 @@ Detonuj wszystkie Detona Tutti Tout mettre à feu + Detonar Tudo Explosive code: %1 diff --git a/addons/fastroping/stringtable.xml b/addons/fastroping/stringtable.xml index 7f08df7ed8..6d64fc24f5 100644 --- a/addons/fastroping/stringtable.xml +++ b/addons/fastroping/stringtable.xml @@ -79,6 +79,7 @@ Equipa el helicoptero seleccionado con un Sistema de Inserción Extracción Fast Rope Equipaggia l'elicottero selezionato con il Fast Rope Insertion Extraction System Vybavit vybraný vrtulník systémem Fast Rope Insertion Extraction (FRIES) + Equipa um helicóptero selecionado com um sistema de Fast Rope Insertion Extraction System LET UNITS FAST ROPE diff --git a/addons/gforces/stringtable.xml b/addons/gforces/stringtable.xml index f5d5f1b12d..921515f560 100644 --- a/addons/gforces/stringtable.xml +++ b/addons/gforces/stringtable.xml @@ -6,12 +6,14 @@ Gforces Effekte Efectos Gforces G Force efekty + Efeitos de ForçaG Only Aircraft Nur Luftfahrzeug Sólo Aeronave Pouze letadla + Somente Aeronave \ No newline at end of file diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index cafcf5f105..07fdedd681 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -264,9 +264,11 @@ Check spare barrels temperatures + Verifica temperatura de canos reservas Checking spare barrels temperatures... + Verificando temperatura de canos reservas Temperature @@ -282,26 +284,33 @@ Cool Spare Barrel/s + Cano/s reserva/s frio/s Warm Spare Barrel/s + Cano/s reserva/s morno/s Hot Spare Barrel/s + Cano/s reserva/s quente/s Very Hot Spare Barrel/s + Cano/s reserva/s muito quente/s Extremely Hot Spare Barrel/s + Cano/s reserva/s extremamente quente/s Overheating Enabled Überhitzen Aktiviert Activada Sobrecalentamiento + Superaquecimento ativado Master enable for the overheating/jamming module + Chave mestra para o módulo de superaquecimento/emperramento \ No newline at end of file diff --git a/addons/repair/stringtable.xml b/addons/repair/stringtable.xml index f92a370b83..48a647290f 100644 --- a/addons/repair/stringtable.xml +++ b/addons/repair/stringtable.xml @@ -1322,6 +1322,7 @@ Motor muss ausgeschaltet zu reparieren sein El motor necesita desactivado para la reparación Pro opravu je zapotřebí vypnout motor + O motor deve estar desligado para manutenção \ No newline at end of file diff --git a/addons/trenches/stringtable.xml b/addons/trenches/stringtable.xml index e9a64ae12b..77b845c2db 100644 --- a/addons/trenches/stringtable.xml +++ b/addons/trenches/stringtable.xml @@ -124,14 +124,17 @@ Continue Digging Trench Wzów kopanie wnęki + Continuar cavando trincheira Remove Trench Usuń wnękę + Remover trincheira Removing Trench Usuwanie wnęki + Removendo tricnheira \ No newline at end of file diff --git a/addons/ui/stringtable.xml b/addons/ui/stringtable.xml index 61dcc18ee7..a3d5cbbd25 100644 --- a/addons/ui/stringtable.xml +++ b/addons/ui/stringtable.xml @@ -4,157 +4,199 @@ User Interface Uživatelské rozhraní + Interface do usuário User Interface Uživatelské rozhraní + Interface do usuário This module allows toggling visible user interface parts. + Este módulo permite ligar ou desligar partes da interface do usuário Allow Selective UI Povolit selektivní UI + Permitir IU Selecionável Allow client to modify their UI. Povolit klientovi měnit jeho UI + Permite o cliente modificar sua IU. Soldier/Vehicle/Weapon Information Informace o Vojákovi/Vozidlu/Zbrani + Informação de Soldado/Veículo/Armamento Vehicle Radar Radar vozidla + Radar de Veículo Vehicle Compass Kompas vozidla + Bússola de Veículo Command Menu Menu rozkazů + Menu de Comando Group Bar Panel skupiny + Barra de Grupo Weapon Name Název zbraně + Nome do Armamento Weapon Name Background Název zbraně v pozadí + Fundo do Nome do Armamento Firing Mode Režim palby + Modo de Disparo Ammo Type Typ munice + Tipo de Munição Ammo Count Počet munice + Quantidade de Munição Magazine Count Počet zásobníků + Quantidade de Carregadores Throwable Type Typ granátů apod. + Tipo de Arremessável Throwable Count Počet granátů apod. + Quantidade de Arremessável Zeroing Náměr + Zerar a mira Weapon Lower Info Background + Informações na parte de baixo do fundo do Armamento Stance Postoj + Postura Stamina Bar Panel výdrže + Barra de Energia Gunner Weapon Name + Nome da arma do fuzileiro Gunner Weapon Name Background + Fundo do nome da arma do fuzileiro Gunner Firing Mode + Modo de disparo do fuzileiro Gunner Ammo Type + Tipo de Munição do fuzileiro Gunner Ammo Count + Quantidade de Munição do fuzileiro Gunner Magazine Count + Quantidade de Carregadores do fuzileiro Gunner Launchable Type + Tipo de Arremessável do fuzileiro Gunner Launchable Count + Quantidade de Arremessável do fuzileiro Gunner Zeroing + Zerar a mira do fuzileiro Gunner Weapon Lower Info Background + Informações na parte de baixo do fundo do Armamento do fuzileiro Vehicle Name Název vozidla + Nome do Veículo Vehicle Name Background Název vozidla v pozadí + Fundo do Nome do Veículo Vehicle Fuel Bar Ukazatel paliva + Barra de Combustível do Veículo Vehicle Speed Rychlost vozidla + Velocidade do Veículo Vehicle Altitude Výška vozidla + Altitude do Veículo Vehicle Damage Poškození vozidla + Dano do Veículo Vehicle Info Background Info o vozidle v pozadí + Fundo das informações do veículo Requires Soldier/Vehicle/Weapon Information. Vyžaduje informace o Vojákovi/Vozidlu/Zbrani + Requer informações de Soldado/Veículo/Armamento Modifying User Interface is disabled. Změna uživatelského rozhraní je zakázána. + A modificação da interface do usuário está desabilitada. Cannot modify a forced User Interface element. + Não é possível modificar um elemento forçado da interface do usuário. - + \ No newline at end of file From 1b6bbff139c101f947b8499efccf6392110364af Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Sat, 4 Jun 2016 09:46:50 +0100 Subject: [PATCH 40/63] Revert event names for synced events framework Keeping these names as short as possible for network traffic purposes. --- addons/common/XEH_postInit.sqf | 8 ++++---- addons/common/config.cpp | 3 --- .../functions/fnc__handleRequestAllSyncedEvents.sqf | 2 +- addons/common/functions/fnc__handleRequestSyncedEvent.sqf | 2 +- addons/common/functions/fnc_requestSyncedEvent.sqf | 2 +- addons/common/functions/fnc_syncedEvent.sqf | 2 +- 6 files changed, 8 insertions(+), 11 deletions(-) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 1408357086..4b12a18bec 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -145,14 +145,14 @@ if (isServer) then { if (!isServer) then { ["ace_playerJIP", { ACE_LOGINFO("JIP event synchronization initialized"); - [QGVAR(SEH_all), [player]] call CBA_fnc_serverEvent; + ["SEH_all", [player]] call CBA_fnc_serverEvent; }] call CBA_fnc_addEventHandler; } else { - [QGVAR(SEH_all), FUNC(_handleRequestAllSyncedEvents)] call CBA_fnc_addEventHandler; + ["SEH_all", FUNC(_handleRequestAllSyncedEvents)] call CBA_fnc_addEventHandler; }; -[QGVAR(SEH), FUNC(_handleSyncedEvent)] call CBA_fnc_addEventHandler; -[QGVAR(SEH_s), FUNC(_handleRequestSyncedEvent)] call CBA_fnc_addEventHandler; +["SEH", FUNC(_handleSyncedEvent)] call CBA_fnc_addEventHandler; +["SEH_s", FUNC(_handleRequestSyncedEvent)] call CBA_fnc_addEventHandler; if (isServer) then { [FUNC(syncedEventPFH), 0.5, []] call CBA_fnc_addPerFrameHandler; diff --git a/addons/common/config.cpp b/addons/common/config.cpp index a4d7789e1a..b92cd59fcb 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -33,9 +33,6 @@ class ACE_newEvents { playerChanged = "ace_playerChanged"; SettingsInitialized = "ace_settingsInitialized"; - SEH_s = QGVAR(SEH_s); - SEH = QGVAR(SEH); - SEH_all = QGVAR(SEH_all); setStatusEffect = QGVAR(setStatusEffect); HeadbugFixUsed = QGVAR(headbugFixUsed); InitSettingsFromModules = QGVAR(initSettingsFromModules); diff --git a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf index 4a599f2d7e..ce57658e6f 100644 --- a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf +++ b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf @@ -18,7 +18,7 @@ params ["_client"]; private _eventEntry = HASH_GET(GVAR(syncedEvents),_x); _eventEntry params ["", "_eventLog"]; - [QGVAR(SEH_s), [_x, _eventLog], _client] call CBA_fnc_targetEvent; + ["SEH_s", [_x, _eventLog], _client] call CBA_fnc_targetEvent; false } count (GVAR(syncedEvents) select 0); diff --git a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf index 40d60aedef..35aac9d52e 100644 --- a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf +++ b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf @@ -30,7 +30,7 @@ if (isServer) then { private _eventEntry = HASH_GET(GVAR(syncedEvents),_eventName); _eventEntry params ["", "_eventLog"]; - [QGVAR(SEH_s), [_eventName, _eventLog], _client] call CBA_fnc_targetEvent; + ["SEH_s", [_eventName, _eventLog], _client] call CBA_fnc_targetEvent; } else { params ["_eventName", "_eventLog"]; diff --git a/addons/common/functions/fnc_requestSyncedEvent.sqf b/addons/common/functions/fnc_requestSyncedEvent.sqf index 08423ad40d..0749b374ca 100644 --- a/addons/common/functions/fnc_requestSyncedEvent.sqf +++ b/addons/common/functions/fnc_requestSyncedEvent.sqf @@ -17,4 +17,4 @@ params ["_eventName"]; // Only JIP machines on initialization send this off, requesting sync on events with the serverCommand if (isServer) exitWith {false}; -[QGVAR(SEH_s), [_eventName, ACE_player]] call CBA_fnc_serverEvent; +["SEH_s", [_eventName, ACE_player]] call CBA_fnc_serverEvent; diff --git a/addons/common/functions/fnc_syncedEvent.sqf b/addons/common/functions/fnc_syncedEvent.sqf index c36c519f6d..3964d23afc 100644 --- a/addons/common/functions/fnc_syncedEvent.sqf +++ b/addons/common/functions/fnc_syncedEvent.sqf @@ -23,4 +23,4 @@ if (!HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith { private _eventData = [_name, _args, _ttl]; -[QGVAR(SEH), _eventData] call CBA_fnc_globalEvent; +["SEH", _eventData] call CBA_fnc_globalEvent; From 90ebf9638b6b53003fa32b8f3c2c76e0af96f72b Mon Sep 17 00:00:00 2001 From: SilentSpike Date: Sat, 4 Jun 2016 11:12:56 +0100 Subject: [PATCH 41/63] Update common event names to meet new standard --- addons/advanced_ballistics/config.cpp | 5 -- addons/captives/config.cpp | 1 - .../functions/fnc_handleOnUnconscious.sqf | 2 +- addons/cargo/XEH_postInit.sqf | 4 +- addons/cargo/config.cpp | 1 - addons/cargo/functions/fnc_startLoadIn.sqf | 2 +- addons/cargo/functions/fnc_startUnload.sqf | 2 +- addons/cargo/functions/fnc_unloadItem.sqf | 2 +- addons/common/RscInfoType.hpp | 2 +- addons/common/XEH_postInit.sqf | 40 ++++++------- addons/common/config.cpp | 59 ++++++++++--------- addons/common/functions/fnc_claim.sqf | 4 +- addons/common/functions/fnc_doAnimation.sqf | 14 ++--- addons/common/functions/fnc_muteUnit.sqf | 2 +- .../functions/fnc_muteUnitHandleInitPost.sqf | 2 +- .../functions/fnc_muteUnitHandleRespawn.sqf | 2 +- .../functions/fnc_unloadPersonLocal.sqf | 2 +- addons/common/functions/fnc_unmuteUnit.sqf | 2 +- addons/disposable/config.cpp | 5 -- addons/dragging/config.cpp | 8 --- addons/dragging/functions/fnc_carryObject.sqf | 2 +- addons/dragging/functions/fnc_dragObject.sqf | 2 +- addons/dragging/functions/fnc_dropObject.sqf | 8 +-- .../functions/fnc_dropObject_carry.sqf | 8 +-- .../functions/fnc_handleScrollWheel.sqf | 2 +- addons/explosives/config.cpp | 1 - addons/fcs/config.cpp | 6 -- addons/frag/config.cpp | 8 --- addons/goggles/config.cpp | 1 - addons/grenades/config.cpp | 3 - addons/huntir/config.cpp | 5 -- addons/interact_menu/config.cpp | 1 - addons/interaction/config.cpp | 4 -- .../functions/fnc_doBecomeLeader.sqf | 2 +- addons/interaction/functions/fnc_joinTeam.sqf | 2 +- .../functions/fnc_passMagazine.sqf | 4 +- addons/interaction/functions/fnc_push.sqf | 2 +- addons/logistics_uavbattery/config.cpp | 4 -- .../functions/fnc_refuelUAV.sqf | 2 +- .../fnc_actionCheckBloodPressureLocal.sqf | 2 +- .../functions/fnc_actionCheckPulseLocal.sqf | 2 +- .../functions/fnc_actionCheckResponse.sqf | 2 +- .../medical/functions/fnc_actionDiagnose.sqf | 2 +- .../medical/functions/fnc_actionLoadUnit.sqf | 2 +- .../functions/fnc_actionRemoveTourniquet.sqf | 2 +- .../fnc_displayPatientInformation.sqf | 2 +- addons/medical/functions/fnc_treatment.sqf | 2 +- .../functions/fnc_treatmentTourniquet.sqf | 4 +- .../medical_menu/functions/fnc_onMenuOpen.sqf | 2 +- addons/mk6mortar/config.cpp | 1 - addons/nightvision/config.cpp | 5 -- addons/optics/config.cpp | 5 -- addons/overheating/config.cpp | 3 - .../fnc_sendSpareBarrelsTemperaturesHint.sqf | 2 +- addons/overpressure/config.cpp | 2 - addons/parachute/config.cpp | 4 -- addons/rearm/config.cpp | 4 -- .../rearm/functions/fnc_rearmSuccessLocal.sqf | 8 +-- addons/recoil/config.cpp | 4 -- addons/refuel/config.cpp | 7 --- addons/refuel/functions/fnc_checkFuel.sqf | 4 +- .../functions/fnc_connectNozzleAction.sqf | 2 +- addons/refuel/functions/fnc_refuel.sqf | 2 +- addons/repair/XEH_postInit.sqf | 2 - addons/repair/config.cpp | 4 -- addons/repair/functions/fnc_doRemoveTrack.sqf | 2 +- addons/repair/functions/fnc_doRemoveWheel.sqf | 2 +- addons/repair/functions/fnc_repair.sqf | 6 +- addons/repair/functions/fnc_spawnObject.sqf | 4 +- addons/repair/functions/fnc_useItem.sqf | 2 +- addons/sandbag/config.cpp | 1 - addons/scopes/config.cpp | 9 --- addons/sitting/config.cpp | 1 - .../functions/fnc_respawnTemplate.sqf | 5 -- addons/switchunits/config.cpp | 4 -- addons/tacticalladder/config.cpp | 1 - addons/trenches/config.cpp | 1 - addons/tripod/config.cpp | 1 - addons/weaponselect/config.cpp | 4 -- addons/winddeflection/config.cpp | 7 --- 80 files changed, 117 insertions(+), 242 deletions(-) diff --git a/addons/advanced_ballistics/config.cpp b/addons/advanced_ballistics/config.cpp index 961a4a1b07..692a9391a0 100644 --- a/addons/advanced_ballistics/config.cpp +++ b/addons/advanced_ballistics/config.cpp @@ -21,8 +21,3 @@ class CfgPatches { class ACE_Extensions { extensions[] += {"ace_advanced_ballistics"}; }; - -class ACE_newEvents { - firedPlayerNonLocal = "ace_firedPlayerNonLocal"; - firedPlayer = "ace_firedPlayer"; -}; diff --git a/addons/captives/config.cpp b/addons/captives/config.cpp index c2faedb7c0..883fbebe32 100644 --- a/addons/captives/config.cpp +++ b/addons/captives/config.cpp @@ -21,7 +21,6 @@ class CfgPatches { #include "CfgEden.hpp" class ACE_newEvents { - medical_onUnconscious = "ace_unconscious"; SetSurrendered = QGVAR(setSurrendered); SetHandcuffed = QGVAR(setHandcuffed); MoveOutCaptive = QGVAR(moveOutCaptive); diff --git a/addons/captives/functions/fnc_handleOnUnconscious.sqf b/addons/captives/functions/fnc_handleOnUnconscious.sqf index ca6362d3da..456161d9de 100644 --- a/addons/captives/functions/fnc_handleOnUnconscious.sqf +++ b/addons/captives/functions/fnc_handleOnUnconscious.sqf @@ -1,6 +1,6 @@ /* * Author: commy2, PabstMirror - * Handles the "medical_onUnconscious" event + * Handles the "ace_unconscious" event * * Arguments: * 0: Unit diff --git a/addons/cargo/XEH_postInit.sqf b/addons/cargo/XEH_postInit.sqf index 2fe1e2c516..eeee387018 100644 --- a/addons/cargo/XEH_postInit.sqf +++ b/addons/cargo/XEH_postInit.sqf @@ -13,7 +13,7 @@ private _itemName = getText (configFile >> "CfgVehicles" >> typeOf _item >> "displayName"); private _vehicleName = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - ["ace_displayTextStructured", [[_hint, _itemName, _vehicleName], 3.0]] call CBA_fnc_localEvent; + [[_hint, _itemName, _vehicleName], 3.0] call EFUNC(common,displayTextStructured); if (_loaded) then { // Invoke listenable event @@ -34,7 +34,7 @@ private _itemName = getText (configFile >> "CfgVehicles" >> _itemClass >> "displayName"); private _vehicleName = getText (configFile >> "CfgVehicles" >> typeOf _vehicle >> "displayName"); - ["ace_displayTextStructured", [[_hint, _itemName, _vehicleName], 3.0]] call CBA_fnc_localEvent; + [[_hint, _itemName, _vehicleName], 3.0] call EFUNC(common,displayTextStructured); if (_unloaded) then { // Invoke listenable event diff --git a/addons/cargo/config.cpp b/addons/cargo/config.cpp index 450b2b5e25..1980fe207d 100644 --- a/addons/cargo/config.cpp +++ b/addons/cargo/config.cpp @@ -21,7 +21,6 @@ class CfgPatches { class ACE_newEvents { LoadCargo = "ace_loadCargo"; cargoUnloaded = "ace_cargoUnloaded"; - displayTextStructured = "ace_displayTextStructured"; cargoLoaded = "ace_cargoLoaded"; AddCargoByClass = "ace_addCargoByClass"; ServerUnloadCargo = QGVAR(serverUnload); diff --git a/addons/cargo/functions/fnc_startLoadIn.sqf b/addons/cargo/functions/fnc_startLoadIn.sqf index ceea80da9a..86ab85b701 100644 --- a/addons/cargo/functions/fnc_startLoadIn.sqf +++ b/addons/cargo/functions/fnc_startLoadIn.sqf @@ -48,7 +48,7 @@ if ([_object, _vehicle] call FUNC(canLoadItemIn)) then { } else { private _displayName = getText (configFile >> "CfgVehicles" >> typeOf _object >> "displayName"); - ["ace_displayTextStructured", [[LSTRING(LoadingFailed), _displayName], 3.0]] call CBA_fnc_localEvent; + [[LSTRING(LoadingFailed), _displayName], 3.0] call EFUNC(common,displayTextStructured); }; _return diff --git a/addons/cargo/functions/fnc_startUnload.sqf b/addons/cargo/functions/fnc_startUnload.sqf index 3179855b60..da493e5f96 100644 --- a/addons/cargo/functions/fnc_startUnload.sqf +++ b/addons/cargo/functions/fnc_startUnload.sqf @@ -47,5 +47,5 @@ if ([_item, GVAR(interactionVehicle), ACE_player] call FUNC(canUnloadItem)) then private _itemClass = if (_item isEqualType "") then {_item} else {typeOf _item}; private _displayName = getText (configFile >> "CfgVehicles" >> _itemClass >> "displayName"); - ["ace_displayTextStructured", [[LSTRING(UnloadingFailed), _displayName], 3.0]] call CBA_fnc_localEvent; + [[LSTRING(UnloadingFailed), _displayName], 3.0] call EFUNC(common,displayTextStructured); }; diff --git a/addons/cargo/functions/fnc_unloadItem.sqf b/addons/cargo/functions/fnc_unloadItem.sqf index 204a8479ca..35c9075614 100644 --- a/addons/cargo/functions/fnc_unloadItem.sqf +++ b/addons/cargo/functions/fnc_unloadItem.sqf @@ -29,7 +29,7 @@ if ((count _emptyPosAGL) != 3) exitWith { TRACE_4("Could not find unload pos",_vehicle,getPosASL _vehicle,isTouchingGround _vehicle,speed _vehicle); if ((!isNull _unloader) && {_unloader == ACE_player}) then { //display text saying there are no safe places to exit the vehicle - ["ace_displayTextStructured", [localize ELSTRING(common,NoRoomToUnload)]] call CBA_fnc_localEvent; + [localize ELSTRING(common,NoRoomToUnload)] call EFUNC(common,displayTextStructured); }; false }; diff --git a/addons/common/RscInfoType.hpp b/addons/common/RscInfoType.hpp index b62839f9ca..97d4b325e9 100644 --- a/addons/common/RscInfoType.hpp +++ b/addons/common/RscInfoType.hpp @@ -1,7 +1,7 @@ class RscInGameUI { class RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); }; class RscUnitInfoNoHUD { diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 4b12a18bec..1029d9b2a0 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -75,7 +75,7 @@ if (isServer) then { }; // Listens for global "SettingChanged" events, to update the force status locally -["SettingChanged", { +["ace_settingChanged", { params ["_name", "_value", "_force"]; if (_force) then { @@ -94,33 +94,33 @@ if (isServer) then { ACE_LOGINFO_2("Headbug Used: Name: %1, Animation: %2",_profileName,_animation); }] call CBA_fnc_addEventHandler; -["ace_fixCollision", FUNC(fixCollision)] call CBA_fnc_addEventHandler; -["ace_fixFloating", FUNC(fixFloating)] call CBA_fnc_addEventHandler; -["ace_fixPosition", FUNC(fixPosition)] call CBA_fnc_addEventHandler; +[QGVAR(fixCollision), FUNC(fixCollision)] call CBA_fnc_addEventHandler; +[QGVAR(fixFloating), FUNC(fixFloating)] call CBA_fnc_addEventHandler; +[QGVAR(fixPosition), FUNC(fixPosition)] call CBA_fnc_addEventHandler; ["ace_loadPersonEvent", FUNC(loadPersonLocal)] call CBA_fnc_addEventHandler; ["ace_unloadPersonEvent", FUNC(unloadPersonLocal)] call CBA_fnc_addEventHandler; -["lockVehicle", { +[QGVAR(lockVehicle), { _this setVariable [QGVAR(lockStatus), locked _this]; _this lock 2; }] call CBA_fnc_addEventHandler; -["unlockVehicle", { +[QGVAR(unlockVehicle), { _this lock (_this getVariable [QGVAR(lockStatus), locked _this]); }] call CBA_fnc_addEventHandler; -["ace_setDir", {(_this select 0) setDir (_this select 1)}] call CBA_fnc_addEventHandler; -["ace_setFuel", {(_this select 0) setFuel (_this select 1)}] call CBA_fnc_addEventHandler; -["ace_engineOn", {(_this select 0) engineOn (_this select 1)}] call CBA_fnc_addEventHandler; -["ace_setSpeaker", {(_this select 0) setSpeaker (_this select 1)}] call CBA_fnc_addEventHandler; -["ace_selectLeader", {(_this select 0) selectLeader (_this select 1)}] call CBA_fnc_addEventHandler; -["ace_setVelocity", {(_this select 0) setVelocity (_this select 1)}] call CBA_fnc_addEventHandler; -["ace_playMove", {(_this select 0) playMove (_this select 1)}] call CBA_fnc_addEventHandler; -["ace_playMoveNow", {(_this select 0) playMoveNow (_this select 1)}] call CBA_fnc_addEventHandler; -["ace_switchMove", {(_this select 0) switchMove (_this select 1)}] call CBA_fnc_addEventHandler; -["ace_setVectorDirAndUp", {(_this select 0) setVectorDirAndUp (_this select 1)}] call CBA_fnc_addEventHandler; -["ace_setVanillaHitPointDamage", {(_this select 0) setHitPointDamage (_this select 1)}] call CBA_fnc_addEventHandler; +[QGVAR(setDir), {(_this select 0) setDir (_this select 1)}] call CBA_fnc_addEventHandler; +[QGVAR(setFuel), {(_this select 0) setFuel (_this select 1)}] call CBA_fnc_addEventHandler; +[QGVAR(engineOn), {(_this select 0) engineOn (_this select 1)}] call CBA_fnc_addEventHandler; +[QGVAR(setSpeaker), {(_this select 0) setSpeaker (_this select 1)}] call CBA_fnc_addEventHandler; +[QGVAR(selectLeader), {(_this select 0) selectLeader (_this select 1)}] call CBA_fnc_addEventHandler; +[QGVAR(setVelocity), {(_this select 0) setVelocity (_this select 1)}] call CBA_fnc_addEventHandler; +[QGVAR(playMove), {(_this select 0) playMove (_this select 1)}] call CBA_fnc_addEventHandler; +[QGVAR(playMoveNow), {(_this select 0) playMoveNow (_this select 1)}] call CBA_fnc_addEventHandler; +[QGVAR(switchMove), {(_this select 0) switchMove (_this select 1)}] call CBA_fnc_addEventHandler; +[QGVAR(setVectorDirAndUp), {(_this select 0) setVectorDirAndUp (_this select 1)}] call CBA_fnc_addEventHandler; +[QGVAR(setVanillaHitPointDamage), {(_this select 0) setHitPointDamage (_this select 1)}] call CBA_fnc_addEventHandler; // Request framework [QGVAR(requestCallback), FUNC(requestCallback)] call CBA_fnc_addEventHandler; @@ -426,10 +426,10 @@ GVAR(OldIsCamera) = false; // Eventhandlers for player controlled machines ////////////////////////////////////////////////// -["ace_displayTextStructured", {_this call FUNC(displayTextStructured)}] call CBA_fnc_addEventHandler; -["ace_displayTextPicture", {_this call FUNC(displayTextPicture)}] call CBA_fnc_addEventHandler; +[QGVAR(displayTextStructured), {_this call FUNC(displayTextStructured)}] call CBA_fnc_addEventHandler; +[QGVAR(displayTextPicture), {_this call FUNC(displayTextPicture)}] call CBA_fnc_addEventHandler; -["medical_onUnconscious", { +["ace_unconscious", { params ["_unit", "_isUnconscious"]; if (local _unit && {!_isUnconscious}) then { diff --git a/addons/common/config.cpp b/addons/common/config.cpp index b92cd59fcb..f1bb9308d6 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -15,12 +15,14 @@ class CfgPatches { // This class will be deprecated in version 3.8.0 class ACE_newEvents { + // Status effect events forceWalk = QGVAR(forceWalk); blockSprint = QGVAR(blockSprint); setCaptive = QGVAR(setCaptive); blockDamage = QGVAR(blockDamage); blockEngine = QGVAR(blockEngine); + // Public listenable events PlayerJip = "ace_playerJIP"; activeCameraChanged = "ace_activeCameraChanged"; visibleMapChanged = "ace_visibleMapChanged"; @@ -32,32 +34,6 @@ class ACE_newEvents { playerVehicleChanged = "ace_playerVehicleChanged"; playerChanged = "ace_playerChanged"; SettingsInitialized = "ace_settingsInitialized"; - - setStatusEffect = QGVAR(setStatusEffect); - HeadbugFixUsed = QGVAR(headbugFixUsed); - InitSettingsFromModules = QGVAR(initSettingsFromModules); - enableSimulationGlobal = QGVAR(enableSimulationGlobal); - hideObjectGlobal = QGVAR(hideObjectGlobal); - - useItem = "ace_useItem"; - displayTextPicture = "ace_displayTextPicture"; - displayTextStructured = "ace_displayTextStructured"; - setVanillaHitPointDamage = "ace_setVanillaHitPointDamage"; - setVectorDirAndUp = "ace_setVectorDirAndUp"; - switchMove = "ace_switchMove"; - playMoveNow = "ace_playMoveNow"; - playMove = "ace_playMove"; - setVelocity = "ace_setVelocity"; - selectLeader = "ace_selectLeader"; - setSpeaker = "ace_setSpeaker"; - engineOn = "ace_engineOn"; - setFuel = "ace_setFuel"; - setDir = "ace_setDir"; - unloadPersonEvent = "ace_unloadPersonEvent"; - loadPersonEvent = "ace_loadPersonEvent"; - fixPosition = "ace_fixPosition"; - fixFloating = "ace_fixFloating"; - fixCollision = "ace_fixCollision"; SettingChanged = "ace_settingChanged"; firedNonPlayerVehicle = "ace_firedNonPlayerVehicle"; firedPlayerVehicleNonLocal = "ace_firedPlayerVehicleNonLocal"; @@ -65,8 +41,35 @@ class ACE_newEvents { firedNonPlayer = "ace_firedNonPlayer"; firedPlayerNonLocal = "ace_firedPlayerNonLocal"; firedPlayer = "ace_firedPlayer"; - unlockVehicle = "ace_unlockVehicle"; - lockVehicle = "ace_lockVehicle"; + unloadPersonEvent = "ace_unloadPersonEvent"; + loadPersonEvent = "ace_loadPersonEvent"; + useItem = "ace_useItem"; + infoDisplayChanged = "ace_infoDisplayChanged"; + + // Internal callable events + setStatusEffect = QGVAR(setStatusEffect); + HeadbugFixUsed = QGVAR(headbugFixUsed); + InitSettingsFromModules = QGVAR(initSettingsFromModules); + enableSimulationGlobal = QGVAR(enableSimulationGlobal); + hideObjectGlobal = QGVAR(hideObjectGlobal); + fixPosition = QGVAR(fixPosition); + fixFloating = QGVAR(fixFloating); + fixCollision = QGVAR(fixCollision); + unlockVehicle = QGVAR(unlockVehicle); + lockVehicle = QGVAR(lockVehicle); + displayTextPicture = QGVAR(displayTextPicture); + displayTextStructured = QGVAR(displayTextStructured); + setVanillaHitPointDamage = QGVAR(setVanillaHitPointDamage); + setVectorDirAndUp = QGVAR(setVectorDirAndUp); + switchMove = QGVAR(switchMove); + playMoveNow = QGVAR(playMoveNow); + playMove = QGVAR(playMove); + setVelocity = QGVAR(setVelocity); + selectLeader = QGVAR(selectLeader); + setSpeaker = QGVAR(setSpeaker); + engineOn = QGVAR(engineOn); + setFuel = QGVAR(setFuel); + setDir = QGVAR(setDir); }; #include "CfgEventHandlers.hpp" diff --git a/addons/common/functions/fnc_claim.sqf b/addons/common/functions/fnc_claim.sqf index 2699e423bd..214de6052b 100644 --- a/addons/common/functions/fnc_claim.sqf +++ b/addons/common/functions/fnc_claim.sqf @@ -28,9 +28,9 @@ _target setVariable [QGVAR(owner), _unit, true]; // lock target object if (_lockTarget) then { if (!isNull _unit) then { - ["ace_lockVehicle", _target, _target] call CBA_fnc_targetEvent; + [QGVAR(lockVehicle), _target, _target] call CBA_fnc_targetEvent; } else { - ["ace_unlockVehicle", _target, _target] call CBA_fnc_targetEvent; + [QGVAR(unlockVehicle), _target, _target] call CBA_fnc_targetEvent; }; }; diff --git a/addons/common/functions/fnc_doAnimation.sqf b/addons/common/functions/fnc_doAnimation.sqf index 9460debb78..720518d003 100644 --- a/addons/common/functions/fnc_doAnimation.sqf +++ b/addons/common/functions/fnc_doAnimation.sqf @@ -41,34 +41,34 @@ TRACE_2("",local _unit,vehicle _unit); switch (_priority) do { case 0: { if (_unit == vehicle _unit) then { - ["ace_playMove", [_unit, _animation], _unit] call CBA_fnc_targetEvent; + [QGVAR(playMove), [_unit, _animation], _unit] call CBA_fnc_targetEvent; } else { // Execute on all machines. PlayMove and PlayMoveNow are bugged: They have no global effects when executed on remote machines inside vehicles. - ["ace_playMove", [_unit, _animation]] call CBA_fnc_globalEvent; + [QGVAR(playMove), [_unit, _animation]] call CBA_fnc_globalEvent; }; }; case 1: { if (_unit == vehicle _unit) then { - ["ace_playMoveNow", [_unit, _animation], _unit] call CBA_fnc_targetEvent; + [QGVAR(playMoveNow), [_unit, _animation], _unit] call CBA_fnc_targetEvent; } else { // Execute on all machines. PlayMove and PlayMoveNow are bugged: They have no global effects when executed on remote machines inside vehicles. - ["ace_playMoveNow", [_unit, _animation]] call CBA_fnc_globalEvent; + [QGVAR(playMoveNow), [_unit, _animation]] call CBA_fnc_globalEvent; }; }; case 2: { // try playMoveNow first if (_unit == vehicle _unit) then { - ["ace_playMoveNow", [_unit, _animation], _unit] call CBA_fnc_targetEvent; + [QGVAR(playMoveNow), [_unit, _animation], _unit] call CBA_fnc_targetEvent; } else { // Execute on all machines. PlayMove and PlayMoveNow are bugged: They have no global effects when executed on remote machines inside vehicles. - ["ace_playMoveNow", [_unit, _animation]] call CBA_fnc_globalEvent; + [QGVAR(playMoveNow), [_unit, _animation]] call CBA_fnc_globalEvent; }; // if animation doesn't respond, do switchMove if (animationState _unit != _animation) then { TRACE_1("did not respond to playMoveNow",animationState _unit); // Execute on all machines. SwitchMove has local effects. - ["ace_switchMove", [_unit, _animation]] call CBA_fnc_globalEvent; + [QGVAR(switchMove), [_unit, _animation]] call CBA_fnc_globalEvent; }; }; default {}; diff --git a/addons/common/functions/fnc_muteUnit.sqf b/addons/common/functions/fnc_muteUnit.sqf index d34b605595..11c18aedd7 100644 --- a/addons/common/functions/fnc_muteUnit.sqf +++ b/addons/common/functions/fnc_muteUnit.sqf @@ -29,6 +29,6 @@ private _speaker = speaker _unit; if (_speaker == "ACE_NoVoice") exitWith {}; -["ace_setSpeaker", [_unit, "ACE_NoVoice"]] call CBA_fnc_globalEvent; +[QGVAR(setSpeaker), [_unit, "ACE_NoVoice"]] call CBA_fnc_globalEvent; _unit setVariable ["ACE_OriginalSpeaker", _speaker, true]; diff --git a/addons/common/functions/fnc_muteUnitHandleInitPost.sqf b/addons/common/functions/fnc_muteUnitHandleInitPost.sqf index f71e3e8362..53e8d4d5b7 100644 --- a/addons/common/functions/fnc_muteUnitHandleInitPost.sqf +++ b/addons/common/functions/fnc_muteUnitHandleInitPost.sqf @@ -16,5 +16,5 @@ params ["_unit"]; // setSpeaker gets overwritten after init on remote units; if unit is muted, setSpeaker again if (count (_unit getVariable [QGVAR(muteUnitReasons), []]) > 0) then { - ["ace_setSpeaker", [_unit, "ACE_NoVoice"]] call CBA_fnc_localEvent; + [QGVAR(setSpeaker), [_unit, "ACE_NoVoice"]] call CBA_fnc_localEvent; }; diff --git a/addons/common/functions/fnc_muteUnitHandleRespawn.sqf b/addons/common/functions/fnc_muteUnitHandleRespawn.sqf index cfb64e8c69..ceb0614116 100644 --- a/addons/common/functions/fnc_muteUnitHandleRespawn.sqf +++ b/addons/common/functions/fnc_muteUnitHandleRespawn.sqf @@ -18,4 +18,4 @@ params ["_unit"]; _unit setVariable [QGVAR(muteUnitReasons), _unit getVariable [QGVAR(muteUnitReasons), []], true]; // fix mp issues with respawning and the speaker -["ace_setSpeaker", [_unit, speaker _unit]] call CBA_fnc_globalEvent; +[QGVAR(setSpeaker), [_unit, speaker _unit]] call CBA_fnc_globalEvent; diff --git a/addons/common/functions/fnc_unloadPersonLocal.sqf b/addons/common/functions/fnc_unloadPersonLocal.sqf index bf467332eb..517e0aa2ad 100644 --- a/addons/common/functions/fnc_unloadPersonLocal.sqf +++ b/addons/common/functions/fnc_unloadPersonLocal.sqf @@ -27,7 +27,7 @@ if (count _emptyPos != 3) exitwith { ACE_LOGWARNING_4("Could not find unload pos %1-ASL: %2 isTouchingGround: %3 Speed: %4",_vehicle, getPosASL _vehicle, isTouchingGround _vehicle, speed _vehicle); if ((!isNull _unloader) && {[_unloader] call FUNC(isPlayer)}) then { //display text saying there are no safe places to exit the vehicle - ["ace_displayTextStructured", [localize LSTRING(NoRoomToUnload)], [_unloader]] call CBA_fnc_targetEvent; + [QGVAR(displayTextStructured), [localize LSTRING(NoRoomToUnload)], [_unloader]] call CBA_fnc_targetEvent; }; false }; diff --git a/addons/common/functions/fnc_unmuteUnit.sqf b/addons/common/functions/fnc_unmuteUnit.sqf index 0474975a16..b6d673cfd5 100644 --- a/addons/common/functions/fnc_unmuteUnit.sqf +++ b/addons/common/functions/fnc_unmuteUnit.sqf @@ -32,4 +32,4 @@ private _speaker = _unit getVariable ["ACE_OriginalSpeaker", ""]; if (_speaker == "") exitWith {}; -["ace_setSpeaker", [_unit, _speaker], _unit] call CBA_fnc_targetEvent; +[QGVAR(setSpeaker), [_unit, _speaker], _unit] call CBA_fnc_targetEvent; diff --git a/addons/disposable/config.cpp b/addons/disposable/config.cpp index 1f87c85c28..e240206938 100644 --- a/addons/disposable/config.cpp +++ b/addons/disposable/config.cpp @@ -17,8 +17,3 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "CfgMagazines.hpp" #include "CfgVehicles.hpp" - -class ACE_newEvents { - firedNonPlayer = "ace_firedNonPlayer"; - firedPlayer = "ace_firedPlayer"; -}; diff --git a/addons/dragging/config.cpp b/addons/dragging/config.cpp index 48d72c5106..a3e87c5824 100644 --- a/addons/dragging/config.cpp +++ b/addons/dragging/config.cpp @@ -16,11 +16,3 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "CfgMovesBasic.hpp" - -class ACE_newEvents { - medical_onUnconscious = "ace_unconscious"; - setDir = "ace_setDir"; - fixFloating = "ace_fixFloating"; - fixPosition = "ace_fixPosition"; - fixCollision = "ace_fixCollision"; -}; diff --git a/addons/dragging/functions/fnc_carryObject.sqf b/addons/dragging/functions/fnc_carryObject.sqf index f6a0b9ac46..9fb198e02c 100644 --- a/addons/dragging/functions/fnc_carryObject.sqf +++ b/addons/dragging/functions/fnc_carryObject.sqf @@ -44,7 +44,7 @@ if (_target isKindOf "CAManBase") then { _target attachTo [_unit, _position]; }; -["ace_setDir", [_target, _direction], _target] call CBA_fnc_targetEvent; +[QEGVAR(common,setDir), [_target, _direction], _target] call CBA_fnc_targetEvent; _unit setVariable [QGVAR(isCarrying), true, true]; _unit setVariable [QGVAR(carriedObject), _target, true]; diff --git a/addons/dragging/functions/fnc_dragObject.sqf b/addons/dragging/functions/fnc_dragObject.sqf index 7a76684217..4672aa89c4 100644 --- a/addons/dragging/functions/fnc_dragObject.sqf +++ b/addons/dragging/functions/fnc_dragObject.sqf @@ -33,7 +33,7 @@ _position = _position vectorAdd [0, 0, _offset]; // attach object TRACE_3("attaching",_position,_offset,_direction); _target attachTo [_unit, _position]; -["ace_setDir", [_target, _direction], _target] call CBA_fnc_targetEvent; +[QEGVAR(common,setDir), [_target, _direction], _target] call CBA_fnc_targetEvent; if (_target isKindOf "CAManBase") then { [_target, "AinjPpneMrunSnonWnonDb_still", 0, true] call EFUNC(common,doAnimation); diff --git a/addons/dragging/functions/fnc_dropObject.sqf b/addons/dragging/functions/fnc_dropObject.sqf index e32734ebb4..c70bf90c38 100644 --- a/addons/dragging/functions/fnc_dropObject.sqf +++ b/addons/dragging/functions/fnc_dropObject.sqf @@ -30,8 +30,8 @@ if !(_unit getVariable ["ACE_isUnconscious", false]) then { }; // prevent collision damage -["ace_fixCollision", _unit] call CBA_fnc_localEvent; -["ace_fixCollision", _target, _target] call CBA_fnc_targetEvent; +[QEGVAR(common,fixCollision), _unit] call CBA_fnc_localEvent; +[QEGVAR(common,fixCollision), _target, _target] call CBA_fnc_targetEvent; // release object detach _target; @@ -62,8 +62,8 @@ _unit setVariable [QGVAR(draggedObject), objNull, true]; [objNull, _target, true] call EFUNC(common,claim); if !(_target isKindOf "CAManBase") then { - ["ace_fixPosition", _target, _target] call CBA_fnc_targetEvent; - ["ace_fixFloating", _target, _target] call CBA_fnc_targetEvent; + [QEGVAR(common,fixPosition), _target, _target] call CBA_fnc_targetEvent; + [QEGVAR(common,fixFloating), _target, _target] call CBA_fnc_targetEvent; }; if (_unit getVariable ["ACE_isUnconscious", false]) then { diff --git a/addons/dragging/functions/fnc_dropObject_carry.sqf b/addons/dragging/functions/fnc_dropObject_carry.sqf index 49cf4dbcad..c3521bbed0 100644 --- a/addons/dragging/functions/fnc_dropObject_carry.sqf +++ b/addons/dragging/functions/fnc_dropObject_carry.sqf @@ -25,8 +25,8 @@ TRACE_2("params",_unit,_target); private _inBuilding = [_unit] call FUNC(isObjectOnObject); // prevent collision damage -["ace_fixCollision", _unit] call CBA_fnc_localEvent; -["ace_fixCollision", _target, _target] call CBA_fnc_targetEvent; +[QEGVAR(common,fixCollision), _unit] call CBA_fnc_localEvent; +[QEGVAR(common,fixCollision), _target, _target] call CBA_fnc_targetEvent; // release object detach _target; @@ -67,8 +67,8 @@ _unit setVariable [QGVAR(carriedObject), objNull, true]; [objNull, _target, true] call EFUNC(common,claim); if !(_target isKindOf "CAManBase") then { - ["ace_fixPosition", _target, _target] call CBA_fnc_targetEvent; - ["ace_fixFloating", _target, _target] call CBA_fnc_targetEvent; + [QEGVAR(common,fixPosition), _target, _target] call CBA_fnc_targetEvent; + [QEGVAR(common,fixFloating), _target, _target] call CBA_fnc_targetEvent; }; // recreate UAV crew diff --git a/addons/dragging/functions/fnc_handleScrollWheel.sqf b/addons/dragging/functions/fnc_handleScrollWheel.sqf index 505ad441bf..e3a30ea9e0 100644 --- a/addons/dragging/functions/fnc_handleScrollWheel.sqf +++ b/addons/dragging/functions/fnc_handleScrollWheel.sqf @@ -42,6 +42,6 @@ _carriedItem attachTo [_unit]; //reset the carry direction private _direction = _carriedItem getVariable [QGVAR(carryDirection), 0]; -["ace_setDir", [_carriedItem, _direction], _carriedItem] call CBA_fnc_targetEvent; +[QEGVAR(common,setDir), [_carriedItem, _direction], _carriedItem] call CBA_fnc_targetEvent; true diff --git a/addons/explosives/config.cpp b/addons/explosives/config.cpp index 379cf1138a..83033cbddc 100644 --- a/addons/explosives/config.cpp +++ b/addons/explosives/config.cpp @@ -45,7 +45,6 @@ class CfgMineTriggers { }; class ACE_newEvents { - medical_onUnconscious = "ace_unconscious"; clientRequestsOrientations = QGVAR(clientRequestOrientations); serverSendsOrientations = QGVAR(serverSendOrientations); }; diff --git a/addons/fcs/config.cpp b/addons/fcs/config.cpp index 5c75614d2e..a38cee5d7d 100644 --- a/addons/fcs/config.cpp +++ b/addons/fcs/config.cpp @@ -26,9 +26,3 @@ class CfgPatches { class ACE_Extensions { extensions[] += {"ace_fcs"}; }; - -class ACE_newEvents { - infoDisplayChanged = "ace_infoDisplayChanged"; - firedPlayerVehicleNonLocal = "ace_firedPlayerVehicleNonLocal"; - firedPlayerVehicle = "ace_firedPlayerVehicle"; -}; \ No newline at end of file diff --git a/addons/frag/config.cpp b/addons/frag/config.cpp index 84fe7249b4..5526e5c1bc 100644 --- a/addons/frag/config.cpp +++ b/addons/frag/config.cpp @@ -15,11 +15,3 @@ class CfgPatches { #include "CfgEventhandlers.hpp" #include "CfgAmmo.hpp" #include "ACE_Settings.hpp" -class ACE_newEvents { - firedNonPlayerVehicle = "ace_firedNonPlayerVehicle"; - firedPlayerVehicleNonLocal = "ace_firedPlayerVehicleNonLocal"; - firedPlayerVehicle = "ace_firedPlayerVehicle"; - firedNonPlayer = "ace_firedNonPlayer"; - firedPlayerNonLocal = "ace_firedPlayerNonLocal"; - firedPlayer = "ace_firedPlayer"; -}; diff --git a/addons/goggles/config.cpp b/addons/goggles/config.cpp index d3d1f6189f..062300d4d5 100644 --- a/addons/goggles/config.cpp +++ b/addons/goggles/config.cpp @@ -271,7 +271,6 @@ class CfgCloudlets { }; class ACE_newEvents { - firedPlayer = "ace_firedPlayer"; GlassesChanged = "ace_glassesChanged"; GlassesCracked = "ace_glassesCracked"; }; diff --git a/addons/grenades/config.cpp b/addons/grenades/config.cpp index fc9a232dca..0d5ab09d0b 100644 --- a/addons/grenades/config.cpp +++ b/addons/grenades/config.cpp @@ -22,8 +22,5 @@ class CfgPatches { #include "Effects.hpp" class ACE_newEvents { - firedNonPlayer = "ace_firedNonPlayer"; - firedPlayerNonLocal = "ace_firedPlayerNonLocal"; - firedPlayer = "ace_firedPlayer"; flashbangExplosion = "ace_flashbangExploded"; }; diff --git a/addons/huntir/config.cpp b/addons/huntir/config.cpp index 22db819425..ce4b10bab1 100644 --- a/addons/huntir/config.cpp +++ b/addons/huntir/config.cpp @@ -21,8 +21,3 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "Dialog.hpp" #include "RscTitles.hpp" - -class ACE_newEvents { - firedPlayerNonLocal = "ace_firedPlayerNonLocal"; - firedPlayer = "ace_firedPlayer"; -}; \ No newline at end of file diff --git a/addons/interact_menu/config.cpp b/addons/interact_menu/config.cpp index 3ad5316b38..e8731df93c 100644 --- a/addons/interact_menu/config.cpp +++ b/addons/interact_menu/config.cpp @@ -26,7 +26,6 @@ class ACE_Extensions { }; class ACE_newEvents { - SettingChanged = "ace_settingChanged"; interactMenuOpened = "ace_interactMenuOpened"; clearConditionCaches = QGVAR(clearConditionCaches); interactMenuClosed = "ace_interactMenuClosed"; diff --git a/addons/interaction/config.cpp b/addons/interaction/config.cpp index 6f8454d1a4..b984570059 100644 --- a/addons/interaction/config.cpp +++ b/addons/interaction/config.cpp @@ -24,10 +24,6 @@ class ACE_newEvents { pardon = QGVAR(pardon); tapShoulder = QGVAR(tapShoulder); sendAway = QGVAR(sendAway); - setVelocity = "ace_setVelocity"; - displayTextStructured = "ace_displayTextStructured"; - CBA_teamColorChanged = "ace_CBA_teamColorChanged"; - selectLeader = "ace_selectLeader"; lampTurnOff = QGVAR(lampTurnOff); lampTurnOn = QGVAR(lampTurnOn); }; diff --git a/addons/interaction/functions/fnc_doBecomeLeader.sqf b/addons/interaction/functions/fnc_doBecomeLeader.sqf index a5a2ede5b2..8c8663b03b 100644 --- a/addons/interaction/functions/fnc_doBecomeLeader.sqf +++ b/addons/interaction/functions/fnc_doBecomeLeader.sqf @@ -17,4 +17,4 @@ params ["_unit"]; -["ace_selectLeader", [group _unit, _unit], units group _unit] call CBA_fnc_targetEvent; +[QEGVAR(common,selectLeader), [group _unit, _unit], units group _unit] call CBA_fnc_targetEvent; diff --git a/addons/interaction/functions/fnc_joinTeam.sqf b/addons/interaction/functions/fnc_joinTeam.sqf index 70a2ba2b35..dfbb2b9070 100644 --- a/addons/interaction/functions/fnc_joinTeam.sqf +++ b/addons/interaction/functions/fnc_joinTeam.sqf @@ -31,5 +31,5 @@ if (_unit == ACE_player) then { _message = format [localize LSTRING(JoinedTeam), _team]; }; - ["ace_displayTextStructured", _message] call CBA_fnc_localEvent; + [_message] call EFUNC(common,displayTextStructured); }; diff --git a/addons/interaction/functions/fnc_passMagazine.sqf b/addons/interaction/functions/fnc_passMagazine.sqf index 2ea062ae79..5016215c39 100644 --- a/addons/interaction/functions/fnc_passMagazine.sqf +++ b/addons/interaction/functions/fnc_passMagazine.sqf @@ -6,7 +6,7 @@ * 0: Unit that passes the magazine * 1: Unit to pass the magazine to * 2: Weapon classname - * + * * Return Value: * None * @@ -51,4 +51,4 @@ _target addMagazine [_magToPassClassName, _magToPassAmmoCount]; _playerName = [_player] call EFUNC(common,getName); _magToPassDisplayName = getText (configFile >> "CfgMagazines" >> _magToPassClassName >> "displayName"); -["ace_displayTextStructured", [[LSTRING(PassMagazineHint), _playerName, _magToPassDisplayName], 1.5, _target], [_target]] call CBA_fnc_targetEvent; \ No newline at end of file +[QEGVAR(common,displayTextStructured), [[LSTRING(PassMagazineHint), _playerName, _magToPassDisplayName], 1.5, _target], [_target]] call CBA_fnc_targetEvent; diff --git a/addons/interaction/functions/fnc_push.sqf b/addons/interaction/functions/fnc_push.sqf index b22ec366f2..97534e2c68 100644 --- a/addons/interaction/functions/fnc_push.sqf +++ b/addons/interaction/functions/fnc_push.sqf @@ -22,4 +22,4 @@ private _newVelocity = vectorDir _unit; _newVelocity set [2, 0.25]; _newVelocity = _newVelocity vectorMultiply 2; -["ace_setVelocity", [_boat, _newVelocity], [_boat]] call CBA_fnc_targetEvent; +[QEGVAR(common,setVelocity), [_boat, _newVelocity], [_boat]] call CBA_fnc_targetEvent; diff --git a/addons/logistics_uavbattery/config.cpp b/addons/logistics_uavbattery/config.cpp index fcd5e0f979..5197a899e3 100644 --- a/addons/logistics_uavbattery/config.cpp +++ b/addons/logistics_uavbattery/config.cpp @@ -17,7 +17,3 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" #include "CfgSounds.hpp" - -class ACE_newEvents { - setFuel = "ace_setFuel"; -}; \ No newline at end of file diff --git a/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf b/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf index d26ada5267..65c0932bb7 100644 --- a/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf +++ b/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf @@ -24,7 +24,7 @@ _onFinish = { (_this select 0) params ["_caller", "_target"]; _caller removeItem "ACE_UAVBattery"; playSound3D [QUOTE(PATHTO_R(sounds\exchange_battery.ogg)), objNull, false, getPosASL _caller, 1, 1, 10]; - ["ace_setFuel", [_target, 1], [_target]] call CBA_fnc_targetEvent; //setFuel is local + [QEGVAR(common,setFuel), [_target, 1], [_target]] call CBA_fnc_targetEvent; //setFuel is local }; _onFailure = { diff --git a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf index 44c5a1fc0b..23ab4bba82 100644 --- a/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckBloodPressureLocal.sqf @@ -57,7 +57,7 @@ if (_selectionName in ["hand_l","hand_r"] && {[_unit, _selectionName] call FUNC( _logOutPut = ""; }; -["ace_displayTextStructured", [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller], [_caller]] call CBA_fnc_targetEvent; +[QEGVAR(common,displayTextStructured), [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller], [_caller]] call CBA_fnc_targetEvent; if (_logOutPut != "") then { [_target,"activity", LSTRING(Check_Bloodpressure_Log), [[_caller, false, true] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog); diff --git a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf index 0e58344528..ce052079b3 100644 --- a/addons/medical/functions/fnc_actionCheckPulseLocal.sqf +++ b/addons/medical/functions/fnc_actionCheckPulseLocal.sqf @@ -49,7 +49,7 @@ if (_selectionName in ["hand_l","hand_r"] && {[_unit, _selectionName] call FUNC( _logOutPut = LSTRING(Check_Pulse_None); }; -["ace_displayTextStructured", [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; +[QEGVAR(common,displayTextStructured), [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; if (_logOutPut != "") then { [_unit,"activity", LSTRING(Check_Pulse_Log),[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog); diff --git a/addons/medical/functions/fnc_actionCheckResponse.sqf b/addons/medical/functions/fnc_actionCheckResponse.sqf index c8a6128a08..c530e533c8 100644 --- a/addons/medical/functions/fnc_actionCheckResponse.sqf +++ b/addons/medical/functions/fnc_actionCheckResponse.sqf @@ -19,7 +19,7 @@ params ["_caller", "_target"]; _output = [LSTRING(Check_Response_Unresponsive), LSTRING(Check_Response_Responsive)] select ([_target] call EFUNC(common,isAwake)); -["ace_displayTextStructured", [[_output, [_target] call EFUNC(common,getName)], 2, _caller], [_caller]] call CBA_fnc_targetEvent; +[QEGVAR(common,displayTextStructured), [[_output, [_target] call EFUNC(common,getName)], 2, _caller], [_caller]] call CBA_fnc_targetEvent; [_target,"activity",_output, [[_target, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); [_target,"quick_view",_output, [[_target, false, true] call EFUNC(common,getName)]] call FUNC(addToLog); diff --git a/addons/medical/functions/fnc_actionDiagnose.sqf b/addons/medical/functions/fnc_actionDiagnose.sqf index fdba12cd21..65d43b5dd4 100644 --- a/addons/medical/functions/fnc_actionDiagnose.sqf +++ b/addons/medical/functions/fnc_actionDiagnose.sqf @@ -43,4 +43,4 @@ if (alive _target) then { }; }; -["ace_displayTextStructured", [_genericMessages, 3.0, _caller], [_caller]] call CBA_fnc_targetEvent; +[QEGVAR(common,displayTextStructured), [_genericMessages, 3.0, _caller], [_caller]] call CBA_fnc_targetEvent; diff --git a/addons/medical/functions/fnc_actionLoadUnit.sqf b/addons/medical/functions/fnc_actionLoadUnit.sqf index 61d1ab32a6..35ebfefebc 100644 --- a/addons/medical/functions/fnc_actionLoadUnit.sqf +++ b/addons/medical/functions/fnc_actionLoadUnit.sqf @@ -18,7 +18,7 @@ private "_vehicle"; params ["_caller", "_target"]; if ([_target] call EFUNC(common,isAwake)) exitWith { - ["ace_displayTextStructured", [[LSTRING(CanNotLoaded), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; + [QEGVAR(common,displayTextStructured), [[LSTRING(CanNotLoaded), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; }; if ([_target] call FUNC(isBeingCarried)) then { [_caller, _target] call EFUNC(dragging,dropObject_carry); diff --git a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf index e428e84d99..386b386f73 100644 --- a/addons/medical/functions/fnc_actionRemoveTourniquet.sqf +++ b/addons/medical/functions/fnc_actionRemoveTourniquet.sqf @@ -26,7 +26,7 @@ _tourniquets = _target getVariable [QGVAR(tourniquets), [0,0,0,0,0,0]]; // Check if there is a tourniquet on this bodypart if ((_tourniquets select _part) == 0) exitWith { _output = LSTRING(noTourniquetOnBodyPart); - ["ace_displayTextStructured", [_output, 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; + [QEGVAR(common,displayTextStructured), [_output, 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; }; // Removing the tourniquet diff --git a/addons/medical/functions/fnc_displayPatientInformation.sqf b/addons/medical/functions/fnc_displayPatientInformation.sqf index dc13e944dd..9a79e1de53 100644 --- a/addons/medical/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical/functions/fnc_displayPatientInformation.sqf @@ -42,7 +42,7 @@ if (_show) then { if (ACE_player distance _target > MAX_DISTANCE) exitwith { ("ACE_MedicalRscDisplayInformation" call BIS_fnc_rscLayer) cutText ["","PLAIN"]; [_idPFH] call CBA_fnc_removePerFrameHandler; - ["ace_displayTextStructured", [[LSTRING(DistanceToFar), [_target] call EFUNC(common,getName)], 1.75, ACE_player], [ACE_player]] call CBA_fnc_targetEvent; + [QEGVAR(common,displayTextStructured), [[LSTRING(DistanceToFar), [_target] call EFUNC(common,getName)], 1.75, ACE_player], [ACE_player]] call CBA_fnc_targetEvent; }; disableSerialization; diff --git a/addons/medical/functions/fnc_treatment.sqf b/addons/medical/functions/fnc_treatment.sqf index bafc73174d..b733649935 100644 --- a/addons/medical/functions/fnc_treatment.sqf +++ b/addons/medical/functions/fnc_treatment.sqf @@ -239,7 +239,7 @@ if (_target != _caller) then { }; if (_displayText != "") then { - ["ace_displayTextStructured", [[_displayText, [_caller] call EFUNC(common,getName), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; + [QEGVAR(common,displayTextStructured), [[_displayText, [_caller] call EFUNC(common,getName), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; }; true; diff --git a/addons/medical/functions/fnc_treatmentTourniquet.sqf b/addons/medical/functions/fnc_treatmentTourniquet.sqf index 6642bf7c80..3c9cbb2206 100644 --- a/addons/medical/functions/fnc_treatmentTourniquet.sqf +++ b/addons/medical/functions/fnc_treatmentTourniquet.sqf @@ -28,14 +28,14 @@ if (count _items == 0) exitWith {false}; _part = [_selectionName] call FUNC(selectionNameToNumber); if (_part == 0 || _part == 1) exitWith { - // ["ace_displayTextStructured", ["You cannot apply a CAT on this body part!"], [_caller]] call CBA_fnc_targetEvent; + // [QEGVAR(common,displayTextStructured), ["You cannot apply a CAT on this body part!"], [_caller]] call CBA_fnc_targetEvent; false; }; _tourniquets = _target getVariable [QGVAR(tourniquets), [0,0,0,0,0,0]]; if ((_tourniquets select _part) > 0) exitWith { _output = "There is already a tourniquet on this body part!"; // TODO localization - ["ace_displayTextStructured", [_output, 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; + [QEGVAR(common,displayTextStructured), [_output, 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; false; }; diff --git a/addons/medical_menu/functions/fnc_onMenuOpen.sqf b/addons/medical_menu/functions/fnc_onMenuOpen.sqf index 563c855454..004fe9f49f 100644 --- a/addons/medical_menu/functions/fnc_onMenuOpen.sqf +++ b/addons/medical_menu/functions/fnc_onMenuOpen.sqf @@ -81,7 +81,7 @@ GVAR(MenuPFHID) = [{ closeDialog 314412; //If we failed because of distance check, show UI message: if ((ACE_player distance GVAR(INTERACTION_TARGET)) > GVAR(maxRange)) then { - ["ace_displayTextStructured", [[ELSTRING(medical,DistanceToFar), [GVAR(INTERACTION_TARGET)] call EFUNC(common,getName)], 2, ACE_player]] call CBA_fnc_localEvent; + [[ELSTRING(medical,DistanceToFar), [GVAR(INTERACTION_TARGET)] call EFUNC(common,getName)], 2] call EFUNC(common,displayTextStructured); }; }; diff --git a/addons/mk6mortar/config.cpp b/addons/mk6mortar/config.cpp index e13d26588b..929f28b4d5 100644 --- a/addons/mk6mortar/config.cpp +++ b/addons/mk6mortar/config.cpp @@ -35,6 +35,5 @@ class RscStructuredText; #include "RscRangeTable.hpp" class ACE_newEvents { - infoDisplayChanged = "ace_infoDisplayChanged"; initMortar = "ace_initMortar"; }; diff --git a/addons/nightvision/config.cpp b/addons/nightvision/config.cpp index 0bb7c9227b..9397740e61 100644 --- a/addons/nightvision/config.cpp +++ b/addons/nightvision/config.cpp @@ -17,8 +17,3 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" #include "ACE_Settings.hpp" - -class ACE_newEvents { - firedPlayerVehicle = "ace_firedPlayerVehicle"; - firedPlayer = "ace_firedPlayer"; -}; diff --git a/addons/optics/config.cpp b/addons/optics/config.cpp index 8499b13427..c63049356c 100644 --- a/addons/optics/config.cpp +++ b/addons/optics/config.cpp @@ -34,8 +34,3 @@ class CfgPatches { #include "CfgJointRails.hpp" #include "CfgPreloadTextures.hpp" - -class ACE_newEvents { - infoDisplayChanged = "ace_infoDisplayChanged"; - firedPlayer = "ace_firedPlayer"; -}; diff --git a/addons/overheating/config.cpp b/addons/overheating/config.cpp index 863e3e01d3..576ee1e190 100644 --- a/addons/overheating/config.cpp +++ b/addons/overheating/config.cpp @@ -54,10 +54,7 @@ class CfgGesturesMale { class ACE_newEvents { initiateSwapBarrelAssisted = QGVAR(initiateSwapBarrelAssisted); showWeaponTemperature = QGVAR(showWeaponTemperature); - firedPlayerNonLocal = "ace_firedPlayerNonLocal"; - firedPlayer = "ace_firedPlayer"; spareBarrelsLoadCoolest = QGVAR(spareBarrelsLoadCoolest); spareBarrelsSendTemperatureHint = QGVAR(spareBarrelsSendTemperatureHint); - displayTextStructured = "ace_displayTextStructured"; weaponJammed = "ace_weaponJammed"; }; diff --git a/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf b/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf index 77ef2199bf..f377d0ba12 100644 --- a/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf +++ b/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf @@ -73,4 +73,4 @@ if (_countExtremelyHot > 0) then { }; TRACE_1("_output",_output); -["ace_displayTextStructured", [_output, _size, _player], [_player]] call CBA_fnc_targetEvent; +[QEGVAR(common,displayTextStructured), [_output, _size, _player], [_player]] call CBA_fnc_targetEvent; diff --git a/addons/overpressure/config.cpp b/addons/overpressure/config.cpp index 3ddab78d41..f4b5fdf951 100644 --- a/addons/overpressure/config.cpp +++ b/addons/overpressure/config.cpp @@ -17,7 +17,5 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - firedPlayerVehicle = "ace_firedPlayerVehicle"; - firedPlayer = "ace_firedPlayer"; overpressure = "ace_overpressure"; }; diff --git a/addons/parachute/config.cpp b/addons/parachute/config.cpp index 5eb109ae94..dec722ea96 100644 --- a/addons/parachute/config.cpp +++ b/addons/parachute/config.cpp @@ -17,7 +17,3 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" #include "RscTitles.hpp" - -class ACE_newEvents { - infoDisplayChanged = "ace_infoDisplayChanged"; -}; diff --git a/addons/rearm/config.cpp b/addons/rearm/config.cpp index 76ec880db7..bd0a4980e2 100644 --- a/addons/rearm/config.cpp +++ b/addons/rearm/config.cpp @@ -19,7 +19,3 @@ class CfgPatches { #include "CfgAmmo.hpp" #include "CfgMagazines.hpp" #include "CfgVehicles.hpp" - -class ACE_newEvents { - medical_onUnconscious = "ace_unconscious"; -}; diff --git a/addons/rearm/functions/fnc_rearmSuccessLocal.sqf b/addons/rearm/functions/fnc_rearmSuccessLocal.sqf index f2a826fa3b..44761d3d17 100644 --- a/addons/rearm/functions/fnc_rearmSuccessLocal.sqf +++ b/addons/rearm/functions/fnc_rearmSuccessLocal.sqf @@ -40,7 +40,7 @@ if (_maxMagazines == 1) then { if (GVAR(level) == 1) then { // Fill magazine completely _target setMagazineTurretAmmo [_magazineClass, _rounds, _turretPath]; - ["ace_displayTextStructured", + [QEGVAR(common,displayTextStructured), [ [LSTRING(Hint_RearmedTriple), _rounds, getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"), @@ -50,7 +50,7 @@ if (_maxMagazines == 1) then { } else { // Fill only at most _numRounds _target setMagazineTurretAmmo [_magazineClass, ((_target magazineTurretAmmo [_magazineClass, _turretPath]) + _numRounds) min _rounds, _turretPath]; - ["ace_displayTextStructured", + [QEGVAR(common,displayTextStructured), [ [LSTRING(Hint_RearmedTriple), _numRounds, getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"), @@ -77,7 +77,7 @@ if (_maxMagazines == 1) then { } else { _target setMagazineTurretAmmo [_magazineClass, _currentRounds + _numRounds, _turretPath]; }; - ["ace_displayTextStructured", + [QEGVAR(common,displayTextStructured), [ [LSTRING(Hint_RearmedTriple), _numRounds, getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"), @@ -91,7 +91,7 @@ if (_maxMagazines == 1) then { _target addMagazineTurret [_magazineClass, _turretPath]; _target setMagazineTurretAmmo [_magazineClass, _currentRounds, _turretPath]; }; - ["ace_displayTextStructured", + [QEGVAR(common,displayTextStructured), [ [LSTRING(Hint_RearmedTriple), _rounds, getText(configFile >> "CfgMagazines" >> _magazineClass >> "displayName"), diff --git a/addons/recoil/config.cpp b/addons/recoil/config.cpp index 5daaf1292e..e6eee4a9af 100644 --- a/addons/recoil/config.cpp +++ b/addons/recoil/config.cpp @@ -22,7 +22,3 @@ class CfgCameraShake { // What does this do, really? It seems like the engine no longer respects it. defaultCaliberCoefWeaponFire = 0; }; - -class ACE_newEvents { - firedPlayer = "ace_firedPlayer"; -}; \ No newline at end of file diff --git a/addons/refuel/config.cpp b/addons/refuel/config.cpp index 4a944304e5..2ace24fb92 100644 --- a/addons/refuel/config.cpp +++ b/addons/refuel/config.cpp @@ -16,10 +16,3 @@ class CfgPatches { #include "ACE_Settings.hpp" #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" - -class ACE_newEvents { - medical_onUnconscious = "ace_unconscious"; - setFuel = "ace_setFuel"; - setVectorDirAndUp = "ace_setVectorDirAndUp"; - displayTextStructured = "ace_displayTextStructured"; -}; diff --git a/addons/refuel/functions/fnc_checkFuel.sqf b/addons/refuel/functions/fnc_checkFuel.sqf index ce815a3f1d..49d62b1e44 100644 --- a/addons/refuel/functions/fnc_checkFuel.sqf +++ b/addons/refuel/functions/fnc_checkFuel.sqf @@ -27,9 +27,9 @@ private _fuel = [_target] call FUNC(getFuel); params ["_args"]; _args params [["_unit", objNull, [objNull]], ["_target", objNull, [objNull]], ["_fuel", 0, [0]]]; if (_fuel > 0 ) then { - ["ace_displayTextStructured", [[LSTRING(Hint_RemainingFuel), _fuel], 2, _unit], _unit] call CBA_fnc_targetEvent; + [QEGVAR(common,displayTextStructured), [[LSTRING(Hint_RemainingFuel), _fuel], 2, _unit], _unit] call CBA_fnc_targetEvent; } else { - ["ace_displayTextStructured", [LSTRING(Hint_Empty), 2, _unit], _unit] call CBA_fnc_targetEvent; + [QEGVAR(common,displayTextStructured), [LSTRING(Hint_Empty), 2, _unit], _unit] call CBA_fnc_targetEvent; }; true }, diff --git a/addons/refuel/functions/fnc_connectNozzleAction.sqf b/addons/refuel/functions/fnc_connectNozzleAction.sqf index c46156a26e..250da51e21 100644 --- a/addons/refuel/functions/fnc_connectNozzleAction.sqf +++ b/addons/refuel/functions/fnc_connectNozzleAction.sqf @@ -119,7 +119,7 @@ _endPosTestOffset set [2, (_startingOffset select 2)]; }; }; }; - ["ace_setVectorDirAndUp", [_nozzle, _dirAndUp], _nozzle] call CBA_fnc_targetEvent; + [QEGVAR(common,setVectorDirAndUp), [_nozzle, _dirAndUp], _nozzle] call CBA_fnc_targetEvent; _nozzle setVariable [QGVAR(sink), _target, true]; _nozzle setVariable [QGVAR(isConnected), true, true]; _target setVariable [QGVAR(nozzle), _nozzle, true]; diff --git a/addons/refuel/functions/fnc_refuel.sqf b/addons/refuel/functions/fnc_refuel.sqf index bdd49d01d0..2f7131bd9f 100644 --- a/addons/refuel/functions/fnc_refuel.sqf +++ b/addons/refuel/functions/fnc_refuel.sqf @@ -79,7 +79,7 @@ private _maxFuel = getNumber (configFile >> "CfgVehicles" >> (typeOf _target) >> }; _unit setVariable [QGVAR(tempFuel), _fuelInSink]; - ["ace_setFuel", [_sink, _fuelInSink], _sink] call CBA_fnc_targetEvent; + [QEGVAR(common,setFuel), [_sink, _fuelInSink], _sink] call CBA_fnc_targetEvent; [_source, _fuelInSource] call FUNC(setFuel); } else { _unit setVariable [QGVAR(tempFuel), fuel _sink]; diff --git a/addons/repair/XEH_postInit.sqf b/addons/repair/XEH_postInit.sqf index 0adb915666..2f0bbe7869 100644 --- a/addons/repair/XEH_postInit.sqf +++ b/addons/repair/XEH_postInit.sqf @@ -5,5 +5,3 @@ // wheels [QGVAR(setWheelHitPointDamage), {(_this select 0) setHitPointDamage [_this select 1, _this select 2]}] call CBA_fnc_addEventHandler; - -[QGVAR(useItem), EFUNC(common,useItem)] call CBA_fnc_addEventHandler; diff --git a/addons/repair/config.cpp b/addons/repair/config.cpp index 247e597528..56465ba1f5 100644 --- a/addons/repair/config.cpp +++ b/addons/repair/config.cpp @@ -24,9 +24,5 @@ class ACE_newEvents { setWheelHitPointDamage = QGVAR(setWheelHitPointDamage); setVehicleHitPointDamage = QGVAR(setVehicleHitPointDamage); setVehicleDamage = QGVAR(setVehicleDamage); - fixPosition = "ace_fixPosition"; - displayTextStructured = "ace_displayTextStructured"; - engineOn = "ace_engineOn"; - fixCollision = "ace_fixCollision"; AddCargoByClass = "ace_addCargoByClass"; }; diff --git a/addons/repair/functions/fnc_doRemoveTrack.sqf b/addons/repair/functions/fnc_doRemoveTrack.sqf index 8c3554adc1..ca6ac58ffd 100644 --- a/addons/repair/functions/fnc_doRemoveTrack.sqf +++ b/addons/repair/functions/fnc_doRemoveTrack.sqf @@ -27,7 +27,7 @@ private _hitPointDamage = _vehicle getHitPointDamage _hitPoint; if (_hitPointDamage >= 1) exitWith {}; // don't die by spawning / moving the wheel -["ace_fixCollision", _unit] call CBA_fnc_localEvent; +[QEGVAR(common,fixCollision), _unit] call CBA_fnc_localEvent; // spawn track private _newTrack = ["ACE_Track", getPosASL _unit, _hitPointDamage] call FUNC(spawnObject); diff --git a/addons/repair/functions/fnc_doRemoveWheel.sqf b/addons/repair/functions/fnc_doRemoveWheel.sqf index 1d2fedeb77..dafe603a18 100644 --- a/addons/repair/functions/fnc_doRemoveWheel.sqf +++ b/addons/repair/functions/fnc_doRemoveWheel.sqf @@ -27,7 +27,7 @@ private _hitPointDamage = _vehicle getHitPointDamage _hitPoint; if (_hitPointDamage >= 1) exitWith {}; // don't die by spawning / moving the wheel -["ace_fixCollision", _unit] call CBA_fnc_localEvent; +[QEGVAR(common,fixCollision), _unit] call CBA_fnc_localEvent; // spawn wheel private _newWheel = ["ACE_Wheel", getPosASL _unit, _hitPointDamage] call FUNC(spawnObject); diff --git a/addons/repair/functions/fnc_repair.sqf b/addons/repair/functions/fnc_repair.sqf index f79510aea7..5577057241 100644 --- a/addons/repair/functions/fnc_repair.sqf +++ b/addons/repair/functions/fnc_repair.sqf @@ -38,10 +38,10 @@ _engineerRequired = if (isNumber (_config >> "requiredEngineer")) then { if !([_caller, _engineerRequired] call FUNC(isEngineer)) exitWith {false}; if ((isEngineOn _target) && {GVAR(autoShutOffEngineWhenStartingRepair)}) then { - ["ace_engineOn", [_target, false], _target] call CBA_fnc_targetEvent; + [QEGVAR(common,engineOn), [_target, false], _target] call CBA_fnc_targetEvent; }; if ((isEngineOn _target) && {!GVAR(autoShutOffEngineWhenStartingRepair)}) exitWith { - ["ace_displayTextStructured", [LSTRING(shutOffEngineWarning), 1.5, _caller]] call CBA_fnc_localEvent; + [LSTRING(shutOffEngineWarning), 1.5, _caller] call EFUNC(common,displayTextStructured); false }; @@ -235,7 +235,7 @@ if (_target != _caller) then { }; if (_displayText != "") then { - ["ace_displayTextStructured", [[_displayText, [_caller] call EFUNC(common,getName), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; + [QEGVAR(common,displayTextStructured), [[_displayText, [_caller] call EFUNC(common,getName), [_target] call EFUNC(common,getName)], 1.5, _caller], [_caller]] call CBA_fnc_targetEvent; }; true; diff --git a/addons/repair/functions/fnc_spawnObject.sqf b/addons/repair/functions/fnc_spawnObject.sqf index 3b5c9caa9b..e927a19651 100644 --- a/addons/repair/functions/fnc_spawnObject.sqf +++ b/addons/repair/functions/fnc_spawnObject.sqf @@ -28,7 +28,7 @@ _newObject setPosASL _position; _newObject setDamage _damage; -["ace_fixCollision", _newObject] call CBA_fnc_localEvent; -["ace_fixPosition", _newObject] call CBA_fnc_localEvent; +[QEGVAR(common,fixCollision), _newObject] call CBA_fnc_localEvent; +[QEGVAR(common,fixPosition), _newObject] call CBA_fnc_localEvent; _newObject diff --git a/addons/repair/functions/fnc_useItem.sqf b/addons/repair/functions/fnc_useItem.sqf index eca88d7aca..b4fe9484d5 100644 --- a/addons/repair/functions/fnc_useItem.sqf +++ b/addons/repair/functions/fnc_useItem.sqf @@ -20,7 +20,7 @@ params ["_unit", "_item"]; TRACE_2("params",_unit,_item); if ([_unit, _item] call EFUNC(common,hasItem)) exitWith { - [QGVAR(useItem), [_unit, _item], _unit] call CBA_fnc_targetEvent; + ["ace_useItem", [_unit, _item], _unit] call CBA_fnc_targetEvent; [true, _unit]; }; diff --git a/addons/sandbag/config.cpp b/addons/sandbag/config.cpp index 55e88aef6c..cb8884ac7e 100644 --- a/addons/sandbag/config.cpp +++ b/addons/sandbag/config.cpp @@ -18,6 +18,5 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - medical_onUnconscious = "ace_unconscious"; interactMenuOpened = "ace_interactMenuOpened"; }; diff --git a/addons/scopes/config.cpp b/addons/scopes/config.cpp index 8a2e720283..c9ff1feb20 100644 --- a/addons/scopes/config.cpp +++ b/addons/scopes/config.cpp @@ -14,16 +14,7 @@ class CfgPatches { }; #include "CfgEventHandlers.hpp" - #include "CfgSounds.hpp" - #include "CfgVehicles.hpp" - #include "CfgWeapons.hpp" - #include "RscTitles.hpp" - -class ACE_newEvents { - firedPlayerNonLocal = "ace_firedPlayerNonLocal"; - firedPlayer = "ace_firedPlayer"; -}; diff --git a/addons/sitting/config.cpp b/addons/sitting/config.cpp index 88db8f5262..e6a730c492 100644 --- a/addons/sitting/config.cpp +++ b/addons/sitting/config.cpp @@ -20,5 +20,4 @@ class CfgPatches { class ACE_newEvents { SetHandcuffed = QEGVAR(captives,setHandcuffed); - medical_onUnconscious = "ace_unconscious"; }; diff --git a/addons/spectator/functions/fnc_respawnTemplate.sqf b/addons/spectator/functions/fnc_respawnTemplate.sqf index 0813f37755..dc83bf7458 100644 --- a/addons/spectator/functions/fnc_respawnTemplate.sqf +++ b/addons/spectator/functions/fnc_respawnTemplate.sqf @@ -21,11 +21,6 @@ params [["_unit",objNull,[objNull]], ["_killer",objNull,[objNull]], ["_respawn",0,[0]], ["_respawnDelay",0,[0]]]; private ["_vision","_pos"]; -// When all are dead with respawn type "None" the mission should end -if ((_respawn == 0) && {{alive _x} count allPlayers <= 0}) exitWith { - ["BIS_fnc_endMission", ["endDeath", false]] call EFUNC(common,globalEvent); //??? -}; - // Some environment information can be used for the initial camera attributes if (isNull _killer) then {_killer = _unit}; _vision = [-2,-1] select (sunOrMoon < 1); diff --git a/addons/switchunits/config.cpp b/addons/switchunits/config.cpp index fa32aef100..1bdec70729 100644 --- a/addons/switchunits/config.cpp +++ b/addons/switchunits/config.cpp @@ -16,7 +16,3 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "ACE_Settings.hpp" - -class ACE_newEvents { - SettingChanged = "ace_settingChanged"; -}; \ No newline at end of file diff --git a/addons/tacticalladder/config.cpp b/addons/tacticalladder/config.cpp index b2e3405249..53ce7384f6 100644 --- a/addons/tacticalladder/config.cpp +++ b/addons/tacticalladder/config.cpp @@ -18,5 +18,4 @@ class CfgPatches { class ACE_newEvents { interactMenuOpened = "ace_interactMenuOpened"; - medical_onUnconscious = "ace_unconscious"; }; diff --git a/addons/trenches/config.cpp b/addons/trenches/config.cpp index b1ca0fc0bb..f090a3ecf4 100644 --- a/addons/trenches/config.cpp +++ b/addons/trenches/config.cpp @@ -18,6 +18,5 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - medical_onUnconscious = "ace_unconscious"; interactMenuOpened = "ace_interactMenuOpened"; }; diff --git a/addons/tripod/config.cpp b/addons/tripod/config.cpp index 7e4e556070..3891a59d57 100644 --- a/addons/tripod/config.cpp +++ b/addons/tripod/config.cpp @@ -18,6 +18,5 @@ class CfgPatches { #include "CfgWeapons.hpp" class ACE_newEvents { - medical_onUnconscious = "ace_unconscious"; interactMenuOpened = "ace_interactMenuOpened"; }; diff --git a/addons/weaponselect/config.cpp b/addons/weaponselect/config.cpp index 2bc7e843f8..b6a98e6d88 100644 --- a/addons/weaponselect/config.cpp +++ b/addons/weaponselect/config.cpp @@ -15,7 +15,3 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "ACE_Settings.hpp" - -class ACE_newEvents { - firedPlayer = "ace_firedPlayer"; -}; diff --git a/addons/winddeflection/config.cpp b/addons/winddeflection/config.cpp index f49a9e11bf..2faf536423 100644 --- a/addons/winddeflection/config.cpp +++ b/addons/winddeflection/config.cpp @@ -24,10 +24,3 @@ class CfgAddons { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "ACE_Settings.hpp" - -class ACE_newEvents { - firedPlayerVehicleNonLocal = "ace_firedPlayerVehicleNonLocal"; - firedPlayerVehicle = "ace_firedPlayerVehicle"; - firedPlayerNonLocal = "ace_firedPlayerNonLocal"; - firedPlayer = "ace_firedPlayer"; -}; From 03a56b1f7d3d526797dfe4bf1b9f0c0417977fed Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 4 Jun 2016 19:57:49 +0200 Subject: [PATCH 42/63] Fix goKneeling changing animation inside vehicle (1.60) --- addons/common/functions/fnc_goKneeling.sqf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/common/functions/fnc_goKneeling.sqf b/addons/common/functions/fnc_goKneeling.sqf index 4ee502f929..9e7aed708a 100644 --- a/addons/common/functions/fnc_goKneeling.sqf +++ b/addons/common/functions/fnc_goKneeling.sqf @@ -1,6 +1,6 @@ /* * Author: commy2 - * Move unit to kneeling position. + * Move unit to kneeling position (only if not yet prone). * * Arguments: * 0: Unit @@ -14,7 +14,8 @@ params ["_unit"]; -if (stance _unit == "PRONE") exitWith {}; +// Animation changes even inside vehicle post-1.60 +if (stance _unit == "PRONE" || {vehicle ACE_player != ACE_player}) exitWith {}; [ _unit, From 8ff4a2ecafbf21777f217ff839e59f28fd6d9c4a Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 4 Jun 2016 20:40:55 +0200 Subject: [PATCH 43/63] Add size parameter to displayTextPicture, Improve parameter checking in displayText functions, Cleanup magazine repack (privates, deprecated macros, style) --- .../functions/fnc_displayTextPicture.sqf | 15 ++++-- .../functions/fnc_displayTextStructured.sqf | 9 ++-- .../functions/fnc_getMagazineChildren.sqf | 20 ++++--- .../functions/fnc_magazineRepackFinish.sqf | 51 +++++++++--------- .../functions/fnc_magazineRepackProgress.sqf | 13 ++--- .../functions/fnc_simulateRepackEvents.sqf | 53 ++++++++----------- .../functions/fnc_startRepackingMagazine.sqf | 30 +++++------ 7 files changed, 90 insertions(+), 101 deletions(-) diff --git a/addons/common/functions/fnc_displayTextPicture.sqf b/addons/common/functions/fnc_displayTextPicture.sqf index a0bcb47e11..9ddbf96164 100644 --- a/addons/common/functions/fnc_displayTextPicture.sqf +++ b/addons/common/functions/fnc_displayTextPicture.sqf @@ -5,17 +5,22 @@ * Arguments: * 0: Text * 1: Image - * 2: Image color (default: [0, 0, 0, 0]) - * 3: Target Unit. Will only display if target is the player controlled object (default: ACE_player) + * 2: Image color (default: [1, 1, 1]) + * 3: Target Unit. Will only display if target is the player controlled object (default: ACE_player) + * 4: Size (default: 2) * * Return Value: * None * + * Example: + * ["text", "image", [1, 1, 1], ACE_player, 2] call ace_common_fnc_displayTextPicture + * ["text", "image", nil, nil, 3] call ace_common_fnc_displayTextPicture + * * Public: Yes */ #include "script_component.hpp" -params ["_text", "_image", ["_imageColor", [1,1,1]], ["_target", ACE_player]]; +params [["_text", ""], ["_image", "", [""]], ["_imageColor", [1,1,1], [[]]], ["_target", ACE_player, [objNull]], ["_size", 2, [0]]]; if (_target != ACE_player) exitWith {}; @@ -39,6 +44,6 @@ if (typeName _text != "TEXT") then { _text = parseText format ["%1", _text]; }; -_text = composeText [parseText format ["", _image, _imageColor call BIS_fnc_colorRGBtoHTML], lineBreak, _text]; +_text = composeText [parseText format ["", _image, _imageColor call BIS_fnc_colorRGBtoHTML], lineBreak, _text]; -[_text, 2] call FUNC(displayTextStructured); +[_text, _size] call FUNC(displayTextStructured); diff --git a/addons/common/functions/fnc_displayTextStructured.sqf b/addons/common/functions/fnc_displayTextStructured.sqf index 9fff7bb056..e952fce9a4 100644 --- a/addons/common/functions/fnc_displayTextStructured.sqf +++ b/addons/common/functions/fnc_displayTextStructured.sqf @@ -4,17 +4,20 @@ * * Arguments: * 0: Text - * 1: Size of the textbox (default: 1.5) - * 2: Target Unit. Will only display if target is the player controlled object (default: ACE_player) + * 1: Size of the textbox (default: 1.5) + * 2: Target Unit. Will only display if target is the player controlled object (default: ACE_player) * * Return Value: * None * + * Example: + * + * * Public: Yes */ #include "script_component.hpp" -params ["_text", ["_size", 1.5], ["_target", ACE_player]]; +params [["_text", ""], ["_size", 1.5, [0]], ["_target", ACE_player, [objNull]]]; if (_target != ACE_player) exitWith {}; diff --git a/addons/magazinerepack/functions/fnc_getMagazineChildren.sqf b/addons/magazinerepack/functions/fnc_getMagazineChildren.sqf index fc875c8d2b..88cd0ff275 100644 --- a/addons/magazinerepack/functions/fnc_getMagazineChildren.sqf +++ b/addons/magazinerepack/functions/fnc_getMagazineChildren.sqf @@ -1,6 +1,6 @@ /* - * Author: PabstMirror,commy2, esteldunedain, Ruthberg - * Gets magazine children for interaciton menu + * Author: PabstMirror, commy2, esteldunedain, Ruthberg + * Gets magazine children for interaciton menu. * * Argument: * 0: Target @@ -16,13 +16,11 @@ */ #include "script_component.hpp" -private ["_unitMagazines", "_unitMagCounts", "_index", "_actions", "_displayName", "_picture", "_action"]; - params ["_target", "_player"]; // get all mags and ammo count -_unitMagazines = []; -_unitMagCounts = []; +private _unitMagazines = []; +private _unitMagCounts = []; { private "_xFullMagazineCount"; _x params ["_xClassname", "_xCount", "_xLoaded", "_xType"]; @@ -31,7 +29,7 @@ _unitMagCounts = []; //for every partial magazine, that is either in inventory or can be moved there if ((_xCount < _xFullMagazineCount) && {_xCount > 0} && {(!_xLoaded) || {_player canAdd _xClassname}}) then { - _index = _unitMagazines find _xClassname; + private _index = _unitMagazines find _xClassname; if (_index == -1) then { _unitMagazines pushBack _xClassname; _unitMagCounts pushBack [_xCount]; @@ -42,13 +40,13 @@ _unitMagCounts = []; } forEach (magazinesAmmoFull _player); //Create the action children for all appropriate magazines -_actions = []; +private _actions = []; { if ((count (_unitMagCounts select _forEachIndex)) >= 2) then {// Ignore invalid magazines types (need 2+ partial mags to do anything) - _displayName = getText (configFile >> "CfgMagazines" >> _x >> "displayName"); - _picture = getText (configFile >> "CfgMagazines" >> _x >> "picture"); + private _displayName = getText (configFile >> "CfgMagazines" >> _x >> "displayName"); + private _picture = getText (configFile >> "CfgMagazines" >> _x >> "picture"); - _action = [_x, _displayName, _picture, {_this call FUNC(startRepackingMagazine)}, {true}, {}, _x] call EFUNC(interact_menu,createAction); + private _action = [_x, _displayName, _picture, {_this call FUNC(startRepackingMagazine)}, {true}, {}, _x] call EFUNC(interact_menu,createAction); _actions pushBack [_action, [], _player]; }; } forEach _unitMagazines; diff --git a/addons/magazinerepack/functions/fnc_magazineRepackFinish.sqf b/addons/magazinerepack/functions/fnc_magazineRepackFinish.sqf index f0fbcf49c1..36544b0084 100644 --- a/addons/magazinerepack/functions/fnc_magazineRepackFinish.sqf +++ b/addons/magazinerepack/functions/fnc_magazineRepackFinish.sqf @@ -19,39 +19,36 @@ */ #include "script_component.hpp" -private ["_structuredOutputText", "_picture", "_fullMags", "_partialMags", "_fullMagazineCount"]; - params ["_args", "_elapsedTime", "_totalTime", "_errorCode"]; _args params ["_magazineClassname", "_lastAmmoCount"]; -_fullMagazineCount = getNumber (configFile >> "CfgMagazines" >> _magazineClassname >> "count"); +private _fullMagazineCount = getNumber (configFile >> "CfgMagazines" >> _magazineClassname >> "count"); -//Don't show anything if player can't interact: +// Don't show anything if player can't interact if (!([ACE_player, objNull, ["isNotInside", "isNotSitting"]] call EFUNC(common,canInteractWith))) exitWith {}; -_structuredOutputText = if (_errorCode == 0) then { - format ["%1
", (localize LSTRING(RepackComplete))]; +// Count mags +private _fullMags = 0; +private _partialMags = 0; +{ + _x params ["_classname", "_count"]; + + if (_classname == _magazineClassname && {_count > 0}) then { + if (_count == _fullMagazineCount) then { + _fullMags = _fullMags + 1; + } else { + _partialMags = _partialMags + 1; + }; + }; +} forEach (magazinesAmmoFull ACE_player); + +private _repackedMagsText = format [localize LSTRING(RepackedMagazinesCount), _fullMags, _partialMags]; + +private _structuredOutputText = if (_errorCode == 0) then { + format ["%1
%2", localize LSTRING(RepackComplete), _repackedMagsText]; } else { - format ["%1
", (localize LSTRING(RepackInterrupted))]; + format ["%1
%2", localize LSTRING(RepackInterrupted), _repackedMagsText]; }; -_picture = getText (configFile >> "CfgMagazines" >> _magazineClassname >> "picture"); -_structuredOutputText = _structuredOutputText + format ["
", _picture]; - -//EFUNC(common,displayTextStructured) doesn't have room for this, and I don't think it's nessacary, can fix in the future if wanted: - -// _fullMags = 0; -// _partialMags = 0; -// { - // EXPLODE_2_PVT(_x,_xClassname,_xCount); - // if ((_xClassname == _magazineClassname) && {_xCount > 0}) then { - // if (_xCount == _fullMagazineCount) then { - // _fullMags = _fullMags + 1; - // } else { - // _partialMags = _partialMags + 1; - // }; - // }; -// } forEach (magazinesAmmoFull ACE_player); -// _structuredOutputText = _structuredOutputText + format [("" + (localize LSTRING(RepackedMagazinesCount)) + ""), _fullMags, _partialMags]; - -[parseText _structuredOutputText, 2] call EFUNC(common,displayTextStructured); +private _picture = getText (configFile >> "CfgMagazines" >> _magazineClassname >> "picture"); +[_structuredOutputText, _picture, nil, nil, 2.5] call EFUNC(common,displayTextPicture); diff --git a/addons/magazinerepack/functions/fnc_magazineRepackProgress.sqf b/addons/magazinerepack/functions/fnc_magazineRepackProgress.sqf index c1bf5ebdab..3808df4cdc 100644 --- a/addons/magazinerepack/functions/fnc_magazineRepackProgress.sqf +++ b/addons/magazinerepack/functions/fnc_magazineRepackProgress.sqf @@ -18,19 +18,16 @@ */ #include "script_component.hpp" -private ["_currentAmmoCount", "_addedMagazines", "_missingAmmo", "_index", "_updateMagazinesOnPlayerFnc"]; - params ["_ars", "_elapsedTime", "_totalTime"]; _args params ["_magazineClassname", "_lastAmmoCount", "_simEvents"]; if !((_simEvents select 0) params ["_nextEventTime", "_nextEventIsBullet", "_nextEventMags"]) exitWith { ERROR("No Event"); false }; - if (_nextEventTime > _elapsedTime) exitWith { true };//waiting on next event //Verify we aren't missing any ammo -_currentAmmoCount = []; +private _currentAmmoCount = []; { _x params ["_xClassname", "_xCount"]; if (_xClassname == _magazineClassname) then { @@ -39,11 +36,11 @@ _currentAmmoCount = []; } forEach (magazinesAmmo ACE_player); //only inventory mags //Go through mags we currently have and check off the ones we should have -_addedMagazines = +_currentAmmoCount; -_missingAmmo = false; +private _addedMagazines = +_currentAmmoCount; +private _missingAmmo = false; { if (_x > 0) then { - _index = _addedMagazines find _x; + private _index = _addedMagazines find _x; if (_index != -1) then { _addedMagazines deleteAt _index; } else { @@ -54,7 +51,7 @@ _missingAmmo = false; if (_missingAmmo) exitWith { false }; //something removed ammo that was being repacked (could be other players or scripts) -_updateMagazinesOnPlayerFnc = { +private _updateMagazinesOnPlayerFnc = { ACE_player removeMagazines _magazineClassname; //remove inventory magazines { if (_x > 0) then { diff --git a/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf b/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf index 230bdefb4f..09c04de26e 100644 --- a/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf +++ b/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf @@ -19,47 +19,26 @@ */ #include "script_component.hpp" -private ["_fnc_newMag", "_time", "_events", "_fnc_swapAmmo", "_ammoSwaped", "_lowIndex", "_highIndex", "_ammoToTransfer", "_ammoAvailable", "_ammoNeeded", "_swapProgress"]; - params ["_fullMagazineCount", "_arrayOfAmmoCounts", "_isBelt"]; // Sort Ascending - Don't modify original _arrayOfAmmoCounts = +_arrayOfAmmoCounts; _arrayOfAmmoCounts sort true; -_fnc_newMag = { +private _fnc_newMag = { _time = _time + GVAR(TimePerMagazine); _events pushBack [_time, false, +_arrayOfAmmoCounts]; }; -_fnc_swapAmmo = if (_isBelt) then { - { - _time = _time + GVAR(TimePerBeltLink); - _arrayOfAmmoCounts set [_lowIndex, ((_arrayOfAmmoCounts select _lowIndex) - _ammoSwaped)]; - _arrayOfAmmoCounts set [_highIndex, ((_arrayOfAmmoCounts select _highIndex) + _ammoSwaped)]; - _events pushBack [_time, true, +_arrayOfAmmoCounts]; - } -} else { - { - for "_swapProgress" from 0 to (_ammoSwaped - 1) do { - _time = _time + GVAR(TimePerAmmo); - _arrayOfAmmoCounts set [_lowIndex, ((_arrayOfAmmoCounts select _lowIndex) - 1)]; - _arrayOfAmmoCounts set [_highIndex, ((_arrayOfAmmoCounts select _highIndex) + 1)]; - _events pushBack [_time, true, +_arrayOfAmmoCounts]; - }; - } -}; - -_lowIndex = 0; -_highIndex = (count _arrayOfAmmoCounts) - 1; -_ammoToTransfer = 0; -_ammoAvailable = 0; - -_time = 0; -_events = []; +private _lowIndex = 0; +private _highIndex = (count _arrayOfAmmoCounts) - 1; +private _ammoToTransfer = 0; +private _ammoAvailable = 0; +private _time = 0; +private _events = []; while {_lowIndex < _highIndex} do { - _ammoNeeded = _fullMagazineCount - (_arrayOfAmmoCounts select _highIndex); + private _ammoNeeded = _fullMagazineCount - (_arrayOfAmmoCounts select _highIndex); _ammoAvailable = _arrayOfAmmoCounts select _lowIndex; if (_ammoAvailable == 0) then { @@ -70,8 +49,20 @@ while {_lowIndex < _highIndex} do { _highIndex = _highIndex - 1; call _fnc_newMag; } else { - _ammoSwaped = _ammoAvailable min _ammoNeeded; - call _fnc_swapAmmo; + private _ammoSwaped = _ammoAvailable min _ammoNeeded; + if (_isBelt) then { + _time = _time + GVAR(TimePerBeltLink); + _arrayOfAmmoCounts set [_lowIndex, (_arrayOfAmmoCounts select _lowIndex) - _ammoSwaped]; + _arrayOfAmmoCounts set [_highIndex, (_arrayOfAmmoCounts select _highIndex) + _ammoSwaped]; + _events pushBack [_time, true, +_arrayOfAmmoCounts]; + } else { + for "_swapProgress" from 0 to (_ammoSwaped - 1) do { + _time = _time + GVAR(TimePerAmmo); + _arrayOfAmmoCounts set [_lowIndex, (_arrayOfAmmoCounts select _lowIndex) - 1]; + _arrayOfAmmoCounts set [_highIndex, (_arrayOfAmmoCounts select _highIndex) + 1]; + _events pushBack [_time, true, +_arrayOfAmmoCounts]; + }; + }; }; }; }; diff --git a/addons/magazinerepack/functions/fnc_startRepackingMagazine.sqf b/addons/magazinerepack/functions/fnc_startRepackingMagazine.sqf index 859bbdfdfa..32ce65d188 100644 --- a/addons/magazinerepack/functions/fnc_startRepackingMagazine.sqf +++ b/addons/magazinerepack/functions/fnc_startRepackingMagazine.sqf @@ -13,39 +13,37 @@ * Nothing * * Example: - * ["30Rnd_65x39_caseless_mag"] call ace_magazinerepack_fnc_startRepackingMagazine + * [player, player, "30Rnd_65x39_caseless_mag"] call ace_magazinerepack_fnc_startRepackingMagazine * * Public: No */ #include "script_component.hpp" -private ["_magazineCfg", "_fullMagazineCount", "_isBelt", "_startingAmmoCounts", "_simEvents", "_totalTime"]; - params ["_target", "_player", "_magazineClassname"]; if (isNil "_magazineClassname" || {_magazineClassname == ""}) exitWith {ERROR("Bad Mag Classname");}; -_magazineCfg = configFile >> "CfgMagazines" >> _magazineClassname; +private _magazineCfg = configFile >> "CfgMagazines" >> _magazineClassname; // Calculate actual ammo to transfer during repack -_fullMagazineCount = getNumber (_magazineCfg >> "count"); +private _fullMagazineCount = getNumber (_magazineCfg >> "count"); //Is linked belt magazine: -_isBelt = (isNumber (_magazineCfg >> "ACE_isBelt")) && {(getNumber (_magazineCfg >> "ACE_isBelt")) == 1}; +private _isBelt = isNumber (_magazineCfg >> "ACE_isBelt") && {(getNumber (_magazineCfg >> "ACE_isBelt")) == 1}; //Check canInteractWith: -if (!([_player, objNull, ["isNotInside", "isNotSitting"]] call EFUNC(common,canInteractWith))) exitWith {}; +if !([_player, objNull, ["isNotInside", "isNotSitting"]] call EFUNC(common,canInteractWith)) exitWith {}; [_player] call EFUNC(common,goKneeling); -_startingAmmoCounts = []; +private _startingAmmoCounts = []; { - EXPLODE_4_PVT(_x,_xClassname,_xCount,_xLoaded,_xType); - if ((_xClassname == _magazineClassname) && {(_xCount != _fullMagazineCount) && {_xCount > 0}}) then { + _x params ["_xClassname", "_xCount", "_xLoaded", "_xType"]; + if (_xClassname == _magazineClassname && {_xCount != _fullMagazineCount && {_xCount > 0}}) then { if (_xLoaded) then { //Try to Remove from weapon and add to inventory, otherwise ignore if (_player canAdd _magazineClassname) then { switch (_xType) do { - case (1): {_player removePrimaryWeaponItem _magazineClassname;}; - case (2): {_player removeHandgunItem _magazineClassname;}; - case (4): {_player removeSecondaryWeaponItem _magazineClassname;}; + case (1): {_player removePrimaryWeaponItem _magazineClassname}; + case (2): {_player removeHandgunItem _magazineClassname}; + case (4): {_player removeSecondaryWeaponItem _magazineClassname}; default {ERROR("Loaded Location Invalid");}; }; _player addMagazine [_magazineClassname, _xCount]; @@ -57,10 +55,10 @@ _startingAmmoCounts = []; }; } forEach (magazinesAmmoFull _player); -if ((count _startingAmmoCounts) < 2) exitWith {ERROR("Not Enough Mags to Repack");}; +if (count _startingAmmoCounts < 2) exitWith {ERROR("Not Enough Mags to Repack");}; -_simEvents = [_fullMagazineCount, _startingAmmoCounts, _isBelt] call FUNC(simulateRepackEvents); -_totalTime = (_simEvents select ((count _simEvents) - 1) select 0); +private _simEvents = [_fullMagazineCount, _startingAmmoCounts, _isBelt] call FUNC(simulateRepackEvents); +private _totalTime = _simEvents select (count _simEvents - 1) select 0; [ _totalTime, From 5a20f1286b2c0259fab6e8196f0b3ca37075e330 Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 4 Jun 2016 21:05:26 +0200 Subject: [PATCH 44/63] Change internal event framework names to contain prefix and be as short as possible --- addons/common/XEH_postInit.sqf | 8 ++++---- addons/common/config.cpp | 5 +++++ .../functions/fnc__handleRequestAllSyncedEvents.sqf | 2 +- addons/common/functions/fnc__handleRequestSyncedEvent.sqf | 2 +- addons/common/functions/fnc_requestSyncedEvent.sqf | 2 +- addons/common/functions/fnc_syncedEvent.sqf | 2 +- 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 1029d9b2a0..93589bb7f5 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -145,14 +145,14 @@ if (isServer) then { if (!isServer) then { ["ace_playerJIP", { ACE_LOGINFO("JIP event synchronization initialized"); - ["SEH_all", [player]] call CBA_fnc_serverEvent; + ["ACEa", [player]] call CBA_fnc_serverEvent; }] call CBA_fnc_addEventHandler; } else { - ["SEH_all", FUNC(_handleRequestAllSyncedEvents)] call CBA_fnc_addEventHandler; + ["ACEa", FUNC(_handleRequestAllSyncedEvents)] call CBA_fnc_addEventHandler; }; -["SEH", FUNC(_handleSyncedEvent)] call CBA_fnc_addEventHandler; -["SEH_s", FUNC(_handleRequestSyncedEvent)] call CBA_fnc_addEventHandler; +["ACEe", FUNC(_handleSyncedEvent)] call CBA_fnc_addEventHandler; +["ACEs", FUNC(_handleRequestSyncedEvent)] call CBA_fnc_addEventHandler; if (isServer) then { [FUNC(syncedEventPFH), 0.5, []] call CBA_fnc_addPerFrameHandler; diff --git a/addons/common/config.cpp b/addons/common/config.cpp index f1bb9308d6..0fb9949423 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -70,6 +70,11 @@ class ACE_newEvents { engineOn = QGVAR(engineOn); setFuel = QGVAR(setFuel); setDir = QGVAR(setDir); + + // Events framework + SEH_s = ACEs; + SEH = ACEe; + SEH_all = ACEa; }; #include "CfgEventHandlers.hpp" diff --git a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf index ce57658e6f..24f6c635fc 100644 --- a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf +++ b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf @@ -18,7 +18,7 @@ params ["_client"]; private _eventEntry = HASH_GET(GVAR(syncedEvents),_x); _eventEntry params ["", "_eventLog"]; - ["SEH_s", [_x, _eventLog], _client] call CBA_fnc_targetEvent; + ["ACEs", [_x, _eventLog], _client] call CBA_fnc_targetEvent; false } count (GVAR(syncedEvents) select 0); diff --git a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf index 35aac9d52e..ec48777a1c 100644 --- a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf +++ b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf @@ -30,7 +30,7 @@ if (isServer) then { private _eventEntry = HASH_GET(GVAR(syncedEvents),_eventName); _eventEntry params ["", "_eventLog"]; - ["SEH_s", [_eventName, _eventLog], _client] call CBA_fnc_targetEvent; + ["ACEs", [_eventName, _eventLog], _client] call CBA_fnc_targetEvent; } else { params ["_eventName", "_eventLog"]; diff --git a/addons/common/functions/fnc_requestSyncedEvent.sqf b/addons/common/functions/fnc_requestSyncedEvent.sqf index 0749b374ca..16ffd5b342 100644 --- a/addons/common/functions/fnc_requestSyncedEvent.sqf +++ b/addons/common/functions/fnc_requestSyncedEvent.sqf @@ -17,4 +17,4 @@ params ["_eventName"]; // Only JIP machines on initialization send this off, requesting sync on events with the serverCommand if (isServer) exitWith {false}; -["SEH_s", [_eventName, ACE_player]] call CBA_fnc_serverEvent; +["ACEs", [_eventName, ACE_player]] call CBA_fnc_serverEvent; diff --git a/addons/common/functions/fnc_syncedEvent.sqf b/addons/common/functions/fnc_syncedEvent.sqf index 3964d23afc..43bc6ce784 100644 --- a/addons/common/functions/fnc_syncedEvent.sqf +++ b/addons/common/functions/fnc_syncedEvent.sqf @@ -23,4 +23,4 @@ if (!HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith { private _eventData = [_name, _args, _ttl]; -["SEH", _eventData] call CBA_fnc_globalEvent; +["ACEe", _eventData] call CBA_fnc_globalEvent; From a10b6ee8e20fbaa39e02fe769c73c5b4624c0f95 Mon Sep 17 00:00:00 2001 From: voiper Date: Fri, 3 Jun 2016 03:11:23 -0700 Subject: [PATCH 45/63] Fix thrown blink. --- addons/nightvision/functions/fnc_blending.sqf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/nightvision/functions/fnc_blending.sqf b/addons/nightvision/functions/fnc_blending.sqf index b34584a5d0..aad964a665 100644 --- a/addons/nightvision/functions/fnc_blending.sqf +++ b/addons/nightvision/functions/fnc_blending.sqf @@ -21,6 +21,9 @@ TRACE_10("firedEH:",_unit, _weapon, _muzzle, _mode, _ammo, _magazine, _projectil private "_player"; _player = ACE_player; +//exit if it's a thrown weapon +if (_weapon == "Throw") exitWith {}; + //If our vehicle didn't shoot, or we're not in NVG mode, exit if ((currentVisionMode _player) != 1) exitWith {}; From 3124270254cd6c97b4d90f8c9d24828d20735734 Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 4 Jun 2016 21:07:24 +0200 Subject: [PATCH 46/63] Quote the unquoted --- addons/common/config.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/common/config.cpp b/addons/common/config.cpp index 0fb9949423..0210634ee8 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -72,9 +72,9 @@ class ACE_newEvents { setDir = QGVAR(setDir); // Events framework - SEH_s = ACEs; - SEH = ACEe; - SEH_all = ACEa; + SEH_s = "ACEs"; + SEH = "ACEe"; + SEH_all = "ACEa"; }; #include "CfgEventHandlers.hpp" From b541b0b4f039c401750af326ef4a5c37dd8925d8 Mon Sep 17 00:00:00 2001 From: jonpas Date: Sat, 4 Jun 2016 21:20:10 +0200 Subject: [PATCH 47/63] Fix selective UI script error when changing certain other settings --- addons/ui/XEH_clientInit.sqf | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/ui/XEH_clientInit.sqf b/addons/ui/XEH_clientInit.sqf index 72a754a28e..23940d2fb2 100644 --- a/addons/ui/XEH_clientInit.sqf +++ b/addons/ui/XEH_clientInit.sqf @@ -32,7 +32,9 @@ if (!hasInterface) exitWith {}; if (_name in ELEMENTS_BASIC) then { [false] call FUNC(setElements); } else { - [_name select [7], missionNamespace getVariable _name, true] call FUNC(setAdvancedElement); + if (isClass (configFile >> "ACE_UI" >> _name)) then { + [_name select [7], missionNamespace getVariable _name, true] call FUNC(setAdvancedElement); + }; }; }] call EFUNC(common,addEventHandler); From 354e84e058a412b78d612d3407b7344122b5dee1 Mon Sep 17 00:00:00 2001 From: voiper Date: Sat, 4 Jun 2016 12:26:38 -0700 Subject: [PATCH 48/63] Cleanup. --- addons/nightvision/functions/fnc_blending.sqf | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/addons/nightvision/functions/fnc_blending.sqf b/addons/nightvision/functions/fnc_blending.sqf index aad964a665..a8335d3c19 100644 --- a/addons/nightvision/functions/fnc_blending.sqf +++ b/addons/nightvision/functions/fnc_blending.sqf @@ -21,11 +21,8 @@ TRACE_10("firedEH:",_unit, _weapon, _muzzle, _mode, _ammo, _magazine, _projectil private "_player"; _player = ACE_player; -//exit if it's a thrown weapon -if (_weapon == "Throw") exitWith {}; - -//If our vehicle didn't shoot, or we're not in NVG mode, exit -if ((currentVisionMode _player) != 1) exitWith {}; +//If we're not in NVG mode, or it's a grenade, exit +if (((currentVisionMode _player) != 1) || {_weapon == "Throw"}) exitWith {}; private["_darkness", "_nvgBrightnessCoef", "_silencer", "_visibleFire", "_visibleFireCoef", "_visibleFireTime", "_visibleFireTimeCoef"]; From 0424f5db73235959e35bc5f6ce286b86d81ea3dd Mon Sep 17 00:00:00 2001 From: commy2 Date: Sat, 4 Jun 2016 23:57:19 +0200 Subject: [PATCH 49/63] cleanup fnc_blending --- addons/nightvision/functions/fnc_blending.sqf | 36 +++++++------------ 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/addons/nightvision/functions/fnc_blending.sqf b/addons/nightvision/functions/fnc_blending.sqf index a8335d3c19..2616cb83f5 100644 --- a/addons/nightvision/functions/fnc_blending.sqf +++ b/addons/nightvision/functions/fnc_blending.sqf @@ -18,44 +18,33 @@ //IGNORE_PRIVATE_WARNING ["_unit", "_weapon", "_muzzle", "_mode", "_ammo", "_magazine", "_projectile", "_vehicle", "_gunner", "_turret"]; TRACE_10("firedEH:",_unit, _weapon, _muzzle, _mode, _ammo, _magazine, _projectile, _vehicle, _gunner, _turret); -private "_player"; -_player = ACE_player; +private _player = ACE_player; //If we're not in NVG mode, or it's a grenade, exit -if (((currentVisionMode _player) != 1) || {_weapon == "Throw"}) exitWith {}; +if (currentVisionMode _player != 1 || {toLower _weapon in ["throw", "put"]}) exitWith {}; -private["_darkness", "_nvgBrightnessCoef", "_silencer", "_visibleFire", "_visibleFireCoef", "_visibleFireTime", "_visibleFireTimeCoef"]; +private _silencer = _player weaponAccessories _weapon select 0; -_silencer = switch (_weapon) do { - case (primaryWeapon _player): {(primaryWeaponItems _player) select 0}; - case (secondaryWeapon _player): {(secondaryWeaponItems _player) select 0}; - case (handgunWeapon _player): {(handgunItems _player) select 0}; - default {""}; -}; +private _visibleFireCoef = 1; +private _visibleFireTimeCoef = 1; -_visibleFireCoef = 1; -_visibleFireTimeCoef = 1; if (_silencer != "") then { _visibleFireCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "visibleFire"); _visibleFireTimeCoef = getNumber (configFile >> "CfgWeapons" >> _silencer >> "ItemInfo" >> "AmmoCoef" >> "visibleFireTime"); }; -_visibleFire = getNumber (configFile >> "CfgAmmo" >> _ammo >> "visibleFire"); -_visibleFireTime = getNumber (configFile >> "CfgAmmo" >> _ammo >> "visibleFireTime"); - -_nvgBrightnessCoef = 1 + (_player getVariable [QGVAR(NVGBrightness), 0]) / 4; - -_fnc_isTracer = { - private ["_indexShot", "_lastRoundsTracer", "_tracersEvery"]; +private _visibleFire = getNumber (configFile >> "CfgAmmo" >> _ammo >> "visibleFire"); +private _visibleFireTime = getNumber (configFile >> "CfgAmmo" >> _ammo >> "visibleFireTime"); +private _fnc_isTracer = { if (getNumber (configFile >> "CfgAmmo" >> _ammo >> "nvgOnly") > 0) exitWith {false}; - _indexShot = (_player ammo _weapon) + 1; + private _indexShot = (_player ammo _weapon) + 1; - _lastRoundsTracer = getNumber (configFile >> "CfgMagazines" >> _magazine >> "lastRoundsTracer"); + private _lastRoundsTracer = getNumber (configFile >> "CfgMagazines" >> _magazine >> "lastRoundsTracer"); if (_indexShot <= _lastRoundsTracer) exitWith {true}; - _tracersEvery = getNumber (configFile >> "CfgMagazines" >> _magazine >> "tracersEvery"); + private _tracersEvery = getNumber (configFile >> "CfgMagazines" >> _magazine >> "tracersEvery"); if (_tracersEvery == 0) exitWith {false}; (_indexShot - _lastRoundsTracer) % _tracersEvery == 0 @@ -66,7 +55,8 @@ if (call _fnc_isTracer) then { _visibleFireTime = _visibleFireTime + 2; }; -_darkness = 1 - (call EFUNC(common,ambientBrightness)); +private _darkness = 1 - (call EFUNC(common,ambientBrightness)); +private _nvgBrightnessCoef = 1 + (_player getVariable [QGVAR(NVGBrightness), 0]) / 4; _visibleFire = _darkness * _visibleFireCoef * _visibleFire * _nvgBrightnessCoef / 10 min 1; _visibleFireTime = _darkness * _visibleFireTimeCoef * _visibleFireTime * _nvgBrightnessCoef / 10 min 0.5; From 2cc1252f81d3b841dd001ca0bf30c01a15e38d7b Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 31 May 2016 20:00:45 +0200 Subject: [PATCH 50/63] Remove unused CfgInventoryGlobalVariable in movement and improve debugging --- .../movement/CfgInventoryGlobalVariable.hpp | 3 -- addons/movement/XEH_postInit.sqf | 3 +- addons/movement/config.cpp | 1 - addons/movement/functions/fnc_canClimb.sqf | 31 ++++++++++++++----- 4 files changed, 24 insertions(+), 14 deletions(-) delete mode 100644 addons/movement/CfgInventoryGlobalVariable.hpp diff --git a/addons/movement/CfgInventoryGlobalVariable.hpp b/addons/movement/CfgInventoryGlobalVariable.hpp deleted file mode 100644 index cf25595254..0000000000 --- a/addons/movement/CfgInventoryGlobalVariable.hpp +++ /dev/null @@ -1,3 +0,0 @@ -class CfgInventoryGlobalVariable { - maxSoldierLoad = 1200; -}; diff --git a/addons/movement/XEH_postInit.sqf b/addons/movement/XEH_postInit.sqf index d9179a912a..7e64503fc6 100644 --- a/addons/movement/XEH_postInit.sqf +++ b/addons/movement/XEH_postInit.sqf @@ -6,8 +6,7 @@ if (!hasInterface) exitWith {}; ["playerChanged", FUNC(handleVirtualMass)] call FUNC(addEventHandler); ["playerInventoryChanged", FUNC(handleVirtualMass)] call FUNC(addEventHandler); -["ACE3 Movement", QGVAR(climb), localize LSTRING(Climb), -{ +["ACE3 Movement", QGVAR(climb), localize LSTRING(Climb), { // Conditions: canInteract if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; // Conditions: specific diff --git a/addons/movement/config.cpp b/addons/movement/config.cpp index 8ea42fbf0c..d47040a053 100644 --- a/addons/movement/config.cpp +++ b/addons/movement/config.cpp @@ -14,7 +14,6 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgFatigue.hpp" -//#include "CfgInventoryGlobalVariable.hpp" #include "CfgMoves.hpp" #include "CfgVehicles.hpp" #include "ACE_Settings.hpp" diff --git a/addons/movement/functions/fnc_canClimb.sqf b/addons/movement/functions/fnc_canClimb.sqf index ec4202dbd5..260f76105b 100644 --- a/addons/movement/functions/fnc_canClimb.sqf +++ b/addons/movement/functions/fnc_canClimb.sqf @@ -40,14 +40,29 @@ private _checkPos4end = _checkPos4beg vectorAdd (_dir vectorMultiply 1.3); private _checkPos5beg = _pos vectorAdd [-0.2 * (_dir select 1), -0.2 * -(_dir select 0), 1.5]; private _checkPos5end = _checkPos5beg vectorAdd (_dir vectorMultiply 1.3); -/* -drawLine3D [ASLToATL _checkPos0beg, ASLToATL _checkPos0end, [0,1,0,1]]; -drawLine3D [ASLToATL _checkPos1beg, ASLToATL _checkPos1end, [1,0,0,1]]; -drawLine3D [ASLToATL _checkPos2beg, ASLToATL _checkPos2end, [1,0.5,0.5,1]]; -drawLine3D [ASLToATL _checkPos3beg, ASLToATL _checkPos3end, [1,0.5,0.5,1]]; -drawLine3D [ASLToATL _checkPos4beg, ASLToATL _checkPos4end, [1,0.5,0.5,1]]; -drawLine3D [ASLToATL _checkPos5beg, ASLToATL _checkPos5end, [1,0.5,0.5,1]]; -*/ +#ifdef DEBUG_MODE_FULL + [{ + params ["_args", "_idPFH"]; + + if (diag_tickTime > (_args select 0) + 5) exitWith { + [_idPFH] call CBA_fnc_removePerFrameHandler; + }; + + drawLine3D [ASLToATL (_args select 1), ASLToATL (_args select 2), [0,1,0,1]]; + drawLine3D [ASLToATL (_args select 3), ASLToATL (_args select 4), [1,0,0,1]]; + drawLine3D [ASLToATL (_args select 5), ASLToATL (_args select 6), [1,0.5,0.5,1]]; + drawLine3D [ASLToATL (_args select 7), ASLToATL (_args select 8), [1,0.5,0.5,1]]; + drawLine3D [ASLToATL (_args select 9), ASLToATL (_args select 10), [1,0.5,0.5,1]]; + drawLine3D [ASLToATL (_args select 11), ASLToATL (_args select 12), [1,0.5,0.5,1]]; + }, 0, [ diag_tickTime, + _checkPos0beg, _checkPos0end, + _checkPos1beg, _checkPos1end, + _checkPos2beg, _checkPos2end, + _checkPos3beg, _checkPos3end, + _checkPos4beg, _checkPos4end, + _checkPos5beg, _checkPos5end + ]] call CBA_fnc_addPerFrameHandler; +#endif lineIntersects [_checkPos0beg, _checkPos0end] && {!(lineIntersects [_checkPos1beg, _checkPos1end])} From 021a123fc6d05d768a8c2e428a7bc95710a12078 Mon Sep 17 00:00:00 2001 From: jonpas Date: Sun, 5 Jun 2016 14:02:55 +0200 Subject: [PATCH 51/63] Fix selective UI in FFV slots, Properly fix config name check --- addons/ui/XEH_clientInit.sqf | 2 +- addons/ui/functions/fnc_setAdvancedElement.sqf | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/ui/XEH_clientInit.sqf b/addons/ui/XEH_clientInit.sqf index 23940d2fb2..cfbc31ffa0 100644 --- a/addons/ui/XEH_clientInit.sqf +++ b/addons/ui/XEH_clientInit.sqf @@ -32,7 +32,7 @@ if (!hasInterface) exitWith {}; if (_name in ELEMENTS_BASIC) then { [false] call FUNC(setElements); } else { - if (isClass (configFile >> "ACE_UI" >> _name)) then { + if (isClass (configFile >> "ACE_UI" >> _name select [7])) then { [_name select [7], missionNamespace getVariable _name, true] call FUNC(setAdvancedElement); }; }; diff --git a/addons/ui/functions/fnc_setAdvancedElement.sqf b/addons/ui/functions/fnc_setAdvancedElement.sqf index 3f087d8974..956dc3db5b 100644 --- a/addons/ui/functions/fnc_setAdvancedElement.sqf +++ b/addons/ui/functions/fnc_setAdvancedElement.sqf @@ -29,8 +29,8 @@ private _config = configFile >> "ACE_UI" >> _element; // Exit if main vehicle type condition not fitting private _location = getNumber (_config >> "location"); // (0-both, 1-ground, 2-vehicle) -private _currentLocation = ACE_player == vehicle ACE_player; -if ((_currentLocation && _location == 2) || (!_currentLocation && _location == 1)) exitWith {false}; +private _canUseWeapon = ACE_player call CBA_fnc_canUseWeapon; +if ((_canUseWeapon && _location == 2) || (!_canUseWeapon && _location == 1)) exitWith {false}; private _idd = getNumber (_config >> "idd"); private _elements = getArray (_config >> "elements"); From be260e896b3433ab2c1a94fc131882ec4d858ec2 Mon Sep 17 00:00:00 2001 From: commy2 Date: Mon, 6 Jun 2016 17:22:17 +0200 Subject: [PATCH 52/63] animated reticle for spotting scope --- addons/spottingscope/CfgEventHandlers.hpp | 4 +- addons/spottingscope/CfgVehicles.hpp | 4 +- addons/spottingscope/RscInGameUI.hpp | 68 ++++++++++++++++++ addons/spottingscope/XEH_PREP.hpp | 1 + addons/spottingscope/config.cpp | 2 + addons/spottingscope/data/PSO_ring.paa | Bin 43940 -> 0 bytes addons/spottingscope/data/scopering.paa | Bin 49553 -> 0 bytes .../functions/fnc_animateReticle.sqf | 65 +++++++++++++++++ .../rsc/spotting_scope_body_co.paa | Bin 0 -> 140807 bytes .../rsc/spotting_scope_reticle_co.paa | Bin 0 -> 61673 bytes addons/spottingscope/script_component.hpp | 12 ++++ 11 files changed, 153 insertions(+), 3 deletions(-) create mode 100644 addons/spottingscope/RscInGameUI.hpp delete mode 100644 addons/spottingscope/data/PSO_ring.paa delete mode 100644 addons/spottingscope/data/scopering.paa create mode 100644 addons/spottingscope/functions/fnc_animateReticle.sqf create mode 100644 addons/spottingscope/rsc/spotting_scope_body_co.paa create mode 100644 addons/spottingscope/rsc/spotting_scope_reticle_co.paa diff --git a/addons/spottingscope/CfgEventHandlers.hpp b/addons/spottingscope/CfgEventHandlers.hpp index 13d369b097..b34b3ac099 100644 --- a/addons/spottingscope/CfgEventHandlers.hpp +++ b/addons/spottingscope/CfgEventHandlers.hpp @@ -7,13 +7,13 @@ class Extended_PreStart_EventHandlers { class Extended_PreInit_EventHandlers { class ADDON { - init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + init = QUOTE(call COMPILE_FILE(XEH_preInit)); }; }; class Extended_PostInit_EventHandlers { class ADDON { - init = QUOTE( call COMPILE_FILE(XEH_postInit) ); + init = QUOTE(call COMPILE_FILE(XEH_postInit)); }; }; diff --git a/addons/spottingscope/CfgVehicles.hpp b/addons/spottingscope/CfgVehicles.hpp index f45173ae31..f5747660db 100644 --- a/addons/spottingscope/CfgVehicles.hpp +++ b/addons/spottingscope/CfgVehicles.hpp @@ -68,6 +68,8 @@ class CfgVehicles { getOutAction = "GetOutLow"; class Turrets: Turrets { class MainTurret: MainTurret { + turretInfoType = QGVAR(RscUnitInfo_SpottingScope); + minTurn = -45; maxTurn = 45; initTurn = 0; @@ -78,7 +80,7 @@ class CfgVehicles { weapons[] = {}; magazines[] = {}; gunnerOpticsColor[] = {1,1,1,1}; - gunnerOpticsmodel = QPATHTOF(data\m144_optic.p3d); + gunnerOpticsmodel = "\A3\Weapons_F\empty"; //QPATHTOF(data\m144_optic.p3d); gunnerOpticsEffect[] = {"OpticsCHAbera1","OpticsBlur2"}; gunnerOutOpticsShowCursor = 0; gunnerOpticsShowCursor = 0; diff --git a/addons/spottingscope/RscInGameUI.hpp b/addons/spottingscope/RscInGameUI.hpp new file mode 100644 index 0000000000..6d5dad7b1f --- /dev/null +++ b/addons/spottingscope/RscInGameUI.hpp @@ -0,0 +1,68 @@ + +class RscOpticsValue; +class RscMapControl; +class RscText; + +class RscInGameUI { + class RscUnitInfo; + class GVAR(RscUnitInfo_SpottingScope): RscUnitInfo { + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uinamespace setVariable [ARR_2(QUOTE(QUOTE(dlgSpottingScope)),_this select 0)]); + controls[] = {"CA_FOVMode","ScriptedReticleHelper","Body","Reticle","trippleHeadLeft","trippleHeadRight"}; // don't change this order + + class CA_FOVMode: RscOpticsValue { // idea by Taosenai. Apparently this can be used via isNil check to determine wheter the scope or the kolimator is used + idc = 154; + style = 2; + colorText[] = {0,0,0,0}; + x = 0; + y = 0; + w = 0; + h = 0; + }; + + class ScriptedReticleHelper: RscMapControl { + onDraw = QUOTE(ctrlParent (_this select 0) call FUNC(animateReticle)); + idc = -1; + w = 0; + h = 0; + }; + + class Reticle: RscText { + idc = IDC_RETICLE; + style = 48; + size = 0; + sizeEx = 1; + text = QPATHTOF(rsc\spotting_scope_body_co.paa); + colorText[] = {1,1,1,1}; + colorBackground[] = {0,0,0,0}; + x = POS_X; + y = POS_Y; + w = POS_W; + h = POS_H; + }; + + class Body: Reticle { + idc = IDC_BODY; + text = QPATHTOF(rsc\spotting_scope_reticle_co.paa); + x = POS_X; + y = POS_Y; + w = POS_W; + h = POS_H; + }; + + //These are just black side panels to cover the areas that the optics p3d doesn't cover + //It will ONLY effect tripple head users as (safezoneX == safeZoneXAbs) for everyone else + class trippleHeadLeft: RscText { + idc = IDC_BLACK_LEFT; + x = "safeZoneXAbs"; + Y = "safezoneY"; + W = "(safezoneX - safeZoneXAbs) * ((getResolution select 4)/(16/3))"; + H = "safeZoneH"; + colorBackground[] = {0,0,0,1}; + }; + + class trippleHeadRight: trippleHeadLeft { + idc = IDC_BLACK_RIGHT; + x = "safeZoneXAbs + safeZoneWAbs - (safezoneX - safeZoneXABS) * ((getResolution select 4)/(16/3))"; + }; + }; +}; diff --git a/addons/spottingscope/XEH_PREP.hpp b/addons/spottingscope/XEH_PREP.hpp index ebb99df96b..9839872360 100644 --- a/addons/spottingscope/XEH_PREP.hpp +++ b/addons/spottingscope/XEH_PREP.hpp @@ -1,3 +1,4 @@ PREP(pickup); PREP(place); +PREP(animateReticle); diff --git a/addons/spottingscope/config.cpp b/addons/spottingscope/config.cpp index a92f91ec50..f69e2d6fff 100644 --- a/addons/spottingscope/config.cpp +++ b/addons/spottingscope/config.cpp @@ -17,3 +17,5 @@ class CfgPatches { #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" #include "CfgMoves.hpp" + +#include "RscInGameUI.hpp" diff --git a/addons/spottingscope/data/PSO_ring.paa b/addons/spottingscope/data/PSO_ring.paa deleted file mode 100644 index e1502aa5e202cb691b0193c61e019923841fe0da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43940 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 z 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 diff --git a/addons/spottingscope/data/scopering.paa b/addons/spottingscope/data/scopering.paa deleted file mode 100644 index ecf236b025d62563dde0ad6d53c1684f375a7c3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49553 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

OiL4kh}-+(aUz!C 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 Mc`Ir^J9zj157p(Iu>b%7 diff --git a/addons/spottingscope/functions/fnc_animateReticle.sqf b/addons/spottingscope/functions/fnc_animateReticle.sqf new file mode 100644 index 0000000000..913a0bbd02 --- /dev/null +++ b/addons/spottingscope/functions/fnc_animateReticle.sqf @@ -0,0 +1,65 @@ +/* + * Author: commy2 + * Animate scripted reticle of spotting scope. + * + * Arguments: + * 0: Reticles RSC info display + * + * Return value: + * None + * + * Public: No + */ +#include "script_component.hpp" + +disableSerialization; + +params ["_display"]; systemChat str _display; + +// check if optics are used +// hide all controls otherwise +private _isUsingOptic = ctrlShown (_display displayCtrl 154); + +(_display displayCtrl IDC_BLACK_LEFT) ctrlShow _isUsingOptic; +(_display displayCtrl IDC_BLACK_RIGHT) ctrlShow _isUsingOptic; + +// animate reticle +private _ctrlReticle = _display displayCtrl IDC_RETICLE; +private _ctrlBody = _display displayCtrl IDC_BODY; + +_ctrlReticle ctrlShow _isUsingOptic; +_ctrlBody ctrlShow _isUsingOptic; + + + +/* + +private _unit = call CBA_fnc_currentUnit; + +if (currentWeapon _unit != primaryWeapon _unit || {_scope != primaryWeaponItems _unit select 2}) exitWith { + _control ctrlShow false; + + [_this select 1] call CBA_fnc_removePerFrameHandler +}; + +if (cameraView != "GUNNER") exitWith { + _control ctrlShow false; +}; + +private ["_size", "_sizeX", "_sizeY"]; + +_size = ([0.5,0.5] distance worldToScreen positionCameraToWorld [0,1,1]) * (getResolution select 5); + +_sizeX = _size/4; +_sizeY = _sizeX*safezoneW/safezoneH; + +_control ctrlSetPosition [ + safezoneX+0.5*safezoneW-0.5*_sizeX, + safezoneY+0.5*safezoneH-0.5*_sizeY, + _sizeX, + _sizeY +]; +_control ctrlCommit 0; +_control ctrlShow true; + + diff --git a/addons/spottingscope/rsc/spotting_scope_body_co.paa b/addons/spottingscope/rsc/spotting_scope_body_co.paa new file mode 100644 index 0000000000000000000000000000000000000000..71e1984c6e5d4d2dadd226bf390b3c7b8ce739b3 GIT binary patch literal 140807 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 z�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

L(&;xb~>is}kw&G&`l>`jT+!Uh_(J5K-0V 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 literal 0 HcmV?d00001 diff --git a/addons/spottingscope/rsc/spotting_scope_reticle_co.paa b/addons/spottingscope/rsc/spotting_scope_reticle_co.paa new file mode 100644 index 0000000000000000000000000000000000000000..a2d299d937916c66d55776afc97d0572217d5753 GIT binary patch literal 61673 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%0Ax!Gpd+PPbP0Pkq=TXZ=E$)8VZ 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 literal 0 HcmV?d00001 diff --git a/addons/spottingscope/script_component.hpp b/addons/spottingscope/script_component.hpp index 48f14b7398..bb1484a2ad 100644 --- a/addons/spottingscope/script_component.hpp +++ b/addons/spottingscope/script_component.hpp @@ -15,3 +15,15 @@ #endif #include "\z\ace\addons\main\script_macros.hpp" + +#define IDC_RETICLE 10000 +#define IDC_BODY 10001 +#define IDC_BLACK_LEFT 10002 +#define IDC_BLACK_RIGHT 10003 + +#define SIZEX 0.75/(getResolution select 5) + +#define POS_X QUOTE(safezoneX + 0.5 * safezoneW - 0.5 * SIZEX) +#define POS_Y QUOTE(safezoneY + 0.5 * safezoneH - 0.5 * SIZEX * 4/3) +#define POS_W QUOTE(SIZEX) +#define POS_H QUOTE(SIZEX * 4/3) From cd43c17f80bc1bcb7de4d5915272abb3c62b2e65 Mon Sep 17 00:00:00 2001 From: commy2 Date: Mon, 6 Jun 2016 19:22:24 +0200 Subject: [PATCH 53/63] animate the scope --- addons/spottingscope/CfgVehicles.hpp | 3 +- addons/spottingscope/RscInGameUI.hpp | 9 ++-- .../functions/fnc_animateReticle.sqf | 41 +++++-------------- addons/spottingscope/script_component.hpp | 17 +++++--- 4 files changed, 28 insertions(+), 42 deletions(-) diff --git a/addons/spottingscope/CfgVehicles.hpp b/addons/spottingscope/CfgVehicles.hpp index f5747660db..d9c54bf716 100644 --- a/addons/spottingscope/CfgVehicles.hpp +++ b/addons/spottingscope/CfgVehicles.hpp @@ -66,9 +66,10 @@ class CfgVehicles { transportSoldier = 0; getInAction = "GetInLow"; getOutAction = "GetOutLow"; + opticsDisablePeripherialVision = 1; class Turrets: Turrets { class MainTurret: MainTurret { - turretInfoType = QGVAR(RscUnitInfo_SpottingScope); + turretInfoType = QGVAR(RscUnitInfo); minTurn = -45; maxTurn = 45; diff --git a/addons/spottingscope/RscInGameUI.hpp b/addons/spottingscope/RscInGameUI.hpp index 6d5dad7b1f..3c1a131a99 100644 --- a/addons/spottingscope/RscInGameUI.hpp +++ b/addons/spottingscope/RscInGameUI.hpp @@ -5,9 +5,8 @@ class RscText; class RscInGameUI { class RscUnitInfo; - class GVAR(RscUnitInfo_SpottingScope): RscUnitInfo { - onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uinamespace setVariable [ARR_2(QUOTE(QUOTE(dlgSpottingScope)),_this select 0)]); - controls[] = {"CA_FOVMode","ScriptedReticleHelper","Body","Reticle","trippleHeadLeft","trippleHeadRight"}; // don't change this order + class GVAR(RscUnitInfo): RscUnitInfo { + controls[] = {"CA_FOVMode","ScriptedReticleHelper","Reticle","Body","trippleHeadLeft","trippleHeadRight"}; // don't change this order class CA_FOVMode: RscOpticsValue { // idea by Taosenai. Apparently this can be used via isNil check to determine wheter the scope or the kolimator is used idc = 154; @@ -31,7 +30,7 @@ class RscInGameUI { style = 48; size = 0; sizeEx = 1; - text = QPATHTOF(rsc\spotting_scope_body_co.paa); + text = QPATHTOF(rsc\spotting_scope_reticle_co.paa); colorText[] = {1,1,1,1}; colorBackground[] = {0,0,0,0}; x = POS_X; @@ -42,7 +41,7 @@ class RscInGameUI { class Body: Reticle { idc = IDC_BODY; - text = QPATHTOF(rsc\spotting_scope_reticle_co.paa); + text = QPATHTOF(rsc\spotting_scope_body_co.paa); x = POS_X; y = POS_Y; w = POS_W; diff --git a/addons/spottingscope/functions/fnc_animateReticle.sqf b/addons/spottingscope/functions/fnc_animateReticle.sqf index 913a0bbd02..927ff8a01e 100644 --- a/addons/spottingscope/functions/fnc_animateReticle.sqf +++ b/addons/spottingscope/functions/fnc_animateReticle.sqf @@ -14,7 +14,9 @@ disableSerialization; -params ["_display"]; systemChat str _display; +params ["_display"]; + +//uinamespace setVariable [QGVAR(dlgSpottingScope), _display]; // check if optics are used // hide all controls otherwise @@ -30,36 +32,13 @@ private _ctrlBody = _display displayCtrl IDC_BODY; _ctrlReticle ctrlShow _isUsingOptic; _ctrlBody ctrlShow _isUsingOptic; +private _zoom = ([] call EFUNC(common,getZoom)) * MAGIC_SCOPE_NUMBER; - -/* - -private _unit = call CBA_fnc_currentUnit; - -if (currentWeapon _unit != primaryWeapon _unit || {_scope != primaryWeaponItems _unit select 2}) exitWith { - _control ctrlShow false; - - [_this select 1] call CBA_fnc_removePerFrameHandler -}; - -if (cameraView != "GUNNER") exitWith { - _control ctrlShow false; -}; - -private ["_size", "_sizeX", "_sizeY"]; - -_size = ([0.5,0.5] distance worldToScreen positionCameraToWorld [0,1,1]) * (getResolution select 5); - -_sizeX = _size/4; -_sizeY = _sizeX*safezoneW/safezoneH; - -_control ctrlSetPosition [ - safezoneX+0.5*safezoneW-0.5*_sizeX, - safezoneY+0.5*safezoneH-0.5*_sizeY, - _sizeX, - _sizeY +_ctrlReticle ctrlSetPosition [ + POS_X_BASE(_zoom), + POS_Y_BASE(_zoom), + POS_W_BASE(_zoom), + POS_H_BASE(_zoom) ]; -_control ctrlCommit 0; -_control ctrlShow true; - +_ctrlReticle ctrlCommit 0; diff --git a/addons/spottingscope/script_component.hpp b/addons/spottingscope/script_component.hpp index bb1484a2ad..4149364d92 100644 --- a/addons/spottingscope/script_component.hpp +++ b/addons/spottingscope/script_component.hpp @@ -21,9 +21,16 @@ #define IDC_BLACK_LEFT 10002 #define IDC_BLACK_RIGHT 10003 -#define SIZEX 0.75/(getResolution select 5) +#define MAGIC_SCOPE_NUMBER 0.0775 -#define POS_X QUOTE(safezoneX + 0.5 * safezoneW - 0.5 * SIZEX) -#define POS_Y QUOTE(safezoneY + 0.5 * safezoneH - 0.5 * SIZEX * 4/3) -#define POS_W QUOTE(SIZEX) -#define POS_H QUOTE(SIZEX * 4/3) +#define POS_X_BASE(size) safezoneX + 0.5 * safezoneW - 0.5 * (size) * (getResolution select 5) +#define POS_Y_BASE(size) safezoneY + 0.5 * safezoneH - 0.5 * (size) * (getResolution select 5) * 4/3 +#define POS_W_BASE(size) (size) * (getResolution select 5) +#define POS_H_BASE(size) (size) * (getResolution select 5) * 4/3 + +#define SIZEX 3.5 + +#define POS_X QUOTE(POS_X_BASE(SIZEX)) +#define POS_Y QUOTE(POS_Y_BASE(SIZEX)) +#define POS_W QUOTE(POS_W_BASE(SIZEX)) +#define POS_H QUOTE(POS_H_BASE(SIZEX)) From 36d0b78811244dedcbdf43916eb5c66bee70f914 Mon Sep 17 00:00:00 2001 From: commy2 Date: Mon, 6 Jun 2016 21:36:29 +0200 Subject: [PATCH 54/63] coeficient handling interface sizes was inverted --- addons/spottingscope/script_component.hpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/addons/spottingscope/script_component.hpp b/addons/spottingscope/script_component.hpp index 4149364d92..0a730e13d6 100644 --- a/addons/spottingscope/script_component.hpp +++ b/addons/spottingscope/script_component.hpp @@ -21,14 +21,15 @@ #define IDC_BLACK_LEFT 10002 #define IDC_BLACK_RIGHT 10003 -#define MAGIC_SCOPE_NUMBER 0.0775 +#define MAGIC_SCOPE_NUMBER 0.0235 +//#define MAGIC_SCOPE_NUMBER (uiNamespace getVariable ['magic', 1]) -#define POS_X_BASE(size) safezoneX + 0.5 * safezoneW - 0.5 * (size) * (getResolution select 5) -#define POS_Y_BASE(size) safezoneY + 0.5 * safezoneH - 0.5 * (size) * (getResolution select 5) * 4/3 -#define POS_W_BASE(size) (size) * (getResolution select 5) -#define POS_H_BASE(size) (size) * (getResolution select 5) * 4/3 +#define POS_X_BASE(size) safezoneX + 0.5 * safezoneW - 0.5 * (size) / (getResolution select 5) +#define POS_Y_BASE(size) safezoneY + 0.5 * safezoneH - 0.5 * (size) / (getResolution select 5) * 4/3 +#define POS_W_BASE(size) (size) / (getResolution select 5) +#define POS_H_BASE(size) (size) / (getResolution select 5) * 4/3 -#define SIZEX 3.5 +#define SIZEX 1.05 #define POS_X QUOTE(POS_X_BASE(SIZEX)) #define POS_Y QUOTE(POS_Y_BASE(SIZEX)) From 6a5c9cfca758ce55e5e387bfe17a83d4faf46a97 Mon Sep 17 00:00:00 2001 From: commy2 Date: Mon, 6 Jun 2016 23:14:19 +0200 Subject: [PATCH 55/63] black periphery --- addons/spottingscope/CfgVehicles.hpp | 205 +++++++++--------- addons/spottingscope/RscInGameUI.hpp | 7 +- .../functions/fnc_animateReticle.sqf | 16 +- 3 files changed, 118 insertions(+), 110 deletions(-) diff --git a/addons/spottingscope/CfgVehicles.hpp b/addons/spottingscope/CfgVehicles.hpp index d9c54bf716..2d04c0c73e 100644 --- a/addons/spottingscope/CfgVehicles.hpp +++ b/addons/spottingscope/CfgVehicles.hpp @@ -1,5 +1,5 @@ -class CBA_Extended_EventHandlers; +class CBA_Extended_EventHandlers_base; class CfgVehicles { class Man; @@ -18,6 +18,111 @@ class CfgVehicles { }; }; + class LandVehicle; + class StaticWeapon: LandVehicle { + class Turrets; + class ACE_Actions { + class ACE_MainActions; + }; + }; + + class StaticATWeapon: StaticWeapon { + class Turrets: Turrets { + class MainTurret; + }; + + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions {}; + }; + }; + + class ACE_SpottingScopeObject: StaticATWeapon { + EGVAR(dragging,canDrag) = 1; + EGVAR(dragging,dragPosition)[] = {0,1,0}; + EGVAR(dragging,dragDirection) = 0; + + class ACE_Actions: ACE_Actions{ + class ACE_MainActions: ACE_MainActions { + selection = "main_turret"; + class ACE_Pickup { + selection = ""; + displayName = CSTRING(PickUp); + distance = 5; + condition = QUOTE((alive _target) && (count (crew _target) == 0)); + statement = QUOTE([ARR_2(_target,_player)] call FUNC(pickup)); + showDisabled = 0; + exceptions[] = {}; + priority = 5; + icon = QPATHTOF(UI\w_spottingscope_ca.paa); + }; + }; + }; + + class EventHandlers { + class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base {}; + }; + + scope = 1; + side = 1; + typicalCargo[] = {"Soldier"}; + displayName = CSTRING(DisplayName); + model = QPATHTOF(data\ace_spottingscope.p3d); + mapSize = 0.5; + transportSoldier = 0; + getInAction = "GetInLow"; + getOutAction = "GetOutLow"; + + class Turrets: Turrets { + class MainTurret: MainTurret { + minTurn = -45; + maxTurn = 45; + initTurn = 0; + minElev = -10; + maxElev = 40; + initElev = 0; + + class ViewGunner { + initAngleX = 5; + minAngleX = -30; + maxAngleX = 30; + initAngleY = 0; + minAngleY = -100; + maxAngleY = 100; + initFov = 0.75; + minFov = 0.25; + maxFov = 1.25; + }; + + class ViewOptics { + initAngleX = 0; + minAngleX = -30; + maxAngleX = 30; + initAngleY = 0; + minAngleY = -100; + maxAngleY = 100; + minFov = 0.0025; + maxFov = 0.05; + initFov= 0.05; + }; + + weapons[] = {}; + magazines[] = {}; + gunnerOpticsColor[] = {1,1,1,1}; + gunnerOpticsModel = "\A3\Weapons_F\empty"; //QPATHTOF(data\m144_optic.p3d); + gunnerOpticsEffect[] = {"OpticsCHAbera1","OpticsBlur2"}; + gunnerOutOpticsShowCursor = 0; + gunnerOpticsShowCursor = 0; + gunnerAction = "ACE_SpottingScope"; + gunnerGetInAction = "GetInLow"; + gunnerGetOutAction = "GetOutLow"; + gunnerForceOptics = 0; + ejectDeadGunner = 0; + turretInfoType = QGVAR(RscUnitInfo); + opticsDisablePeripherialVision = 1; + }; + }; + }; + class Item_Base_F; class ACE_Item_SpottingScope: Item_Base_F { author[] = {"Rocko", "Scubaman3D"}; @@ -36,102 +141,4 @@ class CfgVehicles { MACRO_ADDITEM(ACE_SpottingScope,2); }; }; - - class LandVehicle; - class StaticWeapon: LandVehicle { - class Turrets; - class ACE_Actions { - class ACE_MainActions {}; - }; - }; - class StaticATWeapon: StaticWeapon { - class Turrets: Turrets { - class MainTurret; - }; - class ACE_Actions: ACE_Actions{ - class ACE_MainActions: ACE_MainActions {}; - }; - }; - class ACE_SpottingScopeObject: StaticATWeapon { - class EventHandlers { - class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {}; - }; - - scope = 1; - side = 1; - typicalCargo[] = {"Soldier"}; - displayName = CSTRING(DisplayName); - model = QPATHTOF(data\ace_spottingscope.p3d); - mapSize = 0.5; - transportSoldier = 0; - getInAction = "GetInLow"; - getOutAction = "GetOutLow"; - opticsDisablePeripherialVision = 1; - class Turrets: Turrets { - class MainTurret: MainTurret { - turretInfoType = QGVAR(RscUnitInfo); - - minTurn = -45; - maxTurn = 45; - initTurn = 0; - minElev = -10; - maxElev = 40; - initElev = 0; - - weapons[] = {}; - magazines[] = {}; - gunnerOpticsColor[] = {1,1,1,1}; - gunnerOpticsmodel = "\A3\Weapons_F\empty"; //QPATHTOF(data\m144_optic.p3d); - gunnerOpticsEffect[] = {"OpticsCHAbera1","OpticsBlur2"}; - gunnerOutOpticsShowCursor = 0; - gunnerOpticsShowCursor = 0; - gunnerAction = "ACE_SpottingScope"; - gunnerGetInAction = "GetInLow"; - gunnerGetOutAction = "GetOutLow"; - gunnerForceOptics = 0; - ejectDeadGunner = 0; - class ViewGunner { - initAngleX = 5; - minAngleX = -30; - maxAngleX = 30; - initAngleY = 0; - minAngleY = -100; - maxAngleY = 100; - initFov = 0.75; - minFov = 0.25; - maxFov = 1.25; - }; - class ViewOptics { - initAngleX = 0; - minAngleX = -30; - maxAngleX = 30; - initAngleY = 0; - minAngleY = -100; - maxAngleY = 100; - minFov = 0.0025; - maxFov = 0.05; - initFov= 0.05; - }; - }; - }; - EGVAR(dragging,canDrag) = 1; - EGVAR(dragging,dragPosition)[] = {0,1,0}; - EGVAR(dragging,dragDirection) = 0; - class ACE_Actions: ACE_Actions{ - class ACE_MainActions: ACE_MainActions { - selection = "main_turret"; - class ACE_Pickup { - selection = ""; - displayName = CSTRING(PickUp); - distance = 5; - condition = QUOTE((alive _target) && (count (crew _target) == 0)); - statement = QUOTE([ARR_2(_target,_player)] call FUNC(pickup)); - showDisabled = 0; - exceptions[] = {}; - priority = 5; - icon = QPATHTOF(UI\w_spottingscope_ca.paa); - }; - }; - }; - }; }; diff --git a/addons/spottingscope/RscInGameUI.hpp b/addons/spottingscope/RscInGameUI.hpp index 3c1a131a99..68568fdbf8 100644 --- a/addons/spottingscope/RscInGameUI.hpp +++ b/addons/spottingscope/RscInGameUI.hpp @@ -6,7 +6,8 @@ class RscText; class RscInGameUI { class RscUnitInfo; class GVAR(RscUnitInfo): RscUnitInfo { - controls[] = {"CA_FOVMode","ScriptedReticleHelper","Reticle","Body","trippleHeadLeft","trippleHeadRight"}; // don't change this order + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); {((_this select 0) displayCtrl _x) ctrlShow false} forEach [ARR_4(IDC_RETICLE,IDC_BODY,IDC_BLACK_LEFT,IDC_BLACK_RIGHT)]); + controls[] = {"CA_FOVMode","ScriptedReticleHelper","trippleHeadLeft","trippleHeadRight","Reticle","Body"}; // don't change this order class CA_FOVMode: RscOpticsValue { // idea by Taosenai. Apparently this can be used via isNil check to determine wheter the scope or the kolimator is used idc = 154; @@ -54,14 +55,14 @@ class RscInGameUI { idc = IDC_BLACK_LEFT; x = "safeZoneXAbs"; Y = "safezoneY"; - W = "(safezoneX - safeZoneXAbs) * ((getResolution select 4)/(16/3))"; + W = "(-safeZoneX - safeZoneXAbs) * ((getResolution select 4)/(16/3))"; H = "safeZoneH"; colorBackground[] = {0,0,0,1}; }; class trippleHeadRight: trippleHeadLeft { idc = IDC_BLACK_RIGHT; - x = "safeZoneXAbs + safeZoneWAbs - (safezoneX - safeZoneXABS) * ((getResolution select 4)/(16/3))"; + x = "safeZoneXAbs + safeZoneWAbs - (-safeZoneX - safeZoneXABS) * ((getResolution select 4)/(16/3))"; }; }; }; diff --git a/addons/spottingscope/functions/fnc_animateReticle.sqf b/addons/spottingscope/functions/fnc_animateReticle.sqf index 927ff8a01e..16dba2165c 100644 --- a/addons/spottingscope/functions/fnc_animateReticle.sqf +++ b/addons/spottingscope/functions/fnc_animateReticle.sqf @@ -15,23 +15,23 @@ disableSerialization; params ["_display"]; - //uinamespace setVariable [QGVAR(dlgSpottingScope), _display]; +private _ctrlReticle = _display displayCtrl IDC_RETICLE; +private _ctrlBody = _display displayCtrl IDC_BODY; +private _ctrlBlackLeft = _display displayCtrl IDC_BLACK_LEFT; +private _ctrlBlackRight = _display displayCtrl IDC_BLACK_RIGHT; + // check if optics are used // hide all controls otherwise private _isUsingOptic = ctrlShown (_display displayCtrl 154); -(_display displayCtrl IDC_BLACK_LEFT) ctrlShow _isUsingOptic; -(_display displayCtrl IDC_BLACK_RIGHT) ctrlShow _isUsingOptic; - -// animate reticle -private _ctrlReticle = _display displayCtrl IDC_RETICLE; -private _ctrlBody = _display displayCtrl IDC_BODY; - _ctrlReticle ctrlShow _isUsingOptic; _ctrlBody ctrlShow _isUsingOptic; +_ctrlBlackLeft ctrlShow _isUsingOptic; +_ctrlBlackRight ctrlShow _isUsingOptic; +// animate reticle private _zoom = ([] call EFUNC(common,getZoom)) * MAGIC_SCOPE_NUMBER; _ctrlReticle ctrlSetPosition [ From 12ab4e9fa6f1a980c7d78a9a2797d04920ab4db8 Mon Sep 17 00:00:00 2001 From: commy2 Date: Mon, 6 Jun 2016 23:33:00 +0200 Subject: [PATCH 56/63] match controls at boarder --- addons/spottingscope/RscInGameUI.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/spottingscope/RscInGameUI.hpp b/addons/spottingscope/RscInGameUI.hpp index 68568fdbf8..54f3ebafa2 100644 --- a/addons/spottingscope/RscInGameUI.hpp +++ b/addons/spottingscope/RscInGameUI.hpp @@ -55,14 +55,14 @@ class RscInGameUI { idc = IDC_BLACK_LEFT; x = "safeZoneXAbs"; Y = "safezoneY"; - W = "(-safeZoneX - safeZoneXAbs) * ((getResolution select 4)/(16/3))"; - H = "safeZoneH"; + w = QUOTE(POS_X_BASE(SIZEX) - safeZoneXAbs); + h = "safeZoneH"; colorBackground[] = {0,0,0,1}; }; class trippleHeadRight: trippleHeadLeft { idc = IDC_BLACK_RIGHT; - x = "safeZoneXAbs + safeZoneWAbs - (-safeZoneX - safeZoneXABS) * ((getResolution select 4)/(16/3))"; + x = QUOTE(safeZoneXAbs + safeZoneWAbs - (POS_X_BASE(SIZEX) - safeZoneXABS)); }; }; }; From f5a96ac2fc6149243591e3bb44258fa0d54bfb52 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 7 Jun 2016 00:17:04 +0200 Subject: [PATCH 57/63] add editor stuff for spotting scope --- addons/spottingscope/CfgVehicles.hpp | 29 +++++++++++++++++++ addons/spottingscope/config.cpp | 3 +- .../functions/fnc_animateReticle.sqf | 2 +- addons/spottingscope/stringtable.xml | 12 ++++++++ 4 files changed, 44 insertions(+), 2 deletions(-) diff --git a/addons/spottingscope/CfgVehicles.hpp b/addons/spottingscope/CfgVehicles.hpp index 2d04c0c73e..c227156977 100644 --- a/addons/spottingscope/CfgVehicles.hpp +++ b/addons/spottingscope/CfgVehicles.hpp @@ -62,6 +62,7 @@ class CfgVehicles { class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers_base {}; }; + author = ECSTRING(common,ACETeam); scope = 1; side = 1; typicalCargo[] = {"Soldier"}; @@ -71,6 +72,7 @@ class CfgVehicles { transportSoldier = 0; getInAction = "GetInLow"; getOutAction = "GetOutLow"; + editorSubcategory = "EdSubcat_Turrets"; class Turrets: Turrets { class MainTurret: MainTurret { @@ -123,6 +125,33 @@ class CfgVehicles { }; }; + class ACE_B_SpottingScope: ACE_SpottingScopeObject { + author = ECSTRING(common,ACETeam); + _generalMacro = "ACE_B_SpottingScope"; + scope = 2; + side = 1; + faction = "BLU_F"; + crew = "B_spotter_F"; + }; + + class ACE_O_SpottingScope: ACE_SpottingScopeObject { + author = ECSTRING(common,ACETeam); + _generalMacro = "ACE_O_SpottingScope"; + scope = 2; + side = 0; + faction = "OPF_F"; + crew = "O_spotter_F"; + }; + + class ACE_I_SpottingScope: ACE_SpottingScopeObject { + author = ECSTRING(common,ACETeam); + _generalMacro = "ACE_I_SpottingScope"; + scope = 2; + side = 2; + faction = "IND_F"; + crew = "I_spotter_F"; + }; + class Item_Base_F; class ACE_Item_SpottingScope: Item_Base_F { author[] = {"Rocko", "Scubaman3D"}; diff --git a/addons/spottingscope/config.cpp b/addons/spottingscope/config.cpp index f69e2d6fff..3849382690 100644 --- a/addons/spottingscope/config.cpp +++ b/addons/spottingscope/config.cpp @@ -2,7 +2,8 @@ class CfgPatches { class ADDON { - units[] = {"ACE_Item_SpottingScope"}; + name = CSTRING(component); + units[] = {"ACE_B_SpottingScope", "ACE_O_SpottingScope", "ACE_I_SpottingScope", "ACE_Item_SpottingScope"}; weapons[] = {"ACE_SpottingScope"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_apl", "ace_interaction"}; diff --git a/addons/spottingscope/functions/fnc_animateReticle.sqf b/addons/spottingscope/functions/fnc_animateReticle.sqf index 16dba2165c..109d81a2b9 100644 --- a/addons/spottingscope/functions/fnc_animateReticle.sqf +++ b/addons/spottingscope/functions/fnc_animateReticle.sqf @@ -15,7 +15,7 @@ disableSerialization; params ["_display"]; -//uinamespace setVariable [QGVAR(dlgSpottingScope), _display]; +uinamespace setVariable [QGVAR(dlgSpottingScope), _display]; private _ctrlReticle = _display displayCtrl IDC_RETICLE; private _ctrlBody = _display displayCtrl IDC_BODY; diff --git a/addons/spottingscope/stringtable.xml b/addons/spottingscope/stringtable.xml index 3a0b89b857..3df7c05ec5 100644 --- a/addons/spottingscope/stringtable.xml +++ b/addons/spottingscope/stringtable.xml @@ -1,6 +1,18 @@  + + Advanced Combat Environment 3 - Spotting Scope + Advanced Combat Environment 3 - Teleskop + Advanced Combat Environment 3 - Зрительная труба + Advanced Combat Environment 3 - Teleskop + Advanced Combat Environment 3 - Telescopio + Advanced Combat Environment 3 - Téléscope de visée + Advanced Combat Environment 3 - Zaměřovací dalekohled + Advanced Combat Environment 3 - Spotting Scope + Advanced Combat Environment 3 - Megfigyelő távcső + Advanced Combat Environment 3 - Luneta de observador + Spotting Scope Teleskop From 3ee10a8c2fd391ba736fd22be9a591bba3cbe399 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 7 Jun 2016 00:28:09 +0200 Subject: [PATCH 58/63] add gunner proxy to FIRE GEO LOD and add it to a component --- .../spottingscope/data/ace_spottingscope.p3d | Bin 4043914 -> 4032102 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/addons/spottingscope/data/ace_spottingscope.p3d b/addons/spottingscope/data/ace_spottingscope.p3d index fc6bc45354b1cb7c218544be7430fe9cc17ceafe..98cfab6a542fc0d590127029b79c16029e97c3e1 100644 GIT binary patch delta 4572 zcmaKwd34m(702_NOp=+&Br}s`X2>!#VSd@S$xcFER**$Z2)GpLiB<*0O0WoMJr$@O z0a+4Ck=uh2DfWP34a?#1!-a@?8q}i+YGrXr&{`C011)W=avJ)*Grt$-^pA4R=e_T} z@4oxi-#lRB#WCf=<}qb$Pzf4>(LrM{CKwxx3z~xFpd}a|v<4G`iAQWlHfdYuSH;C^ zYj3p&6;0gYdnoz`&)Wt?(Rz1R#!jabKlR6~-#%&scHjU>AQ_~9RNw?I;0BXG8b}8j zAQO0i7x+MywtaMRo{N%`jq52GJ$gNr zruwa##p2&srrfV(exSZ;&~9w-8{_GoS$-@1VwOKcJ2uNd^!IS|spTm~Eva7ZGlr6B zGn&<-N~lQ-wyIa6!*YCvdQzo3A4%On-S??+bmLMr5bnQqPl}OjUFwx^;N#2Gm4@)N z9$T(X2|K4fz&S%pY+9vSY0FBrXu{MNacz~1?tgG%23LQsR)%LlM;}qY4fm;BgUC>_ zD--JQTKMkVp1*;X|5B|9w+0@SahE1k->;-^X%H&3Uqz3}%=_2L)+Otu%G)5-mlJC5 zU+oXNxcW!~E7 zCyu4~h-%VSzo0HP&@;o{4fMc4>|$tYWryS>4;0&`x~ul3d|4FUyd?*SLg>Ur{ebhhsiDA!D9=O|7MrWaBzo_`38>dPDX* z`-U9-=0Cz$@c^do9MGq({b^ugny22vwaa`K6no+C1N$P_5B+Qe&*}Ow zYSxkiw7Lm-E+bFoG5Ak_7bAED`Xz>noBS^2WfD#P_DKWqFeml;ZN1K-p=#lx`g5v} z?mCCN;;9uT<$ZeUoa!?3uABlN((!X@yW%CTE?8lzav)`CQju(IX?Oi+V>?YYh7?(hDPMsq!^_I-+`Ke+AD4@K^9< z1ng&<{j8ab;OhvYm8d95ib9_AY5}bsR`Z%u(J%=(BXH?@GHTWg$4J$a|Py?obT2Ke3YHxmC-<54% zI~nWZKNL79(rKYdq|gqNXreKbm_iL^VWL%Ls6j3gEikJsB0%f7=(h+vjax(>HN*?I z!-Oo1S+6a$CLXtAFdm&o;}P0r71kIlS`(=!0WAXwaE@`2V;3qdv?J3tyYSKLcHvHN zB9L)0bjgkmi4LSHafl+i!y!~hAzIQRNT(5p$Th2QrGsoLO%kQlorH{|Nx~Fr@Swp% z-ek^}%&SQjzN~yWeIQG(*=C)m*ZDM*EN*ddVm~O*>tbq85v?)VFtceW1!Fl=MFzE` ziWDWEmZf5h?o{D6*CC)7RMHT9%2c|RDsrjBiQyZZ!b*=ivFZIVm1;WaM4B9zD2gdZ zj|%E>30GAWcLuVas%x&RBdF0e`)jD99#^T;jR7uypc>7!a58mtz>S%$PRH=O+`_K3 z(5r4yL*s5S*W8SN2GByA(KJ#33m<2j$nMb5M z=0M&6xW0)sJr6gHA(V2wA|RbFuElxgwx+Qco_L`g6rhO3cF&a`LdmHdc#Sb+g*b>OvmA5l=qM z>U@~1@?jq3VvLKD0yMN0K&@uAi`8i^5(^RBP{<91_z?K9>H=G|1BD_zn%*zL2cK4o z=Gk04%*B2#KH|a>Kv5UKv^xVhu8nNI6cG1Qc^T9lTx=^7zJvqFC^<-H%ESyRDaX&m zs&Wk8$HfIMJQXNzu0XGDRs$8hAC>rI-l5+utW0+B6Z9@P4*D7DX!0j3uadV)luqIo z<+TW2*YzpdS0!={PKCaz5+2H_#!T<1M*f{#yw7HA4OByoFr~ePP7J?eTz{e0nF>8r zgWi2LxZ;C|q+u=+r{E(l#i{eOvdLD9v%0R9x1ttzxF2sG4RSGDi$x{Y;e)HIgL)7S@{5u04Dw0N>iXY$ZPD8kXx~))Bn)%M@u@hcu6iUJt`|R| z2Eoa==oDDmQGtdrfzL3p0rM|uKtltoPF7tF!fxS5>(3aVSfTzA)k%G5ws_#=9q=k- zZxl{5&)_fMJMuOPuY(^$eki}w>+h+jQIslIDYpq9^u0}3p)emogqX z`304Hqw8@hZN`t!;%1STl!utV!7mw&qVvu8=$tK>)F>L5OHtI+BAkY3h0f1L4SOqW z8lR1Yoo>O;mxFR!u|b`!SY-9}*yF>kn9?vzhZ`gO14;O)y@L7*l};0`@;KeJ>NPk2 z6V3kuT#xBB$FXfy=<+m-nK)gTI!thKfJEA6-Oow6Em5!eX=ghf^|z=ce7>wxsPQ`C z%4Cyw`1}9iD(tKDV6Lw)@fsu(h0rL4cIWyEsBZ>#esBi%Vsr);>_AftNCL48wa>&a z=EE})wR5Jh*7B@)rZ&JsO4!d@`ct6!472q*hn~J(xUzUL34p`6=1a_7B{o_!2hRpi zgGr)Gb3}SfGGsA5eFLt`v0*iXF3jVTk!AhtZJ|=L&Zjf1E1d=|++Ro8i|el03RL7f$0WyFY8*=wIWdV|C`IvjLa@N(QC8N>O=V5I^JuuTBDSuKUvas+ubX> z^!__G+Y)HF+m3&NeS^p(hdrQ#x@Hmnqs2|fE9`Nm6)Tr7U$i2eGK)SLt8~-(WmP+s eKWM{;1Q}>xOHB&?eHmk;j4kw$Ii< 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 From 5135d3bedde63f788dcc97c635afc8935c674546 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 7 Jun 2016 00:36:41 +0200 Subject: [PATCH 59/63] delete duplicate files --- addons/spottingscope/data/sniper_peri.rvmat | 78 ----------------- addons/spottingscope/data/sniper_peri_co.paa | Bin 246791 -> 0 bytes .../spottingscope/data/sniper_peri_nohq.paa | Bin 49695 -> 0 bytes .../spottingscope/data/sniper_peri_smdi.paa | Bin 225091 -> 0 bytes addons/spottingscope/data/spot_scope.rvmat | 78 ----------------- addons/spottingscope/data/spot_scope_co.paa | Bin 96767 -> 0 bytes addons/spottingscope/data/spot_scope_nohq.paa | Bin 128338 -> 0 bytes addons/spottingscope/data/spot_scope_smdi.paa | Bin 47602 -> 0 bytes .../data/spot_scope_tripod.rvmat | 79 ------------------ addons/spottingscope/data/spottingscope.p3d | Bin 1585552 -> 0 bytes 10 files changed, 235 deletions(-) delete mode 100644 addons/spottingscope/data/sniper_peri.rvmat delete mode 100644 addons/spottingscope/data/sniper_peri_co.paa delete mode 100644 addons/spottingscope/data/sniper_peri_nohq.paa delete mode 100644 addons/spottingscope/data/sniper_peri_smdi.paa delete mode 100644 addons/spottingscope/data/spot_scope.rvmat delete mode 100644 addons/spottingscope/data/spot_scope_co.paa delete mode 100644 addons/spottingscope/data/spot_scope_nohq.paa delete mode 100644 addons/spottingscope/data/spot_scope_smdi.paa delete mode 100644 addons/spottingscope/data/spot_scope_tripod.rvmat delete mode 100644 addons/spottingscope/data/spottingscope.p3d diff --git a/addons/spottingscope/data/sniper_peri.rvmat b/addons/spottingscope/data/sniper_peri.rvmat deleted file mode 100644 index 35069be267..0000000000 --- a/addons/spottingscope/data/sniper_peri.rvmat +++ /dev/null @@ -1,78 +0,0 @@ -ambient[] = {1.0, 1.0, 1.0, 1.0}; -diffuse[] = {1.0, 1.0, 1.0, 1.0}; -forcedDiffuse[] = {0.0, 0.0, 0.0, 0.0}; -emmisive[] = {0.0, 0.0, 0.0, 1.0}; -specular[] = {0.0, 0.0, 0.0, 0.0}; -specularPower = 0.0; -PixelShaderID = "Super"; -VertexShaderID = "Super"; -class Stage1 { - texture = "z\ace\addons\spottingscope\data\sniper_peri_nohq.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 { - texture = "z\ace\addons\apl\data\metal4_weapons_vehicles_int_512_dt.paa"; - uvSource = "tex"; - class uvTransform { - aside[] = {6.0, 0.0, 0.0}; - up[] = {0.0, 6.0, 0.0}; - dir[] = {0.0, 0.0, 0.0}; - pos[] = {0.0, 0.0, 0.0}; - }; -}; -class Stage3 { - texture = "#(argb,8,8,3)color(0,0,0,0)"; - uvSource = "tex"; - class uvTransform { - aside[] = {1,0,0}; - up[] = {0,1,0}; - dir[] = {0,0,0}; - pos[] = {0,0,0}; - }; -}; -class Stage4 { - texture = "#(argb,8,8,3)color(0,1,1,1)"; - uvSource = "tex"; - class uvTransform { - aside[] = {1.0, 0.0, 0.0}; - up[] = {0.0, 1.0, 0.0}; - dir[] = {0.0, 0.0, 0.0}; - pos[] = {0.0, 0.0, 0.0}; - }; -}; -class Stage5 { - texture = "z\ace\addons\spottingscope\data\sniper_peri_smdi.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 { - texture = "#(ai,32,128,1)fresnel(1.58,0.01)"; - uvSource = "tex"; - class uvTransform { - aside[] = {1.0, 0.0, 0.0}; - up[] = {0.0, 1.0, 0.0}; - dir[] = {0.0, 0.0, 0.0}; - pos[] = {0.0, 0.0, 0.0}; - }; -}; -class Stage7 { - texture = "a3\data_f\env_land_co.paa"; - uvSource = "tex"; - class uvTransform { - aside[] = {1.0, 0.0, 0.0}; - up[] = {0.0, 1.0, 0.0}; - dir[] = {0.0, 0.0, 0.0}; - pos[] = {0.0, 0.0, 0.0}; - }; -}; diff --git a/addons/spottingscope/data/sniper_peri_co.paa b/addons/spottingscope/data/sniper_peri_co.paa deleted file mode 100644 index 6466dc6d82e578200dcbb62764b8c7d115a52456..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246791 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%0D;qQ%Y2TT0>bv8 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 diff --git a/addons/spottingscope/data/sniper_peri_nohq.paa b/addons/spottingscope/data/sniper_peri_nohq.paa deleted file mode 100644 index cc84eab64dda1623a8f1486524255d092c0b6ce2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49695 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

ZN_KH)rER04S#!|5*d|1MAkd)inq z)5B#MtzxRXoR}(Qme^{WVJ!M}8qVDu)I0=NwH=*P1QVI#GH5{oJy&uTv61r=~%N=A&c4xqhg#%E-X!Bn-{G?!Di3txyL#;_B2a$kw^H+%SFODq+~o8l*pvr6?cPChJ*)^*I<=P~`bCuV1+bN!M>p;YxF*{qC zE-LL~p*>J7fXas4IOic`&+C(t&9V^f^3^_370=ZE)+l3!9~3oE_>i|$-Wiq52W6$2 z8_w^!=fm5)UalGfTYf(zqPBxAwgGDmpL{Gwz7$wYDz0`w(L^C_n2d+Y#%|XbH$WT{ zx=I!{)?edR;lSrmxBIEAr{bD0rv;2ykQySx{o7k!2^(VY4{mpN8g(TAU#J_3{mMcv zOgKiyOQm;)hvEC0-sJ2wzFGFBS&GQa&t-*2GQ%#g;`0%*sCt~BL;8h`3$Wu?TYx#! zd4#?pYR_}nskGbWtYjHp+zM+aZmD-0Qj~$@xq;?j)7=JjgUcgf?MwZq+SSunvkB)Q zF`3>ycnSQt&ib<(_=j-9a@;Ma)*oubN!tz=$MvMonxJx5_R=B8^kM*Ir%z!_ytI1f zs1+9WYI=RPL7XTGgysnUHHDEyvX$81(S!raT>{j@YQ8BFnJY6b@mIp9YAmI&tFJ}P zFO6a206AfskEF=t=5 zF|LE?y%a^H6#}LN(fvv5yvQ?JEX@!+qik+UlWGB^j^*-VU~mC zfP-b^XvZM6ry4K@-o`e!7RBjOf!$Bgw$8r(&2^NM8#;C3t+$Nne~BHD7WD(O<8~)Y zV*GfJcsb562b38|esZ(P8(+Iz!a*)}&oUv{NxlxMq2`7(rkIgj*G$W^K3)!Ihd zZKkg58K-rBQ0||o)J&mFfs9|!?8!_J(|wO4^{RjnFN-yVFgTAeGgnpatV>!k$t)LtI5WZ#VG-MOMXu=3BH~sO2A^mdtP+;NV`$Zr_NQ7QK&7nE_{N z?MC1Y9#q$GSS*w&Y4-vexqDmR5151TXP=a!k2?92Sobuo3PZkQjH;bF+D*_`n>t-p z40{jP-NhVx>-M07O;AHsRR|#vhY)cLx2E^qw#KiIA3^H;EvZHabMeySTJnNC?D!wv?|!v5l8ue$(mPF|{8+ z7cV~_*=uWI!;zmJ4D<(C$ARo=35Kw4HRV1`O?vF_$qW5fHu3x#&6!HKRNY(ONTnE2 z!l%$n^d{6?+(|V{$kq7o+s!D%syb)rOmTlP7xg#v4j31+!7{j4)3_V?+PL*d^qbq6lxA|g#ko&Pw8~)i zdlYF_RBF`0Tgbk4l$EmFr%!V~X`k`d)?#^gBUJdSkA#OP3 zMk97Stjrd||6+Zs_%F+>UU*H^Y$uzSeyX3T_@%S6u~j!V*2$QnAg9@Xs%5XGu_d>C zgeH{K(szqBeY}=ZVa9YnMZR0h$E)`n*r7X?OgSHd)*C8Y9i5$>Lg*MG)?nXHq^bRZ z4Cx)HbcjEfGD%U-N+*-^Ik{OxFCVQN`_>#eTegOjDtg|+F#&iUg;r4v<-1ZNWH6*)^*}Qsm_ga zXW5YPBT)k1=+`Z&+!5Ak$+p=Mh%uctVgUQ|`RK=WIPcS-m9N9b-Lww6cvAX$OK3wH zQXiH;EQ`2t9h$zfP2n5O*nhwi7R#BbrRlcpCK@LZ-mp;VA(_25CZyHtFOpVfcA(ao z6LsP7x`#-z^GFSU80il)uDr4pm2j&3v`Y@MBH7#9x=6^j%YHU&ktCpz6kV0j2Ils`qei)i~;2%jOl>I$3Tmx#VoY2JEYVlM!TG{*cQjsDhangtsNS zZgY*N5&42@4F?|`1#O*nn{@j2abO-kk`ypD4rlY;rzu=By-E>Z-*}=DxV~ zk9|KSyK_WGUzHK#w;A_((r~__f^VR%{Mri_B$3|JUGs$nz0@+AUb;k1+|*95o@k`p zV;J(e>Q_o}U~y!0oT?lqhCaiq5ChzYK6UHF%}q_Tdp*)T)97b#0chAa<8U@`)6KEF zv+d$*gxHdEtm*;j{ZidE++T#m@^L-?As<1b zp$OLZ9kn!j{k7dv{)pMl`kn`9y#(j{O7SoaJd1MwZ#$SE?Xk;>o0r*B)&Jz9z3VQB z-f2`?zd<@PqmKh_IF1sYqluHq zRe}1w@HN_|SZ~v3cX*KNEc~?yv1km+cn&um7GLYA$HpoSmcVx~pdI`eQ;{f(^s~|{ zxBC>aDCPu8G>oI%l^0vur%pVO^DN>DQ0>i&ei2!F!6Ci_(Ae;^&= z0D0+*NQ_p6zAClLB~4)@Wm<=P91h6CWjNtoDr84*a9H}ig)3q3dzVV09+p(ZOTDc6 zn+VnOIA@HEAkvG0cpMcrmIJJ)ull-ye~BE|^mp?C(y6R<(M!4s7cySa%rVm#OHw%$;VP?+<%wkhcCixP9QW6fE^er1i4- zADbI8nI2hCO9a?~VMTW!_R5kpX6X^lWs^9K@ZkPIpzc&~4c;x%&>0;e%IYmKOB=_8 zUKZr^+)kZzj2rQwgzq4~Nw)gi_#)&hWD^de+#C1=7RRkF) za<7JX!@``s2NQQkPaVj9!=7!R4ejXi7H$b_GZB$Mh#=}H)(Vv}@_P$zez+5z{q`en zIpruQT`eWr#%y9I_<6t;ZzpgiZx2NMOZ#x7G#?x_72xx0!msEW3O&!>KOS7j^Cr%pCgg$`tJ-V;Wi2DcyO%}+Rb-)cA!15%d zi0HTbC|5O?i2P$R{vgc%(p%<`<81S=GTgcy!it1E2qdk7-mReowIOC$X3fX_nNTA< zD$6?rOQD(iyzZn?;CbwSA(~kqZ(`g(YwM&3XKFW_$=FDT!OlP z!+fD^bo2T1bJ(QOOOE*R3QLf)GX*6j{63`qvk&`b3tRu1`Xr&Emt0@61WOtFy+-7# z!nyO?$UotEyh9p_wl@h#$&lhLBnX+Tc8_9Wg3>)rT}gw~-Zdor(rcU(tGW+y0o=WS zwAn{1#J}K=kVm<1-8+AN)||liUbwlL9njgxgOPOkT#Z($zj3F8+WW!)bB^)p^tj)&X)QPs2!4KItTli zbDi#<2BvPyl!#6?0b<)PjfnrVDy0AYb(i1RC2i9U*E2ouX9GmBohsPP#kq2kF*9Db z1m(R9ZTZ2OE?p_>tX?!U#5HN|ffnW;>gqPcx@B;#<28XS>AclyW?1ZT^l_cY{-B#y zfkcV)40|miGLor_tThj$CLc9aNq8uAK|&Jh{uqFBe+OKvL+L7zp_E=fX&->qTS}>A z3vu%=y;SNh;j;)%lj^_dVbw>|V^gLw$AsvR9_(LaBEE<>J%f#{n0t*Hc(F4sgs{!X zLi|f;=tT88t)#Fy&!AStO7DF#V*VU9@Xl}z)M1p_wLIe9W6r%&I_{-ZJGDWXxlalb zgo8>+Pz&ubs!Qmn^M2t+4RU{i2e6uQ9lBfdTI4ph3pD^gejG>4j?=Bs#K29=h8tyL zMZ91Ai(h(1r>}{3&xlj4=I6woeM-jvkYLz>)GLFOdlFRZoZ7~)y~4Pj^2l*(uhpCA1-X6og`FGPvIcNC$Vn1JF z#)!V%Y5z_Ax-Rg(DW>m1tyKD+D8=&lQPYb7pGJ9SSvS zq}N3~L>dPpOgb+` zqJC*K^kdpIfj<4$I9wM|mSxr4Gm&Y02sXCT{>$UA3%^TIZzKt1Mv))xrssxAMW6;$hJn+JbYJjv?12%xy*q zMaBatcJbYE4D$L7s{;q08Qa@{j97ceTwF{a%Z3q>BC^Q~6S=vdGe(Bc#2xKo!mz9L zx$$01eWY)K8qgS{S$XQNCcb!&6v(1lrLop1$jeaf_<^P{EGeSICHH>rq ztBrHEn}qj@q87%d91hWz>c>y|?q5LwZK~{nvH~r?Y66_cWxTUYQzLpJA_xut9)*UR zaQ+fMK)KwbGG|M5^+&AsJA3cn%l<-1f55HXLAd=lD=hwKb2S#Wt~46BIO=Sfn;rVa z4fp3hP0{P??b2)MfkDK7OyP^+7Do4``jwHmkSZv*L3!K1yK~PLxB;Fp=xN=Gxb@^1 zXVc^qNzB!MG8N9EuvwG$Wo9x<|33Puz`aV9UkY4fu1*dP1;KfM9<2r!e@ozLHzHJP?&klv-x-w!{`TX7znmo2N%cid_SVUQ zXE?s1RBkwu+WL;cTf{%2{#pVmKv+I1J;`gvxj%8voCMWIa%fS0tMH2uzB4V(H5Cc@ zdj2f`hVYD@>)_ME>%Y3b{f&tmcM@9i!tl_Mx_V2|;nSk^ch)>knHhERj(Dj0n|J-yb2+ium>j?Kqvb-9Ro}>))6AZ{a?_k zRrJx>=~T+UrBmV8t~2g3iu`VV%L{I}Vd;BoL}X0uD? zE=V&6OZFlE3rcP-@KLREtcqwh`7Q6dQXDKG8qdV)mg9h^EfGjdyz8FWf_K+NDIlnK zbIpbgd^F#gAe)`rA>OCg3uoS-by`po#NlxbXAHSH0cA@PHg-}(C~H4$BEM|syGYsS zMv4EL)EAfZNs%(eF)kS;cSsZ9EBs0}MjSc>m${^e*5ZN1mhes&jXoo|AL2s70#;=# zksZ6_U*-tTA6xKRASx3$h&bXcAxVe&9}pMzf+MqwI~1D&$KmFp&RW#H8iA@B5$^`z zeUBbBX zKZKf#x3Yl=c`q;zDK=JXIDB6drJGK<%Hr4GcR}+{rNr+jJ%fxN#~U&U!?(Cp^?ElQ^7vyf)c{n|#rD@wSC8zjuah>^$}<^v z2y8wxr%BJRD?JrYOp0CqlAI63%HlKr5_Z)Ks+uqk~!{ zYh&kjX>z(8Mwl;f%RA#EbWeITOvH&48q8P9;f5vsF~$TE!3sSNu673?Uihe19u0HV z+3O~_^c(O`b5?$~G<)~eU0e%|bD*2@q7s?DkmiY%Vthq}B7clh!I%f?#4O=S1NG|< z(mr#FIetk7U}1|_#v9fa#%QQWnRMv#&zG6D+qIoo*mo=X&JF&tSXCq9u1e?9Y=;@u z2w4K>BFw)}7JZPVl>X>-nBXp-+|Ewg1myM`pdCpuivmFot}m+a1dGJqO53;*j-pa_ zs4GrPZj?J2!^^Qkn+3Lk607NiSeYiHbqmp;)tbTPtqe+Ws#Hohmr@OZ=u`&9-CO^k zqce|-s%+o*oPkOhP|qCH&deb5JO>g%z$L_mWkAiP#U)_?&n#dIK_*%j;+Z+)&?4}f zOQJ0U43LF0A+```vw>}D-t`#kK={y~=$> z7EG#Z-{}j6D1gP9!1%N(;wK$fOB_qDo26e>(G~4z4h7M21>)D2YPGsWp$MiE{<~Z& zp$QEe&jtQpMh!(MNV3s8SS&uf^KDZd(r>;riI&zHamFIMWt_Dj-Rd(D2Cu|b$ggQW znM5{)Uz(IFR5)#8dHwC_lRb<~fqI`YU|A7)c4tx&xHJ}`rHcY$mlSzVP-l0xwFEK! z3H?xyTZA-y`6EK^Ia(V{p$lrtbrRVuV!Nnd{+svsY<}lXhYy`RX!Y zePkIj;$dHBY#brYWvJHd2pi=e^ZE9Wu9r1gBPBXsn^aSS-07-IW-R-QEG!8Xssz(1 z&oOxCk@gwz%v93?vDDL!_l&dSK*<`1B%tmIA!FKrW*21ZAX%h& zCElvhsZxlpc3k^SnF7;N=5B~n0Bfdcb`|4DM$9OWG17W+y59+$v)9PN6_B9cvckLUp@c zehSsC0Yv$Ka{=m9o5Y8Z6PPs;***So4rZ|%O0J9?_(r5lVbtm)pu86RpTnmdK7y5knV|D zjAamsO1>{sHJKYsT-0e^6a2ME{q9V!9cQLI7j)4Wb22l zBY8-h<_?ml-**{7JBGkJWKGbuB02tja6?}yPYhJh;N)hL`iyLlTyKmZU#{ClL z?Zf(4#`w)Hy`LI7m@eO~F_4-A-FpkhYEE+gW)N!P1lG*iHK>WTt{!+_mw zq;?gh{U3VJL^VkQA`6rD$T0ckBAxvhGTFKL=uC%&V%LgYk8?kh_dNhHpG@JfKhS-7 zj;s{hQYD@PNTZ*$p6BKh+0K)#y3*#5Ssl8NAU2-+FQJTkuTWwTk-d*Qc|!h04U^hS z5|JSgG0e3|6`N7sT(fR|v7oAUUv_wJI=75478eUG>9!V!GWK5-S*nH2z4ry^9_y3W{gdsJ%3~lK!lcfn zy{DnMHfpX#Zs7ga@?7A*xgSD+1QgNc4HPpcv<+6lWS#r|hR)O%Qelqn zdkwM&5Jue&DzIk|bGJ1YLqe*t@3VaRwGCqaCU{A?(A@tqvlpA2gI$m!Y+H33bEk=; zGZ)WeqP82%YRt!qEJ>=?Y2wVE$|PM&L?PhmjS!nx>1OxEM82+}JwTX0W9Ya>Y7@i- zsT0znAClAJnT&UoRw4Tf@I^BR$L~R>K>p`B+k$lkR-JmCQnxV#(R5me3?=R*tAS*vRz#VhL=11_df7`0d85K5U-mYs)+VKA_~Rqvtq?Th$ERL_l~ol z5?h$456eqRDCS~vTQ=4Bsqm&myAwrT&w&S^&4XO~dCKEyl~$;;vv0DyNn_f?h}88N zX}Uyd_Yylj6WR4aH!aot{mG6vYK3@tO*Z3wD@54ptf3&wQeJ%C$ltzm$4{ZZ6A%zk z^XY=w6Wj)ruW$Q=(F34IKUHX#RU9a{01M&pTtyru_zo?d3kKxnWZJ1DT>G4s($>QDwt8HB)Se#(krsg_!Lo8$NN0 zT?`P+0u#gBH@QuWZ4RMkxidP!4d4{;^&RY%VRhqKv=98OBgw=&)H^!yin#ZZw(6crRp|k}<7U9AkJBA0nzv7*Y7SJH(x~_I7<@ z2HYL->=UF`0T3ZNv%mq1Wr^Y(yF?YRGa2)Y#zv|3QDVgT;YqM-&<*lxFhle>(y#Ib zbA^^@$Dhl(nfkVFI1B4{nM`hK1zj1^BJDh6S3rkwuemvbSPLlLcx?JT=v#&C&1E;0lt_N7iVf}_u z4`bU+Si0L|v2RWi9laJ#Po0Rz^-If#ozy^y2=)Uk*antK%_Hny%(wRhlv4BCdEe#o zbDkqA>!mZ!>uptJOzlFc(e0YhFB)r!u8nRFdlr65hw}!264^%(`#sh?!Kxj!=LfZ~ z1+sN((1R)VzK9O^}d=k=}<^dh>!`Ku42nrn65sAvGovft)t7sD?7pN;hL9TvehI$B>*!(28fJ%tzK9HT$S0ZyL1tecS_JNqt+~MUAtQ21ZUFYN! za23_xnwTxrLSk@tP6~fS6jx6QD0UtxPhiqV{2H13JF)qUxYHiz9w&ppRsq_|G;t5!PFiB=Fc4oagqn29COj=?l)#C^Pqu!p6?OFC3Bllq^66DRsTA?lUs*U zM|AT$!gpQQKRX$a6cpd41j~Whs4Fh==uP^G2-m};>ZBlA|4)dO+k@@%4kC67arNlu zDV!_srzGC5QB9)A{*7YKHN@{c$&4@=LXO3PpGcLkYMAY=PhDwMsBdz#XJaBJ$ zm`v*F_;gB9h0}r&|45Oj69HoDIX_Bsc zz$4}wkfH?F<2?-oV_HQVuQHsMc&3u}V!&>#p=$#i{BRV-=NHK4#1}oSP*^d~v0?iJTmen_B^eCyVZy7>c zkSqtWTJozPF_hEkHQ3Y{tnBGY{%dl&q=1g+n(4IVR=|52CN#*_q)U!ryl>>am=Nt4 zDl2=C5Y!;k6D)xP&xIznQ+u0v@_hp*kSG-VdP{K?`>^^edpE=B2=g#sqnqJT*l{X? zAZ}I`|J<>o8JPP{)jBTKhNILs822Di<7oEq=QTkh#Kn`HpN&ggzaaH1@lGbPV;Ht> zoB_Ravl~#;{(uug=}5Js5rB8=vPLv9_HP2bsNb1EDdt4%t$%B3ztJKMS~CpG7=fJZ zyk-Jum+JXkE`;b)?z#`_HuxBK8}e=I6MSttMy{;n4$+=OMzbed=~usgYC;Ak!@kR! zd(np8d>`ccP+zvQn*kD`de4hH{?=2z7U_y3dL>A!(RlU;-P!tdkd)qv)*D6P;?5-& z;rsr-=!SIxg@CIwgAL~ZrG;eiH>8fjCy|Y2zNj%f58+*y56v5LBN1}0GJ$=L0k#pNOyGLz^b{# zUfQq^`xDB_xVe&nE1UGcllCR%FTw_SCUCB?9o3XRoP>lnrvt)<>CorVR0c&twrMs%Fs>BN>8<6?@Q#~L><XBrZGF(ckcYlfqe0EQ#(H? z0OD<6p=ZQNE6T-%ufR`vl-wH#z)lt2{SgkwY~M}T!#1_`^mJf-yR}jma#&0pzRER` zhMy>HBPrV;ZHOO6++uDX?R|&cQXAOx;3I^#1{AYIhvV42?#LHK_dsKYa%T3kln5zCX_wSw0ptyjvdm>)CBfBY}2F2HSn_g zAFX>2yo<^AUP?^nB%e>2FVm@i<}Cbca_UWuffoo9YLIO^;`dipJ}M#71T_Bpz+D7G zBq9DwH)4^QH`AFj_}Wn`2Hu)GF|%Mkk}Ve|wqJE0(qEev&d5GNKOgjQpX4o^2qs|M zed?L!nc{)X2J%$__hH`cWKc>^C$jp&)^OU>LCV)bhTK0U!`SY`vk%No24b8aB40(D zxy5wmKS}tWW9~<(XOO55ocxnhkdX;x5(7z;`P+|)JsotzOkw@YHO^RG>GTCC`5>YX z?Bc`w`W#XZM{{pR&n}vlz-Znr8#c3%>=DzK=xcRCGQ+K*J737=jA-|vekNV+3zwdq z)e@g5&Ge1XD_IP4s_%<#*b*Zj;Be%##2zU`jI+rpiA>N8R?rwMn41Kljf>x}M5-BO4r|Xh+VHYW_jA-+BB=KvjZ}KSZvqUip1+uL~ZpEo? z;o`*)r+&%;E@!A>H-OzD*X)uGq*n#M$+ZwiQ)6vhKB<~A&d=)HTY>x+Z%vZu8o(mr z#&h9=Gw&~4JGu*}9zjbVt%0-f?)!VV2aqk7@!IHUG2<=_9=mDTx5L}2lCX5=#fv1G z(IQ*1TG-mgcpoMW4l2uL@G#tyToHD+KzCiNgZmBjz9z()8bi5W>N$eSJ9d@wmi_k< zvB~IKJFT^7w1I30BE^%sDI-``LmRqPqD!=Ezizdd>?$!B_mo^*StCi4K$d?f(aoXkDBY{qk<>lR5?D z;*Zl6&)$hM=q7V%mkYD|^Mb&Fl8!oTQu9^zO_gA$ZYUe8x1HY>{15+pj=!1lm)~s? z$hof&y#SWwa&U6SkwNQw+LQR8p`GQZcF|=@FbI}p|G2wf7hxb?DCFkS+D<8c&oV4q z(QolP*&a0!D3|Vyago|oEc;X_@aE_@@-+a>*H61OF5bKQ7LC3QXChB2>F7Kzl796H zn*ced8`rIrD}n4?6boC5!96>fR3q&;esgDSvY*l1G73dZMmgUss7o6g344?mE0ti) zi))RKBL{!@Ym!MFWJy{(lSzBJg7N<#_60x3tpN-Lq^7i(O{CMO>8JCLvpGq@@6gN= zUv{y$p+gYZtgZR=|tEGy&pEe;j4mm5D&m>^m4$@aq&d;6V zxWhOLJb`YCDJmSgDfUzZO(tg~Cf#=L0qBq8>l3%B29HQ;$RN5CWBd3=&d6gC_g#d+ zh#loE`@KM-(=kuu_F*)#VJ}vU*FLG2Vrgp`0fEO~CG#vFV-!wM&>fd{DO& z@Rr8;rvCyRh3wqaW9lHEs^&Hj%Bz;<-lh@CC8h=G+;y4abxGGZ<9(7Y^`=eoxxS1` zF}{o)jIBo^Xd*kuTf|Lie|g(NZ#G|HbX6XyHlMV=9g3X+S6LaGt+}gIhDH=D8v|NL zy{&bmOn)}%rr113vr?mUV78LXjEe)}qH2D#gqf06SjavMO>-G3DaRyQf-KP8fCP5W z)f_KBSQ4m(87?~@7DSVUvh!W+E5!N8TG)48?v)U;sP4>h&bznMbGU3Ch*7@_f&qS z2X3H7Vpe+(2NTKM8Aea+$>3$t>81QAUosYxARX!plzU7e#M#P(K>bU_TF{j~v+`ry zu&`((RCt^HmgwX!KWitE)u)YghI-F7DRC1}6iRnCR0t|)Q8d_16JUnDL~s(iWvk}|x6bw|Lc zb(=9gEU7s7iLaQ*v53$9pdJ=bg7-0did!HN{K*Bx3LejXKA{`i7LYC#Z4Sn=DV{YYns)st7f5_4NH=^fg$WzQjfMr${dT7XjR zlgGq-r_t(n>`no$U&HI{q~bp0RJ2;oVDARh z%L*yXi0LJo}?he6>Pha3^^-uO>TN_fWS~5DdP0 zkRERAR4vb8{CP@!@Vort?lEu}^<Zn?0! zl_gOUlk80iy)ca2hQ@bQEg_c!p9qnAf%|Vf8)Z8uF(7@DHRqlt{V%k%p zD8vCQ46>3HdrwV-(XY8TMhK2E{uXBd+tQ(ayrSwseyGP`VVwJKRL4o>g=FVgm;Q#q zBbJ{=wSS~wsQvudd(A8!&>!3!k7WnZ1D_-$Oas{7T(d{RKUz51yZH(AwP7t&zb4M% zWMIAR%9Sdj-~wrE)DaHSa2cm&NX*l)cOwxq4_*6WS=PffTec>d`w6Nx{dL0T~~W^=I69y`VIgOC>YEDGC;d z4a-r%6_)a>L8cMR{YqSO*B!NgFJeWw7d1l-5N#N&jS@-?Iuz9e3S<5Ju^U;S=MIni zXYmg!d;C(@zcZV@wq5O^Tt~2J6P!G)5NJkq&mPaN_4-T-R4)(sV>y6uU6lqs5MB+F z(1uc}p@~aI52k>PZ(wtgjYbO; zdGGCkJNl~)Vpko@ASWIv-?_O+IANGn!JU3HS2JZ3hb5V1pCWDtI(<0-vr5!^4uYo} z6G9EN;%~LTwUsh|DjXko9~Dc07Zh3cm$pG*s3`bs!F^?XZ~(hy>^K-isRb2kI32=1L76Gw;Y-+wPwFq`xWX{wulFRJ#aU>+5-S=*f5?Dav#u{ zHl_Z#^gh}!Pqj|O{)f*hgC(?uHqIUtFp(=Xv|)pOU2+olIAyLPG`GBm#hD<`2k6Ex z_AfLAA{xt}q5Wra#RJ976TIM+?Lzhla_#`2VFVrojOdmKZ7{4Aobhq`b>X30P|#(s z?WohjZ)h zV?koy*>g8^Tp!&TnS^C;M|P#s(*V=4-#gwX4cfO2q9R+b zjvjBtHV)-q3%$)oiitNj>A$*1{xpz#&p}P^!`cua!t|{aSwrG(*S#+&$G(#S^66m; z1!oamC433w+PePC*~sr3vnONCmTZk*YN%878da}Mkf^(k-GNh6q}uO+3LX;A)ru7l zQ;j=P?y#@X4XUEB*TmX*($}3Nfu=g$^^g|s(Y!ll;HNi6?GNVpxje?_xLCycrG1-7nYy_Scm(*9)$%Ge+(l zk?iYE=HM(?<;0rgo{B8rH!$_BBv7=s1Zv8a6-Rk$$0f@MEQ@cnxUPDH8>X*GK%XB`XPKn?5A##I9}IF5uK; zvi99;5LLaqC5V4}P&(pfHUBAC?94z~ifp<@-O7!7Ri}cFw zeu?=*{eiZ&x{u5PN?WS>vJBFMaZY6@Uudk_&hUQs)pk=9($$Ih2mKu$#=fa7q$D|v zCo9(Nzj0my9#{X9eV^z`?a`XAL#oG_z=xZ2{EVqgb;Hh=#ald7(*_T)j8hfFo?>9% z$hMKH3!%U(muJj)P+}fbRkvXG70j6_COD}r2?(3lpVK&bMR!{an~!>Pj1dhruCS+7 zUtFRAUt9`Q|5X)`g+;pOn)xl+{3vC3Gp_-7QrWrRu&<*2q7Hv9Fij237IuT?n80G! zHP(gS=+eJ$hTPac;>ODmC|U{iZG&Os`SLhl#>X+v(!t04ti~=-M^u z*$?z(!%&e+6zd&l^nzV2+#p@J#vqV_ny%6a?~D2*QcE)nNCJuum^F%aJ>dG(SL^2e9KAmX*0WaqW&zY-XzAgPahjO}|vLN8-xT zbZ7IhF)YTZ>p3ymd%B8o81(vxECcM=ygc2I&^n_ap%n)-$B$++y_-kE!Fu2Dj$I0K zRztr5INEgTyK3*jN$xxN6Cgj;%|{rlcCgVAK2gwUy(TX14vtzEYA_&OBUr?L6`SYM z6}!8~fW?@C((izu_7)MFkqlXK?0yW-zF=;am@Q^X%(_pM%9 zz)fSgB#1(rzNec0m1DpiXV96C)JccJZdymNDkmmvwJMJkpA8aRnq-4iOK(%CT3CBu zB0HTg(*zu}T!S)pl^4N2I-W>57VzNu+g)d$Lw)mZ-lgs3eole%zDdAQ#g;Q}XeGKN z)&4HlTEs4%a}tBMHsk{+$=%U3#McNd#nOTu=3qBfkvRuMfmai&xrjp$eY+KgmS_dq%ZU7f*pM1u9g^f1ByDu4G*)kP+yji*Ogd8*R~y& z3TF(frOcz_ff}*lZ=%L-8P;YNY_!wr+9Zw=36 zOdQ|eviTv2`4Af`HYCWv-`p_4gDYV0C4aZx-!>+}Tjo#73?Z7PxgjUG2Zh?Qp7u{D z;#M(ZyNlcxKsradN8{jrOk3dRgPSdObYv;YkjEz_N7oG&Y3rk!{eAT-MvSm*6p@0t zh&>^?L~G8aeZ`X6ug+tHUK%?NACT~!(|f2AW<76td}k{NEKhvU!n*+ z;LGOngvBFP`$k>b9RcLa<_Y7$g#Rm|T;;T!#;=Y)k?&sX{KtmIkj0@vuEfmX4_C|GV*0?rvxG3 zxFd;y9`3AIdkD@%)LZG{nh4|htaX&}^OpUL?KiY6#r#Q>;%|8ZNJH)b_a3T!sTDg9 zsf!Irwer%`wMj|Rvo?YG7Hh?Nw}!`2Tc?~;=P9o0(+GsX! zmI46UwvdVXB-P<(`VR@>9PA&^HRsY67whg%n&H}%dy1)lVZ?d^hzGDkn6mG+`#2X` zk_22)njNYa#9C62DHr+j-;IzTBm^Vih=0Vu3P4Jm(mK|{^JUE^Ri&pShG;l%oNFy! zC3X*@vs11QJ6_87=J^-OJQj9`xNB3FOX7jV@w{%yR-baB>s~jR zr!;0BFX#>c5Bc-M^ooCDQ^fk0_2W{(FF-}+H9XtXoM`uO{6lwMsAr1A1>dJPyVP&$^1$91_TepBF)Nh|!#X*>ELzj?? zA>u+C^RYg`V-DNRZ%jIAK<>qw$1RZ7c?YGh9esH9&wOhP%cDN$Rqtl8CVtOg7ly9W z*{f1EQO5I?A-tla!--^Vz@%yklCG%g_YYHDxZ*5WazSNUmN8@2kD9RjQjjX2Ct}*J z=5Tk#M(;vD?)}ul8pOnDA$%Dm1x1JT@0XXU-cOPM1_jUdmX%8kmE=%exDY0RH}k($ z&ad<9E#iS1_zyf2?NhYWPcJQlb#_ngd+ZjPDIAQu_Z&-T8CgaZB&b8CzQs4Uw8Zc$ zl}bIsjnI&>^_?i6%6ksi<=gG>ak`s7$z{$gxB;%d=lDb0E*PmsRX`tB!cUDmpy^ z#a(MHMS9DGMXc@AY!(SZ`3;_Rzk_*JB7C$|%azdsDH=*w0KewySlVJ<_^EM=cIrg(%coqw)0DK{1c@49DR0xA5Fme|7ra9 z2yCinT0ubA=v{GB?AoqQn=niF7KMb(rGljDaw`d&*=0TA%;_6Q94?C2sgx|ky#{8& zW^6}AitQ1KKCvJezMf5k+CprKBRn1L$8gk2U&)|!AQv)BO#g?TaSaIuKD{%(f!&D$ zucswgVR#()y;--Mr=#_N?t(J7;_PVkKSkyI?7GE^S%^)%cBY7uzbd?QGH&Ku`hgo( zsVjvX_@4v!#@{7nKgkG)cBXD6iYKgbwHus*B|tuQ8Fe?gE>x=<2L5q>PY-}2S0MYm zo4EI>66Bj)5Z!yd8Al!HD%P^MHKpBcpW=*EZe7DJ!hN29Atbz=iMpunYbNEdi&tm|J)b=I1fkd|&9Zlxxt+A? z6*EvIV%h{{`W@IRaeV=<1^$q?_K-$wev(8VgAz4|e0pED)NqgxwPqiVsXenZ#;w#x zYe%LW;Juo^9!n%LXPO54V3<@iw=FI8|3SpL+|Y zV_g@QO%4nsO9wq_NU~<2yc$@6o}Um1OdH98H;b_I<&>*#IE0~9ppehLLv39Y;I)+b z5mF)0&*&JJG_07;F2{AZFHd6coBEJFR*A=jbXjVNVIHl`Q`|O%Q64)0hUcERAoUo9 zj(knWZJEGN$^XMG<2tds9O`-^U6q)7LhPA|`*X8(Rn*qckIh<4!ukv!4H~5szX?XCK~+pQ9VUTpYXEVyKI>r+2!mUuep6`FwcCVZfe_2sI0@8BMu z@jgkTt7Wi17&1d6cFiIiuHS*>;?g-H-3BdX_zm^_nP4IF zemzVTY+fksA_Fb@1(0a}MR;&>#n$U#4dh@I#Ji)O4XHFzun=;;!8qnxK>b^UY@aY- z3U{6pS&aH;j=|ukVM$?OiPicR`!Mou)i4+D1~T_Q$yOoT0NW)lxZ5oCyiC;Bw1)FB z6{7BY1NSErm|G}OG;^C#?T2Que1NRI#fn|MWGy>e=W0_Nfs$M61VFXCIJJSXyUQYm zR)&UJq$`d^9qU0{GuiY*X?d|!@C4#=#6u61mirjJC*cdsW}v=ge|Md|%^m?r>w+&u zOx}RQb9^s&$YjZKbST)L%+V@fYL(c3GE}1US_V5pk z!wKVlmnK~4xc0FgdX0~_3DS=tHxLcWJcWC(`%#knQf$7C`o8X}mKcKa(uH6XL*HUP zM_|rpvF4zqJD#srmKT|pp)w7_@Ab8upcJjN8hZ}ce%)3doDgcP*9cp)rH%g54Pj)o z_e|#j11>+P{^__h z^Y6IeQmN;^K)UD-@Ka}|n<;}M?@tY`S0<(;GrI40BHJo#Dk8HEC=anvBl{Gi8FCr7 zQN+uZ;1P%}_CG#q6>&DWh>5bK$wT4>hZP`IbmzekPDN`or7P02?P)UC+sKv07qaSX z_8oHXEco7R*Q93eI?ve3(C#cZHf=*c{}`m7lMs)+DphcEw5*#535|{AKl7Iru{5ep zAC+aPs;a}%W^Db|xzHz*4~m1zW0K-jCt69ORlRwFG;Xt7S%vzY&;XkTjv)&MsAbd> z&bUy1PGO-I^}mrcaR#{;isc*7?lo;#_8(%(NvBU2D-f>KP^&eCgVk)a{uMQti1M1+ zu-#NDh+xOr|B(ap{zmQ`D7_fH!LLi1wqI&k4_s1B-wa-ZO&p=o7)G#42MyJ{7;uIC{S$(0>qJP&*yd^= zo&sE0%ZrU0#zbOf#@HAvC!R{8JugZWrzC@yLgsQCiRSUxhp;RTI?($14r%sig>ElKa{o)|pg2xs&r|`eDCt6ATF@SsX?i6C(>q+FR-%wk3<*GH}p_h}A0pnbP z-hPMS48#}pH8UU=7zkWr`9jN?9`+pa^|wZ+UZe}`y1L@n06Rz<*Li>?u{GxSFiNdP z{qM2R#M^5;L1|OLZ@T5!`|rc2cuQ_k5!77wd=6^Y#+H_dp_ZDl8Q=+Rjuo1sp;4^W z&PR;|f~5G#jQH@hw=^S_*Uyozn`A{|E}M%r=Y-WEh^ZUW zGE*yF$}Kgpsif;GdgUOMIloP?8QYd1=+&CN=Hdi)vk{6xx;YhqG1&bUP8|u^wOwev zGM$dYkH41T;$fH z@xOuj!7JYGSOUQ5a$-p-HB`~6QF3S5DyD8>h$vcSC(6otuJZDhRwI+KY`9cgf3jSu zXCG0ohQGyM5@Cg2&CMXxIqfMqgA?^A_13*?aaw<+{@u?{f<2nB2KI|^#?LoL1Ew}? zIHX&aguP#BJ}apfvDc9Ah&n=ELIn2ggim`M?7(g6=+v*dXCa#x{E6>GCHK*$2*onh zw&{{gRkf~@4S5gnUscs2F+`y?pBEJkiwiB`;S#L~Oj6Do+`nk-rco-~aR%D8fOMdV z=U!6(5IR@2bpg8*_B#@DX+*`7e7TmrqS|eR5|luOK+rA~oJZZy7IKj&uW$@=PZM&p zN3T2OA=Uww=46~R>{&6o&lB>Bk~=7zU1xgmQ+5w#uj&_`Yz{uj|0W8D&hjmUD7>nQ zFEY5)(x4}+;%nG8veDrYFnpfKnqv|WYDb8L4^A+avmc4^_ucJ$uE$(UY2PQBPnIe` z&l6OY=i}LxV>cw|yPNkc0H*gO3YLo^Rd$_p@0 z^p{oQrkMt_UR8XG%o>26Yf}L<){Wod2NFaucCLQ@c`q%vN;b)Iyx!WzxnMa7L~o9R zkkKll{LH_8-Q5^PzOB)}U0XUS7EU*tb=gL?AKzO@A7{J@wEN9Cs4~*= zQT2R6iqnH+yNFG`3)NWl>;cI@HGJ9E1_7O_&ow1fqRpTyE|ivf>ZA8oSnIEKT+NBr zEwVDE$A~m%TLv$VjY~(~H&I%=T&#tXY0qF-Ep|R`a{~bJNw9~EjbT-BE>c|A&uANq zI6Ec^Z$YVFY4%wHO5KZE1r#P5Vm@pKcm|q1$Jj~{zY55LebhZLHps!go(b0i34g{bSSstMGF7Clmwc}1ZIaoG-^8OuNKrAZvlT&J? zh9YuhFpgZ8Kn^_iB2%{vUb$9in}oQKl?aM=)^PtJT2EB&)vb0I$D?=&w79>byH?*;W@t&2$o`aiz`!}vlw;x6)a z0?}M{0_n0n68XH~+up0qQ(||_P<)|JO-qZelPlF>)%vKoWnp{Zz^x@)>+T=6NSnOj zF~?Q6r>o-)2CT`*R_1_1P3(z*+mh?)9>ca1L_E&jpgSN$+8=P#3(d_F$bCc78P-z! z3}A&C_#axK)Ci9XA=;h=$^6*Z^c1n;S#W_=R7mB|)7p)U$xUiu|1u59{^D*T-)c1! zX8CkUkTH@3wTt~pQu7wfz6s@MAP8k3`5J2Isz+PI$nGLt{TA+1WdCXeJ74oFuOeGw zv`I--Oi6Y&^QC3l5q2S&wYk-+ns+Pgq9R>rr9BAo8qz(TNqq;s^SXfx zCefleen)q9KW+FLoB~AA4yrR)KpA?7v4rsBG6I;M?p@-iOxPaXlZi;u6HEGD%HdX{ zx3igyxEs|IfG=$YkjxuxiN{dtVsT+ZnL-yKM2ZHnrySlP5YQYV%12tm_3!g~u>!7# zCu>p?b#n-MP2Y+yi>tNqU~KcnLs%g#pMyxz)p z$r{OQaLhJ`RNkPqauih=nw$(SGojFY3XJ*6o)2GRQvV|@2s$J|U$^ozQ$Wd6J+x8c ziJ@@OPH2XPEMeH)G$m96lF8qY2=(U zq0}hX-)#;EUgn6ri=Uk8o~$VX;-}_gUv0)?xRT7!`Q$>T%qK)+04kc zjJN?eU)^nWE_S~{)-D|39fm*~d`aAQ*hq;W8P&#gNX$XBVy$ZPH0-uP1u{$4`3Zz}xZE;wawnMdT zoXN=P-0h^A#;PnH>DH%BrmM7P5T!TW08y(p&N9O27n{vkrMg9BIuG&TYz_;-MWc1B zMJ%9*12;9-B3!lz^RKk_OKR);c1yF=u#l7qO)etdJ{I8ik=!DrVq3BQ+wt4_oVFJD zzNvX2^w_tLg!iTZrkzC7OPQ#cX2^_?L}kbcqi$;ql_}n&+7e*cOx1^iX!Uz>LfD|Q zYij?~f^2)ZD!SqEdu7lYJk{WSUPp`!fAk^l%~jI(_1xyhk!KgYv`H;*I)&}e9|H46 zya38F8xD`$|NY6ks;8Qc5J+NFYcz#W@*bNz;)GI5(*no9qt{y zgnOIgd3li4$>!37@6MMn-nA(GobR@Li8o4>m&9!%D|VfE`x^Jfy_JdiIMJRoZ5nqz z^M7UhZ=MMrMHw#M?Fo4+iQ~lbJsh-qXk+<@M4~u$39j=Q1laT}aje}oPvUxu>^fBW z3FCXXh&ua%Kv+o$_M_bglDSeY6W4ax?Jk6!@2Hk{a)yxFYTRTSRRw(kPwM!dSIlX8w%uJ5rMQs5eM-qU7Wj#FnFs#zx;*wBuq& zAL`BUg??`wPjw|DBZxa*!B$B&>6%HLAZ3T*aI_$<<1@cTDg7?Eq{+3N=!)#g?^E7#nyP=u!E+@vSs?O`W9S9mgQlBA4y9Nt68I71b(8-w; z=$im&aB;bI5T_4$^uhb?^@zSx6(eQdKH=LFk!f>E2e13V;j;zx?I|`$3$BI|@2j!x zI8mH6!gFFGW!BL?EGrah3rloAO3;;<@U?#fzs9}O&zb#+Z>uy-fw z-IlDE=I6=;6?s>F1EZ3*o(Yr$%14lGIZE}@F$=FC_IaYU)u4coxbKuwFN=rHt3~Q_ zrNdH1KiT=QKidD#?(4W--t&JHoryyfWgo|97A?85nZay!7TxC=5Cm5|!YhtdEG;|K zTmhRsKr6*m(o9@uc9x|}$TRUMjuo|V39))f)LnML-VVFeLOK>$p#ve(>?INQcz^x_ z)o#no^Zb6_@8{E)Sy?9&|KqGLQ%5JAmz!rFgmXy!oT?@YZKJ5H*VnIqMmiM{#nbtt zvn|*^9~oru|GhX|aqW>cd(&VPrt4(qqp zgSTbE2|E#$hpX$d`)rgg@6t%_2ZX$&#AarRh0q(b(hIUK4Ns~VB%=r0ot7+jddzC? zt-?ZB+Wc`Xz23}e8yUi6*iF<{ZiF)gNP%BBL~`mJGVDaVLsX!&LLttW9s%9*F@Ugl z42l!UbDdSE#Te8v4a75F)RGfKES+knem#ggj@Gk}?Eapy{jW_Y%KEPr(*8m2Xx`-K!hc$X%w>xHWoi6|`zbxrAO zwaF2hR5xWGQPwOmtdzI6A9AqP1S*d#8{_1wYl4OxDb>NNRwH-TR-09RqPcM@Uy+Ht z)tvnx(*FbCi^;2o0Xht#t^9n8E;UtojlKj{os`O)`tV%q-FiYXdsU>UyvA_(pYZS+ z-teM*IOf8Q!xcf^uOZLPo7cqUH_Lsr`d-GTmBuyd-}+v7lQ+wO8_>#H~#FgIH_0z(ZJl#bFgYXE565R50H&14S&g%4#Lh`KCoCu zeG2wnAS-gKlS@hh!bf1e|DmEeXn9m~Tj^^=!6y~1eC3izWas5^y+kB~unzg(hK1=c z#L*hIZnkeJ6gR*)?R!^g{|-&u+E)iJ%X`>>(FQFZORZ&} zfe3{p>;0T5Q(DlE)HyNv$st(R|k6b!LGZ>H?^Op7@{Yol-=wU!rmktgdM zeU?cnDKxsVoHK2(c&$l544|?kt;Z@Z)vr&IL%Ki>XSI`E=W3he`=k;DKjFN_5htzB zVeQ|EPO{ciEHbrnStw`__`sBqb`qYTZFH%~Wv($h`Lq^v_(fiBF|As~@oDJ+ z9iL_;S7w)wgJ~3H@4{(~s40gc6K-*yI;D0BIrYB#PDy?PIUxmmCy`_U(_!=X}dS#BhK@_*hU{49pCuS!Z#@A!*{uqy|vA^Wg+U6wraalI=mPw_h#E*~+p;S|Zr{PDMm{xI6r9P`9 z66pNL+i#2CQ!UyQI85y@+X4LcT)Q!c51I3KY-jRjB!+jqOkcRyUK%Y7D5m>escoR9 z&RFm36UJgyS&Z)%3cPE^Qn`z$n1v1CLqn2c5Qpre=^#Xrkf~ZvX2l(3rmCm&NwLPX!ZT@LU0Um zCHJV+b;4NG)mYosCcOvduE}Dy5&|(?w3ZNi6p0xJomb+8X-eNTl$(&ETCk>0QTcl0 zs28RCYf)N2PV2Vy^O>8Adey>rDDaFNV_(7sc7Pg4rOMY1a+xtZp~kiArTdobltH?M8;Mk&&tE3oQ4S+LZPe z(4%=b0FAvOqHSf>&{~*6zkgH8^jVT3H7e~i)UgLR)$4r1lh_ICas8m>{-#7?NW`eA zmlqo;^psINKt_~YXaTO0BEo$LJVp9|RT^ALStG=8Gy$*G1f=?!D-QX1D0@zP+%*`G z)?4|Gw!iOHJAA#&F(xTxw&m&6b1;lX?p2N98WAapZW{j>ysEUfq2Sc|NM^x!lR4@` z97<|$?-XD=HV3R|?%A8ZYL$bZG<&(0o5`e5F6Wy~t*CR^j6lrMm-Z^J9W7e1RGKg- zz9>zgE7R*&Fevov)nHKSD~njBI}M3h)in9F$jC5WwG)D}23V8IH|okni9B@B`y)6B zzV^r+<*6x5>xmm4rRh&vvGc|SI_t2t_cnF3ViVM;RGgI5#s*;ucvQgYl znmjgz{J!qCqau=YHQWe22#@?{jG#CwNB%BQF$4x31igSY*2&$MhU?kmJu6#>?UZ^e zZTn4@qyACyhZ`G{1)6PnMH6*GY$rn_!9G5t*6rr3E;4mqK@yNSwrU1$z@d89l%}GX z)<;Tq%4}_|z?7ti8g_E|PnKH6-{{t=ojY;0CPFcmF^wjNS3x0bH97C}J?~X->Dv`8 zFCGTMQO2(1K_!5eL(dUIIXL|sFbFF^@YS+JplhC1z>IPIUWo3;V)yj=x^ATUoaMDi zv&${-WUn0cD;A!oT;?RpJ?)30(&gv2mOAtgQ~If;f|s^_LKAib4p!?moH=7q<3_6U ztnWe69udCWHCBMY4LjdVJ1ehV#aTLy1Eb&~q))q>4|Gd*7+}S^S2DRIhDcB5pDHIkU&ZFphLMeEIU|UV9m*MPzpH3yj^lYtYRGJ>Q5JN+8U0IHhhOZ3mK=c2-C4bon z_KW9|8ry^y(HoN+8#F4Elf$8iWToefFq-V^zHnWF?oH>&%MkAY%Z`dJ=MBFD8~Jze+SAlq{H0Q1Wwr`EOb-X za&Hn7psYvzzPR`!euAaXAm5yN<_x$|JlCVS;?LaCi)M>Y)4r!cr*+_JJ68Q7K4xL9 zeM;*Na&rJeLM1)pXU}57x`T#316qfHk9iDPt~ONo{qXsZZ^b-&feUD$ZSs;GWEG+;v$Kd1a%$i79caRlm^o=@ts z;jj@MLHWh(&Z0}8Ae)sq6m?BFjZ~X)Rbo;Stv+aZt#?SAn>##NG?LcZQ~yG7&l2?Y zNz>g6!(>-T2S?~dnQYC?X(OYmaP`b-Blod*^O-a9J47iI#HXOS>OmX|+J}r$9~)wI zZAvtEtdg)-9g5V%nCzq>yU!{SW$YK1rE|6H@e$rDQQA+jYlVUu?Vc`_kYlDMxun-@ z(OI3e$3ixg_ARE>Wn^UJi4&I6&T6{&xm&DasOP#o=jJ6FceJGMzR2N^IKDQyVFrhV zp&{HcBb@TRsq`EtW!+<0SeQvkZR2splT`6@JEcSyM;tRJA3XtAQ77l&xMJA2q_`PXP1^$_mJFA9I(PZw)bWBK9!Rhxwu zY3qopXWZ83EKx@UHJbAUT}aiIp*HQod= ze6W40Vb(Box~y0>Xi^$LL8h!p2hngUX|hJfW7RY?N6WO>x+(i=nQ#phaK1;Vnu&v# zneJRW{GdLhoX>M%&l_bRZbs^lt4G}J5#8gIh+6849oUegJ4w&CZZ=qL zwK9=oaxm6e=#I|_1Ck$4|ClW;AgEVu02ux9n+*`=@*^Lww2nd@WdS%vCr6Au!H1e^ zgNNvzIh!}{;I92N8JQq5cU$4POtvoT2^8E#;;tL@&Jlb2yUE#anUzCy)URQ-PJqB~3KJ7F|>=ug^{x0LQGx%n? z=DbWK4|Z|tHdgvA03;aU7U%nsHT{qAMUu0E!#nsuHPG0RGhd*kr)$~bn7#aj%V&Tl zavyOqeHW|!t7+VAz->Zk1o(nr8BjvqG?K#N*I*S+C%J_--%}pS~x|c$Zt=MbT zC#2)d@1+tO2jsMDKMW=FR+y1916Ke8WVxHp$}jZQiI)|AcW2H`zN=QzZIUg-n1;Jt zkj_!(4KvYIjYnkp;`8M`pm3)A5c|Sb`HVYSwDI5WCq0=sD<6wJ;iV? zk&m6z5}n$OV-v43_AF(0&+Jq@@kl{IH=N;vIgN*~xH|V%&fQV&t}h?kfW?(c`)KSf zVbR%aaRwQmTIH2rSx{2Ud%vX8EkDAPOj_5ons4rgimx>T1s~CUR7q-h@7s!@LX+oh zzOz@8N?TiVp9^R551(n{OqY@OOYT@=Vv|MxBNZLrN)u(&v85}8AERg9uWUISz%Km| zxwH*C*O5nyul2|qOCzFrH;Qm{G9_Q<7<5eQQAM4&48~@WqpUb>GwIGuEf>pB?Ce6^ zSr`^6f_a@XSpLz!&^T_v7dHU($3ymtvhU`se^6^;lzH!*BWqK!V9t2}>i9$6AI?;$ zS@B760>Dd}hvEVqX5Rl9HUI0`q9f0A%cZW5>nzMMh#bo*7>{M7_RHCyzCVKw(0f-zg^P``(yD-eXW4qpr@jVL{HL7Rhk_`i+ z>u4!?C%pWEpElIt>P6kMp0A!%WT<8Ai;>F58^3l0Eu41aXovem4i;M#?s6lj*$8?d;m$xvU4z1%u)({WJ}ZJzxYTkELbuVALDpR@SPB=^h^mAdRQ( zX6V7ByUNp1@PnlzIrlMnzu8#z3A#8Yk%gntM5`k+9eIyIslCfwh%2U%9xGsfo}y4; zBo?*k$Q#jd%||+K%1`I#T;f`_MzhkCizaR;Ft3Hf9A&*Oo<`}rGv&jrmSN!tyTF#7 z#0xK|j*h;J^*yFayMy>kp4%%+LXYK`rBj|#Ro=jOMpGGYcG9pV=t3QDX5+g#-bHmG zvlQ|m@8|Nd+qWAKpu3H?#vSU!v6-96cSfrAq@+|FC)chm>WoW!7pG;j+73!xEUpa? zpM3P%bpNeDe0h1fv`iOGr9cPTsYj|sVH@u#l0(_L7w({nsrzspW&;%GaJMONQCu79C@)dYn}9>H+mD)50-bM;~0B)AG7*6LLDz@p)CA+1L-|Iy)n=bT%SoJ)ucriX+96_q+g4a*2+G#(UIJoaDd_JNu#GOrII2{Yhq997z}&dr#+J z{{qB5Rxdx8+?dMryzO?JW{SrTvv0b^anvIpc%Xra*lk|%bu_etcLl?RHm=wip{mIm zYPx%<=niYO@&4b@f&c1%zR3~aiy7pkNmFX!tv<&KjNUbDvDI{U3DI>C_i{WT z%>&P5J46;T<}_c$)pLBNiy&EN)t@2N+whBzZ6B61Yl&tq?0|gn6zlm5Sp>^k?k)iA z5>paw>+fQ;-;$2H8z-cNnOchsn!gcBodECtb?d@Qq+wVf9uS*Uc9OQMl=JVs9HkN3 zfr&7`j>4y@3;z6$IEsAWkYOoqUTCt@_9IBOlsdkK%X+wdJ`#E;^GREslQ?(3{-HtH|?EsXDBG%@u=;|UpBK{EXB zz7Q~UbxClXn|L^T9B40|P(lqi$wu_+r&IUs63oJQ;ay~!h2fy!8|3o-g&f2u*s#%L zk{6{kxb*j)=1h;lv|}T1MY*tZE!X?;#FP`?d?WnD8|_uk1Y^|iRW2-wQ_Vxt>2CS{ zh=@ieOX~IYQl^K5TBOaF=?1_B)SS$2SK8m9S}!^_3FT}}W|4_o-P+sM#?ILXCsM46 zlULP8hKUbQ>NSj&pLK^8rTK?MEcAl4VD*c z0$40W6SB@IIMNqSnd;?xc7Spj+BID#Lc_HnpmM&+iw3shW!}F|QJ(7d@2?&hGH+J3 zyluwmDFf_r9>*dhr~WVM`Z+nI74Yi3I?<%W$Z1oKaM*AGw%DJJ=xz=p1-d*P| zkIPW^mx#G!L8)U%(wMapxbDVhJoFHBYZdq$Yu{w_t^aZ-_P#~w-w4N{(?&CR08X_# z2p;~xBwNin@wn1shTxrS&iPSX5Y|?H&b~PSIvcx~4uNebW-mn#J_)mL(hxkCh~=5} zQi${1MyeTn@cC}D($hgNXw<}uYZSGPgK3*NdzjKXkzFvoxt;gFMV6GDl%QLepI<|H zwxhH!kQ3~HFHx1h*&qpQ>;vOtDXGcKsE|QI5hkn#c;^CbLDY6-%{j+PTxm9hpGX7t z-}xFl_9v5pVJQVCBgCt0y5A~SXi}PykV=!=t%8DTq2zJ4(=dSf*Vvq@ zi4eEt+$U^`u>(HtCrU^VoT&NF;gJ5+-}()js(%s_X&7H+OgHXiR=aCM!RlQ^orAgN zv(7*B64$-o-5_e&yp~?v*^-)y)AEr!&Ec+=Mk&I-%et!`^_I%NjIo%(r;0+4-`J`H zU{iSv?$pBBLYW zl(X7D^-P;Q%hx;18@DQKBg}zw5GdPCw>(=9qod(-$&@b$s9@IAD}Uqj_3_>_taT1oGQk2WL)mv}q*i#HZi%x} zt54lOa_XMS+6<&BMgB>=b2$pma@SU_4}{-V;LOPf4?4M${SC>Poc$>>u-VjVxwbPJ zccM!pN)Hl4F}_4(%&w~k1KTE~TEndFY6MUDc%wnvj{;j1!g#u8v^%ANvcAuns@PwD zkYf6@H!R!h>ZShxylXBj(Q>~OXh^oq-8%?tDfClwG8Uet^eP2YvN6AN^p-WzJxkljdG~wMs9{`QD zi1R%`ElBP<&sUb3$v+FkHsKg^?Ij%<(~G4S$HQRD^7)dll&dvMM}mxYK3#lfELU@B zt3-QlvZgiY=&RG2majs5g&9?R%4h75`-um{pQ+ecc6pVd8DPnW;}d36HQyGFpg{LT+*Yo(~o+C=QX2&dGLJkxF~p|n{_JB+qZ7E<|_XD5ksD15Hq z3h(L)7t$f@F!j`)8#uJoH{|CCILAJ1QR@a=1bmlkU@d)TTBfKMvl)JAZ7|!L#F+ks zQ$x6AYU6F(mdCL_i~%$Am9M<0q1gV?tR8{(22 z*yV>r%^Nydmz0#k3l+Jq_@rAp%5D)qQ+l3~KPy{r1bpOJ)M;pk9NJ_@SvX6k++wY# zXyO5snbO%=B~B$BrL9_=SvBMfvUZd4g;SxeVgb^xiI+2UayOD*pT?&>AmpPyrVlEn@d{67gd!VkW zdWJmk!w+8Ucam-4#n-VDvmGmRxNBZyWdDj}VJ`fGXNm@R`LqjPTlOm)*t>}eyV7*d zD4s->`CH?H#^tNj34w`MCi^D}hmp9Gf^A)z9apbt&g?|q8&uERin2!RoW#Z+GKf1^ z@@zX8>s|#YvpDUccQJ^$e~sQrEauIBhX$O-i0DB{Y&7>p-XQ^L*X+#^j=) zkQgN!uE|ns z>khG%a-J66Q^DyIKDc^Bkbq3{}fn@?Exredqn2ucwg|7u@?nX7;QmjK> zAU3^4<*n`=MWWCTIi@C>km14zvxDgHlP)obEVS1;EN^Vs;QX7?2DxKChtCGwB7pYZJvOl%im8nPq8FA4Qhmh)&f+WpWE9_B)shWc|+HKt#(gbEwtg zixlM5S{zfU{98#=8FKx=m@(4g+UPy!#Az&Iuoae5U-$SqfsIkVv&sbs@%DjgGV>VW=H|`QgJ!ApLAL$X%B8S9w^M+K{Uw1Ka`V zP7-9}zSaLj07uT%=H}%Yk>M_;wZc*qV|sv$f32xju0Gdwi1+?N_FrH1Y-Klr{R!}+ zNlukl5mSfaCN3wM+hx7Umk*=~+?jsUH#%W@R5iRG#4i*BSuHJl;#@i5D|{87N*g1h zw`L2sA^(u{k!7jHCp^f^ed_rM@Td5a(-@;)*jjNZ?? zelFrw?^E90)t#M&9N|9WsbnBCq)^ww>Vcd3K^XQ*q$A?K58#)yRW}$dEv{Rf3(7;n zIxNH>OM_Ma!}Mxa7pkdTOHvDC#2UqzsVS4Ei))egS;)($zYxtLBU2H=6-)GFxQK;m zf~+k0thZ=?WtxK{lq3;ZTHu<0j=OMT3<1l$K6GMlPQ3o#F4eJD%TsHFax4}1@f~mV zBF{fnRk{$L`Iv67j#C5Vw}Ajb)4Kcmz`mE=+?*lKLQT1#L`&Nw z7$Ksr-_R!K&lx|SvTwl?j>5=8N$T2el+yNl$xXnPRhkxI5sq=eLOEtZa=nWe){#Sw zgj8`8RXhn|OOoa*3rdTI#BY#lJ!3sWItqG5EEgjh zad76I;kdK`rTRQ=y2rTlroB$o(CR~6*gEg~4LGphGXJe*!d|i&RN&P=YFtJJ7=0}V z0B*ON`qd0v1*PX*;J284LI%~k$OW{z8QI!?iHPLvNywnH)-j46L$(s+!NbESux2Sr zKNdkfGUk4`?%uzEwC?wYnEXnIo6}xFfl?E$nrsJlUcypgE>`Ukk`O!^GyB_DLU`j5 z;WSGa<1!Wx4U3y;Pb=0xLy*T)nXC+lBP2cno~42sdGv60NLYm2$J&g&%4?|+(PJA$ zBUO>W4MgM81I-99d>I6J!llGetpeHU%m|4NK?xsk351*PJ{qYD(+ zn?~kmWi7xNn+TCGiT6|KDbbwzaqR>Q-$`P1dzZA^6wd8{)e7aBmw{DFSp9N^_>?e_ zcjh9Hjkt(?6o&O;=v#;KO)PIG1?@``U|8DNUs+n;h8I+4V6=Qf9%f< zD_}fXtak(FTZ(cMyTq-i;~yJ+VNB33vZilA{>hGt0*n=!yQ&U*7qQaHHazhii^Ily zfqy)Z^Ac0@L^@1BJHqe#JMgh_RIkT_oJLT%-PLtwO5UL+RDEI7a2fKaGV@jM zV1xtMxUaI-TqvCZ9DM0!X%@jj^1*UF^19fB=KRfj3sGQgqwt4eOMN{kJk>~=jdB;m!}}Tv+`1i2?nRx}F8DAnDau^JRTOIr5qoL-MC6*Z7HGJX^+L76 zmYOO&Z)h(I<4hls?n70zQiCl#tR0?z6MD6MFb~Tu58&Zsyx2^wRsauXZf>mxxh%j8ZG(ubd zM_d17V`Gh2P8dIXHf1+b_F8zkf}PlVwVm^MDFssev91SRCS28ZpX2k z>I|Px_p=?YLB8XNHEO4ln1-aKnV|bbN3IlctKYRd>cy8-raL&c6E5nP!C7Xd?J$jN z?lee@f?OOf7LdVHAFL3ok@VP3oHh#ut{ZUr*>;qM#Nph(B7h#qYM)@TUiCL$g#<40 zOYDi?J`%?Ye%uTKvbf5ZLgC>CTJeu*D5?PqPocB_fNih7u}w@PRaMQ&mZ!qPRjXer z?elTng|}}Lg)$$~-9~8-Q#F@QmQ)<1$X6%8{3)f+WD+&3Hj3-{pWU6xySwW9yTKvJ zl)P&AK1eHiH5#Q_7DHJ0UauUK{!EIN+8`I7p=tkKXh4C2NV@f)JWN}sB3E_NnEI+> zLcvRMcH&R2gwO6A=AAFW%HNzLK9B<^D^Fv{!D-v5*d?-msXW@9U8rKe_zfst*ucL8DBJ6B;@RMzRq{NqgXI&b6|q$8Dp8fW^&B@&wRpn z`hBOACK#L~Qowf%ywNB;BZ3hUo#G)FrTU%rO`*wE-y@Yq5!Pom?yr7(t?xrYNtUP1 zJ|jL%YrDm4l)I$}h%uBw-8h3$3>4)kJwUfI=BPFPE-*Y$tt+dV^j9xI2wK=`9ABT( zK-&H0jGD?^&BvUoNf$&P|4MtyUl6S8g zXw-kU+3vSX`VtZKX8ULp~n{<(a-D?t&uUXXOq5v^B&@g~hyxDccW(z2Xxx z7&P~S;XJS>q{_R}0P+zb;`6n?3O=cLUlE4^LU8SFIY5nDh^~{ z8mImP$-ft!OA-s&YixAXBIsRrilS0!uTg13@ScI9r*pr!%lNI?Y!=}b_c-GzK$VM! zaC)+pHDNrFCnCl&C9gEQ9YQX0Zer~R03d7YA4HXNF9T;=sqI0T7wXF*#c9Zy%3PC; ztnW=caecSFm+MhwG&xz~Svqf8BtxhdDB>BMW*}1!b#_XJY8c=1sA}rf_Zj9-r^QH0=!g=vgLFCl4kWb5W-wS&`*nU-A95!=y_?C{OTjmQt#*jx= zMg3Fp2$>S8=#ysHi5e#Bh}^If`9DV;d)LN!w~%|rHmsDUS)xn&u&NL;Iw2#BzVAz@ zZj=725i-SoR*D`HXS4bRb+nd8(pCd@T7`DL!%|B^9i;Nfp;2)>U?h%w0~#!KpCis$ z&AOh+mcEE&;8Z*D1>;tm<@ONl=c|~bv+J?*NwR3jyAr4}TY&MkI-j7yH_Q)+>d@-!?7 zC!--q6Td*z4hh###fO}UMslF2(1ZOJ{d2WqY|a*=#Q)}*Cc4~)|#2Dn&uqF~a_o6#Z0)1g-_py35FN>l*|Er)$iyX?7VzPPZ zr9#64p$OWuhs}H0hXdc#GsL&XkvgdM$jHBgQ9n=CH*^KQD3gIkk3`2AmY+$a?GAtolznwwf)&QK{~8#p2Wq)T;aXyq zb#W7Xa9+HYoCM7i_ZzY!Wt?>;V|^|+@r-04DB^Rj=3-MPW4#Hp$9kMLlRVV!ZK7M7 z%fe$kKB`y)kVWCEZ=w=JcsR9HX9DB_jcJgAZszF0oBCfPc>RkGzCtjRf||iQ6}DPU zeVk%)znkg4CsKi3i(fMQw==sU6wBW<22W8f8!jQs@Q*)Y|KsQ^K$h163o$KG>{ME{ z^3pDYfe&QBQ9gnynOx*>Na2&C_eA36`KF>666rX6E(Pplzgna~2zfHaamdb!EypEhE&UB=*p;uDqsD&6ZwUI72r#?!W3S>$AJNIHV7FHm3$uO<(ty*>e zBT!2UNiR>;w#MKMrXtu7jz!{mtjE6SC)+^$K~Ju{OD?WbFO zMbfJNY(Ss{H+L3)5u1tz&j~|v}BTv=~Ul?C;cY*foQ>FC+z#7iZZN#C?CQFD> zdtywR>7(T#PL0Tv@v{=;go?v<$mggZ5mqxtThnD%O*iBkSFa786MjO?xk-so2qwF7 zhWf@~-YyZ?jJKgy;{GzzPat(iM^SUAnJ{Gt<_i+%4aV?+gw9B!y zW-I$Dja8r0zBDZV+Fes4e1ii2>s6x8r#bcW*p+%lyG@KE+u9Fi(A{}Eb|@i%);YaA zGp_n}WMm_4+okKH$=IdRAuIMTSK5!_%qMq-YxvkH+0m~lm=&YGd?VTvlu@uL`Q34cf6)%AP(K6g0 zP6NLqcMl9FdZ=Q%b!EZuAfe^#|H-|g!&NiwNuz4-t}|Ua7=n{SYuEO{NLzX|o>te+ z|D#n7l=@877fKu8!4yZDgP>`SrCPpB2ENAG4u`CaNS0VDhGPy=1vvG440`}}ehq0~7B}U7 zFi2}xA?IPtPNj8B!LVwEO*G~ zsD9(Z^;CJ(>~!UdkzkNX0JK zCD6u(nEAh)9(znD+oFurYW1P8TB%TzSvl7ga2ePYS^WVmflZcDGxfHlNhgIch~yPI^Td(i?0dqSCbvsa!+eYSxzo zsR{kWEzWvbe2u!WrteJxPml~|;wjOjwB9SiSON-zcKvZ9t$v+CTcEErUg?vh+0cdF zaZ8%x#@@5a?)z(Dj6F>ktQCHt7R*b6h{xBE>o)FCY}&?)kCA;_2g+oYNX}&K8f9@L z5TUPX5BC;v{dRjMs<9Y4F6{Jb(SyDTjn$*BlY>UWWL0X1i%eyxI0 zr=X0)qQ4pZv*k7pz2$P%^ZHD949LjM zNFt37+;DI{{ew>vKIEK?h=*`9DjE`sjmg<&59M1B)^Mk~{VFhK9zA*eBz2TKO&|Ry z8aN?raeB6#p1o;DoIF>y6vq*lvdIH?j%KE@hN zj+Wzfx^nU?`*s)3j-NO11O6#V&(}yiwSh%V0q=1aq zW+zO&>vIqFnT&ElYkoh&S11%Pc}lLec8^<~cCO$<6?$%1d^7iO9aD3}Y~kg6_qg|dRz97dfn5aA;nU0rJjqT+q^Pz^}ZvCfM^lMUhRVQWLF376+@!ecj zciW*1?r4gcu|LUbkHQBvhB=5Ek|rtozhHE7mO9+pz-#w&n`33u58Zpy1rb8Rqr9u!2999 z>b8snIC0F|kn1HIG)RSnPKvPNiUTOEQJ97-m30KCtw2Rn7*g&RP>Ny$(hq~8^A^lW~xF{!{F{P5S zT(6dif&M<;J#TA$xFDh6(k3rd(*E{W5Bq?Tu5vTPZL-(ARfkQ7qM4;9gQk+*2i=XY=79dm}U{6$;H%^j=I)kO$hR4b6`W7L&wp5YcV ze`THEfep6Rw*%sgcMhcD*jM}Je@5}{)M3N)SoH)sS5scjy0ifbZty}n#*WIl`$fbydX!=RmIT}ke_y@EO_A$wBFmm$ zqdY#xdzG(Pg0^dHVrNb?Z+Wc38~w(|MzXbRr{U{{J8a;sA)5FYdhxborSB)Ic=Jv9 zp8Au~!bNP*`kUo2og3f12710h!TsOep;}Hh(EJ+^0Od+P(**ROC^kOW5PyO(P0}vL z6(_}~bEb|{&k;C=8QdOPFlRoVtyI%Wsa{o$XE| z>vvtS0WK`jSw*-KhPl<1ill}W^RT!Sc`phFNIPz56raWZnK*R0Ja`lNKcsCBgd*h` zE;!kGGmV9*sg2@nQt_1>kiI6!-(9d0X9F1)u`_qBS-Q80{6wHzk|GftFRPv@ZKbu- znBwmSv6N8DjyeDXIQI{z6!vZKJFuLz9cTCtd$&IqiJKbeMnlEgWcun zu7Q~DH;W9su$=tsFOwEmUQtA!Kam|XY;%v=y`o$(>^yii2d%QU`!$Q`4tMC{@k*v=+Ll`-o7uxS#XG0+EBU@H~2bhywgB{lFB9mo)9 zYv(gQX@`90O~YSii+<*1Wb8lWy;9YtX^e|~`8mNyt6v2FGpinkjUx{3gITb&ornUq zIciQ(D0u%+(+k=hqOxUloF^9X5 zXek=Pfo((j6(6g}hc(#sR4;3)$FN4Om@JHDd&r(0#)_%bsE29K2E~|9J|Qkc{X6f} zAsEMomF?sq%|2u_o>R4cA{Rl%s=hos83UZmJY2CcH!?yVMRc2a)f*H#G{lsU;n8(4 z>T7pLaMov0Zh9YfeyQIK^uu|E<`m@2f*RGyy6$dlF-=V%2;K`3v1D+DK(-dEW|8ef zL*+1(Qg0C)$dXw!#HT%m#1;l@bw6hCs^8I(^%l5Ua@OYzgrb45zDrf!XB59B?PcK* zuDVQS-=3O6AG_|VPZ8XddeZ`8>@Y{%;WG~@>UJRKZWKD&45Gn591XDYYDd)_wPPZ< zu$!$~vs6rsNrlS_ZQ6{3!)`8AB=BK9Kt zT9|i=m#K53Z`?sY?W?6t_k;Gum7*UvOa->txt{Ueo&xOtY}}!2e!{cv`WW$PW8lOf)vm96z}|up5NLF+s`i9QDagT zPfbPIJ>aocYQM(P7GczG2VO1b4 z3Zssv$_?Hsw{V%tQ+$m5kAVQqGU~V(K@++3>QYXL!_Lz!hNZNxm{(0f9aBU}jz@XwD=-Gl4f*6N;q}*<3$G_n z)^MJeNPS(|c9CGw!;Ru))@o*m*FchNrhUJlpX{By_*TXDIBg5A_{xA&1_XZ$(JQY? zNq6ZKDX?re<|eybhP``7sLHdA*uNN8{&ZP>TQk^JY3__ll^+_cQ*b3FO{9ZunRE$@ zGkNhGIb`*$6DwI)m2W6EJLf z(r(Bzbj`IZ&hgD}SvTodmlOZt#gJj0`?Q>2rT~}_q%8FMD=D=4Phk&@5BFK2+;zY9-H>TI%ec@Kvp|3T)$N0!ET z+&uN+^D$v33atuOn~e0IpQDcsJgsb*U>B2-Wsc(()3SIFZY2vcD+~-dEm_!tgPC9L z9Hru8fAP`Qv&fR{Zs)qw?T)B><%ozrGYUNNH&CA{=A(@6wMC4&#`xS26XM17Lddcj zR2?CBW~p|Ox4L`sEmn^QtG+f|Z-~^Vjb-fDVM9w@8?b>(H}NkWYpO;eb*;mIC#o~u za4}1yiJ!#(Qshw!udmFAQHQghKZOxgHQN9qO@~IXa5cBv%Q@@!`eN9iT+La|l*Hv1 zT7))K6&Ihv5%FYU;o4qtG1-<~WW|9yN!0N@u&D|>46(i^!7|m*B#nvy0u#Vgw6*d` zZ_p(`XZmZX2i!-c|7*dj)c@1;E^tlNfBgSB15_A@=M1Z}4c+H+AQ2pR39noRYW3B; zGj5(;#OiC9ikd}uwlhZ;k<2TZeFsd;Z#Y8KBuO_mu=-YhFIpj1114q>WZojj*yaEB z|NH%V^mzDqAPSDN&*y!4y`C?!AS6BkNz>IPYrf%T7w5+OYLsyu8M;rSt`wcbQ%@78 z_%)R0TteuqvT8k-VE|Cl5=vtSMDELEL05Vvo-{3e4o&(n%MLWhx%W|0(8-0`TbY6M{V3NPU=wFtyfv>BokR=UePB}$9$-hVX@($0&@*hZb zlW0i5&4V6Fp+!`(N6ebmmw;Mdkjr2d)D- z)u6T>rW!NIP5-&P3EQFF-XW>nYrd#K5IlRu_eX4I7k2dY$w1+~ex=f(=A9%z0HfS_ zFo@({qZ$tV^^p5hG#WS=76!|T_lqT$?q`B~cq zVto45A zbY~Tt^%bDRZj*t)39(^jkReFyNDkDVzk+L*g6gjk)qbZlW^!5#Dfg3dQ=(*-iZz{t z>}G?uw+$Uu=myRwB^%FHl!ou-S*G^IBRJy>S$CnWmxr?3db%%8sbYpvTrf;q@92tb9z7phbf<#TihMgu`*#}0DU}JKcMU@(ZZFljGO$OYFQCX@ zn{hC+)B^+$$+|BG0FNc#z~7`CCI@S@LkUO@dnxM=KrKUIVj-l}LWXkL==fXW6SRIK z+4``}#;2j8p9vV36TcW|cHQB{zz(k*0=nO%>AwGPD^Xwnwfr_dhgxh>@};!s%X_1` z?4S*_?8VBoEXKN6+NqC;!SyRjOLCFBpK)zbf%1MTIn-ZVCM>OMg^0xy&eks0xW_g~ ztma`kFlbrHtlLpa6H_Vjc^!-pcRjvC==6AvOiun5ZCfzJYq&Itbv0?5pPg;kV2HU{ ziTRJw58oOgoPzw_CeS;&c2J5dy36VS!GAz1TMNAKFD4hZ3ex<1BYexwr**+bzBVC# z>1kwq7A|98wa35REVEu$5j0viO#KX|JcwU9%JD|>&fZwCj1~Bjkm2jQkCJQr%ZfI) z@+su?q;dI1b!7E81@3Dq_g>J@|BHR0#ZwMgJaJ2(4qHwX+iZsy$%qlvKgdj%xMHZB{|yPbUVS;sy@`6JK=Hk{=s!B1VmOUVRZD7ZL_19+ zQ&|%#_CN8oNPosJC-lZ`A+5CI`LftwZ^IJtZV{Jm{4M~LCL_bvrKP3fjJGMr&n`*B z*g=A=Kcj3ifw{*U@$xWRr>RM2L)`G7M{;Rxx-tf7G7d#i4GoqMSzlV7Z_pAlaC+T5 znVd3=?MX%3TCsf_xii<*$@5H3`XCNuS`ojR&Df84;MLEkE4R!Fz6*6}p(Lj+Q))fQ zO(1ucbXH{={MmP{xRCK z1nXFF+C${dV7c4e6VyVbaOaT_oQ#Qyjl#nA{CwDHEkm!*>!LfK;0pP#fEc3b8QR4E zolJB(vms^GP`6rAQcwSc`b0aP#UTL2WMv-fkaW!R{x~Qnd~GkEQ~gd zKx&RRi>>!3rkQ2C%#D##_Zo=7n9O8j5kUH_?@)Hk!br1cw&zjCXzlH@xN(ux&{zdAoNt3YsX>8w26W~v&gpuywHLq8ITTHVJ zTDoV{kz^P5F9iL(>MD1F>{1ulamIAY70<>O7f4mr(C8g|!^F3PSWGCvfh(sN{cOIO z-1VDbr?4=)riQJ*VD8*W5r?Q7$zQ{(Z?}@}-fP!*57Uu77%_1btVBex*;i!Xj0T3^ z3Bg*scK5LvPg9u(okD9@myT-4hWs{kSvN74?^>nlET=r{Xj0;c7%w(#5)=RB-onns zgX)#KNOk)-1O5v{5QC4jizP z#5Kd-%9zC(ka#RwjBCG-r*jc#1fPPk zl-#ss=@Q8PBa?0Iy_PJQX{9EHi~L}f@snY-OfO>=^~#RDor;acm{uM#_-yLb|?QO>yS(K(a5?dC4zexeq z#kFNP^mc3O3CS^{W!!o;@G7u{r}D9s{<2OuJ$f9eI`L#>uQLT~P)Ji{h1Lu<^86U^ z_L}oPmAX!X#4wcR=-G*DXLuM_46V3?YOB2b|3vFwhtipK{{Sh1$gs{UJfRkra7U3& zsHz?W&V$G{$c@!KZxovNpUB2G%lmwn$PxIh@{HkyAZW`H3kt@SV>!n5IhZ@DNh`$e zRN6FI2&J8}afc}@r5X>jxQ=tcTDi~}v+g$k6xAV0!6f z$tX7_WF7zQYv}M2;6`@56hrVb((Z{Y+8`yKDGCAR;GyOxb^X$SbB_gvRm+6s=F*oW z#CDJ%DF$IsG-%#4#NXn9gL{wa6#0yR%|`P-FSx=5$Up8loq}F~HfH_CiD|G9cnP{` zvkj)SX&?yl4hkD`+WsUugH2xyB?v(}%>lVd+iT*)klC!4!jDLF& zf@2$TMh3}w6*dq@xdaJYGC0@-ZV)=0!NIlFRkZ#As(-DoJ`+!Vc8}S_Z9=_6-k{`o z#7V`QnBFY;ns>?M@SBSi(1*+%&_eM(s+`l+2zlL!<-wid^xX#O8-@ZFKGf-?3u^?Qq7fV#HQ+QeVY1y&F zH13G@Y^6c7cE2{Kw3~kceYUUS5%Ba#?`Z{Zj;y$E_3ZQgZ)DHzasQ-6s;v4rYm6qz zf$Ng5IirWL{B1H)G*E7MdmM_NH$lT(V18Z-aMj;-DP^5h>up-`kHzbhw1NjCu*&M@ zgzUX1%;?-hX6Vc1E;DvyJCI5vAzq|aA8Wwi+_4?7n`;Uy4%X%F4B^bw0?mtMLPvYI z9cNAviLSNKGCUSMIoaEj8mqah3EVB=lcXpm%iSj{N^)~yCY$r7mhVQNxy3a8TZ}kC z^S(RsP9vDi4Tw*}85=;d4K^xLq;4WY4}_K=(ZoYds{_5VW(I72Pa=Lkpo=H(F7pWW z`NPhT@JU1E5JNmf*&lQ+TnMbB!xp>Uuw*HuAf=MmELjEo?A$lBTV;x;v3mswlf1O* z7tr8mrUN#mJumSDrFwxI3&*T(-sX`m73g4cQDA+P@WF8UlZ zY0qM2eR9Z>FNj>GJu>s9P0f!mo5AVb!D!I(BU0rtR73Sy2O6Q$lJ&1+c@g>Ed#OqE zO=Ysp23ecz1&7(i3ax{KYU4Kp<-`+g{W~r0>4Gl5C6i%e_m2*u53@CAMtNjNP*JJ~ z+_%5C4y=8x$bO0f;xsY;3dFu5G%bx!BX$QAVk%?Ik$#&C{B}+o*5h@{tOngkCohc4r)}$Brgg`zEoP!C~VTT?kuP z)H8nw!s-3fpmjc+e>Y~xMxJZLJ-SSS;4<0lP{o?ylm0?9c>$-@3d(X0QlqIGu{Goe z_vO1ju;J|V)=(khAi5Jk+?OQi)?D4{@R+I!XL!;4&IG4d5{*qlyZ-esBSRponp!_SDE;^MPCibzzO-qTc2zKu`7S5dTxiC+>h_QhIkw)-U((vjI?~I>J;h%_hTk|Nq3w;c zej(j;o|beB>t*aO$?XsGdZ?T+JHy9dVOw{%7Qx21{bEIkBVpe^+zsNGmr1U$?KIzn zdR9&4#iEd(%cEpSu0?TcP`jg-)cij)ygqR$dMg4o;%@9a38>`1l}bI$=!%Pb*xzZd?2wEu-j zHSKwosw_9Uv*6xzC(CYJv>{@JWLE}YG}p9@NIkznJJ2O_%?MlNza4NU!G z6S>3CB*L(x>FI8iG@O{)EHR6%4H2bhS<51TX~#-)#t3=CEWZkpt;lP$=S&oqsBKAk zdr-E1z-r~Qsbdpd2DTZ==U~e#l;cLwFkZ}QB>1{WEFrqcn25dOfY3fzDk(V{6`NpB zrOZza9%S1)wcvOJ#mx774nLE&R-$-|h|i^H zaa=IOwJp{h;0W}(u>>T2UTVWiEc_8!U5Whp)Xk%|_I9jO)TBk#S9Wd;ppbei#I$-Y z;w-*JM;Pgj(?Lc7THj2KP{vP^lkZ-!XdoqysDVbyk|H^-9coHpJb5&Grc-}UW-fx2 zBqp~QLlgPC%ok%sSodmguUGTf1lIk%FuV19GTV3l=5G!efY)0SV`B}hhWWf2YPrHa zvRy|Dn1l_6DTNZn%0=^Jo^?pRfLio+{lS(!CTyP%>rTHNYmyyYHnt#X4mDkB7MX$7 z0b_(c>98@U!74F%lYih33I4ZM%QI;5-|j?-_{Y(_FFaD$+n@+LFDx%EES7n8k)x|u zUf~lc>jjxgMqB@fb=%4YY)GRjqdH5$(5e(MZzLE@J{A;-ik*z!FA0g9gS_#lR8g56jlgw&?_M}Mr_d}86{I52oL>l#7Cdc9BzvCCN8Tp!z zbq3tdeIh(Ld}lzW&nKhO&d)KBE#si?I7iM&|0s&DA&JHct?|!tV@%&lZWeixtn7T$ z+I6>sd_Cg~mUkL7+B4P9J!(LEc^yc3Y!+9TQ9x(o`wbkI7&bq&W_!j`9WPA>qE3BJVSge%+ z>OQ~wj{&~8NbfgXaxja=;Eb7+;wbk94)zs#WH$~q$2jhDvl&m6gnT+pLOjhJpRFz^ zH}+~pwCWRP;TIb=B;&eeEs2;fz{dZS4?v=ATY=1)k3KlrN*lybr2doXc&% zSdlS%|0uI7-@tDMcm+%`CViALAMyQM7SqWKs}lU#ill(BpHh)%M3@N5;ehHE*8Q`l zs}G`QY$>sEVG3mnBz;wEY-R)Y)^Sabk_d)MxRW3;X*BvI>*J$RP9aAc5HEGj4yahD zOuYv?+oM|4l;UIU+~ii-jV6EO?JjH&kxi8ymoyuFQpGX4@<(!)7(&n$K?(6UZSyQaVZtcr~=9tiM#1W0+qN z*|(E(N^_nK31dwj9V^W14T1FhG7ucIomw`2y@<7}(w*VjvakgNm(%VUCk*N(dJEau zm^R1oq>{YS%mYjQtN+k z`;V94DWLF>@p5|soBfr$ zEkvobbV+JnJ_N^uD!Mt+c-}lXuGXk%t0S%mI4rE63Ol~fH^7(@>0?Zy>LPaTDA^`3 z5El#$q6|>$uYe{ab4>;H`FT9~P4$jJ?!Szc zMV6IPVtGW}wYn^b%?ieu^H&F$tn64q;%meZ!0x&nuK7~2OK&5O?X8_NNy`F4E}XM;)4{# z)4%>DW8}lXk87_VFHTIgNL8TZm_tKo2LB=X_+yVB0TTTMNQqTkzYl^_RC_9zz|SYE ztE+y)+-BhC{nc$q@sRH~f*4qoA2!4IJIBcs(=}5Z#u`wpWQ3T`tzE5>b-!mut_9j1 z+ayx5{%lk}gOky@kE_AfW+UBg$#q!%B&t2qoKTlh0eX{}Fn+?ByVs)dY+(u601!4+ z#m-(XL{*lYu%!yi^;RiGj%*7%^z~k)6j9}}{?=F@llgD4P@w5?Xnvf|^s`_QSbHJz zCm3U_B8NiGCga&9rTqJ0cYRAY{&A}Qv*9$cY`r{WCG0jDQFoE>Rz<}O9=P~7IUAb+ zsF)RZk^K{6M^qaB44S<1&dD%-2dPZUhfZQnx#whF917)ihPn*TrZ6gq(9_geYzXL2 zf$TzlHGS+pWWKVDVzK6Rigi!J+EwKZgcN6FQ@Kk$r*(U5=Z{E^uW3Fx zRY;7CY?6i5{dKAZ_L20u-R%Rp(KwID87Lj-FUmS&{aSjbKk4CWFlAT+2+=78bQOou4v7+%K zeZB^nUZ7P6F{gq^xR43Ly_k+aC<%VH+-Q8+7~1HB5NkZcH}PXfKNuR z|9T#Wrd3x5Sj|cyMQmDJn)FOk|x{vE(q|dc{pI=7Xn%d zz?nY4lssOcrS?-l7<`q3Fl9*Emyln99 z>^V5&L)tao@E}babN)OJ>ANed;*MoI9&u-T+m|k3d*+l8M(9MyH6!3(Mp-PHTM3WJ|C#GrPXI z%PYv%;VnZv0lq=*jBco=CRr%71tBRZ`E+chxM~OjmL2hfLSg-+Nz}3TW*|o)L_9%k z&Pi?$b$piRVvVqM`1YXWW`0y!n#?tu$_&A3R$26tPIlu!E9Mda14?<~xe%igOH5OW z94V}Gxy#mvGZzP97DNdX3;HfdJdu=TzUJdq+DTvS5!yThjT--c)_oLO>Y|P)ne}IY z&k!0*B%Ae2t5arv)i_A29x%E2ErSwb6S*fgA_5!UC}aH}(;YLEu<@ueyIjKM;<{uB z(Tg$%OJQrA(7R~mXwe*la62}wo!bDTBgN?-FJONrS>`j8^6Mz`OEt9NQWJgS!&UUL zIsNeU)||ldN-`-a;~M`g&S>QCkzVUv9X|!t4y!GGL@4>&+#fPiF=Kg&1q;s6IvxKu z{}=Wnve5<=D7T!8$?j0}r=`Nf)0i}5RS6RnspMVBDurk^Y*_lyclo!OJAT{~B4 z^&S(>($&Gl{qt24YlXm-`uZfMsg$E8inS-8o9tWdno-xRIhZo261SL7CbO8EV3ua zte23#iBT=V@x@Aj!axM6^&$^2vXeK542C5>a{7__CxX5*pg$fv-A9MTCZ;FGnNJJUpNyQ@HUC{Eq*?BXtMzp#&2iVr3w52YS$8&p}JI;Xpfte(;TOJ6@{K)jCoI;v2^W zinuK8ER0IQwJ*eyQFAc=3^VCjPQutizr94?yjeCnsOn<-{@HgVTllrBHOS<&?dSTW zisz-Be-8Mtd=ZvEgZpMgHn(sA6j;?pj4=|qE+R?!ch~`C2olMfU43 z_><&3r=?9xkl`H|__Q#@-z2%e+!>J`yF6VpuM5HR*R=z1SDpM+^x5A$K(hqQ=_jaH z2eHXt?MHQ05bf>8+$~M$0Lpr2;2QrfcZIEgD%Z7B*1x!Bj#PC{qCdk$AxP^O?xNS1 zM@A-tEIHJpmbhMFJcn3&D=L3i5_UXL?SlyWu&w^tdHLsI##Fvz?-Iexd$~Lf3VjR3 zDE|@Jt+VasAHe)F9Y}?v!$XjUe3}%!RD2c$44JGI$Reb>%*6`BM}Vvv=>k1j9Fe;Y?&$ z0J-NfxxXqQIPHb(Zil4d!PYy*dWno1bzJRU&(NnPpS>CEW z6ZI%wfh{-uNFe`i-246YLO5Lj{^L2!wb8qx&&m{$(vB}zqe(?~i-lj!rc%kxJ)t{8 zTpFA4L*7=Dxyp$%HldJU-f7^SQtRVbUQBxmjo)4nU`WDEWvmf^=_0SY^Zzpbvs^Df z{=Q+$W~AMAbyW1Fr4diIM(#B;$EICHT2n{|fr6sxeXC`jWeN4!T2C9&815nerUd8p zTT_yed`dVS82i?S!Ta2J>a!2aFb~VSPU_NawKJ37ivl;wWXCU-2fG0)H}4HIjF`xi zRp5QLWOGzPc1QK)YRj{%{S^?;)?oQ&?afFyKQ5x{Wo-Sv){h9zh(g2KMys^sPLpQb z)3`3pHfkrR#lMH}B(|(@-0!$vv3D=XmP@FfA6sOVlBS^$cJC^DkM*Yl*}LTwKbs7t zWGeYrU>D>K^4H1cl$d6|Le!lfOr0ToeIz)5vvNgZc^CwmL4Wp&?w8S0V}x=mo;0Ou z8|y!4PXsWQsX<6MaeEMDneO?=RU`;IN?n~u&SK+(vO-B%m8c~ILM6wU9vpAwVj_I@ za=B|%^H^G)%JrLs7$B>~4j879R`21*gp3NIgbnp6z_~qu9GVnZZUwIvYav(kdT-Zo zT!%WQer71t%l7q!j4{amDRpf2HUJ@7UM1T@-f}6sFs7=S)6$)?eCSQ<$;ik{FG(tc z$=zN2JFto-tBeWlz0o>;E2&7)a{P~^v#GjDIG&YtL=yJjktUMWJbfFvLa;^oh9C3^ zbN38s8U0jUzO6ura~+VnQY9VFD7i(V(eLyAvhyrbPuYg!%c2-749ed{_B0OT-ZxrW zgy)E)R!PTHQ_PwQ-dL2r7lg6@@vM|I?R$0$w63BbWjv4KU*f`} zfORff|o!*qpdEeE`ZW79-6hx{JXlldev37u11*#*E$-r0mt)Jia05l7SseK>x{Qa z;tuAgikAInZ_L(-o>+*xBG>lRI(Rd!UxDRoncA5kWVTVLbtf2%n9d*5S5H<&7#HNL zg?&RI7=oWeq2vlHF|nh&9JecAKF9s86LW=kp<|#lQ?q$Qsx>8@Fg6w?2a)|Ry20-g zctWZegX{Q|(4);sSbS4pn7@i@uLa>ZOtbN%c2lKPu?Gpc-LNDNDUFcebK?mIJ9+0e zf0InL0S@%K_uA(hmv@H}`er*rP^n*6LZ?T3iQECCN@wkFF{&LvLqv}BZY&h(9-)e6 z%Wk~tg(YR+L^HpMxlyDuL`MM!wWr*KT&t00(I{cXeZjlF4Vt70h$}-(x;YMHg)Y?F zt%W$G?=McBT6eV5MO#-O;rZSR$#i97WTcI8k=k;|AU%G#e841w5?f=80^M+NVY#d_ zRx{dw>^n45)Z;$oD@f_)c`7+mcJtS3*RmwIB$R^ff9lxsilC&@s1{V% z?;~x=F){ouGQDN~WNeutbzS2pkefETI)$gaUcaUh@E%Eg1Kc3kz5vytB)&%zA>z-7 z_LLT0pXmK9Ufp0_pVrF3_VSOK@>4n-q zPVr)T*YEe)-k%z*#(4D$IO7&m>DCQcg&#u0Hks?S@Q1@EVkeB!GGZyMh(U#yBnv-J zPj?{uR$#IA;=s#YNHI!xe*gLq4cRFr24i7D_VWXcXJo3+XxDRSvQg-F!8J<7kBO1q zOw<(@vW7W9Wc5jIY-|ZH<4H�s}Hhxv&ha4lSy!B|wLR9RIz;hogEvG}urtayo7B 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 G{QeK$ga#x4 diff --git a/addons/spottingscope/data/spot_scope.rvmat b/addons/spottingscope/data/spot_scope.rvmat deleted file mode 100644 index 294d3a75b2..0000000000 --- a/addons/spottingscope/data/spot_scope.rvmat +++ /dev/null @@ -1,78 +0,0 @@ -ambient[] = {1.0, 1.0, 1.0, 1.0}; -diffuse[] = {1.0, 1.0, 1.0, 1.0}; -forcedDiffuse[] = {0.0, 0.0, 0.0, 0.0}; -emmisive[] = {0.0, 0.0, 0.0, 1.0}; -specular[] = {0.0, 0.0, 0.0, 0.0}; -specularPower = 0.0; -PixelShaderID = "Super"; -VertexShaderID = "Super"; -class Stage1 { - texture = "z\ace\addons\spottingscope\data\spot_scope_nohq.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 { - texture = "z\ace\addons\apl\data\plastic_512_dt.paa"; - uvSource = "tex"; - class uvTransform { - aside[] = {6.0, 0.0, 0.0}; - up[] = {0.0, 6.0, 0.0}; - dir[] = {0.0, 0.0, 0.0}; - pos[] = {0.0, 0.0, 0.0}; - }; -}; -class Stage3 { - texture = "#(argb,8,8,3)color(0,0,0,0)"; - uvSource = "tex"; - class uvTransform { - aside[] = {1,0,0}; - up[] = {0,1,0}; - dir[] = {0,0,0}; - pos[] = {0,0,0}; - }; -}; -class Stage4 { - texture = "#(argb,8,8,3)color(0,1,1,1)"; - uvSource = "tex"; - class uvTransform { - aside[] = {1.0, 0.0, 0.0}; - up[] = {0.0, 1.0, 0.0}; - dir[] = {0.0, 0.0, 0.0}; - pos[] = {0.0, 0.0, 0.0}; - }; -}; -class Stage5 { - texture = "z\ace\addons\spottingscope\data\spot_scope_smdi.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 { - texture = "#(ai,32,128,1)fresnel(1.58,0.01)"; - uvSource = "tex"; - class uvTransform { - aside[] = {1.0, 0.0, 0.0}; - up[] = {0.0, 1.0, 0.0}; - dir[] = {0.0, 0.0, 0.0}; - pos[] = {0.0, 0.0, 0.0}; - }; -}; -class Stage7 { - texture = "a3\data_f\env_land_co.paa"; - uvSource = "tex"; - class uvTransform { - aside[] = {1.0, 0.0, 0.0}; - up[] = {0.0, 1.0, 0.0}; - dir[] = {0.0, 0.0, 0.0}; - pos[] = {0.0, 0.0, 0.0}; - }; -}; diff --git a/addons/spottingscope/data/spot_scope_co.paa b/addons/spottingscope/data/spot_scope_co.paa deleted file mode 100644 index c0168053a3d6604f26ecd5b21da84c3b389ad34d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96767 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

Ehb>Q}sF~`)+p^^n3hI3S6zwp1BYl?(U`!t`$_Z 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 diff --git a/addons/spottingscope/data/spot_scope_nohq.paa b/addons/spottingscope/data/spot_scope_nohq.paa deleted file mode 100644 index 674ad1d0ec8fcd2000bd47bd376b4d81a6125b14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 128338 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

Rr|5g!!bu0kTP73g*R5C!5H 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 diff --git a/addons/spottingscope/data/spot_scope_smdi.paa b/addons/spottingscope/data/spot_scope_smdi.paa deleted file mode 100644 index b6e2d763fe289e9799f5f27bc346154963e05ddf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47602 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 diff --git a/addons/spottingscope/data/spot_scope_tripod.rvmat b/addons/spottingscope/data/spot_scope_tripod.rvmat deleted file mode 100644 index 0403471e5a..0000000000 --- a/addons/spottingscope/data/spot_scope_tripod.rvmat +++ /dev/null @@ -1,79 +0,0 @@ -ambient[] = {1.0, 1.0, 1.0, 1.0}; -diffuse[] = {1.0, 1.0, 1.0, 1.0}; -forcedDiffuse[] = {0.0, 0.0, 0.0, 0.0}; -emmisive[] = {0.0, 0.0, 0.0, 1.0}; -specular[] = {0.0, 0.0, 0.0, 0.0}; -specularPower = 0.0; -PixelShaderID = "Super"; -VertexShaderID = "Super"; -class Stage1 { - texture = "z\ace\addons\spottingscope\data\spot_scope_nohq.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage2 { - texture = "z\ace\addons\apl\data\metal4_weapons_vehicles_int_512_dt.paa"; - uvSource = "tex"; - class uvTransform { - aside[] = {6.0, 0.0, 0.0}; - up[] = {0.0, 6.0, 0.0}; - dir[] = {0.0, 0.0, 0.0}; - pos[] = {0.0, 0.0, 0.0}; - }; -}; -class Stage3 { - texture = "#(argb,8,8,3)color(0,0,0,0)"; - uvSource = "tex"; - class uvTransform { - aside[] = {1,0,0}; - up[] = {0,1,0}; - dir[] = {0,0,0}; - pos[] = {0,0,0}; - }; -}; -class Stage4 { - texture = "#(argb,8,8,3)color(0,1,1,1)"; - uvSource = "tex"; - class uvTransform { - aside[] = {1.0, 0.0, 0.0}; - up[] = {0.0, 1.0, 0.0}; - dir[] = {0.0, 0.0, 0.0}; - pos[] = {0.0, 0.0, 0.0}; - }; -}; -class Stage5 { - texture = "z\ace\addons\spottingscope\data\spot_scope_smdi.paa"; - uvSource="tex"; - class uvTransform { - aside[]={1,0,0}; - up[]={0,1,0}; - dir[]={0,0,0}; - pos[]={0,0,0}; - }; -}; -class Stage6 { - texture = "#(ai,32,128,1)fresnel(1.58,0.01)"; - uvSource = "tex"; - class uvTransform { - aside[] = {1.0, 0.0, 0.0}; - up[] = {0.0, 1.0, 0.0}; - dir[] = {0.0, 0.0, 0.0}; - pos[] = {0.0, 0.0, 0.0}; - }; -}; - -class Stage7 { - texture = "a3\data_f\env_land_co.paa"; - uvSource = "tex"; - class uvTransform { - aside[] = {1.0, 0.0, 0.0}; - up[] = {0.0, 1.0, 0.0}; - dir[] = {0.0, 0.0, 0.0}; - pos[] = {0.0, 0.0, 0.0}; - }; -}; diff --git a/addons/spottingscope/data/spottingscope.p3d b/addons/spottingscope/data/spottingscope.p3d deleted file mode 100644 index fba9d66b913cf18b1cfef9b7e191808ce19c91d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1585552 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 z zGv@Fv?1M1Gr4Oq!koG%RJ>;kMtG9bI@O-vKTI+yMEPflHbAFLQrEolF0=X8nb|jAqz7IFG%9Urk&T zdkRIc_YsrEi46zF9)!Riz(4+&pV2--8SEYG0$vO32RsIt_SWwLN0>Ih1IH(3;IxnM z3HuA1f%5`C0v-cQ`wo%VQl=1pCb^rijRzFWt49=RK)z^UVX!weklJd-#V>V>p16-&@FMO# zS_kUCB0si39e1>)Q(Je?R=WE(Toe9tpg!q&2mhH+pZuqUzgKzJX&m-%q0x1~JP)!t z4(+d6w)7yMQPBG!?>Z~lyn{_a_#r*j@V5&5ke+h*I}q)W&0VyAZTRwSqz!(=Se=5+ zC}X38E+f3lN3zXguDj+S1j*24fi^DkJ;UDM`YaT9ZVTS8A#aAVWHJ+veR*D~iP#hMg6wD?NTkX1f> zS@X&~;NV-M0`Oq`?PlUm`1@f;70*t{UkaODNcDhe40i+9H?i@{TVpct%U|B=mrQ&C znC!YEe_`{=;-1CpQ_53TAb0$QY zKmQ3|GUrbf#GMq3GX(~XF@vt8VBPFboG;Lmg0bF<{>S+OBPkeX3WT1%sFy@6=BR1^ zuNY?vgbmIYu%uw>8=S+k;=Gj@D@Xj3k}omNWLYPe`8a!J{Q($fvUcE1mcTfxwF76h zgbmJ5?ZBBVE6!vwoW0tCvsYG}!x9*0vIHg@oYfLGgmDhbj&b%%V4Tm|p<-!6`f(=9 ziZfY4Kh9oRaSn^&Ox6yZ$r2c6wRYgFmfZ&Du&g+fCG3-eaSqFhGg-p^TNvlCtT>Y; zZ2k@7OctGgVK|ee(Rmr1y<#|frQu8#otI%alcnLT7Q}C&T3h4CX3Ehah%DrW1PJb z80V@u&Scp!&T0{+Gh7^JvaC3JWsnWdURiNIOXTBBmL21)mKA5RIL>5ooXN7{>=nn^ zD~_{QR-DP=IFrS3Cd-PmTKM;bnsc1hvf@k@$C)gSGg(%gz2Z1~#c}q^it||lZAh0ITOQ~EDdL` zIL=-%oW0U;CX3@t7Q>k=4QI7D&T287)uK7ZaVCr5OqPbTS9Bhb;p~-$Gg%yGvKY=} zX*jDz=K&ecYT*?reg64-k(y86$!xYsvsdf>|BdDIn@!)B-@O#gwrd(0s=bP#({7Wz z*w&}#%=H4#=3K=}3|xK>rF|Y1QysE9YkRi0W7+o~_s5F;DzYIg?a_{|V(cM_y0n+1 zV)9FMVarrZdA84&eRtG+mY`<@6+^e^V`!(nDmx~>aHV54GbL4B$8$rqTuGmu?n_)xLz|0cx_+xwrew5f}9` z$uHT%H&gND1`}~z(I<+jn0!$#-5XR)bDi?d>&uSGFXfZ1ioeyz(&o4=UQw4Y-n9t~ z{anRT1L|=VQ=7I=6kldu<27KTVrfBr`K|j8oiQf6rSPHRZ}q>lS&8dX#ftwg?*GxI zHrO&1H~Mp)z5i7_-@M)t3sW)ti~ga%Dki_Ce$r#d-|Bz7QxG=v?nT9lPwFe#7N_s1 zf9Us*)CS&P ziQhs>tlFse92L{Jl0ALTR`Iv`dxU8piFu)7yo(op=>DVP@#g(!IOd&-PrEm@&wmx? zH|Kv4>{YD(en!R6EXED`brs8g$|w5Cw#E}CzZ7pS^qGp)Ij`bGbN2V%Ujm6WW-H$)D}>WnYtD z%BOexDwcB|zL|>2FWFmAPsOsI=8Ar@wLw_gkQNowx=wyD_v!h>j>#|O!@c*fe|4Ne_=YNmkzm8Sta6FGA$K`)LYva)OOrCAo`8E>&KKFC~ZqrIz zzJ>7{3Hzt+L`t5Q9enn znWHt!1nh!DQi(fCN6~-L@c$&$Q5yAFY9x|6cX1Qu3XIdRLMm}b=_pDrsgBa9N7Eva z)U(Cvv&_Khkf>LQJ4#1Ua!GZRMuVLmiKJH9P=jRwruj)yi91S1QF2LjltzP3^O2;k zudK1Gz%=M2mAIpH6eX8bM`<)KX^=^(7FUI31E!uNsl*+nqbRwgI!dE?NqO| zlpIp!qN+-xC7}q?VW02Wl56$9l8U0QKFKfvNGjb!iy}oAYtODusV{Ev#lT<9X~P!e z3=j)xaqw+N16lg|wZvrv`o$+1q|)Hh?Ol~d_f$6|&+#qU_;!uO<4FndVU2@W*?jCD zr6-eAM`?76FNw6IPcxRkY=C&^D+PXSVIXVw(B~`ZC`yjGO1R%=X39 z7mw0qz|XH~$L0<2_)0p8l1r+iG+LR;A|;$`#NPYXV)Ou54k^X^*3AE7rLUx;D7mCM zepjNEsXP)bq-8gZV6>7|K%#|~IH33tPv-Adv`FIT>OxxTgy*{Bn(z2bK#OiAB$68O z__=sBkW7~qHT@mZ!+~wts5x%T@tFWcPU@OZy<8b-^o%aTp30L+s^i=wS?);RhgWCQ zO1RNKn&jkx6ji^G;Er<_Mad<#FPid1qF&YK6k(3N?AVJpVC#iMy-N0g$t9JZnyOIK z=*8g8Z}on_-bmD|7dJiCZvx}Iis)71^wi~Ra;j$vBblK1kZz`YmXKmJ5b()Jb zstpR^-=a!)N~gI>6S7hHs;tRRN5p`Ge(^~LskE@tT&zkB=c~XTCocR-s$(cLSF0hV zEM1XJ89668=PC_&btHLnqPbZENnU0ottJxPtmrZ#>9tHwH#5NGn5)#QbV=1l8e1=j zweX*;(|TVAX}(Vf7U3GE(;{0J=}Gw@w)#vhov!|RNV&$gW7of5lAOKj*tDZGTL0@K zwQSsuwYgJVryExTq>vV^m}lm7$tl&bX-8@Fe9#anJaa3SF(Q*r_uNKEqk@{U84Wfi zr&PzL9i`EuNdVHNY)#p*>n=Ji7mbk~1~+7nM<;8qIyUVnjUHv1AidAukd1Bcs?(y{ z6e(@dy6jlprODZ=j!ipCqo=55NVOl-VWsDk(CK-hIZ|kiT5NT*Dak3-v1vzX^pw>C z>GzVgSY7A3Iz45zMEcpgCL7+nZ*oedHz}=<_>vHo{<}Fky-8_}^yA!4Y})rxI<5b0 zkXEG%VJ+qi)9Lx3Et31)j=~-=x$diu(h8yJc1Z7AbY)IMI_k9Ownutav^LkJY}Cj-up}>L{%Un(lyfp=KB>GN_vV z0=T2eS6A}z1lw49BrO`{F zPDuGG4`StSbkym2q%+c@;K8gwzE)pJM^SP~b(B^dO?N>W{BQ`nxg<)j3fvXRZ_qFn zxMGW!?CsJ_g{w%G}PkIgDUPw)s_h-YSkLdJl+Z!oY!@;a#UQSavxuiNuqqlycNb5Yq z*v0n;b$YDsgEY(|jCHzt;w$MWN-n96(&#N<7*fZOo~+4-M4g`a!;x;r_h5NKj(jB@ zMad=AQ5wCVq;IiN^}DhO);&6XL!fs9neudDuUA^Xl8&O}lIkd}ESmlvDd&t%?9%fe zb^7wsAF1o7V3uvkhOeZfD7mCMN-Kb-)yEgd#}h~C$tYDy>6xM!yYR~%&4RY+N$Se1 z0_+sqtI=1!2&AAj`B{;L9d!CiH~?v}r6{v3?3kQ)07q%^Norc5-0Z@cIE}sn4n&G{ z&&2}U1?i5`QIuR0z)_lfk}9_3r-QJJ4#PRsgBaBqHTJTN*wc2U+2C_qwoB~ zkzN&gspq*8s5?qWQF2WH`8c8v`$fMHyh4*}zUz1KdX|j~H2StW0x4n0Uj6mvRyuvL z9*Hz=;V=5?j_s54W+kO{SnAF0e4MGtH9w=~&IYGkp|ympNTj`^+}VZe&2=f=(!hs} zjct&eQXQqqH9!1Zc{ZW%CXH6ED5QYhyFYL|@|&F=^;6Ojhyd!v6`zD0MGo{Ul*rO|u;Nl4X3-_zX= z2I;}TlaZRPd8mgT+NwKBM^SR!0UV{#mc$gKtua^hz>&c^y#<_#w5s4$ebM8|Ur9$% za!GZRMq3oqkovDUt+(maL8rHZ(~;I#f7KUcnf#S>6eX8bM`?}^d7U9;22!1YKkK(* zCVnM78KpW(lMi|F`LqkP%tY!`F;0IQ`-AQ%JsG7+Y4Z8g@ga}C5zIm|+&x&yl;dr8z$2b%V^=NX08xV5fUc&>f|tD7ogUqcq2dyzY=P2dPQ_lFY5r zWZhAEGD>xn=J-(P_|WGlJsG7sKGZorIrW5=xkwL>L|_e$*B*dEJYgDAO(ww+O9iF zPe!SZ(j1?h!k}dtlAr$@{d(FM-BEfnO6`xfqW?eU?mEbd<9i!8?ry;?C@&!S8TPv&*D^mQ_;ao ztpOluy-@l$Y;`^*ce<`QWq1j=0Nd;MDV=kdsyLF4x3s8|)*Gc4VmtRoB4+(&Y017y%<~OKk#2-=BegLI^NQvN*Zsj zFTvKeOblns`!j}@fJ?E(oF3gdV5&Kij<>X^lGYEUmthN!8rexO;*8-X;Bssy?|(7_ zpH+1v9dBt-C9OY7ufW!M>>G2o^J&9N!j;%EEq-ZwI#nG>$6H!dNgIIDtFXOF^u$#A zS}EHyWBM^^H*^s9dBt-C2b%|ufet?^rlHU;JD${>soB{%tbR`M9b3BK0#1V=?-N~dg+&W@zxEv*3{X>yS_4U}EjDwIp&w7J#Uk#t3>q{&4d?+NV27BD@o zv!HwzN75Ckk|q~<(_z_z?bBb;oZwPj97$KCN}62c&46VuwybMDnC}mEb|hVqDrs_& zHxrh9*s@K0W=6c~e0OQr(EQP!g2&#w8JHxUsAPjJbGZd(oWNWrkZO2Nt25_ z-da0~?QpxoPPGrMoKU>>rz2{u0VGW>@_5(p7`CX-@;IZGwsj<3kt%6&Q79LElCDUV z6uHP-0LyV~y;cS|xu*_re#7e%*xH65VRFCGZ zKSNR5f04Hu`7*YNB?FyikGeV@J=gd$PM>_8HP--=CKq{Yz`TO(@y;SnhXXwvNyl4S zYXC`;i@dd}>)+nuJ3owoty%{siki7mWW6SqBHY7GEM<09`Cwv#a$IgzfXG#l{xHnz^y z8agHRrH??zTUt~}<09`4w*1NKIf;sW@NLBFyV%OEuIoHL9z6mbZ)s5_jf=c{*ou~} z>5OUfz_$sn@7sJo#k&Y}yro5zG%oTUV5`=ls?)a62VXc|Kg5>vL{%sBSac)lcuR{a zXXZ+LBW(!_F#WpHK zdFOG4@)78GON%OLT;x5&mM&^p=WYJ3W-DGl$F?p`IcGhxq~k3us-$s|_X1miJms9O z;SNMvIC^zQh6xeqcuR{aXc;KAnQeIeH@4Ckt9_4zMxf&@Evlq( zk@pH)XUqW0Gp;dz;Pq>4RWJjTsJJ2m9dBt-C5?-`H`wZ7UJX05!EDFtw>Cdt9FdN< zw5XECMczNyO5<$BUfqG$@36JR*^0d?>3B%SpLD#FvK=d3>T=_|mBPLAjBmAcx$_ioa^x7R2UC-@YhmT%Se-<#3|> zPTSlQeR+|iA=eMg=UlHnG)U4FsglO^X>`z5*DvfW_Ko!ALymzwqD3Jm(#XO=lCDUV zG%oUDf;Jg{F23Vz4_|)dSjc~jDdr5#vnf#06{#LA<)AyJ#@$iw`ZP9Z?-D#UZ)Z*N z6@VoU@}=LNnSh5QgFO1Un)ghk_N6t)D%YR>G_FtMg7$XdYcu`vbYDT_c*xP;zcB$t z!-6CoZ)+V^lEy_|e9&^1`PU>mJI_}LIRSEk+>xBnggb*IU6CqjT%RTc?d7wmPS@`j z`U)c_LY~qfnlrS|*&s<*q)Hmsr-?yZRXUav+H;Ao2yznS^5bGTJ38JCl5|C?q;Y+k z6ts#{;yJ5xEcX>fPKJE__jpdgqvt`Au1J+Mu1}ML*6Vg6XHw455cI+lks~K+AqHoipj~VqZz*w8%q7q;mqkz8xg#id0GCA}<|i zU2yHP3|N+0|Afe9^~%IrnXj{JS9D<{Z!o--0p_ zoA-rgrSY1FmiL8cc&R~+iZW%ewZT?o`$Mz3+B~16m&SXNhJX4$KT2a&e!y}7lmn_g zHt)OHYUA}_Y|7ug#$J^aNiB;u9k5M4dD0{*66V9p2tP`_N?J}FMyEr^n4w2@1no!8 zWpkuzseDw&3Qddq@6D`FRu5YbY4r#bIUOttNCoMQKq^ngPh;e z5@o1lvLF{gCY|jOH4dw2D02{7L6olFvxie@La@nzTnO3wV)OLKg^|7QWKV}&1ljvK zc|pmi;p`ZE!t_Nhf$aUwbsyxC z$ljlepG7W(ob~&-&f{$-G{>qeEor?$3k1#kBm6&+gOI0pOyr~(rAn2hC9M}|KG3|c zHaLT9kcUr9?%eKhT(ehYX-Vq|8vnac?+YVNBbP?*y*RaVrrA+Vsw^#OJwPi1n)h87 zr;y7cH!cw1ygUBi|IDOxw&KxT4yC<62EBn?9{JADtWK>g`;DYYI+|H1Ch_uOL@LE>P{5S=?c- zCRLV}v_YVK1Df~M2A7emBj@jQ-i-M3fF@OzmNZ^heG8iRg%OvKYaow`e9Kfnepr(# zOH0}S&}xF_eGSJ&sWiWNAt34_a-|ye~JofLsT;K&!VVNhj44t1K;P z{XqK;H18{8&Lh`FuCX+-6A+@hT#=s)t_s?!takX!5T{9%gbZ z-$eWRXumS?Ni%otQq9APx6_JX^Zt`l(u-pA{u5Kuz6XuDLEEn!-fnAv%=XNPTD{s4 zrDkLEz6MTyz;fx$djd1DdEan{ms-?LC^ZM0_cd^G>`J=aH6?0P)R9-Dk}7wFH2I^j zUL}}wN>oXcR|Q`%^*XxD z|1wX~Wsfo|^eS&!-of?*KJao;bK;)WbaMmQ|Kj>OvOisZ3V2(C%6V1Z`Qu+&GzR@x zmn=@u$mJ341d=9y6nd3ZN#k!@g0XquxLhBvf5hhhe_0^@pC1J(2S9ghP0)+{&!eB$ zxo$Whnj-T*i)Q8rUIH64|4;UAcwHQu_kXtIrN#gtRj!oeN=n`-aNiE`ydwh~pAmNdD3 zmFrtYs_a#HnI|s;Wv?qz+=6d`Gz8C1GmdIVs{pRLJ$gOOS6s>a5d*s%(J+or3 zzC^7yC|z<^m`i(%+}37NNNwjw<*u~1nY)Ilby)p{QXNow@5Ci8^$BuEn@N>)xoe8l zzfr3bXanQpfByhYQsu7j9MBo<1In*;cTJHR9c8;=Isipy=_*eenRO!C><6u-KECF>%KOV zD(Q096nj-t`DbALusu&T*`>dRr9X1p`xD&(B6mfR`Y&n?03|EF{$-P!H6=g1>$CYAJ&$lMiX?%F7um8tw=yV2M#=j`NCqvG`#n@J=6CuHslGk0yQ z&B|2L#`)1mA8#`$??C$*d2Gp!?yf|^>j^fKj<>Z2083BwD^1!Yn@Rl#c`|Z|${k#4 zWW1hYvoe*XfAK3#TCmNezD1sje7Amkml_GLr`fDbW$6&V(xgqdnN&_*GmwMZwsWbR z+-BOWNabbV9&EEv`rL1Qow{YWyMGrj8#&>V0Z#8-%iKqA=O9N)Kgij#E%_?u5oU=?H=fKR(M()aPyf5iWR{?Rs3dQ!MML*}v(}^Z2UeCui zEORfXO8M{zbh&GgYs~=1QR-LFrZ&e{zztXzfhu?97~21a_QBuwaXJ^9;0_3-UQL3s z3$WEF)yuhkZlXzq*9);ZCA&K*n=ChSSH2+XQS@3EsNQ4ZN01jG*E-Y9`4DMAgk8bg z8UuhcfTSe`YcaMRWxG3P=Fc*cN}Bvp8UXRYT7u2{z_Y`#lwABR;KdL7O*Z6Z$W3GP zaAK9%V-6!PNA|`x*$PzlYC@D1_Z z)cCmD$X+K~i7IKiP^kvAjv zecI2tJ$tB;yP`zpyc!3LE!e!3RTli)R%CBcD5<2$AEn8PE2rPF@el51Pbgrx$jfUp z|4NPY0?6K9t#Q}3+06E2D^a;p`oq$)6wGKOUD7x}wp%LOD^j@#++nGaE+saSE@>Rw zJ1v#%6{%cV?XuMCBcd2dmo!dRyDgRN6{%eG?XlFMKiu_6x}@=xvDZ@BUXjZ6=srs= zv1Y$d(j|>+hW(bx_KH+qpd7H&uF;nGBwfEl_`~Ptqlg>)FGW z%Jzy>UQ8dc)D!jU`6OM^xD-EXscf%EU_mdd}WmUKyze}k<=<%yN0kAdplO_3Kc zU&sXusd9P3vy=at;0sySLp_6h@Vl;VmUOvmXs)$f;l2JpL7SSR zi&JM)Qp4Y=o<**kx0@5NHf035+%-k2q)9q|S8xs+2f&d#DGWdH^T>yG^>C^^_h}6P z9#*onq`g9$3znLvKoOV5p7j4wTCegq(-%Q`AG4pc`0aMzBjiiSYlrlArq4g*yN`Ss zdC%j1PQb=9KHhM@V%rxee@ycf@EE19qV(gG1Dx~bw(kM*HRSn~`@30E<*uN))?xJo zrLKe4_xS*4^`eiyhsZaOH$Cd-BwG7d1iIWcMJk`NxCz?Qctf1D@4hnp727Rr91yV* zzKcMYyQW0tVI`@_z`Sj#i7LmBKqpQ9C>>UOisBBopU!l27FYV@f~lgkFaZc)Rqzw{2`w_d&#pCe_i|p?Qi7l>*Sb!M)PdNU#dSv>0yWaI8Bq?_I*TthP>iKZ#TYK3w9I(@7F)=n_r588$~x)s`X6jT`Pv(1(%)h8=!#TQ z-uqEV{eaD*CdccK*vemh>AT$K8z&uJf5O&!L1)9PNKK2f|6*gWWvyS|r9_JI|0$$K zM)s&FkfR`TSJ+;Wng*q#qBK9y1aq4?q(?*c=%hvWqkV-O1DOMc?G>r1Q933{^DwD) zqK!j(EM$*PT5LaBO5`}mJPg@hiOR_;6-viN={vEDm~TF|b4ZVe?9oY!FKFcX|0vA> zt5Gw7r3BB<=Wy~$Xfr1-PELs|op~kNC$^dGNmim31SJVd-wc>xD!1(9&Z|jn?$o5G zOHYP;{?7%5xd7THw|VHiE}GOrD4hbOt2F-EL>||{;bird&7^VOO^M81Vdk!-vYET4 z*sG+a_M?%W#%9v9Ag4v{xNexcE1bO2*-W}3H7iP|N9lW!JGvB3P8n<_g|q-a8tEBr z=B_AGv!Qe*lzuh4j!Wg_l-XudNza1JU18>~WwlwEnjNLHp>$wzpG)QBl-*|1NY8=H zU18>~<+NFunggYCq4c{GSzRjU+1xghMtUA(?g}$^Ew9bW)SM`t52c^COW;y@3dnCW zX`~lG=B_Yv*9zLKOyw_v3Ze9lXit4C%@b>3n@Js8NKe&>rXftV~S3>5lFmu-`+pN3>2t?^BC|z&BViRe51yc&SD)PeZ ztK3`|xth(-x8^iOkiW6*nH5j0K`31vrE?XZ@6t&B)>23(t%e`1C~{5PUYY7c=~^g# z`Q;3kN_uTeA(gZ`ezao9-`V!cRD;rWQF`^tDK3@tdX_>eY4!bR#gV_a?UktxN;g31 z=IzJ1RMHz-3aO+u@}reN{=v3art&aqjMCm=R2sPn^2w;1TzX05rZ$tt!>pNYuS_kE z(#=u2Z|n)?mpu)fuaR3IZ!R**EDLVnltXT5bAk9RoU+KRkbn4Ryy?BOrPk7#7uT}1 zq?G}!HE2;|k2Ot_v~_8mp!|Q7u2`#p(gu{Ra|XG+SQ)u3@`gH{-CnMU+zxp{#;$HJ zRzhxX+q0KRR-m$1Wob#P09psoa^30mCG=`X+e;jq9IKs>y|K!%+}Y-hEowRJ^)9wO zvr@0}PZ&t+>PO>%=w>OTv)8-Z%nzJnxrc49H~>hMr6r96pr@tA>D|uZVb;r1nH77L zW3#uVlzdvros9Ze3NvYaZH^aQ-XXo8ZO^Po<=E?QOLOdTY!0wAW=>}Qbh&Ga)asxN z1npj(nI=o7c1|tiLC7UzPc?ZPC2?vZ4@Ta8Zj2dGF{$$n@(|>HQG-p6*{TDe21*Y_ z=~?wdP3=dCoodL#Y~FIOty2|wIP#FNF!SrJw$8W6KO)zkvfQ-1l~{8Cuop+5wAYL5 z<&nr?%_0fHDD;kW!)MQ1OKB z2kbv~<=Cu^_7l=e)pzL~6ZCru~hnehA zW~E-`6z_k;ODf0aRM4MBUun+0i63D`P^5kj$}~_`KA&sq*No{jKn`KA9-nKPPKn|) zL7t9WvN3mWRDJO_66KAJ`OP zuD^e8NS}l3(G`1@w7DpqsMjhJyzQfDggg(qYSdNc(DSI_sH(pU5uRR)_ha?brg4OlIQ=UGy|{~mw+-T#&Xl(O-x79 zIhOsYJPenjefY6?=2c$R!%9w0@&lIxLQY=n-Otpkve)Dq;WMoPI9bVgQl4n#iB!(R zioHteGK{^r6`PuIH;TDO{Bq>8%lew0O^doG+7-y>uJ$ph=jV60D=U$!b!lQYo>P5v zp)E?ULg_Tae=(oRL~>doueSNX^!KI(@*3pffs+h#8|1Y%v%O-kwnyo8mKJMo9EbGv zHj_fy20vOm(x}>#4`#;d$ zyGl?T0Q|tWqx6Qbex_dk`0k=_2XcwFqutE0yA%0w;n8M9%Tx}>_Ac9=S&_;QcsELK z9I?P$Tz%CYn|qKqJ)7ZX9!7g@E;919I|J-PZeL@8VOFAYxxx>4KT2Osx5PA9f89N7 z{OOzlB#k`(AEm>JWA6Z{rIW8Rcbhyik}j#7XAh!%@w8#4?dgBCdX*>Eo+y0?rT;E8 z*3_>R$LWTA7&)H#*<6Ve-RX*a1bO=I31;TXm`*R`qxOBaXYVTYY7dk?hSKd;jBzR5 zk&h#jPO7BKT~nkE0PTcdFZD(~iR|@aALLW^ebW0QpSHWA+^e#*r1b^ujHQv<5BX1I z?^96hRgT58?6uP4%=Ig!+z55d+uKLk3;9BF?( z_b|F`Y0Mm}cWfqIkxJTKOKbX|v^#I!vpM9J&*2Pl-_n?Q7(TF>?G>q<(jWTKc$hu1 znTHJzqsNxUO!^a>Nmr!u*6&l4_7-)#c6x@~>UOXxurZ!{ZS@?v@|-bdP{w%f4fhww z-VJv}D%YzoQ9636H6~Ht=Z0&7zmUB(0nhn=BYWq3UVFVl4otV$^nIav&uR!tzeZ{A zDT|@VZ;-v;Tn|QmYcqfSI|%t7E}^P`a--BS3J1$#Y)&HTVQmSfuXiUWXG0kX8DaR9`!R6bR~!z{L?DnDhx zu^Gow_*4aFgt(T%Ojj^- z^8t#z%3e%~(q1pJms25oy-a#)WbY{p?phj~m7lWU2bvb8y{9brfu}?Ep0Z#srbqUA zk-eM&+3RKHUiBZFlR*gp#ak3kLe7ZnE&AlxRisV?B@-y#Qx+pN{Xa%Y~}>rd&)x22#VBTP;!CdJ!LT!IX8RNK4mczIS;b;8<-i$d6B(e zb0|_t%jZX%hMXVSd&*)Kasg!TDGSmIB71a2DrtpK+Iz|(1i3J>_mstKR>}7wtr1CH{X#W|WvXGOL{J`aakdv3v0N}Ni>{Z!oa*gnr)&Qi+ zc~YKe<%v|z!-~C1s)MoTJ!QcGP#W2L%7O!=46^r>1$U(^@@II;;y08ohtl3t7NN-H zZRS%IbCJJB_MWo%6}f`VpLCzHScuXUEsal2kY34VQb?=pM_Yhg#b)KFEO?@GF1FnbC-cuGF zoAr^sr!06FeQz_Ls^DSP0QoaKWx)@)Axe8sSxEZ-qVYrb|53VN;n-^gs`nceNtaa4 zvp=A{_Zt_Im8h#wx-m+7PgyKSZi4JRWw8voDYEx`z-r`X_I>5&0al`PbCmXezrO;x z1+w>)g`~?}Q|#4^ptbbtr8UT{kiA}9i`?42&qo(FAh)r*qTH*pw4|*At*xbzx*oY5 zviB({_A19>d-j@r%7Pzw2b=k50_h!*y{9bL>z!;?e#(Nh&VDqG)h;&k(FFEtS4(3i zy_?O-Pg#)G-H*n@tcT5fG=U#@PfKGay_e0(Pg#)G+mFU0ypPR%s)A#=uca}Q-p^*` zrz}Y8Z)tpLg7fA8oB3!0XNZB8#!UJko0XrkAZ@T8jfdF~n|avqFdAxU%%l&qS@|go z-ufMm(%zzu*G@kodrw(RK^}qZJ!Qe0oFkFF8}5pe71yhyP}+OSf@^}&$ljWO=ln6q z-Z`JwUOyp!hNmpfqV!ml-tyZb6P#i=1=6G zk!J=kHRX$iYd#bzOH0~8&?bO3Y3@=pso*tp26-ZKrjIMl^WtkYsj{@B9Rh6x@S%y|APE=o6ROcUe#Wer6uhM zXu+U4JvW>6Y3`Vl$WxI|oZ4oRWl|lhvb3Zf1#KE=`z~)YP19X7Cy+ysD<0Tkf)ef2 z900Pkq#XloI%tcI?l1{*o;AmjXCNm$v(qe{by$sWutau8Lw9TN*1*KBTx-OM7!aSQvlXOL@q-_B$6tw1V>$_CW z2=i?wRnirylC~AJUqKsizM)IyjPRSyq)NIXRnmS3Z2@Rg!yCI)&Ik)_CRNfEsgkx0 zv@p=NPjBW@IU_8xnN&$vq)OT!pe+XNLf@7ym6O#Hn@N>)MXIE22W=^6f7Nf}QaO(< zvzb&$SENeX4$zi^7QbYBm&#Mb3Y$rlbVaJ9?F4NlXxUPAa;ZG=uCkd_Nmryw+Ah#m zgI4;VE-sbJnKd?(D(Q+;N!tzDTF@F?=4m3L`-KwA&mflU?N z%%%4Rn@RQPY|pGnm9)K}Z3OK`NEMgL3z|(flP2kkR7u+hS~zI$`+Vb4d6~G`W>O_x zkt%6&Q79LElCDTShhE!)UK@R-hqL2q_Mr2~TagFv@9O3o$iLfMy8my!>&V+|duBzd zq+I~z4^T#~>Eu#xB5${uG)Y&aO4>!xc7Qf;R(qFv3wfu_q)NIXRnjhjwhOc$N49aP zw~=?-Osb?SQYGy&XnR2G-=(EXy@R~hW>O_xkt%6dK-&k}u)Vs+0Z6;OH6{(VT z6|@7O{Zy{8OTCAD&}LF4U6Cqj*FZZ2+R(fWUFv=0!#0yD>55cRj)1Z(MoH)T!_B_O z$VY9CRD68kBjjVqo4ZtYm^rT=x0&q~sSi>5gddH)deUZ6c#1gXM|*&L+Gf%fsqDow zC|$E~4Tm4F{J`aa;I92?+w<(ENR=l_e&A<8sk48uOJ^^hvzat`B37jGFgXuOrNt$k zp@W{dz3M-9<=Etj^#a;YJ6XwXuSn(Oa}lM_b`ErghQ>3JE@?cmUPAkxu`9am6{(!k zFQasmY{uzZA&rrAN#lw23ff<)S>A20L`6mSzlpty7dHdTIC**n7)k$MH1hm^lpY9? zlM_z~*Fg8iE*FW{k-f1gCohtfsFKDL?G4bpvCBo`O=NFuO1dId(ztxN1)4W@xk$W? z?2S!HSE54T{&(B{G%gD7;02p@%Q|o+95vuCc$cDNym5 z?+NmK{A@7))$Lv@U zkuGV7;1ns@e zq)ECWRnjJw;v<|TEhi9!9>W>O_xk?PUPmKYbr z51f-#B>WvtzweH?ISHtdZ6?*DvpusSRnj!B?UFA&7?`XB305jSw#cw z*NWL)YBErx+f1sYD^ewm^K1;zp8Q$Sr6vb8rp=^Ex*}E5IK{^TEnUmDE;R+Hv27+* z(iN$a#uH~8(BkzQ;ZnZ>HLlI1O1dId(zqOn2ip7X!7eo=sPSzkRnirylEy_|0?^*Z zSm;tyftt`}QYBrHDrsCgCj#x&Hyd1PYETo~Osb?SQYDQSBuPMf8NAn}rU5mn&7?}Y zB306OnU@T-EtmduscAt?ZZoNpu1J+MxhRy2K1o-kl9B?w=3NGIk@pp{cLkdsIVEz% zXthnGHoJW3kW(S2x?9J+_EMxu8W(w~LGkVjWI#@XynOjL=K7YKK1o-kN*Wh=X+iUD zNdzFLL+-fhYjfh;w?0W%q)HkWdFes(?xti!&R}!fEC2c=U6CqjT;v6S=G_R&gq#sM z$;CpZukWo-(iN$a#zkHx(7YQ#nUOOiZ@8Ar)R=M8C+Uh*N#i0f3uxYrpe)E)kzH9?UQsxs-$s|mj^WOMoCb4Kz>x*}E5xX3F6 zns>i7H*#U*pVoh43UtfulXOL@q;Zi~1T^n1b{^!S$bDngHrMlX^hvrRRnp|5P%io; zU6D#kG4xuR^ACNm2YxhM z)PF$>w3#$XSENcB7kNRTJ^p^9OO1r=vzb&$SENcB7kLJ>UKba*)X2z=&F%*-=!#TH z<07v#Xz?2U;!>j^m$8}D2y|GLej6xhT;!DnZS|#LE;TB0Ih#q9bj4nkG%oVWgZ6WH zQd=m2^d_q;Zi~0kkcfeJ(XRaz&d-m2^d_q;Zi~3A89%Q@hj{$dzp-Rniry zlEy_|70`0@eHO%1LQLeUHj^spid0GCBCi@~;r*Am)L6*h*i5RVD^ewmi@fTfO?p?s zrN&17)@D*AU6Jb1PPb2K_RZbVaHUy;c{!b}PkSzVMGP zjX|!5+@CgXvcpX;8F`Cx3HO1NmrywT6xe~f;O#99hX`Jxs}bNO1dId(!K_*HE6$7 z&FfN&BDb-bR7qE)N?HZb+JZJQe+-ve47r`nq)NIXRnjVg)*iGUv;PsqQ$lg%4mOi2 z>55cIs{~p{(2ieg;!;Z>ce0sONmrywT4m5WgSP+1s6h5=N#rgzlPc+oRFAfAQGg+> z3TRzHJ9RyUn@b^gvzb(n&i2fTR7tA}T6fT9r;6`V1Ce{!Oq!%CQYEb#Xgxt&Tq~+e z4MOf^GpUlUNR>3XD3psnNmr!u#M&FZ7WY{u6R@I%k86TH$SJM`n6|#zJ}zhaBLDF= zlX*USpN}iCe#mbgbbJ=A>Io+sA+D4qFy4znXXjZe}gjqBS1XdmrxK{KXgWX;2h zC)R-|{c>GFGc@bDAW4@r4v;};-=b`gN!BL1CY57#FiJ1oRKWyfi)?tJ9fCYCXOOv` zZbOjVl`n|O8DS`>{eJn@lrH(u#}n@`zNYgXZd*I9f_Q=$9Jabi{=sNiqy8Ci~^-? zuj)?kk)KRGVUXJ2?i#!JTOq_ZSb5rD>Y-W2!YJHR*YiY-7zA=(6X*JM(oTak8 zBDEb#kGIrl>7N@(m$YVR|FfmCy(0B{l%8Ozr5@flk}hdA(SD+(vb`d;JxWiq)F~Tp z7)h73=4e0JQrTXS+5n}eSn9sv7mcJ#S}nBy#ZuW`k=g;JgDv$#_0vYuC9MV8PqkFG zSEM#X>1mc)C(RKf>5^6(?L#b;?G>plQF^*9y(@8Arz7$VOK0}qmBq_4IQ~>-MXIDp zdL7Vb+FiNYC#BN}d6wN3W<}}`C_UR!-d;)Ov_hU^Da?{4>55cIlk{&upKEs|OZmjk zcgXYXt}rW78>4inr8rCDJFSuDTMDzJNxC9c(j>h)=)c-sX^<$6Qy2L+yDQ9!)HW!+ zz?L4>JBHH)d7-5-%axT}d3{Ez>^0e|a#s|oT;zqJ7o%n$XNFe1Y}kv7katWQZR%dU zXh>U(d^5%f)1caAL;4cr`ca0N$1SgGo&vbYTZ+<`^Gq<&8eKP%E@>Rg%g}!L$3bT0 zh`X9pF7lS6bnilw%+0=cjigH&XMh!GUux<=v-I~TnpDoCD^a>-l)+}pUw<1e`c@(5 zeK5(qT=m4rUHO8jJR7YB^=OP?W=o>?hKs;8$bT1^WS-uOxGRc>m85YEuokof@kW@m zS^qU$1g=A_S#W|`9Wx?bk;;|QdQjrb8Evvuj^uFBw*h&7o^hsZKt!tC6-8=)&^Ce= za%+RH`SxdKJn|-+NBncx3_%V@&Qv$GkGT`_W}DewkvbHmx1e;d$j^dE>5RP9W>O?g z(iN%0K>HoEu)0fJY8T{fHj^spa@Q28!$JE4v{dygy40@7+ifOQ(&erxQhx+(2WZLT zb`9hJ=!U%0W>O_x?wTTX1ZcZJdzPk)A+K|NcPvreJlPc+Q*A%IvK|282ckk=C)LzI3Z6;OH z<*q4Ge+KOkXeZ_bxYPm2hixWR(&erxQYV0R1hi=PzjCPqk&oI;s-(+ZQ>0D=?HFhS z3MF)@gOHEgOsb^IT~nk^0__B7F9*hOse_SE+DxjX%Ux5XN}8mP0sR!{rzX62mn*%I zPut90QKbHa(q~Y*LY9Xvr4RC-Hj^T0lCDS{3))%GiflgbQu`vGvzb&$m%FA&9S7QZ z&{|jD?^63AU$B`}Nte5(NR>-zxzv_)xoe74p3^U)7hg6VV77c4$Ki7167t((gUtM- zF&wU>F5CC}o{Q{o5qJf;YoFfcz);m^S9ngpYD@oqH@+k3lE$U=HMCD&s*4%AUiDXO zJf~l`rLR{@vxiT63Soma4Lka=R|fKjCKI{z(7bNRu;N>U`XGur=SsmcR@cTe7-G*?zU;w4?ux}g1g zyKBma74J!XKxr=eI2lR0r15s!N4smvlT|QEe?sZLu_u^c_B3#&BL9oLxyUH9EVzO5 z3v#6B|K$SlTR2mYBP0Lt&v?^&XG^WIiZ1|-Buh)$WYD637B%)*(PG%%ml=IbLvi zhxFvOJ+mT}V=sj*&9TR^`IV(Hb29U%%Ux5X&IKhUX!q*OG+8pWbAClmgmF{)YCs(f(t{%8eAtx+x#pR@-4kl| zD#v1el+KxLlL``W=UgZ?;f5b~F$7Vs$pGIG4&b^5r zVMb7-E&-(wC@Y`OHT7%8be19)X0INfYno1p;;ce0f?VW6h`GEqin9{AD01}oA?D?P zm|6pXW0kaGezaxC#gV71m}{1Yy*I0oOCTTE6k@Kwe{V=HiR{r8dzG|OD4nR+Digfz zqgjp|h+H-5DsyOjRA&ux5OPCjgE0Zo9MXNr8P{wugKw+;We{n`kG2BYL0&X@r8!tC zma`VQG;;XS^~M~F<eAhuR$3UW4USYCZ;3l9LxSx9)=arKK$4`^D3|EVI?Og`GLy; zAtx{P?q}*%*=ur*@R`;CoUG(LDNnTWL@MWD#a<<~BF0|aicQV98^zosz7q1;WqnQ0 zrbXQoZDr(hSNoXM^Yc60l`6>9x->Bx&*jrR1%#t?Rg_LM{1@}7OeALmay6R|On-0I zA%BBBJaCd>-h^D;X0})C)h#Ift)<1<8^?TVf{?K{_)*KUnAra zZAZJAWA_K-$Aw3m5iL_W9NUd;duBx{Kj0=Py>Y|>b8+=mcWgFA-t=sSn|T;Dv$@E~ z*X|6^9Jzgs1%_FP%H;|_;1(!-HQf@^VEuLXu<@sJ29PxJ{C|`VD~`REpq5U)%G_=8 z$Vj@Ra-MC4_QlhNnYO3@(dt#6SoffGYn1-G&{$KyRvc$1avS7$=4W#yPIPAna$Dr- zyC;~LD`Pr)k=xn#*`B?t)T_Hux;;v_TQSC^>_YBOtgg$lj-**sC0i-PvoU$C>L_O1U3+51VtG zFYb`u6Zv4NfrgpA-pgjTSEO<*_V%N3toE_F>!~6Rd$q5nF_YfUX3`a@r1kfs@h}@; zbNG>h?gu{5(wIpfWHafCRMH0f(RhRpu{qNIeC}a1)Y6zaR)^V4x+0ad;g;6)L1}m1 z{L$u+TRw*~#0X1c=3zL}X0}(Pa!McNN8@2O+GZX$JdDOz8Z+rX*-W}3mA8J!qO`ZD ziIsv7lr&?nY^?h!*CYXrq ztqFL}pM>n4^Lgzx896ZBV$=79>OHGRC_M$G7bXca!SNfK%gDbVSKd0`od3C=xq=*w ze5A!3_x*>+Q;`qtSYk>?Yo)ndk)n`OMp$AqsgkZpm9!I}Ed^~|+zBp~Gr}^P zNtJX(s-&F+Z8>PkZ~o*`IU}sFnN&$vq)OT;&{l$0H+-Z^<&3b(W>O_xkt%7YL0b*l z<_W`GDkrNoHj^spid0EE1KL{9{yNy-rE(r!XEUjiu1NK0v;N)g(*6W(J!qf)-0EhY zA~x7esz+ygW<{!`ods55cIy9nAJpdE~k z4;#J83!3dVlPc+oR7tx8+78fiU;fpl@-lI!&7?}YB307lqL5dx{);|ISEBOQ7EeLh zgTpv((tlT|pQ%@6FFph9fbHd!MTbNf zyOPPQG*%^zi^7Ap7iZ^b^(9eXf_4bBWxnz55ze#MVdQqTr@EOZ-XqBU`UJZ(!e{JN zN#)t=sHO3Um-H`)`WL9jK>c~zICn;n^v_6@G@fXWgBlWLihIO=!Bn1TPmo$~f;sz7 zh>`R!s8=6@dJNB-~&H{51jKT&-wC{@CBW%BvsOQ@%<-uh4U=e1fOvL zNUEgqmd069G0)yE+3<5xpM!D^6wafiCk-@`{smJdjrX+9+g(|`qu!U)tCGe$g%?2O zJo}jkfLvP30r3S>B~4xxe5M(I58A!P2YeA9@Uj>;d=)daaNZzaLVoz@f}7dvmu;^5 zu${weu`9McGwBLvE022Bk4nllKMK!g*O5DByze9J74i+6xoe74mcHp%nzUPfG%jau zBj*cx=2HJgzGJg8l~)0GQTkck*DmEf@;#eLA?>~&jr0dLD-QtD9{SNpe`GT$ToXJ- zUfu1ZyDRUIpV+M2t1SK0uQX}T{AfITJx4BCA&MdWALJJ{D^pqerC({%{_>-7p8Xs7 z%IWAX^)2!%o0X|7{TiinoIK@DPNcoDnZ3x#>Mb%SFJ?|=|JbZdjf*>%?@+qwk=MSo zVJdTiTXnMzt5Kia>@agi6T z9_~^Tf)>wa(nybQ+bdH^OW;R~1WH2W8{q?8Y9i!BHj_qrV%uJsN?H<>PMvCjON)%0 z6gkDtd2UXOoXlp@NKbCtD^p2J;YW*t{1x(vuV=Z`B*-akCXMt|w!JcywA6mIsK{xM zi>ICDQj;R5wV5>1)7kdQRMOJ>(KvZ!K=vjtPEG+flSX<*+g_PUN+v%FC!@^BoL5On zj-18j#&h?XWXM@`W13cn@N>) zMXIE6GRg%S=T%ZuBImZ5R7qE)dNj_fq;WFJ0~+U5=2XaeZ6?*DvpusSRnj;a|Cq$^S-jgwIU&^WJ>ng+R`&7?}YB307l=8k?Ukvd89y2)BL|uDDyh7dDs3}qq?fVnm8qnaMQLxImV=OzREC{LjKNXwpW~2gHXCIO6Mv*-=!8su4gl8q}NC0t}t`gzPDMK>O<)U zD1G_m43}CAxuMOZk=_WIyTZ&}`@v>qszK?-D7|{+6qi~YxrxoBk=_)UyTZ&}Yi6@D z)j{dzDBZmMIG0)ixrNQ7k=_!SyTZ&}Yh|-Cm4``dl;&Z>(magX*i2eU_((O??o|Dqo=-)z40CET9u4fjyIRkP>10CgguJHZ^dM%% z8Gxlb`;{iGiytjLa#!R#W$*Z=^eO9PM(&0jE8*clW<@F~-Tf%(kb5AP$p6%Lxy?6D za^#-KcZnAF{VAioKc!rTe2a$6|uH z&77~02atxb$V~b`WPaeJbJqqTb3iaFQd6V!V3g)zRP96?CnfR_!e|Pg$|Jcr@{^&>Lu8ctTc7-(gqx4Jm)u=lX6i!yb^Yb|? zkw;k?GbgXnHghuLE9=HxU5x#PNF zhLkMGzu3%O;jRVS_RNaCniZv|qV&DU9o=3fZJHmA^bng#=j1irwpZ@eY$!bgrC-gi z<5EeVX({YA(q{S5IC;&s?Ukw7QF;za2Nw6aRMO{K3aO;c^P_Rz4Ylo+sX0)3K1#nk zk=3P={;Q>sO4@IJG|s~dYiGTjxjPB5=KJuT0I0(i>2^(~@#7mGq64LMmyS{AgT?huikb)O;wt z8KocgJrcwdDd}4*g;dhE`q6kn^Sf=YOwEtd+fe#Lrc{Ako{;{BrI1eAc0U?dT03le zWoj-gT6d!K_M&$KJ4W7V(jo6cPJQM;Q16a=Oj_jK$oKP151JBnpUI892YEr?szG;; z?a{nvl>?>sqV%&w$pW)9++Z>w??Vo471P)Dhpi?(@_yvFD-oL}-L_UB#=}DWw zM60%HQnRDErpHMu|w5yQa9Z$_CnD&~^^K7MM0|h|8d$CS7*h=SGV;m%CiKiG1|e$-ZdFoDpu>Tz%+4cQU(e+rLIuoL9M$@~3fmatD;Ru}8U7 z&IosHCRNfEsglN()jiO1-R$X7IV0S+nN&$vq)HlBRu4dHwfYB_${FFI&7?}YB3073 zvU&vCh`|+HDrbbpHj^spid0GC%IXPd3##RJshkm>+DxjXD^ewmE30Rq?Ma=|rE;=* zZZoNpu1J+ME(%|OcKd!Lm&$qcrOl*Dx+2x1HH!4krExv_7ij0&Jascq5r5lEsz+yg zW<{!`ah3lHwA#mSx>TNcU)xNYq$^S-jn__ZKs#3KoJ-|$=B>@7O1dId(s)Js4`})3 z9(Ji*B)+qmR7qE)N*b^8--9+g`VN=MrS}J$NtJX(s-*F5%SX^Yc3kgLc|r5ZW>O_x zkt%7t(ep28WzQ^jS6aMGj1=>~%$1a+D^ev*E(&=C>%ZuebVX_qD3Q@?{jpv>@^=U0 zLym$xdGi!Ee}f#=X0B(eAxE?AnH8y$W55cIb3ls;TJ8=5 zT!L2KWlrc14f9M5J_C0&s! zX=Oo+4_fmkK`ylxasr!4m2^d_q?H3LA!t1tW_PKzkrUZWs-!DYC9OPYi9zd7FNsU7 zgPg=>QYBrH>d{hEec{r+1}!OQZw}mb^LNO}Y$nyCvpusSRnjVemK?Ok6)(Hgy2vSP zCQZ^6sghO^w68#O_MUX9^^jBAOsb?SQYEbtXsJM}TW-Hgt&g1AW>O_xkt%7GK}!Q# zlbyf2)bEkg+DxjXD^ew`3TWv-YwN6asSS|R+f1sYD^ew`Drgx%8@z3iOKpf8U^A(b zu1J+MxhRy2K1o-kwnwjJM6Y%9^)QM0PcuItXF~qtQX_LW#w^naIWuyU%`MH{>9b7- zvmwvPU)SUr9g!|~O|e(of|i}V6xh#n z-Z9!VLC%5PCcLKk`#?mx+%-jN8_;rsHhNJXQ)B87(-b)ua@Q<1Oq|mZ>2lW;sjWfF z4O-0tJ3;6EiY&VMszeeQnfS9k@F!B%T(7SD;$w7 zcTJJn614oFJq~MWI=*UUS|ArdUVo^OnUp;uUGAD9bpU7uK`YlSy9vHF({w~GggoGz z{3fjLY|{z3F!J_X#m(ZoGfjWwBFKpj2AI{~Pt#lk%F>e78MLCHT|etHk6TYO{g8_x z->jF`j18HnNtLA~tqW+yK}%7+tXaQ!qUnoV0=eAb)TTh_XicgtEoogrD+$`68|BQA zwWCcRcms>I~7O%F>e74YWYea(!3U-0wZa^hORs&T}@v1f1`tNtLA~tvhHw z&_3MqnL01KnO?{S`J3U{&EoTIHL0?+r1b#J0qtO5adYBsThkM{H1e4y`OWh6s{d~w zS59S6n!mX&u|B1{vMP%_vEu|cb4Dm55cIVfukg?lcQ%bEH%lPc+oR7v9%>Gz;5 z>vP_va*^1;W>O_xkt%7t&Tk0Xpv4DWDwp1kY$jFG6{(WOyC*+@*7w2|m&yy8#x|2G z>55cI<2|V+pbd?)+@ICH0Hj^glid0D(0$Ll;V#jXdQYRv} zwV6~&SENeXP|(_e_GiheE_D)edz(p>bVaJ94FjzMXdT<O_xkt%5;K7DsoSoN%iP#&#Xw5v{9h-0xi?h=Pq>`a&MbS zlXOL@q>Tox4`{`A-E^rT$bD@lRniryk~RjkexQAG@r+BIj@;j7QYBrHDrrA~HUPAB zFZa3B8OQ@|CRNfEsggDpv_YVKinH0J&O{z;GpUlUNR_m4pbY`7O6FxQbr$kan@N>) zMXIF9MWI~uNxC9+DSB-fdhJ5#24>QayUZNq;mFgIIVSzb{bn}ukH}@_RWel`95l<2 zMN22tG#Z64MT3gIq@ z8019L3jR;J+%-k&BG7)ay?W?lmc=wCLqxPvmAK}@*pR<`SkFhS%Lfu^0s~H&4?%a%@*Wf#n$inZ zA77NEC2b{WQ$gEwI-6wA56wI)@TmbBHN%>eCc&tb1u@P%F>dy2DDkAorsgi zBsm*qHX_ePzE(4;De!czCRLV}w6&nk0qtmTHq&V3T(bdrE^^u?aZQTW|NXDGO5bQF zOH0~1(B^^Gsb_jKu-pu@9yt`b(cNU`kG3J2y~>r-e3a(ju$=#4hmR|(Uy(Ov80%)v z2*24}ztbllC$j~%J+tDxDrsC55cIYR@zLeq$^S-jVr5FphY_v=u$aZt+ts|Nmryw8W)9YKzq47ZXgE$=h3w` zlPc+oRF8HfUK&Fh*Q4t|`!qPQn|X>@Z!@VLo$Z+wsglN3{sz#VJdf#8dE(t@Gij2p zNR>2RJ8c5Z+4sSnthk&Bx0zH)SENcBuShq8wqWT4m&!%r7Mn?xbVaJ9@j8DiXt5@q zb*Wr>|86s>lCDUVG~PYg23q7EyIm?TX#TL7R7qE)N*eD;Z3nGtz11$2mx()UCRNfE zsgfoag>um+>59}t=(U~bwH)PInbk+@nr+CtkW&<_W~yarW`0NBjXX2Pccy1ZOLG`` z5AujJKbYIEnrbes52Ey5l+IAFy~(n)qWJ@PAM%1_0$uK!B6UA#2SJM(yS*8oB#YUBd+SjE_Y3lx)-#gpdIY-gQ*`YuGxir40%(t@}@|W zh;+GYiqt)z9S1GS+&U)D)R<;B@(JXIC#ss?i$$c%T~nl90_`Mdm48fQnigwjjv${x zE>$m!3CHAg6!|oA&un?k<=aioMdUNcC!-`YdCJ$*oUCMNNjnDGpP-$XQN*lYQP*5R zK8xJ!T>>+{d?ih)EG=orK|2Rpx``!Ck)ajMdF1oR3G&4^vxgSbq{`Bgb^^2upxr4S zXre7IYR(~FME>Pg0<(H~7EP)wEomn~y9C;|eM_2T_cNQb$d{3?pHFHY4^FO0m8B)^ z6lhmKyVj+M3BRAr{E2)OIjCA1bD&~eO{y#{X{SNE2HMhRc}(foam*Ry>&TnaWHFC} zV`@^la=L-izv50{fp*n=Tv^>jzF%gXn>i!gviW=!d~FQ!ZQGt%abA@)uB`5WvVT%{ zm&zI8uFa%Lx*}E5xU#wjTI0FZT`FgU`!55cI1$3SWTMH{e_#dzJI(OPfiRbVaI1yFV(0A&u+Nzd#%JQ+zk`6!Evs zq7%A3&nN&$vq)M7x6v{=Pq$^VUN5QWpqT!*BTN`}M zw?8xEkvG{q;-AB22y!@brn;$p%$<-o+syWg)S)Q71*LmMeilSZXXLFmlOk!7u1FmQ z+V7x+)m`FJyC83~nN&%ayQWAT4%#1}rK(@irFKQ$ZZoNpE_Y3l`XgvNKuaFCYaj7ne7#+BSG5(TI<%W-O@df z_u5RFr2jwm-UCdEs$2IT(vV?@k{NOu$$7f=CTGb45{DclNgQ&JBp@J?<0weZk{N73 zGDs3hB9cTzlBj?r?|L`;EynVk``z>1|G&TQ+yl?E_|QLR&)$QH109qX* z*7l3FOY2$~t9>LtU~^dYTK8^R0IiM{YX`;J+fN%Bt9>OuWOG>cTK8^R0Ihx~)((rc z6Z1oj)j^UUu{o@It$Q~ufL14owWDG!?#(xh)xnZ~Wph~dTK8^R0Ig0IYsbXeprXl* z)gh7}w>hkOt$Q~ufL5o7wG(3P!QfzHb*SVgZ4Rqm>)uTZpjEFmuk~?a{ghZgHR-82 zUFj$J*EYwd1kmaSGWBVhx=PMl#!7$5zp**2c&&M@2hi$xv35qR72kHwSdEnYtj%H7 zYu&qP0kk?nteq2U9cmviRtHFa-sZ6CweH=t09y5)N_$VWz1F>(7C@_bPQM^~@j=8O zwY^Rvjnk1>@>=R~$sy{KRKXf&Qn4jRJ@RZUjg!Fdq`znXe(K=xXMwz1;W_=1ojUqP zQth?wwT4sc@1;LY*&b^6#z%p)is$spcIwNuLbTVq*BV~1T#^3Odpf8p@g4@!DsHP+ zW$GtMi>z>&>m<7-(&YW)By?QH4dX3YUc-H!hO_?;#0fMcyybnS(o@npc zy;`ndu0Z~LJkCe&%hb4Ao!gpLd#!t|;feMayJ-#gxf_-d3B))Z?wSWAz>>uXV4ry3#+vT19^Vt#+2FCt9mt1WErT;@~75xFU`i@LJ$yzOY>!$Kr_gbqb{gbU#^as#t7nypBwK{e473H<=wbn-Z zKeATQA3&>3W$LNc>i&@zl-Ih~T7BvN*jhz@0Ij|&Q%|#2pVj_ad98b`wUz$q)++h~ zXtkM4J;PdUnDMCcTK8IOApJ9~RrCkYYCD;FmYsS}icGqzjAXtwdS?{ zmRMh4HzjAK6#8w+7uroh9zd%tW$GwvMXyMzJ4pVCwSwGh&1*e?R=w7|)@zIPPwl2O z4N0UMNxsN#3i1G2?I=?(wo{Mk7pz-J{+YFg+8epz{~d#&NNyi)pCJs+ahjJgp>t2oJ9B~$k+Iz?TLyrI0-z1Hvuuv+@d zP9LmRMBfRdRXmQak*V9o9;&wg`kTT@-&)Dv{Ar4Mu=bAfZpy!rRXiK56RTeZk5Jn~ zo+_LKu9y6`;#1V!AOF570lZszt>GMCgIGJ5WR%L3>raJ~z|SSGS7ee}7ys|p185az zN{Qtjo@oA9m9u(~#z|ii$q$50P!&S|Zq>Uf0krxwmb_~%AExW_sHTcK@~v}M@*gFy zd!U#qT=kxFNAjd%-CxP4PNaJ1Jd-?`3*<*_pUBj=#M=0Sb=A$qUpV(9 z|5@@~)5FxR)ql6{-LwGi)j!1AZLxN1V0|^E+&t&Ll|J`>Xx+PM0krx^tlbxDLtoTX5!K5$4A zZr!_S0kry1tUVBGBaT&4Q591C~q4^5s-9%mohJjsT9I;rG; z*nZ>zwCc5n2dgJyrCXCY3f7a0wWl_RHLvvmTJ>7PgVi&!_FzzAV>LvqKDRlndaVc0 zs@EDGtX_z<{tHtXt0~0lpEie8uk`?0rL_vBC-`u{@n97srzZp6K5FumVl|e{VU^a= zk34`@z1Hwx6jAXt zwT8#pV6k@Ro2tfY8nGJR=CJCu9zd&JYj}uHAl5Rs>tw8^6{`tt4y#`40krD1h9}NM zVlBylQO4>UVl}bNVbyCrfL6WMa5|DitUdKlGgi}y)uc9uRj>5`TJ>7PNnSFs_Bi-6 zV>P{4O>T2o^;!?0Rj)OiI){k0-{0C~tY#3aDQpg_Uh4t0>a~U!Bq_z(gK7JW)r?{_ zmCa$*YdwHgz1HwDFSS_P{_Qu$Y9_Io#^$iTIt6pn3$;%*C_`X0^$umm6YSmln z^7gBa*Lnc0dadCkFOyi~TN0s?XO_I{+RExgoyU&XdH}6@t>Gjui&*2kDcK~?YV%It z{ponE2hgh58cy;;#TwrT$}V{}$x~h^sv@1oj@Nnst$MBDBrm&I;~POaB+nuFrtkBs zy0fo3Uh4t0>a~WGyqscGjuw^-vFLAfN)Bl*fT zIn0BT*Lnc0dadCkFRxhR8$r1x&nJ1=DY;a{<#!#g^#EG+TEj_RezC?kg7QdSK=L|2 z=2uZ=3OHWt0krD1hLgN7vBo!o@=E@u7PNnSy*hR0RBhm}wA zLd-8-@p-KW(5lxOPVx$iHNG>LU-BZ7FWFXE-Ondq8{n}XK&xJBILRw2*7$yF0m+L= z{=vq#RN?muI9}@kwCc5nlf2?$jqhTINnS$o$OH}4<*=@f*Lnc0daZd+3cV+NUh4t0 z3M(aLuVp-U%Xv8Xxxz_aDamIxIdAe8@~WV;&4bhA)6XR@WBZW@(5lxOPV&l%mGJWi zjMYEITDZ+&&1*e?R=w76lIIg^x8K=ptOiN$*c?{9)&pqOYYiuPO04z0u-I6QCAqe_ zIp7}a0krD1hLgNOQC6>Scy zUh4tet6pn3$*UyRKHM5%tj3kRvdv-DYdwHgz1DD&S4FIC-{u&r@g%Qmb6E9S51>`A zHJs#C6Kk<|WH45PC9iICSoK;DpjEFmoaEIIYk4E@`S6qwU-FtZhgGlj09y50!%1E( zv9@*Ka$_}tCCwaBS+LR|%jMapa*ReUQdaVc0Dy@CpC7r?n$4OpY zv6fLyq?WrmDbUZJb+fc)^L(nU#w02IoMcDEO`T)!sDj6 zu;eXl4y#`40krD1R$i>N6l=aqi;dMHlDD!sta_~n(5ly31+f+(*5cOv$XG2Zd25@) zs@Hk|t$M9h6l-n7+VS@X8LP!4Z)jwWQ>oZ4Rqm>jAXtwN_QE zbrEat=lQ~ir-V|HziV??^;!?0Rj;*bVy&xKJN|tuW3{y8-E0o4Uh4t0>a|u~taTS_ z2d<0>$6hTXc@LYzs@Hk|t603(;ga{ZIjniD2hgh5S}n2GN31QYAIDhrN#57yuNh$dkkF%@$^Y%M96B{7?kABLl zLPp#Q&T%fU+O;*K4URJk&@96a%kkbHJj6%{f5jL*9%0lZszt>JNYq*(iC@Y^b#-tXXv_kGEK z8c|1u=F9ju>jAXtwT5S}RC13WJF&4UeQvIUC*IVOXY2j8iuk3?->e7F>KXY9N*b}U zebG`iE&pzHK=QPb*Pp*cW!ic~9h7{ceAYVs@};U%#WU&~$v>2Q&a@S(Qpv4>yjyvv z_F6k6)+ULyDGOGpDMh|lrzM{(dG_aP)csN$0%_Gdwb$BVu{K4lWlFSG&B*dh*+B{*7oX+s!7=&)hWq8mb`MuZ7SKD0o|+KslC>YinVEC zP50TRHfH=mos@jKn$?%9N9~0n$*=(dk)oG zC7&yK!O{&(jz@%fHedQteT@gR`L-W<03TPq*0zb21!ARIx<f9>jAXtwYEd7;b*!Booi;S;t>JAg^e6mz19P0)oU$U ztl_t>r*Ca(tl|;jGn>Pz*Lnc0dadmgYfHqMe^zT_6^{r@Z4Rqm>jAXtwf2QrTPD`d zN47Io@nE&w=CJCu9zd&JYksk|LahDTq@%Hl$I+EGhgGlj09y50+a=akiM6C5`TJ>7nBi7c5wQ_&-FjjFov)<;g z>a`v~t6pnginR@5t?Bt*#wtz{KesuodaVc0Dy^+KTgh14E7mrOwS!x#njELzn`{oN zw2pq{0krD1woj~W7Hd~#)-YD_f@X`&Va;njfL6WM_KUTxV(n@Fw~ST1Ox$L3SoK;D zpjEFm?@6Keq|a+TfL71SUfV8vZR~fw^{z{KeCH(JA^Fe)JxzW^a{Q1K@^S+gIhQ5J zPk5pqc>t|?t(_Mu_=(QZ>$@4NS0%^qU?PV#uk`?0^;)|i*6_QRgXeZJR`AwTog6ztA|aM>}Kn2g&g>h{$2p zYdwHgz1F@HYxvp25%07%R&Pj--xfp;t6u8?wCc5XNvz?w1V5`AweQ6mexPsoo6U^Xo08*K@Q}l**Lnc0!U}$HZ)I>9eficl=eFeO}wm0Rh^DjAj6y4M<>Sih70Z|hYu{Q~!}3+D#>&y4Q|n$mE4S;|zITqG!Wmw6$d;RbY2|+`%b#pbU~Yu` zrP)M0AtKm@{Csf`0#hRr+DIfsydjZTB8g=>yPQ;rNM<9s5D{V{g%FX_Mk*m9wT(1F zM0yE$#(KeP5}3261T@q^Y$ld7+GX;()!q|klE`eC-!5knBC^^D6(X|P$Sy?Wu#r=U zC~uiac4jVF&Mg5}uuLvGv^+NQ3K98iVEzIUVU}g>@|!|LK^ujHh{86C2oXhX6cZwf z+bAJKl(bPwh$wBNj1YnO@MpPSEq@nco4%C5HtdyXD$&eFb0MOIjh4dJ5^XGd*yXlD zL^~Vpg@_I|ItmfJBsxi)l;|#TLIUf+amBGhy|+Xk%aL}uuMpACMt>n9(#8NGVxWyd zLd0MjLxhN-Hiiii!)=TZA~4?~iN%&1?DA(q#1b1zg@|P~mJ1OpY^)R_R@qoBM69u~ z)^eR?Xe@cdSC)|@)>~#19n0|Xxx_}xJ$8AM5V6_D79nD*jcr22b{ji{h-e!-g@`X~ z_=SjFHg*dUm=Cv+eU|%$xUC=u4@f{uEPk<^N_bG1#4@SykmO`C$q!48`w@uzi0ub) zKRPN5u}mTSN^&x#wpx1243>F>(2#?9?J~we z%O`w#88 z0?S1uun(}kAaX2YI}z9}1hxl(?Lfdk0=^OOi-11_{2<^1b7MXP)?ZAbxMdm3vQ{f$ z87{yWGcefDp?V4-T};gM?TY z#)HVQjPVGJL!cjl`e2D6mP0K^SZ$aP+HeUhlcVhNXd!w>TE1_WQO7dsSO&*PjF%WI zF+pOS#6*b?BtDctZIT3PlO<4_B7xdR5~$6RKy8`?YS6){cKKtwOwN}a%d;ggX1a|T zmUDzyo@qJPE@K{O^CZx-RAPa|Ldz)2Pp$Te<#HjkMV5>0@@K*&63c9$Z>7X4%XOCP zt+v{7gAmJWEI+r)Yb`elv5fKHCcC^@h;?B+h#bopkH9zt`VpufkT__0#x5TcA`aU) zB19au@s$v9%*Jsc;)IQpLc}Q>UkeeZZG0m{V7{{w=PZA+%jboN3pTzLA}-qaPKdZ< z<9i|Emc(U=E0#ao<*P!(H5=E3h#zd+5F&oGaZ`x6EpbQUuH`ekd{2nDZ{rss;(?7{ zg^1s5{4PX1wDCxYcx>YjA>xURr$Pkg!J$DFvi5vpo(1yU*pCRzw zVhDV37Xsgkg}_%%A@F@p2z*%*0^dZ0z}NgB@Etk`%$Hdri)ENy&MHKN+Q=qEWVew+ zh{$Opmk^QLMjjy|uZ?^{M1C6ugb2)s54z)X`XD|ek7Zn9fGB4JS4$vpDFOnY^GD!A z^9Xzb9f41#BdXfKXQ~nStTh6k!A9U?;|R?6mP8B7mcrT+WGh*&BSA*Ua$O0swJg_@ zAlt}teF?IyEH{uK+sSf63Csr~?psh(P~G5>qWdwwz(LX+mhzC9q7+w###b=$&af%PymiWz?|@&Xrgw zF;5~&V!p&D5(^|gl|XHg1Zs;VQ2R^*wIvd$t(HJ-xddv^!KHS2nO!C~NRH(-5*V|> z#!AbzLM*ScTxXXt5480X=!us2TwPIEMvi#OA9}^;u z+c+UaoV0ODi1^yZX(8ep8)t-wvo_8N5$A1O5F#+&MTze$f40k)goy8LToxj(*tjZ0 zT(faqi1@+A4I$!38#jfBpKRO`A~4@=i943RTK;CWyOzHTv3$?+pFjbM%k)AlWBp(TyPQ!7@9+)650>E{0sjd2 zN5DS<{t@VhSNH?5J}ko@0=^LNgMbeN=0~7ElSF3A0>Ug3S#5+05!q~H7b0@l$SFkR zvXNVe$YUd~5Rp$JzXaAFCh?|axLqzNL=>`7ScoWMqo@#3%tmn`qJ)i-LPRMWrG#bj zP>48WSs3;EaoUhjd|d*JmR_^0+jtXMtz z^l00!{lM4f3jfsp`?nY*PXqtNzkjv${}apq7asplRv)wH|6;2D7DHuQ|6BO{A8s<{ zP4XWs2V_tE0}ubyt?D1I^FQne$o2+olK*fM{~`v&%3o&uM@i3KJt7B`ZC4^ z&Hm4({YTsTpN;!(r2nH$d|m(F?}2}_L;b%u`~Ok(-)Niv$u0Uf+JgU@m49-3|7*kk zE0$vAsN1VY&-T6g49F2QTn5&vQ>k_jxnj0mkN*Fa)wsPy+@*hRAy$sJ8#QR(Cr8lW z(Jxm}ZNebEH(omp#{IB`e%7O}%a}Uql~Ol0brSv5!Rd4BnmUO->fkroYnVETKI&k} z6%|dLL?3lsLl^2+*wxRy-&vm3LUbxb=nEo9XW-*3gfp zHPN%u)Yj{cG}no0RCe>?W8T(dn%2>S>a@`LGibL?eO|ZvI%EFY`pWF)y6N50ZXfmi zU)IsPHpupV)>O~vTg>gF9)0{R{j5x79qUQO;Y%9T?Oukn^4ePFzr7OJ@(jsu~O zlyMQOpD2vKub@s*1TTo9NI?edNcF-66zz4T$RP`3RVfX|!vvf<{Cs}v(OIQoN z_;h8Jc2rY+wbwkC)ZebtR5!VqL$z+$NEc7O%q8_6$s6e;eUhpXE$ZnhHCMT$elcY| zee`NPbvL4xzCUuAOX|-u*3zSzB~uBqRnteS&38$?%I&H;@3dU1YsJcXas7!dsh`hX zSyziwP3BF3>M#1UhV6CGfL7|) zZ0&U1Rd2g})Z6#ytdkV2uEy@`qz8ZQxP8>mRqC!o`zL2e)QyEz7#?OAkq zuzvi($8KM~^8NL}Ioni3aBrQU^j=jjs<$4z@UTi-D^eFs?|1cO#k=bZ&km?T#k%V@ z-yd`PsJCj}S=W93rMkYOlTO$Au-iv{c#ZaY+|I2kX}Wg$@uxf8KI&67OEuS*P5WlIQq(79c|)H& zz0Da`G_7vlw1r|H^#Y4h=q8o7I`zK^(KjnJSL~y{DoYYQJjrI~^w7jQ=iFwBebnEZ z6s%7~eC}M$8mxaC(@e3Cdg%QiUAn|NC&h{&9TBU!VjuM{-+!o<6dT)O(x>)8l%sa%yi0(_ND^RqUhQrE4CYuHi;!!R_37Z-$nNebl+1 zxnJ4GoclB5sPww@FRRstomupXd28JL%>8-wNNW9Qi`9yK)VV+7+)l1LWLT}(N1gk# zYxcx?%%7_i`>1n&PN*HMqYAB7?4!>8d97G1o&A&5ihb0%-}`0wL%oPvqu58i{K#7> z=YbZg-e-4J*Mn;n`>3zoa7i^E8le`+_r=e-Kf&#z-ushNs!5xc>a(3E)vS;SZXb0X z&#L|QsT&(UaQmq9xVI^|O+ER1tYROJGmqyNMT_a&u}7ziI5Y`5M$jyzsBe^0JY z=UK1VN1ey(QRc*Y;;wayebjlpbi-gh@#}Spebjlp2GxwEHw<5|*hihmt8Dlm>S}@w zihV~1h3X24j;XFrMqOp~3H7Xa7F}arb=}~doVxm>s+xMk7io0Q^{3Rsr0Mk8Z{i%Jgb(gcJRgNzb>qKF-H2bLcEFY}5KRvDD&x)rH zs#=5;ib1Ko|qiR~(V`|(lRW$pkzjyO1mA3RD zb>!i0_5H3&ntjx>ul!P#EwxY0yR=Dd$X`LTuWy+WdfDEcs!+PZ`o`)#D$DYcy6Bp6 z+P~GOZ}oRH^$|bk*Cpc~P?@I{)=h_1)a;|)b8{}e;H$%`(}4Us@14q;ebjlJd0g4Y zoX2zLlB_!Xa97>AQEvV7pIzMJ%;P!x*L1o<%I=zd)OkFsR7|NmUhA&eN1ewrbXH=$ zxKaYYQ~HT$UZc;=pbPmTJ$n`R$%9?wdnud0)K zyK44P=kXjp;~N#J-_`7+&f~fM%Y$msd!04=sPlM+B#2he-|eW`N1eyLeWSIiUHSH! zeLT)Qo^g+q(I2O8tHU#w(-EN&?s4YvJkq(CuJx?FW*>DP&p7wO^q3W$H2bLYIP0_EG2YoW41(9x{5UW*>DP&&A80s&@_y(d?tn6AH=I*skO*!9JvyVED``Oy7)ZTr) zHT!s+c|0eV3D>QE?y2)nEU)_)?Cu_C9?#pmi|cm}_SWp9&f__=K|%dvR6or=>O9Uo zuIy_yBtrWN_f*{)w$c~xl~X@NwA7D7E2*u0Tm3~p8Qfe4T~4RE*J`Fq@6Y1)Q7@FH zu?{Ku%&D-hk-mLAp4&&gM7er;T*sdr@MhX4ZXfkp@7C0viavAlov5j!j>S{#qdsRq z6}|3KI+e6|RlRs`7R5g5cM4S06YrK&W3pD#x3gAq`>1D*Q$as2)Kh()sG{B|WFPgy zVHI`Ht&`PO8NVy*B)5t=EwfOB=fV6I*uRw69c^SH9F#DLs- z>zM^k?)~|7x{WiPi6Qyrb>1hwnb&g3dE`zX^&=sLbf*H7ohIQ0_2mY`ee9#Yu1PVy z%o**BYFktXjV|V6AN7yqJbl-h-p&`}O6uWZTf*6wZpaU+?u{|dlVo?*?^wQ@B8oj!M4U$3E&0 z?#0nP-}%g$+BB{n-v5k`ebm>MOQ56rEO#nRNT7Fhz2RdY^{P{o=yiElIhUi8=+K|< z``Aal@AVKprO#^T!QBvj`M2MF?4!QFWEx$r$!e!$wlsRz=-++pqyF`{^t#;FE1ld8 z((B8g-1D)IdY%iJ^^_aSoMEFf>(I*Aee9#&BY$>Xdg@|l$Hr_rs`uAE_EG0?=5b{o z-)G_bD!1iz?(MGURKh16<#pWG?)xy*i!E-W7tGqHGLCGe7kByAt+StfT;DHk`AzD^htn&*Zs6++>X&{zp=zy5r}(;oeH_nz zzHZ^`%HsZ8YF({`4*RHcJzOteZ}N2qbJjmPc~XTGU*dcnHBJpby2}R!)k^Q24DM-I zZ($!5wEGvMhh5VO^}6M2E9fCvt10wBZ_=l?t~P0!;`<|fABFG3@O9Sj=kBU5`!^__ zxAQ!nuP=t~%c3_VS?|8yLUq8|Z`#6rbSJv6TWXLu3+qY{KZ`Zt?^L+!>sdGDcJh__W?-iy#Mii1d=)*AGkkxd*khj`=6xFT=SboE~QvxeSV1-3J{kGk1y6LFDKo zF>c@F<)#j@pG19d()C7Xo&BMeHkfhW)>&XkADkCD)>CZaT$flM`&nNybC#)tsH306 zc-HTy|H$-px;fd@*`G^Zd(1zRS%bfvi=)4O(!(Y65s6;rAac}6^cT#~-SmU(CsDtc zubZiZ(Amdv)Y&(_OjpwnqCY0FzS7m-HFXg6m_+?XlP;zXq8^i|PwUj#)IrqGE{fER zD)?3MJA-t;Ju6jEmLYok&S{E&Kj7aB*vI;vwgdF(yOY(39DQ|-N?R5CIBt5I-g?cT z&)quvr`74NyO*4#>Xz-Rub-W)beUc{U8_}!{oXpy8|t5aPd^J6_<0?Bo96--mdf#D3QK z_aFY9i2bZ{|MBlY?C1XH@nIe3Yx5=*Hs@_PPviL-NIhqfY^IK!I!Ha}+Z3jboH|JT z@~GIRj+{D3eRzu-=KK;lb&z`L^#@*_e@Y*9kb2L!%S|0Qb&z`DCgV*VIdzcwiN=jh z9XWN7I?i{opO8}rq4Rdn+ZAt5JPzFN+~1$)>!DMZiL0hW_s~%-UN|^@r8oU*m?KB+#?kahM)-XEmb zEq(56`FVg2+3>5|$8jr?4AYsOykX`^ko<|;$8j<1A=Q(*eIK0es+U!J;e64do1RrL zuJMcg#QlcH$H<$BRjUNu4B5wVWg_0y%~z#U!7~2zs#IdYvyHE&HpT_`^-+HW)&%;Qx9xmn7MzAzvwd$KXs<| zub_PeyC{%-%vrB=>49^x<6FAJ;_eDWJy(+^Zq7RTp<_MC7PNNzsKXC*_^5TFquWOv zzM=n+u(*2bd1tqeIymi*C6>Gw~ zhS1SZVjSwo+1K^+5vCu6{$s4JCI^vIXW#Gh8k#!DeiHMBmvT%Ugw8&WdvYR|se`Dq zkK^ulPG;&L>g?mVU2*R^mLBXu0r74?~at;_p6@+s(G{!(&2Ds}e7)KS0q zV795V52OyRTQk+v*#}Yw+jN;=>g)rlgY*snnKS>=-)UUG{2O=+Xx0=bxB-1Jxo#Z?u`Z(^#hI3TT?45O)gwxfV%~NXs z*>P%A)l_;woM|fWyv}-VlPJ~T=M;w9f9#}(Em@*Iz1B%LnYv1~yOzQo$Mv8eeH`~> z@G7;oTW8(-%og?Cos{l4u7~r!7c^ZBS)W`V+%QfxO_kjBF|%xxI$SEbyFSkQysNyn z-JDcUEYmr=YJl98^IsG)vzfkS#m0ah`y+v(3o=k^U*r;kvNap&ZPwIE$tx;zm zC3StTxxYX)sTW^|9$%m$rpDIA&(BmBcf{85p3YPc2EEd!u3n&4EqSUAZkeerKYgm$ z7t(jFnzr+~su^dkIy^CsZl*UW6&hD(Tfa#Sz5c@0mwvQH9V(kZZ~bbcQpXaweP_q4 zP%B2o(LXm>qT=?F&rDqVM3s9OTMr3drJ6p9uUV(Q_1Hr7`h0;p8eeK z+|S%T?pN+d?vKP(Bh-W|CH0w=k*ZHb34Qibf0f~rLb_IuR%-Lvf;!{KkJXFvL52rs zJyj#arznzof_;hHKGdOu(7FG*jGd{Lh2K-V8&6ZGr{7a8qo%2p7hdgu_EFEWf10{F zHNJa0;dW5x?Pk-G0jlx9q`Gvcv4*#cja8%CrPt8G&7&5p3+pbaE%#=-EI#_7>QZ;H z0xxA=u9|MVtk_4rT$;7&MysFQI`vYSmZ(l&|Dk>>I$kxYpGYTBAFA&X#nZFCoTTQg ziEnb~omY=DIr>m%U(9jni#ZN`tdlXvq0aRtDK|k~{;sSB^PVfE50xG4GNz7t&r`)s zokTx%aO=?`rcR=dIv8}IpsADSgC6lyIm4OP98)J_>gadHQ;K}AvOiy=?w8u& zl6s~@Yt@Y0Kd5;{W!*N*&kKqj@wkSH#fMXuKR3L8#Df(PMq4QQfJ@l zlKTFOJ5_{ywzcZPUCI}-+a>j-U+q%K@|{u1Pw!SM<{nXLn$$JFO<%Bd1DE)1dgvha zYUvu8I!GO)-sW)=QwOPo)CZkwX6hhykoxqkElnMy4pR5eYHjKub&&e`$abamI=JR+C8HnQQq?7O zkouLGHB23(4pM*G|1DDose{ycoOxW?H}<>U=7*_=9_Z;3KTHiBq|TqP=TFx|N1Zx< zH=e&2&pzt>v3CAQJNu~f7t;C5=F&T=r4teBSkP`>1=@%lWB$*UR~-bAHa-v&8?tx;eaMgQ`zmiX# zNcGSO|FV+0U;dsm{$O2obMY6>uIXWF*Xmb&9CvGAeKn=rJSV}yJgV@pSA85e;AmYH zwXC-@D}C<2^l{wK7d2Hx^)k-JBY9NMwy*j)Zp5)lDym{ir}n%s74pWbK8}OmsL^qq zTgQs26Y*d5aopbQH=L(8!}Rga4_zkNkWWJgsdsA?bux93I!Haq zfKjFnQU|F&^-nW(kUB{HaqwrR4pIlH|Nhn{QwOPo)E`XSXX+qzkoxv-zcF=?I!K+z zna7oVyq)p(ST$|~71VK$lm13Sb9h`MuR83b&ig~xwUyP0I*%RpQRn>z z?DXBA4*RI{{+04VQ5EStHup31QRn?@)A#vR-Pu$z96&xQPM}9_va5bzNHGkSHNK(bv_N1ex+$CZ5<&)sq! z4t}m?HaYJyI88nc9i$$9{(z~2)IsXE-`Q;HAa#&>-wTUP9i$FYPtxpTQwOPo)YpAG z!qh?PAoUNoMwmKC9i+Z}n`7!Ab&z`O9T`j=qz+Qg8+p%%{RC16sc#*)+|)tpAoVFv zs+c-R9sIgWI)(M7See`I}b&$I6(qdBwse{zx*8RxTLFyp&*pFrv$_2b{SGIfwTNd3T-G2s{w zQU~`h4OP%jT~6zgI!Jw9`lO}~QU|Fos~^YILFyoN9%mj`_9ecTU4^c0>!kfYRCRLZ zIbS@^uI|szb`uL>D)%gJ#ruiCXWqr*PxagP*H99CecVv)W&qI&#!W>J2jvSJ_gRnLd0HKT5*enqFKtC2U{KI&zs4^}Ip@2GaMhpO$r{-)mi zX^MKV_Kw@{t$!6P*UW}IRlgOVqVE3qs-OD7B%@TOTz{&1MJB0r@n7{Nnm<LnLqYp%#eH?c$V-JNoi29C`{ar%u(4m8=gQ&BQ<1VdhVd^02?Blq%pEfjg z5Owx(+==<2rVgUcK8}lf^9@r6QD+~=4Jw-4)IrqQ$8iq^2b(&GI{P?|I{QvddTNdj zi2f=$Z1rgDhq{K=@`K^?2Pgo9%^u zD@%F}{l%tC8hYLbp(Za^Fqc{Hxvgomc?c=EeTTyv)(hI@XWl1>Z6Ipd*J599L{l%s%MIu^q2JPxAWjhp#_R zl0e>re))No*PkbO`8lT7e?R=6`S-)mQZ7-`k~UM-cYLDGeb`tXZ9CuOhj%Sk<>Izi zB=semW*fa>$yKW1o!*M1o~hhSqxVj=TBY4HQjyeOw3%Uaj2rpk1T!9_jy~j=w_xm# zT~fz9(BXUJ^O-KG!zXlXPn(^yRo4v*)Qy32)v51ILFyp&Uk?p5b&xtZ_fNmk zUwpH}C3TQ`#HuZ(4pIlHe>w7VQwOPo)N{QfpBt0?3{nTFcPO;d)IsVX^+WNNnmR}w zq+a0Sr=|{42dVQogVe!O2gj;*M@FiBnTM&x3Hzw)?T470I&;*|d^ABF>oHDccsBYk z<6`RU+ZSh~Y7+FZ+lO)KN(^)7adYXL7uMd@S2`2T{GA(2HyqG^n(;*)Ip$-X`iCf_NzGK)wtSY)lAkcse?T?&sNO$tr>0B=$kax0gC|_{4sq&Ky3kmuY7Fl$$d6Ro$b<>|3|1vD**d$l(X;;c*w<>8{O)xp_8aH@0#tV(Lv}jiT;AVd!`Peey`C(lY_{qvyVFa z*1h-K^n>V+Nvyw2mDq|z9XSd8yRYM!ItV@Q$x~)MAnMpo67`6q51mXE3+wn1*9`M4 z{>JIDvzQL86kEk4b#Umi(xx7h)UlqU*?nfc;D8^esMurIsUPl6a9QrTUqJ_{ugo#l z)IsVX^`+}ZnmR}wq<&@VU{eRFgBj8fCOSI!K+{15yX6 zb2~xmAaiav*rwPCql47B-5_<4I=3674pQfKgVaH6KYU<2N$MbVZZ}9Bq|WUIse{zH zogj4(*PHabo7FJl=h)_Y5E44BHzA>;pM;Lujc2IwFJ=o680}NO68)~lq0&%^U^J!m`qYwSmV-nYSAqUaVakw4~ zId%3yM?bFbLY;jvb<}Zv7wYT-se`z_3w8E^)InU|g*y8{>L9M~LY;jebr9Egq0T;# zI*9ALP-h=V9mMrrsIw2G4&wSQ>{s@I)InSihU3CMkUHouaU;BItlcWZ>4Uz0UH7V+ zVY7Tw3RrZ(rz8Otk^>JLy z*wcK2=Py=Hk^R2$$6xhv+|O+e`OYO6_GWp-SDWhHqf%1xg+H)pxbe9GBF; zym%|T<*+%bW8wr(;Z)OIQjb@#SNN&W>8jb&Bu=9plU!1tb|_nT?!%K*%HQKVE82~7 zNj>OL&+uBk#;FC7zxpx-zweUzpCA1cJ}cyXb?f0lU(nT|E~%%SQ{7kT&QR6-yBWT7 ztp}@d;q#q|-S()jKK;mvYgv2vA)`MOQh%IqjH!dDLkFqnzuL#tLFyp&_Ul@hI!GO) zK5A$cQwOPo)ECz(Wa=Pwkow*X=}aA@4pP5R|JrCq_Tp@vckiAoT{vubMhY z9i)D&J?5eGsh9cabq8K9%m4B z_6?N$=x^_;kG4&9iQ5Bokoufb<4hf-4pJ}h?jTbKse{y=jvY)Lqz+Q=(zc$dgVaIl zZCd$E9i$FY@6#-gse{x(>hCsAY3d+#Fm26WjQ;504VTnG>Mg5YGLB$_dV{Hh)IsV)cP=$`kUB`6$C<~KeO;a2DrDdc^~JZ% z)s0{|_uke{-Iz5`m7U&Io%(Z*n!BdIT&p-)%`enQg^hjH$8lxD2dM75#;T56>#5%k zzUt$+u}k}_y3>cLo;mBPL|?z^#4x-t?W-i0qA2 z>SC|@IPUh6cB<>|?bXJ^&DE4VulhKy;(K}2wD0GrL2ngOOCskffBsTx*^N0W1BlDL7KHdhc3ieDDua2dN(nnQQ7Gb@1!+2^Gdw>=oN3b&z_8G!M=EAa#&> z$>L7I-Pi!ZTEBlZ~ z?Mv_MYcSa*`#|bpT}PNYNFAh}Fkwei2dRV9zbRAG)IsVX^{!nCnL0=vq@HQ7 zxOGVFl<)E#b?1Oe@=+XB?z25Esc-o@x9ZY(-( zZHL(|sdwv>MGdYvTQ$FtT7A)Jra8|#*J78mIqP_bY|`z8gXd|G`jPnEO&z2TQm=TT zs;Pt2LF&=7vY9$a9i+Z+&qE*P2dRV9KWebT)IsVX^|*(^O&z2TQh%^2aX8iwQU{MF z$*7>e7@EQ*b&&d<`|(X3qz+Qo`=6QZ1F3`57q9rq)IsVX^#qg8m^w%uq#mpHm!=L< z2dUR=yw21?>L7I-Pi!ZTEBo?RY_HaR)kvi+QcKm!*;>sBep~gK*-ni*-9laeJwjzI z(naN5QB^HoSxI%u(b(7E8QM-FQx`d#a_@*g-wsInw_YrqD#K& zVfU43%DsV-iRP$y%jR$-MIyQF?%c5$^)elMl8si-3 zAoT-NdYL*%9i-lJL2Xk9se{xDtjcfdAa#&>!R^7O4pIlHzd2=}4?aQaAoZt>2bnrZ z9i$!^dNv&6LF(YmF=-X_2_GbNNgbqKaAI6j2dRV9^JjTv{Dag%>JM}LVCo=skh+ua zYf}fQgVZ|}+HL9}b&z^wiM6HnQ%;xsHO@vGRITUYE-2S9u*QuQz2M z$MO0~UT?}ij^lNhyxx?39LMW8dA%w7IF8qW@_JMDaU8EB<@KiQ6S9^XB#7udnlddHpx9=YD;i_v`Dtas4;1=jL_W|E|}0zy98{m*0oR z?>Bq>y=Sk#_l)0%_WFCzCWgQM-ZP~mt7KICUbBDny=OuH$-h`RDtB*Jr$d#_UEAld zEyH!)VwK*?ge+E2P@C96L79Vtf*QtoS>Q(ZOx>(Q5 zhx~}tBfrhL1M?xr`1>P|gd@){Io4midSxH-qgRiG->Xu}zjNqzGyW^dCv7e5@3Qz$ zH{WultiQnRw8kIm@OvsjRyU7+qWxK7)bHe|;Eu=oCr+>E-)h%?MDoUORPw)X{T{aU zCb!EPzlS8p_;#UNj9=tf|96i{8NUxNw~juYp@_fqn%X9RB>9(;-^ftS!S+POIT>E| z_agqC>t5F9OP)^hqqZLM#UuygeRe!@jQ`QrCnuinOkbVFU%y5ih4r0FHpv-ZJ%gLS zQNNF~WJ+2$Fa2d{=SHg3Zay#W555}3Q@Q!nctw0M>#NT8*%5Pmop#NmvHp5?zLi(T zMmP6o@wW3?#k+85Z~Dql`@5={?v^YN30IKQ6FC&5z6c zA)^YrIsC<}!+*^2*uI$Sf7E!fIo_$3O*glnoJHn2B_^f!GjH@{l+&kV8h=V#kB+S5 z%&C*o%@@f2-&Z4rn~yCN+ZVH5W>>1{nByDnSQ3r(bA3^b4n*Vj#vJwFuX4CK#_!LW z*Uf*G^+zQx;O3aWZ%CM%!(Yrg{Kp)R?Zf)HeYH+}>SW%T#Xl)SdvkvpUTdz?>tuTW z;UC(Vym`%0PRVg;{4Z=?cSl7h^|F-y=Qdv`^H2ROh5wn&RjznG)SueCWwm6{82`lP zd-5)d9w_T)e!tZ2Xv{y}&R=}*p6FP|a`-1*s&9_R#WJa*SLe>_=4d9e>FIjB#z<7Xut?O;6f=EW8{SU>a4RTf59T@dE4pYi46$MXhr9OMmbzP;o` zXUXB5{zknQo5!O}H%2>OoCSRY7KBLjGvGKKMg@r_JFXzp>V%D<^Ng5q<{PRVhMq~Xe?R-~m?lIfX9QDx` z^SO15-M=A|k+`RAu|^TjfM#d&YIdG-?VeKG6J2PBG)IX-G-R5aGV%C5io zfn8?%nWO&rn|y8^M7V~)r6 z#aw@{1|LLs_$aIYt3QsI$D`Q$&hO~jEw{h(?=SP?o2Est+n(M3yb0P6LWpcIeuW8icZY&czplL|7!j{iBE=CDVf=yx5~@?_x6#A;XPmE@|U&y zvx(%*FJ^Z4$CBkm!*8X`?dD@TFLFwCQ2wcRI-A>bv*mN0*5xYti$}d{@^dprJMXrr z>OTMdZhS?nZs|)erylc zch9a5+gl==^2ck~*Q^iqR!=MVmj?GYImUNPSJhv(f27G<%KB5BtL|^zZGg#-$oA$q zUc-Ow%a=L)#H=?IzcI&Sd$9gxcKz61%pYv$NBwTyGX59e_A=|o`0Y*!|MD(9Tt6{$ z_(lJ7+mG8rbmtO&b+?$geJ<`f)8vW2%VF|4^SYb7K<+2z_RV_2sjEzm=R=IY&|{*> zYsrsIB4?d>61zUkhu05zztm>^c{hzQ`H8Y&Ccjrro1F8pKJ3g~cRq|yG_kYE6R*hT zAZI<1%}?6(U0SiocW&=Uf7N&DD?ENMuP~#Un-5Gh!oQ__U6W`0eYtO3juHNI1xuSe zgXGO}4)cd3tYGr6LaCgX>toLKA&j zC72lD|D=5evp;rp&*j9d2fvxcX_ z^7AN@cV8IGY5hiof86~Prho3ZslGGmTKLm{v&GcsNuFSQbARlwYPflaM=kvQZud6l zXQ-bVAK~v>_HbG3KjazqwDJF3`X^K0ye^rOFntSuclp3N>L(;mA?urQ^yT`_%KTX0 z0J}cqSl@egeHgzgLtB5Ru0>zYFL}|@ZT+c_6^=IZNuEL0$NaatE&msD-vJgy(yfh( z0VC!JDxfGTD!~BLRVIv>1Hk}h1q3rnHs`pmaTUxt0b-i&Qc%~NbIv*E?Ejvg8Fy^g z`|sX+pZV@Q&tcwEb?Vex)zwwiHD?B0)yu(R%h=7TJ?X91bP*%0mwneq^$Zf@F4y_4 z51!Lil)KSU)n`w0mCVbNZeD&4bSgi=Se|q$?`$l8Z*XOWuD`28QHA*3vvN}PBXtU> zdZpzq3SIy4MT)3;TD2kyUH{ZBHmZJSo4rEU|9Z2$s@^2YLoM(4Iftret8DNeU&30| zryh4x{lz}duIeLa+Nu8fyL^zT{?{eStNuEU%%tX*KaxXF7xmO%q|Ap4p+)3kM#p@{5eoE-voirYtXBqm> zKE%0#az0~~5%O`o!c(BhGqUu!-tkP5YVh;jFsW`&D7UP*6rqn0=;FH!F|2EArXO`-eJ zYA3aaL;v$@jqm3_eVmp^be`1C=#O;rH{R%vbnhPabB>|?luz}0g_l&@NBYLw{D=IqpXv%zdGg;pxW1TY^iTTQEA@Y< zpYqN5QF(Lzz103Aoz4e6jpuWhq0{-{E93bc>2$t0$aua-dc>r^ z`tyo0|AO&+kaQ|P&3OKJ6}tKPBk5GX>HN`uX%)3UavAxMPWCm8d`KsMZ;X6MCqDg* zd`KrgBaGL>lz-mHC%{v64Zr77PEf7h2_{oj=Im)^A3 zYMpt$)7E}E^YUdXyXegQ4;oxRXI?+$zv)=&yMHR*>bc!_o%|2}YX4ndj`~}7F8y5} z0ezn&GSKC)(V;=ST9vj_Is@De3n?`-vQJi-~75T2uZc$h|&kBFn zseMI`7y7Q33QN?P=U+e9SZ7|o?zdOo=Kcc`^=kV}^-=zxYw}qoz{hr!7TO>qF{%*tl8)RrmMHuHH}1*{ZAh=d4buKGLs{s@qqqsp?7K zOXWX4lvLd-aIvbJ^6!3Vsp_Wk!L75XdIzKbi-(STQ+Z!w{j|RxUa6(%z}zIdKMRj2 zAd#N$MkQ5$mQ+R6`|U2S>N9q6Rc~JZi#lJPw`-{C3w#Xw(ONa$c~g0lUemU)>fdC) zYiegz4>S5Jn0>jb=QY+x{%AgFX5=>$^^yK4A*K(3$v?H9bo2I;Zr*;<&D&49sXZpXruI_%Dc_`1`_1jC{iK_>pLA3E z69TF4r8=mw3%es-<|L7$7sK(1ie?=-}G@1qy1tI zJH!4?YS>FH|3z=uUw%B%S=9qBu#RnMKdmFlnS2Sfed6a7_xVR!SW z`QzLcsm~Xso7t)LrKhJ!v|n^&T-96aN2~eg;)baDwU|Zf^M_-hs5@EdAB|wQ=($+Aqet8SaPU%g0N!UpzcJpPFBA&Or5f z!G8NE^?nMu9HKri)H(c8)kiOhlW4yvj$5nt{VGjRpFf@k8uqJoeh*ilKWe5mQ}cWE z?V$Q|UF)jqi#N1T{iS;t_OoqT^i`if%B*Ru=Fjd~N`3y=UeB=KB%St)Cf#YuLiPC} zrnzCi6P`3*eSWz4*ucNX*GcO0!_K^4Rla2(O;w*C9{0|y`k((tyjs4PzhS@WkTF~> zANy{onqMlulUn{we#3rqoPRg9{Ir36)qEP?&7QXrQ%AOy=>8rVQBWfN)*D|{?;lWA z)vLGkQuVS{^;ErFPkU9rKe@50KYC_(o;T%BD!g62{|6Y$U#mMp)f0^Vr`|VwUP#aT zRNvJtc51$t%Tfa$WB!hH9aP;^{(b)3s&4Y1BH!|+@}~OV8T0EH`E56ruV&<5+vxwM zv3=Bjo1N`{Xg}%Z?I+#5{iK_>pLA3G)PB-U{HXn;oA^`vNjGml>E`V>&!_gAm#6lV zZt_p{h@6z(SesuL)_59>uPyzLN z=Qx&KJs-(D;=XF%Kj@U2zjyL6Rd)^Dq3UbyWL52{e^-~TCE69Qpz2ef+DfE1iZ7|^ zQ^wn=y6Jqzl>b|E!+JsEgX}jJH$0D*t-MOrP5F-Rr>eTCyeYq-(LeF8xXVMB^C#V$ zKk4TDNjLE)erL~k3X}g=FEUH_ZVeZEPcuE;FE>Awllr7ZiBIF^t9s5Y6{Qg9*S6eM zbtNjdbO-i%ix{3SOXOE{l+R`xo@e&G9H(1TI$CrI&nA<<&a9uBzqQRqwfxx$YgB!m z(ni&3J$pPpTFl?itR?=8sY1KdJUhN*JEc_dk8F3(@x! zq5G{=`yJCMMM}L)9Hh7@qIe7M!8#PfvQP{)qq6d4Xc!oXhI-X8$93CDQL7wN~@59w@Ks!4Dg# zy8d_#RnHkdQ`N^0(5bpD54UPW0`#Pw)seV&_b|b%f7ZTO{(qHncd_US+NeRFEii5qg zs(OW{l~ujk{Ag7lwWfxuCzUmfmxp%6RsC}lL;Oawdk1t>-hYjO|IG*8RDG9SZk7Mw zKDAZ-?Onro>33v~s%LrNs`{t`s!x@MtL3{q_g8h(e$Z-bFKbmOFpKj#m*~U=5-Vy`pLFx~lWyLA(#_jXx_SFaH*Y`b=Itlly#1t`x1V(L z_LFYje$vg`-(pB>(Ri1&dVOD1DI$>`-e{<*cM0`S^^QIAs@MB#Vq;aeSwBkEbCtX0 zP4*@|YtMQ*(mNaNyR2WR>I04b25f67jj7${dw+d{KhpPAu~ElE5b7h{Bh*>dpMnqR zrxU%uj~CJ#ZZn+ck$?02?5N+od>-&4eUH)qu&!%V-PB*3_FGHYnvM{!=l#Jk+%qM$ zou)hAGnP-CYt(1&)TK5XA#RScsYCg-vs9DCgZ84mdv3nCn7h36yoX3U@4=S>7r)>k zT!6V#b$NRBjv`AwYwl#{F8l4uP~4h?@p8a-MTXJ@cvNY3`NsN%HJa~^SFwGngNhdy zcbA{a87vhxOMurX8Eh(W=gRK#5cu8>=>l96@9#-+xyw6{pAB|zf#ZS8iVQZ`*6>LH*xgp{^Vi92de2VV|2+Mt~OS2 zp&WZwC(FfETruk2<{1&qRXp%O3%555J|vT$%6p2qJ>220rhD!!;+sr@uZO4%8(xIMA3;k`AF|2_@`cP*yNo-;>s!) zX}u2TJNjEJ|2i=@i##2l_8LC(hA;5y=XN7y18~xHUvJM+ zJyXSpdHQ$Z8ItdTIFY)7r)=1v!#th9w-_;92lI40Pd_<&c|7-EA=~VMV}P%FJ=}WA z$4?FeK54}LfSqAO!gu_ubaR_u;a`>gRl2z!vhjc8yT!VoqX(sT347!BC@)qE1|$)rNV^&{0wEv(s23E)Ogh35fBDETUfiL!+{sdLT=)Dbq+@OjG6 zrSaIC1du%=`)&q%M)pNv5C5F}e?+=0dvNma4F8uyBl(Hv5lZ;ZvvNeKFzyF#XBLOc z`QLwKb=^Dhl;t8vx-ANhocMg`N^%7wX=I?h4jUbAgV z(fVuH_GZzd&zO0#eX=|IZC-hiBeS!Zb8{ctcr!x@9ULZZ*`(>Hj|)DH7YAnx-R7Ga zjM6_MJ$!z7ZU_5;*Y>e>&Oy9^?=~f>&Kh>3nqfR$*t|qO*({p>K6akGWurUmR5gVE zZk5j3`sGuqzK!KG2EUX_eyA#+>Eq6?LA>kbP?k<|;a-mzf4$-Tjw(+xSoo+gKJMKI zbw6?g><>+gQQivpjrOZfCgeCp~7#Gj4~9 z3!xcG0&q;#FfnU&hSGO}pX{;RVAC8pdXk3-f#mRPAsX)S5R;MKIV3~5g7SVy zzkzb$DDOMYPaa+0qh(c}-{rn+^McNWZ=s{9!+Qyq`R5k_Yb# z|7DO~bFT;Yf&b)*e)7EAp?o#C&4hn&<1+6O(#!m9X zSVjG?k2KgTWbXm{hZ8--2l%%}dOvWth5u>r-vn)S>X*Tm!_P3Zbp`71MZet$1-_J_ zFz4I4l;?(io}Oj1?#V4YPu=zqr56>KMyF&b)xE+*V!kF4aacYUb6@%4(&7ObY~{mH z(X!DDX?LUtpEt}y1dK|Qsw<&p!TDn-bdQPZttDK>%9+@g-3^ef1-EFM&Wre$#1F6yUlXR=;Ze?=Yz9MCU zGb8?Y=0*wE2CdmqABEN3&{LG{IGB~%;>x$Dx{C5S#c7kJSYCZXR`xYthO%R5 zD6gsPk`B%G5as81aH}j+q@)sI;_jRbR{ef|>EMt!)&KRT*QG*5L;1Sh>1>1VbtxP0 zVGsr}e}3Z5_rRt(aDE8k?69qjGX5>EOEKx`>`IYP-X56RdmVM`XkftCjJW9T zbfv;y_R3Y*2f)7jQ+M$N{ryk3uBH}Sc4Vwig`{1bK; z9w**7<&c~BFO%Blh!^+kB+IoY|0y*%8Y{X?wo(!w&ygn9j}?cUa!3~t&rCMSldah0 zM{}e}NKdbmEaii}5A45|is41yzVP}esw=y@_v2@prLgdz?22DG58l3Wb>666S;g~l zG%pARhDj4720a*{fDP_{zIh{MP0} z(!wnrdE1`RJgt3Q_GquadlTT59qO`Mz(YfiNL$}VD(7=Y@;JLA(vZ)QN_?J3?z6GT z_9lbkmF)K;`5XVnDb0axfJ5>OW2;lzDaRKM)ugN1>8F9zNL85e{h0LLZ z?N)1G?>G`SXzW{BGnOC9pVC z>Rt}wwdI=3`AD>Q+ibS}S2(#}13s;ilW>c)ai5mt%Hyhg3lZ|#EyB-@XTM%UlpZ%u zZg>7E^C;I%H1ez^=X~wLKTr1-X9i_cR@ipqwH`lEf?Y4kAud(LxJ_OvkC$onL^k*G zDz=+?Pw_w8UDz*6ROJSp9$_o3P|{f^cmOk>~hO8Cb(<3OTRyH>myma~YCpS~?! z=@ut0cXp90-($DrZ2fuZe5d77QVRQUI6{1MsO2`Z<5<}FGo-5bhKtLsJ1f%4dAjn0qJ_gPrUbu9(ap<<7ky$&%G=5=)2|*JDIA8!viohu z$)m@V5$8f1ahGAsk^`UPI}f{c+_n1Vlx}QTAVq<>Qao>f8IJN&P&$*`5_qV%3#>()Ol0Wl--ZQDt?>YHqV^ zmH3EQQK7A;T2&>Z*9bvdXgK>)Oio#ZjU{pu2o6$yS+EHCA+6Fm=b!O?zrn+5P9U?Koxh zxv{d1H1bg{>3!-C*G2XJ{+)|byibgJtv~z%o7>bLn=Fmb7B9jRs(3Uq;(ox(fyW`8 zIHwx%M5HH2CQHdkC%n^$e{WXCV+ZhNq!Zq3#ALI;Xfqq>=6I$tooq~)>gqElS(*et z{gEDN#1X)!fhQXI+%m(C{gS0)#`J%Jt!5`nosIUt!iU?)?Cr&VYTF6F`voSO*KPBN zl?&R53g_m?zrrh@wG&Hb<`JFGHjwXJY=?96JR&TUk9-Zd#F{*!U_etj;&nUmZd4vI z-=V2|q)@b&XWdAN4V*)f3HTYXN2esIF|Y!h7kF8EBc=7b;oQMdR&gufvSzrH5tEIb0W-qo zfmftAQn9lct^~Xk>Ey=+xW89kz7%zR?U*E01U?Pyh|_xdH8bU7&Bofj5oqG z_6XOkxr-g0-;hnp+DFs^P6eI}+yrX*)Lv=>ahm|lfs=tJ z0zWzt&&TYP^@qm4&`sSF&%Z>U(@(2lBTc;(&)-!F(U-S5rSrLu=eE1;_4W7c!db*$ z=Top3Rb$TSqhSv}Vjld&zz^(2E!dZXJ^TohA6j2&E;GF@INFP4t(tJs{|V08)JKeW za8!Mmvqfsdd)gLIc@7-ciVux1q~hSj*4*cn zA>Cx-x~G*G<-A(4ZSjir=^Dq6_;->!-#H-dnp9%v%xzrETvky;^;;kph^xe}6_EIq z4asu3CUtn9G0uGawF9*u?hFuzmu3?iGiTq{$304v+3v3#0WRnnC7RCnS1z61UAxY? zj^b6NEFyE=JzERc_7iOv<>Yed$H|3&+W?m-^*DK;m!EL|BPWlqw`Xg0;Q7Goi?vVL zB>O8B+@tvPS=Ij*o7+rHFP5TTkdq59KmH`>vD_n|JfG684p-V=klz=r${X*k#b55X zPRXIT^3R36(I|$@eeF)^YxWe~mVIK!S~YNP@qF-hebG}{rHGI5BK?$p zr%OE7)xa}h;L0%R{I_RvX1ge{u;&A*!?;??w=L1))S@&g%Ml0V%C|<|OD1s9^+HAQ zD{SH*d~$CkoVKf(l!!3}SzXZW@kHl#Q-`WZ)^+mLcfO}Da|*Qc%$+9O(!zkh-Q9t;pI zN3LX3JW`Vhw*sDK#BG4dk3Z5|1J|uRE~QY9x@<|0X#P)d!v?8tC+-g5Po}R_$d5Tb zj`U|pZwwm~zP7xs;%3D~K!hXzFEE1*hmC;E-{Oox*+lSMS^suV0Kd~Ry9jQ1PCv9p z0Pnggt7!P3uYO;PKt7;yRxx~Idws@&K)&tUHzh55O3lY9ojH5_oR#o9ryq8ptH`N; z$toR|^|#w}6=_j#SoRqm^!FAAizm^qS?_rv`a*Yug-vEFej@j^t!t7yi@6b!BgM6z^G9?mBCz ztmFz5N2+JzjvK<{#1R2v%?@jx_25KZ_~k&+Y{zRQAk%&QStXb+TlHR9n6sVk*zO=c zAn>i?b!VckMQ|`*?ek38$?xbJ*XYJO-p#?=VxDxsKjE9|Zo{Wxo-7}+h*c?P!Fi+NcHB(s$ zo4v3p0Gn>pF6)cmSg$A>`-`+(g~hNAo#Y7{TJq^N3-aGEPi~*Piq+Sb5}&43;n|xW zSDbs~5@$-(;qDiOvZBNT_8jwM%(1a7Fx8v&!aO-_&3S3kJa1MQ^W>;W=cQZ4Z?OiL zCm*&S#X^fbSDZ079!;94d?{+c#THFeyb3*6CSz`VykMddRPedd6gYR{M5WLMe{o@_ zzmnViqvB@7%iKOHj=%*lfBpuX)rdb*dQUI00Q01;*Eyxi!J?um=E>V5UMX$u3yXax zT=b2QHY!N?cr0 zZd?9joc}mw7cGWu*Z1`g;2REoWJk~IcV=}B5^YKq<8$BlkjnLKE@qW+;)5ejNP#%p zcs8*t|8#t_blu-a*rXQVOEFK*bYIJUg*omiy65wzcIM7szbRc-jN1|fJj9s(4ScSg z9>da|7VU^B9w~a(c*Hu7p2BVx^B2!x^J+*!jVrJ*$CHtsly7&9_egg}yQW8e^V|iD z16J72rT%A7E?XuE0fszt|dZHQ)(p0itI2x@>WePf8SU z4d4^Np}^}ff9?VvZp71ox7f{KXE7f>nC{GW81V(*)4()mz5_mH#Mx&!vus0NDt|u3 zcPA=*RF)}8_ezId%VB!zdh?Qw>QUH|5ZYkyFa{p zOkK;eSGt?x<#r&I?2iYJOo?mZNS|4XiJ1#{Oc_~o%YWsE#udHROm}i`_@tsd>rb3t zRVwD*<5`B%VpP}<_-!hEE>5omvG7`U_uE-LMJ8*{A8_@8zq#3?T=VDnjKvIZOTJib zI(&z`F~kg++Os*uM}H!)zsT;mi8)>K(JzS$6Yn15vxHMV`ka|PMafK_+#PrV@Iot3 zzT=FKzV_n`XhW|RKKdSIHnEl+`-^z+nS**Bqs=)Y zCb}0MT2uB`;zj9f3GNfnfBDgmgeMxYxy{Y@8EyyB_jb4jH;lLxaBzu4x3H06V%4h* z#T*lFQ=gmTwvMNhd%*t4s|?l}xF_%-V6u4w|1YdP)i%Eces0A6;8O~pgOZIou8>ex z&UwVpM6xeIPgD1n|2_ zf#tS2=MPf%rS-Fxscynlx4{OJSF2mzVP6gPn(&gD6TgpDb4+y|2*~QLyiH0W{4yYG ziV4RhRZMN%@}!!6uf@p}!o+jy*)O=y==IlqZI0oG+b+25WY_FDIKYe7eJr z8>Medsz^T7coOf~CETtX<4?+te&}w(R~!d>+)&dEHJaCBNlblXV({Oock*3B`Lm5~ z>sR43*_oF!6sxAU^=p8~0%roAVrH}Bm4~SM(nA!1eJ|jVz=eUY<1^FDVPPVp;cb2I zs~JiolurjHZWB>Hs@;#c_$9<7!DcILqOWGK`bNCsl?Sf}pO4^k0B|JmL*U;+!}u%k ziE4aXKNt8Ka4azRtK&OoliT`d?c#X$emCX4H*f0Od=2Gm;xbs-+vDUj2O{_>r%kMO zfw6MgyB_=osG;cEg@*S~#aO7uZwTeqG%8 zCiwqSA}7lUTmb$F&k6|PBfxDb%BBI|1h-}6b9JoR|J#A*7LVaA58sq)H@0ExY1uVWr%+bVswdGH}=9=yu&FsVpDZvJ*;dtP{9thC%Aos|s?;l06O zyqvDKjL(UbfqNhd%@nWY`QYgShg4XB(;+}uTnB6D-Ha~h>Hh? z2*oj-6+?ge0v|wqgsD#qufOJuU)@u`O8>X_ow*-#{BQk`{mi|wyxNwmN`jc6JAXEY zTYoOC9Lu58_4ydj+Z}D7-`sN5&KrAT_@0su%<9#wonz*7;r-`*W?{Y=`Vn4@xo>=F zK5SrqeFMdTZ;$ff{N+9Ug3FG)=adHg>-~Fre9ofaa~6)zS@buTI!Ti@)n!>LMT?eC zb-F7bvh7UxguRS=knVz4U0o-fIjs#JAbA}5s&5t^FCPDvS*o|XzI^Vtc;VW0q^?#E zUpdzbd~U)z=~`B*xx*G`7316w>PDnK*X=kKFIImoEETLXP~u(V#o%h2rD2O(F~1eV z#nR1&Im%6HERQnIMOg;i*2nCP7j1H7mWQ{!txLQVFJ=|VEH^miq|5d(OtdYUS@!z2 zi(TjuCLRN?JcIk~wTCD;=87KgJTq`1BR+LUuY?uKEay4WkFP(Ip?rk>xgLgfvwpG6 z^0TXkIfn3a;Gm~^HX8Pw4)x<3;5R4I$^I4Y`w^e6=pW+!4P+GX1H5Ov3FCd>)1}aE zb{2N;fs;`#b}!B?!GDv1KVJa;)4(5XRPU*W{cr2hb`?9L?E{T#`4+@Cnd3vo^`7<> z=6EOKqiAdo!2ZM>-~5(hazm$sDDPfKeV^2ZpCE(v2gM*r$YT)x7lkKm@ z^8a+a8+`xT|F7!(C+Yu?n|eJAJpTS{3x59A#+3dnsH(2X!g$U@3^9b@rrJL`R$L#v zD4s8O?j*PCyHCIPS}b1^m`N%3p-uPtS+X zm9V&T`lmPx$~^eB(y?NQzV7{CF=yx-<@4$G`T|RX#h)L(Dc^4RZC$#hvv|@XJKq#_ zPM@`A0M9un8+SP*>pSla;B6~s<=cEa=nvwosr;&}+;3!v{u<7p=d6A0CEURu=G&bcR(yUxWDu|F`TL&d*QaT&U#WtfB_aj`sKkit>xHh}j3) z>Sj&uC{FFL7Gri#)cN6jsbi5GBC_rs{q8h>Q9sE>G{D(WgtU;gakmkXI6E5Ne-RT- zHexHzj+O^4VjrvJ6!ADas#tgt+x7J``xECvm-Eb2eCAv65jbP-8$U}KHuftE!r4&^ zoE=$z`^@Nk$r@)z>-4Sp)$*&Av=`6V(={iRM4TPDJ?bM)|4~3J!P!ylrZw!*;40h> zXY3Wj7APsK6!*p%`^GZ~N|ELdl$SU=Dm-i~{sEr15{k22rb&q%!g=+Wf?^TQj+)1UDJh(LC@s5LYJb4$t53CK&*h}qh&23?m^>L{hM`2@*+atZU=h_-8k^URnRXO~2 z>RaH?I2ZaDFfQ!^&XEe??5Mu;inPNTTnXt{U+qa#kdAX9u^s0{op3HxA9x4wDBv2v zcl*{=1_ReM;^x2&^Uq*yaYi&6=R(bmI23pYa5JRO0}eOhWZ*Gr0XzcdMT>AQ6c5}V zcsuY|;8oq~vJBvf79NycKmmIn#xYeJ49Xgp^Ih4wSEZJaC2;KQx)qy)wdPv zzc~&zuKW3L_GFHKwZ_&n+AnyP!OSt8TabS`yD-Nc;Fr?dV83IIDb4WuaozQYUrKKc zdvpB3xG#E&cXJF5>Uz7>z~?(Q&G#GEj8V@q$S2_-qrEM7nPZdBCuoN`UT55Q4Mw}o zG5MoDdVDD7W~bLKio=0uaXxX1)TdJ|rTB?xwJ%=IsG!ul7cFiqpClhG`Biqy9wQv_ zZqqrlQUo^HI%j5An^t6%qGCkjPsQ8{Jho%Q5I5v>dZZM0qa>@B5F`F{7$Jv+Jd-NJ zrc=l>x$miwQWR{8J+@P_J#%)qZXP2p53Hh;FE&ojQ7J}LE9j`SZT3dWg7kWLPboG| z%8vBP1s&CXtqu+e8{Apu6_ex!;C5<81vTB&U&eN+{rKO(rtwK-P1w&kW@@6({|SC( z9M8RQt^NsaZ@i`)W8k0QEXFa`6}^>d7N zcd#2Q0^R2;8SO4Au9JF;Z1xVieEUm_j4X}SF%Wxcg)*;0gs?l6k3H>wOj-j!$9qSq zeNJWDxzA^V3Iwupz(eu=0(n%|S=8AVd8Ls~efa`;#engyEcq%cx$8%<%6>gXB5)Pp ziojcd-GQBew*qGcb_TxMEmABk(vj`-ETHU$mwdJn&z{CD6Ms5c0>BX9t4 z2yig)L)i2Oo`Lc$kq&=k&psl(Cva!rCq^58;Eu2fMS2U!pGdd;DznDG9O*fMJ5V0* z4%m{fZLlG3)q%?+Jq~TD0el1LBY`>aS>U$7UcgmhL+xD+Umn2JS8IWD08@YN2hI#k z{kad=8`uFDaXu8^qEP$};&~Lr^C*bt;fV855a**H&W9uZM?w6Lf_NBC@j!_4Q4r_D z5YHnJ&!Zrohat{KAkIfYoR1nqgZLi>u`>*DJ_2z*3gUbe#PbNm^C*btQ4r@N5a**H z&PPG~k01_+|51#wItt=^1mbxV#PcYK=MjkWQ4r^&AkIf1{zpOlkAnCg!VGafDn>jH zLp+aycpiZ`ABH#|1#v#Y7(1l;M4S&poR1o#gm@l?cpe4uJe;@^2gLbs#Q!kF|ETSy z@rw9Hh8Re79x=y=hy0#yju8VXBL-5nN35faxJQl{$W+8Ysu;16sfdkKZ4j@RiWo>4 zF_0Xwj;V-slo9u+V#GkIm~0RmsoD@m+~aqQSVt8j9x~M&n{0?bVjyM2K&pHY>nJ1c zks}5&6)})1Mr>p%Vk5uXAns8{45VuRPcY&hWyCnI@xk|PF^BL-4JY$Qi)Bu8wdWQ?O@h=J4@ zPIi#6Zf3b>xV36o_?{5d+B) z11S&#DI+$LBQ{bXHd00mBu5OSKn$deSVxXnM}b&J88MI?F^~c=kTPN;IbtIPVk2e5 zKvEo|Kn&z}j95n%BaRXA4S!+8MpC*$_K1O$5$mXs4PqT-#6zm-h=Kf$5gREZ22vmf zQXmFWMy#VitfN4zql_3xffz`E7)Tkhkpi)i0OIGHpZ!{*TNX5s$L^woT_^5jB%~%HAM`hKnx^D z45WluM}b&Jj#x(tF^~c=kQ_0P5@I9qn*(_`Vk0HQI#Qf1N35fY5fAwTrm^REVxRQK ztSIq%WGyA@%ld49Q$gj?v|+-vVhy?A=%u<#XjB35tn=?mT+vy&FDC|z?OU^pMlsgPk}(}be69L&?=%PH z(V!Tif80?-&bhAJb1t*kIr4!r{z-%qcc3GG=j$w%eQKx#H1y`)j~a>6ca|wTGuiMe zbHkJ}U&(W#4a~NVrPRa!FZkU@n!Ul7NB{9s8FJKJTIk%B z*NV;0Y6Uq~aO9g0f3ou9J$Zn69z z{4a>huT(A>#iQEUOKulBCjQ#f;4-qurv@RI$SLU@4>vK3rO->gPIbat6`RP7MZ9}n z&W_E~O*+v|>ihYd&hQm|=@_W7WEej}e6*8_RE1$pH6QPyIEM_&H+ z$proIQ|-iV;48pkz{J~pO#W|S^LxY`|6Bk6ux#W zxykn!gJQW|U+S-CcsIx3tfqrMGsmWWDxvn1;d&A# zzvQO~`pg`^GWy56Fvl6jbC3RLw>c&s=6z&7-u@0(-qMJ*$$mnA{9BaTPo}a@e=nwF zFFjVWogE{Fyt0vVREXhwyH-(vCBh1@u`ZSO{}#4694m&Lv{pR!OxNYu7b{vHvsPS} zrs=9ajS{`uWKlMcETM=|A!6t`Yo$b^bha6IFt9&xmsoeP@vOBH6zk3djJOAI=|<^F zBiNuE?*!Z!I0cwEuLiDm*6_Ky373Vhj!0Kv6A0W1I2o9Ht%ZO1=G`G{fCKR^Bd-^1 z9AUeO?0|!Sa~_W6!D!1?LtD5GZAn5~sy&V3ZPAuxXp6DmjD7!)*ZrUR-2C(CfAaaV z`De=JpZ^;8(BJ?6p2OV6d~BJg|BU~gUn>81@liLVOm9=}+sYa+z?wWOQ&i~-(NzZ)vTm#?b$_NGlT(!XolQr4XR|B5v$@f?G;_QeBl53YTK(>;O5*N% zZ}F}5MG2o-@I}jp)tG_L2(X8jv4`i_!<)_qzmFeHdravGW^;G~^&Rz>;bp+)oUKh+ zcyBx@n(xWl10R#9|E5pXt*3P6xuN4<_E~+77{W=<1x)|Ck94vJw2JD~wR_J_U3>J1 z2p`mGQ2&U*gZqZ}9@IUef6q=mx(@EDCIzW_Q1=Me{$0ENixRE_hxY3_*ovrXsSzzo zC+ZCf`SCo!Ss_G?bS-sc{fmnKM^v@csK@Y64^^taFKET{0%wO1RnoQ8k!2~WT58mz zIUv-lXB?XHe84skqDs1!I00W@vJ_PQ>_gfr%bbC0$D$S(c)zrAD_9(IKi2_gAFPh^>e&Q6*hV9a)y5s-;G^6wxE9Sz9~u z!oVa%m2@q2WLb(TQ7Zz`XY0vNFYw_+y(pwzrrx~k$END)g>P^=tnvbqg)5T55Egm4Zb4 z5ytCnY{_Yfu!Ah`IhfxI=RZ+LmZb)OmKsf7_7Dezhx7_*!D)#o4S9595dU+L&rj5m zWeKXLMb(@dEeT~H2Wk!Ef81#L6IEpW^s>MJAgVNnmW3obbmZ42H&v&22k7r+`SZDj zTc``EBlJy&I`N!Mebn0s>JKjqP^F7Y)4Mq}np2%19%I|{v4Jhs?MXT4(Jec3mlFJM zsauGumKsg*%;?}*7}J$vMe!HsaLhsXo{}@*_Y9h?@Df} zZlx0R@3pR+&Egaqq8Hf1-{oOHtK6 zE78hS8A1!G%bHkDD_Io?EwrQqsxQ(l{A@*wq$`A|Wz)ZA+BILhC!j^QDuk#Ge*Rj0 zJhjkmMO9aWJRKUqN6d2K+C2fXepvIVm#afYPVb@GQ@(|$YR4w^vKwSzL_I#WoD-)3 z;SNb?+FaFXz?hF+sFt8gOMv+WP22I9(bmKRGGj+qPP%D;kWK@{q{HO<%L2VhROy0x zQl%xT@aGxx81-TeNHcrRQ*Dkj+GW**R6ps>{a4AVUKhIg%K}tsUZq~D1uebqi zkr)8M>p!a0yr9znAf1|m=+y560?-lzfT$7;`m}6xlg_-I_asK+kbZG;POUC{aNcl6 z6Bpg)FDiHD%TD_+Y6i_%MMekmn*;x_(QdkP)3*^XbjjS(2)@YArRI?i)ZZ7ii57-^|MB zmh*u;4ff^FM_RO3wN-1W(els`^0}lhAKfu8quHVnBuClC{BYximh4q+)mmz_GBt)Y zeB6jvm{pF^oZAEvR^Nv&YctuBRJB!WsnN>S6mp@w4{w~MF{72M8DwwG20SLTza^>C z)2T0{ZzczRe&05Uo=%%XuFfpQkMkW8O=K+~otKy7W#)BZG^e(NEYOwZx_LpCq^hN6 z4;rl?Q|*iL^QX5EEp=pBY6;L%qX+3WkV;GQbAO+05_MZ!N;_lA z@7L?ZwA7JhDXLm(Wl(iH$U6JnJRx_QL@QH!$mzIT+-X5arlpQ7OHnO@s?4d;gLVhV zfT`K|@!%Ax4zM5OX6bDF_1KO~OC4F3qN=4v58D2aGS97eEzeC7EusOC{A;XuaHdYI z4zM|OsFtFtrAEgSfsl+*Z`mrhbrLPA9U<@R-?Cy?J25SFWLb(TJ@a>hu;_j4eDGq4 zp7}dN@>bi)Y}d|}Xl3dG(GTCj-mmY#XypomjG4EOEeq;ML)TJNP1L$9tjX_xogvW~ zKrke?|(UM$f{)fKX1gd0D9vn?}G*EOrfN2fHiBvmanI-ckTi8x!CkMF-uqD8bj zq{Y_CJS=x0(^5y4rFvCMjgBjNKtjTtd9ik>5-qAdA&VZD=X*+YVOr|QvJ_PltlTdP9AU6*c z;!8TOXIkpWveW?3QloA%U-M~K)fbZGaX#Lw#CoQsjx0-2)l$2X&h-oU|bfg-mLZjVD!I&$QH$WvO1RgR0D_X%|k~tA;^txo6@Ii`O$P zb!1tJs+O8|&8NLgEC=ovp8Qg`G-=JaQ0Mz>f5r1kQrENuTq zrlpQ7OZBRj8a?y(hipu~$~wgbGuq1zfGoAU#^yht^b>VtS&FKb8XZRrgbZ4IlKFS* z!srQL5M;T0g3Yy^^b>VtS&FKbns$>%PXvP@jfU=JcatalMBRc^wbV?TJk$P^W``k= zZm!$e$CPnQOWlH0P1H>LPwgg;9$tn*6gPKXKJyr6qQ0qAZT$D15tiHoXsKy8dGuTr z3304mg`W%=&$QH$WvQ{MrKa8F(R0=?NUK5Rxl`3iOiSH@RJGK!n?miTPfOi`ROyj# zIOK428D1~vQPu@G3KAxj*^W|FV$g&hwEj4=P9|PHzB@@p(`ZS~Ue=Ow0{jV(MSu?Js zjx0-2)l%z$s>eaXC%$86!%s0<|HnfdR=s3{c{8r1jx0-2)l#G5i3yN5wojO^a)QzN zKM_(j;x5}zwJFz9N0z0iYN^pP|0Kxjq?@c*^f5;3|71uayU3zj0zme>&vQ+uiKi zt_EC79a)y5s-;H96Eh$VYcrTv&Ap5k-I#UIxkId+J z;x|auV%7NF_34cE1G6CZt7~w#4RyGQy4a@U4BJ${&!1^$YOcx5BxWIMO}ojXZFVB0+~&_L;6OOnQnw&g zEj8^XkDdUMAmyh$W24{n<67z#q^hN+-Q>{|!D2{*F*n(XJz-o+-GWrL)U=yCdRSQk z88iC~8^%MqmbwM0YN=^AdGzqI6tX#EKU+GWFV|AHAXP0j?Iw?&tCm4*bLiQZ(B522 z-GWrL)J&T^)Bcp6vz9}8cG$>z)a}W&)GbKWM9sAS)Nb`cQ5DTk-DPMBUr2 z4i7F9%q>V&OHI4UqesG(kVAdlx$ozmTua@8RJGK!n>>12T?NVVtTG?F2ESVeY);*R zRJGK!n?miTPfOi`RJByJn>>23UJV(tp$xC|do-s9?=_GO&&dH zuZ6@-F3$6uiQ!u6$gCsS(c)zrKa8F(Q(BF$nR;^Ja$YR*HX72RV_8`CXbFUHbR!I`oseM zjOAMD7Nn}BrrqSx$;u{3WaX!<%C#7-rEWp0T58%&9-XvohMc=_oyAXx=343&q^hN+ z-Q>|BP%>o0s8cLv*Kn?-Zb7PAYT8X69SWsDj&#_^=DdjHTIv?0s->pggECOq)E@{*(@Zwm{CcSjYD49mKWNElAZw&9wj2Zu01SDh)ENwm0wk zs6RJRcbQz5N4kbvau1-TrrqSxdDT|PUv_o*~ZssgM){JmZI^|lE*Ep=pBimH|x zZSn+UlfOG(C5@3>fpd3MbRV_8z>bwX?pTR7c^Qz8d7rZP3#LoefcHQyEq%tyJRGAlQJ>WM9waUlXA>ni z;Qf$lm8>}aU$IV09a)y5s-;GoyaSMz&$96T0m~(K;DeBvfz~`B@~lov9a)y5s-;Go zyhD(Ub#m~e!K)d3MbRV_8z-eviY672x)F@k+?;7()r=^Z8OHtKQqfOo^lJUiPol|S2TEM3v5X7Yc8sx>GEKrTVtmv!Td=I&*kfGO#nM$k8beSdx2jmI!WgKOFCGbH304pF@61} zK5#h1^vxkaOHtKQTZF1_LayFB&U`l&V?MwGA*Qe2XsIL1QdG6Qs_nIUphAPd^!0E@ z;6RA!>*Iiyph~xu6XX^I|C60<@=cVq)c=ke%zt=U=(f^cVC?`X4^lLNnZD`X5I6{8 z;cv22uWG4isg{GyZODuhCz!3r3JLJ1mxX$DF)F?T@gF>hH=a6+l?J{G=^4?N=XPtt z?1Aq=KDXc9jBXo<0EjcSTO9zfb(_>;NKSi*V(KZI26cb<(t zv!C?>egqkt=@x5o>=0W8{1~z!{|UAzd5tBh(v(ln_VhDxY*rcd$M)y}ntle3bfWge zs0a2b%4s%uN&GYbpw75dC)x@-xYV9bp?I_DHo87KbDWH z-wu8W{heJdK6%$BOZIAOR2v3~ZkCBBCv0ZjfnPydt;xj8%sKuOb#2pNYKdN@8K4cM zAH>W11G||c`6sH{roi;4mjz}3qS_8J0Al(|?Hb_MkQK4F*y~Fh|Mn}k$o}DFA*$LL zpbtpAfmHK7%2tK${b@${fum9R4^i!l>fb^Rl-|SU?%B<>)c+4qHUA02cf`l|6Ne`1 z?LT?&ZWDK?cf6Lag?hCF>NTep0{uPY*!ik_!#KhI4^s^V%@2?jsV@9(REGNP3v=qo z`srnXUZsU~HRL0tewK=u^5-&|V?ROeB$VTAoc?55>e{OSQ%lXOYf;r_$k7NVt{bzC z(YARQ#Pn_8X27&BF#nwus6V_c)T^`?{Q{w%-+bQgI-_3x3Zb9dB%ONkn^C{G?xp&$ zP5)+u>`6zKC3=+xKud`Enyy{*gOQ&J)aHiS@*-o8t3PIv8T$P<`S@w)&6cFv0#wYa z)>5M#e-=<1Iju0i9eV8hPsBVuT!@b>X)&s_ur`O#G;gX}OU)N~v}dh2q&VN-!$1w{ z4=)RiRqdMJ6C|wBi}NZzVUxEWVLhN{gi?k! z7P_t4L#{zg$7Mw2D#Uc0MpUz5tU4Bs2QdQp!J-1P}vTmZICx%|o&0iLv zO1ITUNFG$ZciL)|+Ir}DjXF^y>iMA8Ua*3ZPEE5l>eMu-mb$Grp{o3-IwlXcBA}wB zs%=VH*cX6(nFh&f(=13e8Fdvz)hp)ARjH;xFJ#oI*Qgf@LwBFN;QN3mV$`W=|3Rv$ zsJkerJTE>&rCu6(G3b5nPgALCn_?lVbX(DFQyf&vAvSg4SvyW+vxHH9aXt&DUM&gz z)W--;`cvp}(9K^KxUGol7Dy>neYs*kl?qX_GwLSl_Rw8RgsV-tkNk=MIjW`2s8KJM zG3usXEem~O?Xd5?I`uz8brGmJpz3o=hw%>eg!*ZqBlLVvqWRGDwQM2sors!!EZ-r| zQWsKaKfEk30BBxa0VxM6Pr481r=Lz^+o6|-KEiPbZ`xoRGc~1R-AKNF{`T+GpE^eK zoYf4}EkKpV>Pm<+sQun;5Z@4;@)K2UQ;x!ZDfP11%R*GQp~?!Vx|P=ue*4@sW}?n( z59Gyy)-e-RQ&av!RA~TcsV+xaMNl_=j!6#zEHnVNqE1&-ZMuz2)JzxLMBPNy zoT3R^fGQ0D6E#z>CLygVsGBZ$1?bhF2X*bsTYbr3rmJA;b!1y&01(wAh&eSE=+!~3 z@bqr{^6QnXB6K(C2~F{RYk3>fQb)EWsM1(Xf|ye+1>GIgcGVlmPcL4;Ow`36UDbJ% z^i9Y&e_3b%B%w~CYNECn`W=XA2CxIBb>H+!wW%p4>d3N0uhIZWgLr_dXRO;St7Rk)uQ8Q5Laz;d*wf+s_8$pM+Y}2?rQ6Cx&9q%{LYfz-nYJTZszgouve0cs zYrHq8ok|+d{+L=#-8t!udgWW35p@ariERBD>C`l4)XAP`TZk&{0q9@X5>=~9`PJ=- ziMmtuvOiEGoo>TAMyh0QL8`PpscWQqeRO7~rLLv+|JZvAC@YTjU4L+Q37!cK!5wCH zHSWP>aMxhL-7Uchu0wEl5AGT)SO^*j0RjXF5G?=qt@G8Kog#Og^Sk%l8rJ=vS?gQX zPw$%jJyl&@U3>RH&qMv<1;GkWvYatP6zyPd~j*h=V`|JKv$;~ zKTDMn)l;==`~1~&g?#lFH8K~CWkr?s9jfwUUO7<>sF>VmtJ`WBP`|vWvc4l#j#Z|v zfYjy_slC+xK$g~2vF8}OUN2X9kpe9@7#(+ zdVN|GT)6S)Ui}sS91tT8wD$V0_o;`de*v%i|2XJXj#V=@%>n24sZ=#;f#45h0Puj< zf|@zt{3^IM_;%bb-jz|w6u;FD0oO~{-CHy3t&iUn)&XbE($h;e`>Cq|z_EG|Q5UIK z%}TB6|Cz@-1g;0}Iz6VEmby^?|NVE2=g0Q{y$h5qRp+ z*S?88ihKLOjlsb=+A1>Dn}Cfv(3L7xn)<0wwV9vlHgI!r$*WI%S6Y4M?FF|0w_MOc zk%6vM_aGH-nX%V0goJ37R(>i}Z4EZ6+re$X>~+=$x>DVZRBe%(2Q==SCf*+K=U}5w zwRV1L--6qNIhI);=t^}LQguLTo+cGfweog@JA#cm)jIj9?ErrP=4r_KKo_cuRZC*I#}dTmm>*%|LV$l}Yn*c$~bt3v=?~L( z*AQW<16`>eMXI4l{d0tNT7{F-Fkz}tZMdHr)kg@kDL_}MybUoDsehkUL#uLf`cjyx zROdZaHigWljS_aOdK{@oBXv+gpH}7MG)9QlgM3YkrtD(qPGJEWe5)Vm`; z^fC2r@N{9SQGEuOO(C;sGldzTm`x$GY4e30tDZsX1xVd~X$h^$rS?K$s!@Frm`x$GX^Vv& ztDZ&bB}jd*=kZ`(DEWb8sW8>3z6{K!klD25!VXor2;|C%ccR~rs!22r6p)i(O6T?B8E`i@nvBlTvazVc+cR;BtDQK2f;w)&}E0&kQ0 zj#Y0U^>(CQvudJNy$=3XRH#a|9e!$;!8@hCW7V5Ty$h+EwjHHaZ-94;3RS7L$4~7C z@Ls9!Se2*IKBP9M(Jk-}}TyWqp% zt@(zl<&)}qcfd!4bH!=q-3A{8H~3?;>b|GB2Xrw5a9*`j+iE|d&M~M(it&|dl(4l{ zqn`hdqmO~VBIj|aY@gjv_u>Qa3Gl`m9ds|>1D^zs{iKub#rxpzq&|BY=&D!k)VA6$ zP&oy)thc*;2)%k*dWmC`WAzN!j8%^1v%;I2RrA>E=cGOv=%QEo;hJjS`>An2oEH_U zv)3;O^MG?KUzGX|2LM&=)V3N2z$HDuXyC$hQ_Bb}LiyE1enZLT-G`#Fem1FY;)PAlpL#0pK#`_I? z6I?jPWR<;sLhmv77I@c%k!om}MEbP)3EV5vB$auV(*f`ZDz}k(W=N>2em{Yp0qzKI z`?&1Ax8w3sRe2WG~+Xn_lJ&aUaa4P@PSC zAk3x#T@3(^)nAeNRo@kAb^A8@fIkFxIlo!`_-jJli;uvj7de(6gH10xQso-J9-B|O z4=P^-OjiBY#tR#(hu4i%brZ$&s^Yc&?mt^m)r{4tMMBllg7Lz}q8YnSQ0IwXuU5zQ zxbRVZ29>8wpKqFKI6I!60sP0VJvOVL?nL*hyjpQG@*kTV0MDQkSbT%3I4Z8kUi}^X zFv==*;YFPH#x7oVbz1$7RL`NZ>hT;EQZ<_Q9Q=Z+-_22tCr0#MgI|L4U7D({Y>()@ z0{;Py@_MRz(kGhB8Gvf9{M256UxO#EoTFAOdad4o-+&Kqo~o|Deyynf7Hrgku6mVf z?~povx7BLWj<@P1_)lB6p6U$8L0R+FSEf(dQBM*hH1T{5bk-#a@g7m3~q2ADO&}=Gp2T%l@i7 z4P&DImXmYU@7bN6R`%p%A8>m>*pnB#H=KIa?lt>rX0Bdu+pSRRHpOu{S=sZXef2U| ztGZd|sso+ldGs%lIL*OH>gL2~UNy|QJHh@xj>c*LQYS>} zjf;Az+P&lG3uz*7q1Gcb^E6{GKgc^m4Q-y>`xBg4>XWJLNR=1LSW)p!^w0(B@|vrP z>g3Ijrfa5};e5lME2G}F$^u1pq{>Tx8LL-QFI9CnT-Vol_Nr0;J2mS0|2XPZjz#`~ zN6{p!)tyH7m91{8@-$0|`UO)hQmxPa;j&jFc^N- zya?dr;A#8Dsu`=Id7Z!~!2UlDdX)np5>lr?>NYD!Y89hOb*h@C81=5Ge>8klqabxk zq^1gcH7Yn2*z{s_aB6v->b=2d!$;Mqm;qo^O)o}+S{kUCUhWD0-n}Y6TX8IY%w8)x zN?rf4h#sqf!kI4?)V=%(_(+kyip-;sR+#lUW*v-Gs&Z_m^Hby4O)uQ(Og@jjnnBda z?DdSoRClOKwM?S6<#=v=8f6v^IF!TV0Ldb1WU6NsW_^dMJi|W~wZ^{`)ss^;;i~U;X5;d}|ZZ{1F#?{J-W3w{U%zdh);3{BqA1evC zD%ji&WYemF!{KgVVx+E))aH%~PqP}ryrsrot_e2xsS<%}fz5p^hrP;Ptc}#B7um}p zVAIP~uLCxB1KG5?!jA6-@_^PuYI8S`2fRMm+zn(eHUOJmWG^=an_hO*tGrs-V>204 z8bQS@3e8wGcLPV`^@RLIzaK}7Kr>d&-9R%I&Di}2YK{GRbu2ht_^2jF>LySz-vruY z*B+arP(P!4RbH*^vB?3@6zb+~AbYhL*xU`Y$1cZ#g8@L*6i{gn6>~Q*CAbAuu(=v>O)vm#?gowlR|}stKnA292o-ZTkXNHYU~@On^s>1dm>#bWmimtG z22w4y-`zl}lg-^gsu||pKcgNFcLU8>HFpC|ubR7of2YP%$^XaE%8Fxg2o9+EKGjyY zRe72XMSb&qE0rCn^6bch)WeY4+ziSD9u77)gEE3gfX#iZ<=`gnPb+53jMO8cV(tbS zRdb)pG{vZ|M*W82qnZ_|zm#6&-M~-5U-|W7cJL^9op%E_f?I`;s!=fmz^IyD%m%g5 zP&K{09^A&gD%SuUi(}YpayO6zV5~52p;3Jt*xU`|Q5Y}m_--K8Citmw>`oNs-9Pr~ z*P=$I`Xph;cLS+5S=4xUkEhWTVcz}Y0GTRkWU5aSc6>LGYSTrHclS6TW(f1{9}oCU zQ6p1*mayZyfxHCFMr!lL50@`weaJ-O3I$J(iFwSrJv4z>N>1{G4|XQjX^z@=JkRdKUB?NvLq ztyTzXE1~9f-KsXEysdoTRp3)+cBsT@osLyIwXIedYOA4k@X8L=IQ2CZ3|<2+b9lE3 zj=#s{X=SIj)rvrEEz}mD*sbDbIj@4i>%j5O?NQ5S9&@Rh1F6>|b&`-O-o#G*y`10; z;2edjYvzowQF!r$Y91%EO;VqXNyNpc08Uo6S}v$;hDzCFwX`Z{ge}5Uv(+7{+G@F> zwiRkkUxsK^&IsFtscNe`RJGOeKy5qJ`dqB1RXHPkD@;{e-Jz1SD31{xJC+HwFJn01ZqY9=%`h>oH;5?Ra@Pms;!m~xsO4u?xoIJm5apV!c?`@ z9jY3&RToNXwM58$0&0ghm(k3n_eo)@8gpQcp zR;>)aEKF5f-JzDbwL18wFjZ}JhpM((1*qME z+Q97fv}z6TPr_8S)g7u*zJnAWU_Ks_eyIk-BQ$DjpB8eZcJj!KOWw`kc%hs@fMy z9`Hv{sd1>kR%b6h7N(kgA$F+B)8sd(lwDHT8`$qx-K+j%*B+a^us%WkDW}Wo`VLh& z`8-AH^Bsb`fuXULt!}IF!ukyLyT&M^>pN8Cl>R$XH_E8Io~2VNTisUUh4ne=|4_B0 zuJ1^d_jGune1X(AgNk|Cx&g;G>59qp%x8ly^dE=p-Z~>8i1pNrzOw$x9WD&9I7^hS`4W5 ze^)^@E?3ys5F8V{;aDcssoDGLcGDcHHicR&s0}((4|9K^>c7yVXE2c4pnV6PF6{v_Mpxtt=bNp zRG6x^xZ-dg;w1Jm$brEwbdP}+G@OT@*jU@?)fN~mxOt6NiR%QTiv0m zt;Xd@2B>Z6y;Q4q2J;_-lBsH|J5;sRxX8-{wehb?Yt=5`%)(T))g7uDwXr;gBA0 z6xH)ceX>JUTdfyV@fF?oicM z>jSldPz%1gK&x`mS4fzuwz@-ATdgnD3PUY&l?hsvi@qYlRJGL|s@iJ(pcVwR?}qfz zs$BF13scorcc^Ns^@o}dYExR((5hVYDPgMG>JC+HwE{^wJzM{fZwbdP} z+G+!#Rt#$6az@pvT=W$ermC&(P}No&1l1By8iYdqOYtlRc&>Lsz&YL;y^{Up-?LawKLa~ zYUZM^yf9UbI_r}is@iJ9pjH8Dvy#Wrs$BF{6sDT3?oicM8xFP4pthu1B(2ItUnOCx z+UgEfZ8dvQXfOI~b%(0FuvSK|#d?%h1+Hx7rfIO(-O)!H}9$K^~_@XnWM)#F(Q zeO!t0zcP67OJ)^+&^?zogLq-Bj@0QcW>&kmr1aV9wi?&BHBdkDvD|88;Rr5ID_&S@ zBK4E?xz)f77lLhdTa5#x7V0-E9;_0#isDk0W3@I?FWX#N1!jz(c%cme_stTluBYA@ zY&YctQsstMkEjQyiXFwi@TzdQh9tx28(w9rW?S zTOa((pvo#ROUn1u9je-Dym~c&+KAD$RiTSBeZ27Uzb^QsOHI}Ix2Er@J5->ygL} zg0${d$vau~g<1p-f*!g1uy^VkumYcpSzB{@sZVBopo`nV=&S&$Ho^wgBByz*sM1)N zDkGrD|GUDdRmBbYG5kvszaIy8uBkc~(Nxrm+`Fr6b$?Yhg{tGiUv=W98)3c3UZ(m; z^lCHdRdO|`P6!{>FQL+0diCJo%gVo(sqU{zrs~)3Rhe-PqJ^lwsdQG^>i(*1N(R(# zDZR}4Kv$>LR-`I}p5+0rk@C2rI{&j0GF7Nn9`jo$^H(Pu zRjMyp{;}q8P-W-XYE+Mld6vCM)%oDk(v+(`l6i~4rQ|4(fi4CBRhc@TTmoMHm{_Zk zsY(vT>m@`reaQsg0&q!DB?DckasVtu6cZJ1SsbkrU)0H=c%7;o08~2+o)bP}l`0AR z)aHSU`>FdkrEdI~-U+-u-@Pg`Zb5j`Ys0%o)pz@fiYoaVyq-`7MCg@>-XdZ4G8yP% z02tLo(yLTsFB)bqvX{vmyJUV5WSI4VE>t;I*=wz_5h>FsHL%PT{hd@B@a`!iRISUG z^%p;F!8fB0Rdp*~QAbdJY4{9)^ho_VRIX$jt0LFGt`~j&>g-jjhD02s9yGtMLc#68 zE8g}~tA^fjd9~uosXbD6&of@#?0H8o0{zu(HO>Gl-S;XC1Lh+-V551&{%YIPXL@Bt z_3XclS5H>|8rF-ZDIbt3mnR*edLrr|wJrYZF!g8o#;b=vKhx{g)#2N#MvWKNPEb7@ zd#Fm4;ZMB?qj||*wU%nt(coUfRJGOZra4rd1GU~zOCC~2tBwKp z5vHoGZa2-L>RhPxg<6tWoq{+3#)A6^Q`J_to90k86l(pU_9$gXMb&ZO0m4)@>f2BE zP-N3IGV423tp&A#P;1$;rA|E_JV=;owz}OkhpO|SHW+GG*EG?OF z4b+B0t>)_*T6H3Lm@rjsb-QT}RhK|*IMhzf4%DjCz$1jIYOC8#bEvu$Y9pZ*`R+$r zbvpPrX!9wkgwTitG&L)GO_8x6H5eWPmCncy+PRJGOZ zra4r#)ok_oP#+8RGh<)t<;vIKal&khL)8UHJszn`r@yCFCV?jiQ^i)Z)g7uXgxW-? z<=c8ut4;=gElgEg-ENvg)kRR71htlx4r$dX;K{;NwbkvWIaIZm()Lo@R=1nxP?gv8 zDd@!~jr*u=m1BBbj!Xr=EYMHQOBB`PN@|+C-t$5PkBh+R;7&cdtHT4G{*?u<=`$qt zw|DT(AJ|{rR^!roCh8|C(oqfE;OxE?Kd|tcK1)(xuNdF6)onF?V402jEBCfkrK31| zBsWz#R_7q~t2lXeYF^{#ipuKr2|T+g;i$^fBot~%7iZN6l-KxqqE1y?-ENx0(~8&h zZ$y;?z*e=J!pUkr>d%;(&h=@5y7aW)4-ka#|w2dM{0KkIR>(qW*4UDvxV`Wulh(Nub9I?Q(g&XpRgn zdzI_a6-dp~>f)B9o~>@H@j|;2^*L5+9LVfam8<+!NX^MA=tdIHR=3r7p-p)Y zE>-Q+Tm!5T^#YNydHig(7R)K1O|hHiaID%Yw(3_tk=O@_pU|v``U>vIQbN&XT z=JJE5m91i{^6R#ZqUv}6@Y|D3NX?ZM&v;wiR^!)go26-vPb+>WwFRlU=;LH$tJ`Y) zx^1g8&GBTl8mYG-wRw8@8t`_oc_Q;F@VCNztno_l4sbX;J={)htF3_APN;nVPY>S+ zm0eIVPY>S!-VHWS4_^n~12#_&Uk~0Z^&LJu8W{uZ)VA7MsO>|=58&zH?A86!OMC=3 z$LayF8LJ%22Zi~BX7>6asqgsd;Z!^9r$+T7qC$1{`cYvXaE|3;Qs3bK;0G2vwXMbh za9mXRv~ZqgCq&ip)5AG7Pl^hk7S0*rJ5eE1?UXQ|7EblkQs42@!#VcONNSEfj?J^8 zMz+=Mra4>#aBQA~nt87ER`B;=^W5t#;PYVf^l&!q0yrF=9=;i=FCw*h0y9suOTv75 zID7dr*gV&I6Zi+PdG58tUS%&{L2A>B?ByT9rkAOH6>Od!&Zb=xcKq~k9?n$HofeqSCKKm9-G^t@)KS#50Nrs)jU0%PiaaKg@XV5ar6hw zW~`d0hnulz#_l$#-}dWOKDFu7@KOC1DtDk_o*ZhAU3+YXLN$kbRbH*^vB?4OGt|w~ z!`Z8M!RG1V_Soexa4-OEZ0a1M~y;1A&G;q1jX zP%%#rx7BS`o`!ExKOCMOZck430k;Q)J$X4A0GzDsUbTD8zM7ea{Pb|DCB`4qn@4a{ zoot>SPBp`Pdbm*!ho^^|v1*OSxL1Wi0LNlN_L@9BoC6?{Fdw;1^~7NF^l%=9B*KoL9!|BSerg=M9|`km;q299 zqDH2Aa$(0$52soRQRCCVc^ah@=F`GCKvIbsnd+&99X~ysYH37`PXp(G_*j@v3+Dk3 z6g4u{KM{8P^l)AR(jv9_;)lzZbYS!Ja8CK@!RG1V3vpVFaerEIUZq+FsF4fsVW+|h08w*wNu+_x1g2{YKt~b*J=;J*}*jmtWY(6?c!3^PHn6G1hpJcOI38L zR{Is46Wk@yN|ki)V3(?PYFq6#)N(=XUDGLA?EyHq^y=U-qg<-mscp48P|G8|O11mo zykL&i91*{EscNUT)qaLrKB#f5Qtci%KbWWC;I~s2( z>5l0xRZk;zA*61%ZjQRsd!{-AE(|_7a)xHk2t|ZjwppwvvmmKY#(d}EQvfms*lK5? z7K|6-HJYMTIV1Rlsb;G?RJGO4K}|uebN-21l{11TOjTRmp{lL+J=BUqZGEhJC+HwewIb4z(mVztpOn5lRSC)mC??YO7sV5az-d6OjTRmp{lKR z5o)EOwsq_vt;)%&j4)Mgb%(09+9jx!h1%02y|pUm(Q?96wbdP}8nu~!?$TLs<6T3 ztMLO(OF7McDqQbFP~})HI=-*6)%Y>7m7G>j@I~==9l2l!I>6(?`yjwulE+*4jfoAq9Rk> z!3=QB7hRqB%+s#2{RQZHUJSgZXG?hd}O zrLX1)Q0*bC)xbTazGGFY^+M{Td**7j=iuJpQ>A8VjtI3r!c?PrU#ag{m1_Nvx?rj) zT8#suKe*S=<2Cbu4-lpr)dxy_hpPN=O_f1@Dp#;?FqmVPD(AsNgd5H|sPdwI2K*tO z|Bs`|%BUJOo<>8V#?y+bk-)=*sp{VpGL;>uvR7@jAFyjU)OecttCFdf6u*=ye0tTW z8a19aBcRF|fU1|FK2n&f{!MY*t41wF@&#J$64btg8fOH5RWj8IVyu1|KD}yGjT+DJ zub|4wimDf(K1!IX{!MY*tG3z&sEvjiCog|hGS%{uNqaOW@ZG=t5h|U6`893 zO>x+(=)3@`jKPLc;bb%x%*l%?TxpFHZkqR$;v#Xp)F-35i^&QZ1E@B^PmS~FL@?)7 zs&b|EwJ_DFK1u33R;AixKQ&H9Q@~~(s#Kee)SOqT#>r?7*vz9`de0T68r4IkzGGFY&GS>^Jo*io^D5Q(fo8ri z)u_He>N{4Y+Co1yPDYEsW*+6o#Kpo?qxur5?^u;;Oa0V1c`XB*$%~WIa$%}beTCF_ zta=q{E0MZ(pCzi(!;ke8ze>3A{fPP!uo}E@*J?%n5%t#yvp&$(ym}3()*^M*g7dU0 z2gEvIsuSoH={Z$;`g zt0rnyPF~xDsYdnfU^az(9sI4ZW7V5Ty#uM6wjHHac}dtQOf{ z0$;d%%r`A}Veb(5FnDeAX~ATms~Lc)kNBmg+EG8Xec)r@+r@ADCiW<j`ZvcU!}KgwCYtq zRW{`s*fa(B-j9PXf?yCZ192T2oUA6z%i&D}-w-u2C$F2roXj}6-IDrbpsQXzhg3fy z_07QPYDAwNTIDwQ;`a;Gj!nJvJbFiXS@-^4+6efbAbh?D_#Uc1L#2GfG0OK%H;?Lf z{nR<{{vu3OPFDA%J{jnuSCKJ*sqg!x=H&DM+;06KMHN1J>sMhmg-v@X^~pe2sz;IP z5mNsgp`Gqksy+5oqxx^cROjUNMCv>4)niEg6sdooRYR*%{h6q+*QoZppBg8x=ThIX z>T#rgfz&|-eOi_3FGYo_RQtnEjq~m+sqa{o&jEam)UQru(5h5_BPvv-+FL(0&cpAd zzGKysNc|^LKW-COt5Q7x|Mt(QQ!Rop)p$vW2xfi9s^1}XB&6OQ`Js=!NcG5~LZ(_2 zKegT9s8Zjt>M5j-hSc-&?b51Lk1i@yrCJO>H7-|TN`1$wr;$1qQa@}qUaL|)wy02* zYH|G3xCo3Z^&P98LF#x&-F|5atxEOyqC!=wCGb<@Qaqv5cdU9AsS_dfy`IN|xdxzm zVo{+g)spzB?FT27`VLjO2&C#qNc|>l@*plxsFF-nsD1#P+)phK%az^Xvs{T0@gM)0 zUf;=$f>s2qR#Cwzp%x)cY~RC(8&wo=DsX6vXuj4BwyT)n)Zj<)69=WQw^5-buGRq2 zkva`h2PY^QTaFO302TuuE8m8`DkLt^~dX+Lw+tdGAP^zg*U8!;a#D-cR z)b2Mu5_~c492E!r3Akysslj7w%vG_#X~Bs*mk;ipc#g`7UpnW008rJasAErqZ+4v# zrfSs80pEA!UQojUGgM~$()sXFHNDs>R&-ykM3ckDrcpDhQF3$+Iukfqt6p@kic5ch zQK|Pjwy)Oqv07kl%M!DdU zzxG#o@k`g;4*;r0hDrvgj0~FX8{K}dKCLo>Pkb}M7a7bMB9m~Xfk#v}{L)Y1t7_CZ zuBH3Tm$yCh))raA$YSeg|WryldckvI{F;=e1)foGq-JxPkvT({ zrm;Sm#*S2t+NYoQ(P{~ynj5OVRxLI2w8|q)HKWe@j#Z6X+h$d@S|X_Bg<8`_!J0Wk za6cr)u{E~u~@5_$*VW!QBGcFaw1dBsI$I9RnF$g(Q7{RT037C6~Ffs zl?<%FJAbIJ?nIrbGJ-vD#I4QMooTaFTl`Y`@VNwJfJ#xQ%v{w&9o{@nr2rQL&(2v( zWg9U?nWot4rfCi@0qLPu9BM^^dZ`Y(N2rwG65v)_s;Xy)-&ePr=1?^q)Jj5a#Nr;R z%H#nm6}S|*Q~D|@=Gphv?WQ?YO$)WsP^+4&i@Khyvq}vv1FpWds#>u5eRaEO4pl#a zT3M*&8rn`}PToeP0ha?0N?S`M&ilT)-86@)flwaYNT6C%XNuyy`Wbjv)`Duuof&#jSP6XnyiYx7iT{5MuU7`&ter}I zHFccJMW9Jt;#dlmD|AGdTGC3z)rKYG6jxqVpmy{|33Ytk2*nF=Rq*qMsnqxy16-<_ z)Y;Als=$k1gsEk%SzO)iK0tBhRSjxyZuwM=CtoNoZ>obo8=Ofkx!Bs3Dz8?&I@LgG zejq8dA(@`?Yl6qM8>^WEqLwf(w88kLlHqf;;?>AsjaRGMP%9raK&$doLWnR`ZFNVd z6?@fIpQ`PjcQFqv@wi>Ti z^`Um8NyfjZlBrr0y;?qedev6r)v5th%og->C zs${B`M6Xs0pI)`qxN>R+)s{(~>#@qKS#x2k+UgE_)mGzrv<1{kmHzoJs${B`Mz7Wi zpI)`qxXNz{)#W`dYE>?0S_xCt^s-TR*sHc0KRdOCTE8Vn{-R2zYFYGZ-SFvETa6#4 z`RIb4m$qqDu4mf{Q`PjcQFqjsiwj zvcq1r)wt5?1hp73TKz?pOtpsS)t2GYt47tRWr6A!Q2oAe1+B`JS7%|W`ZvXKui9!{ zX?1~GyS6$1qDrP(WAtj<@aa{fYSgkqwJTIp&rGCMx$^2JOjZA;IPO(jjVrD0P@6sV zQ7~r&qe`Y)Q}k+w@aa{fYScc3Y7eLe{IOZ9a^=-in5zCwaonp$ZA)-e#a`q}s~6OU zPk5&XfKeq=tvPzNbNKYCQ8jAWpxPU%X_r0Ls$6;X5vHntQyllIt;UsBU#Jz_d-E@< zWU949uXYcgUNx#lEjv{ELG`oC=d>zUUj2os>faQ{y=tp*r8NL*>z^F_iz=CFt3n`s!_`U)qzlb7jvst<;rW2Fjf7V;;>h_2sCQt(=FF(X8B@PT4rTszJ4?6tnXOW zhh7_uUb|GZt{OjNugV1;0-l!GQ)%8FQaQmx!Num5Rpoy>Ut-9SbhpItP8ws^;W1FbEi`S?;;4i`Pr{w-yb-QT} zRf|CFE9upvZx^Y&;8EbpYjUdSOWs$vo90lpFw{mvjbpX(@i{6Vc#QPw->KV8bEsMf zYGa|s)8tIG=_)^X9GGME@6_$4IaDnOwee8n8NR6HR8;^x0n8cT@6_$4IaI9#wTVz` zw>FjvjDJ{p;IF~`yd>(~y(6k9coKNW!8B^13LcgJjc-}MZLU7Ca$dDl+iJz3HVtY&Wy_|rW!8pTpcTRMFblbzaDD-E?! zsI~8!M)fT*U6ldP1J}QkSnX`>^!Zj?IemlF{NtpH4R-suvYHRx^zm1kIU_6(4r%|+ z$H{D=)F(TfS8X+}tQJA#ShNmWl{3O(VXE2c4pnV6uB?_ot;DG^T9q@xQempv>JC+H zHLk3dLG9aVpJ-Li2+M`3YO6a`wbi(?S^>4Wd!Gk$>~cm}DNI#c-Jzo93`rC*mK` zuf><j;6*4*E>}~eOurk z>U`a(vuR}0G>593e3Bz|xgjZ4;{yMfoXACLr&n7rIho0;YsT#A%1@1znE_5mOsuk% z{Kq3?9Q`v!rcMDhlbUK|qh=VgAuOGo=7B@#6HEUo2m#TJZTdfwT&misZM6`norK!8j``GE2UHGND;d7JSs2Vk1Sigr_j%`u3DhI@QVXFE!h3xPW zV5{-MdI4(L#~%o0FLOX#6sDT3?oicM61Jrs3 zUI=2Z@-(_4OjTRmp{h~4J3OhP8kZwKLT%KSaWr#=xGGFlqt5zdhpM(37kSs9mSc2e zt;%`#x-ivjb%(098kf#Dpq4ew3q1qyYIakYs5wYS^eLoIno8Li4oLLXtO+Uj=G9IDQRT3@IoiPb5H1Av!=e!^6>)$OJ^ zR1Jk%f2ci5*-=rImxKYrR5j|`Pxnw{(=;;cJ5;R&wSiD;*|Mch%}c@{VXE2ccGDcH z&V$-us9jytK&$eSFhrQDwz}OkhpOK|Z79@gzOJEFc}W;1OjTRmZkj{YB~TjUPr{sxF1vNT@}=`;k_i4*pV@s59op!OBi`s9hHRcC-l2~*Wp zx0~irbve{VL+wf5s9JR!oSckqGbWr2QbUZSWTS5iNN z`FhU_5j-ver=xzS9^KX9fp1)%R=lRqkksGaiR0Powi=h#Gf_WDk&bHMh8HeXc}<@s zsjpXz@7e0M8b7eiM*Wq0TdLAgp1V}#Se=8^uj1s@sdPP92T2E#URk?CnBE5PqO>&RRmwTfA zZeuEsYk>QrmibAb#|!Op>D8h+GPr!Y4cDV9kea8}#VtuaTisUUg?6Pht;T`OE>*e8 zUxn11tb%SN@oaTljThS0(zKqRe(F-yPR%vI8c{D0DVxX7R{VnzPWfz#-86?|)mE`p zzk(|NK!mDP=OKm{EpNm;rb9$*yW__TG|JNFw6F}8Q*q~bEG>;Wk9$?Bh>LZ}p1g{%4 z{uKrvjPC#A;BQx`Iv2tJ^nq$c?%h?ky1y!$LRCJa-Tx;XR3~n_p^TbQABkRVCcVn0 z@TNPT;qL$ANcBso@IQT^+QGq>m47c&-CvbVRX$GM|HpwUGtNQ$Dr56arL)Rb_g7_8 zGNArL)aTe`eJVRphn>jv^3>vk7V9ra49(oWT1-yKvn=zErz!^k)%Z-zIpH%_{Z*(o4=Tm|)cu=M zH-1cy&lQ~SUX>ZQAUx@{;oYNpo4`dymHZ9ZtN}u=MD+aE2xPqMVgUS|s_8`@aQ32q zFO%)2I8x)*j$Q=%tJ`Xv0am*2RTu`$M|8kO^N9V`wx`eZ%8KgQe;Kcyto}8u7fn+>AXP3; zIzshC)In-n{MTXX&+?5|4}X59*Q=|;w^xlCFRY!QdN}q_l`6xZdJ#zVs=3FiHPK${ zMc~@-QOy9g-*CpqoIOINFBjmMUOkj;lqw$hr!wkBH6D6>oqJVgY=zW+V!7P*MFkal z><3?6Z~%I-%Avd}SD8n?I^ZX0%C3^Z>QtiVzSiKU;Glga)#GB1T>ed9OQenjwXY6W zQFj;Y^wk4L2JfDnP3>O!zPjBsG|bi2ss+@dK_GpSqy-dDGq z=1{dc)S^MH*YPSUbV(Oq18{WkwB#B8R^4uzL)B(bivhL%?<%Oq6f@6X=9LuCS zHG5y(Zkj{YrcjFowLvFKs?ZV%eT~4e!IfrZQ}I7~U)^q+L)9iwdnRXi=&;DX#^B$< z_fFDZa2-LDkr0O=*5&5@A;nheXBTG#RpFfxum%*IDv4~Bw4&R;Dl12>`>KK z<7AZxDnXYHY1PlciG`_Vt2a8hBa+UgEfZ8c6-A3?3#Lspx*)W&RStW`UK(+E@5R(Ggst8t$F7;4+L`n2j7;6P!j+UgEfZ8c8upFl0*_7qx` zpJ3ApQ`J^?sA{Y6!kG?gnR`A8<|SbsT+$0u)mC??YO8TMk^yR4dN0+goxvG}scNe` zRJGN($jbz^@vlm2)h^)7!c?`@9jY3&vu%?p9&j$5vp_Au@_3rNg0l)!)u^*R*`cbf z#t$T)LT%#xs9LofIGZrlY;}jKwi-X?Wry0_+Hdp>&>fsZn5wqALseVNUKHAkK3m

SwvO`r{trt}CLS^u)V_KDq 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%0DEeciRwMn3-T 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�-id#Ogk!99bxk>iL( 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 Date: Tue, 7 Jun 2016 00:51:06 +0200 Subject: [PATCH 60/63] Move Defuse action to main action --- addons/explosives/CfgVehicles.hpp | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/addons/explosives/CfgVehicles.hpp b/addons/explosives/CfgVehicles.hpp index 68d0ac1427..dcfb01c489 100644 --- a/addons/explosives/CfgVehicles.hpp +++ b/addons/explosives/CfgVehicles.hpp @@ -44,31 +44,24 @@ class CfgVehicles { class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {}; }; - author = "ACE"; + author = ECSTRING(common,Author); _generalMacro = "ACE_DefuseObject"; displayName = "ACE Defuse Helper"; - mapSize = 0.2; - icon = "iconObject_1x2"; model = "\A3\Weapons_f\dummyweapon.p3d"; scope = 1; - vehicleClass = "Cargo"; + class ACE_Actions { - class ACE_MainActions { - selection = ""; + class ACE_Defuse { distance = 1; - condition = "true"; - class ACE_Defuse { - displayName = CSTRING(Defuse); - condition = QUOTE([ARR_2(_player,_target)] call FUNC(canDefuse)); - statement = QUOTE([ARR_2(_player,_target)] call FUNC(startDefuse);); - exceptions[] = {"isNotSwimming"}; - showDisabled = 0; - icon = QPATHTOF(UI\Defuse_ca.paa); - priority = 0.8; - }; + displayName = CSTRING(Defuse); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canDefuse)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(startDefuse);); + exceptions[] = {"isNotSwimming"}; + icon = QPATHTOF(UI\Defuse_ca.paa); }; }; }; + class ACE_Explosives_Place: Items_base_F { class EventHandlers { class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {}; From 89db8bef5a3121a63e879d799fe4d259b4aedc78 Mon Sep 17 00:00:00 2001 From: jonpas Date: Tue, 7 Jun 2016 02:22:53 +0200 Subject: [PATCH 61/63] Fix wind info keybind string --- addons/weather/XEH_postInit.sqf | 5 +++-- addons/weather/stringtable.xml | 6 +++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/addons/weather/XEH_postInit.sqf b/addons/weather/XEH_postInit.sqf index f085217c56..f8a5b49267 100644 --- a/addons/weather/XEH_postInit.sqf +++ b/addons/weather/XEH_postInit.sqf @@ -29,7 +29,7 @@ GVAR(ACE_rain) = rain; }; GVAR(WindInfo) = false; -["ACE3 Common", QGVAR(WindInfoKey), localize LSTRING(WindInfoKey), +["ACE3 Common", QGVAR(WindInfoKey), localize LSTRING(WindInfoKeyToggle), { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; @@ -39,7 +39,8 @@ GVAR(WindInfo) = false; }, {false}, [37, [true, false, false]], false, 0] call CBA_fnc_addKeybind; // (SHIFT + K) -["ACE3 Common", QGVAR(WindInfoKey_hold), localize LSTRING(WindInfoKey_hold), + +["ACE3 Common", QGVAR(WindInfoKey_hold), localize LSTRING(WindInfoKeyHold), { // Conditions: canInteract if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false}; diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index 571fa9c25a..908e73ea3d 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -1,7 +1,7 @@  - + Show Wind Info Pokaż inf. o wietrze Показать информацию о ветре @@ -13,7 +13,7 @@ Zobrazit údaje o větru Mostrar informação do vento - + Show Wind Info (Toggle) Pokaż inf. o wietrze (przełącz) Показать информацию о ветре (перекл.) @@ -194,4 +194,4 @@ Definisce l'intervallo (in secondi) tra aggiornamenti del meteo - \ No newline at end of file + From f14a1b990be6b2deff858fb3bf3bd8a117fe7e15 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 7 Jun 2016 07:38:01 +0200 Subject: [PATCH 62/63] simplify optics config --- addons/spottingscope/RscInGameUI.hpp | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/addons/spottingscope/RscInGameUI.hpp b/addons/spottingscope/RscInGameUI.hpp index 54f3ebafa2..bf4f086dd7 100644 --- a/addons/spottingscope/RscInGameUI.hpp +++ b/addons/spottingscope/RscInGameUI.hpp @@ -2,6 +2,7 @@ class RscOpticsValue; class RscMapControl; class RscText; +class RscPicture; class RscInGameUI { class RscUnitInfo; @@ -11,10 +12,6 @@ class RscInGameUI { class CA_FOVMode: RscOpticsValue { // idea by Taosenai. Apparently this can be used via isNil check to determine wheter the scope or the kolimator is used idc = 154; - style = 2; - colorText[] = {0,0,0,0}; - x = 0; - y = 0; w = 0; h = 0; }; @@ -26,14 +23,9 @@ class RscInGameUI { h = 0; }; - class Reticle: RscText { + class Reticle: RscPicture { idc = IDC_RETICLE; - style = 48; - size = 0; - sizeEx = 1; text = QPATHTOF(rsc\spotting_scope_reticle_co.paa); - colorText[] = {1,1,1,1}; - colorBackground[] = {0,0,0,0}; x = POS_X; y = POS_Y; w = POS_W; @@ -43,10 +35,6 @@ class RscInGameUI { class Body: Reticle { idc = IDC_BODY; text = QPATHTOF(rsc\spotting_scope_body_co.paa); - x = POS_X; - y = POS_Y; - w = POS_W; - h = POS_H; }; //These are just black side panels to cover the areas that the optics p3d doesn't cover From 5d0e257cd8739668168d7488bbab93b37062a604 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 7 Jun 2016 19:36:03 +0200 Subject: [PATCH 63/63] center interaction point, add gunner shadows --- addons/spottingscope/CfgVehicles.hpp | 2 +- .../spottingscope/data/ace_spottingscope.p3d | Bin 4032102 -> 4040306 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/spottingscope/CfgVehicles.hpp b/addons/spottingscope/CfgVehicles.hpp index c227156977..6ea8562936 100644 --- a/addons/spottingscope/CfgVehicles.hpp +++ b/addons/spottingscope/CfgVehicles.hpp @@ -43,7 +43,7 @@ class CfgVehicles { class ACE_Actions: ACE_Actions{ class ACE_MainActions: ACE_MainActions { - selection = "main_turret"; + selection = "main_gun"; class ACE_Pickup { selection = ""; displayName = CSTRING(PickUp); diff --git a/addons/spottingscope/data/ace_spottingscope.p3d b/addons/spottingscope/data/ace_spottingscope.p3d index 98cfab6a542fc0d590127029b79c16029e97c3e1..0afe9952cfba14efb304cb825c197ad409531a5e 100644 GIT binary patch delta 803 zcmaKqT}V@57{|{!oBQx83=6C%L=lQnf>PLEM;RO_hZ7ZWVF%pszzZLCVizh=1wX10KoB9+ zpcZwg$8I#B5qq!~`>-EjM9_pNVo-5lIsRb6x?qr`>Iz9JVoxUG-3h{{V2sLF<4)#V zjd%Q_!>1HCP4(9m-yBRg^QVOkrW4;RGwrR$+K1d*$-TLF#C27kp6A+ML7lTUKRfw0 zalWf0cseZ+wPHB>X`qtOe-C} zGU91J<5~1?bwj3&mo}GZd1vPACbk&T-Wce2n_9}<;?z-I4vBuBuyzUS51DRX_a%uR zI*{x3zL>N3D3or{-MnO>$t${r!i&BST=|8)lP5=ndrB5lu79R3PQOzlTc69f2|Lsh zGu^tN-cyPnGd-$h7U=GHtBcmYIGohBuGy@rEJ@eQk~G44*R{HGfjmriHZ?c9zp0%$ zyN$en^OMY!N;g+A_tDm6Ca4FRxP6%0a}nkGYMzeC^z?X(lQ>a3aqN!gU-j`oKKdnt zpyT0d)QI&mf`)^o>h;SCt&HiW>jA9I@US*$_qR&G@bhQf+CrgNcULR{DRqEEsmZT(Y mE$^tVR}ZU=%Br=6X{F#s