diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index af6ab70854..a2e6e53c4d 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -36,7 +36,7 @@ We welcome anyone to contribute to this repository. Issues that we are actively When contributing to this repository, please first discuss the change you wish to make via issue or [Discord](https://acemod.org/discord) with the [ACE3 project maintainers](https://ace3.acemod.org/team.html) before making a change. This may not be necessary if you are contributing for something which has an existing issue in our repository already. -1. Please make a pull request (PR) as early as possible. This lets use help you in the proces of developing it. When opening a work in progress pull request, mark your PR with a `WIP:` prefix. +1. Please make a pull request (PR) as early as possible. This lets use help you in the proces of developing it. When opening a work in progress pull request, use GitHub's draft feature. This will mark the PR as a work in progress and will prevent it from being merged until you mark it as ready for review. 2. Describe what this pull request will do and how it solves this in the description of your PR. A clear intent and description of the way the issue is resolved will help us to review the PR more efficiently. 3. Please follow our [Development Guidelines](https://ace3.acemod.org/wiki/development/). diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 5f42f937fe..5bdf51df2a 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -4,6 +4,6 @@ ### IMPORTANT -- [ ] If the contribution affects [the documentation](https://github.com/acemod/ACE3/tree/master/docs), please include your changes in this pull request so the documentation will appear on the [website](https://ace3.acemod.org/). -- [ ] [Development Guidelines](https://ace3.acemod.org/wiki/development/) are read, understood and applied. -- [ ] Title of this PR uses our standard template `Component - Add|Fix|Improve|Change|Make|Remove {changes}`. +- If the contribution affects [the documentation](https://github.com/acemod/ACE3/tree/master/docs), please include your changes in this pull request so the documentation will appear on the [website](https://ace3.acemod.org/). +- [Development Guidelines](https://ace3.acemod.org/wiki/development/) are read, understood and applied. +- Title of this PR uses our standard template `Component - Add|Fix|Improve|Change|Make|Remove {changes}`. diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index e6b87a25ee..f78465887e 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -21,6 +21,10 @@ categories: labels: - 'kind/cleanup' - 'area/compatibility' + - 'kind/change' + - title: '**SETTINGS:**' + labels: + - 'kind/setting' - title: '**TRANSLATIONS:**' labels: - 'area/translations' @@ -39,5 +43,5 @@ template: | replacers: # Category titles - - search: '/\#\# (\*\*(ADDED|FIXED|IMPROVED|CHANGED|TRANSLATIONS):\*\*)/g' + - search: '/\#\# (\*\*(ADDED|FIXED|IMPROVED|CHANGED|SETTINGS|TRANSLATIONS):\*\*)/g' replace: '$1' diff --git a/.github/workflows/arma.yml b/.github/workflows/arma.yml index 669873d504..da5fa29835 100644 --- a/.github/workflows/arma.yml +++ b/.github/workflows/arma.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Validate SQF run: python3 tools/sqf_validator.py - name: Validate Config @@ -22,6 +22,8 @@ jobs: run: python3 tools/check_strings.py - name: Check for BOM uses: arma-actions/bom-check@master + with: + path: 'addons' - name: Validate function headers run: python3 docs/tools/document_functions.py --debug @@ -29,7 +31,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Lint (sqflint) uses: arma-actions/sqflint@master continue-on-error: true # No failure due to many false-positives @@ -38,7 +40,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup HEMTT uses: arma-actions/hemtt@v1 - name: Run HEMTT build diff --git a/.github/workflows/documentation.yml b/.github/workflows/documentation.yml index 770921c96c..4140138f1e 100644 --- a/.github/workflows/documentation.yml +++ b/.github/workflows/documentation.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install Python packages run: | pip3 install wheel @@ -33,7 +33,7 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Extract Dependencies run: python3 tools/extract_dependencies.py --markdown diff --git a/.github/workflows/extensions.yml b/.github/workflows/extensions.yml index 2fd0c9a4a4..84ea189cca 100644 --- a/.github/workflows/extensions.yml +++ b/.github/workflows/extensions.yml @@ -14,7 +14,7 @@ jobs: steps: - name: Checkout the source code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Build shell: cmd run: | diff --git a/.github/workflows/hemtt.yml b/.github/workflows/hemtt.yml new file mode 100644 index 0000000000..ffe8894986 --- /dev/null +++ b/.github/workflows/hemtt.yml @@ -0,0 +1,44 @@ +name: HEMTT + +on: + push: + branches: + - master + pull_request_target: + +jobs: + windows: + runs-on: windows-latest + steps: + - name: Install Arma 3 Tools + uses: arma-actions/arma3-tools@master + with: + toolsUrl: ${{ secrets.ARMA3_TOOLS_URL }} + - name: Checkout the source code + uses: actions/checkout@v4 + - name: Setup HEMTT + uses: arma-actions/hemtt@v1 + - name: Checkout pull request + uses: actions/checkout@v4 + if: ${{ github.event_name == 'pull_request_target' }} + with: + path: pullrequest + ref: 'refs/pull/${{ github.event.number }}/merge' + - name: Replace addons with pull request addons + if: ${{ github.event_name == 'pull_request_target' }} + run: | + rm -r addons\ + rm -r optionals\ + rm -r include\ + xcopy /e /h /q pullrequest\addons addons\ + xcopy /e /h /q pullrequest\optionals optionals\ + xcopy /e /h /q pullrequest\include include\ + - name: Run HEMTT build + run: hemtt build + - name: Rename build folder + run: mv .hemttout/build .hemttout/@ace + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: ace3-${{ github.sha }} + path: .hemttout/@* diff --git a/.github/workflows/pboproject.yml b/.github/workflows/pboproject.yml index 5701966e44..4d3c6703c9 100644 --- a/.github/workflows/pboproject.yml +++ b/.github/workflows/pboproject.yml @@ -35,18 +35,18 @@ jobs: RHSSAF_URL: ${{ secrets.RHSSAF_URL }} RHSUSF_URL: ${{ secrets.RHSUSF_URL }} - name: Checkout CBA A3 - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: x\cba ref: master repository: CBATeam/CBA_A3.git - name: Checkout ACE3 - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: path: z\ace persist-credentials: false - name: Checkout pull request - uses: actions/checkout@v3 + uses: actions/checkout@v4 if: ${{ github.event_name == 'pull_request_target' }} with: path: pullrequest @@ -66,6 +66,7 @@ jobs: pboproject -P xcopy /e /h /q z\ace\tools\pDummies\gm gm\ xcopy /e /h /q z\ace\tools\pDummies\vn vn\ + xcopy /e /h /q z\ace\tools\pDummies\WW2 WW2\ - name: Build run: py P:\z\ace\tools\make.py ci env: diff --git a/.hemtt/project.toml b/.hemtt/project.toml index a8e50e494d..59a26f40b0 100644 --- a/.hemtt/project.toml +++ b/.hemtt/project.toml @@ -24,9 +24,10 @@ exclude = [ "/initsettings.sqf", "/initkeybinds.sqf", "/xeh_prep.sqf", - "dev", + "/dev/", "medical_ai/statemachine.sqf", "common/functions/fnc_dummy.sqf", + "zeus/functions/fnc_zeusAttributes.sqf", ] [hemtt.config] @@ -34,7 +35,15 @@ preset = "Hemtt" [hemtt.launch] workshop = [ - "450814997", # CBA_A3's Workshop ID + "450814997", # CBA_A3 +] + +[hemtt.launch.spe] +workshop = [ + "450814997", # CBA_A3 +] +dlc = [ + "spe" ] [hemtt.launch.vn] @@ -44,3 +53,20 @@ workshop = [ dlc = [ "S.O.G. Prairie Fire", ] + +[hemtt.launch.ws] +workshop = [ + "450814997", # CBA_A3's Workshop ID +] +dlc = [ + "Western Sahara", +] + +[hemtt.launch.rhs] +workshop = [ + "450814997", # CBA_A3's Workshop ID + "843425103", # RHS AFRF Workshop ID + "843577117", # RHS USAF Workshop ID + "843593391", # RHS GREF Workshop ID + "843632231", # RHS SAF Workshop ID +] diff --git a/AUTHORS.txt b/AUTHORS.txt index 4561a063b7..bcc4a5d40e 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -10,7 +10,7 @@ Brett Mayson bux578 commy2 Dahlgren -tcvm +Drofseh esteldunedain Felix Wiegand Garth "L-H" de Wet @@ -18,14 +18,17 @@ Giallustio Glowbal Grim Janus +johnb43 jokoho482 Jonpas Kieran kymckay mharis001 +MikeMF NouberNou PabstMirror Ruthberg +tcvm tpM veteran29 ViperMaul @@ -79,7 +82,6 @@ diwako dixon13 Drift_91 Drill -Drofseh Dslyecxi Dudakov aka [OMCB]Kaban Eclipser @@ -113,6 +115,7 @@ havena Hawkins Head Hybrid V +Hypoxic JasperRab JDT john681611 @@ -122,6 +125,7 @@ Kavinsky Keithen Kllrt KokaKolaA3 +Krzyciu legman Legolasindar "Viper" licht-im-Norden87 @@ -133,7 +137,6 @@ MarcBook meat Michail Nikolaev MikeMatrix -MikeMF mjc4wilton Mysteryjuju nic547 diff --git a/Arma3_workshop_addon.jpg b/Arma3_workshop_addon.jpg deleted file mode 100644 index ffc430d688..0000000000 Binary files a/Arma3_workshop_addon.jpg and /dev/null differ diff --git a/README.md b/README.md index 0b9cb156c1..b461bfe520 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@

- + +

- ACE3 Version + ACE3 Version ACE3 Issues @@ -21,9 +22,6 @@ ACE3 Discord - - ACE3 Build Status -

@@ -97,9 +95,7 @@ Please, use our [Issue Tracker](https://github.com/acemod/ACE3/issues) to report ### Testing & building -To help us test the latest development changes, download our master branch ([directly](https://github.com/acemod/ACE3/archive/master.zip), or [with git](https://help.github.com/articles/fetching-a-remote/)), then assemble a test build: - -- [Setting up the development environment](https://ace3.acemod.org/wiki/development/setting-up-the-development-environment.html) – step-by-step instructions on how to properly setup and build a version of ACE3 for testing purposes. +To help us test the latest development changes, download the [artifact](https://github.com/acemod/ACE3/actions/workflows/arma.yml) of the branch you'd like to test or subscribe to "Anrop ACE3 Master" on the workshop to test `master` branch. Alternatively [build your own version](https://ace3.acemod.org/wiki/development/setting-up-the-development-environment.html). ### Get in touch diff --git a/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf b/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf index 2ead82fa12..6bc5a82fa2 100644 --- a/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf +++ b/addons/advanced_ballistics/functions/fnc_calculateAmmoTemperatureVelocityShift.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * diff --git a/addons/advanced_ballistics/functions/fnc_calculateAtmosphericCorrection.sqf b/addons/advanced_ballistics/functions/fnc_calculateAtmosphericCorrection.sqf index b574698931..c8486d7040 100644 --- a/addons/advanced_ballistics/functions/fnc_calculateAtmosphericCorrection.sqf +++ b/addons/advanced_ballistics/functions/fnc_calculateAtmosphericCorrection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * diff --git a/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf b/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf index e28ccd2523..5cf4a3af72 100644 --- a/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf +++ b/addons/advanced_ballistics/functions/fnc_calculateBarrelLengthVelocityShift.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg, MikeMatrix, joko // Jonas * diff --git a/addons/advanced_ballistics/functions/fnc_calculateRetardation.sqf b/addons/advanced_ballistics/functions/fnc_calculateRetardation.sqf index 184ee6970d..ccd7363f9b 100644 --- a/addons/advanced_ballistics/functions/fnc_calculateRetardation.sqf +++ b/addons/advanced_ballistics/functions/fnc_calculateRetardation.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * diff --git a/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf b/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf index cf6dbb03b1..2ee8ce3e3a 100644 --- a/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf +++ b/addons/advanced_ballistics/functions/fnc_calculateStabilityFactor.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * diff --git a/addons/advanced_ballistics/functions/fnc_diagnoseWeapons.sqf b/addons/advanced_ballistics/functions/fnc_diagnoseWeapons.sqf index 0bae282cc2..a2156349f6 100644 --- a/addons/advanced_ballistics/functions/fnc_diagnoseWeapons.sqf +++ b/addons/advanced_ballistics/functions/fnc_diagnoseWeapons.sqf @@ -1,5 +1,5 @@ #define DEBUG_MODE_FULL -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * diff --git a/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf b/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf index 714aaa31ef..ceaef17bad 100644 --- a/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf +++ b/addons/advanced_ballistics/functions/fnc_displayProtractor.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * diff --git a/addons/advanced_ballistics/functions/fnc_handleFirePFH.sqf b/addons/advanced_ballistics/functions/fnc_handleFirePFH.sqf index 12199db154..e9180cb1c4 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFirePFH.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFirePFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, Ruthberg, joko // Jonas * Handle the PFH for Bullets diff --git a/addons/advanced_ballistics/functions/fnc_handleFired.sqf b/addons/advanced_ballistics/functions/fnc_handleFired.sqf index 90dc370ff2..a167d027f3 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFired.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, Ruthberg * diff --git a/addons/advanced_ballistics/functions/fnc_initModuleSettings.sqf b/addons/advanced_ballistics/functions/fnc_initModuleSettings.sqf index 83e11175d3..4bb5d080cd 100644 --- a/addons/advanced_ballistics/functions/fnc_initModuleSettings.sqf +++ b/addons/advanced_ballistics/functions/fnc_initModuleSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, Ruthberg * Module for adjusting the advanced ballistics settings diff --git a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf index 8ff8052745..6af9efca24 100644 --- a/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf +++ b/addons/advanced_ballistics/functions/fnc_initializeTerrainExtension.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Initializes the advanced ballistics extension with terrain data @@ -19,7 +19,7 @@ if (!hasInterface) exitWith {}; if (!GVAR(enabled)) exitWith {}; private _initStartTime = diag_tickTime; -private _mapSize = getNumber (configFile >> "CfgWorlds" >> worldName >> "MapSize"); +private _mapSize = worldSize; if (("ace_advanced_ballistics" callExtension format["init:%1:%2", worldName, _mapSize]) == "Terrain already initialized") exitWith { INFO_1("Terrain already initialized [world: %1]", worldName); diff --git a/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf b/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf index 845045e1cb..103ce3d1cd 100644 --- a/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf +++ b/addons/advanced_ballistics/functions/fnc_readAmmoDataFromConfig.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * diff --git a/addons/advanced_ballistics/functions/fnc_readWeaponDataFromConfig.sqf b/addons/advanced_ballistics/functions/fnc_readWeaponDataFromConfig.sqf index dbc9999824..bf0e23f97c 100644 --- a/addons/advanced_ballistics/functions/fnc_readWeaponDataFromConfig.sqf +++ b/addons/advanced_ballistics/functions/fnc_readWeaponDataFromConfig.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * diff --git a/addons/advanced_ballistics/functions/script_component.hpp b/addons/advanced_ballistics/functions/script_component.hpp deleted file mode 100644 index 4790cc80be..0000000000 --- a/addons/advanced_ballistics/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\advanced_ballistics\script_component.hpp" diff --git a/addons/advanced_fatigue/XEH_postInit.sqf b/addons/advanced_fatigue/XEH_postInit.sqf index 56dcb71372..d447c3f651 100644 --- a/addons/advanced_fatigue/XEH_postInit.sqf +++ b/addons/advanced_fatigue/XEH_postInit.sqf @@ -17,7 +17,19 @@ if (!hasInterface) exitWith {}; }; }, QUOTE(ADDON)] call EFUNC(common,addSwayFactor); -["multiplier", {GVAR(swayFactor)}, QUOTE(ADDON)] call EFUNC(common,addSwayFactor); +["multiplier", { + switch (true) do { + case (isWeaponRested ACE_player): { + GVAR(swayFactor) * GVAR(restedSwayFactor) + }; + case (isWeaponDeployed ACE_player): { + GVAR(swayFactor) * GVAR(deployedSwayFactor) + }; + default { + GVAR(swayFactor) + }; + }; +}, QUOTE(ADDON)] call EFUNC(common,addSwayFactor); // recheck weapon inertia after weapon swap, change of attachments or switching unit ["weapon", {[ACE_player] call FUNC(getWeaponInertia)}, true] call CBA_fnc_addPlayerEventHandler; diff --git a/addons/advanced_fatigue/functions/fnc_addDutyFactor.sqf b/addons/advanced_fatigue/functions/fnc_addDutyFactor.sqf index f9c8b19889..061dcf102d 100644 --- a/addons/advanced_fatigue/functions/fnc_addDutyFactor.sqf +++ b/addons/advanced_fatigue/functions/fnc_addDutyFactor.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Adds a duty factor. diff --git a/addons/advanced_fatigue/functions/fnc_createStaminaBar.sqf b/addons/advanced_fatigue/functions/fnc_createStaminaBar.sqf index 157f683018..2648cfd164 100644 --- a/addons/advanced_fatigue/functions/fnc_createStaminaBar.sqf +++ b/addons/advanced_fatigue/functions/fnc_createStaminaBar.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Creates the stamina bar. diff --git a/addons/advanced_fatigue/functions/fnc_getAnimDuty.sqf b/addons/advanced_fatigue/functions/fnc_getAnimDuty.sqf index 42f53fbbe7..e992816e9b 100644 --- a/addons/advanced_fatigue/functions/fnc_getAnimDuty.sqf +++ b/addons/advanced_fatigue/functions/fnc_getAnimDuty.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Calculates the duty of the current animation. diff --git a/addons/advanced_fatigue/functions/fnc_getMetabolicCosts.sqf b/addons/advanced_fatigue/functions/fnc_getMetabolicCosts.sqf index 1ac10fc26c..cc07d9e004 100644 --- a/addons/advanced_fatigue/functions/fnc_getMetabolicCosts.sqf +++ b/addons/advanced_fatigue/functions/fnc_getMetabolicCosts.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Calculates the current metabolic costs for a unit. @@ -36,16 +36,19 @@ if (GVAR(isSwimming)) then { _terrainGradient = 0; }; +// Metabolic cost for walking and running is different if (_velocity > 2) then { + // Running ( 2.10 * SIM_BODYMASS + 4 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2) - + (SIM_BODYMASS + _gearMass) * (0.90 * (_velocity ^ 2) + 0.66 * _velocity * _terrainGradient) + + (SIM_BODYMASS + _gearMass) * (0.9 * (_velocity ^ 2) + 0.66 * _velocity * _terrainGradient) ) * 0.23 * _duty } else { + // Walking ( 1.05 * SIM_BODYMASS - + 4 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2) + + 2 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2) + (SIM_BODYMASS + _gearMass) * (1.15 * (_velocity ^ 2) + 0.66 * _velocity * _terrainGradient) ) * 0.23 * _duty }; diff --git a/addons/advanced_fatigue/functions/fnc_getWeaponInertia.sqf b/addons/advanced_fatigue/functions/fnc_getWeaponInertia.sqf index 85fba1ec00..973121c13d 100644 --- a/addons/advanced_fatigue/functions/fnc_getWeaponInertia.sqf +++ b/addons/advanced_fatigue/functions/fnc_getWeaponInertia.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Pterolatypus * Calculates total weapon inertia, accounting for attachments. diff --git a/addons/advanced_fatigue/functions/fnc_handleEffects.sqf b/addons/advanced_fatigue/functions/fnc_handleEffects.sqf index 4c453784b4..13c1fefc62 100644 --- a/addons/advanced_fatigue/functions/fnc_handleEffects.sqf +++ b/addons/advanced_fatigue/functions/fnc_handleEffects.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles any audible, visual and physical effects of fatigue. diff --git a/addons/advanced_fatigue/functions/fnc_handlePlayerChanged.sqf b/addons/advanced_fatigue/functions/fnc_handlePlayerChanged.sqf index 0cea426eef..a119b35862 100644 --- a/addons/advanced_fatigue/functions/fnc_handlePlayerChanged.sqf +++ b/addons/advanced_fatigue/functions/fnc_handlePlayerChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles switching units (once on init and afterwards via Zeus). diff --git a/addons/advanced_fatigue/functions/fnc_handleStaminaBar.sqf b/addons/advanced_fatigue/functions/fnc_handleStaminaBar.sqf index f699377f59..8def1439b7 100644 --- a/addons/advanced_fatigue/functions/fnc_handleStaminaBar.sqf +++ b/addons/advanced_fatigue/functions/fnc_handleStaminaBar.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles visual changes of the stamina bar. diff --git a/addons/advanced_fatigue/functions/fnc_mainLoop.sqf b/addons/advanced_fatigue/functions/fnc_mainLoop.sqf index f831bb67f3..8903bab495 100644 --- a/addons/advanced_fatigue/functions/fnc_mainLoop.sqf +++ b/addons/advanced_fatigue/functions/fnc_mainLoop.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Main looping function that updates fatigue values. diff --git a/addons/advanced_fatigue/functions/fnc_moduleSettings.sqf b/addons/advanced_fatigue/functions/fnc_moduleSettings.sqf index ab2742fb75..dfe5b19666 100644 --- a/addons/advanced_fatigue/functions/fnc_moduleSettings.sqf +++ b/addons/advanced_fatigue/functions/fnc_moduleSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Initializes the module settings. diff --git a/addons/advanced_fatigue/functions/fnc_removeDutyFactor.sqf b/addons/advanced_fatigue/functions/fnc_removeDutyFactor.sqf index 030a0a43d0..a47f6e69c1 100644 --- a/addons/advanced_fatigue/functions/fnc_removeDutyFactor.sqf +++ b/addons/advanced_fatigue/functions/fnc_removeDutyFactor.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Removes a duty factor. diff --git a/addons/advanced_fatigue/functions/script_component.hpp b/addons/advanced_fatigue/functions/script_component.hpp deleted file mode 100644 index 6f79ffc902..0000000000 --- a/addons/advanced_fatigue/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\advanced_fatigue\script_component.hpp" diff --git a/addons/advanced_fatigue/initSettings.sqf b/addons/advanced_fatigue/initSettings.sqf index 7787fd3f5d..e2d797bf91 100644 --- a/addons/advanced_fatigue/initSettings.sqf +++ b/addons/advanced_fatigue/initSettings.sqf @@ -89,3 +89,21 @@ [0, 5, 1, 1], true ] call CBA_fnc_addSetting; + +[ + QGVAR(restedSwayFactor), + "SLIDER", + [LSTRING(RestedSwayFactor), LSTRING(RestedSwayFactor_Description)], + LSTRING(DisplayName), + [0, 5, 1, 2], + true +] call CBA_fnc_addSetting; + +[ + QGVAR(deployedSwayFactor), + "SLIDER", + [LSTRING(DeployedSwayFactor), LSTRING(DeployedSwayFactor_Description)], + LSTRING(DisplayName), + [0, 5, 1, 2], + true +] call CBA_fnc_addSetting; diff --git a/addons/advanced_fatigue/stringtable.xml b/addons/advanced_fatigue/stringtable.xml index 5737e1fca2..87c73f640c 100644 --- a/addons/advanced_fatigue/stringtable.xml +++ b/addons/advanced_fatigue/stringtable.xml @@ -172,8 +172,8 @@ Influences the amount of weapon sway. Higher means more sway. Afecta al la estabilidad de la mira. Más alto significa más balanceo - Beeinflusst den Faktor, wie ruhig man eine Waffe halten kann. Ein höherer Wert bedeutet weniger Stabilisierung - 武器を持つ手のぶれ度合いを設定します。 値が高ければ高いほど、手ぶれが強くなります。 + Beeinflusst, wie ruhig man eine Waffe halten kann. Ein höherer Wert bedeutet weniger Stabilisierung. + 武器の手ぶれの量に影響します。値が高いほど、手ぶれが強くなります。 影响手持武器的晃动程度,数值越高,抖动的越厉害。 影響手持武器晃動程度,數值越高抖動越厲害 Influe sur l'amplitude du tremblement de l'arme. Une valeur plus élevée signifie plus de tremblement. @@ -184,6 +184,38 @@ Ovlivňuje množství kývání zbraní. Vyšší znamená více kývání. 손떨림의 정도를 정합니다. 높을 수록 많이 휘적입니다. + + Rested sway factor + Facteur de balancement au repos + 휴식 시 손떨림 정도 + Fator de balanço de mira em repouso + Verwacklungsfaktor, wenn aufgelegt + 静止時の手ぶれ係数 + + + Influences the amount of weapon sway while weapon is rested. + Influence le degré de balancement de l'arme au repos. + 무기가 아무런 행동도 하지 않는 동안 무기가 흔들리는 정도를 정합니다. + Influencia a quantidade de balanço de mira enquanto a arma está em repouso. + Beeinflusst, wie ruhig man die Waffe hält, während sie aufgelegt ist. + 静止している時の武器の手ぶれの量に影響します。 + + + Deployed sway factor + Facteur de balancement déployé + 거치 시 손떨림 정도 + Fator de balanço de mira em posição de tiro + Verwacklungsfaktor, wenn Zweibein aufgestellt ist. + 展開時の手ぶれ係数 + + + Influences the amount of weapon sway while weapon is deployed. + Influence le degré de balancement de l'arme déployée. + 무기를 거치하는 동안 무기를 흔드는 정도를 정합니다. + Influencia a quantidade de balanço de mira enquanto a arma está em posição de tiro. + Beeinflusst, wie ruhig man die Waffen hält, während das Zweibein aufgestellt ist. + 武器の展開(Cキー)時の武器の手ぶれの量に影響します。 + Enabled Activada diff --git a/addons/advanced_throwing/XEH_postInit.sqf b/addons/advanced_throwing/XEH_postInit.sqf index 7c0a194267..96b0fbb09b 100644 --- a/addons/advanced_throwing/XEH_postInit.sqf +++ b/addons/advanced_throwing/XEH_postInit.sqf @@ -1,6 +1,7 @@ #include "script_component.hpp" // Fired XEH +GVAR(ammoEventHandlers) = createHashMap; [QGVAR(throwFiredXEH), FUNC(throwFiredXEH)] call CBA_fnc_addEventHandler; // Exit on HC diff --git a/addons/advanced_throwing/functions/fnc_canPrepare.sqf b/addons/advanced_throwing/functions/fnc_canPrepare.sqf index 87c6a7843c..827fac4b58 100644 --- a/addons/advanced_throwing/functions/fnc_canPrepare.sqf +++ b/addons/advanced_throwing/functions/fnc_canPrepare.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Checks if a throwable can be prepared. diff --git a/addons/advanced_throwing/functions/fnc_canThrow.sqf b/addons/advanced_throwing/functions/fnc_canThrow.sqf index e5211dd33c..06cf166f88 100644 --- a/addons/advanced_throwing/functions/fnc_canThrow.sqf +++ b/addons/advanced_throwing/functions/fnc_canThrow.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Checks if a throwable can be thrown. diff --git a/addons/advanced_throwing/functions/fnc_drawArc.sqf b/addons/advanced_throwing/functions/fnc_drawArc.sqf index 0782c4b46c..47b893290e 100644 --- a/addons/advanced_throwing/functions/fnc_drawArc.sqf +++ b/addons/advanced_throwing/functions/fnc_drawArc.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Zapat, Dslyecxi, Jonpas * Draws throw arc. diff --git a/addons/advanced_throwing/functions/fnc_drawThrowable.sqf b/addons/advanced_throwing/functions/fnc_drawThrowable.sqf index 2421294d50..5bc3f22b57 100644 --- a/addons/advanced_throwing/functions/fnc_drawThrowable.sqf +++ b/addons/advanced_throwing/functions/fnc_drawThrowable.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, Jonpas, kymckay * Handles drawing the currently selected or cooked throwable. diff --git a/addons/advanced_throwing/functions/fnc_exitThrowMode.sqf b/addons/advanced_throwing/functions/fnc_exitThrowMode.sqf index ffe1110dc2..744a6d7aae 100644 --- a/addons/advanced_throwing/functions/fnc_exitThrowMode.sqf +++ b/addons/advanced_throwing/functions/fnc_exitThrowMode.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, Jonpas * Exits throw mode. diff --git a/addons/advanced_throwing/functions/fnc_getMuzzle.sqf b/addons/advanced_throwing/functions/fnc_getMuzzle.sqf index 03ac62f6d2..e0c55daba6 100644 --- a/addons/advanced_throwing/functions/fnc_getMuzzle.sqf +++ b/addons/advanced_throwing/functions/fnc_getMuzzle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Retrieve muzzle name from config. diff --git a/addons/advanced_throwing/functions/fnc_moduleInit.sqf b/addons/advanced_throwing/functions/fnc_moduleInit.sqf index 3f5d3bbd3f..ba67a500ee 100644 --- a/addons/advanced_throwing/functions/fnc_moduleInit.sqf +++ b/addons/advanced_throwing/functions/fnc_moduleInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Initializes the Advanced Throwing module. diff --git a/addons/advanced_throwing/functions/fnc_onKeyDown.sqf b/addons/advanced_throwing/functions/fnc_onKeyDown.sqf index d0f8404203..c97a6343aa 100644 --- a/addons/advanced_throwing/functions/fnc_onKeyDown.sqf +++ b/addons/advanced_throwing/functions/fnc_onKeyDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, Jonpas * Key down event. diff --git a/addons/advanced_throwing/functions/fnc_onMouseButtonDown.sqf b/addons/advanced_throwing/functions/fnc_onMouseButtonDown.sqf index 69abb9641b..9e6f57d9e8 100644 --- a/addons/advanced_throwing/functions/fnc_onMouseButtonDown.sqf +++ b/addons/advanced_throwing/functions/fnc_onMouseButtonDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, Jonpas * Mouse button down event. diff --git a/addons/advanced_throwing/functions/fnc_onMouseScroll.sqf b/addons/advanced_throwing/functions/fnc_onMouseScroll.sqf index f56b153557..290f6ca28e 100644 --- a/addons/advanced_throwing/functions/fnc_onMouseScroll.sqf +++ b/addons/advanced_throwing/functions/fnc_onMouseScroll.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, Jonpas * Mouse scroll wheel changed event. diff --git a/addons/advanced_throwing/functions/fnc_pickUp.sqf b/addons/advanced_throwing/functions/fnc_pickUp.sqf index 9fd49486d1..2484cb1baa 100644 --- a/addons/advanced_throwing/functions/fnc_pickUp.sqf +++ b/addons/advanced_throwing/functions/fnc_pickUp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Picks up a throwable from the ground. diff --git a/addons/advanced_throwing/functions/fnc_prepare.sqf b/addons/advanced_throwing/functions/fnc_prepare.sqf index 393f8301d3..070870879b 100644 --- a/addons/advanced_throwing/functions/fnc_prepare.sqf +++ b/addons/advanced_throwing/functions/fnc_prepare.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, Jonpas * Prepares throwable or selects the next. diff --git a/addons/advanced_throwing/functions/fnc_prime.sqf b/addons/advanced_throwing/functions/fnc_prime.sqf index 22681d3ebc..26189fe20d 100644 --- a/addons/advanced_throwing/functions/fnc_prime.sqf +++ b/addons/advanced_throwing/functions/fnc_prime.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, Jonpas * Primes the throwable, creates global throwable vehicle and throws Fired XEH. diff --git a/addons/advanced_throwing/functions/fnc_renderPickUpInteraction.sqf b/addons/advanced_throwing/functions/fnc_renderPickUpInteraction.sqf index 920f4d1781..15cae41585 100644 --- a/addons/advanced_throwing/functions/fnc_renderPickUpInteraction.sqf +++ b/addons/advanced_throwing/functions/fnc_renderPickUpInteraction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, Jonpas * When interact_menu starts rendering (from "interact_keyDown" event). diff --git a/addons/advanced_throwing/functions/fnc_throw.sqf b/addons/advanced_throwing/functions/fnc_throw.sqf index a5ff3d62e2..0380d3d896 100644 --- a/addons/advanced_throwing/functions/fnc_throw.sqf +++ b/addons/advanced_throwing/functions/fnc_throw.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, Jonpas * Throw selected throwable. diff --git a/addons/advanced_throwing/functions/fnc_throwFiredXEH.sqf b/addons/advanced_throwing/functions/fnc_throwFiredXEH.sqf index 5461d5d010..bbbcbf3274 100644 --- a/addons/advanced_throwing/functions/fnc_throwFiredXEH.sqf +++ b/addons/advanced_throwing/functions/fnc_throwFiredXEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: CBA Team * Throws Fired XEH. @@ -20,14 +20,25 @@ * * Public: No */ - +params ["_unit", "", "_muzzle", "", "_ammo"]; TRACE_1("Fired",_this); { _this call _x; -} forEach ((_this select 0) getVariable "cba_xeh_fired"); +} forEach (_unit getVariable "cba_xeh_fired"); // Call muzzle fired EH { _this call compile getText (_x >> "fired"); -} forEach (configProperties [configFile >> "CfgWeapons" >> "Throw" >> (_this select 2) >> "EventHandlers", "isClass _x", true]); +} forEach (configProperties [configFile >> "CfgWeapons" >> "Throw" >> _muzzle >> "EventHandlers", "isClass _x", true]); + +// Call ammo fired EH +{ _this call _x } forEach (GVAR(ammoEventHandlers) getOrDefaultCall [_ammo, { + private _cfg = configFile >> "CfgAmmo" >> _ammo >> "EventHandlers"; + private _eventHandlers = []; + { + private _eh = getText (_x >> "fired"); + if (_eh != "") then { _eventHandlers pushBack compile _eh }; + } forEach ([_cfg] + configProperties [_cfg, "isClass _x", true]); + _eventHandlers +}, true]); diff --git a/addons/advanced_throwing/functions/fnc_updateControlsHint.sqf b/addons/advanced_throwing/functions/fnc_updateControlsHint.sqf index 3dcb516c32..52f1a3b9e2 100644 --- a/addons/advanced_throwing/functions/fnc_updateControlsHint.sqf +++ b/addons/advanced_throwing/functions/fnc_updateControlsHint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Updates controls hints based on current state. diff --git a/addons/advanced_throwing/functions/script_component.hpp b/addons/advanced_throwing/functions/script_component.hpp deleted file mode 100644 index 1927269f9e..0000000000 --- a/addons/advanced_throwing/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\advanced_throwing\script_component.hpp" diff --git a/addons/advanced_throwing/stringtable.xml b/addons/advanced_throwing/stringtable.xml index a469256161..793c426dd3 100644 --- a/addons/advanced_throwing/stringtable.xml +++ b/addons/advanced_throwing/stringtable.xml @@ -289,7 +289,7 @@ (Scorrere) Estendere (滾輪) 延長 (滚轮)延长 - (Roda do Mouse) Extender + (Roda do Mouse) Estender (Scrollovat) Oddálit (Tekerlek) Uzat diff --git a/addons/ai/functions/fnc_assignNVG.sqf b/addons/ai/functions/fnc_assignNVG.sqf index b513a6edba..0c930145a4 100644 --- a/addons/ai/functions/fnc_assignNVG.sqf +++ b/addons/ai/functions/fnc_assignNVG.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Assigns AI first found NVG in their inventory during night time and unassigns it during day time. diff --git a/addons/ai/functions/fnc_assignNVGpfh.sqf b/addons/ai/functions/fnc_assignNVGpfh.sqf index ad6ad62ea6..95e5495b3a 100644 --- a/addons/ai/functions/fnc_assignNVGpfh.sqf +++ b/addons/ai/functions/fnc_assignNVGpfh.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * waitAndExecute Handler for periodic NVG assignment. diff --git a/addons/ai/functions/fnc_drawCuratorGarrisonPathing.sqf b/addons/ai/functions/fnc_drawCuratorGarrisonPathing.sqf index ca0d8ccfa7..561c8748a6 100644 --- a/addons/ai/functions/fnc_drawCuratorGarrisonPathing.sqf +++ b/addons/ai/functions/fnc_drawCuratorGarrisonPathing.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe * Draws AI garrison pathing while the Zeus display is open. diff --git a/addons/ai/functions/fnc_garrison.sqf b/addons/ai/functions/fnc_garrison.sqf index 30238e42a7..ead982d951 100644 --- a/addons/ai/functions/fnc_garrison.sqf +++ b/addons/ai/functions/fnc_garrison.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe * Garrison function used to garrison AI inside buildings. diff --git a/addons/ai/functions/fnc_garrisonMove.sqf b/addons/ai/functions/fnc_garrisonMove.sqf index 25296293a4..588ebb2016 100644 --- a/addons/ai/functions/fnc_garrisonMove.sqf +++ b/addons/ai/functions/fnc_garrisonMove.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe * Internal function used by ace_ai_fnc_garrison to make the units move to the positions it picked. diff --git a/addons/ai/functions/fnc_initDisplayCurator.sqf b/addons/ai/functions/fnc_initDisplayCurator.sqf index 1ab54086b4..d3883ab8f3 100644 --- a/addons/ai/functions/fnc_initDisplayCurator.sqf +++ b/addons/ai/functions/fnc_initDisplayCurator.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Initializes the Zeus display. diff --git a/addons/ai/functions/fnc_unGarrison.sqf b/addons/ai/functions/fnc_unGarrison.sqf index e098f4b130..ab0c525a24 100644 --- a/addons/ai/functions/fnc_unGarrison.sqf +++ b/addons/ai/functions/fnc_unGarrison.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe * Used to un-garrison units. diff --git a/addons/ai/functions/script_component.hpp b/addons/ai/functions/script_component.hpp deleted file mode 100644 index 91e8ec0809..0000000000 --- a/addons/ai/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\ai\script_component.hpp" diff --git a/addons/ai/stringtable.xml b/addons/ai/stringtable.xml index 82276304a9..abc24d1bc3 100644 --- a/addons/ai/stringtable.xml +++ b/addons/ai/stringtable.xml @@ -83,9 +83,21 @@ Auto-Equip NVGs + Automatyczne zakładanie NVG + Automatisch NVGs ausrüsten + 야투경 자동 창착 + Equipement JVN automatique + Equipar NVGs automaticamente + 暗視装置の自動装備 Equips NVG in inventory during night time and unequips it during day time.\nDoes not add NVGs to inventory! + Zakłada NVG w nocy i zdejmuje je w ciągu dnia.\nNie dodaje NVG do ekwipunku! + Rüstet NVG nachts aus dem Inventar aus und entfernt es tagsüber.\nFügt keine NVGs zum Inventar hinzu! + 야간에는 야투경을 소지품에 장착하고 주간에는 장착을 해제합니다.\n주의! 소지품에 야투경을 추가하는 것이 아닙니다! + Equipe des JVN pendant la nuit et les déséquipe le jour.\nN'ajoute pas les JVN dans l'intenvaire ! + Equipa o NVG do inventário durante a noite e desequipa durante o dia.\nNão adiciona NVGs ao inventário! + インベントリ内の暗視装置を夜間に装備し、日中は解除し収納します。\nこれはNVGをインベントリに追加しません。 diff --git a/addons/aircraft/functions/fnc_canShowEject.sqf b/addons/aircraft/functions/fnc_canShowEject.sqf index 6ec13d2bb9..08c55eb781 100644 --- a/addons/aircraft/functions/fnc_canShowEject.sqf +++ b/addons/aircraft/functions/fnc_canShowEject.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Check if Eject action can be shown. diff --git a/addons/aircraft/functions/fnc_droneAddActions.sqf b/addons/aircraft/functions/fnc_droneAddActions.sqf index 8a44b1393e..38ca53e4c6 100644 --- a/addons/aircraft/functions/fnc_droneAddActions.sqf +++ b/addons/aircraft/functions/fnc_droneAddActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Adds actions to a drone diff --git a/addons/aircraft/functions/fnc_droneGetTurretTargetPos.sqf b/addons/aircraft/functions/fnc_droneGetTurretTargetPos.sqf index a1f0c04707..f3914f4af6 100644 --- a/addons/aircraft/functions/fnc_droneGetTurretTargetPos.sqf +++ b/addons/aircraft/functions/fnc_droneGetTurretTargetPos.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Get drone's target location, if aimed at infinity it will return a virtual point diff --git a/addons/aircraft/functions/fnc_droneModifyWaypoint.sqf b/addons/aircraft/functions/fnc_droneModifyWaypoint.sqf index eb5d21875e..868a0d0f8b 100644 --- a/addons/aircraft/functions/fnc_droneModifyWaypoint.sqf +++ b/addons/aircraft/functions/fnc_droneModifyWaypoint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Modify the current waypoint of a drone diff --git a/addons/aircraft/functions/fnc_droneSetWaypoint.sqf b/addons/aircraft/functions/fnc_droneSetWaypoint.sqf index 0685988c68..5c919564ce 100644 --- a/addons/aircraft/functions/fnc_droneSetWaypoint.sqf +++ b/addons/aircraft/functions/fnc_droneSetWaypoint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Set new waypoint of a drone diff --git a/addons/aircraft/functions/fnc_initEjectAction.sqf b/addons/aircraft/functions/fnc_initEjectAction.sqf index b453ce7704..8fdf662c7c 100644 --- a/addons/aircraft/functions/fnc_initEjectAction.sqf +++ b/addons/aircraft/functions/fnc_initEjectAction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Add Eject action to vehicle if needed. diff --git a/addons/aircraft/functions/script_component.hpp b/addons/aircraft/functions/script_component.hpp deleted file mode 100644 index 8614d199c3..0000000000 --- a/addons/aircraft/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\aircraft\script_component.hpp" diff --git a/addons/aircraft/stringtable.xml b/addons/aircraft/stringtable.xml index 6cd3700c73..998b9709f0 100644 --- a/addons/aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -65,6 +65,7 @@ 30mm Tříštivo-trhavá zápalná střela 30мм Осколочно-Фугасный Зажигательный 30mm 고폭소이탄 + 30mm Alto-Explosivo Incendiária 30mm HEI @@ -79,6 +80,7 @@ 30mm HEI 30мм ОФЗ 30mm HEI + 30mm AEI 30mm DU Armor Piercing @@ -93,6 +95,7 @@ 30mm Protipancéřová střela z ochuzeného Uranu 30мм ОУ Бронебойный Снаряд 30mm 열화우라늄 철갑탄 + 30mm DU Perfurante de Blindagem 30mm DU AP @@ -107,6 +110,7 @@ 30 mm DU AP 30мм ОУ БС 30mm DU AP + 30mm DU AP 30mm Combat Mix 4:1 DU:HEI @@ -121,6 +125,7 @@ 30mm Bojový Mix 4:1 DU:HEI 30мм Смешанное боепитание 4:1 ОУ:ОФЗ 30mm 4:1 열화:고폭소이 + 30mm Mix de Combate 4:1 DU:AEI 30mm CM 4:1 diff --git a/addons/arsenal/ACE_Arsenal_Sorts.hpp b/addons/arsenal/ACE_Arsenal_Sorts.hpp index a3b5f80d28..db16192468 100644 --- a/addons/arsenal/ACE_Arsenal_Sorts.hpp +++ b/addons/arsenal/ACE_Arsenal_Sorts.hpp @@ -75,11 +75,11 @@ class GVAR(sorts) { scope = 2; displayName = CSTRING(sortByProtectionBallistic); tabs[] = {{3,4,6}, {}}; - statement = QUOTE([ARR_3(_this, 1000000, 1000)] call FUNC(sortStatement_protection)); + statement = QUOTE([ARR_3(_this,1000000,1000)] call FUNC(sortStatement_protection)); }; class ACE_protectionExplosive: ACE_protectionBallistic { displayName = CSTRING(sortByProtectionExplosive); - statement = QUOTE([ARR_3(_this, 1000, 1000000)] call FUNC(sortStatement_protection)); + statement = QUOTE([ARR_3(_this,1000,1000000)] call FUNC(sortStatement_protection)); }; }; diff --git a/addons/arsenal/ACE_Arsenal_Stats.hpp b/addons/arsenal/ACE_Arsenal_Stats.hpp index f7493b4840..7748d1bdc5 100644 --- a/addons/arsenal/ACE_Arsenal_Stats.hpp +++ b/addons/arsenal/ACE_Arsenal_Stats.hpp @@ -24,7 +24,7 @@ class GVAR(stats) { priority = 1.5; displayName = "$STR_a3_rscdisplayarsenal_stat_weight"; showText = 1; - textStatement = QUOTE([ARR_2(_this select 0, _this select 1)] call FUNC(statTextStatement_mass)); + textStatement = QUOTE([ARR_2(_this select 0,_this select 1)] call FUNC(statTextStatement_mass)); tabs[] = {{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14}, {0,1,2,3,4,5,6,7}}; }; class ACE_rateOfFire: statBase { @@ -34,8 +34,8 @@ class GVAR(stats) { displayName = "$STR_a3_rscdisplayarsenal_stat_rof"; showBar = 1; showText = 1; - barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-1.4, 0.31)], [ARR_2(1, 0.01)])])] call FUNC(statBarStatement_rateOfFIre)); - textStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-1.4, 0.31)], false)])] call FUNC(statTextStatement_rateOfFire)); + barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_2([ARR_2(-1.4,0.31)],[ARR_2(1,0.01)])])] call FUNC(statBarStatement_rateOfFIre)); + textStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_2([ARR_2(-1.4,0.31)],false)])] call FUNC(statTextStatement_rateOfFire)); tabs[] = {{0,1}, {}}; }; class ACE_accuracy: statBase { @@ -45,8 +45,8 @@ class GVAR(stats) { displayName = "$STR_a3_rscdisplayarsenal_stat_dispersion"; showBar = 1; showText = 1; - barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(-4, -1.7)], [ARR_2(1, 0.01)], true)])] call FUNC(statBarStatement_accuracy)); - textStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_2([ARR_2(-4, -1.7)], false)])] call FUNC(statTextStatement_accuracy)); + barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(-4,-1.7)],[ARR_2(1,0.01)],true)])] call FUNC(statBarStatement_accuracy)); + textStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_2([ARR_2(-4,-1.7)],false)])] call FUNC(statTextStatement_accuracy)); tabs[] = {{0,1}, {}}; }; class ACE_maxZeroing: statBase { @@ -55,7 +55,7 @@ class GVAR(stats) { stats[] = {"maxZeroing"}; displayName = "$STR_a3_rscdisplayarsenal_stat_range"; showBar = 1; - barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 2500)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default)); + barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,2500)],[ARR_2(0.01,1)],false)])] call FUNC(statBarStatement_default)); tabs[] = {{0,1,2}, {}}; }; class ACE_impact: statBase { @@ -64,7 +64,7 @@ class GVAR(stats) { stats[] = {"hit", "initSpeed"}; displayName = "$STR_a3_rscdisplayarsenal_stat_impact"; showBar = 1; - barStatement = QUOTE([ARR_3(_this select 0, _this select 1, [ARR_2([ARR_2(0, 3.2)], [ARR_2(-1, 1100)])])] call FUNC(statBarStatement_impact)); + barStatement = QUOTE([ARR_3(_this select 0,_this select 1,[ARR_2([ARR_2(0,3.2)],[ARR_2(-1,1100)])])] call FUNC(statBarStatement_impact)); tabs[] = {{0,1,2}, {}}; }; class ACE_scopeMagnification: statBase { @@ -105,7 +105,7 @@ class GVAR(stats) { stats[] = {"passthrough"}; displayName = "$STR_a3_rscdisplayarsenal_stat_passthrough"; showBar = 1; - barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 0.63)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default)); + barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,0.63)],[ARR_2(0.01,1)],false)])] call FUNC(statBarStatement_default)); tabs[] = {{3,4,6}, {}}; }; class ACE_explosiveResistance: statBase { @@ -114,7 +114,7 @@ class GVAR(stats) { stats[] = {"armor"}; displayName = "$STR_a3_rscdisplayarsenal_stat_armor"; showBar = 1; - barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 0.80)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default)); + barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,0.80)],[ARR_2(0.01,1)],false)])] call FUNC(statBarStatement_default)); tabs[] = {{3,4,6}, {}}; }; class ACE_load: statBase { @@ -123,7 +123,7 @@ class GVAR(stats) { stats[] = {"maximumLoad"}; displayName = "$STR_a3_rscdisplayarsenal_stat_load"; showBar = 1; - barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 500)], [ARR_2(0.01, 1)], false)])] call FUNC(statBarStatement_default)); + barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,500)],[ARR_2(0.01,1)],false)])] call FUNC(statBarStatement_default)); tabs[] = {{3,4,5}, {}}; }; class ACE_smokeChemTTL: statBase { @@ -133,7 +133,7 @@ class GVAR(stats) { displayName = CSTRING(statTTL); showText = 1; textStatement = QUOTE(call FUNC(statTextStatement_smokeChemTTL)); - condition = QUOTE((configName (_this select 1)) isKindOf [ARR_2('smokeShell', configFile >> 'CfgMagazines')]); + condition = QUOTE((configName (_this select 1)) isKindOf [ARR_2('smokeShell',configFile >> 'CfgMagazines')]); tabs[] = {{}, {5}}; }; class ACE_explosionTime: statBase { @@ -152,4 +152,13 @@ class GVAR(stats) { textStatement = QUOTE(call FUNC(statTextStatement_magCount)); tabs[] = {{}, {4}}; }; + class ACE_illuminators: statBase { + scope = 2; + priority = 1; + stats[] = {}; + displayName = CSTRING(statIlluminators); + showText = 1; + textStatement = QUOTE(call FUNC(statTextStatement_illuminators)); + tabs[] = {{}, {1}}; + }; }; diff --git a/addons/arsenal/Cfg3DEN.hpp b/addons/arsenal/Cfg3DEN.hpp index 8b40f77bfe..f119af364b 100644 --- a/addons/arsenal/Cfg3DEN.hpp +++ b/addons/arsenal/Cfg3DEN.hpp @@ -28,7 +28,7 @@ class Cfg3DEN { w = QUOTE(130 * ATTRIBUTE_W); h = QUOTE(106.83 * ATTRIBUTE_H); attributeLoad = QUOTE([ARR_2(_this,+_value)] call FUNC(attributeLoad)); - attributeSave = QUOTE(uiNamespace getVariable [ARR_2(QQGVAR(attributeValue),[ARR_2([], 0)])]); + attributeSave = QUOTE(uiNamespace getVariable [ARR_2(QQGVAR(attributeValue),[ARR_2([],0)])]); class controls { class ModeTitle: ctrlStatic { idc = -1; @@ -40,7 +40,7 @@ class Cfg3DEN { }; class Mode: ctrlToolbox { idc = IDC_ATTRIBUTE_MODE; - onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0), _this select 1)] call FUNC(attributeMode)); + onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0),_this select 1)] call FUNC(attributeMode)); x = QUOTE(5 * ATTRIBUTE_W); y = QUOTE(5 * ATTRIBUTE_H); w = QUOTE(125 * ATTRIBUTE_W); @@ -55,7 +55,7 @@ class Cfg3DEN { }; class Category: ctrlToolboxPictureKeepAspect { idc = IDC_ATTRIBUTE_CATEGORY; - onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0), _this select 1)] call FUNC(attributeCategory)); + onToolBoxSelChanged = QUOTE([ARR_2(ctrlParentControlsGroup (_this select 0),_this select 1)] call FUNC(attributeCategory)); x = QUOTE(5 * ATTRIBUTE_W); y = QUOTE(15 * ATTRIBUTE_H); w = QUOTE(125 * ATTRIBUTE_W); @@ -129,7 +129,8 @@ class Cfg3DEN { }; class SearchButton: ctrlButtonPicture { idc = IDC_ATTRIBUTE_SEARCH_BUTTON; - onButtonClick = QUOTE( \ + #pragma hemtt suppress pw3_padded_arg + onButtonClick = QUOTE(\ params ['_searchButton']; \ private _controlsGroup = ctrlParentControlsGroup _searchButton; \ private _searchBar = _controlsGroup controlsGroupCtrl IDC_ATTRIBUTE_SEARCHBAR; \ @@ -147,7 +148,8 @@ class Cfg3DEN { class SearchBar: ctrlEdit { idc = IDC_ATTRIBUTE_SEARCHBAR; onKeyUp = QUOTE([ctrlParentControlsGroup (_this select 0)] call FUNC(attributeAddItems)); - onMouseButtonClick = QUOTE( \ + #pragma hemtt suppress pw3_padded_arg + onMouseButtonClick = QUOTE(\ params [ARR_2('_searchBar','_button')]; \ if (_button != 1) exitWith {}; \ _searchBar ctrlSetText ''; \ diff --git a/addons/arsenal/Display3DEN.hpp b/addons/arsenal/Display3DEN.hpp index b1b78b9f92..8377c38164 100644 --- a/addons/arsenal/Display3DEN.hpp +++ b/addons/arsenal/Display3DEN.hpp @@ -26,7 +26,7 @@ class Display3DEN { class GVAR(portVALoadouts) { text = CSTRING(portLoadoutsText); picture = QPATHTOEF(common,data\logo_ace3_ca.paa); - action = QUOTE(call DFUNC(portVALoadouts);); + action = QUOTE(call DFUNC(portVALoadouts)); }; }; }; diff --git a/addons/arsenal/XEH_PREP.hpp b/addons/arsenal/XEH_PREP.hpp index 3b063d8ebe..ca34487c97 100644 --- a/addons/arsenal/XEH_PREP.hpp +++ b/addons/arsenal/XEH_PREP.hpp @@ -39,11 +39,14 @@ PREP(fillLeftPanel); PREP(fillLoadoutsList); PREP(fillRightPanel); PREP(fillSort); +PREP(getVirtualItems); PREP(handleActions); PREP(handleLoadoutsSearchbar); PREP(handleMouse); PREP(handleScrollWheel); PREP(handleSearchbar); +PREP(handleSearchInputChanged); +PREP(handleSearchModeToggle); PREP(handleStats); PREP(initBox); PREP(itemInfo); @@ -92,6 +95,7 @@ PREP(statBarStatement_impact); PREP(statBarStatement_rateOfFIre); PREP(statTextStatement_accuracy); PREP(statTextStatement_explosionTime); +PREP(statTextStatement_illuminators); PREP(statTextStatement_magCount); PREP(statTextStatement_mass); PREP(statTextStatement_rateOfFire); @@ -102,4 +106,5 @@ PREP(updateCamPos); PREP(updateRightPanel); PREP(updateCurrentItemsList); PREP(updateUniqueItemsList); +PREP(updateVirtualItemsFlat); PREP(verifyLoadout); diff --git a/addons/arsenal/XEH_postInit.sqf b/addons/arsenal/XEH_postInit.sqf index 1aaa0203b1..ac6283e604 100644 --- a/addons/arsenal/XEH_postInit.sqf +++ b/addons/arsenal/XEH_postInit.sqf @@ -18,6 +18,15 @@ GVAR(lastSortDirectionRight) = DESCENDING; [QGVAR(removeDefaultLoadout), LINKFUNC(removeDefaultLoadout)] call CBA_fnc_addEventHandler; [QGVAR(renameDefaultLoadout), LINKFUNC(renameDefaultLoadout)] call CBA_fnc_addEventHandler; +[QGVAR(refresh), { + params ["_object"]; + + // If the arsenal is already open, refresh arsenal display + if (!isNil QGVAR(currentBox) && {GVAR(currentBox) isEqualTo _object}) then { + [true, true] call FUNC(refresh); + }; +}] call CBA_fnc_addEventHandler; + [QGVAR(broadcastFace), { params ["_unit", "_face"]; _unit setFace _face; @@ -149,3 +158,25 @@ GVAR(lastSortDirectionRight) = DESCENDING; }; }; }] call CBA_fnc_addEventHandler; + +// Compatibility for RHS attachment system. Also used by NIArms. +// Will only work for ACE_player, different arsenal centers will be ignored. RHS limitation. +if (!isNil "rhs_fnc_accGripod") then { + [QEGVAR(arsenal,weaponItemChanged), { + params ["_weapon", "_item", "_itemIndex"]; + if (EGVAR(arsenal,center) != ACE_player) exitWith {}; + + switch (_itemIndex) do { + case ITEM_INDEX_SIDE: { + call rhs_fnc_anpeq15_rail; + }; + case ITEM_INDEX_BIPOD: { + // Need this call to make sure RHS's functions are set + call rhs_fnc_accGripod; + if (getText (configFile >> "CfgWeapons" >> _item >> "rhs_grip_type") == "") then { + call rhs_grip_deinitialize; + }; + }; + }; + }] call CBA_fnc_addEventHandler; +}; diff --git a/addons/arsenal/defines.hpp b/addons/arsenal/defines.hpp index cfc12df3d3..73116dde76 100644 --- a/addons/arsenal/defines.hpp +++ b/addons/arsenal/defines.hpp @@ -22,6 +22,14 @@ // Favorites #define FAVORITES_COLOR (GVAR(favoritesColor) + [1]) +// Attachments +#define ITEM_INDEX_MUZZLE 0 +#define ITEM_INDEX_SIDE 1 +#define ITEM_INDEX_OPTIC 2 +#define ITEM_INDEX_BIPOD 3 +#define ITEM_INDEX_MAGAZINE 4 +#define ITEM_INDEX_MAGAZINE_SECONDARY 5 + // IDCs #define IDD_ace_arsenal 1127001 #define IDC_mouseArea 0 diff --git a/addons/arsenal/functions/fnc_addAction.sqf b/addons/arsenal/functions/fnc_addAction.sqf index c867b9aea4..4606be5abe 100644 --- a/addons/arsenal/functions/fnc_addAction.sqf +++ b/addons/arsenal/functions/fnc_addAction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: johnb43 * Adds custom action buttons. diff --git a/addons/arsenal/functions/fnc_addDefaultLoadout.sqf b/addons/arsenal/functions/fnc_addDefaultLoadout.sqf index f1593d82f9..b9b8853f15 100644 --- a/addons/arsenal/functions/fnc_addDefaultLoadout.sqf +++ b/addons/arsenal/functions/fnc_addDefaultLoadout.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654, johnb43 * Adds a loadout to the "Default Loadouts" list. diff --git a/addons/arsenal/functions/fnc_addListBoxItem.sqf b/addons/arsenal/functions/fnc_addListBoxItem.sqf index fb5d3f18d0..2852aa7232 100644 --- a/addons/arsenal/functions/fnc_addListBoxItem.sqf +++ b/addons/arsenal/functions/fnc_addListBoxItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Dedmen, johnb43 diff --git a/addons/arsenal/functions/fnc_addRightPanelButton.sqf b/addons/arsenal/functions/fnc_addRightPanelButton.sqf index 848cc7e584..6e1035a86a 100644 --- a/addons/arsenal/functions/fnc_addRightPanelButton.sqf +++ b/addons/arsenal/functions/fnc_addRightPanelButton.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: shukari, Schwaggot, johnb43 diff --git a/addons/arsenal/functions/fnc_addSort.sqf b/addons/arsenal/functions/fnc_addSort.sqf index 41ad0c5847..053f2ff52f 100644 --- a/addons/arsenal/functions/fnc_addSort.sqf +++ b/addons/arsenal/functions/fnc_addSort.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brett Mayson, johnb43 * Adds a custom sorting method. diff --git a/addons/arsenal/functions/fnc_addStat.sqf b/addons/arsenal/functions/fnc_addStat.sqf index 3e62e2a438..98dfe45213 100644 --- a/addons/arsenal/functions/fnc_addStat.sqf +++ b/addons/arsenal/functions/fnc_addStat.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe, johnb43, LinkIsGrim * Adds a stat to ACE Arsenal. diff --git a/addons/arsenal/functions/fnc_addVirtualItems.sqf b/addons/arsenal/functions/fnc_addVirtualItems.sqf index 68f30bacc3..19859f619c 100644 --- a/addons/arsenal/functions/fnc_addVirtualItems.sqf +++ b/addons/arsenal/functions/fnc_addVirtualItems.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, Dedmen, johnb43 @@ -123,3 +123,10 @@ if (_items isEqualType true) then { }; _object setVariable [QGVAR(virtualItems), _cargo, _global]; + +// If the arsenal is already open, refresh arsenal display +if (_global) then { + [QGVAR(refresh), _object] call CBA_fnc_globalEvent; +} else { + [QGVAR(refresh), _object] call CBA_fnc_localEvent; +}; diff --git a/addons/arsenal/functions/fnc_attributeAddCompatible.sqf b/addons/arsenal/functions/fnc_attributeAddCompatible.sqf index feac294d50..023ebf16cf 100644 --- a/addons/arsenal/functions/fnc_attributeAddCompatible.sqf +++ b/addons/arsenal/functions/fnc_attributeAddCompatible.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: mharis001, johnb43 diff --git a/addons/arsenal/functions/fnc_attributeAddItems.sqf b/addons/arsenal/functions/fnc_attributeAddItems.sqf index 24372bfdeb..5457a920a2 100644 --- a/addons/arsenal/functions/fnc_attributeAddItems.sqf +++ b/addons/arsenal/functions/fnc_attributeAddItems.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: mharis001, johnb43 @@ -18,6 +18,8 @@ params ["_controlsGroup"]; +forceUnicode 0; // handle non-ANSI characters + private _category = lbCurSel (_controlsGroup controlsGroupCtrl IDC_ATTRIBUTE_CATEGORY); private _filter = ctrlText (_controlsGroup controlsGroupCtrl IDC_ATTRIBUTE_SEARCHBAR); private _configItems = uiNamespace getVariable QGVAR(configItems); @@ -28,7 +30,7 @@ _attributeValue params ["_attributeItems", "_attributeMode"]; TRACE_3("Populating list",_category,_filter,_attributeValue); if (_filter != "") then { _filter = _filter call EFUNC(common,escapeRegex); - _filter = ".*?" + (_filter splitString " " joinString ".*?" + ".*?/io"); + _filter = ".*?" + (_filter splitString " " joinString ".*?") + ".*?/io"; } else { _filter = ".*?/io"; }; @@ -139,3 +141,6 @@ private _config = _cfgClass; // Sort alphabetically _listbox lnbSort [1, false]; + +// Reset unicode flag +forceUnicode -1; diff --git a/addons/arsenal/functions/fnc_attributeCategory.sqf b/addons/arsenal/functions/fnc_attributeCategory.sqf index 435b1f1fd0..09b25724a9 100644 --- a/addons/arsenal/functions/fnc_attributeCategory.sqf +++ b/addons/arsenal/functions/fnc_attributeCategory.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: mharis001 diff --git a/addons/arsenal/functions/fnc_attributeClear.sqf b/addons/arsenal/functions/fnc_attributeClear.sqf index 72f00a7bdc..8e40e07703 100644 --- a/addons/arsenal/functions/fnc_attributeClear.sqf +++ b/addons/arsenal/functions/fnc_attributeClear.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: mharis001 diff --git a/addons/arsenal/functions/fnc_attributeDblClick.sqf b/addons/arsenal/functions/fnc_attributeDblClick.sqf index 185de7206e..7c0d4f5a25 100644 --- a/addons/arsenal/functions/fnc_attributeDblClick.sqf +++ b/addons/arsenal/functions/fnc_attributeDblClick.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Handles double clicking a row in 3DEN's ace arsenal attribute listbox. diff --git a/addons/arsenal/functions/fnc_attributeImport.sqf b/addons/arsenal/functions/fnc_attributeImport.sqf index d891dae0b8..28604583a0 100644 --- a/addons/arsenal/functions/fnc_attributeImport.sqf +++ b/addons/arsenal/functions/fnc_attributeImport.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: mharis001 diff --git a/addons/arsenal/functions/fnc_attributeInit.sqf b/addons/arsenal/functions/fnc_attributeInit.sqf index e0891cdf53..42e72056fc 100644 --- a/addons/arsenal/functions/fnc_attributeInit.sqf +++ b/addons/arsenal/functions/fnc_attributeInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Initializes the objects 3DEN's ace arsenal attribute at scenario start. @@ -24,14 +24,12 @@ if (_mode > 0) then { // Blacklist: add full arsenal and take items away [_object, true, true] call FUNC(initBox); - // Need to delay removal by 2 frames + // Wait until all items have been added, so that the blacklisted items can be removed [{ - [{ - params ["_object", "_items"]; - - [_object, _items, true] call FUNC(removeVirtualItems); - }, _this] call CBA_fnc_execNextFrame; - }, [_object, _items]] call CBA_fnc_execNextFrame; + !isNil {(_this select 0) getVariable QGVAR(virtualItems)} + }, { + [_this select 0, _this select 1, true] call FUNC(removeVirtualItems); + }, [_object, _items], 20] call CBA_fnc_waitUntilAndExecute; // 20s timeout in case of failure } else { // Exit on whitelist mode with no items if (_items isEqualTo []) exitWith {}; diff --git a/addons/arsenal/functions/fnc_attributeKeyDown.sqf b/addons/arsenal/functions/fnc_attributeKeyDown.sqf index 9406454d8c..85fe522239 100644 --- a/addons/arsenal/functions/fnc_attributeKeyDown.sqf +++ b/addons/arsenal/functions/fnc_attributeKeyDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "\a3\ui_f\hpp\defineDIKCodes.inc" /* * Author: mharis001 diff --git a/addons/arsenal/functions/fnc_attributeLoad.sqf b/addons/arsenal/functions/fnc_attributeLoad.sqf index 97b044c5f8..bd1ec98ab2 100644 --- a/addons/arsenal/functions/fnc_attributeLoad.sqf +++ b/addons/arsenal/functions/fnc_attributeLoad.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: mharis001 diff --git a/addons/arsenal/functions/fnc_attributeMode.sqf b/addons/arsenal/functions/fnc_attributeMode.sqf index 400d63049c..9aab5c8869 100644 --- a/addons/arsenal/functions/fnc_attributeMode.sqf +++ b/addons/arsenal/functions/fnc_attributeMode.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: mharis001 diff --git a/addons/arsenal/functions/fnc_attributeSelect.sqf b/addons/arsenal/functions/fnc_attributeSelect.sqf index 3edf209d01..5aeb46c5a4 100644 --- a/addons/arsenal/functions/fnc_attributeSelect.sqf +++ b/addons/arsenal/functions/fnc_attributeSelect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: mharis001 diff --git a/addons/arsenal/functions/fnc_baseWeapon.sqf b/addons/arsenal/functions/fnc_baseWeapon.sqf index 4b5f3b52d6..f166af94ce 100644 --- a/addons/arsenal/functions/fnc_baseWeapon.sqf +++ b/addons/arsenal/functions/fnc_baseWeapon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Karel Moricky, johnb43 * Returns base weapon (weapon without any attachments), but it returns it in config sensitive case. diff --git a/addons/arsenal/functions/fnc_buttonActionsPage.sqf b/addons/arsenal/functions/fnc_buttonActionsPage.sqf index 7b30f42e4d..17da357100 100644 --- a/addons/arsenal/functions/fnc_buttonActionsPage.sqf +++ b/addons/arsenal/functions/fnc_buttonActionsPage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Brett Mayson diff --git a/addons/arsenal/functions/fnc_buttonCargo.sqf b/addons/arsenal/functions/fnc_buttonCargo.sqf index a73e5cd8d2..48c5ee477e 100644 --- a/addons/arsenal/functions/fnc_buttonCargo.sqf +++ b/addons/arsenal/functions/fnc_buttonCargo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_buttonClearAll.sqf b/addons/arsenal/functions/fnc_buttonClearAll.sqf index bec334e340..dbcc00e33c 100644 --- a/addons/arsenal/functions/fnc_buttonClearAll.sqf +++ b/addons/arsenal/functions/fnc_buttonClearAll.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_buttonExport.sqf b/addons/arsenal/functions/fnc_buttonExport.sqf index fd4568f025..3e5039a504 100644 --- a/addons/arsenal/functions/fnc_buttonExport.sqf +++ b/addons/arsenal/functions/fnc_buttonExport.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe * Export current loadout / default loadouts list to clipboard. diff --git a/addons/arsenal/functions/fnc_buttonFavorites.sqf b/addons/arsenal/functions/fnc_buttonFavorites.sqf index b748ccc7ae..1c7c7cd53f 100644 --- a/addons/arsenal/functions/fnc_buttonFavorites.sqf +++ b/addons/arsenal/functions/fnc_buttonFavorites.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: LinkIsGrim diff --git a/addons/arsenal/functions/fnc_buttonHide.sqf b/addons/arsenal/functions/fnc_buttonHide.sqf index 6685150955..6b6c84da93 100644 --- a/addons/arsenal/functions/fnc_buttonHide.sqf +++ b/addons/arsenal/functions/fnc_buttonHide.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe diff --git a/addons/arsenal/functions/fnc_buttonImport.sqf b/addons/arsenal/functions/fnc_buttonImport.sqf index 8c5510c6ba..8a83fe3ff0 100644 --- a/addons/arsenal/functions/fnc_buttonImport.sqf +++ b/addons/arsenal/functions/fnc_buttonImport.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_buttonLoadoutsDelete.sqf b/addons/arsenal/functions/fnc_buttonLoadoutsDelete.sqf index 79c2fd2884..20f0f8b3da 100644 --- a/addons/arsenal/functions/fnc_buttonLoadoutsDelete.sqf +++ b/addons/arsenal/functions/fnc_buttonLoadoutsDelete.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_buttonLoadoutsLoad.sqf b/addons/arsenal/functions/fnc_buttonLoadoutsLoad.sqf index c02fcc4b7d..120a50ae9c 100644 --- a/addons/arsenal/functions/fnc_buttonLoadoutsLoad.sqf +++ b/addons/arsenal/functions/fnc_buttonLoadoutsLoad.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_buttonLoadoutsRename.sqf b/addons/arsenal/functions/fnc_buttonLoadoutsRename.sqf index e1c52f52b7..87191a99c2 100644 --- a/addons/arsenal/functions/fnc_buttonLoadoutsRename.sqf +++ b/addons/arsenal/functions/fnc_buttonLoadoutsRename.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_buttonLoadoutsSave.sqf b/addons/arsenal/functions/fnc_buttonLoadoutsSave.sqf index 785e7486e9..142a19c635 100644 --- a/addons/arsenal/functions/fnc_buttonLoadoutsSave.sqf +++ b/addons/arsenal/functions/fnc_buttonLoadoutsSave.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_buttonLoadoutsShare.sqf b/addons/arsenal/functions/fnc_buttonLoadoutsShare.sqf index 459d9879d6..b31e2edad2 100644 --- a/addons/arsenal/functions/fnc_buttonLoadoutsShare.sqf +++ b/addons/arsenal/functions/fnc_buttonLoadoutsShare.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_buttonStatsPage.sqf b/addons/arsenal/functions/fnc_buttonStatsPage.sqf index f3a98c802c..bef2631f8c 100644 --- a/addons/arsenal/functions/fnc_buttonStatsPage.sqf +++ b/addons/arsenal/functions/fnc_buttonStatsPage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe diff --git a/addons/arsenal/functions/fnc_canEditDefaultLoadout.sqf b/addons/arsenal/functions/fnc_canEditDefaultLoadout.sqf index 6f9dc8738c..c9258b9f42 100644 --- a/addons/arsenal/functions/fnc_canEditDefaultLoadout.sqf +++ b/addons/arsenal/functions/fnc_canEditDefaultLoadout.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: LinkIsGrim diff --git a/addons/arsenal/functions/fnc_clearSearchbar.sqf b/addons/arsenal/functions/fnc_clearSearchbar.sqf index 4d9521baca..6595397e66 100644 --- a/addons/arsenal/functions/fnc_clearSearchbar.sqf +++ b/addons/arsenal/functions/fnc_clearSearchbar.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe diff --git a/addons/arsenal/functions/fnc_compileActions.sqf b/addons/arsenal/functions/fnc_compileActions.sqf index 1fec6005d1..6eda62ac65 100644 --- a/addons/arsenal/functions/fnc_compileActions.sqf +++ b/addons/arsenal/functions/fnc_compileActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brett Mayson * Create the internal actions arrays when needed for the first time. diff --git a/addons/arsenal/functions/fnc_compileSorts.sqf b/addons/arsenal/functions/fnc_compileSorts.sqf index de2fff4e4f..0a1f7b781f 100644 --- a/addons/arsenal/functions/fnc_compileSorts.sqf +++ b/addons/arsenal/functions/fnc_compileSorts.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brett Mayson, johnb43 * Create the internal sort arrays when needed for the first time. diff --git a/addons/arsenal/functions/fnc_compileStats.sqf b/addons/arsenal/functions/fnc_compileStats.sqf index 7b9eeac366..ef8cba2f40 100644 --- a/addons/arsenal/functions/fnc_compileStats.sqf +++ b/addons/arsenal/functions/fnc_compileStats.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe, johnb43 * Create the internal stat arrays when needed for the first time. diff --git a/addons/arsenal/functions/fnc_fillLeftPanel.sqf b/addons/arsenal/functions/fnc_fillLeftPanel.sqf index a37210e4a2..effcc03d20 100644 --- a/addons/arsenal/functions/fnc_fillLeftPanel.sqf +++ b/addons/arsenal/functions/fnc_fillLeftPanel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 @@ -7,6 +7,7 @@ * Arguments: * 0: Arsenal display * 1: Tab control + * 2: Animate panel refresh * * Return Value: * None @@ -14,28 +15,30 @@ * Public: No */ -params ["_display", "_control"]; +params ["_display", "_control", ["_animate", true]]; // Fade old control background if (!isNil QGVAR(currentLeftPanel)) then { private _previousCtrlBackground = _display displayCtrl (GVAR(currentLeftPanel) - 1); _previousCtrlBackground ctrlSetFade 1; - _previousCtrlBackground ctrlCommit FADE_DELAY; + _previousCtrlBackground ctrlCommit ([0, FADE_DELAY] select _animate); }; // Show new control background private _ctrlIDC = ctrlIDC _control; private _ctrlBackground = _display displayCtrl (_ctrlIDC - 1); _ctrlBackground ctrlSetFade 0; -_ctrlBackground ctrlCommit FADE_DELAY; +_ctrlBackground ctrlCommit ([0, FADE_DELAY] select _animate); private _ctrlPanel = _display displayCtrl IDC_leftTabContent; // Force a "refresh" animation of the panel -_ctrlPanel ctrlSetFade 1; -_ctrlPanel ctrlCommit 0; -_ctrlPanel ctrlSetFade 0; -_ctrlPanel ctrlCommit FADE_DELAY; +if (_animate) then { + _ctrlPanel ctrlSetFade 1; + _ctrlPanel ctrlCommit 0; + _ctrlPanel ctrlSetFade 0; + _ctrlPanel ctrlCommit FADE_DELAY; +}; _ctrlPanel lbSetCurSel -1; diff --git a/addons/arsenal/functions/fnc_fillLoadoutsList.sqf b/addons/arsenal/functions/fnc_fillLoadoutsList.sqf index 5c0ccb6467..7d5152dfdd 100644 --- a/addons/arsenal/functions/fnc_fillLoadoutsList.sqf +++ b/addons/arsenal/functions/fnc_fillLoadoutsList.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_fillRightPanel.sqf b/addons/arsenal/functions/fnc_fillRightPanel.sqf index 3be98c737e..d01991f924 100644 --- a/addons/arsenal/functions/fnc_fillRightPanel.sqf +++ b/addons/arsenal/functions/fnc_fillRightPanel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 @@ -7,6 +7,7 @@ * Arguments: * 0: Arsenal display * 1: Tab control + * 2: Animate panel refresh (default: true) * * Return Value: * None @@ -14,13 +15,13 @@ * Public: No */ -params ["_display", "_control"]; +params ["_display", "_control", ["_animate", true]]; // Fade old control background if (!isNil QGVAR(currentRightPanel)) then { private _previousCtrlBackground = _display displayCtrl (GVAR(currentRightPanel) - 1); _previousCtrlBackground ctrlSetFade 1; - _previousCtrlBackground ctrlCommit FADE_DELAY; + _previousCtrlBackground ctrlCommit ([0, FADE_DELAY] select _animate); }; // Show new control background @@ -28,7 +29,7 @@ private _ctrlIDC = ctrlIDC _control; private _ctrlBackground = _display displayCtrl (_ctrlIDC - 1); _ctrlBackground ctrlShow true; _ctrlBackground ctrlSetFade 0; -_ctrlBackground ctrlCommit FADE_DELAY; +_ctrlBackground ctrlCommit ([0, FADE_DELAY] select _animate); private _searchbarCtrl = _display displayCtrl IDC_rightSearchbar; @@ -183,10 +184,12 @@ switch (GVAR(currentLeftPanel)) do { }; // Force a "refresh" animation of the panel -_ctrlPanel ctrlSetFade 1; -_ctrlPanel ctrlCommit 0; -_ctrlPanel ctrlSetFade 0; -_ctrlPanel ctrlCommit FADE_DELAY; +if (_animate) then { + _ctrlPanel ctrlSetFade 1; + _ctrlPanel ctrlCommit 0; + _ctrlPanel ctrlSetFade 0; + _ctrlPanel ctrlCommit FADE_DELAY; +}; // Check if the left panel is a weapon. If so, right panel will be compatible items with weapon only private _leftPanelState = GVAR(currentLeftPanel) in [IDC_buttonPrimaryWeapon, IDC_buttonHandgun, IDC_buttonSecondaryWeapon, IDC_buttonBinoculars]; diff --git a/addons/arsenal/functions/fnc_fillSort.sqf b/addons/arsenal/functions/fnc_fillSort.sqf index 7f2f47f914..6b14ee38e2 100644 --- a/addons/arsenal/functions/fnc_fillSort.sqf +++ b/addons/arsenal/functions/fnc_fillSort.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, Brett Mayson, johnb43 diff --git a/addons/arsenal/functions/fnc_getVirtualItems.sqf b/addons/arsenal/functions/fnc_getVirtualItems.sqf new file mode 100644 index 0000000000..0666b34087 --- /dev/null +++ b/addons/arsenal/functions/fnc_getVirtualItems.sqf @@ -0,0 +1,39 @@ +#include "..\script_component.hpp" +#include "..\defines.hpp" +/* + * Author: johnb43, Grim + * Gets list of virtual items available to the object. + * + * Arguments: + * 0: Target + * + * Return Value: + * Virtual Items + * + * Example: + * cursorObject call ace_arsenal_fnc_getVirtualItems + * + * Public: Yes +*/ +params [["_object", objNull, [objNull]]]; + +private _virtualItems = _object getVariable QGVAR(virtualItems); +if (isNil "_virtualItems") exitWith {createHashMap}; + +private _virtualItemsFlat = +_virtualItems; +private _weapons = _virtualItemsFlat deleteAt IDX_VIRT_WEAPONS; +private _attachments = _virtualItemsFlat deleteAt IDX_VIRT_ATTACHMENTS; + +for "_index" from IDX_VIRT_ITEMS_ALL to IDX_VIRT_MISC_ITEMS do { + _virtualItemsFlat merge [_virtualItemsFlat deleteAt _index, true]; +}; + +for "_index" from IDX_VIRT_PRIMARY_WEAPONS to IDX_VIRT_HANDGUN_WEAPONS do { + _virtualItemsFlat merge [_weapons deleteAt _index, true]; +}; + +for "_index" from IDX_VIRT_OPTICS_ATTACHMENTS to IDX_VIRT_BIPOD_ATTACHMENTS do { + _virtualItemsFlat merge [_attachments deleteAt _index, true]; +}; + +_virtualItemsFlat // return diff --git a/addons/arsenal/functions/fnc_handleActions.sqf b/addons/arsenal/functions/fnc_handleActions.sqf index c3c8e09c7e..833a615cb5 100644 --- a/addons/arsenal/functions/fnc_handleActions.sqf +++ b/addons/arsenal/functions/fnc_handleActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Brett Mayson diff --git a/addons/arsenal/functions/fnc_handleLoadoutsSearchbar.sqf b/addons/arsenal/functions/fnc_handleLoadoutsSearchbar.sqf index 8e6090caf2..56d6c357d5 100644 --- a/addons/arsenal/functions/fnc_handleLoadoutsSearchbar.sqf +++ b/addons/arsenal/functions/fnc_handleLoadoutsSearchbar.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe diff --git a/addons/arsenal/functions/fnc_handleMouse.sqf b/addons/arsenal/functions/fnc_handleMouse.sqf index 75dfc576f9..588999de8e 100644 --- a/addons/arsenal/functions/fnc_handleMouse.sqf +++ b/addons/arsenal/functions/fnc_handleMouse.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Karel Moricky, modified by Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_handleScrollWheel.sqf b/addons/arsenal/functions/fnc_handleScrollWheel.sqf index f412c8153c..6ca7be588f 100644 --- a/addons/arsenal/functions/fnc_handleScrollWheel.sqf +++ b/addons/arsenal/functions/fnc_handleScrollWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe * Handle the mouse wheel. diff --git a/addons/arsenal/functions/fnc_handleSearchInputChanged.sqf b/addons/arsenal/functions/fnc_handleSearchInputChanged.sqf new file mode 100644 index 0000000000..2c7364c6ef --- /dev/null +++ b/addons/arsenal/functions/fnc_handleSearchInputChanged.sqf @@ -0,0 +1,28 @@ +#include "..\script_component.hpp" +#include "..\defines.hpp" +/* + * Author: PabstMirror + * Handles user input in the search text boxes + * + * Arguments: + * 0: Search text input (left or right) + * 1: Text + * + * Return Value: + * None + * + * Public: No +*/ + +params ["_ctrl", "_newText"]; + +if (!GVAR(liveUpdateSearch)) exitWith {}; + +private _display = ctrlParent _ctrl; + +if (GVAR(leftSearchbarFocus)) then { + [_display, _display displayCtrl IDC_leftSearchbar, false] call FUNC(handleSearchBar); +}; +if (GVAR(rightSearchbarFocus)) then { + [_display, _display displayCtrl IDC_rightSearchbar, false] call FUNC(handleSearchBar); +}; diff --git a/addons/arsenal/functions/fnc_handleSearchModeToggle.sqf b/addons/arsenal/functions/fnc_handleSearchModeToggle.sqf new file mode 100644 index 0000000000..b5c35b59a5 --- /dev/null +++ b/addons/arsenal/functions/fnc_handleSearchModeToggle.sqf @@ -0,0 +1,30 @@ +#include "..\script_component.hpp" +#include "..\defines.hpp" +/* + * Author: PabstMirror + * Handles mouse clicks on search button to toggle live results + * + * Arguments: + * 0: Search button (left or right) + * 1: Mouse Button + * 2: Not used + * 3: Not used + * 4: Not used + * 5: Ctrl Button + * + * Return Value: + * None + * + * Public: No +*/ + +params ["_ctrl", "_mouseButton", "", "", "", "_keyCtrl"]; + +if ((!_keyCtrl)) exitWith {}; // Ignore if not CTRL + Click + +GVAR(liveUpdateSearch) = !GVAR(liveUpdateSearch); + +private _display = ctrlParent _ctrl; +private _color = if (GVAR(liveUpdateSearch)) then { [0,1,0,0.5] } else { [0,0,0,0.5] }; +(_display displayCtrl IDC_leftSearchbarButton) ctrlSetBackgroundColor _color; +(_display displayCtrl IDC_rightSearchbarButton) ctrlSetBackgroundColor _color; diff --git a/addons/arsenal/functions/fnc_handleSearchbar.sqf b/addons/arsenal/functions/fnc_handleSearchbar.sqf index e83ec70c4d..d25a064867 100644 --- a/addons/arsenal/functions/fnc_handleSearchbar.sqf +++ b/addons/arsenal/functions/fnc_handleSearchbar.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 @@ -7,6 +7,7 @@ * Arguments: * 0: Arsenal display * 1: Searchbar control + * 2: Animate panel refresh (default: true) * * Return Value: * None @@ -14,25 +15,28 @@ * Public: No */ -params ["_display", "_control"]; +params ["_display", "_control", ["_animate", true]]; + +forceUnicode 0; // handle non-ANSI characters private _searchString = ctrlText _control; +private _searchPattern = ""; if (_searchString != "") then { - _searchString = _searchString call EFUNC(common,escapeRegex); - _searchString = ".*?" + (_searchString splitString " " joinString ".*?") + ".*?/io"; + _searchPattern = _searchString call EFUNC(common,escapeRegex); + _searchPattern = ".*?" + (_searchPattern splitString " " joinString ".*?") + ".*?/io"; }; // Right panel search bar if ((ctrlIDC _control) == IDC_rightSearchbar) then { // Don't refill if there is no need - if (GVAR(lastSearchTextRight) != "" && {GVAR(lastSearchTextRight) isNotEqualTo _searchString}) then { - [_display, _display displayCtrl GVAR(currentRightPanel)] call FUNC(fillRightPanel); + if (GVAR(lastSearchTextRight) != "" && {(_searchString find GVAR(lastSearchTextRight)) != 0}) then { + [_display, _display displayCtrl GVAR(currentRightPanel), _animate] call FUNC(fillRightPanel); }; GVAR(lastSearchTextRight) = _searchString; // If nothing searched, quit here - if (_searchString == "") exitWith {}; + if (_searchPattern == "") exitWith {}; private _rightPanelState = GVAR(currentLeftPanel) in [IDC_buttonPrimaryWeapon, IDC_buttonHandgun, IDC_buttonSecondaryWeapon, IDC_buttonBinoculars]; private _rightPanelCtrl = [_display displayCtrl IDC_rightTabContentListnBox, _display displayCtrl IDC_rightTabContent] select _rightPanelState; @@ -57,7 +61,7 @@ if ((ctrlIDC _control) == IDC_rightSearchbar) then { _currentClassname = _rightPanelCtrl lbData _lbIndex; // Remove item in panel if it doesn't match search, skip otherwise - if ((_currentDisplayName == "") || {!(_currentDisplayName regexMatch _searchString) && {!(_currentClassname regexMatch _searchString)}}) then { + if ((_currentDisplayName == "") || {!(_currentDisplayName regexMatch _searchPattern) && {!(_currentClassname regexMatch _searchPattern)}}) then { _rightPanelCtrl lbDelete _lbIndex; }; }; @@ -97,7 +101,7 @@ if ((ctrlIDC _control) == IDC_rightSearchbar) then { _currentClassname = _rightPanelCtrl lnbData [_lbIndex, 0]; // Remove item in panel if it doesn't match search, skip otherwise - if ((_currentDisplayName == "") || {!(_currentDisplayName regexMatch _searchString) && {!(_currentClassname regexMatch _searchString)}}) then { + if ((_currentDisplayName == "") || {!(_currentDisplayName regexMatch _searchPattern) && {!(_currentClassname regexMatch _searchPattern)}}) then { _rightPanelCtrl lnbDeleteRow _lbIndex; }; }; @@ -124,14 +128,14 @@ if ((ctrlIDC _control) == IDC_rightSearchbar) then { } else { // Left panel search bar // Don't refill if there is no need - if (GVAR(lastSearchTextLeft) != "" && {GVAR(lastSearchTextLeft) isNotEqualTo _searchString}) then { - [_display, _display displayCtrl GVAR(currentLeftPanel)] call FUNC(fillLeftPanel); + if (GVAR(lastSearchTextLeft) != "" && {(_searchString find GVAR(lastSearchTextLeft)) != 0}) then { + [_display, _display displayCtrl GVAR(currentLeftPanel), _animate] call FUNC(fillLeftPanel); }; GVAR(lastSearchTextLeft) = _searchString; // If nothing searched, quit here - if (_searchString == "") exitWith {}; + if (_searchPattern == "") exitWith {}; private _leftPanelCtrl = _display displayCtrl IDC_leftTabContent; @@ -153,7 +157,7 @@ if ((ctrlIDC _control) == IDC_rightSearchbar) then { _currentClassname = _leftPanelCtrl lbData _lbIndex; // Remove item in panel if it doesn't match search, skip otherwise - if ((_currentDisplayName == "") || {!(_currentDisplayName regexMatch _searchString) && {!(_currentClassname regexMatch _searchString)}}) then { + if ((_currentDisplayName == "") || {!(_currentDisplayName regexMatch _searchPattern) && {!(_currentClassname regexMatch _searchPattern)}}) then { _leftPanelCtrl lbDelete _lbIndex; }; }; @@ -175,3 +179,6 @@ if ((ctrlIDC _control) == IDC_rightSearchbar) then { [_display, nil, nil, configNull] call FUNC(itemInfo); }; + +// Reset unicode flag +forceUnicode -1; diff --git a/addons/arsenal/functions/fnc_handleStats.sqf b/addons/arsenal/functions/fnc_handleStats.sqf index a31a30bea4..b5d435a101 100644 --- a/addons/arsenal/functions/fnc_handleStats.sqf +++ b/addons/arsenal/functions/fnc_handleStats.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe diff --git a/addons/arsenal/functions/fnc_initBox.sqf b/addons/arsenal/functions/fnc_initBox.sqf index 4139cddf07..8651d25db8 100644 --- a/addons/arsenal/functions/fnc_initBox.sqf +++ b/addons/arsenal/functions/fnc_initBox.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe, johnb43 * Initialize a box / object for arsenal. @@ -51,7 +51,10 @@ if (_global && {isMultiplayer} && {isNil {_object getVariable QGVAR(initBoxJIP)} ] call EFUNC(interact_menu,createAction); [_object, 0, ["ACE_MainActions"], _action] call EFUNC(interact_menu,addActionToObject); - [_object, _items, false] call FUNC(addVirtualItems); + // If items were set globally, do not add items locally + if (isNil {_object getVariable QGVAR(virtualItems)}) then { + [_object, _items, false] call FUNC(addVirtualItems); + }; [QGVAR(boxInitialized), [_object, _items]] call CBA_fnc_localEvent; }; diff --git a/addons/arsenal/functions/fnc_itemInfo.sqf b/addons/arsenal/functions/fnc_itemInfo.sqf index 793d5a85e2..676783a8b5 100644 --- a/addons/arsenal/functions/fnc_itemInfo.sqf +++ b/addons/arsenal/functions/fnc_itemInfo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" #include "\a3\ui_f\hpp\defineResincl.inc" /* diff --git a/addons/arsenal/functions/fnc_loadoutsChangeTab.sqf b/addons/arsenal/functions/fnc_loadoutsChangeTab.sqf index 13300bb2a4..a0203ff5b9 100644 --- a/addons/arsenal/functions/fnc_loadoutsChangeTab.sqf +++ b/addons/arsenal/functions/fnc_loadoutsChangeTab.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe diff --git a/addons/arsenal/functions/fnc_message.sqf b/addons/arsenal/functions/fnc_message.sqf index 6b7d564bb3..b20689f6b9 100644 --- a/addons/arsenal/functions/fnc_message.sqf +++ b/addons/arsenal/functions/fnc_message.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe diff --git a/addons/arsenal/functions/fnc_onArsenalClose.sqf b/addons/arsenal/functions/fnc_onArsenalClose.sqf index 222ef8a9d9..c6a1da0215 100644 --- a/addons/arsenal/functions/fnc_onArsenalClose.sqf +++ b/addons/arsenal/functions/fnc_onArsenalClose.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe * onUnLoad EH for arsenal. @@ -104,11 +104,13 @@ GVAR(currentLeftPanel) = nil; GVAR(currentRightPanel) = nil; GVAR(leftSearchbarFocus) = nil; GVAR(rightSearchbarFocus) = nil; +GVAR(liveUpdateSearch) = nil; GVAR(shiftState) = nil; GVAR(leftTabFocus) = nil; GVAR(rightTabFocus) = nil; GVAR(rightTabLnBFocus) = nil; GVAR(ignoreFirstSortPanelCall) = nil; +GVAR(refreshing) = nil; GVAR(selectedWeaponType) = nil; GVAR(virtualItems) = nil; @@ -134,4 +136,6 @@ GVAR(favorites) = nil; GVAR(center) = nil; GVAR(centerNotPlayer) = nil; +GVAR(ignoredVirtualItems) = nil; + [QUOTE(ADDON), []] call EFUNC(common,showHud); diff --git a/addons/arsenal/functions/fnc_onArsenalOpen.sqf b/addons/arsenal/functions/fnc_onArsenalOpen.sqf index f3c499cef0..5e35500248 100644 --- a/addons/arsenal/functions/fnc_onArsenalOpen.sqf +++ b/addons/arsenal/functions/fnc_onArsenalOpen.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 @@ -42,6 +42,10 @@ if (isNil QGVAR(defaultLoadoutsList)) then { }; }; +if (isNil {profileNamespace getVariable QGVAR(saved_loadouts)}) then { + profileNamespace setVariable [QGVAR(saved_loadouts), []]; +}; + if (isNil QGVAR(virtualItems)) then { private _virtualItems = [ [IDX_VIRT_WEAPONS, createHashMapFromArray [[IDX_VIRT_PRIMARY_WEAPONS, createHashMap], [IDX_VIRT_SECONDARY_WEAPONS, createHashMap], [IDX_VIRT_HANDGUN_WEAPONS, createHashMap]]], @@ -57,25 +61,10 @@ if (isNil QGVAR(virtualItems)) then { GVAR(virtualItems) = _virtualItems; // Flatten out hashmaps for easy checking later - private _virtualItemsFlat = +_virtualItems; - private _weapons = _virtualItemsFlat deleteAt IDX_VIRT_WEAPONS; - private _attachments = _virtualItemsFlat deleteAt IDX_VIRT_ATTACHMENTS; - - for "_index" from IDX_VIRT_ITEMS_ALL to IDX_VIRT_MISC_ITEMS do { - _virtualItemsFlat merge [_virtualItemsFlat deleteAt _index, true]; - }; - - for "_index" from IDX_VIRT_PRIMARY_WEAPONS to IDX_VIRT_HANDGUN_WEAPONS do { - _virtualItemsFlat merge [_weapons deleteAt _index, true]; - }; - - for "_index" from IDX_VIRT_OPTICS_ATTACHMENTS to IDX_VIRT_BIPOD_ATTACHMENTS do { - _virtualItemsFlat merge [_attachments deleteAt _index, true]; - }; - - GVAR(virtualItemsFlat) = _virtualItemsFlat; + call FUNC(updateVirtualItemsFlat); }; +// Includes items not in the arsenal but equipped on player GVAR(virtualItemsFlatAll) = +GVAR(virtualItemsFlat); GVAR(currentFace) = face GVAR(center); @@ -241,10 +230,12 @@ GVAR(currentLeftPanel) = nil; GVAR(currentRightPanel) = nil; GVAR(leftSearchbarFocus) = false; GVAR(rightSearchbarFocus) = false; +GVAR(liveUpdateSearch) = false; GVAR(leftTabFocus) = false; GVAR(rightTabFocus) = false; GVAR(rightTabLnBFocus) = false; GVAR(ignoreFirstSortPanelCall) = false; +GVAR(refreshing) = false; { private _panel = _display displayCtrl _x; diff --git a/addons/arsenal/functions/fnc_onKeyDown.sqf b/addons/arsenal/functions/fnc_onKeyDown.sqf index bc110f3f64..24fbd624f6 100644 --- a/addons/arsenal/functions/fnc_onKeyDown.sqf +++ b/addons/arsenal/functions/fnc_onKeyDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" #include "\a3\ui_f\hpp\defineDIKCodes.inc" /* diff --git a/addons/arsenal/functions/fnc_onLoadoutsClose.sqf b/addons/arsenal/functions/fnc_onLoadoutsClose.sqf index 84912e6d6a..d6605c3e27 100644 --- a/addons/arsenal/functions/fnc_onLoadoutsClose.sqf +++ b/addons/arsenal/functions/fnc_onLoadoutsClose.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe diff --git a/addons/arsenal/functions/fnc_onLoadoutsOpen.sqf b/addons/arsenal/functions/fnc_onLoadoutsOpen.sqf index ecfce2925b..dea351546b 100644 --- a/addons/arsenal/functions/fnc_onLoadoutsOpen.sqf +++ b/addons/arsenal/functions/fnc_onLoadoutsOpen.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe diff --git a/addons/arsenal/functions/fnc_onMouseButtonDown.sqf b/addons/arsenal/functions/fnc_onMouseButtonDown.sqf index 77d7ea84c4..02a90cd037 100644 --- a/addons/arsenal/functions/fnc_onMouseButtonDown.sqf +++ b/addons/arsenal/functions/fnc_onMouseButtonDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles mouse button press. diff --git a/addons/arsenal/functions/fnc_onMouseButtonUp.sqf b/addons/arsenal/functions/fnc_onMouseButtonUp.sqf index d84b8dae2d..7efc638b63 100644 --- a/addons/arsenal/functions/fnc_onMouseButtonUp.sqf +++ b/addons/arsenal/functions/fnc_onMouseButtonUp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles mouse button release. diff --git a/addons/arsenal/functions/fnc_onPanelDblClick.sqf b/addons/arsenal/functions/fnc_onPanelDblClick.sqf index d9ea3583be..032d87534b 100644 --- a/addons/arsenal/functions/fnc_onPanelDblClick.sqf +++ b/addons/arsenal/functions/fnc_onPanelDblClick.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" #include "\a3\ui_f\hpp\defineResincl.inc" /* diff --git a/addons/arsenal/functions/fnc_onSelChangedLeft.sqf b/addons/arsenal/functions/fnc_onSelChangedLeft.sqf index e8c74025e8..3d356fc207 100644 --- a/addons/arsenal/functions/fnc_onSelChangedLeft.sqf +++ b/addons/arsenal/functions/fnc_onSelChangedLeft.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" #include "\a3\ui_f\hpp\defineResincl.inc" /* @@ -23,8 +23,9 @@ private _display = ctrlParent _control; private _item = [_control lbData _curSel, _control lnbData [_curSel, 0]] select (ctrlType _control == CT_LISTNBOX); // When having chosen a new category, see if the current right panel can be kept open, otherwise take default -private _selectCorrectPanelWeapon = [_display displayCtrl IDC_buttonOptic, _display displayCtrl GVAR(currentRightPanel)] select (!isNil QGVAR(currentRightPanel) && {GVAR(currentRightPanel) in [RIGHT_PANEL_ACC_IDCS, IDC_buttonCurrentMag, IDC_buttonCurrentMag2]}); -private _selectCorrectPanelContainer = [_display displayCtrl IDC_buttonMisc, _display displayCtrl GVAR(currentRightPanel)] select (!isNil QGVAR(currentRightPanel) && {GVAR(currentRightPanel) in [RIGHT_PANEL_ITEMS_IDCS]}); +private _currentRightPanel = _display displayCtrl GVAR(currentRightPanel); +private _selectCorrectPanelWeapon = [_display displayCtrl IDC_buttonOptic, _currentRightPanel] select (!isNil QGVAR(currentRightPanel) && {GVAR(currentRightPanel) in [RIGHT_PANEL_ACC_IDCS, IDC_buttonCurrentMag, IDC_buttonCurrentMag2]}); +private _selectCorrectPanelContainer = [_display displayCtrl IDC_buttonMisc, _currentRightPanel] select (!isNil QGVAR(currentRightPanel) && {GVAR(currentRightPanel) in [RIGHT_PANEL_ITEMS_IDCS]}); // Remove all magazines from the current weapon that aren't compatible with the new weapon private _fnc_clearCurrentWeaponMags = { @@ -115,7 +116,7 @@ switch (GVAR(currentLeftPanel)) do { TOGGLE_RIGHT_PANEL_WEAPON - [_display, _selectCorrectPanelWeapon] call FUNC(fillRightPanel); + [_display, _selectCorrectPanelWeapon, !GVAR(refreshing) && {_currentRightPanel isNotEqualTo _selectCorrectPanelWeapon}] call FUNC(fillRightPanel); }; // Make unit switch to new item @@ -191,7 +192,7 @@ switch (GVAR(currentLeftPanel)) do { TOGGLE_RIGHT_PANEL_WEAPON - [_display, _selectCorrectPanelWeapon] call FUNC(fillRightPanel); + [_display, _selectCorrectPanelWeapon, !GVAR(refreshing) && {_currentRightPanel isNotEqualTo _selectCorrectPanelWeapon}] call FUNC(fillRightPanel); }; // Make unit switch to new item @@ -273,7 +274,7 @@ switch (GVAR(currentLeftPanel)) do { _this call FUNC(fillRightPanel); }, [_display, _selectCorrectPanelWeapon]] call CBA_fnc_execNextFrame; } else { - [_display, _selectCorrectPanelWeapon] call FUNC(fillRightPanel); + [_display, _selectCorrectPanelWeapon, !GVAR(refreshing) && {_currentRightPanel isNotEqualTo _selectCorrectPanelWeapon}] call FUNC(fillRightPanel); }; }; @@ -347,7 +348,7 @@ switch (GVAR(currentLeftPanel)) do { TOGGLE_RIGHT_PANEL_CONTAINER - [_display, _selectCorrectPanelContainer] call FUNC(fillRightPanel); + [_display, _selectCorrectPanelContainer, !GVAR(refreshing) && {_currentRightPanel isNotEqualTo _selectCorrectPanelContainer}] call FUNC(fillRightPanel); }; // Make unit switch to new item @@ -385,7 +386,7 @@ switch (GVAR(currentLeftPanel)) do { TOGGLE_RIGHT_PANEL_CONTAINER - [_display, _selectCorrectPanelContainer] call FUNC(fillRightPanel); + [_display, _selectCorrectPanelContainer, !GVAR(refreshing) && {_currentRightPanel isNotEqualTo _selectCorrectPanelContainer}] call FUNC(fillRightPanel); }; // Make unit switch to new item @@ -423,7 +424,7 @@ switch (GVAR(currentLeftPanel)) do { TOGGLE_RIGHT_PANEL_CONTAINER - [_display, _selectCorrectPanelContainer] call FUNC(fillRightPanel); + [_display, _selectCorrectPanelContainer, !GVAR(refreshing) && {_currentRightPanel isNotEqualTo _selectCorrectPanelContainer}] call FUNC(fillRightPanel); }; // Make unit switch to new item @@ -538,7 +539,7 @@ switch (GVAR(currentLeftPanel)) do { TOGGLE_RIGHT_PANEL_WEAPON - [_display, _selectCorrectPanelWeapon] call FUNC(fillRightPanel); + [_display, _selectCorrectPanelWeapon, !GVAR(refreshing) && {_currentRightPanel isNotEqualTo _selectCorrectPanelWeapon}] call FUNC(fillRightPanel); }; // Make unit switch to new item diff --git a/addons/arsenal/functions/fnc_onSelChangedLoadouts.sqf b/addons/arsenal/functions/fnc_onSelChangedLoadouts.sqf index b982652071..c7e084f9ef 100644 --- a/addons/arsenal/functions/fnc_onSelChangedLoadouts.sqf +++ b/addons/arsenal/functions/fnc_onSelChangedLoadouts.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe diff --git a/addons/arsenal/functions/fnc_onSelChangedRight.sqf b/addons/arsenal/functions/fnc_onSelChangedRight.sqf index c0cf00d0d9..ccb2988765 100644 --- a/addons/arsenal/functions/fnc_onSelChangedRight.sqf +++ b/addons/arsenal/functions/fnc_onSelChangedRight.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 @@ -57,6 +57,9 @@ switch (_currentItemsIndex) do { }; }; + // Call event for compatibility + [QGVAR(weaponItemChanged), [primaryWeapon GVAR(center), _item, _itemIndex]] call CBA_fnc_localEvent; + // Update currentItems (getUnitLoadout GVAR(center) select IDX_LOADOUT_PRIMARY_WEAPON) params ["", "_muzzle", "_flashlight", "_optics", "_primaryMagazine", "_secondaryMagazine", "_bipod"]; GVAR(currentItems) set [IDX_CURR_PRIMARY_WEAPON_ITEMS, [_muzzle, _flashlight, _optics, _bipod, _primaryMagazine param [0, ""], _secondaryMagazine param [0, ""]]]; @@ -102,6 +105,9 @@ switch (_currentItemsIndex) do { }; }; + // Call event for compatibility + [QGVAR(weaponItemChanged), [secondaryWeapon GVAR(center), _item, _itemIndex]] call CBA_fnc_localEvent; + // Update currentItems if !(_isDisposable && {_itemIndex >= 4}) then { (getUnitLoadout GVAR(center) select IDX_LOADOUT_SECONDARY_WEAPON) params ["", "_muzzle", "_flashlight", "_optics", "_primaryMagazine", "_secondaryMagazine", "_bipod"]; @@ -141,6 +147,9 @@ switch (_currentItemsIndex) do { }; }; + // Call event for compatibility + [QGVAR(weaponItemChanged), [handgunWeapon GVAR(center), _item, _itemIndex]] call CBA_fnc_localEvent; + // Update currentItems (getUnitLoadout GVAR(center) select IDX_LOADOUT_HANDGUN_WEAPON) params ["", "_muzzle", "_flashlight", "_optics", "_primaryMagazine", "_secondaryMagazine", "_bipod"]; GVAR(currentItems) set [IDX_CURR_HANDGUN_WEAPON_ITEMS, [_muzzle, _flashlight, _optics, _bipod, _primaryMagazine param [0, ""], _secondaryMagazine param [0, ""]]]; @@ -178,6 +187,9 @@ switch (_currentItemsIndex) do { }; }; + // Call event for compatibility + [QGVAR(weaponItemChanged), [binocular GVAR(center), _item, _itemIndex]] call CBA_fnc_localEvent; + // Update currentItems (getUnitLoadout GVAR(center) select IDX_LOADOUT_BINO) params ["", "_muzzle", "_flashlight", "_optics", "_primaryMagazine", "_secondaryMagazine", "_bipod"]; GVAR(currentItems) set [IDX_CURR_BINO_ITEMS, [_muzzle, _flashlight, _optics, _bipod, _primaryMagazine param [0, ""], _secondaryMagazine param [0, ""]]]; diff --git a/addons/arsenal/functions/fnc_onSelChangedRightListnBox.sqf b/addons/arsenal/functions/fnc_onSelChangedRightListnBox.sqf index d2ee2a231f..c1bdafba69 100644 --- a/addons/arsenal/functions/fnc_onSelChangedRightListnBox.sqf +++ b/addons/arsenal/functions/fnc_onSelChangedRightListnBox.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_open3DEN.sqf b/addons/arsenal/functions/fnc_open3DEN.sqf index 443f9130fd..b9dcd710fd 100644 --- a/addons/arsenal/functions/fnc_open3DEN.sqf +++ b/addons/arsenal/functions/fnc_open3DEN.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe * Replace the 3DEN "edit loadout" menu action. diff --git a/addons/arsenal/functions/fnc_openBox.sqf b/addons/arsenal/functions/fnc_openBox.sqf index d9fbc9b38a..dd983776d1 100644 --- a/addons/arsenal/functions/fnc_openBox.sqf +++ b/addons/arsenal/functions/fnc_openBox.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 @@ -28,13 +28,15 @@ if ( ) exitWith {}; // If object has no arsenal and chosen option is to not ignore virtual items of object, exit -if (isNil {_object getVariable QGVAR(virtualItems)} && {!_mode}) exitWith { +private _virtualItems = _object getVariable QGVAR(virtualItems); + +if (isNil "_virtualItems" && {!_mode}) exitWith { [LLSTRING(noVirtualItems), false, 5, 1] call EFUNC(common,displayText); }; // Don't execute in scheduled environment if (canSuspend) exitWith { - [{_this call FUNC(openBox)}, _this] call CBA_fnc_directCall; + [FUNC(openBox), _this] call CBA_fnc_directCall; }; private _displayToUse = findDisplay IDD_RSCDISPLAYCURATOR; @@ -46,53 +48,23 @@ if (isNull _displayToUse || {!isNil QGVAR(camera)}) exitWith { [LLSTRING(CantOpenDisplay), false, 5, 1] call EFUNC(common,displayText); }; +GVAR(center) = _center; GVAR(currentBox) = _object; if (_mode) then { // Add all the items from the game that the arsenal has detected GVAR(virtualItems) = +(uiNamespace getVariable QGVAR(configItems)); GVAR(virtualItemsFlat) = +(uiNamespace getVariable QGVAR(configItemsFlat)); + + GVAR(ignoredVirtualItems) = true; } else { // Add only specified items to the arsenal - private _virtualItems = _object getVariable QGVAR(virtualItems); - - GVAR(virtualItems) = if (isNil "_virtualItems") then { - _virtualItems = [ - [IDX_VIRT_WEAPONS, createHashMapFromArray [[IDX_VIRT_PRIMARY_WEAPONS, createHashMap], [IDX_VIRT_SECONDARY_WEAPONS, createHashMap], [IDX_VIRT_HANDGUN_WEAPONS, createHashMap]]], - [IDX_VIRT_ATTACHMENTS, createHashMapFromArray [[IDX_VIRT_OPTICS_ATTACHMENTS, createHashMap], [IDX_VIRT_FLASHLIGHT_ATTACHMENTS, createHashMap], [IDX_VIRT_MUZZLE_ATTACHMENTS, createHashMap], [IDX_VIRT_BIPOD_ATTACHMENTS, createHashMap]]] - ]; - - _virtualItems = createHashMapFromArray _virtualItems; - - for "_index" from IDX_VIRT_ITEMS_ALL to IDX_VIRT_MISC_ITEMS do { - _virtualItems set [_index, createHashMap]; - }; - } else { - +_virtualItems - }; + GVAR(virtualItems) = +_virtualItems; // Flatten out hashmaps for easy checking later - private _virtualItemsFlat = +_virtualItems; - private _weapons = _virtualItemsFlat deleteAt IDX_VIRT_WEAPONS; - private _attachments = _virtualItemsFlat deleteAt IDX_VIRT_ATTACHMENTS; - - for "_index" from IDX_VIRT_ITEMS_ALL to IDX_VIRT_MISC_ITEMS do { - _virtualItemsFlat merge [_virtualItemsFlat deleteAt _index, true]; - }; - - for "_index" from IDX_VIRT_PRIMARY_WEAPONS to IDX_VIRT_HANDGUN_WEAPONS do { - _virtualItemsFlat merge [_weapons deleteAt _index, true]; - }; - - for "_index" from IDX_VIRT_OPTICS_ATTACHMENTS to IDX_VIRT_BIPOD_ATTACHMENTS do { - _virtualItemsFlat merge [_attachments deleteAt _index, true]; - }; - - GVAR(virtualItemsFlat) = _virtualItemsFlat; + call FUNC(updateVirtualItemsFlat); }; -GVAR(center) = _center; - if (is3DEN) then { _displayToUse createDisplay QGVAR(display); } else { diff --git a/addons/arsenal/functions/fnc_portVALoadouts.sqf b/addons/arsenal/functions/fnc_portVALoadouts.sqf index 1b7e3c930e..eb2c942abd 100644 --- a/addons/arsenal/functions/fnc_portVALoadouts.sqf +++ b/addons/arsenal/functions/fnc_portVALoadouts.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe, johnb43 * Port VA loadouts to ACE Arsenal. diff --git a/addons/arsenal/functions/fnc_refresh.sqf b/addons/arsenal/functions/fnc_refresh.sqf index 45358a3ce6..d40d59c0ff 100644 --- a/addons/arsenal/functions/fnc_refresh.sqf +++ b/addons/arsenal/functions/fnc_refresh.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Brett Mayson, johnb43 @@ -6,6 +6,8 @@ * * Arguments: * 0: Update current and unique items lists (default: true) + * 1: Update virtual items list (default: false) + * 2: Use panel refresh animation (default: false) * * Return Value: * None @@ -15,19 +17,54 @@ * * Public: Yes */ -params [["_updateItems", true, [true]]]; +params [["_updateItems", true, [true]], ["_updateVirtualItems", false, [false]], ["_animate", false, [false]]]; +TRACE_2("",_updateItems,_updateVirtualItems); + +// Don't execute in scheduled environment +if (canSuspend) exitWith { + [{_this call FUNC(refresh)}, _this] call CBA_fnc_directCall; +}; if (_updateItems) then { // Update current item list call FUNC(updateCurrentItemsList); // This takes care of unique inventory items (arsenal doesn't have it whitelisted) + if (!_updateVirtualItems) then { + call FUNC(updateUniqueItemsList); + }; +}; + +private _virtualItems = GVAR(currentBox) getVariable QGVAR(virtualItems); + +if (is3DEN) then { + _virtualItems = uiNamespace getVariable QGVAR(configItems); // GVAR(currentBox) is nil in 3DEN + _animate = true; // CBA frame functions are disabled during preInit +}; + +// Do not close an arsenal if it was opened with ignoring the existing content (see FUNC(openBox)) +if (isNil "_virtualItems" && {isNil QGVAR(ignoredVirtualItems)}) exitWith { + [LLSTRING(noVirtualItems), false, 5, 1] call EFUNC(common,displayText); + // Delay a frame in case this is running on display open + [{(findDisplay IDD_ace_arsenal) closeDisplay 0}] call CBA_fnc_execNextFrame; +}; + +if (_updateVirtualItems) then { + GVAR(virtualItems) = +_virtualItems; + call FUNC(updateVirtualItemsFlat); + + // Gotta update this regardless of condition to prevent desync call FUNC(updateUniqueItemsList); }; // Don't refresh left panel if in loadout tab if (!isNull findDisplay IDD_loadouts_display) exitWith {}; +if (!_animate) then { + GVAR(refreshing) = true; + [{GVAR(refreshing) = false}, nil, 3] call CBA_fnc_execAfterNFrames; +}; + private _display = findDisplay IDD_ace_arsenal; -[_display, _display displayCtrl GVAR(currentLeftPanel)] call FUNC(fillLeftPanel); +[_display, _display displayCtrl GVAR(currentLeftPanel), _animate] call FUNC(fillLeftPanel); diff --git a/addons/arsenal/functions/fnc_removeAction.sqf b/addons/arsenal/functions/fnc_removeAction.sqf index 1c11dce4a9..8e9639caa9 100644 --- a/addons/arsenal/functions/fnc_removeAction.sqf +++ b/addons/arsenal/functions/fnc_removeAction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: johnb43 * Remove a custom action button from ACE Arsenal. diff --git a/addons/arsenal/functions/fnc_removeBox.sqf b/addons/arsenal/functions/fnc_removeBox.sqf index 2f05cb0111..984db8d099 100644 --- a/addons/arsenal/functions/fnc_removeBox.sqf +++ b/addons/arsenal/functions/fnc_removeBox.sqf @@ -1,4 +1,5 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" +#include "..\defines.hpp" /* * Author: Alganthe, johnb43 * Remove arsenal from target. @@ -24,7 +25,7 @@ private _id = _object getVariable QGVAR(initBoxJIP); if (_global && {isMultiplayer} && {!isNil "_id"}) then { // Remove event from JIP queue - [_id] call CBA_fnc_removeGlobalEventJIP; + _id call CBA_fnc_removeGlobalEventJIP; // Reset JIP ID _object setVariable [QGVAR(initBoxJIP), nil, true]; @@ -39,3 +40,10 @@ if (_global && {isMultiplayer} && {!isNil "_id"}) then { [_object, 0, ["ACE_MainActions", QGVAR(interaction)]] call EFUNC(interact_menu,removeActionFromObject); [QGVAR(boxRemoved), _object] call CBA_fnc_localEvent; }; + +// If the arsenal is already open and not ignoring content (see FUNC(openBox)), close arsenal display +if (!isNil QGVAR(currentBox) && {GVAR(currentBox) isEqualTo _object} && {isNil QGVAR(ignoredVirtualItems)}) then { + [LLSTRING(noVirtualItems), false, 5, 1] call EFUNC(common,displayText); + // Delay a frame in case this is running on display open + [{(findDisplay IDD_ace_arsenal) closeDisplay 0}] call CBA_fnc_execNextFrame; +}; diff --git a/addons/arsenal/functions/fnc_removeDefaultLoadout.sqf b/addons/arsenal/functions/fnc_removeDefaultLoadout.sqf index fd0c31bd62..e84aad5c04 100644 --- a/addons/arsenal/functions/fnc_removeDefaultLoadout.sqf +++ b/addons/arsenal/functions/fnc_removeDefaultLoadout.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Removes a loadout from the "Default Loadouts" list. diff --git a/addons/arsenal/functions/fnc_removeSort.sqf b/addons/arsenal/functions/fnc_removeSort.sqf index 4fe98569d1..3957257a6d 100644 --- a/addons/arsenal/functions/fnc_removeSort.sqf +++ b/addons/arsenal/functions/fnc_removeSort.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: johnb43 * Remove a sort from ACE Arsenal. diff --git a/addons/arsenal/functions/fnc_removeStat.sqf b/addons/arsenal/functions/fnc_removeStat.sqf index ccbb34810e..af2cbf11fc 100644 --- a/addons/arsenal/functions/fnc_removeStat.sqf +++ b/addons/arsenal/functions/fnc_removeStat.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe * Remove a stat from ACE Arsenal. diff --git a/addons/arsenal/functions/fnc_removeVirtualItems.sqf b/addons/arsenal/functions/fnc_removeVirtualItems.sqf index 215508a287..71db2b15a1 100644 --- a/addons/arsenal/functions/fnc_removeVirtualItems.sqf +++ b/addons/arsenal/functions/fnc_removeVirtualItems.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 @@ -100,5 +100,12 @@ if (_items isEqualType true) then { [_object, _global] call FUNC(removeBox); } else { _object setVariable [QGVAR(virtualItems), _cargo, _global]; + + // If the arsenal is already open, refresh arsenal display + if (_global) then { + [QGVAR(refresh), _object] call CBA_fnc_globalEvent; + } else { + [QGVAR(refresh), _object] call CBA_fnc_localEvent; + }; }; }; diff --git a/addons/arsenal/functions/fnc_renameDefaultLoadout.sqf b/addons/arsenal/functions/fnc_renameDefaultLoadout.sqf index 9d39acd550..b28088b9b6 100644 --- a/addons/arsenal/functions/fnc_renameDefaultLoadout.sqf +++ b/addons/arsenal/functions/fnc_renameDefaultLoadout.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Renames a loadout from the "Default Loadouts" list. diff --git a/addons/arsenal/functions/fnc_replaceUniqueItemsLoadout.sqf b/addons/arsenal/functions/fnc_replaceUniqueItemsLoadout.sqf index c984cb81ca..cbbe02666e 100644 --- a/addons/arsenal/functions/fnc_replaceUniqueItemsLoadout.sqf +++ b/addons/arsenal/functions/fnc_replaceUniqueItemsLoadout.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: johnb43 diff --git a/addons/arsenal/functions/fnc_scanConfig.sqf b/addons/arsenal/functions/fnc_scanConfig.sqf index 335089534c..8f11b6fc47 100644 --- a/addons/arsenal/functions/fnc_scanConfig.sqf +++ b/addons/arsenal/functions/fnc_scanConfig.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Dedmen, johnb43 @@ -270,13 +270,23 @@ for "_index" from IDX_VIRT_OPTICS_ATTACHMENTS to IDX_VIRT_BIPOD_ATTACHMENTS do { }; // This contains config case entries only -uiNamespace setVariable [QGVAR(configItems), _configItems]; -uiNamespace setVariable [QGVAR(configItemsFlat), _configItemsFlat]; -uiNamespace setVariable [QGVAR(faceCache), _faceCache]; -uiNamespace setVariable [QGVAR(voiceCache), _voiceCache]; -uiNamespace setVariable [QGVAR(insigniaCache), _insigniaCache]; -uiNamespace setVariable [QGVAR(grenadeCache), _grenadeList]; -uiNamespace setVariable [QGVAR(putCache), _putList]; -uiNamespace setVariable [QGVAR(magazineMiscItems), _magazineMiscItems]; -uiNamespace setVariable [QGVAR(CBAdisposableLaunchers), _launchers]; -uiNamespace setVariable [QGVAR(configItemsTools), _toolList]; +uiNamespace setVariable [QGVAR(configItems), compileFinal _configItems]; +uiNamespace setVariable [QGVAR(configItemsFlat), compileFinal _configItemsFlat]; +uiNamespace setVariable [QGVAR(faceCache), compileFinal _faceCache]; +uiNamespace setVariable [QGVAR(voiceCache), compileFinal (_voiceCache createHashMapFromArray [])]; +uiNamespace setVariable [QGVAR(insigniaCache), compileFinal (_insigniaCache createHashMapFromArray [])]; +uiNamespace setVariable [QGVAR(grenadeCache), compileFinal _grenadeList]; +uiNamespace setVariable [QGVAR(putCache), compileFinal _putList]; +uiNamespace setVariable [QGVAR(magazineMiscItems), compileFinal _magazineMiscItems]; +uiNamespace setVariable [QGVAR(CBAdisposableLaunchers), compileFinal _launchers]; +uiNamespace setVariable [QGVAR(configItemsTools), compileFinal _toolList]; + +// Compatibility: Override baseWeapon for RHS optics +// No good way to do this via script for other attachments, needs manual compat +private _baseWeaponCache = uiNamespace getVariable QGVAR(baseWeaponNameCache); +{ + private _baseAttachment = configName (_cfgWeapons >> getText (_x >> "rhs_optic_base")); + if (_baseAttachment != "") then { + _baseWeaponCache set [toLower configName _x, _baseAttachment]; + }; +} forEach ("getText (_x >> 'rhs_optic_base') != ''" configClasses _cfgWeapons); diff --git a/addons/arsenal/functions/fnc_showItem.sqf b/addons/arsenal/functions/fnc_showItem.sqf index 1bbf32ca0b..76a95e6981 100644 --- a/addons/arsenal/functions/fnc_showItem.sqf +++ b/addons/arsenal/functions/fnc_showItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe diff --git a/addons/arsenal/functions/fnc_sortPanel.sqf b/addons/arsenal/functions/fnc_sortPanel.sqf index 7cb2c970db..bbe48d6e35 100644 --- a/addons/arsenal/functions/fnc_sortPanel.sqf +++ b/addons/arsenal/functions/fnc_sortPanel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, Dedmen, Brett Mayson, johnb43 diff --git a/addons/arsenal/functions/fnc_sortStatement_accuracy.sqf b/addons/arsenal/functions/fnc_sortStatement_accuracy.sqf index 3067975249..48e09246ee 100644 --- a/addons/arsenal/functions/fnc_sortStatement_accuracy.sqf +++ b/addons/arsenal/functions/fnc_sortStatement_accuracy.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe, Brett Mayson * Statement to sort weapons by their accuracy. diff --git a/addons/arsenal/functions/fnc_sortStatement_amount.sqf b/addons/arsenal/functions/fnc_sortStatement_amount.sqf index 93a5fff7ae..533de80e4f 100644 --- a/addons/arsenal/functions/fnc_sortStatement_amount.sqf +++ b/addons/arsenal/functions/fnc_sortStatement_amount.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brett Mayson * Statement to sort items by the amount in inventory. diff --git a/addons/arsenal/functions/fnc_sortStatement_magCount.sqf b/addons/arsenal/functions/fnc_sortStatement_magCount.sqf index 77a33ff452..6c35911665 100644 --- a/addons/arsenal/functions/fnc_sortStatement_magCount.sqf +++ b/addons/arsenal/functions/fnc_sortStatement_magCount.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brett Mayson * Statement to sort magazines by their ammo count. diff --git a/addons/arsenal/functions/fnc_sortStatement_mass.sqf b/addons/arsenal/functions/fnc_sortStatement_mass.sqf index 552df474e5..6aa4524ea0 100644 --- a/addons/arsenal/functions/fnc_sortStatement_mass.sqf +++ b/addons/arsenal/functions/fnc_sortStatement_mass.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe, Brett Mayson * Statement to sort items by their mass. diff --git a/addons/arsenal/functions/fnc_sortStatement_mod.sqf b/addons/arsenal/functions/fnc_sortStatement_mod.sqf index 2ff4ac7750..ab94520217 100644 --- a/addons/arsenal/functions/fnc_sortStatement_mod.sqf +++ b/addons/arsenal/functions/fnc_sortStatement_mod.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brett Mayson, johnb43 * Statement to sort items by the mod they belong to. diff --git a/addons/arsenal/functions/fnc_sortStatement_protection.sqf b/addons/arsenal/functions/fnc_sortStatement_protection.sqf index b48bfdc5c8..f2a479f3b4 100644 --- a/addons/arsenal/functions/fnc_sortStatement_protection.sqf +++ b/addons/arsenal/functions/fnc_sortStatement_protection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Statement to sort items by their protection (combination of ballistic and explosive). diff --git a/addons/arsenal/functions/fnc_sortStatement_rateOfFire.sqf b/addons/arsenal/functions/fnc_sortStatement_rateOfFire.sqf index 2dd31721a8..c5190bb1ba 100644 --- a/addons/arsenal/functions/fnc_sortStatement_rateOfFire.sqf +++ b/addons/arsenal/functions/fnc_sortStatement_rateOfFire.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe, Brett Mayson * Statement to sort weapons by their rate of fire. diff --git a/addons/arsenal/functions/fnc_sortStatement_scopeMag.sqf b/addons/arsenal/functions/fnc_sortStatement_scopeMag.sqf index 5fe8c6842e..4f0998aba5 100644 --- a/addons/arsenal/functions/fnc_sortStatement_scopeMag.sqf +++ b/addons/arsenal/functions/fnc_sortStatement_scopeMag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe, Brett Mayson * Statement to sort optics by their magnification. diff --git a/addons/arsenal/functions/fnc_statBarStatement_accuracy.sqf b/addons/arsenal/functions/fnc_statBarStatement_accuracy.sqf index f6fcae8030..e15d3fb659 100644 --- a/addons/arsenal/functions/fnc_statBarStatement_accuracy.sqf +++ b/addons/arsenal/functions/fnc_statBarStatement_accuracy.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe * Accuracy bar statement. diff --git a/addons/arsenal/functions/fnc_statBarStatement_default.sqf b/addons/arsenal/functions/fnc_statBarStatement_default.sqf index c346b3a2e0..0246e765fd 100644 --- a/addons/arsenal/functions/fnc_statBarStatement_default.sqf +++ b/addons/arsenal/functions/fnc_statBarStatement_default.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe * Generic bar statement for stats. diff --git a/addons/arsenal/functions/fnc_statBarStatement_impact.sqf b/addons/arsenal/functions/fnc_statBarStatement_impact.sqf index 8384a386e9..6707370440 100644 --- a/addons/arsenal/functions/fnc_statBarStatement_impact.sqf +++ b/addons/arsenal/functions/fnc_statBarStatement_impact.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_statBarStatement_rateOfFIre.sqf b/addons/arsenal/functions/fnc_statBarStatement_rateOfFIre.sqf index a4fb3d2970..562e920642 100644 --- a/addons/arsenal/functions/fnc_statBarStatement_rateOfFIre.sqf +++ b/addons/arsenal/functions/fnc_statBarStatement_rateOfFIre.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe * Rate of fire bar statement. diff --git a/addons/arsenal/functions/fnc_statTextStatement_accuracy.sqf b/addons/arsenal/functions/fnc_statTextStatement_accuracy.sqf index 45118355aa..10a929df67 100644 --- a/addons/arsenal/functions/fnc_statTextStatement_accuracy.sqf +++ b/addons/arsenal/functions/fnc_statTextStatement_accuracy.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe, johnb43 * Accuracy text statement. diff --git a/addons/arsenal/functions/fnc_statTextStatement_binoMag.sqf b/addons/arsenal/functions/fnc_statTextStatement_binoMag.sqf index c00b4c3875..15ff9f0347 100644 --- a/addons/arsenal/functions/fnc_statTextStatement_binoMag.sqf +++ b/addons/arsenal/functions/fnc_statTextStatement_binoMag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, LinkIsGrim * Text statement for the binocular magnification stat. diff --git a/addons/arsenal/functions/fnc_statTextStatement_binoVisionMode.sqf b/addons/arsenal/functions/fnc_statTextStatement_binoVisionMode.sqf index bbc3ac2053..6da45345f4 100644 --- a/addons/arsenal/functions/fnc_statTextStatement_binoVisionMode.sqf +++ b/addons/arsenal/functions/fnc_statTextStatement_binoVisionMode.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dedmen, johnb43, LinkIsGrim * Text statement for the binocular/NVG vision mode stat. diff --git a/addons/arsenal/functions/fnc_statTextStatement_explosionTime.sqf b/addons/arsenal/functions/fnc_statTextStatement_explosionTime.sqf index 3980f26aa1..5b4d637299 100644 --- a/addons/arsenal/functions/fnc_statTextStatement_explosionTime.sqf +++ b/addons/arsenal/functions/fnc_statTextStatement_explosionTime.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Text statement for the explosion time stat. diff --git a/addons/arsenal/functions/fnc_statTextStatement_illuminators.sqf b/addons/arsenal/functions/fnc_statTextStatement_illuminators.sqf new file mode 100644 index 0000000000..b677ec8210 --- /dev/null +++ b/addons/arsenal/functions/fnc_statTextStatement_illuminators.sqf @@ -0,0 +1,42 @@ +#include "..\script_component.hpp" +/* + * Author: PabstMirror + * Text statement for the pointer slot capabilites. + * + * Arguments: + * 0: Not used + * 1: Item config path + * + * Return Value: + * Stat Text + * + * Example: + * [[], configFile >> "CfgWeapons" >> "acc_pointer_IR"] call ace_arsenal_fnc_statTextStatement_illuminators + * + * Public: No + */ + +params ["", "_config"]; +TRACE_1("statTextStatement_illuminators",_config); + +private _allModes = []; +private _allItems = [configName _config] call CBA_fnc_switchableAttachments; +if (_allItems isEqualTo []) then { _allItems = [configName _config] }; + +{ + private _xCfg = configFile >> "CfgWeapons" >> _x >> "ItemInfo"; + private _laser = (getText (_xCfg >> "Pointer" >> "irLaserPos")) != ""; + private _illum = (getNumber (_xCfg >> "Flashlight" >> "intensity")) > 0; + private _isIR = (_laser && {([_xCfg >> "Pointer" >> "isIR", "NUMBER", 1] call CBA_fnc_getConfigEntry) == 1}) + || {_illum && {([_xCfg >> "Flashlight" >> "irLight", "NUMBER", 0] call CBA_fnc_getConfigEntry) == 1}}; + + private _text = switch (true) do { // shorthand roughly based on PEQ-15 + case (_laser && _illum): { if (_isIR) then { "IR-DUAL" } else { "VIS-DUAL" } }; + case (_laser): { if (_isIR) then { "IR-AIM" } else { "VIS-AIM" } }; // AIM + case (_illum): { if (_isIR) then { "IR-ILM" } else { "VIS-ILM" } }; // ILLUMIATION + default { "_" }; // there are some purely cosmetic attachements + }; + _allModes pushBackUnique _text; +} forEach _allItems; + +_allModes joinString ", " diff --git a/addons/arsenal/functions/fnc_statTextStatement_magCount.sqf b/addons/arsenal/functions/fnc_statTextStatement_magCount.sqf index 312010acf0..82d68d4848 100644 --- a/addons/arsenal/functions/fnc_statTextStatement_magCount.sqf +++ b/addons/arsenal/functions/fnc_statTextStatement_magCount.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Text statement for the magazine capacity stat. @@ -14,6 +14,6 @@ */ params ["", "_config"]; -TRACE_1("statTextStatement_magCount",_config) +TRACE_1("statTextStatement_magCount",_config); getNumber (_config >> "count"); diff --git a/addons/arsenal/functions/fnc_statTextStatement_mass.sqf b/addons/arsenal/functions/fnc_statTextStatement_mass.sqf index 341a0f9cb0..d87334c64f 100644 --- a/addons/arsenal/functions/fnc_statTextStatement_mass.sqf +++ b/addons/arsenal/functions/fnc_statTextStatement_mass.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe * Text statement for the mass stat. diff --git a/addons/arsenal/functions/fnc_statTextStatement_rateOfFire.sqf b/addons/arsenal/functions/fnc_statTextStatement_rateOfFire.sqf index 2175a5651a..5d35e9a4e0 100644 --- a/addons/arsenal/functions/fnc_statTextStatement_rateOfFire.sqf +++ b/addons/arsenal/functions/fnc_statTextStatement_rateOfFire.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe * Rate of fire text statement. diff --git a/addons/arsenal/functions/fnc_statTextStatement_scopeMag.sqf b/addons/arsenal/functions/fnc_statTextStatement_scopeMag.sqf index 4cc521c2ec..af6ef4b24e 100644 --- a/addons/arsenal/functions/fnc_statTextStatement_scopeMag.sqf +++ b/addons/arsenal/functions/fnc_statTextStatement_scopeMag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Text statement for the scope magnification stat. diff --git a/addons/arsenal/functions/fnc_statTextStatement_scopeVisionMode.sqf b/addons/arsenal/functions/fnc_statTextStatement_scopeVisionMode.sqf index 157890cbfe..dca83cb381 100644 --- a/addons/arsenal/functions/fnc_statTextStatement_scopeVisionMode.sqf +++ b/addons/arsenal/functions/fnc_statTextStatement_scopeVisionMode.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dedmen, johnb43 * Text statement for the scope Night vision support stat. diff --git a/addons/arsenal/functions/fnc_statTextStatement_smokeChemTTL.sqf b/addons/arsenal/functions/fnc_statTextStatement_smokeChemTTL.sqf index e34dd98beb..729a024073 100644 --- a/addons/arsenal/functions/fnc_statTextStatement_smokeChemTTL.sqf +++ b/addons/arsenal/functions/fnc_statTextStatement_smokeChemTTL.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe * Text statement for the smoke / chemlight time to live stat. diff --git a/addons/arsenal/functions/fnc_updateCamPos.sqf b/addons/arsenal/functions/fnc_updateCamPos.sqf index dc23cbfa3b..0bbfeffded 100644 --- a/addons/arsenal/functions/fnc_updateCamPos.sqf +++ b/addons/arsenal/functions/fnc_updateCamPos.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Karel Moricky, modified by Alganthe * Update camera position. diff --git a/addons/arsenal/functions/fnc_updateCurrentItemsList.sqf b/addons/arsenal/functions/fnc_updateCurrentItemsList.sqf index 75899c304a..0b1af5d465 100644 --- a/addons/arsenal/functions/fnc_updateCurrentItemsList.sqf +++ b/addons/arsenal/functions/fnc_updateCurrentItemsList.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: johnb43 diff --git a/addons/arsenal/functions/fnc_updateRightPanel.sqf b/addons/arsenal/functions/fnc_updateRightPanel.sqf index f1ef077c92..e51f923655 100644 --- a/addons/arsenal/functions/fnc_updateRightPanel.sqf +++ b/addons/arsenal/functions/fnc_updateRightPanel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_updateUniqueItemsList.sqf b/addons/arsenal/functions/fnc_updateUniqueItemsList.sqf index 5f8211f50d..ccbf7b7abb 100644 --- a/addons/arsenal/functions/fnc_updateUniqueItemsList.sqf +++ b/addons/arsenal/functions/fnc_updateUniqueItemsList.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/fnc_updateVirtualItemsFlat.sqf b/addons/arsenal/functions/fnc_updateVirtualItemsFlat.sqf new file mode 100644 index 0000000000..974624d9b8 --- /dev/null +++ b/addons/arsenal/functions/fnc_updateVirtualItemsFlat.sqf @@ -0,0 +1,32 @@ +#include "..\script_component.hpp" +#include "..\defines.hpp" +/* + * Author: johnb43, Grim + * Updates flattened list of virtual items for checking + * + * Arguments: + * None + * + * Return Value: + * None + * + * Public: No +*/ + +private _virtualItemsFlat = +GVAR(virtualItems); +private _weapons = _virtualItemsFlat deleteAt IDX_VIRT_WEAPONS; +private _attachments = _virtualItemsFlat deleteAt IDX_VIRT_ATTACHMENTS; + +for "_index" from IDX_VIRT_ITEMS_ALL to IDX_VIRT_MISC_ITEMS do { + _virtualItemsFlat merge [_virtualItemsFlat deleteAt _index, true]; +}; + +for "_index" from IDX_VIRT_PRIMARY_WEAPONS to IDX_VIRT_HANDGUN_WEAPONS do { + _virtualItemsFlat merge [_weapons deleteAt _index, true]; +}; + +for "_index" from IDX_VIRT_OPTICS_ATTACHMENTS to IDX_VIRT_BIPOD_ATTACHMENTS do { + _virtualItemsFlat merge [_attachments deleteAt _index, true]; +}; + +GVAR(virtualItemsFlat) = _virtualItemsFlat; diff --git a/addons/arsenal/functions/fnc_verifyLoadout.sqf b/addons/arsenal/functions/fnc_verifyLoadout.sqf index 2af87635de..b5425c2117 100644 --- a/addons/arsenal/functions/fnc_verifyLoadout.sqf +++ b/addons/arsenal/functions/fnc_verifyLoadout.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "..\defines.hpp" /* * Author: Alganthe, johnb43 diff --git a/addons/arsenal/functions/script_component.hpp b/addons/arsenal/functions/script_component.hpp deleted file mode 100644 index 45c75ef68b..0000000000 --- a/addons/arsenal/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\arsenal\script_component.hpp" diff --git a/addons/arsenal/missions/Arsenal.VR/script_component.hpp b/addons/arsenal/missions/Arsenal.VR/script_component.hpp index e1e6528a49..da24982170 100644 --- a/addons/arsenal/missions/Arsenal.VR/script_component.hpp +++ b/addons/arsenal/missions/Arsenal.VR/script_component.hpp @@ -1,4 +1,4 @@ -#include "\z\ace\addons\arsenal\script_component.hpp" +#include "..\..\script_component.hpp" #undef PREP // make.py can't redefine already defined macros #define PREP(var) FUNC(var) = compileFinal preprocessFileLineNumbers format ["fnc_%1.sqf", QUOTE(var)] diff --git a/addons/arsenal/stringtable.xml b/addons/arsenal/stringtable.xml index cfc12c227c..a82e759d7f 100644 --- a/addons/arsenal/stringtable.xml +++ b/addons/arsenal/stringtable.xml @@ -98,7 +98,7 @@ Kapat - No virtual item available + No virtual items available Ningún objeto virtual disponible Aucun objet virtuel disponible. Kein virtuelles Objekt verfügbar @@ -149,7 +149,7 @@ [Shift+Click to save to mission defaults] [Shift+Click para guardar equipamiento predefinido [Umschalt+Linksklick um als Standard-Missionsausrüstung zu speichern] - [Shift + クリック] でミッション標準として保存します + [Shift + クリックでミッション標準として保存します] Shift + Klik aby zapisac jako domyślne dla misji [Shift+Клик, чтобы сохранить в настройках по умолчанию] [Shift+Clique para salvar nos padrões da missão] @@ -279,7 +279,7 @@ Équipements prédéfinis Standard-Ausrüstungen Domyślne zestawy - 標準の装備 + 標準装備 Equipaggiamenti standard 기본 로드아웃 預設裝備 @@ -295,7 +295,7 @@ Sets d'équipement mis à disposition par le créateur de mission. Ausrüstungen, die durch den Missionsersteller zur Verfügung gestellt worden sind Zestawy udostępnione przez twórcę misji - 装備はミッション著者によって利用できます + ミッション著者によって作成された装備です Equipaggiamenti resi disponibili dal creatore della missione 미션메이커가 허용한 로드아웃 任務作者提供的預設裝備 @@ -359,7 +359,7 @@ Trier par quantité Nach Menge sortieren Sortuj wg ilości - 量で並び替え + 数量で並び替え Ordina per quantitativo 갯수 순서로 정렬 以數量排序 @@ -379,6 +379,7 @@ Sortuj po rozmiarze 공간 순서로 정렬 以容量排序 + Ordenar por capacidade Sort by accuracy @@ -391,6 +392,7 @@ Sortuj po celności 정확도 순서로 정렬 以精度排序 + Ordenar por precisão Sort by rate of fire @@ -403,6 +405,7 @@ Sortuj po szybkostrzelności 발사속도 순서로 정렬 以射速排序 + Ordenar por cadência Sort by magnification @@ -414,6 +417,7 @@ Sortuj po przybliżeniu 배율 순서로 정렬 以放大倍数排序 + Ordenar por magnificação Sort by ammo count @@ -426,6 +430,7 @@ Sortuj po ilości amunicji 총알 갯수 순서롤 정렬 以弹量排序 + Ordenar por quantidade de munição Sort by ballistic protection @@ -437,6 +442,7 @@ Nach ballistischem Schutz sortieren 방탄 성능 순서로 정렬 以防弹性能排序 + Ordenar por proteção balística Sort by explosive protection @@ -448,6 +454,7 @@ Nach Explosionsschutz sortieren 방폭 성능 순서로 정렬 以防爆性能排序 + Ordenar por proteção a explosivos Share or stop sharing the selected loadout @@ -503,7 +510,7 @@ La liste des équipements prédéfinis est vide ! Die Standard-Ausrüstungen-Liste ist leer! Lista domyślnych zestawów jest pusta! - 標準の装備一欄が空です! + 標準装備の一覧は空です! La lista degli equipaggiamenti standard è vuota! 기본 로드아웃 목록이 비어있습니다! 沒有預設的裝備清單! @@ -519,7 +526,7 @@ Liste des équipements prédéfinis exportée dans le presse-papier. Standard-Ausrüstungen-Liste in die Zwischenablage exportiert Lista domyślnych zestawów została eksportowana do schowka - 標準の装備一欄はクリップボードへエクスポートされました + 標準装備の一覧をクリップボードへエクスポートしました La lista degli equipaggiamenti standard è stata esportata negli appunti 클립보드에 기본 로드아웃 목록 내보내기 預設的裝備清單已匯出到剪貼簿中 @@ -535,7 +542,7 @@ Équipement actuel exporté dans le presse-papier. Derzeitige Ausrüstung in die Zwischenablage exportiert Obecny zestaw został eksportowany do schowka - 現在の装備はクリップボードへ出力されました + 現在の装備をクリップボードへ出力しました Equipaggiamento corrente esportato negli appunti 현재 로드아웃을 클립보드로 내보냈습니다. 當前的裝備已匯出到剪貼簿中 @@ -567,7 +574,7 @@ Liste des équipements prédéfinis importée depuis le presse-papier. Standard-Ausrüstungen-Liste aus der Zwischenablage importiert Lista domyślnych zestawów została importowana ze schowka - 標準の装備一欄はクリップボードからインポートされました + 標準装備の一覧をクリップボードからインポートしました La lista degli equipaggiamenti standard è stata importata dagli appunti 클립보드에서 기본 로드아웃 가져오기 預設的裝備清單已從剪貼簿中匯入 @@ -583,7 +590,7 @@ Set d'équipement importé depuis le presse-papier. Ausrüstung aus der Zwischenablage importiert Zestaw został importowany ze schowka - 装備はクリップボードからインポートされました + 装備をクリップボードからインポートしました Equipaggiamento importato dagli appunti 클립보드에서 로드아웃을 가져왔습니다. 裝備已從剪貼簿中匯入 @@ -775,7 +782,7 @@ Taille de police des panneaux Schrifthöhe für die linke und rechte Liste Wysokość czcionki - パネルにあるフォントの高さ + パネルのフォントの高さ Altezza carattere del pannello 패널 폰트 높이 面板字體高度 @@ -791,7 +798,7 @@ Autoriser les équipements prédéfinis Erlaubt die Benutzung der Standardausrüstungen Zezwól na użycie domyślnych zestawów - 標準の装備を許可 + 標準装備を許可 Consenti equipaggiamenti standard 기본 로드아웃 허용 允許預設裝備 @@ -807,7 +814,7 @@ Autoriser le partage des sets d'équipement Erlaubt das Teilen von Ausrüstungen Zezwól na udostępnianie zestawów - 装備の共有を許可 + 装備共有を許可 Consenti condivisione equipaggiamenti 로드아웃 공유 허용 允許分享裝備 @@ -902,7 +909,7 @@ Permitir el uso de la pestaña de equipamientos por defecto Active l'onglet "Équipements prédéfinis". Zezwól na użycie zakładki domyślnych zestawów - 標準の装備タブの使用を許可します + 標準装備タブの使用を許可します Consenti l'uso della sezione per gli equipaggiamenti standard 기본 로드아웃 탭 사용 허가 Erlaube die Nutzung des Standardausrüstungsreiters @@ -934,7 +941,7 @@ Cambiar el tamaño de fuente para el texto de los paneles izquierdo y derecho Change la taille de police des panneaux latéraux. Zmień wysokość czcionki dla tekstu lewego i prawego panelu - パネルにあるフォントの高さを変更します。 + パネルのフォントの高さを変更します。 Cambia l'altezza del font per il testo sul pannello sinistro / destro 왼쪽 / 오른쪽 패널 텍스트의 글꼴 높이 변경 Ändert die Schriftgröße für die linke/rechte Leiste @@ -982,7 +989,7 @@ Importar equipamientos de BI Arsenal hacia el arsenal de ACE Importer les sets BI VA dans l'arsenal ACE Importiert die BI-VA-Ausrüstungen in das ACE-Arsenal - 標準の VA 装備から ACE 武器庫へ取り込み + バニラ弾薬庫の装備をACE武器庫へインポート 바닐라 로드아웃을 ACE 아스날로 가져오기 匯入BI原廠虛擬軍火庫的裝備到ACE虛擬軍火庫中 导入 BI 原版虚拟军火库的负载到 ACE 虚拟军火库中 @@ -997,7 +1004,7 @@ Ninguna unidad de jugador disponible! Coloca una unidad y márcala como "Jugador". Aucune unité joueur disponible ! Placez une unité et marquez-la en tant que "joueur". Keine Spielereinheit verfügbar. Setze eine Einheit und markiere sie als "Spieler". - プレイヤーユニットがありません!ユニットを設置し"Player"と名付けてください。 + プレイヤーユニットがありません!ユニットを設置し"プレイヤー"に設定してください。 플레이어 유닛을 사용할 수 없습니다! 유닛을 놓고 "플레이어"라고 표시하십시오. 沒有可用的玩家單位!請擺放一個單位並設定成"玩家" 没有可用的玩家单位!请摆放一个单位并设定成“玩家”。 @@ -1496,7 +1503,7 @@ Tiempo de vida Lebenszeit Durée d'expiration - 有効時間 + 効力持続時間 Czas by żyć Scadenza (TTL) Время действия @@ -1517,6 +1524,7 @@ Detonationsverzögerung 引信时间 신관 시간 + Atraso de detonação Detonates on impact @@ -1528,6 +1536,7 @@ Detona mediante impacto 碰炸引信 충격 신관 + Detona por impacto Save Face @@ -1535,6 +1544,10 @@ Сохранить лицо Guardar Cara 顔の保存 + Zapisz Twarz + Gesicht Speichern + Sauvegarder le visage + Salvar Rosto Save Voice @@ -1542,6 +1555,10 @@ Сохранить голос Guardar Voz 声の保存 + Zapisz Głos + Stimme Speichern + Sauvegarder la voix + Salvar Voz Save Insignia @@ -1549,14 +1566,28 @@ Сохранить эмблему Guardar Insignia 記章(バッジ)の保存 + Zapisz Naszywkę + Insignia Speichern + Sauvegarder l'insigne + Salvar Insígnia Descending - 下降 + 降順 + Malejąco + Absteigend + 내림차순 + Décroissant + Decrescente Ascending 昇順 + Rosnąco + Aufsteigend + 오름차순 + Croissant + Crescente Tools @@ -1577,26 +1608,67 @@ Ammo count 弾薬数 + Ilość amunicji + Munitionszahl + 장탄 수 + Nombre de munitions + Quantidade de munição + + + Illuminators + Illuminateurs + 조명 + Iluminadores + イルミネーター Default to Favorites お気に入りをデフォルト + Domyślnie do Ulubionych + Standardmäßig auf Favoriten eingestellt + 즐겨찾기 기본값 + Favoris par défaut + Favoritos por padrão Controls whether the ACE Arsenal defaults to showing all items or favorites. ACE Arsenalがデフォルトで全てのアイテムを表示するか、お気に入りを表示するかを制御します。 + Kontroluje, czy ACE Arsenal domyślnie wyświetla wszystkie przedmioty, czy tylko ulubione. + Steuert, ob das ACE Arsenal standardmäßig alle Gegenstände oder nur Favoriten anzeigt. + ACE 아스널이 기본적으로 모든 아이템 또는 즐겨찾기를 표시할 지 여부를 조정합니다. + Contrôle si l'arsenal ACE affiche par défaut tous les éléments ou les favoris. + Controla se o Arsenal ACE exibe por padrão todos os itens ou favoritos. Favorites Color お気に入りの色 + Kolor Ulubionych + Favoritenfarbe + 즐겨찾기 색상 + Couleurs favorites + Cor dos favoritos Highlight color for favorited items. お気に入りアイテムのハイライト色。 + Kolor podświetlenia ulubionych elementów. + Hervorhebungsfarbe für Lieblingsgegenstände. + 즐겨찾기한 아이템을 색상으로 강조합니다. + Met en surbrillance les éléments favoris. + Cor de destaque para itens favoritados. Switch between displaying all items or your favorites.\nDouble click while holding Shift to add or remove an item. - Shiftを押しながらダブルクリックするとアイテムを追加・削除できます。 + すべてのアイテムの表示とお気に入りの表示を切り替えます。\nアイテムを追加または削除するには、Shift キーを押しながらダブルクリックします。 + Przełączanie między wyświetlaniem wszystkich przedmiotów lub tylko ulubionych. \nKliknij dwukrotnie, przytrzymując Shift, aby dodać lub usunąć przedmiot. + Wechseln Sie zwischen der Anzeige aller Elemente oder Ihrer Favoriten.\nDoppelklicken Sie bei gedrückter Umschalttaste, um ein Element hinzuzufügen oder zu entfernen. + 모든 아이템을 표시하거나 즐겨찾기를 표시할 때 전환합니다\nShift 키를 누른 상태에서 두 번 클릭하여 아이템을 추가하거나 제거합니다. + Change entre l'affichage de tous les éléments ou de vos favoris.\nDouble-cliquez en maintenant la touche Maj enfoncée pour ajouter ou supprimer un élément. + Alterna entre a exibição de todos os itens ou seus favoritos.\nClique duas vezes enquanto mantém pressionada a tecla Shift para adicionar ou remover um item. + + + Search\nCTRL + Click to enable live results + 検索\nCTRL + クリックでライブ結果を有効にします diff --git a/addons/arsenal/ui/RscAttributes.hpp b/addons/arsenal/ui/RscAttributes.hpp index 3a707a3dc3..0265e86f3f 100644 --- a/addons/arsenal/ui/RscAttributes.hpp +++ b/addons/arsenal/ui/RscAttributes.hpp @@ -4,12 +4,12 @@ class GVAR(display) { idd = IDD_ace_arsenal; enableSimulation = 1; - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(display))] call FUNC(onArsenalOpen)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(display))] call FUNC(onArsenalClose)); - onKeyDown = QUOTE([ARR_3('onKeyDown', _this, QQGVAR(display))] call FUNC(onKeyDown)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(display))] call FUNC(onArsenalOpen)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(display))] call FUNC(onArsenalClose)); + onKeyDown = QUOTE([ARR_3('onKeyDown',_this,QQGVAR(display))] call FUNC(onKeyDown)); onKeyUp = QUOTE(GVAR(shiftState) = _this select 2); - onMouseButtonDown = QUOTE([ARR_3('onMouseButtonDown', _this, QQGVAR(display))] call FUNC(onMouseButtonDown)); - onMouseButtonUp = QUOTE([ARR_3('onMouseButtonUp', _this, QQGVAR(display))] call FUNC(onMouseButtonUp)); + onMouseButtonDown = QUOTE([ARR_3('onMouseButtonDown',_this,QQGVAR(display))] call FUNC(onMouseButtonDown)); + onMouseButtonUp = QUOTE([ARR_3('onMouseButtonUp',_this,QQGVAR(display))] call FUNC(onMouseButtonUp)); icon = "\A3\Ui_f\data\Logos\a_64_ca.paa"; logo = "\A3\Ui_f\data\Logos\arsenal_1024_ca.paa"; class ControlsBackground { @@ -28,9 +28,9 @@ class GVAR(display) { class mouseArea: ctrlStatic { idc = IDC_mouseArea; style = 16; - onMouseMoving = QUOTE([ARR_3('onMouseMoving', _this, GVAR(display))] call FUNC(handleMouse)); - onMouseHolding = QUOTE([ARR_3('onMouseHolding', _this, GVAR(display))] call FUNC(handleMouse)); - onMouseZChanged = QUOTE([ARR_3('onMouseZChanged', _this, GVAR(display))] call FUNC(handleScrollWheel)); + onMouseMoving = QUOTE([ARR_3('onMouseMoving',_this,GVAR(display))] call FUNC(handleMouse)); + onMouseHolding = QUOTE([ARR_3('onMouseHolding',_this,GVAR(display))] call FUNC(handleMouse)); + onMouseZChanged = QUOTE([ARR_3('onMouseZChanged',_this,GVAR(display))] call FUNC(handleScrollWheel)); x = QUOTE(safezoneX); y = QUOTE(safezoneY); w = QUOTE(safezoneW); @@ -42,7 +42,7 @@ class GVAR(display) { idc = IDC_arrowMinus; text = "-"; colorBackground[] = {0,0,0,0.8}; - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), -1)] call FUNC(buttonCargo)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),-1)] call FUNC(buttonCargo)); fade = 1; enable = 0; x = 0.5; @@ -53,7 +53,7 @@ class GVAR(display) { }; class ArrowRight: ArrowLeft { idc = IDC_arrowPlus; - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), 1)] call FUNC(buttonCargo)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),1)] call FUNC(buttonCargo)); text = "+"; }; class blockLeftFrame: RscFrame { @@ -205,7 +205,7 @@ class GVAR(display) { x = QUOTE(5 * WIDTH_GAP + 4 * WIDTH_SINGLE); text = ""; tooltip = CSTRING(buttonFavoritesTooltip); - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), (_this select 0))] call FUNC(buttonFavorites)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),(_this select 0))] call FUNC(buttonFavorites)); }; class buttonClose: ctrlButtonOK { idc = IDC_menuBarClose; @@ -417,7 +417,7 @@ class GVAR(display) { text = "<"; colorBackground[] = {0,0,0,0}; colorBackgroundDisabled[] = {0,0,0,0}; - onButtonClick = QUOTE([ARR_2(QQGVAR(statsChangePage),[ARR_3(ctrlParent (_this select 0), _this select 0, false)])] call CBA_fnc_localEvent); + onButtonClick = QUOTE([ARR_2(QQGVAR(statsChangePage),[ARR_3(ctrlParent (_this select 0),_this select 0,false)])] call CBA_fnc_localEvent); x = QUOTE((0.5 - WIDTH_TOTAL / 2) + WIDTH_GAP); y = QUOTE(safezoneY + 1.8 * GRID_H); w = QUOTE(5 * GRID_W); @@ -427,7 +427,7 @@ class GVAR(display) { class statsNextPage: statsPreviousPage { idc = IDC_statsNextPage; text = ">"; - onButtonClick = QUOTE([ARR_2(QQGVAR(statsChangePage),[ARR_3(ctrlParent (_this select 0), _this select 0, true)])] call CBA_fnc_localEvent); + onButtonClick = QUOTE([ARR_2(QQGVAR(statsChangePage),[ARR_3(ctrlParent (_this select 0),_this select 0,true)])] call CBA_fnc_localEvent); x = QUOTE((0.5 - WIDTH_TOTAL / 2) + WIDTH_GAP + 42 * GRID_W); }; class statsCurrentPage: RscText { @@ -524,7 +524,7 @@ class GVAR(display) { text="<"; colorBackground[]={0,0,0,0}; colorBackgroundDisabled[]= {0,0,0,0}; - onButtonClick = QUOTE([ARR_2(QQGVAR(actionsChangePage),[ARR_3(ctrlParent (_this select 0), _this select 0, false)])] call CBA_fnc_localEvent); + onButtonClick = QUOTE([ARR_2(QQGVAR(actionsChangePage),[ARR_3(ctrlParent (_this select 0),_this select 0,false)])] call CBA_fnc_localEvent); x = QUOTE(0); y = QUOTE(0); w = QUOTE(5 * GRID_W); @@ -534,7 +534,7 @@ class GVAR(display) { class actionsNextPage: actionsPreviousPage { idc = IDC_actionsNextPage; text = ">"; - onButtonClick = QUOTE([ARR_2(QQGVAR(actionsChangePage),[ARR_3(ctrlParent (_this select 0), _this select 0, true)])] call CBA_fnc_localEvent); + onButtonClick = QUOTE([ARR_2(QQGVAR(actionsChangePage),[ARR_3(ctrlParent (_this select 0),_this select 0,true)])] call CBA_fnc_localEvent); x = QUOTE(42 * GRID_W); }; class actionsCurrentPage: RscText { @@ -637,7 +637,8 @@ class GVAR(display) { idc = IDC_leftSearchbar; onSetFocus = QUOTE(GVAR(leftSearchbarFocus) = true); onKillFocus = QUOTE(GVAR(leftSearchbarFocus) = false); - onMouseButtonClick = QUOTE([ARR_3(ctrlParent (_this select 0), _this select 0, _this select 1)] call FUNC(clearSearchbar)); + onMouseButtonClick = QUOTE([ARR_3(ctrlParent (_this select 0),_this select 0,_this select 1)] call FUNC(clearSearchbar)); + onEditChanged = QUOTE(call FUNC(handleSearchInputChanged)); x = QUOTE(safezoneX + 13 * GRID_W); y = QUOTE(safezoneY + 1.8 * GRID_H); w = QUOTE(74 * GRID_W); @@ -647,14 +648,16 @@ class GVAR(display) { class leftSearchbarButton: ctrlButtonPicture { idc = IDC_leftSearchbarButton; text = "\a3\Ui_f\data\GUI\RscCommon\RscButtonSearch\search_start_ca.paa"; + tooltip = CSTRING(buttonSearchTooltip); colorBackground[] = {0,0,0,0.5}; - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), ctrlParent (_this select 0) displayCtrl IDC_leftSearchbar)] call FUNC(handleSearchbar)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),ctrlParent (_this select 0) displayCtrl IDC_leftSearchbar)] call FUNC(handleSearchbar)); + onMouseButtonDown = QUOTE(call FUNC(handleSearchModeToggle)); x = QUOTE(safezoneX + 87 * GRID_W); y = QUOTE(safezoneY + 1.8 * GRID_H); w = QUOTE(6 * GRID_W); h = QUOTE(6 * GRID_H); }; - class rightSearchbar: leftSearchBar { + class rightSearchbar: leftSearchbar { idc = IDC_rightSearchbar; onSetFocus = QUOTE(GVAR(rightSearchbarFocus) = true); onKillFocus = QUOTE(GVAR(rightSearchbarFocus) = false); @@ -662,7 +665,7 @@ class GVAR(display) { }; class rightSearchbarButton: leftSearchbarButton { idc = IDC_rightSearchbarButton; - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), ctrlParent (_this select 0) displayCtrl IDC_rightSearchbar)] call FUNC(handleSearchbar)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),ctrlParent (_this select 0) displayCtrl IDC_rightSearchbar)] call FUNC(handleSearchbar)); x = QUOTE(safezoneX + safezoneW - 93 * GRID_W); }; class tabLeft: RscControlsGroupNoScrollbars { @@ -686,14 +689,14 @@ class GVAR(display) { idc = IDC_buttonPrimaryWeapon; text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\PrimaryWeapon_ca.paa"; tooltip = "$STR_A3_RscDisplayArsenal_tab_PrimaryWeapon"; - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(fillLeftPanel)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),_this select 0)] call FUNC(fillLeftPanel)); colorBackground[] = {0,0,0,0.5}; x = QUOTE(0 * GRID_W); y = QUOTE(0 * GRID_H); w = QUOTE(9 * GRID_W); h = QUOTE(9 * GRID_H); }; - class iconBackgroundHandgun: IconBackgroundPrimaryWeapon { + class iconBackgroundHandgun: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundHandgun; y = QUOTE(10 * GRID_H); }; @@ -703,7 +706,7 @@ class GVAR(display) { tooltip = "$STR_A3_RscDisplayArsenal_tab_Handgun"; y = QUOTE(10 * GRID_H); }; - class iconBackgroundSecondaryWeapon: IconBackgroundPrimaryWeapon { + class iconBackgroundSecondaryWeapon: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundSecondaryWeapon; y = QUOTE(20 * GRID_H); }; @@ -713,7 +716,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\SecondaryWeapon_ca.paa"; y = QUOTE(20 * GRID_H); }; - class iconBackgroundHeadgear: IconBackgroundPrimaryWeapon { + class iconBackgroundHeadgear: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundHeadgear; y = QUOTE(30 * GRID_H); }; @@ -723,7 +726,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Headgear_ca.paa"; y = QUOTE(30 * GRID_H); }; - class iconBackgroundUniform: IconBackgroundPrimaryWeapon { + class iconBackgroundUniform: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundUniform; y = QUOTE(40 * GRID_H); }; @@ -733,7 +736,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Uniform_ca.paa"; y = QUOTE(40 * GRID_H); }; - class iconBackgroundVest: IconBackgroundPrimaryWeapon { + class iconBackgroundVest: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundVest; y = QUOTE(50 * GRID_H); }; @@ -743,7 +746,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Vest_ca.paa"; y = QUOTE(50 * GRID_H); }; - class iconBackgroundBackpack: IconBackgroundPrimaryWeapon { + class iconBackgroundBackpack: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundBackpack; y = QUOTE(60 * GRID_H); }; @@ -753,7 +756,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Backpack_ca.paa"; y = QUOTE(60 * GRID_H); }; - class iconBackgroundGoggles: IconBackgroundPrimaryWeapon { + class iconBackgroundGoggles: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundGoggles; y = QUOTE(70 * GRID_H); }; @@ -763,7 +766,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Goggles_ca.paa"; y = QUOTE(70 * GRID_H); }; - class iconBackgroundNVG: IconBackgroundPrimaryWeapon { + class iconBackgroundNVG: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundNVG; y = QUOTE(80 * GRID_H); }; @@ -773,7 +776,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\NVGs_ca.paa"; y = QUOTE(80 * GRID_H); }; - class iconBackgroundBinoculars: IconBackgroundPrimaryWeapon { + class iconBackgroundBinoculars: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundBinoculars; y = QUOTE(90 * GRID_H); }; @@ -783,7 +786,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Binoculars_ca.paa"; y = QUOTE(90 * GRID_H); }; - class iconBackgroundMap: IconBackgroundPrimaryWeapon { + class iconBackgroundMap: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundMap; y = QUOTE(100 * GRID_H); }; @@ -793,7 +796,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Map_ca.paa"; y = QUOTE(100 * GRID_H); }; - class iconBackgroundGPS: IconBackgroundPrimaryWeapon { + class iconBackgroundGPS: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundGPS; y = QUOTE(110 * GRID_H); }; @@ -803,7 +806,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\GPS_ca.paa"; y = QUOTE(110 * GRID_H); }; - class iconBackgroundRadio: IconBackgroundPrimaryWeapon { + class iconBackgroundRadio: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundRadio; y = QUOTE(120 * GRID_H); }; @@ -813,7 +816,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Radio_ca.paa"; y = QUOTE(120 * GRID_H); }; - class iconBackgroundCompass: IconBackgroundPrimaryWeapon { + class iconBackgroundCompass: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundCompass; y = QUOTE(130 * GRID_H); }; @@ -823,7 +826,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Compass_ca.paa"; y = QUOTE(130 * GRID_H); }; - class iconBackgroundWatch: IconBackgroundPrimaryWeapon { + class iconBackgroundWatch: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundWatch; y = QUOTE(140 * GRID_H); }; @@ -833,7 +836,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Watch_ca.paa"; y = QUOTE(140 * GRID_H); }; - class iconBackgroundFace: IconBackgroundPrimaryWeapon { + class iconBackgroundFace: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundFace; y = QUOTE(150 * GRID_H); }; @@ -843,7 +846,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Face_ca.paa"; y = QUOTE(150 * GRID_H); }; - class iconBackgroundVoice: IconBackgroundPrimaryWeapon { + class iconBackgroundVoice: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundVoice; y = QUOTE(160 * GRID_H); }; @@ -853,7 +856,7 @@ class GVAR(display) { text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\Voice_ca.paa"; y = QUOTE(160 * GRID_H); }; - class iconBackgroundInsigna: IconBackgroundPrimaryWeapon { + class iconBackgroundInsigna: iconBackgroundPrimaryWeapon { idc = IDC_iconBackgroundInsigna; y = QUOTE(170 * GRID_H); }; @@ -879,7 +882,7 @@ class GVAR(display) { idc = IDC_buttonOptic; tooltip = "$STR_A3_RscDisplayArsenal_tab_ItemOptic"; text = "\A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\ItemOptic_ca.paa"; - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(fillRightPanel)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),_this select 0)] call FUNC(fillRightPanel)); colorBackground[] = {0,0,0,0.5}; x = QUOTE(safezoneW + safezoneX - 10 * GRID_W); y = QUOTE(safezoneY + 8 * GRID_H); @@ -1005,8 +1008,8 @@ class GVAR(display) { class GVAR(loadoutsDisplay) { idd = IDD_loadouts_display; - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(loadoutsDisplay))] call FUNC(onLoadoutsOpen)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(loadoutsDisplay))] call FUNC(onLoadoutsClose)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(loadoutsDisplay))] call FUNC(onLoadoutsOpen)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(loadoutsDisplay))] call FUNC(onLoadoutsClose)); class controls { class centerBox: ctrlControlsGroupNoScrollbars { idc = IDC_centerBox; @@ -1041,15 +1044,15 @@ class GVAR(loadoutsDisplay) { h = QUOTE(5 * GRID_H); sizeEx = QUOTE(5 * GRID_H); }; - class contentPanel: RscListnBox { + class contentPanel: RscListNBox { idc = IDC_contentPanel; columns[] = {0, 0.05, 0.40, 0.50, 0.60, 0.70, 0.75, 0.80, 0.85, 0.90}; drawSideArrows = 0; disableOverflow = 1; onSetFocus = QUOTE(GVAR(loadoutsPanelFocus) = true); onKillFocus = QUOTE(GVAR(loadoutsPanelFocus) = false); - onLBSelChanged = QUOTE([ARR_3(ctrlParent (_this select 0), _this select 0, _this select 1)] call FUNC(onSelChangedLoadouts)); - onLBDblClick = QUOTE([ARR_2(ctrlParent (_this select 0), (ctrlParent (_this select 0)) displayCtrl IDC_buttonLoad)] call FUNC(buttonLoadoutsLoad)); + onLBSelChanged = QUOTE([ARR_3(ctrlParent (_this select 0),_this select 0,_this select 1)] call FUNC(onSelChangedLoadouts)); + onLBDblClick = QUOTE([ARR_2(ctrlParent (_this select 0),(ctrlParent (_this select 0)) displayCtrl IDC_buttonLoad)] call FUNC(buttonLoadoutsLoad)); x = QUOTE(0); y = QUOTE(5 * GRID_H); w = QUOTE(160 * GRID_W); @@ -1078,7 +1081,7 @@ class GVAR(loadoutsDisplay) { idc = IDC_loadoutsSearchbar; onSetFocus = QUOTE(GVAR(loadoutsSearchbarFocus) = true); onKillFocus = QUOTE(GVAR(loadoutsSearchbarFocus) = false); - onMouseButtonClick = QUOTE([ARR_3(ctrlParent (_this select 0), _this select 0, _this select 1)] call FUNC(clearSearchbar)); + onMouseButtonClick = QUOTE([ARR_3(ctrlParent (_this select 0),_this select 0,_this select 1)] call FUNC(clearSearchbar)); x = QUOTE(83 * GRID_W); y = QUOTE(safezoneH - (51 * GRID_H)); w = QUOTE(72 * GRID_W); @@ -1089,7 +1092,7 @@ class GVAR(loadoutsDisplay) { idc = -1; text = "\a3\Ui_f\data\GUI\RscCommon\RscButtonSearch\search_start_ca.paa"; colorBackground[] = {0,0,0,0.5}; - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), ctrlParent (_this select 0) displayCtrl IDC_loadoutsSearchbar)] call FUNC(handleLoadoutsSearchbar)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),ctrlParent (_this select 0) displayCtrl IDC_loadoutsSearchbar)] call FUNC(handleLoadoutsSearchbar)); x = QUOTE(155 * GRID_W); y = QUOTE(safezoneH - (51 * GRID_H)); w = QUOTE(5 * GRID_W); @@ -1104,7 +1107,7 @@ class GVAR(loadoutsDisplay) { text = CSTRING(buttonSaveText); tooltip = CSTRING(buttonSaveTooltip); sizeEx = QUOTE(5 * GRID_H); - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsSave)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),_this select 0)] call FUNC(buttonLoadoutsSave)); colorBackground[] = {0,0,0,0.8}; }; class buttonRename: buttonSave { @@ -1112,21 +1115,21 @@ class GVAR(loadoutsDisplay) { x = QUOTE(32.5 * GRID_W); text = ECSTRING(common,rename); tooltip = CSTRING(buttonRenameTooltip); - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsRename)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),_this select 0)] call FUNC(buttonLoadoutsRename)); }; class buttonLoad: buttonSave { idc = IDC_buttonLoad; x = QUOTE(65 * GRID_W); text = CSTRING(buttonLoadText); tooltip = CSTRING(buttonLoadTooltip); - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsLoad)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),_this select 0)] call FUNC(buttonLoadoutsLoad)); }; class buttonShare: buttonSave { idc = IDC_buttonShare; x = QUOTE(97.5 * GRID_W); text = CSTRING(buttonSharePrivateText); tooltip = CSTRING(buttonShareTooltip); - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsShare)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),_this select 0)] call FUNC(buttonLoadoutsShare)); }; class buttonDelete: buttonSave { idc = IDC_buttonDelete; @@ -1134,7 +1137,7 @@ class GVAR(loadoutsDisplay) { text = CSTRING(buttonDeleteText); tooltip = CSTRING(buttonDeleteTooltip); colorBackgroundActive[] = {0.5,0,0,1}; - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(buttonLoadoutsDelete)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),_this select 0)] call FUNC(buttonLoadoutsDelete)); }; }; }; @@ -1174,7 +1177,7 @@ class GVAR(loadoutsDisplay) { sizeEx = QUOTE(5 * GRID_H); text = CSTRING(tabMyLoadoutsText); tooltip = CSTRING(tabMyLoadoutsTooltip); - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(loadoutsChangeTab)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),_this select 0)] call FUNC(loadoutsChangeTab)); }; class buttonDefaultLoadoutsBackground: buttonMyLoadoutsBackground { idc = IDC_buttonDefaultLoadoutsBackground; diff --git a/addons/arsenal/ui/RscCustomArsenalButton.hpp b/addons/arsenal/ui/RscCustomArsenalButton.hpp index abe3358399..0aa077f424 100644 --- a/addons/arsenal/ui/RscCustomArsenalButton.hpp +++ b/addons/arsenal/ui/RscCustomArsenalButton.hpp @@ -6,7 +6,7 @@ class GVAR(customArsenalButton_Button): RscButtonArsenal { text = QPATHTOF(data\iconCustom.paa); tooltip = ""; - onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0), _this select 0)] call FUNC(fillRightPanel)); + onButtonClick = QUOTE([ARR_2(ctrlParent (_this select 0),_this select 0)] call FUNC(fillRightPanel)); colorBackground[] = {0,0,0,0.5}; }; diff --git a/addons/arsenal/ui/script_component.hpp b/addons/arsenal/ui/script_component.hpp index 45c75ef68b..fcf9da9867 100644 --- a/addons/arsenal/ui/script_component.hpp +++ b/addons/arsenal/ui/script_component.hpp @@ -1 +1 @@ -#include "\z\ace\addons\arsenal\script_component.hpp" +#include "..\script_component.hpp" diff --git a/addons/artillerytables/CfgWeapons.hpp b/addons/artillerytables/CfgWeapons.hpp index 56aa257b46..f3716173f9 100644 --- a/addons/artillerytables/CfgWeapons.hpp +++ b/addons/artillerytables/CfgWeapons.hpp @@ -10,7 +10,7 @@ class CfgWeapons { picture = QPATHTOF(UI\icon_rangeTable.paa); ACE_isTool = 1; class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 0.5; + mass = 0.1; }; }; }; diff --git a/addons/artillerytables/RscRangeTable.hpp b/addons/artillerytables/RscRangeTable.hpp index 424dd10995..ef11d7eac8 100644 --- a/addons/artillerytables/RscRangeTable.hpp +++ b/addons/artillerytables/RscRangeTable.hpp @@ -46,7 +46,7 @@ class GVAR(rangeTableDialog) { color[] = {0,0,0,0.6}; }; }; - class ChargeListBox: RscListbox { + class ChargeListBox: RscListBox { idc = IDC_CHARGELIST; x = "13 *(safeZoneH / 40) + (safezoneX + (safezoneW - safeZoneH) / 2)"; y = "2 * ((safeZoneH / 1.2) / 25) + (safezoneY + (safezoneH - (safeZoneH / 1.2)) / 2)"; diff --git a/addons/artillerytables/config.cpp b/addons/artillerytables/config.cpp index eadb5c2a24..1f6fa9f74e 100644 --- a/addons/artillerytables/config.cpp +++ b/addons/artillerytables/config.cpp @@ -29,7 +29,7 @@ class ACE_Extensions { // Common UI Stuff: class RscText; -class RscListbox; +class RscListBox; class RscListNBox; class RscPicture; class RscControlsGroup; diff --git a/addons/artillerytables/dev/showShotInfo.sqf b/addons/artillerytables/dev/showShotInfo.sqf index aab2f0ef5f..ac99acbdc1 100644 --- a/addons/artillerytables/dev/showShotInfo.sqf +++ b/addons/artillerytables/dev/showShotInfo.sqf @@ -1,5 +1,5 @@ //pragma SKIP_COMPILE -// #include "\z\ace\addons\artillerytables\script_component.hpp" +// #include "..\script_component.hpp" INFO("showing shot info"); diff --git a/addons/artillerytables/functions/fnc_firedEH.sqf b/addons/artillerytables/functions/fnc_firedEH.sqf index b2053136e8..01947b4ebe 100644 --- a/addons/artillerytables/functions/fnc_firedEH.sqf +++ b/addons/artillerytables/functions/fnc_firedEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Called when the mortar is fired. diff --git a/addons/artillerytables/functions/fnc_interactMenuOpened.sqf b/addons/artillerytables/functions/fnc_interactMenuOpened.sqf index c0cc1fb80c..b7d6371339 100644 --- a/addons/artillerytables/functions/fnc_interactMenuOpened.sqf +++ b/addons/artillerytables/functions/fnc_interactMenuOpened.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Interaction menu opened, search for nearby artillery vehicles. diff --git a/addons/artillerytables/functions/fnc_rangeTableOpen.sqf b/addons/artillerytables/functions/fnc_rangeTableOpen.sqf index b96101bfce..97c8dfe435 100644 --- a/addons/artillerytables/functions/fnc_rangeTableOpen.sqf +++ b/addons/artillerytables/functions/fnc_rangeTableOpen.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Opens the rangetable and fills the charge listbox. diff --git a/addons/artillerytables/functions/fnc_rangeTableUpdate.sqf b/addons/artillerytables/functions/fnc_rangeTableUpdate.sqf index 4f0a3d6156..56135025ae 100644 --- a/addons/artillerytables/functions/fnc_rangeTableUpdate.sqf +++ b/addons/artillerytables/functions/fnc_rangeTableUpdate.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Called when listbox selection changes. Updates the rangetable with new values. diff --git a/addons/artillerytables/functions/fnc_turretChanged.sqf b/addons/artillerytables/functions/fnc_turretChanged.sqf index 2467764499..b2c6bafb65 100644 --- a/addons/artillerytables/functions/fnc_turretChanged.sqf +++ b/addons/artillerytables/functions/fnc_turretChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Turret changed, determine if we are in the gunner seat of an artillery vehicle. diff --git a/addons/artillerytables/functions/fnc_turretPFEH.sqf b/addons/artillerytables/functions/fnc_turretPFEH.sqf index 5ab7c499b0..9ad10de1aa 100644 --- a/addons/artillerytables/functions/fnc_turretPFEH.sqf +++ b/addons/artillerytables/functions/fnc_turretPFEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Shows real azimuth and elevation on hud diff --git a/addons/artillerytables/functions/script_component.hpp b/addons/artillerytables/functions/script_component.hpp deleted file mode 100644 index d85f88930a..0000000000 --- a/addons/artillerytables/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\artillerytables\script_component.hpp" diff --git a/addons/artillerytables/stringtable.xml b/addons/artillerytables/stringtable.xml index 5aef75b4ed..d9c44c5156 100644 --- a/addons/artillerytables/stringtable.xml +++ b/addons/artillerytables/stringtable.xml @@ -62,7 +62,7 @@ Для выстрелов игрока. Моделирует сопротивление воздуха и эффект ветра Per Proiettili dei Giocatori, simula la Resistenza dell'Aria e gli Effetti del Vento プレイヤが射撃すると、空気抵抗モデルと風による影響を与えます。 - 플레이어 사격시 공기저항과 바람에 영향을 받습니다 + 플레이어가 사격 시 공기저항과 바람에 영향을 받습니다 设定由玩家射击的炮弹是否受到空气阻力与风力的影响 設定由玩家射擊的迫擊砲,將會受到空氣阻力與風力的影響 Oyuncu atışları, hava direnci ve rüzgar efektleri için diff --git a/addons/atragmx/functions/fnc_add_new_gun.sqf b/addons/atragmx/functions/fnc_add_new_gun.sqf index 94415852f9..7ef1367b53 100644 --- a/addons/atragmx/functions/fnc_add_new_gun.sqf +++ b/addons/atragmx/functions/fnc_add_new_gun.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Adds a new (default) gun profile to the profileNamespace diff --git a/addons/atragmx/functions/fnc_calculate_distance_at_velocity.sqf b/addons/atragmx/functions/fnc_calculate_distance_at_velocity.sqf index 1f06d79988..9fe18a258d 100644 --- a/addons/atragmx/functions/fnc_calculate_distance_at_velocity.sqf +++ b/addons/atragmx/functions/fnc_calculate_distance_at_velocity.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates distance at which the bullet velocity drops below the threshold velocity diff --git a/addons/atragmx/functions/fnc_calculate_range_card.sqf b/addons/atragmx/functions/fnc_calculate_range_card.sqf index 473e49a8a1..23fef6d414 100644 --- a/addons/atragmx/functions/fnc_calculate_range_card.sqf +++ b/addons/atragmx/functions/fnc_calculate_range_card.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the range card output based on the current data set diff --git a/addons/atragmx/functions/fnc_calculate_solution.sqf b/addons/atragmx/functions/fnc_calculate_solution.sqf index 3c854499d9..7efc25ebbf 100644 --- a/addons/atragmx/functions/fnc_calculate_solution.sqf +++ b/addons/atragmx/functions/fnc_calculate_solution.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the fireing solution diff --git a/addons/atragmx/functions/fnc_calculate_target_range_assist.sqf b/addons/atragmx/functions/fnc_calculate_target_range_assist.sqf index 51f00cdaaf..dc9c62c3fc 100644 --- a/addons/atragmx/functions/fnc_calculate_target_range_assist.sqf +++ b/addons/atragmx/functions/fnc_calculate_target_range_assist.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the target range and updates the output fields diff --git a/addons/atragmx/functions/fnc_calculate_target_solution.sqf b/addons/atragmx/functions/fnc_calculate_target_solution.sqf index 775467f5de..7fd70ca09a 100644 --- a/addons/atragmx/functions/fnc_calculate_target_solution.sqf +++ b/addons/atragmx/functions/fnc_calculate_target_solution.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the fireing solution and updates the result input/output fields diff --git a/addons/atragmx/functions/fnc_calculate_target_speed_assist.sqf b/addons/atragmx/functions/fnc_calculate_target_speed_assist.sqf index 1e28a82339..69af9eba16 100644 --- a/addons/atragmx/functions/fnc_calculate_target_speed_assist.sqf +++ b/addons/atragmx/functions/fnc_calculate_target_speed_assist.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the target speed and updates the output fields diff --git a/addons/atragmx/functions/fnc_calculate_truing_drop.sqf b/addons/atragmx/functions/fnc_calculate_truing_drop.sqf index e3dfe5b6a4..5191848d05 100644 --- a/addons/atragmx/functions/fnc_calculate_truing_drop.sqf +++ b/addons/atragmx/functions/fnc_calculate_truing_drop.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the truing drop and updates the output fields diff --git a/addons/atragmx/functions/fnc_can_show.sqf b/addons/atragmx/functions/fnc_can_show.sqf index fff2a93702..ffa538f542 100644 --- a/addons/atragmx/functions/fnc_can_show.sqf +++ b/addons/atragmx/functions/fnc_can_show.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Authors: Ruthberg * Tests if the ATragMX dialog can be shown diff --git a/addons/atragmx/functions/fnc_change_gun.sqf b/addons/atragmx/functions/fnc_change_gun.sqf index 9b3863420b..2c0f3e33bc 100644 --- a/addons/atragmx/functions/fnc_change_gun.sqf +++ b/addons/atragmx/functions/fnc_change_gun.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Selects a new gun profile and updates the gun column and the result input/output fields diff --git a/addons/atragmx/functions/fnc_change_target_slot.sqf b/addons/atragmx/functions/fnc_change_target_slot.sqf index 71118748d9..e2a0479998 100644 --- a/addons/atragmx/functions/fnc_change_target_slot.sqf +++ b/addons/atragmx/functions/fnc_change_target_slot.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Selects a target slot (A, B, C or D) diff --git a/addons/atragmx/functions/fnc_clear_c1_ballistic_coefficient_data.sqf b/addons/atragmx/functions/fnc_clear_c1_ballistic_coefficient_data.sqf index 22aa0ac3f8..477b9760fe 100644 --- a/addons/atragmx/functions/fnc_clear_c1_ballistic_coefficient_data.sqf +++ b/addons/atragmx/functions/fnc_clear_c1_ballistic_coefficient_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Clears the c1 ballistic coefficient data fields diff --git a/addons/atragmx/functions/fnc_clear_muzzle_velocity_data.sqf b/addons/atragmx/functions/fnc_clear_muzzle_velocity_data.sqf index 4e686202e1..7c814c7bb4 100644 --- a/addons/atragmx/functions/fnc_clear_muzzle_velocity_data.sqf +++ b/addons/atragmx/functions/fnc_clear_muzzle_velocity_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Clears the muzzle velocity data fields diff --git a/addons/atragmx/functions/fnc_clear_user_data.sqf b/addons/atragmx/functions/fnc_clear_user_data.sqf index e166b56880..850b10aece 100644 --- a/addons/atragmx/functions/fnc_clear_user_data.sqf +++ b/addons/atragmx/functions/fnc_clear_user_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Removes all user data from the profileNamespace diff --git a/addons/atragmx/functions/fnc_create_dialog.sqf b/addons/atragmx/functions/fnc_create_dialog.sqf index 6930bf6786..e1655abfb0 100644 --- a/addons/atragmx/functions/fnc_create_dialog.sqf +++ b/addons/atragmx/functions/fnc_create_dialog.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Creates the ATragMX dialog diff --git a/addons/atragmx/functions/fnc_cycle_gun_list.sqf b/addons/atragmx/functions/fnc_cycle_gun_list.sqf index 5487ac71cb..dab0b174e9 100644 --- a/addons/atragmx/functions/fnc_cycle_gun_list.sqf +++ b/addons/atragmx/functions/fnc_cycle_gun_list.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Cycles through the gun list diff --git a/addons/atragmx/functions/fnc_cycle_image_size_units.sqf b/addons/atragmx/functions/fnc_cycle_image_size_units.sqf index 70b35ec58c..3fc0de9664 100644 --- a/addons/atragmx/functions/fnc_cycle_image_size_units.sqf +++ b/addons/atragmx/functions/fnc_cycle_image_size_units.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Cycles through the image size units diff --git a/addons/atragmx/functions/fnc_cycle_num_ticks_units.sqf b/addons/atragmx/functions/fnc_cycle_num_ticks_units.sqf index 65361b9860..26056817a2 100644 --- a/addons/atragmx/functions/fnc_cycle_num_ticks_units.sqf +++ b/addons/atragmx/functions/fnc_cycle_num_ticks_units.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Cycles through the num ticks units diff --git a/addons/atragmx/functions/fnc_cycle_range_card_columns.sqf b/addons/atragmx/functions/fnc_cycle_range_card_columns.sqf index b9432996cb..deed82901a 100644 --- a/addons/atragmx/functions/fnc_cycle_range_card_columns.sqf +++ b/addons/atragmx/functions/fnc_cycle_range_card_columns.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Cycles through the range card columns diff --git a/addons/atragmx/functions/fnc_cycle_scope_unit.sqf b/addons/atragmx/functions/fnc_cycle_scope_unit.sqf index 74c5a37dd4..74b3e81daa 100644 --- a/addons/atragmx/functions/fnc_cycle_scope_unit.sqf +++ b/addons/atragmx/functions/fnc_cycle_scope_unit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Cycles through the scope units diff --git a/addons/atragmx/functions/fnc_cycle_target_size_units.sqf b/addons/atragmx/functions/fnc_cycle_target_size_units.sqf index 36165ddae5..f53932cbfb 100644 --- a/addons/atragmx/functions/fnc_cycle_target_size_units.sqf +++ b/addons/atragmx/functions/fnc_cycle_target_size_units.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Cycles through the target size units diff --git a/addons/atragmx/functions/fnc_cycle_target_speed_direction.sqf b/addons/atragmx/functions/fnc_cycle_target_speed_direction.sqf index 7a2fade7e6..522423ea23 100644 --- a/addons/atragmx/functions/fnc_cycle_target_speed_direction.sqf +++ b/addons/atragmx/functions/fnc_cycle_target_speed_direction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Cycles through the target directions left/right diff --git a/addons/atragmx/functions/fnc_delete_gun.sqf b/addons/atragmx/functions/fnc_delete_gun.sqf index b5c209717d..43b2618e49 100644 --- a/addons/atragmx/functions/fnc_delete_gun.sqf +++ b/addons/atragmx/functions/fnc_delete_gun.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Deletes the currently selected gun profile from the profileNamespace diff --git a/addons/atragmx/functions/fnc_evaluate_option_menu_input.sqf b/addons/atragmx/functions/fnc_evaluate_option_menu_input.sqf index bcbd2b87c5..0927e6a73b 100644 --- a/addons/atragmx/functions/fnc_evaluate_option_menu_input.sqf +++ b/addons/atragmx/functions/fnc_evaluate_option_menu_input.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Evalutes input from the option menu diff --git a/addons/atragmx/functions/fnc_init.sqf b/addons/atragmx/functions/fnc_init.sqf index 2dcd34d493..5c3cedc88c 100644 --- a/addons/atragmx/functions/fnc_init.sqf +++ b/addons/atragmx/functions/fnc_init.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Inits all global variables with the default values diff --git a/addons/atragmx/functions/fnc_initGunList.sqf b/addons/atragmx/functions/fnc_initGunList.sqf index 782c769aa9..783a68202a 100644 --- a/addons/atragmx/functions/fnc_initGunList.sqf +++ b/addons/atragmx/functions/fnc_initGunList.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Inits the gun list from user profile diff --git a/addons/atragmx/functions/fnc_insert_c1_ballistic_coefficient_data.sqf b/addons/atragmx/functions/fnc_insert_c1_ballistic_coefficient_data.sqf index 69d23b4e43..c4b66d319d 100644 --- a/addons/atragmx/functions/fnc_insert_c1_ballistic_coefficient_data.sqf +++ b/addons/atragmx/functions/fnc_insert_c1_ballistic_coefficient_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Inserts entry in the c1 ballistic coefficient vs. distance interpolation table diff --git a/addons/atragmx/functions/fnc_insert_muzzle_velocity_data.sqf b/addons/atragmx/functions/fnc_insert_muzzle_velocity_data.sqf index 0e508e37e1..be646af89b 100644 --- a/addons/atragmx/functions/fnc_insert_muzzle_velocity_data.sqf +++ b/addons/atragmx/functions/fnc_insert_muzzle_velocity_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Inserts entry in the muzzle velocity vs. temperature interpolation table diff --git a/addons/atragmx/functions/fnc_lookup_c1_ballistic_coefficient.sqf b/addons/atragmx/functions/fnc_lookup_c1_ballistic_coefficient.sqf index 3d0b348874..16881c93b6 100644 --- a/addons/atragmx/functions/fnc_lookup_c1_ballistic_coefficient.sqf +++ b/addons/atragmx/functions/fnc_lookup_c1_ballistic_coefficient.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Lookup the correct C1 ballistic coefficient in the c1 ballistic coefficient vs. distance interpolation table diff --git a/addons/atragmx/functions/fnc_on_close_dialog.sqf b/addons/atragmx/functions/fnc_on_close_dialog.sqf index d9ebf1cb00..e1809d1eb4 100644 --- a/addons/atragmx/functions/fnc_on_close_dialog.sqf +++ b/addons/atragmx/functions/fnc_on_close_dialog.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * On close Dialog diff --git a/addons/atragmx/functions/fnc_parse_input.sqf b/addons/atragmx/functions/fnc_parse_input.sqf index d03b8bd186..1c3ea3398a 100644 --- a/addons/atragmx/functions/fnc_parse_input.sqf +++ b/addons/atragmx/functions/fnc_parse_input.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Parses all input fields in the gun-, atmosphere- and target column, the result input fields and the muzzle velocity data input fields diff --git a/addons/atragmx/functions/fnc_read_gun_list_entries_from_config.sqf b/addons/atragmx/functions/fnc_read_gun_list_entries_from_config.sqf index 3ae566557b..31451c7ff8 100644 --- a/addons/atragmx/functions/fnc_read_gun_list_entries_from_config.sqf +++ b/addons/atragmx/functions/fnc_read_gun_list_entries_from_config.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Reads gun list entries from the config and appends them to the gun list diff --git a/addons/atragmx/functions/fnc_recalculate_c1_ballistic_coefficient.sqf b/addons/atragmx/functions/fnc_recalculate_c1_ballistic_coefficient.sqf index 273d73a3e3..327adce1b3 100644 --- a/addons/atragmx/functions/fnc_recalculate_c1_ballistic_coefficient.sqf +++ b/addons/atragmx/functions/fnc_recalculate_c1_ballistic_coefficient.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Recalculates the c1 ballistic coefficient based on the current target range diff --git a/addons/atragmx/functions/fnc_recalculate_muzzle_velocity.sqf b/addons/atragmx/functions/fnc_recalculate_muzzle_velocity.sqf index c46cd9ab16..f7e4709cc1 100644 --- a/addons/atragmx/functions/fnc_recalculate_muzzle_velocity.sqf +++ b/addons/atragmx/functions/fnc_recalculate_muzzle_velocity.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Recalculates the muzzle velocity based on the muzzle velocity vs. temperature interpolation input diff --git a/addons/atragmx/functions/fnc_reset_relative_click_memory.sqf b/addons/atragmx/functions/fnc_reset_relative_click_memory.sqf index 4a847123df..5beea4cd38 100644 --- a/addons/atragmx/functions/fnc_reset_relative_click_memory.sqf +++ b/addons/atragmx/functions/fnc_reset_relative_click_memory.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Resets the relative click memory and updates the result input/output fields diff --git a/addons/atragmx/functions/fnc_restore_atmo_default.sqf b/addons/atragmx/functions/fnc_restore_atmo_default.sqf index 9b03c337b2..62b6faa8b5 100644 --- a/addons/atragmx/functions/fnc_restore_atmo_default.sqf +++ b/addons/atragmx/functions/fnc_restore_atmo_default.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Restores the atmospheric data defaults diff --git a/addons/atragmx/functions/fnc_restore_truing_drop.sqf b/addons/atragmx/functions/fnc_restore_truing_drop.sqf index 301c94f7a8..ca8f51882a 100644 --- a/addons/atragmx/functions/fnc_restore_truing_drop.sqf +++ b/addons/atragmx/functions/fnc_restore_truing_drop.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Restores the truing drop defaults diff --git a/addons/atragmx/functions/fnc_restore_user_data.sqf b/addons/atragmx/functions/fnc_restore_user_data.sqf index beb2c50c4d..c72a154acd 100644 --- a/addons/atragmx/functions/fnc_restore_user_data.sqf +++ b/addons/atragmx/functions/fnc_restore_user_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Reads user data from profileNamespace diff --git a/addons/atragmx/functions/fnc_save_gun.sqf b/addons/atragmx/functions/fnc_save_gun.sqf index 2560dbd42b..0780958041 100644 --- a/addons/atragmx/functions/fnc_save_gun.sqf +++ b/addons/atragmx/functions/fnc_save_gun.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Saves the currently select gun profile into the profileNamespace diff --git a/addons/atragmx/functions/fnc_shift_c1_ballistic_coefficient_data.sqf b/addons/atragmx/functions/fnc_shift_c1_ballistic_coefficient_data.sqf index 95ac59b705..0a41e8f3f8 100644 --- a/addons/atragmx/functions/fnc_shift_c1_ballistic_coefficient_data.sqf +++ b/addons/atragmx/functions/fnc_shift_c1_ballistic_coefficient_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shifts all c1 ballistic coefficient entries in the c1 ballistic coefficient vs. distance interpolation table diff --git a/addons/atragmx/functions/fnc_shift_muzzle_velocity_data.sqf b/addons/atragmx/functions/fnc_shift_muzzle_velocity_data.sqf index 4d4e4d2b22..ae588c623d 100644 --- a/addons/atragmx/functions/fnc_shift_muzzle_velocity_data.sqf +++ b/addons/atragmx/functions/fnc_shift_muzzle_velocity_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shifts all muzzle velocity entries in the muzzle velocity vs. temperature interpolation table diff --git a/addons/atragmx/functions/fnc_show_add_new_gun.sqf b/addons/atragmx/functions/fnc_show_add_new_gun.sqf index a00860490b..11fad2eaa3 100644 --- a/addons/atragmx/functions/fnc_show_add_new_gun.sqf +++ b/addons/atragmx/functions/fnc_show_add_new_gun.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides add new gun controls diff --git a/addons/atragmx/functions/fnc_show_atmo_env_data.sqf b/addons/atragmx/functions/fnc_show_atmo_env_data.sqf index b07843e18a..4c9b58402d 100644 --- a/addons/atragmx/functions/fnc_show_atmo_env_data.sqf +++ b/addons/atragmx/functions/fnc_show_atmo_env_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the atmosphere and environmental data controls diff --git a/addons/atragmx/functions/fnc_show_c1_ballistic_coefficient_data.sqf b/addons/atragmx/functions/fnc_show_c1_ballistic_coefficient_data.sqf index 34f598ac6c..f482f1e6e3 100644 --- a/addons/atragmx/functions/fnc_show_c1_ballistic_coefficient_data.sqf +++ b/addons/atragmx/functions/fnc_show_c1_ballistic_coefficient_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the c1 ballistic coefficient data controls diff --git a/addons/atragmx/functions/fnc_show_gun_ammo_data.sqf b/addons/atragmx/functions/fnc_show_gun_ammo_data.sqf index 108108a14c..854784ddaf 100644 --- a/addons/atragmx/functions/fnc_show_gun_ammo_data.sqf +++ b/addons/atragmx/functions/fnc_show_gun_ammo_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the gun ammo data controls diff --git a/addons/atragmx/functions/fnc_show_gun_list.sqf b/addons/atragmx/functions/fnc_show_gun_list.sqf index 714e9a0d12..7c9aacadb9 100644 --- a/addons/atragmx/functions/fnc_show_gun_list.sqf +++ b/addons/atragmx/functions/fnc_show_gun_list.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the gun list controls diff --git a/addons/atragmx/functions/fnc_show_main_page.sqf b/addons/atragmx/functions/fnc_show_main_page.sqf index 7b12af4439..048282f99c 100644 --- a/addons/atragmx/functions/fnc_show_main_page.sqf +++ b/addons/atragmx/functions/fnc_show_main_page.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the main menu controls diff --git a/addons/atragmx/functions/fnc_show_muzzle_velocity_data.sqf b/addons/atragmx/functions/fnc_show_muzzle_velocity_data.sqf index e12263d36f..b4a195f183 100644 --- a/addons/atragmx/functions/fnc_show_muzzle_velocity_data.sqf +++ b/addons/atragmx/functions/fnc_show_muzzle_velocity_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the muzzle velocity data controls diff --git a/addons/atragmx/functions/fnc_show_range_card.sqf b/addons/atragmx/functions/fnc_show_range_card.sqf index 02f65164bb..98052ce760 100644 --- a/addons/atragmx/functions/fnc_show_range_card.sqf +++ b/addons/atragmx/functions/fnc_show_range_card.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the range card controls diff --git a/addons/atragmx/functions/fnc_show_range_card_setup.sqf b/addons/atragmx/functions/fnc_show_range_card_setup.sqf index 183e115b1b..15558ceb98 100644 --- a/addons/atragmx/functions/fnc_show_range_card_setup.sqf +++ b/addons/atragmx/functions/fnc_show_range_card_setup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the range card setup controls diff --git a/addons/atragmx/functions/fnc_show_solution_setup.sqf b/addons/atragmx/functions/fnc_show_solution_setup.sqf index 4eafd38a31..e7846be426 100644 --- a/addons/atragmx/functions/fnc_show_solution_setup.sqf +++ b/addons/atragmx/functions/fnc_show_solution_setup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the solution setup controls diff --git a/addons/atragmx/functions/fnc_show_target_data.sqf b/addons/atragmx/functions/fnc_show_target_data.sqf index 6987047cbf..7d8329ba2a 100644 --- a/addons/atragmx/functions/fnc_show_target_data.sqf +++ b/addons/atragmx/functions/fnc_show_target_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the target data controls diff --git a/addons/atragmx/functions/fnc_show_target_range_assist.sqf b/addons/atragmx/functions/fnc_show_target_range_assist.sqf index 89453c9134..83516ef5c6 100644 --- a/addons/atragmx/functions/fnc_show_target_range_assist.sqf +++ b/addons/atragmx/functions/fnc_show_target_range_assist.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the target range assist controls diff --git a/addons/atragmx/functions/fnc_show_target_speed_assist.sqf b/addons/atragmx/functions/fnc_show_target_speed_assist.sqf index 267c3676b6..3efa6ed6d4 100644 --- a/addons/atragmx/functions/fnc_show_target_speed_assist.sqf +++ b/addons/atragmx/functions/fnc_show_target_speed_assist.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the target speed assist controls diff --git a/addons/atragmx/functions/fnc_show_target_speed_assist_timer.sqf b/addons/atragmx/functions/fnc_show_target_speed_assist_timer.sqf index fca074547f..b0a2b9b0c2 100644 --- a/addons/atragmx/functions/fnc_show_target_speed_assist_timer.sqf +++ b/addons/atragmx/functions/fnc_show_target_speed_assist_timer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the target speed assist timer controls diff --git a/addons/atragmx/functions/fnc_show_truing_drop.sqf b/addons/atragmx/functions/fnc_show_truing_drop.sqf index ca69346c49..5e7f60f4d4 100644 --- a/addons/atragmx/functions/fnc_show_truing_drop.sqf +++ b/addons/atragmx/functions/fnc_show_truing_drop.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows/Hides the truing drop controls diff --git a/addons/atragmx/functions/fnc_sord.sqf b/addons/atragmx/functions/fnc_sord.sqf index 327db0f117..f50e1042c3 100644 --- a/addons/atragmx/functions/fnc_sord.sqf +++ b/addons/atragmx/functions/fnc_sord.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Handles incoming data packets from the Vectronix Vector LRF diff --git a/addons/atragmx/functions/fnc_store_gun_list.sqf b/addons/atragmx/functions/fnc_store_gun_list.sqf index 14fb0f8350..ff007a8c9f 100644 --- a/addons/atragmx/functions/fnc_store_gun_list.sqf +++ b/addons/atragmx/functions/fnc_store_gun_list.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Saves the persistent gun list entries into profileNamespace diff --git a/addons/atragmx/functions/fnc_store_user_data.sqf b/addons/atragmx/functions/fnc_store_user_data.sqf index 09b710e1d4..d40652c5fb 100644 --- a/addons/atragmx/functions/fnc_store_user_data.sqf +++ b/addons/atragmx/functions/fnc_store_user_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Saves user data into profileNamespace diff --git a/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf b/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf index 69be94dd8f..b34dd666f2 100644 --- a/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf +++ b/addons/atragmx/functions/fnc_target_speed_assist_timer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows and starts the target speed assist timer diff --git a/addons/atragmx/functions/fnc_toggle_atmo_env_data.sqf b/addons/atragmx/functions/fnc_toggle_atmo_env_data.sqf index 6f2fc11e27..a7ce8ad93c 100644 --- a/addons/atragmx/functions/fnc_toggle_atmo_env_data.sqf +++ b/addons/atragmx/functions/fnc_toggle_atmo_env_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the atmospheric data screen on/off diff --git a/addons/atragmx/functions/fnc_toggle_c1_ballistic_coefficient_data.sqf b/addons/atragmx/functions/fnc_toggle_c1_ballistic_coefficient_data.sqf index 088658b747..bb581ad6ea 100644 --- a/addons/atragmx/functions/fnc_toggle_c1_ballistic_coefficient_data.sqf +++ b/addons/atragmx/functions/fnc_toggle_c1_ballistic_coefficient_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the c1 ballistic coefficient data screen on/off diff --git a/addons/atragmx/functions/fnc_toggle_coriolis.sqf b/addons/atragmx/functions/fnc_toggle_coriolis.sqf index aad845ce35..2e5e9fc06e 100644 --- a/addons/atragmx/functions/fnc_toggle_coriolis.sqf +++ b/addons/atragmx/functions/fnc_toggle_coriolis.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the coriolis and spin drift output on/off diff --git a/addons/atragmx/functions/fnc_toggle_gun_ammo_data.sqf b/addons/atragmx/functions/fnc_toggle_gun_ammo_data.sqf index 1be813fec6..01b324fc9f 100644 --- a/addons/atragmx/functions/fnc_toggle_gun_ammo_data.sqf +++ b/addons/atragmx/functions/fnc_toggle_gun_ammo_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the gun ammo data screen on/off diff --git a/addons/atragmx/functions/fnc_toggle_gun_list.sqf b/addons/atragmx/functions/fnc_toggle_gun_list.sqf index 291faf98a4..cdd4a631b9 100644 --- a/addons/atragmx/functions/fnc_toggle_gun_list.sqf +++ b/addons/atragmx/functions/fnc_toggle_gun_list.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the gun list screen on/off diff --git a/addons/atragmx/functions/fnc_toggle_muzzle_velocity_data.sqf b/addons/atragmx/functions/fnc_toggle_muzzle_velocity_data.sqf index 64aadc62cb..562ef30553 100644 --- a/addons/atragmx/functions/fnc_toggle_muzzle_velocity_data.sqf +++ b/addons/atragmx/functions/fnc_toggle_muzzle_velocity_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the muzzle velocity data screen on/off diff --git a/addons/atragmx/functions/fnc_toggle_option_menu.sqf b/addons/atragmx/functions/fnc_toggle_option_menu.sqf index c39846f466..5762a5741f 100644 --- a/addons/atragmx/functions/fnc_toggle_option_menu.sqf +++ b/addons/atragmx/functions/fnc_toggle_option_menu.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the option menu on/off diff --git a/addons/atragmx/functions/fnc_toggle_range_card.sqf b/addons/atragmx/functions/fnc_toggle_range_card.sqf index f34b60c146..7a025e1904 100644 --- a/addons/atragmx/functions/fnc_toggle_range_card.sqf +++ b/addons/atragmx/functions/fnc_toggle_range_card.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the range card screen on/off diff --git a/addons/atragmx/functions/fnc_toggle_range_card_setup.sqf b/addons/atragmx/functions/fnc_toggle_range_card_setup.sqf index fb98cfcb0e..5c499b8b82 100644 --- a/addons/atragmx/functions/fnc_toggle_range_card_setup.sqf +++ b/addons/atragmx/functions/fnc_toggle_range_card_setup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the range card setup screen on/off diff --git a/addons/atragmx/functions/fnc_toggle_solution_setup.sqf b/addons/atragmx/functions/fnc_toggle_solution_setup.sqf index 11c3c0f4bc..8d233b204a 100644 --- a/addons/atragmx/functions/fnc_toggle_solution_setup.sqf +++ b/addons/atragmx/functions/fnc_toggle_solution_setup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the solution setup screen on/off diff --git a/addons/atragmx/functions/fnc_toggle_target_data.sqf b/addons/atragmx/functions/fnc_toggle_target_data.sqf index ecfcab2c41..a012a879c1 100644 --- a/addons/atragmx/functions/fnc_toggle_target_data.sqf +++ b/addons/atragmx/functions/fnc_toggle_target_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the target data screen on/off diff --git a/addons/atragmx/functions/fnc_toggle_target_range_assist.sqf b/addons/atragmx/functions/fnc_toggle_target_range_assist.sqf index ac1934ee3e..1e6c485e99 100644 --- a/addons/atragmx/functions/fnc_toggle_target_range_assist.sqf +++ b/addons/atragmx/functions/fnc_toggle_target_range_assist.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the target range assist screen on/off diff --git a/addons/atragmx/functions/fnc_toggle_target_speed_assist.sqf b/addons/atragmx/functions/fnc_toggle_target_speed_assist.sqf index 47d14a32d9..009074105e 100644 --- a/addons/atragmx/functions/fnc_toggle_target_speed_assist.sqf +++ b/addons/atragmx/functions/fnc_toggle_target_speed_assist.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the target speed assist screen on/off diff --git a/addons/atragmx/functions/fnc_toggle_truing_drop.sqf b/addons/atragmx/functions/fnc_toggle_truing_drop.sqf index dbacceb52f..2c61b1776b 100644 --- a/addons/atragmx/functions/fnc_toggle_truing_drop.sqf +++ b/addons/atragmx/functions/fnc_toggle_truing_drop.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Toggles the truing drop screen on/off diff --git a/addons/atragmx/functions/fnc_trim_gun_name.sqf b/addons/atragmx/functions/fnc_trim_gun_name.sqf index 46f20bede6..77fcbdf1ba 100644 --- a/addons/atragmx/functions/fnc_trim_gun_name.sqf +++ b/addons/atragmx/functions/fnc_trim_gun_name.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Trims the gun name input field diff --git a/addons/atragmx/functions/fnc_true_c1_ballistic_coefficient.sqf b/addons/atragmx/functions/fnc_true_c1_ballistic_coefficient.sqf index 8a6046d1d8..84371ca852 100644 --- a/addons/atragmx/functions/fnc_true_c1_ballistic_coefficient.sqf +++ b/addons/atragmx/functions/fnc_true_c1_ballistic_coefficient.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Trues the c1 ballistic coefficient diff --git a/addons/atragmx/functions/fnc_true_muzzle_velocity.sqf b/addons/atragmx/functions/fnc_true_muzzle_velocity.sqf index cee3af2536..f8fb9e621c 100644 --- a/addons/atragmx/functions/fnc_true_muzzle_velocity.sqf +++ b/addons/atragmx/functions/fnc_true_muzzle_velocity.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Trues the muzzle velocity diff --git a/addons/atragmx/functions/fnc_update_atmo_env_data.sqf b/addons/atragmx/functions/fnc_update_atmo_env_data.sqf index 27a1e1510b..340924b5aa 100644 --- a/addons/atragmx/functions/fnc_update_atmo_env_data.sqf +++ b/addons/atragmx/functions/fnc_update_atmo_env_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the atmospheric data fields diff --git a/addons/atragmx/functions/fnc_update_atmo_selection.sqf b/addons/atragmx/functions/fnc_update_atmo_selection.sqf index caa7c206cc..caafe1eed2 100644 --- a/addons/atragmx/functions/fnc_update_atmo_selection.sqf +++ b/addons/atragmx/functions/fnc_update_atmo_selection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the atmospheric data input method diff --git a/addons/atragmx/functions/fnc_update_atmosphere.sqf b/addons/atragmx/functions/fnc_update_atmosphere.sqf index 438dfe04f2..7d52315892 100644 --- a/addons/atragmx/functions/fnc_update_atmosphere.sqf +++ b/addons/atragmx/functions/fnc_update_atmosphere.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates all atmosphere column input fields diff --git a/addons/atragmx/functions/fnc_update_c1_ballistic_coefficient_data.sqf b/addons/atragmx/functions/fnc_update_c1_ballistic_coefficient_data.sqf index a7a20d31df..4c0c6d7175 100644 --- a/addons/atragmx/functions/fnc_update_c1_ballistic_coefficient_data.sqf +++ b/addons/atragmx/functions/fnc_update_c1_ballistic_coefficient_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the c1 ballistic coefficient data fields diff --git a/addons/atragmx/functions/fnc_update_gun.sqf b/addons/atragmx/functions/fnc_update_gun.sqf index 2df4bbe1ee..5a5dab00fa 100644 --- a/addons/atragmx/functions/fnc_update_gun.sqf +++ b/addons/atragmx/functions/fnc_update_gun.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates all gun column input fields diff --git a/addons/atragmx/functions/fnc_update_gun_ammo_data.sqf b/addons/atragmx/functions/fnc_update_gun_ammo_data.sqf index 3a2c1a8106..59bd014973 100644 --- a/addons/atragmx/functions/fnc_update_gun_ammo_data.sqf +++ b/addons/atragmx/functions/fnc_update_gun_ammo_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the gun ammo data fields diff --git a/addons/atragmx/functions/fnc_update_inclination_angle.sqf b/addons/atragmx/functions/fnc_update_inclination_angle.sqf index f0150c1cfe..532b3d94e8 100644 --- a/addons/atragmx/functions/fnc_update_inclination_angle.sqf +++ b/addons/atragmx/functions/fnc_update_inclination_angle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the inclination angle input fields diff --git a/addons/atragmx/functions/fnc_update_muzzle_velocity_data.sqf b/addons/atragmx/functions/fnc_update_muzzle_velocity_data.sqf index 55453ce6e9..23193aa903 100644 --- a/addons/atragmx/functions/fnc_update_muzzle_velocity_data.sqf +++ b/addons/atragmx/functions/fnc_update_muzzle_velocity_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the muzzle velocity data fields diff --git a/addons/atragmx/functions/fnc_update_range_card.sqf b/addons/atragmx/functions/fnc_update_range_card.sqf index 3af37cf3f6..066bd65174 100644 --- a/addons/atragmx/functions/fnc_update_range_card.sqf +++ b/addons/atragmx/functions/fnc_update_range_card.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the range card listbox content diff --git a/addons/atragmx/functions/fnc_update_relative_click_memory.sqf b/addons/atragmx/functions/fnc_update_relative_click_memory.sqf index ae847d6c13..8ef06914ac 100644 --- a/addons/atragmx/functions/fnc_update_relative_click_memory.sqf +++ b/addons/atragmx/functions/fnc_update_relative_click_memory.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the relative click memory diff --git a/addons/atragmx/functions/fnc_update_result.sqf b/addons/atragmx/functions/fnc_update_result.sqf index 21c192549c..4def2f87a6 100644 --- a/addons/atragmx/functions/fnc_update_result.sqf +++ b/addons/atragmx/functions/fnc_update_result.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the result input and output fields diff --git a/addons/atragmx/functions/fnc_update_scope_unit.sqf b/addons/atragmx/functions/fnc_update_scope_unit.sqf index 05f7f85b93..d1f0e9cf17 100644 --- a/addons/atragmx/functions/fnc_update_scope_unit.sqf +++ b/addons/atragmx/functions/fnc_update_scope_unit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the scope unit fields diff --git a/addons/atragmx/functions/fnc_update_solution_setup.sqf b/addons/atragmx/functions/fnc_update_solution_setup.sqf index 37ea36c069..0c8353cfcb 100644 --- a/addons/atragmx/functions/fnc_update_solution_setup.sqf +++ b/addons/atragmx/functions/fnc_update_solution_setup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates all solution setup input fields diff --git a/addons/atragmx/functions/fnc_update_target.sqf b/addons/atragmx/functions/fnc_update_target.sqf index 72e6e1f208..a87ba9ba54 100644 --- a/addons/atragmx/functions/fnc_update_target.sqf +++ b/addons/atragmx/functions/fnc_update_target.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates all target column input fields diff --git a/addons/atragmx/functions/fnc_update_target_data.sqf b/addons/atragmx/functions/fnc_update_target_data.sqf index a93dc1347f..92b5df50a0 100644 --- a/addons/atragmx/functions/fnc_update_target_data.sqf +++ b/addons/atragmx/functions/fnc_update_target_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates all target column input fields diff --git a/addons/atragmx/functions/fnc_update_target_selection.sqf b/addons/atragmx/functions/fnc_update_target_selection.sqf index 55f39c80fe..e45d6ef8a2 100644 --- a/addons/atragmx/functions/fnc_update_target_selection.sqf +++ b/addons/atragmx/functions/fnc_update_target_selection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates all input fields based on the currently selected target diff --git a/addons/atragmx/functions/fnc_update_truing_drop_data.sqf b/addons/atragmx/functions/fnc_update_truing_drop_data.sqf index d331523432..ad0f0dda0e 100644 --- a/addons/atragmx/functions/fnc_update_truing_drop_data.sqf +++ b/addons/atragmx/functions/fnc_update_truing_drop_data.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the truing drop data fields diff --git a/addons/atragmx/functions/fnc_update_truing_drop_selection.sqf b/addons/atragmx/functions/fnc_update_truing_drop_selection.sqf index f2fffd8fe3..461b4ccf9b 100644 --- a/addons/atragmx/functions/fnc_update_truing_drop_selection.sqf +++ b/addons/atragmx/functions/fnc_update_truing_drop_selection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the truing drop input method diff --git a/addons/atragmx/functions/fnc_update_unit_selection.sqf b/addons/atragmx/functions/fnc_update_unit_selection.sqf index ab3edb9256..ce735e773c 100644 --- a/addons/atragmx/functions/fnc_update_unit_selection.sqf +++ b/addons/atragmx/functions/fnc_update_unit_selection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates all input fields based on the currently selected unit diff --git a/addons/atragmx/functions/fnc_update_zero_range.sqf b/addons/atragmx/functions/fnc_update_zero_range.sqf index 4de6370591..023a5a7ee2 100644 --- a/addons/atragmx/functions/fnc_update_zero_range.sqf +++ b/addons/atragmx/functions/fnc_update_zero_range.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the scope base angle based on the zero range input diff --git a/addons/atragmx/functions/script_component.hpp b/addons/atragmx/functions/script_component.hpp deleted file mode 100644 index 7178dcf6f2..0000000000 --- a/addons/atragmx/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\atragmx\script_component.hpp" diff --git a/addons/attach/CfgVehicles.hpp b/addons/attach/CfgVehicles.hpp index 189853dcf9..7d5c611f2c 100644 --- a/addons/attach/CfgVehicles.hpp +++ b/addons/attach/CfgVehicles.hpp @@ -13,7 +13,7 @@ class GVAR(DetachVehicle) { \ displayName = CSTRING(Detach); \ condition = QUOTE(_this call FUNC(canDetach)); \ - statement = QUOTE(_this call FUNC(detach) ); \ + statement = QUOTE(_this call FUNC(detach)); \ exceptions[] = {"isNotSwimming"}; \ showDisabled = 0; \ icon = QPATHTOF(UI\detach_ca.paa); \ diff --git a/addons/attach/GUI_VirtualAmmo.hpp b/addons/attach/GUI_VirtualAmmo.hpp index c05e0e62a5..d70573fba2 100644 --- a/addons/attach/GUI_VirtualAmmo.hpp +++ b/addons/attach/GUI_VirtualAmmo.hpp @@ -5,7 +5,7 @@ class RscTitles { duration = 9999999; fadein = 0; fadeout = 0; - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(virtualAmmoDisplay), _this select 0)]); + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(virtualAmmoDisplay),_this select 0)]); class controls {}; class objects { class TheObject { diff --git a/addons/attach/functions/fnc_attach.sqf b/addons/attach/functions/fnc_attach.sqf index a6f091a689..6a0c408271 100644 --- a/addons/attach/functions/fnc_attach.sqf +++ b/addons/attach/functions/fnc_attach.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: eRazeri, esteldunedain, PabstMirror * Attach an item to the unit @@ -26,10 +26,12 @@ if ((_itemClassname == "") || {(!_silentScripted) && {!(_this call FUNC(canAttac private _itemVehClass = getText (configFile >> "CfgWeapons" >> _itemClassname >> "ACE_Attachable"); private _onAttachText = getText (configFile >> "CfgWeapons" >> _itemClassname >> "displayName"); +private _itemModelOrientation = getArray (configFile >> "CfgWeapons" >> _itemClassname >> QGVAR(orientation)); if (_itemVehClass == "") then { _itemVehClass = getText (configFile >> "CfgMagazines" >> _itemClassname >> "ACE_Attachable"); _onAttachText = getText (configFile >> "CfgMagazines" >> _itemClassname >> "displayName"); + _itemModelOrientation = getArray (configFile >> "CfgWeapons" >> _itemClassname >> QGVAR(orientation)); }; if (_itemVehClass == "") exitWith {ERROR("no ACE_Attachable for Item");}; @@ -68,7 +70,7 @@ if (_unit == _attachToVehicle) then { //Self Attachment [{ params ["_args","_idPFH"]; - _args params ["_unit","_attachToVehicle","_itemClassname","_itemVehClass","_onAttachText","_actionID"]; + _args params ["_unit","_attachToVehicle","_itemClassname","_itemVehClass","_onAttachText","_actionID", "_itemModelOrientation"]; private _virtualPosASL = (eyePos _unit) vectorAdd (positionCameraToWorld [0,0,0.6]) vectorDiff (positionCameraToWorld [0,0,0]); if (cameraView == "EXTERNAL") then { @@ -95,7 +97,7 @@ if (_unit == _attachToVehicle) then { //Self Attachment (QGVAR(virtualAmmo) call BIS_fnc_rscLayer) cutText ["", "PLAIN"]; if (GVAR(placeAction) == PLACE_APPROVE) then { - [_unit, _attachToVehicle, _itemClassname, _itemVehClass, _onAttachText, _virtualPos] call FUNC(placeApprove); + [_unit, _attachToVehicle, _itemClassname, _itemVehClass, _onAttachText, _virtualPos, _itemModelOrientation] call FUNC(placeApprove); }; } else { //Show the virtual object: @@ -112,9 +114,13 @@ if (_unit == _attachToVehicle) then { //Self Attachment ((uiNamespace getVariable [QGVAR(virtualAmmoDisplay), displayNull]) displayCtrl 800851) ctrlSetPosition _screenPos; private _dir = (positionCameraToWorld [0,0,1]) vectorFromTo (positionCameraToWorld [0,0,0]); private _angle = asin (_dir select 2); - private _up = [0, cos _angle, sin _angle]; - ((uiNamespace getVariable [QGVAR(virtualAmmoDisplay), displayNull]) displayCtrl 800851) ctrlSetModelDirAndUp [[1,0,0], _up]; + + // Tranform yaw/roll angle to vector, defaults are pre-#9623 behavior + _itemModelOrientation params [["_roll", 0], ["_yaw", 90]]; + private _dirAndUp = [[[0,1,0], [0,0,1]], _yaw, 0, _roll] call BIS_fnc_transformVectorDirAndUp; + private _dirAndUp = [_dirAndUp, 0, _angle, 0] call BIS_fnc_transformVectorDirAndUp; + ((uiNamespace getVariable [QGVAR(virtualAmmoDisplay), displayNull]) displayCtrl 800851) ctrlSetModelDirAndUp _dirAndUp; }; }; - }, 0, [_unit, _attachToVehicle, _itemClassname, _itemVehClass, _onAttachText, _actionID]] call CBA_fnc_addPerFrameHandler; + }, 0, [_unit, _attachToVehicle, _itemClassname, _itemVehClass, _onAttachText, _actionID, _itemModelOrientation]] call CBA_fnc_addPerFrameHandler; }; diff --git a/addons/attach/functions/fnc_canAttach.sqf b/addons/attach/functions/fnc_canAttach.sqf index 00e7b34e8a..a9277155d9 100644 --- a/addons/attach/functions/fnc_canAttach.sqf +++ b/addons/attach/functions/fnc_canAttach.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if a unit can attach a specific item. diff --git a/addons/attach/functions/fnc_canDetach.sqf b/addons/attach/functions/fnc_canDetach.sqf index 8ff4ef3249..7202ba410f 100644 --- a/addons/attach/functions/fnc_canDetach.sqf +++ b/addons/attach/functions/fnc_canDetach.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if a unit has an item attached and if it can remove that item. diff --git a/addons/attach/functions/fnc_detach.sqf b/addons/attach/functions/fnc_detach.sqf index 8c7a817891..2ae30f5663 100644 --- a/addons/attach/functions/fnc_detach.sqf +++ b/addons/attach/functions/fnc_detach.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: eRazeri and esteldunedain * Detach an item from a unit diff --git a/addons/attach/functions/fnc_getChildrenActions.sqf b/addons/attach/functions/fnc_getChildrenActions.sqf index 22b4c28892..e64d2847f6 100644 --- a/addons/attach/functions/fnc_getChildrenActions.sqf +++ b/addons/attach/functions/fnc_getChildrenActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth de Wet (LH), PabstMirror, mharis001 * Returns children actions for attachable items. diff --git a/addons/attach/functions/fnc_handleGetIn.sqf b/addons/attach/functions/fnc_handleGetIn.sqf index 418c62ebfe..16afd0dd63 100644 --- a/addons/attach/functions/fnc_handleGetIn.sqf +++ b/addons/attach/functions/fnc_handleGetIn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles when a unit gets in to a vehicle. diff --git a/addons/attach/functions/fnc_handleGetOut.sqf b/addons/attach/functions/fnc_handleGetOut.sqf index 4e1dac1e89..b81fa93cfa 100644 --- a/addons/attach/functions/fnc_handleGetOut.sqf +++ b/addons/attach/functions/fnc_handleGetOut.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles when a unit gets in to a vehicle. diff --git a/addons/attach/functions/fnc_handleKilled.sqf b/addons/attach/functions/fnc_handleKilled.sqf index fb62cc90d6..ef08aff305 100644 --- a/addons/attach/functions/fnc_handleKilled.sqf +++ b/addons/attach/functions/fnc_handleKilled.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles when vehicle or man is killed. diff --git a/addons/attach/functions/fnc_placeApprove.sqf b/addons/attach/functions/fnc_placeApprove.sqf index 0e9595efd6..2f0c4d6b75 100644 --- a/addons/attach/functions/fnc_placeApprove.sqf +++ b/addons/attach/functions/fnc_placeApprove.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Pabst Mirror (based on Explosive attach by Garth de Wet (LH)) * Approves placement of the lightObject, scans for an appropriate location and attaches @@ -15,17 +15,18 @@ * 3: Light Vehicle Classname * 4: On Attach Text * 5: Starting Pos of dummy item + * 5: Orientation of model * * Return Value: * None * * Example: - * No + * None * * Public: No */ -params ["_unit", "_attachToVehicle", "_itemClassname", "_itemVehClass", "_onAttachText", "_startingPosition"]; +params ["_unit", "_attachToVehicle", "_itemClassname", "_itemVehClass", "_onAttachText", "_startingPosition", "_itemModelOrientation"]; TRACE_6("params",_unit,_attachToVehicle,_itemClassname,_itemVehClass,_onAttachText,_startingPosition); private _startingOffset = _attachToVehicle worldToModel _startingPosition; @@ -93,6 +94,19 @@ _endPosTestOffset set [2, (_startingOffset select 2)]; private _attachedObject = _itemVehClass createVehicle (getPos _unit); _attachedObject attachTo [_attachToVehicle, _endPosTestOffset]; +// Get wanted orientation if any is set +_itemModelOrientation params [["_roll", 0], ["_yaw", 90]]; +private _dirAndUp = [[[0,1,0],[0,0,1]], -_yaw, 0, _roll] call BIS_fnc_transformVectorDirAndUp; + +// Transform dir and up vector from player model to world, then to model-space of _attachToVehicle +private _dir = _unit vectorModelToWorldVisual _dirAndUp#0; +_dir = _attachToVehicle vectorWorldToModelVisual _dir; + +private _up = _unit vectorModelToWorldVisual _dirAndUp#1; +_up = _attachToVehicle vectorWorldToModelVisual _up; + +_attachedObject setVectorDirAndUp [_dir, _up]; + //Remove Item from inventory _unit removeItem _itemClassname; diff --git a/addons/attach/functions/script_component.hpp b/addons/attach/functions/script_component.hpp deleted file mode 100644 index cbc2a0f3b9..0000000000 --- a/addons/attach/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\attach\script_component.hpp" diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index f7c01c5f61..9c25607693 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -132,7 +132,7 @@ Chemlight hozzácsatolva Химсвет прикреплён ケミライトを取り付けました - 켐라이트 부착됨 + 화학조명 부착됨 已附掛螢光棒 已附挂荧光棒 Işık Çubuğu Bağlandı @@ -149,7 +149,7 @@ Chemlight hozzácsatolva Химсвет отсоединён ケミライトを外しました - 켐라이트 떼어냄 + 화학조명 떼어냄 已取下螢光棒 已取下荧光棒 Işık Çubuğu Söküldü diff --git a/addons/backpacks/XEH_postInit.sqf b/addons/backpacks/XEH_postInit.sqf index de5ffa4bee..3066524386 100644 --- a/addons/backpacks/XEH_postInit.sqf +++ b/addons/backpacks/XEH_postInit.sqf @@ -1,3 +1,3 @@ #include "script_component.hpp" -["ace_backpackOpened", {_this call FUNC(backpackOpened)}] call CBA_fnc_addEventHandler; +["ace_backpackOpened", LINKFUNC(backpackOpened)] call CBA_fnc_addEventHandler; diff --git a/addons/backpacks/functions/fnc_backpackOpened.sqf b/addons/backpacks/functions/fnc_backpackOpened.sqf index 50ab9891cc..9b64450e38 100644 --- a/addons/backpacks/functions/fnc_backpackOpened.sqf +++ b/addons/backpacks/functions/fnc_backpackOpened.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Someone opened your backpack. Play sound and camshake. Execute locally. diff --git a/addons/backpacks/functions/fnc_isBackpack.sqf b/addons/backpacks/functions/fnc_isBackpack.sqf index e57b9c4ed1..3d2e10d057 100644 --- a/addons/backpacks/functions/fnc_isBackpack.sqf +++ b/addons/backpacks/functions/fnc_isBackpack.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if the given backpack is an actual backpack that can store items. Parachute, static weapon packs, etc. will return false. @@ -17,10 +17,10 @@ params [["_backpack", objNull, [objNull, ""]]]; -private _config = if (_backpack isEqualType objNull) then { - configOf _backpack -} else { - configFile >> "CfgVehicles" >> _backpack +if (_backpack isEqualType objNull) exitWith { + maxLoad _backpack > 0 && {getText (configOf _backpack >> "vehicleClass") == "backpacks"} }; +private _config = configFile >> "CfgVehicles" >> _backpack; + getText (_config >> "vehicleClass") == "backpacks" && {getNumber (_config >> "maximumLoad") > 0} // return diff --git a/addons/backpacks/functions/fnc_onOpenInventory.sqf b/addons/backpacks/functions/fnc_onOpenInventory.sqf index bfb380efe2..6d72a40b66 100644 --- a/addons/backpacks/functions/fnc_onOpenInventory.sqf +++ b/addons/backpacks/functions/fnc_onOpenInventory.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle the open inventory event. Camshake and sound on target client. diff --git a/addons/backpacks/functions/script_component.hpp b/addons/backpacks/functions/script_component.hpp deleted file mode 100644 index 747400a571..0000000000 --- a/addons/backpacks/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\backpacks\script_component.hpp" diff --git a/addons/ballistics/ACE_Arsenal_Stats.hpp b/addons/ballistics/ACE_Arsenal_Stats.hpp index c3a1de2bce..52efa9702b 100644 --- a/addons/ballistics/ACE_Arsenal_Stats.hpp +++ b/addons/ballistics/ACE_Arsenal_Stats.hpp @@ -6,7 +6,7 @@ class EGVAR(arsenal,stats) { stats[] = {"ACE_barrelTwist"}; displayName= CSTRING(statBarrelTwist); showText = 1; - textStatement = QUOTE(params [ARR_2('_stat', '_config')]; private _barrelTwist = getNumber (_config >> _stat select 0); format [ARR_3('%1mm (%2in)',_barrelTwist toFixed 0, (_barrelTwist / 25.4) toFixed 1)]); + textStatement = QUOTE(params [ARR_2('_stat','_config')]; private _barrelTwist = getNumber (_config >> _stat select 0); format [ARR_3('%1mm (%2in)',_barrelTwist toFixed 0,(_barrelTwist / 25.4) toFixed 1)]); tabs[] = {{0,1}, {}}; }; class ACE_barrelLength: statBase { @@ -15,7 +15,7 @@ class EGVAR(arsenal,stats) { stats[] = {"ACE_barrelLength"}; displayName = CSTRING(statBarrelLength); showText = 1; - textStatement = QUOTE(params [ARR_2('_stat', '_config')]; private _barrelLength = getNumber (_config >> _stat select 0); format [ARR_3('%1mm (%2in)',_barrelLength toFixed 0, (_barrelLength / 25.4) toFixed 1)]); + textStatement = QUOTE(params [ARR_2('_stat','_config')]; private _barrelLength = getNumber (_config >> _stat select 0); format [ARR_3('%1mm (%2in)',_barrelLength toFixed 0,(_barrelLength / 25.4) toFixed 1)]); tabs[] = {{0,1}, {}}; }; class ACE_ammo: statBase { @@ -25,7 +25,7 @@ class EGVAR(arsenal,stats) { displayName = "$STR_dn_ammo"; showText = 1; condition = QUOTE(getText (_this select 1 >> _this select 0 select 0) isNotEqualTo ''); - textStatement = QUOTE(params [ARR_2('_stat', '_config')]; private _ammoDisplayName = getText (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo')) >> _stat select 1); [ARR_2(_ammoDisplayName, getText (_config >> _stat select 0))] select (_ammoDisplayName == '')); + textStatement = QUOTE(params [ARR_2('_stat','_config')]; private _ammoDisplayName = getText (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo')) >> _stat select 1); [ARR_2(_ammoDisplayName,getText (_config >> _stat select 0))] select (_ammoDisplayName == '')); tabs[] = {{}, {4}}; }; class ACE_ballisticCoef: statBase { @@ -34,8 +34,8 @@ class EGVAR(arsenal,stats) { stats[] = {"ACE_dragModel","ACE_ballisticCoefficients", "ACE_standardAtmosphere"}; displayName= CSTRING(statBallisticCoef); showText= 1; - textStatement = QUOTE(params[ARR_2('_stat', '_config')]; private _ammoCfg = (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo'))); private _ballisticCoef = getArray (_ammoCfg >> _stat select 1); _ballisticCoef sort false; format [ARR_4('%1 G%2 (%3)', _ballisticCoef select 0 ,getNumber (_ammoCfg >> _stat select 0), getText (_ammoCfg >> _stat select 2))]); - condition = QUOTE(params[ARR_2('_stat', '_config')]; private _ammoCfg = (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo'))); (getArray (_ammoCfg >> _stat select 1) isNotEqualTo [])); + textStatement = QUOTE(params[ARR_2('_stat','_config')]; private _ammoCfg = (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo'))); private _ballisticCoef = getArray (_ammoCfg >> _stat select 1); _ballisticCoef sort false; format [ARR_4('%1 G%2 (%3)',_ballisticCoef select 0,getNumber (_ammoCfg >> _stat select 0),getText (_ammoCfg >> _stat select 2))]); + condition = QUOTE(params[ARR_2('_stat','_config')]; private _ammoCfg = (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo'))); (getArray (_ammoCfg >> _stat select 1) isNotEqualTo [])); tabs[] ={{}, {4}}; }; class ACE_bulletMass: statBase { @@ -44,8 +44,8 @@ class EGVAR(arsenal,stats) { stats[] = {"ACE_bulletMass"}; displayName = CSTRING(statBulletMass); showText = 1; - textStatement = QUOTE(params[ARR_2('_stat', '_config')]; private _ammoWeight = getNumber (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo')) >> _stat select 0); format [ARR_3('%1g (%2gr)', _ammoWeight toFixed 1, (_ammoWeight * 15.43) toFixed 1)]); - condition = QUOTE(params[ARR_2('_stat', '_config')]; getNumber (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo')) >> _stat select 0) > 0); + textStatement = QUOTE(params[ARR_2('_stat','_config')]; private _ammoWeight = getNumber (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo')) >> _stat select 0); format [ARR_3('%1g (%2gr)',_ammoWeight toFixed 1,(_ammoWeight * 15.43) toFixed 1)]); + condition = QUOTE(params[ARR_2('_stat','_config')]; getNumber (configFile >> 'CfgAmmo' >> (getText (_config >> 'ammo')) >> _stat select 0) > 0); tabs[] = {{}, {4}}; }; class ACE_magMuzzleVelocity: statBase { @@ -54,7 +54,7 @@ class EGVAR(arsenal,stats) { stats[] = {"initSpeed", "ammo"}; displayName= CSTRING(statMuzzleVelocity); showText= 1; - textStatement = QUOTE([ARR_2(_this select 0, _this select 1)] call FUNC(statTextStatement_magazineMuzzleVelocity)); + textStatement = QUOTE([ARR_2(_this select 0,_this select 1)] call FUNC(statTextStatement_magazineMuzzleVelocity)); condition = QUOTE(getText (_this select 1 >> _this select 0 select 1) isNotEqualTo '' && {getNumber (_this select 1 >> (_this select 0) select 0) > 0}); tabs[] = {{}, {4}}; }; @@ -64,7 +64,7 @@ class EGVAR(arsenal,stats) { stats[] = {"initSpeed"}; displayName= CSTRING(statMuzzleVelocity); showText = 1; - textStatement = QUOTE([ARR_2(_this select 0, _this select 1)] call FUNC(statTextStatement_weaponMuzzleVelocity)); + textStatement = QUOTE([ARR_2(_this select 0,_this select 1)] call FUNC(statTextStatement_weaponMuzzleVelocity)); tabs[] = {{0,1}, {}}; }; class ACE_magazineAiUsage: statBase { @@ -74,7 +74,7 @@ class EGVAR(arsenal,stats) { displayName= CSTRING(ammoUsage_ai); showText= 1; textStatement = QUOTE(call FUNC(statTextStatement_magazineAiUsage)); - condition = QUOTE(is3DEN || {!isNull getAssignedCuratorLogic player} || {missionNamespace getVariable [ARR_2(QQGVAR(showAIMagazineUse), missionName == 'Arsenal')]}); + condition = QUOTE(is3DEN || {!isNull getAssignedCuratorLogic player} || {missionNamespace getVariable [ARR_2(QQGVAR(showAIMagazineUse),missionName == 'Arsenal')]}); tabs[] = {{}, {4}}; }; }; diff --git a/addons/ballistics/functions/fnc_statTextStatement_magazineAiUsage.sqf b/addons/ballistics/functions/fnc_statTextStatement_magazineAiUsage.sqf index fa3e602440..c7017f648b 100644 --- a/addons/ballistics/functions/fnc_statTextStatement_magazineAiUsage.sqf +++ b/addons/ballistics/functions/fnc_statTextStatement_magazineAiUsage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Text statement for the magazine's AI Usage. diff --git a/addons/ballistics/functions/fnc_statTextStatement_magazineMuzzleVelocity.sqf b/addons/ballistics/functions/fnc_statTextStatement_magazineMuzzleVelocity.sqf index 73f671343a..04e9f4d327 100644 --- a/addons/ballistics/functions/fnc_statTextStatement_magazineMuzzleVelocity.sqf +++ b/addons/ballistics/functions/fnc_statTextStatement_magazineMuzzleVelocity.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe * Text statement for the magazine ammo muzzle velocity stat. @@ -13,36 +13,43 @@ * Public: No */ -params ["", "_config"]; +params ["", "_configMagazine"]; if (EGVAR(arsenal,currentLeftPanel) == 2002) then { private _primaryMag = primaryWeaponMagazine EGVAR(arsenal,center); - - [primaryWeapon EGVAR(arsenal,center), configName _config] + [primaryWeapon EGVAR(arsenal,center), _primaryMag param [0, ""]] } else { private _primaryMag = handgunMagazine EGVAR(arsenal,center); - - [handgunWeapon EGVAR(arsenal,center), configName _config] + [handgunWeapon EGVAR(arsenal,center), _primaryMag param [0, ""]] } params ["_weapon", "_magazine"]; -if (_magazine isEqualTo "") then { - localize "str_empty"; -} else { - private _weaponCfg = configFile >> "CfgWeapons" >> _weapon; - private _ammoCfg = (configFile >> "CfgAmmo" >> (getText (configFile >> "CfgMagazines" >> _magazine >> "ammo"))); - private _barrelLength = getNumber (_weaponCfg >> "ACE_barrelLength"); - private _muzzleVelocityTable = getArray (_ammoCfg >> "ACE_muzzleVelocities"); - private _barrelLengthTable = getArray (_ammoCfg >> "ACE_barrelLengths"); +// we might be looking at random mags not related to our weapon +private _magIsForCurrentWeapon = (configName _configMagazine == _magazine) && {_weapon != ""}; +private _configWeapon = configNull; - if (_barrelLength != 0 && {count _muzzleVelocityTable > 0} && {count _barrelLengthTable > 0}) then { - private _muzzleVelocity = if (["ace_advanced_ballistics"] call EFUNC(common,isModLoaded)) then { - [_barrelLength, _muzzleVelocityTable, _barrelLengthTable, 0] call EFUNC(advanced_ballistics,calculateBarrelLengthVelocityShift); - } else { - getNumber (_config >> "initSpeed") - }; +private _muzzleVelocity = getNumber (_configMagazine >> "initSpeed"); +private _initSpeedCoef = 0; +if (_magIsForCurrentWeapon) then { + _configWeapon = configFile >> "CfgWeapons" >> _weapon; + _initSpeedCoef = getNumber (_configWeapon >> "initSpeed"); +}; +if (_initSpeedCoef < 0) then { + _muzzleVelocity = _muzzleVelocity * -_initSpeedCoef; +}; +if (_initSpeedCoef > 0) then { + _muzzleVelocity = _initSpeedCoef; +}; - format ["%1 m/s (%2 ft/s)", _muzzleVelocity toFixed 0, (_muzzleVelocity * 3.28084) toFixed 0] - } else { - localize "str_empty"; +private _abAdjustText = ""; +if (_magIsForCurrentWeapon && {["ace_advanced_ballistics"] call EFUNC(common,isModLoaded)}) then { + private _configAmmo = (configFile >> "CfgAmmo" >> (getText (_configMagazine >> "ammo"))); + private _barrelLength = getNumber (_configWeapon >> "ACE_barrelLength"); + private _muzzleVelocityTable = getArray (_configAmmo >> "ACE_muzzleVelocities"); + private _barrelLengthTable = getArray (_configAmmo >> "ACE_barrelLengths"); + private _abShift = [_barrelLength, _muzzleVelocityTable, _barrelLengthTable, 0] call EFUNC(advanced_ballistics,calculateBarrelLengthVelocityShift); + if (_abShift != 0) then { + _abAdjustText = " [AB]", + _muzzleVelocity = _abShift; }; }; +format ["%1 m/s (%2 ft/s)%3", _muzzleVelocity toFixed 0, (_muzzleVelocity * 3.28084) toFixed 0, _abAdjustText] diff --git a/addons/ballistics/functions/fnc_statTextStatement_weaponMuzzleVelocity.sqf b/addons/ballistics/functions/fnc_statTextStatement_weaponMuzzleVelocity.sqf index 227af9158d..4f6bdd0412 100644 --- a/addons/ballistics/functions/fnc_statTextStatement_weaponMuzzleVelocity.sqf +++ b/addons/ballistics/functions/fnc_statTextStatement_weaponMuzzleVelocity.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Alganthe * Text statement for the weapon muzzle velocity stat. @@ -13,35 +13,40 @@ * Public: No */ -params ["", "_config"]; +params ["", "_configWeapon"]; if (EGVAR(arsenal,currentLeftPanel) == 2002) then { private _primaryMag = primaryWeaponMagazine EGVAR(arsenal,center); - [primaryWeapon EGVAR(arsenal,center), _primaryMag param [0, ""]] } else { private _primaryMag = handgunMagazine EGVAR(arsenal,center); - [handgunWeapon EGVAR(arsenal,center), _primaryMag param [0, ""]] } params ["_weapon", "_magazine"]; if (_magazine isEqualTo "") then { localize "str_empty"; } else { - private _ammoCfg = (configFile >> "CfgAmmo" >> (getText (configFile >> "CfgMagazines" >> _magazine >> "ammo"))); - private _barrelLength = getNumber (_config >> "ACE_barrelLength"); - private _muzzleVelocityTable = getArray (_ammoCfg >> "ACE_muzzleVelocities"); - private _barrelLengthTable = getArray (_ammoCfg >> "ACE_barrelLengths"); - - if (_barrelLength != 0 && {count _muzzleVelocityTable > 0} && {count _barrelLengthTable > 0}) then { - private _muzzleVelocity = if (["ace_advanced_ballistics"] call EFUNC(common,isModLoaded)) then { - [_barrelLength, _muzzleVelocityTable, _barrelLengthTable, 0] call EFUNC(advanced_ballistics,calculateBarrelLengthVelocityShift); - } else { - getNumber (configFile >> "CfgMagazines" >> _magazine >> "initSpeed") - }; - - format ["%1 m/s (%2 ft/s)", _muzzleVelocity toFixed 0, (_muzzleVelocity * 3.28084) toFixed 0] - } else { - localize "str_empty"; + private _configMagazine = configFile >> "CfgMagazines" >> _magazine; + private _muzzleVelocity = getNumber (_configMagazine >> "initSpeed"); + private _initSpeedCoef = getNumber (_configWeapon >> "initSpeed"); + if (_initSpeedCoef < 0) then { + _muzzleVelocity = _muzzleVelocity * -_initSpeedCoef; }; + if (_initSpeedCoef > 0) then { + _muzzleVelocity = _initSpeedCoef; + }; + + private _abAdjustText = ""; + if (["ace_advanced_ballistics"] call EFUNC(common,isModLoaded)) then { + private _configAmmo = (configFile >> "CfgAmmo" >> (getText (_configMagazine >> "ammo"))); + private _barrelLength = getNumber (_configWeapon >> "ACE_barrelLength"); + private _muzzleVelocityTable = getArray (_configAmmo >> "ACE_muzzleVelocities"); + private _barrelLengthTable = getArray (_configAmmo >> "ACE_barrelLengths"); + private _abShift = [_barrelLength, _muzzleVelocityTable, _barrelLengthTable, 0] call EFUNC(advanced_ballistics,calculateBarrelLengthVelocityShift); + if (_abShift != 0) then { + _abAdjustText = " [AB]", + _muzzleVelocity = _abShift; + }; + }; + format ["%1 m/s (%2 ft/s)%3", _muzzleVelocity toFixed 0, (_muzzleVelocity * 3.28084) toFixed 0, _abAdjustText] }; diff --git a/addons/ballistics/functions/script_component.hpp b/addons/ballistics/functions/script_component.hpp deleted file mode 100644 index a257e3d384..0000000000 --- a/addons/ballistics/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\ballistics\script_component.hpp" diff --git a/addons/ballistics/scripts/initTargetWall.sqf b/addons/ballistics/scripts/initTargetWall.sqf index 7f9578f09a..7297e6ba17 100644 --- a/addons/ballistics/scripts/initTargetWall.sqf +++ b/addons/ballistics/scripts/initTargetWall.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "script_component.hpp" +#include "..\script_component.hpp" params ["_wall"]; diff --git a/addons/ballistics/scripts/script_component.hpp b/addons/ballistics/scripts/script_component.hpp deleted file mode 100644 index a257e3d384..0000000000 --- a/addons/ballistics/scripts/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\ballistics\script_component.hpp" diff --git a/addons/ballistics/stringtable.xml b/addons/ballistics/stringtable.xml index a961037093..c9b62b9ba4 100644 --- a/addons/ballistics/stringtable.xml +++ b/addons/ballistics/stringtable.xml @@ -13,7 +13,7 @@ Chevrotine #00 #00 Broky velké #00 Śrut - #00 Chumbo + #00 Chumbo Grosso #00 Irisaçma #00 Картечь #00 벅샷 @@ -29,7 +29,7 @@ Chevrotine #00 #00 Broky velké - kalibr 8.38 mm #00 Śrut - #00 Chumbo + #00 Chumbo Grosso #00 Irisaçma #00 Картечь #00 벅샷 @@ -45,7 +45,7 @@ Chevrotine #0 #0 Broky velké #0 Śrut - #0 Chumbo + #0 Chumbo Grosso #0 Irisaçma #0 Картечь #0 벅샷 @@ -61,7 +61,7 @@ Chevrotine #0 #0 Broky velké - kalibr 8.1 mm #0 Śrut - #0 Chumbo + #0 Chumbo Grosso #0 Irisaçma #0 Картечь #0 벅샷 @@ -77,7 +77,7 @@ Chevrotine #1 #1 Broky velké #1 Śrut - #1 Chumbo + #1 Chumbo Grosso #1 Irisaçma #1 Картечь #1 벅샷 @@ -93,7 +93,7 @@ Chevrotine #1 #1 Broky velké - kalibr 7.6 mm #1 Śrut - #1 Chumbo + #1 Chumbo Grosso #1 Irisaçma #1 Картечь #1 벅샷 @@ -109,7 +109,7 @@ Chevrotine #2 #2 Broky velké #2 Śrut - #2 Chumbo + #2 Chumbo Grosso #2 Irisaçma #2 Картечь #2 벅샷 @@ -125,7 +125,7 @@ Chevrotine #2 #2 Broky velké - kalibr 6.9 mm #2 Śrut - #2 Chumbo + #2 Chumbo Grosso #2 Irisaçma #2 Картечь #2 벅샷 @@ -141,7 +141,7 @@ Chevrotine #3 #3 Broky velké #3 Śrut - #3 Chumbo + #3 Chumbo Grosso #3 Irisaçma #3 Картечь #3 벅샷 @@ -157,7 +157,7 @@ Chevrotine #3 #3 Broky velké - kalibr 6.4 mm #3 Śrut - #3 Chumbo + #3 Chumbo Grosso #3 Irisaçma #3 Картечь #3 벅샷 @@ -173,7 +173,7 @@ Chevrotine #4 #4 Broky velké #4 Śrut - #4 Chumbo + #4 Chumbo Grosso #4 Irisaçma #4 Картечь #4 벅샷 @@ -189,7 +189,7 @@ Chevrotine #4 #4 Broky velké - kalibr 6.1 mm #4 Śrut - #4 Chumbo + #4 Chumbo Grosso #4 Irisaçma #4 Картечь #4 벅샷 @@ -208,6 +208,7 @@ #4 Küçük saçma #4 Дробь #4 버드샷 + #4 Chumbo Fino #4 Birdshot @@ -223,6 +224,7 @@ #4 Küçük saçma #4 Дробь #4 버드샷 + #4 Chumbo Fino 12 Gauge 2Rnd #00 Buckshot @@ -235,7 +237,7 @@ 2 balles cal. 12 Chevrotine #00 2x #00 Broky velké (kalibr 8.38 mm) 12 Gauge 2 naboje #00 Śrut - Chumbo #00 Calibre Doze 2 Tiros + Chumbo Grosso #00 Calibre Doze 2 Tiros 12 Калибр 2 патр. #00 Картечь 12 kalibre 2 mermi #00 İrisaçma 12 게이지 2발 #00 벅샷 @@ -251,7 +253,7 @@ 2 balles cal. 12 Chevrotine #0 2x #0 Broky velké (kalibr 8.1 mm) 12 Gauge 2 naboje #0 Śrut - Chumbo #0 Calibre Doze 2 Tiros + Chumbo Grosso #0 Calibre Doze 2 Tiros 12 Калибр 2 патр. #0 Картечь 12 kalibre 2 mermi #0 İrisaçma 12 게이지 2발 #00 벅샷 @@ -267,7 +269,7 @@ 2 balles cal. 12 Chevrotine #1 2x #1 Broky velké (kalibr 7.6 mm) 12 Gauge 2 naboje #1 Śrut - Chumbo #1 Calibre Doze 2 Tiros + Chumbo Grosso #1 Calibre Doze 2 Tiros 12 Калибр 2 патр. #1 Картечь 12 kalibre 2 mermi #1 İrisaçma 12 게이지 2발 #1 벅샷 @@ -283,7 +285,7 @@ 2 balles cal. 12 Chevrotine #2 2x #2 Broky velké (kalibr 6.9 mm) 12 Gauge 2 naboje #2 Śrut - Chumbo #2 Calibre Doze 2 Tiros + Chumbo Grosso #2 Calibre Doze 2 Tiros 12 Калибр 2 патр. #2 Картечь 12 kalibre 2 mermi #2 İrisaçma 12 게이지 2발 #2 벅샷 @@ -299,7 +301,7 @@ 2 balles cal. 12 Chevrotine #3 2x #3 Broky velké (kalibr 6.4 mm) 12 Gauge 2 naboje #3 Śrut - Chumbo #3 Calibre Doze 2 Tiros + Chumbo Grosso #3 Calibre Doze 2 Tiros 12 Калибр 2 патр. #3 Картечь 12 kalibre 2 mermi #3 İrisaçma 12 게이지 2발 #3 벅샷 @@ -315,7 +317,7 @@ 2 balles cal. 12 Chevrotine #4 2x #4 Broky velké (kalibr 6.1 mm) 12 Gauge 2 naboje #4 Śrut - Chumbo #4 Calibre Doze 2 Tiros + Chumbo Grosso #4 Calibre Doze 2 Tiros 12 Калибр 2 патр. #4 Картечь 12 kalibre 2 mermi #4 İrisaçma 12 게이지 2발 #4 벅샷 @@ -331,7 +333,7 @@ 2 balles cal. 12 Grenaille No.4 2x #4 Broky malé (kalibr 3.3 mm) 12 Gauge 2 naboje #4 Śrut - Chumbo #4 Calibre Doze 2 Tiros + Chumbo Fino #4 Calibre Doze 2 Tiros 12 Калибр 2 патр. #4 Дробь 12 kalibre 2 mermi #4 İrisaçma 12 게이지 2발 #4 버드샷 @@ -347,7 +349,7 @@ 6 balles cal. 12 Chevrotine #00 6x #00 Broky velké (kalibr 8.38 mm) 12 Gauge 6 naboi #00 Śrut - Chumbo #00 Calibre Doze 6 Tiros + Chumbo Grosso #00 Calibre Doze 6 Tiros 12 Калибр 6 патр. #00 Картечь 12 kalibre 6 mermi #00 İrisaçma 12 게이지 6발 #00 벅샷 @@ -363,7 +365,7 @@ 6 balles cal. 12 Chevrotine #0 6x #0 Broky velké (kalibr 8.1 mm) 12 Gauge 6 naboi #0 Śrut - Chumbo #0 Calibre Doze 6 Tiros + Chumbo Grosso #0 Calibre Doze 6 Tiros 12 Калибр 6 патр. #0 Картечь 12 kalibre 6 mermi #0 İrisaçma 12 게이지 6발 #0 벅샷 @@ -379,7 +381,7 @@ 6 balles cal. 12 Chevrotine #1 6x #1 Broky velké (kalibr 7.6 mm) 12 Gauge 6 naboi #1 Śrut - Chumbo #1 Calibre Doze 6 Tiros + Chumbo Grosso #1 Calibre Doze 6 Tiros 12 Калибр 6 патр. #1 Картечь 12 kalibre 6 mermi #1 İrisaçma 12 게이지 6발 #1 벅샷 @@ -395,7 +397,7 @@ 6 balles cal. 12 Chevrotine #2 6x #2 Broky velké (kalibr 6.9 mm) 12 Gauge 6 naboi #2 Śrut - Chumbo #2 Calibre Doze 6 Tiros + Chumbo Grosso #2 Calibre Doze 6 Tiros 12 Калибр 6 патр. #2 Картечь 12 kalibre 6 mermi #2 İrisaçma 12 게이지 6발 #2 벅샷 @@ -411,7 +413,7 @@ 6 balles cal. 12 Chevrotine #3 6x #3 Broky velké (kalibr 6.4 mm) 12 Gauge 6 naboi #3 Śrut - Chumbo #3 Calibre Doze 6 Tiros + Chumbo Grosso #3 Calibre Doze 6 Tiros 12 Калибр 6 патр. #3 Картечь 12 kalibre 6 mermi #3 İrisaçma 12 게이지 6발 #3 벅샷 @@ -427,7 +429,7 @@ 6 balles cal. 12 Chevrotine #4 6x #4 Broky velké (kalibr 6.1 mm) 12 Gauge 6 naboi #4 Śrut - Chumbo #4 Calibre Doze 6 Tiros + Chumbo Grosso #4 Calibre Doze 6 Tiros 12 Калибр 6 патр. #4 Картечь 12 kalibre 6 mermi #4 İrisaçma 12 게이지 6발 #4 벅샷 @@ -446,6 +448,7 @@ 12 Калибр 6 патр. #4 Дробь 12 kalibre 6 mermi #4 İrisaçma 12 게이지 6발 #4 버드샷 + Chumbo Fino #4 Calibre Doze 6 Tiros 12 Gauge 15Rnd #00 Buckshot @@ -458,7 +461,7 @@ 15 balles cal. 12 Chevrotine #00 15x #00 Broky velké (kalibr 8.38 mm) 12 Gauge 15 naboi #00 Śrut - Chumbo #00 Calibre Doze 15 Tiros + Chumbo Grosso #00 Calibre Doze 15 Tiros 12 Калибр 15 патр. #00 Картечь 12 kalibre 15 mermi #00 İrisaçma 12 게이지 15발 #00 벅샷 @@ -1707,7 +1710,7 @@ Carregador de 16 cartuchos 9x19 mm 9x19 mm 16-lövedékes tár 9x19 mm 16発入り 弾倉 - 16발들이 9x19mm 탄창 + 17발들이 9x19mm 탄창 9x19毫米 16發 彈匣 9x19 mm 16发 弹匣 9x19 mm 16Rnd Mag @@ -2827,6 +2830,7 @@ 6.5x47mm 30발 사막 탄창 (HPBT Scenar) Магазин из 30-ти 6.5x47 мм Песочный (HPBT Scenar) Cargador de 30 balas de 6.5x47mm Arena (HPBT Scenar) + Carregador 6.5x47 mm com 30 cartuchos Areia (HPBT Scenar) 6.5x47 mm 30Rnd Promet Mag (HPBT Scenar) @@ -2838,6 +2842,7 @@ 6.5x47mm 30발 그롯 탄창 (HPBT Scenar) Магазин из 30-ти 6.5x47 мм Promet (HPBT Scenar) Cargador de 30 balas de 6.5x47mm Promet (HPBT Scenar) + Carregador 6.5x47 mm com 30 cartuchos Promet (HPBT Scenar) 6.5x47 mm 30Rnd Black Mag (HPBT Scenar) @@ -2849,6 +2854,7 @@ 6.5x47mm 30발 검정 탄창 (HPBT Scenar) Магазин из 30-ти 6.5x47 мм Чёрный (HPBT Scenar) Cargador de 30 balas de 6.5x47mm Negro (HPBT Scenar) + Carregador 6.5x47 mm com 30 cartuchos Preto (HPBT Scenar) 6.5x47 mm 30Rnd Khaki Mag (HPBT Scenar) @@ -2860,6 +2866,7 @@ 6.5x47mm 30발 카키 탄창 (HPBT Scenar) Магазин из 30-ти 6.5x47 мм Хаки (HPBT Scenar) Cargador de 30 balas de 6.5x47mm Caqui (HPBT Scenar) + Carregador 6.5x47 mm com 30 cartuchos Caqui (HPBT Scenar) 6.5 mm Lapua @@ -2922,6 +2929,7 @@ 6.5mm 크리드무어 30발 사막 탄창 Магазин из 30-ти 6.5 мм Creedmor Песочный Cargador de 30 balas de 6.5mm Creedmor Arena + Carregador 6.5 mm com 30 cartuchos Creedmor Areia 6.5 mm Creedmor 30Rnd Promet Mag @@ -2933,6 +2941,7 @@ 6.5mm 크리드무어 30발 프로멧 탄창 Магазин из 30-ти 6.5 мм Creedmor Promet Cargador de 30 balas de 6.5mm Creedmor Promet + Carregador 6.5 mm com 30 cartuchos Creedmor Promet 6.5 mm Creedmor 30Rnd Black Mag @@ -2944,6 +2953,7 @@ 6.5mm 크리드무어 30발 검정 탄창 Магазин из 30-ти 6.5 мм Creedmor Чёрный Cargador de 30 balas de 6.5mm Creedmor Negro + Carregador 6.5 mm com 30 cartuchos Creedmor Preto 6.5 mm Creedmor 30Rnd Khaki Mag @@ -2955,6 +2965,7 @@ 6.5mm 크리드무어 30발 카키 탄창 Магазин из 30-ти 6.5 мм Creedmor Хаки Cargador de 30 balas de 6.5mm Creedmor Caqui + Carregador 6.5 mm com 30 cartuchos Creedmor Caqui 6.5 mm CM @@ -3514,30 +3525,65 @@ AI Usage AIの使用 + Wykorzystanie przez AI + KI Verwendet + 인공지능 사용 + Utilisation de l'IA + Utilização por IA Illum 照明弾 + Flary + Leuchtmittel + 조명탄 + Fusées éclairantes + Sinalizadoras Smoke 発煙弾 + Granaty dymne + Rauch + 연막탄 + Fumigènes + Fumígenas Inf 歩兵 + Piechota + Infanterie + 보병 + Infanterie + Infantaria Veh 車両 + Pojazdy + Fahrzeug + 차량 + Véhicule + Veículo Armor 機甲 + Pojazdy opancerzone + Panzerung + 기갑 + Blindage + Blindagem Air 航空 + Lotnictwo + Luft + 항공 + Aviation + Aeronaves diff --git a/addons/captives/CfgGlasses.hpp b/addons/captives/CfgGlasses.hpp new file mode 100644 index 0000000000..5bebfb830c --- /dev/null +++ b/addons/captives/CfgGlasses.hpp @@ -0,0 +1,6 @@ +class CfgGlasses { + class None; + class G_Blindfold_01_base_F: None { + GVAR(blindfold) = 1; + }; +}; diff --git a/addons/captives/CfgVehicles.hpp b/addons/captives/CfgVehicles.hpp index 8fe0596338..ca1194e614 100644 --- a/addons/captives/CfgVehicles.hpp +++ b/addons/captives/CfgVehicles.hpp @@ -6,8 +6,8 @@ class CfgVehicles { displayName = CSTRING(SetCaptive); selection = "righthand"; distance = HANDCUFFS_DISTANCE; - condition = QUOTE([ARR_2(_player, _target)] call FUNC(canApplyHandcuffs)); - statement = QUOTE([ARR_2(_player, _target)] call FUNC(doApplyHandcuffs)); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canApplyHandcuffs)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(doApplyHandcuffs)); exceptions[] = {"isNotSwimming", "isNotInside"}; icon = QPATHTOF(UI\handcuff_ca.paa); }; @@ -17,16 +17,16 @@ class CfgVehicles { displayName = CSTRING(ReleaseCaptive); selection = "righthand"; distance = HANDCUFFS_DISTANCE; - condition = QUOTE([ARR_2(_player, _target)] call FUNC(canRemoveHandcuffs)); - statement = QUOTE([ARR_2(_player, _target)] call FUNC(doRemoveHandcuffs)); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canRemoveHandcuffs)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(doRemoveHandcuffs)); exceptions[] = {"isNotSwimming", "isNotInside"}; icon = QPATHTOF(UI\handcuff_ca.paa); }; class ACE_EscortCaptive { displayName = CSTRING(EscortCaptive); distance = 4; - condition = QUOTE([ARR_2(_player, _target)] call FUNC(canEscortCaptive)); - statement = QUOTE([ARR_3(_player, _target, true)] call FUNC(doEscortCaptive)); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canEscortCaptive)); + statement = QUOTE([ARR_3(_player,_target,true)] call FUNC(doEscortCaptive)); exceptions[] = {"isNotSwimming"}; showDisabled = 0; icon = QPATHTOF(UI\captive_ca.paa); @@ -34,8 +34,8 @@ class CfgVehicles { class ACE_StopEscorting { displayName = CSTRING(StopEscorting); distance = 4; - condition = QUOTE([ARR_2(_player, _target)] call FUNC(canStopEscorting)); - statement = QUOTE([ARR_3(_player,_target, false)] call FUNC(doEscortCaptive)); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canStopEscorting)); + statement = QUOTE([ARR_3(_player,_target,false)] call FUNC(doEscortCaptive)); exceptions[] = {"isNotEscorting", "isNotSwimming"}; showDisabled = 0; icon = QPATHTOF(UI\captive_ca.paa); @@ -43,8 +43,8 @@ class CfgVehicles { class ACE_LoadCaptive { displayName = CSTRING(LoadCaptive); distance = 4; - condition = QUOTE([ARR_3(_player, _target, objNull)] call FUNC(canLoadCaptive)); - statement = QUOTE([ARR_3(_player, _target, objNull)] call FUNC(doLoadCaptive)); + condition = QUOTE([ARR_3(_player,_target,objNull)] call FUNC(canLoadCaptive)); + statement = QUOTE([ARR_3(_player,_target,objNull)] call FUNC(doLoadCaptive)); exceptions[] = {"isNotEscorting", "isNotSwimming"}; showDisabled = 0; icon = QPATHTOF(UI\captive_ca.paa); @@ -53,33 +53,49 @@ class CfgVehicles { class GVAR(UnloadCaptive) { displayName = CSTRING(UnloadCaptive); distance = 4; - condition = QUOTE([ARR_2(_player, _target)] call FUNC(canUnloadCaptive)); - statement = QUOTE([ARR_2(_player, _target)] call FUNC(doUnloadCaptive)); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canUnloadCaptive)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(doUnloadCaptive)); exceptions[] = {"isNotSwimming"}; }; + class GVAR(BlindfoldCaptive) { + displayName = CSTRING(BlindfoldCaptive); + distance = 4; + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canBlindfoldCaptive)); + statement = QUOTE([ARR_3(_player,_target,true)] call FUNC(doBlindfoldCaptive)); + exceptions[] = {"isNotSwimming"}; + showDisabled = 0; + }; + class GVAR(RemoveBlindfoldCaptive) { + displayName = CSTRING(RemoveBlindfoldCaptive); + distance = 4; + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canRemoveBlindfoldCaptive)); + statement = QUOTE([ARR_3(_player,_target,false)] call FUNC(doBlindfoldCaptive)); + exceptions[] = {"isNotSwimming"}; + showDisabled = 0; + }; }; }; class ACE_SelfActions { class ACE_StopEscortingSelf { displayName = CSTRING(StopEscorting); - condition = QUOTE([ARR_2(_player, objNull)] call FUNC(canStopEscorting)); - statement = QUOTE([ARR_3(_player,objNull, false)] call FUNC(doEscortCaptive)); + condition = QUOTE([ARR_2(_player,objNull)] call FUNC(canStopEscorting)); + statement = QUOTE([ARR_3(_player,objNull,false)] call FUNC(doEscortCaptive)); exceptions[] = {"isNotEscorting", "isNotSwimming"}; showDisabled = 0; }; class ACE_StartSurrenderingSelf { displayName = CSTRING(StartSurrendering); - condition = QUOTE([ARR_2(_player, true)] call FUNC(canSurrender)); - statement = QUOTE([ARR_2(_player, true)] call FUNC(setSurrendered)); + condition = QUOTE([ARR_2(_player,true)] call FUNC(canSurrender)); + statement = QUOTE([ARR_2(_player,true)] call FUNC(setSurrendered)); exceptions[] = {"isNotSwimming"}; showDisabled = 0; icon = QPATHTOF(UI\Surrender_ca.paa); }; class ACE_StopSurrenderingSelf { displayName = CSTRING(StopSurrendering); - condition = QUOTE([ARR_2(_player, false)] call FUNC(canSurrender)); - statement = QUOTE([ARR_2(_player, false)] call FUNC(setSurrendered)); + condition = QUOTE([ARR_2(_player,false)] call FUNC(canSurrender)); + statement = QUOTE([ARR_2(_player,false)] call FUNC(setSurrendered)); exceptions[] = {"isNotSurrendering", "isNotSwimming"}; showDisabled = 0; icon = QPATHTOF(UI\Surrender_ca.paa); @@ -93,8 +109,8 @@ class CfgVehicles { class GVAR(LoadCaptive) { \ displayName = CSTRING(LoadCaptive); \ distance = 4; \ - condition = QUOTE([ARR_3(_player, objNull, _target)] call FUNC(canLoadCaptive)); \ - statement = QUOTE([ARR_3(_player, objNull, _target)] call FUNC(doLoadCaptive)); \ + condition = QUOTE([ARR_3(_player,objNull,_target)] call FUNC(canLoadCaptive)); \ + statement = QUOTE([ARR_3(_player,objNull,_target)] call FUNC(doLoadCaptive)); \ exceptions[] = {"isNotEscorting", "isNotSwimming"}; \ }; \ }; \ diff --git a/addons/captives/CfgWeapons.hpp b/addons/captives/CfgWeapons.hpp index 23c7d0c2ce..ce3c989ee5 100644 --- a/addons/captives/CfgWeapons.hpp +++ b/addons/captives/CfgWeapons.hpp @@ -11,7 +11,7 @@ class CfgWeapons { picture = QPATHTOF(UI\ace_cabletie_ca.paa); scope = 2; class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 1; + mass = 0.3; }; }; }; diff --git a/addons/captives/XEH_PREP.hpp b/addons/captives/XEH_PREP.hpp index 6157a1e33e..9769fe7855 100644 --- a/addons/captives/XEH_PREP.hpp +++ b/addons/captives/XEH_PREP.hpp @@ -1,12 +1,15 @@ PREP(addLoadCaptiveActions); PREP(canApplyHandcuffs); +PREP(canBlindfoldCaptive); PREP(canEscortCaptive); PREP(canLoadCaptive); +PREP(canRemoveBlindfoldCaptive); PREP(canRemoveHandcuffs); PREP(canStopEscorting); PREP(canSurrender); PREP(canUnloadCaptive); PREP(doApplyHandcuffs); +PREP(doBlindfoldCaptive); PREP(doEscortCaptive); PREP(doLoadCaptive); PREP(doRemoveHandcuffs); diff --git a/addons/captives/XEH_preInit.sqf b/addons/captives/XEH_preInit.sqf index 8ec915e4f2..09ea454f03 100644 --- a/addons/captives/XEH_preInit.sqf +++ b/addons/captives/XEH_preInit.sqf @@ -8,7 +8,8 @@ PREP_RECOMPILE_END; GVAR(captivityEnabled) = false; -GVAR(restraints) = call (uiNamespace getVariable QGVAR(restraints)); +GVAR(restraints) = keys (uiNamespace getVariable QGVAR(restraints)); +GVAR(blindfolds) = keys (uiNamespace getVariable QGVAR(blindfolds)); #include "initSettings.sqf" diff --git a/addons/captives/XEH_preStart.sqf b/addons/captives/XEH_preStart.sqf index 75cbb90ef9..f1101979c6 100644 --- a/addons/captives/XEH_preStart.sqf +++ b/addons/captives/XEH_preStart.sqf @@ -3,4 +3,7 @@ #include "XEH_PREP.hpp" private _restraints = (QUOTE(getNumber (_x >> QQGVAR(restraint)) > 0) configClasses (configFile >> "CfgWeapons") apply {configName _x}); -uiNamespace setVariable [QGVAR(restraints), compileFinal str _restraints]; +uiNamespace setVariable [QGVAR(restraints), compileFinal (_restraints createHashMapFromArray [])]; + +private _blindfolds = (QUOTE(getNumber (_x >> QQGVAR(blindfold)) > 0) configClasses (configFile >> "CfgGlasses") apply {configName _x}); +uiNamespace setVariable [QGVAR(blindfolds), compileFinal (_blindfolds createHashMapFromArray [])]; diff --git a/addons/captives/config.cpp b/addons/captives/config.cpp index 0b8dae014a..c28a88559d 100644 --- a/addons/captives/config.cpp +++ b/addons/captives/config.cpp @@ -16,6 +16,7 @@ class CfgPatches { #include "ACE_Settings.hpp" #include "CfgEventHandlers.hpp" +#include "CfgGlasses.hpp" #include "CfgMoves.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" diff --git a/addons/captives/functions/fnc_addLoadCaptiveActions.sqf b/addons/captives/functions/fnc_addLoadCaptiveActions.sqf index 279ca0924e..d3f771be8d 100644 --- a/addons/captives/functions/fnc_addLoadCaptiveActions.sqf +++ b/addons/captives/functions/fnc_addLoadCaptiveActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Adds child actions to the "load captive" action for near vehicles. diff --git a/addons/captives/functions/fnc_canApplyHandcuffs.sqf b/addons/captives/functions/fnc_canApplyHandcuffs.sqf index 5c97606f2e..9d91e2f517 100644 --- a/addons/captives/functions/fnc_canApplyHandcuffs.sqf +++ b/addons/captives/functions/fnc_canApplyHandcuffs.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Checks the conditions for being able to apply handcuffs diff --git a/addons/captives/functions/fnc_canBlindfoldCaptive.sqf b/addons/captives/functions/fnc_canBlindfoldCaptive.sqf new file mode 100644 index 0000000000..7020b1a9a6 --- /dev/null +++ b/addons/captives/functions/fnc_canBlindfoldCaptive.sqf @@ -0,0 +1,26 @@ +#include "..\script_component.hpp" +/* + * Author: mrschick + * Checks if caller can blindfold the captive. + * + * Arguments: + * 0: Caller (player) + * 1: Target + * + * Return Value: + * Can blindfold + * + * Example: + * [player, cursorTarget] call ace_captives_fnc_canBlindfoldCaptive + * + * Public: No + */ + +params ["_unit", "_target"]; +// Alive, handcuffed, not being escorted, caller has a blindfold in their inventory and target isn't already wearing a blindfold + +(_target getVariable [QGVAR(isHandcuffed), false]) && +{isNull (attachedTo _target)} && +{alive _target} && +{(GVAR(blindfolds) findAny (_unit call EFUNC(common,uniqueItems))) != -1} && +{!((goggles _target) in GVAR(blindfolds))} diff --git a/addons/captives/functions/fnc_canEscortCaptive.sqf b/addons/captives/functions/fnc_canEscortCaptive.sqf index cb5fdd4972..f39ff2ac5f 100644 --- a/addons/captives/functions/fnc_canEscortCaptive.sqf +++ b/addons/captives/functions/fnc_canEscortCaptive.sqf @@ -1,14 +1,14 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Tests if can escort target (attach) * * Arguments: - * 0: caller (player) - * 1: target + * 0: Caller (player) + * 1: Target * * Return Value: - * The return value + * Can escort * * Example: * [player, bob] call ACE_captives_fnc_canEscortCaptive @@ -17,7 +17,7 @@ */ params ["_unit", "_target"]; -//Alive, handcuffed, not being escored, and not unconscious +// Alive, handcuffed, not being escorted, and not unconscious (_target getVariable [QGVAR(isHandcuffed), false]) && {isNull (attachedTo _target)} && diff --git a/addons/captives/functions/fnc_canLoadCaptive.sqf b/addons/captives/functions/fnc_canLoadCaptive.sqf index b1757884b7..982e4025a2 100644 --- a/addons/captives/functions/fnc_canLoadCaptive.sqf +++ b/addons/captives/functions/fnc_canLoadCaptive.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if the unit can load the target object into a vehicle. diff --git a/addons/captives/functions/fnc_canRemoveBlindfoldCaptive.sqf b/addons/captives/functions/fnc_canRemoveBlindfoldCaptive.sqf new file mode 100644 index 0000000000..b01f62e26c --- /dev/null +++ b/addons/captives/functions/fnc_canRemoveBlindfoldCaptive.sqf @@ -0,0 +1,25 @@ +#include "..\script_component.hpp" +/* + * Author: johnb43 + * Checks if caller can remove blindfold from the captive. + * + * Arguments: + * 0: Caller (player) + * 1: Target + * + * Return Value: + * Can remove blindfold + * + * Example: + * [player, cursorTarget] call ace_captives_fnc_canRemoveBlindfoldCaptive + * + * Public: No + */ + +params ["_unit", "_target"]; +// Alive, handcuffed, not being escorted, and target is wearing a blindfold + +(_target getVariable [QGVAR(isHandcuffed), false]) && +{isNull (attachedTo _target)} && +{alive _target} && +{(goggles _target) in GVAR(blindfolds)} diff --git a/addons/captives/functions/fnc_canRemoveHandcuffs.sqf b/addons/captives/functions/fnc_canRemoveHandcuffs.sqf index 37dc156bf0..0ff4ab0f5d 100644 --- a/addons/captives/functions/fnc_canRemoveHandcuffs.sqf +++ b/addons/captives/functions/fnc_canRemoveHandcuffs.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Checks the conditions for being able to remove handcuffs diff --git a/addons/captives/functions/fnc_canStopEscorting.sqf b/addons/captives/functions/fnc_canStopEscorting.sqf index 01010c8f97..7519904abd 100644 --- a/addons/captives/functions/fnc_canStopEscorting.sqf +++ b/addons/captives/functions/fnc_canStopEscorting.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Tests if player can stop escorting. diff --git a/addons/captives/functions/fnc_canSurrender.sqf b/addons/captives/functions/fnc_canSurrender.sqf index bec8edca04..80e1d26fb5 100644 --- a/addons/captives/functions/fnc_canSurrender.sqf +++ b/addons/captives/functions/fnc_canSurrender.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Checks the conditions for being able switch surrender states diff --git a/addons/captives/functions/fnc_canUnloadCaptive.sqf b/addons/captives/functions/fnc_canUnloadCaptive.sqf index 3c5b302529..58899f088d 100644 --- a/addons/captives/functions/fnc_canUnloadCaptive.sqf +++ b/addons/captives/functions/fnc_canUnloadCaptive.sqf @@ -1,6 +1,6 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* - * Author: commy2 + * Author: commy2, LinkIsGrim * Check if the unit can unload a captive from the vehicle. * * Arguments: @@ -19,4 +19,6 @@ params ["_player", "_unit"]; // Don't show "Unload Captive" if unit is unconscious (already has "Unload Patient") -(vehicle _unit != _unit) && {vehicle _player == _player} && {_unit getVariable [QGVAR(isHandcuffed), false]} && {!(_unit getVariable ["ACE_isUnconscious", false])} +!isNull objectParent _unit && +{_unit getVariable [QGVAR(isHandcuffed), false]} && +{lifeState _unit in ["HEALTHY", "INJURED"]} diff --git a/addons/captives/functions/fnc_doApplyHandcuffs.sqf b/addons/captives/functions/fnc_doApplyHandcuffs.sqf index 76ae4c1b32..c6a9be8e2a 100644 --- a/addons/captives/functions/fnc_doApplyHandcuffs.sqf +++ b/addons/captives/functions/fnc_doApplyHandcuffs.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Checks the conditions for being able to apply handcuffs diff --git a/addons/captives/functions/fnc_doBlindfoldCaptive.sqf b/addons/captives/functions/fnc_doBlindfoldCaptive.sqf new file mode 100644 index 0000000000..e4463909e6 --- /dev/null +++ b/addons/captives/functions/fnc_doBlindfoldCaptive.sqf @@ -0,0 +1,83 @@ +#include "..\script_component.hpp" +/* + * Author: mrschick, johnb43 + * Puts a blindfold on a captive unit if the player has a blindfold in their inventory. + * + * Arguments: + * 0: Unit + * 1: Target + * 2: Put on (true) or take off (false) + * + * Return Value: + * None + * + * Example: + * [player, cursorTarget, true] call ace_captives_fnc_doBlindfoldCaptive + * + * Public: No + */ + +params ["_unit", "_target", "_state"]; + +private _dropGoggles = false; +private _previousGoggles = ""; + +if (_state) then { // Blindfold target + // Check if _unit has a blindfold in its inventory, abort otherwise. + private _carriedBlindfoldIdx = GVAR(blindfolds) findAny (_unit call EFUNC(common,uniqueItems)); + if (_carriedBlindfoldIdx == -1) exitWith { ERROR("no blindfold"); }; + + private _blindfold = GVAR(blindfolds) select _carriedBlindfoldIdx; + _unit removeItem _blindfold; + + // Remove target's goggles if it is wearing any and move them to unit's or target's inventory (if they can hold them) + _previousGoggles = goggles _target; + if (_previousGoggles != "") then { + if ([_unit, _previousGoggles] call CBA_fnc_canAddItem) exitWith { + removeGoggles _target; + _unit addItem _previousGoggles; + }; + if ([_target, _previousGoggles] call CBA_fnc_canAddItem) exitWith { + removeGoggles _target; + _target addItem _previousGoggles; + }; + // If the target's goggles can fit in neither unit's nor target's inventory, drop them on the ground + _dropGoggles = true; + }; + + _target addGoggles _blindfold; +} else { // Remove blindfold from target + _previousGoggles = goggles _target; + + // Abort if already not wearing a blindfold + if !(_previousGoggles in GVAR(blindfolds)) exitWith { ERROR("no blindfold"); }; + + if ([_unit, _previousGoggles] call CBA_fnc_canAddItem) exitWith { + removeGoggles _target; + _unit addItem _previousGoggles; + }; + if ([_target, _previousGoggles] call CBA_fnc_canAddItem) exitWith { + removeGoggles _target; + _target addItem _previousGoggles; + }; + // If the target's blindfold can fit in neither unit's nor target's inventory, drop it on the ground + _dropGoggles = true; + + removeGoggles _target; +}; + +// Handle for things that need to be dropped to the ground or in a vehicle inventory +if (_dropGoggles) then { + private _weaponHolder = nearestObject [_target, "WeaponHolder"]; + // if _target is in a vehicle, use vehicle inventory as container + private _inVehicle = !isNull objectParent _target; + if (_inVehicle) then { + _weaponHolder = objectParent _target; + }; + + if (!_inVehicle && {isNull _weaponHolder || {_target distance _weaponHolder > 2}}) then { + _weaponHolder = createVehicle ["GroundWeaponHolder", [0, 0, 0], [], 0, "NONE"]; + _weaponHolder setPosASL getPosASL _target; + }; + _weaponHolder addItemCargoGlobal [_previousGoggles, 1]; +}; diff --git a/addons/captives/functions/fnc_doEscortCaptive.sqf b/addons/captives/functions/fnc_doEscortCaptive.sqf index 700a68c42e..1d94b30b87 100644 --- a/addons/captives/functions/fnc_doEscortCaptive.sqf +++ b/addons/captives/functions/fnc_doEscortCaptive.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nic547 * Attaches a Captive to the _unit diff --git a/addons/captives/functions/fnc_doLoadCaptive.sqf b/addons/captives/functions/fnc_doLoadCaptive.sqf index 7740610b6a..34bc46b1f5 100644 --- a/addons/captives/functions/fnc_doLoadCaptive.sqf +++ b/addons/captives/functions/fnc_doLoadCaptive.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Unit loads the target object into a vehicle. (logic same as canLoadCaptive) diff --git a/addons/captives/functions/fnc_doRemoveHandcuffs.sqf b/addons/captives/functions/fnc_doRemoveHandcuffs.sqf index 3e9aac73e6..a9a35cd607 100644 --- a/addons/captives/functions/fnc_doRemoveHandcuffs.sqf +++ b/addons/captives/functions/fnc_doRemoveHandcuffs.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Remove handcuffs from a target diff --git a/addons/captives/functions/fnc_doUnloadCaptive.sqf b/addons/captives/functions/fnc_doUnloadCaptive.sqf index 8f78b7b323..c278e48363 100644 --- a/addons/captives/functions/fnc_doUnloadCaptive.sqf +++ b/addons/captives/functions/fnc_doUnloadCaptive.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Unit unloads a captive from a vehicle. diff --git a/addons/captives/functions/fnc_findEmptyNonFFVCargoSeat.sqf b/addons/captives/functions/fnc_findEmptyNonFFVCargoSeat.sqf index 5ed3cb5871..4341867b29 100644 --- a/addons/captives/functions/fnc_findEmptyNonFFVCargoSeat.sqf +++ b/addons/captives/functions/fnc_findEmptyNonFFVCargoSeat.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Finds a free cargo seat, searching non FFV first diff --git a/addons/captives/functions/fnc_handleAnimChangedHandcuffed.sqf b/addons/captives/functions/fnc_handleAnimChangedHandcuffed.sqf index bdd61f6686..3363ca923e 100644 --- a/addons/captives/functions/fnc_handleAnimChangedHandcuffed.sqf +++ b/addons/captives/functions/fnc_handleAnimChangedHandcuffed.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nic547, commy2 * Restart the handcuffing animation if it got interrupted. Called from a AnimChanged EH. diff --git a/addons/captives/functions/fnc_handleAnimChangedSurrendered.sqf b/addons/captives/functions/fnc_handleAnimChangedSurrendered.sqf index 08d6369ed6..b9164ddbe5 100644 --- a/addons/captives/functions/fnc_handleAnimChangedSurrendered.sqf +++ b/addons/captives/functions/fnc_handleAnimChangedSurrendered.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nic547, commy2 * Restart the surrendering animation if it got interrupted. Called from a AnimChanged EH. diff --git a/addons/captives/functions/fnc_handleGetIn.sqf b/addons/captives/functions/fnc_handleGetIn.sqf index 3fc2db1711..00a090a6bb 100644 --- a/addons/captives/functions/fnc_handleGetIn.sqf +++ b/addons/captives/functions/fnc_handleGetIn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles when a unit gets in to a vehicle. Release escorted captive when entering a vehicle diff --git a/addons/captives/functions/fnc_handleGetOut.sqf b/addons/captives/functions/fnc_handleGetOut.sqf index 7f5de6f330..610ec719f6 100644 --- a/addons/captives/functions/fnc_handleGetOut.sqf +++ b/addons/captives/functions/fnc_handleGetOut.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles when a captive unit gets out of a vehicle. diff --git a/addons/captives/functions/fnc_handleKilled.sqf b/addons/captives/functions/fnc_handleKilled.sqf index 39158ae662..3b8139e9fa 100644 --- a/addons/captives/functions/fnc_handleKilled.sqf +++ b/addons/captives/functions/fnc_handleKilled.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Called when a unit dies. diff --git a/addons/captives/functions/fnc_handleLocal.sqf b/addons/captives/functions/fnc_handleLocal.sqf index be92b1c7dc..e6f9a11e3d 100644 --- a/addons/captives/functions/fnc_handleLocal.sqf +++ b/addons/captives/functions/fnc_handleLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Called when a unit switched locality diff --git a/addons/captives/functions/fnc_handleOnUnconscious.sqf b/addons/captives/functions/fnc_handleOnUnconscious.sqf index 745b651a0d..1527038ce9 100644 --- a/addons/captives/functions/fnc_handleOnUnconscious.sqf +++ b/addons/captives/functions/fnc_handleOnUnconscious.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, PabstMirror * Handles the "ace_unconscious" event diff --git a/addons/captives/functions/fnc_handlePlayerChanged.sqf b/addons/captives/functions/fnc_handlePlayerChanged.sqf index c6adce4f84..bafe93bef9 100644 --- a/addons/captives/functions/fnc_handlePlayerChanged.sqf +++ b/addons/captives/functions/fnc_handlePlayerChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles playerChanged. Resets "showHUD" based on handcuff status @@ -11,7 +11,7 @@ * The return value * * Example: - * [bob1, bob2] call ACE_captives_fnc_handlePlayerChange + * [bob1, bob2] call ACE_captives_fnc_handlePlayerChanged * * Public: No */ diff --git a/addons/captives/functions/fnc_handleRespawn.sqf b/addons/captives/functions/fnc_handleRespawn.sqf index 3643eb4393..1dc6ca7bfa 100644 --- a/addons/captives/functions/fnc_handleRespawn.sqf +++ b/addons/captives/functions/fnc_handleRespawn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 PabstMirror * Fix, because captiveNum doesn't reset properly on respawn diff --git a/addons/captives/functions/fnc_handleUnitInitPost.sqf b/addons/captives/functions/fnc_handleUnitInitPost.sqf index 2f189e2ffb..1045046b2a 100644 --- a/addons/captives/functions/fnc_handleUnitInitPost.sqf +++ b/addons/captives/functions/fnc_handleUnitInitPost.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * handle captive and unconsciousness state and prevent grenades diff --git a/addons/captives/functions/fnc_handleZeusDisplayChanged.sqf b/addons/captives/functions/fnc_handleZeusDisplayChanged.sqf index df78c9773f..9bc5fc18aa 100644 --- a/addons/captives/functions/fnc_handleZeusDisplayChanged.sqf +++ b/addons/captives/functions/fnc_handleZeusDisplayChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles ZeusDisplayChanged event diff --git a/addons/captives/functions/fnc_moduleHandcuffed.sqf b/addons/captives/functions/fnc_moduleHandcuffed.sqf index 1cd50dd4ce..32438643d7 100644 --- a/addons/captives/functions/fnc_moduleHandcuffed.sqf +++ b/addons/captives/functions/fnc_moduleHandcuffed.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Module Function to make a unit handcuffed (can be called from editor) diff --git a/addons/captives/functions/fnc_moduleSettings.sqf b/addons/captives/functions/fnc_moduleSettings.sqf index d31a57a43d..5f44de695c 100644 --- a/addons/captives/functions/fnc_moduleSettings.sqf +++ b/addons/captives/functions/fnc_moduleSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Module for captivity settings diff --git a/addons/captives/functions/fnc_moduleSurrender.sqf b/addons/captives/functions/fnc_moduleSurrender.sqf index ab31ea6bc9..8f59d913d8 100644 --- a/addons/captives/functions/fnc_moduleSurrender.sqf +++ b/addons/captives/functions/fnc_moduleSurrender.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Module Function to make a unit surrender (can be called from editor) diff --git a/addons/captives/functions/fnc_setHandcuffed.sqf b/addons/captives/functions/fnc_setHandcuffed.sqf index c0065438af..c13da8f927 100644 --- a/addons/captives/functions/fnc_setHandcuffed.sqf +++ b/addons/captives/functions/fnc_setHandcuffed.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nic547, commy2 * Handcuffs a unit. diff --git a/addons/captives/functions/fnc_setSurrendered.sqf b/addons/captives/functions/fnc_setSurrendered.sqf index 331a5ab231..393465e08e 100644 --- a/addons/captives/functions/fnc_setSurrendered.sqf +++ b/addons/captives/functions/fnc_setSurrendered.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 PabstMirror * Lets a unit surrender diff --git a/addons/captives/functions/fnc_vehicleCaptiveMoveIn.sqf b/addons/captives/functions/fnc_vehicleCaptiveMoveIn.sqf index 6089625961..95a7f43f84 100644 --- a/addons/captives/functions/fnc_vehicleCaptiveMoveIn.sqf +++ b/addons/captives/functions/fnc_vehicleCaptiveMoveIn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Loads a captive into a vehicle diff --git a/addons/captives/functions/fnc_vehicleCaptiveMoveOut.sqf b/addons/captives/functions/fnc_vehicleCaptiveMoveOut.sqf index f26ff45370..f2c2762f95 100644 --- a/addons/captives/functions/fnc_vehicleCaptiveMoveOut.sqf +++ b/addons/captives/functions/fnc_vehicleCaptiveMoveOut.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Unloads a captive from a vehicle. diff --git a/addons/captives/functions/script_component.hpp b/addons/captives/functions/script_component.hpp deleted file mode 100644 index 7d50228a46..0000000000 --- a/addons/captives/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\captives\script_component.hpp" diff --git a/addons/captives/stringtable.xml b/addons/captives/stringtable.xml index 8c4f85db06..b96dd9b835 100644 --- a/addons/captives/stringtable.xml +++ b/addons/captives/stringtable.xml @@ -62,7 +62,7 @@ Escoltar Prisioneiro Fogoly kísérése Конвоировать пленного - 捕虜を移動させる + 捕虜を移送する 포로 호송하기 護送俘虜 护送俘虏 @@ -79,7 +79,7 @@ Largar Prisioneiro Fogoly elengedése Прекратить конвоирование - 捕虜を解放する + 捕虜を手放す 포로 풀어주기 停止護送俘虜 停止护送俘虏 @@ -96,7 +96,7 @@ Você deve tomá-lo como prisioneiro primeiro! Először foglyul kell ejtened őt! Вы должны сначала арестовать его! - 捕虜を取っている必要があります! + 先に対象を捕虜にする必要があります! 먼저 포로로 만들어야합니다! 你必須先逮捕他! 你必须先俘获他! @@ -136,6 +136,25 @@ 将俘虏带出载具 Tutukluyu indir + + Blindfold Captive + Augen verbinden + Bandeau sur les yeux du captif + Vendar prisioneiro + Benda gli occhi + Załóż opaskę na oczy + 포로 눈 가리기 + 目隠しをする + + + Remove blindfold + Augenbinde entfernen + Enlever bandeau sur les yeux + Rimuovi la benda per gli occhi + Zdejmij opaskę z oczu + 눈가리개 풀기 + 目隠しを外す + Cable Tie Kabelbinder @@ -164,7 +183,7 @@ Fascetta per arrestare i prigionieri Gyorskötöző, emberek foglyulejtéséhez használható. Кабельные стяжки используются для связывания рук при аресте - ケーブル タイは捕虜を制圧できます。 + ケーブル タイによって捕虜を拘束することが出来る。 케이블 타이는 포로를 구류시킬때 씁니다. 束線帶可以綁住俘虜 束线带可以绑住俘虏 diff --git a/addons/cargo/CfgEden.hpp b/addons/cargo/CfgEden.hpp index 4a64dee025..0a4cc7ba1b 100644 --- a/addons/cargo/CfgEden.hpp +++ b/addons/cargo/CfgEden.hpp @@ -9,7 +9,7 @@ class Cfg3DEN { property = QGVAR(customName); control = "Edit"; - expression = QUOTE(_this setVariable [ARR_3(QQGVAR(customName), _value, true)];); + expression = QUOTE(_this setVariable [ARR_3(QQGVAR(customName),_value,true)]); defaultValue = "''"; condition = "objectHasInventoryCargo - objectVehicle"; @@ -21,7 +21,7 @@ class Cfg3DEN { property = QGVAR(space); control = "Edit"; - expression = QUOTE([ARR_2(_this,_value)] call DFUNC(setSpace);); + expression = QUOTE([ARR_2(_this,_value)] call DFUNC(setSpace)); defaultValue = QUOTE(GET_NUMBER(configOf _this >> QQGVAR(space),0)); validate = "number"; @@ -35,7 +35,7 @@ class Cfg3DEN { control = "Edit"; // Expression only runs on the server, must handle actions for all machines and future JIPs (Why BI?!) - expression = QUOTE([ARR_2(_this,_value)] call DFUNC(setSize);); + expression = QUOTE([ARR_2(_this,_value)] call DFUNC(setSize)); defaultValue = QUOTE(GET_NUMBER(configOf _this >> QQGVAR(size),-1)); validate = "number"; diff --git a/addons/cargo/CfgEventHandlers.hpp b/addons/cargo/CfgEventHandlers.hpp index 6c29240403..f6503c2479 100644 --- a/addons/cargo/CfgEventHandlers.hpp +++ b/addons/cargo/CfgEventHandlers.hpp @@ -1,4 +1,3 @@ - class Extended_PreStart_EventHandlers { class ADDON { init = QUOTE(call COMPILE_SCRIPT(XEH_preStart)); diff --git a/addons/cargo/CfgVehicles.hpp b/addons/cargo/CfgVehicles.hpp index 7a47a8a943..485a53d8f5 100644 --- a/addons/cargo/CfgVehicles.hpp +++ b/addons/cargo/CfgVehicles.hpp @@ -75,96 +75,105 @@ class CfgVehicles { GVAR(hasCargo) = 1; }; - // hemets + // HEMTTs - Default at 10, some variants are altered based on model size and/or expected level of free space inside. class Truck_01_base_F: Truck_F { - GVAR(space) = 8; + GVAR(space) = 30; }; class B_Truck_01_transport_F: Truck_01_base_F { - GVAR(space) = 20; + GVAR(space) = 30; }; class B_Truck_01_covered_F: B_Truck_01_transport_F { - GVAR(space) = 20; + GVAR(space) = 30; }; class B_Truck_01_mover_F: B_Truck_01_transport_F { GVAR(space) = 4; }; class B_Truck_01_box_F: B_Truck_01_mover_F { - GVAR(space) = 40; + GVAR(space) = 50; }; class B_Truck_01_Repair_F: B_Truck_01_mover_F { - GVAR(space) = 20; + GVAR(space) = 4; }; class B_Truck_01_ammo_F: B_Truck_01_mover_F { - GVAR(space) = 8; + GVAR(space) = 10; }; class B_Truck_01_fuel_F: B_Truck_01_mover_F { GVAR(space) = 4; }; class B_Truck_01_medical_F: B_Truck_01_transport_F { - GVAR(space) = 8; + GVAR(space) = 30; }; - // kamaz' - class Truck_02_base_F: Truck_F { //covers "covered" variants - GVAR(space) = 20; + // Kamaz' + class Truck_02_base_F: Truck_F { // Covers "transport" variants. + GVAR(space) = 25; }; class Truck_02_transport_base_F: Truck_02_base_F { - GVAR(space) = 20; + GVAR(space) = 25; }; - class Truck_02_box_base_F: Truck_02_base_F { // repair variant, not actually cargo box like hemet - GVAR(space) = 12; + class Truck_02_box_base_F: Truck_02_base_F { // Repair variant, smaller than HEMTT. + GVAR(space) = 4; }; class Truck_02_medical_base_F: Truck_02_box_base_F { - GVAR(space) = 8; + GVAR(space) = 25; }; class Truck_02_Ammo_base_F: Truck_02_base_F { - GVAR(space) = 12; + GVAR(space) = 4; }; class Truck_02_fuel_base_F: Truck_02_base_F { GVAR(space) = 4; }; - // typhoon + // Typhoon - Roughly the same size if not slightly larger than HEMTT. class Truck_03_base_F: Truck_F { GVAR(space) = 8; }; class O_Truck_03_transport_F: Truck_03_base_F { - GVAR(space) = 20; + GVAR(space) = 30; }; class O_Truck_03_covered_F: Truck_03_base_F { - GVAR(space) = 20; + GVAR(space) = 30; }; class O_Truck_03_repair_F: Truck_03_base_F { - GVAR(space) = 12; + GVAR(space) = 4; }; class O_Truck_03_ammo_F: Truck_03_base_F { - GVAR(space) = 8; + GVAR(space) = 4; }; class O_Truck_03_fuel_F: Truck_03_base_F { GVAR(space) = 4; }; class O_Truck_03_medical_F: Truck_03_base_F { - GVAR(space) = 8; + GVAR(space) = 30; }; class O_Truck_03_device_F: Truck_03_base_F { GVAR(space) = 4; }; - // civ trucks + // Civilian Trucks class Van_01_base_F: Truck_F { GVAR(space) = 8; }; class Van_01_transport_base_F: Van_01_base_F { GVAR(space) = 8; }; - class Van_01_box_base_F: Van_01_base_F { // repair variant, not actually cargo box like hemet - GVAR(space) = 12; + class Van_01_box_base_F: Van_01_base_F { + GVAR(space) = 15; }; class Van_01_fuel_base_F: Van_01_base_F { - GVAR(space) = 4; + GVAR(space) = 2; }; - // misc. vehicles + // Laws of War Vans + class Van_02_base_F: Truck_F { // Transport + GVAR(space) = 10; + }; + class Van_02_vehicle_base_F: Van_02_base_F { // Cargo + GVAR(space) = 20; + }; + + + // Misc. vehicles class Quadbike_01_base_F: Car_F { GVAR(space) = 0; GVAR(hasCargo) = 0; @@ -175,7 +184,7 @@ class CfgVehicles { GVAR(hasCargo) = 0; }; - // helicopters + // Helicopters class Air; class Helicopter: Air { GVAR(space) = 8; @@ -194,12 +203,12 @@ class CfgVehicles { }; class Heli_Light_02_base_F: Helicopter_Base_H { - GVAR(space) = 4; + GVAR(space) = 8; }; class Helicopter_Base_F; class Heli_light_03_base_F: Helicopter_Base_F { - GVAR(space) = 4; + GVAR(space) = 6; }; class Heli_Transport_01_base_F: Helicopter_Base_H { @@ -215,7 +224,7 @@ class CfgVehicles { }; class Heli_Transport_04_base_F: Helicopter_Base_H { - // note the double brackets are because loadmasterTurrets is an array of arrays / turret paths + // Note the double brackets are because loadmasterTurrets is an array of arrays / turret paths GVAR(loadmasterTurrets)[] = {{1}}; GVAR(space) = 0; GVAR(hasCargo) = 0; @@ -227,19 +236,19 @@ class CfgVehicles { }; class O_Heli_Transport_04_repair_F: Heli_Transport_04_base_F { - GVAR(space) = 12; + GVAR(space) = 2; GVAR(hasCargo) = 1; }; class O_Heli_Transport_04_ammo_F: Heli_Transport_04_base_F { - GVAR(space) = 8; + GVAR(space) = 2; GVAR(hasCargo) = 1; }; class O_Heli_Transport_04_fuel_F: Heli_Transport_04_base_F {}; class O_Heli_Transport_04_medevac_F: Heli_Transport_04_base_F { - GVAR(space) = 8; + GVAR(space) = 10; GVAR(hasCargo) = 1; }; @@ -252,7 +261,7 @@ class CfgVehicles { GVAR(space) = 4; }; - // planes (off by default as most are attack jets) + // Planes, does not apply to attack jets. class Plane: Air { GVAR(space) = 0; GVAR(hasCargo) = 0; @@ -265,15 +274,15 @@ class CfgVehicles { }; class VTOL_Base_F; class VTOL_01_base_F: VTOL_Base_F { - GVAR(space) = 20; + GVAR(space) = 30; GVAR(hasCargo) = 1; }; class VTOL_02_base_F: VTOL_Base_F { - GVAR(space) = 10; + GVAR(space) = 15; GVAR(hasCargo) = 1; }; - // autonomous + // Drones class UAV_01_base_F: Helicopter_Base_F { GVAR(space) = 0; GVAR(hasCargo) = 0; @@ -287,7 +296,7 @@ class CfgVehicles { GVAR(hasCargo) = 0; }; - // boats + // Boats class Ship; class Ship_F: Ship { GVAR(space) = 4; @@ -295,7 +304,7 @@ class CfgVehicles { }; class Boat_Civil_01_base_F: Ship_F { - GVAR(space) = 4; + GVAR(space) = 2; GVAR(hasCargo) = 1; }; @@ -306,11 +315,11 @@ class CfgVehicles { }; class Boat_Armed_01_base_F: Boat_F { - GVAR(space) = 8; + GVAR(space) = 4; GVAR(hasCargo) = 1; }; - // submarines + // Submarines class SDV_01_base_F: Boat_F { GVAR(space) = 0; GVAR(hasCargo) = 0; @@ -340,10 +349,10 @@ class CfgVehicles { GVAR(size) = 2; // 1 = small, 2 = large GVAR(canLoad) = 1; }; - class Land_RepairDepot_01_base_F: ReammoBox_F { // TanksDLC - Repair Depo Thing (probably too big to safely unload) + class Land_RepairDepot_01_base_F: ReammoBox_F { // Tanks DLC - Repair Depot, too big to safely unload. GVAR(canLoad) = 0; }; - //"Supply Box" - Small Pallets + // "Supply Box" - Small Pallets class B_supplyCrate_F: ReammoBox_F { GVAR(size) = 6; }; @@ -354,12 +363,13 @@ class CfgVehicles { GVAR(size) = 6; }; + // Slingload pallets class Slingload_base_F: ReammoBox_F {}; - class CargoNet_01_base_F: Slingload_base_F { //Slingload pallets + class CargoNet_01_base_F: Slingload_base_F { GVAR(size) = 6; }; - //Huron 20ft containers + // Huron 20ft containers class Slingload_01_Base_F: Slingload_base_F { GVAR(canLoad) = 1; GVAR(size) = 50; // Use same size value from 20ft containers for consistancy @@ -369,15 +379,15 @@ class CfgVehicles { GVAR(hasCargo) = 1; }; class B_Slingload_01_Ammo_F: Slingload_01_Base_F { // Huron Ammo - GVAR(space) = 8; + GVAR(space) = 0; GVAR(hasCargo) = 1; }; class B_Slingload_01_Medevac_F: Slingload_01_Base_F { // Huron Medevac - GVAR(space) = 8; + GVAR(space) = 10; GVAR(hasCargo) = 1; }; class B_Slingload_01_Repair_F: Slingload_01_Base_F { // Huron Repair - GVAR(space) = 12; + GVAR(space) = 0; GVAR(hasCargo) = 1; }; @@ -387,15 +397,15 @@ class CfgVehicles { GVAR(size) = -1; }; class Land_Pod_Heli_Transport_04_ammo_F: Pod_Heli_Transport_04_base_F { - GVAR(space) = 8; + GVAR(space) = 0; GVAR(hasCargo) = 1; }; - class Land_Pod_Heli_Transport_04_box_F: Pod_Heli_Transport_04_base_F { - GVAR(space) = 20; + class Land_Pod_Heli_Transport_04_box_F: Pod_Heli_Transport_04_base_F { // Smaller than Huron Cargo + GVAR(space) = 15; GVAR(hasCargo) = 1; }; class Land_Pod_Heli_Transport_04_repair_F: Pod_Heli_Transport_04_base_F { - GVAR(space) = 12; + GVAR(space) = 0; GVAR(hasCargo) = 1; }; class Pod_Heli_Transport_04_crewed_base_F: StaticWeapon { @@ -411,7 +421,7 @@ class CfgVehicles { GVAR(hasCargo) = 1; }; - //Plastic and metal case + // Plastic and metal case class PlasticCase_01_base_F: Items_base_F { GVAR(size) = 1; // 1 = small, 2 = large GVAR(canLoad) = 1; @@ -441,7 +451,7 @@ class CfgVehicles { GVAR(noRename) = 1; }; - // objects + // Objects class RoadCone_F: ThingX { GVAR(size) = 1; GVAR(canLoad) = 1; diff --git a/addons/cargo/XEH_PREP.hpp b/addons/cargo/XEH_PREP.hpp index 95fefb4ba0..2d77fc90de 100644 --- a/addons/cargo/XEH_PREP.hpp +++ b/addons/cargo/XEH_PREP.hpp @@ -5,7 +5,6 @@ PREP(canUnloadItem); PREP(getCargoSpaceLeft); PREP(getNameItem); PREP(getSizeItem); -PREP(handleDeleted); PREP(handleDestroyed); PREP(initObject); PREP(initVehicle); @@ -21,4 +20,3 @@ PREP(startLoadIn); PREP(startUnload); PREP(unloadCarryItem); PREP(unloadItem); -PREP(validateCargoSpace); diff --git a/addons/cargo/XEH_postInit.sqf b/addons/cargo/XEH_postInit.sqf index 26e25c5686..1848a1e77b 100644 --- a/addons/cargo/XEH_postInit.sqf +++ b/addons/cargo/XEH_postInit.sqf @@ -1,49 +1,33 @@ #include "script_component.hpp" -["ace_addCargo", {_this call FUNC(addCargoItem)}] call CBA_fnc_addEventHandler; -[QGVAR(paradropItem), { - params ["_item", "_vehicle"]; - - private _unloaded = [_item, _vehicle] call FUNC(paradropItem); - - if (_unloaded && {GVAR(openAfterUnload) in [2, 3]}) then { - GVAR(interactionVehicle) = _vehicle; - GVAR(interactionParadrop) = true; - createDialog QGVAR(menu); - }; -}] call CBA_fnc_addEventHandler; +["ace_addCargo", LINKFUNC(addCargoItem)] call CBA_fnc_addEventHandler; ["ace_loadCargo", { params ["_item", "_vehicle"]; TRACE_2("LoadCargo EH",_item,_vehicle); - private _loaded = [_item, _vehicle] call FUNC(loadItem); + private _loaded = [_item, _vehicle] call FUNC(loadItem); // returns true if successful // Show hint as feedback - private _hint = [LSTRING(LoadingFailed), LSTRING(LoadedItem)] select _loaded; + private _hint = [LSTRING(loadingFailed), LSTRING(loadedItem)] select _loaded; private _itemName = [_item, true] call FUNC(getNameItem); private _vehicleName = getText (configOf _vehicle >> "displayName"); - [[_hint, _itemName, _vehicleName], 3.0] call EFUNC(common,displayTextStructured); - - if (_loaded) then { - // Invoke listenable event - ["ace_cargoLoaded", [_item, _vehicle]] call CBA_fnc_globalEvent; - }; + [[_hint, _itemName, _vehicleName], 3] call EFUNC(common,displayTextStructured); }] call CBA_fnc_addEventHandler; ["ace_unloadCargo", { params ["_item", "_vehicle", ["_unloader", objNull]]; TRACE_3("UnloadCargo EH",_item,_vehicle,_unloader); - private _unloaded = [_item, _vehicle, _unloader] call FUNC(unloadItem); //returns true if sucessful + private _unloaded = [_item, _vehicle, _unloader] call FUNC(unloadItem); // returns true if successful // Show hint as feedback - private _hint = [LSTRING(UnloadingFailed), LSTRING(UnloadedItem)] select _unloaded; + private _hint = [LSTRING(unloadingFailed), LSTRING(unloadedItem)] select _unloaded; private _itemName = [_item, true] call FUNC(getNameItem); private _vehicleName = getText (configOf _vehicle >> "displayName"); - [[_hint, _itemName, _vehicleName], 3.0] call EFUNC(common,displayTextStructured); + [[_hint, _itemName, _vehicleName], 3] call EFUNC(common,displayTextStructured); if (_unloaded && {GVAR(openAfterUnload) in [1, 3]}) then { GVAR(interactionVehicle) = _vehicle; @@ -58,16 +42,27 @@ _item hideObjectGlobal false; _item setPosASL (AGLtoASL _emptyPosAGL); - [_item, "blockDamage", "ACE_cargo", false] call EFUNC(common,statusEffect_set); + [_item, "blockDamage", QUOTE(ADDON), false] call EFUNC(common,statusEffect_set); +}] call CBA_fnc_addEventHandler; + +[QGVAR(paradropItem), { + params ["_item", "_vehicle", ["_showHint", true]]; + + private _unloaded = [_item, _vehicle, _showHint] call FUNC(paradropItem); + + if (_unloaded && {GVAR(openAfterUnload) in [2, 3]}) then { + GVAR(interactionVehicle) = _vehicle; + GVAR(interactionParadrop) = true; + createDialog QGVAR(menu); + }; }] call CBA_fnc_addEventHandler; // Private events to handle adding actions globally via public functions -[QGVAR(initObject), DFUNC(initObject)] call CBA_fnc_addEventHandler; -[QGVAR(initVehicle), DFUNC(initVehicle)] call CBA_fnc_addEventHandler; - +[QGVAR(initObject), LINKFUNC(initObject)] call CBA_fnc_addEventHandler; +[QGVAR(initVehicle), LINKFUNC(initVehicle)] call CBA_fnc_addEventHandler; GVAR(vehicleAction) = [ - QGVAR(openMenu), localize LSTRING(openMenu), "", + QGVAR(openMenu), LLSTRING(openMenu), "", { //IGNORE_PRIVATE_WARNING ["_target", "_player"]; GVAR(interactionVehicle) = _target; @@ -77,16 +72,17 @@ GVAR(vehicleAction) = [ { //IGNORE_PRIVATE_WARNING ["_target", "_player"]; GVAR(enable) && - {(_target getVariable [QGVAR(hasCargo), getNumber (configOf _target >> QGVAR(hasCargo)) == 1])} && - {locked _target < 2} && - {([_player, _target] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE} && {alive _target} && - {[_player, _target, ["isNotSwimming"]] call EFUNC(common,canInteractWith)} + {locked _target < 2} && + {(_target getVariable [QGVAR(hasCargo), getNumber (configOf _target >> QGVAR(hasCargo)) == 1])} && + {[_player, _target, ["isNotSwimming"]] call EFUNC(common,canInteractWith)} && + {[_player, _target] call EFUNC(interaction,canInteractWithVehicleCrew)} && + {([_player, _target] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE} } ] call EFUNC(interact_menu,createAction); GVAR(objectActions) = [ - [QGVAR(renameObject), LELSTRING(common,rename), "", //TODO: add icon, maybe a pencil couldn't find it before. + [QGVAR(renameObject), LELSTRING(common,rename), "\a3\Modules_F_Curator\Data\iconMissionName_ca.paa", { //IGNORE_PRIVATE_WARNING ["_target", "_player"]; GVAR(interactionVehicle) = _target; @@ -96,64 +92,77 @@ GVAR(objectActions) = [ //IGNORE_PRIVATE_WARNING ["_target", "_player"]; GVAR(enable) && {GVAR(enableRename)} && - {(_target getVariable [QGVAR(canLoad), getNumber (configOf _target >> QGVAR(canLoad))]) in [true, 1]} && {alive _target} && + {_target getVariable [QGVAR(canLoad), getNumber (configOf _target >> QGVAR(canLoad)) == 1]} && + {!(_target getVariable [QGVAR(noRename), getNumber (configOf _target >> QGVAR(noRename)) == 1])} && {[_player, _target, ["isNotSwimming"]] call EFUNC(common,canInteractWith)} && - {(_target getVariable [QGVAR(noRename), getNumber (configOf _target >> QGVAR(noRename))]) in [false, 0]} + {[_player, _target] call EFUNC(interaction,canInteractWithVehicleCrew)} } ] call EFUNC(interact_menu,createAction), - [QGVAR(load), localize LSTRING(loadObject), "a3\ui_f\data\IGUI\Cfg\Actions\loadVehicle_ca.paa", + [QGVAR(load), LLSTRING(loadObject), "a3\ui_f\data\IGUI\Cfg\Actions\loadVehicle_ca.paa", { - params ["_target", "_player"]; + //IGNORE_PRIVATE_WARNING ["_target", "_player"]; [_player, _target] call FUNC(startLoadIn); }, { //IGNORE_PRIVATE_WARNING ["_target", "_player"]; GVAR(enable) && - {(_target getVariable [QGVAR(canLoad), getNumber (configOf _target >> QGVAR(canLoad))]) in [true, 1]} && - {locked _target < 2} && {alive _target} && + {locked _target < 2} && + {_target getVariable [QGVAR(canLoad), getNumber (configOf _target >> QGVAR(canLoad)) == 1]} && {[_player, _target, ["isNotSwimming"]] call EFUNC(common,canInteractWith)} && - {((nearestObjects [_target, GVAR(cargoHolderTypes), (MAX_LOAD_DISTANCE + 10)]) findIf { - private _hasCargoConfig = 1 == getNumber (configOf _x >> QGVAR(hasCargo)); - private _hasCargoPublic = _x getVariable [QGVAR(hasCargo), false]; - (_hasCargoConfig || {_hasCargoPublic}) && {_x != _target} && {alive _x} && {locked _x < 2} && + {[_player, _target] call EFUNC(interaction,canInteractWithVehicleCrew)} && + {((nearestObjects [_target, GVAR(cargoHolderTypes), MAX_LOAD_DISTANCE + 10]) findIf { + _x != _target && + {alive _x} && + {locked _x < 2} && + {_x getVariable [QGVAR(hasCargo), getNumber (configOf _x >> QGVAR(hasCargo)) == 1]} && {([_target, _x] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE} - }) > -1} + }) != -1} }, LINKFUNC(addCargoVehiclesActions) ] call EFUNC(interact_menu,createAction) ]; -// find all remaining configured classes and init them, see XEH_preStart.sqf +// Find all remaining configured classes and init them, see XEH_preStart.sqf private _vehicleClassesAddAction = call (uiNamespace getVariable [QGVAR(initializedVehicleClasses), {[]}]); + { [_x, 0, ["ACE_MainActions"], GVAR(vehicleAction)] call EFUNC(interact_menu,addActionToClass); } forEach _vehicleClassesAddAction; + GVAR(initializedVehicleClasses) append _vehicleClassesAddAction; private _objectClassesAddAction = call (uiNamespace getVariable [QGVAR(initializedItemClasses), {[]}]); + { private _objectClass = _x; + { [_objectClass, 0, ["ACE_MainActions"], _x] call EFUNC(interact_menu,addActionToClass); } forEach GVAR(objectActions); } forEach _objectClassesAddAction; + GVAR(initializedItemClasses) append _objectClassesAddAction; private _vehicleClassesAddClassEH = call (uiNamespace getVariable [QGVAR(vehicleClasses_classEH), {[]}]); + { [_x, "initPost", DFUNC(initVehicle), nil, nil, true] call CBA_fnc_addClassEventHandler; } forEach _vehicleClassesAddClassEH; private _objectClassesAddClassEH = call (uiNamespace getVariable [QGVAR(objectClasses_classEH), {[]}]); + { [_x, "initPost", DFUNC(initObject), nil, nil, true] call CBA_fnc_addClassEventHandler; } forEach _objectClassesAddClassEH; if (isServer) then { ["ace_placedInBodyBag", { - params ["_target", "_bodyBag"]; + params ["_target", "_bodyBag", "_isGrave"]; + + if (_isGrave) exitWith {}; // assume graves aren't cargo + _bodyBag setVariable [QGVAR(customName), [_target, false, true] call EFUNC(common,getName), true]; }] call CBA_fnc_addEventHandler; }; diff --git a/addons/cargo/XEH_preInit.sqf b/addons/cargo/XEH_preInit.sqf index f14ccc5958..ce29dc8a6e 100644 --- a/addons/cargo/XEH_preInit.sqf +++ b/addons/cargo/XEH_preInit.sqf @@ -10,11 +10,11 @@ PREP_RECOMPILE_END; GVAR(initializedItemClasses) = []; GVAR(initializedVehicleClasses) = []; -GVAR(cargoHolderTypes) = ["Car", "Air", "Tank", "Ship", "Cargo_base_F", "Land_PaperBox_closed_F"]; -GVAR(disableParadropEffectsClasstypes) = ["Car_F"]; +GVAR(cargoHolderTypes) = ["Car", "Air", "Tank", "Ship", "Cargo_base_F", "Land_PaperBox_closed_F"] apply {_x call EFUNC(common,getConfigName)}; // make sure they are config case +GVAR(disableParadropEffectsClasstypes) = ["Car_F"] apply {_x call EFUNC(common,getConfigName)}; if (isServer) then { - ["All", "Deleted", LINKFUNC(handleDeleted)] call CBA_fnc_addClassEventHandler; + ["All", "Deleted", LINKFUNC(handleDestroyed)] call CBA_fnc_addClassEventHandler; }; ["All", "Killed", LINKFUNC(handleDestroyed)] call CBA_fnc_addClassEventHandler; diff --git a/addons/cargo/XEH_preStart.sqf b/addons/cargo/XEH_preStart.sqf index e7b3f5c59b..e5ef507556 100644 --- a/addons/cargo/XEH_preStart.sqf +++ b/addons/cargo/XEH_preStart.sqf @@ -2,36 +2,38 @@ #include "XEH_PREP.hpp" - -//See XEH_postInit.sqf +// See XEH_postInit.sqf private _vehicleClasses_addClassEH = ["ThingX", "LandVehicle", "Air", "Ship_F"]; private _objectClasses_addClassEH = ["ThingX", "StaticWeapon"]; private _vehicleClasses_addAction = []; private _itemClasses_addAction = []; +private _class = ""; -// find all remaining configured classes and init them +// Find all remaining configured classes and init them { - private _class = configName _x; - // init vehicle + _class = configName _x; + + // Init vehicle if ( - 1 == getNumber (_x >> QGVAR(hasCargo)) - && {-1 == _vehicleClasses_addClassEH findIf {_class isKindOf _x}} + getNumber (_x >> QGVAR(hasCargo)) == 1 && + {_vehicleClasses_addClassEH findIf {_class isKindOf _x} == -1} ) then { if (_class isKindOf "Static") then { - if (2 == getNumber (_x >> "scope")) then { + if (getNumber (_x >> "scope") == 2) then { _vehicleClasses_addAction pushBackUnique _class; }; } else { _vehicleClasses_addClassEH pushBackUnique _class; }; }; - // init object + + // Init object if ( - 1 == getNumber (_x >> QGVAR(canLoad)) - && {-1 == _objectClasses_addClassEH findIf {_class isKindOf _x}} + getNumber (_x >> QGVAR(canLoad)) == 1 && + {_objectClasses_addClassEH findIf {_class isKindOf _x} == -1} ) then { if (_class isKindOf "Static") then { - if (2 == getNumber (_x >> "scope")) then { + if (getNumber (_x >> "scope") == 2) then { _itemClasses_addAction pushBackUnique _class; }; } else { @@ -40,7 +42,6 @@ private _itemClasses_addAction = []; }; } forEach ("true" configClasses (configFile >> "CfgVehicles")); - uiNamespace setVariable [QGVAR(vehicleClasses_classEH), compileFinal str _vehicleClasses_addClassEH]; uiNamespace setVariable [QGVAR(objectClasses_classEH), compileFinal str _objectClasses_addClassEH]; uiNamespace setVariable [QGVAR(initializedVehicleClasses), compileFinal str _vehicleClasses_addAction]; diff --git a/addons/cargo/functions/fnc_addCargoItem.sqf b/addons/cargo/functions/fnc_addCargoItem.sqf index 8be00818c6..38ccdc0dd9 100644 --- a/addons/cargo/functions/fnc_addCargoItem.sqf +++ b/addons/cargo/functions/fnc_addCargoItem.sqf @@ -1,29 +1,37 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, Jonpas * Adds a cargo item to the vehicle. * * Arguments: - * 0: Item Classname - * 1: Vehicle + * 0: Item to be loaded or + * 1: Holder object (vehicle) * 2: Amount (default: 1) - * 3: Show Hint (default: false) * * Return Value: * None * * Example: - * ["item", vehicle] call ace_cargo_fnc_addCargoItem + * ["ACE_Wheel", cursorObject] call ace_cargo_fnc_addCargoItem * * Public: No */ -params ["_itemClass", "_vehicle", ["_amount", 1], ["_showHint", false, [false]]]; -TRACE_3("params",_itemClass,_vehicle,_amount); +params ["_item", "_vehicle", ["_amount", 1]]; +TRACE_3("params",_item,_vehicle,_amount); -for "_i" from 1 to _amount do { - [_itemClass, _vehicle] call FUNC(loadItem); +// Get config sensitive case name +if (_item isEqualType "") then { + _item = _item call EFUNC(common,getConfigName); + + for "_i" from 1 to _amount do { + [_item, _vehicle] call FUNC(loadItem); + }; +} else { + [_item, _vehicle] call FUNC(loadItem); + + _item = typeOf _item; }; // Invoke listenable event -["ace_cargoAdded", [_itemClass, _vehicle, _amount]] call CBA_fnc_globalEvent; +["ace_cargoAdded", [_item, _vehicle, _amount]] call CBA_fnc_globalEvent; diff --git a/addons/cargo/functions/fnc_addCargoVehiclesActions.sqf b/addons/cargo/functions/fnc_addCargoVehiclesActions.sqf index 2bec4f4df3..4aa18867d6 100644 --- a/addons/cargo/functions/fnc_addCargoVehiclesActions.sqf +++ b/addons/cargo/functions/fnc_addCargoVehiclesActions.sqf @@ -1,32 +1,34 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian - * Create actions for nearest vehicles with cargo. + * Creates actions for nearest vehicles with cargo. * * Arguments: - * 0: Target + * 0: Holder object (vehicle) * * Return Value: * Child actions * * Example: - * [cursorObject] call ace_cargo_fnc_addCargoVehiclesActions + * cursorObject call ace_cargo_fnc_addCargoVehiclesActions * * Public: No */ -params ["_target"]; +params ["_vehicle"]; private _statement = { - params ["_target", "_player", "_vehicle"]; - [_player, _target, _vehicle] call FUNC(startLoadIn); + params ["_item", "_loader", "_vehicle"]; + + [_loader, _item, _vehicle] call FUNC(startLoadIn); }; -private _vehicles = (nearestObjects [_target, GVAR(cargoHolderTypes), (MAX_LOAD_DISTANCE + 10)]) select { - private _hasCargoConfig = 1 == getNumber (configOf _x >> QGVAR(hasCargo)); - private _hasCargoPublic = _x getVariable [QGVAR(hasCargo), false]; - (_hasCargoConfig || {_hasCargoPublic}) && {_x != _target} && {alive _x} && {locked _x < 2} && - {([_target, _x] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE} +private _vehicles = (nearestObjects [_vehicle, GVAR(cargoHolderTypes), MAX_LOAD_DISTANCE + 10]) select { + _x != _vehicle && + {alive _x} && + {locked _x < 2} && + {_x getVariable [QGVAR(hasCargo), getNumber (configOf _x >> QGVAR(hasCargo)) == 1]} && + {([_vehicle, _x] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE} }; -[_vehicles, _statement, _target] call EFUNC(interact_menu,createVehiclesActions) +[_vehicles, _statement, _vehicle] call EFUNC(interact_menu,createVehiclesActions) diff --git a/addons/cargo/functions/fnc_canLoadItemIn.sqf b/addons/cargo/functions/fnc_canLoadItemIn.sqf index 1522ba3ff1..6a45593297 100644 --- a/addons/cargo/functions/fnc_canLoadItemIn.sqf +++ b/addons/cargo/functions/fnc_canLoadItemIn.sqf @@ -1,48 +1,57 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal - * Check if item can be loaded into other Object. + * Checks if the item can be loaded into another object. * * Arguments: - * 0: Item - * 1: Holder Object (Vehicle) - * 2: Ignore interaction distance and stability checks + * 0: Item to be loaded or + * 1: Holder object (vehicle) + * 2: Ignore interaction distance and stability checks (default: false) * * Return Value: - * Can load in + * Can be loaded * * Example: - * [item, holder] call ace_cargo_fnc_canLoadItemIn + * ["ACE_Wheel", cursorObject] call ace_cargo_fnc_canLoadItemIn * * Public: No */ -params [["_item", "", [objNull,""]], "_vehicle", ["_ignoreInteraction", false]]; +params ["_item", "_vehicle", ["_ignoreInteraction", false]]; -if ((!_ignoreInteraction) && {speed _vehicle > 1 || {((getPos _vehicle) select 2) > 3}}) exitWith {TRACE_1("vehicle not stable",_vehicle); false}; +// Check if vehicle is stable +if (!_ignoreInteraction && {speed _vehicle > 1 || {((getPos _vehicle) select 2) > 3}}) exitWith { + TRACE_1("vehicle not stable",_vehicle); -if (_item isEqualType objNull && {{alive _x && {getText (configOf _x >> "simulation") != "UAVPilot"}} count crew _item > 0}) exitWith { - TRACE_1("item is occupied",_item); - false + false // return }; -private _itemSize = [_item] call FUNC(getSizeItem); -private _validItem = false; -if (_item isEqualType "") then { - _validItem = - isClass (configFile >> "CfgVehicles" >> _item) && - {getNumber (configFile >> "CfgVehicles" >> _item >> QGVAR(canLoad)) == 1}; +// If there is crew that isn't UAV crew, exit +if (_item isEqualType objNull && {(crew _item) findIf {alive _x && {!unitIsUAV _x}} != -1}) exitWith { + TRACE_1("item is occupied",_item); + + false // return +}; + +private _itemSize = _item call FUNC(getSizeItem); + +private _validItem = if (_item isEqualType "") then { + private _config = configFile >> "CfgVehicles" >> _item; + + isClass _config && + {getNumber (_config >> QGVAR(canLoad)) == 1} } else { - _validItem = - (alive _item) && - {_ignoreInteraction || {([_item, _vehicle] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE}} && - {!(_item getVariable [QEGVAR(cookoff,isCookingOff), false])} && - {isNull(_item getVariable [QEGVAR(refuel,nozzle), objNull])} && // Objects which have a refueling nozzle connected to them cannot be loaded - {isNull(_item getVariable [QEGVAR(refuel,ownedNozzle), objNull])}; // Fuel sources which have their nozzle out cannot be loaded + alive _item && + {_item getVariable [QGVAR(canLoad), getNumber (configOf _item >> QGVAR(canLoad)) == 1]} && + {_ignoreInteraction || {([_item, _vehicle] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE}} && + {!(_item getVariable [QEGVAR(cookoff,isCookingOff), false])} && // do not load items that are cooking off + {isNull (_item getVariable [QEGVAR(refuel,nozzle), objNull])} && // objects which have a refueling nozzle connected to them cannot be loaded + {isNull (_item getVariable [QEGVAR(refuel,ownedNozzle), objNull])} // fuel sources which have their nozzle out cannot be loaded }; _validItem && -{_itemSize > 0} && {alive _vehicle} && -{_itemSize <= ([_vehicle] call FUNC(getCargoSpaceLeft))} && -{locked _vehicle < 2} +{locked _vehicle < 2} && +{_vehicle getVariable [QGVAR(hasCargo), getNumber (configOf _vehicle >> QGVAR(hasCargo)) == 1]} && +{_itemSize >= 0} && +{_itemSize <= (_vehicle call FUNC(getCargoSpaceLeft)) max 0} diff --git a/addons/cargo/functions/fnc_canUnloadItem.sqf b/addons/cargo/functions/fnc_canUnloadItem.sqf index 311f3cb36d..357ba78f21 100644 --- a/addons/cargo/functions/fnc_canUnloadItem.sqf +++ b/addons/cargo/functions/fnc_canUnloadItem.sqf @@ -1,30 +1,44 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, ViperMaul - * Check if item can be unloaded. + * Checks if the item can be unloaded from another object. * * Arguments: - * 0: loaded Object - * 1: Object - * 2: Unloader (player) (default: objNull) + * 0: Item to be unloaded or + * 1: Holder object (vehicle) + * 2: Unit doing the unloading (default: objNull) + * 3: Ignore interaction distance and stability checks (default: false) + * 4: Ignore finding a suitable position (default: false) * * Return Value: * Can be unloaded * * Example: - * [item, holder] call ace_cargo_fnc_canUnloadItem + * ["ACE_Wheel", cursorObject] call ace_cargo_fnc_canUnloadItem * * Public: No */ -params ["_item", "_vehicle", ["_unloader", objNull]]; +params ["_item", "_vehicle", ["_unloader", objNull], ["_ignoreInteraction", false], ["_ignoreFindPosition", false]]; TRACE_2("params",_item,_vehicle); -private _loaded = _vehicle getVariable [QGVAR(loaded), []]; -if !(_item in _loaded) exitWith {false}; +// Get config sensitive case name +if (_item isEqualType "") then { + _item = _item call EFUNC(common,getConfigName); +}; -private _itemClass = if (_item isEqualType "") then {_item} else {typeOf _item}; +if !(_item in (_vehicle getVariable [QGVAR(loaded), []])) exitWith {false}; -private _emptyPos = [_vehicle, _itemClass, _unloader] call EFUNC(common,findUnloadPosition); +private _validItem = if (_item isEqualType objNull) then { + alive _item +} else { + true +}; -(count _emptyPos) == 3 +_validItem && +{alive _vehicle} && +{locked _vehicle < 2} && +{_vehicle getVariable [QGVAR(hasCargo), getNumber (configOf _vehicle >> QGVAR(hasCargo)) == 1]} && +{_item call FUNC(getSizeItem) >= 0} && +{_ignoreInteraction || {([_unloader, _vehicle] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE}} && +{_ignoreFindPosition || {([_vehicle, _item, _unloader, MAX_LOAD_DISTANCE, !_ignoreInteraction] call EFUNC(common,findUnloadPosition)) isNotEqualTo []}} diff --git a/addons/cargo/functions/fnc_getCargoSpaceLeft.sqf b/addons/cargo/functions/fnc_getCargoSpaceLeft.sqf index b03108066d..e797b0820d 100644 --- a/addons/cargo/functions/fnc_getCargoSpaceLeft.sqf +++ b/addons/cargo/functions/fnc_getCargoSpaceLeft.sqf @@ -1,21 +1,20 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal - * Get the cargo space left on object. + * Gets the object's remaining cargo space. * * Arguments: - * 0: Object + * 0: Holder object (vehicle) * * Return Value: * Cargo space left * * Example: - * [object] call ace_cargo_fnc_getCargoSpaceLeft + * cursorObject call ace_cargo_fnc_getCargoSpaceLeft * * Public: No */ -params ["_object"]; -// TRACE_1("params",_object); +params ["_vehicle"]; -(_object getVariable [QGVAR(space), getNumber (configOf _object >> QGVAR(space))]) max 0 +_vehicle getVariable [QGVAR(space), getNumber (configOf _vehicle >> QGVAR(space))] diff --git a/addons/cargo/functions/fnc_getNameItem.sqf b/addons/cargo/functions/fnc_getNameItem.sqf index 60f76fc3c9..b71ae073cb 100644 --- a/addons/cargo/functions/fnc_getNameItem.sqf +++ b/addons/cargo/functions/fnc_getNameItem.sqf @@ -1,34 +1,34 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: JasperRab * Gets the name of the item, and alternatively the custom name if requested and available. * * Arguments: - * 0: Target - * 1: Add custom name part (default: false) + * 0: Item or (default: "") + * 1: Add custom name (default: false) * * Return Value: - * Item Name + * Item name * * Example: - * [crate_7] call ace_cargo_fnc_getNameItem + * cursorObject call ace_cargo_fnc_getNameItem * * Public: Yes */ -params ["_object", ["_addCustomPart", false]]; +params [["_item", "", [objNull, ""]], ["_addCustomName", false, [false]]]; -private _displayName = if (_object isEqualType "") then { - getText (configFile >> "CfgVehicles" >> _object >> "displayName") +private _displayName = if (_item isEqualType "") then { + getText (configFile >> "CfgVehicles" >> _item >> "displayName") } else { - getText ((configOf _object) >> "displayName") + getText (configOf _item >> "displayName") }; -if (_addCustomPart && {!(_object isEqualType "")}) then { - private _customPart = _object getVariable [QGVAR(customName), ""]; +if (_addCustomName && {_item isEqualType objNull}) then { + private _customName = _item getVariable [QGVAR(customName), ""]; - if (_customPart isNotEqualTo "") then { - _displayName = _displayName + " [" + _customPart + "]"; + if (_customName isNotEqualTo "") then { + _displayName = _displayName + " [" + _customName + "]"; }; }; diff --git a/addons/cargo/functions/fnc_getSizeItem.sqf b/addons/cargo/functions/fnc_getSizeItem.sqf index f866104bd5..bf049b71b3 100644 --- a/addons/cargo/functions/fnc_getSizeItem.sqf +++ b/addons/cargo/functions/fnc_getSizeItem.sqf @@ -1,29 +1,25 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, kymckay - * Get the cargo size of an object. + * Gets the cargo size of an object. * * Arguments: - * 0: Item + * 0: Item or * * Return Value: * Cargo size (default: -1) * * Example: - * [object] call ace_cargo_fnc_getSizeItem + * cursorObject call ace_cargo_fnc_getSizeItem * * Public: No */ params ["_item"]; -// Virtual items are much easier to deal with +// Default cargo size is -1 as 0 is a valid size if (_item isEqualType "") then { - CARGO_SIZE(_item) + GET_NUMBER(configFile >> "CfgVehicles" >> _item >> QGVAR(size),-1) } else { - if (isNil {_item getVariable QGVAR(size)}) then { - CARGO_SIZE(typeOf _item) - } else { - _item getVariable QGVAR(size) - }; + _item getVariable [QGVAR(size), GET_NUMBER(configOf _item >> QGVAR(size),-1)] }; diff --git a/addons/cargo/functions/fnc_handleDeleted.sqf b/addons/cargo/functions/fnc_handleDeleted.sqf deleted file mode 100644 index 94043fdb92..0000000000 --- a/addons/cargo/functions/fnc_handleDeleted.sqf +++ /dev/null @@ -1,25 +0,0 @@ -#include "script_component.hpp" -/* - * Author: mharis001 - * Handles an object being deleted by deleting all loaded cargo. - * - * Arguments: - * 0: Object - * - * Return Value: - * None - * - * Example: - * [_object] call ace_cargo_fnc_handleDeleted - * - * Public: No - */ - -params ["_object"]; - -{ - if (_x isEqualType objNull) then { - detach _x; - deleteVehicle _x; - }; -} forEach (_object getVariable [QGVAR(loaded), []]); diff --git a/addons/cargo/functions/fnc_handleDestroyed.sqf b/addons/cargo/functions/fnc_handleDestroyed.sqf index 8048aa278f..cc5777723d 100644 --- a/addons/cargo/functions/fnc_handleDestroyed.sqf +++ b/addons/cargo/functions/fnc_handleDestroyed.sqf @@ -1,7 +1,9 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* - * Author: Glowbal - * Handle object being destroyed. + * Author: mharis001, Glowbal + * Handles an object being destroyed/deleted. + * If object contained loaded cargo, the cargo is deleted. + * If object was loaded cargo, it's removed from loaded cargo list. * * Arguments: * 0: Object @@ -10,23 +12,34 @@ * None * * Example: - * [_object] call ace_cargo_fnc_handleDestroyed + * cursorObject call ace_cargo_fnc_handleDestroyed * * Public: No */ -params ["_vehicle"]; -TRACE_1("params",_vehicle); +params ["_object"]; -private _loaded = _vehicle getVariable [QGVAR(loaded), []]; -if (_loaded isEqualTo []) exitWith {}; +private _loaded = _object getVariable [QGVAR(loaded), []]; -{ - // TODO Do we want to be able to recover destroyed equipment? - if (_x isEqualType objNull) then { - detach _x; - deleteVehicle _x; - }; -} forEach _loaded; +if (_loaded isNotEqualTo []) then { + // Delete all cargo + { + if (_x isEqualType objNull) then { + detach _x; + deleteVehicle _x; + }; + } forEach _loaded; -[_vehicle] call FUNC(validateCargoSpace); + // In case vehicle is killed, but not deleted, reset loaded list + _object setVariable [QGVAR(loaded), [], true]; +}; + +// Update remaining cargo space, if loaded as cargo in a vehicle +private _vehicle = attachedTo _object; + +if (!isNull _vehicle && {_object in (_vehicle getVariable [QGVAR(loaded), []])}) then { + private _cargoSpace = _vehicle call FUNC(getCargoSpaceLeft); + private _itemSize = (_object call FUNC(getSizeItem)) max 0; // don't let negative size items increase space + + _vehicle setVariable [QGVAR(space), _cargoSpace + _itemSize, true]; +}; diff --git a/addons/cargo/functions/fnc_initObject.sqf b/addons/cargo/functions/fnc_initObject.sqf index 5e26b06022..a8522ad283 100644 --- a/addons/cargo/functions/fnc_initObject.sqf +++ b/addons/cargo/functions/fnc_initObject.sqf @@ -1,54 +1,60 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, kymckay * Initializes variables for loadable objects. Called from init EH. * * Arguments: - * 0: Object + * 0: Item * * Return Value: * None * * Example: - * [object] call ace_cargo_fnc_initObject + * cursorObject call ace_cargo_fnc_initObject * * Public: No */ -params ["_object"]; -private _type = typeOf _object; -private _config = configOf _object; -TRACE_2("params",_object,_type); +// Dedicated servers and HCs do not require action menus +if (!hasInterface) exitWith {}; -// If object had size given to it via eden/public then override config canLoad setting -private _canLoadPublic = _object getVariable [QGVAR(canLoad), false]; -if (!(_canLoadPublic isEqualType false)) then { - WARNING_4("%1[%2] - Variable %3 is %4 - Should be bool",_object,_type,QGVAR(canLoad),_canLoadPublic); +params ["_item"]; +private _type = typeOf _item; +TRACE_2("params",_item,_type); + +// If object had size given to it via eden/public, then override config canLoad setting +private _canLoadPublic = _item getVariable QGVAR(canLoad); +private _canLoadPublicDefined = !isNil "_canLoadPublic"; + +if (_canLoadPublicDefined && {!(_canLoadPublic isEqualType false)}) then { + WARNING_4("%1[%2] - Variable %3 is %4 - Should be bool",_item,_type,QGVAR(canLoad),_canLoadPublic); }; -private _canLoadConfig = getNumber (_config >> QGVAR(canLoad)) == 1; + +private _canLoadConfig = getNumber (configOf _item >> QGVAR(canLoad)) == 1; // Nothing to do here if object can't be loaded -if !(_canLoadConfig || {_canLoadPublic in [true, 1]}) exitWith {}; - -// Servers and HCs do not require action menus (beyond this point) -if !(hasInterface) exitWith {}; +if !((_canLoadPublicDefined && {_canLoadPublic in [true, 1]}) || {!_canLoadPublicDefined && {_canLoadConfig}}) exitWith {}; // Unnecessary to add actions to an object class that's already got them if (_type in GVAR(initializedItemClasses)) exitWith {}; -if (_object getVariable [QGVAR(initObject),false]) exitWith {}; +if (_item getVariable [QGVAR(initObject),false]) exitWith {}; // Objects given size via eden have their actions added to the object // So this function may run for multiple of the same class in that case if (_canLoadConfig) then { GVAR(initializedItemClasses) pushBack _type; + TRACE_1("Adding load cargo action to class", _type); + { [_type, 0, ["ACE_MainActions"], _x] call EFUNC(interact_menu,addActionToClass); } forEach GVAR(objectActions); } else { - _object setVariable [QGVAR(initObject),true]; - TRACE_1("Adding load cargo action to object", _object); + _item setVariable [QGVAR(initObject), true]; + + TRACE_1("Adding load cargo action to object", _item); + { - [_object, 0, ["ACE_MainActions"], _x] call EFUNC(interact_menu,addActionToObject); + [_item, 0, ["ACE_MainActions"], _x] call EFUNC(interact_menu,addActionToObject); } forEach GVAR(objectActions); }; diff --git a/addons/cargo/functions/fnc_initVehicle.sqf b/addons/cargo/functions/fnc_initVehicle.sqf index 885131c534..ed0a02cba9 100644 --- a/addons/cargo/functions/fnc_initVehicle.sqf +++ b/addons/cargo/functions/fnc_initVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Initializes vehicle, adds open cargo menu action if available. @@ -10,7 +10,7 @@ * None * * Example: - * [vehicle] call ace_cargo_fnc_initVehicle + * cursorObject call ace_cargo_fnc_initVehicle * * Public: No */ @@ -21,7 +21,7 @@ TRACE_1("params", _vehicle); private _type = typeOf _vehicle; private _config = configOf _vehicle; -// If vehicle had space given to it via eden/public then override config hasCargo setting +// If vehicle had space given to it via eden/public, then override config hasCargo setting private _hasCargoPublic = _vehicle getVariable [QGVAR(hasCargo), false]; private _hasCargoConfig = getNumber (_config >> QGVAR(hasCargo)) == 1; @@ -29,41 +29,53 @@ private _hasCargoConfig = getNumber (_config >> QGVAR(hasCargo)) == 1; if !(_hasCargoConfig || _hasCargoPublic) exitWith {}; // Check if cargo is in cargo holder types (checked when trying to search for loadable objects) -private _addCargoType = true; -{ - if (_type isKindOf _x) exitWith {_addCargoType = false}; -} forEach GVAR(cargoHolderTypes); +private _addCargoType = GVAR(cargoHolderTypes) findIf {_type isKindOf _x} == -1; + TRACE_2("",_addCargoType,_type); + if (_addCargoType) then { GVAR(cargoHolderTypes) pushBack _type; }; -// Vehicle can have default ace cargo in its config +// If already initialised (both actions and cargo), then skip +if (_vehicle getVariable [QGVAR(initVehicle), false]) exitWith {}; + +// Vehicles can have default ace cargo in their config if (isServer) then { + _vehicle setVariable [QGVAR(initVehicle), true]; + + private _cargoClassname = ""; + private _cargoCount = 0; + { - private _cargoClassname = getText (_x >> "type"); - private _cargoCount = getNumber (_x >> "amount"); - TRACE_3("adding ACE_Cargo", (configName _x), _cargoClassname, _cargoCount); + _cargoClassname = getText (_x >> "type"); + _cargoCount = getNumber (_x >> "amount"); + + TRACE_3("adding ACE_Cargo",configName _x,_cargoClassname,_cargoCount); + ["ace_addCargo", [_cargoClassname, _vehicle, _cargoCount]] call CBA_fnc_localEvent; - } forEach ("true" configClasses (_config >> QUOTE(ADDON) >> "Cargo")); + } forEach ("true" configClasses (_config >> QUOTE(ADDON) >> "cargo")); }; // Servers and HCs do not require action menus (beyond this point) -if !(hasInterface) exitWith {}; +if (!hasInterface) exitWith {}; // Unnecessary to add actions to a vehicle class that's already got them if (_type in GVAR(initializedVehicleClasses)) exitWith {}; -if (_vehicle getVariable [QGVAR(initVehicle),false]) exitWith {}; // Vehicles given cargo via eden have their actions added to the object // So this function may run for multiple of the same class in that case if (_hasCargoConfig) then { GVAR(initializedVehicleClasses) pushBack _type; + TRACE_1("Adding unload cargo action to class", _type); + [_type, 0, ["ACE_MainActions"], GVAR(vehicleAction)] call EFUNC(interact_menu,addActionToClass); } else { - _vehicle setVariable [QGVAR(initVehicle),true]; + _vehicle setVariable [QGVAR(initVehicle), true]; + TRACE_1("Adding unload cargo action to object", _vehicle); + [_vehicle, 0, ["ACE_MainActions"], GVAR(vehicleAction)] call EFUNC(interact_menu,addActionToObject); }; @@ -71,24 +83,31 @@ if (_hasCargoConfig) then { if (_vehicle isKindOf "Air") then { private _condition = { //IGNORE_PRIVATE_WARNING ["_target", "_player"]; - GVAR(enable) && {[_player, _target, []] call EFUNC(common,canInteractWith)} && { - private _turretPath = _player call CBA_fnc_turretPath; - (_player == (driver _target)) || // pilot - {(getNumber (([_target, _turretPath] call CBA_fnc_getTurret) >> "isCopilot")) == 1} || // coPilot - {_turretPath in (getArray (configOf _target >> QGVAR(loadmasterTurrets)))}} // loadMaster turret from config + GVAR(enable) && + {[_player, _target, []] call EFUNC(common,canInteractWith)} && { + private _turretPath = _target unitTurret _player; + + (_player == currentPilot _target) || // Pilot/Co-pilot + {(getNumber ([_target, _turretPath] call CBA_fnc_getTurret >> "isCopilot")) == 1} || // Co-pilot + {_turretPath in (getArray (configOf _target >> QGVAR(loadmasterTurrets)))} + } }; + private _statement = { //IGNORE_PRIVATE_WARNING ["_target", "_player"]; GVAR(interactionVehicle) = _target; GVAR(interactionParadrop) = true; createDialog QGVAR(menu); }; - private _text = localize LSTRING(openMenu); + + private _text = LLSTRING(openMenu); private _icon = ""; private _action = [QGVAR(openMenu), _text, _icon, _statement, _condition] call EFUNC(interact_menu,createAction); + + // Self action on the vehicle if (_hasCargoConfig) then { - [_type, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToClass); // self action on the vehicle + [_type, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToClass); } else { [_vehicle, 1, ["ACE_SelfActions"], _action] call EFUNC(interact_menu,addActionToObject); }; diff --git a/addons/cargo/functions/fnc_loadItem.sqf b/addons/cargo/functions/fnc_loadItem.sqf index f69996c1d4..21ebc0d52a 100644 --- a/addons/cargo/functions/fnc_loadItem.sqf +++ b/addons/cargo/functions/fnc_loadItem.sqf @@ -1,27 +1,36 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal - * Load object into vehicle. + * Loads an object into a vehicle. * Objects loaded via classname remain virtual until unloaded. * * Arguments: - * 0: Item - * 1: Vehicle - * 2: Ignore interaction distance and stability checks + * 0: Item to be loaded or (default: "") + * 1: Holder object (vehicle) (default: objNull) + * 2: Ignore interaction distance and stability checks (default: false) * * Return Value: * Object loaded * * Example: - * [object, vehicle] call ace_cargo_fnc_loadItem + * ["ACE_Wheel", cursorObject] call ace_cargo_fnc_loadItem * * Public: Yes */ -params [["_item","",[objNull,""]], ["_vehicle",objNull,[objNull]], ["_ignoreInteraction", false]]; -TRACE_2("params",_item,_vehicle); +params [["_item", "", [objNull, ""]], ["_vehicle", objNull, [objNull]], ["_ignoreInteraction", false, [false]]]; +TRACE_3("params",_item,_vehicle,_ignoreInteraction); -if !([_item, _vehicle, _ignoreInteraction] call FUNC(canLoadItemIn)) exitWith {TRACE_2("cannot load",_item,_vehicle); false}; +// Get config sensitive case name +if (_item isEqualType "") then { + _item = _item call EFUNC(common,getConfigName); +}; + +if !([_item, _vehicle, _ignoreInteraction] call FUNC(canLoadItemIn)) exitWith { + TRACE_3("cannot load",_item,_vehicle,_ignoreInteraction); + + false // return +}; private _loaded = _vehicle getVariable [QGVAR(loaded), []]; _loaded pushBack _item; @@ -29,17 +38,33 @@ _vehicle setVariable [QGVAR(loaded), _loaded, true]; TRACE_1("added to loaded array",_loaded); -private _space = [_vehicle] call FUNC(getCargoSpaceLeft); -private _itemSize = [_item] call FUNC(getSizeItem); -_vehicle setVariable [QGVAR(space), _space - _itemSize, true]; +// Update cargo space remaining +private _cargoSpace = _vehicle call FUNC(getCargoSpaceLeft); +private _itemSize = (_item call FUNC(getSizeItem)) max 0; // don't let negative size items increase space +_vehicle setVariable [QGVAR(space), _cargoSpace - _itemSize, true]; +// Attach object 100m below vehicle if (_item isEqualType objNull) then { detach _item; - _item attachTo [_vehicle,[0,0,-100]]; + _item attachTo [_vehicle, [0, 0, -100]]; [QEGVAR(common,hideObjectGlobal), [_item, true]] call CBA_fnc_serverEvent; - // Some objects below water will take damage over time and eventualy become "water logged" and unfixable (because of negative z attach) - [_item, "blockDamage", "ACE_cargo", true] call EFUNC(common,statusEffect_set); + if (["ace_zeus"] call EFUNC(common,isModLoaded)) then { + private _objectCurators = objectCurators _item; + + // Save which curators had this object as editable + _item setVariable [QGVAR(objectCurators), _objectCurators, true]; + + if (_objectCurators isEqualTo []) exitWith {}; + + [QEGVAR(zeus,removeObjects), [[_item], _objectCurators]] call CBA_fnc_serverEvent; + }; + + // Some objects below water will take damage over time, eventually becoming "water logged" and unfixable (because of negative z attach) + [_item, "blockDamage", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set); }; -true +// Invoke listenable event +["ace_cargoLoaded", [_item, _vehicle]] call CBA_fnc_globalEvent; + +true // return diff --git a/addons/cargo/functions/fnc_moduleSettings.sqf b/addons/cargo/functions/fnc_moduleSettings.sqf index 54a2d72e5c..9c337364b1 100644 --- a/addons/cargo/functions/fnc_moduleSettings.sqf +++ b/addons/cargo/functions/fnc_moduleSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Module for adjusting the cargo settings diff --git a/addons/cargo/functions/fnc_onMenuOpen.sqf b/addons/cargo/functions/fnc_onMenuOpen.sqf index bc56c0fb96..b0f7e7ffb9 100644 --- a/addons/cargo/functions/fnc_onMenuOpen.sqf +++ b/addons/cargo/functions/fnc_onMenuOpen.sqf @@ -1,7 +1,7 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal - * Handle the UI data display. + * Handles the UI data display. * * Arguments: * 0: Display @@ -10,7 +10,7 @@ * None * * Example: - * [display] call ace_cargo_fnc_onMenuOpen + * display call ace_cargo_fnc_onMenuOpen * * Public: No */ @@ -22,37 +22,79 @@ params ["_display"]; uiNamespace setVariable [QGVAR(menuDisplay), _display]; if (GVAR(interactionParadrop)) then { - (_display displayCtrl 12) ctrlSetText (localize LSTRING(paradropButton)); + (_display displayCtrl 12) ctrlSetText LLSTRING(paradropButton); }; [{ + params ["_vehicle", "_pfhID"]; + disableSerialization; + private _display = uiNamespace getVariable QGVAR(menuDisplay); - if (isnil "_display") exitWith { - [_this select 1] call CBA_fnc_removePerFrameHandler; + + if (isNil "_display") exitWith { + GVAR(interactionVehicle) = nil; + GVAR(interactionParadrop) = nil; + + _pfhID call CBA_fnc_removePerFrameHandler; }; - if (isNull GVAR(interactionVehicle) || {(([ACE_player, GVAR(interactionVehicle)] call EFUNC(interaction,getInteractionDistance)) >= MAX_LOAD_DISTANCE) && {(vehicle ACE_player) != GVAR(interactionVehicle)}}) exitWith { + // Close menu if in invalid state + if ( + !alive _vehicle || + {locked _vehicle >= 2} || + {!(_vehicle getVariable [QGVAR(hasCargo), true])} || // if the cargo menu could be opened, the vehicle has QGVAR(hasCargo) in its config or the variable is set using FUNC(setSpace) + { + isNull findDisplay 312 && // if in Zeus, ignore the following checks + {([ACE_player, _vehicle] call EFUNC(interaction,getInteractionDistance)) >= MAX_LOAD_DISTANCE} && + {(vehicle ACE_player) != _vehicle} + } + ) exitWith { closeDialog 0; - [_this select 1] call CBA_fnc_removePerFrameHandler; + + GVAR(interactionVehicle) = nil; + GVAR(interactionParadrop) = nil; + + _pfhID call CBA_fnc_removePerFrameHandler; }; - private _loaded = GVAR(interactionVehicle) getVariable [QGVAR(loaded), []]; private _ctrl = _display displayCtrl 100; private _label = _display displayCtrl 2; + // Remove previous entries lbClear _ctrl; + + // Display item names + private _displayName = ""; + private _itemSize = 0; + private _index = -1; + private _damageStr = "0%"; + private _damage = 0; + { - private _class = if (_x isEqualType "") then {_x} else {typeOf _x}; - private _displayName = [_x, true] call FUNC(getNameItem); - if (GVAR(interactionParadrop)) then { - _ctrl lbAdd format ["%1 (%2s)", _displayName, GVAR(paradropTimeCoefficent) * ([_class] call FUNC(getSizeItem))]; + _displayName = [_x, true] call FUNC(getNameItem); + _itemSize = _x call FUNC(getSizeItem); + _damage = if (_x isEqualType "") then {0} else {damage _x}; + _damageStr = ((_damage * 100) toFixed 0) + "%"; + + if (_itemSize >= 0) then { + _index = if (GVAR(interactionParadrop)) then { + _ctrl lbAdd format ["%1. %2 (%3s)", _forEachIndex + 1, _displayName, GVAR(paradropTimeCoefficent) * _itemSize] + } else { + _ctrl lbAdd format ["%1. %2", _forEachIndex + 1, _displayName] + }; + + private _tooltip = format ["%1\n%2", format [LLSTRING(sizeMenu), _itemSize], format ["%1: %2", localize "str_a3_normaldamage1", _damageStr]]; + _ctrl lbSetTooltip [_index, _tooltip]; } else { - _ctrl lbAdd _displayName; + // If item has a size < 0, it means it's not loadable + _index = _ctrl lbAdd _displayName; + + _ctrl lbSetTooltip [_index, LLSTRING(unloadingImpossible)]; + _ctrl lbSetColor [_index, [1, 0, 0, 1]]; // set text to red + _ctrl lbSetSelectColor [_index, [1, 0, 0, 1]]; }; + } forEach (_vehicle getVariable [QGVAR(loaded), []]); - true - } count _loaded; - - _label ctrlSetText format[localize LSTRING(labelSpace), [GVAR(interactionVehicle)] call DFUNC(getCargoSpaceLeft)]; -}, 0, []] call CBA_fnc_addPerFrameHandler; + _label ctrlSetText format [LLSTRING(labelSpace), (_vehicle call FUNC(getCargoSpaceLeft)) max 0]; +}, 0, GVAR(interactionVehicle)] call CBA_fnc_addPerFrameHandler; diff --git a/addons/cargo/functions/fnc_paradropItem.sqf b/addons/cargo/functions/fnc_paradropItem.sqf index 707ae42b69..acd780f463 100644 --- a/addons/cargo/functions/fnc_paradropItem.sqf +++ b/addons/cargo/functions/fnc_paradropItem.sqf @@ -1,18 +1,18 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: marc_book, commy2, CAA-Picard - * Unload and paradrop object from plane or helicopter. + * Unloads and paradrops an object from a plane or helicopter. * * Arguments: - * 0: Object - * 1: Vehicle + * 0: Item or + * 1: Holder object (vehicle) * 2: Show Hint (default: true) * * Return Value: * Object unloaded * * Example: - * [object, vehicle] call ace_cargo_fnc_paradropItem + * ["ACE_Wheel", vehicle player] call ace_cargo_fnc_paradropItem * * Public: No */ @@ -20,62 +20,85 @@ params ["_item", "_vehicle", ["_showHint", true]]; TRACE_2("params",_item,_vehicle); +// Get config sensitive case name +if (_item isEqualType "") then { + _item = _item call EFUNC(common,getConfigName); +}; + +// Check if item is actually part of cargo private _loaded = _vehicle getVariable [QGVAR(loaded), []]; -if !(_item in _loaded) exitWith {false}; +if !(_item in _loaded) exitWith { + false // return +}; -// unload item from cargo +// Check if item can be unloaded +private _itemSize = _item call FUNC(getSizeItem); + +if (_itemSize < 0) exitWith { + false // return +}; + +// Unload item from cargo _loaded deleteAt (_loaded find _item); _vehicle setVariable [QGVAR(loaded), _loaded, true]; -private _cargoSpace = [_vehicle] call FUNC(getCargoSpaceLeft); -private _itemSize = [_item] call FUNC(getSizeItem); -_vehicle setVariable [QGVAR(space), (_cargoSpace + _itemSize), true]; +// Update cargo space remaining +private _cargoSpace = _vehicle call FUNC(getCargoSpaceLeft); +_vehicle setVariable [QGVAR(space), _cargoSpace + _itemSize, true]; (boundingBoxReal _vehicle) params ["_bb1", "_bb2"]; private _distBehind = ((_bb1 select 1) min (_bb2 select 1)) - 4; // 4 meters behind max bounding box -TRACE_1("",_distBehind); private _posBehindVehicleAGL = _vehicle modelToWorld [0, _distBehind, -2]; +TRACE_1("",_distBehind); private _object = _item; + if (_item isEqualType objNull) then { detach _object; + // 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 + // Do both on server to ensure they are executed in the correct order [QGVAR(serverUnload), [_object, _posBehindVehicleAGL]] call CBA_fnc_serverEvent; } else { _object = createVehicle [_item, _posBehindVehicleAGL, [], 0, "NONE"]; _object setPosASL (AGLtoASL _posBehindVehicleAGL); }; -_object setVelocity ((velocity _vehicle) vectorAdd ((vectorNormalized (vectorDir _vehicle)) vectorMultiply -5)); +[QEGVAR(common,setVelocity), [_object, (velocity _vehicle) vectorAdd ((vectorNormalized (vectorDir _vehicle)) vectorMultiply -5)], _object] call CBA_fnc_targetEvent; -// open parachute and ir light effect +// Open parachute and IR light effect [{ params ["_object"]; if (isNull _object || {getPos _object select 2 < 1}) exitWith {}; - private _parachute = createVehicle ["B_Parachute_02_F", [0,0,0], [], 0, "CAN_COLLIDE"]; + private _parachute = createVehicle ["B_Parachute_02_F", [0, 0, 0], [], 0, "CAN_COLLIDE"]; - // cannot use setPos on parachutes without them closing down - _parachute attachTo [_object, [0,0,0]]; + // Prevent collision damage + [QEGVAR(common,fixCollision), _parachute] call CBA_fnc_localEvent; + [QEGVAR(common,fixCollision), _object, _object] call CBA_fnc_targetEvent; + + // Cannot use setPos on parachutes without them closing down + _parachute attachTo [_object, [0, 0, 0]]; detach _parachute; private _velocity = velocity _object; - _object attachTo [_parachute, [0,0,1]]; + // Attach to the middle of the object + (2 boundingBoxReal _object) params ["_bb1", "_bb2"]; + + _object attachTo [_parachute, [0, 0, ((_bb2 select 2) - (_bb1 select 2)) / 2]]; _parachute setVelocity _velocity; if ((GVAR(disableParadropEffectsClasstypes) findIf {_object isKindOf _x}) == -1) then { - private _light = "Chemlight_yellow" createVehicle [0,0,0]; - _light attachTo [_object, [0,0,0]]; + private _light = "Chemlight_yellow" createVehicle [0, 0, 0]; + _light attachTo [_object, [0, 0, 0]]; }; +}, _object, 0.7] call CBA_fnc_waitAndExecute; -}, [_object], 0.7] call CBA_fnc_waitAndExecute; - -// smoke effect when crate landed +// Create smoke effect when crate landed [{ (_this select 0) params ["_object"]; @@ -83,21 +106,20 @@ _object setVelocity ((velocity _vehicle) vectorAdd ((vectorNormalized (vectorDir [_this select 1] call CBA_fnc_removePerFrameHandler; }; - if (getPos _object select 2 < 1) then { - if ((GVAR(disableParadropEffectsClasstypes) findIf {_object isKindOf _x}) == -1) then { - private _smoke = "SmokeshellYellow" createVehicle [0,0,0]; - _smoke attachTo [_object, [0,0,0]]; - }; - + if (getPos _object select 2 < 1) exitWith { [_this select 1] call CBA_fnc_removePerFrameHandler; - }; -}, 1, [_object]] call CBA_fnc_addPerFrameHandler; + if ((GVAR(disableParadropEffectsClasstypes) findIf {_object isKindOf _x}) == -1) then { + private _smoke = "SmokeshellYellow" createVehicle [0, 0, 0]; + _smoke attachTo [_object, [0, 0, 0]]; + }; + }; +}, 1, _object] call CBA_fnc_addPerFrameHandler; if (_showHint) then { [ [ - LSTRING(UnloadedItem), + LSTRING(unloadedItem), [_object, true] call FUNC(getNameItem), getText (configOf _vehicle >> "displayName") ], @@ -108,4 +130,4 @@ if (_showHint) then { // Invoke listenable event ["ace_cargoUnloaded", [_object, _vehicle, "paradrop"]] call CBA_fnc_globalEvent; -true +true // return diff --git a/addons/cargo/functions/fnc_removeCargoItem.sqf b/addons/cargo/functions/fnc_removeCargoItem.sqf index ee6de29cab..6e95893992 100644 --- a/addons/cargo/functions/fnc_removeCargoItem.sqf +++ b/addons/cargo/functions/fnc_removeCargoItem.sqf @@ -1,26 +1,31 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Removes a cargo item from the vehicle. * * Arguments: - * 0: Item or - * 1: Vehicle + * 0: Item to be removed or (default: "") + * 1: Holder object (vehicle) (default: objNull) * 2: Amount (default: 1) * * Return Value: * Number of items removed * * Example: - * ["ACE_Wheel", vehicle, 2] call ace_cargo_fnc_removeCargoItem + * ["ACE_Wheel", cursorObject, 2] call ace_cargo_fnc_removeCargoItem * [crate_7, truck] call ace_cargo_fnc_removeCargoItem * * Public: Yes */ -params ["_item", "_vehicle", ["_amount", 1]]; +params [["_item", "", [objNull, ""]], ["_vehicle", objNull, [objNull]], ["_amount", 1, [0]]]; TRACE_3("params",_item,_vehicle,_amount); +// Get config sensitive case name +if (_item isEqualType "") then { + _item = _item call EFUNC(common,getConfigName); +}; + private _loaded = _vehicle getVariable [QGVAR(loaded), []]; private _addedSpace = 0; @@ -29,31 +34,40 @@ private _itemsRemoved = 0; private _continue = if (_item isEqualType objNull) then { if !(_item in _loaded) exitWith {false}; - _addedSpace = [_item] call FUNC(getSizeItem); + + _addedSpace = (_item call FUNC(getSizeItem)) max 0; // don't let negative size items increase space _loaded deleteAt (_loaded find _item); + _itemClass = typeOf _item; + + // Delete item deleteVehicle _item; + _itemsRemoved = 1; + true } else { { if (_itemsRemoved == _amount) exitWith {}; if ( - (_x isEqualType "" && {_x == _item}) || // Check for classname, case-insensitive - {_x isEqualType objNull && {typeOf _x isEqualTo _item}} + (_x isEqualType "" && {_x == _item}) || + {_x isEqualType objNull && {typeOf _x == _item}} ) then { INC(_itemsRemoved); - ADD(_addedSpace,[_x] call FUNC(getSizeItem)); + _addedSpace = _addedSpace + ((_x call FUNC(getSizeItem)) max 0); // don't let negative size items increase space + // Delete item if (_x isEqualType objNull) then { deleteVehicle _x; }; + _loaded set [_forEachIndex, nil]; }; } forEach _loaded; FILTER(_loaded,!isNil "_x"); + true }; @@ -61,8 +75,9 @@ if (!_continue) exitWith {0}; _vehicle setVariable [QGVAR(loaded), _loaded, true]; -private _space = [_vehicle] call FUNC(getCargoSpaceLeft); -_vehicle setVariable [QGVAR(space), _space + _addedSpace, true]; +// Update remaining cargo space +private _cargoSpace = _vehicle call FUNC(getCargoSpaceLeft); +_vehicle setVariable [QGVAR(space), _cargoSpace + _addedSpace, true]; // Invoke listenable event ["ace_cargoRemoved", [_itemClass, _vehicle, _amount, _itemsRemoved]] call CBA_fnc_globalEvent; diff --git a/addons/cargo/functions/fnc_renameObject.sqf b/addons/cargo/functions/fnc_renameObject.sqf index 48e9b09b70..a10d54df7e 100644 --- a/addons/cargo/functions/fnc_renameObject.sqf +++ b/addons/cargo/functions/fnc_renameObject.sqf @@ -1,7 +1,7 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: JasperRab - * Renames object. + * Renames an object. * * Arguments: * None @@ -10,19 +10,23 @@ * None * * Example: - * [] call ace_cargo_fnc_renameObject + * call ace_cargo_fnc_renameObject * - * Public: Yes + * Public: No */ private _display = uiNamespace getVariable QGVAR(menuDisplay); + if (isNil "_display") exitWith {}; private _ctrlEditText = ctrlText 100; -_ctrlEditText = _ctrlEditText select [0,32]; -if (_ctrlEditText isEqualTo "") then { // custom name has been removed +_ctrlEditText = _ctrlEditText select [0, 32]; + +// Check if custom name has been removed +if (_ctrlEditText isEqualTo "") then { [LSTRING(clearedCustomName), 3] call EFUNC(common,displayTextStructured); } else { [[LSTRING(renamedObject), _ctrlEditText], 3] call EFUNC(common,displayTextStructured); }; + GVAR(interactionVehicle) setVariable [QGVAR(customName), _ctrlEditText, true]; diff --git a/addons/cargo/functions/fnc_setSize.sqf b/addons/cargo/functions/fnc_setSize.sqf index a35ec7c27c..8804c81266 100644 --- a/addons/cargo/functions/fnc_setSize.sqf +++ b/addons/cargo/functions/fnc_setSize.sqf @@ -1,57 +1,55 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay - * Set the cargo size of any object. Has global effect. + * Sets the cargo size of any object. Has global effect. * Adds the load action menu if necessary. - * Negative size makes unloadable. + * A negative size disables the object's cargo interactions. * * Arguments: - * 0: Object - * 1: Cargo size + * 0: Object (default: objNull) + * 1: Cargo size (default: nil) * * Return Value: * None * * Example: - * [cursorTarget, 3] call ace_cargo_fnc_setSize + * [cursorObject, 3] call ace_cargo_fnc_setSize * * Public: Yes */ -// Only run this after the settings are initialized -if !(EGVAR(common,settingsInitFinished)) exitWith { - EGVAR(common,runAtSettingsInitialized) pushBack [FUNC(setSize), _this]; -}; - params [ - ["_object",objNull,[objNull]], - ["_size",nil,[0]] // Default can't be a number since all are valid + ["_object", objNull, [objNull]], + ["_size", nil, [0]] // default can't be a number since all are valid ]; TRACE_2("setSize",_object,_size); +private _oldSize = _object call FUNC(getSizeItem); + // Nothing to do here -if ( - (isNil "_size") || - {isNull _object} || - {_size == _object getVariable [QGVAR(size), CARGO_SIZE(typeOf _object)]} -) exitWith {}; +if (isNil "_size" || {isNull _object} || {_size == _oldSize}) exitWith {}; // Apply new size globally -// Necessary to update value, even if unloadable, as API could be used again +// Necessary to update value, even if disabled, as API could be used again _object setVariable [QGVAR(canLoad), _size >= 0, true]; _object setVariable [QGVAR(size), _size, true]; -// If no size no need for load action -if (_size < 0) exitWith {}; +// Update remaining cargo space, if loaded as cargo in a vehicle +private _vehicle = attachedTo _object; -// If an existing ID is present, load action has already been added globally -private _jipID = _object getVariable QGVAR(setSize_jipID); +if (!isNull _vehicle && {_object in (_vehicle getVariable [QGVAR(loaded), []])}) then { + private _cargoSpace = _vehicle call FUNC(getCargoSpaceLeft); -// Actions should be added to all future JIP players too -if (isNil "_jipID") then { - _jipID = [QGVAR(initObject), [_object]] call CBA_fnc_globalEventJIP; + _vehicle setVariable [QGVAR(space), _cargoSpace + (_oldSize max 0) - (_size max 0), true]; // don't let negative size items increase space +}; + +// Actions should be added for all future JIP players too, regardless of size +private _jipID = format [QGVAR(sizeJipID_%1), hashValue _object]; +[QGVAR(initObject), _object, _jipID] call CBA_fnc_globalEventJIP; + +// Remove from JIP queue if object is deleted +if !(_object getVariable [QGVAR(setSizeRemoveJip), false]) then { [_jipID, _object] call CBA_fnc_removeGlobalEventJIP; - // Store the ID for any future calls to this function - _object setVariable [QGVAR(setSize_jipID), _jipID, true]; + _object setVariable [QGVAR(setSizeRemoveJip), true, true]; }; diff --git a/addons/cargo/functions/fnc_setSpace.sqf b/addons/cargo/functions/fnc_setSpace.sqf index 4d9879dde7..01c078496c 100644 --- a/addons/cargo/functions/fnc_setSpace.sqf +++ b/addons/cargo/functions/fnc_setSpace.sqf @@ -1,12 +1,12 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay - * Set the cargo space of any object. Has global effect. + * Sets the cargo space of any object. Has global effect. * Adds the cargo action menu if necessary. * * Arguments: - * 0: Object - * 1: Cargo space + * 0: Vehicle (default: objNull) + * 1: Cargo space (default: nil) * * Return Value: * None @@ -17,49 +17,38 @@ * Public: Yes */ -// Only run this after the settings are initialized -if !(EGVAR(common,settingsInitFinished)) exitWith { - EGVAR(common,runAtSettingsInitialized) pushBack [FUNC(setSpace), _this]; -}; - params [ - ["_vehicle",objNull,[objNull]], - ["_space",nil,[0]] // Default can't be a number since all are valid + ["_vehicle", objNull, [objNull]], + ["_space", nil, [0]] // default can't be a number since all are valid ]; -TRACE_2("setSpace",_vehicle,_size); +TRACE_2("setSpace",_vehicle,_space); // Nothing to do here -if ( - (isNil "_space") || - {isNull _vehicle} -) exitWith {}; +if (isNil "_space" || {isNull _vehicle}) exitWith {}; // Account for cargo already in the vehicle private _loaded = _vehicle getVariable [QGVAR(loaded), []]; -private _newSpace = _space; +private _cargoSpace = _space; + { - _newSpace = _newSpace - ([_x] call FUNC(getSizeItem)); + _cargoSpace = _cargoSpace - ((_x call FUNC(getSizeItem)) max 0); } forEach _loaded; // If the new value is the same as the old, do nothing -if (_newSpace == (_vehicle getVariable [QGVAR(space), CARGO_SPACE(typeOf _vehicle)])) exitwith {}; +if (_cargoSpace == (_vehicle call FUNC(getCargoSpaceLeft))) exitwith {}; // Apply new space globally -_vehicle setVariable [QGVAR(space), _newSpace, true]; // Necessary to update value, even if no space, as API could be used again _vehicle setVariable [QGVAR(hasCargo), _space > 0, true]; +_vehicle setVariable [QGVAR(space), _cargoSpace, true]; -// If no cargo space no need for cargo menu -if (_space <= 0) exitWith {}; +// Space should be added for all future JIP players too, regardless of space +private _jipID = format [QGVAR(spaceJipID_%1), hashValue _vehicle]; +[QGVAR(initVehicle), _vehicle, _jipID] call CBA_fnc_globalEventJIP; -// If an existing ID is present, cargo menu has already been added globally -private _jipID = _vehicle getVariable QGVAR(setSpace_jipID); - -// Cargo menu should be added to all future JIP players too -if (isNil "_jipID") then { - _jipID = [QGVAR(initVehicle), [_vehicle]] call CBA_fnc_globalEventJIP; +// Remove from JIP queue if vehicle is deleted +if !(_vehicle getVariable [QGVAR(setSpaceRemoveJip), false]) then { [_jipID, _vehicle] call CBA_fnc_removeGlobalEventJIP; - // Store the ID for any future calls to this function - _vehicle setVariable [QGVAR(setSpace_jipID), _jipID, true]; + _vehicle setVariable [QGVAR(setSpaceRemoveJip), true, true]; }; diff --git a/addons/cargo/functions/fnc_startLoadIn.sqf b/addons/cargo/functions/fnc_startLoadIn.sqf index b84ecd4df2..767e5b8d68 100644 --- a/addons/cargo/functions/fnc_startLoadIn.sqf +++ b/addons/cargo/functions/fnc_startLoadIn.sqf @@ -1,67 +1,103 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal - * Start load item. + * Starts loading item. * * Arguments: - * 0: Player - * 1: Object - * 2: Vehicle (Optional) + * 0: Unit doing the loading + * 1: Item to be loaded + * 2: Holder object (vehicle) (default: objNull) * * Return Value: * Load ProgressBar Started * * Example: - * [player, cursorTarget] call ace_cargo_fnc_startLoadIn + * [player, cursorObject] call ace_cargo_fnc_startLoadIn * * Public: No */ -params ["_player", "_object", ["_cargoVehicle", objNull]]; -TRACE_3("params",_player,_object,_cargoVehicle); +params ["_loader", "_item", ["_vehicle", objNull]]; +TRACE_3("params",_loader,_item,_vehicle); -private _vehicle = _cargoVehicle; if (isNull _vehicle) then { { - if ([_object, _x] call FUNC(canLoadItemIn)) exitWith {_vehicle = _x}; - } forEach (nearestObjects [_player, GVAR(cargoHolderTypes), (MAX_LOAD_DISTANCE + 10)]); + if ([_item, _x] call FUNC(canLoadItemIn)) exitWith { + _vehicle = _x; + }; + } forEach (nearestObjects [_loader, GVAR(cargoHolderTypes), MAX_LOAD_DISTANCE + 10]); }; if (isNull _vehicle) exitWith { - TRACE_3("Could not find vehicle",_player,_object,_vehicle); - false + TRACE_3("Could not find vehicle",_loader,_item,_vehicle); + + false // return }; -private _return = false; // Start progress bar -if ([_object, _vehicle] call FUNC(canLoadItemIn)) then { - [_player, _object, true] call EFUNC(common,claim); - private _size = [_object] call FUNC(getSizeItem); +if ([_item, _vehicle] call FUNC(canLoadItemIn)) then { + private _duration = GVAR(loadTimeCoefficient) * (_item call FUNC(getSizeItem)); + + // If load time is 0, don't show a progress bar + if (_duration <= 0) exitWith { + ["ace_loadCargo", [_item, _vehicle]] call CBA_fnc_localEvent; + + true // return + }; + + // Claim so nobody else can interact with it + [_loader, _item, true] call EFUNC(common,claim); [ - GVAR(loadTimeCoefficient) * _size, - [_object, _vehicle], + _duration, + [_item, _vehicle], { TRACE_1("load finish",_this); + [objNull, _this select 0 select 0, true] call EFUNC(common,claim); + ["ace_loadCargo", _this select 0] call CBA_fnc_localEvent; }, { TRACE_1("load fail",_this); - [objNull, _this select 0 select 0, true] call EFUNC(common,claim); + (_this select 0) params ["_item", "_vehicle"]; + + [objNull, _item, true] call EFUNC(common,claim); + + // Fix cancelling loading a carried item + if (!isNull attachedTo _item) then { + detach _item; + + // Prevent coliisions between item and vehicle + [QEGVAR(common,fixCollision), _vehicle, _vehicle] call CBA_fnc_targetEvent; + [QEGVAR(common,fixCollision), _item, _item] call CBA_fnc_targetEvent; + + [QEGVAR(common,fixPosition), _item, _item] call CBA_fnc_targetEvent; + [QEGVAR(common,fixFloating), _item, _item] call CBA_fnc_targetEvent; + }; }, - localize LSTRING(LoadingItem), + LLSTRING(loadingItem), { - (_this select 0) params ["_item", "_target"]; - (alive _target) && {locked _target < 2} && {alive _item} - && {([_item, _target] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE} + (_this select 0) call FUNC(canLoadItemIn) }, ["isNotSwimming"] ] call EFUNC(common,progressBar); - _return = true; -} else { - private _displayName = [_object, true] call FUNC(getNameItem); - [[LSTRING(LoadingFailed), _displayName], 3] call EFUNC(common,displayTextStructured); -}; -_return + true // return +} else { + [[LSTRING(loadingFailed), [_item, true] call FUNC(getNameItem)], 3] call EFUNC(common,displayTextStructured); + + // Fix cancelling loading a carried item + if (!isNull attachedTo _item) then { + detach _item; + + // Prevent coliisions between item and vehicle + [QEGVAR(common,fixCollision), _vehicle, _vehicle] call CBA_fnc_targetEvent; + [QEGVAR(common,fixCollision), _item, _item] call CBA_fnc_targetEvent; + + [QEGVAR(common,fixPosition), _item, _item] call CBA_fnc_targetEvent; + [QEGVAR(common,fixFloating), _item, _item] call CBA_fnc_targetEvent; + }; + + false // return +}; diff --git a/addons/cargo/functions/fnc_startUnload.sqf b/addons/cargo/functions/fnc_startUnload.sqf index aa05b9f929..2fe9e923c2 100644 --- a/addons/cargo/functions/fnc_startUnload.sqf +++ b/addons/cargo/functions/fnc_startUnload.sqf @@ -1,16 +1,16 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal - * Start unload action. + * Starts unloading item selected in the cargo menu. * * Arguments: - * None + * 0: Unit doing the unloading * * Return Value: * None * * Example: - * [] call ace_cargo_fnc_startUnload + * player call ace_cargo_fnc_startUnload * * Public: No */ @@ -18,75 +18,105 @@ disableSerialization; private _display = uiNamespace getVariable QGVAR(menuDisplay); + if (isNil "_display") exitWith {}; private _loaded = GVAR(interactionVehicle) getVariable [QGVAR(loaded), []]; + if (_loaded isEqualTo []) exitWith {}; -private _ctrl = _display displayCtrl 100; +// This can be an object or a classname string +private _item = _loaded param [lbCurSel (_display displayCtrl 100), nil]; -private _selected = (lbCurSel _ctrl) max 0; +if (isNil "_item") exitWith {}; -if (count _loaded <= _selected) exitWith {}; -private _item = _loaded select _selected; // This can be an object or a classname string +params ["_unit"]; if (GVAR(interactionParadrop)) exitWith { - // If drop time is 0 don't show a progress bar - if (GVAR(paradropTimeCoefficent) == 0) exitWith { + // Close the cargo menu + closeDialog 0; + + private _duration = GVAR(paradropTimeCoefficent) * (_item call FUNC(getSizeItem)); + + // If drop time is 0, don't show a progress bar + if (_duration <= 0) exitWith { [QGVAR(paradropItem), [_item, GVAR(interactionVehicle)]] call CBA_fnc_localEvent; }; // Start progress bar - paradrop - private _size = [_item] call FUNC(getSizeItem); - [ - GVAR(paradropTimeCoefficent) * _size, - [_item, GVAR(interactionVehicle), ACE_player], + // Delay execution by a frame, to avoid progress bar stopping prematurely because of the cargo menu still being open + [EFUNC(common,progressBar), [ + _duration, + [_item, GVAR(interactionVehicle)], { - (_this select 0) params ["_item", "_target", "_player"]; - [QGVAR(paradropItem), [_item, _target]] call CBA_fnc_localEvent; + [QGVAR(paradropItem), _this select 0] call CBA_fnc_localEvent; }, { - params ["_args", "", "", "_errorCode"]; // show warning if we failed because of flight conditions - if (_errorCode == 3) then { - _args params ["_item", "_target", "_player"]; - [localize LSTRING(unlevelFlightWarning)] call EFUNC(common,displayTextStructured); + params ["", "", "", "_errorCode"]; + + if (_errorCode == 3) then { // show warning if we failed because of flight conditions + [LSTRING(unlevelFlightWarning)] call EFUNC(common,displayTextStructured); }; }, - localize LSTRING(UnloadingItem), + LLSTRING(unloadingItem), { - (_this select 0) params ["_item", "_target", "_player"]; + (_this select 0) params ["", "_target"]; + if ((acos ((vectorUp _target) select 2)) > 30) exitWith {false}; // check flight level if (((getPos _target) select 2) < 25) exitWith {false}; // check height if ((speed _target) < -5) exitWith {false}; // check reverse + true }, - ["isNotSwimming", "isNotInside"] - ] call EFUNC(common,progressBar); + ["isNotSwimming", "isNotInside"], + false + ]] call CBA_fnc_execNextFrame; }; +// If in zeus +if (!isNull findDisplay 312) exitWith { + // Do not check distance to unit, but do check for valid position + if !([_item, GVAR(interactionVehicle), objNull, true] call FUNC(canUnloadItem)) exitWith { + [[LSTRING(unloadingFailed), [_item, true] call FUNC(getNameItem)], 3] call EFUNC(common,displayTextStructured); + }; + + // Close the cargo menu + closeDialog 1; + + ["ace_unloadCargo", [_item, GVAR(interactionVehicle)]] call CBA_fnc_localEvent; +}; // Start progress bar - normal ground unload -if ([_item, GVAR(interactionVehicle), ACE_player] call FUNC(canUnloadItem)) then { - private _size = [_item] call FUNC(getSizeItem); +if ([_item, GVAR(interactionVehicle), _unit] call FUNC(canUnloadItem)) then { + // Close the cargo menu + closeDialog 0; + + private _duration = GVAR(loadTimeCoefficient) * (_item call FUNC(getSizeItem)); + + // If unload time is 0, don't show a progress bar + if (_duration <= 0) exitWith { + ["ace_unloadCargo", [_item, GVAR(interactionVehicle), _unit]] call CBA_fnc_localEvent; + }; [ - GVAR(loadTimeCoefficient) * _size, - [_item, GVAR(interactionVehicle), ACE_player], - {TRACE_1("unload finish",_this); ["ace_unloadCargo", _this select 0] call CBA_fnc_localEvent}, - {TRACE_1("unload fail",_this);}, - localize LSTRING(UnloadingItem), + _duration, + [_item, GVAR(interactionVehicle), _unit], { - (_this select 0) params ["_item", "_target", "_player"]; + TRACE_1("unload finish",_this); - (alive _target) - && {locked _target < 2} - && {([_player, _target] call EFUNC(interaction,getInteractionDistance)) < MAX_LOAD_DISTANCE} - && {_item in (_target getVariable [QGVAR(loaded), []])} + ["ace_unloadCargo", _this select 0] call CBA_fnc_localEvent; + }, + { + TRACE_1("unload fail",_this); + }, + LLSTRING(unloadingItem), + { + (_this select 0) params ["_item", "_vehicle", "_unit"]; + + [_item, _vehicle, _unit, false, true] call FUNC(canUnloadItem) // don't check for a suitable unloading position every frame }, ["isNotSwimming"] ] call EFUNC(common,progressBar); } else { - private _displayName = [_item, true] call FUNC(getNameItem); - - [[LSTRING(UnloadingFailed), _displayName], 3] call EFUNC(common,displayTextStructured); + [[LSTRING(unloadingFailed), [_item, true] call FUNC(getNameItem)], 3] call EFUNC(common,displayTextStructured); }; diff --git a/addons/cargo/functions/fnc_unloadCarryItem.sqf b/addons/cargo/functions/fnc_unloadCarryItem.sqf index 7f160e69ae..7baac21b73 100644 --- a/addons/cargo/functions/fnc_unloadCarryItem.sqf +++ b/addons/cargo/functions/fnc_unloadCarryItem.sqf @@ -1,20 +1,21 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Grim * Dragging integration. Unloader starts carrying unloaded object. * * Arguments: - * 0: Unloader - * 1: Item + * 0: Unit doing the unloading + * 1: Unloaded item * * Return Value: * None * * Example: - * [player, object] call ace_cargo_fnc_unloadCarryItem + * [player, cursorObject] call ace_cargo_fnc_unloadCarryItem * * Public: No */ + params ["_unloader", "_object"]; TRACE_2("unloadCarryItem-start",_unloader,_object); @@ -24,17 +25,21 @@ if (!GVAR(carryAfterUnload) || {getNumber (configOf _object >> QGVAR(blockUnload // When unloading attached objects, this code will run before server has finished moving object to the safe position [{ params ["_unloader", "_object"]; + (_unloader distance _object) < 10 }, { params ["_unloader", "_object"]; + TRACE_2("unloadCarryItem-unloaded",_unloader,_object); + if ([_unloader, _object] call EFUNC(dragging,canCarry)) exitWith { [_unloader, _object] call EFUNC(dragging,startCarry); }; + if ([_unloader, _object] call EFUNC(dragging,canDrag)) exitWith { [_unloader, _object] call EFUNC(dragging,startDrag); }; -}, _this, 1.0, { // delay is based on how long it will take server event to trigger and take effect - // not a hard error if this fails, could have just unloaded to other side of vehicle because of findSafePos +}, _this, 1, { // Delay is based on how long it will take server event to trigger and take effect + // Not a hard error if this fails, could have just unloaded to other side of vehicle because of findSafePos TRACE_1("unloadCarryItem-failed to unload nearby player",_this); }] call CBA_fnc_waitUntilAndExecute; diff --git a/addons/cargo/functions/fnc_unloadItem.sqf b/addons/cargo/functions/fnc_unloadItem.sqf index 26642c5d81..c18e89361e 100644 --- a/addons/cargo/functions/fnc_unloadItem.sqf +++ b/addons/cargo/functions/fnc_unloadItem.sqf @@ -1,58 +1,84 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, ViperMaul - * Unload object from vehicle. + * Unloads an object from a vehicle. * * Arguments: - * 0: Item - * 1: Vehicle + * 0: Item to be unloaded or (default: "") + * 1: Holder object (vehicle) (default: objNull) * 2: Unloader (default: objNull) * * Return Value: - * Object was unloaded + * Object unloaded * * Example: - * [object, vehicle] call ace_cargo_fnc_unloadItem + * ["ACE_Wheel", cursorObject] call ace_cargo_fnc_unloadItem * * Public: Yes */ -params ["_item", "_vehicle", ["_unloader", objNull]]; +params [["_item", "", [objNull, ""]], ["_vehicle", objNull, [objNull]], ["_unloader", objNull, [objNull]]]; TRACE_3("params",_item,_vehicle,_unloader); -//This covers testing vehicle stability and finding a safe position -private _emptyPosAGL = [_vehicle, _item, _unloader] call EFUNC(common,findUnloadPosition); -TRACE_1("findUnloadPosition",_emptyPosAGL); - -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 - [localize ELSTRING(common,NoRoomToUnload)] call EFUNC(common,displayTextStructured); - }; - false +// Get config sensitive case name +if (_item isEqualType "") then { + _item = _item call EFUNC(common,getConfigName); }; +// Check if item is actually part of cargo private _loaded = _vehicle getVariable [QGVAR(loaded), []]; if !(_item in _loaded) exitWith { - ERROR_3("Tried to unload item [%1] not in vehicle[%2] cargo[%3]", _item, _vehicle, _loaded); - false + ERROR_3("Tried to unload item [%1] not in vehicle[%2] cargo[%3]",_item,_vehicle,_loaded); + + false // return }; +// Check if item can be unloaded +private _itemSize = _item call FUNC(getSizeItem); + +if (_itemSize < 0) exitWith { + false // return +}; + +// This covers testing vehicle stability and finding a safe position +private _emptyPosAGL = [_vehicle, _item, _unloader] call EFUNC(common,findUnloadPosition); +TRACE_1("findUnloadPosition",_emptyPosAGL); + +if (_emptyPosAGL isEqualTo []) exitWith { + // Display text saying there are no safe places to exit the vehicle + if (!isNull _unloader && {_unloader == ACE_player}) then { + [ELSTRING(common,NoRoomToUnload)] call EFUNC(common,displayTextStructured); + }; + + false // return +}; + +// Unload item from cargo _loaded deleteAt (_loaded find _item); _vehicle setVariable [QGVAR(loaded), _loaded, true]; -private _space = [_vehicle] call FUNC(getCargoSpaceLeft); -private _itemSize = [_item] call FUNC(getSizeItem); -_vehicle setVariable [QGVAR(space), (_space + _itemSize), true]; +// Update cargo space remaining +private _cargoSpace = _vehicle call FUNC(getCargoSpaceLeft); +_vehicle setVariable [QGVAR(space), _cargoSpace + _itemSize, true]; private _object = _item; + if (_object isEqualType objNull) then { detach _object; + // 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 + // Do both on server to ensure they are executed in the correct order [QGVAR(serverUnload), [_object, _emptyPosAGL]] call CBA_fnc_serverEvent; + + if (["ace_zeus"] call EFUNC(common,isModLoaded)) then { + // Get which curators had this object as editable + private _objectCurators = _object getVariable [QGVAR(objectCurators), []]; + + if (_objectCurators isEqualTo []) exitWith {}; + + [QEGVAR(zeus,addObjects), [[_object], _objectCurators]] call CBA_fnc_serverEvent; + }; } else { _object = createVehicle [_item, _emptyPosAGL, [], 0, "NONE"]; _object setPosASL (AGLtoASL _emptyPosAGL); @@ -66,4 +92,5 @@ if (_object isEqualType objNull) then { // Invoke listenable event ["ace_cargoUnloaded", [_object, _vehicle, "unload"]] call CBA_fnc_globalEvent; -true + +true // return diff --git a/addons/cargo/functions/fnc_validateCargoSpace.sqf b/addons/cargo/functions/fnc_validateCargoSpace.sqf deleted file mode 100644 index 4f996a30aa..0000000000 --- a/addons/cargo/functions/fnc_validateCargoSpace.sqf +++ /dev/null @@ -1,37 +0,0 @@ -#include "script_component.hpp" -/* - * Author: Glowbal - * Validate the vehicle cargo space. - * - * Arguments: - * 0: Object - * - * Return Value: - * None - * - * Example: - * [object] call ace_cargo_fnc_validateCargoSpace - * - * Public: No - */ - -params ["_vehicle"]; -TRACE_1("params",_vehicle); - -private _loaded = _vehicle getVariable [QGVAR(loaded), []]; - -private _newLoaded = []; -private _totalSpaceOccupied = 0; -{ - if ((_x isEqualType "") || {!isNull _x}) then { - _newLoaded pushback _x; - _totalSpaceOccupied = _totalSpaceOccupied + ([_x] call FUNC(getSizeItem)); - }; - true -} count _loaded; - -if (count _loaded != count _newLoaded) then { - _vehicle setVariable [QGVAR(loaded), _newLoaded, true]; -}; - -_vehicle setVariable [QGVAR(space), getNumber (configOf _vehicle >> QGVAR(space)) - _totalSpaceOccupied, true]; diff --git a/addons/cargo/functions/script_component.hpp b/addons/cargo/functions/script_component.hpp deleted file mode 100644 index cc6204b83b..0000000000 --- a/addons/cargo/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\cargo\script_component.hpp" diff --git a/addons/cargo/initSettings.sqf b/addons/cargo/initSettings.sqf index e971d2d9c7..495d11db35 100644 --- a/addons/cargo/initSettings.sqf +++ b/addons/cargo/initSettings.sqf @@ -1,52 +1,58 @@ [ - QGVAR(enable), "CHECKBOX", + QGVAR(enable), + "CHECKBOX", [LSTRING(ModuleSettings_enable), LSTRING(ModuleSettings_enable_Description)], - [LELSTRING(OptionsMenu,CategoryLogistics), LLSTRING(openMenu)], + [ELSTRING(OptionsMenu,CategoryLogistics), LSTRING(openMenu)], true, true, {[QGVAR(enable), _this] call EFUNC(common,cbaSettings_settingChanged)} ] call CBA_fnc_addSetting; [ - QGVAR(loadTimeCoefficient), "SLIDER", + QGVAR(loadTimeCoefficient), + "SLIDER", [LSTRING(loadTimeCoefficient), LSTRING(loadTimeCoefficient_description)], - [LELSTRING(OptionsMenu,CategoryLogistics), LLSTRING(openMenu)], + [ELSTRING(OptionsMenu,CategoryLogistics), LSTRING(openMenu)], [0, 10, 5, 1], true, {[QGVAR(loadTimeCoefficient), _this, true] call EFUNC(common,cbaSettings_settingChanged)} ] call CBA_fnc_addSetting; [ - QGVAR(paradropTimeCoefficent), "SLIDER", + QGVAR(paradropTimeCoefficent), + "SLIDER", [LSTRING(paradropTimeCoefficent), LSTRING(paradropTimeCoefficent_description)], - [LELSTRING(OptionsMenu,CategoryLogistics), LLSTRING(openMenu)], + [ELSTRING(OptionsMenu,CategoryLogistics), LSTRING(openMenu)], [0, 10, 2.5, 1], true, {[QGVAR(paradropTimeCoefficent), _this, true] call EFUNC(common,cbaSettings_settingChanged)} ] call CBA_fnc_addSetting; [ - QGVAR(openAfterUnload), "LIST", + QGVAR(openAfterUnload), + "LIST", [LSTRING(openAfterUnload), LSTRING(openAfterUnload_description)], - [LELSTRING(OptionsMenu,CategoryLogistics), LLSTRING(openMenu)], + [ELSTRING(OptionsMenu,CategoryLogistics), LSTRING(openMenu)], [[0, 1, 2, 3], [ELSTRING(common,never), LSTRING(unloadObject), LSTRING(paradropButton), ELSTRING(common,both)], 0], false, {[QGVAR(openAfterUnload), _this, true] call EFUNC(common,cbaSettings_settingChanged)} ] call CBA_fnc_addSetting; [ - QGVAR(enableRename), "CHECKBOX", + QGVAR(enableRename), + "CHECKBOX", [LSTRING(ModuleSettings_enableRename), LSTRING(ModuleSettings_enableRename_Description)], - [LELSTRING(OptionsMenu,CategoryLogistics), LLSTRING(openMenu)], + [ELSTRING(OptionsMenu,CategoryLogistics), LSTRING(openMenu)], true, false, {[QGVAR(enableRename), _this, true] call EFUNC(common,cbaSettings_settingChanged)} ] call CBA_fnc_addSetting; [ - QGVAR(carryAfterUnload), "CHECKBOX", + QGVAR(carryAfterUnload), + "CHECKBOX", [LSTRING(carryAfterUnload), LSTRING(carryAfterUnload_description)], - [LELSTRING(OptionsMenu,CategoryLogistics), LLSTRING(openMenu)], + [ELSTRING(OptionsMenu,CategoryLogistics), LSTRING(openMenu)], true, false, {[QGVAR(carryAfterUnload), _this] call EFUNC(common,cbaSettings_settingChanged)} diff --git a/addons/cargo/menu.hpp b/addons/cargo/menu.hpp index d86c49e6f5..8c41fc43a5 100644 --- a/addons/cargo/menu.hpp +++ b/addons/cargo/menu.hpp @@ -4,7 +4,7 @@ class GVAR(menu) { idd = 314614; movingEnable = 1; onLoad = QUOTE([_this select 0] call FUNC(onMenuOpen)); - onUnload = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(menuDisplay)),nil)];); + onUnload = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(menuDisplay),nil)]); class controlsBackground { class HeaderBackground: ACE_gui_backgroundBase { idc = -1; @@ -20,7 +20,7 @@ class GVAR(menu) { h = "13.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; text = "#(argb,8,8,3)color(0,0,0,0.8)"; colorText[] = {0, 0, 0, "(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"}; - colorBackground[] = {0,0,0,"(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"}; + colorBackground[] = {0, 0, 0, "(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"}; }; }; @@ -46,8 +46,8 @@ class GVAR(menu) { w = "13 * (((safezoneW / safezoneH) min 1.2) / 40)"; h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; style = ST_CENTER; - colorText[] = {1, 1, 1.0, 0.9}; - colorBackground[] = {0,0,0,0}; + colorText[] = {1, 1, 1, 0.9}; + colorBackground[] = {0, 0, 0, 0}; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)"; text = ""; }; @@ -83,12 +83,12 @@ class GVAR(menu) { animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; color[] = {1, 1, 1, 1}; - color2[] = {0,0,0, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,1}; - colorFocused[] = {0,0,0,1}; + color2[] = {0, 0, 0, 1}; + colorBackgroundFocused[] = {1, 1, 1, 1}; + colorBackground[] = {1, 1, 1, 1}; + colorbackground2[] = {1, 1, 1, 1}; + colorDisabled[] = {1, 1, 1, 1}; + colorFocused[] = {0, 0, 0, 1}; periodFocus = 1; periodOver = 1; action = QUOTE(closeDialog 0); @@ -97,7 +97,7 @@ class GVAR(menu) { text = CSTRING(unloadObject); idc = 12; x = "20.9 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - action = QUOTE([] call FUNC(startUnload);); + action = QUOTE(ACE_player call FUNC(startUnload)); }; }; }; diff --git a/addons/cargo/renameMenu.hpp b/addons/cargo/renameMenu.hpp index a1d0885f9e..b6acc9ad4e 100644 --- a/addons/cargo/renameMenu.hpp +++ b/addons/cargo/renameMenu.hpp @@ -3,8 +3,8 @@ class GVAR(renameMenu) { idd = 314615; movingEnable = 0; - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(menuDisplay)),_this select 0)];); - onUnload = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(menuDisplay)),nil)];); + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(menuDisplay),_this select 0)]); + onUnload = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(menuDisplay),nil)]); class controlsBackground { class HeaderBackground: ACE_gui_backgroundBase { idc = -1; @@ -20,7 +20,7 @@ class GVAR(renameMenu) { h = "2.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; text = "#(argb,8,8,3)color(0,0,0,0.8)"; colorText[] = {0, 0, 0, "(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"}; - colorBackground[] = {0,0,0,"(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"}; + colorBackground[] = {0, 0, 0, "(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"}; }; }; @@ -36,11 +36,11 @@ class GVAR(renameMenu) { font = "RobotoCondensed"; SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; colorText[] = {0.95, 0.95, 0.95, 0.75}; - colorBackground[] = {"(profilenamespace getVariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getVariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getVariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"}; + colorBackground[] = {"(profilenamespace getVariable ['GUI_BCG_RGB_R',0.69])", "(profilenamespace getVariable ['GUI_BCG_RGB_G',0.75])", "(profilenamespace getVariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"}; text = CSTRING(renameObjectUI); }; class edit: ACE_gui_editBase { - onLoad = QUOTE((_this select 0) ctrlSetText (GVAR(interactionVehicle) getVariable [ARR_2(QUOTE(QGVAR(customName)), '')])); + onLoad = QUOTE((_this select 0) ctrlSetText (GVAR(interactionVehicle) getVariable [ARR_2(QQGVAR(customName),'')])); idc = 100; canModify = 1; x = "13.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; @@ -65,12 +65,12 @@ class GVAR(renameMenu) { animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)"; animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; color[] = {1, 1, 1, 1}; - color2[] = {0,0,0, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {1,1,1,1}; - colorFocused[] = {0,0,0,1}; + color2[] = {0, 0, 0, 1}; + colorBackgroundFocused[] = {1, 1, 1, 1}; + colorBackground[] = {1, 1, 1, 1}; + colorbackground2[] = {1, 1, 1, 1}; + colorDisabled[] = {1, 1, 1, 1}; + colorFocused[] = {0, 0, 0, 1}; periodFocus = 1; periodOver = 1; action = QUOTE(closeDialog 0); diff --git a/addons/cargo/script_component.hpp b/addons/cargo/script_component.hpp index d5cee60c39..00629c73d2 100644 --- a/addons/cargo/script_component.hpp +++ b/addons/cargo/script_component.hpp @@ -19,7 +19,3 @@ #define MAX_LOAD_DISTANCE 5 #define GET_NUMBER(config,default) (if (isNumber (config)) then {getNumber (config)} else {default}) - -// Default cargo size is -1 as 0 is a valid size -#define CARGO_SIZE(classname) GET_NUMBER(configFile >> "CfgVehicles" >> (classname) >> QGVAR(size),-1) -#define CARGO_SPACE(classname) GET_NUMBER(configFile >> "CfgVehicles" >> (classname) >> QGVAR(space),0) diff --git a/addons/cargo/stringtable.xml b/addons/cargo/stringtable.xml index 89a7cd7d2c..fe591b2f02 100644 --- a/addons/cargo/stringtable.xml +++ b/addons/cargo/stringtable.xml @@ -38,11 +38,12 @@ 名前を次に変更:<br/>%1 Renommé en :<br/>%1 Переименовано в:<br/>%1 - Neu Bewaffnet: <br/>%1 + Neu umbenannt zu: <br/>%1 Nazwa zmieniona na:<br/>%1 重命名为:<br/>%1 %1(으)로 명칭을 바꿈 Renombrado a:<br/>%1 + Renomeado para: <br/>%1 Custom name has been cleared. @@ -54,6 +55,7 @@ 自定义名称已被清除。 임의로 지은 명칭을 지웠습니다. El nombre personalizado ha sido borrado. + O nome personalizado foi apagado. Set New Name: @@ -65,6 +67,7 @@ 设定新名称: 새로운 명칭 설정: Establecer nuevo nombre: + Definir novo nome: Enable Rename Action @@ -76,6 +79,7 @@ 启用重命名动作 새로 명칭 짓기 행동 활성화 Habilitar renombrado + Habilitar ação de renomear Enables the rename action for renamable objects. @@ -87,6 +91,7 @@ 启用可重命名物体的重命名动作。 개체의 명칭을 새로 짓는 것을 허가합니다. Habilitar renombrado para los objetos renombrables. + Habilita a ação de renomear para objetos renomeáveis. Cargo @@ -294,6 +299,16 @@ %1<br/>无法被卸载 %1<br/> kargo boşaltılamadı + + Can't be unloaded + Kann nicht entladen werden + Ne peut pas être déchargé + + + Cargo Size: %1 + Frachtgröße: %1 + Encombrement fret: %1 + Custom Name カスタム名 @@ -304,6 +319,7 @@ 임의 명칭 Собственное название Nombre personalizado + Nome personalizado Set a custom cargo name used in the cargo interface. @@ -315,6 +331,7 @@ 设置货物界面中使用的一个自定义货物名称。 화물 인터페이스에 쓰일 화물의 명칭을 설정합니다. Establecer un nombre personalizado de carga en la interfaz de carga. + Defina um nome de carga personalizado usado na interface de carga. Cargo Space @@ -364,7 +381,7 @@ Kargo Boyutu - The cargo space required to hold this object (-1 for unloadable) + The cargo space required to hold this object (-1 for not loadable) Frachtraumgröße, welche zum Einladen dieses Objektes benötigt wird (-1 nicht einladbar) Lo spazio del cargo necessita di mantenere questo oggetto (-1 per scaricabile) オブジェクトを積載するのに必要なカーゴ スペース (-1 で積載不可) @@ -479,6 +496,7 @@ 重新打开货物菜单 화물 메뉴 다시 열기 Reabrir menú de carga + Reabrir menu de carga Reopen the Cargo Menu after successful unload. @@ -491,6 +509,7 @@ 成功卸货后,重新打开货物菜单。 화물을 성공적으로 내리고 난 다음 화물 메뉴를 열지 결정합니다. Reabrir menú de carga despues de una descarga satisfactoria. + Reabre o menu de carga após uma descarga bem sucedida. Carry After Unload @@ -498,6 +517,10 @@ Нести после выгрузки Llevar encima tras la descarga 荷降ろし後の運搬 + Niesienie Po Rozładowaniu + Nach dem Entladen tragen + Porter après déchargement + Transporte após descarregar Controls whether cargo items are carried or dragged after unloading. @@ -505,6 +528,10 @@ Нужно ли переносить или тащить предметы после их выгрузки. Controla si los objetos de carga son llevados encima o arrastrados despues de la descarga. 荷降ろし後、貨物アイテムを運ぶか引きずるかを制御する。 + Kontroluje, czy przedmioty z ładunku są przenoszone lub ciągnięte po ich wyładowaniu. + Steuert, ob Objekte nach dem Entladen getragen oder gezogen werden. + Active si les éléments de cargaison sont portés ou traînés après le déchargement. + Controla se os itens de carga são carregados ou arrastados após a descarga. diff --git a/addons/casings/functions/fnc_createCasing.sqf b/addons/casings/functions/fnc_createCasing.sqf index bb1c2a24cf..22347d36a7 100644 --- a/addons/casings/functions/fnc_createCasing.sqf +++ b/addons/casings/functions/fnc_createCasing.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain / Cyruz / diwako * Produces a casing matching the fired weapons caliber on the ground around the unit @@ -26,17 +26,21 @@ if (isNil "_modelPath") then { private _cartridge = getText (configFile >> "CfgAmmo" >> _ammo >> "cartridge"); //Default cartridge is a 5.56mm model _modelPath = switch (_cartridge) do { - case "FxCartridge_9mm": { "A3\Weapons_f\ammo\cartridge_small.p3d" }; - case "FxCartridge_65": { "A3\weapons_f\ammo\cartridge_65.p3d" }; - case "FxCartridge_762": { "A3\weapons_f\ammo\cartridge_762.p3d" }; - case "FxCartridge_762x39": { "A3\weapons_f_enoch\ammo\cartridge_762x39.p3d" }; - case "FxCartridge_93x64_Ball": { "A3\Weapons_F_Mark\Ammo\cartridge_93x64.p3d" }; - case "FxCartridge_338_Ball": { "A3\Weapons_F_Mark\Ammo\cartridge_338_LM.p3d" }; - case "FxCartridge_338_NM": { "A3\Weapons_F_Mark\Ammo\cartridge_338_NM.p3d" }; - case "FxCartridge_127": { "A3\weapons_f\ammo\cartridge_127.p3d" }; - case "FxCartridge_127x54": { "A3\Weapons_F_Mark\Ammo\cartridge_127x54.p3d" }; - case "FxCartridge_slug": { "A3\weapons_f\ammo\cartridge_slug.p3d" }; - case "": { "" }; + case "FxCartridge_9mm": { "A3\Weapons_f\ammo\cartridge_small.p3d" }; + case "FxCartridge_65": { "A3\weapons_f\ammo\cartridge_65.p3d" }; + case "FxCartridge_762": { "A3\weapons_f\ammo\cartridge_762.p3d" }; + case "FxCartridge_762x39": { "A3\weapons_f_enoch\ammo\cartridge_762x39.p3d" }; + case "FxCartridge_93x64_Ball": { "A3\Weapons_F_Mark\Ammo\cartridge_93x64.p3d" }; + case "FxCartridge_338_Ball": { "A3\Weapons_F_Mark\Ammo\cartridge_338_LM.p3d" }; + case "FxCartridge_338_NM": { "A3\Weapons_F_Mark\Ammo\cartridge_338_NM.p3d" }; + case "FxCartridge_127": { "A3\weapons_f\ammo\cartridge_127.p3d" }; + case "FxCartridge_127x54": { "A3\Weapons_F_Mark\Ammo\cartridge_127x54.p3d" }; + case "FxCartridge_slug": { "A3\weapons_f\ammo\cartridge_slug.p3d" }; + case "FxCartridge_12Gauge_HE_lxWS": { "lxWS\weapons_1_f_lxws\Ammo\cartridge_he_lxws.p3d" }; + case "FxCartridge_12Gauge_Slug_lxWS": { "lxWS\weapons_1_f_lxws\Ammo\cartridge_slug_lxws.p3d" }; + case "FxCartridge_12Gauge_Smoke_lxWS": { "lxWS\weapons_1_f_lxws\Ammo\cartridge_smoke_lxws.p3d" }; + case "FxCartridge_12Gauge_Pellet_lxWS": { "lxWS\weapons_1_f_lxws\Ammo\cartridge_pellet_lxws.p3d" }; + case "": { "" }; default { "A3\Weapons_f\ammo\cartridge.p3d" }; }; GVAR(cachedCasings) set [_ammo, _modelPath]; diff --git a/addons/casings/functions/script_component.hpp b/addons/casings/functions/script_component.hpp deleted file mode 100644 index 88b44122b5..0000000000 --- a/addons/casings/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\casings\script_component.hpp" diff --git a/addons/casings/stringtable.xml b/addons/casings/stringtable.xml index 42b8a8c968..a71add3ea1 100644 --- a/addons/casings/stringtable.xml +++ b/addons/casings/stringtable.xml @@ -9,6 +9,9 @@ ACE 弹壳 ACE Гильзы ACE Casquillos + ACE Patronenhülsen + ACE Douilles + ACE Cartuchos Casings Enabled @@ -18,15 +21,21 @@ 开启弹壳生成 Гильзы включены Habilitar Casquillos + Patronenhülsen aktiviert + Douilles activées + Cartuchos habilitados Enable persistent casings (POTENTIAL performance impact on old/weak systems) 永続的な薬莢を有効にする (古い/弱いシステムに対する潜在的なパフォーマンスの影響) Włącz pozostawanie łusek (MOŻLIWY wpływ na wydajność na starych/słabych komputerach) - 영구적으로 남는 탄피를 활성화합니다(오래되고 취약한 시스템에 잠재적인 성능에 영향을 미칩니다.) + 영구적으로 남는 탄피를 활성화합니다(오래되거나 저사양에 잠재적인 성능 영향을 줄 수 있음) 开启生成持续存在的弹壳(可能对较老和性能不行的系统有影响) Включить постоянные гильзы (ПОТЕНЦИАЛЬНО может повлиять на производительность на старых/слабых системах) Habilitar persistencia de casquillos (POTENCIAL impacto en el rendimiento de ordenadores antiguos o no potentes) + Persistente Patronenhülsen aktivieren (POTENZIELLE Leistungseinbußen bei alten/schwachen Systemen) + Active la persistance des douilles (POTENTIEL impact sur les performances sur les anciens/faibles systèmes) + Habilitar persistência de cartuchos (POTENCIAL impacto no desempenho de sistemas antigos/fracos) Maximum casings @@ -36,6 +45,9 @@ 最大弹壳量 Макс. кол-во гильз Casquillos máximos + Maximale Patronenhülsen + Nombre maximum de douilles + Máxima de cartuchos Maximum amount of casings to display @@ -45,6 +57,9 @@ 显示的最大弹壳数量 Максимальное количество гильз для отображения Máxima cantidad de casquillos para mostrar + Maximale Anzahl an Patronenhülsen, die angezeigt werden + Nombre maximum de douilles à afficher + Quantidade máxima de cartuchos para exibir diff --git a/addons/chemlights/CfgMagazines.hpp b/addons/chemlights/CfgMagazines.hpp index a905f4efd1..cb88f28dc2 100644 --- a/addons/chemlights/CfgMagazines.hpp +++ b/addons/chemlights/CfgMagazines.hpp @@ -2,7 +2,7 @@ class CfgMagazines { class SmokeShell; - class Chemlight_Green: Smokeshell { + class Chemlight_Green: SmokeShell { ACE_Chemlight_Shield = "ACE_Chemlight_Shield_Green"; }; diff --git a/addons/chemlights/functions/fnc_compileChemlightMenu.sqf b/addons/chemlights/functions/fnc_compileChemlightMenu.sqf index c8cccb88bd..4deade18e6 100644 --- a/addons/chemlights/functions/fnc_compileChemlightMenu.sqf +++ b/addons/chemlights/functions/fnc_compileChemlightMenu.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: voiper * Compile list of chemlight classnames and add to the "Chemlight shield" parent menu. diff --git a/addons/chemlights/functions/fnc_getShieldComponents.sqf b/addons/chemlights/functions/fnc_getShieldComponents.sqf index f372241599..f942480146 100644 --- a/addons/chemlights/functions/fnc_getShieldComponents.sqf +++ b/addons/chemlights/functions/fnc_getShieldComponents.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: voiper * Check a unit for whether they're carrying a chemlight shield and a chemlight. diff --git a/addons/chemlights/functions/fnc_initIR.sqf b/addons/chemlights/functions/fnc_initIR.sqf index b6be8cf5fe..a49cf96447 100644 --- a/addons/chemlights/functions/fnc_initIR.sqf +++ b/addons/chemlights/functions/fnc_initIR.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: voiper * Spawn IR marker for dummy IR physX object. diff --git a/addons/chemlights/functions/fnc_isIRClass.sqf b/addons/chemlights/functions/fnc_isIRClass.sqf index 3d2021749e..7d43bc731c 100644 --- a/addons/chemlights/functions/fnc_isIRClass.sqf +++ b/addons/chemlights/functions/fnc_isIRClass.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: voiper * Check if an ammo classname is an IR chemlight. diff --git a/addons/chemlights/functions/fnc_prepShield.sqf b/addons/chemlights/functions/fnc_prepShield.sqf index 3f4f09d430..46c567a6b3 100644 --- a/addons/chemlights/functions/fnc_prepShield.sqf +++ b/addons/chemlights/functions/fnc_prepShield.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: voiper * Combine a chemlight shield item and a chemlight item into a light. diff --git a/addons/chemlights/functions/fnc_removeIR.sqf b/addons/chemlights/functions/fnc_removeIR.sqf index 1c40a5b126..e6c186c3f1 100644 --- a/addons/chemlights/functions/fnc_removeIR.sqf +++ b/addons/chemlights/functions/fnc_removeIR.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: voiper * Kill chemlight and any dummy objects attached to it. diff --git a/addons/chemlights/functions/fnc_throwEH.sqf b/addons/chemlights/functions/fnc_throwEH.sqf index 2bedff7cb7..49ec199db1 100644 --- a/addons/chemlights/functions/fnc_throwEH.sqf +++ b/addons/chemlights/functions/fnc_throwEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, voiper * Fired EH, for handling chemlight ThrowMuzzles. diff --git a/addons/chemlights/functions/fnc_throwIR.sqf b/addons/chemlights/functions/fnc_throwIR.sqf index b507c8e5b1..da581a90b0 100644 --- a/addons/chemlights/functions/fnc_throwIR.sqf +++ b/addons/chemlights/functions/fnc_throwIR.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: voiper * Create and throw IR chemlight. diff --git a/addons/chemlights/functions/script_component.hpp b/addons/chemlights/functions/script_component.hpp deleted file mode 100644 index 961201c26c..0000000000 --- a/addons/chemlights/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\chemlights\script_component.hpp" diff --git a/addons/chemlights/stringtable.xml b/addons/chemlights/stringtable.xml index ce31e952ab..b486802ba3 100644 --- a/addons/chemlights/stringtable.xml +++ b/addons/chemlights/stringtable.xml @@ -70,7 +70,7 @@ ケミライト (オレンジ) Świetlik (pomarańczowy) Knicklicht (orange) - 켐라이트 (주황) + 화학조명 (주황) Cyalume (orange) Luce chimica (Arancione) 螢光棒 (橘色) @@ -508,7 +508,7 @@ 螢光棒保護殼 (空) 荧光棒保护壳(空) Контейнер для химсвета (пустой) - Estojo de Luz (Vazio) + Protetor de Bastão de Luz (Vazio) Clona na chemické světlo Protector de luz química (Vacía) Işık çubuğu koruması (Boş) @@ -540,7 +540,7 @@ 螢光棒保護殼 (綠色) 荧光棒保护壳(绿色) Контейнер для химсвета (зелёный) - Estojo de Luz (Verde) + Protetor de Bastão de Luz (Verde) Clona s vloženým chemickým světlem (Zelené) Protector de luz química (Verde) Işık çubuğu koruması (Yeşil) @@ -572,7 +572,7 @@ 螢光棒保護殼 (紅色) 荧光棒保护壳(红色) Контейнер для химсвета (красный) - Estojo de Luz (Vermelho) + Protetor de Bastão de Luz (Vermelho) Clona s vloženým chemickým světlem (Červené) Protector de luz química (Roja) Işık çubuğu koruması (Kırmızıl) @@ -604,7 +604,7 @@ 螢光棒保護殼 (藍色) 荧光棒保护壳(蓝色) Контейнер для химсвета (синий) - Estojo de Luz (Azul) + Protetor de Bastão de Luz (Azul) Clona s vloženým chemickým světlem (Modré) Protector de luz química (Azul) Işık çubuğu koruması (Mavi) @@ -636,7 +636,7 @@ 螢光棒保護殼 (黃色) 荧光棒保护壳(黄色) Контейнер для химсвета (жёлтый) - Estojo de Luz (Amarelo) + Protetor de Bastão de Luz (Amarelo) Clona s vloženým chemickým světlem (Žluté) Protector de luz química (Amarilla) Işık çubuğu koruması (Sarı) @@ -668,7 +668,7 @@ 螢光棒保護殼 (橘色) 荧光棒保护壳(橘色) Контейнер для химсвета (оранжевый) - Estojo de Luz (Laranja) + Protetor de Bastão de Luz (Laranja) Clona s vloženým chemickým světlem (Oranžové) Protector de luz química (Naranja) Işık çubuğu koruması (Turuncu) @@ -700,7 +700,7 @@ 螢光棒保護殼 (白色) 荧光棒保护壳(白色) Контейнер для химсвета (белый) - Estojo de Luz (Branco) + Protetor de Bastão de Luz (Branco) Clona s vloženým chemickým světlem (Bílé) Protector de luz química (Blanca) Işık çubuğu koruması (Beyazl) diff --git a/addons/common/CfgEventHandlers.hpp b/addons/common/CfgEventHandlers.hpp index 4d4b0c7b59..70f35357c4 100644 --- a/addons/common/CfgEventHandlers.hpp +++ b/addons/common/CfgEventHandlers.hpp @@ -22,7 +22,7 @@ class Extended_DisplayLoad_EventHandlers { ADDON = QUOTE(_this call COMPILE_SCRIPT(XEH_missionDisplayLoad)); }; class RscUnitInfo { - ADDON = QUOTE([ARR_2('ace_infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call CBA_fnc_localEvent;); + ADDON = QUOTE([ARR_2('ace_infoDisplayChanged',[ARR_2(_this select 0,'Any')])] call CBA_fnc_localEvent;); }; }; diff --git a/addons/common/CompassControl.hpp b/addons/common/CompassControl.hpp index 971a4a2f99..627e18d2f8 100644 --- a/addons/common/CompassControl.hpp +++ b/addons/common/CompassControl.hpp @@ -19,6 +19,7 @@ class RscPicture; class RscControlsGroupNoScrollbars; class GVAR(CompassControl): RscControlsGroupNoScrollbars { + #pragma hemtt suppress pw3_padded_arg onLoad = QUOTE(\ params ['_control'];\ private _display = ctrlParent _control;\ @@ -58,6 +59,7 @@ class GVAR(CompassControl): RscControlsGroupNoScrollbars { h = QUOTE(HEIGHT); }; class CompassGroup: RscControlsGroupNoScrollbars { + #pragma hemtt suppress pw3_padded_arg onLoad = QUOTE(\ params ['_control'];\ private _display = ctrlParent _control;\ diff --git a/addons/common/HintConfig.hpp b/addons/common/HintConfig.hpp index 72fd7f6233..c299bee8df 100644 --- a/addons/common/HintConfig.hpp +++ b/addons/common/HintConfig.hpp @@ -10,6 +10,11 @@ class GVAR(debug_structuredText): ctrlStructuredText { }; class RscTitles { + class GVAR(ProgressBar_Display): GVAR(ProgressBar_Dialog) { + duration = 1e11; // forever, essentially + fadeIn = 0; + fadeOut = 0; + }; class GVAR(watchVariableUI) { idd = -1; onLoad = QUOTE(with uiNameSpace do {GVAR(watchVariableUI) = _this select 0};); diff --git a/addons/common/RscInfoType.hpp b/addons/common/RscInfoType.hpp index 0eadb83617..672d043276 100644 --- a/addons/common/RscInfoType.hpp +++ b/addons/common/RscInfoType.hpp @@ -2,107 +2,107 @@ class RscInGameUI { class RscUnitInfo; class RscUnitInfoNoHUD { - onLoad = QUOTE([ARR_2('ace_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('ace_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)];); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgVehicle',_this select 0)];); }; 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)];); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft',_this select 0)];); }; 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)];); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft',_this select 0)];); }; class RscUnitInfo_AH64D_gunner { - 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;); + 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('ace_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)];); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgSubmarine',_this select 0)];); }; 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)];); + onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgShip',_this select 0)];); }; class RscWeaponEmpty { - onLoad = QUOTE([ARR_2('ace_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('ace_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('ace_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('ace_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('ace_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('ace_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('ace_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('ace_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('ace_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('ace_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('ace_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('ace_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('ace_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('ace_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('ace_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('ace_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('ace_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 { @@ -110,6 +110,6 @@ class RscInGameUI { }; class RscStanceInfo { - 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;); + 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_PREP.hpp b/addons/common/XEH_PREP.hpp index 88d51e83e3..a029551fa1 100644 --- a/addons/common/XEH_PREP.hpp +++ b/addons/common/XEH_PREP.hpp @@ -27,6 +27,7 @@ PREP(canGetInPosition); PREP(canInteractWith); PREP(changeProjectileDirection); PREP(checkFiles); +PREP(checkFiles_diagnoseACE); PREP(checkPBOs); PREP(claim); PREP(claimSafeServer); @@ -191,6 +192,7 @@ PREP(toBin); PREP(toBitmask); PREP(toHex); PREP(toNumber); +PREP(throwWeapon); PREP(unhideUnit); PREP(uniqueElements); PREP(uniqueItems); diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 0e9dbd7898..477ec97523 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -28,6 +28,7 @@ ["setHidden", true, ["ace_unconscious"]] call FUNC(statusEffect_addType); ["blockRadio", false, [QEGVAR(captives,Handcuffed), QEGVAR(captives,Surrendered), "ace_unconscious"]] call FUNC(statusEffect_addType); ["blockSpeaking", false, ["ace_unconscious"]] call FUNC(statusEffect_addType); +["lockInventory", true, []] call FUNC(statusEffect_addType); [QGVAR(forceWalk), { params ["_object", "_set"]; @@ -120,6 +121,12 @@ _object setMass _mass; }] call CBA_fnc_addEventHandler; +[QGVAR(lockInventory), { + params ["_object", "_set"]; + TRACE_2("lockInventory EH",_object,_set); + _object lockInventory (_set > 0); +}] 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 if (isServer) then { diff --git a/addons/common/dev/test_cfgPatches.sqf b/addons/common/dev/test_cfgPatches.sqf index 9412651940..bd00869360 100644 --- a/addons/common/dev/test_cfgPatches.sqf +++ b/addons/common/dev/test_cfgPatches.sqf @@ -1,4 +1,4 @@ -#include "\z\ace\addons\common\script_component.hpp" +#include "..\script_component.hpp" // PabstMirror // ["cfgPatches"] call ace_common_fnc_runTests; diff --git a/addons/common/dev/test_mapConfigs.sqf b/addons/common/dev/test_mapConfigs.sqf index 1b5c8b04a9..369b2b1808 100644 --- a/addons/common/dev/test_mapConfigs.sqf +++ b/addons/common/dev/test_mapConfigs.sqf @@ -2,7 +2,7 @@ // ["mapConfigs"] call ace_common_fnc_runTests; // execVM "z\ace\addons\common\dev\test_mapConfigs.sqf"; -#include "\z\ace\addons\common\script_component.hpp" +#include "..\script_component.hpp" diag_log text format ["--- Checking Map Configs ---"]; diff --git a/addons/common/functions/fnc_ASLToPosition.sqf b/addons/common/functions/fnc_ASLToPosition.sqf index 81e99ef8c3..b99e9fb88a 100644 --- a/addons/common/functions/fnc_ASLToPosition.sqf +++ b/addons/common/functions/fnc_ASLToPosition.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Converts ASL to Arma "Position" diff --git a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf index f2c2d0ff2e..2d8f8be259 100644 --- a/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf +++ b/addons/common/functions/fnc__handleRequestAllSyncedEvents.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus * Handles a server-side request for synchronization ALL events on JIP to a client. diff --git a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf index c86aa9feac..a5bb286768 100644 --- a/addons/common/functions/fnc__handleRequestSyncedEvent.sqf +++ b/addons/common/functions/fnc__handleRequestSyncedEvent.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus * Receives either requests for synchronization from clients, or the synchronization data from the server. diff --git a/addons/common/functions/fnc__handleSyncedEvent.sqf b/addons/common/functions/fnc__handleSyncedEvent.sqf index 76e84ebdbb..a7b28de1a6 100644 --- a/addons/common/functions/fnc__handleSyncedEvent.sqf +++ b/addons/common/functions/fnc__handleSyncedEvent.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus * Handles synced events being received. Server will log them, and server/client will execute them. diff --git a/addons/common/functions/fnc_actionKeysNamesConverted.sqf b/addons/common/functions/fnc_actionKeysNamesConverted.sqf index 53ebba0cd6..dd62fc8789 100644 --- a/addons/common/functions/fnc_actionKeysNamesConverted.sqf +++ b/addons/common/functions/fnc_actionKeysNamesConverted.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Reports same as actionKeysNames(Array) but in a format processable by "keyDown". diff --git a/addons/common/functions/fnc_addActionEventHandler.sqf b/addons/common/functions/fnc_addActionEventHandler.sqf index 8fafef07cf..49846756a2 100644 --- a/addons/common/functions/fnc_addActionEventHandler.sqf +++ b/addons/common/functions/fnc_addActionEventHandler.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Add an addAction event to a unit. Used to handle multiple addAction events. Global arguments, local effects. Does only work for player controlled units. diff --git a/addons/common/functions/fnc_addActionMenuEventHandler.sqf b/addons/common/functions/fnc_addActionMenuEventHandler.sqf index 67d531c22e..02d61b141b 100644 --- a/addons/common/functions/fnc_addActionMenuEventHandler.sqf +++ b/addons/common/functions/fnc_addActionMenuEventHandler.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Add an addAction event to a unit. Used to handle multiple addAction events and add a action to the mouse wheel menu. Global arguments, local effects. Does only work for player controlled units. diff --git a/addons/common/functions/fnc_addCanInteractWithCondition.sqf b/addons/common/functions/fnc_addCanInteractWithCondition.sqf index 5db1a79a3d..d9c4e3335d 100644 --- a/addons/common/functions/fnc_addCanInteractWithCondition.sqf +++ b/addons/common/functions/fnc_addCanInteractWithCondition.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Add a condition that gets checked by ace_common_fnc_canInteractWith. diff --git a/addons/common/functions/fnc_addLineToDebugDraw.sqf b/addons/common/functions/fnc_addLineToDebugDraw.sqf index 3056d750d6..016c99ddf4 100644 --- a/addons/common/functions/fnc_addLineToDebugDraw.sqf +++ b/addons/common/functions/fnc_addLineToDebugDraw.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Add line to draw on debug diff --git a/addons/common/functions/fnc_addMapMarkerCreatedEventHandler.sqf b/addons/common/functions/fnc_addMapMarkerCreatedEventHandler.sqf index c698d30272..3fe674afcc 100644 --- a/addons/common/functions/fnc_addMapMarkerCreatedEventHandler.sqf +++ b/addons/common/functions/fnc_addMapMarkerCreatedEventHandler.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Add a map marker creation event handler. diff --git a/addons/common/functions/fnc_addSwayFactor.sqf b/addons/common/functions/fnc_addSwayFactor.sqf index ea2273f0f9..7a258bc12a 100644 --- a/addons/common/functions/fnc_addSwayFactor.sqf +++ b/addons/common/functions/fnc_addSwayFactor.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Adds a factor to player sway calculation diff --git a/addons/common/functions/fnc_addSyncedEventHandler.sqf b/addons/common/functions/fnc_addSyncedEventHandler.sqf index 4cf5163477..dbe0612e95 100644 --- a/addons/common/functions/fnc_addSyncedEventHandler.sqf +++ b/addons/common/functions/fnc_addSyncedEventHandler.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus * Register an event handler for an ACE synced event diff --git a/addons/common/functions/fnc_addToInventory.sqf b/addons/common/functions/fnc_addToInventory.sqf index e2fa778bec..39e6903390 100644 --- a/addons/common/functions/fnc_addToInventory.sqf +++ b/addons/common/functions/fnc_addToInventory.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Adds an item, weapon, or magazine to the unit's inventory or places it in a weaponHolder if no space. diff --git a/addons/common/functions/fnc_addWeapon.sqf b/addons/common/functions/fnc_addWeapon.sqf index f00cad8d09..16ae92c4f5 100644 --- a/addons/common/functions/fnc_addWeapon.sqf +++ b/addons/common/functions/fnc_addWeapon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, johnb43 * Adds weapon to unit without taking a magazine. diff --git a/addons/common/functions/fnc_ambientBrightness.sqf b/addons/common/functions/fnc_ambientBrightness.sqf index 608c35dfef..2b1e172cc0 100644 --- a/addons/common/functions/fnc_ambientBrightness.sqf +++ b/addons/common/functions/fnc_ambientBrightness.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, idea by Falke * Returns a brightness value depending on the sun and moon state. Ranges from 0 to 1 (dark ... bright). diff --git a/addons/common/functions/fnc_arithmeticGetResult.sqf b/addons/common/functions/fnc_arithmeticGetResult.sqf index 0263785789..e64fed6eb4 100644 --- a/addons/common/functions/fnc_arithmeticGetResult.sqf +++ b/addons/common/functions/fnc_arithmeticGetResult.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Returns the arithmetic result of performing the given operation on a set. diff --git a/addons/common/functions/fnc_arithmeticSetSource.sqf b/addons/common/functions/fnc_arithmeticSetSource.sqf index 388313ba11..2645e87c28 100644 --- a/addons/common/functions/fnc_arithmeticSetSource.sqf +++ b/addons/common/functions/fnc_arithmeticSetSource.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Adds or removes a source to an arithmetic set. diff --git a/addons/common/functions/fnc_assignObjectsInList.sqf b/addons/common/functions/fnc_assignObjectsInList.sqf index 764675fa5f..23d373c310 100644 --- a/addons/common/functions/fnc_assignObjectsInList.sqf +++ b/addons/common/functions/fnc_assignObjectsInList.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Loops through a string and filters out object names/variables to assign a value for given variable. diff --git a/addons/common/functions/fnc_assignedItemFix.sqf b/addons/common/functions/fnc_assignedItemFix.sqf index 444286eee3..942d170fea 100644 --- a/addons/common/functions/fnc_assignedItemFix.sqf +++ b/addons/common/functions/fnc_assignedItemFix.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Initialized the assigned item fix. diff --git a/addons/common/functions/fnc_binarizeNumber.sqf b/addons/common/functions/fnc_binarizeNumber.sqf index 780551756c..830417477a 100644 --- a/addons/common/functions/fnc_binarizeNumber.sqf +++ b/addons/common/functions/fnc_binarizeNumber.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get a binary equivalent of a decimal number. diff --git a/addons/common/functions/fnc_blurScreen.sqf b/addons/common/functions/fnc_blurScreen.sqf index 339a1138e6..bbc57d43a8 100644 --- a/addons/common/functions/fnc_blurScreen.sqf +++ b/addons/common/functions/fnc_blurScreen.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Blurs screen. diff --git a/addons/common/functions/fnc_cachedCall.sqf b/addons/common/functions/fnc_cachedCall.sqf index 0e2dd4b83e..0062aec1f3 100644 --- a/addons/common/functions/fnc_cachedCall.sqf +++ b/addons/common/functions/fnc_cachedCall.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain, Jaynus * Returns the result of the function and caches it up to a given time or event diff --git a/addons/common/functions/fnc_canDig.sqf b/addons/common/functions/fnc_canDig.sqf index 4a8da4e177..bd620d313a 100644 --- a/addons/common/functions/fnc_canDig.sqf +++ b/addons/common/functions/fnc_canDig.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg, commy2 * Checks if the player can dig on the surface below (enough dust). diff --git a/addons/common/functions/fnc_canGetInPosition.sqf b/addons/common/functions/fnc_canGetInPosition.sqf index c8870cebd7..d78e623d7b 100644 --- a/addons/common/functions/fnc_canGetInPosition.sqf +++ b/addons/common/functions/fnc_canGetInPosition.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Is the unit able to enter the vehicle in the given position? diff --git a/addons/common/functions/fnc_canInteractWith.sqf b/addons/common/functions/fnc_canInteractWith.sqf index b67e57964f..4cbcb1c19d 100644 --- a/addons/common/functions/fnc_canInteractWith.sqf +++ b/addons/common/functions/fnc_canInteractWith.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if the unit can interact. diff --git a/addons/common/functions/fnc_cbaSettings.sqf b/addons/common/functions/fnc_cbaSettings.sqf index 273c72323e..3e6f66fa42 100644 --- a/addons/common/functions/fnc_cbaSettings.sqf +++ b/addons/common/functions/fnc_cbaSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Called at pre-init: Loads all ace_settings and converts them to CBA Settings. diff --git a/addons/common/functions/fnc_cbaSettings_convertHelper.sqf b/addons/common/functions/fnc_cbaSettings_convertHelper.sqf index 08ebd101f5..4597cf3d40 100644 --- a/addons/common/functions/fnc_cbaSettings_convertHelper.sqf +++ b/addons/common/functions/fnc_cbaSettings_convertHelper.sqf @@ -1,5 +1,5 @@ #define DEBUG_MODE_FULL -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Dev function: Converts ace_settings to code, outputs to clipboard diff --git a/addons/common/functions/fnc_cbaSettings_loadFromConfig.sqf b/addons/common/functions/fnc_cbaSettings_loadFromConfig.sqf index a996f39158..d3a6f29f84 100644 --- a/addons/common/functions/fnc_cbaSettings_loadFromConfig.sqf +++ b/addons/common/functions/fnc_cbaSettings_loadFromConfig.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Converts a ace_setting config into a cba setting diff --git a/addons/common/functions/fnc_cbaSettings_settingChanged.sqf b/addons/common/functions/fnc_cbaSettings_settingChanged.sqf index 055e9b9da6..43711d4c97 100644 --- a/addons/common/functions/fnc_cbaSettings_settingChanged.sqf +++ b/addons/common/functions/fnc_cbaSettings_settingChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Function for handeling a cba setting being changed. diff --git a/addons/common/functions/fnc_cbaSettings_transferUserSettings.sqf b/addons/common/functions/fnc_cbaSettings_transferUserSettings.sqf index 869668cc21..eaa9d089fc 100644 --- a/addons/common/functions/fnc_cbaSettings_transferUserSettings.sqf +++ b/addons/common/functions/fnc_cbaSettings_transferUserSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Transfers a client's old ace settings to cba diff --git a/addons/common/functions/fnc_changeProjectileDirection.sqf b/addons/common/functions/fnc_changeProjectileDirection.sqf index f355662598..85f84d1fe9 100644 --- a/addons/common/functions/fnc_changeProjectileDirection.sqf +++ b/addons/common/functions/fnc_changeProjectileDirection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Adjust a projectiles velocity and dir + up vector. diff --git a/addons/common/functions/fnc_checkFiles.sqf b/addons/common/functions/fnc_checkFiles.sqf index 463ee20f0b..a5110aee6c 100644 --- a/addons/common/functions/fnc_checkFiles.sqf +++ b/addons/common/functions/fnc_checkFiles.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Compares version numbers of PBOs and DLLs. @@ -18,7 +18,9 @@ /////////////// // check addons /////////////// -private _version = getText (configFile >> "CfgPatches" >> "ace_main" >> "versionStr"); +private _mainCfg = configFile >> "CfgPatches" >> "ace_main"; +private _mainVersion = getText (_mainCfg >> "versionStr"); +private _mainSource = configSourceMod _mainCfg; //CBA Versioning check - close main display if using incompatible version private _cbaVersionAr = getArray (configFile >> "CfgPatches" >> "cba_main" >> "versionAr"); @@ -27,7 +29,7 @@ private _cbaRequiredAr = getArray (configFile >> "CfgSettings" >> "CBA" >> "Vers private _cbaVersionStr = _cbaVersionAr joinString "."; private _cbaRequiredStr = _cbaRequiredAr joinString "."; -INFO_3("ACE is version %1 - CBA is version %2 (min required %3)",_version,_cbaVersionStr,_cbaRequiredStr); +INFO_3("ACE is version %1 - CBA is version %2 (min required %3)",_mainVersion,_cbaVersionStr,_cbaRequiredStr); if ([_cbaRequiredAr, _cbaVersionAr] call cba_versioning_fnc_version_compare) then { private _errorMsg = format ["CBA version %1 is outdated (required %2)", _cbaVersionStr, _cbaRequiredStr]; @@ -39,29 +41,47 @@ if ([_cbaRequiredAr, _cbaVersionAr] call cba_versioning_fnc_version_compare) the //private _addons = activatedAddons; // broken with High-Command module, see #2134 private _addons = (cba_common_addons select {(_x select [0,4]) == "ace_"}) apply {toLower _x}; - +private _oldAddons = []; +private _oldSources = []; private _oldCompats = []; { - if (getText (configFile >> "CfgPatches" >> _x >> "versionStr") != _version) then { - private _errorMsg = format ["File %1.pbo is outdated.", _x]; - - ERROR(_errorMsg); + private _addonCfg = configFile >> "CfgPatches" >> _x; + private _addonVersion = getText (_addonCfg >> "versionStr"); + if (_addonVersion != _mainVersion) then { + private _addonSource = configSourceMod _addonCfg; + _oldSources pushBackUnique _addonSource; + call FUNC(checkFiles_diagnoseACE); if ((_x select [0, 10]) != "ace_compat") then { if (hasInterface) then { - ["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage); + _oldAddons pushBack _x; }; } else { - _oldCompats pushBack _x; // Don't block game if it's just an old compat pbo + _oldCompats pushBack [_x, _addonVersion]; // Don't block game if it's just an old compat pbo }; }; - false -} count _addons; +} forEach _addons; + +if (_oldAddons isNotEqualTo []) then { + _oldAddons = _oldAddons apply {"%1.pbo", _x}; + private _errorMsg = ""; + if (count _oldAddons > 3) then { + _errorMsg = format ["The following files are outdated: %1, and %2 more.
ACE Main version is %3 from %4.
Loaded mods with outdated ACE files: %5", (_oldAddons select [0, 3]) joinString ", ", (count _oldAddons) -3, _mainVersion, _mainSource, (_oldSources joinString ", ")]; + } else { + _errorMsg = format ["The following files are outdated: %1.
ACE Main version is %2 from %3.
Loaded mods with outdated ACE files: %4", (_oldAddons) joinString ", ", _mainVersion, _mainSource, (_oldSources) joinString ", "]; + }; + if (hasInterface) then { + ["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage); + }; + ERROR(_errorMsg); +}; + if (_oldCompats isNotEqualTo []) then { + _oldCompats = _oldCompats apply {format ["%1 (%2)", _x select 0, _x select 1]}; [{ // Lasts for ~10 seconds - ERROR_WITH_TITLE_1("The following ACE compatiblity PBOs are outdated", "%1", _this); - }, _oldCompats, 1] call CBA_fnc_waitAndExecute; + ERROR_WITH_TITLE_3("The following ACE compatiblity PBOs are outdated", "%1. ACE Main version is %2 from %3.",_this select 0,_this select 1,_this select 2); + }, [_oldCompats, _mainVersion, _mainSource], 1] call CBA_fnc_waitAndExecute; }; /////////////// @@ -116,7 +136,7 @@ if (isMultiplayer) then { if (isServer) then { // send servers version of ACE to all clients - GVAR(ServerVersion) = _version; + GVAR(ServerVersion) = _mainVersion; GVAR(ServerAddons) = _addons; publicVariable QGVAR(ServerVersion); publicVariable QGVAR(ServerAddons); @@ -125,11 +145,12 @@ if (isMultiplayer) then { [{ if (isNil QGVAR(ServerVersion) || isNil QGVAR(ServerAddons)) exitWith {}; - (_this select 0) params ["_version", "_addons"]; + (_this select 0) params ["_mainVersion", "_addons"]; - if (_version != GVAR(ServerVersion)) then { - private _errorMsg = format ["Client/Server Version Mismatch. Server: %1, Client: %2.", GVAR(ServerVersion), _version]; + if (_mainVersion != GVAR(ServerVersion)) then { + private _errorMsg = format ["Client/Server Version Mismatch. Server: %1, Client: %2.", GVAR(ServerVersion), _mainVersion]; + call FUNC(checkFiles_diagnoseACE); ERROR(_errorMsg); if (hasInterface) then { @@ -141,6 +162,7 @@ if (isMultiplayer) then { if (_addons isNotEqualTo []) then { private _errorMsg = format ["Client/Server Addon Mismatch. Client has extra addons: %1.",_addons]; + call FUNC(checkFiles_diagnoseACE); ERROR(_errorMsg); if (hasInterface) then { @@ -149,6 +171,6 @@ if (isMultiplayer) then { }; [_this select 1] call CBA_fnc_removePerFrameHandler; - }, 1, [_version,_addons]] call CBA_fnc_addPerFrameHandler; + }, 1, [_mainVersion,_addons]] call CBA_fnc_addPerFrameHandler; }; }; diff --git a/addons/common/functions/fnc_checkFiles_diagnoseACE.sqf b/addons/common/functions/fnc_checkFiles_diagnoseACE.sqf new file mode 100644 index 0000000000..5b7f80198b --- /dev/null +++ b/addons/common/functions/fnc_checkFiles_diagnoseACE.sqf @@ -0,0 +1,58 @@ +#include "..\script_component.hpp" +/* + * Author: PabstMirror + * Diagnose ACE install problems, this will only be called if there is a known problem + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * [] call ace_common_fnc_checkFiles_diagnoseACE + * + * Public: No + */ + +// Only run once +if (missionNameSpace getVariable [QGVAR(checkFiles_diagnoseACE), false]) exitWith {}; +GVAR(checkFiles_diagnoseACE) = true; + +private _addons = cba_common_addons select {(_x select [0,4]) == "ace_"}; +private _cfgPatches = configFile >> "CfgPatches"; +private _allMods = createHashMap; + +// Check ACE_ADDONs are in expected mod DIR +{ + private _cfg = (_cfgPatches >> _x); + private _actualModDir = configSourceMod _cfg; + private _expectedModDir = getText (_cfg >> "ACE_expectedModDir"); + if (_expectedModDir == "") then { _expectedModDir = "@ace" }; + private _expectedSteamID = getText (_cfg >> "ACE_expectedSteamID"); + if (_expectedSteamID == "") then { _expectedSteamID = "463939057" }; + + (_allMods getOrDefault [_actualModDir, [], true]) pushBackUnique _expectedSteamID; + if (_actualModDir != _expectedModDir) then { + private _errorMsg = format ["%1 loading from unexpected modDir [%2]",_x,_actualModDir]; + systemChat _errorMsg; + WARNING_1("%1",_errorMsg); + }; +} forEach _addons; + +// Check all ACE ModDirs have expected steam WS ID +{ + private _modDir = _x; + if ((count _y) != 1) then { ERROR_2("Unexpected multiple steamIDs %1 - %2",_modDir,_y) }; + private _expectedSteamID = _y # 0; + private _index = getLoadedModsInfo findIf {_x#1 == _modDir}; + (getLoadedModsInfo param [_index, []]) params [["_modName", "$Error$"], "", "", "", "", "", "", ["_actualID", ""]]; + + if (_actualID != _expectedSteamID) then { + private _errorMsg = format ["%1 [%2] unexpected workshopID [%3]",_modDir,_modName,_actualID]; + systemChat _errorMsg; + WARNING_1("%1",_errorMsg); + }; +} forEach _allMods; + +_allMods diff --git a/addons/common/functions/fnc_checkPBOs.sqf b/addons/common/functions/fnc_checkPBOs.sqf index b45fae45d6..f69f486d5e 100644 --- a/addons/common/functions/fnc_checkPBOs.sqf +++ b/addons/common/functions/fnc_checkPBOs.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Used to execute the checkPBOs module without placing the module. Don't use this together with the module. diff --git a/addons/common/functions/fnc_claim.sqf b/addons/common/functions/fnc_claim.sqf index 130bbac79b..06b13d0778 100644 --- a/addons/common/functions/fnc_claim.sqf +++ b/addons/common/functions/fnc_claim.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Unit claims the ownership over an object. This is used to prevent multiple players from draging the same ammo box or using up the same wheel when repairing etc. diff --git a/addons/common/functions/fnc_claimSafeServer.sqf b/addons/common/functions/fnc_claimSafeServer.sqf index e6520aad87..b8d761c22a 100644 --- a/addons/common/functions/fnc_claimSafeServer.sqf +++ b/addons/common/functions/fnc_claimSafeServer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, PabstMirror * Unit claims the ownership over an object. This is used to prevent multiple players from draging the same ammo box or using up the same wheel when repairing etc. diff --git a/addons/common/functions/fnc_codeToString.sqf b/addons/common/functions/fnc_codeToString.sqf index 8d746e9024..e686dc353b 100644 --- a/addons/common/functions/fnc_codeToString.sqf +++ b/addons/common/functions/fnc_codeToString.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Removes the brackets around a code and returns the code as a string. It does nothing if the code is already a string. diff --git a/addons/common/functions/fnc_createOrthonormalReference.sqf b/addons/common/functions/fnc_createOrthonormalReference.sqf index 8efce65220..1b57dd6f0d 100644 --- a/addons/common/functions/fnc_createOrthonormalReference.sqf +++ b/addons/common/functions/fnc_createOrthonormalReference.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Returns a orthonormal system of reference aligned with the supplied vector diff --git a/addons/common/functions/fnc_currentChannel.sqf b/addons/common/functions/fnc_currentChannel.sqf index 350f91c9a2..da43a7e2c9 100644 --- a/addons/common/functions/fnc_currentChannel.sqf +++ b/addons/common/functions/fnc_currentChannel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns the current radio / chat / marker channel. diff --git a/addons/common/functions/fnc_debug.sqf b/addons/common/functions/fnc_debug.sqf index 2e08a19faf..055bf58380 100644 --- a/addons/common/functions/fnc_debug.sqf +++ b/addons/common/functions/fnc_debug.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Print logging messages through the ACE framework. diff --git a/addons/common/functions/fnc_debugModule.sqf b/addons/common/functions/fnc_debugModule.sqf index 90ad5ab6ba..c77b5a27ee 100644 --- a/addons/common/functions/fnc_debugModule.sqf +++ b/addons/common/functions/fnc_debugModule.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * ? diff --git a/addons/common/functions/fnc_defineVariable.sqf b/addons/common/functions/fnc_defineVariable.sqf index ba12d1c426..6cf537b1f8 100644 --- a/addons/common/functions/fnc_defineVariable.sqf +++ b/addons/common/functions/fnc_defineVariable.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Define a variable for the ACE variable framework diff --git a/addons/common/functions/fnc_deprecateComponent.sqf b/addons/common/functions/fnc_deprecateComponent.sqf index 834803bd45..5408a896a1 100644 --- a/addons/common/functions/fnc_deprecateComponent.sqf +++ b/addons/common/functions/fnc_deprecateComponent.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Mark a component as deprecated and switches it to a new component if that is available diff --git a/addons/common/functions/fnc_deviceKeyFindValidIndex.sqf b/addons/common/functions/fnc_deviceKeyFindValidIndex.sqf index 1e8ea86a53..062d10793e 100644 --- a/addons/common/functions/fnc_deviceKeyFindValidIndex.sqf +++ b/addons/common/functions/fnc_deviceKeyFindValidIndex.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Finds next valid index for the device array. diff --git a/addons/common/functions/fnc_deviceKeyRegisterNew.sqf b/addons/common/functions/fnc_deviceKeyRegisterNew.sqf index 2e6dbbee99..9479efe916 100644 --- a/addons/common/functions/fnc_deviceKeyRegisterNew.sqf +++ b/addons/common/functions/fnc_deviceKeyRegisterNew.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Finds next valid index for the device array. diff --git a/addons/common/functions/fnc_disableAI.sqf b/addons/common/functions/fnc_disableAI.sqf index 88b6f2bd49..52f1ed37c3 100644 --- a/addons/common/functions/fnc_disableAI.sqf +++ b/addons/common/functions/fnc_disableAI.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, KoffeinFlummi * Disables/Enables AI diff --git a/addons/common/functions/fnc_disableUserInput.sqf b/addons/common/functions/fnc_disableUserInput.sqf index 65b127891e..4037a168b7 100644 --- a/addons/common/functions/fnc_disableUserInput.sqf +++ b/addons/common/functions/fnc_disableUserInput.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "\a3\ui_f_curator\ui\defineResinclDesign.inc" /* * Author: commy2 @@ -60,7 +60,7 @@ if (_state) then { }; private _ctrl = _dlg displayctrl 103; - _ctrl ctrlSetEventHandler ["buttonClick", QUOTE(while {!isNull (uiNamespace getVariable [ARR_2(QUOTE(QGVAR(dlgDisableMouse)),displayNull)])} do {closeDialog 0}; failMission 'LOSER'; [false] call DFUNC(disableUserInput);)]; + _ctrl ctrlSetEventHandler ["buttonClick", QUOTE(while {!isNull (uiNamespace getVariable [ARR_2(QUOTE(QGVAR(dlgDisableMouse)),displayNull)])} do {closeDialog 0}; failMission 'LOSER'; [false] call DFUNC(disableUserInput))]; _ctrl ctrlEnable true; _ctrl ctrlSetText "ABORT"; _ctrl ctrlSetTooltip "Abort."; @@ -69,7 +69,7 @@ if (_state) then { if (["ace_medical"] call FUNC(isModLoaded)) then { _ctrl ctrlSetEventHandler ["buttonClick", 'closeDialog 0; [player, "respawn_button"] call EFUNC(medical_status,setDead); [false] call DFUNC(disableUserInput);']; } else { - _ctrl ctrlSetEventHandler ["buttonClick", QUOTE(closeDialog 0; player setDamage 1; [false] call DFUNC(disableUserInput);)]; + _ctrl ctrlSetEventHandler ["buttonClick", QUOTE(closeDialog 0; player setDamage 1; [false] call DFUNC(disableUserInput))]; }; _ctrl ctrlEnable ((getMissionConfigValue ["respawnButton", -1]) != 0); // handles 3den attribute or description.ext _ctrl ctrlSetText localize "$str_3den_multiplayer_attributecategory_respawn_displayname"; diff --git a/addons/common/functions/fnc_displayIcon.sqf b/addons/common/functions/fnc_displayIcon.sqf index 96572bffc1..1b307fdf33 100644 --- a/addons/common/functions/fnc_displayIcon.sqf +++ b/addons/common/functions/fnc_displayIcon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Draw progress bar and execute given function if succesful. diff --git a/addons/common/functions/fnc_displayText.sqf b/addons/common/functions/fnc_displayText.sqf index f34a0cdfcd..cdec636b13 100644 --- a/addons/common/functions/fnc_displayText.sqf +++ b/addons/common/functions/fnc_displayText.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Display a message. diff --git a/addons/common/functions/fnc_displayTextPicture.sqf b/addons/common/functions/fnc_displayTextPicture.sqf index b25945382f..2da2977482 100644 --- a/addons/common/functions/fnc_displayTextPicture.sqf +++ b/addons/common/functions/fnc_displayTextPicture.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Glowbal * Display a structured text with image. diff --git a/addons/common/functions/fnc_displayTextStructured.sqf b/addons/common/functions/fnc_displayTextStructured.sqf index e54e481b5a..a9376552a9 100644 --- a/addons/common/functions/fnc_displayTextStructured.sqf +++ b/addons/common/functions/fnc_displayTextStructured.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Glowbal, GitHawk * Display a structured text. diff --git a/addons/common/functions/fnc_doAnimation.sqf b/addons/common/functions/fnc_doAnimation.sqf index 667ab792c1..9e85c30dce 100644 --- a/addons/common/functions/fnc_doAnimation.sqf +++ b/addons/common/functions/fnc_doAnimation.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Execute an animation. This is used to not break things like the unconsciousness animation. diff --git a/addons/common/functions/fnc_doGesture.sqf b/addons/common/functions/fnc_doGesture.sqf index 3aa4656cfd..84d448143a 100644 --- a/addons/common/functions/fnc_doGesture.sqf +++ b/addons/common/functions/fnc_doGesture.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Play a gesture. diff --git a/addons/common/functions/fnc_dropBackpack.sqf b/addons/common/functions/fnc_dropBackpack.sqf index 38f1be8a52..f87f462561 100644 --- a/addons/common/functions/fnc_dropBackpack.sqf +++ b/addons/common/functions/fnc_dropBackpack.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Drops a backback. Also returns the ground wepaon holder object of the dropped backpack. diff --git a/addons/common/functions/fnc_dumpArray.sqf b/addons/common/functions/fnc_dumpArray.sqf index 4997ad119a..754b811314 100644 --- a/addons/common/functions/fnc_dumpArray.sqf +++ b/addons/common/functions/fnc_dumpArray.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ? * Dumps an array to the RPT, showing the depth of each element. diff --git a/addons/common/functions/fnc_dumpPerformanceCounters.sqf b/addons/common/functions/fnc_dumpPerformanceCounters.sqf index 2dad092a2c..fa0b4e4e6d 100644 --- a/addons/common/functions/fnc_dumpPerformanceCounters.sqf +++ b/addons/common/functions/fnc_dumpPerformanceCounters.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ? * Dumps performance counter statistics into Logs. diff --git a/addons/common/functions/fnc_endRadioTransmission.sqf b/addons/common/functions/fnc_endRadioTransmission.sqf index 443bf3c9de..289936c95e 100644 --- a/addons/common/functions/fnc_endRadioTransmission.sqf +++ b/addons/common/functions/fnc_endRadioTransmission.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/common/functions/fnc_eraseCache.sqf b/addons/common/functions/fnc_eraseCache.sqf index 79eb4444fa..1f574db588 100644 --- a/addons/common/functions/fnc_eraseCache.sqf +++ b/addons/common/functions/fnc_eraseCache.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Deletes a cached result diff --git a/addons/common/functions/fnc_errorMessage.sqf b/addons/common/functions/fnc_errorMessage.sqf index c062c8836c..021fdba10c 100644 --- a/addons/common/functions/fnc_errorMessage.sqf +++ b/addons/common/functions/fnc_errorMessage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, based on BIS_fnc_errorMsg and BIS_fnc_guiMessage by Karel Moricky (BI) * Stops simulation and opens a textbox with error message. diff --git a/addons/common/functions/fnc_escapeRegex.sqf b/addons/common/functions/fnc_escapeRegex.sqf index adaa8bb557..8266a7dfa7 100644 --- a/addons/common/functions/fnc_escapeRegex.sqf +++ b/addons/common/functions/fnc_escapeRegex.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Escapes special characters used in regex from a string diff --git a/addons/common/functions/fnc_findUnloadPosition.sqf b/addons/common/functions/fnc_findUnloadPosition.sqf index c0605c477d..2047f7349d 100644 --- a/addons/common/functions/fnc_findUnloadPosition.sqf +++ b/addons/common/functions/fnc_findUnloadPosition.sqf @@ -1,139 +1,151 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, ViperMaul * Find a safe place near a vehicle to unload something. - * Handles Normal Terrain, In Water or On Buildings (Pier, StaticShip). + * Handles normal terrain, water or on buildings (Pier, StaticShip). * * Arguments: - * 0: Source Vehicle - * 1: Cargo or - * 2: Unloader (player) (default: objNull) - * 3: Max Distance (meters) (default: 10) - * 4: Check Vehicle is Stable (default: true) + * 0: Holder object (vehicle) + * 1: Item to be unloaded or + * 2: Unit doing the unloading (default: objNull) + * 3: Max distance (meters) (default: 10) + * 4: Check if holder object is stable (default: true) * * Return Value: - * Unload PositionAGL (can Be [] if no valid pos found) + * Unload PositionAGL ([] if no valid pos found) * * Example: - * [theCar, "CAManBase", player, 10, true] call ace_common_fnc_findUnloadPosition + * [cursorObject, "CAManBase", player, 10, true] call ace_common_fnc_findUnloadPosition * * Public: No */ -//Number of tests run (effects performance in worst case scenarior where nothing is found VERSUES reliably finding a pos): +// Number of tests run (effects performance in worst case scenario where nothing is found VERSUS reliably finding a pos) #define MAX_TESTS 75 -//Manual collision tests (count and radius): +// Manual collision tests (count and radius) #define COL_TEST_COUNT 12 -params ["_vehicle", "_cargo", ["_theUnloader", objNull], ["_maxDistance", 10], ["_checkVehicleIsStable", true]]; -TRACE_5("params",_vehicle,_cargo,_theUnloader,_maxDistance,_checkVehicleIsStable); +params ["_vehicle", "_item", ["_unloader", objNull], ["_maxDistance", 10], ["_checkVehicleIsStable", true]]; +TRACE_5("params",_vehicle,_item,_unloader,_maxDistance,_checkVehicleIsStable); scopeName "main"; if (_checkVehicleIsStable) then { if (((vectorMagnitude (velocity _vehicle)) > 1.5) || {(!(_vehicle isKindOf "Ship")) && {(!isTouchingGround _vehicle) && {((getPos _vehicle) select 2) > 1.5}}}) then { TRACE_4("bad vehicle state",_vehicle,velocity _vehicle,isTouchingGround _vehicle,getPos _vehicle); - [] breakOut "main"; + + [] breakOut "main" }; }; private _radiusOfItem = 1; -if (_cargo isKindOf "CAManBase") then { + +if (_item isKindOf "CAManBase") then { _radiusOfItem = 1.1; } else { - //`sizeOf` is unreliable, and does not work with object types that don't exist on map, so estimate size based on cargo size - private _configOfCargo = if (_cargo isEqualType objNull) then { - configOf _cargo - } else { - configFile >> "CfgVehicles" >> _cargo - }; - private _itemSize = if (isNumber (_configOfCargo >> QEGVAR(cargo,size)) && {getNumber (_configOfCargo >> QEGVAR(cargo,size)) != -1}) then { - getNumber (_configOfCargo >> QEGVAR(cargo,size)); - } else { - if (["ace_cargo"] call FUNC(isModLoaded)) then { - [_cargo] call EFUNC(cargo,getSizeItem); - } else { - _radiusOfItem; + // `sizeOf` is unreliable, and does not work with object types that don't exist on map, so estimate size based on cargo size + if (["ace_cargo"] call FUNC(isModLoaded)) then { + private _itemSize = _item call EFUNC(cargo,getSizeItem); + + if (_itemSize > 0) then { + _radiusOfItem = (_itemSize ^ 0.35) max 0.75; }; }; - if (_itemSize != -1) then { - _radiusOfItem = (_itemSize ^ 0.35) max 0.75; - }; }; -if (isNull _theUnloader) then {_theUnloader = _vehicle;}; +if (isNull _unloader || {_unloader in _vehicle}) then { + _unloader = _vehicle; +}; -//Ideal unload pos is halfway between unloader and vehicle (at the unloader's height) -private _originASL = ((getPosASL _theUnloader) vectorAdd (getPosASL _vehicle)) vectorMultiply 0.5; -_originASL set [2, (getPosASL _theUnloader) select 2]; +// Ideal unload pos is halfway between unloader and vehicle (at the unloader's height) +private _originASL = ((getPosASL _unloader) vectorAdd (getPosASL _vehicle)) vectorMultiply 0.5; +_originASL set [2, (getPosASL _unloader) select 2]; private _originAGL = ASLtoAGL _originASL; -//Do a manual search for empty pos (handles underwater, buildings or piers) +// Do a manual search for empty pos (handles underwater, buildings or piers) TRACE_2("Checking for unload",_originAGL,_radiusOfItem); private _rangeToCheck = 0; + while {_rangeToCheck < _maxDistance} do { private _roundDistance = random _rangeToCheck; private _roundAngle = random 360; private _roundAGL = _originAGL vectorAdd [(cos _roundAngle) * _roundDistance, (sin _roundAngle) * _roundDistance, 0]; private _roundPointIsValid = false; + if (((AGLtoASL _roundAGL) select 2) > 0) then { - //Shoot a ray down, and make sure we hit something solid like a building or the ground: - private _belowRoundArray = lineIntersectsSurfaces [(AGLtoASL _roundAGL) vectorAdd [0,0,0.5], (AGLtoASL _roundAGL) vectorAdd [0,0,-1]]; + // Shoot a ray down, and make sure we hit something solid like a building or the ground + private _belowRoundArray = lineIntersectsSurfaces [(AGLtoASL _roundAGL) vectorAdd [0, 0, 0.5], (AGLtoASL _roundAGL) vectorAdd [0, 0, -1]]; TRACE_4("Testing for solid",_roundDistance,_roundAngle,_roundAGL,_belowRoundArray); + if (_belowRoundArray isNotEqualTo []) then { private _aboveBuilding = (_belowRoundArray select 0) select 2; - //Point is above something: Terrain(null) or Building + + // Point is above something: Terrain (null) or Building if ((isNull _aboveBuilding) || {_aboveBuilding isKindOf "Building"}) then { - //Get the real intersection point: + // Get the real intersection point _roundAGL = ASLtoAGL ((_belowRoundArray select 0) select 0); + _roundPointIsValid = true; }; }; } else { - //Underwater, just unload anywhere + // Underwater, just unload anywhere TRACE_3("Under the sea",_roundDistance,_roundAngle,_roundAGL); + _roundPointIsValid = true; }; - //Make sure point is valid and do a fast check for people in the way (which sometimes aren't caught by line scaning) + // Make sure point is valid and do a fast check for people in the way (which sometimes aren't caught by line scanning) if (_roundPointIsValid && {(_roundAGL nearEntities ["Man", _radiusOfItem]) isEqualTo []}) then { for "_index" from 0 to (COL_TEST_COUNT -1) do { - //Scan for colisions with objects with lineIntersectsSurfaces + // Scan for collisions with objects with lineIntersectsSurfaces private _angle = _index * (360 / COL_TEST_COUNT); private _point1ASL = (AGLtoASL _roundAGL) vectorAdd [_radiusOfItem * cos _angle, _radiusOfItem * sin _angle, 0.1]; - private _point2ASL = (AGLtoASL _roundAGL) vectorAdd [-_radiusOfItem * cos _angle, -_radiusOfItem * sin _angle, (_radiusOfItem + 0.5)]; + private _point2ASL = (AGLtoASL _roundAGL) vectorAdd [-_radiusOfItem * cos _angle, -_radiusOfItem * sin _angle, _radiusOfItem + 0.5]; private _testIntersections = lineIntersectsSurfaces [_point1ASL, _point2ASL]; + if (((count _testIntersections) == 1) && {isNull ((_testIntersections select 0) select 2)}) then { private _hitGroundASL = (_testIntersections select 0) select 0; private _hitHeightOffset = ((AGLtoASL _roundAGL) select 2) - (_hitGroundASL select 2); private _hit2dOffset = _roundAGL distance2D _hitGroundASL; private _slope = _hitHeightOffset atan2 _hit2dOffset; - if (_slope < 25) then { //Ignore ground hit if slope is reasonable + + // Ignore ground hit if slope is reasonable + if (_slope < 25) then { _testIntersections = []; }; }; + if (_testIntersections isNotEqualTo []) exitWith { TRACE_2("collision low/high",_roundAGL,_testIntersections); + _roundPointIsValid = false; }; + _point1ASL = (AGLtoASL _roundAGL) vectorAdd [_radiusOfItem * cos _angle, _radiusOfItem * sin _angle, 0.5]; _point2ASL = (AGLtoASL _roundAGL) vectorAdd [-_radiusOfItem * cos _angle, -_radiusOfItem * sin _angle, 1]; _testIntersections = lineIntersectsSurfaces [_point1ASL, _point2ASL]; + if (_testIntersections isNotEqualTo []) exitWith { TRACE_2("collision mid",_roundAGL,_testIntersections); + _roundPointIsValid = false; }; }; + if (_roundPointIsValid) then { - TRACE_3("Valid point found", _rangeToCheck,_roundAGL, (_originAGL distance _roundAGL)); - //Raise it slightly so we don't sink through the floor: - (_roundAGL vectorAdd [0,0,0.05]) breakOut "main"; + TRACE_3("Valid point found",_rangeToCheck,_roundAGL,_originAGL distance _roundAGL); + + // Raise it slightly so we don't sink through the floor + (_roundAGL vectorAdd [0, 0, 0.05]) breakOut "main"; // return }; }; + _rangeToCheck = _rangeToCheck + (_maxDistance / MAX_TESTS); }; TRACE_1("no valid spots found",_rangeToCheck); -[] //return empty array + +[] // return diff --git a/addons/common/functions/fnc_firedEH.sqf b/addons/common/functions/fnc_firedEH.sqf index 22a64f5c23..9a4c8e50d6 100644 --- a/addons/common/functions/fnc_firedEH.sqf +++ b/addons/common/functions/fnc_firedEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Unfied handling of weapon fire diff --git a/addons/common/functions/fnc_fixCollision.sqf b/addons/common/functions/fnc_fixCollision.sqf index ee61d83c35..0269ccb594 100644 --- a/addons/common/functions/fnc_fixCollision.sqf +++ b/addons/common/functions/fnc_fixCollision.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Attempt to fix PhysX collisions causing unreasonable impact forces and damage. diff --git a/addons/common/functions/fnc_fixFloating.sqf b/addons/common/functions/fnc_fixFloating.sqf index 03e7933e2e..e82375cbbf 100644 --- a/addons/common/functions/fnc_fixFloating.sqf +++ b/addons/common/functions/fnc_fixFloating.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Attempt to fix floating physx with disabled damage after setPosXXX commands. diff --git a/addons/common/functions/fnc_fixLoweredRifleAnimation.sqf b/addons/common/functions/fnc_fixLoweredRifleAnimation.sqf index d89a3978c6..4e8aa1ec2a 100644 --- a/addons/common/functions/fnc_fixLoweredRifleAnimation.sqf +++ b/addons/common/functions/fnc_fixLoweredRifleAnimation.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Fixes the lowered rifle animation diff --git a/addons/common/functions/fnc_fixPosition.sqf b/addons/common/functions/fnc_fixPosition.sqf index e4f956dadb..79d3c6272b 100644 --- a/addons/common/functions/fnc_fixPosition.sqf +++ b/addons/common/functions/fnc_fixPosition.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Jonpas * Fixes position of an object. E.g. moves object above ground and adjusts to terrain slope. Requires local object. diff --git a/addons/common/functions/fnc_getAddon.sqf b/addons/common/functions/fnc_getAddon.sqf index 45320b27ab..b1a6f7cf99 100644 --- a/addons/common/functions/fnc_getAddon.sqf +++ b/addons/common/functions/fnc_getAddon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: johnb43 * Returns a config's addon. diff --git a/addons/common/functions/fnc_getAllDefinedSetVariables.sqf b/addons/common/functions/fnc_getAllDefinedSetVariables.sqf index eeb96002d1..6642a09789 100644 --- a/addons/common/functions/fnc_getAllDefinedSetVariables.sqf +++ b/addons/common/functions/fnc_getAllDefinedSetVariables.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Returns an 2d array of all variables that have been set on the object diff --git a/addons/common/functions/fnc_getAwakeAnim.sqf b/addons/common/functions/fnc_getAwakeAnim.sqf index c58e2796ba..e7db13ac63 100644 --- a/addons/common/functions/fnc_getAwakeAnim.sqf +++ b/addons/common/functions/fnc_getAwakeAnim.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Report awake animation of unit inside vehicle. diff --git a/addons/common/functions/fnc_getChildren.sqf b/addons/common/functions/fnc_getChildren.sqf index 998d0b4399..b632b0642f 100644 --- a/addons/common/functions/fnc_getChildren.sqf +++ b/addons/common/functions/fnc_getChildren.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Obtain children of a config entry diff --git a/addons/common/functions/fnc_getConfigCommander.sqf b/addons/common/functions/fnc_getConfigCommander.sqf index a49664bcf2..6fbe381173 100644 --- a/addons/common/functions/fnc_getConfigCommander.sqf +++ b/addons/common/functions/fnc_getConfigCommander.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the commander config of a vehicles turret. diff --git a/addons/common/functions/fnc_getConfigGunner.sqf b/addons/common/functions/fnc_getConfigGunner.sqf index d1e86a9bd0..68aa432aa3 100644 --- a/addons/common/functions/fnc_getConfigGunner.sqf +++ b/addons/common/functions/fnc_getConfigGunner.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the gunner config of a vehicles turret. diff --git a/addons/common/functions/fnc_getConfigName.sqf b/addons/common/functions/fnc_getConfigName.sqf index 80aa9549d6..54ebf84343 100644 --- a/addons/common/functions/fnc_getConfigName.sqf +++ b/addons/common/functions/fnc_getConfigName.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: johnb43 * Returns an item's config case sensitive name. diff --git a/addons/common/functions/fnc_getCountOfItem.sqf b/addons/common/functions/fnc_getCountOfItem.sqf index a6cf3b9233..5667b6c980 100644 --- a/addons/common/functions/fnc_getCountOfItem.sqf +++ b/addons/common/functions/fnc_getCountOfItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dedmen * Return how many items of type _itemType the player has in his containers (Uniform, Vest, Backpack) diff --git a/addons/common/functions/fnc_getDeathAnim.sqf b/addons/common/functions/fnc_getDeathAnim.sqf index 8fb72e0a21..2b92e6ef10 100644 --- a/addons/common/functions/fnc_getDeathAnim.sqf +++ b/addons/common/functions/fnc_getDeathAnim.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, PabstMirror * Get the death animation for the unit at current time diff --git a/addons/common/functions/fnc_getDefaultAnim.sqf b/addons/common/functions/fnc_getDefaultAnim.sqf index 9fea3e15df..788fd2b6bd 100644 --- a/addons/common/functions/fnc_getDefaultAnim.sqf +++ b/addons/common/functions/fnc_getDefaultAnim.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the Defualt animation for the unit diff --git a/addons/common/functions/fnc_getDefinedVariable.sqf b/addons/common/functions/fnc_getDefinedVariable.sqf index 7e20570cc1..d600d62cf2 100644 --- a/addons/common/functions/fnc_getDefinedVariable.sqf +++ b/addons/common/functions/fnc_getDefinedVariable.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Grabs a variable. If variable has not been set, attempts to use default defined value diff --git a/addons/common/functions/fnc_getDefinedVariableDefault.sqf b/addons/common/functions/fnc_getDefinedVariableDefault.sqf index fc6108469a..e78090b636 100644 --- a/addons/common/functions/fnc_getDefinedVariableDefault.sqf +++ b/addons/common/functions/fnc_getDefinedVariableDefault.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Get the variable default value diff --git a/addons/common/functions/fnc_getDefinedVariableInfo.sqf b/addons/common/functions/fnc_getDefinedVariableInfo.sqf index f6aeca0df9..61dec04e04 100644 --- a/addons/common/functions/fnc_getDefinedVariableInfo.sqf +++ b/addons/common/functions/fnc_getDefinedVariableInfo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Get the variable Informations diff --git a/addons/common/functions/fnc_getDisplayConfigName.sqf b/addons/common/functions/fnc_getDisplayConfigName.sqf index f952d5c385..f6be033be3 100644 --- a/addons/common/functions/fnc_getDisplayConfigName.sqf +++ b/addons/common/functions/fnc_getDisplayConfigName.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get display classnames from config with given idd. diff --git a/addons/common/functions/fnc_getDoorTurrets.sqf b/addons/common/functions/fnc_getDoorTurrets.sqf index 8fb872a6f7..fb652cfd1a 100644 --- a/addons/common/functions/fnc_getDoorTurrets.sqf +++ b/addons/common/functions/fnc_getDoorTurrets.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Returns all turret indecies of door gunners. diff --git a/addons/common/functions/fnc_getFiremodeIndex.sqf b/addons/common/functions/fnc_getFiremodeIndex.sqf index 647b444dc3..7abf65cafa 100644 --- a/addons/common/functions/fnc_getFiremodeIndex.sqf +++ b/addons/common/functions/fnc_getFiremodeIndex.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Get the firemode index of the weapon for use with "SwitchWeapon" diff --git a/addons/common/functions/fnc_getFirstObjectIntersection.sqf b/addons/common/functions/fnc_getFirstObjectIntersection.sqf index 0cebf6232f..cc2e9ff736 100644 --- a/addons/common/functions/fnc_getFirstObjectIntersection.sqf +++ b/addons/common/functions/fnc_getFirstObjectIntersection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Returns the the first intersection with terrain between two positions. diff --git a/addons/common/functions/fnc_getFirstTerrainIntersection.sqf b/addons/common/functions/fnc_getFirstTerrainIntersection.sqf index 989486b1ac..cc85562087 100644 --- a/addons/common/functions/fnc_getFirstTerrainIntersection.sqf +++ b/addons/common/functions/fnc_getFirstTerrainIntersection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Returns the the first intersection with an object between two positions. @todo rewrite using lineIntersectsSurfaces? diff --git a/addons/common/functions/fnc_getGunner.sqf b/addons/common/functions/fnc_getGunner.sqf index bd65c49ed4..ffa0334a26 100644 --- a/addons/common/functions/fnc_getGunner.sqf +++ b/addons/common/functions/fnc_getGunner.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns gunner using specified weapon type in vehicle. Only works if all turrets have different weapons. diff --git a/addons/common/functions/fnc_getInPosition.sqf b/addons/common/functions/fnc_getInPosition.sqf index ef012a33b4..fdbad3ee4a 100644 --- a/addons/common/functions/fnc_getInPosition.sqf +++ b/addons/common/functions/fnc_getInPosition.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Move unit into given vehicle position or switch to that position if the unit is already inside the vehicle. diff --git a/addons/common/functions/fnc_getItemType.sqf b/addons/common/functions/fnc_getItemType.sqf index 5212c6d57e..e39605f0cc 100644 --- a/addons/common/functions/fnc_getItemType.sqf +++ b/addons/common/functions/fnc_getItemType.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns item type of given classname. diff --git a/addons/common/functions/fnc_getLightProperties.sqf b/addons/common/functions/fnc_getLightProperties.sqf index 635284ade4..03cefc63dc 100644 --- a/addons/common/functions/fnc_getLightProperties.sqf +++ b/addons/common/functions/fnc_getLightProperties.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Read properties of given vehicles light. diff --git a/addons/common/functions/fnc_getLightPropertiesWeapon.sqf b/addons/common/functions/fnc_getLightPropertiesWeapon.sqf index fca17dd51f..1bf6ae6cac 100644 --- a/addons/common/functions/fnc_getLightPropertiesWeapon.sqf +++ b/addons/common/functions/fnc_getLightPropertiesWeapon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Read properties of given flashlight. diff --git a/addons/common/functions/fnc_getLocalUnits.sqf b/addons/common/functions/fnc_getLocalUnits.sqf index 54fe1cae84..5bf0788283 100644 --- a/addons/common/functions/fnc_getLocalUnits.sqf +++ b/addons/common/functions/fnc_getLocalUnits.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: dedmen * Gets localUnits array filtering out nullObjects. diff --git a/addons/common/functions/fnc_getMGRSdata.sqf b/addons/common/functions/fnc_getMGRSdata.sqf index cbea1511eb..92cedec3b9 100644 --- a/addons/common/functions/fnc_getMGRSdata.sqf +++ b/addons/common/functions/fnc_getMGRSdata.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: VKing * Gets the current map's MGRS grid zone designator and 100km square. diff --git a/addons/common/functions/fnc_getMapGridData.sqf b/addons/common/functions/fnc_getMapGridData.sqf index 08d5820309..f37e146288 100644 --- a/addons/common/functions/fnc_getMapGridData.sqf +++ b/addons/common/functions/fnc_getMapGridData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Finds real x/y offset and map step for a 10 digit grid diff --git a/addons/common/functions/fnc_getMapGridFromPos.sqf b/addons/common/functions/fnc_getMapGridFromPos.sqf index defee04e57..fb12ad9dfc 100644 --- a/addons/common/functions/fnc_getMapGridFromPos.sqf +++ b/addons/common/functions/fnc_getMapGridFromPos.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: VKing, PabstMirror * Gets a 10-digit map grid for the given world position diff --git a/addons/common/functions/fnc_getMapPosFromGrid.sqf b/addons/common/functions/fnc_getMapPosFromGrid.sqf index d4469b56cc..7466ce5899 100644 --- a/addons/common/functions/fnc_getMapPosFromGrid.sqf +++ b/addons/common/functions/fnc_getMapPosFromGrid.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Gets position from grid cords diff --git a/addons/common/functions/fnc_getMarkerType.sqf b/addons/common/functions/fnc_getMarkerType.sqf index 7f44861769..3f5d5132be 100644 --- a/addons/common/functions/fnc_getMarkerType.sqf +++ b/addons/common/functions/fnc_getMarkerType.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Get the apropriate marker for a group. diff --git a/addons/common/functions/fnc_getName.sqf b/addons/common/functions/fnc_getName.sqf index 7d9dd35803..058386cde4 100644 --- a/addons/common/functions/fnc_getName.sqf +++ b/addons/common/functions/fnc_getName.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns the name of the object. Used to prevent issues with the name command. diff --git a/addons/common/functions/fnc_getNumberMagazinesIn.sqf b/addons/common/functions/fnc_getNumberMagazinesIn.sqf index 7beaf3ee37..fc2c3d0605 100644 --- a/addons/common/functions/fnc_getNumberMagazinesIn.sqf +++ b/addons/common/functions/fnc_getNumberMagazinesIn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Count magazines of unit. diff --git a/addons/common/functions/fnc_getPitchBankYaw.sqf b/addons/common/functions/fnc_getPitchBankYaw.sqf index 6cdec367de..e53d1d7fc4 100644 --- a/addons/common/functions/fnc_getPitchBankYaw.sqf +++ b/addons/common/functions/fnc_getPitchBankYaw.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Returns pitch, bank, yaw for given vehicle in degrees. diff --git a/addons/common/functions/fnc_getPylonTurret.sqf b/addons/common/functions/fnc_getPylonTurret.sqf index cc6d3c6635..f7891e4ba9 100644 --- a/addons/common/functions/fnc_getPylonTurret.sqf +++ b/addons/common/functions/fnc_getPylonTurret.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Returns the turret path that owns the given pylon. diff --git a/addons/common/functions/fnc_getReflectorsWithSelections.sqf b/addons/common/functions/fnc_getReflectorsWithSelections.sqf index 8d40642ae5..1e874c0208 100644 --- a/addons/common/functions/fnc_getReflectorsWithSelections.sqf +++ b/addons/common/functions/fnc_getReflectorsWithSelections.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/common/functions/fnc_getSelectionsWithoutHitPoints.sqf b/addons/common/functions/fnc_getSelectionsWithoutHitPoints.sqf index 5c30245732..5367b0ae61 100644 --- a/addons/common/functions/fnc_getSelectionsWithoutHitPoints.sqf +++ b/addons/common/functions/fnc_getSelectionsWithoutHitPoints.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/common/functions/fnc_getSettingData.sqf b/addons/common/functions/fnc_getSettingData.sqf index 79ee4f3264..a2dceb746c 100644 --- a/addons/common/functions/fnc_getSettingData.sqf +++ b/addons/common/functions/fnc_getSettingData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Returns the metadata of a setting if it exists diff --git a/addons/common/functions/fnc_getStaminaBarControl.sqf b/addons/common/functions/fnc_getStaminaBarControl.sqf index a426a7f933..18721606fb 100644 --- a/addons/common/functions/fnc_getStaminaBarControl.sqf +++ b/addons/common/functions/fnc_getStaminaBarControl.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns the control of the Stamina Bar from Arma 1.54. diff --git a/addons/common/functions/fnc_getTargetAzimuthAndInclination.sqf b/addons/common/functions/fnc_getTargetAzimuthAndInclination.sqf index 3a4da0326f..baf1871b9f 100644 --- a/addons/common/functions/fnc_getTargetAzimuthAndInclination.sqf +++ b/addons/common/functions/fnc_getTargetAzimuthAndInclination.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get players viewing direction and slope. diff --git a/addons/common/functions/fnc_getTargetDistance.sqf b/addons/common/functions/fnc_getTargetDistance.sqf index ff6d2cc198..27a336d9ab 100644 --- a/addons/common/functions/fnc_getTargetDistance.sqf +++ b/addons/common/functions/fnc_getTargetDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: VKing * Get the distance to the next object the player is looking at. Used for laser distance measurements. diff --git a/addons/common/functions/fnc_getTargetObject.sqf b/addons/common/functions/fnc_getTargetObject.sqf index a15cd309be..ab699e1f3d 100644 --- a/addons/common/functions/fnc_getTargetObject.sqf +++ b/addons/common/functions/fnc_getTargetObject.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the nearest object the player is looking at. Used for laser designator instead of cursorTarget. diff --git a/addons/common/functions/fnc_getTurnedOnLights.sqf b/addons/common/functions/fnc_getTurnedOnLights.sqf index a40832d61d..fcfd1b92df 100644 --- a/addons/common/functions/fnc_getTurnedOnLights.sqf +++ b/addons/common/functions/fnc_getTurnedOnLights.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns all turned on lights of any vehicle or streetlamp. diff --git a/addons/common/functions/fnc_getTurretCommander.sqf b/addons/common/functions/fnc_getTurretCommander.sqf index 49d0798d35..5bb1e107c6 100644 --- a/addons/common/functions/fnc_getTurretCommander.sqf +++ b/addons/common/functions/fnc_getTurretCommander.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the turret index of a vehicles commander. diff --git a/addons/common/functions/fnc_getTurretConfigPath.sqf b/addons/common/functions/fnc_getTurretConfigPath.sqf index 83f0f444b9..98cc6b08a9 100644 --- a/addons/common/functions/fnc_getTurretConfigPath.sqf +++ b/addons/common/functions/fnc_getTurretConfigPath.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the config path of a vehicles turret. diff --git a/addons/common/functions/fnc_getTurretCopilot.sqf b/addons/common/functions/fnc_getTurretCopilot.sqf index 7207ac5b17..0b2fee3f37 100644 --- a/addons/common/functions/fnc_getTurretCopilot.sqf +++ b/addons/common/functions/fnc_getTurretCopilot.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the turret index of a vehicles copilot. diff --git a/addons/common/functions/fnc_getTurretDirection.sqf b/addons/common/functions/fnc_getTurretDirection.sqf index 1678eeaa32..6f24b40f3e 100644 --- a/addons/common/functions/fnc_getTurretDirection.sqf +++ b/addons/common/functions/fnc_getTurretDirection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus * Get the absolute turret direction for FOV/PIP turret. diff --git a/addons/common/functions/fnc_getTurretGunner.sqf b/addons/common/functions/fnc_getTurretGunner.sqf index 180a10914e..f485ab3bbc 100644 --- a/addons/common/functions/fnc_getTurretGunner.sqf +++ b/addons/common/functions/fnc_getTurretGunner.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the turret index of a vehicles gunner. diff --git a/addons/common/functions/fnc_getTurretIndex.sqf b/addons/common/functions/fnc_getTurretIndex.sqf index f114cdb4a7..dcbaafb3b2 100644 --- a/addons/common/functions/fnc_getTurretIndex.sqf +++ b/addons/common/functions/fnc_getTurretIndex.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the turret index of a units current turret. diff --git a/addons/common/functions/fnc_getTurretsFFV.sqf b/addons/common/functions/fnc_getTurretsFFV.sqf index 0ae04a3032..e7ea4b369e 100644 --- a/addons/common/functions/fnc_getTurretsFFV.sqf +++ b/addons/common/functions/fnc_getTurretsFFV.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the turret indices of ffv turrets. diff --git a/addons/common/functions/fnc_getTurretsOther.sqf b/addons/common/functions/fnc_getTurretsOther.sqf index c84b50d842..681596a329 100644 --- a/addons/common/functions/fnc_getTurretsOther.sqf +++ b/addons/common/functions/fnc_getTurretsOther.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the turret indices of other turrets (not gunner, commander, copilot or ffv). diff --git a/addons/common/functions/fnc_getUavControlPosition.sqf b/addons/common/functions/fnc_getUavControlPosition.sqf index 9d6f6de9f2..0c6be45bf5 100644 --- a/addons/common/functions/fnc_getUavControlPosition.sqf +++ b/addons/common/functions/fnc_getUavControlPosition.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Returns the seat position of a UAV that the unit is activly controling. diff --git a/addons/common/functions/fnc_getVehicleCargo.sqf b/addons/common/functions/fnc_getVehicleCargo.sqf index 15e3091850..fc3ec83994 100644 --- a/addons/common/functions/fnc_getVehicleCargo.sqf +++ b/addons/common/functions/fnc_getVehicleCargo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the vehicle cargo positions. Codrivers and ffv positions are not listed. diff --git a/addons/common/functions/fnc_getVehicleCodriver.sqf b/addons/common/functions/fnc_getVehicleCodriver.sqf index 1e97cc2e02..366c4db8ff 100644 --- a/addons/common/functions/fnc_getVehicleCodriver.sqf +++ b/addons/common/functions/fnc_getVehicleCodriver.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the vehicle codriver positions. diff --git a/addons/common/functions/fnc_getVehicleCrew.sqf b/addons/common/functions/fnc_getVehicleCrew.sqf index af699d3b6b..00a90b1ab2 100644 --- a/addons/common/functions/fnc_getVehicleCrew.sqf +++ b/addons/common/functions/fnc_getVehicleCrew.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns array of crew member objects. diff --git a/addons/common/functions/fnc_getVehicleIcon.sqf b/addons/common/functions/fnc_getVehicleIcon.sqf index a1cf718952..208bb144d8 100644 --- a/addons/common/functions/fnc_getVehicleIcon.sqf +++ b/addons/common/functions/fnc_getVehicleIcon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: AACO * Function used to get the vehicle icon for provided object (cached for repeat use) diff --git a/addons/common/functions/fnc_getVehicleUAVCrew.sqf b/addons/common/functions/fnc_getVehicleUAVCrew.sqf index b1b1ae002e..0ac91e644a 100644 --- a/addons/common/functions/fnc_getVehicleUAVCrew.sqf +++ b/addons/common/functions/fnc_getVehicleUAVCrew.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns array of uav dummy ais. diff --git a/addons/common/functions/fnc_getVersion.sqf b/addons/common/functions/fnc_getVersion.sqf index ccf4966715..3908cd3050 100644 --- a/addons/common/functions/fnc_getVersion.sqf +++ b/addons/common/functions/fnc_getVersion.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Get the version number of the current ACE build. diff --git a/addons/common/functions/fnc_getWeaponAzimuthAndInclination.sqf b/addons/common/functions/fnc_getWeaponAzimuthAndInclination.sqf index 83df3782e4..2370a19e69 100644 --- a/addons/common/functions/fnc_getWeaponAzimuthAndInclination.sqf +++ b/addons/common/functions/fnc_getWeaponAzimuthAndInclination.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get local players weapon direction and slope. diff --git a/addons/common/functions/fnc_getWeaponIndex.sqf b/addons/common/functions/fnc_getWeaponIndex.sqf index b4e94e678f..f6077806e1 100644 --- a/addons/common/functions/fnc_getWeaponIndex.sqf +++ b/addons/common/functions/fnc_getWeaponIndex.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the index of the weapon. diff --git a/addons/common/functions/fnc_getWeaponModes.sqf b/addons/common/functions/fnc_getWeaponModes.sqf index 93a8614f7f..55e260ef27 100644 --- a/addons/common/functions/fnc_getWeaponModes.sqf +++ b/addons/common/functions/fnc_getWeaponModes.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the available firing modes of a weapon. Will ignore the AI helper modes. diff --git a/addons/common/functions/fnc_getWeaponMuzzles.sqf b/addons/common/functions/fnc_getWeaponMuzzles.sqf index 264ad2b405..11fffaf196 100644 --- a/addons/common/functions/fnc_getWeaponMuzzles.sqf +++ b/addons/common/functions/fnc_getWeaponMuzzles.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the muzzles of a weapon. diff --git a/addons/common/functions/fnc_getWeaponState.sqf b/addons/common/functions/fnc_getWeaponState.sqf index 219f52d369..7ccb016c7a 100644 --- a/addons/common/functions/fnc_getWeaponState.sqf +++ b/addons/common/functions/fnc_getWeaponState.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Return current state of the weapon. Attachments and magazines with ammo. diff --git a/addons/common/functions/fnc_getWeaponType.sqf b/addons/common/functions/fnc_getWeaponType.sqf index 1b3e8fd331..527ce7c893 100644 --- a/addons/common/functions/fnc_getWeaponType.sqf +++ b/addons/common/functions/fnc_getWeaponType.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check what kind of weapon the given class name is. diff --git a/addons/common/functions/fnc_getWeight.sqf b/addons/common/functions/fnc_getWeight.sqf index 5fc92b7703..fd50c62c14 100644 --- a/addons/common/functions/fnc_getWeight.sqf +++ b/addons/common/functions/fnc_getWeight.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns the weight (from the loadAbs command) in lbs/kg (based on user option) diff --git a/addons/common/functions/fnc_getWindDirection.sqf b/addons/common/functions/fnc_getWindDirection.sqf index cb10e18f85..d34df2a529 100644 --- a/addons/common/functions/fnc_getWindDirection.sqf +++ b/addons/common/functions/fnc_getWindDirection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get the compass direction the wind is blowing from. diff --git a/addons/common/functions/fnc_getZoom.sqf b/addons/common/functions/fnc_getZoom.sqf index 26144da81e..2b79ac9cf1 100644 --- a/addons/common/functions/fnc_getZoom.sqf +++ b/addons/common/functions/fnc_getZoom.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns a value depending on current zoom level. diff --git a/addons/common/functions/fnc_goKneeling.sqf b/addons/common/functions/fnc_goKneeling.sqf index e9317cc74e..881fad7669 100644 --- a/addons/common/functions/fnc_goKneeling.sqf +++ b/addons/common/functions/fnc_goKneeling.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Move unit to kneeling position (only if not yet prone and not underwater). diff --git a/addons/common/functions/fnc_hadamardProduct.sqf b/addons/common/functions/fnc_hadamardProduct.sqf index 07295dcef9..7d5d6557ae 100644 --- a/addons/common/functions/fnc_hadamardProduct.sqf +++ b/addons/common/functions/fnc_hadamardProduct.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Returns the Hadamard Product of two vectors. diff --git a/addons/common/functions/fnc_handleEngine.sqf b/addons/common/functions/fnc_handleEngine.sqf index 40574c69c6..442c800d28 100644 --- a/addons/common/functions/fnc_handleEngine.sqf +++ b/addons/common/functions/fnc_handleEngine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Blocks turning on the vehicles engine if set by the status effect handler. diff --git a/addons/common/functions/fnc_handleModifierKey.sqf b/addons/common/functions/fnc_handleModifierKey.sqf index 1440a7849e..1c7c968149 100644 --- a/addons/common/functions/fnc_handleModifierKey.sqf +++ b/addons/common/functions/fnc_handleModifierKey.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles key down event for modifier key. diff --git a/addons/common/functions/fnc_handleModifierKeyUp.sqf b/addons/common/functions/fnc_handleModifierKeyUp.sqf index 9ab3cadf7d..2047e21036 100644 --- a/addons/common/functions/fnc_handleModifierKeyUp.sqf +++ b/addons/common/functions/fnc_handleModifierKeyUp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles key up event for modifier key. diff --git a/addons/common/functions/fnc_hasHatch.sqf b/addons/common/functions/fnc_hasHatch.sqf index ab6a25035d..5a2157d1ae 100644 --- a/addons/common/functions/fnc_hasHatch.sqf +++ b/addons/common/functions/fnc_hasHatch.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if unit is in a vehicle position where it can turn in or out. diff --git a/addons/common/functions/fnc_hasItem.sqf b/addons/common/functions/fnc_hasItem.sqf index 9ae4e7ec63..f446c5dac0 100644 --- a/addons/common/functions/fnc_hasItem.sqf +++ b/addons/common/functions/fnc_hasItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Check if unit has item. Note: case-sensitive. diff --git a/addons/common/functions/fnc_hasMagazine.sqf b/addons/common/functions/fnc_hasMagazine.sqf index fceee87c11..7874bcbd16 100644 --- a/addons/common/functions/fnc_hasMagazine.sqf +++ b/addons/common/functions/fnc_hasMagazine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Check if given unit has a magazine of given classname diff --git a/addons/common/functions/fnc_hasZeusAccess.sqf b/addons/common/functions/fnc_hasZeusAccess.sqf index 057e4b1f0f..2ac1f1efb3 100644 --- a/addons/common/functions/fnc_hasZeusAccess.sqf +++ b/addons/common/functions/fnc_hasZeusAccess.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Check if current player has Zeus access diff --git a/addons/common/functions/fnc_headBugFix.sqf b/addons/common/functions/fnc_headBugFix.sqf index 2c6c072c34..838f48c89e 100644 --- a/addons/common/functions/fnc_headBugFix.sqf +++ b/addons/common/functions/fnc_headBugFix.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: rocko * Fixes animation issues that may get you stuck diff --git a/addons/common/functions/fnc_hideUnit.sqf b/addons/common/functions/fnc_hideUnit.sqf index df2e15f488..6c81729dde 100644 --- a/addons/common/functions/fnc_hideUnit.sqf +++ b/addons/common/functions/fnc_hideUnit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay (based on muteUnit) * Globally hides a unit. This allows the handling of more than one reason to hide an object globally. diff --git a/addons/common/functions/fnc_inTransitionAnim.sqf b/addons/common/functions/fnc_inTransitionAnim.sqf index 5999bcbe27..bd731f4be6 100644 --- a/addons/common/functions/fnc_inTransitionAnim.sqf +++ b/addons/common/functions/fnc_inTransitionAnim.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if given unit is in a transitional animation diff --git a/addons/common/functions/fnc_interpolateFromArray.sqf b/addons/common/functions/fnc_interpolateFromArray.sqf index 851d368d37..184ccba765 100644 --- a/addons/common/functions/fnc_interpolateFromArray.sqf +++ b/addons/common/functions/fnc_interpolateFromArray.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Interpolates between two set points in a curve. diff --git a/addons/common/functions/fnc_isAwake.sqf b/addons/common/functions/fnc_isAwake.sqf index 5a59a3cb69..f564e5e872 100644 --- a/addons/common/functions/fnc_isAwake.sqf +++ b/addons/common/functions/fnc_isAwake.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Check if unit is awake. Will be false when death or unit is unconscious. diff --git a/addons/common/functions/fnc_isEOD.sqf b/addons/common/functions/fnc_isEOD.sqf index 303b258cb5..f2ec119d23 100644 --- a/addons/common/functions/fnc_isEOD.sqf +++ b/addons/common/functions/fnc_isEOD.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth de Wet (LH) * Checks whether the passed unit is an explosive specialist. diff --git a/addons/common/functions/fnc_isEngineer.sqf b/addons/common/functions/fnc_isEngineer.sqf index 1805bb50e5..f01472dc02 100644 --- a/addons/common/functions/fnc_isEngineer.sqf +++ b/addons/common/functions/fnc_isEngineer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: marc_book, edited by commy2 * Checks if a unit is an engineer. diff --git a/addons/common/functions/fnc_isInBuilding.sqf b/addons/common/functions/fnc_isInBuilding.sqf index 4b843fcea4..a6813ec4f3 100644 --- a/addons/common/functions/fnc_isInBuilding.sqf +++ b/addons/common/functions/fnc_isInBuilding.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if the unit is in a building. Will return true if the unit is sitting in a bush. diff --git a/addons/common/functions/fnc_isMedic.sqf b/addons/common/functions/fnc_isMedic.sqf index bfe9cd459a..a5a70c6443 100644 --- a/addons/common/functions/fnc_isMedic.sqf +++ b/addons/common/functions/fnc_isMedic.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Check if a unit is a medic diff --git a/addons/common/functions/fnc_isModLoaded.sqf b/addons/common/functions/fnc_isModLoaded.sqf index 9e6b5350d0..fb7b1807b6 100644 --- a/addons/common/functions/fnc_isModLoaded.sqf +++ b/addons/common/functions/fnc_isModLoaded.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, Grim * Check in CfgPatches if modification is loaded diff --git a/addons/common/functions/fnc_isPlayer.sqf b/addons/common/functions/fnc_isPlayer.sqf index 8aabbd3bc0..ae5dc72197 100644 --- a/addons/common/functions/fnc_isPlayer.sqf +++ b/addons/common/functions/fnc_isPlayer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578, commy2, akalegman * Checks if a unit is a player / curator controlled unit. diff --git a/addons/common/functions/fnc_isSwimming.sqf b/addons/common/functions/fnc_isSwimming.sqf index c7b290a65c..f190284503 100644 --- a/addons/common/functions/fnc_isSwimming.sqf +++ b/addons/common/functions/fnc_isSwimming.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: das attorney, Jonpas * Check if unit is swimming (surface swimming or diving). diff --git a/addons/common/functions/fnc_lightIntensityFromObject.sqf b/addons/common/functions/fnc_lightIntensityFromObject.sqf index e2099def69..38895557ad 100644 --- a/addons/common/functions/fnc_lightIntensityFromObject.sqf +++ b/addons/common/functions/fnc_lightIntensityFromObject.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Calculate light intensity object 1 recieves from object 2 @@ -30,8 +30,6 @@ if (_lightSource isKindOf "CAManBase") then { private _flashlight = (_lightSource weaponAccessories _weapon) select 1; - if (getNumber (configFile >> "CfgWeapons" >> _flashlight >> "ACE_laserpointer") > 0) exitWith {}; // Red = 1, Green = 2 - private _properties = [[_flashlight], FUNC(getLightPropertiesWeapon), uiNamespace, format [QEGVAR(cache,%1_%2), QUOTE(DFUNC(getLightPropertiesWeapon)), _flashlight], 1E11] call FUNC(cachedCall); //_properties = [_flashlight] call FUNC(getLightPropertiesWeapon); diff --git a/addons/common/functions/fnc_loadPerson.sqf b/addons/common/functions/fnc_loadPerson.sqf index 5e872768d3..f8fe96d17c 100644 --- a/addons/common/functions/fnc_loadPerson.sqf +++ b/addons/common/functions/fnc_loadPerson.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Loads a specified unit into any nearby vehicle, or _vehicle parameter. diff --git a/addons/common/functions/fnc_loadPersonLocal.sqf b/addons/common/functions/fnc_loadPersonLocal.sqf index e460befc1a..8288f13924 100644 --- a/addons/common/functions/fnc_loadPersonLocal.sqf +++ b/addons/common/functions/fnc_loadPersonLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Load a person, local diff --git a/addons/common/functions/fnc_moduleCheckPBOs.sqf b/addons/common/functions/fnc_moduleCheckPBOs.sqf index 583441d4d2..2720292c8e 100644 --- a/addons/common/functions/fnc_moduleCheckPBOs.sqf +++ b/addons/common/functions/fnc_moduleCheckPBOs.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Initializes the check-PBOs module. diff --git a/addons/common/functions/fnc_moduleLSDVehicles.sqf b/addons/common/functions/fnc_moduleLSDVehicles.sqf index e006463d1e..fde230b0ca 100644 --- a/addons/common/functions/fnc_moduleLSDVehicles.sqf +++ b/addons/common/functions/fnc_moduleLSDVehicles.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, joko // Jonas * Nothing to see here, move along. diff --git a/addons/common/functions/fnc_monitor.sqf b/addons/common/functions/fnc_monitor.sqf index c864bb1ae8..d6fd5c1330 100644 --- a/addons/common/functions/fnc_monitor.sqf +++ b/addons/common/functions/fnc_monitor.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * hint retun value of given function every frame diff --git a/addons/common/functions/fnc_muteUnit.sqf b/addons/common/functions/fnc_muteUnit.sqf index fe65a56492..392f7ed61a 100644 --- a/addons/common/functions/fnc_muteUnit.sqf +++ b/addons/common/functions/fnc_muteUnit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Mutes the unit. It won't trigger auto generated chat messages either. diff --git a/addons/common/functions/fnc_muteUnitHandleInitPost.sqf b/addons/common/functions/fnc_muteUnitHandleInitPost.sqf index 4681ca73aa..134cc0ee3d 100644 --- a/addons/common/functions/fnc_muteUnitHandleInitPost.sqf +++ b/addons/common/functions/fnc_muteUnitHandleInitPost.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Applies speaker changes on init post. Used because setSpeaker is broken on init. diff --git a/addons/common/functions/fnc_muteUnitHandleRespawn.sqf b/addons/common/functions/fnc_muteUnitHandleRespawn.sqf index b507e7ec1d..6aa878bea5 100644 --- a/addons/common/functions/fnc_muteUnitHandleRespawn.sqf +++ b/addons/common/functions/fnc_muteUnitHandleRespawn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Applies speaker changes on respawn. Used because speaker is respawning breaks the speaker on non-local clients. Also resets the public object variable (broken for JIP clients, that join after respawn) diff --git a/addons/common/functions/fnc_nearestVehiclesFreeSeat.sqf b/addons/common/functions/fnc_nearestVehiclesFreeSeat.sqf index 03a01cf395..71f62959b9 100644 --- a/addons/common/functions/fnc_nearestVehiclesFreeSeat.sqf +++ b/addons/common/functions/fnc_nearestVehiclesFreeSeat.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Returns a list of vehicles near given unit that the unit can be a passenger in. diff --git a/addons/common/functions/fnc_numberToDigits.sqf b/addons/common/functions/fnc_numberToDigits.sqf index c39ea2bbd0..83fad813c8 100644 --- a/addons/common/functions/fnc_numberToDigits.sqf +++ b/addons/common/functions/fnc_numberToDigits.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, kymckay * Transforms a number to an array of the correspondending digits. diff --git a/addons/common/functions/fnc_numberToString.sqf b/addons/common/functions/fnc_numberToString.sqf index 8d5aaa09a1..bb1c4f7ced 100644 --- a/addons/common/functions/fnc_numberToString.sqf +++ b/addons/common/functions/fnc_numberToString.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Converts a number to a string without losing as much precission as str or format. diff --git a/addons/common/functions/fnc_onAnswerRequest.sqf b/addons/common/functions/fnc_onAnswerRequest.sqf index 5613e5d1bc..f3ab80de17 100644 --- a/addons/common/functions/fnc_onAnswerRequest.sqf +++ b/addons/common/functions/fnc_onAnswerRequest.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * N/A diff --git a/addons/common/functions/fnc_owned.sqf b/addons/common/functions/fnc_owned.sqf index e216b10c39..15e8dce3be 100644 --- a/addons/common/functions/fnc_owned.sqf +++ b/addons/common/functions/fnc_owned.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Counterpart of ace_common_fnc_claim. Check if the given object is claimed by another unit. diff --git a/addons/common/functions/fnc_parseList.sqf b/addons/common/functions/fnc_parseList.sqf index 7f5bb59294..93ceccf17d 100644 --- a/addons/common/functions/fnc_parseList.sqf +++ b/addons/common/functions/fnc_parseList.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, Jonpas * Makes a list from a string using comma as a delimiter, optionally trim or remove whitespace and check each for object existence. diff --git a/addons/common/functions/fnc_playConfigSound3D.sqf b/addons/common/functions/fnc_playConfigSound3D.sqf index ee8d81f2c9..c282199365 100644 --- a/addons/common/functions/fnc_playConfigSound3D.sqf +++ b/addons/common/functions/fnc_playConfigSound3D.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Plays a sound defined in CfgSounds using playSound3D, with global effect. diff --git a/addons/common/functions/fnc_player.sqf b/addons/common/functions/fnc_player.sqf index 382db0bced..1a5614e44e 100644 --- a/addons/common/functions/fnc_player.sqf +++ b/addons/common/functions/fnc_player.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578, commy2 * Returns the player or curator controlled unit. diff --git a/addons/common/functions/fnc_playerSide.sqf b/addons/common/functions/fnc_playerSide.sqf index 6d42df6511..fe6c6e44eb 100644 --- a/addons/common/functions/fnc_playerSide.sqf +++ b/addons/common/functions/fnc_playerSide.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Return the current side of the player diff --git a/addons/common/functions/fnc_positionToASL.sqf b/addons/common/functions/fnc_positionToASL.sqf index 8d0586e097..b286d2f7ab 100644 --- a/addons/common/functions/fnc_positionToASL.sqf +++ b/addons/common/functions/fnc_positionToASL.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Converts Arma "Position" to ASL diff --git a/addons/common/functions/fnc_progressBar.sqf b/addons/common/functions/fnc_progressBar.sqf index 41257d15e6..9b5519c232 100644 --- a/addons/common/functions/fnc_progressBar.sqf +++ b/addons/common/functions/fnc_progressBar.sqf @@ -1,4 +1,5 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" +#include "\a3\ui_f\hpp\defineDIKCodes.inc" /* * Author: commy2, Glowbal, PabstMirror * Draw progress bar and execute given function if succesful. @@ -9,9 +10,10 @@ * 1: Arguments, passed to condition, fail and finish * 2: On Finish: Code called or STRING raised as event. * 3: On Failure: Code called or STRING raised as event. - * 4: (Optional) Localized Title - * 5: Code to check each frame (Optional) - * 6: Exceptions for checking EFUNC(common,canInteractWith) (Optional) + * 4: Localized Title (default: "") + * 5: Code to check each frame (default: {true}) + * 6: Exceptions for checking ace_common_fnc_canInteractWith (default: []) + * 7: Create progress bar as dialog, this blocks user input (default: true) * * Return Value: * None @@ -22,13 +24,17 @@ * Public: Yes */ -params ["_totalTime", "_args", "_onFinish", "_onFail", ["_localizedTitle", ""], ["_condition", {true}], ["_exceptions", []]]; +params ["_totalTime", "_args", "_onFinish", "_onFail", ["_localizedTitle", ""], ["_condition", {true}], ["_exceptions", []], ["_dialog", true]]; private _player = ACE_player; //Open Dialog and set the title closeDialog 0; -createDialog QGVAR(ProgressBar_Dialog); +if (_dialog) then { + createDialog QGVAR(ProgressBar_Dialog); +} else { + QGVAR(progressBarDisplay) cutRsc [QGVAR(ProgressBar_Display), "PLAIN"]; +}; private _display = uiNamespace getVariable QGVAR(dlgProgress); @@ -36,8 +42,16 @@ private _display = uiNamespace getVariable QGVAR(dlgProgress); _display call (uiNamespace getVariable "CBA_events_fnc_initDisplayCurator"); // Hide cursor by using custom transparent cursor -private _map = _display displayCtrl 101; -_map ctrlMapCursor ["", QGVAR(blank)]; +if (_dialog) then { + private _map = _display displayCtrl 101; + _map ctrlMapCursor ["", QGVAR(blank)]; +} else { // Add key handler for ESC to cancel + [DIK_ESCAPE, [false, false, false], { + QGVAR(progressBarDisplay) cutText ["", "PLAIN"]; + [QGVAR(progressBarKeyHandler), "keydown"] call CBA_fnc_removeKeyHandler; + true + }, "keydown", QGVAR(progressBarKeyHandler)] call CBA_fnc_addKeyHandler; +}; (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlSetText _localizedTitle; @@ -53,7 +67,7 @@ _ctrlPos set [1, ((0 + 29 * GVAR(settingProgressBarLocation)) * ((((safezoneW / (uiNamespace getVariable QGVAR(ctrlProgressBarTitle)) ctrlCommit 0; [{ - (_this select 0) params ["_args", "_onFinish", "_onFail", "_condition", "_player", "_startTime", "_totalTime", "_exceptions", "_title"]; + (_this select 0) params ["_args", "_onFinish", "_onFail", "_condition", "_player", "_startTime", "_totalTime", "_exceptions", "_title", "_dialog"]; private _elapsedTime = CBA_missionTime - _startTime; private _errorCode = -1; @@ -71,8 +85,12 @@ _ctrlPos set [1, ((0 + 29 * GVAR(settingProgressBarLocation)) * ((((safezoneW / if !([_player, objNull, _exceptions] call EFUNC(common,canInteractWith)) then { _errorCode = 4; } else { - if (_elapsedTime >= _totalTime) then { - _errorCode = 0; + if (!_dialog && {dialog}) then { + _errorCode = 5; + } else { + if (_elapsedTime >= _totalTime) then { + _errorCode = 0; + }; }; }; }; @@ -84,7 +102,13 @@ _ctrlPos set [1, ((0 + 29 * GVAR(settingProgressBarLocation)) * ((((safezoneW / //Only close dialog if it's the progressBar: if (!isNull (uiNamespace getVariable [QGVAR(ctrlProgressBar), controlNull])) then { - closeDialog 0; + if (_dialog) then { + closeDialog 0; + } else { + QGVAR(progressBarDisplay) cutText ["", "PLAIN"]; + // Remove key handler for non-dialog bar + [QGVAR(progressBarKeyHandler), "keydown"] call CBA_fnc_removeKeyHandler; + }; }; [_this select 1] call CBA_fnc_removePerFrameHandler; @@ -116,4 +140,4 @@ _ctrlPos set [1, ((0 + 29 * GVAR(settingProgressBarLocation)) * ((((safezoneW / }; }; }; -}, 0, [_args, _onFinish, _onFail, _condition, _player, CBA_missionTime, _totalTime, _exceptions, _localizedTitle]] call CBA_fnc_addPerFrameHandler; +}, 0, [_args, _onFinish, _onFail, _condition, _player, CBA_missionTime, _totalTime, _exceptions, _localizedTitle, _dialog]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/common/functions/fnc_readSettingFromModule.sqf b/addons/common/functions/fnc_readSettingFromModule.sqf index d61671d604..dc9ead397f 100644 --- a/addons/common/functions/fnc_readSettingFromModule.sqf +++ b/addons/common/functions/fnc_readSettingFromModule.sqf @@ -1,5 +1,5 @@ #define DEBUG_MODE_FULL -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Reads a setting value from a module, set it and force it. Logs if the setting is missing from the module. diff --git a/addons/common/functions/fnc_readSettingsFromParamsArray.sqf b/addons/common/functions/fnc_readSettingsFromParamsArray.sqf index e3690ab0d3..2abb5fa73e 100644 --- a/addons/common/functions/fnc_readSettingsFromParamsArray.sqf +++ b/addons/common/functions/fnc_readSettingsFromParamsArray.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Read settins from paramsArray that have a ACE_setting = 1. diff --git a/addons/common/functions/fnc_receiveRequest.sqf b/addons/common/functions/fnc_receiveRequest.sqf index 30adf7af58..6c45fb8966 100644 --- a/addons/common/functions/fnc_receiveRequest.sqf +++ b/addons/common/functions/fnc_receiveRequest.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * N/A diff --git a/addons/common/functions/fnc_registerItemReplacement.sqf b/addons/common/functions/fnc_registerItemReplacement.sqf index bd078800f6..ce2fd7e393 100644 --- a/addons/common/functions/fnc_registerItemReplacement.sqf +++ b/addons/common/functions/fnc_registerItemReplacement.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Registers an event handler that replaces an item or item type with one or diff --git a/addons/common/functions/fnc_removeActionEventHandler.sqf b/addons/common/functions/fnc_removeActionEventHandler.sqf index e536adc191..6d5b0711c3 100644 --- a/addons/common/functions/fnc_removeActionEventHandler.sqf +++ b/addons/common/functions/fnc_removeActionEventHandler.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Remove an addAction event from a unit. diff --git a/addons/common/functions/fnc_removeActionMenuEventHandler.sqf b/addons/common/functions/fnc_removeActionMenuEventHandler.sqf index ed072db89a..cb07949188 100644 --- a/addons/common/functions/fnc_removeActionMenuEventHandler.sqf +++ b/addons/common/functions/fnc_removeActionMenuEventHandler.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Remove an addAction menu event from a unit. diff --git a/addons/common/functions/fnc_removeCanInteractWithCondition.sqf b/addons/common/functions/fnc_removeCanInteractWithCondition.sqf index 4538a67fb0..9cc3fda3c3 100644 --- a/addons/common/functions/fnc_removeCanInteractWithCondition.sqf +++ b/addons/common/functions/fnc_removeCanInteractWithCondition.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Remove a condition that gets checked by ace_common_fnc_canInteractWith. diff --git a/addons/common/functions/fnc_removeMapMarkerCreatedEventHandler.sqf b/addons/common/functions/fnc_removeMapMarkerCreatedEventHandler.sqf index 2a95b0f4d7..950ac5002e 100644 --- a/addons/common/functions/fnc_removeMapMarkerCreatedEventHandler.sqf +++ b/addons/common/functions/fnc_removeMapMarkerCreatedEventHandler.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Remove a map marker creation event handler. diff --git a/addons/common/functions/fnc_removeSpecificMagazine.sqf b/addons/common/functions/fnc_removeSpecificMagazine.sqf index aed1c275c4..8a93e25ef0 100644 --- a/addons/common/functions/fnc_removeSpecificMagazine.sqf +++ b/addons/common/functions/fnc_removeSpecificMagazine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Removes a magazine from the unit or object that has a specific ammo count diff --git a/addons/common/functions/fnc_removeSyncedEventHandler.sqf b/addons/common/functions/fnc_removeSyncedEventHandler.sqf index 51d7d1df66..5aed6270f4 100644 --- a/addons/common/functions/fnc_removeSyncedEventHandler.sqf +++ b/addons/common/functions/fnc_removeSyncedEventHandler.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus * Remove a synced event handler diff --git a/addons/common/functions/fnc_replaceRegisteredItems.sqf b/addons/common/functions/fnc_replaceRegisteredItems.sqf index 8ebdaeecec..bfe2e493e0 100644 --- a/addons/common/functions/fnc_replaceRegisteredItems.sqf +++ b/addons/common/functions/fnc_replaceRegisteredItems.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles replacing unit's items with their registered replacements. @@ -33,37 +33,50 @@ if (GVAR(blockItemReplacement)) exitWith { }; private _cfgWeapons = configFile >> "CfgWeapons"; // Microoptimization +private _containerItems = [uniformItems _unit, vestItems _unit, backpackItems _unit]; for "_i" from 0 to count _newItems - 1 do { private _item = _newItems#_i; - // Get count of item in each container - private _containerCount = []; - { - _containerCount pushBack ({_x == _item} count _x) - } forEach [uniformItems _unit, vestItems _unit, backpackItems _unit]; + private _doReplace = false; + private _replacements = []; // Determine replacement items: direct replacements, ... - private _replacements = GVAR(itemReplacements) getVariable [_item, []]; + private _directReplacements = GVAR(itemReplacements) getVariable _item; + if (!isNil "_directReplacements") then { + _doReplace = true; + _replacements append _directReplacements; + }; // ... item type replacements ... private _type = getNumber (_cfgWeapons >> _item >> "ItemInfo" >> "type"); - private _typeReplacements = GVAR(itemReplacements) getVariable ["$" + str _type, []]; - _replacements append _typeReplacements; + private _typeReplacements = GVAR(itemReplacements) getVariable ("$" + str _type); + if (!isNil "_typeReplacements") then { + _doReplace = true; + _replacements append _typeReplacements; + }; // ... and inherited replacements { if (_item isKindOf [_x, _cfgWeapons]) then { - private _inheritedReplacements = GVAR(itemReplacements) getVariable [_x, []]; - _replacements append _inheritedReplacements; + private _inheritedReplacements = GVAR(itemReplacements) getVariable _x; + if (!isNil "_inheritedReplacements") then { + _doReplace = true; + _replacements append _inheritedReplacements; + }; }; } forEach GVAR(inheritedReplacements); // Replace all items of current class in list - if (_replacements isNotEqualTo []) then { - TRACE_3("replace",_item,_count,_replacements); + if (_doReplace) then { + TRACE_2("replace",_item,_replacements); _unit removeItems _item; + if (_replacements isEqualTo []) exitWith {}; + // Get count of item in each container + private _containerCount = _containerItems apply {{_x == _item} count _x}; + TRACE_1("",_containerCount); + { if (_x == 0) then {continue}; private _container = ["uniform", "vest", "backpack"] select _forEachIndex; diff --git a/addons/common/functions/fnc_requestCallback.sqf b/addons/common/functions/fnc_requestCallback.sqf index 6729c19a6d..ddd2f89233 100644 --- a/addons/common/functions/fnc_requestCallback.sqf +++ b/addons/common/functions/fnc_requestCallback.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * N/A diff --git a/addons/common/functions/fnc_requestSyncedEvent.sqf b/addons/common/functions/fnc_requestSyncedEvent.sqf index 44b633b9de..8e566c0e67 100644 --- a/addons/common/functions/fnc_requestSyncedEvent.sqf +++ b/addons/common/functions/fnc_requestSyncedEvent.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus * Send a request to synchronize an event name from the client->server. Execute on client only. diff --git a/addons/common/functions/fnc_resetAllDefaults.sqf b/addons/common/functions/fnc_resetAllDefaults.sqf index be2b5a6cc8..4d9f42a13b 100644 --- a/addons/common/functions/fnc_resetAllDefaults.sqf +++ b/addons/common/functions/fnc_resetAllDefaults.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * reset all variables that have been defined diff --git a/addons/common/functions/fnc_restoreVariablesJIP.sqf b/addons/common/functions/fnc_restoreVariablesJIP.sqf index 0c0617be77..905353d8ab 100644 --- a/addons/common/functions/fnc_restoreVariablesJIP.sqf +++ b/addons/common/functions/fnc_restoreVariablesJIP.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Called from respawn eventhandler. Resets all public object namespace variables that are added via FUNC(setVariableJIP). diff --git a/addons/common/functions/fnc_rscObjectHelper.sqf b/addons/common/functions/fnc_rscObjectHelper.sqf index 052c9a1e5e..c7d1342de9 100644 --- a/addons/common/functions/fnc_rscObjectHelper.sqf +++ b/addons/common/functions/fnc_rscObjectHelper.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Convert between screen and 3d object coordinates diff --git a/addons/common/functions/fnc_runAfterSettingsInit.sqf b/addons/common/functions/fnc_runAfterSettingsInit.sqf index f989501dd5..5a731d130d 100644 --- a/addons/common/functions/fnc_runAfterSettingsInit.sqf +++ b/addons/common/functions/fnc_runAfterSettingsInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Executes code after setting are initilized. diff --git a/addons/common/functions/fnc_runTests.sqf b/addons/common/functions/fnc_runTests.sqf index 019055443c..946255c42f 100644 --- a/addons/common/functions/fnc_runTests.sqf +++ b/addons/common/functions/fnc_runTests.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Run test functions. diff --git a/addons/common/functions/fnc_sanitizeString.sqf b/addons/common/functions/fnc_sanitizeString.sqf index 3517c5086a..c30cbe1292 100644 --- a/addons/common/functions/fnc_sanitizeString.sqf +++ b/addons/common/functions/fnc_sanitizeString.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain, based on Killzone-Kid code * Removes quotation marks to avoid exploits and optionally html tags from text to avoid conflicts with structured text. diff --git a/addons/common/functions/fnc_sendRequest.sqf b/addons/common/functions/fnc_sendRequest.sqf index cfa52de068..d5ec9643da 100644 --- a/addons/common/functions/fnc_sendRequest.sqf +++ b/addons/common/functions/fnc_sendRequest.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Send a request to an unit and execute code based upon results. diff --git a/addons/common/functions/fnc_serverLog.sqf b/addons/common/functions/fnc_serverLog.sqf index 183e110071..0ea811c3c2 100644 --- a/addons/common/functions/fnc_serverLog.sqf +++ b/addons/common/functions/fnc_serverLog.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Log a RPT messaged on just the server diff --git a/addons/common/functions/fnc_setAimCoef.sqf b/addons/common/functions/fnc_setAimCoef.sqf index 5680918dfa..8b22831c06 100644 --- a/addons/common/functions/fnc_setAimCoef.sqf +++ b/addons/common/functions/fnc_setAimCoef.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: xrufix, Glowbal * Handle set AimCoef calls. Will use the highest available setting. diff --git a/addons/common/functions/fnc_setApproximateVariablePublic.sqf b/addons/common/functions/fnc_setApproximateVariablePublic.sqf index 562bdfd1c8..3ef9595121 100644 --- a/addons/common/functions/fnc_setApproximateVariablePublic.sqf +++ b/addons/common/functions/fnc_setApproximateVariablePublic.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Publish a variable if it's different enough from the previously published value. diff --git a/addons/common/functions/fnc_setDefinedVariable.sqf b/addons/common/functions/fnc_setDefinedVariable.sqf index 4800958048..a9cb8ac595 100644 --- a/addons/common/functions/fnc_setDefinedVariable.sqf +++ b/addons/common/functions/fnc_setDefinedVariable.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * setVariable value diff --git a/addons/common/functions/fnc_setDisableUserInputStatus.sqf b/addons/common/functions/fnc_setDisableUserInputStatus.sqf index 843837caba..8de0a0c72d 100644 --- a/addons/common/functions/fnc_setDisableUserInputStatus.sqf +++ b/addons/common/functions/fnc_setDisableUserInputStatus.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Disables the user input. Works stacked. diff --git a/addons/common/functions/fnc_setHearingCapability.sqf b/addons/common/functions/fnc_setHearingCapability.sqf index 5fdb5b1272..45858278c1 100644 --- a/addons/common/functions/fnc_setHearingCapability.sqf +++ b/addons/common/functions/fnc_setHearingCapability.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Handle set volume calls. Will use the lowest available volume setting. diff --git a/addons/common/functions/fnc_setName.sqf b/addons/common/functions/fnc_setName.sqf index d725dcc30d..1b0a436aee 100644 --- a/addons/common/functions/fnc_setName.sqf +++ b/addons/common/functions/fnc_setName.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Sets the name variable of the object. Used to prevent issues with the name command. diff --git a/addons/common/functions/fnc_setParameter.sqf b/addons/common/functions/fnc_setParameter.sqf index f7b2ca579f..25dc183865 100644 --- a/addons/common/functions/fnc_setParameter.sqf +++ b/addons/common/functions/fnc_setParameter.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Sets the value of an ACE_Parameter and makes it public. diff --git a/addons/common/functions/fnc_setPitchBankYaw.sqf b/addons/common/functions/fnc_setPitchBankYaw.sqf index debe133484..8d46c08639 100644 --- a/addons/common/functions/fnc_setPitchBankYaw.sqf +++ b/addons/common/functions/fnc_setPitchBankYaw.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Bohemia Interactive edit by KoffeinFlummi * Sets the value of an ACE_Parameter and makes it public. diff --git a/addons/common/functions/fnc_setPlayerOwner.sqf b/addons/common/functions/fnc_setPlayerOwner.sqf index c15974098b..2b37349f9a 100644 --- a/addons/common/functions/fnc_setPlayerOwner.sqf +++ b/addons/common/functions/fnc_setPlayerOwner.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Sets the player's owner id as a variable on his player ojbect. diff --git a/addons/common/functions/fnc_setProne.sqf b/addons/common/functions/fnc_setProne.sqf index f12545290c..20bbbfe550 100644 --- a/addons/common/functions/fnc_setProne.sqf +++ b/addons/common/functions/fnc_setProne.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Force a unit to go prone diff --git a/addons/common/functions/fnc_setSetting.sqf b/addons/common/functions/fnc_setSetting.sqf index a50cf89214..93c6045a6c 100644 --- a/addons/common/functions/fnc_setSetting.sqf +++ b/addons/common/functions/fnc_setSetting.sqf @@ -1,5 +1,5 @@ #define DEBUG_MODE_FULL -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Change the value of an existing setting if it was not previously forced. Force if neccesary. diff --git a/addons/common/functions/fnc_setVariableJIP.sqf b/addons/common/functions/fnc_setVariableJIP.sqf index 857bd1b9b9..36b3d0c3ed 100644 --- a/addons/common/functions/fnc_setVariableJIP.sqf +++ b/addons/common/functions/fnc_setVariableJIP.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Sets a public object namespace variable that gets reset with the same value after respawn, so JIP clients keep the value. diff --git a/addons/common/functions/fnc_setVariablePublic.sqf b/addons/common/functions/fnc_setVariablePublic.sqf index ba58308243..8b583849be 100644 --- a/addons/common/functions/fnc_setVariablePublic.sqf +++ b/addons/common/functions/fnc_setVariablePublic.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 and CAA-Picard and joko and PabstMirror * Publish a variable, but wait a certain amount of time before allowing it to be published it again. diff --git a/addons/common/functions/fnc_setVolume.sqf b/addons/common/functions/fnc_setVolume.sqf index 667735d775..1b0378bb78 100644 --- a/addons/common/functions/fnc_setVolume.sqf +++ b/addons/common/functions/fnc_setVolume.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Sets the volume of the game, including third party radio modifications such as TFAR and ACRE. diff --git a/addons/common/functions/fnc_setupLocalUnitsHandler.sqf b/addons/common/functions/fnc_setupLocalUnitsHandler.sqf index 75f696e324..0ab01cddbd 100644 --- a/addons/common/functions/fnc_setupLocalUnitsHandler.sqf +++ b/addons/common/functions/fnc_setupLocalUnitsHandler.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: dedmen * Adds the local unit event handlers. diff --git a/addons/common/functions/fnc_showHud.sqf b/addons/common/functions/fnc_showHud.sqf index 8d6bfb8e9d..da6f2e0975 100644 --- a/addons/common/functions/fnc_showHud.sqf +++ b/addons/common/functions/fnc_showHud.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Allows multiple sources to not overwrite showHud command. diff --git a/addons/common/functions/fnc_showUser.sqf b/addons/common/functions/fnc_showUser.sqf index a30c7cada3..3907849e15 100644 --- a/addons/common/functions/fnc_showUser.sqf +++ b/addons/common/functions/fnc_showUser.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * hint the Variable ACE_isUsedBy from the input Object every frame diff --git a/addons/common/functions/fnc_statusEffect_addType.sqf b/addons/common/functions/fnc_statusEffect_addType.sqf index 2a1efdc9d8..959ae8c2ef 100644 --- a/addons/common/functions/fnc_statusEffect_addType.sqf +++ b/addons/common/functions/fnc_statusEffect_addType.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Adds a status effect that will be handled. diff --git a/addons/common/functions/fnc_statusEffect_get.sqf b/addons/common/functions/fnc_statusEffect_get.sqf index 683c235214..bef27fc6e8 100644 --- a/addons/common/functions/fnc_statusEffect_get.sqf +++ b/addons/common/functions/fnc_statusEffect_get.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Retrives list of current status effects diff --git a/addons/common/functions/fnc_statusEffect_localEH.sqf b/addons/common/functions/fnc_statusEffect_localEH.sqf index 9f5cd7c42a..f8ff93dba7 100644 --- a/addons/common/functions/fnc_statusEffect_localEH.sqf +++ b/addons/common/functions/fnc_statusEffect_localEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles locality switch, runs a respawn check and then reapplies all effect events. diff --git a/addons/common/functions/fnc_statusEffect_resetVariables.sqf b/addons/common/functions/fnc_statusEffect_resetVariables.sqf index b819174753..a9b6853b9f 100644 --- a/addons/common/functions/fnc_statusEffect_resetVariables.sqf +++ b/addons/common/functions/fnc_statusEffect_resetVariables.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Resets all effect numbers to 0 when an object respawns (but does not apply the effect event). diff --git a/addons/common/functions/fnc_statusEffect_respawnEH.sqf b/addons/common/functions/fnc_statusEffect_respawnEH.sqf index 56fe38b6a8..2c4a4840fe 100644 --- a/addons/common/functions/fnc_statusEffect_respawnEH.sqf +++ b/addons/common/functions/fnc_statusEffect_respawnEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles the Respawn Event Handler to reset effects. diff --git a/addons/common/functions/fnc_statusEffect_sendEffects.sqf b/addons/common/functions/fnc_statusEffect_sendEffects.sqf index dae88d35e4..10f7ffb30c 100644 --- a/addons/common/functions/fnc_statusEffect_sendEffects.sqf +++ b/addons/common/functions/fnc_statusEffect_sendEffects.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Sends all status effects for an object (can be run on non-local objects) diff --git a/addons/common/functions/fnc_statusEffect_set.sqf b/addons/common/functions/fnc_statusEffect_set.sqf index ff8fa8565a..48af4bf771 100644 --- a/addons/common/functions/fnc_statusEffect_set.sqf +++ b/addons/common/functions/fnc_statusEffect_set.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Adds or removes an id to a status effect and will send an event to apply. diff --git a/addons/common/functions/fnc_stringCompare.sqf b/addons/common/functions/fnc_stringCompare.sqf index 9a0955b27a..8ed3c63c75 100644 --- a/addons/common/functions/fnc_stringCompare.sqf +++ b/addons/common/functions/fnc_stringCompare.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bovine3dom * Determines whether one string matches another and how many characters match. Case insensitive. diff --git a/addons/common/functions/fnc_stringToColoredText.sqf b/addons/common/functions/fnc_stringToColoredText.sqf index c7eaaaecb3..0a292753c4 100644 --- a/addons/common/functions/fnc_stringToColoredText.sqf +++ b/addons/common/functions/fnc_stringToColoredText.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Create a centered, colored text. diff --git a/addons/common/functions/fnc_swayLoop.sqf b/addons/common/functions/fnc_swayLoop.sqf index ab2266b1f5..069d908d1a 100644 --- a/addons/common/functions/fnc_swayLoop.sqf +++ b/addons/common/functions/fnc_swayLoop.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Calculates and applies final sway coefficient from sway factors @@ -27,4 +27,4 @@ if (GVAR(swayFactorsMultiplier) isNotEqualTo []) then { ACE_player setCustomAimCoef (_baseline * _multiplier); -[FUNC(swayLoop), [], 1] call CBA_fnc_waitAndExecute +[FUNC(swayLoop), [], 0.5] call CBA_fnc_waitAndExecute diff --git a/addons/common/functions/fnc_switchPersistentLaser.sqf b/addons/common/functions/fnc_switchPersistentLaser.sqf index 2e2fb7505b..a2b7b9c1a8 100644 --- a/addons/common/functions/fnc_switchPersistentLaser.sqf +++ b/addons/common/functions/fnc_switchPersistentLaser.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Controls persistent laser state. diff --git a/addons/common/functions/fnc_switchToGroupSide.sqf b/addons/common/functions/fnc_switchToGroupSide.sqf index 842bdffabd..94d8c52701 100644 --- a/addons/common/functions/fnc_switchToGroupSide.sqf +++ b/addons/common/functions/fnc_switchToGroupSide.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Stack group switches. Will always trace back to original group. diff --git a/addons/common/functions/fnc_syncedEvent.sqf b/addons/common/functions/fnc_syncedEvent.sqf index dbcf7f621b..5bcb678524 100644 --- a/addons/common/functions/fnc_syncedEvent.sqf +++ b/addons/common/functions/fnc_syncedEvent.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus * Call and propegate a synced event diff --git a/addons/common/functions/fnc_syncedEventPFH.sqf b/addons/common/functions/fnc_syncedEventPFH.sqf index 8f356ed433..2ed238bd9e 100644 --- a/addons/common/functions/fnc_syncedEventPFH.sqf +++ b/addons/common/functions/fnc_syncedEventPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * diff --git a/addons/common/functions/fnc_throttledPublicVariable.sqf b/addons/common/functions/fnc_throttledPublicVariable.sqf index abfcfc8c8c..3c1ed2761b 100644 --- a/addons/common/functions/fnc_throttledPublicVariable.sqf +++ b/addons/common/functions/fnc_throttledPublicVariable.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Schedules the publishment of an object variable to reduce network overhead diff --git a/addons/hitreactions/functions/fnc_throwWeapon.sqf b/addons/common/functions/fnc_throwWeapon.sqf similarity index 94% rename from addons/hitreactions/functions/fnc_throwWeapon.sqf rename to addons/common/functions/fnc_throwWeapon.sqf index bc2936e101..c3c234e61f 100644 --- a/addons/hitreactions/functions/fnc_throwWeapon.sqf +++ b/addons/common/functions/fnc_throwWeapon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Makes the unit throw their currently selected weapon. @@ -11,7 +11,7 @@ * Weapon Holder * * Example: - * player call ace_hitreactions_fnc_throwWeapon + * player call ace_common_fnc_throwWeapon * * Public: No */ diff --git a/addons/common/functions/fnc_toBin.sqf b/addons/common/functions/fnc_toBin.sqf index 55c0cea8da..038a091d83 100644 --- a/addons/common/functions/fnc_toBin.sqf +++ b/addons/common/functions/fnc_toBin.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Converts number to binary number diff --git a/addons/common/functions/fnc_toBitmask.sqf b/addons/common/functions/fnc_toBitmask.sqf index 2dc65a5f8d..2efd5414c9 100644 --- a/addons/common/functions/fnc_toBitmask.sqf +++ b/addons/common/functions/fnc_toBitmask.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Convert an array of booleans into a number. diff --git a/addons/common/functions/fnc_toHex.sqf b/addons/common/functions/fnc_toHex.sqf index 8689b90541..08e903405b 100644 --- a/addons/common/functions/fnc_toHex.sqf +++ b/addons/common/functions/fnc_toHex.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, esteldunedain * Converts number to hexadecimal number diff --git a/addons/common/functions/fnc_toNumber.sqf b/addons/common/functions/fnc_toNumber.sqf index 14e8179a63..835ebfb48a 100644 --- a/addons/common/functions/fnc_toNumber.sqf +++ b/addons/common/functions/fnc_toNumber.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth de Wet (LH) * Takes a string/number and returns the number. diff --git a/addons/common/functions/fnc_translateToModelSpace.sqf b/addons/common/functions/fnc_translateToModelSpace.sqf index 843c710c8d..9583f6063c 100644 --- a/addons/common/functions/fnc_translateToModelSpace.sqf +++ b/addons/common/functions/fnc_translateToModelSpace.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * ? diff --git a/addons/common/functions/fnc_translateToWeaponSpace.sqf b/addons/common/functions/fnc_translateToWeaponSpace.sqf index 4f4bbeae3b..143ded9350 100644 --- a/addons/common/functions/fnc_translateToWeaponSpace.sqf +++ b/addons/common/functions/fnc_translateToWeaponSpace.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * ? diff --git a/addons/common/functions/fnc_unhideUnit.sqf b/addons/common/functions/fnc_unhideUnit.sqf index 6057e15878..d78de70b26 100644 --- a/addons/common/functions/fnc_unhideUnit.sqf +++ b/addons/common/functions/fnc_unhideUnit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay (based on unmuteUnit) * Globally unhides a unit. Only unhides if the last reason was removed. diff --git a/addons/common/functions/fnc_uniqueElements.sqf b/addons/common/functions/fnc_uniqueElements.sqf index 5aad721d48..8a578cd008 100644 --- a/addons/common/functions/fnc_uniqueElements.sqf +++ b/addons/common/functions/fnc_uniqueElements.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Make a copy of an array with only the unique elements. diff --git a/addons/common/functions/fnc_uniqueItems.sqf b/addons/common/functions/fnc_uniqueItems.sqf index 5d7e5e8633..dc783ebbea 100644 --- a/addons/common/functions/fnc_uniqueItems.sqf +++ b/addons/common/functions/fnc_uniqueItems.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Returns list of unique items in a unit's inventory. diff --git a/addons/common/functions/fnc_uniqueUnitItems.sqf b/addons/common/functions/fnc_uniqueUnitItems.sqf index 97ebd78db5..9fa03386c6 100644 --- a/addons/common/functions/fnc_uniqueUnitItems.sqf +++ b/addons/common/functions/fnc_uniqueUnitItems.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: johnb43 * Returns list of items (including magazines, backpacks and other) in a unit's inventory. diff --git a/addons/common/functions/fnc_unloadPerson.sqf b/addons/common/functions/fnc_unloadPerson.sqf index 5f435a1455..f6dc7534d2 100644 --- a/addons/common/functions/fnc_unloadPerson.sqf +++ b/addons/common/functions/fnc_unloadPerson.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Unload a person from a vehicle diff --git a/addons/common/functions/fnc_unloadPersonLocal.sqf b/addons/common/functions/fnc_unloadPersonLocal.sqf index 3a48ae2b10..d7a2f57db0 100644 --- a/addons/common/functions/fnc_unloadPersonLocal.sqf +++ b/addons/common/functions/fnc_unloadPersonLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ViperMaul * Unload a person from a vehicle, local diff --git a/addons/common/functions/fnc_unloadUnitWeapon.sqf b/addons/common/functions/fnc_unloadUnitWeapon.sqf index e3dabe5949..ef367d103c 100644 --- a/addons/common/functions/fnc_unloadUnitWeapon.sqf +++ b/addons/common/functions/fnc_unloadUnitWeapon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: drofseh, commy2, johnb43 * Unload the magazine from the unit's weapon and attempt to put it in a sensible place. diff --git a/addons/common/functions/fnc_unmuteUnit.sqf b/addons/common/functions/fnc_unmuteUnit.sqf index 03a7a33e23..e624cfac54 100644 --- a/addons/common/functions/fnc_unmuteUnit.sqf +++ b/addons/common/functions/fnc_unmuteUnit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Unmutes the unit. Only unmutes if the last reason was removed. diff --git a/addons/common/functions/fnc_useItem.sqf b/addons/common/functions/fnc_useItem.sqf index ba4e668792..ea2a743751 100644 --- a/addons/common/functions/fnc_useItem.sqf +++ b/addons/common/functions/fnc_useItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Use item diff --git a/addons/common/functions/fnc_useMagazine.sqf b/addons/common/functions/fnc_useMagazine.sqf index 109f01f996..c08cb1534a 100644 --- a/addons/common/functions/fnc_useMagazine.sqf +++ b/addons/common/functions/fnc_useMagazine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Use magazine diff --git a/addons/common/functions/fnc_watchVariable.sqf b/addons/common/functions/fnc_watchVariable.sqf index cdd88e1771..fb1f7db671 100644 --- a/addons/common/functions/fnc_watchVariable.sqf +++ b/addons/common/functions/fnc_watchVariable.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Shows multiple watched variables on the main display (for easy debugging). diff --git a/addons/common/functions/fnc_waveHeightAt.sqf b/addons/common/functions/fnc_waveHeightAt.sqf index 969f4fc87e..ae0ad9f192 100644 --- a/addons/common/functions/fnc_waveHeightAt.sqf +++ b/addons/common/functions/fnc_waveHeightAt.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus * Gets the wave height at a specific location. Uses a logic, so may be performance iffy diff --git a/addons/common/functions/fnc_worldToScreenBounds.sqf b/addons/common/functions/fnc_worldToScreenBounds.sqf index 74c19d0b4e..13cb7f5633 100644 --- a/addons/common/functions/fnc_worldToScreenBounds.sqf +++ b/addons/common/functions/fnc_worldToScreenBounds.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: zGuba 2011 * Function helper for framing objects on screen. diff --git a/addons/common/functions/script_component.hpp b/addons/common/functions/script_component.hpp deleted file mode 100644 index 6a1bf9154d..0000000000 --- a/addons/common/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\common\script_component.hpp" diff --git a/addons/common/scripts/checkVersionNumber.sqf b/addons/common/scripts/checkVersionNumber.sqf index 15832ed2bd..0f2c055500 100644 --- a/addons/common/scripts/checkVersionNumber.sqf +++ b/addons/common/scripts/checkVersionNumber.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "script_component.hpp" +#include "..\script_component.hpp" private _aceWhitelist = missionNamespace getVariable ["ACE_Version_Whitelist", []]; private _files = CBA_common_addons select { diff --git a/addons/common/scripts/script_component.hpp b/addons/common/scripts/script_component.hpp deleted file mode 100644 index 6a1bf9154d..0000000000 --- a/addons/common/scripts/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\common\script_component.hpp" diff --git a/addons/common/stringtable.xml b/addons/common/stringtable.xml index b31f629027..c4bd75585a 100644 --- a/addons/common/stringtable.xml +++ b/addons/common/stringtable.xml @@ -503,6 +503,7 @@ Определяет, какое действие будет предпринято, если игрок не имеет корректные PBO. Definiert, was passieren soll, wenn ein Spieler nicht die korrekten PBOs nutzt. 플레이어가 같은 PBO를 가지고 있지 않을 시 취할 행동을 정합니다. + Define a ação a ser tomada se um jogador não tiver os PBOs corretos. Check PBO All @@ -531,6 +532,7 @@ Проверять все аддоны, а не только ACE. Überprüft alle Erweiterungen, nicht nur die von ACE. ACE 뿐만이 아닌 다른 PBO 모두 검사합니다. + Verifica todos os addons, não apenas os do ACE. Check PBO Whitelist @@ -559,6 +561,7 @@ Задать список непроверяемых аддонов. Ermöglicht das Erstellen einer Liste von immer erlaubten Erweiterungen. 허용된 애드온 목록을 정의합니다. + Define uma lista de addons permitidos. Feedback icons @@ -1324,6 +1327,8 @@ ACE 未区分 ACE Без категории ACE Sin categoría + ACE Non classé + ACE Sem Categoria No Room to unload @@ -1359,7 +1364,7 @@ Toggle - переключить + Przełącz переключить Basculer Cambiar @@ -1433,6 +1438,7 @@ 광과민 친화적 모드 Режим для эпилептиков Modo adaptado para epilepsia + Modo adaptado para epilepsia Disables some flashing light effects to reduce seizure risk. @@ -1444,6 +1450,7 @@ 반짝거리는 빛으로 인해 일어날 발작 상황을 줄여줍니다. Отключает некоторые вспышки во избежание риска приступа. Deshabilita algunos efectos de iluminación para reducir el riesgo de convulsiones. + Desabilita alguns efeitos de luz para reduzir o risco de convulsões. Flag (ACE - Black) @@ -1503,6 +1510,8 @@ AIのみ Только ИИ Sólo IA + IA uniquement + Somente IA Players and AI @@ -1548,6 +1557,7 @@ 两方 둘 다 Ambos + Ambos Additional progress bar information @@ -1559,6 +1569,7 @@ 额外的进度条信息 추가 진행 막대 정보 Barra adicional de información de progreso + Informações adicionais na barra de progresso Controls extra information shown in progress bar. @@ -1570,6 +1581,7 @@ 控制进度条中显示的额外信息。 진행 막대에 추가적인 정보를 보여주는걸 결정합니다. Controla la información extra mostrada en la barra de progreso. + Controla informações adicionais mostradas na barra de progresso. Percentage @@ -1581,6 +1593,7 @@ 百分比 백분율 Porcentaje + Porcentagem Time remaining @@ -1592,6 +1605,7 @@ 剩余时间 남은 시간 Tiempo restante + Tempo restante None @@ -1635,6 +1649,7 @@ 剩余时间:%1秒 남은 시간: %1초 Tiempo restante: %1s + Tempo restante: %1s Locations Boost Training @@ -1660,6 +1675,9 @@ 卸掉武器弹匣 Разрядить оружие Descargar arma + Waffe entladen + Décharger l'arme + Descarregar arma Load diff --git a/addons/compat_csla/compat_csla_explosives/config.cpp b/addons/compat_csla/compat_csla_explosives/config.cpp index d85e9f34a8..95f9534cca 100644 --- a/addons/compat_csla/compat_csla_explosives/config.cpp +++ b/addons/compat_csla/compat_csla_explosives/config.cpp @@ -1,7 +1,7 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { + class SUBADDON { name = COMPONENT_NAME; units[] = {}; weapons[] = {}; diff --git a/addons/compat_csla/compat_csla_explosives/script_component.hpp b/addons/compat_csla/compat_csla_explosives/script_component.hpp index cdcfa0c070..a697aad7f3 100644 --- a/addons/compat_csla/compat_csla_explosives/script_component.hpp +++ b/addons/compat_csla/compat_csla_explosives/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_csla\script_component.hpp" - #define SUBCOMPONENT explosives -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Explosives +#include "..\script_component.hpp" diff --git a/addons/compat_gm/CfgWeapons.hpp b/addons/compat_gm/CfgWeapons.hpp index 1c2adf8e52..7c77827b2f 100644 --- a/addons/compat_gm/CfgWeapons.hpp +++ b/addons/compat_gm/CfgWeapons.hpp @@ -56,49 +56,43 @@ class CfgWeapons { }; // HELMETS - #define HEARING_PROTECTION_OPEN EGVAR(hearing,protection) = 0; EGVAR(hearing,lowerVolume) = 0; - #define HEARING_PROTECTION_VICCREW EGVAR(hearing,protection) = 0.85; EGVAR(hearing,lowerVolume) = 0.6; - #define HEARING_PROTECTION_EARMUFF EGVAR(hearing,protection) = 0.75; EGVAR(hearing,lowerVolume) = 0.5; - #define HEARING_PROTECTION_PELTOR EGVAR(hearing,protection) = 0.75; EGVAR(hearing,lowerVolume) = 0; - - class gm_ge_headgear_headset_crew_base; class gm_ge_headgear_headset_crew_oli: gm_ge_headgear_headset_crew_base { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_sph4_base; class gm_ge_headgear_sph4_oli: gm_ge_headgear_sph4_base { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_pl_headgear_wz63_base; class gm_pl_army_headgear_wz63_oli: gm_pl_headgear_wz63_base { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_pl_army_headgear_wz63_net_oli: gm_pl_headgear_wz63_base { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_crewhat_80_base; class gm_ge_headgear_crewhat_80_blk: gm_ge_headgear_crewhat_80_base { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_gc_headgear_crewhat_80_base; class gm_gc_army_headgear_crewhat_80_blk: gm_gc_headgear_crewhat_80_base { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_gc_headgear_zsh3_base; class gm_gc_headgear_zsh3_wht: gm_gc_headgear_zsh3_base { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_gc_headgear_zsh3_blu: gm_gc_headgear_zsh3_base { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_gc_headgear_zsh3_orn: gm_gc_headgear_zsh3_base { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_bdx; @@ -106,48 +100,48 @@ class CfgWeapons { class gm_ge_headgear_beret_crew_grn; class gm_ge_headgear_beret_crew_red; class gm_ge_headgear_beret_crew_red_antiair: gm_ge_headgear_beret_crew_red { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_blk_antitank: gm_ge_headgear_beret_crew_blk { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_blk_armor: gm_ge_headgear_beret_crew_blk { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_blk_armorrecon: gm_ge_headgear_beret_crew_blk { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_red_artillery: gm_ge_headgear_beret_crew_red { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_red_engineer: gm_ge_headgear_beret_crew_red { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_red_maintenance: gm_ge_headgear_beret_crew_red { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_grn_mechinf: gm_ge_headgear_beret_crew_grn { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_red_militarypolice: gm_ge_headgear_beret_crew_red { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_red_nbc: gm_ge_headgear_beret_crew_red { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_red_opcom: gm_ge_headgear_beret_crew_red { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_bdx_paratrooper: gm_ge_headgear_beret_crew_bdx { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_blk_recon: gm_ge_headgear_beret_crew_blk { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_red_supply: gm_ge_headgear_beret_crew_red { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class gm_ge_headgear_beret_crew_red_signals: gm_ge_headgear_beret_crew_red { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; }; diff --git a/addons/compat_gm/compat_gm_explosives/config.cpp b/addons/compat_gm/compat_gm_explosives/config.cpp index aa3de76d41..e240c28389 100644 --- a/addons/compat_gm/compat_gm_explosives/config.cpp +++ b/addons/compat_gm/compat_gm_explosives/config.cpp @@ -1,8 +1,8 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - addonRootClass = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -11,7 +11,12 @@ class CfgPatches { "ace_explosives" }; skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + authors[] = {}; + url = ECSTRING(main,URL); VERSION_CONFIG; + + addonRootClass = QUOTE(ADDON); }; }; diff --git a/addons/compat_gm/compat_gm_explosives/script_component.hpp b/addons/compat_gm/compat_gm_explosives/script_component.hpp index f2c819d89e..a697aad7f3 100644 --- a/addons/compat_gm/compat_gm_explosives/script_component.hpp +++ b/addons/compat_gm/compat_gm_explosives/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_gm\script_component.hpp" - #define SUBCOMPONENT explosives -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Explosives +#include "..\script_component.hpp" diff --git a/addons/compat_gm/compat_gm_refuel/config.cpp b/addons/compat_gm/compat_gm_refuel/config.cpp index 9f367e99f9..6becabe70a 100644 --- a/addons/compat_gm/compat_gm_refuel/config.cpp +++ b/addons/compat_gm/compat_gm_refuel/config.cpp @@ -1,8 +1,8 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - addonRootClass = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -11,7 +11,12 @@ class CfgPatches { "ace_refuel" }; skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + authors[] = {}; + url = ECSTRING(main,URL); VERSION_CONFIG; + + addonRootClass = QUOTE(ADDON); }; }; diff --git a/addons/compat_gm/compat_gm_refuel/script_component.hpp b/addons/compat_gm/compat_gm_refuel/script_component.hpp index e5a1095957..b58db9432d 100644 --- a/addons/compat_gm/compat_gm_refuel/script_component.hpp +++ b/addons/compat_gm/compat_gm_refuel/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_gm\script_component.hpp" - #define SUBCOMPONENT refuel -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Refuel +#include "..\script_component.hpp" diff --git a/addons/compat_gm/config.cpp b/addons/compat_gm/config.cpp index 63f43635d5..3f00812dc1 100644 --- a/addons/compat_gm/config.cpp +++ b/addons/compat_gm/config.cpp @@ -1,4 +1,7 @@ #include "script_component.hpp" +#include "\z\ace\addons\csw\script_config_macros_csw.hpp" +#include "\z\ace\addons\hearing\script_macros_hearingProtection.hpp" + class CfgPatches { class ADDON { diff --git a/addons/compat_gm/functions/fnc_onCut.sqf b/addons/compat_gm/functions/fnc_onCut.sqf index 0ceffeb63a..458c5d8de8 100644 --- a/addons/compat_gm/functions/fnc_onCut.sqf +++ b/addons/compat_gm/functions/fnc_onCut.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: nomisum * Function for closing doors for GM helos. diff --git a/addons/compat_gm/functions/fnc_onCutRopes.sqf b/addons/compat_gm/functions/fnc_onCutRopes.sqf index 1116072f13..a02b2fe90c 100644 --- a/addons/compat_gm/functions/fnc_onCutRopes.sqf +++ b/addons/compat_gm/functions/fnc_onCutRopes.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: nomisum * Function for animating ropes (first introduced for GM Bo 105). diff --git a/addons/compat_gm/functions/fnc_onDeployRopes.sqf b/addons/compat_gm/functions/fnc_onDeployRopes.sqf index 9fb4e192bd..ea4c084b4c 100644 --- a/addons/compat_gm/functions/fnc_onDeployRopes.sqf +++ b/addons/compat_gm/functions/fnc_onDeployRopes.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: nomisum * Function for animating ropes when actually dropping (first introduced for GM Bo 105). diff --git a/addons/compat_gm/functions/fnc_onPrepare.sqf b/addons/compat_gm/functions/fnc_onPrepare.sqf index 6dc24932e7..df62ad36b1 100644 --- a/addons/compat_gm/functions/fnc_onPrepare.sqf +++ b/addons/compat_gm/functions/fnc_onPrepare.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: nomisum * Function for opening doors for most GM helos. diff --git a/addons/compat_gm/functions/script_component.hpp b/addons/compat_gm/functions/script_component.hpp deleted file mode 100644 index 8d01d047c9..0000000000 --- a/addons/compat_gm/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\compat_gm\script_component.hpp" diff --git a/optionals/compat_r3f/$PBOPREFIX$ b/addons/compat_r3f/$PBOPREFIX$ similarity index 100% rename from optionals/compat_r3f/$PBOPREFIX$ rename to addons/compat_r3f/$PBOPREFIX$ diff --git a/optionals/compat_r3f/CfgAmmo.hpp b/addons/compat_r3f/CfgAmmo.hpp similarity index 100% rename from optionals/compat_r3f/CfgAmmo.hpp rename to addons/compat_r3f/CfgAmmo.hpp diff --git a/optionals/compat_r3f/CfgMagazines.hpp b/addons/compat_r3f/CfgMagazines.hpp similarity index 100% rename from optionals/compat_r3f/CfgMagazines.hpp rename to addons/compat_r3f/CfgMagazines.hpp diff --git a/optionals/compat_r3f/CfgWeapons.hpp b/addons/compat_r3f/CfgWeapons.hpp similarity index 100% rename from optionals/compat_r3f/CfgWeapons.hpp rename to addons/compat_r3f/CfgWeapons.hpp diff --git a/optionals/compat_r3f/config.cpp b/addons/compat_r3f/config.cpp similarity index 92% rename from optionals/compat_r3f/config.cpp rename to addons/compat_r3f/config.cpp index 2790068152..9f962372d0 100644 --- a/optionals/compat_r3f/config.cpp +++ b/addons/compat_r3f/config.cpp @@ -7,6 +7,7 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"r3f_armes_c", "r3f_acc", "R3F_G17_addons", "R3F_G_SCAR", "R3F_SCAR_H", "R3F_SCAR_L", "R3F_FN_MAG"}; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"Ruthberg"}; url = ECSTRING(main,URL); diff --git a/optionals/compat_r3f/script_component.hpp b/addons/compat_r3f/script_component.hpp similarity index 100% rename from optionals/compat_r3f/script_component.hpp rename to addons/compat_r3f/script_component.hpp diff --git a/optionals/compat_rh_acc/$PBOPREFIX$ b/addons/compat_rh_acc/$PBOPREFIX$ similarity index 100% rename from optionals/compat_rh_acc/$PBOPREFIX$ rename to addons/compat_rh_acc/$PBOPREFIX$ diff --git a/optionals/compat_rh_acc/CfgWeapons.hpp b/addons/compat_rh_acc/CfgWeapons.hpp similarity index 100% rename from optionals/compat_rh_acc/CfgWeapons.hpp rename to addons/compat_rh_acc/CfgWeapons.hpp diff --git a/optionals/compat_rh_acc/config.cpp b/addons/compat_rh_acc/config.cpp similarity index 79% rename from optionals/compat_rh_acc/config.cpp rename to addons/compat_rh_acc/config.cpp index 37737d296e..41aee34292 100644 --- a/optionals/compat_rh_acc/config.cpp +++ b/addons/compat_rh_acc/config.cpp @@ -6,7 +6,8 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"RH_acc"}; + requiredAddons[] = {"ace_scopes", "RH_acc"}; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"Ruthberg"}; url = ECSTRING(main,URL); diff --git a/optionals/compat_rh_acc/script_component.hpp b/addons/compat_rh_acc/script_component.hpp similarity index 100% rename from optionals/compat_rh_acc/script_component.hpp rename to addons/compat_rh_acc/script_component.hpp diff --git a/optionals/compat_rh_de/$PBOPREFIX$ b/addons/compat_rh_de/$PBOPREFIX$ similarity index 100% rename from optionals/compat_rh_de/$PBOPREFIX$ rename to addons/compat_rh_de/$PBOPREFIX$ diff --git a/optionals/compat_rh_de/CfgAmmo.hpp b/addons/compat_rh_de/CfgAmmo.hpp similarity index 100% rename from optionals/compat_rh_de/CfgAmmo.hpp rename to addons/compat_rh_de/CfgAmmo.hpp diff --git a/optionals/compat_rh_de/CfgWeapons.hpp b/addons/compat_rh_de/CfgWeapons.hpp similarity index 100% rename from optionals/compat_rh_de/CfgWeapons.hpp rename to addons/compat_rh_de/CfgWeapons.hpp diff --git a/optionals/compat_rh_de/config.cpp b/addons/compat_rh_de/config.cpp similarity index 91% rename from optionals/compat_rh_de/config.cpp rename to addons/compat_rh_de/config.cpp index 4f9ba42f19..90a37e33fc 100644 --- a/optionals/compat_rh_de/config.cpp +++ b/addons/compat_rh_de/config.cpp @@ -7,6 +7,7 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"RH_de_cfg"}; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"Ruthberg"}; url = ECSTRING(main,URL); diff --git a/optionals/compat_rh_de/script_component.hpp b/addons/compat_rh_de/script_component.hpp similarity index 100% rename from optionals/compat_rh_de/script_component.hpp rename to addons/compat_rh_de/script_component.hpp diff --git a/optionals/compat_rh_m4/$PBOPREFIX$ b/addons/compat_rh_m4/$PBOPREFIX$ similarity index 100% rename from optionals/compat_rh_m4/$PBOPREFIX$ rename to addons/compat_rh_m4/$PBOPREFIX$ diff --git a/optionals/compat_rh_m4/CfgAmmo.hpp b/addons/compat_rh_m4/CfgAmmo.hpp similarity index 100% rename from optionals/compat_rh_m4/CfgAmmo.hpp rename to addons/compat_rh_m4/CfgAmmo.hpp diff --git a/optionals/compat_rh_m4/CfgWeapons.hpp b/addons/compat_rh_m4/CfgWeapons.hpp similarity index 100% rename from optionals/compat_rh_m4/CfgWeapons.hpp rename to addons/compat_rh_m4/CfgWeapons.hpp diff --git a/optionals/compat_rh_m4/config.cpp b/addons/compat_rh_m4/config.cpp similarity index 91% rename from optionals/compat_rh_m4/config.cpp rename to addons/compat_rh_m4/config.cpp index e2dd39ed49..48365df49c 100644 --- a/optionals/compat_rh_m4/config.cpp +++ b/addons/compat_rh_m4/config.cpp @@ -7,6 +7,7 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"RH_m4_cfg"}; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"Ruthberg"}; url = ECSTRING(main,URL); diff --git a/optionals/compat_rh_m4/script_component.hpp b/addons/compat_rh_m4/script_component.hpp similarity index 100% rename from optionals/compat_rh_m4/script_component.hpp rename to addons/compat_rh_m4/script_component.hpp diff --git a/optionals/compat_rh_pdw/$PBOPREFIX$ b/addons/compat_rh_pdw/$PBOPREFIX$ similarity index 100% rename from optionals/compat_rh_pdw/$PBOPREFIX$ rename to addons/compat_rh_pdw/$PBOPREFIX$ diff --git a/optionals/compat_rh_pdw/CfgAmmo.hpp b/addons/compat_rh_pdw/CfgAmmo.hpp similarity index 100% rename from optionals/compat_rh_pdw/CfgAmmo.hpp rename to addons/compat_rh_pdw/CfgAmmo.hpp diff --git a/optionals/compat_rh_pdw/CfgWeapons.hpp b/addons/compat_rh_pdw/CfgWeapons.hpp similarity index 100% rename from optionals/compat_rh_pdw/CfgWeapons.hpp rename to addons/compat_rh_pdw/CfgWeapons.hpp diff --git a/optionals/compat_rh_pdw/config.cpp b/addons/compat_rh_pdw/config.cpp similarity index 91% rename from optionals/compat_rh_pdw/config.cpp rename to addons/compat_rh_pdw/config.cpp index 52f1cff567..433a8d111c 100644 --- a/optionals/compat_rh_pdw/config.cpp +++ b/addons/compat_rh_pdw/config.cpp @@ -7,6 +7,7 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"RH_PDW"}; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"Ruthberg"}; url = ECSTRING(main,URL); diff --git a/optionals/compat_rh_pdw/script_component.hpp b/addons/compat_rh_pdw/script_component.hpp similarity index 100% rename from optionals/compat_rh_pdw/script_component.hpp rename to addons/compat_rh_pdw/script_component.hpp diff --git a/addons/compat_rhs_afrf3/CfgWeapons.hpp b/addons/compat_rhs_afrf3/CfgWeapons.hpp index 17aa535a79..a6def44c40 100644 --- a/addons/compat_rhs_afrf3/CfgWeapons.hpp +++ b/addons/compat_rhs_afrf3/CfgWeapons.hpp @@ -108,21 +108,18 @@ class CfgWeapons { EGVAR(overpressure,offset) = 1.65; }; - #define HEARING_PROTECTION_VICCREW EGVAR(hearing,protection) = 0.85; EGVAR(hearing,lowerVolume) = 0.6; - #define HEARING_PROTECTION_EARMUFF EGVAR(hearing,protection) = 0.75; EGVAR(hearing,lowerVolume) = 0.5; - #define HEARING_PROTECTION_PELTOR EGVAR(hearing,protection) = 0.75; EGVAR(hearing,lowerVolume) = 0; class H_HelmetB; class rhs_tsh4: H_HelmetB { - HEARING_PROTECTION_VICCREW + HEARING_PROTECTION_VICCREW; }; class rhs_6b47_bare; class rhs_6b48: rhs_6b47_bare { - HEARING_PROTECTION_VICCREW + HEARING_PROTECTION_VICCREW; }; class rhs_zsh7a: H_HelmetB { - HEARING_PROTECTION_VICCREW + HEARING_PROTECTION_VICCREW; }; class rhs_zsh7a_alt: rhs_zsh7a { ACE_Protection = 1; @@ -137,19 +134,19 @@ class CfgWeapons { }; class rhs_gssh18: H_HelmetB { - HEARING_PROTECTION_EARMUFF + HEARING_PROTECTION_EARMUFF; }; class rhs_6b47; class rhs_6b47_6m2: rhs_6b47 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhs_6b47_6m2_1: rhs_6b47 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhs_6m2: H_HelmetB { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhs_weap_d81; diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_arsenal/CfgWeapons.hpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_arsenal/CfgWeapons.hpp new file mode 100644 index 0000000000..994af4f667 --- /dev/null +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_arsenal/CfgWeapons.hpp @@ -0,0 +1,7 @@ +class CfgWeapons { + // Last update: RHSAFRF 0.5.6 + class rhs_acc_perst3; + class rhs_acc_perst3_2dp: rhs_acc_perst3 { + baseWeapon = "rhs_acc_perst3_2dp"; + }; +}; diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_arsenal/config.cpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_arsenal/config.cpp new file mode 100644 index 0000000000..bb2e1bf3a2 --- /dev/null +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_arsenal/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class SUBADDON { + addonRootClass = QUOTE(COMPONENT); + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = { + "rhs_main_loadorder", + "ace_arsenal" + }; + skipWhenMissingDependencies = 1; + VERSION_CONFIG; + }; +}; + +//#include "CfgWeapons.hpp" diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_arsenal/script_component.hpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_arsenal/script_component.hpp new file mode 100644 index 0000000000..9de14c499c --- /dev/null +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_arsenal/script_component.hpp @@ -0,0 +1,3 @@ +#define SUBCOMPONENT arsenal +#define SUBCOMPONENT_BEAUTIFIED Arsenal +#include "..\script_component.hpp" diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_csw/CfgMagazines.hpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_csw/CfgMagazines.hpp index d94f12326b..4010e550a9 100644 --- a/addons/compat_rhs_afrf3/compat_rhs_afrf3_csw/CfgMagazines.hpp +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_csw/CfgMagazines.hpp @@ -3,7 +3,7 @@ class CfgMagazines { class rhs_mag_9M131M; class GVAR(mag_9M131M): rhs_mag_9M131M { scope = 2; - displayName = CSTRING(mag_9M131M_displayName); + displayName = SUBCSTRING(mag_9M131M_displayName); type = 256; count = 1; mass = 55; @@ -13,7 +13,7 @@ class CfgMagazines { class rhs_mag_9M131F; class GVAR(mag_9M131F): rhs_mag_9M131F { scope = 2; - displayName = CSTRING(mag_9M131F_displayName); + displayName = SUBCSTRING(mag_9M131F_displayName); type = 256; count = 1; mass = 55; @@ -23,7 +23,7 @@ class CfgMagazines { class rhs_mag_9m133; class GVAR(mag_9m133): rhs_mag_9m133 { scope = 2; - displayName = CSTRING(mag_9m133_displayName); + displayName = SUBCSTRING(mag_9m133_displayName); type = 256; count = 1; mass = 55; @@ -33,7 +33,7 @@ class CfgMagazines { class rhs_mag_9m133f; class GVAR(mag_9m133f): rhs_mag_9m133f { scope = 2; - displayName = CSTRING(mag_9m133f_displayName); + displayName = SUBCSTRING(mag_9m133f_displayName); type = 256; count = 1; mass = 55; @@ -43,7 +43,7 @@ class CfgMagazines { class rhs_mag_9m1331; class GVAR(mag_9m1331): rhs_mag_9m1331 { scope = 2; - displayName = CSTRING(mag_9m1331_displayName); + displayName = SUBCSTRING(mag_9m1331_displayName); type = 256; count = 1; mass = 55; @@ -53,7 +53,7 @@ class CfgMagazines { class rhs_mag_9m133m2; class GVAR(mag_9m133m2): rhs_mag_9m133m2 { scope = 2; - displayName = CSTRING(mag_9m133m2_displayName); + displayName = SUBCSTRING(mag_9m133m2_displayName); type = 256; count = 1; mass = 55; @@ -63,7 +63,7 @@ class CfgMagazines { class rhs_mag_PG9V; class GVAR(mag_PG9V): rhs_mag_PG9V { scope = 2; - displayName = CSTRING(mag_PG9V_displayName); + displayName = SUBCSTRING(mag_PG9V_displayName); type = 256; count = 1; mass = 80; @@ -73,7 +73,7 @@ class CfgMagazines { class rhs_mag_PG9N; class GVAR(mag_PG9N): rhs_mag_PG9N { scope = 2; - displayName = CSTRING(mag_PG9N_displayName); + displayName = SUBCSTRING(mag_PG9N_displayName); type = 256; count = 1; mass = 80; @@ -83,7 +83,7 @@ class CfgMagazines { class rhs_mag_PG9VNT; class GVAR(mag_PG9VNT): rhs_mag_PG9VNT { scope = 2; - displayName = CSTRING(mag_PG9VNT_displayName); + displayName = SUBCSTRING(mag_PG9VNT_displayName); type = 256; count = 1; mass = 80; @@ -93,7 +93,7 @@ class CfgMagazines { class rhs_mag_OG9VM; class GVAR(mag_OG9VM): rhs_mag_OG9VM { scope = 2; - displayName = CSTRING(mag_OG9VM_displayName); + displayName = SUBCSTRING(mag_OG9VM_displayName); type = 256; count = 1; mass = 80; @@ -103,7 +103,7 @@ class CfgMagazines { class rhs_mag_OG9V; class GVAR(mag_OG9V): rhs_mag_OG9V { scope = 2; - displayName = CSTRING(mag_OG9V_displayName); + displayName = SUBCSTRING(mag_OG9V_displayName); type = 256; count = 1; mass = 80; @@ -113,7 +113,7 @@ class CfgMagazines { class RHS_mag_VOG30_30; class GVAR(mag_VOG30_30): RHS_mag_VOG30_30 { scope = 2; - displayName = CSTRING(mag_VOG30_30_displayName); + displayName = SUBCSTRING(mag_VOG30_30_displayName); type = 256; count = 30; mass = 40; @@ -123,7 +123,7 @@ class CfgMagazines { class RHS_mag_GPD30_30; class GVAR(mag_GPD30_30): RHS_mag_GPD30_30 { scope = 2; - displayName = CSTRING(mag_GPD30_30_displayName); + displayName = SUBCSTRING(mag_GPD30_30_displayName); type = 256; count = 30; mass = 40; @@ -133,7 +133,7 @@ class CfgMagazines { class RHS_mag_VOG17m_30; class GVAR(mag_VOG17m_30): RHS_mag_VOG17m_30 { scope = 2; - displayName = CSTRING(mag_VOG17m_30_displayName); + displayName = SUBCSTRING(mag_VOG17m_30_displayName); type = 256; count = 30; mass = 40; diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_csw/config.cpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_csw/config.cpp index 71ddf3b478..4018785e82 100644 --- a/addons/compat_rhs_afrf3/compat_rhs_afrf3_csw/config.cpp +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_csw/config.cpp @@ -1,11 +1,8 @@ #include "script_component.hpp" -// Config will be binerized, so this include is only required at build-time -#include "\z\ace\addons\csw\script_config_macros_csw.hpp" - class CfgPatches { - class ADDON { - name = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {QGVAR(2b14_carry), QGVAR(nsv_carry), QGVAR(kord_carry), QGVAR(ags30_carry), QGVAR(spg9_carry), QGVAR(spg9m_carry), QGVAR(metis_carry), QGVAR(kornet_carry)}; requiredVersion = REQUIRED_VERSION; @@ -13,10 +10,10 @@ class CfgPatches { "rhs_main_loadorder", "ace_csw" }; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"Ruthberg", "GitHawk", "BaerMitUmlaut", "commy2", "Skengman2"}; url = ECSTRING(main,URL); - skipWhenMissingDependencies = 1; VERSION_CONFIG; }; }; diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_csw/script_component.hpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_csw/script_component.hpp index 318b08f74f..77a1b484cb 100644 --- a/addons/compat_rhs_afrf3/compat_rhs_afrf3_csw/script_component.hpp +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_csw/script_component.hpp @@ -1,5 +1,5 @@ -#include "\z\ace\addons\compat_rhs_afrf3\script_component.hpp" - #define SUBCOMPONENT csw -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Crew-Served Weapons +#include "..\script_component.hpp" + +#include "\z\ace\addons\csw\script_config_macros_csw.hpp" diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_explosives/config.cpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_explosives/config.cpp index 9e767987da..c0861a5872 100644 --- a/addons/compat_rhs_afrf3/compat_rhs_afrf3_explosives/config.cpp +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_explosives/config.cpp @@ -1,8 +1,8 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - name = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -10,10 +10,10 @@ class CfgPatches { "rhs_main_loadorder", "ace_explosives" }; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"Ruthberg", "GitHawk", "BaerMitUmlaut", "commy2", "Skengman2"}; url = ECSTRING(main,URL); - skipWhenMissingDependencies = 1; VERSION_CONFIG; }; }; diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_explosives/script_component.hpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_explosives/script_component.hpp index 7aa7c4a768..a697aad7f3 100644 --- a/addons/compat_rhs_afrf3/compat_rhs_afrf3_explosives/script_component.hpp +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_explosives/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_rhs_afrf3\script_component.hpp" - #define SUBCOMPONENT explosives -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Explosives +#include "..\script_component.hpp" diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_fastroping/config.cpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_fastroping/config.cpp index d47b787f32..8809558aa6 100644 --- a/addons/compat_rhs_afrf3/compat_rhs_afrf3_fastroping/config.cpp +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_fastroping/config.cpp @@ -1,11 +1,8 @@ #include "script_component.hpp" -// Config will be binerized, so this include is only required at build-time -#include "\z\ace\addons\fastroping\script_macros.hpp" - class CfgPatches { - class ADDON { - name = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -15,6 +12,7 @@ class CfgPatches { }; skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); + authors[] = {}; url = ECSTRING(main,URL); VERSION_CONFIG; }; diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_fastroping/script_component.hpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_fastroping/script_component.hpp index 70b5181236..77632a2484 100644 --- a/addons/compat_rhs_afrf3/compat_rhs_afrf3_fastroping/script_component.hpp +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_fastroping/script_component.hpp @@ -1,5 +1,5 @@ -#include "\z\ace\addons\compat_rhs_afrf3\script_component.hpp" - #define SUBCOMPONENT fastroping -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Fastroping +#include "..\script_component.hpp" + +#include "\z\ace\addons\fastroping\script_macros.hpp" diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_nightvision/config.cpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_nightvision/config.cpp index 3950c7890e..4a349ababe 100644 --- a/addons/compat_rhs_afrf3/compat_rhs_afrf3_nightvision/config.cpp +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_nightvision/config.cpp @@ -1,8 +1,8 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - name = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -10,10 +10,10 @@ class CfgPatches { "rhs_main_loadorder", "ace_nightvision" }; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"Ruthberg", "GitHawk", "BaerMitUmlaut", "commy2", "Skengman2"}; url = ECSTRING(main,URL); - skipWhenMissingDependencies = 1; VERSION_CONFIG; }; }; diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_nightvision/script_component.hpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_nightvision/script_component.hpp index 2ea0f08dc6..14bc3772cc 100644 --- a/addons/compat_rhs_afrf3/compat_rhs_afrf3_nightvision/script_component.hpp +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_nightvision/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_rhs_afrf3\script_component.hpp" - #define SUBCOMPONENT nightvision -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEUTIFIEID Night Vision +#include "..\script_component.hpp" diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_refuel/config.cpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_refuel/config.cpp index 328d049bea..5101a383a3 100644 --- a/addons/compat_rhs_afrf3/compat_rhs_afrf3_refuel/config.cpp +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_refuel/config.cpp @@ -1,8 +1,8 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - name = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -10,10 +10,10 @@ class CfgPatches { "rhs_main_loadorder", "ace_refuel" }; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"Ruthberg", "GitHawk", "BaerMitUmlaut", "commy2", "Skengman2"}; url = ECSTRING(main,URL); - skipWhenMissingDependencies = 1; VERSION_CONFIG; }; }; diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_refuel/script_component.hpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_refuel/script_component.hpp index 4487ef20dc..b58db9432d 100644 --- a/addons/compat_rhs_afrf3/compat_rhs_afrf3_refuel/script_component.hpp +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_refuel/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_rhs_afrf3\script_component.hpp" - #define SUBCOMPONENT refuel -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Refuel +#include "..\script_component.hpp" diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_scopes/config.cpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_scopes/config.cpp index ce2272766d..6ca402478f 100644 --- a/addons/compat_rhs_afrf3/compat_rhs_afrf3_scopes/config.cpp +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_scopes/config.cpp @@ -1,8 +1,8 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - name = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -10,10 +10,10 @@ class CfgPatches { "rhs_main_loadorder", "ace_scopes" }; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"Ruthberg", "GitHawk", "BaerMitUmlaut", "commy2", "Skengman2"}; url = ECSTRING(main,URL); - skipWhenMissingDependencies = 1; VERSION_CONFIG; }; }; diff --git a/addons/compat_rhs_afrf3/compat_rhs_afrf3_scopes/script_component.hpp b/addons/compat_rhs_afrf3/compat_rhs_afrf3_scopes/script_component.hpp index 86f82ef9da..613b4322f9 100644 --- a/addons/compat_rhs_afrf3/compat_rhs_afrf3_scopes/script_component.hpp +++ b/addons/compat_rhs_afrf3/compat_rhs_afrf3_scopes/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_rhs_afrf3\script_component.hpp" - #define SUBCOMPONENT scopes -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Scopes +#include "..\script_component.hpp" diff --git a/addons/compat_rhs_afrf3/config.cpp b/addons/compat_rhs_afrf3/config.cpp index 3497a8e956..44fcd30fcb 100644 --- a/addons/compat_rhs_afrf3/config.cpp +++ b/addons/compat_rhs_afrf3/config.cpp @@ -1,4 +1,5 @@ #include "script_component.hpp" +#include "\z\ace\addons\hearing\script_macros_hearingProtection.hpp" class CfgPatches { class ADDON { diff --git a/addons/compat_rhs_afrf3/functions/fnc_onCut.sqf b/addons/compat_rhs_afrf3/functions/fnc_onCut.sqf index 266fa5e223..4acb91ae0a 100644 --- a/addons/compat_rhs_afrf3/functions/fnc_onCut.sqf +++ b/addons/compat_rhs_afrf3/functions/fnc_onCut.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Function for closing doors and retracting the hooks for RHS USF helos. diff --git a/addons/compat_rhs_afrf3/functions/fnc_onPrepare.sqf b/addons/compat_rhs_afrf3/functions/fnc_onPrepare.sqf index d5317192d1..2a11bbd779 100644 --- a/addons/compat_rhs_afrf3/functions/fnc_onPrepare.sqf +++ b/addons/compat_rhs_afrf3/functions/fnc_onPrepare.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Function for opening doors and extending the hook for most vanilla helos. diff --git a/addons/compat_rhs_afrf3/functions/script_component.hpp b/addons/compat_rhs_afrf3/functions/script_component.hpp deleted file mode 100644 index afabd202be..0000000000 --- a/addons/compat_rhs_afrf3/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\compat_rhs_afrf3\script_component.hpp" diff --git a/addons/compat_rhs_gref3/compat_rhs_gref3_csw/config.cpp b/addons/compat_rhs_gref3/compat_rhs_gref3_csw/config.cpp index 975dd19825..2628bffcd5 100644 --- a/addons/compat_rhs_gref3/compat_rhs_gref3_csw/config.cpp +++ b/addons/compat_rhs_gref3/compat_rhs_gref3_csw/config.cpp @@ -1,11 +1,8 @@ #include "script_component.hpp" -// Config will be binerized, so this include is only required at build-time -#include "\z\ace\addons\csw\script_config_macros_csw.hpp" - class CfgPatches { - class ADDON { - name = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {QGVAR(dshkm_carry)}; requiredVersion = REQUIRED_VERSION; @@ -15,6 +12,7 @@ class CfgPatches { }; skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); + authors[] = {}; url = ECSTRING(main,URL); VERSION_CONFIG; }; diff --git a/addons/compat_rhs_gref3/compat_rhs_gref3_csw/script_component.hpp b/addons/compat_rhs_gref3/compat_rhs_gref3_csw/script_component.hpp index 045e7140c3..77a1b484cb 100644 --- a/addons/compat_rhs_gref3/compat_rhs_gref3_csw/script_component.hpp +++ b/addons/compat_rhs_gref3/compat_rhs_gref3_csw/script_component.hpp @@ -1,5 +1,5 @@ -#include "\z\ace\addons\compat_rhs_gref3\script_component.hpp" - #define SUBCOMPONENT csw -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Crew-Served Weapons +#include "..\script_component.hpp" + +#include "\z\ace\addons\csw\script_config_macros_csw.hpp" diff --git a/addons/compat_rhs_gref3/compat_rhs_gref3_explosives/config.cpp b/addons/compat_rhs_gref3/compat_rhs_gref3_explosives/config.cpp index 5c646c42b4..e1e71ebbfa 100644 --- a/addons/compat_rhs_gref3/compat_rhs_gref3_explosives/config.cpp +++ b/addons/compat_rhs_gref3/compat_rhs_gref3_explosives/config.cpp @@ -1,8 +1,8 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - name = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -12,6 +12,7 @@ class CfgPatches { }; skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); + authors[] = {}; url = ECSTRING(main,URL); VERSION_CONFIG; }; diff --git a/addons/compat_rhs_gref3/compat_rhs_gref3_explosives/script_component.hpp b/addons/compat_rhs_gref3/compat_rhs_gref3_explosives/script_component.hpp index c3655089bd..a697aad7f3 100644 --- a/addons/compat_rhs_gref3/compat_rhs_gref3_explosives/script_component.hpp +++ b/addons/compat_rhs_gref3/compat_rhs_gref3_explosives/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_rhs_gref3\script_component.hpp" - #define SUBCOMPONENT explosives -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Explosives +#include "..\script_component.hpp" diff --git a/addons/compat_rhs_gref3/compat_rhs_gref3_fastroping/config.cpp b/addons/compat_rhs_gref3/compat_rhs_gref3_fastroping/config.cpp index 19c4d2f612..b057aa1267 100644 --- a/addons/compat_rhs_gref3/compat_rhs_gref3_fastroping/config.cpp +++ b/addons/compat_rhs_gref3/compat_rhs_gref3_fastroping/config.cpp @@ -1,11 +1,8 @@ #include "script_component.hpp" -// Config will be binerized, so this include is only required at build-time -#include "\z\ace\addons\fastroping\script_macros.hpp" - class CfgPatches { - class ADDON { - name = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -15,6 +12,7 @@ class CfgPatches { }; skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); + authors[] = {}; url = ECSTRING(main,URL); VERSION_CONFIG; }; diff --git a/addons/compat_rhs_gref3/compat_rhs_gref3_fastroping/script_component.hpp b/addons/compat_rhs_gref3/compat_rhs_gref3_fastroping/script_component.hpp index 2faf389ac7..77632a2484 100644 --- a/addons/compat_rhs_gref3/compat_rhs_gref3_fastroping/script_component.hpp +++ b/addons/compat_rhs_gref3/compat_rhs_gref3_fastroping/script_component.hpp @@ -1,5 +1,5 @@ -#include "\z\ace\addons\compat_rhs_gref3\script_component.hpp" - #define SUBCOMPONENT fastroping -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Fastroping +#include "..\script_component.hpp" + +#include "\z\ace\addons\fastroping\script_macros.hpp" diff --git a/addons/compat_rhs_gref3/functions/fnc_canCloseDoor.sqf b/addons/compat_rhs_gref3/functions/fnc_canCloseDoor.sqf index 303f7d2d44..d874e1e23d 100644 --- a/addons/compat_rhs_gref3/functions/fnc_canCloseDoor.sqf +++ b/addons/compat_rhs_gref3/functions/fnc_canCloseDoor.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if the door can be closed. diff --git a/addons/compat_rhs_gref3/functions/fnc_onCut.sqf b/addons/compat_rhs_gref3/functions/fnc_onCut.sqf index 20385a7f36..27b9559b11 100644 --- a/addons/compat_rhs_gref3/functions/fnc_onCut.sqf +++ b/addons/compat_rhs_gref3/functions/fnc_onCut.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Function for closing doors and retracting the hooks for RHS USF helos. diff --git a/addons/compat_rhs_gref3/functions/fnc_onPrepare.sqf b/addons/compat_rhs_gref3/functions/fnc_onPrepare.sqf index 349f0b53e7..da79074aac 100644 --- a/addons/compat_rhs_gref3/functions/fnc_onPrepare.sqf +++ b/addons/compat_rhs_gref3/functions/fnc_onPrepare.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Function for opening doors and extending the hook for most vanilla helos. diff --git a/addons/compat_rhs_gref3/functions/script_component.hpp b/addons/compat_rhs_gref3/functions/script_component.hpp deleted file mode 100644 index cb8dda624c..0000000000 --- a/addons/compat_rhs_gref3/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\compat_rhs_gref3\script_component.hpp" diff --git a/addons/compat_rhs_saf3/compat_rhs_saf3_explosives/config.cpp b/addons/compat_rhs_saf3/compat_rhs_saf3_explosives/config.cpp index 45d4945c5a..099fef0b9d 100644 --- a/addons/compat_rhs_saf3/compat_rhs_saf3_explosives/config.cpp +++ b/addons/compat_rhs_saf3/compat_rhs_saf3_explosives/config.cpp @@ -1,8 +1,8 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - name = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -10,13 +10,14 @@ class CfgPatches { "rhssaf_main_loadorder", "ace_explosives" }; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {}; url = ECSTRING(main,URL); - skipWhenMissingDependencies = 1; VERSION_CONFIG; }; }; #include "CfgAmmo.hpp" #include "CfgMagazines.hpp" +#include "CfgVehicles.hpp" diff --git a/addons/compat_rhs_saf3/compat_rhs_saf3_explosives/script_component.hpp b/addons/compat_rhs_saf3/compat_rhs_saf3_explosives/script_component.hpp index f587912569..a697aad7f3 100644 --- a/addons/compat_rhs_saf3/compat_rhs_saf3_explosives/script_component.hpp +++ b/addons/compat_rhs_saf3/compat_rhs_saf3_explosives/script_component.hpp @@ -1,10 +1,3 @@ -#define COMPONENT compat_rhs_saf3 -#define COMPONENT_BEAUTIFIED RHS SAF Compatibility - -#include "\z\ace\addons\main\script_mod.hpp" - -#include "\z\ace\addons\main\script_macros.hpp" - #define SUBCOMPONENT explosives -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Explosives +#include "..\script_component.hpp" diff --git a/addons/compat_rhs_saf3/config.cpp b/addons/compat_rhs_saf3/config.cpp index e6b708dcbb..75ee4f5530 100644 --- a/addons/compat_rhs_saf3/config.cpp +++ b/addons/compat_rhs_saf3/config.cpp @@ -7,10 +7,10 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"rhssaf_main_loadorder"}; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {}; url = ECSTRING(main,URL); - skipWhenMissingDependencies = 1; VERSION_CONFIG; }; }; diff --git a/addons/compat_rhs_usf3/CfgJointRails.hpp b/addons/compat_rhs_usf3/CfgJointRails.hpp new file mode 100644 index 0000000000..0e0029857f --- /dev/null +++ b/addons/compat_rhs_usf3/CfgJointRails.hpp @@ -0,0 +1,11 @@ +// RHS specifically disables only the base vanilla 5.56 suppressor, the camo variants are untouched + +class asdg_MuzzleSlot; +class asdg_MuzzleSlot_556: asdg_MuzzleSlot { + class compatibleItems; +}; +class rhs_western_rifle_muzzle_slot: asdg_MuzzleSlot_556 { + class compatibleItems: compatibleItems { + muzzle_snds_M = 1; + }; +}; diff --git a/addons/compat_rhs_usf3/CfgMagazineWells.hpp b/addons/compat_rhs_usf3/CfgMagazineWells.hpp index a5d8f8c58d..01223ec141 100644 --- a/addons/compat_rhs_usf3/CfgMagazineWells.hpp +++ b/addons/compat_rhs_usf3/CfgMagazineWells.hpp @@ -6,6 +6,6 @@ class CfgMagazineWells { ADDON[] = {QGVAR(pylon_mag_2rnd_hellfire_n)}; }; class ace_hellfire_L { - ADDON[] = {QGVAR(pylon_mag_2rnd_hellfire_L)}; + ADDON[] = {QGVAR(pylon_mag_2rnd_hellfire_l)}; }; }; diff --git a/addons/compat_rhs_usf3/CfgVehicles.hpp b/addons/compat_rhs_usf3/CfgVehicles.hpp index 52fccd808d..0593c5a868 100644 --- a/addons/compat_rhs_usf3/CfgVehicles.hpp +++ b/addons/compat_rhs_usf3/CfgVehicles.hpp @@ -1,5 +1,5 @@ class CfgVehicles { - class Heli_Light_03_base_F; + class Heli_light_03_base_F; class RHS_UH1_Base: Heli_light_03_base_F { EGVAR(refuel,fuelCapacity) = 1447; }; @@ -158,7 +158,9 @@ class CfgVehicles { }; EGVAR(vehicle_damage,canHaveFireRing) = 1; }; - class RHS_M2A3; + class RHS_M2A3: RHS_M2A2 { + ace_hunterkiller = 1; + }; class RHS_M2A3_BUSKI: RHS_M2A3 { EGVAR(vehicle_damage,eraHitpoints)[] = { "era_1_hitpoint", "era_2_hitpoint", "era_3_hitpoint", "era_4_hitpoint", "era_5_hitpoint", diff --git a/addons/compat_rhs_usf3/CfgWeapons.hpp b/addons/compat_rhs_usf3/CfgWeapons.hpp index 53234acf1b..46ac7e56ba 100644 --- a/addons/compat_rhs_usf3/CfgWeapons.hpp +++ b/addons/compat_rhs_usf3/CfgWeapons.hpp @@ -206,173 +206,169 @@ class CfgWeapons { EGVAR(overpressure,offset) = 0.9; }; - #define HEARING_PROTECTION_OPEN EGVAR(hearing,protection) = 0; EGVAR(hearing,lowerVolume) = 0; - #define HEARING_PROTECTION_VICCREW EGVAR(hearing,protection) = 0.85; EGVAR(hearing,lowerVolume) = 0.6; - #define HEARING_PROTECTION_EARMUFF EGVAR(hearing,protection) = 0.75; EGVAR(hearing,lowerVolume) = 0.5; - #define HEARING_PROTECTION_PELTOR EGVAR(hearing,protection) = 0.75; EGVAR(hearing,lowerVolume) = 0; // Fast Helmets class rhsusf_opscore_01; class rhsusf_opscore_ut_pelt_nsw: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_aor1_pelt: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_aor1_pelt_nsw: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_bk_pelt: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_fg_pelt: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_fg_pelt_nsw: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_fg_pelt_cam: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_paint_pelt: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_paint_pelt_nsw: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_paint_pelt_nsw_cam: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_aor2_pelt: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_aor2_pelt_nsw: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_ut_pelt: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_ut_pelt_cam: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_ut_pelt_nsw_cam: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_mc_pelt: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_mc_pelt_nsw: rhsusf_opscore_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_cover; class rhsusf_opscore_mc_cover_pelt_nsw: rhsusf_opscore_cover { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_mc_cover_pelt: rhsusf_opscore_cover { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_mc_cover_pelt_cam: rhsusf_opscore_cover { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_rg_cover_pelt: rhsusf_opscore_cover { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_coy_cover_pelt: rhsusf_opscore_cover { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_mar_01; class rhsusf_opscore_mar_ut_pelt: rhsusf_opscore_mar_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_opscore_mar_fg_pelt: rhsusf_opscore_mar_01 { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; // ACH Helmets class rhsusf_ach_helmet_ocp; class rhsusf_ach_bare_des_headset: rhsusf_ach_helmet_ocp { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_ach_bare_des_headset_ess: rhsusf_ach_helmet_ocp { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_ach_bare_headset: rhsusf_ach_helmet_ocp { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_ach_bare_headset_ess: rhsusf_ach_helmet_ocp { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_ach_bare_semi_headset: rhsusf_ach_helmet_ocp { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_ach_bare_semi_headset_ess: rhsusf_ach_helmet_ocp { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_ach_bare_tan_headset: rhsusf_ach_helmet_ocp { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_ach_bare_tan_headset_ess: rhsusf_ach_helmet_ocp { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_ach_bare_wood_headset: rhsusf_ach_helmet_ocp { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_ach_bare_wood_headset_ess: rhsusf_ach_helmet_ocp { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_ach_helmet_headset_ocp: rhsusf_ach_helmet_ocp { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_ach_helmet_headset_ess_ocp: rhsusf_ach_helmet_ocp { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; // ACVC Helmets class rhsusf_cvc_helmet: rhsusf_opscore_01 { - HEARING_PROTECTION_VICCREW + HEARING_PROTECTION_VICCREW; }; // MICH Helmets class rhsusf_mich_bare; class rhsusf_mich_bare_alt: rhsusf_mich_bare { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_mich_bare_norotos; class rhsusf_mich_bare_norotos_alt: rhsusf_mich_bare_norotos { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_mich_bare_norotos_arc; class rhsusf_mich_bare_norotos_arc_alt: rhsusf_mich_bare_norotos_arc { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_mich_bare_semi; class rhsusf_mich_bare_alt_semi: rhsusf_mich_bare_semi { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_mich_bare_norotos_semi; class rhsusf_mich_bare_norotos_alt_semi: rhsusf_mich_bare_norotos_semi { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_mich_bare_norotos_arc_semi: rhsusf_mich_bare_norotos_alt_semi { - HEARING_PROTECTION_OPEN + HEARING_PROTECTION_OPEN; }; class rhsusf_mich_bare_norotos_arc_alt_semi: rhsusf_mich_bare_norotos_arc_semi { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_mich_bare_tan; class rhsusf_mich_bare_alt_tan: rhsusf_mich_bare_tan { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_mich_bare_norotos_tan; class rhsusf_mich_bare_norotos_alt_tan: rhsusf_mich_bare_norotos_tan { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_mich_bare_norotos_arc_tan; class rhsusf_mich_bare_norotos_arc_alt_tan: rhsusf_mich_bare_norotos_arc_tan { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class rhsusf_hgu56p: rhsusf_opscore_01 { - HEARING_PROTECTION_VICCREW + HEARING_PROTECTION_VICCREW; }; class rhsusf_hgu56p_visor: rhsusf_hgu56p { ACE_Protection = 1; @@ -425,12 +421,12 @@ class CfgWeapons { ACE_Protection = 0; }; class rhsusf_ihadss: rhsusf_opscore_01 { - HEARING_PROTECTION_VICCREW + HEARING_PROTECTION_VICCREW; }; class H_HelmetB; class RHS_jetpilot_usaf: H_HelmetB { ACE_Protection = 1; - HEARING_PROTECTION_VICCREW + HEARING_PROTECTION_VICCREW; }; }; diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_arsenal/CfgWeapons.hpp b/addons/compat_rhs_usf3/compat_rhs_usf3_arsenal/CfgWeapons.hpp new file mode 100644 index 0000000000..7888e52393 --- /dev/null +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_arsenal/CfgWeapons.hpp @@ -0,0 +1,50 @@ +class CfgWeapons { + // Last update: RHSUSAF 0.5.6 + class acc_pointer_IR; + class rhsusf_acc_anpeq15: acc_pointer_IR { + baseWeapon = "rhsusf_acc_anpeq15"; + }; + class rhsusf_acc_anpeq15_bk: rhsusf_acc_anpeq15 { + baseWeapon = "rhsusf_acc_anpeq15_bk"; + }; + class rhsusf_acc_anpeq15_light; + class rhsusf_acc_anpeq15_bk_light: rhsusf_acc_anpeq15_light { + baseWeapon = "rhsusf_acc_anpeq15_bk"; + }; + class rhsusf_acc_anpeq15_wmx: rhsusf_acc_anpeq15 { + baseWeapon = "rhsusf_acc_anpeq15_wmx"; + }; + class rhsusf_acc_anpeq15_wmx_light: rhsusf_acc_anpeq15_light { + baseWeapon = "rhsusf_acc_anpeq15_wmx"; + }; + class rhsusf_acc_M952V: rhsusf_acc_anpeq15_light { + baseWeapon = "rhsusf_acc_M952V"; + }; + class rhsusf_acc_wmx: rhsusf_acc_M952V { + baseWeapon = "rhsusf_acc_wmx"; + }; + class rhsusf_acc_wmx_bk: rhsusf_acc_M952V { + baseWeapon = "rhsusf_acc_wmx_bk"; + }; + class rhsusf_acc_anpeq15A: acc_pointer_IR { + baseWeapon = "rhsusf_acc_anpeq15A"; + }; + class rhsusf_acc_anpeq15side: acc_pointer_IR { + baseWeapon = "rhsusf_acc_anpeq15side"; + }; + class rhsusf_acc_anpeq15side_bk: rhsusf_acc_anpeq15side { + baseWeapon = "rhsusf_acc_anpeq15side_bk"; + }; + class rhsusf_acc_anpeq16a: rhsusf_acc_anpeq15 { + baseWeapon = "rhsusf_acc_anpeq16a"; + }; + class rhsusf_acc_anpeq16a_light: rhsusf_acc_anpeq15_light { + baseWeapon = "rhsusf_acc_anpeq16a"; + }; + class rhsusf_acc_anpeq16a_top: rhsusf_acc_anpeq16a { + baseWeapon = "rhsusf_acc_anpeq16a_top"; + }; + class rhsusf_acc_anpeq16a_light_top: rhsusf_acc_anpeq16a_light { + baseWeapon = "rhsusf_acc_anpeq16a_top"; + }; +}; diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_arsenal/config.cpp b/addons/compat_rhs_usf3/compat_rhs_usf3_arsenal/config.cpp new file mode 100644 index 0000000000..93e0f33289 --- /dev/null +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_arsenal/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class SUBADDON { + addonRootClass = QUOTE(COMPONENT); + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = { + "rhsusf_main_loadorder", + "ace_arsenal" + }; + skipWhenMissingDependencies = 1; + VERSION_CONFIG; + }; +}; + +#include "CfgWeapons.hpp" diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_arsenal/script_component.hpp b/addons/compat_rhs_usf3/compat_rhs_usf3_arsenal/script_component.hpp new file mode 100644 index 0000000000..9de14c499c --- /dev/null +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_arsenal/script_component.hpp @@ -0,0 +1,3 @@ +#define SUBCOMPONENT arsenal +#define SUBCOMPONENT_BEAUTIFIED Arsenal +#include "..\script_component.hpp" diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_csw/CfgMagazines.hpp b/addons/compat_rhs_usf3/compat_rhs_usf3_csw/CfgMagazines.hpp index 8fb6b777b1..7b6cb387d4 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_csw/CfgMagazines.hpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_csw/CfgMagazines.hpp @@ -3,7 +3,7 @@ class CfgMagazines { class rhs_mag_TOW; class GVAR(mag_TOW): rhs_mag_TOW { scope = 2; - displayName = CSTRING(mag_TOW_displayName); + displayName = SUBCSTRING(mag_TOW_displayName); type = 256; count = 1; mass = 200; // Actually should be 440 but ARMA uses weight and volume in the same number @@ -13,7 +13,7 @@ class CfgMagazines { class rhs_mag_TOWB; class GVAR(mag_TOWB): rhs_mag_TOWB { scope = 2; - displayName = CSTRING(mag_TOWB_displayName); + displayName = SUBCSTRING(mag_TOWB_displayName); type = 256; count = 1; mass = 200; @@ -23,7 +23,7 @@ class CfgMagazines { class rhs_mag_ITOW; class GVAR(mag_ITOW): rhs_mag_ITOW { scope = 2; - displayName = CSTRING(mag_ITOW_displayName); + displayName = SUBCSTRING(mag_ITOW_displayName); type = 256; count = 1; mass = 200; @@ -33,7 +33,7 @@ class CfgMagazines { class rhs_mag_TOW2; class GVAR(mag_TOW2): rhs_mag_TOW2 { scope = 2; - displayName = CSTRING(mag_TOW2_displayName); + displayName = SUBCSTRING(mag_TOW2_displayName); type = 256; count = 1; mass = 200; @@ -43,7 +43,7 @@ class CfgMagazines { class rhs_mag_TOW2A; class GVAR(mag_TOW2A): rhs_mag_TOW2A { scope = 2; - displayName = CSTRING(mag_TOW2A_displayName); + displayName = SUBCSTRING(mag_TOW2A_displayName); type = 256; count = 1; mass = 200; @@ -53,7 +53,7 @@ class CfgMagazines { class rhs_mag_TOW2b; class GVAR(mag_TOW2b): rhs_mag_TOW2b { scope = 2; - displayName = CSTRING(mag_TOW2b_displayName); + displayName = SUBCSTRING(mag_TOW2b_displayName); type = 256; count = 1; mass = 200; @@ -63,7 +63,7 @@ class CfgMagazines { class rhs_mag_TOW2b_aero; class GVAR(mag_TOW2b_aero): rhs_mag_TOW2b_aero { scope = 2; - displayName = CSTRING(mag_TOW2b_aero_displayName); + displayName = SUBCSTRING(mag_TOW2b_aero_displayName); type = 256; count = 1; mass = 200; @@ -73,7 +73,7 @@ class CfgMagazines { class rhs_mag_TOW2bb; class GVAR(mag_TOW2bb): rhs_mag_TOW2bb { scope = 2; - displayName = CSTRING(mag_TOW2bb_displayName); + displayName = SUBCSTRING(mag_TOW2bb_displayName); type = 256; count = 1; mass = 200; @@ -84,7 +84,7 @@ class CfgMagazines { class RHS_48Rnd_40mm_MK19; class GVAR(48Rnd_40mm_MK19): RHS_48Rnd_40mm_MK19 { scope = 2; - displayName = CSTRING(48Rnd_40mm_MK19_displayName); + displayName = SUBCSTRING(48Rnd_40mm_MK19_displayName); type = 256; count = 48; mass = 40; @@ -94,7 +94,7 @@ class CfgMagazines { class RHS_48Rnd_40mm_MK19_M430I; class GVAR(48Rnd_40mm_MK19_M430I): RHS_48Rnd_40mm_MK19_M430I { scope = 2; - displayName = CSTRING(48Rnd_40mm_MK19_M430I_displayName); + displayName = SUBCSTRING(48Rnd_40mm_MK19_M430I_displayName); type = 256; count = 48; mass = 40; @@ -104,7 +104,7 @@ class CfgMagazines { class RHS_48Rnd_40mm_MK19_M430A1; class GVAR(48Rnd_40mm_MK19_M430A1): RHS_48Rnd_40mm_MK19_M430A1 { scope = 2; - displayName = CSTRING(48Rnd_40mm_MK19_M430A1_displayName); + displayName = SUBCSTRING(48Rnd_40mm_MK19_M430A1_displayName); type = 256; count = 48; mass = 40; @@ -114,7 +114,7 @@ class CfgMagazines { class RHS_48Rnd_40mm_MK19_M1001; class GVAR(48Rnd_40mm_MK19_M1001): RHS_48Rnd_40mm_MK19_M1001 { scope = 2; - displayName = CSTRING(48Rnd_40mm_MK19_M1001_displayName); + displayName = SUBCSTRING(48Rnd_40mm_MK19_M1001_displayName); type = 256; count = 48; mass = 40; diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_csw/config.cpp b/addons/compat_rhs_usf3/compat_rhs_usf3_csw/config.cpp index 9bd4ef913a..9e4940dd67 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_csw/config.cpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_csw/config.cpp @@ -1,11 +1,8 @@ #include "script_component.hpp" -// Config will be binerized, so this include is only required at build-time -#include "\z\ace\addons\csw\script_config_macros_csw.hpp" - class CfgPatches { - class ADDON { - addonRootClass = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {QGVAR(m252_carry), QGVAR(m2_carry), QGVAR(mk19_carry), QGVAR(tow_carry)}; requiredVersion = REQUIRED_VERSION; @@ -14,7 +11,12 @@ class CfgPatches { "ace_csw" }; skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + authors[] = {}; + url = ECSTRING(main,URL); VERSION_CONFIG; + + addonRootClass = QUOTE(ADDON); }; }; diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_csw/script_component.hpp b/addons/compat_rhs_usf3/compat_rhs_usf3_csw/script_component.hpp index d113809426..77a1b484cb 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_csw/script_component.hpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_csw/script_component.hpp @@ -1,5 +1,5 @@ -#include "\z\ace\addons\compat_rhs_usf3\script_component.hpp" - #define SUBCOMPONENT csw -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Crew-Served Weapons +#include "..\script_component.hpp" + +#include "\z\ace\addons\csw\script_config_macros_csw.hpp" diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_csw/stringtable.xml b/addons/compat_rhs_usf3/compat_rhs_usf3_csw/stringtable.xml index d79afe08c6..2b909ffacf 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_csw/stringtable.xml +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_csw/stringtable.xml @@ -8,6 +8,7 @@ [班组] BGM-71A TOW [CSW] BGM-71A TOW [CSW] BGM-71A TOW + [CSW] BGM-71A TOW [CSW] BGM-71B TOW @@ -16,6 +17,7 @@ [班组] BGM-71B TOW [CSW] BGM-71B TOW [CSW] BGM-71B TOW + [CSW] BGM-71B TOW [CSW] BGM-71C ITOW @@ -24,6 +26,7 @@ [班组] BGM-71C ITOW [CSW] BGM-71C ITOW [CSW] BGM-71C ITOW + [CSW] BGM-71C ITOW [CSW] BGM-71D TOW-2 @@ -32,6 +35,7 @@ [班组] BGM-71D TOW-2 [CSW] BGM-71D TOW-2 [CSW] BGM-71D TOW-2 + [CSW] BGM-71D TOW-2 [CSW] BGM-71E TOW-2A @@ -40,6 +44,7 @@ [班组] BGM-71E TOW-2A [CSW] BGM-71E TOW-2A [CSW] BGM-71E TOW-2A + [CSW] BGM-71E TOW-2A [CSW] BGM-71F TOW-2B @@ -48,6 +53,7 @@ [班组] BGM-71F TOW-2B [CSW] BGM-71F TOW-2B [CSW] BGM-71F TOW-2B + [CSW] BGM-71F TOW-2B [CSW] BGM-71F-3 TOW-2B AERO @@ -56,6 +62,7 @@ [班组] BGM-71F-3 TOW-2B AERO [CSW] BGM-71F-3 TOW-2B AERO [CSW] BGM-71F-3 TOW-2B AERO + [CSW] BGM-71F-3 TOW-2B AERO [CSW] BGM-71H Bunker Buster @@ -64,6 +71,7 @@ [班组] BGM-71H “碉堡克星” [CSW] BGM-71H Bunker Buster [CSW] BGM-71H Anti-Búnquer + [CSW] BGM-71H Bunker Buster [CSW] Mk. 19 40mm M384 HE @@ -72,6 +80,7 @@ [班组] Mk. 19 40mm M384 高爆 [CSW] Mk. 19 40 мм M384 HE [CSW] Mk. 19 40mm M384 HE + [CSW] Mk. 19 40mm M384 HE [CSW] Mk. 19 40mm M430I HEDP @@ -80,6 +89,7 @@ [班组] Mk. 19 40mm M430I 两用高爆 [CSW] Mk. 19 40 мм M430I HEDP [CSW] Mk. 19 40mm M430I HEDP + [CSW] Mk. 19 40mm M430I HEDP [CSW] Mk. 19 40mm M430A1 HEDP @@ -88,6 +98,7 @@ [班组] Mk. 19 40mm M430A1 两用高爆 [CSW] Mk. 19 40 мм M430A1 HEDP [CSW] Mk. 19 40mm M430A1 HEDP + [CSW] Mk. 19 40mm M430A1 HEDP [CSW] Mk. 19 40mm M1001 Canister @@ -96,6 +107,7 @@ [班组] Mk. 19 40mm M1001 霰弹 [CSW] Mk. 19 40 мм M1001 Канистровый [CSW] Mk. 19 40mm M1001 Bote de metralla + [CSW] Mk. 19 40mm M1001 Kanister diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_explosives/CfgMagazines.hpp b/addons/compat_rhs_usf3/compat_rhs_usf3_explosives/CfgMagazines.hpp index 552ef8628c..332c2bf1f2 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_explosives/CfgMagazines.hpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_explosives/CfgMagazines.hpp @@ -24,7 +24,7 @@ class CfgMagazines { class ATMine_Range_Mag; class rhs_mine_M19_mag: ATMine_Range_Mag { - EGVAR(explosives,setupObject) = QEGVAR(explosives,Place_rhsusf_explosive_mine_M19); + EGVAR(explosives,setupObject) = QEGVAR(explosives,Place_rhsusf_mine_M19); class ACE_Triggers { SupportedTriggers[] = {"PressurePlate"}; class PressurePlate { @@ -34,7 +34,7 @@ class CfgMagazines { }; class rhsusf_mine_m14_mag: ATMine_Range_Mag { - EGVAR(explosives,setupObject) = QEGVAR(explosives,Place_rhsusf_explosive_mine_m14); + EGVAR(explosives,setupObject) = QEGVAR(explosives,Place_rhsusf_mine_m14); class ACE_Triggers { SupportedTriggers[] = {"PressurePlate"}; class PressurePlate { @@ -44,7 +44,7 @@ class CfgMagazines { }; class rhsusf_mine_m49a1_3m_mag: ATMine_Range_Mag { - EGVAR(explosives,setupObject) = QEGVAR(explosives,Place_rhsusf_explosive_mine_m49a1_3m); + EGVAR(explosives,setupObject) = QEGVAR(explosives,Place_rhsusf_mine_m49a1_3m); class ACE_Triggers { SupportedTriggers[] = {"Tripwire"}; class Tripwire { @@ -54,10 +54,10 @@ class CfgMagazines { }; class rhsusf_mine_m49a1_6m_mag: rhsusf_mine_m49a1_3m_mag { - EGVAR(explosives,setupObject) = QEGVAR(explosives,Place_rhsusf_explosive_mine_m49a1_6m); + EGVAR(explosives,setupObject) = QEGVAR(explosives,Place_rhsusf_mine_m49a1_6m); }; class rhsusf_mine_m49a1_10m_mag: rhsusf_mine_m49a1_3m_mag { - EGVAR(explosives,setupObject) = QEGVAR(explosives,Place_rhsusf_explosive_mine_m49a1_10m); + EGVAR(explosives,setupObject) = QEGVAR(explosives,Place_rhsusf_mine_m49a1_10m); }; }; diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_explosives/config.cpp b/addons/compat_rhs_usf3/compat_rhs_usf3_explosives/config.cpp index 3ac788a89d..9db8a0432d 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_explosives/config.cpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_explosives/config.cpp @@ -1,8 +1,8 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - addonRootClass = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -11,7 +11,12 @@ class CfgPatches { "ace_explosives" }; skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + authors[] = {}; + url = ECSTRING(main,URL); VERSION_CONFIG; + + addonRootClass = QUOTE(ADDON); }; }; diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_explosives/script_component.hpp b/addons/compat_rhs_usf3/compat_rhs_usf3_explosives/script_component.hpp index b2b8019d85..a697aad7f3 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_explosives/script_component.hpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_explosives/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_rhs_usf3\script_component.hpp" - #define SUBCOMPONENT explosives -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Explosives +#include "..\script_component.hpp" diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_fastroping/CfgVehicles.hpp b/addons/compat_rhs_usf3/compat_rhs_usf3_fastroping/CfgVehicles.hpp index 2bda24364b..1d2fd39ac9 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_fastroping/CfgVehicles.hpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_fastroping/CfgVehicles.hpp @@ -4,7 +4,7 @@ class CfgVehicles { class Helicopter_Base_F: Helicopter { class Eventhandlers; }; - class Heli_Light_03_base_F: Helicopter_Base_F {}; + class Heli_light_03_base_F: Helicopter_Base_F {}; class RHS_UH1_Base: Heli_light_03_base_F {}; class RHS_UH1Y_base: RHS_UH1_Base { class Attributes { diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_fastroping/config.cpp b/addons/compat_rhs_usf3/compat_rhs_usf3_fastroping/config.cpp index 345f70a1e7..ad3c97d1c4 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_fastroping/config.cpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_fastroping/config.cpp @@ -1,11 +1,8 @@ #include "script_component.hpp" -// Config will be binerized, so this include is only required at build-time -#include "\z\ace\addons\fastroping\script_macros.hpp" - class CfgPatches { - class ADDON { - name = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -15,6 +12,7 @@ class CfgPatches { }; skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); + authors[] = {}; url = ECSTRING(main,URL); VERSION_CONFIG; }; diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_fastroping/script_component.hpp b/addons/compat_rhs_usf3/compat_rhs_usf3_fastroping/script_component.hpp index fc676b170e..77632a2484 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_fastroping/script_component.hpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_fastroping/script_component.hpp @@ -1,5 +1,5 @@ -#include "\z\ace\addons\compat_rhs_usf3\script_component.hpp" - #define SUBCOMPONENT fastroping -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Fastroping +#include "..\script_component.hpp" + +#include "\z\ace\addons\fastroping\script_macros.hpp" diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_javelin/config.cpp b/addons/compat_rhs_usf3/compat_rhs_usf3_javelin/config.cpp index c5c581c01f..de6f0491c6 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_javelin/config.cpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_javelin/config.cpp @@ -1,8 +1,8 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - addonRootClass = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -11,7 +11,12 @@ class CfgPatches { "ace_javelin" }; skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + authors[] = {}; + url = ECSTRING(main,URL); VERSION_CONFIG; + + addonRootClass = QUOTE(ADDON); }; }; diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_javelin/script_component.hpp b/addons/compat_rhs_usf3/compat_rhs_usf3_javelin/script_component.hpp index 312c8ef2af..d42e0f4f01 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_javelin/script_component.hpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_javelin/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_rhs_usf3\script_component.hpp" - #define SUBCOMPONENT javelin -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Javelin +#include "..\script_component.hpp" diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_nightvision/config.cpp b/addons/compat_rhs_usf3/compat_rhs_usf3_nightvision/config.cpp index dcbdc49509..54da457d4f 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_nightvision/config.cpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_nightvision/config.cpp @@ -1,8 +1,8 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - addonRootClass = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -11,7 +11,12 @@ class CfgPatches { "ace_nightvision" }; skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + authors[] = {}; + url = ECSTRING(main,URL); VERSION_CONFIG; + + addonRootClass = QUOTE(ADDON); }; }; diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_nightvision/script_component.hpp b/addons/compat_rhs_usf3/compat_rhs_usf3_nightvision/script_component.hpp index bf614add9e..85036e02b6 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_nightvision/script_component.hpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_nightvision/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_rhs_usf3\script_component.hpp" - #define SUBCOMPONENT nightvision -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Night Vision +#include "..\script_component.hpp" diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_refuel/config.cpp b/addons/compat_rhs_usf3/compat_rhs_usf3_refuel/config.cpp index b336b89cc6..391e22d95e 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_refuel/config.cpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_refuel/config.cpp @@ -1,8 +1,8 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - addonRootClass = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -11,7 +11,12 @@ class CfgPatches { "ace_refuel" }; skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + authors[] = {}; + url = ECSTRING(main,URL); VERSION_CONFIG; + + addonRootClass = QUOTE(ADDON); }; }; diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_refuel/script_component.hpp b/addons/compat_rhs_usf3/compat_rhs_usf3_refuel/script_component.hpp index adead3e752..b58db9432d 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_refuel/script_component.hpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_refuel/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_rhs_usf3\script_component.hpp" - #define SUBCOMPONENT refuel -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Refuel +#include "..\script_component.hpp" diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_scopes/config.cpp b/addons/compat_rhs_usf3/compat_rhs_usf3_scopes/config.cpp index 7c7a65b79e..62db11efe8 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_scopes/config.cpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_scopes/config.cpp @@ -1,8 +1,8 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { - addonRootClass = QUOTE(COMPONENT); + class SUBADDON { + name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; @@ -11,7 +11,12 @@ class CfgPatches { "ace_scopes" }; skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + authors[] = {}; + url = ECSTRING(main,URL); VERSION_CONFIG; + + addonRootClass = QUOTE(ADDON); }; }; diff --git a/addons/compat_rhs_usf3/compat_rhs_usf3_scopes/script_component.hpp b/addons/compat_rhs_usf3/compat_rhs_usf3_scopes/script_component.hpp index 98856e550e..613b4322f9 100644 --- a/addons/compat_rhs_usf3/compat_rhs_usf3_scopes/script_component.hpp +++ b/addons/compat_rhs_usf3/compat_rhs_usf3_scopes/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_rhs_usf3\script_component.hpp" - #define SUBCOMPONENT scopes -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Scopes +#include "..\script_component.hpp" diff --git a/addons/compat_rhs_usf3/config.cpp b/addons/compat_rhs_usf3/config.cpp index bdfc2e1d51..1e67b1e007 100644 --- a/addons/compat_rhs_usf3/config.cpp +++ b/addons/compat_rhs_usf3/config.cpp @@ -1,4 +1,5 @@ #include "script_component.hpp" +#include "\z\ace\addons\hearing\script_macros_hearingProtection.hpp" class CfgPatches { class ADDON { @@ -7,10 +8,10 @@ class CfgPatches { weapons[] = {}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"rhsusf_main_loadorder"}; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"Ruthberg", "GitHawk", "BaerMitUmlaut", "Fyuran"}; url = ECSTRING(main,URL); - skipWhenMissingDependencies = 1; VERSION_CONFIG; }; }; @@ -22,3 +23,4 @@ class CfgPatches { #include "CfgWeapons.hpp" #include "CfgVehicles.hpp" #include "CfgGlasses.hpp" +#include "CfgJointRails.hpp" diff --git a/addons/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf b/addons/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf index 3d793f08c8..8b7b9a392a 100644 --- a/addons/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf +++ b/addons/compat_rhs_usf3/functions/fnc_canCloseDoor.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if the door can be closed. diff --git a/addons/compat_rhs_usf3/functions/fnc_onCut.sqf b/addons/compat_rhs_usf3/functions/fnc_onCut.sqf index 4547ca6b83..840c2aa2a7 100644 --- a/addons/compat_rhs_usf3/functions/fnc_onCut.sqf +++ b/addons/compat_rhs_usf3/functions/fnc_onCut.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Function for closing doors and retracting the hooks for RHS USF helos. diff --git a/addons/compat_rhs_usf3/functions/fnc_onPrepare.sqf b/addons/compat_rhs_usf3/functions/fnc_onPrepare.sqf index cfd23da7b3..39821fb9bd 100644 --- a/addons/compat_rhs_usf3/functions/fnc_onPrepare.sqf +++ b/addons/compat_rhs_usf3/functions/fnc_onPrepare.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Function for opening doors and extending the hook for most vanilla helos. diff --git a/addons/compat_rhs_usf3/functions/script_component.hpp b/addons/compat_rhs_usf3/functions/script_component.hpp deleted file mode 100644 index c2cdf03c81..0000000000 --- a/addons/compat_rhs_usf3/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\compat_rhs_usf3\script_component.hpp" diff --git a/optionals/compat_rksl_pm_ii/$PBOPREFIX$ b/addons/compat_rksl_pm_ii/$PBOPREFIX$ similarity index 100% rename from optionals/compat_rksl_pm_ii/$PBOPREFIX$ rename to addons/compat_rksl_pm_ii/$PBOPREFIX$ diff --git a/optionals/compat_rksl_pm_ii/CfgWeapons.hpp b/addons/compat_rksl_pm_ii/CfgWeapons.hpp similarity index 100% rename from optionals/compat_rksl_pm_ii/CfgWeapons.hpp rename to addons/compat_rksl_pm_ii/CfgWeapons.hpp diff --git a/optionals/compat_rksl_pm_ii/config.cpp b/addons/compat_rksl_pm_ii/config.cpp similarity index 76% rename from optionals/compat_rksl_pm_ii/config.cpp rename to addons/compat_rksl_pm_ii/config.cpp index 1242f7d0a6..e9f2abcbfa 100644 --- a/optionals/compat_rksl_pm_ii/config.cpp +++ b/addons/compat_rksl_pm_ii/config.cpp @@ -6,7 +6,8 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"RKSL_PMII", "RKSL_PMII_525"}; + requiredAddons[] = {"ace_scopes", "RKSL_PMII", "RKSL_PMII_525"}; + skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"Ruthberg", "Dedmen"}; url = ECSTRING(main,URL); diff --git a/optionals/compat_rksl_pm_ii/script_component.hpp b/addons/compat_rksl_pm_ii/script_component.hpp similarity index 100% rename from optionals/compat_rksl_pm_ii/script_component.hpp rename to addons/compat_rksl_pm_ii/script_component.hpp diff --git a/optionals/compat_sma3_iansky/$PBOPREFIX$ b/addons/compat_sma3_iansky/$PBOPREFIX$ similarity index 100% rename from optionals/compat_sma3_iansky/$PBOPREFIX$ rename to addons/compat_sma3_iansky/$PBOPREFIX$ diff --git a/optionals/compat_sma3_iansky/CfgWeapons.hpp b/addons/compat_sma3_iansky/CfgWeapons.hpp similarity index 100% rename from optionals/compat_sma3_iansky/CfgWeapons.hpp rename to addons/compat_sma3_iansky/CfgWeapons.hpp diff --git a/addons/compat_sma3_iansky/config.cpp b/addons/compat_sma3_iansky/config.cpp new file mode 100644 index 0000000000..71ff70755d --- /dev/null +++ b/addons/compat_sma3_iansky/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_scopes", "iansky_opt"}; + skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + authors[] = {"Ruthberg"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgWeapons.hpp" diff --git a/optionals/compat_sma3_iansky/script_component.hpp b/addons/compat_sma3_iansky/script_component.hpp similarity index 100% rename from optionals/compat_sma3_iansky/script_component.hpp rename to addons/compat_sma3_iansky/script_component.hpp diff --git a/addons/compat_sog/CfgAmmo/explosives.hpp b/addons/compat_sog/CfgAmmo/explosives.hpp index 1c4e5ff65b..849f7e6948 100644 --- a/addons/compat_sog/CfgAmmo/explosives.hpp +++ b/addons/compat_sog/CfgAmmo/explosives.hpp @@ -10,6 +10,10 @@ class vn_mine_m18_x3_ammo: vn_mine_m18_ammo { EGVAR(explosives,explosive) = "vn_mine_m18_x3_ammo_scripted"; }; +class vn_mine_m18_wp_ammo: vn_mine_m18_ammo { + EGVAR(explosives,explosive) = "vn_mine_m18_wp_ammo_scripted"; +}; + class vn_mine_m16_base; class vn_mine_tripwire_m16_02_ammo: vn_mine_m16_base { EGVAR(explosives,defuseObjectPosition)[] = {0, -0.01, 0.088}; diff --git a/addons/compat_sog/CfgMagazines/belts.hpp b/addons/compat_sog/CfgMagazines/belts.hpp index 0a8d6a1d28..f46d6eec0c 100644 --- a/addons/compat_sog/CfgMagazines/belts.hpp +++ b/addons/compat_sog/CfgMagazines/belts.hpp @@ -12,3 +12,6 @@ class vn_m16_mag_base; class vn_m63a_100_mag: vn_m16_mag_base { ACE_isBelt = 1; }; +class vn_mg42_50_mag: vn_lmgmag_base { + ACE_isBelt = 1; +}; diff --git a/addons/compat_sog/CfgMagazines/explosives.hpp b/addons/compat_sog/CfgMagazines/explosives.hpp index 8da412d6e2..7e25609fc8 100644 --- a/addons/compat_sog/CfgMagazines/explosives.hpp +++ b/addons/compat_sog/CfgMagazines/explosives.hpp @@ -28,6 +28,18 @@ class vn_mine_m18_range_mag: vn_mine_m18_mag { }; }; +// Claymore (Fuse) +class vn_mine_m18_fuze10_mag: vn_mine_m18_mag { + class ACE_Triggers: ACE_Triggers { + class Command: Command { + fuseTime = 10; + }; + class MK16_Transmitter: MK16_Transmitter { + fuseTime = 10; + }; + }; +}; + // Claymore x3 (Remote) class vn_mine_m18_x3_mag: vn_mine_m18_mag { EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(m18_x3); @@ -51,6 +63,42 @@ class vn_mine_m18_x3_range_mag: vn_mine_m18_x3_mag { }; }; +// WP Claymore (Remote) +class vn_mine_m18_wp_mag: vn_mine_m18_fuze10_mag { + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(m18_wp); + + class ACE_Triggers { + SupportedTriggers[] = {"Command", "MK16_Transmitter"}; + class Command { + digDistance = -0.05; + fuseTime = 0.5; + }; + class MK16_Transmitter: Command {}; + }; +}; + +// WP Claymore (Proximity) +class vn_mine_m18_wp_range_mag: vn_mine_m18_wp_mag { + class ACE_Triggers { + SupportedTriggers[] = {"PressurePlate"}; + class PressurePlate { + digDistance = -0.05; + }; + }; +}; + +// WP Claymore (Fuse) +class vn_mine_m18_wp_fuze10_mag: vn_mine_m18_wp_mag { + class ACE_Triggers: ACE_Triggers { + class Command: Command { + fuseTime = 10; + }; + class MK16_Transmitter: MK16_Transmitter { + fuseTime = 10; + }; + }; +}; + // Toe-Popper class vn_mine_m14_mag: vn_mine_m18_mag { EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(m14); diff --git a/addons/compat_sog/CfgVehicles/explosives.hpp b/addons/compat_sog/CfgVehicles/explosives.hpp index 0ff596451b..81a3fd514d 100644 --- a/addons/compat_sog/CfgVehicles/explosives.hpp +++ b/addons/compat_sog/CfgVehicles/explosives.hpp @@ -30,6 +30,12 @@ class EXPLOSIVES_PLACE(m18_x3): EGVAR(explosives,Place) { }; }; +// WP Claymore +class EXPLOSIVES_PLACE(m18_wp): EXPLOSIVES_PLACE(m18) { + displayName = "$STR_VN_MINE_M18_WP_MAG_DN"; + model = "vn\weapons_f_vietnam_04\mines\m18\vn_mine_m18_wp"; +}; + // Toe-Popper class EXPLOSIVES_PLACE(m14): EGVAR(explosives,Place) { displayName = "$STR_VN_MINE_M14_MAG_DN"; diff --git a/addons/compat_sog/CfgWeapons/helmets.hpp b/addons/compat_sog/CfgWeapons/helmets.hpp index 8edc6e2ac7..b5fe500fb0 100644 --- a/addons/compat_sog/CfgWeapons/helmets.hpp +++ b/addons/compat_sog/CfgWeapons/helmets.hpp @@ -1,8 +1,3 @@ -#define HEARING_PROTECTION_OPEN EGVAR(hearing,protection) = 0; EGVAR(hearing,lowerVolume) = 0 -#define HEARING_PROTECTION_VICCREW EGVAR(hearing,protection) = 0.85; EGVAR(hearing,lowerVolume) = 0.6 -#define HEARING_PROTECTION_EARMUFF EGVAR(hearing,protection) = 0.75; EGVAR(hearing,lowerVolume) = 0.5 -#define HEARING_PROTECTION_PELTOR EGVAR(hearing,protection) = 0.75; EGVAR(hearing,lowerVolume) = 0 - class vn_b_headgear_base; class vn_b_helmet_aph6_01_01: vn_b_headgear_base { HEARING_PROTECTION_VICCREW; diff --git a/addons/compat_sog/CfgWeapons/weapons.hpp b/addons/compat_sog/CfgWeapons/weapons.hpp index a9aac4fa9b..e1cf5f6485 100644 --- a/addons/compat_sog/CfgWeapons/weapons.hpp +++ b/addons/compat_sog/CfgWeapons/weapons.hpp @@ -13,6 +13,12 @@ class vn_pk: vn_lmg { class vn_m60: vn_lmg { EGVAR(overheating,allowSwapBarrel) = 1; }; +class vn_mg42: vn_lmg { + EGVAR(overheating,allowSwapBarrel) = 1; +}; +class vn_l4: vn_lmg { + EGVAR(overheating,allowSwapBarrel) = 1; +}; class vn_smg: vn_rifle { EGVAR(overheating,closedBolt) = 0; diff --git a/addons/compat_sog/compat_sog_trenches/CfgVehicles.hpp b/addons/compat_sog/compat_sog_trenches/CfgVehicles.hpp index 3c2ba22410..bb222eaed1 100644 --- a/addons/compat_sog/compat_sog_trenches/CfgVehicles.hpp +++ b/addons/compat_sog/compat_sog_trenches/CfgVehicles.hpp @@ -39,7 +39,7 @@ class CfgVehicles { class ACE_ContinueDiggingTrench { displayName = ECSTRING(trenches,ContinueDiggingTrench); condition = QUOTE([ARR_2(_target,_player)] call EFUNC(trenches,canContinueDiggingTrench)); - statement = QUOTE([ARR_2(_target,_player)] call EFUNC(trenches,continueDiggingTrench);); + statement = QUOTE([ARR_2(_target,_player)] call EFUNC(trenches,continueDiggingTrench)); }; }; }; diff --git a/addons/compat_sog/compat_sog_trenches/config.cpp b/addons/compat_sog/compat_sog_trenches/config.cpp index 9559ddf189..68fccc2fa3 100644 --- a/addons/compat_sog/compat_sog_trenches/config.cpp +++ b/addons/compat_sog/compat_sog_trenches/config.cpp @@ -1,14 +1,12 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { + class SUBADDON { name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { - "loadorder_f_vietnam", "ace_trenches" - }; + requiredAddons[] = {"loadorder_f_vietnam", "ace_trenches"}; skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"BaerMitUmlaut", "veteran29"}; diff --git a/addons/compat_sog/compat_sog_trenches/script_component.hpp b/addons/compat_sog/compat_sog_trenches/script_component.hpp index 15bb9d933b..10b90eb71e 100644 --- a/addons/compat_sog/compat_sog_trenches/script_component.hpp +++ b/addons/compat_sog/compat_sog_trenches/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_sog\script_component.hpp" - #define SUBCOMPONENT trenches -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Trenches +#include "..\script_component.hpp" diff --git a/addons/compat_sog/compat_sog_trenches_grad/config.cpp b/addons/compat_sog/compat_sog_trenches_grad/config.cpp index 8a25324454..06d670fb9a 100644 --- a/addons/compat_sog/compat_sog_trenches_grad/config.cpp +++ b/addons/compat_sog/compat_sog_trenches_grad/config.cpp @@ -1,14 +1,12 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { + class SUBADDON { name = COMPONENT_NAME; units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { - "loadorder_f_vietnam", "ace_compat_sog_trenches", "grad_trenches_main" - }; + requiredAddons[] = {"loadorder_f_vietnam", "ace_compat_sog_trenches", "grad_trenches_main"}; skipWhenMissingDependencies = 1; author = ECSTRING(common,ACETeam); authors[] = {"BaerMitUmlaut", "veteran29"}; diff --git a/addons/compat_sog/compat_sog_trenches_grad/script_component.hpp b/addons/compat_sog/compat_sog_trenches_grad/script_component.hpp index b7b8f3c707..55f4feb1f4 100644 --- a/addons/compat_sog/compat_sog_trenches_grad/script_component.hpp +++ b/addons/compat_sog/compat_sog_trenches_grad/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_sog\script_component.hpp" - #define SUBCOMPONENT trenches_grad -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED Trenches GRAD +#include "..\script_component.hpp" diff --git a/addons/compat_sog/config.cpp b/addons/compat_sog/config.cpp index 8a6ed30148..62b235773b 100644 --- a/addons/compat_sog/config.cpp +++ b/addons/compat_sog/config.cpp @@ -1,4 +1,7 @@ #include "script_component.hpp" +// ToDo: move refuel to subconfig +#include "\z\ace\addons\refuel\defines.hpp" +#include "\z\ace\addons\hearing\script_macros_hearingProtection.hpp" class CfgPatches { class ADDON { diff --git a/addons/compat_sog/functions/fnc_disableCookoff.sqf b/addons/compat_sog/functions/fnc_disableCookoff.sqf index 67e42e5638..07c36567a6 100644 --- a/addons/compat_sog/functions/fnc_disableCookoff.sqf +++ b/addons/compat_sog/functions/fnc_disableCookoff.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Disables cookoff for bicycles. diff --git a/addons/compat_sog/functions/fnc_handleBikeMinePlace.sqf b/addons/compat_sog/functions/fnc_handleBikeMinePlace.sqf index 108c59b850..83314e4b64 100644 --- a/addons/compat_sog/functions/fnc_handleBikeMinePlace.sqf +++ b/addons/compat_sog/functions/fnc_handleBikeMinePlace.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: veteran29 * Handle placement of bike mine object. diff --git a/addons/compat_sog/functions/fnc_handlePunjiTrapDamage.sqf b/addons/compat_sog/functions/fnc_handlePunjiTrapDamage.sqf index af935904c0..4799f6207a 100644 --- a/addons/compat_sog/functions/fnc_handlePunjiTrapDamage.sqf +++ b/addons/compat_sog/functions/fnc_handlePunjiTrapDamage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Manually triggers punji trap damage. diff --git a/addons/compat_sog/functions/fnc_handlePunjiTrapPlace.sqf b/addons/compat_sog/functions/fnc_handlePunjiTrapPlace.sqf index 3a60177809..315e1cbe90 100644 --- a/addons/compat_sog/functions/fnc_handlePunjiTrapPlace.sqf +++ b/addons/compat_sog/functions/fnc_handlePunjiTrapPlace.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: veteran29 * Handle placement of punji trap object. diff --git a/addons/compat_sog/functions/fnc_handlePunjiTrapTrigger.sqf b/addons/compat_sog/functions/fnc_handlePunjiTrapTrigger.sqf index 5c191ff114..17ed92a172 100644 --- a/addons/compat_sog/functions/fnc_handlePunjiTrapTrigger.sqf +++ b/addons/compat_sog/functions/fnc_handlePunjiTrapTrigger.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GhostIsSpooky, veteran29 * Handler for 'detonation' of a local punji trap. Workaround for local-only ammo hit event. diff --git a/addons/compat_sog/functions/fnc_woundsHandlerIncendiary.sqf b/addons/compat_sog/functions/fnc_woundsHandlerIncendiary.sqf index 8abdc7fbd2..75ee243f08 100644 --- a/addons/compat_sog/functions/fnc_woundsHandlerIncendiary.sqf +++ b/addons/compat_sog/functions/fnc_woundsHandlerIncendiary.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: veteran29 * Custom wound handler for SOG: PF explosive incendiary ammunition. diff --git a/addons/compat_sog/functions/script_component.hpp b/addons/compat_sog/functions/script_component.hpp deleted file mode 100644 index 87e5b9e10d..0000000000 --- a/addons/compat_sog/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\compat_sog\script_component.hpp" diff --git a/addons/compat_sog/script_component.hpp b/addons/compat_sog/script_component.hpp index 616cc49dc7..bc006559b3 100644 --- a/addons/compat_sog/script_component.hpp +++ b/addons/compat_sog/script_component.hpp @@ -8,7 +8,5 @@ #include "\z\ace\addons\main\script_macros.hpp" -#include "\z\ace\addons\refuel\defines.hpp" - #define EXPLOSIVES_PLACE(CLASS) EGVAR(explosives,DOUBLES(Place,CLASS)) #define QEXPLOSIVES_PLACE(CLASS) QUOTE(EXPLOSIVES_PLACE(CLASS)) diff --git a/addons/compat_sog/stringtable.xml b/addons/compat_sog/stringtable.xml index 57e4106b78..f1c9ae1ee7 100644 --- a/addons/compat_sog/stringtable.xml +++ b/addons/compat_sog/stringtable.xml @@ -10,6 +10,7 @@ 挖掘 Закопать Enterrarse + Escavar M49A2 60mm HE @@ -20,6 +21,7 @@ M49A2 60 mm 高爆弹 M49A2 60 мм ОФ M49A2 60mm HE + M49A2 60mm HE M302 60mm WP @@ -30,6 +32,7 @@ M302 60 mm 白磷弹 M302 60 мм Фосфорная M302 60mm WP + M302 60mm WP M83 60mm Lume @@ -40,6 +43,7 @@ M83 60 mm 照明弹 M83 60 мм Осветительная M83 60mm Iluminación + M83 60mm Iluminação M374 81mm HE @@ -50,6 +54,7 @@ M374 81 mm 高爆弹 M374 81 мм ОФ M374 81mm HE + M374 81mm HE M375 81mm WP @@ -60,6 +65,7 @@ M375 81 mm 白磷弹 M375 81 мм Фосфорная M375 81mm WP + M375 81mm WP M301A3 81mm Lume @@ -70,6 +76,7 @@ M301A3 81 mm 照明弹 M301A3 81 мм Осветительная M301A3 81mm Iluminación + M301A3 81mm Iluminação M57 81mm Smoke @@ -80,6 +87,7 @@ M57 81 mm 烟雾弹 M57 81 мм Дымовая M57 81mm Smoke + M57 81mm Fumígena O-832D 82mm HE @@ -90,6 +98,7 @@ O-832D 82 mm 高爆弹 О-832Д 82 мм ОФ O-832D 82mm HE + O-832D 82mm HE D-832 82mm WP @@ -100,6 +109,7 @@ D-832 82 mm 白磷弹 Д-832 82 мм Фосфорная D-832 82mm WP + D-832 82mm WP S-832S 82mm Lume @@ -110,6 +120,7 @@ S-832S 82 mm 照明弹 С-832С 82 мм Осветительная S-832S 82mm Iluminación + S-832S 82mm Iluminação [ACE] M49A2 60mm HE Box @@ -120,6 +131,7 @@ [ACE] M49A2 60 mm 高爆弹弹药箱 [ACE] Коробка M49A2 60 мм ОФ [ACE] M49A2 60mm Caja de HE + [ACE] M49A2 60mm Caixa de HE [ACE] M302 60mm WP Box @@ -130,6 +142,7 @@ [ACE] M302 60 mm 白磷弹弹药箱 [ACE] Коробка M302 60 мм Фосфорных [ACE] M302 60mm Caja de WP + [ACE] M302 60mm Caixa de WP [ACE] M83 60mm Lume Box @@ -140,6 +153,7 @@ [ACE] M83 60 mm 照明弹弹药箱 [ACE] Коробка M83 60 мм Осветительных [ACE] M83 60mm Caja de Iluminación + [ACE] M83 60mm Caixa de Iluminação [ACE] M374 81mm HE Box @@ -150,6 +164,7 @@ [ACE] M374 81 mm 高爆弹弹药箱 [ACE] Коробка M374 81 мм ОФ [ACE] M374 81mm Caja de HE + [ACE] M374 81mm Caixa de HE [ACE] M375 81mm WP Box @@ -160,6 +175,7 @@ [ACE] M375 81 mm 白磷弹弹药箱 [ACE] Коробка M375 81 мм Фосфорных [ACE] M375 81mm Caja de WP + [ACE] M375 81mm Caixa de WP [ACE] M301A3 81mm Lume Box @@ -170,6 +186,7 @@ [ACE] M301A3 81 mm 照明弹弹药箱 [ACE] Коробка M301A3 81 мм Осветительных [ACE] M301A3 81mm Caja de Iluminación + [ACE] M301A3 81mm Caixa de Iluminação [ACE] M57 81mm Smoke Box @@ -180,6 +197,7 @@ [ACE] M57 81 mm 烟雾弹弹药箱 [ACE] Коробка M57 81 мм Дымовых [ACE] M57 81mm Caja de Humo + [ACE] M57 81mm Caixa de Fumígena [ACE] O-832D 82mm HE Box @@ -190,6 +208,7 @@ [ACE] O-832D 82 mm 高爆弹弹药箱 [ACE] Коробка О-832Д 82 мм ОФ [ACE] O-832D 82mm Caja de HE + [ACE] O-832D 82mm Caixa de HE [ACE] D-832 82mm WP Box @@ -200,6 +219,7 @@ [ACE] D-832 82 mm 白磷弹弹药箱 [ACE] Коробка Д-832 82 мм Фосфорных [ACE] D-832 82mm Caja de WP + [ACE] D-832 82mm Caixa de WP [ACE] S-832S 82mm Lume Box @@ -210,6 +230,7 @@ [ACE] S-832S 82 mm 照明弹弹药箱 [ACE] Коробка С-832С 82 мм Осветительных [ACE] S-832S 82mm Caja de Iluminación + [ACE] S-832S 82mm Caixa de Iluminação Dig Spiderhole @@ -220,6 +241,7 @@ 挖掘散兵坑 Выкопать паучью дыру Excavar Agujero de araña + Escavar buraco de aranha Dig Spiderhole (Angled Cover) @@ -230,6 +252,7 @@ 挖掘带斜盖散兵坑 Выкопать крытую паучью дыру Excavar Agujero de araña (Cubierta inclinada) + Escavar buraco de aranha (Cobertura inclinada) Dig Spiderhole (Dual) @@ -240,6 +263,7 @@ 挖掘双人散兵坑 Выкопать двойную паучью дыру Excavar Agujero de araña (Doble) + Escavar buraco de aranha (Duplo) [CSW] M1919A4 Gun Bag @@ -250,6 +274,7 @@ [班组] M1919A4 枪袋 [CSW] Сумка с M1919A4 [CSW] M1919A4 Bolsa para arma + [CSW] Bolsa para M1919A4 [CSW] M1919A6 Gun Bag @@ -260,6 +285,7 @@ [班组] M1919A6 枪袋 [CSW] Сумка с M1919A6 [CSW] M1919A6 Bolsa para arma + [CSW] Bolsa para M1919A6 [CSW] M60 Gun Bag @@ -270,6 +296,7 @@ [班组] M60 枪袋 [CSW] Сумка с M60 [CSW] M60 Bolsa para arma + [CSW] Bolsa para M60 [CSW] DShK (Shield) Gun Bag @@ -280,6 +307,7 @@ [班组] DShK(防盾)枪袋 [CSW] Сумка с ДШК (со щитом) [CSW] DShK (Apantallada) Bolsa para arma + [CSW] Bolsa para DShK (Escudo) [CSW] DShK (AA) Gun Bag @@ -290,6 +318,7 @@ [班组] DShK(高)枪袋 [CSW] Сумка с ДШК (зенитный) [CSW] DShK (AA) Bolsa para arma + [CSW] Bolsa para DShK (AA) [CSW] RPD Gun Bag @@ -300,6 +329,7 @@ [班组] RPD 枪袋 [CSW] Сумка с РПД [CSW] RPD Bolsa para arma + [CSW] Bolsa para RPD [CSW] PK Gun Bag @@ -310,6 +340,7 @@ [班组] PK 枪袋 [CSW] Сумка с ПК [CSW] PK Bolsa para arma + [CSW] Bolsa para PK [CSW] MG42 Gun Bag @@ -320,6 +351,7 @@ [班组] MG42 枪袋 [CSW] Сумка с MG42 [CSW] MG42 Bolsa para arma + [CSW] Bolsa para MG42 [CSW] SGM Gun Bag @@ -330,6 +362,7 @@ [班组] SGM 枪袋 [CSW] Сумка с СГМ [CSW] SGM Bolsa para arma + [CSW] Bolsa para SGM [CSW] SGM (Shield) Gun Bag @@ -340,6 +373,7 @@ [班组] SGM(防盾)枪袋 [CSW] Сумка с СГМ (со щитом) [CSW] SGM (Apantallada) Bolsa para arma + [CSW] Bolsa para SGM (Escudo) [CSW] Mk18 Gun Bag @@ -350,6 +384,7 @@ [班组] Mk18 枪袋 [CSW] Сумка с Mk18 [CSW] Mk18 Bolsa para arma + [CSW] Bolsa para Mk18 [CSW] M29 Mortar Tube @@ -360,6 +395,7 @@ [班组] M29 迫击炮炮管 [CSW] Сумка с миномётом M29 [CSW] M29 Tubo de Mortero + [CSW] M29 Tubo de Morteiro [CSW] M2 Mortar Tube @@ -370,6 +406,7 @@ [班组] M2 迫击炮炮管 [CSW] Сумка с миномётом M2 [CSW] M2 Tubo de mortero + [CSW] M2 Tubo de Morteiro [CSW] Type 53 Mortar Tube @@ -380,6 +417,7 @@ [班组] 53式迫击炮炮管 [CSW] Сумка с миномётом Type 53 [CSW] Type 53 Tubo de mortero + [CSW] Type 53 Tubo de Morteiro diff --git a/addons/compat_spe/$PBOPREFIX$ b/addons/compat_spe/$PBOPREFIX$ new file mode 100644 index 0000000000..2334b339da --- /dev/null +++ b/addons/compat_spe/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\compat_spe diff --git a/addons/compat_spe/ACE_Medical_Injuries.hpp b/addons/compat_spe/ACE_Medical_Injuries.hpp new file mode 100644 index 0000000000..62acb1401f --- /dev/null +++ b/addons/compat_spe/ACE_Medical_Injuries.hpp @@ -0,0 +1,15 @@ +class ACE_Medical_Injuries { + class damageTypes { + class woundHandlers; + + class explosive { + class woundHandlers: woundHandlers {}; + }; + class GVAR(explosive_incendiary): explosive { + class woundHandlers: woundHandlers { + // TODO use function name after bug with the woundHandlers config caching is fixed + ADDON = QUOTE({call FUNC(woundsHandlerIncendiary)}); + }; + }; + }; +}; diff --git a/addons/compat_spe/CfgAmmo.hpp b/addons/compat_spe/CfgAmmo.hpp new file mode 100644 index 0000000000..0917727974 --- /dev/null +++ b/addons/compat_spe/CfgAmmo.hpp @@ -0,0 +1,6 @@ +class CfgAmmo { + #include "CfgAmmo\bombs.hpp" + #include "CfgAmmo\explosives.hpp" + #include "CfgAmmo\grenades.hpp" + #include "CfgAmmo\melee.hpp" +}; diff --git a/addons/compat_spe/CfgAmmo/bombs.hpp b/addons/compat_spe/CfgAmmo/bombs.hpp new file mode 100644 index 0000000000..489930289c --- /dev/null +++ b/addons/compat_spe/CfgAmmo/bombs.hpp @@ -0,0 +1,46 @@ +class SPE_Bomb_base; +class SPE_NC250_Bomb: SPE_Bomb_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 166000; + EGVAR(frag,charge) = 130000; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_large","ACE_frag_huge"}; +}; +class SPE_NC50_Bomb: SPE_Bomb_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 25000; + EGVAR(frag,charge) = 24400; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_large"}; +}; +class SPE_SC500_Bomb: SPE_Bomb_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 200000; + EGVAR(frag,charge) = 275000; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_large","ACE_frag_huge"}; +}; +class SPE_US_500lb_Bomb: SPE_Bomb_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 100000; + EGVAR(frag,charge) = 124000; + EGVAR(frag,gurney_c) = 2700; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_large","ACE_frag_huge"}; +}; +class SPE_US_1000lb_Bomb: SPE_Bomb_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 200000; + EGVAR(frag,charge) = 158000; + EGVAR(frag,gurney_c) = 2700; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_large","ACE_frag_huge"}; +}; diff --git a/addons/compat_spe/CfgAmmo/explosives.hpp b/addons/compat_spe/CfgAmmo/explosives.hpp new file mode 100644 index 0000000000..14b4910446 --- /dev/null +++ b/addons/compat_spe/CfgAmmo/explosives.hpp @@ -0,0 +1,231 @@ +class ShellBase; +class SubmunitionBase; +class MineCore; +class PipeBombBase; +class SPE_MAIN_pipebomb: PipeBombBase {}; +class SPE_ShellHE_base: ShellBase {}; +class SPE_ShellHEAT_base: ShellBase {}; +class RocketBase; +class SPE_MAIN_mine: MineCore {}; +class SPE_Rocket_base: RocketBase {}; +class SPE_PzFaust_30m: SPE_Rocket_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 150; + EGVAR(frag,charge) = 400; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_small"}; +}; +class SPE_60mm_M6: SPE_Rocket_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 250; + EGVAR(frag,charge) = 400; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_small"}; +}; +class SPE_Sh_M43A1_81_HE: SubmunitionBase { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 1200; + EGVAR(frag,charge) = 600; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; +}; +class SPE_M48_HE: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 1250; + EGVAR(frag,charge) = 670; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; +}; +class SPE_M101_M1_HE: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 2500; + EGVAR(frag,charge) = 1980; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_large"}; +}; +class SPE_S_105L28_Gr38: SPE_ShellHE_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 2500; + EGVAR(frag,charge) = 1500; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_large"}; +}; +class SPE_S_105L28_Gr39HlC: SPE_ShellHEAT_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 2500; + EGVAR(frag,charge) = 1500; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_large"}; +}; +class SPE_R_280mm_WkSpr: SubmunitionBase { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 37000; + EGVAR(frag,charge) = 50000; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_large","ACE_frag_huge"}; +}; +class SPE_US_Bangalore_ammo: SPE_MAIN_pipebomb { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 1700; + EGVAR(frag,charge) = 4100; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; +class SPE_Ladung_Big_ammo: SPE_MAIN_pipebomb { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 500; + EGVAR(frag,charge) = 1500; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; +class SPE_Ladung_Small_ammo: SPE_MAIN_pipebomb { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 250; + EGVAR(frag,charge) = 750; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; +class SPE_US_M1A1_ATMINE_ammo: SPE_MAIN_mine { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 2100; + EGVAR(frag,charge) = 2700; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; +class SPE_US_TNT_half_pound_ammo: SPE_MAIN_pipebomb { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 100; + EGVAR(frag,charge) = 226; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; +class SPE_US_TNT_4pound_ammo: SPE_MAIN_pipebomb { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 372; + EGVAR(frag,charge) = 1814; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; +class SPE_US_M3_PRessure_ammo: SPE_MAIN_mine { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 2267; + EGVAR(frag,charge) = 454; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; +class SPE_US_M3_ammo: SPE_MAIN_mine { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 2267; + EGVAR(frag,charge) = 454; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; +class SPE_shumine42_ammo: SPE_MAIN_mine { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 300; + EGVAR(frag,charge) = 200; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; +class SPE_Shg24x7_Improvised_Mine_ammo: SPE_MAIN_mine { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 525; + EGVAR(frag,charge) = 1330; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_small_HD"}; +}; +class SPE_SMI35_Pressure_ammo: SPE_MAIN_mine { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 2720; + EGVAR(frag,charge) = 182; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; +class SPE_SMI35_1_ammo: SPE_MAIN_mine { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 2720; + EGVAR(frag,charge) = 182; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; +class SPE_SMI35_ammo: SPE_MAIN_mine { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 2720; + EGVAR(frag,charge) = 182; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; +class SPE_STMI_ammo: SPE_MAIN_mine { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 1520; + EGVAR(frag,charge) = 152; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; +class SPE_TMI42_ammo: SPE_MAIN_mine { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 2520; + EGVAR(frag,charge) = 5400; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_medium","ACE_frag_small"}; + EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02}; +}; diff --git a/addons/compat_spe/CfgAmmo/grenades.hpp b/addons/compat_spe/CfgAmmo/grenades.hpp new file mode 100644 index 0000000000..12043d5011 --- /dev/null +++ b/addons/compat_spe/CfgAmmo/grenades.hpp @@ -0,0 +1,117 @@ +class GrenadeBase; +class SPE_GrenadeHand_base; +class SPE_Grenade_base: GrenadeBase {}; + +class SPE_US_M15: SPE_GrenadeHand_base { + ACE_damageType = QGVAR(explosive_incendiary); + EGVAR(frag,enabled) = 1; +}; +class SPE_Shg24: SPE_GrenadeHand_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 75; + EGVAR(frag,charge) = 170; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_tiny_HD"}; +}; +class SPE_Shg24_Frag: SPE_GrenadeHand_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 250; + EGVAR(frag,charge) = 190; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_small_HD"}; +}; +class SPE_Shg24x7: SPE_GrenadeHand_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 525; + EGVAR(frag,charge) = 1330; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_small_HD"}; +}; +class SPE_M39: SPE_GrenadeHand_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 200; + EGVAR(frag,charge) = 112; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_tiny_HD"}; +}; +class SPE_US_Mk_2: SPE_GrenadeHand_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 400; + EGVAR(frag,charge) = 56; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_small_HD"}; +}; +class SPE_US_Mk_2_Yellow: SPE_US_Mk_2 {}; +class SPE_US_Mk_3: SPE_GrenadeHand_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 90; + EGVAR(frag,charge) = 200; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_tiny_HD"}; +}; +class SPE_G_M9A1: SPE_Grenade_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 200; + EGVAR(frag,charge) = 113; + EGVAR(frag,gurney_c) = 2750; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_tiny_HD"}; +}; +class SPE_G_MK2: SPE_Grenade_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 400; + EGVAR(frag,charge) = 56; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "3/5"; + EGVAR(frag,classes)[] = {"ACE_frag_small_HD"}; +}; +class SPE_G_PZGR_30: SPE_Grenade_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 120; + EGVAR(frag,charge) = 50; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_tiny_HD"}; +}; +class SPE_G_PZGR_40: SPE_Grenade_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 180; + EGVAR(frag,charge) = 75; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_tiny_HD"}; +}; +class SPE_G_SPRGR_30_Detonation: SPE_Grenade_base { + EGVAR(frag,enabled) = 1; + EGVAR(frag,force) = 1; + EGVAR(frag,metal) = 150; + EGVAR(frag,charge) = 200; + EGVAR(frag,gurney_c) = 2440; + EGVAR(frag,gurney_k) = "1/2"; + EGVAR(frag,classes)[] = {"ACE_frag_small_HD"}; +}; + +class SmokeShell; +class SPE_SmokeShell_base: SmokeShell {}; +class SPE_US_AN_M14: SPE_SmokeShell_base { + EGVAR(grenades,incendiary) = 1; +}; +class SPE_US_Mk_1: SPE_SmokeShell_base { + EGVAR(frag,enabled) = 0; +}; diff --git a/addons/compat_spe/CfgAmmo/melee.hpp b/addons/compat_spe/CfgAmmo/melee.hpp new file mode 100644 index 0000000000..d9a07beb8b --- /dev/null +++ b/addons/compat_spe/CfgAmmo/melee.hpp @@ -0,0 +1,12 @@ +class BulletBase; +class BulletCore; +class BulletBase_NonAceAB: BulletCore {}; +class SPE_Bullet_base: BulletBase {}; + +class SPE_B_Bayonet: SPE_Bullet_base { + ACE_damageType = "stab"; +}; + +class SPE_Base_Flamethrower_Ammo: BulletBase_NonAceAB { + ACE_damageType = QGVAR(explosive_incendiary); +}; diff --git a/addons/compat_spe/CfgEventHandlers.hpp b/addons/compat_spe/CfgEventHandlers.hpp new file mode 100644 index 0000000000..865276cfba --- /dev/null +++ b/addons/compat_spe/CfgEventHandlers.hpp @@ -0,0 +1,11 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_SCRIPT(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_SCRIPT(XEH_preInit)); + }; +}; diff --git a/addons/compat_spe/CfgGlasses.hpp b/addons/compat_spe/CfgGlasses.hpp new file mode 100644 index 0000000000..12f47c4099 --- /dev/null +++ b/addons/compat_spe/CfgGlasses.hpp @@ -0,0 +1,39 @@ +#define COMBAT_GOGGLES ACE_Overlay = QPATHTOEF(goggles,textures\HUD\CombatGoggles.paa); \ + ACE_OverlayCracked = QPATHTOEF(goggles,textures\HUD\CombatGogglesCracked.paa); \ + ACE_Resistance = 2; \ + ACE_Protection = 1; + +class CfgGlasses { + class SPE_GER_Glasses; + class G_SPE_Dust_Goggles_2: SPE_GER_Glasses { + ACE_TintAmount = 16; + COMBAT_GOGGLES + }; + class G_SPE_Dust_Goggles: SPE_GER_Glasses { + ACE_TintAmount = 8; + COMBAT_GOGGLES + }; + class SPE_US_Glasses; + class G_SPE_SWDG_Goggles: SPE_US_Glasses { + COMBAT_GOGGLES + }; + class G_SPE_Polar_Goggles: SPE_US_Glasses { + COMBAT_GOGGLES + }; + class G_SPE_Sunglasses_GER_Brown: SPE_GER_Glasses { + ACE_TintAmount = 16; + ACE_Resistance = 1; + }; + class G_SPE_Sunglasses_GER_Red: SPE_GER_Glasses { + ACE_TintAmount = 16; + ACE_Resistance = 1; + }; + class G_SPE_Sunglasses_US_Red: SPE_US_Glasses { + ACE_TintAmount = 16; + ACE_Resistance = 1; + }; + class G_SPE_Sunglasses_US_Yellow: SPE_US_Glasses { + ACE_TintAmount = 16; + ACE_Resistance = 1; + }; +}; diff --git a/addons/compat_spe/CfgMagazines.hpp b/addons/compat_spe/CfgMagazines.hpp new file mode 100644 index 0000000000..e3ac58ca41 --- /dev/null +++ b/addons/compat_spe/CfgMagazines.hpp @@ -0,0 +1,3 @@ +class CfgMagazines { + #include "CfgMagazines\csw.hpp" +}; diff --git a/addons/compat_spe/CfgMagazines/csw.hpp b/addons/compat_spe/CfgMagazines/csw.hpp new file mode 100644 index 0000000000..404156bd8f --- /dev/null +++ b/addons/compat_spe/CfgMagazines/csw.hpp @@ -0,0 +1,44 @@ +class CA_Magazine; + +// M1919A4/A6 +class SPE_50Rnd_762x63: CA_Magazine { + ACE_isBelt = 0; +}; + +class SPE_100Rnd_762x63: SPE_50Rnd_762x63 { + ACE_isBelt = 1; +}; + +class SPE_100Rnd_762x63_M1: SPE_100Rnd_762x63 { + ACE_isBelt = 1; +}; + +class SPE_100Rnd_762x63_M2_AP: SPE_100Rnd_762x63 { + ACE_isBelt = 1; +}; + +//MG34/42 + +class SPE_50Rnd_792x57: CA_Magazine { + ACE_isBelt = 0; +}; + +class SPE_50Rnd_792x57_sS: SPE_50Rnd_792x57 { + ACE_isBelt = 0; +}; + +class SPE_50Rnd_792x57_SMK: SPE_50Rnd_792x57_sS { + ACE_isBelt = 0; +}; + +class SPE_100Rnd_792x57: SPE_50Rnd_792x57 { + ACE_isBelt = 1; +}; + +class SPE_100Rnd_792x57_sS: SPE_50Rnd_792x57_sS { + ACE_isBelt = 1; +}; + +class SPE_100Rnd_792x57_SMK: SPE_50Rnd_792x57_SMK { + ACE_isBelt = 1; +}; diff --git a/addons/compat_spe/CfgVehicles.hpp b/addons/compat_spe/CfgVehicles.hpp new file mode 100644 index 0000000000..9ed470ec58 --- /dev/null +++ b/addons/compat_spe/CfgVehicles.hpp @@ -0,0 +1,7 @@ +class CfgVehicles { + #include "CfgVehicles\backpacks.hpp" + #include "CfgVehicles\planes.hpp" + #include "CfgVehicles\spe_boxes.hpp" + #include "CfgVehicles\tracked.hpp" + #include "CfgVehicles\wheeled.hpp" +}; diff --git a/addons/compat_spe/CfgVehicles/backpacks.hpp b/addons/compat_spe/CfgVehicles/backpacks.hpp new file mode 100644 index 0000000000..d7ac57ffdd --- /dev/null +++ b/addons/compat_spe/CfgVehicles/backpacks.hpp @@ -0,0 +1,40 @@ +class B_SPE_US_Backpack; + +class B_SPE_US_Backpack_roll: B_SPE_US_Backpack { + EGVAR(trenches,entrenchingTool) = 1; +}; +class B_SPE_US_Respawn_Tent: B_SPE_US_Backpack_roll { + EGVAR(trenches,entrenchingTool) = 1; +}; +class B_SPE_US_HMGAssistantBag: B_SPE_US_Backpack { + EGVAR(trenches,entrenchingTool) = 1; +}; +class B_SPE_US_Backpack_Bandoleer: B_SPE_US_Backpack { + EGVAR(trenches,entrenchingTool) = 1; +}; +class B_SPE_US_Backpack_dday: B_SPE_US_Backpack { + EGVAR(trenches,entrenchingTool) = 1; +}; +class B_SPE_US_Backpack_M43: B_SPE_US_Backpack { + EGVAR(trenches,entrenchingTool) = 1; +}; +class B_SPE_US_Backpack_M43_GP: B_SPE_US_Backpack { + EGVAR(trenches,entrenchingTool) = 1; +}; +class B_SPE_US_Backpack_RocketBag: B_SPE_US_Backpack { + EGVAR(trenches,entrenchingTool) = 1; +}; +class B_SPE_US_Backpack_RocketBag_Empty: B_SPE_US_Backpack_RocketBag { + EGVAR(trenches,entrenchingTool) = 1; +}; + +class B_SPE_US_packboard; +class B_SPE_US_packboard_ammo: B_SPE_US_packboard { + EGVAR(trenches,entrenchingTool) = 1; +}; +class B_SPE_US_packboard_eng: B_SPE_US_packboard { + EGVAR(trenches,entrenchingTool) = 1; +}; +class B_SPE_US_packboard_mortar: B_SPE_US_packboard { + EGVAR(trenches,entrenchingTool) = 1; +}; diff --git a/addons/compat_spe/CfgVehicles/planes.hpp b/addons/compat_spe/CfgVehicles/planes.hpp new file mode 100644 index 0000000000..8c0c6ed753 --- /dev/null +++ b/addons/compat_spe/CfgVehicles/planes.hpp @@ -0,0 +1,18 @@ +class Plane_Base_F; +class SPE_Plane_base: Plane_Base_F { + EGVAR(refuel,canReceive) = 1; + EGVAR(cargo,hasCargo) = 1; + EGVAR(cargo,space) = 4; +}; + +// ALLIED FORCES +class SPE_US_Plane_base: SPE_Plane_base {}; +class SPE_P47: SPE_US_Plane_base { + EGVAR(refuel,fuelCapacity) = 1155; +}; + +// AXIS FORCES +class SPE_GER_Plane_base: SPE_Plane_base {}; +class SPE_FW190F8: SPE_GER_Plane_base { + EGVAR(refuel,fuelCapacity) = 639; +}; diff --git a/addons/compat_spe/CfgVehicles/spe_boxes.hpp b/addons/compat_spe/CfgVehicles/spe_boxes.hpp new file mode 100644 index 0000000000..ebf70f5518 --- /dev/null +++ b/addons/compat_spe/CfgVehicles/spe_boxes.hpp @@ -0,0 +1,47 @@ + +// dragging carrying items +class ReammoBox_F; +class SPE_ReammoBox_base: ReammoBox_F { + EGVAR(cargo,size) = 1; + EGVAR(cargo,canLoad) = 1; + + EGVAR(dragging,canCarry) = 1; + EGVAR(dragging,carryPosition)[] = {0,1,1}; + EGVAR(dragging,carryDirection) = 0; + + EGVAR(dragging,canDrag) = 1; + EGVAR(dragging,dragPosition)[] = {0,1.2,0}; + EGVAR(dragging,dragDirection) = 0; +}; + +class SPE_Fuel_Barrel_base; +class SPE_Fuel_Barrel_US_01: SPE_Fuel_Barrel_base { + EGVAR(cargo,size) = 2; + EGVAR(cargo,canLoad) = 1; + + EGVAR(dragging,canCarry) = 1; + EGVAR(dragging,carryPosition)[] = {0,1,1}; + EGVAR(dragging,carryDirection) = 0; + + EGVAR(dragging,canDrag) = 1; + EGVAR(dragging,dragPosition)[] = {0,1.2,0}; + EGVAR(dragging,dragDirection) = 0; + + EGVAR(refuel,fuelCargo) = 208; + EGVAR(refuel,hooks)[] = {{0.2,0,0.22}}; +}; +class SPE_Fuel_Barrel_German_01: SPE_Fuel_Barrel_base { + EGVAR(cargo,size) = 2; //reference SPE_Fuel_Barrel_US_01 + EGVAR(cargo,canLoad) = 1; //reference SPE_Fuel_Barrel_US_01 + + EGVAR(dragging,canCarry) = 1; //reference SPE_Fuel_Barrel_US_01 + EGVAR(dragging,carryPosition)[] = {0,1,1}; //reference SPE_Fuel_Barrel_US_01 + EGVAR(dragging,carryDirection) = 0; //reference SPE_Fuel_Barrel_US_01 + + EGVAR(dragging,canDrag) = 1; //reference SPE_Fuel_Barrel_US_01 + EGVAR(dragging,dragPosition)[] = {0,1.2,0}; //reference SPE_Fuel_Barrel_US_01 + EGVAR(dragging,dragDirection) = 0; //reference SPE_Fuel_Barrel_US_01 + + EGVAR(refuel,fuelCargo) = 208; //reference SPE_Fuel_Barrel_US_01 + EGVAR(refuel,hooks)[] = {{0.32,0,-0.3}}; +}; diff --git a/addons/compat_spe/CfgVehicles/tracked.hpp b/addons/compat_spe/CfgVehicles/tracked.hpp new file mode 100644 index 0000000000..8b0245aa82 --- /dev/null +++ b/addons/compat_spe/CfgVehicles/tracked.hpp @@ -0,0 +1,55 @@ +class Tank_F; +class SPE_Tank_base: Tank_F { + EGVAR(cargo,hasCargo) = 1; + EGVAR(cargo,space) = 4; + EGVAR(refuel,canReceive) = 1; + EGVAR(vehicle_damage,hullDetonationProb) = 0.01; + EGVAR(vehicle_damage,turretDetonationProb) = 0.01; + EGVAR(vehicle_damage,engineDetonationProb) = 0.01; + EGVAR(vehicle_damage,hullFireProb) = 0.2; + EGVAR(vehicle_damage,turretFireProb) = 0.1; + EGVAR(vehicle_damage,engineFireProb) = 0.2; + EGVAR(vehicle_damage,detonationDuringFireProb) = 0.2; + EGVAR(vehicle_damage,canHaveFireRing) = 1; +}; + +// ALLIED FORCES +class SPE_M4A1_Sherman_HullMG_base; + +class SPE_M4A1_75: SPE_M4A1_Sherman_HullMG_base { + EGVAR(refuel,fuelCapacity) = 660; +}; + +class SPE_M4A1_76: SPE_M4A1_Sherman_HullMG_base { + EGVAR(refuel,fuelCapacity) = 520; +}; + +class SPE_M4A1_T34_Calliope: SPE_M4A1_Sherman_HullMG_base { + EGVAR(refuel,fuelCapacity) = 520; +}; + +class SPE_M10_base: SPE_Tank_base { + EGVAR(refuel,fuelCapacity) = 620; +}; + +class SPE_M18_Hellcat_Base: SPE_Tank_base { + EGVAR(refuel,fuelCapacity) = 620; +}; + +// AXIS FORCES + +class SPE_Nashorn_base: SPE_Tank_base { + EGVAR(refuel,fuelCapacity) = 470; +}; + +class SPE_PzKpfwVI_H1_base: SPE_Tank_base { + EGVAR(refuel,fuelCapacity) = 540; +}; + +class SPE_PzKpfwIV_G_base: SPE_Tank_base { + EGVAR(refuel,fuelCapacity) = 600; +}; + +class SPE_PzKpfwIII_Base: SPE_Tank_base { + EGVAR(refuel,fuelCapacity) = 320; +}; diff --git a/addons/compat_spe/CfgVehicles/wheeled.hpp b/addons/compat_spe/CfgVehicles/wheeled.hpp new file mode 100644 index 0000000000..6ed68dfbdf --- /dev/null +++ b/addons/compat_spe/CfgVehicles/wheeled.hpp @@ -0,0 +1,71 @@ +class Truck_F; +class SPE_Truck_base: Truck_F { + EGVAR(cargo,hasCargo) = 1; + EGVAR(cargo,space) = 4; + EGVAR(refuel,canReceive) = 1; + EGVAR(refuel,fuelCapacity) = 88; + EGVAR(vehicle_damage,hullDetonationProb) = 0.2; + EGVAR(vehicle_damage,turretDetonationProb) = 0.03; + EGVAR(vehicle_damage,engineDetonationProb) = 0.03; + EGVAR(vehicle_damage,hullFireProb) = 0.6; + EGVAR(vehicle_damage,turretFireProb) = 0.1; + EGVAR(vehicle_damage,engineFireProb) = 0.2; + EGVAR(vehicle_damage,detonationDuringFireProb) = 0.2; + EGVAR(vehicle_damage,canHaveFireRing) = 1; +}; +class SPE_WheeledTracked_APC_base: SPE_Truck_base { + EGVAR(refuel,fuelCapacity) = 140; + EGVAR(vehicle_damage,hullDetonationProb) = 0.03; + EGVAR(vehicle_damage,turretDetonationProb) = 0.03; + EGVAR(vehicle_damage,engineDetonationProb) = 0.03; + EGVAR(vehicle_damage,hullFireProb) = 0.3; + EGVAR(vehicle_damage,turretFireProb) = 0.1; + EGVAR(vehicle_damage,engineFireProb) = 0.2; + EGVAR(vehicle_damage,detonationDuringFireProb) = 0.2; + EGVAR(vehicle_damage,canHaveFireRing) = 1; +}; + +class SPE_Halftrack_base: SPE_WheeledTracked_APC_base { + EGVAR(refuel,fuelCapacity) = 230; + EGVAR(vehicle_damage,hullDetonationProb) = 0.03; + EGVAR(vehicle_damage,turretDetonationProb) = 0.03; + EGVAR(vehicle_damage,engineDetonationProb) = 0.03; + EGVAR(vehicle_damage,hullFireProb) = 0.3; + EGVAR(vehicle_damage,turretFireProb) = 0.1; + EGVAR(vehicle_damage,engineFireProb) = 0.2; + EGVAR(vehicle_damage,detonationDuringFireProb) = 0.2; + EGVAR(vehicle_damage,canHaveFireRing) = 1; +}; + + +// WHEELED - AXIS +class SPE_OpelBlitz_base: SPE_Truck_base { + EGVAR(refuel,fuelCapacity) = 88; +}; + +class SPE_OpelBlitz_Ambulance: SPE_OpelBlitz_base { + EGVAR(medical,medicClass) = 1; +}; + +class SPE_OpelBlitz_Repair: SPE_OpelBlitz_base { + EGVAR(repair,canRepair) = 1; + EGVAR(rearm,defaultSupply) = 1200; +}; + +class SPE_OpelBlitz_Ammo: SPE_OpelBlitz_base { + EGVAR(rearm,defaultSupply) = 1200; +}; + +// WHEELED - ALLIED FORCES + +class SPE_US_M3_Halftrack_Ambulance: SPE_Halftrack_base { + EGVAR(medical,medicClass) = 1; +}; + +class SPE_US_M3_Halftrack_Repair: SPE_Halftrack_base { + EGVAR(repair,canRepair) = 1; +}; + +class SPE_US_M3_Halftrack_Ammo: SPE_Halftrack_base { + EGVAR(rearm,defaultSupply) = 1200; +}; diff --git a/addons/compat_spe/CfgWeapons.hpp b/addons/compat_spe/CfgWeapons.hpp new file mode 100644 index 0000000000..f6b1532bda --- /dev/null +++ b/addons/compat_spe/CfgWeapons.hpp @@ -0,0 +1,5 @@ +class CfgWeapons { + #include "CfgWeapons\helmets.hpp" + #include "CfgWeapons\launchers.hpp" + #include "CfgWeapons\weapons.hpp" +}; diff --git a/addons/compat_spe/CfgWeapons/helmets.hpp b/addons/compat_spe/CfgWeapons/helmets.hpp new file mode 100644 index 0000000000..54cbfd15b8 --- /dev/null +++ b/addons/compat_spe/CfgWeapons/helmets.hpp @@ -0,0 +1,142 @@ +class H_SPE_HelmetB; +class H_SPE_Hat: H_SPE_HelmetB {}; + +//ALLIED PILOT +class H_SPE_US_Helmet_Pilot: H_SPE_Hat { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Pilot_Op: H_SPE_US_Helmet_Pilot { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Pilot_Glasses_Up: H_SPE_US_Helmet_Pilot { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Pilot_Glasses_Down: H_SPE_US_Helmet_Pilot { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Pilot_Respirator: H_SPE_US_Helmet_Pilot { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Pilot_Respirator_Glasses_Up: H_SPE_US_Helmet_Pilot_Respirator { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Pilot_Respirator_Glasses_Down: H_SPE_US_Helmet_Pilot_Respirator { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Pilot_SWDG_Respirator: H_SPE_US_Helmet_Pilot { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Pilot_SWDG_low_Respirator: H_SPE_US_Helmet_Pilot { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_H15: H_SPE_US_Helmet_Pilot { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_H15_Op: H_SPE_US_Helmet_H15 { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_H15_SWDG: H_SPE_US_Helmet_H15 { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_H15_SWDG_low: H_SPE_US_Helmet_H15 { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_H15_O2: H_SPE_US_Helmet_H15 { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_H15_B7_O2: H_SPE_US_Helmet_H15_O2 { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_H15_B7_low_O2: H_SPE_US_Helmet_H15_O2 { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_H15_SWDG_O2: H_SPE_US_Helmet_H15_O2 { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_H15_SWDG_low_O2: H_SPE_US_Helmet_H15_O2 { + HEARING_PROTECTION_EARMUFF; +}; + +//ALLIED TANKER +class H_SPE_US_Helmet_Tank: H_SPE_HelmetB { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Tank_NG: H_SPE_US_Helmet_Tank { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Tank_Nun: H_SPE_US_Helmet_Tank { + HEARING_PROTECTION_OPEN; +}; +class H_SPE_US_Helmet_Tank_M1_OS: H_SPE_US_Helmet_Tank { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Tank_M1_NS: H_SPE_US_Helmet_Tank_M1_OS { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Tank_M1_Scrim: H_SPE_US_Helmet_Tank_M1_OS { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Tank_polar: H_SPE_US_Helmet_Tank { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Tank_polar_tapes: H_SPE_US_Helmet_Tank_polar { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Tank_polar_low: H_SPE_US_Helmet_Tank_polar { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_US_Helmet_Tank_tapes: H_SPE_US_Helmet_Tank { + HEARING_PROTECTION_EARMUFF; +}; + +//AXIS PILOT +class H_SPE_GER_LW_PilotHelmet_base: H_SPE_Hat { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_GER_LW_PilotHelmet: H_SPE_GER_LW_PilotHelmet_base { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_GER_LW_S_PilotHelmet: H_SPE_GER_LW_PilotHelmet_base { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_GER_LW_PilotHelmet_Mask_base: H_SPE_Hat { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_GER_LW_PilotHelmet_Mask: H_SPE_GER_LW_PilotHelmet_Mask_base { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_GER_LW_PilotHelmet_S_Mask: H_SPE_GER_LW_PilotHelmet_Mask_base { + HEARING_PROTECTION_EARMUFF; +}; + +//AXIS TANKER +class H_SPE_GER_TankPrivateCap: H_SPE_Hat { + HEARING_PROTECTION_OPEN; +}; +class H_SPE_GER_TankOfficerCap: H_SPE_Hat { + HEARING_PROTECTION_OPEN; +}; +class H_SPE_GER_Fieldcap: H_SPE_Hat { + HEARING_PROTECTION_OPEN; +}; +class H_SPE_GER_Fieldcap2: H_SPE_GER_Fieldcap { + HEARING_PROTECTION_OPEN; +}; +class H_SPE_GER_TankPrivateCap2: H_SPE_GER_TankPrivateCap { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_GER_TankOffzCap2: H_SPE_GER_TankPrivateCap { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_GER_TankOfficerCap2: H_SPE_GER_TankOfficerCap { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_GER_SPGPrivateCap: H_SPE_Hat { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_GER_ST_Tanker_Cap2: H_SPE_GER_Fieldcap2 { + HEARING_PROTECTION_EARMUFF; +}; +class H_SPE_GER_ST_Tanker_Cap: H_SPE_GER_Fieldcap { + HEARING_PROTECTION_EARMUFF; +}; diff --git a/addons/compat_spe/CfgWeapons/launchers.hpp b/addons/compat_spe/CfgWeapons/launchers.hpp new file mode 100644 index 0000000000..95de9e0e33 --- /dev/null +++ b/addons/compat_spe/CfgWeapons/launchers.hpp @@ -0,0 +1,17 @@ +class Launcher_Base_F; + +// LAUNCHER +class SPE_LAUNCHER: Launcher_Base_F {}; +class SPE_M1A1_Bazooka: SPE_LAUNCHER { + EGVAR(reloadlaunchers,enabled) = 1; + EGVAR(overpressure,angle) = 60; + EGVAR(overpressure,damage) = 0.7; + EGVAR(overpressure,priority) = 1; + EGVAR(overpressure,range) = 10; +}; +class SPE_PzFaust_30m: SPE_LAUNCHER { + EGVAR(overpressure,angle) = 60; + EGVAR(overpressure,damage) = 0.7; + EGVAR(overpressure,priority) = 1; + EGVAR(overpressure,range) = 10; +}; diff --git a/addons/compat_spe/CfgWeapons/weapons.hpp b/addons/compat_spe/CfgWeapons/weapons.hpp new file mode 100644 index 0000000000..52e6ba1dd5 --- /dev/null +++ b/addons/compat_spe/CfgWeapons/weapons.hpp @@ -0,0 +1,195 @@ +// MACHINE GUNS +class SPE_LMG; +class SPE_MG42: SPE_LMG { + ACE_barrelTwist = 304.8; + ACE_barrelLength = 533; + EGVAR(overheating,mrbs) = 3000; + EGVAR(overheating,closedBolt) = 0; + EGVAR(overheating,slowdownFactor) = 1; + EGVAR(overheating,allowSwapBarrel) = 1; + EGVAR(overheating,dispersion) = 0.25; +}; +class SPE_MG34: SPE_LMG { + ACE_barrelTwist = 101.6; + ACE_barrelLength = 627; + EGVAR(overheating,mrbs) = 3000; + EGVAR(overheating,closedBolt) = 0; + EGVAR(overheating,slowdownFactor) = 1; + EGVAR(overheating,allowSwapBarrel) = 1; + EGVAR(overheating,dispersion) = 0.25; +}; +class SPE_M1919A4: SPE_LMG { + ACE_barrelTwist = 254; + ACE_barrelLength = 610; + EGVAR(overheating,mrbs) = 3000; + EGVAR(overheating,closedBolt) = 1; + EGVAR(overheating,slowdownFactor) = 1; + EGVAR(overheating,allowSwapBarrel) = 1; + EGVAR(overheating,dispersion) = 0.25; +}; +class SPE_M1919A6: SPE_M1919A4 { + ACE_barrelTwist = 254; + ACE_barrelLength = 610; + EGVAR(overheating,mrbs) = 3000; + EGVAR(overheating,closedBolt) = 1; + EGVAR(overheating,slowdownFactor) = 1; + EGVAR(overheating,allowSwapBarrel) = 1; + EGVAR(overheating,dispersion) = 0.25; +}; +class SPE_M1918A2_BAR: SPE_LMG { + ACE_barrelTwist = 254; // unknown set to 1:10 + ACE_barrelLength = 610; + EGVAR(overheating,mrbs) = 3000; + EGVAR(overheating,closedBolt) = 0; + EGVAR(overheating,slowdownFactor) = 1; + EGVAR(overheating,allowSwapBarrel) = 0; + EGVAR(overheating,dispersion) = 0.25; +}; +class SPE_FM_24_M29: SPE_LMG { + ACE_barrelTwist = 254; + ACE_barrelLength = 635; + EGVAR(overheating,mrbs) = 3000; + EGVAR(overheating,closedBolt) = 0; + EGVAR(overheating,slowdownFactor) = 1; + EGVAR(overheating,allowSwapBarrel) = 1; + EGVAR(overheating,dispersion) = 0.25; +}; + +// SELF LOADING RIFLES +class SPE_RIFLE; +class SPE_G43: SPE_RIFLE { + EGVAR(overheating,JamChance) = 0.0003; + ACE_barrelTwist = 254; // unknown set to 1:10 + ACE_barrelLength = 550; +}; +class SPE_K98: SPE_RIFLE { + EGVAR(overheating,JamChance) = 0.0003; + ACE_barrelTwist = 254; // unknown set to 1:10 + ACE_barrelLength = 550; +}; +class SPE_M1_Carbine: SPE_RIFLE { + EGVAR(overheating,JamChance) = 0.0003; + ACE_barrelTwist = 254; // unknown set to 1:10 + ACE_barrelLength = 460; +}; +class SPE_M1_Garand: SPE_RIFLE { + EGVAR(overheating,JamChance) = 0.0003; + ACE_barrelTwist = 254; + ACE_barrelLength = 609.6; +}; +class SPE_M1903A3_Springfield: SPE_RIFLE { + ACE_barrelTwist = 254; + ACE_barrelLength = 610; +}; + +// ASSAULT RIFLE +class SPE_STG44: SPE_RIFLE { + EGVAR(overheating,JamChance) = 0.0015; + ACE_barrelTwist = 254; // unknown set to 1:10 + ACE_barrelLength = 420; +}; + +// BOLT ACTION RIFLES +class SPE_SRIFLE; +class SPE_K98ZF39: SPE_SRIFLE { + ACE_barrelTwist = 240; + ACE_barrelLength = 600; + ACE_scopeZeroRange = 100; + ACE_ScopeAdjust_Vertical[] = {-4, 30}; + ACE_ScopeAdjust_Horizontal[] = {-6, 6}; + ACE_ScopeAdjust_VerticalIncrement = 0.1; + ACE_ScopeAdjust_HorizontalIncrement = 0.1; + discreteDistance[] = {100}; + discreteDistanceInitIndex = 0; + ACE_railHeightAboveBore = 1.8; // Distance between center of bore and rail in centimeters + ACE_scopeHeightAboveRail = 3.8; // Distance between center of scope and rail in centimeters +}; +class SPE_M1903A4_Springfield: SPE_SRIFLE { + ACE_barrelTwist = 254; + ACE_barrelLength = 610; + ACE_scopeZeroRange = 100; + ACE_ScopeAdjust_Vertical[] = {-4, 30}; + ACE_ScopeAdjust_Horizontal[] = {-6, 6}; + ACE_ScopeAdjust_VerticalIncrement = 0.1; + ACE_ScopeAdjust_HorizontalIncrement = 0.1; + discreteDistance[] = {100}; + discreteDistanceInitIndex = 0; + ACE_railHeightAboveBore = 1.8; + ACE_scopeHeightAboveRail = 3.8; +}; + +// SUB MACHINE GUNS +class SPE_SMG; +class SPE_MP40: SPE_SMG { + ACE_barrelTwist = 203.2; + ACE_barrelLength = 251; + EGVAR(overheating,closedBolt) = 0; +}; +class SPE_Sten_Mk2: SPE_SMG { + ACE_barrelTwist = 254; + ACE_barrelLength = 196; + EGVAR(overheating,closedBolt) = 0; +}; +class SPE_M1A1_Thompson: SPE_SMG { + ACE_barrelTwist = 392; + ACE_barrelLength = 270; + EGVAR(overheating,closedBolt) = 0; +}; +class SPE_M3_GreaseGun: SPE_SMG { + ACE_barrelTwist = 392; + ACE_barrelLength = 270; + EGVAR(overheating,closedBolt) = 0; +}; + +// VESTS +class V_SPE_Vest_Camo_Base; +class V_SPE_GER_VestG43: V_SPE_Vest_Camo_Base { + EGVAR(trenches,entrenchingTool) = 1; +}; +class V_SPE_DAK_VestG43: V_SPE_GER_VestG43 { + EGVAR(trenches,entrenchingTool) = 1; +}; +class V_SPE_GER_SaniVest2: V_SPE_Vest_Camo_Base { + EGVAR(trenches,entrenchingTool) = 1; +}; +class V_SPE_GER_VestMG: V_SPE_Vest_Camo_Base { + EGVAR(trenches,entrenchingTool) = 1; +}; +class V_SPE_GER_VestKar98: V_SPE_Vest_Camo_Base { + EGVAR(trenches,entrenchingTool) = 1; +}; +class V_SPE_GER_VestMP40: V_SPE_Vest_Camo_Base { + EGVAR(trenches,entrenchingTool) = 1; +}; +class V_SPE_GER_VestSTG: V_SPE_Vest_Camo_Base { + EGVAR(trenches,entrenchingTool) = 1; +}; +class V_SPE_US_Assault_Vest: V_SPE_Vest_Camo_Base { + EGVAR(trenches,entrenchingTool) = 1; +}; +class V_SPE_US_Vest_Garand_M43: V_SPE_Vest_Camo_Base { + EGVAR(trenches,entrenchingTool) = 1; +}; +class V_SPE_US_Vest_Carbine_m43: V_SPE_Vest_Camo_Base { + EGVAR(trenches,entrenchingTool) = 1; +}; +class V_SPE_US_Vest_Carbine_pick: V_SPE_Vest_Camo_Base { + EGVAR(trenches,entrenchingTool) = 1; + ACE_isWirecutter = 1; +}; +class V_SPE_US_Vest_Carbine_eng: V_SPE_Vest_Camo_Base { + EGVAR(trenches,entrenchingTool) = 1; + ACE_isWirecutter = 1; +}; +class V_SPE_US_Vest_Garand_eng: V_SPE_Vest_Camo_Base { + EGVAR(trenches,entrenchingTool) = 1; + ACE_isWirecutter = 1; +}; +class V_SPE_GER_PioneerVest: V_SPE_Vest_Camo_Base { + EGVAR(trenches,entrenchingTool) = 1; + ACE_isWirecutter = 1; +}; +class V_SPE_DAK_PioneerVest: V_SPE_GER_PioneerVest { + EGVAR(trenches,entrenchingTool) = 1; + ACE_isWirecutter = 1; +}; diff --git a/addons/compat_spe/XEH_PREP.hpp b/addons/compat_spe/XEH_PREP.hpp new file mode 100644 index 0000000000..3d54401fe3 --- /dev/null +++ b/addons/compat_spe/XEH_PREP.hpp @@ -0,0 +1 @@ +PREP(woundsHandlerIncendiary); diff --git a/addons/compat_spe/XEH_preStart.sqf b/addons/compat_spe/XEH_preStart.sqf new file mode 100644 index 0000000000..022888575e --- /dev/null +++ b/addons/compat_spe/XEH_preStart.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +#include "XEH_PREP.hpp" diff --git a/addons/compat_spe/XEH_preinit.sqf b/addons/compat_spe/XEH_preinit.sqf new file mode 100644 index 0000000000..b47cf6628d --- /dev/null +++ b/addons/compat_spe/XEH_preinit.sqf @@ -0,0 +1,9 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; diff --git a/addons/compat_spe/compat_spe_csw/ACE_CSW_Groups.hpp b/addons/compat_spe/compat_spe_csw/ACE_CSW_Groups.hpp new file mode 100644 index 0000000000..35758ed533 --- /dev/null +++ b/addons/compat_spe/compat_spe_csw/ACE_CSW_Groups.hpp @@ -0,0 +1,50 @@ +class ACE_CSW_Groups { + + // --- Gun Turrets ------------------------------------------------------------- + + class SPE_100Rnd_762x63 { + SPE_100Rnd_762x63 = 1; + }; + + class SPE_100Rnd_762x63_M1 { + SPE_100Rnd_762x63_M1 = 1; + }; + + class SPE_100Rnd_762x63_M2_AP { + SPE_100Rnd_762x63_M2_AP = 1; + }; + + class SPE_100Rnd_792x57 { + SPE_100Rnd_792x57 = 1; + }; + + class SPE_100Rnd_792x57_sS { + SPE_100Rnd_792x57_sS = 1; + }; + + class SPE_100Rnd_792x57_SMK { + SPE_100Rnd_792x57_SMK = 1; + }; + + // --- Mortars ------------------------------------------------------------- + + class SPE_1Rnd_81mmHE_M1_M43A1 { + SPE_1Rnd_81mmHE_M1_M43A1 = 1; + }; + class SPE_1Rnd_81mmWP_M1_M57 { + SPE_1Rnd_81mmWP_M1_M57 = 1; + }; + class SPE_81mm_M1_M57_SmokeShell { + SPE_81mm_M1_M57_SmokeShell = 1; + }; + + class SPE_1Rnd_81mm_FA_Mle_1932_HE { + SPE_1Rnd_81mm_FA_Mle_1932_HE = 1; + }; + class SPE_81mm_FA_Mle_1932_Smoke { + SPE_81mm_FA_Mle_1932_Smoke = 1; + }; + class SPE_81mm_FA_Mle_1932_Illu { + SPE_81mm_FA_Mle_1932_Illu = 1; + }; +}; diff --git a/addons/compat_spe/compat_spe_csw/CfgVehicles.hpp b/addons/compat_spe/compat_spe_csw/CfgVehicles.hpp new file mode 100644 index 0000000000..e0a38aa341 --- /dev/null +++ b/addons/compat_spe/compat_spe_csw/CfgVehicles.hpp @@ -0,0 +1,240 @@ +class CfgVehicles { + class All { + class EventHandlers; + }; + class AllVehicles: All {}; + class Land: AllVehicles {}; + class LandVehicle: Land {}; + class StaticWeapon: LandVehicle { + class ACE_Actions { + class ACE_MainActions; + }; + class Turrets { + class MainTurret; + }; + class UserActions; + }; + + // --- Mortars ----------------------------------------------------------------- + class StaticMortar: StaticWeapon { + class Turrets: Turrets { + class MainTurret: MainTurret {}; + }; + }; + class SPE_StaticMortar_base: StaticMortar { + class Turrets: Turrets { + class MainTurret: MainTurret {}; + }; + class EventHandlers: EventHandlers { + class SPE_StaticWeaponsHandler { + init = ""; + }; + }; + }; + + class SPE_US_Mortar_base: SPE_StaticMortar_base {}; + class SPE_M1_81: SPE_US_Mortar_base { + class Turrets: Turrets { + class MainTurret: MainTurret { + magazines[] = {}; + }; + }; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = ""; + selection = "zamerny"; + }; + }; + class UserActions { + delete Prepare_WP_Selected; + delete Prepare_WP; + delete Prepare_Smoke_Selected; + delete Prepare_Smoke; + delete Prepare_HE_Selected; + delete Prepare_HE; + delete Reload; + delete Unload; + }; + class ACE_CSW { + enabled = 1; + proxyWeapon = "SPE_M1_81_proxy"; + magazineLocation = "_target selectionPosition 'usti hlavne'"; + disassembleWeapon = "SPE_M1_81_Barrel"; + disassembleTurret = QGVAR(M1_81_baseplate); + ammoLoadTime = 3; + ammoUnloadTime = 3; + desiredAmmo = 1; + }; + }; + + class SPE_FR_Mortar_base: SPE_StaticMortar_base {}; + class SPE_MLE_27_31: SPE_FR_Mortar_base { + class Turrets: Turrets { + class MainTurret: MainTurret { + magazines[] = {}; + }; + }; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = ""; + selection = "zamerny"; + }; + }; + class UserActions { + delete Prepare_Illu_Selected; + delete Prepare_Illu; + delete Prepare_Smoke_Selected; + delete Prepare_Smoke; + delete Prepare_HE_Selected; + delete Prepare_HE; + delete Reload; + delete Unload; + }; + class ACE_CSW { + enabled = 1; + proxyWeapon = "SPE_MLE_27_31_proxy"; + magazineLocation = "_target selectionPosition 'usti hlavne'"; + disassembleWeapon = "SPE_MLE_27_31_Barrel"; + disassembleTurret = QGVAR(MLE_27_31_baseplate); + ammoLoadTime = 3; + ammoUnloadTime = 3; + desiredAmmo = 1; + }; + }; + + class SPE_GrW278_1: SPE_MLE_27_31 { + class Turrets: Turrets { + class MainTurret: MainTurret { + magazines[] = {}; + }; + }; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = ""; + selection = "zamerny"; + }; + }; + class UserActions { + delete Prepare_Illu_Selected; + delete Prepare_Illu; + delete Prepare_Smoke_Selected; + delete Prepare_Smoke; + delete Prepare_HE_Selected; + delete Prepare_HE; + delete Reload; + delete Unload; + }; + class ACE_CSW { + enabled = 1; + proxyWeapon = "SPE_GrW278_1_proxy"; + magazineLocation = "_target selectionPosition 'usti hlavne'"; + disassembleWeapon = "SPE_GrW278_1_Barrel"; + disassembleTurret = QGVAR(GrW278_baseplate); + ammoLoadTime = 3; + ammoUnloadTime = 3; + desiredAmmo = 1; + }; + }; + + + class EGVAR(csw,baseTripod); + + class GVAR(MLE_27_31_baseplate): EGVAR(csw,baseTripod) { + scope = 2; + displayName = "$STR_DN_SPE_MLE_27_31_STAND"; + model = "\WW2\SPE_Assets_m\Weapons\Mortars_m\SPE_M1_Mortar_Stand_Deployed.p3d"; + picture = "\WW2\SPE_Assets_t\Weapons\Equipment_t\Weapons\Launchers\Gear_MLE_27_31_Stand_X_ca.paa"; + hiddenSelections[] = {"camo_0","camo_1"}; + hiddenSelectionsTextures[] = {"ww2\spe_assets_t\weapons\mortars_t\m1_mortar\Brandt_81mm_Mortar_French_co.paa","WW2\SPE_Assets_t\Weapons\Mortars_t\M1_Mortar\Brandt_81mm_Sight_French_co.paa"}; + class ACE_CSW { + disassembleTo = "SPE_MLE_27_31_Stand"; + }; + }; + + class GVAR(GrW278_baseplate): EGVAR(csw,baseTripod) { + scope = 2; + displayName = "$STR_DN_SPE_GrW278_1_STAND"; + model = "\WW2\SPE_Assets_m\Weapons\Mortars_m\SPE_M1_Mortar_Stand_Deployed.p3d"; + picture = "\WW2\SPE_Assets_t\Weapons\Equipment_t\Weapons\Launchers\Gear_GrW278_1_Stand_X_ca.paa"; + hiddenSelections[] = {"camo_0"}; + hiddenSelectionsTextures[] = {"ww2\spe_assets_t\weapons\mortars_t\m1_mortar\Brandt_81mm_Mortar_Gelb_co.paa"}; + class ACE_CSW { + disassembleTo = "SPE_GrW278_1_Stand"; + }; + }; + + class GVAR(M1_81_baseplate): EGVAR(csw,baseTripod) { + scope = 2; + displayName = "$STR_DN_SPE_M1_81_STAND"; + model = "\WW2\SPE_Assets_m\Weapons\Mortars_m\SPE_M1_Mortar_Stand_Deployed.p3d"; + picture = "\WW2\SPE_Assets_t\Weapons\Equipment_t\Weapons\Launchers\Gear_M1_81_Stand_X_ca.paa"; + class ACE_CSW { + disassembleTo = "SPE_M1_81_Stand"; + }; + }; + + + class ACE_SPE_M1_81_Stand_Deployed: EGVAR(csw,baseTripod) { + author = "SPE"; + scope = 2; + displayName = "$STR_DN_SPE_M1_81_STAND"; + model = "\WW2\SPE_Assets_m\Weapons\Mortars_m\SPE_M1_Mortar_Stand_Deployed.p3d"; + picture = "\WW2\SPE_Assets_t\Weapons\Equipment_t\Weapons\Launchers\Gear_M1_81_Stand_X_ca.paa"; + class assembleInfo { + base = ""; + primary = 0; + displayName = ""; + assembleTo = ""; + class SPE_M1_81_Barrel { + deployTime = 0; + assembleTo = ""; + }; + }; + class ACE_CSW { + disassembleTo = "SPE_M1_81_Stand"; + }; + }; + class ACE_SPE_GrW278_1_Stand_Deployed: EGVAR(csw,baseTripod) { + author = "SPE"; + scope = 2; + displayName = "$STR_DN_SPE_GrW278_1_STAND"; + model = "\WW2\SPE_Assets_m\Weapons\Mortars_m\SPE_M1_Mortar_Stand_Deployed.p3d"; + picture = "\WW2\SPE_Assets_t\Weapons\Equipment_t\Weapons\Launchers\Gear_GrW278_1_Stand_X_ca.paa"; + hiddenSelectionsTextures[] = {"ww2\spe_assets_t\weapons\mortars_t\m1_mortar\Brandt_81mm_Mortar_Gelb_co.paa","WW2\SPE_Assets_t\Weapons\Mortars_t\M1_Mortar\Brandt_81mm_Sight_Gelb_co.paa"}; + class assembleInfo { + base = ""; + primary = 0; + displayName = ""; + assembleTo = ""; + class SPE_GrW278_1_Barrel { + deployTime = 0; + assembleTo = ""; + }; + }; + class ACE_CSW { + disassembleTo = "SPE_GrW278_1_Stand"; + }; + }; + class ACE_SPE_MLE_27_31_Stand_Deployed: EGVAR(csw,baseTripod) { + author = "SPE"; + scope = 2; + displayName = "$STR_DN_SPE_MLE_27_31_STAND"; + model = "\WW2\SPE_Assets_m\Weapons\Mortars_m\SPE_M1_Mortar_Stand_Deployed.p3d"; + picture = "\WW2\SPE_Assets_t\Weapons\Equipment_t\Weapons\Launchers\Gear_MLE_27_31_Stand_X_ca.paa"; + hiddenSelections[] = {"camo_0","camo_1"}; + hiddenSelectionsTextures[] = {"ww2\spe_assets_t\weapons\mortars_t\m1_mortar\Brandt_81mm_Mortar_French_co.paa","WW2\SPE_Assets_t\Weapons\Mortars_t\M1_Mortar\Brandt_81mm_Sight_French_co.paa"}; + class assembleInfo { + base = ""; + primary = 0; + displayName = ""; + assembleTo = ""; + class SPE_MLE_27_31_Barrel { + deployTime = 0; + assembleTo = ""; + }; + }; + class ACE_CSW { + disassembleTo = "SPE_MLE_27_31_Stand"; + }; + }; +}; diff --git a/addons/compat_spe/compat_spe_csw/CfgWeapons.hpp b/addons/compat_spe/compat_spe_csw/CfgWeapons.hpp new file mode 100644 index 0000000000..db090c7708 --- /dev/null +++ b/addons/compat_spe/compat_spe_csw/CfgWeapons.hpp @@ -0,0 +1,84 @@ +class CfgWeapons { + class Launcher; + class Launcher_Base_F: Launcher { + class WeaponSlotsInfo; + }; + + class SPE_Slung_Static_Weapon_Base: Launcher_Base_F {}; + + class SPE_M1_81; + class SPE_M1_81_proxy: SPE_M1_81 { + magazineReloadTime = 0.5; + }; + + class SPE_M1_81_Stand: SPE_Slung_Static_Weapon_Base { + class ACE_CSW { + type = "mount"; + deployTime = 4; + pickupTime = 4; + deploy = QGVAR(M1_81_baseplate); + }; + }; + class SPE_M1_81_Barrel: SPE_Slung_Static_Weapon_Base { + class ACE_CSW { + type = "weapon"; + deployTime = 4; + pickupTime = 4; + class assembleTo { + GVAR(M1_81_baseplate) = "SPE_M1_81"; + EGVAR(csw,mortarBaseplate) = "SPE_M1_81"; + }; + }; + }; + + class SPE_MLE_27_31; + class SPE_MLE_27_31_proxy: SPE_MLE_27_31 { + magazineReloadTime = 0.5; + }; + + class SPE_MLE_27_31_Stand: SPE_Slung_Static_Weapon_Base { + class ACE_CSW { + type = "mount"; + deployTime = 4; + pickupTime = 4; + deploy = QGVAR(MLE_27_31_baseplate); + }; + }; + class SPE_MLE_27_31_Barrel: SPE_Slung_Static_Weapon_Base { + class ACE_CSW { + type = "weapon"; + deployTime = 20; + pickupTime = 25; + class assembleTo { + GVAR(MLE_27_31_baseplate) = "SPE_MLE_27_31"; + EGVAR(csw,mortarBaseplate) = "SPE_MLE_27_31"; + }; + }; + }; + + class SPE_GrW278_1; + class SPE_GrW278_1_proxy: SPE_GrW278_1 { + magazineReloadTime = 0.5; + }; + + class SPE_GrW278_1_Stand: SPE_MLE_27_31_Stand { + class ACE_CSW { + type = "mount"; + deployTime = 4; + pickupTime = 4; + deploy = QGVAR(GrW278_baseplate); + }; + }; + + class SPE_GrW278_1_Barrel: SPE_MLE_27_31_Barrel { + class ACE_CSW { + type = "weapon"; + deployTime = 20; + pickupTime = 25; + class assembleTo { + GVAR(GrW278_baseplate) = "SPE_GrW278_1"; + EGVAR(csw,mortarBaseplate) = "SPE_GrW278_1"; + }; + }; + }; +}; diff --git a/addons/compat_spe/compat_spe_csw/config.cpp b/addons/compat_spe/compat_spe_csw/config.cpp new file mode 100644 index 0000000000..6ff669629b --- /dev/null +++ b/addons/compat_spe/compat_spe_csw/config.cpp @@ -0,0 +1,29 @@ +#include "script_component.hpp" + +class CfgPatches { + class SUBADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = { + "ww2_spe_assets_c_weapons_infantryweapons_c", + "ww2_spe_assets_c_vehicles_staticweapons_c", + "ww2_spe_assets_c_vehicles_weapons_c", + "ww2_spe_core_f_system_staticweapons_f", + "ww2_spe_core_c_core_c_eventhandlers", + "ace_csw" + }; + skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + url = ECSTRING(main,URL); + VERSION_CONFIG; + + addonRootClass = QUOTE(ADDON); + }; +}; + +#include "ACE_CSW_Groups.hpp" +// Todo: https://github.com/acemod/ACE3/pull/9292#discussion_r1327738181 +// #include "CfgVehicles.hpp" +// #include "CfgWeapons.hpp" diff --git a/addons/compat_spe/compat_spe_csw/script_component.hpp b/addons/compat_spe/compat_spe_csw/script_component.hpp new file mode 100644 index 0000000000..1f7ace46a9 --- /dev/null +++ b/addons/compat_spe/compat_spe_csw/script_component.hpp @@ -0,0 +1,3 @@ +#define SUBCOMPONENT csw +#define SUBCOMPONENT_BEAUTIFIED Crew-Served Weapons +#include "..\script_component.hpp" diff --git a/addons/compat_spe/compat_spe_explosives/CfgMagazines.hpp b/addons/compat_spe/compat_spe_explosives/CfgMagazines.hpp new file mode 100644 index 0000000000..7c1945fcb8 --- /dev/null +++ b/addons/compat_spe/compat_spe_explosives/CfgMagazines.hpp @@ -0,0 +1,210 @@ +class CfgMagazines { + class SPE_Mine_Magazine; + class SPE_US_TNT_4pound_mag: SPE_Mine_Magazine { + EGVAR(explosives,DelayTime) = 1; + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(4LBTNT); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"Timer", "Command", "MK16_Transmitter", "FireCord", "LIB_LadungPM"}; + class Timer { + FuseTime = 0.5; + }; + class Command { + FuseTime = 0.5; + }; + class MK16_Transmitter: Command {}; + class DeadmanSwitch: Command {}; + }; + }; + + class SPE_US_TNT_half_pound_mag: SPE_Mine_Magazine { + EGVAR(explosives,DelayTime) = 1; + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(halfLBTNT); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"Timer", "Command", "MK16_Transmitter", "FireCord", "LIB_LadungPM"}; + class Timer { + FuseTime = 0.5; + }; + class Command { + FuseTime = 0.5; + }; + class MK16_Transmitter: Command {}; + class DeadmanSwitch: Command {}; + }; + }; + + class SPE_US_Bangalore_mag: SPE_Mine_Magazine { + EGVAR(explosives,DelayTime) = 1; + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(bangalore); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"Timer", "Command", "MK16_Transmitter", "FireCord", "LIB_LadungPM"}; + class Timer { + FuseTime = 0.5; + }; + class Command { + FuseTime = 0.5; + }; + class MK16_Transmitter: Command {}; + class DeadmanSwitch: Command {}; + }; + }; + + class SPE_Ladung_Small_MINE_mag: SPE_Mine_Magazine { + EGVAR(explosives,DelayTime) = 1; + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(smallLadung); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"Timer", "Command", "MK16_Transmitter", "FireCord", "LIB_LadungPM"}; + class Timer { + FuseTime = 0.5; + }; + class Command { + FuseTime = 0.5; + }; + class MK16_Transmitter: Command {}; + class DeadmanSwitch: Command {}; + }; + }; + + class SPE_Ladung_Big_MINE_mag: SPE_Mine_Magazine { + EGVAR(explosives,DelayTime) = 1; + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(bigLadung); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"Timer", "Command", "MK16_Transmitter", "FireCord", "LIB_LadungPM"}; + class Timer { + FuseTime = 0.5; + }; + class Command { + FuseTime = 0.5; + }; + class MK16_Transmitter: Command {}; + class DeadmanSwitch: Command {}; + }; + }; + + class SPE_US_M1A1_ATMINE_mag: SPE_Mine_Magazine { + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(M1A1at); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"PressurePlate"}; + class PressurePlate { + digDistance = 0.062; + }; + }; + }; + class SPE_US_M3_MINE_mag: SPE_Mine_Magazine { + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(M3ap); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"Tripwire"}; + class Tripwire { + digDistance = 0.04; + }; + }; + }; + class SPE_US_M3_Pressure_MINE_mag: SPE_Mine_Magazine { + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(M3Pressure); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"PressurePlate"}; + class PressurePlate { + digDistance = 0.18; + }; + }; + }; + + class SPE_Shg24x7_Improvised_Mine_mag: SPE_Mine_Magazine { + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(Shg24x7); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"PressurePlate"}; + class PressurePlate { + digDistance = 0.13; + }; + }; + }; + + class SPE_TMI_42_MINE_mag: SPE_Mine_Magazine { + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(TMI42); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"PressurePlate"}; + class PressurePlate { + digDistance = 0.09; + }; + }; + }; + + class SPE_SMI_35_1_MINE_mag: SPE_Mine_Magazine { + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(SMI35_1); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"Tripwire"}; + class Tripwire { + digDistance = 0.1; + }; + }; + }; + + class SPE_SMI_35_MINE_mag: SPE_Mine_Magazine { + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(SMI35); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"Tripwire"}; + class Tripwire { + digDistance = 0.04; + }; + }; + }; + + class SPE_SMI_35_Pressure_MINE_mag: SPE_Mine_Magazine { + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(SMI35Pressure); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"PressurePlate"}; + class PressurePlate { + digDistance = 0.19; + }; + }; + }; + + class SPE_STMI_MINE_mag: SPE_Mine_Magazine { + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(STMI); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"Tripwire"}; + class Tripwire { + digDistance = 0.04; + }; + }; + }; + + class SPE_shumine_42_MINE_mag: SPE_Mine_Magazine { + EGVAR(explosives,Placeable) = 1; + EGVAR(explosives,SetupObject) = QEXPLOSIVES_PLACE(shumine42); + useAction = 0; + class ACE_Triggers { + SupportedTriggers[] = {"PressurePlate"}; + class PressurePlate { + digDistance = 0.03; + }; + }; + }; +}; diff --git a/addons/compat_spe/compat_spe_explosives/CfgVehicles.hpp b/addons/compat_spe/compat_spe_explosives/CfgVehicles.hpp new file mode 100644 index 0000000000..d4d5737bb2 --- /dev/null +++ b/addons/compat_spe/compat_spe_explosives/CfgVehicles.hpp @@ -0,0 +1,173 @@ +class CfgVehicles { + class Items_base_F; + class EGVAR(explosives,Place): Items_base_F { + class ACE_Actions { + class ACE_MainActions; + }; + }; + + // 4 Pound TNT Charge + class EXPLOSIVES_PLACE(4LBTNT): EGVAR(explosives,Place) { + displayName = "4 Pound TNT Charge"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_TNT_4pound"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // Half Pound TNT Charge + class EXPLOSIVES_PLACE(halfLBTNT): EGVAR(explosives,Place) { + displayName = "Half Pound TNT Charge"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_TNT_Half_Pound"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // M1A1 Bangalore Torpedo + class EXPLOSIVES_PLACE(bangalore): EGVAR(explosives,Place) { + displayName = "M1A1 Bangalore Torpedo"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_Bangalore"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // 1 Kg Charge + class EXPLOSIVES_PLACE(smallLadung): EGVAR(explosives,Place) { + displayName = "1 Kg Charge"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_Ladung"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // 3 Kg Charge + class EXPLOSIVES_PLACE(bigLadung): EGVAR(explosives,Place) { + displayName = "3 Kg Charge"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_Ladung_Big"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // M1A1 AT Mine + class EXPLOSIVES_PLACE(M1A1at): EGVAR(explosives,Place) { + displayName = "M1A1 AT Mine"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_M1A1_AT"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // M1A1 AT Mine + class EXPLOSIVES_PLACE(Shg24x7): EGVAR(explosives,Place) { + displayName = "M1A1 AT Mine"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_GER_Improvised_Mine"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // M1A1 AT Mine + class EXPLOSIVES_PLACE(TMI42): EGVAR(explosives,Place) { + displayName = "M1A1 AT Mine"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_Tmi42"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // M3 AP Tripwire Mine + class EXPLOSIVES_PLACE(M3ap): EGVAR(explosives,Place) { + displayName = "M3 AP Tripwire Mine"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_M3_AP"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // M3 AP Mine + class EXPLOSIVES_PLACE(M3Pressure): EGVAR(explosives,Place) { + displayName = "M3 AP Mine"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_M3_AP_Pressure"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // SMi-35 AP Mine + class EXPLOSIVES_PLACE(SMI35Pressure): EGVAR(explosives,Place) { + displayName = "SMi-35 AP Mine"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_Smi35"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // SMi-35 Tripwire Mine + class EXPLOSIVES_PLACE(SMI35): EGVAR(explosives,Place) { + displayName = "SMi-35 Tripwire Mine"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_Smi35_1"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // SMi-35 Tripwire (x2) Mine + class EXPLOSIVES_PLACE(SMI35_1): EGVAR(explosives,Place) { + displayName = "SMi-35 Tripwire (x2) Mine"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_Smi35_2"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // StMi Mine + class EXPLOSIVES_PLACE(STMI): EGVAR(explosives,Place) { + displayName = "StMi Mine"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_Stmi"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; + + // Schuetzenmine 42 + class EXPLOSIVES_PLACE(shumine42): EGVAR(explosives,Place) { + displayName = "Schuetzenmine 42"; + model = "\WW2\SPE_Assets_m\Weapons\Mines_m\SPE_Shumine42"; + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + position = "[-0.002, 0.022, 0.02]"; + }; + }; + }; +}; diff --git a/addons/compat_spe/compat_spe_explosives/config.cpp b/addons/compat_spe/compat_spe_explosives/config.cpp new file mode 100644 index 0000000000..81e0bc7811 --- /dev/null +++ b/addons/compat_spe/compat_spe_explosives/config.cpp @@ -0,0 +1,27 @@ +#include "script_component.hpp" + +class CfgPatches { + class SUBADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = { + "ww2_spe_assets_c_weapons_infantryweapons_c", + "ww2_spe_assets_c_vehicles_staticweapons_c", + "ww2_spe_assets_c_vehicles_weapons_c", + "ww2_spe_core_f_system_staticweapons_f", + "ww2_spe_core_c_core_c_eventhandlers", + "ace_explosives" + }; + skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + url = ECSTRING(main,URL); + VERSION_CONFIG; + + addonRootClass = QUOTE(ADDON); + }; +}; + +#include "CfgVehicles.hpp" +#include "CfgMagazines.hpp" diff --git a/addons/compat_spe/compat_spe_explosives/script_component.hpp b/addons/compat_spe/compat_spe_explosives/script_component.hpp new file mode 100644 index 0000000000..926f441c1f --- /dev/null +++ b/addons/compat_spe/compat_spe_explosives/script_component.hpp @@ -0,0 +1,6 @@ +#define SUBCOMPONENT explosives +#define SUBCOMPONENT_BEAUTIFIED Explosives +#include "..\script_component.hpp" + +#define EXPLOSIVES_PLACE(CLASS) EGVAR(explosives,DOUBLES(Place,CLASS)) +#define QEXPLOSIVES_PLACE(CLASS) QUOTE(EXPLOSIVES_PLACE(CLASS)) diff --git a/addons/compat_spe/compat_spe_refuel/CfgVehicles.hpp b/addons/compat_spe/compat_spe_refuel/CfgVehicles.hpp new file mode 100644 index 0000000000..f47d6877f7 --- /dev/null +++ b/addons/compat_spe/compat_spe_refuel/CfgVehicles.hpp @@ -0,0 +1,14 @@ +class CfgVehicles { + class SPE_Halftrack_base; + class SPE_US_M3_Halftrack_Fuel: SPE_Halftrack_base { + transportFuel = 0; + EGVAR(refuel,hooks)[] = {{-0.23,-2.58,-0.59}}; + EGVAR(refuel,fuelCargo) = 2000; + }; + class SPE_OpelBlitz_base; + class SPE_OpelBlitz_Fuel: SPE_OpelBlitz_base { + transportFuel = 0; + EGVAR(refuel,hooks)[] = {{-0.23,-2.58,-0.59}}; + EGVAR(refuel,fuelCargo) = 2000; + }; +}; diff --git a/addons/compat_spe/compat_spe_refuel/config.cpp b/addons/compat_spe/compat_spe_refuel/config.cpp new file mode 100644 index 0000000000..077e06bdd0 --- /dev/null +++ b/addons/compat_spe/compat_spe_refuel/config.cpp @@ -0,0 +1,26 @@ +#include "script_component.hpp" + +class CfgPatches { + class SUBADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = { + "ww2_spe_assets_c_weapons_infantryweapons_c", + "ww2_spe_assets_c_vehicles_staticweapons_c", + "ww2_spe_assets_c_vehicles_weapons_c", + "ww2_spe_core_f_system_staticweapons_f", + "ww2_spe_core_c_core_c_eventhandlers", + "ace_refuel" + }; + skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + url = ECSTRING(main,URL); + VERSION_CONFIG; + + addonRootClass = QUOTE(ADDON); + }; +}; + +#include "CfgVehicles.hpp" diff --git a/addons/compat_spe/compat_spe_refuel/script_component.hpp b/addons/compat_spe/compat_spe_refuel/script_component.hpp new file mode 100644 index 0000000000..b58db9432d --- /dev/null +++ b/addons/compat_spe/compat_spe_refuel/script_component.hpp @@ -0,0 +1,3 @@ +#define SUBCOMPONENT refuel +#define SUBCOMPONENT_BEAUTIFIED Refuel +#include "..\script_component.hpp" diff --git a/addons/compat_spe/config.cpp b/addons/compat_spe/config.cpp new file mode 100644 index 0000000000..5c1ba718d6 --- /dev/null +++ b/addons/compat_spe/config.cpp @@ -0,0 +1,37 @@ +#include "script_component.hpp" +#include "\z\ace\addons\hearing\script_macros_hearingProtection.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = { + "ace_common", + "ww2_spe_assets_c_weapons_infantryweapons_c", + "ww2_spe_assets_c_vehicles_staticweapons_c", + "ww2_spe_assets_c_vehicles_weapons_c", + "ww2_spe_core_f_system_staticweapons_f", + "ww2_spe_core_c_core_c_eventhandlers" + }; + skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + authors[] = { + "sancron", + "nomisum", + "coldfront15/Henderson", + "BrettMayson" + }; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "ACE_Medical_Injuries.hpp" +#include "CfgAmmo.hpp" +#include "CfgEventHandlers.hpp" +#include "CfgGlasses.hpp" +#include "CfgMagazines.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" diff --git a/addons/compat_spe/functions/fnc_woundsHandlerIncendiary.sqf b/addons/compat_spe/functions/fnc_woundsHandlerIncendiary.sqf new file mode 100644 index 0000000000..aa282e9be8 --- /dev/null +++ b/addons/compat_spe/functions/fnc_woundsHandlerIncendiary.sqf @@ -0,0 +1,40 @@ +#include "..\script_component.hpp" +/* + * Author: veteran29 + * Custom wound handler for SOG: PF explosive incendiary ammunition. + * Determines if the unit should be ignited and passes the damage to other wound handlers. + * + * Arguments: + * 0: Unit That Was Hit + * 1: Damage done to each body part + * 2: Type of the damage done + * + * Return Value: + * Input + * + * Example: + * [player, [[0.5, "Body", 5]]] call ace_compat_spe_fnc_woundsHandlerIncendiary + * + * Public: No + */ + +#define BURN_THRESHOLD 1 + +params ["_unit", "_damages"]; +TRACE_2("woundsHandlerIncendiary",_unit,_damages); + +private _fireDamage = 0; +{ + _x params ["", "", "_damage"]; + _fireDamage = _fireDamage + _damage; +} forEach _damages; + +private _intensity = linearConversion [0, 20, _fireDamage, 0, 10, true]; +TRACE_2("",_intensity,_fireDamage); + +if (_intensity > BURN_THRESHOLD) then { + TRACE_2("Setting unit ablaze",_intensity,BURN_THRESHOLD); + ["ace_fire_burn", [_unit, _intensity]] call CBA_fnc_globalEvent; +}; + +_this // return diff --git a/addons/compat_spe/script_component.hpp b/addons/compat_spe/script_component.hpp new file mode 100644 index 0000000000..2a5a172596 --- /dev/null +++ b/addons/compat_spe/script_component.hpp @@ -0,0 +1,5 @@ +#define COMPONENT compat_spe +#define COMPONENT_BEAUTIFIED Spearhead 1944 Compatibility + +#include "\z\ace\addons\main\script_mod.hpp" +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/addons/compat_ws/compat_ws_nouniformrestrictions/config.cpp b/addons/compat_ws/compat_ws_nouniformrestrictions/config.cpp index 055806407f..899c7f74af 100644 --- a/addons/compat_ws/compat_ws_nouniformrestrictions/config.cpp +++ b/addons/compat_ws/compat_ws_nouniformrestrictions/config.cpp @@ -1,7 +1,7 @@ #include "script_component.hpp" class CfgPatches { - class ADDON { + class SUBADDON { name = COMPONENT_NAME; units[] = {}; weapons[] = {}; diff --git a/addons/compat_ws/compat_ws_nouniformrestrictions/script_component.hpp b/addons/compat_ws/compat_ws_nouniformrestrictions/script_component.hpp index 3112761bd2..0b98185fa0 100644 --- a/addons/compat_ws/compat_ws_nouniformrestrictions/script_component.hpp +++ b/addons/compat_ws/compat_ws_nouniformrestrictions/script_component.hpp @@ -1,5 +1,3 @@ -#include "\z\ace\addons\compat_ws\script_component.hpp" - #define SUBCOMPONENT nouniformrestrictions -#undef ADDON -#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT) +#define SUBCOMPONENT_BEAUTIFIED No Uniform Restrictions +#include "..\script_component.hpp" diff --git a/addons/compat_ws/compat_ws_realisticnames/CfgWeapons.hpp b/addons/compat_ws/compat_ws_realisticnames/CfgWeapons.hpp new file mode 100644 index 0000000000..c09400a03c --- /dev/null +++ b/addons/compat_ws/compat_ws_realisticnames/CfgWeapons.hpp @@ -0,0 +1,159 @@ +class CfgWeapons { + // AA12 + class sgun_aa40_base_lxWS; + class sgun_aa40_lxWS: sgun_aa40_base_lxWS { + displayName = SUBCSTRING(AA40_Name); + }; + class sgun_aa40_tan_lxWS: sgun_aa40_base_lxWS { + displayName = SUBCSTRING(AA40_Tan_Name); + }; + class sgun_aa40_snake_lxWS: sgun_aa40_base_lxWS { + displayName = SUBCSTRING(AA40_Snake_Name); + }; + + // Galil ARM + class arifle_Galat_base_lxWS; + class arifle_Galat_lxWS: arifle_Galat_base_lxWS { + displayName = SUBCSTRING(Galat_Name); + }; + class arifle_Galat_worn_lxWS: arifle_Galat_lxWS { + displayName = SUBCSTRING(Galat_Old_Name); + }; + + // GLX 160 + class glaunch_GLX_base_lxWS; + class glaunch_GLX_lxWS: glaunch_GLX_base_lxWS { + displayName = SUBCSTRING(GLX_Name); + }; + class glaunch_GLX_snake_lxWS: glaunch_GLX_base_lxWS { + displayName = SUBCSTRING(GLX_Snake_Name); + }; + class glaunch_GLX_hex_lxWS: glaunch_GLX_base_lxWS { + displayName = SUBCSTRING(GLX_Hex_Name); + }; + class glaunch_GLX_ghex_lxWS: glaunch_GLX_base_lxWS { + displayName = SUBCSTRING(GLX_GreenHex_Name); + }; + class glaunch_GLX_camo_lxWS: glaunch_GLX_base_lxWS { + displayName = SUBCSTRING(GLX_Camo_Name); + }; + class glaunch_GLX_tan_lxWS: glaunch_GLX_base_lxWS { + displayName = SUBCSTRING(GLX_Tan_Name); + }; + + // Mk14 Mod 1 EBR + class srifle_EBR_F; + class srifle_EBR_blk_lxWS: srifle_EBR_F { + displayName = SUBCSTRING(EBR_Black_Name); + }; + class srifle_EBR_snake_lxWS: srifle_EBR_F { + displayName = SUBCSTRING(EBR_Snake_Name); + }; + + // Vektor SS-77 + class LMG_S77_base_lxWS; + class LMG_S77_lxWS: LMG_S77_base_lxWS { + displayName = SUBCSTRING(S77_Name); + }; + class LMG_S77_AAF_lxWS: LMG_S77_base_lxWS { + displayName = SUBCSTRING(S77_AAF_Name); + }; + class LMG_S77_Hex_lxWS: LMG_S77_base_lxWS { + displayName = SUBCSTRING(S77_Hex_Name); + }; + class LMG_S77_GHex_lxWS: LMG_S77_base_lxWS { + displayName = SUBCSTRING(S77_GreenHex_Name); + }; + class LMG_S77_Desert_lxWS: LMG_S77_base_lxWS { + displayName = SUBCSTRING(S77_Desert_Name); + }; + + // Vektor SS-77 (Compact) + class LMG_S77_Compact_base_lxWS; + class LMG_S77_Compact_lxWS: LMG_S77_Compact_base_lxWS { + displayName = SUBCSTRING(S77_Compact_Name); + }; + class LMG_S77_Compact_Snakeskin_lxWS: LMG_S77_Compact_base_lxWS { + displayName = SUBCSTRING(S77_Compact_Snake_Name); + }; + + // FN FAL (Wood) - Closest match is the 50.00 + class DMR_06_base_F; + class arifle_SLR_lxWS: DMR_06_base_F { + displayName = SUBCSTRING(SLR_Wood_Name); + }; + class arifle_SLR_GL_lxWS: arifle_SLR_lxWS { + displayName = SUBCSTRING(SLR_GL_Wood_Name); + }; + + // FN FAL + class arifle_SLR_V_lxWS: arifle_SLR_lxWS { + displayName = SUBCSTRING(SLR_Name); + }; + class arifle_SLR_V_GL_lxWS: arifle_SLR_V_lxWS { + displayName = SUBCSTRING(SLR_GL_Name); + }; + class arifle_SLR_D_lxWS: arifle_SLR_lxWS { + displayName = SUBCSTRING(SLR_Desert_Name); + }; + class arifle_SLR_V_camo_lxWS: arifle_SLR_V_lxWS { + displayName = SUBCSTRING(SLR_Camo_Name); + }; + + // Vektor R4/R5 + class arifle_Velko_base_lxWS; + class arifle_Velko_lxWS: arifle_Velko_base_lxWS { + displayName = SUBCSTRING(Velko_R4_Name); + }; + class arifle_VelkoR5_lxWS: arifle_Velko_base_lxWS { + displayName = SUBCSTRING(Velko_R5_Name); + }; + class arifle_VelkoR5_GL_lxWS: arifle_VelkoR5_lxWS { + displayName = SUBCSTRING(Velko_R5_GL_Name); + }; + class arifle_VelkoR5_snake_lxWS: arifle_VelkoR5_lxWS { + displayName = SUBCSTRING(Velko_R5_Snake_Name); + }; + class arifle_VelkoR5_GL_snake_lxWS: arifle_VelkoR5_GL_lxWS { + displayName = SUBCSTRING(Velko_R5_GL_Snake_Name); + }; + + // XMS has no realistic name as it's a make believe hybrid of the XM8/VHS-K2: XM8+VHS = XMS, this just removes the 5.56 mm from the name. + class arifle_SPAR_01_base_F; + class arifle_XMS_Base_lxWS: arifle_SPAR_01_base_F { + displayName = SUBCSTRING(XMS_Name); + }; + class arifle_XMS_Base_khk_lxWS: arifle_XMS_Base_lxWS { + displayName = SUBCSTRING(XMS_Khaki_Name); + }; + class arifle_XMS_Base_Sand_lxWS: arifle_XMS_Base_lxWS { + displayName = SUBCSTRING(XMS_Sand_Name); + }; + class arifle_XMS_GL_lxWS: arifle_XMS_Base_lxWS { + displayName = SUBCSTRING(XMS_GL_Name); + }; + class arifle_XMS_GL_khk_lxWS: arifle_XMS_GL_lxWS { + displayName = SUBCSTRING(XMS_GL_Khaki_Name); + }; + class arifle_XMS_GL_Sand_lxWS: arifle_XMS_GL_lxWS { + displayName = SUBCSTRING(XMS_GL_Sand_Name); + }; + class arifle_XMS_Shot_lxWS: arifle_XMS_Base_lxWS { + displayName = SUBCSTRING(XMS_SG_Name); + }; + class arifle_XMS_Shot_khk_lxWS: arifle_XMS_Shot_lxWS { + displayName = SUBCSTRING(XMS_SG_Khaki_Name); + }; + class arifle_XMS_Shot_Sand_lxWS: arifle_XMS_Shot_lxWS { + displayName = SUBCSTRING(XMS_SG_Sand_Name); + }; + class arifle_XMS_M_lxWS: arifle_XMS_Base_lxWS { + displayName = SUBCSTRING(XMS_SW_Name); + }; + class arifle_XMS_M_khk_lxWS: arifle_XMS_M_lxWS { + displayName = SUBCSTRING(XMS_SW_Khaki_Name); + }; + class arifle_XMS_M_Sand_lxWS: arifle_XMS_M_lxWS { + displayName = SUBCSTRING(XMS_SW_Sand_Name); + }; +}; diff --git a/addons/compat_ws/compat_ws_realisticnames/config.cpp b/addons/compat_ws/compat_ws_realisticnames/config.cpp new file mode 100644 index 0000000000..5c8e166e00 --- /dev/null +++ b/addons/compat_ws/compat_ws_realisticnames/config.cpp @@ -0,0 +1,21 @@ +#include "script_component.hpp" + +class CfgPatches { + class SUBADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = { + "data_f_lxWS_Loadorder", + "ace_realisticnames" + }; + skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + authors[] = {"Mike"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgWeapons.hpp" diff --git a/addons/compat_ws/compat_ws_realisticnames/script_component.hpp b/addons/compat_ws/compat_ws_realisticnames/script_component.hpp new file mode 100644 index 0000000000..b8d0682fa4 --- /dev/null +++ b/addons/compat_ws/compat_ws_realisticnames/script_component.hpp @@ -0,0 +1,3 @@ +#define SUBCOMPONENT realisticnames +#define SUBCOMPONENT_BEAUTIFIED Realistic Names +#include "..\script_component.hpp" diff --git a/addons/compat_ws/compat_ws_realisticnames/stringtable.xml b/addons/compat_ws/compat_ws_realisticnames/stringtable.xml new file mode 100644 index 0000000000..e939199144 --- /dev/null +++ b/addons/compat_ws/compat_ws_realisticnames/stringtable.xml @@ -0,0 +1,335 @@ + + + + + AA12 + AA-12 + AA12 + AA12 + + + AA12 (Sand) + AA-12 (모래) + AA12 (Sand) + AA12 (サンド) + + + AA12 (Snake) + AA-12 (뱀 위장) + AA12 (Schlange) + AA12 (ヘビ柄) + + + Galil ARM + 갈릴 ARM + Galil ARM + ガリル ARM + + + Galil ARM (Old) + 갈릴 ARM (낡음) + Galil ARM (Alt) + ガリル ARM (使い古し) + + + GLX 160 + GLX-160 + GLX 160 + GLX 160 + + + GLX 160 (Snake) + GLX-160 (뱀 위장) + GLX 160 (Schlange) + GLX 160 (ヘビ柄) + + + GLX 160 (Hex) + GLX-160 (육각) + GLX 160 (Hex) + GLX 160 (ヘックス) + + + GLX 160 (Green Hex) + GLX-160 (초록육각) + GLX 160 (Grün Hex) + GLX 160 (緑ヘックス) + + + GLX 160 (Camo) + GLX-160 (위장) + GLX 160 (Tarn) + GLX 160 (迷彩) + + + GLX 160 (Sand) + GLX-160 (모래) + GLX 160 (Sand) + GLX 160 (サンド) + + + Mk14 Mod 1 EBR (Black) + Mk.14 Mod 1 EBR (검정) + Mk14 Mod 1 EBR (Schwarz) + Mk14 Mod 1 EBR (ブラック) + + + Mk14 Mod 1 EBR (Snake) + Mk.14 Mod 1 EBR (뱀 위장) + Mk14 Mod 1 EBR (Schlange) + Mk14 Mod 1 EBR (ヘビ柄) + + + Vektor SS-77 + 벡터 SS-77 + Vektor SS-77 + ヴェクター SS-77 + + + Vektor SS-77 (Camo) + 벡터 SS-77 (위장) + Vektor SS-77 (Tarn) + ヴェクター SS-77 (迷彩) + + + Vektor SS-77 (Hex) + 벡터 SS-77 (육각) + Vektor SS-77 (Hex) + ヴェクター SS-77 (ヘックス) + + + Vektor SS-77 (Green Hex) + 벡터 SS-77 (초록육각) + Vektor SS-77 (Grün Hex) + ヴェクター SS-77 (緑ヘックス) + + + Vektor SS-77 (Desert) + 벡터 SS-77 (사막) + Vektor SS-77 (Wüstet) + ヴェクター SS-77 (砂漠迷彩) + + + Vektor SS-77 Compact + 벡터 SS-77 단축형 + Vektor SS-77 Kompakt + ヴェクター SS-77 コンパクト + + + Vektor SS-77 Compact (Snake) + 벡터 SS-77 단축형 (뱀 위장) + Vektor SS-77 Compact (Schlange) + ヴェクター SS-77 コンパクト (ヘビ柄) + + + FN FAL 50.00 (Wood) + FN FAL 50.00 (목재) + FN FAL 50.00 (Holz) + FN FAL 50.00 (森林迷彩) + + + FN FAL 50.00 GL (Wood) + FN FAL 50.00 GL (목재) + FN FAL 50.00 GL (Holz) + FN FAL 50.00 GL (森林迷彩) + + + FN FAL 50.00 + FN FAL 50.00 + FN FAL 50.00 + FN FAL 50.00 + + + FN FAL 50.00 GL + FN FAL 50.00 GL + FN FAL 50.00 GL + FN FAL 50.00 GL + + + FN FAL 50.00 (Desert) + FN FAL 50.00 (사막) + FN FAL 50.00 (Wüstet) + FN FAL 50.00 (砂漠迷彩) + + + FN FAL 50.00 (Jungle) + FN FAL 50.00 (정글) + FN FAL 50,00 (Dschungel) + FN FAL 50.00 (熱帯迷彩) + + + Vektor R4 + 벡터 R4 + Vektor R4 + ヴェクター R5 + + + Vektor R5 Carbine + 벡터 R5 카빈 + Vektor R5 Carbine + ヴェクター R5 カービン + + + Vektor R5 Carbine GL + 벡터 R5 카빈 GL + Vektor R5 Carbine GL + ヴェクター R5 カービン GL + + + Vektor R5 Carbine (Snake) + 벡터 R5 카빈 (뱀 위장) + Vektor R5 Carbine (Schlange) + ヴェクター R5 カービン (ヘビ柄) + + + Vektor R5 Carbine GL (Snake) + 벡터 R5 카빈 GL (뱀 위장) + Vektor R5 Carbine GL (Schlange) + ヴェクター R5 カービン GL (ヘビ柄) + + + XMS + XMS + XMS + XMS + XMS + XMS + XMS + XMS + XMS + XMS + + + XMS (Khaki) + XMS (kaki) + XMS (khaki) + XMS (kaki) + XMS (Cáqui) + XMS (caqui) + XMS(卡其色) + XMS (хаки) + XMS (카키) + XMS (カーキ) + + + XMS (Sand) + XMS (sable) + XMS (Sand) + XMS (sabbia) + XMS (Areia) + XMS (arena) + XMS(沙色) + XMS (песочный) + XMS (모래) + XMS (サンド) + + + XMS GL + XMS GL + XMS GL + XMS GL + XMS GL + XMS GL + XMS GL + XMS GL + XMS GL + XMS GL + + + XMS GL (Khaki) + XMS GL (kaki) + XMS GL (khaki) + XMS GL (kaki) + XMS GL (Cáqui) + XMS GL (caqui) + XMS GL(卡其色) + XMS GL (хаки) + XMS GL (카키) + XMS GL (カーキ) + + + XMS GL (Sand) + XMS GL (sable) + XMS GL (Sand) + XMS GL (sabbia) + XMS GL (Areia) + XMS GL (arena) + XMS GL(沙色) + XMS GL (песочный) + XMS GL (모래) + XMS GL (サンド) + + + XMS SG + XMS SG + XMS SG + XMS SG + XMS SG + XMS SG + XMS SG + XMS SG + XMS SG + XMS SG + + + XMS SG (Khaki) + XMS SG (kaki) + XMS SG (khaki) + XMS SG (kaki) + XMS SG (Cáqui) + XMS SG (caqui) + XMS SG(卡其色) + XMS SG (хаки) + XMS SG (카키) + XMS SG (カーキ) + + + XMS SG (Sand) + XMS SG (sable) + XMS SG (Sand) + XMS SG (sabbia) + XMS SG (Areia) + XMS SG (arena) + XMS SG(沙色) + XMS SG (песочный) + XMS SG (모래) + XMS SG (サンド) + + + XMS SW + XMS SW + XMS SW + XMS SW + XMS SW + XMS SW + XMS SW + XMS SW + XMS SW + XMS SW + + + XMS SW (Khaki) + XMS SW (kaki) + XMS SW (khaki) + XMS SW (kaki) + XMS SW (Cáqui) + XMS SW (caqui) + XMS SW(卡其色) + XMS SW (хаки) + XMS SW (카키) + XMS SW (カーキ) + + + XMS SW (Sand) + XMS SW (sable) + XMS SW (Sand) + XMS SW (sabbia) + XMS SW (Areia) + XMS SW (arena) + XMS SW(沙色) + XMS SW (песочный) + XMS SW (모래) + XMS SW (サンド) + + + diff --git a/addons/concertina_wire/CfgVehicles.hpp b/addons/concertina_wire/CfgVehicles.hpp index 8f22f42b4a..0983f636c2 100644 --- a/addons/concertina_wire/CfgVehicles.hpp +++ b/addons/concertina_wire/CfgVehicles.hpp @@ -136,7 +136,7 @@ class CfgVehicles { distance = 4; condition = "true"; //wait a frame to handle "Do When releasing action menu key" option: - statement = QUOTE([ARR_2({_this call FUNC(deploy)}, [ARR_2(_target,_player)])] call CBA_fnc_execNextFrame); + statement = QUOTE([ARR_2({_this call FUNC(deploy)},[ARR_2(_target,_player)])] call CBA_fnc_execNextFrame); showDisabled = 0; exceptions[] = {}; icon = QPATHTOF(UI\icon_sandbag_ca.paa); diff --git a/addons/concertina_wire/functions/fnc_deploy.sqf b/addons/concertina_wire/functions/fnc_deploy.sqf index 85f78c65f9..579bc73f97 100644 --- a/addons/concertina_wire/functions/fnc_deploy.sqf +++ b/addons/concertina_wire/functions/fnc_deploy.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko, Ruthberg * diff --git a/addons/concertina_wire/functions/fnc_dismount.sqf b/addons/concertina_wire/functions/fnc_dismount.sqf index 58f04379fd..b73deb6cf5 100644 --- a/addons/concertina_wire/functions/fnc_dismount.sqf +++ b/addons/concertina_wire/functions/fnc_dismount.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * diff --git a/addons/concertina_wire/functions/fnc_dismountSuccess.sqf b/addons/concertina_wire/functions/fnc_dismountSuccess.sqf index 4611aea0f3..3a90b62a91 100644 --- a/addons/concertina_wire/functions/fnc_dismountSuccess.sqf +++ b/addons/concertina_wire/functions/fnc_dismountSuccess.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko, Ruthberg * diff --git a/addons/concertina_wire/functions/fnc_handleDamage.sqf b/addons/concertina_wire/functions/fnc_handleDamage.sqf index 958354250b..02092044ef 100644 --- a/addons/concertina_wire/functions/fnc_handleDamage.sqf +++ b/addons/concertina_wire/functions/fnc_handleDamage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * diff --git a/addons/concertina_wire/functions/fnc_handleInit.sqf b/addons/concertina_wire/functions/fnc_handleInit.sqf index a602281af1..444fdcf54a 100644 --- a/addons/concertina_wire/functions/fnc_handleInit.sqf +++ b/addons/concertina_wire/functions/fnc_handleInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko * Handles wire Init diff --git a/addons/concertina_wire/functions/fnc_handleKilled.sqf b/addons/concertina_wire/functions/fnc_handleKilled.sqf index 33f00ebe13..507deb7a4c 100644 --- a/addons/concertina_wire/functions/fnc_handleKilled.sqf +++ b/addons/concertina_wire/functions/fnc_handleKilled.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko * diff --git a/addons/concertina_wire/functions/fnc_vehicleDamage.sqf b/addons/concertina_wire/functions/fnc_vehicleDamage.sqf index baaa8efe06..b3ebb7f77c 100644 --- a/addons/concertina_wire/functions/fnc_vehicleDamage.sqf +++ b/addons/concertina_wire/functions/fnc_vehicleDamage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko * Handles vehicle damage from hitting wire diff --git a/addons/concertina_wire/functions/script_component.hpp b/addons/concertina_wire/functions/script_component.hpp deleted file mode 100644 index 4df0fa4c49..0000000000 --- a/addons/concertina_wire/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\concertina_wire\script_component.hpp" diff --git a/addons/concertina_wire/stringtable.xml b/addons/concertina_wire/stringtable.xml index 069c74ffa5..e0fd904086 100644 --- a/addons/concertina_wire/stringtable.xml +++ b/addons/concertina_wire/stringtable.xml @@ -30,7 +30,7 @@ Concertina wire coil Bobina de arame farpado 鉄条網コイル - 윤형 철조망 + 코일형 철조망 鐵絲網捲 铁丝网卷 Bıçaklı Tel Rulo diff --git a/addons/cookoff/functions/fnc_cookOff.sqf b/addons/cookoff/functions/fnc_cookOff.sqf index 79644a273e..1d598cdb96 100644 --- a/addons/cookoff/functions/fnc_cookOff.sqf +++ b/addons/cookoff/functions/fnc_cookOff.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Start a cook-off in the given vehicle. diff --git a/addons/cookoff/functions/fnc_cookOffBox.sqf b/addons/cookoff/functions/fnc_cookOffBox.sqf index 72a1259990..8b8e60891c 100644 --- a/addons/cookoff/functions/fnc_cookOffBox.sqf +++ b/addons/cookoff/functions/fnc_cookOffBox.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, commy2, kymckay * Start a cook-off in the given ammo box. diff --git a/addons/cookoff/functions/fnc_cookOffEffect.sqf b/addons/cookoff/functions/fnc_cookOffEffect.sqf index 41a6f0aab4..a907f67606 100644 --- a/addons/cookoff/functions/fnc_cookOffEffect.sqf +++ b/addons/cookoff/functions/fnc_cookOffEffect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Spawn cook-off effects diff --git a/addons/cookoff/functions/fnc_detonateAmmunition.sqf b/addons/cookoff/functions/fnc_detonateAmmunition.sqf index 3d2089fe88..b4d48f3120 100644 --- a/addons/cookoff/functions/fnc_detonateAmmunition.sqf +++ b/addons/cookoff/functions/fnc_detonateAmmunition.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Detonates ammunition from a vehicle until no ammo left diff --git a/addons/cookoff/functions/fnc_engineFire.sqf b/addons/cookoff/functions/fnc_engineFire.sqf index 67c932d4bc..118537b30a 100644 --- a/addons/cookoff/functions/fnc_engineFire.sqf +++ b/addons/cookoff/functions/fnc_engineFire.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, commy2 * Start fire in engine block of a car. diff --git a/addons/cookoff/functions/fnc_getVehicleAmmo.sqf b/addons/cookoff/functions/fnc_getVehicleAmmo.sqf index 9be02b75bb..f6be84c1f9 100644 --- a/addons/cookoff/functions/fnc_getVehicleAmmo.sqf +++ b/addons/cookoff/functions/fnc_getVehicleAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Gets all magazines inside of a vehicle. diff --git a/addons/cookoff/functions/fnc_handleDamageBox.sqf b/addons/cookoff/functions/fnc_handleDamageBox.sqf index 2bbb6f4b6b..dfc5cb7267 100644 --- a/addons/cookoff/functions/fnc_handleDamageBox.sqf +++ b/addons/cookoff/functions/fnc_handleDamageBox.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, commy2 * Handles all incoming damage for boxi diff --git a/addons/cookoff/functions/fnc_isMagazineFlare.sqf b/addons/cookoff/functions/fnc_isMagazineFlare.sqf index 6b43824946..b6c8a604be 100644 --- a/addons/cookoff/functions/fnc_isMagazineFlare.sqf +++ b/addons/cookoff/functions/fnc_isMagazineFlare.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Cyruz * Checks if the magazine has ammo which is a flare diff --git a/addons/cookoff/functions/fnc_smoke.sqf b/addons/cookoff/functions/fnc_smoke.sqf index 7d7e70c2dd..ce50043413 100644 --- a/addons/cookoff/functions/fnc_smoke.sqf +++ b/addons/cookoff/functions/fnc_smoke.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Starts vehicle barrel smoke effect. diff --git a/addons/cookoff/functions/script_component.hpp b/addons/cookoff/functions/script_component.hpp deleted file mode 100644 index d72f77978f..0000000000 --- a/addons/cookoff/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\cookoff\script_component.hpp" diff --git a/addons/cookoff/stringtable.xml b/addons/cookoff/stringtable.xml index e09ef2988b..bc09d44a4e 100644 --- a/addons/cookoff/stringtable.xml +++ b/addons/cookoff/stringtable.xml @@ -29,7 +29,7 @@ Manovrabilità danneggiata ed effetti torretta Poškodit ovládání a efekty věže Obsługa obrażeń i efekty wieży - 피해량 조절 및 터렛에 효과 부여 + 피해량 조절 및 포탑에 효과 부여 Changes damage handling for cook off and turret explosion effects @@ -44,7 +44,7 @@ Modifica la gestione dei danni per gli effetti di esplosione della torretta e danneggiamenti Změní poškození ovládání a efekty výbuchu veže Zmienia obsługę obrażeń podczas samozapłonu i eksplozji wieży - 쿡오프로 인해 피해량의 변화와 터렛 터짐현상을 결정합니다. + 쿡오프로 인해 피해량의 변화와 포탑 터짐현상을 결정합니다. Enable ammo box cook off @@ -173,10 +173,19 @@ Уничтожать технику после детонации Destruir vehículos tras la detonación inducida por calor 誘爆後に車両を破壊する + Zniszcz Pojazdy po Zakończeniu Samozapłonu + Zerstöre Fahrzeuge nach der Durchzündung + Destruction des véhicules après auto-inflammation + Destruir veículos após cozinhamento Controls whether vehicles will always be destroyed after cooking off. 誘爆後に車両を破壊するかどうかを設定する。 + Kontroluje, czy pojazdy będą zawsze niszczone po samozapłonie. + Steuert, ob Fahrzeuge nach dem Durchzünden immer zerstört werden. + 쿡오프 후 차량이 항상 파괴되는지 여부를 조정합니다. + Contrôle si les véhicules seront toujours détruits après l'auto-inflammation. + Define se os veículos serão sempre destruídos após cozinhamento. Enable Cook-Off Vehicle Fire @@ -188,6 +197,7 @@ 启用殉爆载具火灾 차량 쿡오프 화재 활성화 Habilitar incendio a causa de la detonación inducida por calor + Ativar incêndio de veículo durante cozinhamento Whether or not vehicles will catch on fire during cook-off @@ -199,6 +209,7 @@ 车辆在殉爆过程中是否会起火 쿡오프가 일어나면 차량에 불이 붙습니다. Define si los vehículos salen ardiendo despues de una detonación inducida por calor. + Define se os veículos pegarão fogo durante o cozinhamento. diff --git a/addons/csw/dev/checkStaticWeapons.sqf b/addons/csw/dev/checkStaticWeapons.sqf index 0406cb7034..59e712cb70 100644 --- a/addons/csw/dev/checkStaticWeapons.sqf +++ b/addons/csw/dev/checkStaticWeapons.sqf @@ -1,5 +1,5 @@ #define DEBUG_MODE_FULL -#include "\z\ace\addons\csw\script_component.hpp" +#include "..\script_component.hpp" // Dev only function to search for weapons used by static weapons // and check if their magazinese are compatible diff --git a/addons/csw/functions/fnc_aceRearmGetCarryMagazines.sqf b/addons/csw/functions/fnc_aceRearmGetCarryMagazines.sqf index 05cfe1461a..5230fccf52 100644 --- a/addons/csw/functions/fnc_aceRearmGetCarryMagazines.sqf +++ b/addons/csw/functions/fnc_aceRearmGetCarryMagazines.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Helper function for ace_rearm; Gets magazines that should be loaded by csw diff --git a/addons/csw/functions/fnc_ai_handleFired.sqf b/addons/csw/functions/fnc_ai_handleFired.sqf index 668a425b50..e6d76f13dc 100644 --- a/addons/csw/functions/fnc_ai_handleFired.sqf +++ b/addons/csw/functions/fnc_ai_handleFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles AI Fired EH diff --git a/addons/csw/functions/fnc_ai_handleGetIn.sqf b/addons/csw/functions/fnc_ai_handleGetIn.sqf index 2906a01d1e..26a94b58e3 100644 --- a/addons/csw/functions/fnc_ai_handleGetIn.sqf +++ b/addons/csw/functions/fnc_ai_handleGetIn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Grim * Handles AI GetIn on an empty weapon diff --git a/addons/csw/functions/fnc_ai_reload.sqf b/addons/csw/functions/fnc_ai_reload.sqf index 47e5d1ee6f..31d41b0588 100644 --- a/addons/csw/functions/fnc_ai_reload.sqf +++ b/addons/csw/functions/fnc_ai_reload.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, modified by Grim * Handles AI reloading diff --git a/addons/csw/functions/fnc_assemble_canDeployTripod.sqf b/addons/csw/functions/fnc_assemble_canDeployTripod.sqf index 3a8b3196f4..82412b5556 100644 --- a/addons/csw/functions/fnc_assemble_canDeployTripod.sqf +++ b/addons/csw/functions/fnc_assemble_canDeployTripod.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author:tcvm * Checks if the player can deploy the tripod. diff --git a/addons/csw/functions/fnc_assemble_canDeployWeapon.sqf b/addons/csw/functions/fnc_assemble_canDeployWeapon.sqf index 9bcd253dad..897ee6acd0 100644 --- a/addons/csw/functions/fnc_assemble_canDeployWeapon.sqf +++ b/addons/csw/functions/fnc_assemble_canDeployWeapon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author:tcvm * Checks if you can deploy a weapon on the tripod diff --git a/addons/csw/functions/fnc_assemble_canPickupTripod.sqf b/addons/csw/functions/fnc_assemble_canPickupTripod.sqf index cde5caa771..8a7656db83 100644 --- a/addons/csw/functions/fnc_assemble_canPickupTripod.sqf +++ b/addons/csw/functions/fnc_assemble_canPickupTripod.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author:tcvm * Checks if the player can pick-up the tripod. diff --git a/addons/csw/functions/fnc_assemble_canPickupWeapon.sqf b/addons/csw/functions/fnc_assemble_canPickupWeapon.sqf index 1e51c95840..9665311d9d 100644 --- a/addons/csw/functions/fnc_assemble_canPickupWeapon.sqf +++ b/addons/csw/functions/fnc_assemble_canPickupWeapon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author:tcvm * If the CSW is mounted or in use this will not allow you to dismount the weapon diff --git a/addons/csw/functions/fnc_assemble_deployTripod.sqf b/addons/csw/functions/fnc_assemble_deployTripod.sqf index 4d52a07367..b2ba0e4ea5 100644 --- a/addons/csw/functions/fnc_assemble_deployTripod.sqf +++ b/addons/csw/functions/fnc_assemble_deployTripod.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author:tcvm * Deploys the tripod diff --git a/addons/csw/functions/fnc_assemble_deployWeapon.sqf b/addons/csw/functions/fnc_assemble_deployWeapon.sqf index 748e5fcf14..f646047da2 100644 --- a/addons/csw/functions/fnc_assemble_deployWeapon.sqf +++ b/addons/csw/functions/fnc_assemble_deployWeapon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author:tcvm * Deploys the current CSW diff --git a/addons/csw/functions/fnc_assemble_deployWeaponModifier.sqf b/addons/csw/functions/fnc_assemble_deployWeaponModifier.sqf index b1b89d8f09..85b1346415 100644 --- a/addons/csw/functions/fnc_assemble_deployWeaponModifier.sqf +++ b/addons/csw/functions/fnc_assemble_deployWeaponModifier.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Modifies interaction for deploying weapon diff --git a/addons/csw/functions/fnc_assemble_pickupTripod.sqf b/addons/csw/functions/fnc_assemble_pickupTripod.sqf index 8b25745a89..449a445dc2 100644 --- a/addons/csw/functions/fnc_assemble_pickupTripod.sqf +++ b/addons/csw/functions/fnc_assemble_pickupTripod.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author:tcvm * Picks up the tripod and adds it to the player launcher slot diff --git a/addons/csw/functions/fnc_assemble_pickupWeapon.sqf b/addons/csw/functions/fnc_assemble_pickupWeapon.sqf index 1b8b231d73..99d0229566 100644 --- a/addons/csw/functions/fnc_assemble_pickupWeapon.sqf +++ b/addons/csw/functions/fnc_assemble_pickupWeapon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author:tcvm * Dismounts the weapon from the tripod and drops its backpack beside diff --git a/addons/csw/functions/fnc_canGetIn.sqf b/addons/csw/functions/fnc_canGetIn.sqf index 9ffd853a1a..16ffe29a77 100644 --- a/addons/csw/functions/fnc_canGetIn.sqf +++ b/addons/csw/functions/fnc_canGetIn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author:tcvm * Checks if the player can get in the weapon diff --git a/addons/csw/functions/fnc_getCarryMagazine.sqf b/addons/csw/functions/fnc_getCarryMagazine.sqf index 4535512e2d..81e07c6f10 100644 --- a/addons/csw/functions/fnc_getCarryMagazine.sqf +++ b/addons/csw/functions/fnc_getCarryMagazine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, Dystopian * Gets magazine that the player can carry, suitable to vehicle magazine diff --git a/addons/csw/functions/fnc_getIn.sqf b/addons/csw/functions/fnc_getIn.sqf index 035c32b285..61ca962d06 100644 --- a/addons/csw/functions/fnc_getIn.sqf +++ b/addons/csw/functions/fnc_getIn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author:tcvm * An action for the player to get in the CSW diff --git a/addons/csw/functions/fnc_proxyWeapon.sqf b/addons/csw/functions/fnc_proxyWeapon.sqf index 1c9f48dd89..40ab4b1e4c 100644 --- a/addons/csw/functions/fnc_proxyWeapon.sqf +++ b/addons/csw/functions/fnc_proxyWeapon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm, PabstMirror * Handles the use of proxy weapons to fix engine-reload times diff --git a/addons/csw/functions/fnc_reload_actionsLoad.sqf b/addons/csw/functions/fnc_reload_actionsLoad.sqf index d141da3d93..557811d440 100644 --- a/addons/csw/functions/fnc_reload_actionsLoad.sqf +++ b/addons/csw/functions/fnc_reload_actionsLoad.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Gets sub actions for what the player can load into the static weapon diff --git a/addons/csw/functions/fnc_reload_actionsUnload.sqf b/addons/csw/functions/fnc_reload_actionsUnload.sqf index 0f4e9cb7de..5ef40ace70 100644 --- a/addons/csw/functions/fnc_reload_actionsUnload.sqf +++ b/addons/csw/functions/fnc_reload_actionsUnload.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Gets sub actions for what the player can unload from the static weapon diff --git a/addons/csw/functions/fnc_reload_canLoadMagazine.sqf b/addons/csw/functions/fnc_reload_canLoadMagazine.sqf index 16e1930dc9..70c673299a 100644 --- a/addons/csw/functions/fnc_reload_canLoadMagazine.sqf +++ b/addons/csw/functions/fnc_reload_canLoadMagazine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror &tcvm * Tests if unit can load a magazine into a static weapon. diff --git a/addons/csw/functions/fnc_reload_canUnloadMagazine.sqf b/addons/csw/functions/fnc_reload_canUnloadMagazine.sqf index 2ce6b6e591..4e03625a29 100644 --- a/addons/csw/functions/fnc_reload_canUnloadMagazine.sqf +++ b/addons/csw/functions/fnc_reload_canUnloadMagazine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Tests if unit can unload a magazine from a static weapon. diff --git a/addons/csw/functions/fnc_reload_getLoadableMagazines.sqf b/addons/csw/functions/fnc_reload_getLoadableMagazines.sqf index 1419e7b16e..933625fb89 100644 --- a/addons/csw/functions/fnc_reload_getLoadableMagazines.sqf +++ b/addons/csw/functions/fnc_reload_getLoadableMagazines.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Gets magazines that the player is carrying that can be loaded into the static weapon diff --git a/addons/csw/functions/fnc_reload_getVehicleMagazine.sqf b/addons/csw/functions/fnc_reload_getVehicleMagazine.sqf index f8053df3b9..6b5b77efee 100644 --- a/addons/csw/functions/fnc_reload_getVehicleMagazine.sqf +++ b/addons/csw/functions/fnc_reload_getVehicleMagazine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Finds the best vehicle magazines to create from a carryable magazine for a given weapon. diff --git a/addons/csw/functions/fnc_reload_handleAddTurretMag.sqf b/addons/csw/functions/fnc_reload_handleAddTurretMag.sqf index 7601e667dd..9a2eae2bd4 100644 --- a/addons/csw/functions/fnc_reload_handleAddTurretMag.sqf +++ b/addons/csw/functions/fnc_reload_handleAddTurretMag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author:tcvm, PabstMirror * Handles adding ammo to a turret diff --git a/addons/csw/functions/fnc_reload_handleRemoveTurretMag.sqf b/addons/csw/functions/fnc_reload_handleRemoveTurretMag.sqf index 005d439cdf..d53d35a0d8 100644 --- a/addons/csw/functions/fnc_reload_handleRemoveTurretMag.sqf +++ b/addons/csw/functions/fnc_reload_handleRemoveTurretMag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author:tcvm * Handles removing ammo from a turret diff --git a/addons/csw/functions/fnc_reload_handleReturnAmmo.sqf b/addons/csw/functions/fnc_reload_handleReturnAmmo.sqf index d30de71ed5..da8383b608 100644 --- a/addons/csw/functions/fnc_reload_handleReturnAmmo.sqf +++ b/addons/csw/functions/fnc_reload_handleReturnAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm and PabstMirror * Handles returned ammo (either from unloading or leftovers from linking) diff --git a/addons/csw/functions/fnc_reload_loadMagazine.sqf b/addons/csw/functions/fnc_reload_loadMagazine.sqf index 5cceb55113..42508daf1d 100644 --- a/addons/csw/functions/fnc_reload_loadMagazine.sqf +++ b/addons/csw/functions/fnc_reload_loadMagazine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Loads a magazine into a static weapon from a magazine carried by or next to the player. diff --git a/addons/csw/functions/fnc_staticWeaponInit.sqf b/addons/csw/functions/fnc_staticWeaponInit.sqf index f360ff2af3..fcef5df08e 100644 --- a/addons/csw/functions/fnc_staticWeaponInit.sqf +++ b/addons/csw/functions/fnc_staticWeaponInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Initializes weapon to disable weapon disassembling @@ -16,6 +16,7 @@ */ params ["_staticWeapon"]; +if (isNull _staticWeapon) exitWith { WARNING_1("%1 became null",_staticWeapon) }; private _typeOf = typeOf _staticWeapon; private _configOf = configOf _staticWeapon; private _configEnabled = (getNumber (_configOf >> "ace_csw" >> "enabled")) == 1; diff --git a/addons/csw/functions/fnc_staticWeaponInit_unloadExtraMags.sqf b/addons/csw/functions/fnc_staticWeaponInit_unloadExtraMags.sqf index 92ba32722c..23155ead0b 100644 --- a/addons/csw/functions/fnc_staticWeaponInit_unloadExtraMags.sqf +++ b/addons/csw/functions/fnc_staticWeaponInit_unloadExtraMags.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm, PabstMirror * Dumps ammo to container diff --git a/addons/csw/functions/script_component.hpp b/addons/csw/functions/script_component.hpp deleted file mode 100644 index 7e8eaa8954..0000000000 --- a/addons/csw/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\csw\script_component.hpp" diff --git a/addons/csw/stringtable.xml b/addons/csw/stringtable.xml index 2782bad850..e0d586578a 100644 --- a/addons/csw/stringtable.xml +++ b/addons/csw/stringtable.xml @@ -79,7 +79,7 @@ 裝填 %1 装填 %1 Yükle %1 - %1 싣는중 + %1 싣기 Unload %1 @@ -96,7 +96,7 @@ 卸載 %1 卸载 %1 Boşalt %1 - %1 내리는중 + %1 내리기 Link %1 @@ -182,16 +182,20 @@ 弹药存储 Хранилище боеприпасов Almacenamiento de munición + Stockage des munitions + Armazenamento de Munição Determines whether extra magazines are stored on the ground or inside an ammo box Legt fest, ob zusätzliche Magazine auf dem Boden oder in einer Munitionskiste aufbewahrt werden - 여분의 탄약을 지면 또는 탄약 상자에 넣을지 결정합니다. + 여분의 탄약을 지면 또는 탄약 상자에 넣을 지 결정합니다. Decyduje, czy dodatkowe magazynki przechowywane są na ziemi, czy w skrzynce z amunicją. 追加のマガジンを地面に設置するか、弾薬箱の中に保管するかを決定します 设置多余的弹夹是存放在地面上还是弹药箱内 Определяет будут ли дополнительные магазины лежать на земле или внутри хранилища Determina si los cargadores extra son almacenados en el suelo o en una caja de munición + Détermine si les chargeurs supplémentaires sont stockés par terre ou dans une caisse de munitions. + Determina se munições extras são armazenadas no chão ou dentro de uma caixa de munição Ground @@ -202,6 +206,8 @@ 地面 Земля Suelo + Sol + Solo Ammo Box @@ -212,6 +218,8 @@ 弹药箱 Коробка с боеприпасами Caja de munición + Caisse de munitions + Caixa de Munição Ammo handling @@ -241,7 +249,7 @@ Zezwalaj na ładowanie i rozładowywanie magazynków Permitir la carga y descarga de cargadores Разрешить загрузку и разгрузку магазинов - 탄을 장전하고 빼는걸 가능하게 합니다. + 탄을 장전하고 빼는 걸 가능하게 합니다. Interaction Time Coefficent @@ -301,7 +309,7 @@ Po rozłożeniu trójnogu zacznij od przeciągania go w określone miejsce Después de desplegar un trípode, comenzar a arrastrarlo hacia la ubicación precisa После развертывания начать тащить треногу на другое место - 조립 후 위치선정을 위해 배치하지 않고 끌고다닙니다. + 조립 후 위치선정을 위해 배치하지 않고 끌고 다닙니다. Pickup Tripod @@ -513,6 +521,7 @@ [CSW] Statisches M2 mit Schild [班组] 固定式防盾型 M2 重机枪 [CSW] 거치형 M2 (방패) + [CSW] Arma Estática - M2 com Escudo [CSW] Static XM312 Gun (Autonomous) diff --git a/addons/dagr/functions/fnc_handleRangeFinderData.sqf b/addons/dagr/functions/fnc_handleRangeFinderData.sqf index 4d9447240b..19f6dd9171 100644 --- a/addons/dagr/functions/fnc_handleRangeFinderData.sqf +++ b/addons/dagr/functions/fnc_handleRangeFinderData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rosuto, Ruthberg * Handles incoming data packets from the Vectronix Vector LRF diff --git a/addons/dagr/functions/fnc_menuInit.sqf b/addons/dagr/functions/fnc_menuInit.sqf index 498d6614d4..5bc757e295 100644 --- a/addons/dagr/functions/fnc_menuInit.sqf +++ b/addons/dagr/functions/fnc_menuInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rosuto, Ruthberg * Creates the DAGR menu dialog @@ -10,6 +10,7 @@ * None * * Example: + * [] call ace_dagr_fnc_menuInit * * Public: No */ diff --git a/addons/dagr/functions/fnc_outputData.sqf b/addons/dagr/functions/fnc_outputData.sqf index a5816e472d..21e19ff023 100644 --- a/addons/dagr/functions/fnc_outputData.sqf +++ b/addons/dagr/functions/fnc_outputData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rosuto * DAGR data output loop diff --git a/addons/dagr/functions/fnc_outputVector.sqf b/addons/dagr/functions/fnc_outputVector.sqf index ce2ca2a04c..5eb1b9bffa 100644 --- a/addons/dagr/functions/fnc_outputVector.sqf +++ b/addons/dagr/functions/fnc_outputVector.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rosuto * DAGR vector output loop diff --git a/addons/dagr/functions/fnc_outputWP.sqf b/addons/dagr/functions/fnc_outputWP.sqf index 41518a0560..2e0588ccc4 100644 --- a/addons/dagr/functions/fnc_outputWP.sqf +++ b/addons/dagr/functions/fnc_outputWP.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rosuto * DAGR waypoint output loop diff --git a/addons/dagr/functions/fnc_toggleOverlay.sqf b/addons/dagr/functions/fnc_toggleOverlay.sqf index c0e229d745..cc875f9a70 100644 --- a/addons/dagr/functions/fnc_toggleOverlay.sqf +++ b/addons/dagr/functions/fnc_toggleOverlay.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rosuto, Ruthberg * Toggles the DAGR overlay diff --git a/addons/dagr/functions/script_component.hpp b/addons/dagr/functions/script_component.hpp deleted file mode 100644 index 1aea0f5c56..0000000000 --- a/addons/dagr/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\dagr\script_component.hpp" diff --git a/addons/disarming/functions/fnc_canBeDisarmed.sqf b/addons/disarming/functions/fnc_canBeDisarmed.sqf index ab41729f6a..4fde1597c4 100644 --- a/addons/disarming/functions/fnc_canBeDisarmed.sqf +++ b/addons/disarming/functions/fnc_canBeDisarmed.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * @@ -29,7 +29,6 @@ if (_putDownAnim != "") exitWith { false }; (alive _target) && {(abs (speed _target)) < 1} && -{(vehicle _target) == _target} && {(_target getVariable ["ACE_isUnconscious", false]) || {_target getVariable [QEGVAR(captives,isHandcuffed), false]} || {_target getVariable [QEGVAR(captives,isSurrendering), false]}} diff --git a/addons/disarming/functions/fnc_canPlayerDisarmUnit.sqf b/addons/disarming/functions/fnc_canPlayerDisarmUnit.sqf index 2468e454fd..989dd7f4df 100644 --- a/addons/disarming/functions/fnc_canPlayerDisarmUnit.sqf +++ b/addons/disarming/functions/fnc_canPlayerDisarmUnit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * diff --git a/addons/disarming/functions/fnc_disarmDropItems.sqf b/addons/disarming/functions/fnc_disarmDropItems.sqf index 8f358e8b43..26e00dfa5f 100644 --- a/addons/disarming/functions/fnc_disarmDropItems.sqf +++ b/addons/disarming/functions/fnc_disarmDropItems.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * @@ -39,6 +39,11 @@ if (_doNotDropAmmo && {({_x in _listOfItemsToRemove} count (magazines _target)) private _holder = objNull; +// if _target is in a vehicle, use vehicle inventory as container +if (!isNull objectParent _target) then { + _holder = objectParent _target; +}; + //If not dropping ammo, don't use an existing container if (!_doNotDropAmmo) then { { diff --git a/addons/disarming/functions/fnc_eventCallerFinish.sqf b/addons/disarming/functions/fnc_eventCallerFinish.sqf index 60629b221f..bc9033fee5 100644 --- a/addons/disarming/functions/fnc_eventCallerFinish.sqf +++ b/addons/disarming/functions/fnc_eventCallerFinish.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * diff --git a/addons/disarming/functions/fnc_eventTargetFinish.sqf b/addons/disarming/functions/fnc_eventTargetFinish.sqf index b750fd51b1..792a41d06d 100644 --- a/addons/disarming/functions/fnc_eventTargetFinish.sqf +++ b/addons/disarming/functions/fnc_eventTargetFinish.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * diff --git a/addons/disarming/functions/fnc_eventTargetStart.sqf b/addons/disarming/functions/fnc_eventTargetStart.sqf index e63289cf20..7173f66a76 100644 --- a/addons/disarming/functions/fnc_eventTargetStart.sqf +++ b/addons/disarming/functions/fnc_eventTargetStart.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * diff --git a/addons/disarming/functions/fnc_getAllGearContainer.sqf b/addons/disarming/functions/fnc_getAllGearContainer.sqf index be46d66e5e..ea954a39d5 100644 --- a/addons/disarming/functions/fnc_getAllGearContainer.sqf +++ b/addons/disarming/functions/fnc_getAllGearContainer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * diff --git a/addons/disarming/functions/fnc_getAllGearUnit.sqf b/addons/disarming/functions/fnc_getAllGearUnit.sqf index db066ad5d8..b47d2aca70 100644 --- a/addons/disarming/functions/fnc_getAllGearUnit.sqf +++ b/addons/disarming/functions/fnc_getAllGearUnit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * diff --git a/addons/disarming/functions/fnc_openDisarmDialog.sqf b/addons/disarming/functions/fnc_openDisarmDialog.sqf index 16d73d25a2..a3762aec9f 100644 --- a/addons/disarming/functions/fnc_openDisarmDialog.sqf +++ b/addons/disarming/functions/fnc_openDisarmDialog.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * diff --git a/addons/disarming/functions/fnc_showItemsInListbox.sqf b/addons/disarming/functions/fnc_showItemsInListbox.sqf index ea4b00a706..e05e27c87e 100644 --- a/addons/disarming/functions/fnc_showItemsInListbox.sqf +++ b/addons/disarming/functions/fnc_showItemsInListbox.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * diff --git a/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf b/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf index 60d851b973..68da57dcda 100644 --- a/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf +++ b/addons/disarming/functions/fnc_verifyMagazinesMoved.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * diff --git a/addons/disarming/functions/script_component.hpp b/addons/disarming/functions/script_component.hpp deleted file mode 100644 index 2bcfb4d9e4..0000000000 --- a/addons/disarming/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\disarming\script_component.hpp" diff --git a/addons/disarming/gui_disarm.hpp b/addons/disarming/gui_disarm.hpp index 1863eb9b0b..4c8ce53e6c 100644 --- a/addons/disarming/gui_disarm.hpp +++ b/addons/disarming/gui_disarm.hpp @@ -17,10 +17,10 @@ class RscListBox; #define W_MAKEITBIGGA(num) (num * (safeZoneH / 40)) #define H_MAKEITBIGGA(num) (num * (safeZoneH / 30)) -#define X_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QEGVAR(inventory,inventoryDisplaySize)), 0)]), X_BIS(num), X_MAKEITBIGGA(num))]) -#define Y_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QEGVAR(inventory,inventoryDisplaySize)), 0)]), Y_BIS(num), Y_MAKEITBIGGA(num))]) -#define W_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QEGVAR(inventory,inventoryDisplaySize)), 0)]), W_BIS(num), W_MAKEITBIGGA(num))]) -#define H_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QEGVAR(inventory,inventoryDisplaySize)), 0)]), H_BIS(num), H_MAKEITBIGGA(num))]) +#define X_PART(num) QUOTE(linearConversion [ARR_5(0,2,(missionNamespace getVariable [ARR_2(QUOTE(QEGVAR(inventory,inventoryDisplaySize)),0)]),X_BIS(num),X_MAKEITBIGGA(num))]) +#define Y_PART(num) QUOTE(linearConversion [ARR_5(0,2,(missionNamespace getVariable [ARR_2(QUOTE(QEGVAR(inventory,inventoryDisplaySize)),0)]),Y_BIS(num),Y_MAKEITBIGGA(num))]) +#define W_PART(num) QUOTE(linearConversion [ARR_5(0,2,(missionNamespace getVariable [ARR_2(QUOTE(QEGVAR(inventory,inventoryDisplaySize)),0)]),W_BIS(num),W_MAKEITBIGGA(num))]) +#define H_PART(num) QUOTE(linearConversion [ARR_5(0,2,(missionNamespace getVariable [ARR_2(QUOTE(QEGVAR(inventory,inventoryDisplaySize)),0)]),H_BIS(num),H_MAKEITBIGGA(num))]) class GVAR(remoteInventory) { idd = -1; diff --git a/addons/disposable/stringtable.xml b/addons/disposable/stringtable.xml index 8c5fe9f095..8878ed6e03 100644 --- a/addons/disposable/stringtable.xml +++ b/addons/disposable/stringtable.xml @@ -45,7 +45,7 @@ Előtöltött műrakéta Предзаряженная ракетная болванка Missile inerte precaricato - Míssel inerte pré-carregado + Míssil inerte pré-carregado 仮置きのミサイルをあらかじめ装填 더미 미사일을 미리 장전하기 預裝訓練導彈 diff --git a/addons/dogtags/RscTitles.hpp b/addons/dogtags/RscTitles.hpp index 5bcd318205..aad72dfc5d 100644 --- a/addons/dogtags/RscTitles.hpp +++ b/addons/dogtags/RscTitles.hpp @@ -13,8 +13,8 @@ class RscTitles { class controls { class background: RscPicture { idc = 1000; - x = QUOTE(profileNamespace getVariable [ARR_2('TRIPLES(IGUI,GVAR(grid),X)', (safeZoneX + safeZoneW) - 12.9 * GUI_GRID_W)]); - y = QUOTE(profileNamespace getVariable [ARR_2('TRIPLES(IGUI,GVAR(grid),Y)', safeZoneY + 0.175 * safeZoneH)]); + x = QUOTE(profileNamespace getVariable [ARR_2('TRIPLES(IGUI,GVAR(grid),X)',(safeZoneX + safeZoneW) - 12.9 * GUI_GRID_W)]); + y = QUOTE(profileNamespace getVariable [ARR_2('TRIPLES(IGUI,GVAR(grid),Y)',safeZoneY + 0.175 * safeZoneH)]); w = QUOTE(8 * GUI_GRID_W); h = QUOTE(8 * GUI_GRID_H); text = QPATHTOF(data\dogtagSingle.paa); @@ -26,8 +26,8 @@ class RscTitles { sizeEx = QUOTE(GUI_GRID_H); colorText[] = {1, 1, 1, 1}; colorBackground[] = {0, 0, 0, 0}; - x = QUOTE(1.6 * GUI_GRID_W + (profileNamespace getVariable [ARR_2('TRIPLES(IGUI,GVAR(grid),X)', (safeZoneX + safeZoneW) - 12.9 * GUI_GRID_W)])); - y = QUOTE(0.065 * safeZoneH + (profileNamespace getVariable [ARR_2('TRIPLES(IGUI,GVAR(grid),Y)', safeZoneY + 0.175 * safeZoneH)])); + x = QUOTE(1.6 * GUI_GRID_W + (profileNamespace getVariable [ARR_2('TRIPLES(IGUI,GVAR(grid),X)',(safeZoneX + safeZoneW) - 12.9 * GUI_GRID_W)])); + y = QUOTE(0.065 * safeZoneH + (profileNamespace getVariable [ARR_2('TRIPLES(IGUI,GVAR(grid),Y)',safeZoneY + 0.175 * safeZoneH)])); w = QUOTE(5.9 * GUI_GRID_W); h = QUOTE(3 * GUI_GRID_H); font = "RobotoCondensed"; diff --git a/addons/dogtags/XEH_postInit.sqf b/addons/dogtags/XEH_postInit.sqf index d7476345c9..6653d80211 100644 --- a/addons/dogtags/XEH_postInit.sqf +++ b/addons/dogtags/XEH_postInit.sqf @@ -17,7 +17,7 @@ if (["ACE_Medical"] call EFUNC(common,isModLoaded)) then { {!isNil {_target getVariable QGVAR(dogtagData)}} ] call EFUNC(interact_menu,createAction); - ["ACE_bodyBagObject", 0, ["ACE_MainActions"], _checkTagAction] call EFUNC(interact_menu,addActionToClass); + ["ACE_bodyBagObject", 0, ["ACE_MainActions"], _checkTagAction, true] call EFUNC(interact_menu,addActionToClass); private _takeTagAction = [ "ACE_TakeDogtag", @@ -27,12 +27,13 @@ if (["ACE_Medical"] call EFUNC(common,isModLoaded)) then { {(!isNil {_target getVariable QGVAR(dogtagData)}) && {((_target getVariable [QGVAR(dogtagTaken), objNull]) != _target)}} ] call EFUNC(interact_menu,createAction); - ["ACE_bodyBagObject", 0, ["ACE_MainActions"], _takeTagAction] call EFUNC(interact_menu,addActionToClass); + ["ACE_bodyBagObject", 0, ["ACE_MainActions"], _takeTagAction, true] call EFUNC(interact_menu,addActionToClass); }; if (isServer) then { ["ace_placedInBodyBag", { - params ["_target", "_bodyBag"]; + params ["_target", "_bodyBag", "_isGrave"]; + if (_isGrave) exitWith {}; TRACE_2("ace_placedInBodyBag eh",_target,_bodyBag); private _dogTagData = [_target] call FUNC(getDogtagData); diff --git a/addons/dogtags/functions/fnc_addDogtagActions.sqf b/addons/dogtags/functions/fnc_addDogtagActions.sqf index 2911b27a92..7c7a2e5e8f 100644 --- a/addons/dogtags/functions/fnc_addDogtagActions.sqf +++ b/addons/dogtags/functions/fnc_addDogtagActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: SzwedzikPL, mharis001 * Returns children actions for checking dogtags in player's inventory. diff --git a/addons/dogtags/functions/fnc_addDogtagItem.sqf b/addons/dogtags/functions/fnc_addDogtagItem.sqf index acecd6b252..970bb1926e 100644 --- a/addons/dogtags/functions/fnc_addDogtagItem.sqf +++ b/addons/dogtags/functions/fnc_addDogtagItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: SzwedzikPL * Adds dogtag item to unit (triggered by server). diff --git a/addons/dogtags/functions/fnc_bloodType.sqf b/addons/dogtags/functions/fnc_bloodType.sqf index 46e75ee7f9..5e03c586fa 100644 --- a/addons/dogtags/functions/fnc_bloodType.sqf +++ b/addons/dogtags/functions/fnc_bloodType.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Reports a blood type depending on the units name. diff --git a/addons/dogtags/functions/fnc_canCheckDogtag.sqf b/addons/dogtags/functions/fnc_canCheckDogtag.sqf index 8abbf8858d..399ad5db25 100644 --- a/addons/dogtags/functions/fnc_canCheckDogtag.sqf +++ b/addons/dogtags/functions/fnc_canCheckDogtag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: SzwedzikPL * Checks if dogtag can be checked. diff --git a/addons/dogtags/functions/fnc_canTakeDogtag.sqf b/addons/dogtags/functions/fnc_canTakeDogtag.sqf index 8bcad4a73d..7ae38f7c41 100644 --- a/addons/dogtags/functions/fnc_canTakeDogtag.sqf +++ b/addons/dogtags/functions/fnc_canTakeDogtag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: SzwedzikPL * Checks if dogtag can be taken. diff --git a/addons/dogtags/functions/fnc_checkDogtag.sqf b/addons/dogtags/functions/fnc_checkDogtag.sqf index 52b08e1947..dcceb8c2c0 100644 --- a/addons/dogtags/functions/fnc_checkDogtag.sqf +++ b/addons/dogtags/functions/fnc_checkDogtag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: SzwedzikPL * Checks unit dogtag. diff --git a/addons/dogtags/functions/fnc_checkDogtagItem.sqf b/addons/dogtags/functions/fnc_checkDogtagItem.sqf index 8ce7864774..09526d83ed 100644 --- a/addons/dogtags/functions/fnc_checkDogtagItem.sqf +++ b/addons/dogtags/functions/fnc_checkDogtagItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: SzwedzikPL * Check dogtag self menu action. diff --git a/addons/dogtags/functions/fnc_disableFactionDogtags.sqf b/addons/dogtags/functions/fnc_disableFactionDogtags.sqf index c299af3a7d..f1ea5f5c06 100644 --- a/addons/dogtags/functions/fnc_disableFactionDogtags.sqf +++ b/addons/dogtags/functions/fnc_disableFactionDogtags.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Disable this faction from using dogtags. diff --git a/addons/dogtags/functions/fnc_getDogtagData.sqf b/addons/dogtags/functions/fnc_getDogtagData.sqf index d566daf64b..6a850543fc 100644 --- a/addons/dogtags/functions/fnc_getDogtagData.sqf +++ b/addons/dogtags/functions/fnc_getDogtagData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Get unit dogtag data. diff --git a/addons/dogtags/functions/fnc_getDogtagItem.sqf b/addons/dogtags/functions/fnc_getDogtagItem.sqf index 22a0561937..04112bcc94 100644 --- a/addons/dogtags/functions/fnc_getDogtagItem.sqf +++ b/addons/dogtags/functions/fnc_getDogtagItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: SzwedzikPL * Server: creates new dogtag item and send it to client. diff --git a/addons/dogtags/functions/fnc_sendDogtagData.sqf b/addons/dogtags/functions/fnc_sendDogtagData.sqf index c43cf04dab..2351e61166 100644 --- a/addons/dogtags/functions/fnc_sendDogtagData.sqf +++ b/addons/dogtags/functions/fnc_sendDogtagData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: SzwedzikPL * Server: returns to client data on given dogtag. diff --git a/addons/dogtags/functions/fnc_showDogtag.sqf b/addons/dogtags/functions/fnc_showDogtag.sqf index 8e7bec620c..4865ff7de2 100644 --- a/addons/dogtags/functions/fnc_showDogtag.sqf +++ b/addons/dogtags/functions/fnc_showDogtag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: SzwedzikPL * Shows dogtag. diff --git a/addons/dogtags/functions/fnc_ssn.sqf b/addons/dogtags/functions/fnc_ssn.sqf index d5349f631f..0ba3499c0b 100644 --- a/addons/dogtags/functions/fnc_ssn.sqf +++ b/addons/dogtags/functions/fnc_ssn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Reports a social security number generated from the units name. diff --git a/addons/dogtags/functions/fnc_takeDogtag.sqf b/addons/dogtags/functions/fnc_takeDogtag.sqf index 4538115633..1972c91ee0 100644 --- a/addons/dogtags/functions/fnc_takeDogtag.sqf +++ b/addons/dogtags/functions/fnc_takeDogtag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: SzwedzikPL * If dogtag is not already taken triggers event on server. diff --git a/addons/dogtags/functions/script_component.hpp b/addons/dogtags/functions/script_component.hpp deleted file mode 100644 index 583e76df33..0000000000 --- a/addons/dogtags/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\dogtags\script_component.hpp" diff --git a/addons/dragging/CfgEventHandlers.hpp b/addons/dragging/CfgEventHandlers.hpp index 94ebf2cda6..d3b43b314a 100644 --- a/addons/dragging/CfgEventHandlers.hpp +++ b/addons/dragging/CfgEventHandlers.hpp @@ -42,6 +42,13 @@ class Extended_Init_EventHandlers { class WeaponHolder { class ADDON { init = QUOTE(_this call FUNC(initObject)); + exclude[] = {"GroundWeaponHolder_Scripted"}; + }; + }; + class WeaponHolderSimulated { + class ADDON { + init = QUOTE(_this call FUNC(initObject)); + exclude[] = {"WeaponHolderSimulated_Scripted"}; }; }; class Land_Camping_Light_F { diff --git a/addons/dragging/CfgMovesBasic.hpp b/addons/dragging/CfgMovesBasic.hpp index e6420915ea..cfaa9b7ad0 100644 --- a/addons/dragging/CfgMovesBasic.hpp +++ b/addons/dragging/CfgMovesBasic.hpp @@ -7,6 +7,9 @@ class CfgMovesBasic { class Actions { class MoveWithInjuredManDragger; class MoveWithInjuredManDraggerRfl: MoveWithInjuredManDragger { + LimpB = "ace_dragging_rifle_limpB"; + LimpLB = "ace_dragging_rifle_limpB"; + LimpRB = "ace_dragging_rifle_limpB"; Up = "amovpercmstpsraswrfldnon"; }; @@ -19,6 +22,9 @@ class CfgMovesBasic { grabDrag = "ace_dragging_static"; grabCarry = "Helper_SwitchToCarrynon_pst"; HandGunOn = "ace_dragging_static"; + LimpB = "ace_dragging_limpB"; + LimpLB = "ace_dragging_limpB"; + LimpRB = "ace_dragging_limpB"; PlayerSlowB = "ace_dragging"; PlayerSlowLB = "ace_dragging"; PlayerSlowRB = "ace_dragging"; diff --git a/addons/dragging/CfgMovesMaleSdr.hpp b/addons/dragging/CfgMovesMaleSdr.hpp index d19d210f49..fb965dd713 100644 --- a/addons/dragging/CfgMovesMaleSdr.hpp +++ b/addons/dragging/CfgMovesMaleSdr.hpp @@ -2,8 +2,6 @@ class CfgMovesMaleSdr: CfgMovesBasic { class InjuredMovedBase; class AgonyBaseRfl; class StandBase; - class AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_1; - class DraggerBase; class States { class AcinPknlMstpSnonWnonDnon_AcinPercMrunSnonWnonDnon: InjuredMovedBase { @@ -14,59 +12,71 @@ class CfgMovesMaleSdr: CfgMovesBasic { speed = -10; // 1/10 }; - class AmovPercMstpSrasWpstDnon: StandBase { - ConnectTo[] = { - "AmovPercMstpSrasWpstDnon", - 0.02, - "AovrPercMstpSrasWpstDf", - 0.025, - "AmovPercMstpSrasWpstDnon_AidlPercMstpSlowWpstDnon", - 0.0099999998, - "PistolMagazineReloadStand", - 0.1, - "AmovPercMstpSrasWpstDnon_AmovPercMstpSlowWpstDnon", - 0.02, - "AmovPercMstpSrasWpstDnon_AmovPercMstpSrasWrflDnon", - 0.02, - "AmovPercMstpSrasWpstDnon_AwopPercMstpSoptWbinDnon", - 0.02, - "AmovPercMstpSrasWpstDnon_AmovPercMstpSnonWnonDnon", - 0.02, - "AmovPercMstpSrasWpstDnon_SaluteIn", - 0.02, - "AwopPercMstpSgthWpstDnon_Part1", - 0.1, - "AmovPercMstpSrasWpstDnon_AinvPknlMstpSnonWnonDnon", - 0.02, - "AmovPercMstpSrasWpstDnon_AmovPercMstpSrasWlnrDnon", - 0.02, - "AmovPercMstpSrasWpstDnon_AadjPercMstpSrasWpstDup", - 0.02, - "AmovPercMstpSrasWpstDnon_AadjPercMstpSrasWpstDdown", - 0.02, - "AmovPercMstpSrasWpstDnon_AadjPercMstpSrasWpstDleft", - 0.02, - "AmovPercMstpSrasWpstDnon_AadjPercMstpSrasWpstDright", - 0.02, - "AmovPercMstpSrasWpstDnon_AmovPercMstpSrasWpstDnon_gear", - 0.02, - "Acts_starterPistol_in", - 0.001, - "Acts_PistolRaisedStand_Default", - 1, - "ace_dragging", + // For dragging with rifles + class AmovPercMstpSlowWrflDnon; + class AmovPercMstpSrasWrflDnon: AmovPercMstpSlowWrflDnon { + ConnectTo[] += { + "ace_dragging_rifle_limpB", 0.1 }; }; + class AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_1; class AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_2: AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_1 { aiming = "aimingDefault"; aimingBody = "aimingUpDefault"; aimPrecision = 5; // default: 1 + ConnectTo[] += { + "ace_dragging_rifle_limpB", + 0.1 + }; + InterpolateTo[] += { + "ace_dragging_rifle_limpB", + 0.1 + }; }; + class AcinPknlMstpSrasWrflDnon: AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_1 { + ConnectTo[] += { + "ace_dragging_rifle_limpB", + 0.1 + }; + InterpolateTo[] += { + "ace_dragging_rifle_limpB", + 0.1 + }; + }; + + class AcinPknlMwlkSrasWrflDb: AmovPercMstpSlowWrflDnon_AcinPknlMwlkSlowWrflDb_1 { + ConnectTo[] += { + "ace_dragging_rifle_limpB", + 0.1 + }; + InterpolateTo[] += { + "ace_dragging_rifle_limpB", + 0.1 + }; + }; + + class ace_dragging_rifle_limpB: AcinPknlMwlkSrasWrflDb { + speed = 0.5; + }; + + // For dragging with pistols + class AmovPercMstpSrasWpstDnon: StandBase { + ConnectTo[] += { + "ace_dragging", + 0.1, + "ace_dragging_limpB", + 0.1, + "ace_dragging_static", + 0.1 + }; + }; + + class DraggerBase; class ace_dragging: DraggerBase { - actions = "ace_MoveWithInjuredManDraggerPst"; + actions = "ACE_MoveWithInjuredManDraggerPst"; aiming = "aimingPistol"; aimingBody = "aimingPistol"; aimPrecision = 2; // default: 1 @@ -75,14 +85,24 @@ class CfgMovesMaleSdr: CfgMovesBasic { ConnectTo[] = { "ace_dragging", 0.1, + "ace_dragging_limpB", + 0.1, "ace_dragging_drop", - 0.2 + 0.2, + "ace_dragging_static", + 0.1 }; disableWeapons = 0; duty = 0.6; enableBinocular = 0; file = QPATHTO_T(anim\ace_dragging.rtm); InterpolateTo[] = { + "ace_dragging", + 0.1, + "ace_dragging_limpB", + 0.1, + "ace_dragging_drop", + 0.2, "ace_dragging_static", 0.1 }; @@ -93,20 +113,11 @@ class CfgMovesMaleSdr: CfgMovesBasic { turnSpeed = 0.5; }; + class ace_dragging_limpB: ace_dragging { + speed = 0.5; + }; + class ace_dragging_static: ace_dragging { - ConnectTo[] = { - "ace_dragging", - 0.1, - "ace_dragging_drop", - 0.2 - }; - InterpolateTo[] = { - "ace_dragging", - 0.1, - "ace_dragging_drop", - 0.2 - }; - looped = 1; speed = 0; }; diff --git a/addons/dragging/XEH_PREP.hpp b/addons/dragging/XEH_PREP.hpp index c359a35678..37b9722e8e 100644 --- a/addons/dragging/XEH_PREP.hpp +++ b/addons/dragging/XEH_PREP.hpp @@ -19,6 +19,10 @@ PREP(handleUnconscious); PREP(initObject); PREP(initPerson); PREP(isObjectOnObject); +PREP(pauseCarry); +PREP(pauseDrag); +PREP(resumeCarry); +PREP(resumeDrag); PREP(setCarryable); PREP(setDraggable); PREP(startCarry); diff --git a/addons/dragging/XEH_postInit.sqf b/addons/dragging/XEH_postInit.sqf index a07274f838..815437e62d 100644 --- a/addons/dragging/XEH_postInit.sqf +++ b/addons/dragging/XEH_postInit.sqf @@ -1,24 +1,9 @@ // by PabstMirror, commy2 #include "script_component.hpp" -// Release object on disconnection. Function is identical to killed if (isServer) then { - // 'HandleDisconnect' EH triggers too late - addMissionEventHandler ["PlayerDisconnected", { - private _unit = (getUserInfo (_this select 5)) select 10; - - _unit call FUNC(handleKilled); - }]; - - // Handle surrending and handcuffing - ["ace_captiveStatusChanged", { - params ["_unit", "_state"]; - - // If surrended or handcuffed, drop dragged/carried object - if (_state) then { - _unit call FUNC(handleKilled); - }; - }] call CBA_fnc_addEventHandler; + // Release object on disconnection. Function is identical to killed + addMissionEventHandler ["HandleDisconnect", LINKFUNC(handleKilled)]; }; if (!hasInterface) exitWith {}; @@ -43,12 +28,45 @@ if (isNil QGVAR(maxWeightCarryRun)) then { ["vehicle", {[ACE_player, objNull] call FUNC(handlePlayerChanged)}] call CBA_fnc_addPlayerEventHandler; ["weapon", LINKFUNC(handlePlayerWeaponChanged)] call CBA_fnc_addPlayerEventHandler; +// When changing cameras, drop carried and dragged objects +["featureCamera", { + params ["_unit", "_camera"]; + + // Unit can either drag or carry, functions themselves handle which ones are executed + switch (_camera) do { + // Default camera + case "": { + _unit call FUNC(resumeDrag); + _unit call FUNC(resumeCarry); + }; + // Arsenals make the unit change animations, which makes the unit drop dragged/carried objects regardless + case "arsenal"; + case "ace_arsenal": { + _unit call FUNC(handleKilled); + }; + default { + _unit call FUNC(pauseDrag); + _unit call FUNC(pauseCarry); + }; + }; +}] call CBA_fnc_addPlayerEventHandler; + // Handle waking up dragged unit and falling unconscious while dragging ["ace_unconscious", LINKFUNC(handleUnconscious)] call CBA_fnc_addEventHandler; // Display event handler ["MouseZChanged", {(_this select 1) call FUNC(handleScrollWheel)}] call CBA_fnc_addDisplayHandler; +// Handle surrendering and handcuffing +["ace_captiveStatusChanged", { + params ["_unit", "_state"]; + + // If surrended or handcuffed, drop dragged/carried object + if (_state && {local _unit}) then { + _unit call FUNC(handleKilled); + }; +}] call CBA_fnc_addEventHandler; + [QGVAR(carryingContainerClosed), { params ["_container", "_owner"]; TRACE_2("carryingContainerClosed EH",_container,_owner); diff --git a/addons/dragging/functions/fnc_canCarry.sqf b/addons/dragging/functions/fnc_canCarry.sqf index ab8cedaabb..dce4440a8e 100644 --- a/addons/dragging/functions/fnc_canCarry.sqf +++ b/addons/dragging/functions/fnc_canCarry.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Dystopian * Checks if unit can carry the object. Doesn't check weight. diff --git a/addons/dragging/functions/fnc_canDrag.sqf b/addons/dragging/functions/fnc_canDrag.sqf index aa3e182ad2..7083eec76b 100644 --- a/addons/dragging/functions/fnc_canDrag.sqf +++ b/addons/dragging/functions/fnc_canDrag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Dystopian * Checks if unit can drag the object. Doesn't check weight. diff --git a/addons/dragging/functions/fnc_canDrop.sqf b/addons/dragging/functions/fnc_canDrop.sqf index e56d34b762..9fa5a5b3e5 100644 --- a/addons/dragging/functions/fnc_canDrop.sqf +++ b/addons/dragging/functions/fnc_canDrop.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Checks if unit can drop the dragged object. diff --git a/addons/dragging/functions/fnc_canDrop_carry.sqf b/addons/dragging/functions/fnc_canDrop_carry.sqf index eea752d834..8dd2ed528e 100644 --- a/addons/dragging/functions/fnc_canDrop_carry.sqf +++ b/addons/dragging/functions/fnc_canDrop_carry.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Checks if unit can drop the carried object. diff --git a/addons/dragging/functions/fnc_canRun_carry.sqf b/addons/dragging/functions/fnc_canRun_carry.sqf index c7385cd121..50fd9eb25d 100644 --- a/addons/dragging/functions/fnc_canRun_carry.sqf +++ b/addons/dragging/functions/fnc_canRun_carry.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Check if weight can be carried while running diff --git a/addons/dragging/functions/fnc_carryObject.sqf b/addons/dragging/functions/fnc_carryObject.sqf index 23e35b0f25..dfff18a3c0 100644 --- a/addons/dragging/functions/fnc_carryObject.sqf +++ b/addons/dragging/functions/fnc_carryObject.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles attaching and setting up a carried object. Called from ace_dragging_fnc_startCarryPFH. @@ -55,12 +55,6 @@ _unit setVariable [QGVAR(releaseActionID), [ // Add anim changed EH [_unit, "AnimChanged", FUNC(handleAnimChanged), [_unit]] call CBA_fnc_addBISEventHandler; -// Check everything -[FUNC(carryObjectPFH), 0.5, [_unit, _target, CBA_missionTime]] call CBA_fnc_addPerFrameHandler; - -// Reset current dragging height -GVAR(currentHeightChange) = 0; - // Prevent UAVs from firing private _UAVCrew = _target call EFUNC(common,getVehicleUAVCrew); @@ -71,3 +65,9 @@ if (_UAVCrew isNotEqualTo []) then { _target setVariable [QGVAR(isUAV), true, true]; }; + +// Check everything +[FUNC(carryObjectPFH), 0.5, [_unit, _target, CBA_missionTime]] call CBA_fnc_addPerFrameHandler; + +// Reset current dragging height +GVAR(currentHeightChange) = 0; diff --git a/addons/dragging/functions/fnc_carryObjectPFH.sqf b/addons/dragging/functions/fnc_carryObjectPFH.sqf index ee9234a3c8..b73ff97261 100644 --- a/addons/dragging/functions/fnc_carryObjectPFH.sqf +++ b/addons/dragging/functions/fnc_carryObjectPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * PFH for carrying an object. @@ -53,19 +53,35 @@ if !(alive _target && {_unit distance _target <= 10} && {_unit getHitPointDamage _idPFH call CBA_fnc_removePerFrameHandler; }; +// Drop static if crew is in it (UAV crew deletion may take a few frames) +if (_target isKindOf "StaticWeapon" && {(crew _target) isNotEqualTo []} && {!(_target getVariable [QGVAR(isUAV), false])}) then { + TRACE_2("static weapon crewed",_unit,_target); + + [_unit, _target] call FUNC(dropObject_carry); + + _unit setVariable [QGVAR(hint), nil]; + call EFUNC(interaction,hideMouseHint); + + _idPFH call CBA_fnc_removePerFrameHandler; +}; + +private _previousHint = _unit getVariable [QGVAR(hint), []]; + +// If paused, don't show mouse button hints +if (_previousHint isEqualType "") exitWith {}; + // Mouse hint private _hintLMB = LLSTRING(Drop); -getCursorObjectParams params ["_cursorObject", "", "_distance"]; +private _cursorObject = cursorObject; if ( - !isNull _cursorObject && - {_distance < MAX_LOAD_DISTANCE} && - {[_unit, _cursorObject, ["isNotCarrying"]] call EFUNC(common,canInteractWith)} && + !isNull _cursorObject && {[_unit, _cursorObject, ["isNotCarrying"]] call EFUNC(common,canInteractWith)} && { if (_target isKindOf "CAManBase") then { - [_cursorObject, 0, true] call EFUNC(common,nearestVehiclesFreeSeat) isNotEqualTo [] + (_unit distance _cursorObject <= MAX_LOAD_DISTANCE_MAN) && {[_cursorObject, 0, true] call EFUNC(common,nearestVehiclesFreeSeat) isNotEqualTo []} } else { ["ace_cargo"] call EFUNC(common,isModLoaded) && + {EGVAR(cargo,enable)} && {[_target, _cursorObject] call EFUNC(cargo,canLoadItemIn)} } } @@ -81,7 +97,7 @@ if (_target isKindOf "CAManBase") then { private _hint = [_hintLMB, "", _hintMMB]; -if (_hint isNotEqualTo (_unit getVariable [QGVAR(hint), []])) then { +if (_hint isNotEqualTo _previousHint) then { _unit setVariable [QGVAR(hint), _hint]; _hint call EFUNC(interaction,showMouseHint); }; diff --git a/addons/dragging/functions/fnc_dragObject.sqf b/addons/dragging/functions/fnc_dragObject.sqf index 4fc93971ab..ddad0ad7bb 100644 --- a/addons/dragging/functions/fnc_dragObject.sqf +++ b/addons/dragging/functions/fnc_dragObject.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Malbryn * Handles attaching and setting up a dragged object. Called from ace_dragging_fnc_startDragPFH. @@ -68,18 +68,8 @@ if !(GVAR(dragAndFire)) then { // Add anim changed EH [_unit, "AnimChanged", FUNC(handleAnimChanged), [_unit]] call CBA_fnc_addBISEventHandler; -// Check everything -[FUNC(dragObjectPFH), 0.5, [_unit, _target, CBA_missionTime]] call CBA_fnc_addPerFrameHandler; - -// Reset current dragging height. -GVAR(currentHeightChange) = 0; - // Prevent UAVs from firing private _UAVCrew = _target call EFUNC(common,getVehicleUAVCrew); - -// Fixes not being able to move when in combat pace -[_unit, "forceWalk", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set); - if (_UAVCrew isNotEqualTo []) then { { _target deleteVehicleCrew _x; @@ -87,3 +77,12 @@ if (_UAVCrew isNotEqualTo []) then { _target setVariable [QGVAR(isUAV), true, true]; }; + +// Check everything +[FUNC(dragObjectPFH), 0.5, [_unit, _target, CBA_missionTime]] call CBA_fnc_addPerFrameHandler; + +// Reset current dragging height. +GVAR(currentHeightChange) = 0; + +// Fixes not being able to move when in combat pace +[_unit, "forceWalk", QUOTE(ADDON), true] call EFUNC(common,statusEffect_set); diff --git a/addons/dragging/functions/fnc_dragObjectPFH.sqf b/addons/dragging/functions/fnc_dragObjectPFH.sqf index 24cd95ce6a..a2895f4216 100644 --- a/addons/dragging/functions/fnc_dragObjectPFH.sqf +++ b/addons/dragging/functions/fnc_dragObjectPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * PFH for dragging an object. @@ -45,3 +45,15 @@ if (!alive _target || {_unit distance _target > 10}) then { _idPFH call CBA_fnc_removePerFrameHandler; }; + +// Drop static if crew is in it (UAV crew deletion may take a few frames) +if (_target isKindOf "StaticWeapon" && {(crew _target) isNotEqualTo []} && {!(_target getVariable [QGVAR(isUAV), false])}) then { + TRACE_2("static weapon crewed",_unit,_target); + + [_unit, _target] call FUNC(dropObject); + + _unit setVariable [QGVAR(hint), nil]; + call EFUNC(interaction,hideMouseHint); + + _idPFH call CBA_fnc_removePerFrameHandler; +}; diff --git a/addons/dragging/functions/fnc_dropObject.sqf b/addons/dragging/functions/fnc_dropObject.sqf index df9027ab31..debe757101 100644 --- a/addons/dragging/functions/fnc_dropObject.sqf +++ b/addons/dragging/functions/fnc_dropObject.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Malbryn * Drops a dragged object. @@ -20,7 +20,10 @@ params ["_unit", "_target"]; TRACE_2("params",_unit,_target); // Remove drop action -[GVAR(releaseActionID), "keydown"] call CBA_fnc_removeKeyHandler; +if (!isNil QGVAR(releaseActionID)) then { + [GVAR(releaseActionID), "keydown"] call CBA_fnc_removeKeyHandler; + GVAR(releaseActionID) = nil; +}; // Stop blocking if !(GVAR(dragAndFire)) then { @@ -77,9 +80,14 @@ if (_unit getVariable ["ACE_isUnconscious", false]) then { [_unit, "unconscious", 2] call EFUNC(common,doAnimation); }; -// Recreate UAV crew +// Recreate UAV crew (add a frame delay or this may cause the vehicle to be moved to [0,0,0]) if (_target getVariable [QGVAR(isUAV), false]) then { - createVehicleCrew _target; + [{ + params ["_target"]; + if (!alive _target) exitWith {}; + TRACE_2("restoring uav crew",_target,getPosASL _target); + createVehicleCrew _target; + }, [_target]] call CBA_fnc_execNextFrame; }; // Fixes not being able to move when in combat pace diff --git a/addons/dragging/functions/fnc_dropObject_carry.sqf b/addons/dragging/functions/fnc_dropObject_carry.sqf index 54c88ef1e3..f3f15fac14 100644 --- a/addons/dragging/functions/fnc_dropObject_carry.sqf +++ b/addons/dragging/functions/fnc_dropObject_carry.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Drops a carried object. @@ -22,6 +22,7 @@ TRACE_1("params",_this); // Remove drop action [_unit, "DefaultAction", _unit getVariable [QGVAR(releaseActionID), -1]] call EFUNC(common,removeActionEventHandler); +_unit setVariable [QGVAR(releaseActionID), nil]; private _inBuilding = _unit call FUNC(isObjectOnObject); @@ -29,8 +30,17 @@ private _inBuilding = _unit call FUNC(isObjectOnObject); [QEGVAR(common,fixCollision), _unit] call CBA_fnc_localEvent; [QEGVAR(common,fixCollision), _target, _target] call CBA_fnc_targetEvent; -// Release object -detach _target; +private _cursorObject = cursorObject; +_tryLoad = _tryLoad && {!isNull _cursorObject} && {[_unit, _cursorObject, ["isNotCarrying"]] call EFUNC(common,canInteractWith)}; +private _loadCargo = false; + +// Don't release object if loading into vehicle (object might be released into vehicle) +if (_tryLoad && {!(_target isKindOf "CAManBase")} && {["ace_cargo"] call EFUNC(common,isModLoaded)} && {[_target, _cursorObject] call EFUNC(cargo,canLoadItemIn)}) then { + _loadCargo = true; +} else { + // Release object + detach _target; +}; // Fix anim when aborting carrying persons if (_target isKindOf "CAManBase" || {animationState _unit in CARRY_ANIMATIONS}) then { @@ -76,9 +86,14 @@ if !(_target isKindOf "CAManBase") then { [QEGVAR(common,fixFloating), _target, _target] call CBA_fnc_targetEvent; }; -// Recreate UAV crew +// Recreate UAV crew (add a frame delay or this may cause the vehicle to be moved to [0,0,0]) if (_target getVariable [QGVAR(isUAV), false]) then { - createVehicleCrew _target; + [{ + params ["_target"]; + if (!alive _target) exitWith {}; + TRACE_2("restoring uav crew",_target,getPosASL _target); + createVehicleCrew _target; + }, [_target]] call CBA_fnc_execNextFrame; }; // Reset mass @@ -91,11 +106,11 @@ if (_mass != 0) then { // Reset temp direction _target setVariable [QGVAR(carryDirection_temp), nil]; -private _cursorObject = cursorObject; - -// Try loading into vehicle -if (_tryLoad && {!isNull _cursorObject} && {[_unit, _cursorObject, ["isNotCarrying"]] call EFUNC(common,canInteractWith)}) then { - if (_target isKindOf "CAManBase") then { +// (Try) loading into vehicle +if (_loadCargo) then { + [_unit, _target, _cursorObject] call EFUNC(cargo,startLoadIn); +} else { + if (_tryLoad && {_unit distance _cursorObject <= MAX_LOAD_DISTANCE_MAN} && {_target isKindOf "CAManBase"}) then { private _vehicles = [_cursorObject, 0, true] call EFUNC(common,nearestVehiclesFreeSeat); if ([_cursorObject] isEqualTo _vehicles) then { @@ -105,12 +120,5 @@ if (_tryLoad && {!isNull _cursorObject} && {[_unit, _cursorObject, ["isNotCarryi [_unit, _target, _cursorObject] call EFUNC(common,loadPerson); }; }; - } else { - if ( - ["ace_cargo"] call EFUNC(common,isModLoaded) && - {[_target, _cursorObject] call EFUNC(cargo,canLoadItemIn)} - ) then { - [_unit, _target, _cursorObject] call EFUNC(cargo,startLoadIn); - }; }; }; diff --git a/addons/dragging/functions/fnc_getWeight.sqf b/addons/dragging/functions/fnc_getWeight.sqf index e397386be1..f6b93feca0 100644 --- a/addons/dragging/functions/fnc_getWeight.sqf +++ b/addons/dragging/functions/fnc_getWeight.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: L-H, edited by commy2, rewritten by joko // Jonas, re-rewritten by mharis001 * Returns the weight of the given object. @@ -18,6 +18,9 @@ params ["_object"]; +// Skip weight checking if it will be 0 +if (GVAR(weightCoefficient) == 0) exitWith {0}; + private _weight = loadAbs _object; if !(GVAR(skipContainerWeight)) then { @@ -36,4 +39,4 @@ if !(GVAR(skipContainerWeight)) then { // Mass in Arma isn't an exact amount but rather a volume/weight value // This attempts to work around that by making it a usable value (sort of) -_weight * 0.5 // return +GVAR(weightCoefficient) * _weight * 0.5 // return diff --git a/addons/dragging/functions/fnc_handleAnimChanged.sqf b/addons/dragging/functions/fnc_handleAnimChanged.sqf index 4820a467ff..24b8f58205 100644 --- a/addons/dragging/functions/fnc_handleAnimChanged.sqf +++ b/addons/dragging/functions/fnc_handleAnimChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle the animation for a unit for the dragging module. diff --git a/addons/dragging/functions/fnc_handleKilled.sqf b/addons/dragging/functions/fnc_handleKilled.sqf index 858a319f70..c38ed7dfbe 100644 --- a/addons/dragging/functions/fnc_handleKilled.sqf +++ b/addons/dragging/functions/fnc_handleKilled.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle death of the dragger/carrier. diff --git a/addons/dragging/functions/fnc_handlePlayerChanged.sqf b/addons/dragging/functions/fnc_handlePlayerChanged.sqf index 593208b1d9..75370d36fe 100644 --- a/addons/dragging/functions/fnc_handlePlayerChanged.sqf +++ b/addons/dragging/functions/fnc_handlePlayerChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles player changes. diff --git a/addons/dragging/functions/fnc_handlePlayerWeaponChanged.sqf b/addons/dragging/functions/fnc_handlePlayerWeaponChanged.sqf index 57c5545e67..17b876f8f6 100644 --- a/addons/dragging/functions/fnc_handlePlayerWeaponChanged.sqf +++ b/addons/dragging/functions/fnc_handlePlayerWeaponChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles the weapon changed event. diff --git a/addons/dragging/functions/fnc_handleScrollWheel.sqf b/addons/dragging/functions/fnc_handleScrollWheel.sqf index 663b9086b6..8b522e34bc 100644 --- a/addons/dragging/functions/fnc_handleScrollWheel.sqf +++ b/addons/dragging/functions/fnc_handleScrollWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: L-H, commy2 * Handles raising and lowering the dragged weapon to be able to place it on top of objects. diff --git a/addons/dragging/functions/fnc_handleUnconscious.sqf b/addons/dragging/functions/fnc_handleUnconscious.sqf index 98bd883174..f79f7327ff 100644 --- a/addons/dragging/functions/fnc_handleUnconscious.sqf +++ b/addons/dragging/functions/fnc_handleUnconscious.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles consciousness change of a unit while dragging / carrying. diff --git a/addons/dragging/functions/fnc_initObject.sqf b/addons/dragging/functions/fnc_initObject.sqf index 7a06d1d1bf..a21a602634 100644 --- a/addons/dragging/functions/fnc_initObject.sqf +++ b/addons/dragging/functions/fnc_initObject.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Initializes variables for draggable / carryable objects. Called from init EH. @@ -22,13 +22,15 @@ private _config = configOf _object; if (getNumber (_config >> QGVAR(canDrag)) == 1) then { private _position = [_config >> QGVAR(dragPosition), "ARRAY", [0, 1.5, 0]] call CBA_fnc_getConfigEntry; private _direction = getNumber (_config >> QGVAR(dragDirection)); + private _ignoreWeight = getNumber (_config >> QGVAR(ignoreWeight)); - [_object, true, _position, _direction] call FUNC(setDraggable); + [_object, true, _position, _direction, _ignoreWeight > 0] call FUNC(setDraggable); }; if (getNumber (_config >> QGVAR(canCarry)) == 1) then { private _position = [_config >> QGVAR(carryPosition), "ARRAY", [0, 1, 1]] call CBA_fnc_getConfigEntry; private _direction = getNumber (_config >> QGVAR(carryDirection)); + private _ignoreWeight = getNumber (_config >> QGVAR(ignoreWeightCarry)); - [_object, true, _position, _direction] call FUNC(setCarryable); + [_object, true, _position, _direction, _ignoreWeight > 0] call FUNC(setCarryable); }; diff --git a/addons/dragging/functions/fnc_initPerson.sqf b/addons/dragging/functions/fnc_initPerson.sqf index 5e3b24c5ef..6ac2b5d569 100644 --- a/addons/dragging/functions/fnc_initPerson.sqf +++ b/addons/dragging/functions/fnc_initPerson.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Initialize variables for draggable / carryable persons. Called from init EH. @@ -16,6 +16,7 @@ */ params ["_unit"]; +if (isNull _unit) exitWith { WARNING_1("%1 became null",_unit) }; [_unit, true, [0, 1.1, 0.092], 180] call FUNC(setDraggable); [_unit, true, [0.4, -0.1, -1.25], 195] call FUNC(setCarryable); // Hard-coded selection: "LeftShoulder" diff --git a/addons/dragging/functions/fnc_pauseCarry.sqf b/addons/dragging/functions/fnc_pauseCarry.sqf new file mode 100644 index 0000000000..bfe27420f6 --- /dev/null +++ b/addons/dragging/functions/fnc_pauseCarry.sqf @@ -0,0 +1,34 @@ +#include "..\script_component.hpp" +/* + * Author: johnb43 + * Removes user input affecting dragging. + * + * Arguments: + * 0: Unit + * + * Return Value: + * None + * + * Example: + * player call ace_dragging_fnc_pauseCarry; + * + * Public: No + */ + +params ["_unit"]; + +// If not carrying, don't do anything +if !(_unit getVariable [QGVAR(isCarrying), false]) exitWith {}; + +private _actionID = _unit getVariable QGVAR(releaseActionID); + +// If action has already been removed, don't remove it again +if (isNil "_actionID") exitWith {}; + +// Remove drop action +[_unit, "DefaultAction", _actionID] call EFUNC(common,removeActionEventHandler); +_unit setVariable [QGVAR(releaseActionID), nil]; + +// Hide mouse hint +_unit setVariable [QGVAR(hint), "paused"]; +call EFUNC(interaction,hideMouseHint); diff --git a/addons/dragging/functions/fnc_pauseDrag.sqf b/addons/dragging/functions/fnc_pauseDrag.sqf new file mode 100644 index 0000000000..a06153bf44 --- /dev/null +++ b/addons/dragging/functions/fnc_pauseDrag.sqf @@ -0,0 +1,31 @@ +#include "..\script_component.hpp" +/* + * Author: johnb43 + * Removes user input affecting dragging. + * + * Arguments: + * 0: Unit + * + * Return Value: + * None + * + * Example: + * player call ace_dragging_fnc_pauseDrag; + * + * Public: No + */ + +params ["_unit"]; + +// If not dragging, don't do anything +if !(_unit getVariable [QGVAR(isDragging), false]) exitWith {}; + +// If action has already been removed, don't remove it again +if (isNil QGVAR(releaseActionID)) exitWith {}; + +// Remove drop action +[GVAR(releaseActionID), "keydown"] call CBA_fnc_removeKeyHandler; +GVAR(releaseActionID) = nil; + +// Hide mouse hint +call EFUNC(interaction,hideMouseHint); diff --git a/addons/dragging/functions/fnc_resumeCarry.sqf b/addons/dragging/functions/fnc_resumeCarry.sqf new file mode 100644 index 0000000000..233d60e298 --- /dev/null +++ b/addons/dragging/functions/fnc_resumeCarry.sqf @@ -0,0 +1,34 @@ +#include "..\script_component.hpp" +/* + * Author: johnb43 + * Adds user input affecting carrying back. + * + * Arguments: + * 0: Unit + * + * Return Value: + * None + * + * Example: + * player call ace_dragging_fnc_resumeCarry; + * + * Public: No + */ + +params ["_unit"]; + +// If not dragging, don't do anything +if !(_unit getVariable [QGVAR(isCarrying), false]) exitWith {}; + +// If action is already present, don't add it again +if (!isNil {_unit getVariable QGVAR(releaseActionID)}) exitWith {}; + +// Remove drop action +_unit setVariable [QGVAR(releaseActionID), [ + _unit, "DefaultAction", + {!isNull ((_this select 0) getVariable [QGVAR(carriedObject), objNull])}, + {[_this select 0, (_this select 0) getVariable [QGVAR(carriedObject), objNull], true] call FUNC(dropObject_carry)} +] call EFUNC(common,addActionEventHandler)]; + +// Show mouse hint (done in FUNC(carryObjectPFH)) +_unit setVariable [QGVAR(hint), nil]; diff --git a/addons/dragging/functions/fnc_resumeDrag.sqf b/addons/dragging/functions/fnc_resumeDrag.sqf new file mode 100644 index 0000000000..d0fea988fb --- /dev/null +++ b/addons/dragging/functions/fnc_resumeDrag.sqf @@ -0,0 +1,32 @@ +#include "..\script_component.hpp" +/* + * Author: johnb43 + * Adds user input affecting dragging back. + * + * Arguments: + * 0: Unit + * + * Return Value: + * None + * + * Example: + * player call ace_dragging_fnc_resumeDrag; + * + * Public: No + */ + +params ["_unit"]; + +// If not dragging, don't do anything +if !(_unit getVariable [QGVAR(isDragging), false]) exitWith {}; + +// If action is already present, don't add it again +if (!isNil QGVAR(releaseActionID)) exitWith {}; + +// Add drop action +GVAR(releaseActionID) = [0xF1, [false, false, false], { + [GVAR(unit), GVAR(unit) getVariable [QGVAR(draggedObject), objNull]] call FUNC(dropObject); +}, "keydown", "", false, 0] call CBA_fnc_addKeyHandler; + +// Show mouse hint +["", LLSTRING(Drop)] call EFUNC(interaction,showMouseHint); diff --git a/addons/dragging/functions/fnc_setCarryable.sqf b/addons/dragging/functions/fnc_setCarryable.sqf index 84b4073be2..174bdbf972 100644 --- a/addons/dragging/functions/fnc_setCarryable.sqf +++ b/addons/dragging/functions/fnc_setCarryable.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, PiZZADOX * Enables the object to be carried. @@ -54,7 +54,7 @@ GVAR(initializedClasses_carry) = _initializedClasses; [QGVAR(carryingContainerClosed), [_object, _owner], _owner] call CBA_fnc_targetEvent; }, false] call CBA_fnc_addClassEventHandler; -private _icon = [QUOTE(PATHTOF(UI\icons\box_carry.paa)), QUOTE(PATHTOF(UI\icons\person_carry.paa))] select (_object isKindOf "Man"); +private _icon = [QPATHTOF(UI\icons\box_carry.paa), QPATHTOF(UI\icons\person_carry.paa)] select (_object isKindOf "CAManBase"); private _carryAction = [QGVAR(carry), LLSTRING(Carry), _icon, {[_player, _target] call FUNC(startCarry)}, {[_player, _target] call FUNC(canCarry)}] call EFUNC(interact_menu,createAction); private _dropAction = [QGVAR(drop_carry), LLSTRING(Drop), "", {[_player, _target] call FUNC(dropObject_carry)}, {[_player, _target] call FUNC(canDrop_carry)}] call EFUNC(interact_menu,createAction); diff --git a/addons/dragging/functions/fnc_setDraggable.sqf b/addons/dragging/functions/fnc_setDraggable.sqf index f5ba0929ca..a00e3005e9 100644 --- a/addons/dragging/functions/fnc_setDraggable.sqf +++ b/addons/dragging/functions/fnc_setDraggable.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, PiZZADOX * Enables the object to be dragged. @@ -54,8 +54,7 @@ GVAR(initializedClasses) = _initializedClasses; [QGVAR(draggingContainerClosed), [_object, _owner], _owner] call CBA_fnc_targetEvent; }, false] call CBA_fnc_addClassEventHandler; - -private _icon = [QUOTE(PATHTOF(UI\icons\box_drag.paa)), QUOTE(PATHTOF(UI\icons\person_drag.paa))] select (_object isKindOf "Man"); +private _icon = [QPATHTOF(UI\icons\box_drag.paa), QPATHTOF(UI\icons\person_drag.paa)] select (_object isKindOf "CAManBase"); private _dragAction = [QGVAR(drag), LLSTRING(Drag), _icon, {[_player, _target] call FUNC(startDrag)}, {[_player, _target] call FUNC(canDrag)}] call EFUNC(interact_menu,createAction); private _dropAction = [QGVAR(drop), LLSTRING(Drop), "", {[_player, _target] call FUNC(dropObject)}, {[_player, _target] call FUNC(canDrop)}] call EFUNC(interact_menu,createAction); diff --git a/addons/dragging/functions/fnc_startCarry.sqf b/addons/dragging/functions/fnc_startCarry.sqf index 6580659402..040b701f71 100644 --- a/addons/dragging/functions/fnc_startCarry.sqf +++ b/addons/dragging/functions/fnc_startCarry.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, PiZZADOX * Starts the carrying process. diff --git a/addons/dragging/functions/fnc_startCarryPFH.sqf b/addons/dragging/functions/fnc_startCarryPFH.sqf index d96f29a0f3..ca34275a2c 100644 --- a/addons/dragging/functions/fnc_startCarryPFH.sqf +++ b/addons/dragging/functions/fnc_startCarryPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Checks for carrying conditions. If these are met, the unit will start carrying. Called from ace_dragging_fnc_startCarry. diff --git a/addons/dragging/functions/fnc_startDrag.sqf b/addons/dragging/functions/fnc_startDrag.sqf index 0efdc8ae62..cd298804e6 100644 --- a/addons/dragging/functions/fnc_startDrag.sqf +++ b/addons/dragging/functions/fnc_startDrag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, PiZZADOX, Malbryn * Starts the dragging process. diff --git a/addons/dragging/functions/fnc_startDragPFH.sqf b/addons/dragging/functions/fnc_startDragPFH.sqf index e72313828d..07dfe2064f 100644 --- a/addons/dragging/functions/fnc_startDragPFH.sqf +++ b/addons/dragging/functions/fnc_startDragPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Checks for dragging conditions. If these are met, the unit will start dragging. Called from ace_dragging_fnc_startDrag. diff --git a/addons/dragging/functions/script_component.hpp b/addons/dragging/functions/script_component.hpp deleted file mode 100644 index f77cfe8b3c..0000000000 --- a/addons/dragging/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\dragging\script_component.hpp" diff --git a/addons/dragging/initSettings.sqf b/addons/dragging/initSettings.sqf index a3e444e29c..039327330d 100644 --- a/addons/dragging/initSettings.sqf +++ b/addons/dragging/initSettings.sqf @@ -1,3 +1,12 @@ +[ + QGVAR(weightCoefficient), + "SLIDER", + [LSTRING(weightCoefficient_DisplayName), LSTRING(weightCoefficient_Description)], + LLSTRING(SettingsName), + [0, 2, 1, 2], + true +] call CBA_fnc_addSetting; + [ QGVAR(dragAndFire), "CHECKBOX", @@ -10,7 +19,7 @@ QGVAR(allowRunWithLightweight), "CHECKBOX", [LSTRING(allowRunWithLightweight_DisplayName), LSTRING(allowRunWithLightweight_Description)], - localize LSTRING(SettingsName), + LLSTRING(SettingsName), true, true ] call CBA_fnc_addSetting; @@ -19,7 +28,7 @@ QGVAR(skipContainerWeight), "CHECKBOX", [LSTRING(skipContainerWeight_DisplayName), LSTRING(skipContainerWeight_Description)], - localize LSTRING(SettingsName), + LLSTRING(SettingsName), false, true ] call CBA_fnc_addSetting; diff --git a/addons/dragging/script_component.hpp b/addons/dragging/script_component.hpp index ed1ad0fb37..4417d5d941 100644 --- a/addons/dragging/script_component.hpp +++ b/addons/dragging/script_component.hpp @@ -16,9 +16,9 @@ #include "\z\ace\addons\main\script_macros.hpp" -#define MAX_LOAD_DISTANCE 5 +#define MAX_LOAD_DISTANCE_MAN 5 -#define DRAG_ANIMATIONS ["amovpercmstpslowwrfldnon_acinpknlmwlkslowwrfldb_2", "amovpercmstpsraswpstdnon_acinpknlmwlksnonwpstdb_2", "amovpercmstpsnonwnondnon_acinpknlmwlksnonwnondb_2", "acinpknlmstpsraswrfldnon", "acinpknlmstpsnonwpstdnon", "acinpknlmstpsnonwnondnon", "acinpknlmwlksraswrfldb", "acinpknlmwlksnonwnondb", "ace_dragging", "ace_dragging_static", "ace_dragging_drop"] +#define DRAG_ANIMATIONS ["amovpercmstpslowwrfldnon_acinpknlmwlkslowwrfldb_2", "amovpercmstpsraswpstdnon_acinpknlmwlksnonwpstdb_2", "amovpercmstpsnonwnondnon_acinpknlmwlksnonwnondb_2", "acinpknlmstpsraswrfldnon", "acinpknlmstpsnonwpstdnon", "acinpknlmstpsnonwnondnon", "acinpknlmwlksraswrfldb", "acinpknlmwlksnonwnondb", "ace_dragging_rifle_limpb", "ace_dragging", "ace_dragging_limpb", "ace_dragging_static", "ace_dragging_drop"] #define CARRY_ANIMATIONS ["acinpercmstpsnonwnondnon", "acinpknlmstpsnonwnondnon_acinpercmrunsnonwnondnon"] #define MAX_DRAGGED_ITEMS 3 diff --git a/addons/dragging/stringtable.xml b/addons/dragging/stringtable.xml index 48f8177e38..ebc8cd7154 100644 --- a/addons/dragging/stringtable.xml +++ b/addons/dragging/stringtable.xml @@ -63,6 +63,7 @@ Objekt tragen/loslassen 背负/释放物体 물건 업기/놓기 + Carregar/Soltar Objeto Item too heavy @@ -110,6 +111,7 @@ Subir/Bajar | (Ctrl + Scroll) Rotar 抬起/放低 |(Ctrl + 鼠标滚轮)旋转 높이기/내리기 | (컨트롤 + 스크롤) 회전 + Subir/Abaixar | (Ctrl + Scroll) Rotacionar ACE Dragging @@ -122,6 +124,7 @@ ACE ドラッグ ACE 拖曳 ACE 끌기 + ACE Arraste Allow firing while dragging @@ -133,7 +136,8 @@ Pozwól na strzelanie podczas przeciągania 搬送中に射撃許可 允许在拖动时开火 - 사격 중 끌기 가능하게 하기 + 끌기 중 사격 가능하게 하기 + Permitir disparar enquanto arrasta Allow the player to fire their gun while dragging. @@ -145,23 +149,60 @@ Pozwala graczom strzelać z broni podczas przeciągania obiektów. プレイヤーが引きずっている最中でも射撃できるようにします。 允许玩家在拖动时开火。 - 플레이어가 무기를 끄는 동안에 무기를 사용할 수 있게합니다. + 플레이어가 뭔가를 끌고 있는 동안에 무기를 사용할 수 있게 합니다. + Permite ao jogador disparar sua arma enquanto arrasta. Allow Running with Lightweight Objects 軽量物を持って走れるようにする + Zezwól na Bieganie z Lekkimi Obiektami + Erlauben das Sprinten mit leichten Gegenständen + 가벼운 개체 들고 달리기 허용 + Autoriser la course avec des objets légers + Permitir corrida com objetos leves Allow the player to run when carrying lightweight objects. プレイヤーが軽量オブジェクトを持ち運んでいるときに走れるようにする。 + Zezwalaj graczowi na bieganie podczas przenoszenia lekkich przedmiotów. + Erlauben Sie dem Spieler, zu rennen, wenn er leichte Gegenstände trägt. + 가벼운 개체를 들고 다닐 때 플레이어가 뛸 수 있도록 허용합니다. + Autorise le joueur à courir lorsqu'il porte un objet léger. + Permite ao jogador correr enquanto carrega objetos leves. Skip Object Weight オブジェクトの重量を無視 + Pomiń Wagę Obiektu + Objektgewicht überspringen + 개체 무게 무시 + Ignorer le poids de l'objet + Ignorar Peso do Objeto Determines whether object's weight is added onto weight calculations. 重量計算にオブジェクトの重量を追加するかどうかを決定します。 + Określa, czy waga obiektu jest dodawana do obliczeń ciężaru. + Legt fest, ob das Gewicht des Objekts zu den Gewichtsberechnungen hinzugefügt wird. + 무게 계산에 개체의 무게를 추가할 지 여부를 결정합니다. + Défini si le poids d'un objet est ajouté aux calculs du poids. + Determina se o peso do objeto é adicionado aos cálculos de peso. + + + Max Weight Coefficient + Coefficient de poids maximal + 최대 무게 계수 + Coeficiente Máximo de Peso + Maximaler Gewichtskoeffizient + 最大重量係数 + + + Modifies weight limit calculations. Set to 0 to ignore. + Modifie les calculs de limite de poids. Configurer à 0 pour ignorer. + 무게 제한 계산을 수정합니다. 무시하려면 0으로 설정하십시오. + Modifica os cálculos do limite de peso. Defina como 0 para ignorar. + Ändert die Berechnung der Gewichtsbegrenzung. Zum Ignorieren auf 0 setzen. + 重量制限の計算を変更します。 無視するには 0 に設定します。 diff --git a/addons/dragon/functions/fnc_attackProfile_DRAGON.sqf b/addons/dragon/functions/fnc_attackProfile_DRAGON.sqf index 352ed61cc3..58e3844c88 100644 --- a/addons/dragon/functions/fnc_attackProfile_DRAGON.sqf +++ b/addons/dragon/functions/fnc_attackProfile_DRAGON.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm (Code inspired by NouberNou's Dragon Guidance) * Attack profile: Dragon Guidance diff --git a/addons/dragon/functions/fnc_canPickupTripod.sqf b/addons/dragon/functions/fnc_canPickupTripod.sqf index 16fbfae913..3d556385e5 100644 --- a/addons/dragon/functions/fnc_canPickupTripod.sqf +++ b/addons/dragon/functions/fnc_canPickupTripod.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Determines if you can pick-up the Dragon missile. If the missile was fired you will not be able to pick up the tripod. diff --git a/addons/dragon/functions/fnc_onFired.sqf b/addons/dragon/functions/fnc_onFired.sqf index 49dd6584f8..4228f5dff0 100644 --- a/addons/dragon/functions/fnc_onFired.sqf +++ b/addons/dragon/functions/fnc_onFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Runs when Dragon is fired diff --git a/addons/dragon/functions/fnc_sightAttach.sqf b/addons/dragon/functions/fnc_sightAttach.sqf index 43e2fc2eaa..76ad9c3356 100644 --- a/addons/dragon/functions/fnc_sightAttach.sqf +++ b/addons/dragon/functions/fnc_sightAttach.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Attaches the sighting unit to the Dragon missile. diff --git a/addons/dragon/functions/fnc_sightCanAttach.sqf b/addons/dragon/functions/fnc_sightCanAttach.sqf index 7782e99fd0..cce96022b9 100644 --- a/addons/dragon/functions/fnc_sightCanAttach.sqf +++ b/addons/dragon/functions/fnc_sightCanAttach.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Determines if you can attach the sighting unit to the Dragon missile. diff --git a/addons/dragon/functions/fnc_sightCanDetach.sqf b/addons/dragon/functions/fnc_sightCanDetach.sqf index 77f672d101..14659230ed 100644 --- a/addons/dragon/functions/fnc_sightCanDetach.sqf +++ b/addons/dragon/functions/fnc_sightCanDetach.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Determines if you can attach the sighting unit to the Dragon missile. diff --git a/addons/dragon/functions/fnc_sightDetach.sqf b/addons/dragon/functions/fnc_sightDetach.sqf index ae84fa9698..c9d03e22e6 100644 --- a/addons/dragon/functions/fnc_sightDetach.sqf +++ b/addons/dragon/functions/fnc_sightDetach.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Attaches the sighting unit to the Dragon missile. diff --git a/addons/dragon/functions/script_component.hpp b/addons/dragon/functions/script_component.hpp deleted file mode 100644 index 1590d769e8..0000000000 --- a/addons/dragon/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\dragon\script_component.hpp" diff --git a/addons/explosives/ACE_Arsenal_Stats.hpp b/addons/explosives/ACE_Arsenal_Stats.hpp index cde27f3bde..821ac65bfd 100644 --- a/addons/explosives/ACE_Arsenal_Stats.hpp +++ b/addons/explosives/ACE_Arsenal_Stats.hpp @@ -6,8 +6,8 @@ class EGVAR(arsenal,stats) { stats[] = {QGVAR(Range)}; displayName = CSTRING(statExploRange); showText = 1; - textStatement = QUOTE(params [ARR_2('_stat', '_config')]; private _exploRangeStat = getNumber (_config >> _stat select 0); format [ARR_3('%1m (%2ft)', _exploRangeStat, (_exploRangeStat / 0.3048) toFixed 1)]); - condition = QUOTE(params [ARR_2('', '_config')]; (getNumber (_config >> QQGVAR(Detonator))) > 0); + textStatement = QUOTE(params [ARR_2('_stat','_config')]; private _exploRangeStat = getNumber (_config >> _stat select 0); format [ARR_3('%1m (%2ft)',_exploRangeStat,(_exploRangeStat / 0.3048) toFixed 1)]); + condition = QUOTE(params [ARR_2('','_config')]; (getNumber (_config >> QQGVAR(Detonator))) > 0); tabs[] = {{}, {7}}; }; }; diff --git a/addons/explosives/ACE_Triggers.hpp b/addons/explosives/ACE_Triggers.hpp index aab36121a0..27d63a736d 100644 --- a/addons/explosives/ACE_Triggers.hpp +++ b/addons/explosives/ACE_Triggers.hpp @@ -56,7 +56,7 @@ class ACE_Triggers { isAttachable = 1; displayName = CSTRING(timerName); picture = QPATHTOF(data\UI\Timer.paa); - onPlace = QUOTE([ARR_4(_this select 1, _this select 3 select 0, nil, _this select 0)] call FUNC(startTimer); false); + onPlace = QUOTE([ARR_4(_this select 1,_this select 3 select 0,nil,_this select 0)] call FUNC(startTimer); false); onSetup = QUOTE(_this call FUNC(openTimerUI)); }; class Tripwire { diff --git a/addons/explosives/CfgEventHandlers.hpp b/addons/explosives/CfgEventHandlers.hpp index 78da7be599..ae0e5fe541 100644 --- a/addons/explosives/CfgEventHandlers.hpp +++ b/addons/explosives/CfgEventHandlers.hpp @@ -28,7 +28,7 @@ class Extended_Take_EventHandlers { }; class Extended_Put_EventHandlers { class CAManBase { - GVAR(takeHandler) = QUOTE([ARR_3(_this select 1, _this select 0, _this select 2)] call FUNC(onInventoryChanged)); + GVAR(takeHandler) = QUOTE([ARR_3(_this select 1,_this select 0,_this select 2)] call FUNC(onInventoryChanged)); }; }; diff --git a/addons/explosives/CfgVehicles.hpp b/addons/explosives/CfgVehicles.hpp index 96889784b9..91a708beb8 100644 --- a/addons/explosives/CfgVehicles.hpp +++ b/addons/explosives/CfgVehicles.hpp @@ -11,7 +11,7 @@ class CfgVehicles { exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting"}; showDisabled = 1; icon = QPATHTOF(UI\Explosives_Menu_ca.paa); - insertChildren = QUOTE([_player] call FUNC(addTransmitterActions);); + insertChildren = QUOTE([_player] call FUNC(addTransmitterActions)); class ACE_Place { displayName = CSTRING(Place); statement = ""; @@ -49,7 +49,7 @@ class CfgVehicles { distance = 1; displayName = CSTRING(Defuse); condition = QUOTE([ARR_2(_player,_target)] call FUNC(canDefuse)); - statement = QUOTE([ARR_2(_player,_target)] call FUNC(startDefuse);); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(startDefuse)); exceptions[] = {"isNotSwimming"}; icon = QPATHTOF(UI\Defuse_ca.paa); }; @@ -87,7 +87,7 @@ class CfgVehicles { displayName = CSTRING(TriggerMenu); condition = "true"; statement = ""; - insertChildren = QUOTE([ARR_3(_target getVariable QUOTE(QGVAR(class)),_target,_player)] call FUNC(addTriggerActions);); + insertChildren = QUOTE([ARR_3(_target getVariable QUOTE(QGVAR(class)),_target,_player)] call FUNC(addTriggerActions)); showDisabled = 0; exceptions[] = {"isNotSwimming"}; icon = QPATHTOF(UI\Explosives_Menu_ca.paa); diff --git a/addons/explosives/ExplosivesUI.hpp b/addons/explosives/ExplosivesUI.hpp index 75f29afbfe..ef32c0c04b 100644 --- a/addons/explosives/ExplosivesUI.hpp +++ b/addons/explosives/ExplosivesUI.hpp @@ -142,7 +142,7 @@ class Rsc_ACE_PhoneInterface { w = "0.0309375 * safezoneW"; h = "0.033 * safezoneH"; tooltip = CSTRING(Phone_AddToSpeedDial); - action = QUOTE([ARR_2(ctrlText 1401,ctrlText 1400)] call FUNC(addToSpeedDial);); + action = QUOTE([ARR_2(ctrlText 1401,ctrlText 1400)] call FUNC(addToSpeedDial)); }; class clear: Rsc_ACE_HiddenButton { idc = 1610; @@ -160,7 +160,7 @@ class Rsc_ACE_PhoneInterface { w = "0.04125 * safezoneW"; h = "0.033 * safezoneH"; tooltip = CSTRING(Phone_Dial); - action = QUOTE([ARR_2(ace_player,ctrlText 1400)] call FUNC(dialPhone);); + action = QUOTE([ARR_2(ace_player,ctrlText 1400)] call FUNC(dialPhone)); }; class up: Rsc_ACE_HiddenButton { idc = 1612; diff --git a/addons/explosives/GUI_VirtualAmmo.hpp b/addons/explosives/GUI_VirtualAmmo.hpp index ba288f019b..ace807dc44 100644 --- a/addons/explosives/GUI_VirtualAmmo.hpp +++ b/addons/explosives/GUI_VirtualAmmo.hpp @@ -5,7 +5,7 @@ class RscTitles { duration = 9999999; fadein = 0; fadeout = 0; - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(virtualAmmoDisplay), _this select 0)]); + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(virtualAmmoDisplay),_this select 0)]); class controls {}; class objects { class TheObject { diff --git a/addons/explosives/TimerDialog.hpp b/addons/explosives/TimerDialog.hpp index 50ee0086bc..5bc4954fbf 100644 --- a/addons/explosives/TimerDialog.hpp +++ b/addons/explosives/TimerDialog.hpp @@ -2,7 +2,7 @@ class GVAR(timerUI) { idd = -1; movingEnable = 1; enableSimulation = 1; - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(timerDisplay), _this select 0)]); + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(timerDisplay),_this select 0)]); class controlsBackground { class Header: RscText { idc = -1; diff --git a/addons/explosives/XEH_preInit.sqf b/addons/explosives/XEH_preInit.sqf index ff908106a7..6970d2b7f4 100644 --- a/addons/explosives/XEH_preInit.sqf +++ b/addons/explosives/XEH_preInit.sqf @@ -13,6 +13,6 @@ PREP_RECOMPILE_END; GVAR(detonationHandlers) = []; GVAR(excludedMines) = []; -GVAR(defusalKits) = call (uiNamespace getVariable QGVAR(defusalKits)); +GVAR(defusalKits) = keys (uiNamespace getVariable QGVAR(defusalKits)); ADDON = true; diff --git a/addons/explosives/XEH_preStart.sqf b/addons/explosives/XEH_preStart.sqf index c62a1e1d3c..4eb48f6388 100644 --- a/addons/explosives/XEH_preStart.sqf +++ b/addons/explosives/XEH_preStart.sqf @@ -3,4 +3,4 @@ #include "XEH_PREP.hpp" private _defusalKits = (QUOTE(getNumber (_x >> QQGVAR(defusalKit)) > 0) configClasses (configFile >> "CfgWeapons") apply {configName _x}); -uiNamespace setVariable [QGVAR(defusalKits), compileFinal str _defusalKits]; +uiNamespace setVariable [QGVAR(defusalKits), compileFinal (_defusalKits createHashMapFromArray [])]; diff --git a/addons/explosives/dev/test_magazines.sqf b/addons/explosives/dev/test_magazines.sqf new file mode 100644 index 0000000000..ca9744f08d --- /dev/null +++ b/addons/explosives/dev/test_magazines.sqf @@ -0,0 +1,24 @@ +#include "..\script_component.hpp" +// call compileScript ["z\ace\addons\explosives\dev\test_magazines.sqf"]; + +INFO("--- Checking Explosive Mags ---"); + +private _explosivesMags = compatibleMagazines "Put"; +private _setupHash = createHashMap; +{ + private _mag = _x; + private _cfg = configFile >> "CfgMagazines" >> _mag; + private _scope = getNumber (_cfg >> "scope"); + + private _setupObject = getText (_cfg >> QGVAR(SetupObject)); + if (_setupObject == "") then { + WARNING_2("[%1](scope %2) has no setupObject",_mag,_scope); + continue + }; + if (!isClass (configFile >> "CfgVehicles" >> _setupObject)) then { + ERROR_2("[%1](scope %2) has invalid setup object",_mag,_scope); + }; + if ((((_setupHash getOrDefault [_setupObject, [], true]) pushBack _mag) > 0)) then { + INFO_2("[%1] setupObject has multiple mags %2",_setupObject,_setupHash get _setupObject); + }; +} forEach _explosivesMags; diff --git a/addons/explosives/functions/fnc_addCellphoneIED.sqf b/addons/explosives/functions/fnc_addCellphoneIED.sqf index d9ae19892c..2ac69b73ae 100644 --- a/addons/explosives/functions/fnc_addCellphoneIED.sqf +++ b/addons/explosives/functions/fnc_addCellphoneIED.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Adds an IED to the cellphone list diff --git a/addons/explosives/functions/fnc_addClacker.sqf b/addons/explosives/functions/fnc_addClacker.sqf index 6b48980d54..2292bfcb79 100644 --- a/addons/explosives/functions/fnc_addClacker.sqf +++ b/addons/explosives/functions/fnc_addClacker.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Adds an explosive as a clacker item to the passed unit if the unit has the required item. diff --git a/addons/explosives/functions/fnc_addDetonateActions.sqf b/addons/explosives/functions/fnc_addDetonateActions.sqf index f1dff4fc9f..c353f973c3 100644 --- a/addons/explosives/functions/fnc_addDetonateActions.sqf +++ b/addons/explosives/functions/fnc_addDetonateActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Opens the UI for explosive detonation selection diff --git a/addons/explosives/functions/fnc_addDetonateHandler.sqf b/addons/explosives/functions/fnc_addDetonateHandler.sqf index 1345a73370..5ca0d924b5 100644 --- a/addons/explosives/functions/fnc_addDetonateHandler.sqf +++ b/addons/explosives/functions/fnc_addDetonateHandler.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Add a explosive detonation handler. diff --git a/addons/explosives/functions/fnc_addExplosiveActions.sqf b/addons/explosives/functions/fnc_addExplosiveActions.sqf index 281aebf048..480ecd2701 100644 --- a/addons/explosives/functions/fnc_addExplosiveActions.sqf +++ b/addons/explosives/functions/fnc_addExplosiveActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, CAA-Picard, mharis001 * Returns children actions for explosive magazines in the player's inventory. diff --git a/addons/explosives/functions/fnc_addToSpeedDial.sqf b/addons/explosives/functions/fnc_addToSpeedDial.sqf index 5b7d828d53..4ccc23696e 100644 --- a/addons/explosives/functions/fnc_addToSpeedDial.sqf +++ b/addons/explosives/functions/fnc_addToSpeedDial.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Sets the speed dial for the UI. diff --git a/addons/explosives/functions/fnc_addTransmitterActions.sqf b/addons/explosives/functions/fnc_addTransmitterActions.sqf index d39b9fd731..043c9db661 100644 --- a/addons/explosives/functions/fnc_addTransmitterActions.sqf +++ b/addons/explosives/functions/fnc_addTransmitterActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Opens the UI for selecting the transmitter diff --git a/addons/explosives/functions/fnc_addTriggerActions.sqf b/addons/explosives/functions/fnc_addTriggerActions.sqf index 6e534a19ae..d3632d5bb7 100644 --- a/addons/explosives/functions/fnc_addTriggerActions.sqf +++ b/addons/explosives/functions/fnc_addTriggerActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Opens the UI for explosive trigger selection diff --git a/addons/explosives/functions/fnc_allowDefuse.sqf b/addons/explosives/functions/fnc_allowDefuse.sqf index 15042e4ca5..1a7a399d13 100644 --- a/addons/explosives/functions/fnc_allowDefuse.sqf +++ b/addons/explosives/functions/fnc_allowDefuse.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Walthzer * Sets if a dynamic defuse action is allowed to be added to a mine. diff --git a/addons/explosives/functions/fnc_canDefuse.sqf b/addons/explosives/functions/fnc_canDefuse.sqf index f394217125..0edb98cff5 100644 --- a/addons/explosives/functions/fnc_canDefuse.sqf +++ b/addons/explosives/functions/fnc_canDefuse.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Whether a unit can perform the defuse action diff --git a/addons/explosives/functions/fnc_canDetonate.sqf b/addons/explosives/functions/fnc_canDetonate.sqf index a81103ce13..7c1112a69f 100644 --- a/addons/explosives/functions/fnc_canDetonate.sqf +++ b/addons/explosives/functions/fnc_canDetonate.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Whether the unit is able to detonate explosives diff --git a/addons/explosives/functions/fnc_cancelPlacement.sqf b/addons/explosives/functions/fnc_cancelPlacement.sqf index eaefcfcc07..99ce808615 100644 --- a/addons/explosives/functions/fnc_cancelPlacement.sqf +++ b/addons/explosives/functions/fnc_cancelPlacement.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Cancels explosives placement. diff --git a/addons/explosives/functions/fnc_checkDetonateHandlers.sqf b/addons/explosives/functions/fnc_checkDetonateHandlers.sqf index bd3eff7586..f056db7800 100644 --- a/addons/explosives/functions/fnc_checkDetonateHandlers.sqf +++ b/addons/explosives/functions/fnc_checkDetonateHandlers.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, Whigital * Check if there is a handler blocking detonation diff --git a/addons/explosives/functions/fnc_connectExplosive.sqf b/addons/explosives/functions/fnc_connectExplosive.sqf index 964966f224..df52ee8fad 100644 --- a/addons/explosives/functions/fnc_connectExplosive.sqf +++ b/addons/explosives/functions/fnc_connectExplosive.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: VKing * Add preplaced explosives to a unit's detonator. diff --git a/addons/explosives/functions/fnc_defuseExplosive.sqf b/addons/explosives/functions/fnc_defuseExplosive.sqf index 24f74a580e..049fff8846 100644 --- a/addons/explosives/functions/fnc_defuseExplosive.sqf +++ b/addons/explosives/functions/fnc_defuseExplosive.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Causes the unit to defuse the passed explosive. diff --git a/addons/explosives/functions/fnc_detonateExplosive.sqf b/addons/explosives/functions/fnc_detonateExplosive.sqf index 2e84b66195..5e276745b5 100644 --- a/addons/explosives/functions/fnc_detonateExplosive.sqf +++ b/addons/explosives/functions/fnc_detonateExplosive.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Causes the unit to detonate the passed explosive. diff --git a/addons/explosives/functions/fnc_detonateExplosiveAll.sqf b/addons/explosives/functions/fnc_detonateExplosiveAll.sqf index f99e308423..356d4c4e6e 100644 --- a/addons/explosives/functions/fnc_detonateExplosiveAll.sqf +++ b/addons/explosives/functions/fnc_detonateExplosiveAll.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: VKing * Causes the unit to detonate all passed explosives. diff --git a/addons/explosives/functions/fnc_dialPhone.sqf b/addons/explosives/functions/fnc_dialPhone.sqf index a081abb1f1..860f7ddfde 100644 --- a/addons/explosives/functions/fnc_dialPhone.sqf +++ b/addons/explosives/functions/fnc_dialPhone.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Dials the number passed and detonates the explosive. diff --git a/addons/explosives/functions/fnc_dialingPhone.sqf b/addons/explosives/functions/fnc_dialingPhone.sqf index a4c2f59f48..40b7bb21c5 100644 --- a/addons/explosives/functions/fnc_dialingPhone.sqf +++ b/addons/explosives/functions/fnc_dialingPhone.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Performs the dial tones and detonation of explosive. @@ -13,7 +13,7 @@ * None * * Example: - * [FUNC(dialingPhone), 0.25, [_unit,4,_arr,_code]] call CALLSTACK(CBA_fnc_addPerFrameHandler); + * [ace_explosives_fnc_dialingPhone, 0.25, [_unit,4,_arr,_code]] call CBA_fnc_addPerFrameHandler; * * Public: No */ diff --git a/addons/explosives/functions/fnc_getDetonators.sqf b/addons/explosives/functions/fnc_getDetonators.sqf index 3c4d3085ce..de1f711e86 100644 --- a/addons/explosives/functions/fnc_getDetonators.sqf +++ b/addons/explosives/functions/fnc_getDetonators.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, mharis001 * Returns all detonators the given unit has. diff --git a/addons/explosives/functions/fnc_getPlacedExplosives.sqf b/addons/explosives/functions/fnc_getPlacedExplosives.sqf index 8b1135717d..867bae2275 100644 --- a/addons/explosives/functions/fnc_getPlacedExplosives.sqf +++ b/addons/explosives/functions/fnc_getPlacedExplosives.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Gets all placed explosives by unit, optionally filtered by specific trigger type. diff --git a/addons/explosives/functions/fnc_getSpeedDialExplosive.sqf b/addons/explosives/functions/fnc_getSpeedDialExplosive.sqf index 84e2ab6ad8..8490eab452 100644 --- a/addons/explosives/functions/fnc_getSpeedDialExplosive.sqf +++ b/addons/explosives/functions/fnc_getSpeedDialExplosive.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Gets the explosive from the speed dial entry. diff --git a/addons/explosives/functions/fnc_handleScrollWheel.sqf b/addons/explosives/functions/fnc_handleScrollWheel.sqf index 674769a496..019fb3c962 100644 --- a/addons/explosives/functions/fnc_handleScrollWheel.sqf +++ b/addons/explosives/functions/fnc_handleScrollWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Handles rotating of Explosives diff --git a/addons/explosives/functions/fnc_hasExplosives.sqf b/addons/explosives/functions/fnc_hasExplosives.sqf index 0c824a87b2..0121eb515d 100644 --- a/addons/explosives/functions/fnc_hasExplosives.sqf +++ b/addons/explosives/functions/fnc_hasExplosives.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, mharis001 * Checks if given unit has any placeable explosives on them. diff --git a/addons/explosives/functions/fnc_hasPlacedExplosives.sqf b/addons/explosives/functions/fnc_hasPlacedExplosives.sqf index 3bb3f03340..c697afb371 100644 --- a/addons/explosives/functions/fnc_hasPlacedExplosives.sqf +++ b/addons/explosives/functions/fnc_hasPlacedExplosives.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Whether the passed unit has placed any explosives or has a clacker that was used when explosives were placed. diff --git a/addons/explosives/functions/fnc_interactEH.sqf b/addons/explosives/functions/fnc_interactEH.sqf index 334c3d2722..194dc7414b 100644 --- a/addons/explosives/functions/fnc_interactEH.sqf +++ b/addons/explosives/functions/fnc_interactEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, mharis001 * Dynamically adds "Defuse" actions to nearby mines when interact_menu is opened. diff --git a/addons/explosives/functions/fnc_isAllowedDefuse.sqf b/addons/explosives/functions/fnc_isAllowedDefuse.sqf index 2d2846d27c..7fa24cf077 100644 --- a/addons/explosives/functions/fnc_isAllowedDefuse.sqf +++ b/addons/explosives/functions/fnc_isAllowedDefuse.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Walthzer * Check if a mine is allowed to recieve a dynamic defuse action. diff --git a/addons/explosives/functions/fnc_module.sqf b/addons/explosives/functions/fnc_module.sqf index 6fa61b401a..c1a9273e61 100644 --- a/addons/explosives/functions/fnc_module.sqf +++ b/addons/explosives/functions/fnc_module.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Initialises the explosives module diff --git a/addons/explosives/functions/fnc_onIncapacitated.sqf b/addons/explosives/functions/fnc_onIncapacitated.sqf index 74d99d2faa..09d1d7b21f 100644 --- a/addons/explosives/functions/fnc_onIncapacitated.sqf +++ b/addons/explosives/functions/fnc_onIncapacitated.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Detonates all attached deadman's switched triggered explosives. diff --git a/addons/explosives/functions/fnc_onInventoryChanged.sqf b/addons/explosives/functions/fnc_onInventoryChanged.sqf index 874ae3394f..7cf01c2a14 100644 --- a/addons/explosives/functions/fnc_onInventoryChanged.sqf +++ b/addons/explosives/functions/fnc_onInventoryChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * When a take/put event handler fires and a detonator is changed hands. diff --git a/addons/explosives/functions/fnc_openTimerUI.sqf b/addons/explosives/functions/fnc_openTimerUI.sqf index 7844f6da04..0a490a096d 100644 --- a/addons/explosives/functions/fnc_openTimerUI.sqf +++ b/addons/explosives/functions/fnc_openTimerUI.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Opens the Explosive Timer UI for given explosive. diff --git a/addons/explosives/functions/fnc_placeExplosive.sqf b/addons/explosives/functions/fnc_placeExplosive.sqf index df8f3ab89c..ec19a6f6fd 100644 --- a/addons/explosives/functions/fnc_placeExplosive.sqf +++ b/addons/explosives/functions/fnc_placeExplosive.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Places an explosive at the requested position. diff --git a/addons/explosives/functions/fnc_removeFromSpeedDial.sqf b/addons/explosives/functions/fnc_removeFromSpeedDial.sqf index 998bc492d0..39319bc3c5 100644 --- a/addons/explosives/functions/fnc_removeFromSpeedDial.sqf +++ b/addons/explosives/functions/fnc_removeFromSpeedDial.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Removes the specified speed dial from unit's speed dial. diff --git a/addons/explosives/functions/fnc_scriptedExplosive.sqf b/addons/explosives/functions/fnc_scriptedExplosive.sqf index 6b4aedd6a3..d070517079 100644 --- a/addons/explosives/functions/fnc_scriptedExplosive.sqf +++ b/addons/explosives/functions/fnc_scriptedExplosive.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: VKing * Detonate explosives via script, for use in triggers or mission scripts to detonate editor-placed explosives. diff --git a/addons/explosives/functions/fnc_selectTrigger.sqf b/addons/explosives/functions/fnc_selectTrigger.sqf index 549754aab2..ef9b686d25 100644 --- a/addons/explosives/functions/fnc_selectTrigger.sqf +++ b/addons/explosives/functions/fnc_selectTrigger.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Selects a trigger for an explosive. diff --git a/addons/explosives/functions/fnc_setPosition.sqf b/addons/explosives/functions/fnc_setPosition.sqf index 7d4235b8d2..a97eb9f462 100644 --- a/addons/explosives/functions/fnc_setPosition.sqf +++ b/addons/explosives/functions/fnc_setPosition.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Sets the Dir and pitch of passed object diff --git a/addons/explosives/functions/fnc_setSpeedDial.sqf b/addons/explosives/functions/fnc_setSpeedDial.sqf index 7d836015a4..be50753b09 100644 --- a/addons/explosives/functions/fnc_setSpeedDial.sqf +++ b/addons/explosives/functions/fnc_setSpeedDial.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Sets the speed dial for the UI. diff --git a/addons/explosives/functions/fnc_setupExplosive.sqf b/addons/explosives/functions/fnc_setupExplosive.sqf index 5880bc75fe..423e8932c3 100644 --- a/addons/explosives/functions/fnc_setupExplosive.sqf +++ b/addons/explosives/functions/fnc_setupExplosive.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Starts the setup process for the passed explosive. Player only. diff --git a/addons/explosives/functions/fnc_spawnFlare.sqf b/addons/explosives/functions/fnc_spawnFlare.sqf index 5c6038c2e2..7730ed39a9 100644 --- a/addons/explosives/functions/fnc_spawnFlare.sqf +++ b/addons/explosives/functions/fnc_spawnFlare.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: VKing * Spawns a flare on the ground for tripflare trigger diff --git a/addons/explosives/functions/fnc_startDefuse.sqf b/addons/explosives/functions/fnc_startDefuse.sqf index 96b3b3eac2..e023592547 100644 --- a/addons/explosives/functions/fnc_startDefuse.sqf +++ b/addons/explosives/functions/fnc_startDefuse.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Starts defusing an explosive diff --git a/addons/explosives/functions/fnc_startTimer.sqf b/addons/explosives/functions/fnc_startTimer.sqf index 2b0a395b35..a4829a0ebd 100644 --- a/addons/explosives/functions/fnc_startTimer.sqf +++ b/addons/explosives/functions/fnc_startTimer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Starts a timer for an explosive. diff --git a/addons/explosives/functions/fnc_triggerType.sqf b/addons/explosives/functions/fnc_triggerType.sqf index 6bcbf775d3..0fba459491 100644 --- a/addons/explosives/functions/fnc_triggerType.sqf +++ b/addons/explosives/functions/fnc_triggerType.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Gets the types of triggers associated with the explosive diff --git a/addons/explosives/functions/script_component.hpp b/addons/explosives/functions/script_component.hpp deleted file mode 100644 index 438330c587..0000000000 --- a/addons/explosives/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\explosives\script_component.hpp" diff --git a/addons/explosives/stringtable.xml b/addons/explosives/stringtable.xml index c38c226d17..f648d1b5e4 100644 --- a/addons/explosives/stringtable.xml +++ b/addons/explosives/stringtable.xml @@ -249,7 +249,7 @@ M57 Dispositivo de Detonação Взрыватель M57 M57 起爆装置 - M57 격발기 + 격발기 (M57) M57 引爆装置 M57 引爆裝置 M57 Ateşleme Cihazı @@ -283,7 +283,7 @@ M152 Dispositivo de Detonação Взрыватель M152 M152 起爆装置 - M152 격발기 + 격발기 (M152) M152 引爆装置 M152 引爆裝置 M152 Ateşleme Cihazı @@ -504,7 +504,7 @@ Desarmando Explosivo... Обезвреживание... 爆発物を無力化しています・・・ - 폭발물 해체중... + 폭발물 해체 중... 正在拆除爆炸物... 炸彈拆除中... Patlayıcı Imha Ediliyor... @@ -840,7 +840,7 @@ Увеличивать время завершения действий для не-специалистов? По умолчанию: Нет Aumenta il tempo richiesto per completare azioni per non-specialisti? Default: Si 非特技兵は動作完了までの時間を増加させますか? 標準: 有効化 - 비전문가가 폭발물을 해제시 더욱 많은 시간을 소요합니까? 기본설정: 예 + 비전문가가 폭발물을 해제 시 더욱 많은 시간을 소요합니까? 기본설정: 예 增加非专业人员相关操作的时间? 预设:是 增加非專業人員相關操作的時間? 預設: 是 @@ -933,7 +933,7 @@ IED Grande (Urbano, Placa de pressão) Большое СВУ (городское, нажимного действия) 大きな IED (市街地用、圧力感知) - 대형 급조폭발물 (시가지, 압력식) + 급조폭발물 (대형, 시가지, 압력식) 大型 IED(地表上,压力盘) 大型簡易爆炸裝置 (地表上, 壓力盤) @@ -948,7 +948,7 @@ IED Grande (Enterrado, Placa de pressão) Большое СВУ (закопанное, нажимного действия) 大きな IED (埋め込み型、圧力感知) - 대형 급조폭발물 (묻힘, 압력식) + 급조폭발물 (대형, 묻힘, 압력식) 大型 IED(地表下,压力盘) 大型簡易爆炸裝置 (地表下, 壓力盤) @@ -963,7 +963,7 @@ IED Pequeno(Urbano, Placa de pressão) Малое СВУ (городское, нажимного действия) 小さな IED (市街地用、圧力感知) - 소형 급조폭발물 (시가지, 압력식) + 급조폭발물 (소형, 시가지, 압력식) 小型 IED(地表上,压力盘) 小型簡易爆炸裝置 (地表上, 壓力盤) @@ -978,7 +978,7 @@ IED Pequeno (Enterrado, Placa de pressão) Малое СВУ (закопанное, нажимного действия) 小さな IED (埋め込み型、圧力感知) - 소형 급조폭발물 (묻힘, 압력식) + 급조폭발물 (소형, 묻힘, 압력식) 小型 IED(地表下,压力盘) 小型簡易爆炸裝置 (地表下, 壓力盤) @@ -994,7 +994,7 @@ Collega a %1 Conectar à %1 %1 へ接続 - %1에 연결중 + %1에 연결 중 连接到%1 連接到%1 Bağlandı %1 @@ -1074,6 +1074,7 @@ Сапёр ¿Es EOD? 폭발물 처리반 + É EOD Controls whether the unit is an explosive specialist. @@ -1088,6 +1089,7 @@ Определяет, является ли юнит сапёром. Controla si la unidad es un especialista en explosivos 유닛이 폭발물 처리반인지 결정합니다 + Controla se a unidade é um especialista em explosivos. Minimum Time @@ -1099,6 +1101,7 @@ Minimale Zeit 最短时间 최소 시간 + Tempo Mínimo Maximum Time @@ -1110,6 +1113,7 @@ Maximale Zeit 最长时间 최대 시간 + Tempo Máximo Default Time @@ -1121,6 +1125,7 @@ Standardmäßige Zeit 默认时间 기본 시간 + Tempo Padrão Minimum time value (in seconds) for the explosive timer. @@ -1132,6 +1137,7 @@ Minimale Zeit (in Sekunden) für den Zeitzünder. 定时爆炸的最短时间(单位:秒) 초 단위로, 폭발 타이머의 최소 시간을 정합니다 + Tempo mínimo (em segundos) para o temporizador do explosivo. Maximum time value (in seconds) for the explosive timer. @@ -1143,6 +1149,7 @@ Maximale Zeit (in Sekunden) für den Zeitzünder. 定时爆炸的最长时间(单位:秒) 초 단위로, 폭발 타이머의 최대 시간을 정합니다 + Tempo máximo (em segundos) para o temporizador do explosivo. Default time value (in seconds) for the explosive timer. @@ -1154,6 +1161,7 @@ Standardmäßige Zeit (in Sekunden) für den Zeitzünder. 定时爆炸的默认时间(单位:秒) 초 단위로, 기본 폭발 타이머 시간을 정합니다 + Tempo padrão (em segundos) para o temporizador do explosivo. diff --git a/addons/fastroping/CfgVehicles.hpp b/addons/fastroping/CfgVehicles.hpp index 710f70f94e..ef2483e05b 100644 --- a/addons/fastroping/CfgVehicles.hpp +++ b/addons/fastroping/CfgVehicles.hpp @@ -83,8 +83,8 @@ class CfgVehicles { }; class ACE_fastRope { displayName = CSTRING(Interaction_fastRope); - condition = QUOTE([ARR_2(_player, _target)] call FUNC(canFastRope)); - statement = QUOTE([ARR_2(_player, _target)] call FUNC(fastRope)); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canFastRope)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(fastRope)); }; }; }; diff --git a/addons/fastroping/functions/fnc_canCloseRamp.sqf b/addons/fastroping/functions/fnc_canCloseRamp.sqf index 969d719796..9416bb51ea 100644 --- a/addons/fastroping/functions/fnc_canCloseRamp.sqf +++ b/addons/fastroping/functions/fnc_canCloseRamp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if the player can close the ramp of the given helo. diff --git a/addons/fastroping/functions/fnc_canCutRopes.sqf b/addons/fastroping/functions/fnc_canCutRopes.sqf index f65f2ef89a..922cafbaa6 100644 --- a/addons/fastroping/functions/fnc_canCutRopes.sqf +++ b/addons/fastroping/functions/fnc_canCutRopes.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if the unit can cut deployed ropes. diff --git a/addons/fastroping/functions/fnc_canDeployRopes.sqf b/addons/fastroping/functions/fnc_canDeployRopes.sqf index 4338ac0130..a27db7f1b3 100644 --- a/addons/fastroping/functions/fnc_canDeployRopes.sqf +++ b/addons/fastroping/functions/fnc_canDeployRopes.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if the unit can deploy ropes from the helicopter. diff --git a/addons/fastroping/functions/fnc_canFastRope.sqf b/addons/fastroping/functions/fnc_canFastRope.sqf index a071160821..e5e4513d46 100644 --- a/addons/fastroping/functions/fnc_canFastRope.sqf +++ b/addons/fastroping/functions/fnc_canFastRope.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if the unit can fast rope from the helicopter. diff --git a/addons/fastroping/functions/fnc_canPrepareFRIES.sqf b/addons/fastroping/functions/fnc_canPrepareFRIES.sqf index b6068f5341..c5ac466729 100644 --- a/addons/fastroping/functions/fnc_canPrepareFRIES.sqf +++ b/addons/fastroping/functions/fnc_canPrepareFRIES.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if the unit can prepare the helicopters FRIES. diff --git a/addons/fastroping/functions/fnc_canStowFRIES.sqf b/addons/fastroping/functions/fnc_canStowFRIES.sqf index 462799eb01..7036d142c8 100644 --- a/addons/fastroping/functions/fnc_canStowFRIES.sqf +++ b/addons/fastroping/functions/fnc_canStowFRIES.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if the unit can stow the helicopters FRIES. diff --git a/addons/fastroping/functions/fnc_cutRopes.sqf b/addons/fastroping/functions/fnc_cutRopes.sqf index f17d08dc18..cbd01b5661 100644 --- a/addons/fastroping/functions/fnc_cutRopes.sqf +++ b/addons/fastroping/functions/fnc_cutRopes.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Cut deployed ropes. diff --git a/addons/fastroping/functions/fnc_deployAI.sqf b/addons/fastroping/functions/fnc_deployAI.sqf index d1546aad63..01aa363afb 100644 --- a/addons/fastroping/functions/fnc_deployAI.sqf +++ b/addons/fastroping/functions/fnc_deployAI.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Auomatically deploy a helicopter filled with AI units. diff --git a/addons/fastroping/functions/fnc_deployAIWaypoint.sqf b/addons/fastroping/functions/fnc_deployAIWaypoint.sqf index 4ca5164a6e..83bd8a34cf 100644 --- a/addons/fastroping/functions/fnc_deployAIWaypoint.sqf +++ b/addons/fastroping/functions/fnc_deployAIWaypoint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Waypoint function for the fast rope waypoint. diff --git a/addons/fastroping/functions/fnc_deployRopes.sqf b/addons/fastroping/functions/fnc_deployRopes.sqf index d6f3afbf98..71cfbbbc21 100644 --- a/addons/fastroping/functions/fnc_deployRopes.sqf +++ b/addons/fastroping/functions/fnc_deployRopes.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Deploy ropes from the helicopter. diff --git a/addons/fastroping/functions/fnc_equipFRIES.sqf b/addons/fastroping/functions/fnc_equipFRIES.sqf index 39b9e881b5..615840cb75 100644 --- a/addons/fastroping/functions/fnc_equipFRIES.sqf +++ b/addons/fastroping/functions/fnc_equipFRIES.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Equips the given helicopter with a FRIES. diff --git a/addons/fastroping/functions/fnc_fastRope.sqf b/addons/fastroping/functions/fnc_fastRope.sqf index 39f7cc38c9..80be870553 100644 --- a/addons/fastroping/functions/fnc_fastRope.sqf +++ b/addons/fastroping/functions/fnc_fastRope.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Lets the unit fast rope. diff --git a/addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf b/addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf index c46e919bc5..92d23715b0 100644 --- a/addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf +++ b/addons/fastroping/functions/fnc_fastRopeLocalPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Local PerFrameHandler during fast roping. diff --git a/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf b/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf index 9eb3ae4e4e..c3b7fe1ea4 100644 --- a/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf +++ b/addons/fastroping/functions/fnc_fastRopeServerPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Server PerFrameHandler during fast roping. diff --git a/addons/fastroping/functions/fnc_moduleEquipFRIES.sqf b/addons/fastroping/functions/fnc_moduleEquipFRIES.sqf index 33975168a6..970194ab63 100644 --- a/addons/fastroping/functions/fnc_moduleEquipFRIES.sqf +++ b/addons/fastroping/functions/fnc_moduleEquipFRIES.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Equips synched helicopters with a FRIES. diff --git a/addons/fastroping/functions/fnc_onCutCommon.sqf b/addons/fastroping/functions/fnc_onCutCommon.sqf index c6daaa7c35..e9209e4fa1 100644 --- a/addons/fastroping/functions/fnc_onCutCommon.sqf +++ b/addons/fastroping/functions/fnc_onCutCommon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Function for closing doors and retracting the hook for most vanilla and older Arma helos. diff --git a/addons/fastroping/functions/fnc_onPrepareCommon.sqf b/addons/fastroping/functions/fnc_onPrepareCommon.sqf index 362d04c120..93501ccf40 100644 --- a/addons/fastroping/functions/fnc_onPrepareCommon.sqf +++ b/addons/fastroping/functions/fnc_onPrepareCommon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Function for opening doors and extending the hook for most vanilla and older Arma helos. diff --git a/addons/fastroping/functions/fnc_onRopeBreak.sqf b/addons/fastroping/functions/fnc_onRopeBreak.sqf index 9c089f5c91..de9c49b6b8 100644 --- a/addons/fastroping/functions/fnc_onRopeBreak.sqf +++ b/addons/fastroping/functions/fnc_onRopeBreak.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles ropes breaking when deployed. diff --git a/addons/fastroping/functions/fnc_prepareFRIES.sqf b/addons/fastroping/functions/fnc_prepareFRIES.sqf index 9f1c1b941a..0eb4bffcf8 100644 --- a/addons/fastroping/functions/fnc_prepareFRIES.sqf +++ b/addons/fastroping/functions/fnc_prepareFRIES.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Prepares the helicopters FRIES. diff --git a/addons/fastroping/functions/fnc_stowFRIES.sqf b/addons/fastroping/functions/fnc_stowFRIES.sqf index 297cb925d1..9ad54796bd 100644 --- a/addons/fastroping/functions/fnc_stowFRIES.sqf +++ b/addons/fastroping/functions/fnc_stowFRIES.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Stows the helicopters FRIES. diff --git a/addons/fastroping/functions/fnc_unequipFRIES.sqf b/addons/fastroping/functions/fnc_unequipFRIES.sqf index 540ebb2f3f..8483322cef 100644 --- a/addons/fastroping/functions/fnc_unequipFRIES.sqf +++ b/addons/fastroping/functions/fnc_unequipFRIES.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Removes FRIES from helicopter. diff --git a/addons/fastroping/functions/script_component.hpp b/addons/fastroping/functions/script_component.hpp deleted file mode 100644 index 00e1b5bb76..0000000000 --- a/addons/fastroping/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\fastroping\script_component.hpp" diff --git a/addons/fastroping/stringtable.xml b/addons/fastroping/stringtable.xml index b88decf9ff..709c80f6bd 100644 --- a/addons/fastroping/stringtable.xml +++ b/addons/fastroping/stringtable.xml @@ -162,7 +162,7 @@ Déployer les cordes de 3 m Wysuń linę o długości 3 m. Выпустить 3 м канат - Jogar cordar (3m) + Jogar cordas (3m) Dispiegamento corde 3m Připravit 3m lana 3m halat sal @@ -178,7 +178,7 @@ Déployer les cordes de 6 m Wysuń linę o długości 6 m. Выпустить 6 м канат - Jogar cordar (6m) + Jogar cordas (6m) Dispiegamento corde 6m Připravit 6m lana 6m halat sal @@ -195,7 +195,7 @@ 12m ロープを展開 Wysuń linę o długości 12 m. Выпустить 12 м канат - Jogar cordar (12m) + Jogar cordas (12m) 部屬12公尺長之繩索 部署12米长的绳索 Dispiegamento corde 12m @@ -211,7 +211,7 @@ 15m ロープを展開 Wysuń linę o długości 15 m. Выпустить 15 м канат - Jogar cordar (15m) + Jogar cordas (15m) 部屬15公尺長之繩索 部署15米长的绳索 Dispiegamento corde 15m @@ -227,7 +227,7 @@ 18m ロープを展開 Wysuń linę o długości 18 m. Выпустить 18 м канат - Jogar cordar (18m) + Jogar cordas (18m) 部屬18公尺長之繩索 部署18米长的绳索 Dispiegamento corde 18m @@ -243,7 +243,7 @@ 27m ロープを展開 Wysuń linę o długości 27 m. Выпустить 27 м канат - Jogar cordar (27m) + Jogar cordas (27m) 部屬27公尺長之繩索 部署27米长的绳索 Dispiegamento corde 27m @@ -259,7 +259,7 @@ 36m ロープを展開 Wysuń linę o długości 36 m. Выпустить 36 м канат - Jogar cordar (36m) + Jogar cordas (36m) 部屬36公尺長之繩索 部署36米长的绳索 Dispiegamento corde 36m @@ -318,11 +318,19 @@ Auto-Equip FRIES Automatycznie Zamontuj FRIES FRIESの自動装備 + FRIES automatisch ausrüsten + FRIES 로프 자동 장착 + Equipement automatique FRIES + Auto-equipar FRIES Automatically add FRIES to helicopters that support them. Automatycznie dodawaj FRIES do śmigłowców które je wspierają. FRIESをサポートするヘリコプターに自動的にFRIESを追加します。 + FRIES automatisch Helikoptern hinzufügen, die es unterstützen + 로프를 지원하는 헬기에 자동으로 FRIES 로프를 추가합니다. + Ajoute automatiquement des FRIES aux hélicoptères qui les supportent. + Adiciona automaticamente FRIES a helicópteros que os suportam. diff --git a/addons/fcs/ACE_UI.hpp b/addons/fcs/ACE_UI.hpp index c285248b83..98f4073122 100644 --- a/addons/fcs/ACE_UI.hpp +++ b/addons/fcs/ACE_UI.hpp @@ -1,7 +1,7 @@ class ACE_UI { class gunnerZeroing { class conditions { - ADDON = QUOTE(getNumber ([ARR_2(vehicle ACE_player, ACE_player call CBA_fnc_turretPath)] call CBA_fnc_getTurret >> 'ace_fcs_enabled') != 1); + ADDON = QUOTE(getNumber ([ARR_2(vehicle ACE_player,ACE_player call CBA_fnc_turretPath)] call CBA_fnc_getTurret >> 'ace_fcs_enabled') != 1); }; }; }; diff --git a/addons/fcs/CfgVehicles.hpp b/addons/fcs/CfgVehicles.hpp index 8461fcc05a..a8b9660393 100644 --- a/addons/fcs/CfgVehicles.hpp +++ b/addons/fcs/CfgVehicles.hpp @@ -27,7 +27,7 @@ class CfgVehicles { class ResetFCS { displayName = CSTRING(ResetFCS); condition = QUOTE(_player call FUNC(canResetFCS)); - statement = QUOTE([ARR_2(vehicle _player,[_player] call DEFUNC(common,getTurretIndex))] call DFUNC(reset);); + statement = QUOTE([ARR_2(vehicle _player,[_player] call DEFUNC(common,getTurretIndex))] call DFUNC(reset)); showDisabled = 0; icon = ""; }; @@ -39,7 +39,7 @@ class CfgVehicles { class ResetFCS { displayName = CSTRING(ResetFCS); condition = QUOTE(_player call FUNC(canResetFCS)); - statement = QUOTE([ARR_2(vehicle _player,[_player] call DEFUNC(common,getTurretIndex))] call DFUNC(reset);); + statement = QUOTE([ARR_2(vehicle _player,[_player] call DEFUNC(common,getTurretIndex))] call DFUNC(reset)); showDisabled = 0; icon = ""; }; diff --git a/addons/fcs/functions/fnc_adjustRange.sqf b/addons/fcs/functions/fnc_adjustRange.sqf index 30f9c86305..96cfa35364 100644 --- a/addons/fcs/functions/fnc_adjustRange.sqf +++ b/addons/fcs/functions/fnc_adjustRange.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Adjusts the currently zeroed distance. diff --git a/addons/fcs/functions/fnc_calculateSolution.sqf b/addons/fcs/functions/fnc_calculateSolution.sqf index 478b34f502..5800068e4b 100644 --- a/addons/fcs/functions/fnc_calculateSolution.sqf +++ b/addons/fcs/functions/fnc_calculateSolution.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: VKing * Calculate FCS solution diff --git a/addons/fcs/functions/fnc_canResetFCS.sqf b/addons/fcs/functions/fnc_canResetFCS.sqf index 21811d9fd3..95e6d09a7f 100644 --- a/addons/fcs/functions/fnc_canResetFCS.sqf +++ b/addons/fcs/functions/fnc_canResetFCS.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Called from config. Can player reset FCS? diff --git a/addons/fcs/functions/fnc_canUseFCS.sqf b/addons/fcs/functions/fnc_canUseFCS.sqf index a5a1543de9..4ebe28f3be 100644 --- a/addons/fcs/functions/fnc_canUseFCS.sqf +++ b/addons/fcs/functions/fnc_canUseFCS.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Called from config. Returns true if the player is a gunner and the players current vehicle has a FCS. diff --git a/addons/fcs/functions/fnc_canUseRangefinder.sqf b/addons/fcs/functions/fnc_canUseRangefinder.sqf index b558240363..ea9d65556e 100644 --- a/addons/fcs/functions/fnc_canUseRangefinder.sqf +++ b/addons/fcs/functions/fnc_canUseRangefinder.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns true if the laser distance measurement can be read from the engine. diff --git a/addons/fcs/functions/fnc_firedEH.sqf b/addons/fcs/functions/fnc_firedEH.sqf index e432944855..dedef1c74e 100644 --- a/addons/fcs/functions/fnc_firedEH.sqf +++ b/addons/fcs/functions/fnc_firedEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Adjusts the direction of a shell. Called from the unified fired EH only if the gunner is a player. diff --git a/addons/fcs/functions/fnc_getAngle.sqf b/addons/fcs/functions/fnc_getAngle.sqf index 05add960fb..9a856d46c9 100644 --- a/addons/fcs/functions/fnc_getAngle.sqf +++ b/addons/fcs/functions/fnc_getAngle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Calculates the angle offset necessary to hit the current target. diff --git a/addons/fcs/functions/fnc_getRange.sqf b/addons/fcs/functions/fnc_getRange.sqf index 0512359d1e..7b24e61445 100644 --- a/addons/fcs/functions/fnc_getRange.sqf +++ b/addons/fcs/functions/fnc_getRange.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Read laser distance measurement from engine. diff --git a/addons/fcs/functions/fnc_handleAirBurstAmmunitionPFH.sqf b/addons/fcs/functions/fnc_handleAirBurstAmmunitionPFH.sqf index 9c8ef4c0a7..f90231b371 100644 --- a/addons/fcs/functions/fnc_handleAirBurstAmmunitionPFH.sqf +++ b/addons/fcs/functions/fnc_handleAirBurstAmmunitionPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle Air burst ammunition. Called from per frame handler. diff --git a/addons/fcs/functions/fnc_keyDown.sqf b/addons/fcs/functions/fnc_keyDown.sqf index 2e40b64a84..9137100b84 100644 --- a/addons/fcs/functions/fnc_keyDown.sqf +++ b/addons/fcs/functions/fnc_keyDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Starts watching the target for sideways correction. diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index d96b6d5307..f7b9d88c8f 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Calculates the offsets for all weapons needed to hit the current target. diff --git a/addons/fcs/functions/fnc_onForceUpdate.sqf b/addons/fcs/functions/fnc_onForceUpdate.sqf index ddf426d293..b1e3f0c4bd 100644 --- a/addons/fcs/functions/fnc_onForceUpdate.sqf +++ b/addons/fcs/functions/fnc_onForceUpdate.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * diff --git a/addons/fcs/functions/fnc_reset.sqf b/addons/fcs/functions/fnc_reset.sqf index 4cbc4ee7b2..437d5577d3 100644 --- a/addons/fcs/functions/fnc_reset.sqf +++ b/addons/fcs/functions/fnc_reset.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Resets the FCS to default. diff --git a/addons/fcs/functions/fnc_updateRangeHUD.sqf b/addons/fcs/functions/fnc_updateRangeHUD.sqf index a00de5fc67..29e23ee05c 100644 --- a/addons/fcs/functions/fnc_updateRangeHUD.sqf +++ b/addons/fcs/functions/fnc_updateRangeHUD.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Update compatible info elements. diff --git a/addons/fcs/functions/fnc_vehicleInit.sqf b/addons/fcs/functions/fnc_vehicleInit.sqf index b6e8eff316..f2d9d8192a 100644 --- a/addons/fcs/functions/fnc_vehicleInit.sqf +++ b/addons/fcs/functions/fnc_vehicleInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, commy2 * Checks if a vehicle is equipped with an FCS and if so, adds the fired event handler. Execute on server. diff --git a/addons/fcs/functions/script_component.hpp b/addons/fcs/functions/script_component.hpp deleted file mode 100644 index 161e764a9a..0000000000 --- a/addons/fcs/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\fcs\script_component.hpp" diff --git a/addons/field_rations/RscTitles.hpp b/addons/field_rations/RscTitles.hpp index 241b5b0e1f..e156766ac7 100644 --- a/addons/field_rations/RscTitles.hpp +++ b/addons/field_rations/RscTitles.hpp @@ -12,15 +12,15 @@ class RscTitles { class controls { class Thirst: RscPicture { idc = IDC_COLORED_HUD_THIRST; - x = QUOTE(profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),X))), safeZoneX + safeZoneW - 4.2 * GUI_GRID_W)]); - y = QUOTE(profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),Y))), safeZoneY + safeZoneH - 2.2 * GUI_GRID_H)]); + x = QUOTE(profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),X))),safeZoneX + safeZoneW - 4.2 * GUI_GRID_W)]); + y = QUOTE(profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),Y))),safeZoneY + safeZoneH - 2.2 * GUI_GRID_H)]); w = QUOTE(2 * GUI_GRID_W); h = QUOTE(2 * GUI_GRID_H); text = QPATHTOF(ui\icon_hud_thirststatus.paa); }; class Hunger: Thirst { idc = IDC_COLORED_HUD_HUNGER; - x = QUOTE(2 * GUI_GRID_W + (profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),X))), safeZoneX + safeZoneW - 4.2 * GUI_GRID_W)])); + x = QUOTE(2 * GUI_GRID_W + (profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),X))),safeZoneX + safeZoneW - 4.2 * GUI_GRID_W)])); text = QPATHTOF(ui\icon_hud_hungerstatus.paa); }; }; @@ -35,23 +35,23 @@ class RscTitles { class controlsBackground { class Thirst: RscPicture { idc = -1; - x = QUOTE(profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),X))), safeZoneX + safeZoneW - 4.2 * GUI_GRID_W)]); - y = QUOTE(profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),Y))), safeZoneY + safeZoneH - 2.2 * GUI_GRID_H)]); + x = QUOTE(profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),X))),safeZoneX + safeZoneW - 4.2 * GUI_GRID_W)]); + y = QUOTE(profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),Y))),safeZoneY + safeZoneH - 2.2 * GUI_GRID_H)]); w = QUOTE(2 * GUI_GRID_W); h = QUOTE(2 * GUI_GRID_H); text = QPATHTOF(ui\icon_hud_thirststatus.paa); colorText[] = {1, 1, 1, 0.2}; }; class Hunger: Thirst { - x = QUOTE(2 * GUI_GRID_W + (profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),X))), safeZoneX + safeZoneW - 4.2 * GUI_GRID_W)])); + x = QUOTE(2 * GUI_GRID_W + (profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),X))),safeZoneX + safeZoneW - 4.2 * GUI_GRID_W)])); text = QPATHTOF(ui\icon_hud_hungerstatus.paa); }; }; class controls { class ThirstGroup: RscControlsGroupNoScrollbars { idc = IDC_DRAINING_HUD_THIRST_GROUP; - x = QUOTE(profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),X))), safeZoneX + safeZoneW - 4.2 * GUI_GRID_W)]); - y = QUOTE(profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),Y))), safeZoneY + safeZoneH - 2.2 * GUI_GRID_H)]); + x = QUOTE(profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),X))),safeZoneX + safeZoneW - 4.2 * GUI_GRID_W)]); + y = QUOTE(profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),Y))),safeZoneY + safeZoneH - 2.2 * GUI_GRID_H)]); w = QUOTE(2 * GUI_GRID_W); h = QUOTE(2 * GUI_GRID_H); class controls { @@ -67,7 +67,7 @@ class RscTitles { }; class HungerGroup: ThirstGroup { idc = IDC_DRAINING_HUD_HUNGER_GROUP; - x = QUOTE(2 * GUI_GRID_W + (profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),X))), safeZoneX + safeZoneW - 4.2 * GUI_GRID_W)])); + x = QUOTE(2 * GUI_GRID_W + (profileNamespace getVariable [ARR_2(QUOTE(QUOTE(TRIPLES(IGUI,XGVAR(grid),X))),safeZoneX + safeZoneW - 4.2 * GUI_GRID_W)])); class controls: controls { class Icon: Icon { idc = IDC_DRAINING_HUD_HUNGER_ICON; diff --git a/addons/field_rations/functions/fnc_addStatusModifier.sqf b/addons/field_rations/functions/fnc_addStatusModifier.sqf index adeaadd07b..39d2388680 100644 --- a/addons/field_rations/functions/fnc_addStatusModifier.sqf +++ b/addons/field_rations/functions/fnc_addStatusModifier.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Adds a status modifier. Should be called on all machines. diff --git a/addons/field_rations/functions/fnc_addWaterSourceInteractions.sqf b/addons/field_rations/functions/fnc_addWaterSourceInteractions.sqf index 0d320b0610..d45ea877ca 100644 --- a/addons/field_rations/functions/fnc_addWaterSourceInteractions.sqf +++ b/addons/field_rations/functions/fnc_addWaterSourceInteractions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, mharis001 * Dynamically adds actions to nearby water sources when interact_menu is opened. diff --git a/addons/field_rations/functions/fnc_canDrinkFromSource.sqf b/addons/field_rations/functions/fnc_canDrinkFromSource.sqf index 7ef256f4be..c970214aeb 100644 --- a/addons/field_rations/functions/fnc_canDrinkFromSource.sqf +++ b/addons/field_rations/functions/fnc_canDrinkFromSource.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Checks if the player can drink directly from the given water source. @@ -11,7 +11,7 @@ * Can Drink From Source * * Example: - * [_player, _source] call ace_field_rations_canDrinkFromSource + * [_player, _source] call ace_field_rations_fnc_canDrinkFromSource * * Public: No */ diff --git a/addons/field_rations/functions/fnc_canRefillItem.sqf b/addons/field_rations/functions/fnc_canRefillItem.sqf index 8d8bf8f7db..3b7ac1e7f4 100644 --- a/addons/field_rations/functions/fnc_canRefillItem.sqf +++ b/addons/field_rations/functions/fnc_canRefillItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, Glowbal, PabstMirror * Checks whether the player can refill an item from given water source. diff --git a/addons/field_rations/functions/fnc_checkWater.sqf b/addons/field_rations/functions/fnc_checkWater.sqf index 97ffade604..32167e6114 100644 --- a/addons/field_rations/functions/fnc_checkWater.sqf +++ b/addons/field_rations/functions/fnc_checkWater.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Displays the remaining water in the given water source. diff --git a/addons/field_rations/functions/fnc_consumeItem.sqf b/addons/field_rations/functions/fnc_consumeItem.sqf index e7e26c9ce1..2c3b6f815a 100644 --- a/addons/field_rations/functions/fnc_consumeItem.sqf +++ b/addons/field_rations/functions/fnc_consumeItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, Glowbal, PabstMirror * Consumes an item. Creates a progress bar and handles relevant thirst/hunger values. diff --git a/addons/field_rations/functions/fnc_drinkFromSource.sqf b/addons/field_rations/functions/fnc_drinkFromSource.sqf index 1fee598ac6..cf0d18018b 100644 --- a/addons/field_rations/functions/fnc_drinkFromSource.sqf +++ b/addons/field_rations/functions/fnc_drinkFromSource.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Makes the player drink directly from the given water source. @@ -11,7 +11,7 @@ * None * * Example: - * [_player, _source] call ace_field_rations_drinkFromSource + * [_player, _source] call ace_field_rations_fnc_drinkFromSource * * Public: No */ diff --git a/addons/field_rations/functions/fnc_getActionOffset.sqf b/addons/field_rations/functions/fnc_getActionOffset.sqf index e0f11354c3..dd7658dfda 100644 --- a/addons/field_rations/functions/fnc_getActionOffset.sqf +++ b/addons/field_rations/functions/fnc_getActionOffset.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Returns the refill action offset for given object. diff --git a/addons/field_rations/functions/fnc_getConsumableChildren.sqf b/addons/field_rations/functions/fnc_getConsumableChildren.sqf index 00f73caf1e..9fe422109c 100644 --- a/addons/field_rations/functions/fnc_getConsumableChildren.sqf +++ b/addons/field_rations/functions/fnc_getConsumableChildren.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, Glowbal, PabstMirror * Returns children actions for consumable items in player's inventory. diff --git a/addons/field_rations/functions/fnc_getDrinkAnimation.sqf b/addons/field_rations/functions/fnc_getDrinkAnimation.sqf index ae1befb7c6..3d577ef7f9 100644 --- a/addons/field_rations/functions/fnc_getDrinkAnimation.sqf +++ b/addons/field_rations/functions/fnc_getDrinkAnimation.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Returns an appropriate animation for drinking directly from the given water source. @@ -11,7 +11,7 @@ * Animation * * Example: - * [_player, _source] call ace_field_rations_getDrinkAnimation + * [_player, _source] call ace_field_rations_fnc_getDrinkAnimation * * Public: No */ diff --git a/addons/field_rations/functions/fnc_getRefillChildren.sqf b/addons/field_rations/functions/fnc_getRefillChildren.sqf index 8d393905b0..cb4a607df3 100644 --- a/addons/field_rations/functions/fnc_getRefillChildren.sqf +++ b/addons/field_rations/functions/fnc_getRefillChildren.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Returns children actions for refillable items in player's inventory for given water source. diff --git a/addons/field_rations/functions/fnc_getRemainingWater.sqf b/addons/field_rations/functions/fnc_getRemainingWater.sqf index d5c8b3f85d..253fd62285 100644 --- a/addons/field_rations/functions/fnc_getRemainingWater.sqf +++ b/addons/field_rations/functions/fnc_getRemainingWater.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, PabstMirror * Returns the remaining water in a source. diff --git a/addons/field_rations/functions/fnc_handleEffects.sqf b/addons/field_rations/functions/fnc_handleEffects.sqf index 881414da48..1981cc5f99 100644 --- a/addons/field_rations/functions/fnc_handleEffects.sqf +++ b/addons/field_rations/functions/fnc_handleEffects.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, Glowbal, PabstMirror * Handles the effects/consequences of high thirst/hunger. diff --git a/addons/field_rations/functions/fnc_handleHUD.sqf b/addons/field_rations/functions/fnc_handleHUD.sqf index a2242d7ed5..7bf505e8c8 100644 --- a/addons/field_rations/functions/fnc_handleHUD.sqf +++ b/addons/field_rations/functions/fnc_handleHUD.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Handles creating and updating the visuals of the HUD. diff --git a/addons/field_rations/functions/fnc_handleRespawn.sqf b/addons/field_rations/functions/fnc_handleRespawn.sqf index 9b9e3c374a..70baf23a1b 100644 --- a/addons/field_rations/functions/fnc_handleRespawn.sqf +++ b/addons/field_rations/functions/fnc_handleRespawn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, Glowbal, PabstMirror * Handles the respawning of a unit by resetting necessary variables. diff --git a/addons/field_rations/functions/fnc_refillItem.sqf b/addons/field_rations/functions/fnc_refillItem.sqf index 22bd0270fe..91542e60b4 100644 --- a/addons/field_rations/functions/fnc_refillItem.sqf +++ b/addons/field_rations/functions/fnc_refillItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, Glowbal, PabstMirror * Refills an item from given water source. diff --git a/addons/field_rations/functions/fnc_scanFieldRations.sqf b/addons/field_rations/functions/fnc_scanFieldRations.sqf index 612ca83fe0..c5f45d4d4c 100644 --- a/addons/field_rations/functions/fnc_scanFieldRations.sqf +++ b/addons/field_rations/functions/fnc_scanFieldRations.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Caches all item classnames used as field rations @@ -10,7 +10,7 @@ * None * * Example: - * call acex_field_rations_fnc_scanFieldRations + * call ace_field_rations_fnc_scanFieldRations * * Public: No */ @@ -31,4 +31,4 @@ private _fnc_isFieldRationItem = toString { _list set [configName _x, ""]; } forEach (_fnc_isFieldRationItem configClasses _cfgMagazines); -uiNamespace setVariable [QXGVAR(fieldRationItems), compileFinal str _list]; +uiNamespace setVariable [QXGVAR(fieldRationItems), compileFinal _list]; diff --git a/addons/field_rations/functions/fnc_setRemainingWater.sqf b/addons/field_rations/functions/fnc_setRemainingWater.sqf index 728a73c1e3..6e8fbc4b04 100644 --- a/addons/field_rations/functions/fnc_setRemainingWater.sqf +++ b/addons/field_rations/functions/fnc_setRemainingWater.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, PabstMirror * Sets the remaining water supply for given water source. diff --git a/addons/field_rations/functions/fnc_update.sqf b/addons/field_rations/functions/fnc_update.sqf index 8b289b12f7..82b87bcfb6 100644 --- a/addons/field_rations/functions/fnc_update.sqf +++ b/addons/field_rations/functions/fnc_update.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, Glowbal, PabstMirror * Main looping function that updates thirst/hunger status. diff --git a/addons/field_rations/functions/script_component.hpp b/addons/field_rations/functions/script_component.hpp deleted file mode 100644 index 3469a67426..0000000000 --- a/addons/field_rations/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\field_rations\script_component.hpp" diff --git a/addons/field_rations/script_component.hpp b/addons/field_rations/script_component.hpp index bcde75fe9c..534306b6be 100644 --- a/addons/field_rations/script_component.hpp +++ b/addons/field_rations/script_component.hpp @@ -34,4 +34,4 @@ #define IDC_DRAINING_HUD_HUNGER_GROUP 7840 #define IDC_DRAINING_HUD_HUNGER_ICON 7850 -#define FIELD_RATIONS_ITEMS (createHashMapFromArray (call (uiNamespace getVariable [QXGVAR(fieldRationItems), {createHashMap}]))) +#define FIELD_RATIONS_ITEMS (uiNamespace getVariable QXGVAR(fieldRationItems)) diff --git a/addons/field_rations/stringtable.xml b/addons/field_rations/stringtable.xml index 34c7fa2240..4b3076343a 100644 --- a/addons/field_rations/stringtable.xml +++ b/addons/field_rations/stringtable.xml @@ -29,6 +29,7 @@ ACE Gıda Göstergesi ACE 전투식량 HUD ACE HUD de Raciones de campo + ACE HUD de Rações de Campo Indicates current hunger and thirst status. @@ -39,7 +40,7 @@ Zeigt den aktuellen Hunger- und Durststatus an. Jelzi az éhínség és a szomjúság állapotát. Indica lo stato attuale di fame e sete. - 現在の空腹感と渇きの状態を示します。 + 現在の喉の渇きと空腹度の状態を示します。 굶주림과 갈증 정도를 표시합니다. Wskazuje bieżący status głodu i pragnienia. Indica o status atual de fome e sede. @@ -74,6 +75,7 @@ 吃/喝 먹기/마시기 Comer/Beber + Comer/Beber Enable/Disable Field Rations @@ -101,7 +103,7 @@ Zeit ohne Wasser Víz nélküli idő Tempo senza acqua - 水なしの時間 + 水分無しでの耐久時間 물 없이 생존 가능 시간 Czas bez wody Tempo sem água @@ -118,7 +120,7 @@ Wie lange sollte eine Einheit ohne Wasser auskommen (Stunden)? Mennyi ideig kell egy egység víz nélkül (óra) Mennyi ideig kell egy egység víz nélkül (óra) - ユニットが水なしでどれくらい時間を過ごすことができるか (一時間単位) + ユニットが水分無しでどれくらいの時間耐えられるか (一時間単位) 물을 안 마시고 얼마나 생존할 수 있는지 정합니다 (시간) Jak długo jednostka powinna przetrwać bez wody (godziny) Quanto tempo uma unidade pode passar sem água (horas) @@ -135,7 +137,7 @@ Zeit ohne Essen Élelmiszer nélkül Tempo senza cibo - 食べ物なしの時間 + 食事抜きでの耐久時間 밥 없이 생존 가능 시간 Czas bez jedzenia Tempo sem comida @@ -152,7 +154,7 @@ Wie lange sollte eine Einheit ohne Essen gehen können (Stunden)? Mennyi ideig kell egy egység élni nélkül (óra) Per quanto tempo un'unità dovrebbe essere in grado di andare senza cibo (ore) - ユニットが食糧なしでどれくらい時間を過ごすことができるか (一時間単位) + ユニットが食事抜きでどれくらいの時間耐えられるか (一時間単位) 밥을 안 먹고 얼마나 생존할 수 있는지 정합니다 (시간) Jak długo jednostka powinna przetrwać bez jedzenia (godziny) Quanto tempo uma unidade pode ir sem alimentos (horas) @@ -165,59 +167,64 @@ Durst gestillt 止渴程度 解渴程度 - 乾きの満たし + 喉の渇き度の満たされ量 Утоление жажды Pragnienie zaspokojone Susuzluk Giderme Katsayısı 갈증 해소 Sed saciada + Sede saciada Coefficient for the amount of thirst quenched from drinking. Koeffizient für die Menge des Dursts, der durch Trinken gestillt wird. 從飲用中能夠攝取多少水份。 通过喝水能够补充多少水份。 - 飲むことによって得られる乾きの満たし量の係数を設定します + 水分補給によって満たされる喉の渇きの量を表す係数。 Коэффициент утоления жажды от питья Współczynnik ilości zaspokojnego pragnienia od picia Bir şey içince, susuzluğunun ne kadar giderileceğini belirler. 마심으로써 갈증이 얼마나 해소되는지를 정합니다 Coeficiente del saciamiento de sed por beber. + Coeficiente para a quantidade de sede saciada por beber. Hunger Satiated Hunger gesättigt 飽足感 饱腹感 - 満腹感 + 空腹度の満たされ量 Утоление голода Głód Zaspokojony Açlık Giderme Katsayısı 배부름 Hambre saciada + Fome saciada Coefficient for the amount of hunger satiated from eating. Koeffizient für die Menge des Hungers, der durch essen gesättigt wird. 從飲食中獲取多少飽食感。 通过饮食能够补充多少能量。 - 食べることによって得られる満腹感の量の係数を設定します + 食事によって満たされる空腹度の量を表す係数。 Коэффициент утоления голода от принятия пищи Współczynnik ilosci zaspokojnego głodu od jedzenia Bir şey yiyince, açlığın ne kadar giderileceğini belirler. 밥을 먹어서 배고픔이 얼마나 해결되는지를 정합니다 Coeficiente del saciamiento del hambre por comer. + Coeficiente para a quantidade de fome saciada por comer. Water Source Actions Действия с источником воды Akcje przy źrodle wody Su Içme Animasyonu - 水源動作 + 水源での動作 Wasserquellen-Aktionen 水源动作 물 근처 행동 Acciones para suministros de agua + Ações para suprimentos de água Controls what actions are available on water sources. @@ -229,39 +236,43 @@ 控制对水源可用的动作。 물가에서 어떤 행동을 취할지 정합니다 Controla qué acciones están disponibles para los suministros de agua. + Controla quais ações estão disponíveis para os suprimentos de água. Refill Only Только пополнить Tylko napełnij Sadece içeceği iç - 汲むだけ + 水汲みのみ Nur Befüllen 仅限取水 다시 채우기만 가능 Sólo rellenar + Apenas reabastecer Terrain Object Actions Действия с объектами ландшафта Akcje Objektu terenu Varsayılan Nesne Animasyonu - マップ オブジェクト動作 + 地形オブジェクトでの動作 Geländeobjekt-Aktionen 地形物体动作 지형 물체 상호작용 Acciones sobre objetos del terreno + Ações para objetos do terreno Enables water source actions for terrain objects. Включает действия с источниками воды для объектов ландшафта. Umożliwia akcje przy źrodle wody na obiektach terenu. Varsayılan nesneler için animasyonu etkinleştir - マップに存在するオブジェクトを水源として動作するよう設定できます。 + 地形に存在するオブジェクトを水源として動作するよう設定できます。 Aktiviert Wasserquellen-Aktionen für Geländeobjekte. 为地形物体启用水源动作。 지형 물체에서 물을 얻는 게 가능해집니다. Habilitar acciones de suministros de agua para los objetos en el suelo. + Habilita ações para suprimentos de água para objetos do terreno. Affect Advanced Fatigue @@ -274,18 +285,20 @@ Gelişmiş Yorgunluk 고급 피로도에 영향을 끼침 Afecta a la Fatiga Avanzada + Afeta a Fadiga Avançada Controls if thirst and hunger should affect ACE Advanced Fatigue. Bestimmt, ob Durst und Hunger ACE Erweiterte Ausdauer beeinflussen sollen. 是否讓飲食影響到ACE的進階疲勞。 是否让饮食影响到 ACE 的进阶疲劳。 - 喉の渇きと空腹感が ACE アドバンスド ファティーグへ与える影響を決定します + 喉の渇きと空腹度が ACE アドバンスド ファティーグへ与える影響を定義します。 Определяет, будет ли жажда и голод влиять на продвинутую усталость ACE. Kontroluje czy pragnienie i głód mają wpływ na zaawansowane zmęczenie ACE. Acıkınca veya susayınca kişinin yorulup yorulmayacağını belirler. 배고픔과 목마름이 고급 피로도에 영향을 끼칠지를 정합니다 Controla si la sed y el hambre afectan a la Fatiga Avanzada de ACE + Controla se a sede e a fome afetam a Fadiga Avançada do ACE. HUD Type @@ -298,6 +311,7 @@ HUD Tipi HUD 종류 Tipo de HUD + Tipo de HUD Selects which HUD style will be used. @@ -310,6 +324,7 @@ Hangi HUD sitilini kullanılacağını seçer. 사용될 HUD 스타일을 고르십시오. Selecciona qué estilo de HUD será utilizado. + Seleciona qual estilo de HUD será usado. Colored Icons @@ -322,18 +337,20 @@ Renkli Ikonlar 색깔 아이콘 Iconos coloreados + Ícones coloridos Draining Icons Farblose Icons 增減化圖示 渐化图标 - ドレイン アイコン + レベルゲージアイコン Ubywające ikony Исчезающие иконки Içi Boşalan Ikonlar 빠지는 아이콘 Iconos de drenado + Ícones de drenagem HUD Show Level @@ -346,18 +363,20 @@ HUD Gösterilme Seviyesi HUD 표시 Mostrar nivel en HUD + Mostrar nível no HUD Automatically show the HUD when either thirst or hunger are above this level. Zeigt automatisch das HUD an, sobald Durst oder Hunger über diesem Level sind. 在飲食低於多少程度時顯示界面。 在饮食能量低于多少程度时显示界面。 - この値以上に空腹感か乾きを感じると自動的に HUD を表示します + この値以上に空腹度か喉の渇きを感じると自動的に HUD を表示します Automatycznie pokaż HUD kiedy pragnienie albo głód przekroczy ten poziom Автоматически отображает иконки при достижении определенных уровней голода и жажды. Susuzluk veya açlık belli bir seviyenin altına inince otomatik olarak HUD u göster. 정한 퍼센트 이하로 내려가면 HUD가 나타나게 합니다. Mostrar automáticamente el HUD cuando la sed o el hambre están por encima de este nivel. + Mostrar automaticamente o HUD quando a sede ou a fome estão acima deste nível. Always @@ -387,6 +406,7 @@ Renkli Ikonlar - Şeffaflaşan 색깔 아이콘 - 투명도 Iconos coloreados - Transparencia + Ícones coloridos - Transparência Controls the transparency of the Colored Icons HUD. Dynamic setting makes the HUD less transparent as thirst or hunger increase. @@ -394,11 +414,12 @@ 控制顏色化圖示的透明度。設定為動態使其界面透明度與飲食需求一樣,越透明越需要。 控制彩色图标 HUD 的透明度。动态设置使 HUD 的透明度随着口渴或饥饿的增加而减弱。 Kontroluje transparentność kolorowych ikon HUD. Dynamiczne ustawienie zmniejsza przejrzystość wraz z zwiększeniem głodu czy pragnienia. - 色付きアイコンの透明度を決定できます。動的に設定されると、喉の渇きや空腹感が増すにつれて、アイコンの透明度を下げます。 + 色付きアイコンの透明度を決定できます。動的に設定されると、空腹度や喉の渇きが増すにつれて、アイコンの透明度を下げます。 Настраивает прозрачность цветных иконок. «Динамическая» делает иконки менее прозрачными при увеличении жажды и голода. Renkli Simgeler Gösterge Paneli'nin şeffaflığını kontrol eder. Dinamik ayar, susuzluk veya açlık arttıkça HUD'yi daha az şeffaf hale getirir. 색깔 아이콘의 투명도를 조절합니다. 동적 설정의 경우 배고픔이나 목마름이 해결되면 덜 투명하게 바뀝니다. Controla la transparencia de los Iconos coloreados en el HUD. La opción dinámica muestra el HUD menos transparente cuando la sed o el hambre aumentan. + Controla a transparência dos ícones coloridos no HUD. A configuração dinâmica torna o HUD menos transparente à medida que a sede ou a fome aumentam. Dynamic @@ -427,6 +448,7 @@ Źródło wody 식수 보급량 Suministro de agua + Suprimentos de água The amount of water available for ACE Field Rations water source actions (-1 disabled, -10 infinite) @@ -438,6 +460,7 @@ Ilość wody dostępnej dla Akcji ACE Źródła wody (-1 wyłączone, -10 nieskończone) ACE 전투식량 물 근처 행동에서 얼마나 물을 얻어 갈 수 있는지를 정합니다 (-1은 비활성화, -10은 무한대) La cantidad de agua disponible para las acciones de suministro de agua de las Raciones de Combate de ACE (-1 deshabilitado, -10 infinito) + A quantidade de água disponível para as ações de suprimentos de água das Rações de Campo do ACE (-1 desativado, -10 infinito) Water Source @@ -450,6 +473,7 @@ Matara 수원지 Suministro de agua + Fonte de água Check Remaining Water @@ -462,6 +486,7 @@ Kalan Suyu Kontrol Et 남은 물 확인 Comprobar agua restante + Verificar água restante Checking remaining water... @@ -474,6 +499,7 @@ Kalan Su Kontrol Ediliyor... 남은 물 확인 중... Comprobando agua restante... + Verificando água restante... There are %1 litres left. @@ -486,18 +512,20 @@ %1 Litre kaldı. %1 리터의 물이 남아있습니다. Quedan %1 litros. + Ainda há %1 litros. There is no water left. Es ist kein Wasser mehr übrig. 水已經用完了 水已经喝完了。 - 水はもうありません。 + 水は残っていません。 Nie ma wody Воды больше не осталось Hiç su kalmadı. 물이 한 방울도 없습니다. No queda agua. + Não há mais água. Drink From Source @@ -509,6 +537,7 @@ 从水源处喝水 수원에서 물 마시기 Beber desde el suministro + Beber da fonte Refill @@ -519,7 +548,7 @@ Nachfüllung Utántöltés Ricarica - 汲む + 水を汲む 다시 채우기 Uzupełnij Recarga @@ -572,6 +601,7 @@ %1 Yeniyor... %1 먹는 중... Comiendo %1... + Comendo %1... Drinking %1... @@ -584,6 +614,7 @@ %1 Içiliyor... %1 마시는 중... Bebiendo %1... + Bebendo %1... Drinking from %1... @@ -596,6 +627,7 @@ %1 den içiliyor... %1 으로 부터 마시는 중... Bebiendo desde %1... + Bebendo de %1... Drinking from source... @@ -607,6 +639,7 @@ 从水源处喝水中... 수원에서 마시는 중... Bebiendo desde el suministro... + Bebendo da fonte... Water Bottle @@ -617,10 +650,10 @@ Wasserflasche Vizesüveg Bottiglia d'acqua - ウォーターボトル + 水のペットボトル 물병 Butelka wody - Garrafa de agua + Garrafa de água Бутылка воды (полная) Botella de agua Su Şişesi @@ -634,7 +667,7 @@ Eine Wasserflasche Egy vizes palackot Una bottiglia d'acqua - ウォーター ボトル + 水入りペットボトル 물병 Butelka wody Uma garrafa de água @@ -651,7 +684,7 @@ Wasserflasche (Hälfte) Vízpalack (fél) Bottiglia d'acqua (metà) - ウォーター ボトル (半分) + 水のペットボトル (半分) 물병 (절반) Butelka wody (połowa) Garrafa de água (meio) @@ -668,7 +701,7 @@ Eine halbvolle Wasserflasche Fél-teljes vizes palack Una mezza bottiglia piena d'acqua - 半分入っているウォーター ボトル + 半分残っている水入りペットボトル 절반만 차 있는 물병입니다. Pół butelki z wodą Uma garrafa de água meia cheia @@ -685,7 +718,7 @@ Wasserflasche (leer) Vízpalack (üres) Bottiglia d'acqua (vuota) - ウォーター ボトル (空) + 水のペットボトル (空) 물병 (비어 있음) Butelka na wodę (pusta) Garrafa de água (vazia) @@ -702,7 +735,7 @@ Eine leere Wasserflasche Egy üres palack Una bottiglia d'acqua vuota - 空のウォーター ボトル + 空のウォーターボトル 빈 물병입니다 Pusta butelka wody Uma garrafa de água vazia @@ -823,6 +856,7 @@ Limon Ve Yeşil Limondan Yapılmış Gazlı Bir Içecek 상쾌한 레몬라임향의 탄산음료 Bebida refrescante de sabor lima y limón + Bebida refrescante de sabor limão e lima Orange flavored soft drink with a tingly, fruity taste @@ -835,18 +869,20 @@ Gazlı Portakallı Bir Içecek 오렌지 향의 톡쏘는 탄산음료 Bebida refrescante de sabor naranja, con un chispeante y afrutado sabor. + Bebida refrescante de sabor laranja, com um sabor frutado e formigante. Red Gull gives you wings Red Gull verleiht Flügel 紅鷹讓你猛虎添翼 红鹰让你猛虎添翼 - レッドガル 翼をさずける + レッドガル 翼を授ける Red Gull doda ci skrzydeł Рэд Гулл окрыляет! Red Gull kanatlandırrrrr 레드굴은 날개를 달아줘요 Red Gull te da alas + Red Gull te dá asas MRE Lamb Curry @@ -893,6 +929,7 @@ MRE Dana Yahni MRE 비프스튜 MRE Estofado de ternera + MRE ensopado de carne An MRE containing Beef Stew. Heat for best effect @@ -905,6 +942,7 @@ Sığır Yahni içeren bir MRE. 비프스튜가 들어있는 MRE입니다. 뜨겁게 먹을 때 가장 좋습니다 Un MRE que contiene estofado de ternera. Calentar para mejor efecto. + Um MRE contendo ensopado de carne. Aquecer para melhor efeito MRE Cream Tomato Soup @@ -1135,7 +1173,7 @@ Eine humanitäre Ration, die dazu bestimmt ist, in Krisenzeiten als Nahrung für eine Person zu dienen Humanitárius eloszlás, amelynek célja az ember élelmezési ellátottsága a válság idején Una razione umanitaria destinata a servire come riserva di cibo di una persona durante le crisi - 人道危機を救う為に配布された食料品 + 危機に瀕した人々の供給食としての使用を目的とした人道配給食 재난 상황에 식량으로 쓸 수 있는 인도주의 차원의 배급식량입니다 Racja humanitarna, która ma służyć jako żywność dla danej osoby podczas kryzysów Uma Ração Humanitária destinada a servir como alimento alimentar de uma pessoa durante as crises @@ -1151,6 +1189,7 @@ 葵花籽 Семечки подсолнуха Pipas de girasol + Sementes de girassol Roasted And Salted @@ -1161,6 +1200,7 @@ 焙烤盐焗 Поджаренные и солёные Tostadas y saladas + Torradas e salgadas diff --git a/addons/fieldmanual/$PBOPREFIX$ b/addons/fieldmanual/$PBOPREFIX$ new file mode 100644 index 0000000000..b080a6d6b7 --- /dev/null +++ b/addons/fieldmanual/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\fieldmanual diff --git a/addons/fieldmanual/CfgEventHandlers.hpp b/addons/fieldmanual/CfgEventHandlers.hpp new file mode 100644 index 0000000000..0afdef638f --- /dev/null +++ b/addons/fieldmanual/CfgEventHandlers.hpp @@ -0,0 +1,5 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_SCRIPT(XEH_preStart)); + }; +}; diff --git a/addons/fieldmanual/CfgHintCategories.hpp b/addons/fieldmanual/CfgHintCategories.hpp new file mode 100644 index 0000000000..3a917c9c9c --- /dev/null +++ b/addons/fieldmanual/CfgHintCategories.hpp @@ -0,0 +1,5 @@ +class CfgHintCategories { + class ACE_FieldManual { + displayName = CSTRING(HintCategory_FieldManual_DisplayName); + }; +}; diff --git a/addons/fieldmanual/CfgHints.hpp b/addons/fieldmanual/CfgHints.hpp new file mode 100644 index 0000000000..8164bd7943 --- /dev/null +++ b/addons/fieldmanual/CfgHints.hpp @@ -0,0 +1,337 @@ + +/* + Preferred Image Size = 256x256 + Can Embed Images Into Description = 1024x512 + - Shadow = '0' + - Size = '9' +*/ + +// INDENT - %11 +// SELF INTERACT KEYBIND - %12 +// INTERACT KEYBIND - %13 +#define BASE_ARGUMENTS "' '", \ +QUOTE([ARR_2('ACE3 Common',QQEGVAR(interact_menu,selfInteractKey))] call FUNC(getKeybindName)), \ +QUOTE([ARR_2('ACE3 Common',QQEGVAR(interact_menu,interactKey))] call FUNC(getKeybindName)) + +// MEDCIAL MENU KEYBIND - %14 +#define MEDICAL_MENU_KEYBIND QUOTE([ARR_2('ACE3 Common',QQEGVAR(medical_gui,openMedicalMenuKey))] call FUNC(getKeybindName)) + + +class CfgHints { + class ACE_FieldManual_Base { + arguments[] = {BASE_ARGUMENTS}; + image = "\z\ace\addons\common\data\logo_ace3_ca.paa"; + tip = "ACE Wiki"; + }; + class ACE_Items { + displayName = CSTRING(Items_DisplayName); + category = "ACE_FieldManual"; + + class ACE_ATragMX: ACE_FieldManual_Base { + logicalOrder = 1; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_ATragMX' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_ATragMX_ShortName); + description = CSTRING(Items_ATragMX_Description); + tip = "ATragMX Wiki"; + }; + class ACE_BodyBag: ACE_FieldManual_Base { + logicalOrder = 2; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_BodyBag' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_BodyBag_ShortName); + description = CSTRING(Items_BodyBag_Description); + }; + class ACE_CableTie: ACE_FieldManual_Base { + logicalOrder = 3; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_CableTie' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_CableTie_ShortName); + description = CSTRING(Items_CableTie_Description); + tip = "Captives Wiki"; + }; + class ACE_Cellphone: ACE_FieldManual_Base { + logicalOrder = 4; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_Cellphone' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_Cellphone_ShortName); + description = CSTRING(Items_Cellphone_Description); + tip = "Explosives Wiki"; + }; + class ACE_Chemlight_Shield: ACE_FieldManual_Base { + logicalOrder = 5; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_Chemlight_Shield' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_Chemlight_Shield_ShortName); + description = CSTRING(Items_Chemlight_Shield_Description); + tip = "Chemlights Wiki"; + }; + class ACE_Clackers: ACE_FieldManual_Base { + logicalOrder = 6; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_Clacker' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_Clackers_ShortName); + description = CSTRING(Items_Clackers_Description); + tip = "Explosives Wiki"; + }; + class ACE_DAGR: ACE_FieldManual_Base { + logicalOrder = 7; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_DAGR' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_DAGR_ShortName); + description = CSTRING(Items_DAGR_Description); + tip = "DAGR Wiki"; + }; + class ACE_DeadManSwitch: ACE_FieldManual_Base { + logicalOrder = 8; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_DeadManSwitch' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_DeadManSwitch_ShortName); + description = CSTRING(Items_DeadManSwitch_Description); + tip = "Explosives Wiki"; + }; + class ACE_DefusalKit: ACE_FieldManual_Base { + logicalOrder = 9; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_DefusalKit' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_DefusalKit_ShortName); + description = CSTRING(Items_DefusalKit_Description); + tip = "Explosives Wiki"; + }; + class ACE_EarPlugs: ACE_FieldManual_Base { + logicalOrder = 10; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_EarPlugs' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_EarPlugs_ShortName); + description = CSTRING(Items_EarPlugs_Description); + tip = "Hearing Wiki"; + }; + class ACE_EntrenchingTool: ACE_FieldManual_Base { + logicalOrder = 11; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_EntrenchingTool' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_EntrenchingTool_ShortName); + description = CSTRING(Items_EntrenchingTool_Description); + }; + class ACE_Flashlights: ACE_FieldManual_Base { + logicalOrder = 12; + displayName = CSTRING(Items_Flashlights_DisplayName); + displayNameShort = CSTRING(Items_Flashlights_ShortName); + description = CSTRING(Items_Flashlights_Description); + tip = "Flashlights Wiki"; + }; + class ACE_FortifyTool: ACE_FieldManual_Base { + logicalOrder = 13; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_FortifyTool' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_FortifyTool_ShortName); + description = CSTRING(Items_FortifyTool_Description); + tip = "Fortify Wiki"; + }; + class ACE_HuntIR_Monitor: ACE_FieldManual_Base { + logicalOrder = 14; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_HuntIR_monitor' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_HuntIR_Monitor_ShortName); + description = CSTRING(Items_HuntIR_Monitor_Description); + tip = "HuntIR Wiki"; + }; + class ACE_IR_Strobe: ACE_FieldManual_Base { + logicalOrder = 15; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_IR_Strobe_Item' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_IR_Strobe_ShortName); + description = CSTRING(Items_IR_Strobe_Description); + }; + class ACE_Kestrel4500: ACE_FieldManual_Base { + logicalOrder = 16; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_Kestrel4500' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_Kestrel4500_ShortName); + description = CSTRING(Items_Kestrel4500_Description); + tip = "Kestrel 4500 Wiki"; + }; + class ACE_Lockpick: ACE_FieldManual_Base { + logicalOrder = 17; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_key_lockpick' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_Lockpick_ShortName); + description = CSTRING(Items_Lockpick_Description); + tip = "Vehicle Lock Wiki"; + }; + class ACE_MapTools: ACE_FieldManual_Base { + logicalOrder = 18; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_MapTools' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_MapTools_ShortName); + description = CSTRING(Items_MapTools_Description); + }; + class ACE_MicroDAGR: ACE_FieldManual_Base { + logicalOrder = 19; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_microDAGR' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_MicroDAGR_ShortName); + description = CSTRING(Items_MicroDAGR_Description); + tip = "MicroDAGR Wiki"; + }; + // Combine all range tables under one roof [mortar, artillery, rifle] + class ACE_RangeTables: ACE_FieldManual_Base { + logicalOrder = 20; + displayName = CSTRING(Items_RangeTables_DisplayName); + displayNameShort = CSTRING(Items_RangeTables_ShortName); + description = CSTRING(Items_RangeTables_Description); + tip = "Rangecard Wiki"; + }; + class ACE_Ropes: ACE_FieldManual_Base { + logicalOrder = 21; + displayName = CSTRING(Items_Ropes_DisplayName); + displayNameShort = CSTRING(Items_Ropes_ShortName); + description = CSTRING(Items_Ropes_Description); + }; + class ACE_Sandbag: ACE_FieldManual_Base { + logicalOrder = 22; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_Sandbag_empty' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_Sandbag_ShortName); + description = CSTRING(Items_Sandbag_Description); + tip = "Sandbag Wiki"; + }; + class ACE_SpareBarrels: ACE_FieldManual_Base { + logicalOrder = 23; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_SpareBarrel_Item' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_SpareBarrels_ShortName); + description = CSTRING(Items_SpareBarrels_Description); + tip = "Overheating Wiki"; + }; + class ACE_SprayPaint: ACE_FieldManual_Base { + logicalOrder = 24; + displayName = CSTRING(Items_SprayPaint_DisplayName); + displayNameShort = CSTRING(Items_SprayPaint_ShortName); + description = CSTRING(Items_SprayPaint_Description); + tip = "Tagging Wiki"; + }; + class ACE_Tripod: ACE_FieldManual_Base { + logicalOrder = 25; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_Tripod' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_Tripod_ShortName); + description = CSTRING(Items_Tripod_Description); + tip = "Tripod Wiki"; + }; + class ACE_UAVBattery: ACE_FieldManual_Base { + logicalOrder = 26; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_UAVBattery' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_UAVBattery_ShortName); + description = CSTRING(Items_UAVBattery_Description); + tip = "UAV Battery Wiki"; + }; + class ACE_VehicleKey: ACE_FieldManual_Base { + logicalOrder = 27; + displayName = CSTRING(Items_VehicleKey_DisplayName); + displayNameShort = CSTRING(Items_VehicleKey_ShortName); + description = CSTRING(Items_VehicleKey_Description); + tip = "Vehicle Lock Wiki"; + }; + class ACE_Wirecutter: ACE_FieldManual_Base { + logicalOrder = 28; + arguments[] = {BASE_ARGUMENTS, QUOTE('ACE_wirecutter' call FUNC(getItemName))}; + displayName = "%14"; + displayNameShort = CSTRING(Items_Wirecutter_ShortName); + description = CSTRING(Items_Wirecutter_Description); + tip = "Wirecutter Wiki"; + }; + }; + // ACE Field Rations + class ACE_Field_Rations { + displayName = CSTRING(Field_Rations_DisplayName); + category = "ACE_FieldManual"; + + class ACE_Field_Rations_Base: ACE_FieldManual_Base { + tip = "Field Rations Wiki"; + }; + + class Hunger: ACE_Field_Rations_Base { + logicalOrder = 1; + displayName = CSTRING(Field_Rations_Hunger_DisplayName); + description = CSTRING(Field_Rations_Hunger_Description); + }; + class Thirst: ACE_Field_Rations_Base { + logicalOrder = 2; + displayName = CSTRING(Field_Rations_Thirst_DisplayName); + description = CSTRING(Field_Rations_Thirst_Description); + }; + }; + // ACE Medical + class ACE_Medical_Treatment { + displayName = CSTRING(Medical_Treatment_DisplayName); + category = "ACE_FieldManual"; + + class ACE_Medical_Treatment_Base: ACE_FieldManual_Base { + arguments[] = {BASE_ARGUMENTS, MEDICAL_MENU_KEYBIND}; + tip = "Medical Wiki"; + }; + + class ACE_MedicalMenu: ACE_Medical_Treatment_Base { + logicalOrder = 1; + displayName = CSTRING(Medical_Treatment_MedicalMenu_DisplayName); + displayNameShort = CSTRING(Medical_Treatment_MedicalMenu_ShortName); + description = CSTRING(Medical_Treatment_MedicalMenu_Description); + }; + class ACE_Adenosine: ACE_Medical_Treatment_Base { + logicalOrder = 2; + arguments[] = {BASE_ARGUMENTS, MEDICAL_MENU_KEYBIND, QUOTE('ACE_adenosine' call FUNC(getItemName))}; + displayName = "%15"; + displayNameShort = CSTRING(Medical_Treatment_Adenosine_ShortName); + description = CSTRING(Medical_Treatment_Adenosine_Description); + }; + class ACE_Bandages: ACE_Medical_Treatment_Base { + logicalOrder = 3; + displayName = CSTRING(Medical_Treatment_Bandages_DisplayName); + displayNameShort = CSTRING(Medical_Treatment_Bandages_ShortName); + description = CSTRING(Medical_Treatment_Bandages_Description); + }; + class ACE_Fluids: ACE_Medical_Treatment_Base { + logicalOrder = 4; + displayName = CSTRING(Medical_Treatment_IVFluids_DisplayName); + displayNameShort = CSTRING(Medical_Treatment_IVFluids_ShortName); + description = CSTRING(Medical_Treatment_IVFluids_Description); + }; + class ACE_Epinephrine: ACE_Medical_Treatment_Base { + logicalOrder = 5; + arguments[] = {BASE_ARGUMENTS, MEDICAL_MENU_KEYBIND, QUOTE('ACE_epinephrine' call FUNC(getItemName))}; + displayName = "%15"; + displayNameShort = CSTRING(Medical_Treatment_Epinephrine_ShortName); + description = CSTRING(Medical_Treatment_Epinephrine_Description); + }; + class ACE_PAK: ACE_Medical_Treatment_Base { + logicalOrder = 6; + arguments[] = {BASE_ARGUMENTS, MEDICAL_MENU_KEYBIND, QUOTE('ACE_personalAidKit' call FUNC(getItemName))}; + displayName = "%15"; + displayNameShort = CSTRING(Medical_Treatment_PAK_ShortName); + description = CSTRING(Medical_Treatment_PAK_Description); + }; + class ACE_Splint: ACE_Medical_Treatment_Base { + logicalOrder = 7; + arguments[] = {BASE_ARGUMENTS, MEDICAL_MENU_KEYBIND, QUOTE('ACE_splint' call FUNC(getItemName))}; + displayName = "%15"; + displayNameShort = CSTRING(Medical_Treatment_Splint_ShortName); + description = CSTRING(Medical_Treatment_Splint_Description); + }; + class ACE_SurgicalKit: ACE_Medical_Treatment_Base { + logicalOrder = 8; + arguments[] = {BASE_ARGUMENTS, MEDICAL_MENU_KEYBIND, QUOTE('ACE_surgicalKit' call FUNC(getItemName))}; + displayName = "%15"; + displayNameShort = CSTRING(Medical_Treatment_SurgicalKit_ShortName); + description = CSTRING(Medical_Treatment_SurgicalKit_Description); + }; + class ACE_Tourniquet: ACE_Medical_Treatment_Base { + logicalOrder = 9; + arguments[] = {BASE_ARGUMENTS, MEDICAL_MENU_KEYBIND, QUOTE('ACE_tourniquet' call FUNC(getItemName))}; + displayName = "%15"; + displayNameShort = CSTRING(Medical_Treatment_CAT_ShortName); + description = CSTRING(Medical_Treatment_CAT_Description); + }; + }; +}; diff --git a/addons/fieldmanual/XEH_PREP.hpp b/addons/fieldmanual/XEH_PREP.hpp new file mode 100644 index 0000000000..425e79b6e9 --- /dev/null +++ b/addons/fieldmanual/XEH_PREP.hpp @@ -0,0 +1,4 @@ +TRACE_1("",QUOTE(ADDON)); + +PREP(getItemName); +PREP(getKeybindName); diff --git a/addons/fieldmanual/XEH_preStart.sqf b/addons/fieldmanual/XEH_preStart.sqf new file mode 100644 index 0000000000..022888575e --- /dev/null +++ b/addons/fieldmanual/XEH_preStart.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +#include "XEH_PREP.hpp" diff --git a/addons/fieldmanual/config.cpp b/addons/fieldmanual/config.cpp new file mode 100644 index 0000000000..19cdbcbf17 --- /dev/null +++ b/addons/fieldmanual/config.cpp @@ -0,0 +1,19 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + author = ECSTRING(common,ACETeam); + authors[] = {"Hypoxic"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgHintCategories.hpp" +#include "CfgHints.hpp" diff --git a/addons/fieldmanual/functions/fnc_getItemName.sqf b/addons/fieldmanual/functions/fnc_getItemName.sqf new file mode 100644 index 0000000000..ed795ebd2c --- /dev/null +++ b/addons/fieldmanual/functions/fnc_getItemName.sqf @@ -0,0 +1,23 @@ +#include "..\script_component.hpp" +/* + * Author: PabstMirror + * Gets item's localized name or indicates if not availabe + * + * Arguments: + * 0: Classname + * + * Return Value: + * + * + * Example: + * "ACE_Banana" call ace_fieldmanual_fnc_getItemName + * + * Public: No + */ +params ["_classname"]; +private _config = configFile >> "CfgWeapons" >> _classname; +if (isClass _config) then { + getText (_config >> "displayName") +} else { + format ["[N/A] - %1", _classname] +}; diff --git a/addons/fieldmanual/functions/fnc_getKeybindName.sqf b/addons/fieldmanual/functions/fnc_getKeybindName.sqf new file mode 100644 index 0000000000..726d411620 --- /dev/null +++ b/addons/fieldmanual/functions/fnc_getKeybindName.sqf @@ -0,0 +1,34 @@ +#include "..\script_component.hpp" +/* + * Author: Hypoxic, PabstMirror + * Gets keybind name from CBA + * + * Arguments: + * 0: Addon + * 1: Key Name + * + * Return Value: + * + * + * Example: + * ["ACE3 Common", "ace_interact_menu_selfInteractKey"] call ace_fieldmanual_fnc_getKeybindName + * + * Public: No + */ + +params ["_addon", "_keyName"]; + +private _return = _keyName; +with missionNamespace do { // hint is calling from uiNamespace + private _keyInfo = [_addon, _keyName] call CBA_fnc_getKeybind; + if (!isNil "_keyInfo") then { + private _localizeInfo = _keyInfo select 8 param [0, []]; + if (_localizeInfo isEqualTo []) then { + _return = format ["%1 -> %2", _addon, _keyInfo select 2]; + } else { + _return = format ["%1 -> %2 (%3)", _addon, _keyInfo select 2, _localizeInfo call CBA_fnc_localizeKey]; + }; + }; +}; + +_return diff --git a/addons/fieldmanual/script_component.hpp b/addons/fieldmanual/script_component.hpp new file mode 100644 index 0000000000..35a77d25f9 --- /dev/null +++ b/addons/fieldmanual/script_component.hpp @@ -0,0 +1,19 @@ +#define COMPONENT fieldmanual +#define COMPONENT_BEAUTIFIED Field Manual +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_FIELDMANUAL + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_FIELDMANUAL + #define DEBUG_SETTINGS DEBUG_SETTINGS_FIELDMANUAL +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + +#include "\a3\ui_f\hpp\defineDIKCodes.inc" diff --git a/addons/fieldmanual/stringtable.xml b/addons/fieldmanual/stringtable.xml new file mode 100644 index 0000000000..1b55e5f749 --- /dev/null +++ b/addons/fieldmanual/stringtable.xml @@ -0,0 +1,592 @@ + + + + + Field Rations + 戰地口糧 + 野战军粮 + Poměrové pole + Rations sur le terrain + Feld Rationen + Terepi adagok + Razioni di campo + フィールド レーション + 전투식량 + Racje polowe + Rações de campo + Полевые рационы + Raciones de campo + Gıda Ihtiyaçları + + + Hunger + Głód + 허기 + Fome + Hunger + 空腹 + + + %3Hunger%4 increases linearly with soldier's movement speed. Restore by eating food.<br/><br/>%3Usage:%4<br/>%2Pick up food.<br/>%2Use [%3%12%4] and select %3Survival%4.<br/>%2Choose an item to consume. + %3Głód%4 zwiększa się liniowo wraz z prędkością ruchu. Odnawiany przez spożywanie jedzenia.<br/><br/>%3Użycie:%4<br/>%2Podnieś jedzenie.<br/>%2Użyj [%3%12%4] i wybierz %3Surwiwal%4.<br/>%2Wybierz pokarm do zjedzenia + %3허기%4는 병사의 이동속도에 따라 선형적으로 증가합니다. 음식을 섭취하여 회복하십시오.<br/><br/>%3사용 방법:%4<br/>%2음식을 집으십시오.<br/>%2[%3%12%4]를 사용하여 %3생존%4을 선택하십시오.<br/>%2섭취할 아이템을 선택하십시오. + %3A fome%4 aumenta linearmente com a velocidade de movimento do soldado. Restaure comendo comida.<br/><br/>%3Uso:%4<br/>%2Pegue comida.<br/>%2Use [%3%12%4] e selecione %3Sobrevivência%4.<br/>%2Escolha um item para consumir. + %3Hunger%4 steigt linear mit der Bewegungsgeschwindigkeit des Soldaten. Regeneriert sich, indem Nahrung zu sich genommen wird.<br/><br/>%3Verwende:%4<br/>%2Nahrung einsammeln.<br/>%2Verwende [%3%12%4] und wählen %3Überleben%4.<br />%2Wähle einen Gegenstand zum Verzehr aus. + + + Thirst + Pragnienie + 갈증 + Sede + Durst + 渇き + + + %3Thirst%4 increases linearly with soldier's movement speed. Restore by drinking liquids.<br/><br/>%3Usage:%4<br/>%2Pick up a drink.<br/>%2Use [%3%12%4] and select %3Survival%4.<br/>%2Choose an item to consume. + %3Pragnienie%4 zwiększa się liniowo wraz z prędkością ruchu. Odnawiane przez spożywanie napojów.<br/><br/>%3Użycie:%4<br/>%2Podnieś napój.<br/>%2Użyj [%3%12%4] i wybierz %3Surwiwal%4.<br/>%2Wybierz napój do wypicia. + %3허기%4은 병사의 이동속도에 따라 선형적으로 증가합니다. 음료를 섭취하여 회복하십시오.<br/><br/>%3사용 방법:%4<br/>%2음료를 집으십시오.<br/>%2[%3%12%4]를 사용하여 %3생존%4을 선택하십시오.<br/>%2섭취할 아이템을 선택하십시오. + %3A sede%4 aumenta linearmente com a velocidade de movimento do soldado. Restaure bebendo líquidos.<br/><br/>%3Uso:%4<br/>%2Pegue uma bebida.<br/>%2Use [%3%12%4] e selecione %3Sobrevivência%4.<br/>%2Escolha um item para consumir. + %3Durst%4 steigt linear mit der Bewegungsgeschwindigkeit des Soldaten. Regeneriert sich durch das Trinken von Flüssigkeiten.<br/><br/>%3Verwende:%4<br/>%2Holen ein Getränk.<br/>%2Verwende [%3%12%4] und wähle %3Überleben%4.< br/>%2Wähle einen Gegenstand zum Verzehr aus. + + + Medical Treatment + Opieka Medyczna + 의료 치료법 + Tratamento médico + Medizinische Behandlung + 治療 + + + Decrease Heart Rate + Obniża Tętno + 심박수를 낮춥니다 + Diminuir a frequência cardíaca + Verringere Herzfrequenz + 心拍数を下げる + + + %3Adenosine%4 is used to decrease heart rate.<br/><br/>%3Usage:%4<br/>%2Use [%3%13%4] or [%3%14%4] and select an appendage.<br/>%2Inject %3Adenosine%4. + %3Adenozyna%4 jest używana do obniżenia tętna.<br/><br/>%3Użycie:%4<br/>%2Użyj [%3%13%4] lub [%3%14%4] i wybierz kończynę.<br/>%2Wstrzyknij %3Adenozynę%4. + %3아데노신%4은 심박수를 줄이기 위해 사용됩니다.<br/><br/>%3사용 방법%4<br/>%2[%3%13%4] 또는 [%3%14%4]를 사용하고 부위를 선택하십시오.<br/>%2%3아데노신%4을 주사하십시오. + %3Adenosina%4 é usada para diminuir a frequência cardíaca.<br/><br/>%3Uso:%4<br/>%2Use [%3%13%4] ou [%3%14%4] e selecione um apêndice.<br/>%2Injete %3Adenosina%4. + %3Adenosin%4 wird verwendet, um die Herzfrequenz zu senken.<br/><br/>%3Verwende:%4<br/>%2Verwende [%3%13%4] oder [%3%14%4] und wählen ein Körperteil aus.<br/>%2Injiziere %3Adenosin%4. + + + Bandages + Bandaże + 붕대 + Bandagens + Bandagen + 包帯 + + + Close Wounds + Zamykają Rany + 상처를 막습니다 + Fechar Feridas + Wunden schließen + 傷を閉じる + + + %3Bandages%4 stop bleeding and close wounds. Depending on your settings, bandages may reopen if surgery is not performed.<br/><br/>%2%3Field Dressing:%4<br/>%11<t color='#D9D900'>Average</t> In All Categories<br/>%2%3Packing Bandage:%4<br/>%11<t color='#D9D900'>Average</t> Treatment<br/>%11<t color='#E60000'>Higher</t> Reopen Chance<br/>%11<t color='#00CC00'>Longer</t> Reopen Delay<br/>%2%3Elastic Bandage:%4<br/>%11<t color='#00CC00'>Higher</t> Treatment<br/>%11<t color='#E60000'>Higher</t> Reopen Chance<br/>%11<t color='#E60000'>Shorter</t> Reopen Delay<br/>%2%3Quickclot:%4<br/>%11<t color='#E60000'>Lower</t> Treatment<br/>%11<t color='#00CC00'>Lower</t> Reopen Chance<br/>%11<t color='#00CC00'>Longer</t> Reopening Delay<br/><br/>%3Usage:%4<br/>%2Use [%3%13%4] or [%3%14%4] and select a injured body part.<br/>%2Bandage body part by selecting desired %3Bandage%4 type. + %3Bandaże%4 zatrzymają krwawienie i zamykają rany. W zależności od twoich ustawień, bandaże mogą się otwierać, jeżeli rany nie są zaszyte. <br/><br/>%2%3Bandaż Jałowy:%4<br/>%11<t color='#D9D900'>Przeciętne</t> We wszystkich kategoriach<br/>%2%3Bandaż Uciskowy: %4<br/>%11<t color='#D9D900'>Przeciętne</t> Leczenie<br/>%11<t color='#E60000'>Wyższa</t> Szansa Otwarcia<br/>%11<t color='#00CC00'>Dłuższe</t> Opóźnienie Otwarcia<br/>%2%3Bandaż Elastyczny: %4<br/>%11<t color='#00CC00'>Lepsze</t> Leczenie<br/>%11<t color='#E60000'>Wyższa</t> Szansa Otwarcia<br/>%11<t color='#E60000'>Krótsze</t> Opóźnienie Otwarcia<br/>%2%3Quickclot: %4<br/>%11<t color='#E60000'>Gorsze</t> Leczenie<br/>%11<t color='#00CC00'>Niższa</t> Szansa Otwarcia<br/>%11<t color='#00CC00'>Dłuższe</t> Opóźnienie Otwarcia<br/><br/>%3Użycie:%4<br/>%2Użyj [%3%13%4] lub [%3%14%4] i wybierz zranioną część ciała. <br/>%2Zabandażuj ranę wybierając typ %3Bandażu%4. + %3붕대%4는 출혈을 멈추고 상처를 치료합니다.설정에 따라 수술을 하지 않을 경우 붕대가 다시 풀릴 수 있습니다.<br/><br/>%2%3붕대(기본):%4<br/>모든 카테고리에 대해 %11<tcolor='#D9D900'>평균</t>적임<br/>%2%3붕대(거즈):%4<br/><br/>%11<t color='#D9D900'>평균</t>적인 치료 효과<br/>%11<t color='#E60000'>높은</t> 풀림 확률<br/>%11<t color='#00CC00'>긴</t> 풀림 딜레이<br/>%2%3붕대(압박):%4<br/>%11<t color='#00CC00'>높은</t> 치료 효과<br/>%11<t color='#E60000'>높은</t> 풀림 확률<br/>%11<t color='#E60000'>짧은</t> 풀림 딜레이<br/>%2%3붕대(퀵 클롯):%4<br/>%11<t color='#E60000'>낮은</t> 치료 효과<br/>%11<t color='#00CC00'>낮은</t> 풀림 확률<br/>%11<t color='#00CC00'>긴</t> 풀림 딜레이<br/><br/>%3사용 방법:%4<br/>%2[%3%13%4] 또는 [%3%14%4]를 사용하고 부상당한 신체부위를 선택하십시오.<br/>%2원하는 종류의 %3붕대%4를 선택하여 신체부위에 붕대를 감으십시오. + %3Bandagens%4 interrompem o sangramento e fecham feridas. A depender das suas configurações, as bandagens podem reabrir se não for feita a cirurgia.<br/><br/>%2%3Curativo de Campo:%4<br/>%11<t color='#D9D900'>Mediano</t> em todas as categorias<br/>%2%3Bandagem de Compressão:%4<br/>%11<t color='#D9D900'>Mediana</t> em tratamento<br/>%11<t color='#E60000'>Maior</t> chance de reabertura<br/>%11<t color='#00CC00'>Mais longo</t> atraso na reabertura<br/>%2%3Bandagem Elástica:%4<br/>%11<t color='#00CC00'>Melhor</t> em tratamento<br/>%11<t color='#E60000'>Maior</t> chance de reabertura<br/>%11<t color='#E60000'>Mais curto</t> atraso na reabertura<br/>%2%3QuikClot:%4<br/>%11<t color='#E60000'>Pior</t> em tratamento<br/>%11<t color='#00CC00'>Menor</t> chance de reabertura<br/>%11<t color='#00CC00'>Mais longo</t> atraso na reabertura<br/><br/>%Uso:%4<br/>%2Utilize [%3%13%4] ou [%3%14%4] e selecione uma parte do corpo ferida.<br/>%2Suture a parte do corpo selecionando o tipo desejado de %3Bandagem%4. + %3Verbände%4 stoppen Blutungen und schließen Wunden. Abhängig von Ihren Einstellungen können sich Verbände wieder öffnen, wenn keine Operation durchgeführt wird.<br/><br/>%2%3Einfache Bandage:%4<br/>%11<t color='#D9D900'>Durchschnittlich</t> In allen Kategorien<br/>%2%3Mullbinde:%4<br/>%11<t color='#D9D900'>Durchschnittliche</t> Behandlung<br/>%11<t color='#E60000' >Höhere</t> Wiedereröffnungswahrscheinlichkeit<br/>%11<t color='#00CC00'>Längere</t> Wiedereröffnungsverzögerung<br/>%2%3Elastischer Verband:%4<br/>%11<t color='#00CC00'>Längere</t> Behandlung<br/>%11<t color='#E60000'>Höhere</t> Chance auf Wiedereröffnung<br/>%11<t color='#E60000'> Kürzere</t> Wiedereröffnungsverzögerung<br/>%2%3Quickclot:%4<br/>%11<t color='#E60000'>Kürzere</t> Behandlung<br/>%11<t color=' #00CC00'>Geringere</t> Wiedereröffnungswahrscheinlichkeit<br/>%11<t color='#00CC00'>Längere</t> Wiedereröffnungsverzögerung<br/><br/>%3Verwende:%4<br/> %2Verwenden Sie [%3%13%4] oder [%3%14%4] und wähle ein verletztes Körperteil aus.<br/>%2Verbinde ein Körperteil, indem der gewünschte %3Bandagen%4-Typ ausgewählt wurde. + + + IV Fluids + Płyny IV + IV 수액 + Fluidos IV + IV-Flüssigkeiten + 点滴液 + + + Restore Blood Volume + Przywracają Krew + 혈액량을 회복합니다 + Restaurar o volume de sangue + Blutvolumen wiederherstellen + 血液量を回復する + + + %3IV fluids%4 restore lost blood volume. Blood, Plasma, and Saline are functionally the same.<br/><br/>%3Usage:%4<br/>%2Use [%3%13%4] or [%3%14%4] and select an appendage.<br/>%2Restore blood volume by selecting desired %3IV Fluid%4 type. + %3Płyny IV%4 przywracają poziom krwi. Krew, Osocze, i Sól Fizjologiczna są takie same pod względem funkcjonalności.<br/><br/>%3Użycie:%4<br/>%2Użyj [%3%13%4] lub [%3%14%4] i wybierz kończynę.<br/>%2Przywróć poziom krwi przez podanie wybrego %3Płynu IV%4. + %3수액용기%4는 손실된 혈액량을 보충합니다. 혈액, 혈장 및 생리식염수는 기능적으로 동일합니다.<br/><br/>%3사용 방법:%4<br/>%2[%3%13%4] 또는 [%3%14%4]를 사용하고 부위를 선택하십시오.<br/>%2원하는 %3수액용기%4 종류를 선택하여 혈액량을 보충하십시오. + %3Fluidos IV%4 restauram o volume de sangue perdido. Sangue, Plasma e Soro fisiológico são funcionalmente equivalentes.<br/><br/>%3Uso:%4<br/>%Utilize [%3%13%4] ou [%3%14%4] e selecione um apêndice.<br/>%2Restaure o volume de sangue selecionando o tipo desejado de %3Fluido IV%4. + %3IV-Flüssigkeiten%4 stellen das verlorene Blutvolumen wieder her. Blut, Plasma und Kochsalzlösung sind funktionell gleich.<br/><br/>%3Verwende:%4<br/>%2Verwende [%3%13%4] oder [%3%14%4] und wählen ein Körperteil aus..<br/>%2Stelle das Blutvolumen wieder her, indem der gewünschte %3IV Flüssigkeitstyp%4 ausgewählt wird. + + + Increase Heart Rate | Wake Up Faster + Zwiększ Tętno | Obudź się Szybciej + 심박수 상승 | 더 빨리 일어남 + Aumentar a frequência cardíaca | Acordar mais rápido + Herzfrequenz erhöhen | Wache schneller auf + 心拍数を上げる | より速く目覚める + + + %3Epinephrine%4 increases a patient's pulse as well as potentially decreasing the time between consciousnesss checks (effectively reducing the time needed for the patient to wake up).<br/><br/>%3Usage%4<br/>%2Use [%3%13%4] or [%3%14%4] and select an appendage.<br/>%2Inject %3Epinephrine%4. + %3Adrenalina%4 zwiększa tętno pacjenta, zmniejszając czas pomiędzy sprawdzeniami przytomności (efektywnie redukując czas potrzebny do przebudzenia się pacjenta).<br/><br/>%3Użycie%4<br/>%2Użyj [%3%13%4] lub [%3%14%4] i wybierz kończynę.<br/>%2Wstrzyknij %3Adrenalinę%4. + %3에피네프린%4는 환자의 맥박을 증가시킬 뿐만 아니라 의식 검사 사이의 시간을 감소시킬 수 있습니다(환자가 깨어나는 데 필요한 시간을 효과적으로 단축).<br>%3t사용 방법:%4<br/>%2[%3%13%4] 또는 [%3%14%4]를 선택하고 부위를 선택하십시오.<br/>%2%3에피네프린%4을 주사하십시오. + %Epinefrina%4 aumenta o pulso do paciente, bem como potencialmente diminui o tempo entre os exames de consciência (reduzindo efetivamente o tempo necessário para que o paciente acorde).<br/><br/>%3Uso%4<br/>%2Utilize [%3%13%4] ou [%3%14%4] e selecione um apêndice.<br/>%2Injete %3Epinefrina%4. + %3Epinephrine%4 erhöht den Puls eines Patienten und verkürzt möglicherweise die Zeit zwischen Bewusstseinskontrollen (wodurch die Zeit, die der Patient zum Aufwachen benötigt, effektiv verkürzt wird).<br/><br/>%3Verwendung%4<br/>%2Verwende [%3%13%4] oder [%3%14%4] und wählen ein Körperteil aus.<br/>%2Injiziere %3Epinephrine%4. + + + Restore Like New + Jak Nowo Narodzony + 신체 완치 + Restaurar como novo + Wie neu wiederherstellen + 生まれたてのように治療する + + + The %3Personal Aid Kit%4 is an item that allows a soldier to be fully healed. Independent of %3ACE Settings%4, it requires that the patient is in %3Stable Condition%4 before use.<br/><br/>%3Stable Condition%4 qualifies as:<br/>%2Unit is %3Alive%4.<br/>%2Unit is %3Conscious%4.<br/>%2Unit has no active %3Bleeding%4.<br/>%2Heart Rate >= 40.<br/>%2Systolic BP >= 60.<br/>%2Diastolic BP >= 50.<br/><br/>%3Usage:%4<br/>%2Move to appropriate location depending on %3ACE Settings%4.<br/>%2Use [%3%13%4] or [%3%14%4] and select %3Advanced Treatments%4<br/>%2Select %3Use Personal Aid Kit%4. + %3Apteczka Osobista%4 jest przedmiotem pozwalającym na pełne uleczenie gracza. Niezależnie od %3Ustawień ACE%4, wymagane jest, aby pacjent był w%3Stanie Stabilnym%4 przed jej użyciem.<br/><br/>%3Stan Stabilny%4 występuje gdy:<br/>%2Jednostka jest %3Żywa%4.<br/>%2Jednostka jest %3Przytomna%4.<br/>%2Jednostka nie%3Krwawu%4.<br/>%2Tętno>= 40. <br/>%2Ciśnienie Skurczowe >= 60.<br/>%2Ciśnienie Rozkurczowe >= 50.<br/><br/>%3Użycie:%4<br/>%2Udaj się do właściwej lokacji żależnej od %3Ustawień ACE%4.<br/>%2Użyj [%3%13%4] lub [%3%14%4] i wybierz %3Zaawansowane Zabiegi%4.<br/>%2Wybierz %3Użyj Apteczki Osobistej%4. + %3개인응급키트%4는 병사를 완치시킬 수 있는 아이템입니다. %3ACE 설정%4과 무관하게 사용 전에 환자가 %3안정된 상태%4로 있어야 합니다.<br/><br/>%3안정된 상태%4는 다음 조건이 필요합니다:<br/>%2유닛이 %3살아있어야%4 합니다.<br/>%2유닛은 %3의식이 있어야%4 합니다.<br/>%2유닛은 %3출혈이 일어나지 않은 상태%4여야 합니다.<br/>%2심박수가 40 이상이어야 합니다.<br/>%2수축 혈압이 60 이상이어야 합니다.<br/>이완 혈압이 50 이상이어야 합니다.<br/><br/>%3사용 방법:%4<br/>%2%3ACE 설정%4에 따라 적절한 위치로 이동하십시오.<br/>%2[%3%13%4] 또는 [%3%14%4]를 사용하여 %3고급 치료%4를 선택하십시오.<br/>%2%3개인응급키트 사용%4을 선택하십시오. + O %3Kit De Primeiros Socorros Pessoal%4 é um item que permite a cura completa de um combatente. Independente das %3Configurações do ACE%4, é necessário que o paciente esteja em %3Condições Estáveis%4 antes do uso.<br/><br/>%3Condições estáveis%4 qualificam-se como:<br/>%2Unidade está %3Viva%4.<br/>%2Unidade está %3Consciente%4.<br/>%2Unidade não está %3Sangrando%4.<br/>%2Frequência Cardíaca >= 40.<br/>%2PA Sistólica >= 60.<br/>%2PA Diastólica >= 50.<br/><br/>%3Uso:%4<br/>%2Mover-se a uma localização apropriada, a depender das %3Configurações do ACE%4.<br/>%2Utilizar [%3%13%4] ou [%3%14%4] e selecionar %3Tratamentos Avançados%4<br/>%2Selecionar %3Usar o kit de primeiros socorros%4. + Das %3Persönliche Erste Hilfe Kit%4 ist ein Gegenstand, der es einem Soldaten ermöglicht, vollständig geheilt zu werden. Unabhängig von den %3ACE-Einstellungen%4 ist es erforderlich, dass sich der Patient vor der Verwendung in einem %3stabilen Zustand%4 befindet.<br/><br/>%3Stabiler Zustand%4 gilt wenn:<br/>%2Einheit ist %3am Leben%4 .<br/>%2Einheit ist %3Bei Bewusstsein%4.<br/>%2Einheit hat keine aktive %3Blutung%4.<br/>%2Herzfrequenz >= 40.<br/>%2Systolischer Blutdruck >= 60.< br/>%2Diastolischer Blutdruck >= 50.<br/><br/>%3Verwende:%4<br/>%2Bewege den Patienten je nach %3ACE-Einstellungen%4 an den entsprechenden Ort.<br/>%2Verwende [%3% 13%4] oder [%3%14%4] und wähle %3Erweiterte Behandlungen%4<br/>%2Wähle %3Persönliche Erste Hilfe Kit verwenden%4. + + + Fix Fractures + Opatrywanie Złamań + 골절을 치료합니다 + Consertar Fraturas + Brüche richten + 骨折を治す + + + A %3Splint%4 is used to fix fractures. The %3Splint%4 is consumed when used.<br/><br/>%3Usage:%4<br/>%2Use [%3%13%4] or [%3%14%4] and select an affected appendage.<br/>%2Select %3Apply Splint%4. + %3Szyna%4 jest używana do leczenie złamań. %3Szyna%4 jest zużywana po wykorzystaniu.<br/><br/>%3Użycie:%4<br/>%2Użyj [%3%13%4] lub [%3%14%4] i wybierz kończynę, na którą ma być założona.<br/>%2Wybierz %3Załóż Szynę%4. + %3부목%4은 골절을 치료하는 데 사용되며 %3부목%4은 사용 시 소모됩니다.<br/><br/>%3사용 방법%4<br/>%2[%3%13%4] 또는 [%3%14%4]를 사용하여 해당 부위를 선택하십시오.<br/>%2%3부목 대기%4를 선택하십시오. + A %3Tala%4 é utilizada para consertar fraturas. Ela é consumida quando utilizada.<br/><br/>%Uso:%4<br/>%2Utilize [%3%13%4] ou [%3%14%4] e selecione um membro afetado.<br/>%2Selecione %3Aplicar Tala%4. + Ein %3Splint%4 wird zur Fixierung von Frakturen verwendet. Der %3Splint%4 wird bei Verwendung verbraucht.<br/><br/>%3Verwendung:%4<br/>%2Verwende [%3%13%4] oder [%3%14%4] und wählen ein Körperteil aus.<br/>%2Wähle %3Schiene verwenden%4. + + + Prevent Wounds From Reopening + Zapobiegaj Ponownemu Otwieraniu się Ran + 상처가 재발하지 않도록 방지합니다 + Prevenir Reabertura de Feridas + 傷の再発を防ぐ + + + A %3Surgical Kit%4 is used to prevent wounds from reopening after being bandaged. Depending on settings, it can also clear trauma and may require additional %3Sutures%4 to close wounds. Sutures are consumable, much like bandages, and are not a replacement for the Surgical Kit.<br/><br/>%3Usage:%4<br/>%2Use [%3%13%4] or [%3%14%4] and select %3Advanced Treatment%4.<br/>%2Select %3Use Surgical Kit%4. + %3Zestaw do Szycia%4 jest używany do zapobiegania otwieraniu się ran po ich zabandażowaniu. W zależności od ustawień może także je leczyć.<br/><br/>%3Użycie:%4<br/>%2Użyj [%3%13%4] lub [%3%14%4] i wybierz %3Zaawansowane Zabiegi%4.<br/>%2Wybierz %3Użyj Zestawu do Szycia%4. + %3봉합 키트%4는 붕대를 감은 후 상처가 다시 열리는 것을 방지하기 위해 사용됩니다. 설정에 따라 외상을 치료할 수도 있습니다.<br/><br/>%3사용 방법:%4<br/>%2[%3%13%4] 또는 [%3%14%4]를 사용하여 %3고급 치료%4를 선택하십시오.<br/>%2%3봉합 키트%4를 선택하십시오. + O %3Kit Cirúrgico%4 é utilizado para prevenir a reabertura de feridas após a aplicação de bandagens. A depender das configurações, ele também pode remover traumas e pode requerir %3Suturas%4 adicionais para fechar feridas. Suturas são consumíveis, tal como as bandagens, e não são substituem o Kit Cirúrgico.<br/><br/>%3Uso:%4<br/>%2Utilize [%3%13%4] ou [%3%14%4] e selecione %3Tratamento Avançado%4.<br/>%2Selecione %3Usar Kit Cirúrgico%4. + + + Stop Bleeding + Zatamuj Krwawienie + 피를 멈추게 합니다 + Parar o Sangramento + 出血を止める + + + A %3Tourniquet%4 stops bleeding temporarily so that a wound(s) can be bandaged. Can only be used on limbs.<br/><br/>%3Usage:%4<br/>%2Use [%3%13%4] or [%3%14%4] and select an affected appendage.<br/>%2Select %3Apply Tourniquet%4. + %3Staza%4 czasowo zatrzymuje krwawienie pozwalając na zabandażowanie ran. Może być użyta tylko na kończynach.<br/><br/>%3Użycie:%4<br/>%2Użyj [%3%13%4] lub [%3%14%4] i wybierz kończynę.<br/>%2Wybierz %3Załóż Stazę%4. + %3지혈대%4는 출혈을 일시적으로 멈춰 상처(들)에 붕대를 감을 수 있습니다.<br/><br/>%3사용 방법:%4<br/>%2[%3%13%4] 또는 [%3%14%4]를 사용하여 해당 부위를 선택하십시오.<br/>%2%3지혈대 적용%4를 선택하십시오. + O %3Torniquete%4 interrompe o sangramento temporariamente, para que feridas possam ser enfaixadas. Seu uso é restrito aos membros.<br/><br/>%3Uso:%4<br/>%2Utilize [%3%13%4] ou [%3%14%4] e selecione um membro afetado.<br/>%2Selecione %3Aplicar Torniquete%4. + + + Medical Menu + Sanitätsmenü + Menu medyczne + Menu Médico + Медицинское меню + Menú médico + Zdravotnická nabídka + Menù Medico + Menu médical + メディカルメニュー + 의료 메뉴 + 医疗菜单 + 醫療選單 + Medikal Menü + + + Treatment, Simplified + Leczenie, Uproszczone + 치료, 단순화 + Tratamento, Simplificado + 治療、簡略化 + + + The %3Medical Menu%4 is a dedicated %3interface%4 to facilitate %3medical treatment%4. The %3R%4 and %3L%4 letters indicate the side of the patient's body being treated.<br/><br/>%3Usage:%4<br/>%2Use [%3%14%4] while looking at a patient to open the Medical Menu. Opening the menu without a patient allows for self-treatment.<br/>%2Alternatively, use [%3%12%4] or [%3%13%4] and select %3Medical Menu%4.<br/><br/>%3Keybinds:%4<br/>%2Use [%3W, A, S, D, X, and Z%4] to select body parts.<br/>%2Use your %3number keys%4 to select treatment categories. + %3Menu Medyczne%4 jest dedykowanym %3interfejsem%4 ułatwiającym %3zabiegi medyczne%4. Litery %3P%4 i %3L%4 wskazują, która część ciała pacjenta jest opatrywana.<br/><br/>%3Użycie:%4<br/>%2Użyj [%3%14%4] podczas patrzenia na pacjenta aby otworzyć Menu Medyczne. Otwarcie menu bez patrzenia na pacjenta otwiera menu leczenia własnej postaci.<br/>%2Alternatywnie, użyj [%3%12%4] lub [%3%13%4] i wybierz %3Menu Medyczne%4.<br/><br/>%3Przypisanie Klawiszy:%4<br/>%2Użyj [%3W, A, S, D, X, i Z%4] aby wybrać części ciała.<br/>%2Użyj %3klawiszy numerycznych%4 do wybrania kategorii leczenia. + %3의료 메뉴%4는 %3의료%4를 용이하게 사용하기 위한 전용 %3인터페이스%4입니다. %3우%4 및 %3좌%4 문자는 치료 중인 환자의 신체 측면을 나타냅니다.<br/><br/>%3사용 방법:%4<br/>%2환자를 보고 [%3%13%4]를 사용하여 의료 메뉴를 여십시오. 환자 없이 메뉴를 열면 자가 치료가 됩니다.<br/>%2아니면 [%3%12%4] 또는 [%3%13%4]를 사용하고 %3의료 메뉴%4를 선택하십시오.<br/><br/>%3키 설정%4<ㅠㄱ/>%2[%3W, A, S, D, X와 ㅋ%4]를 사용하여 신체 부위를 선택하십시오.<br/>%2%3번호판 키%4를 사용하여 치료 카테고리를 선택하십시오. + O %3Menu Médico%4 é uma %3interface%4 dedicada a facilitar o %3tratamento médico%4. As letras %3R%4 e %3L%4 indicam o lado do corpo do paciente que está recebendo o tratamento.<br/><br/>%3Uso:%4<br/>%2Utilize [%3%14%4] enquanto olha o paciente para abrir o Menu Médico. Se não houver paciente, o menu será de auto-tratamento.<br/>%2Alternativamente, utilize [%3%12%4] ou [%3%13%4] e selecione %3Menu Médico%4.<br/><br/>%3Atalhos de teclado:%4<br/>%2Utilize [%3W, A, S, D, X, e Z%4] para selecionar partes do corpo.<br/>%2Utilize as %3teclas numéricas%4 para selecionar as categorias de tratamento. + + + Portable, Precise, Rugged + Przenośny, Precyzyjny, Wytrzymały + 휴대성 있고, 정밀하며, 견고합니다 + Portátil, Preciso e Robusto + 高機動、高精度、高耐久 + + + The %3Horus ATragMX%4 considers atmospheric conditions, gun data, ammunition, range, speed, and muzzle velocity to calculate precise aiming solutions with %3Come-Up%4 results - and even accounts for %3Coriolis%4 and %3Spin Drift%4 effects. %3ATragMX%4, loaded on a handheld computer made by %3TDS Recon%4, is easy to use and lightning fast. The %3Recon%4 meets the rigorous %3MIL-STD-810F%4 military standard for drops, vibration, humidity, altitude and extreme temperatures.<br/><br/>%3Usage:%4<br/>Please visit the wiki page for more information. + %3Horus ATragMX%4 uwzględnia warunki atmosferyczne, dane broni, amunicję, zasięg, prędkość wylotową do wyliczenia precyzyjnych nastaw - ponadto uwzględnia %3Efekt Coriolisa%4 oraz %3Efekt Spinowy%4. %3ATragMX%4, załadowany na komputer przenośny wyprodukowany przez %3TDS Recon%4, jest łatwy i prosty w użyciu. %3Recon%4 spełnia rygorystyczne wymagania %3MIL-STD-810F%4 pod względem odporności na upadek, wibracje, wilgotność, wyskość oraz ekstremalne temperatury.<br/><br/>%3Użycie:%4<br/>Wejdź na wiki po więcej informacji. + %3호러스 ATragMX%4는 대기 상태, 총기 데이터, 탄약, 사거리, 탄속 그리고 총구 속도를 고려하여 %3나타나는 결과%4로 정확한 해결책을 계산하고 %3코리올리 효과%4와 %3스핀 드리프트 효과%4도 설명합니다. %3TDS Recon%4 사에서 제작한 휴대용 컴퓨터에 탑재된 %3ATragMX%4는 사용하기 쉽고 매우 빠릅니다. %3Recon%4 사는 낙하, 진동, 습도, 고도 및 극한 온도에 대해 엄격한 %3%4MIL-STD-810F%4 군사 표준을 충족합니다.<br/><br/>%3사용 방법:%4<br/>자세한 내용은 위키 페이지를 참조하십시오. + O %3Horus ATragMX%4 considera condições atmosféricas, dados de armas, munição, alcance, e velocidade do projétil - e até os efeitos Coriolis e Spin - para calcular as configurações necessárias da mira. O %3ATragMX%4, carregado em um computador portátil feito pela %3TDS Recon%4, é rápido e fácil de usar. O %3Recon%4 satisfaz os rigorosos padrões militares %3MIL-STD-810F%4 para quedas, vibrações, umidade, altitude e temperaturas extremas.<br/><br/>%3Uso:%4<br/>Por favor, visite a wiki para mais informações. + + + Bring Out Your Dead + Przyprowadź Swoich Zmarłych + 죽은 사람을 끌어냅니다 + Retorne os Abatidos + 死者を連れ出せ + + + %3Body Bags%4 are used to transport dead bodies. They can be dragged and loaded into vehicles.<br/><br/>%3Usage:%4<br/>%2Approach a dead body.<br/>%2Use [%3%13%4] or [%3%14%4] and select %3Place Body In Bodybag%4. + %3Worki na Zwłoki%4 są używane do transportu ciał. Worki mogą być przeciągane i ładowanie do pojazdów.<br/><br/>%3Użycie:%4<br/>%2Podejdź do martwego ciała.<br/>%2Użyj [%3%13%4] lub [%3%14%4] i wybierz %3Umieść Ciało w Worku na Zwłoki%4. + %3시체 운반용 부대%4는 시체를 운반하는 데 사용되며, 차량으로 끌고 가서 적재할 수 있습니다.<br/><br/>%3사용 방법:%4<br/>%2시체에 접근하십시오.<br/>%2[%3%13%4] 또는 [%3%14%4]를 사용하여 %3시체 운반용 부대에 담기%4를 선택하십시오. + OS %3Sacos de Cadáver%4 são utilizados para transportar cadáveres. Eles podem ser arrastados e embarcados em veículos.<br/><br/>%3Uso:%4<br/>%2Aproxime-se de um cadáver.<br/>%2Utilize [%3%13%4] ou [%3%14%4] e selecione %3Colocar cadáver dentro do saco%4. + + + Take Prisoners + Weź Więźniów + 포로를 데려갑니다 + Faça Prisioneiros + 捕虜をとる + + + %3Cable Ties%4 enable a soldier to capture and detain another soldier. Once apprehended, the captor gains the ability to inspect the prisoner's belongings, set them free, or accompany them to an alternate area. Transporting escorted prisoners is also possible, including loading them into vehicles if needed. Depending on your settings, units may need to surrender before being taken captive.<br/><br/>%3Usage:%4<br/>%2Approach the unit and use the [%3%13%4].<br/>%2The interaction is located around the hands in the form of a handcuffs icon.<br/>%2Repeat to release. + %3Opaski Zaciskowe%4 umożliwiają żołnierzowi pojmanie i zatrzymanie innego żołnierza, a po zatrzymaniu pozwalają na sprawdzenia ekwipunku więźnia, uwolnienia go lub przeniesienia w inne miejsce, a także załadowania go do pojazdu, jeśli zajdzie taka potrzeba. W zależności od ustawień, jednostka może wymagać poddania się przed wzięciem do niewoli.<br/><br/>%3Użycie:%4<br/>%2Podejdź do jednostki i użyj [%3%13%4].<br/>%2Interakcja jest zlokalizowana na rękach pod postacią ikony kajdanek.<br/>%2Użyj ponownie aby uwolnić. + %3게이블 타이%4를 사용하면 병사가 다른 병사를 포로로 잡고 구금할 수 있습니다. 체포되면 포로는 포로의 소지품을 검사하여 석방하거나 대체 지역으로 동행시킬 수 있습니다. 필요하면 차량에 싣는 것을 포함하여 죄수를 호송할 수도 있습니다. 설정에 따라 유닛은 포로가 되기 전에 항복해야 할 수도 있습니다.<br/><br/>%3사용 방법:%4%2유닛에 접근하여 [%3%13%4]를 사용하십시오.<br/>%2상호작용은 수갑 아이콘의 형태로 손 부분에 위치합니다.<br/>%2해제 하려면 같은 행동을 반복하십시오. + As %3Algema Plásticas%4 permitem a captura e detenção de soldados. Quando apreendidos, o captor se torna capaz de inspecionar os pertences do prisioneiro, liberá-los, ou acompanhá-los a outro local. Transportes mais longos também são possíveis, podendo colocá-los em veículos, se necessário. A depender das configurações, pode ser necessário que as unidades estejam rendidas antes de serem detidas.<br/><br/>%3Uso:%4<br/>%2Aproxime-se da unidade e use [%3%13%4].<br/>%2A interação encontra-se próxima às mãos simbolizada por uma algema.<br/>%2Faça o mesmo para liberar. + + + Phone In An Explosion + Zadzwoń po Eksplozję + 기폭 전화입니다 + Celular Explosivo + 電話でドカン + + + The %3Cellphone%4 is functionally a %3Clacker%4. Use it to connect and detonate an explosive device. Multiple devices can be linked to the cellphone and called within the phonebook.<br/><br/>%3Usage:%4<br/>%2Place an explosive.<br/>%2Use [%3%13%4], select %3Explosives%4, and select %3Cellphone%4.<br/>%2Open the cellphone interface with [%3%12%4].<br/>%2Navigate the phone book with the arrows and select your calling number.<br/>%2Call the number to detonate. + %3Telefon%4 jest funkcjonalnie %3Detonatorem%4. Użyj go, aby podłączyć i zdetonować ładunek wybuchowy. Wiele urządzeń może być połączonych z jednym telefonem komórkowym i wywoływanych za pomocą książki telefonicznej.<br/><br/>%3Użycie:%4<br/>%2Połóż ładunek wybuchowy<br/>%2Użyj [%3%13%4], wybierz %3Ładunki Wybuchowe%4, i wybierz %3Telefon%4. <br/>%2Otwórz interfejs telefonu za pomocą [%3%12%4].<br/>%2Nawiguj po książce telefonicznej za pomocą strzałek i wybierz żądany numer.<br/>%2Zadzwoń pod niego aby wywołać wybuch. + %3휴대전화%4는 기능적으로는 %3격발기%4입니다. 폭발물 장치를 연결하여 폭발물을 터뜨릴 때 사용합니다. 여러 장치를 휴대전화와 연결하여 전화번호부 내에서 호출할 수 있습니다.<br/><br/>%3사용 방법:%4<br/>%2폭발물을 놓으십시오.<br/>%2[%313%4]를 사용하고, %3폭발물%4을 선택하고, %3휴대전화%4를 선택하십시오.<br/%2[%3%12%4]로 휴대전화 인터페이스를 여십시오.<br/>%2기폭시킬 전화번호를 선택하십시오. + O %3Celular%4 serve como dispositivo de detonação ao explosivo. Utilize-o para conectar e detonar dispositivos explosivos. Múltiplos dispositivos podem estar conectados ao celular e aparecerão na lista telefônica.<br/><br/>%3Uso:%4<br/>%2Plante o explosivo.<br/>%2Utilize [%3%13%4], selecione %3Explosivos%4, e selecione %3Celular%4.<br/>%2Abra a interface do celular com [%3%12%4].<br/>%2Navegue pela lista telefônica utilizando as setas e selecione o número desejado.<br/>%2Ligue para o número para detonar. + + + Portable Reading Lights + Przenośne Lampki do Czytania + 휴대용 조명입니다 + Luzes de Leitura Portáteis + 携帯読書灯 + + + %3Chemlight Shields%4 give you the ability to read your map, even in dark environments. However, when using %3Chemlight Shields%4, you will have a slight glow around you.<br/><br/>%3Usage:%4<br/>%2Use [%3%12%4] and select %3Equipment%4.<br/>%2elect %3Chemlights%4 and %3Prepare Chemlight Shield (Color)%4.<br/>%2Open %3Map%4.<br/>%2Use [%3%12%4] and select %3Flashlights%4 where you will find your chemlight shield. + %3Osłony na Świetliki%4 dają ci możliwość czytania mapy nawet w najciemniejszym otoczeniu. Jednak podczas korzystania z %3Świetlików%4, wokół ciebie będzie widoczna lekka poświata<br/><br/>%3Użycie:%4<br/>%2Użyj [%3%12%4] i wybierz %3Ekwipunek%4. <br/>%2Wybierz %3Świetlik%4 i %3Przygotuj Osłonę Świetlika (Kolor)%4.<br/>%2Otwórz%3Mapę%4.<br/>%2Użyj [%3%12%4] i wybierz %3Latarki%4 gdzie znajdziesz twoją osłonę na świetlik. + %3화학조명 가림막%4은 어두운 환경에서도 지도를 읽을 수 있는 기능을 제공합니다. 단, %3화학조명 가림막%4을 사용하면 주변에 약간 빛이 납니다.<br/><br/>%3사용 방법:%4<br/>%2[%3%12%4]를 사용하고 %3장비%4를 선택하십시오.<br/>%2%3화학조명%4을 선택하고 %화학조명 가림막 준비%4를 선택하십시오.<br/>%2%3지도%4를 열고 [%3%12%4]를 사용하고 화학조명 가림막을 찾을 수 있는 %3손전등%4을 선택하십시오. + Os %3Protetores de Bastão de Luz%4 possibilitam a leitura de mapas em ambientes escuros. Todavia, quando utilizados, eles iluminam parcialmente os seus arredores.<br/><br/>%3Uso:%4<br/>%2Utilize [%3%12%4] e selecione %3Equipamento%4.<br/>%2Selecione %3Bastões de Luz%4 e %Preparar Protetor de Bastão de Luz (Cor)%4.<br/>%2Abrir %3Mapa%4.<br/>%2Utilize [%3%12%4] e selecione %3Lanternas%4 onde você encontrará o seu bastão de luz. + + + Remote Detonation + Zdalna Detonacja + 원격 격발기입니다 + Detonação Remota + リモコン爆弾 + + + Use %3Clackers%4 to connect and detonate an explosive device. Multiple devices can be linked to a clacker and detonated on different channels.<br/><br/>%3Usage:%4<br/>%2Place an explosive.<br/>%2Use [%3%13%4], select %3Explosives%4, and select the %3Clacker%4 you wish to link to.<br/>%2Open the ACE interface with [%3%12%4].<br/>%2Select %3Explosives%4 and select a %3Clacker%4.<br/>%2Select the %3Explosive%4 you wish to detonate. + Użyj%3Detonatora%4 do podłączenia i wysadzenia ładunku. Do jednego ładunku może być podłączonych wiele ładunków na różnych kanałach.<br/><br/>%3Użycie:%4<br/>%2Połóż ładunek wybuchowy.<br/>%2Użyj [%3%13%4], wybierz%3Mat. Wybuchowe%4, i wybierz %3Detonator%4, do którego chcesz go podłączyć.<br/>%2Otwórz menu interakcji ACE [%3%12%4].<br/>%2Wybierz %3Mat. Wybuchowe%4 i wybierz %3Detonator%4.<br/>%2Wybierz %3Ładunek%4 który chcesz wysadzić. + %3격발기%4를 사용하여 폭발물을 연결하고 폭발시킬 수 있습니다. 여러 폭발물을 다른 채널에 연결하여 폭발시킬 수도 있습니다.<br/><br/>%3사용 방법:%4<br/>%2폭발물을 설치합니다.<br/>%2[%3%13%4]를 사용하여 %3폭발물%4을 선택하고 연결할 %3격발기%4를 선택하십시오.<br/>%2[%3%12%4] 키로 ACE 인터페이스를 여십시오.<br/>%2%3폭발물%4을 선택하고 %3격발기%4를 선택하십시오.<br/>%2%3폭발물%4을 선택하면 폭발합니다. + + + Navigate + Nawigacja + 내비게이션입니다 + ナビゲーション + + + The %3DAGR%4 is a simpler version of the %3MicroDAGR GPS%4. It has similar features but lacks the topographic and satellite imaging functions of the %3MicroDAGR GPS%4.<br/><br/>%3Usage:%4<br/>%2Equip a %3DAGR%4.<br/>%2Use [%3%12%4] and select %3Configure%4 or %3Toggle%4.<br/><br/>The following menus are available when configuring your %3DAGR:%4<br/>%11%2Data View: WIP<br/>%11%2GoTo WP: Select a waypoint to track.<br/>%11%2WP List: Add/Edit/Remove waypoints.<br/>%11%2Connect To: Connect %3DAGR%4 to the %3Vector 21 Rangefinder%4.<br/>%11%2Options + %3DAGR%4 jest uproszczoną wersją%3MicroDAGR GPS%4. Posiada podobne funkcje, ale brakuje mu map dostępnych w %3MicroDAGR GPS%4.<br/><br/>%3Użycie:%4<br/>%2Wyekwipuj %3DAGR%4.<br/>%2Użyj [%3%12%4] i wybierz %3Konfiguruj%4 lub %3Przełącz%4.<br/><br/>Poniższe menu są dostępne podczas konfiguracji %3DAGR:%4<br/>%11%2Widok Danych: WIP<br/>%11%2GoTo WP: Wybierz waypoint do śledzenia.<br/>%11%2WP List: Dodaj/Edytuj/Usuń waypointy.<br/>%11%2Połącz do: Połącz %3DAGR%4 do dalmierza %3Vector 21%4.<br/>%11%2Opcje + %3DAGR%4은 %3마이크로DAGR GPS%4의 단순화 버전입니다. 유사한 기능을 가지고 있지만 %3마이크로DAGR GPS%4의 지형 및 위성 이미지 기능이 없습니다.<br/><br/>%3사용 방법:%4<br/>%2%3DAGR%4를 장착하십시오.<br/>%2[%3%12%4를 사용하고 %3DAGR 설정%4 또는 %3DAGR 토글%4을 선택하십시오.<br/><br/>%3DAGR%4을 구성할 때 다음 메뉴를 사용할 수 있습니다:<br/>%11%2Data View: 제작 중<br/>%11%2GoTo WP: 추적할 웨이포인트를 선택합니다.<br/>%11%2WP List: 경유지를 추가/편집/제거합니다.<br/>%11%2Connect To: %3DAGR%4을 %3벡터 21%4 거리계에 연동시킵니다.<br/>%11%2옵션입니다 + + + Explosive Revenge + Wybuchowa Zemsta + '폭발'적인 복수입니다 + 爆発的な復讐 + + + The %3Dead Man's Switch%4 is a device that allows a soldier to detonate an %3Explosive%4 when the soldier dies.<br/><br/>%3Usage:%4<br/>%2Use [%3%12%4] and select %3Explosives%4.<br/>%2Select %3Dead Man's Switch%4 and connect the desired %3Explosive%4.<br/>%2Repeat the process and disconnect to reverse. + %3Czuwak%4 jest urządzeniem pozwalającym wysadzić %3Ładunek Wybuchowy%4 gdy żołnierz zginie.<br/><br/>%3Użycie:%4<br/>%2Użyj [%3%12%4] i wybierz %3Mat. Wybuchowe%4.<br/>%2Wybierz %3Czuwak%4 i połącz wybrany %3Ładunek Wybuchowy%4.<br/>%2W celu odłączenia powtórz czynności i wybierz odłącz. + %3자폭 장치%4는 병사가 사망했을 때 병사가 %3폭발물%4을 폭발시킬 수 있는 장치입니다.<br/><br/>%3사용 방법:%4<br/>%2[%3%12%4]를 사용하고 %3폭발물%4을 선택하십시오.<br/>%2%3자폭 장치%4를 선택하고 원하는 %3폭발물%4에 연결하십시오.<br/>%2반대로 해제하고 싶다면 같은 행동을 반복하십시오. + + + The %3Defusal Kit%4 allows defusal of explosives.<br/><br/>%3Usage:%4<br/>%2Equip a %3Defusal Kit%4.<br/>%2Safely approach an %3Explosive%4.<br/>%2Use [%3%13%4] and select %3Defuse%4. + %3Zestaw do Rozbrajania%4 pozwala rozbrajać ładunki wybuchowe.<br/><br/>%3Użycie:%4<br/>%2Wyekwipuj %3Zestaw do Rozbrajania%4.<br/>%2Ostrożnie podejdź pod %3Ładunek Wybuchowy%4.<br/>%2Użyj [%3%13%4] i wybierz %3Rozbrój%4. + %3해체 장비%4를 사용하면 폭발물을 제거할 수 있습니다.<br/><br/>%3사용 방법:%4<br/>%2%3해체 장비%4를 장착하십시오.<br/>%2%3폭발물%4에 안전하게 접근하십시오.<br/>%2[%3%13%4]를 사용하고 %3해체%4를 선택하십시오. + + + Defuse Explosives + Rozbrajanie Ładunków + 폭발물을 해체합니다 + 爆発物の解除 + + + Protect Your Hearing + Dbaj o Swój Słuch + 청력을 보호합니다 + 聴覚の保護 + + + %3Ear Plugs%4 help prevent hearing damage from repeat loud noises near a soldier. Insert %3Ear Plugs%4 to lower volume of a soldier's environment and prevent %3Combat Deafness%4.<br/><br/>%3Usage:%4<br/>%2Use [%3%12%4] and select %3Equipment%4.<br/>%2Insert %3Ear Plugs%4. + %3Stopery do Uszu%4 zapobiegają uszkodzeniom słuchu na skutek wybuchów i strzałów w pobliżu żołnierza. Włóż %3Stopery do Uszu%4 w celu wyciszenia otoczenia i uniknięcia %3Głuchoty Bojowej%4.<br/><br/>%3Użycie:%4<br/>%2Użyj [%3%12%4] i wybierz %3Ekwipunek%4.<br/>%2Włóż %3Stopery do Uszu%4. + %3귀마개%4는 병사 주변에서 반복되는 시끄러운 소리로 인한 청력 손상을 방지하는 데 도움이 됩니다. %3귀마개%4를 끼워서 병사가 있는 환경의 소리 크기를 낮추고 %3전투로 인한 청력손상%4을 방지하십시오.<br/><br/>%3사용 방법:%4<br/>%2[%3%12%4]를 사용하여 %3장비%4를 선택하십시오.<br/>%2%3귀마개%4를 삽입하십시오. + + + Get To Cover + Łap Osłonę + 엄폐하십시오 + 遮蔽を作り出す + + + The %3Entrenching Tool%4 allows soldiers to dig trenches to help defend their position. The soldier must be on soil in order to dig a trench.<br/><br/>%3Usage:%4<br/>%2Equip an %3Entrenching Tool%4.<br/>%2Use [%3%12%4] and select %3Equipment%4.<br/>%2Select the type of trench you wish to build. + %3Saperka%4 pozwala żołnierzowi kopać okopy w celu obrony swoich pozycji. Żołnierz musi być na glebie, aby wykopać okop.<br/><br/>%3Użycie:%4<br/>%2Wyekwipuj %3Saperkę%4.<br/>%2Użyj [%3%12%4] i wybierz %3Ekwipunek%4.<br/>%2Wybierz rodzaj okopu, który chcesz wykopać. + %3야전삽%4을 사용하면 병사들의 진지 방어를 위한 참호를 팔 수 있습니다. 병사가 참호를 파려면 흙 위에 있어야 합니다.<br/><br/>%3사용 방법:%4<br/>%2%3야전삽%4을 장비하십시오.<br/>%2[%3%12%4]를 사용하여 %3장비%4를 선택하십시오.<br/>짓고 싶은 종류의 참호를 선택하십시오. + + + Flashlights + Latarki + 손전등 + 懐中電灯 + + + Illuminate Your Map + Rozświetlij Swoją Mapę + 지도를 밝혀줍니다 + 地図を照らす + + + %3Flashlights%4 give you the ability to read your map, even in dark environments. However, when using %3Flashlights%4, you will have a slight glow around you.<br/><br/>%3Usage:%4<br/>%2On the map screen, use [%3%12%4] and select %3Flashlights%4.<br/>%2Select the %3Flashlight%4 you want to use and select %3On%4.<br/><br/>%3Available Flashlight Items%4:<br/>%2 Fulton MX-991<br/>%2 KSF-1<br/>%2 Maglite XL50<br/><br/>%3NOTE:%4<br/>Flashlight states are persistent. + %3Latarki%4 pozwalają czytać mapę, nawet w ciemnościach. Jednakże podczas używani %3Latarki%4, będziesz miał wokół siebie delikatną poświatę.<br/><br/>%3Użycie:%4<br/>%2W widoku mapy użyj [%3%12%4] i wybierz %3Latarki%4.<br/>%2Wybierz %3Latarkę%4, którą chcesz użyć i wybierz %3Włącz%4.<br/><br/>%3Dostępne latarki%4:<br/>%2 Fulton MX-991<br/>%2 KSF-1<br/>%2 Maglite XL50<br/><br/>%3NOTE:%4<br/>Stan latarki jest trwały. + %3손전등%4은 어두운 환경에서도 지도를 읽을 수 있는 기능을 제공합니다. 단, %3손전등%4을 사용할 때 주변에 약간 빛이 납니다.<br/><br/>%3사용 방법:%4<br/>%2지도 화면에서 [%3%12%4]를 사용하고 %3손전등%4을 선택하십시오.<br/>%2사용할 %3손전등%4을 선택하고 %3켜기%4를 선택하십시오.<br/><br/>%3사용 가능한 손전등 아이템%4:<br/>% 2풀턴 MX-991<br/>%2 KSF-1<br/>%2 매그라이트 XL50<br/><br/>%3참고:%4<br/>손전등 상태는 영구적입니다. + + + Observe From The Skies + Obserwuj Świat z Góry + 하늘에서 관측합니다 + 空から戦場を見てみよう + + + The %3High-Altitude Unit Navigated Tactical Imaging Round (HuntIR)%4 is designed to be fired from a grenade launcher. After being fired in the air, the built-in parachute will be deployed and the IR CMOS camera will activate, providing a video stream until it touches the ground or is shot down.<br/><br/>%3Usage:%4<br/>%2Equip a %3HuntIR Monitor%4 and compatible ammunition.<br/>%2Fire the %3HuntIR Round%4 as high as possible over the area you want to observe.<br/>%2Open the %3HuntIR Monitor%4.<br/>%2Use [%3%12%4], select %3Equipment%4.<br/>%2Select %3Activate HuntIR Monitor%4. + %3High-Altitude Unit Navigated Tactical Imaging Round (HuntIR)%4 przeznaczony jest do wystrzeliwania z granatnika. Po wystrzeleniu, wbudowany spadochron zostanie otwarty i uruchomi się kamera IR CMOS, zapewniająca obraz wideo do momentu zetknięcia się z ziemią lub zestrzelenia.<br/><br/>%3Użycie:%4<br/>%2Wyekwipuj %3Monitor HuntIR%4 i kompatybilną amunicję.<br/>%2Wystrzel %3Pocisk HuntIR%4 najwyżej jak to tylko możliwe nad teren, który chcesz obserwować.<br/>%2Otwórz%3Monitor HuntIR%4.<br/>%2Użyj [%3%12%4], wybierz %3Ekwipunek%4.<br/>%2Wybierz %3Aktywuj Monitor HuntIR%4. + %3고고도 유닛 탐색용 전술 영상화 탄약 (HuntIR)%4은 유탄발사기에서 발사될 수 있도록 설계되었습니다.공주에서 발사된 후 내장된 낙하산이 전개되고 적외선 CMOS 카메라가 작동하여 지상에 닿거나 격추될 때까지 비디오 스트림이 제공됩니다.<br/><br/>%3사용 방법:%4<br/>%2%3헌트IR 모니터%4와 호환 탄약을 장착하십시오.<br/>%2%3헌트IR 유탄%4을 발사하려는 구역에서 가능한 한 높게 발사하십시오.<br/>%2%3헌트IR 모니터%4를 여십시오.<br/>%2[%3%12%4]를 사용하여 %3장비%4를 선택하십시오.<br/>%2%3헌트IR 모니터 활성화%4를 선택하십시오. + + + Track Your Team With Stealth + Śledź Swój Zespół w Ciszy + 은신하여 팀을 찾아냅니다 + 自分の部隊をストーカーする + + + The %3IR Strobe%4 is a throwable that emits an IR light pulse intermittently. The %3IR Strobe%4 can also be attached to a soldier, making it useful for tracking teammates under night vision devices.<br/><br/>%3Usage:%4<br/>%2Use [%3%12%4] and select %3Equipment%4.<br/>%2Select %3Attach%4 and select the %3IR Strobe%4. + %3Stroboskop IR%4 jest rzucanym przedmiotem emitującym pulsujące światło podczerwone. %3Stroboskop IR%4 może być także przypięty do munduru, tworząc z niego użyteczne urządzenie do śledzenia żołnierzy z użyciem noktowizji.<br/><br/>%3Użycie:%4<br/>%2Użyj [%3%12%4] i wybierz %3Ekwipunek%4.<br/>%2Wybierz %3Przyczep%4 i wybierz %3Stroboskop IR%4. + %3적외선 스트로브%4는 던질 수 있는 적외선 광펄스를 간헐적으로 방출하는 투척형 아이템입니다. %3적외선 스트로브%4는 병사에게도 부착 가능하기 때문에 야간투시장치로 팀원을 추적할 때 유용합니다.<br/><br/>%3사용 방법:%4<br/>%2[%3%12%4]를 사용하여 %3장비%4를 선택하십시오.<br/>%2%3아이템 부착%4을 선택하고 %3적외선 스트로브%4를 선택하십시오. + + + Pocket Weatherstation + Przenośna Pogodynka + 휴대용 기상 관측 장비입니다 + 携帯天気予報所 + + + The %3Kestrel 4500 Pocket Weather Tracker%4 is a mini weather station useful for collecting the the following weather data:<br/>%2Heading and wind direction<br/>%2Crosswind and headwind<br/>%2Altitude and barometric pressure<br/>%2Wet bulb temperature<br/>%2Humidity and dewpoint<br/>%2Density altitude<br/>%2Wind chill and temperature<br/>%2Time and date<br/>%2Minimum, maximum, and average values<br/><br/>%3Usage:%4<br/>%2Equip a %3Kestrel%4.<br/>%2Use [%3%12%4] and select %3Equipment%4.<br/>%2Select %3Open%4. + %3Kestrel 4500 Pocket Weather Tracker%4 jest przenośną stacją pogodową pozwalającą zbierać takie dane jak: <br/>%2Kurs i kierunek wiatru<br/>%2Wiatr boczny i czołowy<br/>%2Wysokość i ciśnienie barometryczne<br/>%2Temperatua mokrego termometru<br/>%2Wilgotność i punkt rosy<br/>%2Gęstość powietrza<br/>%2Temperatura i temperatura odczuwalna<br/>%2Czas i data<br/>%2Wartości minimalne, maksymalne oraz średnie<br/><br/>%3Użycie: %4<br/>%2Wyekwipuj %3Kestrela%4. <br/>%2Użyj [%3%12%4] i wybierz %3Ekwipunek%4.<br/>%2Wybierz %3Otwórz%4. + %3케스트렐 4500 휴대용 기상 추적 장비%4는 다음 날씨 데이터들을 수집하는 데 유용한 소형 기상 관측 장비입니다:<br/>%2바람이 오는 방향과 가는 방향<br/>%2옆바람과 맞바람<br/>%2고도 및 기압<br/>%2습구온도<br/>%2습도 및 이슬점<br/>%2밀도고도<br/>%2체감온도<br/>%2시간 및 날짜<br/>%2최소, 최대, 평균값<br/>%3사용 방법:%4<br/>%2%3케스트렐 4500NV%4를 장착하십시오.<br/>%2[%3%12%4]를 사용하고 %3장비%4를 선택하십시오.<br/>%2%3열기%4를 선택하십시오. + + + Triangulate Your Position + Trianguluj Swoją Pozycję + 위치를 삼각측량합니다 + 自分の位置を三角測量 + + + The %3Map Tools%4 are a set of tools that allows a soldier to measure distances and angles. Useful for land, and calculating firing solutions for artillery.<br/><br/>%3Usage:%4<br/>%2Open %3Map%4.<br/>%2Use [%3%12%4] and select %3Map Tools%4.<br/>%2 The Tool can be moved by dragging with [%3Left-Click%4] while holding [%3ALT%4]. + %3Narzędzia Nawigacyjne%4 są zestawem narzędzi pozwalającym mierzyć dystans i kąt. Użyteczne do wyliczania parametrów strzałów dla artylerii.<br/><br/>%3Użycie:%4<br/>%2Otwórz%3Mapę%4.<br/>%2Użyj [%3%12%4] i wybierz %3Narzędzia Nawigacyjne%4.<br/>%2 Narzędzia mogą być przeciągane za pomocą [%3LPM%4] trzymając [%3ALT%4]. + %3독도용 도구%4는 병사가 거리와 각도를 측정할 수 있는 도구 세트입니다. 지상에서 유용하며 포병 사격 솔루션 계산에 유용합니다,<br/><br/>%3사용 방법:%4<br/>%2%3지도%4를 여십시오.<br/>%2[%3%12%4]를 사용하여 %3독도용 도구%4를 선택하십시오.<br/>%2도구는 [%3Alt 키%4]를 누른 상태에서 [%3마우스 왼쪽 클릭%4]으로 드래그하여 이동할 수 있습니다. + + + Advanced DAGR + Zaawansowany DAGR + 고급형 DAGR입니다 + 高度なDAGR + + + The %3MicroDAGR GPS%4 is an advanced version of the %3DAGR%4. It provides position, navigation, and timing (PNT) data to include:<br/>%2Compass and heading<br/>%2Date and hour synced to the mission<br/>%2Elevation (relative to sea level)<br/>%2Current speed<br/>%2GPS with topographic and satellite view<br/>%2Creating, naming, and deleting waypoints<br/>%2Friendly identification (Requires ACE BLUFOR Tracker Setting)<br/>Connection to the Vector-21 Rangefinder for data import (waypoint creation and grid reference of ranged targets)<br/><br/>%3Usage:%4<br/>%2For usage instructions, please visit the dedicated %3MicroDAGR%4 wiki. + %3MicroDAGR GPS%4 jest zaawansowaną wersją %3DAGR%4. Dostarcza dane oparte o pozycję, nawigację, i czas (PNT): <br/>%2Kompas i kierunek<br/>%2Datę i godzinę zsynchronizowaną z misją<br/>%2Elewację (relatywną do poziomu morza)<br/>%2Obecną prędkość<br/>%2GPS z widokiem topograficznym i satelitarnym<br/>%2Tworzenie, nazywanie oraz usuwanie waypointów<br/>%2Identyfikację sojuszników (Wymaga ACE BLUFOR Tracker)<br/>Połączenie do dalmierza Vector-21 w celu importu danych (waypointy i współrzędne zmierzonego celu)<br/><br/>%3Użycie: %4<br/>%2Po instrukcję użycia odwiedź %3MicroDAGR%4 wiki. + %3마이크로DAGR GPS%4는 %3DAGR%4의 고급 버전입니다. 다음과 같이 위치, 내비게이션 및 타이밍(PNT) 데이터를 제공합니다:<br/>%2나침반 및 방향<br/>%2임무와 동기화된 날짜 및 시간<br/>%2고도 (해수면 기준)<br/>%2현재 속도<br/>%2지형 및 위성 시점 기능이 있는 GPS<br/>%2웨이포인트 생성, 작명 및 삭제<br/>%2아군 식별 (ACE의 GPS 피아식별기 켜기 체크 필요)<br/>%2데이터를 가져오기 위한 벡터-21 거리계에 연결(원거리 대상의 웨이포인트 생성 및 좌표 참조)<br/><br/>%3사용 방법:%4<br/>%2사용 방법을 보려면 전용 %3마이크로DAGR%4의 위키를 방문하십시오. + + + Range Tables + Tabele Strzelnicze + 사거리표 + 射表 + + + Get A Firing Solution + Strzelaj Celnie + 사격 솔루션을 제공합니다 + 撃ち方を心得る + + + %3Range Tables%4 allow for a soldier to estimate accurate shot placement on direct or indirect targets (depending on asset). The %3Range Table%4 will automatically fill depending on the soldiers selected weapon/vehicle.<br/><br/>%3Usage:%4<br/>%2Use [%3%12%4] and select %3Equipment%4.<br/>%2Select the desired %3Range Table%4. + %3Tabele Strzelnicze%4 pozwalają żołnierzowi oszacować dokładne rozmieszczenie strzałów na cele bezpośrednie lub pośrednie (w zależności od zasobu). %3Tabele Strzelnicze%4 wypełnią się automatycznie w zależności od wybranej broni/pojazdu.<br/><br/>%3Użycie:%4%2Użyj [%3%12%4] i wybierz %3Ekwipunek%4<br/>.<br/>%2Wybierz żądaną%3Tabelę Strzelniczą%4. + %3사거리표%4를 사용하면 병사가 직접 또는 간접 표적(자산에 따라 다름)에 대한 정확한 사격 배치를 추정할 수 있습니다. %3사거리표%4는 선택한 병사의 무기/차량에 따라 자동으로 작성됩니다.<br/><br/>%3사용 방법:%4<br/>%2[%3%12%4]를 사용하고 %3장비%4를 선택하십시오.<br/>%2원하는 %3사거리표%4를 선택하십시오. + + + Ropes + Liny + 로프 + ロープ + + + Tow With Ease + Holowanie bez Wysiłku + 쉽게 견인을 할 수 있습니다 + 楽々に牽引 + + + %3Ropes%4 have multiple uses including %3Towing%4 vehicles and %3Fast Roping%4 from helicopters.<br/><br/>%3Towing:%4<br/>%2Approach a vehicle.<br/>%2Use [%3%13%4] and select %3Towing%4.<br/>%2Select rope length.<br/>%2Select attachment point on towing vehicle.<br/>%2Select attachment on towed vehicle.<br/><br/>%3Available Rope Lengths:%4<br/>%2 3.2 meters<br/>%2 6.2 meters<br/>%2 12.2 meters<br/>%2 15.2 meters<br/>%2 18.3 meters<br/>%2 27.4 meters<br/>%2 36.6 meters + %3Liny%4 mają wiele zastosowań, takich jak %3Holowanie%4 pojazdów czy %3Zjeżdżanie na Linach%4 z helikopterów.<br/><br/>%3Holowanie:%4<br/>%2Podejdź pod pojazd.<br/>%2Użyj [%3%13%4] i wybierz %3Holowanie%4.<br/>%2Wybierz długość liny. <br/>%2Wybierz punkt zaczepu liny na holującym pojeździe.<br/>%2Wybierz punkt zaczepu liny na holowanym pojeździe.<br/><br/>%3Dostępne Długości Liny:%4<br/>%2 3.2 metera<br/>%2 6.2 metera<br/>%2 12.2 metera<br/>%2 15.2 metera<br/>%2 18.3 metera<br/>%2 27.4 metera<br/>%2 36.6 metera + %3로프%4는 차량 %3견인%4 및 헬기의 %3패스트로프%4 등 여러 용도로 사용됩니다.<br/><br/>%3견인 방법:%4<br/>%2차량에 접근하십시오.<br/>%2[%3%13%4]를 사용하고 %3견인%4을 선택하십시오.<br/>%2로프 길이를 선택하십시오.<br/>%2견인할 차량의 부착 지점을 선택하십시오.<br/>%2견인될 차량의 부착 지점을 선택하십시오.<br/><br/>%3사용 가능한 로프 길이:%4<br/>%2 3.2m<br/>%2 6.2m<br/>%2 12.2m<br/>%2 15.2m<br/>%2 18.3m<br/>%2 27.4m<br/>%2 36.6m + + + Expand Your Fortifications + Powiększ Swoje Fortyfikacje + 당신의 요새를 확장합니다 + 要塞を拡張する + + + %3Sandbags%4 are sacks made of sturdy material, filled with sand, used for a variety of purposes such as creating barriers or providing stability in construction projects. Useful in expanding larger placed fortifications.<br/><br/>%3Usage:%4<br/>%2Equip a %3Sandbag (Empty)%4.<br/>%2Use [%3%12%4] and select %3Deploy Sandbag%4.<br/>%2Follow on-screen instructions for placement. + %3Worki z Piaskiem%4 to worki wykonane z mocnego materiału, wypełnione piaskiem, używane do różnych celów, takich jak tworzenie barier lub zapewnianie stabilności w projektach budowlanych. Przydatne przy tworzeniu większych fortyfikacji.<br/><br/>%3Użycie:%4<br/>%2Wyekwipuj %3Worek z Piaskiem (Pusty%4.<br/>%2Use [%3%12%4] i wybierz %3Rozłóż Worek z Piaskiem%4.<br/>%2Podążaj za instrukcjami na ekranie. + %3모래주머니%4는 튼튼한 재료로 만든 주머니로 모래를 채워 장벽을 만들거나 건설 작업에서 안정성을 제공하는 등 다양한 용도로 사용되며, 더 큰 요새를 확장하는 데 유용합니다.<br/><br/>%3사용 방법:%4<br/>%2%3모래주머니(비어있음)%4을 장착하십시오.<br/>%2[%3%12%4]를 사용하고 %3모래주머니 배치%4를 선택하십시오.<br/>%2화면의 지시에 따라 배치하십시오. + + + Lower Firearm Temperature + Niższa Temperatura twojej Broni + 총기의 온도를 낮춥니다 + 銃器の温度を下げる + + + %3Spare Barrels%4 allow a soldier to reduce their weapon's heat significantly. After a short delay, the weapon's barrel will be swapped and its heat reduced. A soldier may also check the temperature of any barrels within their inventory. Not all weapons support swapping barrels.<br/><br/>%3Usage:%4<br/>%2Use [%3%12%4] and select %3Equipment%4.<br/>%2Select %3Swap Barrel%4.<br/>%2Resume operation after barrel swap is complete. + %3Zapasowa Lufa%4 pozwala żołnierzowi znacznie zmniejszyć ciepło broni. Po krótkim czasie lufa broni zostanie zamieniona, a jej temperatura zostanie zmniejszona. Żołnierz może również sprawdzić temperaturę każdej lufy w swoim ekwipunku. Nie wszystkie bronie obsługują zamianę luf.<br/><br/>%3Użycie:%4<br/>%2Użyj [%3%12%4] i wybierz %3Ekwipunek%4.<br/>%2Wybierz %3Zmień Lufę%4.<br/>%2. + %3예비 총열%4을 사용하면 병사의 무기의 발열을 크게 줄일 수 있습니다. 잠시 뒤에 무기의 총신이 교체되고 발열이 감소합니다. 군인은 소지품에 있는 총열의 온도도 확인할 수 있습니다. 모든 무기가 총열 교환을 지원하는 것은 아닙니다.<br/><br/>%3사용 방법:%4<br/>%2[%3%12%4]를 사용하고 %3장비%4를 선택하십시오.<br/>%2%3총열 교체%4를 선택하십시오.<br/>%2총열 교체가 완료된 후 작전을 계속하십시오. + + + Spray Paint + Farba w Sprayu + 스프레이 페인트 + スプレーペイント + + + Tag Your Territory + Zaznacz Swój Teren + 당신의 영역을 지정합니다 + 自分のテリトリーにマーキング + + + %3Spray Paint%4 is used to tag surfaces with various symbols.<br/><br/>%3Usage:%4<br/>%2Move close to a surface (wall, vehicle, ground, etc).<br/>%2Use [%3%12%4] and select %3Tag%4.<br/>%2Choose a symbol.<br/><br/>%3Available Colors:%4<br/>%2Black<br/>%2Blue<br/>%2Green<br/>%2Red + %3Farba w Sprayu%4 jest używana do oznaczania powierzchni różnymi symbolami.<br/><br/>%3Użycie:%4<br/>%2Podejdź blisko powierzchni (ściany, pojazdu, ziemi, etc). <br/>%2Użyj [%3%12%4] i wybierz %3Malowanie%4.<br/>%2Wybierz Symbol.<br/><br/>%3Dostępne Kolory:%4<br/>%2Czarny<br/>%2Niebieski<br/>%2Zielony<br/>%2Czerwony + %3스프레이 페인트%4다양한 기호로 표면에 태그를 지정하는 데 사용됩니다.<br/><br/>%3사용 방법:%4<br/>%2표면(벽, 차량, 지면 등)에 가까이 가십시오.<br/>%2[%3%12%4]를 사용하고 %3태그%4를 선택하십시오.<br/>%2모양을 고르십시오.<br/><br/>%3사용 가능 색상:%4<br/>%2검정<br/>%2파랑<br/>%2초록<br/>%2빨강 + + + Brace From Anywhere + Zawsze Stabilny + 어느 곳에나 지지대를 배치할 수 있습니다 + どこでも支持器 + + + The %3SSWT Kit%4 is a deployable tripod that allows a soldier to brace their aim when deployed. Use it when you need an elevated shooting position and there are no other objects around.<br/><br/>%3Usage:%4<br/>%2Use [%3%12%4] and select %3Equipment%4.<br/>%2Select %3SSWT Kit%4 and follow the on screen prompts to place. + %3Trójnóg Snajperski%4 jest to rozkładany statyw, który pozwala żołnierzowi dokładnie przycelować, gdy jest rozłożony. Używaj go, gdy potrzebujesz stabilnej pozycji strzeleckiej, a wokół nie ma innych obiektów.<br/><br/>%3Użycie:%4<br/>%2Użyj [%3%12%4] i wybierz %3Ekwipunek%4.<br/>%2Wybierz %3Trójnóg Snajperski%4 i podążaj za instrukcjami wyświetlanymi na ekranie. + %3SSWT 키트%4는 병사가 배치 시 조준력을 상승시킬 수 있는 배치 가능한 삼각대입니다. 높이 조절이 된 사격 위치가 필요하고 주위에 다른 물체가 없을 때 사용하십시오.<br/><br/>%3사용 방법:%4<br/>%2[%3%12%4] 를 사용하고 %3장비%4를 선택하십시오.<br/>%2%3SSWT 키트%4를 선택하고 화면의 지시에 따라 배치하십시오. + + + Keep Eyes In The Sky + Trzymaj Głowę w Górze + 하늘에서 계속 내려다봅니다 + 空から見届ける + + + %3UAV Batteries%4 are used to recharge a UAV's energy storage. Especially useful for small UAVs.<br/><br/>%3Usage:%4<br/>%2Equip a %3UAV Battery%4<br/>%2Approach a %3UAV%4 with its %3Engine Off%4.<br/>%2Use [%3%13%4] and select %3Recharge%4. + %3Baterie UAV%4 są używane do zasilania UAV. Zwłaszcza tych małych.<br/><br/>%3Użycie:%4<br/>%2Wyekwipuj %3Baterię UAV%4<br/>%2Podejdź pod %3UAV%4 z %3Wyłączonym Silnikiem%4.<br/>%2Użyj [%3%13%4] i wybierz %3Naładuj%4. + %3무인기 배터리%4는 무인기의 에너지 저장소를 재충전하는 데 사용됩니다. 소형 무인기에 특히 유용합니다.<br/><br/>%3사용 방법:%4<br/>%2%3무인기 배터리%4를 장착하십시오.<br/>%2%3엔진을 끄고%4 %3무인기%4에 접근하십시오.<br/>%2[%3%13%4]를 사용하고 %3재충전%4을 선택하십시오. + + + Making An Entrance + Robienie Własnego Wejścia + 진입로를 만듭니다 + 堂々入場する + + + %3Wirecutters%4 are a tool that allows a soldier to bypass wired fencing. Useful for creating backdoor entrances into secure areas.<br/><br/>%3Usage:%4<br/>%2Move close to a fence.<br/>%2Use [%3%12%4] and select %3Cut Fence%4. + %3Nożyce do Cięcia Drutu%4 są narzędziem pozwalającym pokonywać zapory z siatki oraz drutu. Użyteczne przy tworzenia tylnego wejścia do pilnownej strefy.<br/><br/>%3Użycie:%4<br/>%2Podejdź pod ogrodzenie.<br/>%2Użyj[%3%12%4] i wybierz %3Przetnij Płot%4. + %3절단기%4는 병사가 철조망을 통과할 수 있게 해주는 도구입니다. 보안 구역에 뒷입구를 만드는 데 유용합니다.<br/><br/>%3사용 방법:%4<br/>%2철조망에 가까이 가십시오.<br/>%2[%3%13%4]를 사용하고 %3철조망 자르기%4를 선택하십시오. + + + Items + 物品 + Objets + Objetos + Oggetti + Przedmioty + Предметы + Gegenstände + Předměty + Itens + 물품 + 物品 + アイテム + Eşyalar + + + ACE3 + ACE3 + ACE3 + ACE 3 + + + Build Fortifications + Budowanie Fortyfikacji + 요새를 건설합니다 + 要塞を構築する + + + The %3Fortify Tool%4 allows soldiers to build fortifications provided by their mission creator.<br/><br/>%3Usage:%4<br/>%2Pick up a %3FortifyTool%4.<br/>%2Use [%3%12%4] and select %3Fortify%4.<br/>%2Select an available fortification and follow the on screen prompts for placement. + %3Narzędzie do fortyfikowania%4 pozwala żołnierzom budować fortyfikacje wybrane przez twórcę misji.<br/><br/>%3Użycie:%4<br/>%2Podnieś %3Narzędzie do fortyfikowania%4.<br/>%2Użyj [%3%12%4] i wybierz %3Fortyfikuj%4.<br/>%2Wybierz dostępną fortyfikację i postępuj zgodnie ze wskazówkami na ekranie. + %3요새화 도구%4를 사용하면 병사들이 임무 생성자가 제공한 요새를 구축할 수 있습니다.<br/><br/>%3사용 방법:%4<br/>%2%3요새화 도구%4를 가지십시오.<br/>%2[%3%12%4]를 사용하고 %3요새화%4를 선택하십시오.<br/>%2사용 가능한 요새를 선택하고 화면의 지시에 따라 배치하십시오. + + + Breaking and Entering + Włamywanie i Otwieranie + 침입용 도구입니다 + 破壊して乗り込む + + + %3Lockpicks%4 are used to gain access to locked vehicles.<br/><br/>%3Usage:%4<br/>%2Equip a %3Lockpick%4.<br/>%2Approach a %3Locked%4 vehicle.<br/>Use [%3%13%4] and select %3Lockpick Vehicle%4.<br/><br/><t underline='1'>%3Note:%4</t> Lockpicks and keys are only available via scripting or ACE Vehicle Key modules. + %3Wytrychy%4 są używane w celu uzyskania dostępu do zablokowanych pojazdów.<br/><br/>%3Użycie:%4<br/>%2Wyekwipuj %3Wytrych%4.<br/>%2Podejdź do %3Zablokowanego%4 pojazdu. <br/>Użyj [%3%13%4] i wybierz %3Otwórz Zamek%4.<br/><br/><t underline='1'>%3Uwaga:%4</t> Klucze i wytrychy są dostępne tylko przy zastosowaniu skryptów lub użyciu modułu ACE Zamknięcie Pojazdu + %3해정도구%4는 잠긴 차량에 들어가는 데 사용됩니다.<br/><br/>%3사용 방법:%4<br/>%2%3해정도구%4를 장착하십시오.<br/>%2%3잠긴%4 차량에 접근하십시오.<br/>[%3%13%4]를 사용하고 %3차량 잠금해제%4를 선택하십시오.<br/><br/><t underline='1'>%3참고:%4</t> 해정도구와 열쇠는 스크립팅 또는 ACE 차량 열쇠 모듈에서만 사용할 수 있습니다. + + + Vehicle Keys + Kluczyki od Pojazdu + 차량 열쇠 + 車両のキー + + + Lock/Unlock Vehicles + Zablokuj/Odblokuj Pojazdy + 차량을 잠그거나 해제합니다 + 車両のロック/ロック解除 + + + %3Vehicle Keys%4 are used to lock/unlock your vehicles. Vehicle keys can exist for the whole side, or keys can be created for a particular vehicle itself.<br/><br/>%3Usage:%4<br/>%2Equip a %3Vehicle Key%4.<br/>%2Approach the vehicle that the key belongs to.<br/>Use [%3%13%4] and select %3Lock/Unlock Vehicle%4.<br/><br/><t underline='1'>%3Note:%4</t> Lockpicks and keys are only available via scripting or ACE Vehicle Key modules. + %3Kluczyki od Pojazdów%4 są używane w celu ich zablokowania/odblokowania. Kluczyki mogą istnieć dla całej strony, lub być tworzone tylko dla wybranych pojazdów<br/><br/>%3Użycie:%4<br/>%2Wyekwipuj %3Kluczyk do Pojazdu%4.<br/>%2Podejdź do samochodu, do którego pasuje kluczyk. <br/>Użyj [%3%13%4] i wybierz %3Zablokuj/Odblokuj Pojazd%4.<br/><br/><t underline='1'>%3Uwaga:%4</t> Klucze i wytrychy są dostępne tylko przy zastosowaniu skryptów lub użyciu modułu ACE Zamknięcie Pojazdu + %3차량 열쇠%4는 차량을 잠그거나 잠금해제하는 데 사용됩니다. 차량 열쇠는 모든 세력에게 존재할 수도 있고, 특정 차량 자체에 대해 열쇠를 생성할 수도 있습니다.<br/><br/>%3사용 방법:%4<br/>%2%3차량 열쇠%4를 장착하십시오.<br/>%2해당 열쇠에 속한 차량에 접근하십시오.<br/>[%3%13%4]를 사용하고 %3차량 잠금/잠금해제%4를 선택하십시오.<br/><br/><t underline='1'>%3참고:%4</t> 해정도구와 열쇠는 스크립팅 또는 ACE 차량 열쇠 모듈에서만 사용할 수 있습니다. + + + diff --git a/addons/finger/functions/fnc_incomingFinger.sqf b/addons/finger/functions/fnc_incomingFinger.sqf index 3980e1715d..fb65d8eac9 100644 --- a/addons/finger/functions/fnc_incomingFinger.sqf +++ b/addons/finger/functions/fnc_incomingFinger.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: TheDrill, PabstMirror * Recieve an finger event, adds to the array (or updates if already present) and starts PFEH if not already running diff --git a/addons/finger/functions/fnc_keyPress.sqf b/addons/finger/functions/fnc_keyPress.sqf index 4278bec2cb..59405b57a5 100644 --- a/addons/finger/functions/fnc_keyPress.sqf +++ b/addons/finger/functions/fnc_keyPress.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: TheDrill, PabstMirror * On keypress, point and send position to nearby players diff --git a/addons/finger/functions/fnc_moduleSettings.sqf b/addons/finger/functions/fnc_moduleSettings.sqf index 7dd93ee7ae..be6821768d 100644 --- a/addons/finger/functions/fnc_moduleSettings.sqf +++ b/addons/finger/functions/fnc_moduleSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Module for fingering settings diff --git a/addons/finger/functions/fnc_perFrameEH.sqf b/addons/finger/functions/fnc_perFrameEH.sqf index ece6d441d2..e499ff8808 100644 --- a/addons/finger/functions/fnc_perFrameEH.sqf +++ b/addons/finger/functions/fnc_perFrameEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: TheDrill, PabstMirror * The perFrameEventHandler to draw the icons diff --git a/addons/finger/functions/script_component.hpp b/addons/finger/functions/script_component.hpp deleted file mode 100644 index b16e0f3c01..0000000000 --- a/addons/finger/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\finger\script_component.hpp" diff --git a/addons/finger/stringtable.xml b/addons/finger/stringtable.xml index e7b670f242..ccaa56ebb6 100644 --- a/addons/finger/stringtable.xml +++ b/addons/finger/stringtable.xml @@ -94,6 +94,8 @@ 屏幕标记大小系数 Коэф. размера маркера Coeficiente del tamaño del marcador visual + Coefficient taille des marqueurs visuels + Coeficiente de tamanho do marcador visual Adjusts the size of the visual marker. @@ -104,6 +106,8 @@ 调整屏幕上显示的标记大小 Настраивает размер визуального маркера Ajusta el tamaño del marcador visual. + Ajuste la taille des marqueurs visuels + Ajusta o tamanho do marcador visual Proximity Scaling @@ -114,6 +118,8 @@ 根据距离缩放 Масштабирование от дальности Escalado de cercanía + Mise à l'échelle + Escala por proximidade Scales the size of the visual marker based on the distance between the player observing and the player pointing. @@ -124,6 +130,8 @@ 根据观察的玩家和在指出方向的的玩家之间的距离调整视觉标记的大小。 Масштабирует размер визуального маркера в зависимости от дальности от игрока до точки указания. Escala el tamaño del marcador visual dependiendo de la distancia entre el jugador observador y el jugador que señala. + Modifie la taille du marqueur visuel en fonction de la distance entre le joueur qui observe et le joueur qui pointe. + Redimensiona o tamanho do marcador visual baseado na distância entre o jogador observador e o jogador que aponta. Show pointing indicator to self diff --git a/addons/fire/addon.toml b/addons/fire/addon.toml index 7cfef775ee..bf39213892 100644 --- a/addons/fire/addon.toml +++ b/addons/fire/addon.toml @@ -1,2 +1,3 @@ -[preprocess] -enabled = false +[tools] +pboProject_noBinConfig = true +sqfvm_skipConfigChecks = true diff --git a/addons/fire/config.cpp b/addons/fire/config.cpp index ac9f7009ec..da8cd0091c 100644 --- a/addons/fire/config.cpp +++ b/addons/fire/config.cpp @@ -1,5 +1,6 @@ #include "script_component.hpp" +#pragma hemtt flag pe23_ignore_has_include #if __has_include("\z\ace\addons\nomedical\script_component.hpp") #define PATCH_SKIP "No Medical" #endif diff --git a/addons/fire/functions/fnc_burn.sqf b/addons/fire/functions/fnc_burn.sqf index b6c4aff05e..08d52bd05c 100644 --- a/addons/fire/functions/fnc_burn.sqf +++ b/addons/fire/functions/fnc_burn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Makes object catch fire. Only call from events. Local effects only. diff --git a/addons/fire/functions/fnc_burnIndicator.sqf b/addons/fire/functions/fnc_burnIndicator.sqf index 7e1fda3b5d..13db8862c9 100644 --- a/addons/fire/functions/fnc_burnIndicator.sqf +++ b/addons/fire/functions/fnc_burnIndicator.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Run once per second in a PFH. Update screen effects with burn indicator. diff --git a/addons/fire/functions/fnc_burnReaction.sqf b/addons/fire/functions/fnc_burnReaction.sqf index 108136faaa..748fbbd60e 100644 --- a/addons/fire/functions/fnc_burnReaction.sqf +++ b/addons/fire/functions/fnc_burnReaction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm, veteran29 * Handles burning reactions of an unit, like screaming or throwing the weapons away due to pain. @@ -19,9 +19,9 @@ if ( _throwWeapon && {GVAR(dropWeapon) > 0} && {_unit in _unit && {(currentWeapon _unit) isNotEqualTo ""}} - && {!isPlayer _unit || GVAR(dropWeapon >= 2)} + && {!isPlayer _unit || GVAR(dropWeapon) >= 2} ) then { - [_unit] call EFUNC(hitreactions,throwWeapon); + [_unit] call EFUNC(common,throwWeapon); }; if (_unit isKindOf "CAManBase") then { diff --git a/addons/fire/functions/fnc_fireManagerPFH.sqf b/addons/fire/functions/fnc_fireManagerPFH.sqf index d5243ed309..fa8e7fb789 100644 --- a/addons/fire/functions/fnc_fireManagerPFH.sqf +++ b/addons/fire/functions/fnc_fireManagerPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Handles various fire objects and determines if local units deserves to get burned. @@ -12,7 +12,7 @@ * None * * Example: - * [FUNC(fireManagerPFH), 0.25, [_unit]] call CBA_fnc_addPerFrameHandler + * [ace_fire_fnc_fireManagerPFH, 0.25, [_unit]] call CBA_fnc_addPerFrameHandler * * Public: No */ diff --git a/addons/fire/functions/fnc_isBurning.sqf b/addons/fire/functions/fnc_isBurning.sqf index 1e62f39309..3bdbe560be 100644 --- a/addons/fire/functions/fnc_isBurning.sqf +++ b/addons/fire/functions/fnc_isBurning.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if object is burning. diff --git a/addons/fire/functions/fnc_isPlant.sqf b/addons/fire/functions/fnc_isPlant.sqf index 4fd982a7ce..f132fc72be 100644 --- a/addons/fire/functions/fnc_isPlant.sqf +++ b/addons/fire/functions/fnc_isPlant.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if object is a map placed bush or tree. diff --git a/addons/fire/functions/fnc_medical_canPatDown.sqf b/addons/fire/functions/fnc_medical_canPatDown.sqf index 46ef896e03..b7efc262b2 100644 --- a/addons/fire/functions/fnc_medical_canPatDown.sqf +++ b/addons/fire/functions/fnc_medical_canPatDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Returns if unit can pat down fire or not. diff --git a/addons/fire/functions/fnc_medical_progress.sqf b/addons/fire/functions/fnc_medical_progress.sqf index 20bbc4f4e9..07d99958d6 100644 --- a/addons/fire/functions/fnc_medical_progress.sqf +++ b/addons/fire/functions/fnc_medical_progress.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Checks if patient is still burning for medical progress to continue. diff --git a/addons/fire/functions/fnc_medical_success.sqf b/addons/fire/functions/fnc_medical_success.sqf index 0783013551..78e119a8fa 100644 --- a/addons/fire/functions/fnc_medical_success.sqf +++ b/addons/fire/functions/fnc_medical_success.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Decreases burning intensity on successful medical action. diff --git a/addons/fire/functions/script_component.hpp b/addons/fire/functions/script_component.hpp deleted file mode 100644 index 782fabed76..0000000000 --- a/addons/fire/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\fire\script_component.hpp" diff --git a/addons/fire/stringtable.xml b/addons/fire/stringtable.xml index 5dbd372e9b..6949deb474 100644 --- a/addons/fire/stringtable.xml +++ b/addons/fire/stringtable.xml @@ -11,6 +11,7 @@ ACE Fuego ACE 火 ACE 불 + ACE Fogo Pat Down Fire @@ -22,6 +23,7 @@ Extingir el fuego 灭火 불 끄기 + Apagar Fogo Patting down fire... @@ -33,6 +35,7 @@ Extinguiendo el fuego... 正在灭火... 불 끄는 중... + Apagando Fogo... Allow units to catch fire @@ -43,7 +46,8 @@ Zezwól jednostkom na zapalenie się Permitir que las unidades se incendien 允许单位着火 - 유닛이 불에 붙게합니다 + 유닛에 불이 붙게합니다 + Permitir que as unidades peguem fogo Enable fire-flare at night @@ -55,6 +59,7 @@ Habilitar bengalas de fuego por la noche 在夜间启用耀斑效果 밤에 불로 인한 조명 활성화 + Ativar brilho do fogo à noite Uses a flare effect to increase fire intensity at night @@ -66,6 +71,7 @@ Utiliza un efecto de bengala para aumentar la intensidad del fuego por la noche 启用耀斑效果,增加夜间火焰的强度。 야간에 불로 인한 조명을 극대화 시킵니다 + Usa um efeito de brilho para aumentar a intensidade do fogo à noite Enable screams by units on fire @@ -76,6 +82,8 @@ Włącz krzyki podpalonych jednostek 炎上中の悲鳴を有効 Вкл. крики от горения + Activer les cris des unités en feu + Habilita os gritos das unidades em chamas Enables if units on fire will play the screaming sound @@ -86,6 +94,8 @@ Włącza, czy płonące jednostki będą odtwarzać dźwięk krzyku 有効化すると炎上しているユニットが悲鳴を上げます Включает воспроизведение криков когда юнит загорается + Active un son de hurlement si les unités sont en feu + Define se as unidades em chamas reproduzirão o som de grito Drop Weapons When on Fire @@ -96,6 +106,8 @@ Waffen fallen lassen, wenn in Brand geraten. 炎上時に武器を落とす Бросать оружие из-за горения + Lâche les armes si en feu + Soltar Armas Quando em Chamas Controls whether units drop their weapons when on fire. @@ -106,6 +118,8 @@ Steuert, ob Einheiten ihre Waffen fallen lassen, wenn sie brennen. ユニットが炎上時に武器を落とすかどうかを定義します。 Должны ли юниты выбрасывать оружие когда загораются. + Contrôle si les unités lâchent leurs armes lorsqu'elles sont en feu. + Controla se as unidades soltam suas armas quando estão em chamas. diff --git a/addons/flashlights/stringtable.xml b/addons/flashlights/stringtable.xml index 8ca985cf34..fd6aa10297 100644 --- a/addons/flashlights/stringtable.xml +++ b/addons/flashlights/stringtable.xml @@ -127,6 +127,7 @@ Maglite ML300L Maglite ML300L 매그라이트 ML300L + Maglite ML300L Powerful LED flashlight. @@ -142,6 +143,7 @@ Linterna LED potente Мощный светодиодный фонарь. 고휘도 LED 손전등. + Potente lanterna LED. diff --git a/addons/fortify/functions/fnc_addActions.sqf b/addons/fortify/functions/fnc_addActions.sqf index 2936fc44b3..4802effa01 100644 --- a/addons/fortify/functions/fnc_addActions.sqf +++ b/addons/fortify/functions/fnc_addActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Adds the child actions. diff --git a/addons/fortify/functions/fnc_addDeployHandler.sqf b/addons/fortify/functions/fnc_addDeployHandler.sqf index 176579e661..4eef1ad0ae 100644 --- a/addons/fortify/functions/fnc_addDeployHandler.sqf +++ b/addons/fortify/functions/fnc_addDeployHandler.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Cuel, mharis001 * Adds a custom deploy handler. diff --git a/addons/fortify/functions/fnc_axisLengths.sqf b/addons/fortify/functions/fnc_axisLengths.sqf index 90cc5d7c2b..f68939bfa7 100644 --- a/addons/fortify/functions/fnc_axisLengths.sqf +++ b/addons/fortify/functions/fnc_axisLengths.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Gets the longest axis of the bounding box of the given object. diff --git a/addons/fortify/functions/fnc_buildLocationModule.sqf b/addons/fortify/functions/fnc_buildLocationModule.sqf index c141ae44c0..c777b80d4e 100644 --- a/addons/fortify/functions/fnc_buildLocationModule.sqf +++ b/addons/fortify/functions/fnc_buildLocationModule.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles build location module diff --git a/addons/fortify/functions/fnc_canFortify.sqf b/addons/fortify/functions/fnc_canFortify.sqf index eb19eb6139..3a382bc98c 100644 --- a/addons/fortify/functions/fnc_canFortify.sqf +++ b/addons/fortify/functions/fnc_canFortify.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Checks whether the given player can fortify. diff --git a/addons/fortify/functions/fnc_createObjectMarker.sqf b/addons/fortify/functions/fnc_createObjectMarker.sqf index 45c79e7dca..185ae640eb 100644 --- a/addons/fortify/functions/fnc_createObjectMarker.sqf +++ b/addons/fortify/functions/fnc_createObjectMarker.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Seb * Creates a map marker for a created static object but only for sides friendly to the creator side. diff --git a/addons/fortify/functions/fnc_deployConfirm.sqf b/addons/fortify/functions/fnc_deployConfirm.sqf index 7e7570b705..37e0d4fb9d 100644 --- a/addons/fortify/functions/fnc_deployConfirm.sqf +++ b/addons/fortify/functions/fnc_deployConfirm.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Confirms the deployment. diff --git a/addons/fortify/functions/fnc_deployObject.sqf b/addons/fortify/functions/fnc_deployObject.sqf index cff46df6d9..4895b261bc 100644 --- a/addons/fortify/functions/fnc_deployObject.sqf +++ b/addons/fortify/functions/fnc_deployObject.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Deploys the object to the player for them to move it around. diff --git a/addons/fortify/functions/fnc_getBudget.sqf b/addons/fortify/functions/fnc_getBudget.sqf index 2e7e73dca4..44b254eae9 100644 --- a/addons/fortify/functions/fnc_getBudget.sqf +++ b/addons/fortify/functions/fnc_getBudget.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Gets the budget for the given side. diff --git a/addons/fortify/functions/fnc_getCost.sqf b/addons/fortify/functions/fnc_getCost.sqf index d0a3abc6a7..a55e39f299 100644 --- a/addons/fortify/functions/fnc_getCost.sqf +++ b/addons/fortify/functions/fnc_getCost.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Gets the cost for the given side and classname. diff --git a/addons/fortify/functions/fnc_getPlaceableSet.sqf b/addons/fortify/functions/fnc_getPlaceableSet.sqf index 6b7d6df9ce..9643d54190 100644 --- a/addons/fortify/functions/fnc_getPlaceableSet.sqf +++ b/addons/fortify/functions/fnc_getPlaceableSet.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Gets placeable object classnames and values. diff --git a/addons/fortify/functions/fnc_handleChatCommand.sqf b/addons/fortify/functions/fnc_handleChatCommand.sqf index 48759ef608..46bdc3cb0b 100644 --- a/addons/fortify/functions/fnc_handleChatCommand.sqf +++ b/addons/fortify/functions/fnc_handleChatCommand.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Handles the chat command usage by admin. diff --git a/addons/fortify/functions/fnc_handleScrollWheel.sqf b/addons/fortify/functions/fnc_handleScrollWheel.sqf index e8e7ec6189..fa5007cd51 100644 --- a/addons/fortify/functions/fnc_handleScrollWheel.sqf +++ b/addons/fortify/functions/fnc_handleScrollWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Handles the object direction. diff --git a/addons/fortify/functions/fnc_modifyAction.sqf b/addons/fortify/functions/fnc_modifyAction.sqf index c81c4eff12..08da255a46 100644 --- a/addons/fortify/functions/fnc_modifyAction.sqf +++ b/addons/fortify/functions/fnc_modifyAction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Modifies the fortify action, shows current budget. diff --git a/addons/fortify/functions/fnc_parseSide.sqf b/addons/fortify/functions/fnc_parseSide.sqf index 32d408cc19..3e9ca5d78d 100644 --- a/addons/fortify/functions/fnc_parseSide.sqf +++ b/addons/fortify/functions/fnc_parseSide.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Parses the given text and returns a side. diff --git a/addons/fortify/functions/fnc_registerObjects.sqf b/addons/fortify/functions/fnc_registerObjects.sqf index 619c83556d..b8e7abd171 100644 --- a/addons/fortify/functions/fnc_registerObjects.sqf +++ b/addons/fortify/functions/fnc_registerObjects.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Registers the given objects in the given side's player interaction menu. diff --git a/addons/fortify/functions/fnc_setupModule.sqf b/addons/fortify/functions/fnc_setupModule.sqf index a57d202588..f032d98ebe 100644 --- a/addons/fortify/functions/fnc_setupModule.sqf +++ b/addons/fortify/functions/fnc_setupModule.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles setup module. diff --git a/addons/fortify/functions/fnc_updateBudget.sqf b/addons/fortify/functions/fnc_updateBudget.sqf index c75073af0b..fe6d89dca2 100644 --- a/addons/fortify/functions/fnc_updateBudget.sqf +++ b/addons/fortify/functions/fnc_updateBudget.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Updates the given sides budget. diff --git a/addons/fortify/functions/script_component.hpp b/addons/fortify/functions/script_component.hpp deleted file mode 100644 index d69a852d6e..0000000000 --- a/addons/fortify/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\fortify\script_component.hpp" diff --git a/addons/fortify/stringtable.xml b/addons/fortify/stringtable.xml index 0cd34e518e..8f6f65f162 100644 --- a/addons/fortify/stringtable.xml +++ b/addons/fortify/stringtable.xml @@ -12,6 +12,8 @@ Фортификация Inşa Etme Fortificar + Fortification + Fortificação Fortify Tool @@ -24,6 +26,8 @@ Инструмент строителя Inşa Etme Aleti Herramienta de Fortificar + Outil de fortification + Ferramenta de Fortificação Budget @@ -36,6 +40,8 @@ Бюджет Bütçe Presupuesto + Budget + Provisão Auto add fortify item @@ -48,6 +54,8 @@ Автоматически добавлять Инструмент строителя Otomatik olarak inşa etme aletini ekle Añadir objeto de Fortificar automáticamente + Ajout automatique de l'outil de fortification + Adicionar item de fortificação automaticamente Initializes the Fortify system, with some basic parameters.<br/>Presets are pulled from configFile and missionConfigFile, see wiki for format. @@ -59,6 +67,8 @@ 使用一些基本参数初始化设防系统。<br/>预设从 configFile 和 missionConfigFile 中提取,参见 wiki 的格式。 기본 파라미터와 함께 요새화 시스템을 활성화합니다<br/>configFile 과 missionConfigFile에서 프리셋을 뽑아옵니다, 포맷은 위키를 참조하십시오. Inicializa el sistema deFortificación con los parámetros básicos. .<br/>Los presets son importados de configFile y de missionConfigFile, consultar la wiki para ver el formato. + Initialise le système de fortification, avec quelques paramètres de base.<br/>Les presets sont tirés du configFile et du missionConfigFile, consulter le wiki pour les formats. + Inicializa o sistema de fortificação, com alguns parâmetros básicos.<br/>Os presets são retirados do configFile e do missionConfigFile, consulte a wiki para o formato. Rotate @@ -105,6 +115,8 @@ Inşa Etme : Bölgede Inşa Etmeyi Limitle 요새화: 건설 영역 제한 Fortificar: Limitar área de construcción + Fortification : limiter la zone de construction + Fortificação: Limitar área de construção ACE Fortify @@ -117,6 +129,8 @@ ACE Inşa Etme ACE 요새화 ACE Fortificar + ACE Fortification + ACE Fortificação Show budget updates @@ -129,6 +143,8 @@ Bütçe güncellenmelerini göster 비용 업데이트 표시 Mostrar actualizaciones de presupuesto + Afficher les changements de budget + Mostrar as atualizações de previsão Controls when budget update hints are shown @@ -141,6 +157,8 @@ Bütçe güncellenince bilgi verilip verilmeyeceğini kontrol eder. 어떤 행동을 취할 때 비용이 표시되는지를 결정합니다 Controla cuándo los avisos de actualizaciones de presupuesto se muestran + Détermine quand les modifications de budget sont affichées + Controla quando as atualizações de previsão são mostradas Never show @@ -153,6 +171,8 @@ Asla Gösterme 안 보여줌 No mostrar nunca + Ne jamais afficher + Nunca mostrar Has fortify tool @@ -165,6 +185,8 @@ Insa Etme Aleti Olanlara Göster 요새화 도구를 들고 있을 때 Tiene herramienta de Fortificar + Dispose d'un outil de fortification + Tem ferramenta de fortificação Always show @@ -177,6 +199,8 @@ Her Zaman Göster 항상 보여줌 Mostrar siempre + Toujours afficher + Sempre mostrar Time-Cost Coefficient @@ -187,6 +211,8 @@ Współczynnik Czas-Koszt Коэф. время-цена Coeficiente Tiempo-Coste + Coefficient de temps/coût + Coeficiente de Tempo/Custo Coefficient used to determine time to build structure.\nA in Ax + b where x is cost of object @@ -197,6 +223,8 @@ Współczynnik używany do określenia czasu budowy konstrukcji.\nA w Ax + b gdzie x jest kosztem obiektu Коэффициент используемый для указания времени необходимого для возведения постройки.\nA в формуле Ax + b, где x - это цена объекта Coeficiente usado para determinar el tiempo de construcción de una estructura.\nA en Ax + b donde x es el coste del objeto + Coefficient utilisé pour déterminer le temps de construction d'une structure.\nA dans Ax + b où x est le coût de l'objet. + Coeficiente usado para determinar o tempo para construir uma estrutura.\nA em Ax + b, onde x é o custo do objeto Minimum Build Time @@ -207,6 +235,8 @@ Minimalny czas budowy Мин. время возведения Tiempo mínimo de construcción + Temps de construction minimum + Tempo Mínimo de Construção Minimum time to build any structure.\nb in Ax + b where x is cost of object @@ -217,6 +247,8 @@ Minimalny czas do zbudowania dowolenj konstrukcji.\nb w Ax + b gdzie x jest kosztem obiektu Минимальное время для возведения любой постройки.\nb в формуле Ax + b, где x - это цена объекта Tiempo mínimo para construir una estructura.\nb en Ax + b donde x es el coste del objeto + Temps minimum pour construire une structure.\nb dans Ax + b où x est le coût de l'objet. + Tempo mínimo para construir uma estrutura.\nb em Ax + b, onde x é o custo do objeto Building @@ -227,6 +259,8 @@ Budowanie Возведение Construyendo + Construction + Construindo Create map markers @@ -237,6 +271,8 @@ Twórz znaczniki na mapie Создавать маркера на карте Crear marcadores de mapa + Créer des marqueurs sur carte + Criar marcadores de mapa Create map markers that look like terrain buildings when static fortifications are placed @@ -247,6 +283,8 @@ Utwórz znaczniki mapy, które wyglądają jak obiekty terenu, gdy umieszczane są statyczne fortyfikacje Создавать маркера от статических фортификаций как от зданий на карте Crear marcadores de mapa que tienen la apariencia de edificios del terreno cuando las fortificaciones estáticas son colocadas + Créer des marqueurs sur carte qui ressemblent à des bâtiments sur le terrain lorsque des fortifications statiques sont placées + Criar marcadores de mapa que parecem edifícios do terreno quando fortificações estáticas são colocadas Never @@ -273,6 +311,8 @@ Dla jednostek sojuszniczych wobec stawiającego Для союзников Para unidades aliadas de quien coloca la fortificación + Pour les unités alliées du placeur + Para unidades aliadas do autor da fortificação For everyone @@ -300,6 +340,8 @@ 小型 소형 Pequeña + Petit + Pequena Small (Green) @@ -311,6 +353,8 @@ 小型(绿色) 소형 (초목) Pequeña (Verde) + Petit (Vert) + Pequena (Verde) Medium @@ -322,6 +366,8 @@ 中型 중형 Mediana + Moyen + Média Medium (Green) @@ -333,6 +379,8 @@ 中型(绿色) 중형 (초목) Mediana (Verde) + Moyen (Vert) + Média (Verde) Big @@ -344,6 +392,8 @@ 大型 대형 Grande + Grand + Grande Big (Green) @@ -355,6 +405,8 @@ 大型(绿色) 대형 (초목) Grande (Verde) + Grand (Vert) + Grande (Verde) Big (Both) @@ -366,6 +418,8 @@ 大型(两方) 대형 (둘 다) Grande (Ambos) + Grand (les deux) + Grande (Ambos) diff --git a/addons/frag/functions/fnc_addBlackList.sqf b/addons/frag/functions/fnc_addBlackList.sqf index 71452b9814..d0cc127d05 100644 --- a/addons/frag/functions/fnc_addBlackList.sqf +++ b/addons/frag/functions/fnc_addBlackList.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jaynus, NouberNou * Adds a round to the blacklist (will be ignored). diff --git a/addons/frag/functions/fnc_addPfhRound.sqf b/addons/frag/functions/fnc_addPfhRound.sqf index 0fa693753e..7c2b5d1681 100644 --- a/addons/frag/functions/fnc_addPfhRound.sqf +++ b/addons/frag/functions/fnc_addPfhRound.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jaynus, NouberNou * Starts tracking a round that will frag. diff --git a/addons/frag/functions/fnc_dev_addTrack.sqf b/addons/frag/functions/fnc_dev_addTrack.sqf index ce459008f6..0e75a9fb99 100644 --- a/addons/frag/functions/fnc_dev_addTrack.sqf +++ b/addons/frag/functions/fnc_dev_addTrack.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * @@ -10,7 +10,7 @@ * None * * Example: - * call ace_frag_fnc_addTack + * call ace_frag_fnc_dev_addTrack * * Public: No */ diff --git a/addons/frag/functions/fnc_dev_debugAmmo.sqf b/addons/frag/functions/fnc_dev_debugAmmo.sqf index 42debf3d61..ec52b4b39f 100644 --- a/addons/frag/functions/fnc_dev_debugAmmo.sqf +++ b/addons/frag/functions/fnc_dev_debugAmmo.sqf @@ -1,5 +1,5 @@ #define DEBUG_MODE_FULL -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * @@ -11,7 +11,7 @@ * None * * Example: - * call ace_frag_fnc_debugAmmo + * call ace_frag_fnc_dev_debugAmmo * * Public: No */ diff --git a/addons/frag/functions/fnc_dev_drawTraces.sqf b/addons/frag/functions/fnc_dev_drawTraces.sqf index 76e729ed7f..7fcca3c48f 100644 --- a/addons/frag/functions/fnc_dev_drawTraces.sqf +++ b/addons/frag/functions/fnc_dev_drawTraces.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * @@ -10,7 +10,7 @@ * None * * Example: - * call ace_frag_fnc_drawTraces + * call ace_frag_fnc_dev_drawTraces * * Public: No */ diff --git a/addons/frag/functions/fnc_dev_startTracing.sqf b/addons/frag/functions/fnc_dev_startTracing.sqf index d709255a73..897dde3011 100644 --- a/addons/frag/functions/fnc_dev_startTracing.sqf +++ b/addons/frag/functions/fnc_dev_startTracing.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * diff --git a/addons/frag/functions/fnc_dev_stopTracing.sqf b/addons/frag/functions/fnc_dev_stopTracing.sqf index 75cf38b6d9..949d3cd55d 100644 --- a/addons/frag/functions/fnc_dev_stopTracing.sqf +++ b/addons/frag/functions/fnc_dev_stopTracing.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * Dev things @@ -10,6 +10,7 @@ * None * * Example: + * None * * Public: No */ diff --git a/addons/frag/functions/fnc_dev_trackTrace.sqf b/addons/frag/functions/fnc_dev_trackTrace.sqf index 5d8ee3dee0..6c010bdb63 100644 --- a/addons/frag/functions/fnc_dev_trackTrace.sqf +++ b/addons/frag/functions/fnc_dev_trackTrace.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * Dev things diff --git a/addons/frag/functions/fnc_doExplosions.sqf b/addons/frag/functions/fnc_doExplosions.sqf index 1f5c37597a..a5a687aa53 100644 --- a/addons/frag/functions/fnc_doExplosions.sqf +++ b/addons/frag/functions/fnc_doExplosions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * diff --git a/addons/frag/functions/fnc_doReflections.sqf b/addons/frag/functions/fnc_doReflections.sqf index 7b16385d75..023a283e81 100644 --- a/addons/frag/functions/fnc_doReflections.sqf +++ b/addons/frag/functions/fnc_doReflections.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * Dev things diff --git a/addons/frag/functions/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf index eb97875570..8b5a06d812 100644 --- a/addons/frag/functions/fnc_doSpall.sqf +++ b/addons/frag/functions/fnc_doSpall.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * Dev things diff --git a/addons/frag/functions/fnc_findReflections.sqf b/addons/frag/functions/fnc_findReflections.sqf index af7155984d..b0ae161597 100644 --- a/addons/frag/functions/fnc_findReflections.sqf +++ b/addons/frag/functions/fnc_findReflections.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * diff --git a/addons/frag/functions/fnc_fired.sqf b/addons/frag/functions/fnc_fired.sqf index a61a2d14c7..355da901c6 100644 --- a/addons/frag/functions/fnc_fired.sqf +++ b/addons/frag/functions/fnc_fired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: nou, jaynus, PabstMirror * Called from the unified fired EH for all. diff --git a/addons/frag/functions/fnc_frago.sqf b/addons/frag/functions/fnc_frago.sqf index a2744d60fd..f2700654c3 100644 --- a/addons/frag/functions/fnc_frago.sqf +++ b/addons/frag/functions/fnc_frago.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jaynus, NouberNou * Server func to create the fragmentation for a round. diff --git a/addons/frag/functions/fnc_masterPFH.sqf b/addons/frag/functions/fnc_masterPFH.sqf index 06baaad17f..6e75e80951 100644 --- a/addons/frag/functions/fnc_masterPFH.sqf +++ b/addons/frag/functions/fnc_masterPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus * Master single PFH abstraction for all rounds being tracked by frag/spall. diff --git a/addons/frag/functions/fnc_pfhRound.sqf b/addons/frag/functions/fnc_pfhRound.sqf index de7dcadfc9..bd5a229f0e 100644 --- a/addons/frag/functions/fnc_pfhRound.sqf +++ b/addons/frag/functions/fnc_pfhRound.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * diff --git a/addons/frag/functions/fnc_spallHP.sqf b/addons/frag/functions/fnc_spallHP.sqf index 9a1e144f44..367bea7644 100644 --- a/addons/frag/functions/fnc_spallHP.sqf +++ b/addons/frag/functions/fnc_spallHP.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * Handles the HitPart event diff --git a/addons/frag/functions/fnc_spallTrack.sqf b/addons/frag/functions/fnc_spallTrack.sqf index 5d08dcc718..43dae8afcb 100644 --- a/addons/frag/functions/fnc_spallTrack.sqf +++ b/addons/frag/functions/fnc_spallTrack.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * Add HitPart EventHandler to objects in the projectile's path diff --git a/addons/frag/functions/script_component.hpp b/addons/frag/functions/script_component.hpp deleted file mode 100644 index 0903b3ba1e..0000000000 --- a/addons/frag/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\frag\script_component.hpp" diff --git a/addons/gestures/functions/fnc_playSignal.sqf b/addons/gestures/functions/fnc_playSignal.sqf index 3dcae0d2e3..b6d9f9602a 100644 --- a/addons/gestures/functions/fnc_playSignal.sqf +++ b/addons/gestures/functions/fnc_playSignal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: joko // Jonas, Emperias, Zigomarvin * Detect if the player and play the Gesture Animation diff --git a/addons/gestures/functions/script_component.hpp b/addons/gestures/functions/script_component.hpp deleted file mode 100644 index 53f6849ebc..0000000000 --- a/addons/gestures/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\gestures\script_component.hpp" diff --git a/addons/gforces/ACE_Arsenal_Stats.hpp b/addons/gforces/ACE_Arsenal_Stats.hpp index 372f5af782..bebcf74489 100644 --- a/addons/gforces/ACE_Arsenal_Stats.hpp +++ b/addons/gforces/ACE_Arsenal_Stats.hpp @@ -6,7 +6,7 @@ class EGVAR(arsenal,stats) { stats[] = {"ACE_GForceCoef"}; displayName = CSTRING(statGReduction); showBar = 1; - barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(1, 0)], [ARR_2(0.01, 1)], false)])] call EFUNC(arsenal,statBarStatement_default)); + barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(1,0)],[ARR_2(0.01,1)],false)])] call EFUNC(arsenal,statBarStatement_default)); condition = QUOTE(getNumber (_this select 1 >> (_this select 0) select 0) > 0); tabs[] = {{3}, {}}; }; diff --git a/addons/gforces/functions/fnc_addPFEH.sqf b/addons/gforces/functions/fnc_addPFEH.sqf index 55dd8dcd12..b93bb0ab6d 100644 --- a/addons/gforces/functions/fnc_addPFEH.sqf +++ b/addons/gforces/functions/fnc_addPFEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi and esteldunedain * Adds the PFEH diff --git a/addons/gforces/functions/fnc_pfhUpdateGForces.sqf b/addons/gforces/functions/fnc_pfhUpdateGForces.sqf index 990d754f54..13d08f833b 100644 --- a/addons/gforces/functions/fnc_pfhUpdateGForces.sqf +++ b/addons/gforces/functions/fnc_pfhUpdateGForces.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi and esteldunedain * Calculates average g-forces and triggers g-effects diff --git a/addons/gforces/functions/script_component.hpp b/addons/gforces/functions/script_component.hpp deleted file mode 100644 index 70ff0c4225..0000000000 --- a/addons/gforces/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\gforces\script_component.hpp" diff --git a/addons/gforces/stringtable.xml b/addons/gforces/stringtable.xml index 524e456899..28e0ea76db 100644 --- a/addons/gforces/stringtable.xml +++ b/addons/gforces/stringtable.xml @@ -12,6 +12,7 @@ ACE G-Kräfte ACE G力 ACE 중력가속도 + ACE Força G Gforces Effects @@ -55,7 +56,7 @@ Riduzione forza G Redukcja przeciążenia Уменьшение перегрузок - Redução de Força-G + Redução de Força G Redukce G Force Reducción de fuerzas G G-Kuvvetinde azalma @@ -72,6 +73,7 @@ G-Kräfte-Koeffizient G力系数 중력가속도 계수 + Coeficiente de Força G Controls strength of G-Force affecting players. @@ -84,6 +86,7 @@ Bestimmt, wie stark G-Kräfte Spieler beeinflussen. 控制影响玩家的G力的强度。 플레이어에게 영향을 끼칠 중력가속도의 계수를 조절합니다. + Controla a intensidade da Força G que afeta os jogadores. diff --git a/addons/goggles/functions/fnc_applyDirtEffect.sqf b/addons/goggles/functions/fnc_applyDirtEffect.sqf index df73bd5bec..38fc57f0ce 100644 --- a/addons/goggles/functions/fnc_applyDirtEffect.sqf +++ b/addons/goggles/functions/fnc_applyDirtEffect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Adds dirt effect to the glasses. @@ -28,7 +28,7 @@ if ([_unit] call FUNC(isGogglesVisible)) then { private _dirtImage = getText (configFile >> "CfgGlasses" >> goggles _unit >> "ACE_OverlayDirt"); if (_dirtImage != "") then { - GVAR(GogglesEffectsLayer) cutRsc ["RscACE_GogglesEffects", "PLAIN", 0.1, false]; + GVAR(GogglesEffectsLayer) cutRsc ["RscACE_GogglesEffects", "PLAIN", 0.1, false, false]; (GETUVAR(GVAR(DisplayEffects),displayNull) displayCtrl 10660) ctrlSetText _dirtImage; private _effectBrightness = linearConversion [0,1,([] call EFUNC(common,ambientBrightness)),0.25,1]; diff --git a/addons/goggles/functions/fnc_applyDustEffect.sqf b/addons/goggles/functions/fnc_applyDustEffect.sqf index d8c6e1c07a..93bcbad1d6 100644 --- a/addons/goggles/functions/fnc_applyDustEffect.sqf +++ b/addons/goggles/functions/fnc_applyDustEffect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Applies dust to screen. @@ -20,7 +20,7 @@ if (call FUNC(ExternalCamera)) exitWith {}; private _unit = ACE_player; if ([_unit] call FUNC(isGogglesVisible)) exitWith { - GVAR(GogglesEffectsLayer) cutRsc ["RscACE_GogglesEffects", "PLAIN", 2, false]; + GVAR(GogglesEffectsLayer) cutRsc ["RscACE_GogglesEffects", "PLAIN", 2, false, false]; ((GETUVAR(GVAR(DisplayEffects),displayNull)) displayCtrl 10662) ctrlSetText format [getText (configFile >> "CfgGlasses" >> goggles _unit >> "ACE_DustPath"), GETDUSTT(DAMOUNT) + 1]; diff --git a/addons/goggles/functions/fnc_applyGlassesEffect.sqf b/addons/goggles/functions/fnc_applyGlassesEffect.sqf index cc9c69681d..9df47ec4d2 100644 --- a/addons/goggles/functions/fnc_applyGlassesEffect.sqf +++ b/addons/goggles/functions/fnc_applyGlassesEffect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Sets screen tint for glasses. @@ -47,7 +47,7 @@ private _imagePath = getText (_config >> ["ACE_Overlay", "ACE_OverlayCracked"] s private _angle = getNumber (_config >> "ACE_Overlay_Angle"); if (_imagePath != "") then { - GVAR(GogglesLayer) cutRsc ["RscACE_Goggles", "PLAIN", 1, false]; + GVAR(GogglesLayer) cutRsc ["RscACE_Goggles", "PLAIN", 1, false, false]; private _overlay = (GLASSDISPLAY displayCtrl 10650); _overlay ctrlSetText _imagePath; diff --git a/addons/goggles/functions/fnc_applyRainEffect.sqf b/addons/goggles/functions/fnc_applyRainEffect.sqf index 845490f95f..3332db536a 100644 --- a/addons/goggles/functions/fnc_applyRainEffect.sqf +++ b/addons/goggles/functions/fnc_applyRainEffect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Handles rain effects being created on glasses. diff --git a/addons/goggles/functions/fnc_applyRotorWashEffect.sqf b/addons/goggles/functions/fnc_applyRotorWashEffect.sqf index ab71f01d51..3513eb191a 100644 --- a/addons/goggles/functions/fnc_applyRotorWashEffect.sqf +++ b/addons/goggles/functions/fnc_applyRotorWashEffect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, commy2 * Handles the rotor wash effects. diff --git a/addons/goggles/functions/fnc_canWipeGlasses.sqf b/addons/goggles/functions/fnc_canWipeGlasses.sqf index 4eaaf569d1..ef9d961bc1 100644 --- a/addons/goggles/functions/fnc_canWipeGlasses.sqf +++ b/addons/goggles/functions/fnc_canWipeGlasses.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: veteran29 * Checks if player can wipe goggles. diff --git a/addons/goggles/functions/fnc_clearGlasses.sqf b/addons/goggles/functions/fnc_clearGlasses.sqf index 5efc547c10..f00ad4629c 100644 --- a/addons/goggles/functions/fnc_clearGlasses.sqf +++ b/addons/goggles/functions/fnc_clearGlasses.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Clears all dirt, rain, dust from glasses. diff --git a/addons/goggles/functions/fnc_externalCamera.sqf b/addons/goggles/functions/fnc_externalCamera.sqf index 0cd06fdcd6..4afafa3a5a 100644 --- a/addons/goggles/functions/fnc_externalCamera.sqf +++ b/addons/goggles/functions/fnc_externalCamera.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Returns if the camera is external or not. diff --git a/addons/goggles/functions/fnc_getExplosionIndex.sqf b/addons/goggles/functions/fnc_getExplosionIndex.sqf index 33f0668bef..1007085d5a 100644 --- a/addons/goggles/functions/fnc_getExplosionIndex.sqf +++ b/addons/goggles/functions/fnc_getExplosionIndex.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, commy2 * Turns 0-1 damage of explosion Event into a rating system of 0-3 diff --git a/addons/goggles/functions/fnc_handleExplosion.sqf b/addons/goggles/functions/fnc_handleExplosion.sqf index db38e9ab20..8b6027cb36 100644 --- a/addons/goggles/functions/fnc_handleExplosion.sqf +++ b/addons/goggles/functions/fnc_handleExplosion.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, commy2 * Handles explosions. @@ -41,7 +41,7 @@ if (getText (_config >> "ACE_OverlayCracked") != "") then { if (call FUNC(ExternalCamera)) exitWith {}; if (isNull (GLASSDISPLAY)) then { - GVAR(GogglesLayer) cutRsc ["RscACE_Goggles", "PLAIN", 1, false]; + GVAR(GogglesLayer) cutRsc ["RscACE_Goggles", "PLAIN", 1, false, false]; }; (GLASSDISPLAY displayCtrl 10650) ctrlSetText getText (_config >> "ACE_OverlayCracked"); diff --git a/addons/goggles/functions/fnc_handleFired.sqf b/addons/goggles/functions/fnc_handleFired.sqf index 434a61ee5f..ea3455dcee 100644 --- a/addons/goggles/functions/fnc_handleFired.sqf +++ b/addons/goggles/functions/fnc_handleFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, commy2 * Determines whether to place dust on the goggles, based on calibre of weapon fired and other requirements. Called from the unified fired EH only for the local player. diff --git a/addons/goggles/functions/fnc_handleKilled.sqf b/addons/goggles/functions/fnc_handleKilled.sqf index 5309976160..ebf9657ba9 100644 --- a/addons/goggles/functions/fnc_handleKilled.sqf +++ b/addons/goggles/functions/fnc_handleKilled.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, commy2 * Handles the player dying. diff --git a/addons/goggles/functions/fnc_isDivingGoggles.sqf b/addons/goggles/functions/fnc_isDivingGoggles.sqf index cc173f6dc3..2595142e83 100644 --- a/addons/goggles/functions/fnc_isDivingGoggles.sqf +++ b/addons/goggles/functions/fnc_isDivingGoggles.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Determines whether passed goggles is diving goggles or a variant of them. diff --git a/addons/goggles/functions/fnc_isGogglesVisible.sqf b/addons/goggles/functions/fnc_isGogglesVisible.sqf index 3ad5085a57..d52134b298 100644 --- a/addons/goggles/functions/fnc_isGogglesVisible.sqf +++ b/addons/goggles/functions/fnc_isGogglesVisible.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Determines if goggles are visible on passed unit. diff --git a/addons/goggles/functions/fnc_isInRotorWash.sqf b/addons/goggles/functions/fnc_isInRotorWash.sqf index 34f46047ca..8c3b29723d 100644 --- a/addons/goggles/functions/fnc_isInRotorWash.sqf +++ b/addons/goggles/functions/fnc_isInRotorWash.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, commy2 * Checks for nearby running helicopters (within 15m) diff --git a/addons/goggles/functions/fnc_removeDirtEffect.sqf b/addons/goggles/functions/fnc_removeDirtEffect.sqf index 732cbb5c23..eff8e102ab 100644 --- a/addons/goggles/functions/fnc_removeDirtEffect.sqf +++ b/addons/goggles/functions/fnc_removeDirtEffect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Removes dirt from the glasses. diff --git a/addons/goggles/functions/fnc_removeDustEffect.sqf b/addons/goggles/functions/fnc_removeDustEffect.sqf index 00031084b2..8d424662d9 100644 --- a/addons/goggles/functions/fnc_removeDustEffect.sqf +++ b/addons/goggles/functions/fnc_removeDustEffect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Removes dust from the glasses. diff --git a/addons/goggles/functions/fnc_removeGlassesEffect.sqf b/addons/goggles/functions/fnc_removeGlassesEffect.sqf index bebbb64aec..ea6286187b 100644 --- a/addons/goggles/functions/fnc_removeGlassesEffect.sqf +++ b/addons/goggles/functions/fnc_removeGlassesEffect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Removes the glasses effect from the screen, removes dirt effect, removes rain effect, removes dust effect. Does not reset array (glasses will still be broken, dirty, ect.) diff --git a/addons/goggles/functions/fnc_removeRainEffect.sqf b/addons/goggles/functions/fnc_removeRainEffect.sqf index 53de0721b1..b5140566c3 100644 --- a/addons/goggles/functions/fnc_removeRainEffect.sqf +++ b/addons/goggles/functions/fnc_removeRainEffect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Removes rain effects from the screen. diff --git a/addons/goggles/functions/script_component.hpp b/addons/goggles/functions/script_component.hpp deleted file mode 100644 index d8624df3b2..0000000000 --- a/addons/goggles/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\goggles\script_component.hpp" diff --git a/addons/goggles/stringtable.xml b/addons/goggles/stringtable.xml index 2fb6c6e54b..34c02cbdab 100644 --- a/addons/goggles/stringtable.xml +++ b/addons/goggles/stringtable.xml @@ -45,7 +45,7 @@ Mostrar efeitos de óculos em Terceira Pessoa Attiva l'effetto degli occhiali in terza persona 三人称視点でもゴーグルによる効果を表示 - 3인칭 시에도 고글 효과를 보이게 합니다 + 3인칭 시에도 고글 효과를 보이게 하기 在第三人称视角显示护目镜效果 在第三人稱視角顯示護目鏡效果 Gözlük efektlerini 3. şahıs görünümün de göster diff --git a/addons/grenades/CfgMagazineWells.hpp b/addons/grenades/CfgMagazineWells.hpp index 7ac4a555dd..6f75fa31f7 100644 --- a/addons/grenades/CfgMagazineWells.hpp +++ b/addons/grenades/CfgMagazineWells.hpp @@ -1,8 +1,8 @@ class CfgMagazineWells { class CBA_40mm_M203 { - ADDON[] = {"ACE_40mm_flare_white", "ACE_40mm_flare_red", "ACE_40mm_flare_green", "ACE_40mm_flare_ir"}; + ADDON[] = {"ACE_40mm_Flare_white", "ACE_40mm_Flare_red", "ACE_40mm_Flare_green", "ACE_40mm_Flare_ir"}; }; class UGL_40x36 { - ADDON[] = {"ACE_40mm_flare_white", "ACE_40mm_flare_red", "ACE_40mm_flare_green", "ACE_40mm_flare_ir"}; + ADDON[] = {"ACE_40mm_Flare_white", "ACE_40mm_Flare_red", "ACE_40mm_Flare_green", "ACE_40mm_Flare_ir"}; }; }; diff --git a/addons/grenades/functions/fnc_addChangeFuseItemContextMenuOptions.sqf b/addons/grenades/functions/fnc_addChangeFuseItemContextMenuOptions.sqf index 99a28d91f4..d778ca3349 100644 --- a/addons/grenades/functions/fnc_addChangeFuseItemContextMenuOptions.sqf +++ b/addons/grenades/functions/fnc_addChangeFuseItemContextMenuOptions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Cyruz * Allows conversion of explosive charges in to throwable versions diff --git a/addons/grenades/functions/fnc_flare.sqf b/addons/grenades/functions/fnc_flare.sqf index 9ad3348f6b..8214a5600d 100644 --- a/addons/grenades/functions/fnc_flare.sqf +++ b/addons/grenades/functions/fnc_flare.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Makes flare shine. diff --git a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf index ecf8ade5be..cc87f492d7 100644 --- a/addons/grenades/functions/fnc_flashbangExplosionEH.sqf +++ b/addons/grenades/functions/fnc_flashbangExplosionEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Creates the flashbang effect and knock out AI units. diff --git a/addons/grenades/functions/fnc_flashbangThrownFuze.sqf b/addons/grenades/functions/fnc_flashbangThrownFuze.sqf index 46ff41171d..7f1a52417c 100644 --- a/addons/grenades/functions/fnc_flashbangThrownFuze.sqf +++ b/addons/grenades/functions/fnc_flashbangThrownFuze.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Waits for the flashbang grenade fuze to trigger and 'explode' @@ -19,7 +19,7 @@ params ["_projectile"]; 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]; + playSound3D ["A3\Sounds_F\arsenal\explosives\grenades\Explosion_HE_grenade_01.wss", _projectile, false, getPosASL _projectile, 5, 1.2, 400]; ["ace_flashbangExploded", [getPosASL _projectile]] call CBA_fnc_globalEvent; }; diff --git a/addons/grenades/functions/fnc_incendiary.sqf b/addons/grenades/functions/fnc_incendiary.sqf index 9bfb7bb639..11d89d4ca5 100644 --- a/addons/grenades/functions/fnc_incendiary.sqf +++ b/addons/grenades/functions/fnc_incendiary.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Makes incendiary burn. diff --git a/addons/grenades/functions/fnc_nextMode.sqf b/addons/grenades/functions/fnc_nextMode.sqf index b8b963afb3..1a64cf9f7b 100644 --- a/addons/grenades/functions/fnc_nextMode.sqf +++ b/addons/grenades/functions/fnc_nextMode.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Select the next throwing mode and display message. diff --git a/addons/grenades/functions/fnc_throwGrenade.sqf b/addons/grenades/functions/fnc_throwGrenade.sqf index 3a8c8ef5bf..4105e861f6 100644 --- a/addons/grenades/functions/fnc_throwGrenade.sqf +++ b/addons/grenades/functions/fnc_throwGrenade.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Adjust the grenades throwing direction and speed to the selected throwing mode. Called from the unified fired EH only for CAManBase diff --git a/addons/grenades/functions/script_component.hpp b/addons/grenades/functions/script_component.hpp deleted file mode 100644 index a6a1784c85..0000000000 --- a/addons/grenades/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\grenades\script_component.hpp" diff --git a/addons/grenades/stringtable.xml b/addons/grenades/stringtable.xml index dd529085e9..c45d5d6bbb 100644 --- a/addons/grenades/stringtable.xml +++ b/addons/grenades/stringtable.xml @@ -545,6 +545,7 @@ Rucksackladung (Werfbar) 炸药包(可投掷) 폭파 장약 (투척) + Sacola Explosiva (Arremessável) Type: Charge<br />Rounds: 1<br />Used on: Things that need to die @@ -556,6 +557,7 @@ Typ: Ladung <br/>Patronen:1<br/>Benutzt für: Dinge die Sterben müssen 类型:炸药<br />数量:1<br />用于:需要死亡的事物 종류: 장약<br />갯수: 1<br />사용처: 죽여야 할 곳에 + Tipo: Carga<br />Munições: 1<br />Utilizada em: Coisas que devem morrer An explosive satchel that is throwable. 7 second fixed fuse @@ -567,6 +569,7 @@ Werfbare Rucksackladung. 7 Sekunden Zeitzünder 一个可投掷的炸药包。7秒定时引信 던질 수 있는 폭파 장약입니다. 던지고 7초 후에 터집니다 + Uma sacola explosiva que pode ser arremessada. Pavio de 7 segundos Explosive Charge (Throwable) @@ -578,6 +581,7 @@ Sprengladung (Werfbar) 炸药块(可投掷) 폭파 블럭 (투척) + Carga Explosiva (Arremessável) An explosive charge that is throwable. 7 second fixed fuse @@ -589,6 +593,7 @@ Werfbare Sprengladung. 7 Sekunden Zeitzünder 一个可投掷的炸药块。7秒定时引信 던질 수 있는 폭파 블럭입니다. 던지고 7초 후에 터집니다 + Uma carga explosiva que pode ser arremessada. Pavio de 7 segundos Convert to short fuse @@ -600,6 +605,7 @@ Zündschnur verkürzen 切换为短引信 단축 신관으로 바꾸기 + Converter para pavio curto Remove short fuse @@ -611,6 +617,7 @@ Kurze Zündschnur entfernen 去除短引信 단축 신관 제거하기 + Remover pavio curto ACE Grenades @@ -638,6 +645,7 @@ Erlaube die Umwandlung von Sprengstoffen 允许转换炸药 폭발물 변환 가능여부 + Permitir Conversão de Explosivos Allow converting explosives to throwables @@ -649,6 +657,7 @@ Erlaube die Umwandlung von Sprengstoffen in werfbare Ladungen 允许将炸药转换为可投掷物 폭발물을 투척무기로 변환할 수 있도록 허용합니다. + Permitir conversão de explosivos em arremessáveis diff --git a/addons/gunbag/functions/fnc_BIArsenalClose.sqf b/addons/gunbag/functions/fnc_BIArsenalClose.sqf index 011593aaa0..2d39b3a045 100644 --- a/addons/gunbag/functions/fnc_BIArsenalClose.sqf +++ b/addons/gunbag/functions/fnc_BIArsenalClose.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mjc4wilton * Handle BI arsenal closing diff --git a/addons/gunbag/functions/fnc_BIArsenalOpen.sqf b/addons/gunbag/functions/fnc_BIArsenalOpen.sqf index 713e9eb8aa..97f3beeeb2 100644 --- a/addons/gunbag/functions/fnc_BIArsenalOpen.sqf +++ b/addons/gunbag/functions/fnc_BIArsenalOpen.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mjc4wilton * Handle BI arsenal opening diff --git a/addons/gunbag/functions/fnc_calculateMass.sqf b/addons/gunbag/functions/fnc_calculateMass.sqf index 6d66d191df..6dd6a5a660 100644 --- a/addons/gunbag/functions/fnc_calculateMass.sqf +++ b/addons/gunbag/functions/fnc_calculateMass.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ir0n1E * Calculate mass of weapon and items. diff --git a/addons/gunbag/functions/fnc_canInteract.sqf b/addons/gunbag/functions/fnc_canInteract.sqf index a003afce86..4a55b0f0aa 100644 --- a/addons/gunbag/functions/fnc_canInteract.sqf +++ b/addons/gunbag/functions/fnc_canInteract.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ir0n1E * Check if client is able to interact with gunbag. diff --git a/addons/gunbag/functions/fnc_hasGunbag.sqf b/addons/gunbag/functions/fnc_hasGunbag.sqf index 587a8afae4..aaf4b1918a 100644 --- a/addons/gunbag/functions/fnc_hasGunbag.sqf +++ b/addons/gunbag/functions/fnc_hasGunbag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ir0n1E * Check if unit has a gunbag. diff --git a/addons/gunbag/functions/fnc_isMachineGun.sqf b/addons/gunbag/functions/fnc_isMachineGun.sqf index 76cf64d443..f07866a4aa 100644 --- a/addons/gunbag/functions/fnc_isMachineGun.sqf +++ b/addons/gunbag/functions/fnc_isMachineGun.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Reports true if a weapon is a machine gun. diff --git a/addons/gunbag/functions/fnc_offGunbag.sqf b/addons/gunbag/functions/fnc_offGunbag.sqf index 2b83beba4d..8357fae9bc 100644 --- a/addons/gunbag/functions/fnc_offGunbag.sqf +++ b/addons/gunbag/functions/fnc_offGunbag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ir0n1E * Get weapon out of gunbag. diff --git a/addons/gunbag/functions/fnc_offGunbagCallback.sqf b/addons/gunbag/functions/fnc_offGunbagCallback.sqf index 794ea2e709..8edd3e4582 100644 --- a/addons/gunbag/functions/fnc_offGunbagCallback.sqf +++ b/addons/gunbag/functions/fnc_offGunbagCallback.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ir0n1E * Get weapon out of gunbag. diff --git a/addons/gunbag/functions/fnc_status.sqf b/addons/gunbag/functions/fnc_status.sqf index 730e992dcb..c57caac4f5 100644 --- a/addons/gunbag/functions/fnc_status.sqf +++ b/addons/gunbag/functions/fnc_status.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ir0n1E * Check gunbag status full/empty. diff --git a/addons/gunbag/functions/fnc_swapGunbag.sqf b/addons/gunbag/functions/fnc_swapGunbag.sqf index 46eb926f38..a379c09e8f 100644 --- a/addons/gunbag/functions/fnc_swapGunbag.sqf +++ b/addons/gunbag/functions/fnc_swapGunbag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ir0n1E and mjc4wilton * Swap primary weapon and weapon in gunbag. diff --git a/addons/gunbag/functions/fnc_swapGunbagCallback.sqf b/addons/gunbag/functions/fnc_swapGunbagCallback.sqf index 8ed4f2cf59..a7d319506b 100644 --- a/addons/gunbag/functions/fnc_swapGunbagCallback.sqf +++ b/addons/gunbag/functions/fnc_swapGunbagCallback.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ir0n1E and mjc4wilton * Swap primary weapon and weapon in gunbag. @@ -11,7 +11,7 @@ * None * * Example: - * [player, target] call ace_gunbag_fnc_swapGunbag + * [player, target] call ace_gunbag_fnc_swapGunbagCallback * * Public: No */ diff --git a/addons/gunbag/functions/fnc_toGunbag.sqf b/addons/gunbag/functions/fnc_toGunbag.sqf index 1f52eb6baf..76c27b7587 100644 --- a/addons/gunbag/functions/fnc_toGunbag.sqf +++ b/addons/gunbag/functions/fnc_toGunbag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ir0n1E * Put weapon into gunbag. diff --git a/addons/gunbag/functions/fnc_toGunbagCallback.sqf b/addons/gunbag/functions/fnc_toGunbagCallback.sqf index e47c817979..4930d1d95a 100644 --- a/addons/gunbag/functions/fnc_toGunbagCallback.sqf +++ b/addons/gunbag/functions/fnc_toGunbagCallback.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ir0n1E * Put weapon into gunbag. diff --git a/addons/gunbag/functions/fnc_weaponName.sqf b/addons/gunbag/functions/fnc_weaponName.sqf index 6232c24685..51e0385b05 100644 --- a/addons/gunbag/functions/fnc_weaponName.sqf +++ b/addons/gunbag/functions/fnc_weaponName.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ir0n1E, Brett Mayson * Get gunbag weapon name diff --git a/addons/gunbag/functions/script_component.hpp b/addons/gunbag/functions/script_component.hpp deleted file mode 100644 index 4e342e3b04..0000000000 --- a/addons/gunbag/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\gunbag\script_component.hpp" diff --git a/addons/gunbag/stringtable.xml b/addons/gunbag/stringtable.xml index 324229d6e3..b61ebe6547 100644 --- a/addons/gunbag/stringtable.xml +++ b/addons/gunbag/stringtable.xml @@ -61,7 +61,7 @@ Metti l'arma nella borsa per armi 将武器放置枪袋 將武器放置槍袋 - Colocar arma na Bosla de Arma + Colocar arma na Bolsa de Arma Silahını silah çantasına koy Poner el arma en la funda @@ -76,6 +76,7 @@ Waffe in Waffentasche tauschen 交换枪袋中的武器 총가방 안에 있는 무기랑 교환하기 + Trocar arma na Bolsa de Arma Enable Weapon Swap @@ -88,6 +89,7 @@ Aktiviere Tauschen von Waffen 启用武器互换 무기 교환 활성화 + Habilitar Troca de Arma Allows interaction to directly swap the primary weapon and stored weapon. @@ -99,7 +101,8 @@ Permitir interacción para intercambiar el arma principal y el arma guardada. Erlaube den direkten Wechsel von Primärer und verstauter Waffe über das Interaktionsmenü. 允许互动直接切换主武器和存储武器。 - 보관 중인 무기와 주무기와 바로 바꾸는 것을 허용합니다. + 보관 중인 무기를 주무기와 바로 바꾸는 것을 허용합니다. + Permite interação para trocar a arma primária e a arma armazenada. Get weapon out of gunbag diff --git a/addons/headless/CfgEden.hpp b/addons/headless/CfgEden.hpp index 30ee16fdc2..3382b3a89e 100644 --- a/addons/headless/CfgEden.hpp +++ b/addons/headless/CfgEden.hpp @@ -9,7 +9,7 @@ class Cfg3DEN { property = QXGVAR(blacklist); control = "Checkbox"; condition = "objectControllable"; - expression = QUOTE(_this setVariable [ARR_3(QQXGVAR(blacklist), _value, true)]); + expression = QUOTE(_this setVariable [ARR_3(QQXGVAR(blacklist),_value,true)]); defaultValue = "(false)"; }; }; @@ -25,7 +25,7 @@ class Cfg3DEN { tooltip = CSTRING(BlacklistEdenDesc); property = QXGVAR(blacklist); control = "Checkbox"; - expression = QUOTE(_this setVariable [ARR_3(QQXGVAR(blacklist), _value, true)]); + expression = QUOTE(_this setVariable [ARR_3(QQXGVAR(blacklist),_value,true)]); defaultValue = "(false)"; }; }; diff --git a/addons/headless/functions/fnc_endMissionNoPlayers.sqf b/addons/headless/functions/fnc_endMissionNoPlayers.sqf index 7b026081b3..6954748ba9 100644 --- a/addons/headless/functions/fnc_endMissionNoPlayers.sqf +++ b/addons/headless/functions/fnc_endMissionNoPlayers.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Ends mission on server if no players are connected. diff --git a/addons/headless/functions/fnc_handleConnectHC.sqf b/addons/headless/functions/fnc_handleConnectHC.sqf index 48335cdb86..b19ef25012 100644 --- a/addons/headless/functions/fnc_handleConnectHC.sqf +++ b/addons/headless/functions/fnc_handleConnectHC.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Registers connected Headless Client for use. diff --git a/addons/headless/functions/fnc_handleDisconnect.sqf b/addons/headless/functions/fnc_handleDisconnect.sqf index 154b51cd0b..c94cec2599 100644 --- a/addons/headless/functions/fnc_handleDisconnect.sqf +++ b/addons/headless/functions/fnc_handleDisconnect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Removes Headless Client from use. diff --git a/addons/headless/functions/fnc_handleSpawn.sqf b/addons/headless/functions/fnc_handleSpawn.sqf index bc168025d9..50277e3845 100644 --- a/addons/headless/functions/fnc_handleSpawn.sqf +++ b/addons/headless/functions/fnc_handleSpawn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Handles AI spawn and requests a rebalance if applicable. diff --git a/addons/headless/functions/fnc_moduleInit.sqf b/addons/headless/functions/fnc_moduleInit.sqf index b8bedde1ae..9c9f83e350 100644 --- a/addons/headless/functions/fnc_moduleInit.sqf +++ b/addons/headless/functions/fnc_moduleInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Initializes the Headless module. diff --git a/addons/headless/functions/fnc_rebalance.sqf b/addons/headless/functions/fnc_rebalance.sqf index c3f3b1c2a9..84be441ebe 100644 --- a/addons/headless/functions/fnc_rebalance.sqf +++ b/addons/headless/functions/fnc_rebalance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Rebalance AI groups accross HCs. diff --git a/addons/headless/functions/fnc_transferGroups.sqf b/addons/headless/functions/fnc_transferGroups.sqf index fa39af4d1b..cee85a5109 100644 --- a/addons/headless/functions/fnc_transferGroups.sqf +++ b/addons/headless/functions/fnc_transferGroups.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Transfers AI groups to Headess Client(s). diff --git a/addons/headless/functions/script_component.hpp b/addons/headless/functions/script_component.hpp deleted file mode 100644 index a38efad3a9..0000000000 --- a/addons/headless/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\headless\script_component.hpp" diff --git a/addons/headless/stringtable.xml b/addons/headless/stringtable.xml index 3956c14a87..12746b59df 100644 --- a/addons/headless/stringtable.xml +++ b/addons/headless/stringtable.xml @@ -13,6 +13,7 @@ Headless Headless клиент Headless + Headless This module allows you to setup automatic transferring of AI to Headless Clients. (Default: No) @@ -26,6 +27,7 @@ Questo modulo ti consente di impostare il trasferimento automatico delle AI su dei Client Headless. (Default: No) Этот модуль позволяет настроить автоматическую передачу управления ИИ Headless клиентам. (По умолчанию: Откл) Este modulo permite habilitar la transferencia de IA a los Headless Clients. (Defecto: No) + Este módulo permite configurar a transferência automática de IA para Headless Clients. (Padrão: Não) Enables transferring of AI to Headless Clients. @@ -39,6 +41,7 @@ Abilita il trasferimento delle AI sugli Headless Client. Передает управление ИИ Headless клиентам. Habilita la transferencia de IA a los Headless Clients + Ativa a transferência de IA para Headless Clients. Delay @@ -52,6 +55,7 @@ Latenza Задержка Retardo + Atraso Minimal delay between transfers, in seconds. (Default: 15) @@ -65,6 +69,7 @@ Latenza minima tra i trasferimenti, in secondi. (Default: 15) Минимальная задержка в секундах между передачами. (По умолчанию: 15) Retardo mínimo entre transferencias en segundos. (Default: 15) + Atraso mínimo entre transferências, em segundos. (Padrão: 15) End Mission @@ -78,6 +83,7 @@ Koniec misji Завершать миссию Finalizar misión + Finalizar Missão End mission when there are no players connected (same as 'persistent = 0' in server configuration but with Headless Client support). @@ -91,6 +97,7 @@ Kończy misje kiedy nie ma połączonych graczy(tak samo jak 'persistent = 0' w konfiguracji serwer ale z wsparciem Headless Client Завершает миссию, если нет присоединенных игроков (аналогично 'persistent = 0' в настройках сервера, но с включенной поддержкой Headless клиентов). Finalizar la misión cuando no hay jugadores conectados (igual que la opción de servidor 'persistent = 0', pero con soporte para Headless Client). + Finaliza a missão quando não há jogadores conectados (o mesmo que 'persistent = 0' na configuração do servidor, mas com suporte para Headless Client). Instant @@ -104,6 +111,7 @@ Natychmiastowy Мгновенно Instantáneo + Instantâneo Delayed (60s) @@ -117,6 +125,7 @@ Opóźniony (60s) С задержкой (60 с) Retardado (60s) + Atrasado (60s) Log @@ -130,6 +139,7 @@ Registra Журнал Registrar + Registo Log transfer statistics and Headless Client (dis)connections to RPT. (Default: No) @@ -143,6 +153,7 @@ Registra le statistiche del trasferimento e delle (dis)connessioni dell'Headless Clienti su RPT. (Default: No) Вести журнал передач и подключений Headless клиентов в файл RPT. (По умолчанию: Откл) Registrar las estadísticas de transferencia y las (des)conexiones de Headless Client hacia el RPT. (Default: No) + Regista as estatísticas de transferência e as (des)conexões do Headless Client para o RPT. (Padrão: Não) Transfer Loadout @@ -154,6 +165,8 @@ Transfer Wyposażenia 로드아웃 전송 Transferir equipamiento + Transfert équipement + Transferir Equipamento Transfer loadout of units attempts to work around an issue where units appear naked after transferring to a Headless Client. @@ -165,6 +178,8 @@ Transfer Wyposażenia jednostek usiłuje uniknąć problemu z nagimi jednostkami po transferze do Headless Clienta 헤드리스 클라이언트로 넘어갈 때 유닛이 벌거벗고 있는 상황을 해결하기 위해 로드아웃을 유닛에 전송합니다. Transferir el equipamiento de unidades intenta solventar el problema por el cual las unidades aparecen desnudas despues de ser transferidas a un Headless Client. + Transférer l'équipement des unités pour contourner une erreur où les unités apparaissent nues après un transfer vers le Headless Client. + Transferir equipamento de unidades para contornar um problema onde as unidades aparecem nuas após a transferência para um Headless Client. Current Loadout @@ -176,6 +191,8 @@ Obecne wyposażenie 현재 로드아웃 Equipamiento actual + Equipement actuel + Equipamento Atual Config Loadout @@ -187,6 +204,8 @@ Konfiguracja Wyposażenia 로드아웃 설정 Configuración de equipamiento + Configuration de l'équipement + Configuração do Equipamento Headless Blacklist @@ -200,6 +219,7 @@ Czarna lista Headless Черный список Headless Lista negra de Headless + Lista Negra Headless Disables transferring of this AI unit/group to Headless Clients. No effect on player units. @@ -213,6 +233,7 @@ Wyłącza transfer tych jednostek/grup AI do Headless Clients. Bez efektu na jednostkach gracza. Отключает передачу управления этого юнита/группы Headless клиентам. Не влияет на юниты игроков. Deshabilita la transferencia de esta unidad/grupo de IA hacia los Headless Clients.Sin efecto sobre unidades de jugadores. + Desativa a transferência desta unidade/grupo de IA para Headless Clients. Sem efeito nas unidades de jogadores. diff --git a/addons/hearing/ACE_Arsenal_Stats.hpp b/addons/hearing/ACE_Arsenal_Stats.hpp index 9e47b0a493..0ab83eed60 100644 --- a/addons/hearing/ACE_Arsenal_Stats.hpp +++ b/addons/hearing/ACE_Arsenal_Stats.hpp @@ -6,7 +6,7 @@ class EGVAR(arsenal,stats) { stats[] = {QGVAR(protection)}; displayName= CSTRING(statHearingProtection); showBar = 1; - barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 1)], [ARR_2(0.01, 1)], false)])] call EFUNC(arsenal,statBarStatement_default)); + barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,1)],[ARR_2(0.01,1)],false)])] call EFUNC(arsenal,statBarStatement_default)); tabs[] = {{6}, {}}; }; class ACE_volumeMuffling: statBase { @@ -15,7 +15,7 @@ class EGVAR(arsenal,stats) { stats[] = {QGVAR(lowerVolume)}; displayName= CSTRING(statHearingLowerVolume); showBar = 1; - barStatement = QUOTE([ARR_3((_this select 0) select 0, _this select 1, [ARR_3([ARR_2(0, 1)], [ARR_2(0.01, 1)], false)])] call EFUNC(arsenal,statBarStatement_default)); + barStatement = QUOTE([ARR_3((_this select 0) select 0,_this select 1,[ARR_3([ARR_2(0,1)],[ARR_2(0.01,1)],false)])] call EFUNC(arsenal,statBarStatement_default)); tabs[] = {{6}, {}}; }; }; diff --git a/addons/hearing/CfgEventHandlers.hpp b/addons/hearing/CfgEventHandlers.hpp index f046e6495f..310be3675b 100644 --- a/addons/hearing/CfgEventHandlers.hpp +++ b/addons/hearing/CfgEventHandlers.hpp @@ -20,7 +20,7 @@ class Extended_PostInit_EventHandlers { class Extended_Init_EventHandlers { class CAManBase { class GVAR(AddEarPlugs) { - serverInit = QUOTE( _this call FUNC(addEarPlugs) ); + serverInit = QUOTE(_this call FUNC(addEarPlugs)); }; }; }; diff --git a/addons/hearing/CfgVehicles.hpp b/addons/hearing/CfgVehicles.hpp index 648c37c77a..a762534460 100644 --- a/addons/hearing/CfgVehicles.hpp +++ b/addons/hearing/CfgVehicles.hpp @@ -7,15 +7,15 @@ class CfgVehicles { displayName = CSTRING(EarPlugs_On); condition = QUOTE(GVAR(EnableCombatDeafness) && {!([_player] call FUNC(hasEarPlugsIn)) && {'ACE_EarPlugs' in items _player}}); exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting"}; - statement = QUOTE([ARR_2(_player, true)] call FUNC(putInEarPlugs)); + statement = QUOTE([ARR_2(_player,true)] call FUNC(putInEarPlugs)); showDisabled = 0; icon = QPATHTOF(UI\ACE_earplugs_x_ca.paa); }; class ACE_RemoveEarplugs { displayName = CSTRING(EarPlugs_Off); - condition = QUOTE( GVAR(EnableCombatDeafness) && {[_player] call FUNC(hasEarPlugsIn)}); + condition = QUOTE(GVAR(EnableCombatDeafness) && {[_player] call FUNC(hasEarPlugsIn)}); exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting"}; - statement = QUOTE([ARR_2(_player, true)] call FUNC(removeEarPlugs)); + statement = QUOTE([ARR_2(_player,true)] call FUNC(removeEarPlugs)); showDisabled = 0; icon = QPATHTOF(UI\ACE_earplugs_x_ca.paa); }; diff --git a/addons/hearing/CfgWeapons.hpp b/addons/hearing/CfgWeapons.hpp index e91721b591..23ebe5c1d2 100644 --- a/addons/hearing/CfgWeapons.hpp +++ b/addons/hearing/CfgWeapons.hpp @@ -10,97 +10,94 @@ class CfgWeapons { picture = QPATHTOF(UI\ACE_earplugs_x_ca.paa); scope = 2; class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 1; + mass = 0.1; }; }; - #define HEARING_PROTECTION_VICCREW EGVAR(hearing,protection) = 0.85; EGVAR(hearing,lowerVolume) = 0.6; - #define HEARING_PROTECTION_EARMUFF EGVAR(hearing,protection) = 0.75; EGVAR(hearing,lowerVolume) = 0.5; - #define HEARING_PROTECTION_PELTOR EGVAR(hearing,protection) = 0.75; EGVAR(hearing,lowerVolume) = 0; class H_HelmetB; class H_HelmetCrew_B: H_HelmetB { - HEARING_PROTECTION_VICCREW + HEARING_PROTECTION_VICCREW; }; class H_CrewHelmetHeli_B: H_HelmetB { - HEARING_PROTECTION_VICCREW + HEARING_PROTECTION_VICCREW; }; class H_PilotHelmetHeli_B: H_HelmetB { - HEARING_PROTECTION_VICCREW + HEARING_PROTECTION_VICCREW; }; class H_PilotHelmetFighter_B: H_HelmetB { - HEARING_PROTECTION_VICCREW + HEARING_PROTECTION_VICCREW; }; class HelmetBase; class H_Cap_headphones: HelmetBase { - HEARING_PROTECTION_EARMUFF + HEARING_PROTECTION_EARMUFF; }; class H_Construction_earprot_base_F: HelmetBase { - HEARING_PROTECTION_EARMUFF + HEARING_PROTECTION_EARMUFF; }; class H_Construction_headset_base_F: HelmetBase { - HEARING_PROTECTION_EARMUFF + HEARING_PROTECTION_EARMUFF; }; class H_EarProtectors_base_F: HelmetBase { - HEARING_PROTECTION_EARMUFF + HEARING_PROTECTION_EARMUFF; }; class H_HeadSet_base_F: HelmetBase { - HEARING_PROTECTION_EARMUFF + HEARING_PROTECTION_EARMUFF; }; class H_HelmetB_light: H_HelmetB { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class H_HelmetB_camo: H_HelmetB { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class H_HelmetB_plain_mcamo; class H_HelmetSpecB: H_HelmetB_plain_mcamo { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class H_HelmetB_TI_tna_F: H_HelmetB { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class H_Tank_base_F; class H_Tank_black_F: H_Tank_base_F { - HEARING_PROTECTION_VICCREW + HEARING_PROTECTION_VICCREW; }; class H_RacingHelmet_1_F: H_HelmetB_camo { - HEARING_PROTECTION_VICCREW + HEARING_PROTECTION_VICCREW; }; class H_HelmetO_ocamo: H_HelmetB { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; // Defender and Assasin Helmet inherit. class H_HelmetO_ViperSP_hex_f: H_HelmetB { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class H_HelmetAggressor_base_F: HelmetBase { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class H_HelmetHBK_base_F; class H_HelmetHBK_chops_base_F: H_HelmetHBK_base_F { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class H_HelmetHBK_ear_base_F: H_HelmetHBK_base_F { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; class H_HelmetHBK_headset_base_F: H_HelmetHBK_base_F { - HEARING_PROTECTION_PELTOR + HEARING_PROTECTION_PELTOR; }; }; diff --git a/addons/hearing/functions/fnc_addEarPlugs.sqf b/addons/hearing/functions/fnc_addEarPlugs.sqf index 2fcfdab75d..b73c94bf01 100644 --- a/addons/hearing/functions/fnc_addEarPlugs.sqf +++ b/addons/hearing/functions/fnc_addEarPlugs.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Called on unit initialization. Adds earplugs if the unit is equipped with either a really loud primary weapon or a rocket launcher. diff --git a/addons/hearing/functions/fnc_earRinging.sqf b/addons/hearing/functions/fnc_earRinging.sqf index ae830e09a2..f5a2a714db 100644 --- a/addons/hearing/functions/fnc_earRinging.sqf +++ b/addons/hearing/functions/fnc_earRinging.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, commy2, Rocko, Rommel, Ruthberg * Handle new sound souce near ace_player and apply hearing damage diff --git a/addons/hearing/functions/fnc_explosionNear.sqf b/addons/hearing/functions/fnc_explosionNear.sqf index 799002b3f7..c65cf31c76 100644 --- a/addons/hearing/functions/fnc_explosionNear.sqf +++ b/addons/hearing/functions/fnc_explosionNear.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, commy2, Ruthberg * Handles deafness due to explosions going off near the player. diff --git a/addons/hearing/functions/fnc_firedNear.sqf b/addons/hearing/functions/fnc_firedNear.sqf index 4dd8c759a3..98ee093381 100644 --- a/addons/hearing/functions/fnc_firedNear.sqf +++ b/addons/hearing/functions/fnc_firedNear.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, commy2 * Handles deafness due to large-caliber weapons going off near the player. diff --git a/addons/hearing/functions/fnc_handleRespawn.sqf b/addons/hearing/functions/fnc_handleRespawn.sqf index 74dee65b04..b436aa7c41 100644 --- a/addons/hearing/functions/fnc_handleRespawn.sqf +++ b/addons/hearing/functions/fnc_handleRespawn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Reset earplugs on respawn, and then re-add if appropriate diff --git a/addons/hearing/functions/fnc_hasEarPlugsIn.sqf b/addons/hearing/functions/fnc_hasEarPlugsIn.sqf index f24b17737e..f4b84281fb 100644 --- a/addons/hearing/functions/fnc_hasEarPlugsIn.sqf +++ b/addons/hearing/functions/fnc_hasEarPlugsIn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if the unit has earplugs put in. diff --git a/addons/hearing/functions/fnc_moduleHearing.sqf b/addons/hearing/functions/fnc_moduleHearing.sqf index d36579c4c0..924f2baa21 100644 --- a/addons/hearing/functions/fnc_moduleHearing.sqf +++ b/addons/hearing/functions/fnc_moduleHearing.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Initializes the Hearing module. diff --git a/addons/hearing/functions/fnc_putInEarplugs.sqf b/addons/hearing/functions/fnc_putInEarplugs.sqf index 25584130e4..2af4df8e86 100644 --- a/addons/hearing/functions/fnc_putInEarplugs.sqf +++ b/addons/hearing/functions/fnc_putInEarplugs.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Hope Johnson and commy2 * Puts in earplugs. diff --git a/addons/hearing/functions/fnc_removeEarplugs.sqf b/addons/hearing/functions/fnc_removeEarplugs.sqf index 8399a3a84f..20a49bb530 100644 --- a/addons/hearing/functions/fnc_removeEarplugs.sqf +++ b/addons/hearing/functions/fnc_removeEarplugs.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Hope Johnson and commy2 * Takes out earplugs. diff --git a/addons/hearing/functions/fnc_updateHearingProtection.sqf b/addons/hearing/functions/fnc_updateHearingProtection.sqf index e010165f8a..15973b73a9 100644 --- a/addons/hearing/functions/fnc_updateHearingProtection.sqf +++ b/addons/hearing/functions/fnc_updateHearingProtection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Updates the hearing protection and volume attenuation for player on earbuds/helmet change diff --git a/addons/hearing/functions/fnc_updatePlayerVehAttenuation.sqf b/addons/hearing/functions/fnc_updatePlayerVehAttenuation.sqf index 76f685df81..207c0f07a3 100644 --- a/addons/hearing/functions/fnc_updatePlayerVehAttenuation.sqf +++ b/addons/hearing/functions/fnc_updatePlayerVehAttenuation.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Gets the sound attenuation of a player to the outside. diff --git a/addons/hearing/functions/fnc_updateVolume.sqf b/addons/hearing/functions/fnc_updateVolume.sqf index 6cff2a9fe5..0029cdc4de 100644 --- a/addons/hearing/functions/fnc_updateVolume.sqf +++ b/addons/hearing/functions/fnc_updateVolume.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 and esteldunedain and Ruthberg * Updates and applies the current deafness. Called every 1 sec from a PFEH. diff --git a/addons/hearing/functions/script_component.hpp b/addons/hearing/functions/script_component.hpp deleted file mode 100644 index 68af962cdc..0000000000 --- a/addons/hearing/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\hearing\script_component.hpp" diff --git a/addons/hearing/script_component.hpp b/addons/hearing/script_component.hpp index 7e69c908b5..178310cd20 100644 --- a/addons/hearing/script_component.hpp +++ b/addons/hearing/script_component.hpp @@ -15,3 +15,4 @@ #endif #include "\z\ace\addons\main\script_macros.hpp" +#include "\z\ace\addons\hearing\script_macros_hearingProtection.hpp" diff --git a/addons/hearing/script_macros_hearingProtection.hpp b/addons/hearing/script_macros_hearingProtection.hpp new file mode 100644 index 0000000000..377560247e --- /dev/null +++ b/addons/hearing/script_macros_hearingProtection.hpp @@ -0,0 +1,4 @@ +#define HEARING_PROTECTION_OPEN EGVAR(hearing,protection) = 0; EGVAR(hearing,lowerVolume) = 0 +#define HEARING_PROTECTION_VICCREW EGVAR(hearing,protection) = 0.85; EGVAR(hearing,lowerVolume) = 0.6 +#define HEARING_PROTECTION_EARMUFF EGVAR(hearing,protection) = 0.75; EGVAR(hearing,lowerVolume) = 0.5 +#define HEARING_PROTECTION_PELTOR EGVAR(hearing,protection) = 0.75; EGVAR(hearing,lowerVolume) = 0 diff --git a/addons/hellfire/functions/fnc_attackProfile.sqf b/addons/hellfire/functions/fnc_attackProfile.sqf index b2a08f24a3..28dda99086 100644 --- a/addons/hellfire/functions/fnc_attackProfile.sqf +++ b/addons/hellfire/functions/fnc_attackProfile.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Hellfire attack profile. Handles all 4 modes LOBL, LOAL-DIR, LOAL-HI, LOAL-LO diff --git a/addons/hellfire/functions/fnc_getAttackProfileSettings.sqf b/addons/hellfire/functions/fnc_getAttackProfileSettings.sqf index 066d280d65..fb12cad00f 100644 --- a/addons/hellfire/functions/fnc_getAttackProfileSettings.sqf +++ b/addons/hellfire/functions/fnc_getAttackProfileSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Gets attack profile parameters for first run of hellfire attack profile function diff --git a/addons/hellfire/functions/fnc_setupVehicle.sqf b/addons/hellfire/functions/fnc_setupVehicle.sqf index 9fcd5d8376..49eefd8274 100644 --- a/addons/hellfire/functions/fnc_setupVehicle.sqf +++ b/addons/hellfire/functions/fnc_setupVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Adds interaction menu actions to switch the firemode to a vehicle. diff --git a/addons/hellfire/functions/script_component.hpp b/addons/hellfire/functions/script_component.hpp deleted file mode 100644 index 899f29a758..0000000000 --- a/addons/hellfire/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\hellfire\script_component.hpp" diff --git a/addons/hellfire/stringtable.xml b/addons/hellfire/stringtable.xml index df16c00c9f..11132ee029 100644 --- a/addons/hellfire/stringtable.xml +++ b/addons/hellfire/stringtable.xml @@ -27,6 +27,7 @@ Halbaktive Laser-Zielsuchrakete mit HEAT-Gefechtskopf 高爆反坦克弹头半主动激光制导导弹 반능동 레이저 유도미사일로 대전차 고폭 탄두를 탑재하고 있습니다. + Míssil teleguiado a laser semi-ativo com ogiva antitanque altamente explosiva Millimeter-wave radar guided missile with high explosive anti-tank warhead @@ -38,6 +39,7 @@ Millimeterwellenradar-Lenkflugkörper mit HEAT-Gefechtskopf 高爆反坦克弹头毫米波雷达制导导弹 밀리미터파 레이더 유도 미사일로 대전차 고폭 탄두를 탑재하고 있습니다. + Míssil guiado por radar de ondas milimétricas com ogiva antitanque altamente explosiva Semi-active laser homing missile with metal augmented charge anti-personnel warhead @@ -49,6 +51,7 @@ Halbaktive Laser-Zielsuchrakete mit metallverstärktem Antipersonen-Gefechtskopf 金属增强人员杀伤弹头半主动激光制导导弹 반능동 레이저 유도 미사일로 대인 금속 강화 탄두가 탑재하고 있습니다. + Míssil teleguiado a laser semi-ativo com ogiva antipessoal de carga aumentada de metal diff --git a/addons/hitreactions/XEH_PREP.hpp b/addons/hitreactions/XEH_PREP.hpp index 53f2d60eb6..7701b8ef19 100644 --- a/addons/hitreactions/XEH_PREP.hpp +++ b/addons/hitreactions/XEH_PREP.hpp @@ -1,4 +1,3 @@ PREP(fallDown); PREP(getRandomAnimation); -PREP(throwWeapon); diff --git a/addons/hitreactions/functions/fnc_fallDown.sqf b/addons/hitreactions/functions/fnc_fallDown.sqf index d0f93f6f95..38f3152c7c 100644 --- a/addons/hitreactions/functions/fnc_fallDown.sqf +++ b/addons/hitreactions/functions/fnc_fallDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Adds reactions to a unit that was hit. EH only runs where to unit is local. Adds screams, falling down, falling from ladders, ejecting from static weapons and camshake for players diff --git a/addons/hitreactions/functions/fnc_getRandomAnimation.sqf b/addons/hitreactions/functions/fnc_getRandomAnimation.sqf index bfdfd9646f..8b26bf70ef 100644 --- a/addons/hitreactions/functions/fnc_getRandomAnimation.sqf +++ b/addons/hitreactions/functions/fnc_getRandomAnimation.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Get a random fall animation for the unit. diff --git a/addons/hitreactions/functions/script_component.hpp b/addons/hitreactions/functions/script_component.hpp deleted file mode 100644 index d87ce4811a..0000000000 --- a/addons/hitreactions/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\hitreactions\script_component.hpp" diff --git a/addons/hunterkiller/CfgVehicles.hpp b/addons/hunterkiller/CfgVehicles.hpp index 4ba64d8a95..b0fc79fc2b 100644 --- a/addons/hunterkiller/CfgVehicles.hpp +++ b/addons/hunterkiller/CfgVehicles.hpp @@ -21,4 +21,8 @@ class CfgVehicles { class MBT_04_base_F: Tank_F { ADDON = 1; }; + class Wheeled_APC_F; + class AFV_Wheeled_01_base_F: Wheeled_APC_F { + ADDON = 1; + }; }; diff --git a/addons/hunterkiller/functions/fnc_keydown.sqf b/addons/hunterkiller/functions/fnc_keydown.sqf index 2492f8fb82..8e2255739a 100644 --- a/addons/hunterkiller/functions/fnc_keydown.sqf +++ b/addons/hunterkiller/functions/fnc_keydown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Slew keybind pressed diff --git a/addons/hunterkiller/functions/fnc_slew.sqf b/addons/hunterkiller/functions/fnc_slew.sqf index 97d66aa38f..11c53001e5 100644 --- a/addons/hunterkiller/functions/fnc_slew.sqf +++ b/addons/hunterkiller/functions/fnc_slew.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Slews turret to target pos and shows visual feedback diff --git a/addons/hunterkiller/functions/fnc_turretChangedEH.sqf b/addons/hunterkiller/functions/fnc_turretChangedEH.sqf index 88ca02fe98..2bc00fc26f 100644 --- a/addons/hunterkiller/functions/fnc_turretChangedEH.sqf +++ b/addons/hunterkiller/functions/fnc_turretChangedEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Turret changed event handler. Determine if in a master turret diff --git a/addons/hunterkiller/functions/script_component.hpp b/addons/hunterkiller/functions/script_component.hpp deleted file mode 100644 index 5ad82702f2..0000000000 --- a/addons/hunterkiller/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\hunterkiller\script_component.hpp" diff --git a/addons/hunterkiller/stringtable.xml b/addons/hunterkiller/stringtable.xml index c422eef3f5..5d42659329 100644 --- a/addons/hunterkiller/stringtable.xml +++ b/addons/hunterkiller/stringtable.xml @@ -7,6 +7,11 @@ Hunter Killer Hunter Killer ハンターキラー + Hunter Killer + Hunter Killer + Hunter Killer + Hunter Killer + Hunter Killer Override @@ -14,6 +19,11 @@ Указать Anular オーバーライド + Nadpisanie + Überschreibe + Sovrascrivi + Surcharge + Sobrescrever Force other turret to slew onto your viewpoint @@ -21,6 +31,11 @@ Повернуть другую турель туда, куда смотрит твоя Forzar otra torreta a dirigirse hacia tu zona de apuntado. 他のタレットを強制的に自分の視点に旋回させる + Obróć drugą wieżyczkę w kierunku, w którym zwrócona jest twoja wieżyczka. + Zwingt andere Türme, sich auf deine Blickrichtung zu drehen + Costringe altre torrette a puntare dove è puntata la tua. + Force une autre tourelle à s'aligner sur votre point de vue. + Força outra torreta a alinhar-se com o seu ponto de vista. Observe @@ -28,6 +43,11 @@ Наблюдать Observar オブザーブ + Obserwowanie + Observiere + Osserva + Observation + Observar Slew your turret onto other turret's viewpoint @@ -35,6 +55,11 @@ Повернуть свою турель туда, куда смотрит другая Dirigir tu propia torreta hacia la zona de apuntado de otra torreta. 自分のタレットを相手のタレットの視点に旋回させる。 + Obróć swoją wieżyczkę tam, gdzie patrzy druga. + Richtet deinen Turm auf die Blickrichtung eines anderen Turms + Punta la tua torretta nella direzione di un'altra torretta. + Aligne votre tourelle sur le point de vue d'une autre tourelle. + Alinhe a sua torreta com o ponto de vista de outra torreta. diff --git a/addons/huntir/CfgAmmo.hpp b/addons/huntir/CfgAmmo.hpp index a9cd260d0f..8766795d9f 100644 --- a/addons/huntir/CfgAmmo.hpp +++ b/addons/huntir/CfgAmmo.hpp @@ -5,6 +5,9 @@ class CfgAmmo { lightColor[] = {0, 0, 0, 0}; smokeColor[] = {0, 0, 0, 0}; timeToLive = 6; + class Eventhandlers { + fired = QUOTE(call FUNC(handleFired)); + }; }; class ShellBase; diff --git a/addons/huntir/RscTitles.hpp b/addons/huntir/RscTitles.hpp index e9ad860d68..90cb32bbad 100644 --- a/addons/huntir/RscTitles.hpp +++ b/addons/huntir/RscTitles.hpp @@ -8,7 +8,7 @@ class RscTitles { fadeout = 1; duration = 1e+011; name=QGVAR(cam_rose); - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(cam_rose), _this select 0)]); + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(cam_rose),_this select 0)]); class controls { class CHAR_N { type = 0; diff --git a/addons/huntir/XEH_postInit.sqf b/addons/huntir/XEH_postInit.sqf index 1f6a39056b..c68252af3b 100644 --- a/addons/huntir/XEH_postInit.sqf +++ b/addons/huntir/XEH_postInit.sqf @@ -8,8 +8,4 @@ GVAR(cur_cam) = 0; GVAR(ROTATE) = 0; GVAR(ELEVAT) = 0.01; -// Register fire event handler -// Don't run for non players, as they are too dumb to launch huntirs anyway -["ace_firedPlayer", DFUNC(handleFired)] call CBA_fnc_addEventHandler; - ["ace_huntir", {!GETMVAR(GVAR(stop),true)}] call CBA_fnc_registerFeatureCamera; diff --git a/addons/huntir/functions/fnc_cam.sqf b/addons/huntir/functions/fnc_cam.sqf index ca027b23ab..54b6516fff 100644 --- a/addons/huntir/functions/fnc_cam.sqf +++ b/addons/huntir/functions/fnc_cam.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Norrin, Rocko, Ruthberg * diff --git a/addons/huntir/functions/fnc_handleFired.sqf b/addons/huntir/functions/fnc_handleFired.sqf index 42c6bf3c84..5c7c3aca63 100644 --- a/addons/huntir/functions/fnc_handleFired.sqf +++ b/addons/huntir/functions/fnc_handleFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Norrin, Rocko, Ruthberg * @@ -16,12 +16,11 @@ * Public: No */ -//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); +params ["_unit", "", "", "", "", "", "_projectile"]; +TRACE_2("handleFired",_unit,_projectile); -if (_ammo != "F_HuntIR") exitWith {}; - -if (!hasInterface) exitWith {}; +// Don't run for non players, as they are too dumb to launch huntirs anyway +if (_unit != ACE_player) exitWith {}; [{ params ["_projectile"]; diff --git a/addons/huntir/functions/fnc_huntir.sqf b/addons/huntir/functions/fnc_huntir.sqf index 221bc5ccec..60b7a1fc14 100644 --- a/addons/huntir/functions/fnc_huntir.sqf +++ b/addons/huntir/functions/fnc_huntir.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Norrin, Rocko, Ruthberg * diff --git a/addons/huntir/functions/fnc_huntirCompass.sqf b/addons/huntir/functions/fnc_huntirCompass.sqf index 9a7882f45c..8dac53b41b 100644 --- a/addons/huntir/functions/fnc_huntirCompass.sqf +++ b/addons/huntir/functions/fnc_huntirCompass.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Norrin, Rocko, Ruthberg * diff --git a/addons/huntir/functions/fnc_keyPressed.sqf b/addons/huntir/functions/fnc_keyPressed.sqf index edfa39c534..70f9e75afc 100644 --- a/addons/huntir/functions/fnc_keyPressed.sqf +++ b/addons/huntir/functions/fnc_keyPressed.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Norrin, Rocko * Handles the HuntIR monitor key interaction diff --git a/addons/huntir/functions/script_component.hpp b/addons/huntir/functions/script_component.hpp deleted file mode 100644 index faf446a5ec..0000000000 --- a/addons/huntir/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\huntir\script_component.hpp" diff --git a/addons/huntir/stringtable.xml b/addons/huntir/stringtable.xml index 57440b7bfa..0ea8abc37b 100644 --- a/addons/huntir/stringtable.xml +++ b/addons/huntir/stringtable.xml @@ -13,7 +13,7 @@ HuntIR Transport Box Caixa de transporte do HuntIR HuntIR 輸送箱 - HuntIR 운반함 + 헌트IR 운반함 高空战术摄像头运输箱 高空戰術成像器運輸箱 HuntIR Taşıma Kutusu @@ -30,7 +30,7 @@ HuntIR lövedék Cartucho HuntIR HuntIR 弾頭 - HuntIR 유탄 + 헌트IR 유탄 高空战术摄像头弹药 高空戰術成像器彈藥 HuntIR Mermisi @@ -47,7 +47,7 @@ HuntIR Monitor Monitor HuntIR HuntIR モニタ - HuntIR 모니터 + 헌트IR 모니터 高空战术摄像头显示面板 高空戰術成像器顯示面板 HuntIR Ekranı @@ -64,7 +64,7 @@ HuntIR monitor aktiválása Ativar monitor do HuntIR HuntIR を起動する - HuntIR 모니터 켜기 + 헌트IR 모니터 켜기 开启高空战术摄像头显示面板 開啟高空戰術成像器顯示面板 HuntIR Ekranı Aktif diff --git a/addons/huntir/subConfig/config.cpp b/addons/huntir/subConfig/config.cpp index 29a9f0ca25..a75b34f253 100644 --- a/addons/huntir/subConfig/config.cpp +++ b/addons/huntir/subConfig/config.cpp @@ -1,9 +1,8 @@ -#include "\z\ace\addons\huntir\script_component.hpp" -#undef COMPONENT -#define COMPONENT huntir_sub +#define SUBCOMPONENT sub +#include "..\script_component.hpp" class CfgPatches { - class ADDON { + class SUBADDON { name = COMPONENT_NAME; units[] = {}; weapons[] = {}; @@ -12,6 +11,8 @@ class CfgPatches { author = ECSTRING(common,ACETeam); url = ECSTRING(main,URL); VERSION_CONFIG; + + addonRootClass = QUOTE(ADDON); }; }; diff --git a/addons/intelitems/CfgMagazines.hpp b/addons/intelitems/CfgMagazines.hpp index cb5bbf495d..75d1ca29ee 100644 --- a/addons/intelitems/CfgMagazines.hpp +++ b/addons/intelitems/CfgMagazines.hpp @@ -2,7 +2,7 @@ class CfgMagazines { class CA_Magazine; class GVAR(base): CA_Magazine { count = 1; - mass = 1; + mass = 0.1; ACE_isUnique = 1; GVAR(intel) = 1; GVAR(control) = ""; diff --git a/addons/intelitems/functions/fnc_addActions.sqf b/addons/intelitems/functions/fnc_addActions.sqf index d43d7fc927..6b93a54eb1 100644 --- a/addons/intelitems/functions/fnc_addActions.sqf +++ b/addons/intelitems/functions/fnc_addActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Returns children actions for intel items in the player's inventory. diff --git a/addons/intelitems/functions/fnc_addIntel.sqf b/addons/intelitems/functions/fnc_addIntel.sqf index 81eaf6311f..a697afb5ef 100644 --- a/addons/intelitems/functions/fnc_addIntel.sqf +++ b/addons/intelitems/functions/fnc_addIntel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Adds the given intel item (magazine) to the given unit. diff --git a/addons/intelitems/functions/fnc_attributeFocus.sqf b/addons/intelitems/functions/fnc_attributeFocus.sqf index e2745c487c..592811ae09 100644 --- a/addons/intelitems/functions/fnc_attributeFocus.sqf +++ b/addons/intelitems/functions/fnc_attributeFocus.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, mharis001 * Initializes the Zeus attributes display for intel objects. diff --git a/addons/intelitems/functions/fnc_canPickup.sqf b/addons/intelitems/functions/fnc_canPickup.sqf index 3711f1f359..9bab60af1b 100644 --- a/addons/intelitems/functions/fnc_canPickup.sqf +++ b/addons/intelitems/functions/fnc_canPickup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, mharis001 * Checks if the player can pickup an intel object. diff --git a/addons/intelitems/functions/fnc_createControl.sqf b/addons/intelitems/functions/fnc_createControl.sqf index c24e9d74e2..b56d3f3681 100644 --- a/addons/intelitems/functions/fnc_createControl.sqf +++ b/addons/intelitems/functions/fnc_createControl.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, mharis001 * Creates an intel controls group. diff --git a/addons/intelitems/functions/fnc_deleteControl.sqf b/addons/intelitems/functions/fnc_deleteControl.sqf index 858044715f..c2b986b21f 100644 --- a/addons/intelitems/functions/fnc_deleteControl.sqf +++ b/addons/intelitems/functions/fnc_deleteControl.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, mharis001 * Deletes an intel controls group. diff --git a/addons/intelitems/functions/fnc_handleLoadout.sqf b/addons/intelitems/functions/fnc_handleLoadout.sqf index 01650d6db4..f4e2ed5b25 100644 --- a/addons/intelitems/functions/fnc_handleLoadout.sqf +++ b/addons/intelitems/functions/fnc_handleLoadout.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Handles the player loadout changed event. diff --git a/addons/intelitems/functions/fnc_handleMagIndex.sqf b/addons/intelitems/functions/fnc_handleMagIndex.sqf index 4982130428..da47f9c74a 100644 --- a/addons/intelitems/functions/fnc_handleMagIndex.sqf +++ b/addons/intelitems/functions/fnc_handleMagIndex.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, mharis001 * Handles assigning a unique intel index to a magazine id. diff --git a/addons/intelitems/functions/fnc_onMouseButtonDown.sqf b/addons/intelitems/functions/fnc_onMouseButtonDown.sqf index 9a0339bff0..02b78678b7 100644 --- a/addons/intelitems/functions/fnc_onMouseButtonDown.sqf +++ b/addons/intelitems/functions/fnc_onMouseButtonDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Handles the mouse button down event for an intel control. diff --git a/addons/intelitems/functions/fnc_onMouseButtonUp.sqf b/addons/intelitems/functions/fnc_onMouseButtonUp.sqf index d8a04c0784..b8fe39e793 100644 --- a/addons/intelitems/functions/fnc_onMouseButtonUp.sqf +++ b/addons/intelitems/functions/fnc_onMouseButtonUp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Handles the mouse button up event for an intel control. diff --git a/addons/intelitems/functions/fnc_onMouseMoving.sqf b/addons/intelitems/functions/fnc_onMouseMoving.sqf index 1147261e12..673b5718e3 100644 --- a/addons/intelitems/functions/fnc_onMouseMoving.sqf +++ b/addons/intelitems/functions/fnc_onMouseMoving.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Handles the mouse moving event for an intel control. diff --git a/addons/intelitems/functions/fnc_pickup.sqf b/addons/intelitems/functions/fnc_pickup.sqf index 844c84f3f4..1bb075a10f 100644 --- a/addons/intelitems/functions/fnc_pickup.sqf +++ b/addons/intelitems/functions/fnc_pickup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, mharis001 * Picks up an intel object by converting it into a unique magazine. diff --git a/addons/intelitems/functions/fnc_setObjectData.sqf b/addons/intelitems/functions/fnc_setObjectData.sqf index b055e3202c..395195fad5 100644 --- a/addons/intelitems/functions/fnc_setObjectData.sqf +++ b/addons/intelitems/functions/fnc_setObjectData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, mharis001 * Sets the intel data for an object. Used by 3DEN and Zeus attributes. diff --git a/addons/intelitems/functions/script_component.hpp b/addons/intelitems/functions/script_component.hpp deleted file mode 100644 index 46ffa36f0b..0000000000 --- a/addons/intelitems/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\intelitems\script_component.hpp" diff --git a/addons/intelitems/gui.hpp b/addons/intelitems/gui.hpp index e5e9d4a1f2..4f4f1a1206 100644 --- a/addons/intelitems/gui.hpp +++ b/addons/intelitems/gui.hpp @@ -148,8 +148,8 @@ class RscDisplayAttributes { }; class GVAR(RscSetData): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscSetData))] call EFUNC(zeus,zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscSetData))] call EFUNC(zeus,zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(RscSetData))] call EFUNC(zeus,zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(RscSetData))] call EFUNC(zeus,zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; diff --git a/addons/intelitems/stringtable.xml b/addons/intelitems/stringtable.xml index 4bd23367eb..2aa6aea187 100644 --- a/addons/intelitems/stringtable.xml +++ b/addons/intelitems/stringtable.xml @@ -12,6 +12,8 @@ ACE Istihbarat Eşyaları ACE 정보 아이템 ACE Objetos de Inteligencia + ACE Objets de Renseignements + ACE Itens de Inteligência Intel Items @@ -24,6 +26,8 @@ Istihbarat Eşyaları 정보 아이템 Objetos de Inteligencia + Objets de Renseignements + Itens de Inteligência Notepad @@ -36,6 +40,8 @@ Not Defteri 노트패드 Bloc de notas + Bloc-notes + Bloco de Notas Notepad - Can access from the map screen @@ -48,6 +54,8 @@ Not Defteri - Haritadan erişim sağlanabilinir 노트패드 - 지도에서 확인 가능합니다 Block de notas - Puede accederse desde la pantalla de mapa + Bloc-note - Consultable depuis la carte + Bloco de Notas - Pode ser acessado a partir da tela de mapa Document @@ -60,6 +68,8 @@ Döküman 문서 Documento + Document + Documento Printed Document - Can access from the map screen @@ -72,6 +82,8 @@ Yazılı Döküman - Haritadan erişim sağlanabilinir 문서들 - 지도에서 확인 가능합니다 Documento Impreso - Puede accederse desde la pantalla de mapa + Document imprimé - Consultable depuis la carte + Documento Impresso - Pode ser acessado a partir da tela de mapa Photo @@ -84,6 +96,8 @@ Fotoğraf 사진 Fotografía + Photo + Fotografia Photo - Can access from the map screen @@ -96,6 +110,8 @@ Fotoğraf - Haritadan erişim sağlanabilinir 사진 - 지도에서 확인 가능합니다 Fotografía - Puede accederse desde la pantalla de mapa + Photo - Consultable depuis la carte + Fotografia - Pode ser acessada a partir da tela de mapa Text @@ -124,6 +140,8 @@ Fotoğraf Dosya Adı 사진명 Nombre de fichero de la Fotografía + Nom du fichier photo + Nome do Arquivo da Fotografia Pick Up diff --git a/addons/interact_menu/functions/fnc_addActionToClass.sqf b/addons/interact_menu/functions/fnc_addActionToClass.sqf index 69425ea047..93d54c991c 100644 --- a/addons/interact_menu/functions/fnc_addActionToClass.sqf +++ b/addons/interact_menu/functions/fnc_addActionToClass.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Insert an ACE action to a class, under a certain path diff --git a/addons/interact_menu/functions/fnc_addActionToObject.sqf b/addons/interact_menu/functions/fnc_addActionToObject.sqf index f3102469a5..d22b77cc83 100644 --- a/addons/interact_menu/functions/fnc_addActionToObject.sqf +++ b/addons/interact_menu/functions/fnc_addActionToObject.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Insert an ACE action to an object, under a certain config path diff --git a/addons/interact_menu/functions/fnc_addActionToZeus.sqf b/addons/interact_menu/functions/fnc_addActionToZeus.sqf index 538ea5fe16..b4dbb69f4a 100644 --- a/addons/interact_menu/functions/fnc_addActionToZeus.sqf +++ b/addons/interact_menu/functions/fnc_addActionToZeus.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Insert an ACE action to zeus. diff --git a/addons/interact_menu/functions/fnc_addMainAction.sqf b/addons/interact_menu/functions/fnc_addMainAction.sqf index d00cd2b60e..86b37bf416 100644 --- a/addons/interact_menu/functions/fnc_addMainAction.sqf +++ b/addons/interact_menu/functions/fnc_addMainAction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas, PabstMirror * Makes sure there is a ACE_MainActions on the object type diff --git a/addons/interact_menu/functions/fnc_collectActiveActionTree.sqf b/addons/interact_menu/functions/fnc_collectActiveActionTree.sqf index 892c26f1d0..82235493e6 100644 --- a/addons/interact_menu/functions/fnc_collectActiveActionTree.sqf +++ b/addons/interact_menu/functions/fnc_collectActiveActionTree.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Collect a entire tree of active actions diff --git a/addons/interact_menu/functions/fnc_compileMenu.sqf b/addons/interact_menu/functions/fnc_compileMenu.sqf index aeb5d43d5b..35b0ea7177 100644 --- a/addons/interact_menu/functions/fnc_compileMenu.sqf +++ b/addons/interact_menu/functions/fnc_compileMenu.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: NouberNou and esteldunedain * Compile the action menu from config for an object's class diff --git a/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf b/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf index c3ad9b35e7..75fdb93819 100644 --- a/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf +++ b/addons/interact_menu/functions/fnc_compileMenuSelfAction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: NouberNou and esteldunedain * Compile the self action menu from config for an object's class diff --git a/addons/interact_menu/functions/fnc_compileMenuZeus.sqf b/addons/interact_menu/functions/fnc_compileMenuZeus.sqf index d718dac5e7..e4b926b3e3 100644 --- a/addons/interact_menu/functions/fnc_compileMenuZeus.sqf +++ b/addons/interact_menu/functions/fnc_compileMenuZeus.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Compile the zeus action menu (only to be done once) diff --git a/addons/interact_menu/functions/fnc_createAction.sqf b/addons/interact_menu/functions/fnc_createAction.sqf index 07aa6d5fee..d920922ddb 100644 --- a/addons/interact_menu/functions/fnc_createAction.sqf +++ b/addons/interact_menu/functions/fnc_createAction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Creates an isolated ACE action diff --git a/addons/interact_menu/functions/fnc_createVehiclesActions.sqf b/addons/interact_menu/functions/fnc_createVehiclesActions.sqf index 814bf04f63..54f92967c2 100644 --- a/addons/interact_menu/functions/fnc_createVehiclesActions.sqf +++ b/addons/interact_menu/functions/fnc_createVehiclesActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Creates child actions for vehicle list. @@ -23,8 +23,11 @@ params ["_vehicles", "_statement", "_target"]; _vehicles apply { private _name = getText ((configOf _x) >> "displayName"); private _ownerName = [_x, true] call EFUNC(common,getName); + private _distanceStr = (ACE_player distance _x) toFixed 1; if ("" != _ownerName) then { - _name = format ["%1 (%2)", _name, _ownerName]; + _name = format ["%1 (%2, %3m)", _name, _ownerName, _distanceStr]; + } else { + _name = format ["%1 (%2m)", _name, _distanceStr]; }; private _icon = [_x] call EFUNC(common,getVehicleIcon); private _action = [format ["%1", _x], _name, _icon, _statement, {true}, {}, _x] call EFUNC(interact_menu,createAction); diff --git a/addons/interact_menu/functions/fnc_ctrlSetParsedTextCached.sqf b/addons/interact_menu/functions/fnc_ctrlSetParsedTextCached.sqf index deed10e293..dd75c37a3c 100644 --- a/addons/interact_menu/functions/fnc_ctrlSetParsedTextCached.sqf +++ b/addons/interact_menu/functions/fnc_ctrlSetParsedTextCached.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Sets the controls structured text if it isn't already set. diff --git a/addons/interact_menu/functions/fnc_findActionNode.sqf b/addons/interact_menu/functions/fnc_findActionNode.sqf index f095482b99..4e04fcebea 100644 --- a/addons/interact_menu/functions/fnc_findActionNode.sqf +++ b/addons/interact_menu/functions/fnc_findActionNode.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Return action point from path diff --git a/addons/interact_menu/functions/fnc_handleEscapeMenu.sqf b/addons/interact_menu/functions/fnc_handleEscapeMenu.sqf index d915f57999..8922aca8f4 100644 --- a/addons/interact_menu/functions/fnc_handleEscapeMenu.sqf +++ b/addons/interact_menu/functions/fnc_handleEscapeMenu.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handle the escape key being pressed. diff --git a/addons/interact_menu/functions/fnc_initMenuReorder.sqf b/addons/interact_menu/functions/fnc_initMenuReorder.sqf index 4e328bb045..48445b3fa0 100644 --- a/addons/interact_menu/functions/fnc_initMenuReorder.sqf +++ b/addons/interact_menu/functions/fnc_initMenuReorder.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Initializes "More" and "Move to Root" settings and menu. diff --git a/addons/interact_menu/functions/fnc_isSubPath.sqf b/addons/interact_menu/functions/fnc_isSubPath.sqf index 2a0cbe664b..5b58b1b1f0 100644 --- a/addons/interact_menu/functions/fnc_isSubPath.sqf +++ b/addons/interact_menu/functions/fnc_isSubPath.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Check if the first path is a subpath of the other diff --git a/addons/interact_menu/functions/fnc_keyDown.sqf b/addons/interact_menu/functions/fnc_keyDown.sqf index 2e8f39419f..5bce40d0a8 100644 --- a/addons/interact_menu/functions/fnc_keyDown.sqf +++ b/addons/interact_menu/functions/fnc_keyDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: NouberNou and esteldunedain * Handle interactions key down diff --git a/addons/interact_menu/functions/fnc_keyUp.sqf b/addons/interact_menu/functions/fnc_keyUp.sqf index 9ed14d66d3..a12a404da7 100644 --- a/addons/interact_menu/functions/fnc_keyUp.sqf +++ b/addons/interact_menu/functions/fnc_keyUp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: NouberNou and esteldunedain * Handle interactions key up @@ -23,6 +23,7 @@ if (GVAR(openedMenuType) < 0) exitWith {true}; if (uiNamespace getVariable [QGVAR(cursorMenuOpened),false]) then { (findDisplay 91919) closeDisplay 2; }; +if ((!isNull curatorCamera) && {!isNull (findDisplay 91919)}) then { closeDialog 2; }; if (GVAR(actionSelected)) then { private _player = ACE_Player; diff --git a/addons/interact_menu/functions/fnc_removeActionFromClass.sqf b/addons/interact_menu/functions/fnc_removeActionFromClass.sqf index 92de6b872a..55aa0f4f82 100644 --- a/addons/interact_menu/functions/fnc_removeActionFromClass.sqf +++ b/addons/interact_menu/functions/fnc_removeActionFromClass.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Removes an action from a class diff --git a/addons/interact_menu/functions/fnc_removeActionFromObject.sqf b/addons/interact_menu/functions/fnc_removeActionFromObject.sqf index 64c96ec949..cb1c4a31d0 100644 --- a/addons/interact_menu/functions/fnc_removeActionFromObject.sqf +++ b/addons/interact_menu/functions/fnc_removeActionFromObject.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, NouberNou and esteldunedain * Removes an action from an object diff --git a/addons/interact_menu/functions/fnc_render.sqf b/addons/interact_menu/functions/fnc_render.sqf index 651aaef47d..e4ee0d6357 100644 --- a/addons/interact_menu/functions/fnc_render.sqf +++ b/addons/interact_menu/functions/fnc_render.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: NouberNou and esteldunedain * Render all available nearby interactions diff --git a/addons/interact_menu/functions/fnc_renderActionPoints.sqf b/addons/interact_menu/functions/fnc_renderActionPoints.sqf index 987ad3f99c..058b5ed846 100644 --- a/addons/interact_menu/functions/fnc_renderActionPoints.sqf +++ b/addons/interact_menu/functions/fnc_renderActionPoints.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: NouberNou and esteldunedain * Render all action points diff --git a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf index 45c30696f3..9e3aaa53a9 100644 --- a/addons/interact_menu/functions/fnc_renderBaseMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderBaseMenu.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: NouberNou and esteldunedain * Render the interaction menu for a base action diff --git a/addons/interact_menu/functions/fnc_renderIcon.sqf b/addons/interact_menu/functions/fnc_renderIcon.sqf index 19725fb610..fffa5e91a7 100644 --- a/addons/interact_menu/functions/fnc_renderIcon.sqf +++ b/addons/interact_menu/functions/fnc_renderIcon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: NouberNou, esteldunedain, mharis001 * Render a single interaction icon. diff --git a/addons/interact_menu/functions/fnc_renderMenu.sqf b/addons/interact_menu/functions/fnc_renderMenu.sqf index 17f9ad5145..e7bb42b4cf 100644 --- a/addons/interact_menu/functions/fnc_renderMenu.sqf +++ b/addons/interact_menu/functions/fnc_renderMenu.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: NouberNou and esteldunedain * Render an interaction menu and it's children recursively diff --git a/addons/interact_menu/functions/fnc_renderSelector.sqf b/addons/interact_menu/functions/fnc_renderSelector.sqf index 96f42f8a19..bf71929924 100644 --- a/addons/interact_menu/functions/fnc_renderSelector.sqf +++ b/addons/interact_menu/functions/fnc_renderSelector.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Render a single interaction icon diff --git a/addons/interact_menu/functions/fnc_setupTextColors.sqf b/addons/interact_menu/functions/fnc_setupTextColors.sqf index 3d0a369c60..ff2107587f 100644 --- a/addons/interact_menu/functions/fnc_setupTextColors.sqf +++ b/addons/interact_menu/functions/fnc_setupTextColors.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Builds color strings needed for displaying interaction text @@ -10,7 +10,7 @@ * None * * Example: - * call ACE_interact_menu_fnc_setupTextColor + * call ace_interact_menu_fnc_setupTextColors * * Public: No */ diff --git a/addons/interact_menu/functions/fnc_splitPath.sqf b/addons/interact_menu/functions/fnc_splitPath.sqf index bd59a39d33..8c0856d118 100644 --- a/addons/interact_menu/functions/fnc_splitPath.sqf +++ b/addons/interact_menu/functions/fnc_splitPath.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Take full path and split it between parent path and action name diff --git a/addons/interact_menu/functions/fnc_userActions_addHouseActions.sqf b/addons/interact_menu/functions/fnc_userActions_addHouseActions.sqf index 0220a1cc39..b87f6133f3 100644 --- a/addons/interact_menu/functions/fnc_userActions_addHouseActions.sqf +++ b/addons/interact_menu/functions/fnc_userActions_addHouseActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Scans for nearby "Static" objects (buildings) and adds the UserActions to them. diff --git a/addons/interact_menu/functions/fnc_userActions_getHouseActions.sqf b/addons/interact_menu/functions/fnc_userActions_getHouseActions.sqf index c676fb69f9..c11da0c271 100644 --- a/addons/interact_menu/functions/fnc_userActions_getHouseActions.sqf +++ b/addons/interact_menu/functions/fnc_userActions_getHouseActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Scans the buidling type for UserActions and Ladder mount points. diff --git a/addons/interact_menu/functions/script_component.hpp b/addons/interact_menu/functions/script_component.hpp deleted file mode 100644 index 38f4a6a71d..0000000000 --- a/addons/interact_menu/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\interact_menu\script_component.hpp" diff --git a/addons/interact_menu/stringtable.xml b/addons/interact_menu/stringtable.xml index ec693604de..5398f006ff 100644 --- a/addons/interact_menu/stringtable.xml +++ b/addons/interact_menu/stringtable.xml @@ -463,7 +463,7 @@ Beschleunigt die Menüanmimationen und folglich das Öffnen eines Submenüs. Przyśpiesza animacje menu interakcji oraz czas wymagany do pokazania podmenu Ускоряет анимацию меню и уменьшает задержку при наведении мыши для раскрытия подменю - Faz com que as animações do menu de interação sejam mais rápidas, dimiuindo a necessidade de esperar para mostrar as ações + Faz com que as animações do menu de interação sejam mais rápidas, diminuindo a necessidade de esperar para mostrar as ações Zrychlí animaci menu a sníží tak čas potřebný pro plné zobrazení podmenu Rende le animazioni Menù più veloci e diminuisce il tempo richiesto per mostrare sotto-azioni Hace la animación del menú más rápida, reduciendo el tiempo necesario para abrir sub-acciones. @@ -500,6 +500,7 @@ Połącz akcje podrzędne 整合子操作 하위 동작 통합 + Consolidar sub-ações únicas Combines parent action with only one child action together. @@ -511,6 +512,7 @@ Gdy menu zawiera tylko jedną akcję podrzędną, łączy ją z akcją nadrzędną. 主操作与子操作集成显示。 대분류로 나뉜 행동을 한눈에 보여줍니다 + Quando um menu contém apenas uma subação, ele é combinado com seu menu pai. diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp index 57753dfaff..6ae0d4a982 100644 --- a/addons/interaction/CfgVehicles.hpp +++ b/addons/interaction/CfgVehicles.hpp @@ -72,7 +72,7 @@ class CfgVehicles { displayName = CSTRING(TeamManagement); condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canJoinTeam) && {GVAR(EnableTeamManagement)}); statement = ""; - modifierFunction = QUOTE([ARR_3(assignedTeam _target, 'PATHTOF(UI\team\team_management_ca.paa)', _this select 3)] call FUNC(modifyTeamManagementAction)); + modifierFunction = QUOTE([ARR_3(assignedTeam _target,'PATHTOF(UI\team\team_management_ca.paa)',_this select 3)] call FUNC(modifyTeamManagementAction)); exceptions[] = {"isNotSwimming"}; showDisabled = 0; @@ -82,7 +82,7 @@ class CfgVehicles { statement = QUOTE([ARR_3(_target,'RED',true)] call DFUNC(joinTeam)); exceptions[] = {"isNotSwimming"}; showDisabled = 1; - modifierFunction = QUOTE([ARR_3('RED', 'PATHTOF(UI\team\team_white_ca.paa)', _this select 3)] call FUNC(modifyTeamManagementAction)); + modifierFunction = QUOTE([ARR_3('RED','PATHTOF(UI\team\team_white_ca.paa)',_this select 3)] call FUNC(modifyTeamManagementAction)); }; class ACE_AssignTeamGreen { displayName = CSTRING(AssignTeamGreen); @@ -90,7 +90,7 @@ class CfgVehicles { statement = QUOTE([ARR_3(_target,'GREEN',true)] call DFUNC(joinTeam)); exceptions[] = {"isNotSwimming"}; showDisabled = 1; - modifierFunction = QUOTE([ARR_3('GREEN', 'PATHTOF(UI\team\team_white_ca.paa)', _this select 3)] call FUNC(modifyTeamManagementAction)); + modifierFunction = QUOTE([ARR_3('GREEN','PATHTOF(UI\team\team_white_ca.paa)',_this select 3)] call FUNC(modifyTeamManagementAction)); }; class ACE_AssignTeamBlue { displayName = CSTRING(AssignTeamBlue); @@ -98,7 +98,7 @@ class CfgVehicles { statement = QUOTE([ARR_3(_target,'BLUE',true)] call DFUNC(joinTeam)); exceptions[] = {"isNotSwimming"}; showDisabled = 1; - modifierFunction = QUOTE([ARR_3('BLUE', 'PATHTOF(UI\team\team_white_ca.paa)', _this select 3)] call FUNC(modifyTeamManagementAction)); + modifierFunction = QUOTE([ARR_3('BLUE','PATHTOF(UI\team\team_white_ca.paa)',_this select 3)] call FUNC(modifyTeamManagementAction)); }; class ACE_AssignTeamYellow { displayName = CSTRING(AssignTeamYellow); @@ -106,7 +106,7 @@ class CfgVehicles { statement = QUOTE([ARR_3(_target,'YELLOW',true)] call DFUNC(joinTeam)); exceptions[] = {"isNotSwimming"}; showDisabled = 1; - modifierFunction = QUOTE([ARR_3('YELLOW', 'PATHTOF(UI\team\team_white_ca.paa)', _this select 3)] call FUNC(modifyTeamManagementAction)); + modifierFunction = QUOTE([ARR_3('YELLOW','PATHTOF(UI\team\team_white_ca.paa)',_this select 3)] call FUNC(modifyTeamManagementAction)); }; class ACE_UnassignTeam { displayName = CSTRING(LeaveTeam); @@ -114,7 +114,7 @@ class CfgVehicles { statement = QUOTE([ARR_3(_target,'MAIN',true)] call DFUNC(joinTeam)); exceptions[] = {"isNotSwimming"}; showDisabled = 1; - modifierFunction = QUOTE([ARR_3('MAIN', 'PATHTOF(UI\team\team_white_ca.paa)', _this select 3)] call FUNC(modifyTeamManagementAction)); + modifierFunction = QUOTE([ARR_3('MAIN','PATHTOF(UI\team\team_white_ca.paa)',_this select 3)] call FUNC(modifyTeamManagementAction)); }; }; @@ -230,16 +230,16 @@ class CfgVehicles { displayName = CSTRING(TapShoulder); selection = "rightshoulder"; distance = 2.0; - condition = QUOTE([ARR_2(_player, _target)] call DFUNC(canTapShoulder)); - statement = QUOTE([ARR_3(_player, _target, 0)] call DFUNC(tapShoulder)); + condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canTapShoulder)); + statement = QUOTE([ARR_3(_player,_target,0)] call DFUNC(tapShoulder)); exceptions[] = {"isNotSwimming"}; }; class ACE_TapShoulderLeft { displayName = CSTRING(TapShoulder); selection = "leftshoulder"; distance = 2.0; - condition = QUOTE([ARR_2(_player, _target)] call DFUNC(canTapShoulder)); - statement = QUOTE([ARR_3(_player, _target, 1)] call DFUNC(tapShoulder)); + condition = QUOTE([ARR_2(_player,_target)] call DFUNC(canTapShoulder)); + statement = QUOTE([ARR_3(_player,_target,1)] call DFUNC(tapShoulder)); exceptions[] = {"isNotSwimming"}; }; }; @@ -250,7 +250,7 @@ class CfgVehicles { condition = QUOTE(GVAR(EnableTeamManagement)); exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting", "isNotOnLadder", "isNotRefueling"}; statement = ""; - modifierFunction = QUOTE([ARR_3(assignedTeam _target, 'PATHTOF(UI\team\team_management_ca.paa)', _this select 3)] call FUNC(modifyTeamManagementAction)); + modifierFunction = QUOTE([ARR_3(assignedTeam _target,'PATHTOF(UI\team\team_management_ca.paa)',_this select 3)] call FUNC(modifyTeamManagementAction)); showDisabled = 1; class ACE_JoinTeamRed { @@ -259,7 +259,7 @@ class CfgVehicles { exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting", "isNotOnLadder", "isNotRefueling"}; statement = QUOTE([ARR_3(_player,'RED',true)] call DFUNC(joinTeam)); showDisabled = 1; - modifierFunction = QUOTE([ARR_3('RED', 'PATHTOF(UI\team\team_white_ca.paa)', _this select 3)] call FUNC(modifyTeamManagementAction)); + modifierFunction = QUOTE([ARR_3('RED','PATHTOF(UI\team\team_white_ca.paa)',_this select 3)] call FUNC(modifyTeamManagementAction)); }; class ACE_JoinTeamGreen { displayName = CSTRING(JoinTeamGreen); @@ -267,7 +267,7 @@ class CfgVehicles { exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting", "isNotOnLadder", "isNotRefueling"}; statement = QUOTE([ARR_3(_player,'GREEN',true)] call DFUNC(joinTeam)); showDisabled = 1; - modifierFunction = QUOTE([ARR_3('GREEN', 'PATHTOF(UI\team\team_white_ca.paa)', _this select 3)] call FUNC(modifyTeamManagementAction)); + modifierFunction = QUOTE([ARR_3('GREEN','PATHTOF(UI\team\team_white_ca.paa)',_this select 3)] call FUNC(modifyTeamManagementAction)); }; class ACE_JoinTeamBlue { displayName = CSTRING(JoinTeamBlue); @@ -275,7 +275,7 @@ class CfgVehicles { exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting", "isNotOnLadder", "isNotRefueling"}; statement = QUOTE([ARR_3(_player,'BLUE',true)] call DFUNC(joinTeam)); showDisabled = 1; - modifierFunction = QUOTE([ARR_3('BLUE', 'PATHTOF(UI\team\team_white_ca.paa)', _this select 3)] call FUNC(modifyTeamManagementAction)); + modifierFunction = QUOTE([ARR_3('BLUE','PATHTOF(UI\team\team_white_ca.paa)',_this select 3)] call FUNC(modifyTeamManagementAction)); }; class ACE_JoinTeamYellow { displayName = CSTRING(JoinTeamYellow); @@ -283,7 +283,7 @@ class CfgVehicles { exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting", "isNotOnLadder", "isNotRefueling"}; statement = QUOTE([ARR_3(_player,'YELLOW',true)] call DFUNC(joinTeam)); showDisabled = 1; - modifierFunction = QUOTE([ARR_3('YELLOW', 'PATHTOF(UI\team\team_white_ca.paa)', _this select 3)] call FUNC(modifyTeamManagementAction)); + modifierFunction = QUOTE([ARR_3('YELLOW','PATHTOF(UI\team\team_white_ca.paa)',_this select 3)] call FUNC(modifyTeamManagementAction)); }; class ACE_LeaveTeam { displayName = CSTRING(LeaveTeam); @@ -291,7 +291,7 @@ class CfgVehicles { exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting", "isNotOnLadder", "isNotRefueling"}; statement = QUOTE([ARR_3(_player,'MAIN',true)] call DFUNC(joinTeam)); showDisabled = 1; - modifierFunction = QUOTE([ARR_3('MAIN', 'PATHTOF(UI\team\team_white_ca.paa)', _this select 3)] call FUNC(modifyTeamManagementAction)); + modifierFunction = QUOTE([ARR_3('MAIN','PATHTOF(UI\team\team_white_ca.paa)',_this select 3)] call FUNC(modifyTeamManagementAction)); }; class ACE_BecomeLeader { displayName = CSTRING(BecomeLeader); @@ -331,7 +331,7 @@ class CfgVehicles { condition = QGVAR(enableWeaponAttachments); exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"}; insertChildren = QUOTE(call DFUNC(getWeaponAttachmentsActions)); - modifierFunction = QUOTE(_this select 3 set [ARR_2(2, getText (configFile >> 'CfgWeapons' >> currentWeapon (_this select 0) >> 'picture'))];); + modifierFunction = QUOTE(_this select 3 set [ARR_2(2,getText (configFile >> 'CfgWeapons' >> currentWeapon (_this select 0) >> 'picture'))];); }; }; }; @@ -348,7 +348,7 @@ class CfgVehicles { condition = "true"; class ACE_Passengers { displayName = CSTRING(Passengers); - condition = QUOTE(alive _target); + condition = QUOTE(true); statement = ""; exceptions[] = {"isNotSwimming"}; insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); @@ -415,7 +415,7 @@ class CfgVehicles { condition = "true"; class ACE_Passengers { displayName = CSTRING(Passengers); - condition = QUOTE(alive _target); + condition = QUOTE(true); statement = ""; exceptions[] = {"isNotSwimming"}; insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); @@ -442,7 +442,7 @@ class CfgVehicles { condition = "true"; class ACE_Passengers { displayName = CSTRING(Passengers); - condition = QUOTE(alive _target); + condition = QUOTE(true); statement = ""; exceptions[] = {"isNotSwimming"}; insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); @@ -467,13 +467,13 @@ class CfgVehicles { class ACE_Actions { class ACE_MainActions { displayName = CSTRING(MainAction); - position = QUOTE([ARR_2(_target, EGVAR(interact_menu,cameraPosASL))] call DFUNC(getVehiclePosComplex)); + position = QUOTE([ARR_2(_target,EGVAR(interact_menu,cameraPosASL))] call DFUNC(getVehiclePosComplex)); selection = ""; distance = 4; condition = "true"; class ACE_Passengers { displayName = CSTRING(Passengers); - condition = QUOTE(alive _target); + condition = QUOTE(true); statement = ""; exceptions[] = {"isNotSwimming"}; insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); @@ -495,13 +495,13 @@ class CfgVehicles { class ACE_Actions { class ACE_MainActions { displayName = CSTRING(MainAction); - position = QUOTE([ARR_2(_target, EGVAR(interact_menu,cameraPosASL))] call DFUNC(getVehiclePosComplex)); + position = QUOTE([ARR_2(_target,EGVAR(interact_menu,cameraPosASL))] call DFUNC(getVehiclePosComplex)); selection = ""; distance = 4; condition = "true"; class ACE_Passengers { displayName = CSTRING(Passengers); - condition = QUOTE(alive _target); + condition = QUOTE(true); statement = ""; exceptions[] = {"isNotSwimming"}; insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); @@ -549,7 +549,7 @@ class CfgVehicles { }; class ACE_Passengers { displayName = CSTRING(Passengers); - condition = QUOTE(alive _target); + condition = QUOTE(true); statement = ""; exceptions[] = {"isNotSwimming"}; insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); @@ -581,7 +581,7 @@ class CfgVehicles { condition = "true"; class ACE_Passengers { displayName = CSTRING(Passengers); - condition = QUOTE(alive _target); + condition = QUOTE(true); statement = ""; exceptions[] = {"isNotSwimming"}; insertChildren = QUOTE(_this call DFUNC(addPassengersActions)); @@ -642,7 +642,7 @@ class CfgVehicles { class ACE_OpenBox { displayName = CSTRING(OpenBox); condition = QUOTE(alive _target && {!lockedInventory _target} && {getNumber (configOf _target >> 'disableInventory') == 0}); - statement = QUOTE(_player action [ARR_2(QUOTE(QUOTE(Gear)), _target)]); + statement = QUOTE(_player action [ARR_2(QUOTE(QUOTE(Gear)),_target)]); showDisabled = 0; }; }; @@ -661,7 +661,7 @@ class CfgVehicles { class ACE_OpenBox { displayName = CSTRING(OpenBox); condition = QUOTE(alive _target && {!lockedInventory _target} && {getNumber (configOf _target >> 'disableInventory') == 0}); - statement = QUOTE(_player action [ARR_2(QUOTE(QUOTE(Gear)), _target)]); + statement = QUOTE(_player action [ARR_2(QUOTE(QUOTE(Gear)),_target)]); showDisabled = 0; }; }; @@ -715,6 +715,14 @@ class CfgVehicles { }; }; }; + // Don't enable for scripted + class WeaponHolderSimulated_Scripted: WeaponHolderSimulated { + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + delete GVAR(Gear); + }; + }; + }; class ReammoBox; // dropped weapons/gear @@ -733,6 +741,19 @@ class CfgVehicles { }; }; }; + // Don't enable for scripted + class GroundWeaponHolder: WeaponHolder { + class ACE_Actions: ACE_Actions { + class ACE_MainActions; + }; + }; + class GroundWeaponHolder_Scripted: GroundWeaponHolder { + class ACE_Actions: ACE_Actions { + class ACE_MainActions: ACE_MainActions { + delete GVAR(Gear); + }; + }; + }; class Lamps_base_F; class Land_PortableLight_single_F: Lamps_base_F { @@ -794,6 +815,7 @@ class CfgVehicles { displayName = CSTRING(TurnOn); icon = "\A3\Ui_f\data\IGUI\Cfg\VehicleToggles\LightsIconOn_ca.paa"; condition = QUOTE(alive _target); + #pragma hemtt suppress pw3_padded_arg statement = QUOTE(\ private _position = getPosATL _target;\ private _vectorDirAndUp = [ARR_2(vectorDir _target,vectorUp _target)];\ diff --git a/addons/interaction/RscTitles.hpp b/addons/interaction/RscTitles.hpp index 8857faf4b6..ec7856c62c 100644 --- a/addons/interaction/RscTitles.hpp +++ b/addons/interaction/RscTitles.hpp @@ -38,7 +38,7 @@ class ACE_Interaction_Button_Base { }; class IGUIBack; -class RscListbox; +class RscListBox; class RscText; class RscPicture; class RscControlsGroupNoScrollbars; @@ -106,7 +106,7 @@ class RscACE_SelectAnItem { y = 0.605; style = 2; text = CSTRING(Back); - action = QUOTE(call DFUNC(hideMenu);); //'Default' call DFUNC(openMenu); 'Default' call DFUNC(openMenuSelf); + action = QUOTE(call DFUNC(hideMenu)); //'Default' call DFUNC(openMenu); 'Default' call DFUNC(openMenuSelf); colorBackground[] = {0,0,0,0}; colorBackgroundDisabled[] = {0,0,0,0}; colorBackgroundActive[] = {1,1,1,0.2}; @@ -120,7 +120,7 @@ class RscACE_SelectAnItem { w = 0.15; style = 2; text = CSTRING(MakeSelection); - action = QUOTE(call DFUNC(hideMenu);); + action = QUOTE(call DFUNC(hideMenu)); colorBackground[] = {0,0,0,0}; colorBackgroundDisabled[] = {0,0,0,0}; colorBackgroundActive[] = {1,1,1,0.2}; diff --git a/addons/interaction/XEH_PREP.hpp b/addons/interaction/XEH_PREP.hpp index 8f68aa79cf..554f903704 100644 --- a/addons/interaction/XEH_PREP.hpp +++ b/addons/interaction/XEH_PREP.hpp @@ -14,6 +14,7 @@ PREP(hideMouseHint); // interaction with units PREP(canInteractWithCivilian); +PREP(canInteractWithVehicleCrew); PREP(getDown); PREP(sendAway); PREP(canJoinGroup); diff --git a/addons/interaction/dev/initReplaceTerrainCursorObject.sqf b/addons/interaction/dev/initReplaceTerrainCursorObject.sqf index c0221b2d38..ee5ddcad49 100644 --- a/addons/interaction/dev/initReplaceTerrainCursorObject.sqf +++ b/addons/interaction/dev/initReplaceTerrainCursorObject.sqf @@ -1,7 +1,7 @@ // execVM "z\ace\addons\interaction\dev\initReplaceTerrainCursorObject.sqf"; // use "J" key to replace terrain cursorObject and add dragging actions to it -#include "\z\ace\addons\interaction\script_component.hpp" +#include "..\script_component.hpp" DFUNC(replaceTerrainModelsAdd) = { params ["_model", ["_class", ""]]; diff --git a/addons/interaction/functions/fnc_addPassengerActions.sqf b/addons/interaction/functions/fnc_addPassengerActions.sqf index 03d77e3901..112919ee80 100644 --- a/addons/interaction/functions/fnc_addPassengerActions.sqf +++ b/addons/interaction/functions/fnc_addPassengerActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Mount unit actions inside passenger submenu. diff --git a/addons/interaction/functions/fnc_addPassengersActions.sqf b/addons/interaction/functions/fnc_addPassengersActions.sqf index 32adea9e2c..40ba9672ef 100644 --- a/addons/interaction/functions/fnc_addPassengersActions.sqf +++ b/addons/interaction/functions/fnc_addPassengersActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Create one action per passenger. @@ -6,65 +6,68 @@ * Arguments: * 0: Vehicle * 1: Player - * 3: Parameters + * 2: Parameters * * Return Value: * Children actions * * Example: - * [target, player, [params]] call ace_interaction_fnc_addPassengersActions + * [cursorObject, player, [params]] call ace_interaction_fnc_addPassengersActions * * Public: No */ params ["_vehicle", "_player"]; +// If player is not in vehicle and the crew is hostile, do not show any actions +if !(_player in _vehicle || {[_player, _vehicle] call FUNC(canInteractWithVehicleCrew)}) exitWith { + [] // return +}; + private _actions = []; +private _icon = ""; { - private _unit = _x; + _x params ["_unit", "_role"]; - if (_unit != _player && {getText (configOf _unit >> "simulation") != "UAVPilot"}) then { - private _icon = [ - "", - "A3\ui_f\data\IGUI\RscIngameUI\RscUnitInfo\role_driver_ca.paa", - "A3\ui_f\data\IGUI\RscIngameUI\RscUnitInfo\role_gunner_ca.paa", - "A3\ui_f\data\IGUI\RscIngameUI\RscUnitInfo\role_commander_ca.paa" - ] select (([driver _vehicle, gunner _vehicle, commander _vehicle] find _unit) + 1); + _icon = [ + "A3\ui_f\data\IGUI\RscIngameUI\RscUnitInfo\role_driver_ca.paa", + "A3\ui_f\data\IGUI\RscIngameUI\RscUnitInfo\role_gunner_ca.paa", + "A3\ui_f\data\IGUI\RscIngameUI\RscUnitInfo\role_commander_ca.paa", + "" + ] select (["driver", "gunner", "commander"] find _role); - if (_unit getVariable [QEGVAR(captives,isHandcuffed), false]) then { - _icon = QPATHTOEF(captives,UI\handcuff_ca.paa); - }; - - _actions pushBack [ - [ - format ["%1", _unit], - [_unit, true] call EFUNC(common,getName), - [_icon, "#FFFFFF"], - { - //statement (Run on hover) - reset the cache so we will insert actions immedietly when hovering over new unit - TRACE_2("Cleaning Cache",_target,vehicle _target); - [vehicle _target, QEGVAR(interact_menu,ATCache_ACE_SelfActions)] call EFUNC(common,eraseCache); - }, - {true}, - { - if (EGVAR(interact_menu,selectedTarget) isEqualTo _target) then { - _this call FUNC(addPassengerActions) - } else { - [] //not selected, don't waste time on actions - }; - }, - [_unit], - {[0, 0, 0]}, - 2, - [false,false,false,true,false], //add run on hover (4th bit true) - {if (["ace_medical_gui"] call EFUNC(common,isModLoaded)) then {call EFUNC(medical_gui,modifyActionTriageLevel)}} - ] call EFUNC(interact_menu,createAction), - [], - _unit - ]; + if (_unit getVariable [QEGVAR(captives,isHandcuffed), false]) then { + _icon = QPATHTOEF(captives,UI\handcuff_ca.paa); }; - false -} count crew _vehicle; + + _actions pushBack [ + [ + format ["%1", _unit], + [_unit, true] call EFUNC(common,getName), + [_icon, "#FFFFFF"], + { + // statement (Run on hover) - reset the cache so we will insert actions immediately when hovering over new unit + TRACE_2("Cleaning Cache",_target,objectParent _target); + [objectParent _target, QEGVAR(interact_menu,ATCache_ACE_SelfActions)] call EFUNC(common,eraseCache); + }, + {true}, + { + if (EGVAR(interact_menu,selectedTarget) isEqualTo _target) then { + _this call FUNC(addPassengerActions) + } else { + [] // not selected, don't waste time on actions + }; + }, + [_unit], + {[0, 0, 0]}, + 2, + [false, false, false, true, false], // add run on hover (4th bit true) + {if (["ace_medical_gui"] call EFUNC(common,isModLoaded)) then {call EFUNC(medical_gui,modifyActionTriageLevel)}} + ] call EFUNC(interact_menu,createAction), + [], + _unit + ]; +} forEach ((fullCrew _vehicle) select {_x select 0 != _player && {!unitIsUAV (_x select 0)}}); _actions diff --git a/addons/interaction/functions/fnc_canBecomeLeader.sqf b/addons/interaction/functions/fnc_canBecomeLeader.sqf index af50c081a0..de06287fa2 100644 --- a/addons/interaction/functions/fnc_canBecomeLeader.sqf +++ b/addons/interaction/functions/fnc_canBecomeLeader.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Test if can Become Leader of group. diff --git a/addons/interaction/functions/fnc_canFlip.sqf b/addons/interaction/functions/fnc_canFlip.sqf index b00164415c..c6a553b48f 100644 --- a/addons/interaction/functions/fnc_canFlip.sqf +++ b/addons/interaction/functions/fnc_canFlip.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Checks if vehicle can be flipped. diff --git a/addons/interaction/functions/fnc_canInteractWithCivilian.sqf b/addons/interaction/functions/fnc_canInteractWithCivilian.sqf index 7b98ba4972..73c225626e 100644 --- a/addons/interaction/functions/fnc_canInteractWithCivilian.sqf +++ b/addons/interaction/functions/fnc_canInteractWithCivilian.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Checks if the unit can interact with civilian diff --git a/addons/interaction/functions/fnc_canInteractWithVehicleCrew.sqf b/addons/interaction/functions/fnc_canInteractWithVehicleCrew.sqf new file mode 100644 index 0000000000..a314a8b601 --- /dev/null +++ b/addons/interaction/functions/fnc_canInteractWithVehicleCrew.sqf @@ -0,0 +1,31 @@ +#include "..\script_component.hpp" +/* + * Author: johnb43 + * Checks if a unit can interact with the vehicle crew inside. + * + * Arguments: + * 0: Player + * 1: Vehicle + * + * Return Value: + * Unit can interact with vehicle crew + * + * Example: + * [cursorObject, player] call ace_interaction_fnc_canInteractWithVehicleCrew + * + * Public: No + */ + +params ["_player", "_vehicle"]; + +private _crew = crew _vehicle; + +// If vehicle is empty, quit +if (_crew isEqualTo []) exitWith {true}; + +private _sidePlayer = side group _player; + +(_crew select {_x != _player && {!unitIsUAV _x}}) findIf { // ignore player and UAV units + // Units must all be unconscious, captive or friendly (side group is used in case unit is captive/unconscious) for actions to show up + !captive _x && {lifeState _x in ["HEALTHY", "INJURED"]} && {[_sidePlayer, side group _x] call BIS_fnc_sideIsEnemy} +} == -1 diff --git a/addons/interaction/functions/fnc_canJoinGroup.sqf b/addons/interaction/functions/fnc_canJoinGroup.sqf index bc21e9d162..facc3376ee 100644 --- a/addons/interaction/functions/fnc_canJoinGroup.sqf +++ b/addons/interaction/functions/fnc_canJoinGroup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Checks if the unit can join a group diff --git a/addons/interaction/functions/fnc_canJoinTeam.sqf b/addons/interaction/functions/fnc_canJoinTeam.sqf index 424b3be982..09d0281dca 100644 --- a/addons/interaction/functions/fnc_canJoinTeam.sqf +++ b/addons/interaction/functions/fnc_canJoinTeam.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Checks if the player can join a team diff --git a/addons/interaction/functions/fnc_canPardon.sqf b/addons/interaction/functions/fnc_canPardon.sqf index 81319afb3b..833a518b2f 100644 --- a/addons/interaction/functions/fnc_canPardon.sqf +++ b/addons/interaction/functions/fnc_canPardon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Checks if the unit can pardon the target. diff --git a/addons/interaction/functions/fnc_canPassMagazine.sqf b/addons/interaction/functions/fnc_canPassMagazine.sqf index a76e7fb409..9d0bed083d 100644 --- a/addons/interaction/functions/fnc_canPassMagazine.sqf +++ b/addons/interaction/functions/fnc_canPassMagazine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if unit has a spare magazine for the specified weapon. diff --git a/addons/interaction/functions/fnc_canPullOutBody.sqf b/addons/interaction/functions/fnc_canPullOutBody.sqf index 732d373dd6..167d09ecdb 100644 --- a/addons/interaction/functions/fnc_canPullOutBody.sqf +++ b/addons/interaction/functions/fnc_canPullOutBody.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Checks if unit can pull target body out of vehicle. diff --git a/addons/interaction/functions/fnc_canPush.sqf b/addons/interaction/functions/fnc_canPush.sqf index c8f82b65a5..28197d12cd 100644 --- a/addons/interaction/functions/fnc_canPush.sqf +++ b/addons/interaction/functions/fnc_canPush.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Checks if the boat can be pushed. diff --git a/addons/interaction/functions/fnc_canRenameGroup.sqf b/addons/interaction/functions/fnc_canRenameGroup.sqf index bc6d423435..7112db0cbb 100644 --- a/addons/interaction/functions/fnc_canRenameGroup.sqf +++ b/addons/interaction/functions/fnc_canRenameGroup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Seb * Checks if the unit is allowed to rename its group. diff --git a/addons/interaction/functions/fnc_canTapShoulder.sqf b/addons/interaction/functions/fnc_canTapShoulder.sqf index 0c3551051d..049c178152 100644 --- a/addons/interaction/functions/fnc_canTapShoulder.sqf +++ b/addons/interaction/functions/fnc_canTapShoulder.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Checks if the player can tap a shoulder. diff --git a/addons/interaction/functions/fnc_doBecomeLeader.sqf b/addons/interaction/functions/fnc_doBecomeLeader.sqf index 8bf1b23e30..bebda4d262 100644 --- a/addons/interaction/functions/fnc_doBecomeLeader.sqf +++ b/addons/interaction/functions/fnc_doBecomeLeader.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Become Leader of group. diff --git a/addons/interaction/functions/fnc_doRemoteControl.sqf b/addons/interaction/functions/fnc_doRemoteControl.sqf index a663ed1954..a2ec19b180 100644 --- a/addons/interaction/functions/fnc_doRemoteControl.sqf +++ b/addons/interaction/functions/fnc_doRemoteControl.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay, joko * @@ -9,7 +9,7 @@ * None * * Example: - * call ace_interaction_fnc_onRemoteControl + * call ace_interaction_fnc_doRemoteControl * * Public: No */ diff --git a/addons/interaction/functions/fnc_getDoor.sqf b/addons/interaction/functions/fnc_getDoor.sqf index 6503d1e9e9..02daf57a83 100644 --- a/addons/interaction/functions/fnc_getDoor.sqf +++ b/addons/interaction/functions/fnc_getDoor.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Phyma * Find door. diff --git a/addons/interaction/functions/fnc_getDoorAnimations.sqf b/addons/interaction/functions/fnc_getDoorAnimations.sqf index f23a4f0ffd..2d5c81dc2d 100644 --- a/addons/interaction/functions/fnc_getDoorAnimations.sqf +++ b/addons/interaction/functions/fnc_getDoorAnimations.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Phyma * Get door animations. diff --git a/addons/interaction/functions/fnc_getDown.sqf b/addons/interaction/functions/fnc_getDown.sqf index 4291a00f0d..b8f6d7c50d 100644 --- a/addons/interaction/functions/fnc_getDown.sqf +++ b/addons/interaction/functions/fnc_getDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, commy2 * Forces a civilian to the ground with a chance of failure. diff --git a/addons/interaction/functions/fnc_getGlassDoor.sqf b/addons/interaction/functions/fnc_getGlassDoor.sqf index 5febe67067..ffa6bfec44 100644 --- a/addons/interaction/functions/fnc_getGlassDoor.sqf +++ b/addons/interaction/functions/fnc_getGlassDoor.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Phyma * Find glass door. diff --git a/addons/interaction/functions/fnc_getInteractionDistance.sqf b/addons/interaction/functions/fnc_getInteractionDistance.sqf index 86a9f8050f..1b60b9539c 100644 --- a/addons/interaction/functions/fnc_getInteractionDistance.sqf +++ b/addons/interaction/functions/fnc_getInteractionDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Gets effective interaction distance (handles very large vehicles) diff --git a/addons/interaction/functions/fnc_getVehiclePos.sqf b/addons/interaction/functions/fnc_getVehiclePos.sqf index ea5b03a54e..ce2ce9377b 100644 --- a/addons/interaction/functions/fnc_getVehiclePos.sqf +++ b/addons/interaction/functions/fnc_getVehiclePos.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Return a suitable position for the action point for the given target vehicle diff --git a/addons/interaction/functions/fnc_getVehiclePosComplex.sqf b/addons/interaction/functions/fnc_getVehiclePosComplex.sqf index a3ec0b46ee..f41b255ad9 100644 --- a/addons/interaction/functions/fnc_getVehiclePosComplex.sqf +++ b/addons/interaction/functions/fnc_getVehiclePosComplex.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain, PabstMirror * Return a suitable position for the action point for the given target vehicle diff --git a/addons/interaction/functions/fnc_getWeaponAttachmentsActions.sqf b/addons/interaction/functions/fnc_getWeaponAttachmentsActions.sqf index cd0e8f9730..c771589904 100644 --- a/addons/interaction/functions/fnc_getWeaponAttachmentsActions.sqf +++ b/addons/interaction/functions/fnc_getWeaponAttachmentsActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, Dystopian * Returns children actions for weapon attachment switching. diff --git a/addons/interaction/functions/fnc_getWeaponPos.sqf b/addons/interaction/functions/fnc_getWeaponPos.sqf index 9cd526c12c..85cb3dc007 100644 --- a/addons/interaction/functions/fnc_getWeaponPos.sqf +++ b/addons/interaction/functions/fnc_getWeaponPos.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Return a suitable position for the action point for the current weapon diff --git a/addons/interaction/functions/fnc_handleScrollWheel.sqf b/addons/interaction/functions/fnc_handleScrollWheel.sqf index 769995d0a6..ab27419983 100644 --- a/addons/interaction/functions/fnc_handleScrollWheel.sqf +++ b/addons/interaction/functions/fnc_handleScrollWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles incremental door opening diff --git a/addons/interaction/functions/fnc_hideMouseHint.sqf b/addons/interaction/functions/fnc_hideMouseHint.sqf index 8daa6d6e09..b7f0420dc5 100644 --- a/addons/interaction/functions/fnc_hideMouseHint.sqf +++ b/addons/interaction/functions/fnc_hideMouseHint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth de Wet (LH) * Hides the interaction hint for mouse buttons. diff --git a/addons/interaction/functions/fnc_joinTeam.sqf b/addons/interaction/functions/fnc_joinTeam.sqf index 28287c84b7..977e902222 100644 --- a/addons/interaction/functions/fnc_joinTeam.sqf +++ b/addons/interaction/functions/fnc_joinTeam.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Unit joins a fire team. diff --git a/addons/interaction/functions/fnc_modifyJoinGroupAction.sqf b/addons/interaction/functions/fnc_modifyJoinGroupAction.sqf index 480cdaea40..eef77dfd37 100644 --- a/addons/interaction/functions/fnc_modifyJoinGroupAction.sqf +++ b/addons/interaction/functions/fnc_modifyJoinGroupAction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Modifies the ACE_JoinGroup action to show group name. diff --git a/addons/interaction/functions/fnc_modifyTeamManagementAction.sqf b/addons/interaction/functions/fnc_modifyTeamManagementAction.sqf index f7f82f2453..6324c0598a 100644 --- a/addons/interaction/functions/fnc_modifyTeamManagementAction.sqf +++ b/addons/interaction/functions/fnc_modifyTeamManagementAction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: veteran29 * Modifies the ACE_TeamManagement or join team action with given group color and icon. diff --git a/addons/interaction/functions/fnc_moduleInteraction.sqf b/addons/interaction/functions/fnc_moduleInteraction.sqf index 7dd5baa464..25f9d50a45 100644 --- a/addons/interaction/functions/fnc_moduleInteraction.sqf +++ b/addons/interaction/functions/fnc_moduleInteraction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Initializes the Interaction module. diff --git a/addons/interaction/functions/fnc_openDoor.sqf b/addons/interaction/functions/fnc_openDoor.sqf index 8a0fef1209..a03ca26c04 100644 --- a/addons/interaction/functions/fnc_openDoor.sqf +++ b/addons/interaction/functions/fnc_openDoor.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Open door. diff --git a/addons/interaction/functions/fnc_pardon.sqf b/addons/interaction/functions/fnc_pardon.sqf index 4a64771e81..5a29c13046 100644 --- a/addons/interaction/functions/fnc_pardon.sqf +++ b/addons/interaction/functions/fnc_pardon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Unit pardons target unit. diff --git a/addons/interaction/functions/fnc_passMagazine.sqf b/addons/interaction/functions/fnc_passMagazine.sqf index f6438211fa..09513b4762 100644 --- a/addons/interaction/functions/fnc_passMagazine.sqf +++ b/addons/interaction/functions/fnc_passMagazine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Pass spare magazine for the specified weapon. diff --git a/addons/interaction/functions/fnc_pullOutBody.sqf b/addons/interaction/functions/fnc_pullOutBody.sqf index 0ab901c916..397fc30f84 100644 --- a/addons/interaction/functions/fnc_pullOutBody.sqf +++ b/addons/interaction/functions/fnc_pullOutBody.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Makes unit pull target body out of vehicle. diff --git a/addons/interaction/functions/fnc_push.sqf b/addons/interaction/functions/fnc_push.sqf index abed6be396..be4440eceb 100644 --- a/addons/interaction/functions/fnc_push.sqf +++ b/addons/interaction/functions/fnc_push.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Pushes a boat away from the player diff --git a/addons/interaction/functions/fnc_renameGroup.sqf b/addons/interaction/functions/fnc_renameGroup.sqf index 100e02e0b8..4ffff5771a 100644 --- a/addons/interaction/functions/fnc_renameGroup.sqf +++ b/addons/interaction/functions/fnc_renameGroup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Seb * Renames a group to a given string (groupID), whilst checking that it is not an invalid name. diff --git a/addons/interaction/functions/fnc_renameGroupUI.sqf b/addons/interaction/functions/fnc_renameGroupUI.sqf index 2fdac954e1..5d891b0cf8 100644 --- a/addons/interaction/functions/fnc_renameGroupUI.sqf +++ b/addons/interaction/functions/fnc_renameGroupUI.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Seb * Shows a UI to allow a unit to change its group ID. diff --git a/addons/interaction/functions/fnc_replaceTerrainObject.sqf b/addons/interaction/functions/fnc_replaceTerrainObject.sqf index 7a164e4212..a857df3f95 100644 --- a/addons/interaction/functions/fnc_replaceTerrainObject.sqf +++ b/addons/interaction/functions/fnc_replaceTerrainObject.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Replaces terrain object with created one. diff --git a/addons/interaction/functions/fnc_sendAway.sqf b/addons/interaction/functions/fnc_sendAway.sqf index 4831fb7e3f..cef314756f 100644 --- a/addons/interaction/functions/fnc_sendAway.sqf +++ b/addons/interaction/functions/fnc_sendAway.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, commy2 * Sends a near civilian crowd away with a chance of failure. diff --git a/addons/interaction/functions/fnc_showMouseHint.sqf b/addons/interaction/functions/fnc_showMouseHint.sqf index 2c43937a0e..73567fa522 100644 --- a/addons/interaction/functions/fnc_showMouseHint.sqf +++ b/addons/interaction/functions/fnc_showMouseHint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth de Wet (LH), mharis001 * Shows an interaction hint for mouse buttons. diff --git a/addons/interaction/functions/fnc_switchWeaponAttachment.sqf b/addons/interaction/functions/fnc_switchWeaponAttachment.sqf index 4f9a9f2514..aaefb3315e 100644 --- a/addons/interaction/functions/fnc_switchWeaponAttachment.sqf +++ b/addons/interaction/functions/fnc_switchWeaponAttachment.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, Dystopian * Switches weapon attachment. diff --git a/addons/interaction/functions/fnc_tapShoulder.sqf b/addons/interaction/functions/fnc_tapShoulder.sqf index c55f3b65d4..b7e88e8a7e 100644 --- a/addons/interaction/functions/fnc_tapShoulder.sqf +++ b/addons/interaction/functions/fnc_tapShoulder.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Taps a shoulder diff --git a/addons/interaction/functions/script_component.hpp b/addons/interaction/functions/script_component.hpp deleted file mode 100644 index 3cbd1f46d9..0000000000 --- a/addons/interaction/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\interaction\script_component.hpp" diff --git a/addons/interaction/stringtable.xml b/addons/interaction/stringtable.xml index 27ddd5cb46..f840453d23 100644 --- a/addons/interaction/stringtable.xml +++ b/addons/interaction/stringtable.xml @@ -333,6 +333,7 @@ 小队重命名 그룹 명칭 다시 짓기 Renombrar grupo + Renomear Grupo This group name is already in use. @@ -344,6 +345,7 @@ 该小队名称已被使用 그 명칭은 이미 사용 중 입니다. Este nombre de grupo ya está siendo usado. + Este nome de grupo já está em uso. NEW GROUP NAME: @@ -355,6 +357,7 @@ 新的小队名: 새 그룹 명칭: NUEVO NOMBRE DE GRUPO: + NOVO NOME DE GRUPO: DANCE! @@ -888,7 +891,7 @@ Hors de portée Fuera de rango Слишком далеко - Fora do Alcançe + Fora do Alcance Hatótávolságon kívül Poza zasięgiem Mimo dosah @@ -1250,6 +1253,7 @@ Befestige %1 附加 %1 %1 붙이기 + Fixar %1 Detach %1 @@ -1261,6 +1265,7 @@ Löse %1 拆卸 %1 %1 떼내기 + Desfixar %1 Enables attach/detach weapon attachment actions for current weapon. @@ -1272,6 +1277,7 @@ Aktiviert das Befestigen/Lösen von Waffenausätzen an der aktuellen Waffe. 启用当前武器的附加/拆卸武器配件的动作。 현재 사용하고 있는 무기에서 부착물을 붙이거나 떼냅니다. + Ativa as ações de fixar/desfixar acessórios para a arma atual. Allow group rename @@ -1283,6 +1289,7 @@ 允许小队重命名 그룹 이름 재설정 허가 Permitir renombrar grupo + Permitir renomear grupo Allows a group leader to rename their group if the name is not already taken. @@ -1292,8 +1299,9 @@ Erlaube Gruppenführer das Umbenennen Ihrer Gruppe, wenn der Name nicht bereits vergeben ist. Pozwala liderowi grupy na zmianę jej nazwy, jeżeli ta nazwa nie jest już w użyciu. 允许队长在队名未被占用的情况下重命名。 - 그룹 리더가 그룹 이름을 재설정 하는 것을 허가합니다. + 그룹 리더가 그룹 이름을 재설정하는 것을 허가합니다. Permite al lider de un grupo renombrar a su grupo si el nombre no está siendo actualmente usado. + Permite que o líder renomeie seu grupo se o nome não estiver sendo usado. Warning: can cause some objects to collide with others. @@ -1305,6 +1313,7 @@ 警告:会导致一些物体与其他物体发生碰撞。 주의: 물체끼리 충돌하는 현상이 있을 수 있음. Advertencia: puede provocar que algunos objetos choquen con otros. + Aviso: pode causar que alguns objetos colidam com outros. diff --git a/addons/inventory/RscDisplayInventory.hpp b/addons/inventory/RscDisplayInventory.hpp index c3a1904678..3149000777 100644 --- a/addons/inventory/RscDisplayInventory.hpp +++ b/addons/inventory/RscDisplayInventory.hpp @@ -27,10 +27,10 @@ class RscCombo; #define W_MAKEITBIGGA(num) (num * (safeZoneH / 40)) #define H_MAKEITBIGGA(num) (num * (safeZoneH / 30)) -#define X_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)), 0)]), X_BIS(num), X_MAKEITBIGGA(num))]) -#define Y_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)), 0)]), Y_BIS(num), Y_MAKEITBIGGA(num))]) -#define W_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)), 0)]), W_BIS(num), W_MAKEITBIGGA(num))]) -#define H_PART(num) QUOTE(linearConversion [ARR_5(0, 2, (missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)), 0)]), H_BIS(num), H_MAKEITBIGGA(num))]) +#define X_PART(num) QUOTE(linearConversion [ARR_5(0,2,(missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)),0)]),X_BIS(num),X_MAKEITBIGGA(num))]) +#define Y_PART(num) QUOTE(linearConversion [ARR_5(0,2,(missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)),0)]),Y_BIS(num),Y_MAKEITBIGGA(num))]) +#define W_PART(num) QUOTE(linearConversion [ARR_5(0,2,(missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)),0)]),W_BIS(num),W_MAKEITBIGGA(num))]) +#define H_PART(num) QUOTE(linearConversion [ARR_5(0,2,(missionNamespace getVariable [ARR_2(QUOTE(QGVAR(inventoryDisplaySize)),0)]),H_BIS(num),H_MAKEITBIGGA(num))]) class RscDisplayInventory { class controls { diff --git a/addons/inventory/functions/fnc_addCustomFilter.sqf b/addons/inventory/functions/fnc_addCustomFilter.sqf index 6d7ab4796f..6dd6e1f559 100644 --- a/addons/inventory/functions/fnc_addCustomFilter.sqf +++ b/addons/inventory/functions/fnc_addCustomFilter.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Adds a custom filter list to the inventory display. diff --git a/addons/inventory/functions/fnc_currentItemListBox.sqf b/addons/inventory/functions/fnc_currentItemListBox.sqf index 3419c8dfff..b3e5ce40b8 100644 --- a/addons/inventory/functions/fnc_currentItemListBox.sqf +++ b/addons/inventory/functions/fnc_currentItemListBox.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns the current item list box of given inventory display. diff --git a/addons/inventory/functions/fnc_filterBackpacks.sqf b/addons/inventory/functions/fnc_filterBackpacks.sqf index 66f33ec105..6cb94f3d1c 100644 --- a/addons/inventory/functions/fnc_filterBackpacks.sqf +++ b/addons/inventory/functions/fnc_filterBackpacks.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Filter condition for the Backpacks filter list diff --git a/addons/inventory/functions/fnc_filterGrenades.sqf b/addons/inventory/functions/fnc_filterGrenades.sqf index 777f8c01cb..6d2b813ae4 100644 --- a/addons/inventory/functions/fnc_filterGrenades.sqf +++ b/addons/inventory/functions/fnc_filterGrenades.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Filter condition for the Grenades filter list diff --git a/addons/inventory/functions/fnc_filterHeadgear.sqf b/addons/inventory/functions/fnc_filterHeadgear.sqf index e75898849e..134a4fc45f 100644 --- a/addons/inventory/functions/fnc_filterHeadgear.sqf +++ b/addons/inventory/functions/fnc_filterHeadgear.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Filter condition for the Headgear filter list diff --git a/addons/inventory/functions/fnc_filterItems.sqf b/addons/inventory/functions/fnc_filterItems.sqf index 78343127af..0bdb18310f 100644 --- a/addons/inventory/functions/fnc_filterItems.sqf +++ b/addons/inventory/functions/fnc_filterItems.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Remove uniforms, vests and backpacks from Items filter. diff --git a/addons/inventory/functions/fnc_filterMagazines.sqf b/addons/inventory/functions/fnc_filterMagazines.sqf index 0e23872d73..4b7747c5a8 100644 --- a/addons/inventory/functions/fnc_filterMagazines.sqf +++ b/addons/inventory/functions/fnc_filterMagazines.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Remove backpacks and grenades from Magazines filter. diff --git a/addons/inventory/functions/fnc_filterMedical.sqf b/addons/inventory/functions/fnc_filterMedical.sqf index 6e04ddc3de..ec44ba2a76 100644 --- a/addons/inventory/functions/fnc_filterMedical.sqf +++ b/addons/inventory/functions/fnc_filterMedical.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Filter condition for the Medical filter list diff --git a/addons/inventory/functions/fnc_filterUniforms.sqf b/addons/inventory/functions/fnc_filterUniforms.sqf index 39529121a5..dc7d4e9287 100644 --- a/addons/inventory/functions/fnc_filterUniforms.sqf +++ b/addons/inventory/functions/fnc_filterUniforms.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Filter condition for the Uniforms filter list diff --git a/addons/inventory/functions/fnc_filterVests.sqf b/addons/inventory/functions/fnc_filterVests.sqf index 99115ac84f..439d826390 100644 --- a/addons/inventory/functions/fnc_filterVests.sqf +++ b/addons/inventory/functions/fnc_filterVests.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Filter condition for the Vests filter list diff --git a/addons/inventory/functions/fnc_filterWeapons.sqf b/addons/inventory/functions/fnc_filterWeapons.sqf index 60065069bb..2addf83665 100644 --- a/addons/inventory/functions/fnc_filterWeapons.sqf +++ b/addons/inventory/functions/fnc_filterWeapons.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Remove backpacks from Weapons filter. diff --git a/addons/inventory/functions/fnc_forceItemListUpdate.sqf b/addons/inventory/functions/fnc_forceItemListUpdate.sqf index e162aeee6c..165bff1e57 100644 --- a/addons/inventory/functions/fnc_forceItemListUpdate.sqf +++ b/addons/inventory/functions/fnc_forceItemListUpdate.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Updates item list and removes every entry that does not fit in the currently selected filter list. diff --git a/addons/inventory/functions/fnc_inventoryDisplayLoad.sqf b/addons/inventory/functions/fnc_inventoryDisplayLoad.sqf index 8657d212cd..1411ec6cc8 100644 --- a/addons/inventory/functions/fnc_inventoryDisplayLoad.sqf +++ b/addons/inventory/functions/fnc_inventoryDisplayLoad.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Executed every time an inventory display is opened. diff --git a/addons/inventory/functions/fnc_onLBSelChanged.sqf b/addons/inventory/functions/fnc_onLBSelChanged.sqf index 7f20e48fdf..6fbc7020c0 100644 --- a/addons/inventory/functions/fnc_onLBSelChanged.sqf +++ b/addons/inventory/functions/fnc_onLBSelChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Executed when the filter list box is changed. diff --git a/addons/inventory/functions/script_component.hpp b/addons/inventory/functions/script_component.hpp deleted file mode 100644 index e985011e17..0000000000 --- a/addons/inventory/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\inventory\script_component.hpp" diff --git a/addons/irlight/$PBOPREFIX$ b/addons/irlight/$PBOPREFIX$ new file mode 100644 index 0000000000..5bb6f98681 --- /dev/null +++ b/addons/irlight/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\irlight diff --git a/addons/irlight/CfgEventHandlers.hpp b/addons/irlight/CfgEventHandlers.hpp new file mode 100644 index 0000000000..66a525846a --- /dev/null +++ b/addons/irlight/CfgEventHandlers.hpp @@ -0,0 +1,17 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_SCRIPT(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_SCRIPT(XEH_preInit)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + }; +}; diff --git a/addons/irlight/CfgJointRails.hpp b/addons/irlight/CfgJointRails.hpp new file mode 100644 index 0000000000..f9b3081c42 --- /dev/null +++ b/addons/irlight/CfgJointRails.hpp @@ -0,0 +1,82 @@ +class SlotInfo; +class PointerSlot: SlotInfo { + compatibleItems[] += { + "ACE_DBAL_A3_Red", + "ACE_DBAL_A3_Red_IP", + "ACE_DBAL_A3_Red_II", + "ACE_DBAL_A3_Red_VP", + "ACE_DBAL_A3_Red_LR", + "ACE_DBAL_A3_Red_LR_IP", + "ACE_DBAL_A3_Red_LR_II", + "ACE_DBAL_A3_Red_LR_VP", + "ACE_DBAL_A3_Green", + "ACE_DBAL_A3_Green_IP", + "ACE_DBAL_A3_Green_II", + "ACE_DBAL_A3_Green_VP", + "ACE_DBAL_A3_Green_LR", + "ACE_DBAL_A3_Green_LR_IP", + "ACE_DBAL_A3_Green_LR_II", + "ACE_DBAL_A3_Green_LR_VP", + "ACE_SPIR", + "ACE_SPIR_Medium", + "ACE_SPIR_Narrow", + "ACE_SPIR_LR", + "ACE_SPIR_LR_Medium", + "ACE_SPIR_LR_Narrow" + }; +}; + +class PointerSlot_Rail: PointerSlot { + class compatibleItems { + ACE_DBAL_A3_Red = 1; + ACE_DBAL_A3_Red_IP = 1; + ACE_DBAL_A3_Red_II = 1; + ACE_DBAL_A3_Red_VP = 1; + ACE_DBAL_A3_Red_LR = 1; + ACE_DBAL_A3_Red_LR_IP = 1; + ACE_DBAL_A3_Red_LR_II = 1; + ACE_DBAL_A3_Red_LR_VP = 1; + ACE_DBAL_A3_Green = 1; + ACE_DBAL_A3_Green_IP = 1; + ACE_DBAL_A3_Green_II = 1; + ACE_DBAL_A3_Green_VP = 1; + ACE_DBAL_A3_Green_LR = 1; + ACE_DBAL_A3_Green_LR_IP = 1; + ACE_DBAL_A3_Green_LR_II = 1; + ACE_DBAL_A3_Green_LR_VP = 1; + ACE_SPIR = 1; + ACE_SPIR_Medium = 1; + ACE_SPIR_Narrow = 1; + ACE_SPIR_LR = 1; + ACE_SPIR_LR_Medium = 1; + ACE_SPIR_LR_Narrow = 1; + }; +}; + +class asdg_SlotInfo; +class asdg_FrontSideRail: asdg_SlotInfo { + class compatibleItems { + ACE_DBAL_A3_Red = 1; + ACE_DBAL_A3_Red_IP = 1; + ACE_DBAL_A3_Red_II = 1; + ACE_DBAL_A3_Red_VP = 1; + ACE_DBAL_A3_Red_LR = 1; + ACE_DBAL_A3_Red_LR_IP = 1; + ACE_DBAL_A3_Red_LR_II = 1; + ACE_DBAL_A3_Red_LR_VP = 1; + ACE_DBAL_A3_Green = 1; + ACE_DBAL_A3_Green_IP = 1; + ACE_DBAL_A3_Green_II = 1; + ACE_DBAL_A3_Green_VP = 1; + ACE_DBAL_A3_Green_LR = 1; + ACE_DBAL_A3_Green_LR_IP = 1; + ACE_DBAL_A3_Green_LR_II = 1; + ACE_DBAL_A3_Green_LR_VP = 1; + ACE_SPIR = 1; + ACE_SPIR_Medium = 1; + ACE_SPIR_Narrow = 1; + ACE_SPIR_LR = 1; + ACE_SPIR_LR_Medium = 1; + ACE_SPIR_LR_Narrow = 1; + }; +}; diff --git a/addons/irlight/CfgWeapons.hpp b/addons/irlight/CfgWeapons.hpp new file mode 100644 index 0000000000..6d28c937e4 --- /dev/null +++ b/addons/irlight/CfgWeapons.hpp @@ -0,0 +1,378 @@ +// Only a dependency when building +#include "\z\ace\addons\laserpointer\script_macros_config.hpp" + +// Attenuation and Flashlight seem to not work with inheritance +#define DBAL_A3_FLASHLIGHT \ + class Flashlight { \ + color[] = {1, 1, 1}; \ + ambient[] = {1, 1, 1}; \ + size = 1; \ + innerAngle = 10; \ + outerAngle = 12; \ + position = "laser pos"; \ + direction = "laser dir"; \ + useFlare = 1; \ + flareSize = 1.4; \ + flareMaxDistance = 200; \ + coneFadeCoef = 6; \ + intensity = 100; \ + irLight = 1; \ + volumeShape = "a3\data_f\VolumeLightFlashlight.p3d"; \ + scale[] = {0.25, 0.25, 1}; \ + class Attenuation { \ + constant = 1; \ + linear = 0; \ + quadratic = 0.008; \ + start = 1; \ + hardLimitStart = 220; \ + hardLimitEnd = 250; \ + }; \ + } +#define DBAL_A3_FLASHLIGHT_LR \ + class Flashlight { \ + color[] = {1, 1, 1}; \ + ambient[] = {1, 1, 1}; \ + size = 1; \ + innerAngle = 10; \ + outerAngle = 12; \ + position = "laser pos"; \ + direction = "laser dir"; \ + useFlare = 1; \ + flareSize = 1.4; \ + flareMaxDistance = 200; \ + coneFadeCoef = 6; \ + intensity = 200; \ + irLight = 1; \ + volumeShape = "a3\data_f\VolumeLightFlashlight.p3d"; \ + scale[] = {0.25, 0.25, 1}; \ + class Attenuation { \ + constant = 1; \ + linear = 0; \ + quadratic = 0.001; \ + start = 1; \ + hardLimitStart = 570; \ + hardLimitEnd = 600; \ + }; \ + } +#define SPIR_FLASHLIGHT(hardLimitStart,hardLimitEnd) \ + color[] = {1, 1, 1}; \ + ambient[] = {1, 1, 1}; \ + size = 1; \ + position = "flash dir"; \ + direction = "flash"; \ + useFlare = 1; \ + flareSize = 1.4; \ + flareMaxDistance = 100; \ + irLight = 1; \ + volumeShape = "a3\data_f\VolumeLightFlashlight.p3d"; \ + class Attenuation { \ + constant = 1; \ + linear = 0; \ + quadratic = 0.02; \ + start = 1; \ + hardLimitStart = hardLimitStart; \ + hardLimitEnd = hardLimitEnd; \ + } +#define SPIR_FLASHLIGHT_LR(hardLimitStart,hardLimitEnd) \ + color[] = {1, 1, 1}; \ + ambient[] = {1, 1, 1}; \ + size = 1; \ + position = "flash dir"; \ + direction = "flash"; \ + useFlare = 1; \ + flareSize = 1.4; \ + flareMaxDistance = 100; \ + irLight = 1; \ + volumeShape = "a3\data_f\VolumeLightFlashlight.p3d"; \ + class Attenuation { \ + constant = 1; \ + linear = 0; \ + quadratic = 0.002; \ + start = 1; \ + hardLimitStart = hardLimitStart; \ + hardLimitEnd = hardLimitEnd; \ + } +#define POINTER_IR \ + class Pointer { \ + irLaserPos = "laser pos"; \ + irLaserEnd = "laser dir"; \ + irDistance = 5; \ + } + + +class CfgWeapons { + class acc_pointer_IR; + class acc_flashlight; + class InventoryFlashLightItem_Base_F; + + // DBAL-A3 (red pointer) + // IR Pointer + Illuminator + class ACE_DBAL_A3_Red: acc_pointer_IR { + author = ECSTRING(common,ACETeam); + displayName = CSTRING(DBAL_A3_Red); + descriptionUse = CSTRING(DBAL_A3_DescriptionUse); + descriptionShort = CSTRING(DBAL_A3_DescriptionShort); + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Red_IP"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Red_VP"; + MRT_SwitchItemHintText = CSTRING(Mode_IRDual); + baseWeapon = "ACE_DBAL_A3_Red"; + + class ItemInfo: InventoryFlashLightItem_Base_F { + DBAL_A3_FLASHLIGHT; + POINTER_IR; + }; + }; + + // IR Pointer only + class ACE_DBAL_A3_Red_IP: ACE_DBAL_A3_Red { + scope = 1; + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Red_II"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Red"; + MRT_SwitchItemHintText = CSTRING(Mode_IRPointer); + + class ItemInfo: InventoryFlashLightItem_Base_F { + class Flashlight {}; + POINTER_IR; + }; + }; + + // Illuminator only + class ACE_DBAL_A3_Red_II: ACE_DBAL_A3_Red { + scope = 1; + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Red_VP"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Red_IP"; + MRT_SwitchItemHintText = CSTRING(Mode_IRIlluminator); + + class ItemInfo: InventoryFlashLightItem_Base_F { + DBAL_A3_FLASHLIGHT; + }; + }; + + // Visible Pointer only + class ACE_DBAL_A3_Red_VP: ACE_DBAL_A3_Red { + scope = 1; + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Red"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Red_II"; + MRT_SwitchItemHintText = CSTRING(Mode_VisiblePointer); + + class ItemInfo: InventoryFlashLightItem_Base_F { + class Flashlight {}; + POINTER_VISIBLE_RED; + }; + }; + + // DBAL-A3 (red pointer, long range) + class ACE_DBAL_A3_Red_LR: ACE_DBAL_A3_Red { + scope = 1; + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Red_LR_IP"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Red_LR_VP"; + baseWeapon = "ACE_DBAL_A3_Red_LR"; + + class ItemInfo: InventoryFlashLightItem_Base_F { + DBAL_A3_FLASHLIGHT_LR; + POINTER_IR; + }; + }; + + class ACE_DBAL_A3_Red_LR_IP: ACE_DBAL_A3_Red_IP { + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Red_LR_II"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Red_LR"; + baseWeapon = "ACE_DBAL_A3_Red_LR"; + }; + + class ACE_DBAL_A3_Red_LR_II: ACE_DBAL_A3_Red_II { + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Red_LR_VP"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Red_LR_IP"; + baseWeapon = "ACE_DBAL_A3_Red_LR"; + + class ItemInfo: InventoryFlashLightItem_Base_F { + DBAL_A3_FLASHLIGHT_LR; + }; + }; + + class ACE_DBAL_A3_Red_LR_VP: ACE_DBAL_A3_Red_VP { + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Red_LR"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Red_LR_II"; + baseWeapon = "ACE_DBAL_A3_Red_LR"; + }; + + // DBAL-A3 (green pointer) + class ACE_DBAL_A3_Green: ACE_DBAL_A3_Red { + scope = 2; + displayName = CSTRING(DBAL_A3_Green); + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Green_IP"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Green_VP"; + baseWeapon = "ACE_DBAL_A3_Green"; + }; + + class ACE_DBAL_A3_Green_IP: ACE_DBAL_A3_Red_IP { + displayName = CSTRING(DBAL_A3_Green); + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Green_II"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Green"; + baseWeapon = "ACE_DBAL_A3_Green"; + }; + + class ACE_DBAL_A3_Green_II: ACE_DBAL_A3_Red_II { + displayName = CSTRING(DBAL_A3_Green); + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Green_VP"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Green_IP"; + baseWeapon = "ACE_DBAL_A3_Green"; + }; + + class ACE_DBAL_A3_Green_VP: ACE_DBAL_A3_Red_VP { + displayName = CSTRING(DBAL_A3_Green); + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Green"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Green_II"; + baseWeapon = "ACE_DBAL_A3_Green"; + class ItemInfo: ItemInfo { + POINTER_VISIBLE_GREEN; + }; + }; + + // DBAL-A3 (green pointer, long range) + class ACE_DBAL_A3_Green_LR: ACE_DBAL_A3_Green { + scope = 1; + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Green_LR_IP"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Green_LR_VP"; + baseWeapon = "ACE_DBAL_A3_Green_LR"; + + class ItemInfo: InventoryFlashLightItem_Base_F { + DBAL_A3_FLASHLIGHT; + POINTER_IR; + }; + }; + + class ACE_DBAL_A3_Green_LR_IP: ACE_DBAL_A3_Green_IP { + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Green_LR_II"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Green_LR"; + baseWeapon = "ACE_DBAL_A3_Green_LR"; + }; + + class ACE_DBAL_A3_Green_LR_II: ACE_DBAL_A3_Green_II { + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Green_LR_VP"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Green_LR_IP"; + baseWeapon = "ACE_DBAL_A3_Green_LR"; + + class ItemInfo: InventoryFlashLightItem_Base_F { + DBAL_A3_FLASHLIGHT; + }; + }; + + class ACE_DBAL_A3_Green_LR_VP: ACE_DBAL_A3_Green_VP { + MRT_SwitchItemNextClass = "ACE_DBAL_A3_Green_LR"; + MRT_SwitchItemPrevClass = "ACE_DBAL_A3_Green_LR_II"; + baseWeapon = "ACE_DBAL_A3_Green_LR"; + }; + + // SPIR + class ACE_SPIR: acc_flashlight { + author = ECSTRING(common,ACETeam); + displayName = "SPIR"; + descriptionUse = CSTRING(SPIR_DescriptionUse); + descriptionShort = CSTRING(SPIR_DescriptionShort); + MRT_SwitchItemNextClass = "ACE_SPIR_Medium"; + MRT_SwitchItemPrevClass = "ACE_SPIR_Narrow"; + MRT_SwitchItemHintText = CSTRING(Mode_Wide); + baseWeapon = "ACE_SPIR"; + + class ItemInfo: InventoryFlashLightItem_Base_F { + class Flashlight { + SPIR_FLASHLIGHT(50,70); + innerAngle = 20; + outerAngle = 32; + coneFadeCoef = 2; + intensity = 50; + scale[] = {1, 1, 1}; + }; + }; + }; + + class ACE_SPIR_Medium: ACE_SPIR { + scope = 1; + MRT_SwitchItemNextClass = "ACE_SPIR_Narrow"; + MRT_SwitchItemPrevClass = "ACE_SPIR"; + MRT_SwitchItemHintText = CSTRING(Mode_Medium); + + class ItemInfo: InventoryFlashLightItem_Base_F { + class Flashlight { + SPIR_FLASHLIGHT(80,100); + intensity = 100; + innerAngle = 10; + outerAngle = 12; + coneFadeCoef = 3; + scale[] = {1, 1, 5}; + }; + }; + }; + + class ACE_SPIR_Narrow: ACE_SPIR { + scope = 1; + MRT_SwitchItemNextClass = "ACE_SPIR"; + MRT_SwitchItemPrevClass = "ACE_SPIR_Medium"; + MRT_SwitchItemHintText = CSTRING(Mode_Narrow); + + class ItemInfo: InventoryFlashLightItem_Base_F { + class Flashlight { + SPIR_FLASHLIGHT(120,150); + intensity = 200; + innerAngle = 5; + outerAngle = 6; + coneFadeCoef = 4; + scale[] = {1, 1, 10}; + }; + }; + }; + + // SPIR (long range) + class ACE_SPIR_LR: ACE_SPIR { + scope = 1; + MRT_SwitchItemNextClass = "ACE_SPIR_LR_Medium"; + MRT_SwitchItemPrevClass = "ACE_SPIR_LR_Narrow"; + baseWeapon = "ACE_SPIR_LR"; + + class ItemInfo: InventoryFlashLightItem_Base_F { + class Flashlight { + SPIR_FLASHLIGHT_LR(80,100); + innerAngle = 20; + outerAngle = 32; + coneFadeCoef = 2; + intensity = 50; + scale[] = {1, 1, 1}; + }; + }; + }; + + class ACE_SPIR_LR_Medium: ACE_SPIR_LR { + MRT_SwitchItemNextClass = "ACE_SPIR_LR_Narrow"; + MRT_SwitchItemPrevClass = "ACE_SPIR_LR"; + MRT_SwitchItemHintText = CSTRING(Mode_Medium); + + class ItemInfo: InventoryFlashLightItem_Base_F { + class Flashlight { + SPIR_FLASHLIGHT_LR(100,120); + intensity = 100; + innerAngle = 10; + outerAngle = 12; + coneFadeCoef = 3; + scale[] = {1, 1, 5}; + }; + }; + }; + + class ACE_SPIR_LR_Narrow: ACE_SPIR_LR { + MRT_SwitchItemNextClass = "ACE_SPIR_LR"; + MRT_SwitchItemPrevClass = "ACE_SPIR_LR_Medium"; + MRT_SwitchItemHintText = CSTRING(Mode_Narrow); + + class ItemInfo: InventoryFlashLightItem_Base_F { + class Flashlight { + SPIR_FLASHLIGHT_LR(180,200); + intensity = 200; + innerAngle = 5; + outerAngle = 6; + coneFadeCoef = 4; + scale[] = {1, 1, 10}; + }; + }; + }; +}; diff --git a/addons/irlight/README.md b/addons/irlight/README.md new file mode 100644 index 0000000000..3e55e4903f --- /dev/null +++ b/addons/irlight/README.md @@ -0,0 +1,4 @@ +ace_irlight +=================== + +Adds IR flashlights. diff --git a/addons/irlight/XEH_PREP.hpp b/addons/irlight/XEH_PREP.hpp new file mode 100644 index 0000000000..db1a29d22e --- /dev/null +++ b/addons/irlight/XEH_PREP.hpp @@ -0,0 +1,3 @@ +PREP(getGlowOffset); +PREP(initItemContextMenu); +PREP(onLightToggled); diff --git a/addons/irlight/XEH_postInit.sqf b/addons/irlight/XEH_postInit.sqf new file mode 100644 index 0000000000..47763b8414 --- /dev/null +++ b/addons/irlight/XEH_postInit.sqf @@ -0,0 +1,30 @@ +#include "script_component.hpp" + +[] call FUNC(initItemContextMenu); + +addUserActionEventHandler ["headlights", "Deactivate", FUNC(onLightToggled)]; + +["ACE3 Equipment", QGVAR(hold), LLSTRING(MomentarySwitch), { + ACE_player action ["GunLightOn", ACE_player]; + ACE_player action ["IRLaserOn", ACE_player]; + [] call FUNC(onLightToggled); + true +}, { + ACE_player action ["GunLightOff", ACE_player]; + ACE_player action ["IRLaserOff", ACE_player]; + [] call FUNC(onLightToggled); + true +}] call CBA_fnc_addKeybind; + +["CBA_attachmentSwitched", { + params ["", "", "_item"]; + + private _substr = _item select [0, 8]; + if ( + ACE_player getVariable [QGVAR(isTurnedOn), false] + && {_substr == "ACE_SPIR" || {_substr == "ACE_DBAL"}} + ) then { + ACE_player action ["GunLightOn", ACE_player]; + ACE_player action ["IRLaserOn", ACE_player]; + }; +}] call CBA_fnc_addEventHandler; diff --git a/addons/irlight/XEH_preInit.sqf b/addons/irlight/XEH_preInit.sqf new file mode 100644 index 0000000000..b47cf6628d --- /dev/null +++ b/addons/irlight/XEH_preInit.sqf @@ -0,0 +1,9 @@ +#include "script_component.hpp" + +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; diff --git a/addons/irlight/XEH_preStart.sqf b/addons/irlight/XEH_preStart.sqf new file mode 100644 index 0000000000..022888575e --- /dev/null +++ b/addons/irlight/XEH_preStart.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +#include "XEH_PREP.hpp" diff --git a/addons/irlight/config.cpp b/addons/irlight/config.cpp new file mode 100644 index 0000000000..9446d8e9d7 --- /dev/null +++ b/addons/irlight/config.cpp @@ -0,0 +1,19 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + author = ECSTRING(common,ACETeam); + authors[] = {"BaerMitUmlaut", "OmniMan"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgJointRails.hpp" +#include "CfgWeapons.hpp" diff --git a/addons/irlight/data/irglow.p3d b/addons/irlight/data/irglow.p3d new file mode 100644 index 0000000000..d43e40d0f0 Binary files /dev/null and b/addons/irlight/data/irglow.p3d differ diff --git a/addons/irlight/data/irglow.rvmat b/addons/irlight/data/irglow.rvmat new file mode 100644 index 0000000000..d39184a535 --- /dev/null +++ b/addons/irlight/data/irglow.rvmat @@ -0,0 +1,79 @@ +ambient[] = {0, 0, 0, 1}; +diffuse[] = {0, 0, 0, 1}; +forcedDiffuse[] = {0, 0, 0, 1}; +emmisive[] = {775, 121, 549, 0}; +specular[] = {0, 0, 0, 1}; +specularPower = 30; +PixelShaderID = "Super"; +VertexShaderID = "Super"; +class Stage1 { + texture = "#(argb,8,8,3)color(0.5,0.5,1,1,NOHQ)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1, 0, 0}; + up[] = {0, 1, 0}; + dir[] = {0, 0, 0}; + pos[] = {0, 0, 0}; + }; +}; +class Stage2 { + texture = "#(argb,8,8,3)color(0.5,0.5,0.5,0.5,DT)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1, 0, 0}; + up[] = {0, 1, 0}; + dir[] = {0, 0, 0}; + pos[] = {0, 0, 0}; + }; +}; +class Stage3 { + texture = "#(argb,8,8,3)color(1.0,1.0,1.0,0.0,MC)"; + 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(1.0,1.0,1.0,1.0,AS)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1, 0, 0}; + up[] = {0, 1, 0}; + dir[] = {0, 0, 0}; + pos[] = {0, 0, 0}; + }; +}; +class Stage5 { + texture = "#(argb,8,8,3)color(1,0.0,1,0,SMDI)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1, 0, 0}; + up[] = {0, 1, 0}; + dir[] = {0, 0, 0}; + pos[] = {0, 0, 0}; + }; +}; +class Stage6 { + texture = "#(ai,64,64,1)fresnel(0.4,0.2)"; + uvSource = "tex"; + class uvTransform { + aside[] = {1, 0, 0}; + up[] = {0, 1, 0}; + dir[] = {0, 0, 0}; + pos[] = {0, 0, 0}; + }; +}; +class Stage7 { + texture = "a3\data_f\env_land_co.paa"; + useWorldEnvMap = "true"; + uvSource = "tex"; + class uvTransform { + aside[] = {1, 0, 0}; + up[] = {0, 1, 0}; + dir[] = {0, 0, 0}; + pos[] = {0, 0, 0}; + }; +}; diff --git a/addons/irlight/data/model.cfg b/addons/irlight/data/model.cfg new file mode 100644 index 0000000000..949c7bebcc --- /dev/null +++ b/addons/irlight/data/model.cfg @@ -0,0 +1,8 @@ +class CfgModels { + class Default { + sectionsInherit = ""; + sections[] = {""}; + skeletonName = ""; + }; + class irglow: Default {}; +}; diff --git a/addons/irlight/dev/createTestLight.sqf b/addons/irlight/dev/createTestLight.sqf new file mode 100644 index 0000000000..3aace8ab3d --- /dev/null +++ b/addons/irlight/dev/createTestLight.sqf @@ -0,0 +1,42 @@ +#include "..\script_component.hpp" +/* + * Author: BaerMitUmlaut + * Creates a scripted test light to test weapon lights without reloading. + * + * Arguments: + * 0: Flashlight class name + * + * Return Value: + * None + * + * Example: + * "ACE_SPIR" call compile preprocessFileLineNumbers "\z\ace\addons\irlight\dev\createTestLight.sqf" + * + * Public: No + */ + +params ["_className"]; + +private _cfg = configFile >> "CfgWeapons" >> _className >> "ItemInfo" >> "Flashlight"; + +deleteVehicle lgt; +lgt = "#lightreflector" createVehicleLocal [0, 0, 0]; +lgt attachTo [player, [0.0396804,0.237947,0.104276], "proxy:\a3\characters_f\proxies\weapon.001", true]; +lgt setLightIntensity getNumber (_cfg >> "intensity"); +lgt setLightColor (getArray (_cfg >> "color") select [0, 3]); +lgt setLightAmbient (getArray (_cfg >> "ambient") select [0, 3]); +lgt setLightConePars [ + getNumber (_cfg >> "outerAngle"), + getNumber (_cfg >> "innerAngle"), + getNumber (_cfg >> "coneFadeCoef") +]; + +attenuation = [ + getNumber (_cfg >> "Attenuation" >> "start"), + getNumber (_cfg >> "Attenuation" >> "constant"), + getNumber (_cfg >> "Attenuation" >> "linear"), + getNumber (_cfg >> "Attenuation" >> "quadratic"), + getNumber (_cfg >> "Attenuation" >> "hardLimitStart"), + getNumber (_cfg >> "Attenuation" >> "hardLimitEnd") +]; +lgt setLightAttenuation attenuation; diff --git a/addons/irlight/functions/fnc_getGlowOffset.sqf b/addons/irlight/functions/fnc_getGlowOffset.sqf new file mode 100644 index 0000000000..613e551111 --- /dev/null +++ b/addons/irlight/functions/fnc_getGlowOffset.sqf @@ -0,0 +1,41 @@ +#include "..\script_component.hpp" +/* + * Author: BaerMitUmlaut + * Gets the player model offset of the IR laser origin. + * Currently unused, see onLightToggled. + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * [] call ace_irlight_fnc_getGlowOffset + * + * Public: No + */ + +if (isNil QGVAR(offsetCache)) then { + GVAR(offsetCache) = createHashMap; +}; + +private _weapon = currentWeapon ACE_player; +private _laser = ((weaponsItems ACE_player) select {_x#0 == _weapon})#0#2; + +GVAR(offsetCache) getOrDefaultCall [[_weapon, _laser], { + private _model = getText (configFile >> "CfgWeapons" >> _weapon >> "model"); + private _dummy = createSimpleObject [_model, [0, 0, 0], true]; + private _proxyOffset = _dummy selectionPosition ["\a3\data_f\proxies\weapon_slots\SIDE.001", 1]; + _proxyOffset = [_proxyOffset#1, _proxyOffset#0 * -1, _proxyOffset#2]; + deleteVehicle _dummy; + + _model = getText (configFile >> "CfgWeapons" >> _laser >> "model"); + _dummy = createSimpleObject [_model, [0, 0, 0], true]; + private _selection = getText (configFile >> "CfgWeapons" >> _laser >> "ItemInfo" >> "Pointer" >> "irLaserPos"); + private _laserOffset = _dummy selectionPosition [_selection, "Memory"]; + _laserOffset = [_laserOffset#1, _laserOffset#0 * -1, _laserOffset#2 * -1]; + deleteVehicle _dummy; + + _proxyOffset vectorAdd _laserOffset +}, true]; diff --git a/addons/irlight/functions/fnc_initItemContextMenu.sqf b/addons/irlight/functions/fnc_initItemContextMenu.sqf new file mode 100644 index 0000000000..fa75eba77b --- /dev/null +++ b/addons/irlight/functions/fnc_initItemContextMenu.sqf @@ -0,0 +1,52 @@ +#include "..\script_component.hpp" +/* + * Author: BaerMitUmlaut + * Initializes the item context menu for the DBAL. + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * [] call ace_irlight_fnc_initItemContextMenu + * + * Public: No + */ + +{ + _x params ["_variant", "_displayName"]; + + [ + "ACE_DBAL_A3_Red", "POINTER", _displayName, [], "", { + params ["", "", "_item", "", "_variant"]; + + private _baseClass = getText (configFile >> "CfgWeapons" >> _item >> "baseWeapon"); + _item != _baseClass + _variant + }, { + params ["", "", "_item", "", "_variant"]; + + private _baseClass = getText (configFile >> "CfgWeapons" >> _item >> "baseWeapon"); + + ACE_player removePrimaryWeaponItem _item; + ACE_player addPrimaryWeaponItem (_baseClass + _variant); + playSound "click"; + + if (_turnedOn) then { + // Force update of flashlight + ACE_player action ["GunLightOff", ACE_player]; + + { + ACE_player action ["GunLightOn", ACE_player]; + ACE_player action ["IRLaserOn", ACE_player]; + } call CBA_fnc_execNextFrame; + }; + }, false, _variant + ] call CBA_fnc_addItemContextMenuOption; +} forEach [ + ["", LSTRING(Mode_IRDual)], + ["_IP", LSTRING(Mode_IRPointer)], + ["_II", LSTRING(Mode_IRIlluminator)], + ["_VP", LSTRING(Mode_VisiblePointer)] +]; diff --git a/addons/irlight/functions/fnc_onLightToggled.sqf b/addons/irlight/functions/fnc_onLightToggled.sqf new file mode 100644 index 0000000000..b3592f28f6 --- /dev/null +++ b/addons/irlight/functions/fnc_onLightToggled.sqf @@ -0,0 +1,36 @@ +#include "..\script_component.hpp" +/* + * Author: BaerMitUmlaut + * Handles toggling flashlights on and off. + * + * Arguments: + * None + * + * Return Value: + * None + * + * Example: + * [] call ace_irlight_fnc_onLightToggled + * + * Public: No + */ + +private _isTurnedOn = ACE_player isFlashlightOn primaryWeapon ACE_player + || ACE_player isIRLaserOn primaryWeapon ACE_player; +ACE_player setVariable [QGVAR(isTurnedOn), _isTurnedOn]; + +// This is a surprise tool that will help us later +// Requires: https://feedback.bistudio.com/T170774 +/* +deleteVehicle (ACE_player getVariable [QGVAR(glow), objNull]); + +if (ACE_player isIRLaserOn currentWeapon ACE_player) then { + private _offset = [] call FUNC(getGlowOffset); + private _glow = createSimpleObject [QPATHTOF(data\irglow.p3d), [0, 0, 0]]; + _glow attachTo [ACE_player, _offset, "proxy:\a3\characters_f\proxies\weapon.001", true]; + _glow setObjectTexture [0, "#(rgb,8,8,3)color(0.35,0,0.38,0.1)"]; + _glow setObjectScale 0.1; + + ACE_player setVariable [QGVAR(glow), _glow]; +}; +*/ diff --git a/addons/irlight/script_component.hpp b/addons/irlight/script_component.hpp new file mode 100644 index 0000000000..76e3eb11a3 --- /dev/null +++ b/addons/irlight/script_component.hpp @@ -0,0 +1,17 @@ +#define COMPONENT irlight +#define COMPONENT_BEAUTIFIED IR Lights +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_IRLIGHT + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_IRLIGHT + #define DEBUG_SETTINGS DEBUG_SETTINGS_IRLIGHT +#endif + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/addons/irlight/stringtable.xml b/addons/irlight/stringtable.xml new file mode 100644 index 0000000000..67ccdaf17a --- /dev/null +++ b/addons/irlight/stringtable.xml @@ -0,0 +1,131 @@ + + + + + DBAL-A3 (red) + DBAL-A3 (rot) + DBAL-A3 (czerwony) + DBAL-A3 (빨강) + DBAL-A3 (rouge) + DBAL-A3 (vermelho) + DBAL-A3 (赤) + + + DBAL-A3 (green) + DBAL-A3 (grün) + DBAL-A3 (zielony) + DBAL-A3 (녹색) + DBAL-A3 (vert) + DBAL-A3 (verde) + DBAL-A3 (緑) + + + <t color='#9cf953'>Use: </t>Turn Laser ON/OFF<br>Double click to switch mode + <t color='#9cf953'>Benutzen: </t>Laser EIN/AUS<br>Doppelklick um Modus zu wechseln + <t color='#9cf953'>Użycie: </t>Laser WŁ/WYŁ<br>Kliknij dwukrotnie, aby zmienić tryb + <t color='#9cf953'>사용: </t>레이저 켜기/끄기<br>터블 클릭으로 모드 전환 + <t color='#9cf953'>Utilisation: </t>Allumer/Eteindre le laser<br>Double clic pour changer de mode + <t color='#9cf953'>Uso: </t>Ligar/Desligar Laser<br>Duplo clique para mudar o modo + <t color='#9cf953'>使用方法: </t>レーザーのオン/オフ切り替え<br>ダブルクリックでモード切り替え + + + Dual Beam Aiming Laser + Doppelstrahllaservisier + Laser Celowniczy z Podwójną Wiązką + 이중 빔 조준 레이저 + Viseur laser à double faisceau + Laser de Pontaria de Duplo Feixe + 複合ビーム照準レーザー + + + Visible Laser + Sichtbarer Laser + Laser Widzialny + 가시 레이저 + Laser visible + Laser Visível + 可視光レーザー + + + IR Laser + IR-Laser + Laser IR + 적외선 레이저 + Laser IR + Laser IR + IRレーザー + + + IR Illuminator + IR-Taschenlampe + Iluminator IR + 적외선 조명 + Illuminateur IR + Iluminador IR + IRイルミネーター + + + IR Laser and Illuminator + IR-Laser und -Licht + Laser IR i Iluminator + 적외선 레이저와 조명 + Illuminateur et laser IR + Laser e Iluminador IR + IRレーザーとイルミネーター + + + Wide Beam + Breiter Lichtstrahl + Szeroka Wiązka + 넓은 빔 + Faisceau large + Feixe Largo + 広角ビーム + + + Medium Beam + Mittlerer Lichtstrahl + Średnia Wiązka + 중간 빔 + Faisceau moyen + Feixe Médio + 標準ビーム + + + Narrow Beam + Schmaler Lichtstrahl + Wąska Wiązka + 좁은 빔 + Faisceau étroit + Feixe Estreito + 狭角ビーム + + + <t color='#9cf953'>Use: </t>Turn Light ON/OFF<br>Double click to switch mode + <t color='#9cf953'>Benutzen: </t>Licht EIN/AUS<br>Doppelklick um Modus zu wechseln + <t color='#9cf953'>Użycie: </t>Iluminator WŁ/WYŁ<br>Kliknij dwukrotnie, aby zmienić tryb + <t color='#9cf953'>사용: </t>조명 켜기/끄기<br>더블 클릭으로 모드 전환 + <t color='#9cf953'>Utilisation: </t>Allumer/Eteindre la lumière<br>Double clic pour changer de mode + <t color='#9cf953'>Uso: </t>Ligar/Desligar Iluminador<br>Duplo clique para mudar o modo + <t color='#9cf953'>使用方法: </t>ライトのオン/オフ<br>ダブルクリックでモード切り替え + + + Special Purpose IR LED Illuminator + Infrarot LED Taschenlampe + Iluminator IR LED Specjalnego Przeznaczenia + 특수목적 적외선 LED 조명 + Illuminateur LED IR à usage spécial + Iluminador LED IR de Uso Especial + 特殊用途のIR LEDイルミネーター + + + Illuminator / Laser Momentary Switch + Licht / Laser Tastschalter + Przełącznik Chwilowy Iluminator / Laser + 조명/레이저 빠르게 스위치 + Commutateur temporaire illuminateur/laser + Interruptor Momentâneo Iluminador/Laser + イルミネーター/レーザーモーメンタリースイッチ + + + diff --git a/addons/javelin/RscInGameUI.hpp b/addons/javelin/RscInGameUI.hpp index 4a2a567e22..ce777c2047 100644 --- a/addons/javelin/RscInGameUI.hpp +++ b/addons/javelin/RscInGameUI.hpp @@ -14,7 +14,7 @@ class RscInGameUI { onLoad = QUOTE(with uiNamespace do {ACE_RscOptics_javelin = _this select 0;};); class GVAR(mapHelper): RscMapControl { - onDraw = QUOTE(_this call FUNC(mapHelperDraw);); + onDraw = QUOTE(_this call FUNC(mapHelperDraw)); x = -10; y = -10; w = 0; diff --git a/addons/javelin/functions/fnc_getTarget.sqf b/addons/javelin/functions/fnc_getTarget.sqf index 9aff228391..6fd4686eb8 100644 --- a/addons/javelin/functions/fnc_getTarget.sqf +++ b/addons/javelin/functions/fnc_getTarget.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Find a target within the optic range diff --git a/addons/javelin/functions/fnc_mapHelperDraw.sqf b/addons/javelin/functions/fnc_mapHelperDraw.sqf index 1b81fc7dd5..2794d46f58 100644 --- a/addons/javelin/functions/fnc_mapHelperDraw.sqf +++ b/addons/javelin/functions/fnc_mapHelperDraw.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles the map helper's draw event diff --git a/addons/javelin/functions/fnc_onOpticDraw.sqf b/addons/javelin/functions/fnc_onOpticDraw.sqf index a22fce8da6..e6809a8e04 100644 --- a/addons/javelin/functions/fnc_onOpticDraw.sqf +++ b/addons/javelin/functions/fnc_onOpticDraw.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus, PabstMirror * Main loop, handles scaning for targets and drawing the javelin optic diff --git a/addons/javelin/functions/fnc_showFireMode.sqf b/addons/javelin/functions/fnc_showFireMode.sqf index 589a9727aa..85ed983718 100644 --- a/addons/javelin/functions/fnc_showFireMode.sqf +++ b/addons/javelin/functions/fnc_showFireMode.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus * Updates fire mode on javelin display (top/dir) diff --git a/addons/javelin/functions/script_component.hpp b/addons/javelin/functions/script_component.hpp deleted file mode 100644 index 1053e11031..0000000000 --- a/addons/javelin/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\javelin\script_component.hpp" diff --git a/addons/javelin/stringtable.xml b/addons/javelin/stringtable.xml index 0054cf4f03..ab1ff30a10 100644 --- a/addons/javelin/stringtable.xml +++ b/addons/javelin/stringtable.xml @@ -11,7 +11,7 @@ Célpontra állás (Lenyomva tartott) Aggangia il bersaglio Fijar objetivo (Mantener) - Travar Alvo(Segurar) + Travar Alvo (Segurar) 目標を捕捉 (長押し) 표적 획득 (누르기) 锁定目标(按住) diff --git a/addons/kestrel4500/functions/fnc_buttonPressed.sqf b/addons/kestrel4500/functions/fnc_buttonPressed.sqf index 2edd9d17b8..df002ae2a4 100644 --- a/addons/kestrel4500/functions/fnc_buttonPressed.sqf +++ b/addons/kestrel4500/functions/fnc_buttonPressed.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Handles the Kestrel 4500 dialog button actions diff --git a/addons/kestrel4500/functions/fnc_canShow.sqf b/addons/kestrel4500/functions/fnc_canShow.sqf index 0dc623c735..c51e65b835 100644 --- a/addons/kestrel4500/functions/fnc_canShow.sqf +++ b/addons/kestrel4500/functions/fnc_canShow.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Authors: Ruthberg * Tests if the Kestrel 4500 can be shown diff --git a/addons/kestrel4500/functions/fnc_collectData.sqf b/addons/kestrel4500/functions/fnc_collectData.sqf index a05aac2667..14fd6047f2 100644 --- a/addons/kestrel4500/functions/fnc_collectData.sqf +++ b/addons/kestrel4500/functions/fnc_collectData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Gathers the weather data for the Kestrel 4500 diff --git a/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf index 80ff3025f5..6bdaf8927a 100644 --- a/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf +++ b/addons/kestrel4500/functions/fnc_createKestrelDialog.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Opens the Kestrel 4500 dialog diff --git a/addons/kestrel4500/functions/fnc_dayOfWeek.sqf b/addons/kestrel4500/functions/fnc_dayOfWeek.sqf index 39190ca38f..f15a232a86 100644 --- a/addons/kestrel4500/functions/fnc_dayOfWeek.sqf +++ b/addons/kestrel4500/functions/fnc_dayOfWeek.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculate Current Day in the Week diff --git a/addons/kestrel4500/functions/fnc_displayKestrel.sqf b/addons/kestrel4500/functions/fnc_displayKestrel.sqf index 1c2338645e..ac020c800f 100644 --- a/addons/kestrel4500/functions/fnc_displayKestrel.sqf +++ b/addons/kestrel4500/functions/fnc_displayKestrel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows the Kestrel 4500 as rsc title diff --git a/addons/kestrel4500/functions/fnc_generateOutputData.sqf b/addons/kestrel4500/functions/fnc_generateOutputData.sqf index 9a9d0551fe..2143904f80 100644 --- a/addons/kestrel4500/functions/fnc_generateOutputData.sqf +++ b/addons/kestrel4500/functions/fnc_generateOutputData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Generates the Kestrel 4500 output text. diff --git a/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf b/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf index c28fef1262..9ecbca180c 100644 --- a/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf +++ b/addons/kestrel4500/functions/fnc_measureWindSpeed.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Measures the wind speed, stores the information in GVAR(MeasuredWindSpeed) and updates GVAR(ImpellerState) diff --git a/addons/kestrel4500/functions/fnc_onCloseDialog.sqf b/addons/kestrel4500/functions/fnc_onCloseDialog.sqf index 8b8a88f46b..98a39f9a37 100644 --- a/addons/kestrel4500/functions/fnc_onCloseDialog.sqf +++ b/addons/kestrel4500/functions/fnc_onCloseDialog.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Called if Kestrel Dialog is closed diff --git a/addons/kestrel4500/functions/fnc_restoreUserData.sqf b/addons/kestrel4500/functions/fnc_restoreUserData.sqf index 869eb6eb17..43953ab397 100644 --- a/addons/kestrel4500/functions/fnc_restoreUserData.sqf +++ b/addons/kestrel4500/functions/fnc_restoreUserData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Reads user data from profileNamespace diff --git a/addons/kestrel4500/functions/fnc_storeUserData.sqf b/addons/kestrel4500/functions/fnc_storeUserData.sqf index 37bf2c90f6..bb3cf70827 100644 --- a/addons/kestrel4500/functions/fnc_storeUserData.sqf +++ b/addons/kestrel4500/functions/fnc_storeUserData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Saves user data into profileNamespace diff --git a/addons/kestrel4500/functions/fnc_updateDisplay.sqf b/addons/kestrel4500/functions/fnc_updateDisplay.sqf index 94255115db..41acd52f94 100644 --- a/addons/kestrel4500/functions/fnc_updateDisplay.sqf +++ b/addons/kestrel4500/functions/fnc_updateDisplay.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the Kestrel 4500 dialog text boxes. @@ -10,6 +10,7 @@ * None * * Example: + * None * * Public: No */ diff --git a/addons/kestrel4500/functions/fnc_updateImpellerState.sqf b/addons/kestrel4500/functions/fnc_updateImpellerState.sqf index 5692f0d276..b6e8191299 100644 --- a/addons/kestrel4500/functions/fnc_updateImpellerState.sqf +++ b/addons/kestrel4500/functions/fnc_updateImpellerState.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Updates the Kestrel 4500 Impeller state @@ -10,6 +10,7 @@ * None * * Example: + * call ace_kestrel4500_fnc_updateImpellerState * * Public: No */ diff --git a/addons/kestrel4500/functions/fnc_updateMemory.sqf b/addons/kestrel4500/functions/fnc_updateMemory.sqf index 2eff1c5a9a..c717035390 100644 --- a/addons/kestrel4500/functions/fnc_updateMemory.sqf +++ b/addons/kestrel4500/functions/fnc_updateMemory.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Update Memory of Kestrel diff --git a/addons/kestrel4500/functions/script_component.hpp b/addons/kestrel4500/functions/script_component.hpp deleted file mode 100644 index bc42218de7..0000000000 --- a/addons/kestrel4500/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\kestrel4500\script_component.hpp" diff --git a/addons/killtracker/stringtable.xml b/addons/killtracker/stringtable.xml index 8ea5a99243..4961ca6cff 100644 --- a/addons/killtracker/stringtable.xml +++ b/addons/killtracker/stringtable.xml @@ -10,6 +10,8 @@ ACE 사살 이벤트 ACE Счётчик убийств ACE Eventos de Muertes + ACE Evénements Morts + ACE Contagem de Abates Total Kills: @@ -21,6 +23,8 @@ 总击杀数: 총 사살수: Muertes totales: + Total de morts : + Abates totais: Kill: %1 %2 @@ -32,6 +36,8 @@ 击杀:%1 %2 사살: %1 %2 Muertes: %1 %2 + Meurtre : %1 %2 + Abate: %1 %2 Killer: %1 %2 @@ -43,6 +49,8 @@ 击杀者:%1 %2 사살자: %1 %2 Asesino: %1 %2 + Tueur : %1 %2 + Assassino: %1 %2 Vehicle: %1 @@ -54,6 +62,8 @@ 载具:%1 차량: %1 Vehículo: %1 + Véhicule : %1 + Veículo: %1 Friendly Fire diff --git a/addons/laser/XEH_postInit.sqf b/addons/laser/XEH_postInit.sqf index 364e9a682f..ec6b6aca2d 100644 --- a/addons/laser/XEH_postInit.sqf +++ b/addons/laser/XEH_postInit.sqf @@ -1,4 +1,5 @@ #include "script_component.hpp" +#include "\a3\ui_f\hpp\defineDIKCodes.inc" if (hasInterface) then { #include "initKeybinds.sqf" @@ -57,15 +58,33 @@ if (hasInterface) then { }; }] call CBA_fnc_addEventHandler; -["AllVehicles", "init", { +["Air", "init", { params ["_unit"]; if (hasPilotCamera _unit) then { + if (!alive _unit) exitWith {}; + // some helicopters just have a static downward camera for cargo loading + if ((getNumber ((configOf _unit) >> "pilotCamera" >> "controllable")) == 0) exitWith {}; + _unit setVariable [QGVAR(hasLaserSpotTracker), true]; _unit setVariable [QGVAR(laserSpotTrackerOn), false]; - private _actionOff = ["LSTOff", localize LSTRING(LSTOff), "", {[_this select 0] call FUNC(toggleLST)}, {(_this select 0) getVariable [QGVAR(laserSpotTrackerOn), false]}] call ace_interact_menu_fnc_createAction; - [_unit, 1, ["ACE_SelfActions"], _actionOff] call ace_interact_menu_fnc_addActionToObject; - private _actionOn = ["LSTOn", localize LSTRING(LSTOn), "", {[_this select 0] call FUNC(toggleLST)}, {!((_this select 0) getVariable [QGVAR(laserSpotTrackerOn), false])}] call ace_interact_menu_fnc_createAction; - [_unit, 1, ["ACE_SelfActions"], _actionOn] call ace_interact_menu_fnc_addActionToObject; + + private _condition = { + //IGNORE_PRIVATE_WARNING ["_target", "_player"]; + (_player == driver _target) + && {(_target getVariable [QGVAR(laserSpotTrackerOn), false])} + && {[_player, _target, []] call EFUNC(common,canInteractWith)} + }; + private _actionOff = ["LSTOff", localize LSTRING(LSTOff), "", {[_this select 0] call FUNC(toggleLST)}, _condition] call EFUNC(interact_menu,createAction); + [_unit, 1, ["ACE_SelfActions"], _actionOff] call EFUNC(interact_menu,addActionToObject); + + private _condition = { + //IGNORE_PRIVATE_WARNING ["_target", "_player"]; + (_player == driver _target) + && {!(_target getVariable [QGVAR(laserSpotTrackerOn), false])} + && {[_player, _target, []] call EFUNC(common,canInteractWith)} + }; + private _actionOn = ["LSTOn", localize LSTRING(LSTOn), "", {[_this select 0] call FUNC(toggleLST)}, _condition] call EFUNC(interact_menu,createAction); + [_unit, 1, ["ACE_SelfActions"], _actionOn] call EFUNC(interact_menu,addActionToObject); }; }, true, [], true] call CBA_fnc_addClassEventHandler; diff --git a/addons/laser/functions/fnc_addLaserTarget.sqf b/addons/laser/functions/fnc_addLaserTarget.sqf index 2cf99a5311..08ea6f65b0 100644 --- a/addons/laser/functions/fnc_addLaserTarget.sqf +++ b/addons/laser/functions/fnc_addLaserTarget.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Adds a vanilla laser target to the tracker PFH and globaly turns it on diff --git a/addons/laser/functions/fnc_addMapHandler.sqf b/addons/laser/functions/fnc_addMapHandler.sqf index a731ddce2f..7e10122c05 100644 --- a/addons/laser/functions/fnc_addMapHandler.sqf +++ b/addons/laser/functions/fnc_addMapHandler.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Add laser drawing to map diff --git a/addons/laser/functions/fnc_dev_drawVisibleLaserTargets.sqf b/addons/laser/functions/fnc_dev_drawVisibleLaserTargets.sqf index 1a84ee7eb9..4c57a61325 100644 --- a/addons/laser/functions/fnc_dev_drawVisibleLaserTargets.sqf +++ b/addons/laser/functions/fnc_dev_drawVisibleLaserTargets.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team @@ -18,7 +18,7 @@ // Dev Debug Function -// Displays lasers and attempts to lock on to codes 1111 and 1112 from a target vehicle's view +// Displays lasers and attempts to lock on to codes 1111 and 1688 from a target vehicle's view // On Screen Debug: // Red - Vanilla Laser Targets // Yellow - Array (vehicle pos/weapon) Laser Targets @@ -31,14 +31,14 @@ private _testSeekerPosASL = _seekerVehicle modelToWorldVisualWorld [0,0,1]; private _testSeekerDir = vectorDirVisual _seekerVehicle; { private _code = _x; - private _results = [_testSeekerPosASL, _testSeekerDir, 45, 10000, [1550,1550], _code, _seekerVehicle] call FUNC(seekerFindLaserSpot); + private _results = [_testSeekerPosASL, _testSeekerDir, 45, 10000, [ACE_DEFAULT_LASER_WAVELENGTH, ACE_DEFAULT_LASER_WAVELENGTH], _code, _seekerVehicle] call FUNC(seekerFindLaserSpot); private _resultPos = _results select 0; if (!isNil "_resultPos") then { // Draw lock results drawLine3D [ASLtoAGL _testSeekerPosASL, ASLtoAGL _resultPos, [0,0,1,1]]; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa", [0,0,1,1], (ASLtoAGL _resultPos), 1.5, 1.5, 45, format ["%1 from %2", _code, _results select 1], 0.5, 0.025, "TahomaB"]; }; -} forEach [1111, 1112]; // Scan at codes 1111 and 1112 +} forEach [ACE_DEFAULT_LASER_CODE, 1688]; // Scan at codes 1111 and 1688 // Draw all lasers diff --git a/addons/laser/functions/fnc_findLaserSource.sqf b/addons/laser/functions/fnc_findLaserSource.sqf index d7b535a5de..9e90ef8ad7 100644 --- a/addons/laser/functions/fnc_findLaserSource.sqf +++ b/addons/laser/functions/fnc_findLaserSource.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Handler function for finding position and direction of a vanilla laser. diff --git a/addons/laser/functions/fnc_handleLaserTargetCreation.sqf b/addons/laser/functions/fnc_handleLaserTargetCreation.sqf index 3a797d28c8..b8cedf22c3 100644 --- a/addons/laser/functions/fnc_handleLaserTargetCreation.sqf +++ b/addons/laser/functions/fnc_handleLaserTargetCreation.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Associates a newly created laser target to it's owner diff --git a/addons/laser/functions/fnc_keyLaserCodeChange.sqf b/addons/laser/functions/fnc_keyLaserCodeChange.sqf index ee5f49b6c3..1477fe75c1 100644 --- a/addons/laser/functions/fnc_keyLaserCodeChange.sqf +++ b/addons/laser/functions/fnc_keyLaserCodeChange.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Change the laser key code (both seeker and transmitter) @@ -50,16 +50,27 @@ if ( ) exitWith {false}; private _oldLaserCode = _currentShooter getVariable [QGVAR(code), ACE_DEFAULT_LASER_CODE]; -private _newLaserCode = _oldLaserCode; +private _newLaserCode = 0; // "Four-digit code equipment settings range from 1111 to 1788" // While there is a 0 or 9 in code, keep adding change -if (((_codeChange < 0) && {_oldLaserCode > ACE_DEFAULT_LASER_CODE}) || {(_codeChange > 0) && {_oldLaserCode < 1788}}) then { - _newLaserCode = _oldLaserCode + _codeChange; - while {(((str _newLaserCode) find "0") >= 0) || {((str _newLaserCode) find "9") >= 0}} do { - _newLaserCode = _newLaserCode + _codeChange; +_codeChange = floor((_codeChange max 0) min 2); +private _placeValue = 10 ^ _codeChange; + +private _oldDigit = (floor(_oldLaserCode / _placeValue)) % 10; +private _newDigit = _oldDigit + 1; +private _limit = 8; +if (_codeChange == 2) then {_limit = 7}; + +if (_newDigit > _limit) then {_newDigit = 1}; + +for "_i" from 0 to 3 step 1 do { + private _digit = floor(_oldLaserCode / (10 ^ _i)) mod 10; + if (_i == _codeChange) then { + _digit = _newDigit; }; + _newLaserCode = _newLaserCode + (_digit * 10 ^ _i); }; TRACE_2("",_oldLaserCode,_newLaserCode); diff --git a/addons/laser/functions/fnc_laserOff.sqf b/addons/laser/functions/fnc_laserOff.sqf index bb207f2781..98560ce30f 100644 --- a/addons/laser/functions/fnc_laserOff.sqf +++ b/addons/laser/functions/fnc_laserOff.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nou * Turn a laser designator off. diff --git a/addons/laser/functions/fnc_laserOn.sqf b/addons/laser/functions/fnc_laserOn.sqf index 4038e065ef..6e9ce7b086 100644 --- a/addons/laser/functions/fnc_laserOn.sqf +++ b/addons/laser/functions/fnc_laserOn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nou * Turn a laser designator on. @@ -7,7 +7,7 @@ * 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) + * 3: Wavelength (1550nm is typical) * 4: Laser code * 5: Beam divergence (in mils off beam center) * 6: Method Args (default: nil) diff --git a/addons/laser/functions/fnc_laserPointTrack.sqf b/addons/laser/functions/fnc_laserPointTrack.sqf index bfb0f26571..ab249f0d5e 100644 --- a/addons/laser/functions/fnc_laserPointTrack.sqf +++ b/addons/laser/functions/fnc_laserPointTrack.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LorenLuke * Toggles laser point tracking when a laser is on, for tracking coordinates. diff --git a/addons/laser/functions/fnc_laserTargetPFH.sqf b/addons/laser/functions/fnc_laserTargetPFH.sqf index c833aa5254..5c5f51931b 100644 --- a/addons/laser/functions/fnc_laserTargetPFH.sqf +++ b/addons/laser/functions/fnc_laserTargetPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Maintains the tracked lasers, deleting any laser that is turned off diff --git a/addons/laser/functions/fnc_onLaserDesignatorDraw.sqf b/addons/laser/functions/fnc_onLaserDesignatorDraw.sqf index 9c85689f4a..5dbbc5a4b5 100644 --- a/addons/laser/functions/fnc_onLaserDesignatorDraw.sqf +++ b/addons/laser/functions/fnc_onLaserDesignatorDraw.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nou * Update distance when rangefinder laser is on diff --git a/addons/laser/functions/fnc_rotateVectLine.sqf b/addons/laser/functions/fnc_rotateVectLine.sqf index 766cb5df5b..3cdf12c005 100644 --- a/addons/laser/functions/fnc_rotateVectLine.sqf +++ b/addons/laser/functions/fnc_rotateVectLine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * diff --git a/addons/laser/functions/fnc_rotateVectLineGetMap.sqf b/addons/laser/functions/fnc_rotateVectLineGetMap.sqf index f87aa21376..7a05660f16 100644 --- a/addons/laser/functions/fnc_rotateVectLineGetMap.sqf +++ b/addons/laser/functions/fnc_rotateVectLineGetMap.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * diff --git a/addons/laser/functions/fnc_seekerFindLaserSpot.sqf b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf index 4c7277a72c..9d3e2d6fa1 100644 --- a/addons/laser/functions/fnc_seekerFindLaserSpot.sqf +++ b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nou * Searches for a laser spot given a seekers params. @@ -9,7 +9,7 @@ * 1: Direction vector (will be normalized) * 2: Seeker FOV in degrees * 3: Seeker max distance in meters - * 4: Seeker wavelength sensitivity range, [1550,1550] is common eye safe + * 4: Seeker wavelength sensitivity range, [1550,1550] is common * 5: Seeker laser code. * 6: Ignore 1 (e.g. Player's vehicle) (default: objNull) * 7: Ignore 2 (e.g. Attached object) (default: objNull) @@ -19,7 +19,7 @@ * [Strongest compatible laser spot ASL pos, owner object] Nil array values if nothing found * * Example: - * [getPosASL player, [0,1,0], 90, [1500, 1500], 1111, player] call ace_laser_fnc_seekerFindLaserSpot + * [getPosASL player, [0,1,0], 90, [1550, 1550], 1111, player] call ace_laser_fnc_seekerFindLaserSpot * * Public: No */ diff --git a/addons/laser/functions/fnc_shootCone.sqf b/addons/laser/functions/fnc_shootCone.sqf index b9d64a42fa..976fb734a6 100644 --- a/addons/laser/functions/fnc_shootCone.sqf +++ b/addons/laser/functions/fnc_shootCone.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nou * Shoots multiple rays in a dispersion pattern. diff --git a/addons/laser/functions/fnc_shootRay.sqf b/addons/laser/functions/fnc_shootRay.sqf index 03c3afd69a..434560eea7 100644 --- a/addons/laser/functions/fnc_shootRay.sqf +++ b/addons/laser/functions/fnc_shootRay.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nou, PabstMirror * Shoots a ray from a source to a direction and finds first intersction and distance. diff --git a/addons/laser/functions/fnc_showVehicleHud.sqf b/addons/laser/functions/fnc_showVehicleHud.sqf index 39e0a92586..778df61a6c 100644 --- a/addons/laser/functions/fnc_showVehicleHud.sqf +++ b/addons/laser/functions/fnc_showVehicleHud.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Shows the laser hud when vehicle is equiped with the weapon. diff --git a/addons/laser/functions/fnc_toggleLST.sqf b/addons/laser/functions/fnc_toggleLST.sqf index 09b55d8c44..59969d014e 100644 --- a/addons/laser/functions/fnc_toggleLST.sqf +++ b/addons/laser/functions/fnc_toggleLST.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LorenLuke * Toggles the laser spot tracker for any enabled vehicle. diff --git a/addons/laser/functions/script_component.hpp b/addons/laser/functions/script_component.hpp deleted file mode 100644 index e092c63551..0000000000 --- a/addons/laser/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\laser\script_component.hpp" diff --git a/addons/laser/initKeybinds.sqf b/addons/laser/initKeybinds.sqf index 418b062fec..465c4a35c2 100644 --- a/addons/laser/initKeybinds.sqf +++ b/addons/laser/initKeybinds.sqf @@ -1,16 +1,23 @@ - -["ACE3 Equipment", QGVAR(LaserCodeUp), localize LSTRING(laserCodeUp), +["ACE3 Equipment", QGVAR(LaserCodeUpHundreds), localize LSTRING(laserCodeUpHundreds), { + [2] call FUNC(keyLaserCodeChange); +}, +{false}, +[DIK_Q, [false, true, true]], false, 0] call CBA_fnc_addKeybind; // (ALT+CTRL+Q) + +["ACE3 Equipment", QGVAR(LaserCodeUpTens), localize LSTRING(laserCodeUpTens), +{ + [1] call FUNC(keyLaserCodeChange); }, {false}, -[16, [false, true, true]], false, 0] call CBA_fnc_addKeybind; // (ALT+CTRL+Q) +[DIK_W, [false, true, true]], false, 0] call CBA_fnc_addKeybind; // (ALT+CTRL+W) -["ACE3 Equipment", QGVAR(LaserCodeDown), localize LSTRING(laserCodeDown), +["ACE3 Equipment", QGVAR(LaserCodeUpOnes), localize LSTRING(laserCodeUpOnes), { - [-1] call FUNC(keyLaserCodeChange); + [0] call FUNC(keyLaserCodeChange); }, {false}, -[18, [false, true, true]], false, 0] call CBA_fnc_addKeybind; // (ALT+CTRL+E) +[DIK_E, [false, true, true]], false, 0] call CBA_fnc_addKeybind; // (ALT+CTRL+E) diff --git a/addons/laser/stringtable.xml b/addons/laser/stringtable.xml index dfcc00db5f..29c0105d4b 100644 --- a/addons/laser/stringtable.xml +++ b/addons/laser/stringtable.xml @@ -51,22 +51,56 @@ 雷射碼 Lazer Kod - - Laser - Cycle Code Up - Lasercode + - Laser - Następny kod - Code laser + - Лазер - увеличить частоту - Laser - Alternar Código para Cima - Lézer - kódciklus növelése - Láser - Aumentar código - Laser - Kód + - Laser - Cambia codice + - レーザ - コードの数値を増やす - 레이저 - 코드 순환 위 - 激光—循环切换激光码 上 - 雷射 - 循環切換雷射碼 上 - Lazer - Çevrim Kodu Yukarı + + Laser - Cycle Code Up - XXX# + Lasercode +XXX# + Laser - Następny kod - XXX# + Code laser +XXX# + Лазер - увеличить частоту - XXX# + Laser - Alternar Código para Cima - XXX# + Lézer - kódciklus növelése - XXX# + Láser - Aumentar código - XXX# + Laser - Kód +XXX# + Laser - Cambia codice - XXX# + レーザ - コードの数値を増やす - XXX# + 레이저 - 코드 순환 위 - XXX# + 激光—循环切换激光码 上 - XXX# + 雷射 - 循環切換雷射碼 上 - XXX# + Lazer - Çevrim Kodu Yukarı - XXX# + + + Laser - Cycle Code Up - XX#X + Lasercode +XX#X + Laser - Następny kod - XX#X + Code laser +XX#X + Лазер - увеличить частоту - XX#X + Laser - Alternar Código para Cima - XX#X + Lézer - kódciklus növelése - XX#X + Láser - Aumentar código - 1##X + Laser - Kód +XX#X + Laser - Cambia codice - XX#X + レーザ - コードの数値を増やす - XX#X + 레이저 - 코드 순환 위 - 1##X + 激光—循环切换激光码 上 - XX#X + 雷射 - 循環切換雷射碼 上 - XX#X + Lazer - Çevrim Kodu Yukarı - XX#X + + + Laser - Cycle Code Up - X#XX + Lasercode +X#XX + Laser - Następny kod - X#XX + Code laser +X#XX + Лазер - увеличить частоту - X#XX + Laser - Alternar Código para Cima - X#XX + Lézer - kódciklus növelése - X#XX + Láser - Aumentar código - X#XX + Laser - Kód +X#XX + Laser - Cambia codice - X#XX + レーザ - コードの数値を増やす - X#XX + 레이저 - 코드 순환 위 - X#XX + 激光—循环切换激光码 上 - X#XX + 雷射 - 循環切換雷射碼 上 - X#XX + Lazer - Çevrim Kodu Yukarı - X#XX Laser - Cycle Code Down @@ -88,10 +122,20 @@ Laser Spot Tracker: On レーザースポットトラッカー: オン + Laserowe Śledzenie Punktu: Wł. + Laserziel Verfolgung: An + 레이저 스팟 추적기: 켬 + Traqueur laser : activé + Rastreador a Laser: Ligado Laser Spot Tracker: Off レーザースポットトラッカー: オフ + Laserowe Śledzenie Punktu: Wył. + Laserziel Verfolgung: Aus + 레이저 스팟 추적기: 끔 + Traqueur laser : désactivé + Rastreador a Laser: Desligado Draw Laser on Map @@ -101,6 +145,9 @@ 在地图上绘制激光 Отображать лазер на карте Dibujar láser en mapa + Laser auf Karte zeichnen + Dessiner le laser sur la carte + Desenhar Laser no Mapa Active laser designator's position will be drawn on the map @@ -110,6 +157,9 @@ 激活的激光指示器本身及其标记的点会在地图上显示 Точка, куда светит активный лазер, будет указана на карте La posición del designador láser activo será dibujada en el mapa + Die Position des aktiven Lasermarkierers wird auf der Karte eingezeichnet + Active la position du désignateur laser sur la carte. + A posição do designador laser ativo será desenhada no mapa diff --git a/addons/laserpointer/ACE_Settings.hpp b/addons/laserpointer/ACE_Settings.hpp deleted file mode 100644 index 94d6fcf40f..0000000000 --- a/addons/laserpointer/ACE_Settings.hpp +++ /dev/null @@ -1,5 +0,0 @@ -class ACE_Settings { - class GVAR(enabled) { - movedToSQF = 1; - }; -}; diff --git a/addons/laserpointer/CfgEventHandlers.hpp b/addons/laserpointer/CfgEventHandlers.hpp index f6503c2479..f72363981a 100644 --- a/addons/laserpointer/CfgEventHandlers.hpp +++ b/addons/laserpointer/CfgEventHandlers.hpp @@ -3,15 +3,8 @@ class Extended_PreStart_EventHandlers { init = QUOTE(call COMPILE_SCRIPT(XEH_preStart)); }; }; - class Extended_PreInit_EventHandlers { class ADDON { init = QUOTE(call COMPILE_SCRIPT(XEH_preInit)); }; }; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE(call COMPILE_SCRIPT(XEH_postInit)); - }; -}; diff --git a/addons/laserpointer/CfgJointRails.hpp b/addons/laserpointer/CfgJointRails.hpp index da7aee71b5..8c40d678a9 100644 --- a/addons/laserpointer/CfgJointRails.hpp +++ b/addons/laserpointer/CfgJointRails.hpp @@ -7,6 +7,15 @@ class asdg_FrontSideRail: asdg_SlotInfo { }; }; +class SlotInfo; +class PointerSlot: SlotInfo { + compatibleItems[] += { + "ACE_acc_pointer_red", + "ACE_acc_pointer_green_IR", + "ACE_acc_pointer_green" + }; +}; + class PointerSlot_Rail: PointerSlot { class compatibleItems { ACE_acc_pointer_red = 1; diff --git a/addons/laserpointer/CfgWeapons.hpp b/addons/laserpointer/CfgWeapons.hpp index e89cd244d9..2ac5f1fda6 100644 --- a/addons/laserpointer/CfgWeapons.hpp +++ b/addons/laserpointer/CfgWeapons.hpp @@ -1,9 +1,3 @@ - -class SlotInfo; -class PointerSlot: SlotInfo { - compatibleItems[] += {"ACE_acc_pointer_red","ACE_acc_pointer_green_IR","ACE_acc_pointer_green"}; -}; - class CfgWeapons { class ItemCore; class InventoryFlashLightItem_Base_F; @@ -15,69 +9,15 @@ class CfgWeapons { displayName = CSTRING(red); descriptionUse = CSTRING(useLaser); - }; - - class ACE_acc_pointer_red: ItemCore { - MRT_SwitchItemNextClass = "acc_pointer_IR"; - MRT_SwitchItemPrevClass = "acc_pointer_IR"; - MRT_switchItemHintText = CSTRING(Laser); - - ACE_laserpointer = 1; - - author = ECSTRING(common,ACETeam); - _generalMacro = "ACE_acc_pointer_red"; - scope = 1; - displayName = CSTRING(red); - descriptionUse = CSTRING(useLaser); - picture = "\A3\weapons_F\Data\UI\gear_accv_pointer_CA.paa"; - model = "\A3\weapons_f\acc\accv_pointer_F"; - descriptionShort = CSTRING(Description); - baseWeapon = "acc_pointer_IR"; class ItemInfo: InventoryFlashLightItem_Base_F { - mass = 6; - - class Pointer { - irLaserPos = "laser pos"; - irLaserEnd = "laser dir"; - irDistance = 5; - }; - - class FlashLight { - color[] = {0,0,0}; - ambient[] = {0,0,0}; - intensity = 0; - size = 0; - innerAngle = 0; - outerAngle = 0; - coneFadeCoef = 5; - position = "flash dir"; - direction = "flash"; - useFlare = 0; - flareSize = 0; - flareMaxDistance = "100.0f"; - dayLight = 0; - - class Attenuation { - start = 0; - constant = 0; - linear = 0; - quadratic = 0; - hardLimitStart = 0; - hardLimitEnd = 0; - }; - - scale[] = {0}; - }; + class Pointer; }; - - inertia = 0.1; }; class ACE_acc_pointer_green_IR: acc_pointer_IR { MRT_SwitchItemNextClass = "ACE_acc_pointer_green"; MRT_SwitchItemPrevClass = "ACE_acc_pointer_green"; - MRT_switchItemHintText = CSTRING(IRLaser); author = ECSTRING(common,ACETeam); _generalMacro = "ACE_acc_pointer_green"; @@ -86,17 +26,33 @@ class CfgWeapons { baseWeapon = "ACE_acc_pointer_green"; }; + class ACE_acc_pointer_red: acc_pointer_IR { + MRT_SwitchItemNextClass = "acc_pointer_IR"; + MRT_SwitchItemPrevClass = "acc_pointer_IR"; + MRT_switchItemHintText = CSTRING(Laser); + + author = ECSTRING(common,ACETeam); + _generalMacro = "ACE_acc_pointer_red"; + scope = 1; + descriptionShort = CSTRING(Description); + baseWeapon = "acc_pointer_IR"; + + class ItemInfo: ItemInfo { + POINTER_VISIBLE_RED; + }; + }; + class ACE_acc_pointer_green: ACE_acc_pointer_red { MRT_SwitchItemNextClass = "ACE_acc_pointer_green_IR"; MRT_SwitchItemPrevClass = "ACE_acc_pointer_green_IR"; - MRT_switchItemHintText = CSTRING(Laser); - ACE_laserpointer = 2; - - author = ECSTRING(common,ACETeam); _generalMacro = "ACE_acc_pointer_green"; scope = 2; displayName = CSTRING(green); baseWeapon = "ACE_acc_pointer_green"; + + class ItemInfo: ItemInfo { + POINTER_VISIBLE_GREEN; + }; }; }; diff --git a/addons/laserpointer/XEH_PREP.hpp b/addons/laserpointer/XEH_PREP.hpp deleted file mode 100644 index 59a28bb4cc..0000000000 --- a/addons/laserpointer/XEH_PREP.hpp +++ /dev/null @@ -1,3 +0,0 @@ -PREP(drawLaserpoint); -PREP(getNearUnits); -PREP(onDraw); diff --git a/addons/laserpointer/XEH_postInit.sqf b/addons/laserpointer/XEH_postInit.sqf deleted file mode 100644 index 3a8d611364..0000000000 --- a/addons/laserpointer/XEH_postInit.sqf +++ /dev/null @@ -1,91 +0,0 @@ -// by commy2 -#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; - -if (!hasInterface) exitWith {}; - -GVAR(nearUnits) = []; -GVAR(index) = -1; -GVAR(laserClassesCache) = [] call CBA_fnc_createNamespace; -GVAR(redLaserUnits) = []; -GVAR(greenLaserUnits) = []; - -["CBA_settingsInitialized", { - // If not enabled, dont't add draw eventhandler or PFEH (for performance) - if (!GVAR(enabled)) exitWith { - ["CBA_attachmentSwitched", { - params ["_unit", "_prevItem", "_newItem", "_currWeaponType"]; - TRACE_4("CBA_attachmentSwitched eh",_unit,_prevItem,_newItem,_currWeaponType); - if ((getNumber (configFile >> "CfgWeapons" >> _newItem >> "ACE_laserpointer")) > 0) then { - TRACE_1("removing ACE_laserpointer",getNumber (configFile >> "CfgWeapons" >> _newItem >> "ACE_laserpointer")); - [1, "prev"] call CBA_accessory_fnc_switchAttachment; - }; - }] call CBA_fnc_addEventHandler; - }; - - [{ - private _oldNearUnits = GVAR(nearUnits); - GVAR(nearUnits) = call FUNC(getNearUnits); - - // remove units that moved away - { - GVAR(redLaserUnits) deleteAt (GVAR(redLaserUnits) find _x); - GVAR(greenLaserUnits) deleteAt (GVAR(greenLaserUnits) find _x); - } forEach (_oldNearUnits - GVAR(nearUnits)); - }, 5, []] call CBA_fnc_addPerFrameHandler; - - - private _fnc_processUnit = { - params ["_unit"]; - - private _weapon = currentWeapon _unit; - if (!(_unit isFlashlightOn _weapon)) exitWith { - GVAR(redLaserUnits) deleteAt (GVAR(redLaserUnits) find _unit); - GVAR(greenLaserUnits) deleteAt (GVAR(greenLaserUnits) find _unit); - }; - - private _laser = [(_unit weaponAccessories _weapon) select 1] param [0, ""]; - if (_laser isEqualTo "") exitWith { - GVAR(redLaserUnits) deleteAt (GVAR(redLaserUnits) find _unit); - GVAR(greenLaserUnits) deleteAt (GVAR(greenLaserUnits) find _unit); - }; - - private _laserID = GVAR(laserClassesCache) getVariable _laser; - - if (isNil "_laserID") then { - _laserID = getNumber (configFile >> "CfgWeapons" >> _laser >> "ACE_laserpointer"); - GVAR(laserClassesCache) setVariable [_laser, _laserID]; - }; - TRACE_3("",_weapon,_laser,_laserID); - - if (_laserID isEqualTo 1) exitWith { - GVAR(redLaserUnits) pushBackUnique _unit; - GVAR(greenLaserUnits) deleteAt (GVAR(greenLaserUnits) find _unit); - }; - - if (_laserID isEqualTo 2) exitWith { - GVAR(greenLaserUnits) pushBackUnique _unit; - GVAR(redLaserUnits) deleteAt (GVAR(redLaserUnits) find _unit); - }; - }; - - // custom scheduler - [{ - params ["_fnc_processUnit"]; - - ACE_player call _fnc_processUnit; - - GVAR(index) = GVAR(index) + 1; - private _unit = GVAR(nearUnits) param [GVAR(index), objNull]; - - if (isNull _unit) exitWith { - GVAR(index) = -1; - }; - - _unit call _fnc_processUnit; - }, 0.1, _fnc_processUnit] call CBA_fnc_addPerFrameHandler; - - addMissionEventHandler ["Draw3D", {call FUNC(onDraw)}]; -}] call CBA_fnc_addEventHandler; diff --git a/addons/laserpointer/XEH_preInit.sqf b/addons/laserpointer/XEH_preInit.sqf index b5e9d9b58f..7ab1e00588 100644 --- a/addons/laserpointer/XEH_preInit.sqf +++ b/addons/laserpointer/XEH_preInit.sqf @@ -1,18 +1,8 @@ #include "script_component.hpp" -ADDON = false; - -PREP_RECOMPILE_START; -#include "XEH_PREP.hpp" -PREP_RECOMPILE_END; - -["visionMode", { - params ["", "_visionMode"]; - - GVAR(isIR) = _visionMode isEqualTo 1; - GVAR(isTI) = _visionMode isEqualTo 2; -}] call CBA_fnc_addPlayerEventHandler; - -#include "initSettings.sqf" +{ + TRACE_1("blocking switching to unsupported laser mode",_x); + [_x, { false }] call CBA_fnc_addAttachmentCondition; +} forEach (keys (uiNamespace getVariable QGVAR(oldLasers))); ADDON = true; diff --git a/addons/laserpointer/XEH_preStart.sqf b/addons/laserpointer/XEH_preStart.sqf index 022888575e..41fe08e7cc 100644 --- a/addons/laserpointer/XEH_preStart.sqf +++ b/addons/laserpointer/XEH_preStart.sqf @@ -1,3 +1,5 @@ #include "script_component.hpp" -#include "XEH_PREP.hpp" +private _lasers = ((toString {(getNumber (_x >> "ACE_laserpointer")) > 0}) configClasses (configFile >> "CfgWeapons")) apply {configName _x}; +if (_lasers isNotEqualTo []) then { WARNING_1("%1 attachements still using unsupported ACE_laserpointer config",count _lasers) }; +uiNamespace setVariable [QGVAR(oldLasers), compileFinal (_lasers createHashMapFromArray [])]; diff --git a/addons/laserpointer/config.cpp b/addons/laserpointer/config.cpp index 4058157660..f405d0dfa0 100644 --- a/addons/laserpointer/config.cpp +++ b/addons/laserpointer/config.cpp @@ -14,7 +14,6 @@ class CfgPatches { }; }; -#include "ACE_Settings.hpp" #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" diff --git a/addons/laserpointer/functions/fnc_drawLaserpoint.sqf b/addons/laserpointer/functions/fnc_drawLaserpoint.sqf deleted file mode 100644 index 918bcf9f02..0000000000 --- a/addons/laserpointer/functions/fnc_drawLaserpoint.sqf +++ /dev/null @@ -1,109 +0,0 @@ -#include "script_component.hpp" -/* - * Author: commy2 and esteldunedain - * Draw a Laser Point - * - * Arguments: - * 0: Target unit - * 1: Range - * 2: is Green - * 3: Brightness - * - * Return Value: - * None - * - * Example: - * [player, 10, false, 2] call ace_laserpointer_fnc_drawLaserpoint - * - * Public: No - */ - -params ["_target", "_range", "_isGreen", "_brightness"]; - -private _unit = ACE_player; - -private _p0 = _target modelToWorldVisualWorld (_target selectionPosition "righthand"); - -// Find a system of orthogonal reference vectors -// _v1 points in the direction of the weapon -// _v2 points to the right of the weapon -// _v3 points to the top side of the weapon -private _v1 = _target weaponDirection currentWeapon _target; -private _v2 = vectorNormalized (_v1 vectorCrossProduct [0,0,1]); -private _v3 = _v2 vectorCrossProduct _v1; - -// Offset over the 3 reference axis -// This offset could eventually be configured by weapon in the config -#define OFFV1 0.31 -#define OFFV2 0 -#define OFFV3 0.08 - -// Offset _p0, the start of the laser -_p0 = _p0 vectorAdd (_v1 vectorMultiply OFFV1) vectorAdd (_v3 vectorMultiply OFFV3) vectorAdd (_v2 vectorMultiply OFFV2); - -// Calculate _p1, the potential end of the laser -private _p1 = _p0 vectorAdd (_v1 vectorMultiply _range); - -private _pL = lineIntersectsSurfaces [_p0, _p1, _unit, vehicle _unit] select 0 select 0; - -// no intersection found, quit (pointed to the sky or too far) -if (isNil "_pL") exitWith {}; - -private _distance = _p0 vectorDistance _pL; - -//systemChat str _distance; -if (_distance < 0.5) exitWith {}; - -_pL = _p0 vectorAdd (_v1 vectorMultiply _distance); - -private _pL2 = _p0 vectorAdd (_v1 vectorMultiply (_distance - 0.5)); - -_pL = ASLtoAGL _pL; - -/* -drawLine3D [ - _p0, - _pL, - [[1,0,0,1], [0,1,0,1]] select _isGreen -]; -*/ - -//systemChat str [_target, "FIRE"] intersect [_camPos, _pL]; - -private _camPos = positionCameraToWorld [0,0,0.2]; - -// Check for blocking laser by player or external laser source (other player) -private _blocked = false; -if (_unit isEqualTo _target && {cameraView in ["INTERNAL","GUNNER"]}) then { - // Laser belongs to player: check VIEW LOD - // (it's less detailed & fallbacks to GEO if not present, but allows to draw laser mark behind bulletproof glass) - if (count ([_unit, "VIEW"] intersect [_camPos, _pL]) > 0) exitWith { _blocked = true; }; -} else { - // External laser: check FIRE GEO LOD (more detailed) - if (count ([_target, "FIRE"] intersect [_camPos, _pL]) > 0) exitWith { _blocked = true; }; - if (count ([_unit, "FIRE"] intersect [_camPos, _pL]) > 0) exitWith { _blocked = true; }; -}; - -// Exit due to LOS blocked by source/player -if (_blocked) exitWith {}; - -// Convert _camPos to ASL -_camPos = AGLToASL _camPos; - -// Check for blocking by terrain or object -if (terrainIntersectASL [_camPos, _pL2]) exitWith {}; -if (lineIntersects [_camPos, _pL2]) exitWith {}; - -private _size = 2 * sqrt (1 / _distance) * (call EFUNC(common,getZoom)); - -drawIcon3D [ - format ["\a3\weapons_f\acc\data\collimdot_%1_ca.paa", ["red", "green"] select _isGreen], - [[1,0.25,0.25,0.6*_brightness], [0.25,1,0.25,0.5*_brightness]] select _isGreen, - _pL, - _size, - _size, - 45, - "", - 0, - 0.05 -]; diff --git a/addons/laserpointer/functions/fnc_getNearUnits.sqf b/addons/laserpointer/functions/fnc_getNearUnits.sqf deleted file mode 100644 index 38b1a32ed9..0000000000 --- a/addons/laserpointer/functions/fnc_getNearUnits.sqf +++ /dev/null @@ -1,29 +0,0 @@ -#include "script_component.hpp" -/* - * Author: commy2 - * Reports near units. - * - * Arguments: - * None - * - * Return Value: - * Near Units - * - * Example: - * call ACE_laserpointer_fnc_getNearUnits - * - * Public: No - */ - -private _camPosAGL = positionCameraToWorld [0, 0, 0]; - -// handle RHS / bugged vehicle slots -if !((_camPosAGL select 0) isEqualType 0) exitWith { [] }; - -private _nearUnits = []; - -{ - _nearUnits append crew _x; -} forEach nearestObjects [_camPosAGL, ["AllVehicles"], MAX_LASER_RANGE]; - -_nearUnits diff --git a/addons/laserpointer/functions/fnc_onDraw.sqf b/addons/laserpointer/functions/fnc_onDraw.sqf deleted file mode 100644 index bfee8a7ea6..0000000000 --- a/addons/laserpointer/functions/fnc_onDraw.sqf +++ /dev/null @@ -1,30 +0,0 @@ -#include "script_component.hpp" -/* - * Author: commy2 - * Draw the visible laser beams of all cached units. - * - * Arguments: - * None - * - * Return Value: - * None - * - * Example: - * call ACE_laserpointer_fnc_onDraw - * - * Public: No - */ - -if (count GVAR(redLaserUnits) + count GVAR(greenLaserUnits) > 0 && {!GVAR(isTI)}) then { - private _brightness = 2 - call EFUNC(common,ambientBrightness); - - { - // red laser. draw green dot anyway in IR mode - [_x, 100, GVAR(isIR), _brightness] call FUNC(drawLaserpoint); - } count GVAR(redLaserUnits); - - { - // green laser - [_x, 100, true, _brightness] call FUNC(drawLaserpoint); - } count GVAR(greenLaserUnits); -}; diff --git a/addons/laserpointer/functions/script_component.hpp b/addons/laserpointer/functions/script_component.hpp deleted file mode 100644 index 743bd494fb..0000000000 --- a/addons/laserpointer/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\laserpointer\script_component.hpp" diff --git a/addons/laserpointer/initSettings.sqf b/addons/laserpointer/initSettings.sqf deleted file mode 100644 index 8e1d3bf425..0000000000 --- a/addons/laserpointer/initSettings.sqf +++ /dev/null @@ -1,7 +0,0 @@ -[ - QGVAR(enabled), "CHECKBOX", - LSTRING(DisplayName), - ELSTRING(common,ACEKeybindCategoryWeapons), - true, - 1 -] call CBA_fnc_addSetting; diff --git a/addons/laserpointer/script_component.hpp b/addons/laserpointer/script_component.hpp index 4b7b2e0d39..8e1d126e23 100644 --- a/addons/laserpointer/script_component.hpp +++ b/addons/laserpointer/script_component.hpp @@ -15,5 +15,4 @@ #endif #include "\z\ace\addons\main\script_macros.hpp" - -#define MAX_LASER_RANGE 50 +#include "\z\ace\addons\laserpointer\script_macros_config.hpp" diff --git a/addons/laserpointer/script_macros_config.hpp b/addons/laserpointer/script_macros_config.hpp new file mode 100644 index 0000000000..497911dc95 --- /dev/null +++ b/addons/laserpointer/script_macros_config.hpp @@ -0,0 +1,39 @@ +/* + Usage: + + #include "\z\ace\addons\laserpointer\script_macros_config.hpp" + + class CfgWeapons { + class My_AwesomePointer_base; + class My_AwesomePointer: My_AwesomePointer_base { + class ItemInfo { + POINTER_VISIBLE_GREEN; + }; + }; + }; +*/ + +#define POINTER_VISIBLE_RED \ + class Pointer { \ + irLaserPos = "laser pos"; \ + irLaserEnd = "laser dir"; \ + irDistance = 5; \ + isIR = 0; \ + irDotSize = QUOTE(0.1/4); \ + beamThickness = 0; \ + beamMaxLength = 50; \ + dotColor[] = {16384, 0, 0}; \ + beamColor[] = {0, 0, 0}; \ + } +#define POINTER_VISIBLE_GREEN \ + class Pointer { \ + irLaserPos = "laser pos"; \ + irLaserEnd = "laser dir"; \ + irDistance = 5; \ + isIR = 0; \ + irDotSize = QUOTE(0.1/4); \ + beamThickness = 0; \ + beamMaxLength = 75; \ + dotColor[] = {0, 16384, 0}; \ + beamColor[] = {0, 0, 0}; \ + } diff --git a/addons/logistics_rope/stringtable.xml b/addons/logistics_rope/stringtable.xml index ff4624d027..9fe22e02fc 100644 --- a/addons/logistics_rope/stringtable.xml +++ b/addons/logistics_rope/stringtable.xml @@ -11,6 +11,7 @@ 编织绳。通常用于索降和牵引拖曳。 꼬아진 섬유입니다. 주로 레펠이나 견인에 사용됩니다. Malla trenzada de fibras. Normalmente utilizada para descolgarse desde ella o remolcar. + Uma trança torcida de fibras. Normalmente usada para rapel ou reboque. Rope 3.2 meters diff --git a/addons/logistics_uavbattery/functions/fnc_canRefuelUAV.sqf b/addons/logistics_uavbattery/functions/fnc_canRefuelUAV.sqf index d4e62afa15..3e7ce4f15c 100644 --- a/addons/logistics_uavbattery/functions/fnc_canRefuelUAV.sqf +++ b/addons/logistics_uavbattery/functions/fnc_canRefuelUAV.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: marc_book * Tests if unit can refuel the target UAV diff --git a/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf b/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf index c29be7636a..8c73052c45 100644 --- a/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf +++ b/addons/logistics_uavbattery/functions/fnc_refuelUAV.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: marc_book * Starts refueling/recharging the 'Dartar' UAVs diff --git a/addons/logistics_uavbattery/functions/script_component.hpp b/addons/logistics_uavbattery/functions/script_component.hpp deleted file mode 100644 index fcb2e76f39..0000000000 --- a/addons/logistics_uavbattery/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\logistics_uavbattery\script_component.hpp" diff --git a/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf b/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf index 170c628d18..46e38acb90 100644 --- a/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf +++ b/addons/logistics_wirecutter/functions/fnc_cutDownFence.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: gpgpgpgp, commy2, PabstMirror, mharis001 * Starts cutting down a fence. Triggers global "ace_wireCuttingStarted" event. diff --git a/addons/logistics_wirecutter/functions/fnc_destroyFence.sqf b/addons/logistics_wirecutter/functions/fnc_destroyFence.sqf index 9098acb743..3698f4a22f 100644 --- a/addons/logistics_wirecutter/functions/fnc_destroyFence.sqf +++ b/addons/logistics_wirecutter/functions/fnc_destroyFence.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Destroys the given fence and replaces it with a destroyed fence if possible. diff --git a/addons/logistics_wirecutter/functions/fnc_interactEH.sqf b/addons/logistics_wirecutter/functions/fnc_interactEH.sqf index 640034f851..6f5b3218b0 100644 --- a/addons/logistics_wirecutter/functions/fnc_interactEH.sqf +++ b/addons/logistics_wirecutter/functions/fnc_interactEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, mharis001 * Dynamically adds "Cut Fence" actions to nearby fences when interact_menu is opened. diff --git a/addons/logistics_wirecutter/functions/fnc_isFence.sqf b/addons/logistics_wirecutter/functions/fnc_isFence.sqf index 447ae052ff..28c6a254b8 100644 --- a/addons/logistics_wirecutter/functions/fnc_isFence.sqf +++ b/addons/logistics_wirecutter/functions/fnc_isFence.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Checks if object is a fence. Should work on any fence type, even when (typeOf == ""). diff --git a/addons/logistics_wirecutter/functions/script_component.hpp b/addons/logistics_wirecutter/functions/script_component.hpp deleted file mode 100644 index 9235a6c894..0000000000 --- a/addons/logistics_wirecutter/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\logistics_wirecutter\script_component.hpp" diff --git a/addons/magazinerepack/functions/fnc_canRepackMagazine.sqf b/addons/magazinerepack/functions/fnc_canRepackMagazine.sqf index b5b159b7c2..d6d8f3b827 100644 --- a/addons/magazinerepack/functions/fnc_canRepackMagazine.sqf +++ b/addons/magazinerepack/functions/fnc_canRepackMagazine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Checks if the given unit can repack magazines of the given type. diff --git a/addons/magazinerepack/functions/fnc_getMagazineChildren.sqf b/addons/magazinerepack/functions/fnc_getMagazineChildren.sqf index 70018cd31d..b4cf8b16ef 100644 --- a/addons/magazinerepack/functions/fnc_getMagazineChildren.sqf +++ b/addons/magazinerepack/functions/fnc_getMagazineChildren.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, commy2, esteldunedain, Ruthberg * Gets magazine children for interaciton menu. diff --git a/addons/magazinerepack/functions/fnc_magazineRepackFinish.sqf b/addons/magazinerepack/functions/fnc_magazineRepackFinish.sqf index d70899ba56..9383089d28 100644 --- a/addons/magazinerepack/functions/fnc_magazineRepackFinish.sqf +++ b/addons/magazinerepack/functions/fnc_magazineRepackFinish.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror (based on repack from commy2, esteldunedain, Ruthberg) * Simulates repacking a set of magazines. diff --git a/addons/magazinerepack/functions/fnc_magazineRepackProgress.sqf b/addons/magazinerepack/functions/fnc_magazineRepackProgress.sqf index f48d0029fa..8cd5977cca 100644 --- a/addons/magazinerepack/functions/fnc_magazineRepackProgress.sqf +++ b/addons/magazinerepack/functions/fnc_magazineRepackProgress.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror (based on repack from commy2, esteldunedain, Ruthberg) * Handles each frame durring the repack progressBar. diff --git a/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf b/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf index bd7d4dae2a..4782aba840 100644 --- a/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf +++ b/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Simulates repacking a set of magazines. diff --git a/addons/magazinerepack/functions/fnc_startRepackingMagazine.sqf b/addons/magazinerepack/functions/fnc_startRepackingMagazine.sqf index dc3649b529..1b4c2d281e 100644 --- a/addons/magazinerepack/functions/fnc_startRepackingMagazine.sqf +++ b/addons/magazinerepack/functions/fnc_startRepackingMagazine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror (based on repack from commy2, esteldunedain, Ruthberg) * Starts repacking a specific magazine classname. diff --git a/addons/magazinerepack/functions/script_component.hpp b/addons/magazinerepack/functions/script_component.hpp deleted file mode 100644 index 36b5fd7190..0000000000 --- a/addons/magazinerepack/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\magazinerepack\script_component.hpp" diff --git a/addons/magazinerepack/stringtable.xml b/addons/magazinerepack/stringtable.xml index fb239ce0d7..f46fd409d0 100644 --- a/addons/magazinerepack/stringtable.xml +++ b/addons/magazinerepack/stringtable.xml @@ -72,7 +72,7 @@ Przepakuj magazynki Přepáskovat zásobníky Riempi Caricatori - Reorganizar Carregadores + Preencher Carregadores Újratárazás Перепаковать магазины 弾倉を詰め替え @@ -89,7 +89,7 @@ Przepakowywanie magazynków... Přepáskovávám zásobník... Riempendo i caricatori... - Reorganizando Carregadores... + Preenchendo Carregadores... Újratárazás... Перепаковка магазинов... 弾倉を詰め替えしています・・・ @@ -125,7 +125,7 @@ Przepakowywanie zakończone Újratárazás befejezve Caricatori Riempiti - Reorganização Terminada + Preenchimento Completo 詰め替えが完了しました 탄창 채우기 끝남 整理完成 @@ -142,7 +142,7 @@ Przepakowywanie przerwane Újratárazás megszakítva Riempimento Interrotto - Reorganização Interrompida + Preenchimento Interrompido 詰め替えを中断しました 탄창을 채우는 중 방해받음 弹匣整理被打断 @@ -176,6 +176,7 @@ 重新整理已上膛的弹匣 장전된 탄창에 총알 채우는 중 Reorganizar cargadores llenos + Preencher Carregadores Engajados Repacking magazines, weapon unloaded @@ -187,6 +188,7 @@ 重新整理弹匣,武器未上膛 탄창 다시 채우는 중, 무기에서 탄창 뺌 Reorganizando cargadores, arma descargada + Preenchendo carregadores, arma descarregada Repack Animation @@ -197,6 +199,8 @@ 整理动画 Анимация перепаковки Animación de reorganizar + Animation de remplissage des chargeurs + Animação de Preenchimento diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index 96d96f5dd5..ed3a826678 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -138,13 +138,20 @@ #define SD_TO_MIN_MAX(d) ((d) * 3.371) // Standard deviation -> min / max of random [min, mid, max] // Angular unit conversion -#define MRAD_TO_MOA(d) ((d) * 3.43774677) // Conversion factor: 54 / (5 * PI) -#define MOA_TO_MRAD(d) ((d) * 0.29088821) // Conversion factor: (5 * PI) / 54 -#define DEG_TO_MOA(d) ((d) * 60) // Conversion factor: 60 -#define MOA_TO_DEG(d) ((d) / 60) // Conversion factor: 1 / 60 -#define DEG_TO_MRAD(d) ((d) * 17.45329252) // Conversion factor: (50 * PI) / 9 -#define MRAD_TO_DEG(d) ((d) / 17.45329252) // Conversion factor: 9 / (50 * PI) -#define MOA_TO_RAD(d) ((d) * 0.00029088) // Conversion factor: PI / 10800 +// Conversion factor: 54 / (5 * PI) +#define MRAD_TO_MOA(d) ((d) * 3.43774677) +// Conversion factor: (5 * PI) / 54 +#define MOA_TO_MRAD(d) ((d) * 0.29088821) +// Conversion factor: 60 +#define DEG_TO_MOA(d) ((d) * 60) +// Conversion factor: 1 / 60 +#define MOA_TO_DEG(d) ((d) / 60) +// Conversion factor: (50 * PI) / 9 +#define DEG_TO_MRAD(d) ((d) * 17.45329252) +// Conversion factor: 9 / (50 * PI) +#define MRAD_TO_DEG(d) ((d) / 17.45329252) +// Conversion factor: PI / 10800 +#define MOA_TO_RAD(d) ((d) * 0.00029088) #define ZEUS_ACTION_CONDITION ([_target, {QUOTE(QUOTE(ADDON)) in curatorAddons _this}, missionNamespace, QUOTE(QGVAR(zeusCheck)), 1E11, 'ace_interactMenuClosed'] call EFUNC(common,cachedCall)) diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 5379ca4a50..12faeb07c0 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -11,10 +11,13 @@ // MINIMAL required version for the Mod. Components can specify others.. #define REQUIRED_VERSION 2.14 -#define REQUIRED_CBA_VERSION {3,15,7} +#define REQUIRED_CBA_VERSION {3,16,0} -#ifdef COMPONENT_BEAUTIFIED - #define COMPONENT_NAME QUOTE(ACE3 - COMPONENT_BEAUTIFIED) -#else - #define COMPONENT_NAME QUOTE(ACE3 - COMPONENT) +#ifndef COMPONENT_BEAUTIFIED + #define COMPONENT_BEAUTIFIED COMPONENT +#endif +#ifdef SUBCOMPONENT_BEAUTIFIED + #define COMPONENT_NAME QUOTE(ACE3 - COMPONENT_BEAUTIFIED - SUBCOMPONENT_BEAUTIFIED) +#else + #define COMPONENT_NAME QUOTE(ACE3 - COMPONENT_BEAUTIFIED) #endif diff --git a/addons/main/script_version.hpp b/addons/main/script_version.hpp index 098eec73cb..e233476016 100644 --- a/addons/main/script_version.hpp +++ b/addons/main/script_version.hpp @@ -1,4 +1,4 @@ #define MAJOR 3 -#define MINOR 15 -#define PATCHLVL 2 -#define BUILD 69 +#define MINOR 16 +#define PATCHLVL 1 +#define BUILD 74 diff --git a/addons/map/CfgWeapons.hpp b/addons/map/CfgWeapons.hpp index a9188159a3..4d44881ae8 100644 --- a/addons/map/CfgWeapons.hpp +++ b/addons/map/CfgWeapons.hpp @@ -1,10 +1,10 @@ class CfgWeapons { class ItemCore; - class InventoryFlashlightItem_Base_F; + class InventoryFlashLightItem_Base_F; class acc_flashlight: ItemCore { - class ItemInfo: InventoryFlashlightItem_Base_F { + class ItemInfo: InventoryFlashLightItem_Base_F { class FlashLight { ACE_Flashlight_Colour = "white"; ACE_Flashlight_Beam = QPATHTOF(UI\Flashlight_beam_white_ca.paa); @@ -14,7 +14,7 @@ class CfgWeapons { }; }; class acc_flashlight_pistol: ItemCore { - class ItemInfo: InventoryFlashlightItem_Base_F { + class ItemInfo: InventoryFlashLightItem_Base_F { class FlashLight { ACE_Flashlight_Colour = "white"; ACE_Flashlight_Beam = QPATHTOF(UI\Flashlight_beam_white_ca.paa); diff --git a/addons/map/functions/fnc_blueForceTrackingModule.sqf b/addons/map/functions/fnc_blueForceTrackingModule.sqf index 6569fabc35..f7436e7bf9 100644 --- a/addons/map/functions/fnc_blueForceTrackingModule.sqf +++ b/addons/map/functions/fnc_blueForceTrackingModule.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Initializes the blue force tracking module. diff --git a/addons/map/functions/fnc_blueForceTrackingUpdate.sqf b/addons/map/functions/fnc_blueForceTrackingUpdate.sqf index 152964b8ed..54ce2ef87c 100644 --- a/addons/map/functions/fnc_blueForceTrackingUpdate.sqf +++ b/addons/map/functions/fnc_blueForceTrackingUpdate.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * Update the blue force tracking. diff --git a/addons/map/functions/fnc_compileFlashlightMenu.sqf b/addons/map/functions/fnc_compileFlashlightMenu.sqf index c6af389a0a..4dc24a23f6 100644 --- a/addons/map/functions/fnc_compileFlashlightMenu.sqf +++ b/addons/map/functions/fnc_compileFlashlightMenu.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: voiper * Compile list of flashlight classnames and add to the "Flashlight" parent menu. diff --git a/addons/map/functions/fnc_determineMapLight.sqf b/addons/map/functions/fnc_determineMapLight.sqf index 732cb394cf..e747d9b400 100644 --- a/addons/map/functions/fnc_determineMapLight.sqf +++ b/addons/map/functions/fnc_determineMapLight.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko and esteldunedain * Calculates the current map illumination for a given unit diff --git a/addons/map/functions/fnc_determineZoom.sqf b/addons/map/functions/fnc_determineZoom.sqf index 45a6faeaf2..e8135cc4cf 100644 --- a/addons/map/functions/fnc_determineZoom.sqf +++ b/addons/map/functions/fnc_determineZoom.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko * Calculate the maximum zoom level allowed for the current map diff --git a/addons/map/functions/fnc_flashlightGlow.sqf b/addons/map/functions/fnc_flashlightGlow.sqf index 9457865bc2..3263a4b9e8 100644 --- a/addons/map/functions/fnc_flashlightGlow.sqf +++ b/addons/map/functions/fnc_flashlightGlow.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: voiper * Add or remove global flashlight glow for when player is looking at map. diff --git a/addons/map/functions/fnc_getUnitFlashlights.sqf b/addons/map/functions/fnc_getUnitFlashlights.sqf index f1c72e74c5..cedc99cfcb 100644 --- a/addons/map/functions/fnc_getUnitFlashlights.sqf +++ b/addons/map/functions/fnc_getUnitFlashlights.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: voiper * Check a unit for any flashlights that can be used on map. diff --git a/addons/map/functions/fnc_initMainMap.sqf b/addons/map/functions/fnc_initMainMap.sqf index 2a021f7481..51cb883ba3 100644 --- a/addons/map/functions/fnc_initMainMap.sqf +++ b/addons/map/functions/fnc_initMainMap.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "\a3\ui_f\hpp\defineResincl.inc" /* * Author: commy2 diff --git a/addons/map/functions/fnc_isFlashlight.sqf b/addons/map/functions/fnc_isFlashlight.sqf index 3d75803fc3..e563d74114 100644 --- a/addons/map/functions/fnc_isFlashlight.sqf +++ b/addons/map/functions/fnc_isFlashlight.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: veteran29 * Checks if the given item is a flashlight. @@ -32,7 +32,7 @@ if (isNil "_isFlashlight") then { _weaponConfig >> "FlashLight" ] findIf { isText (_x >> "ACE_Flashlight_Colour") - || {!(getArray (_x >> "ambient") in [[], [0,0,0]])} + || {!(getArray (_x >> "ambient") in [[], [0,0,0]]) && {getNumber (_x >> "irLight") == 0}} } != -1 // return } != -1; diff --git a/addons/map/functions/fnc_moduleMap.sqf b/addons/map/functions/fnc_moduleMap.sqf index e5747d5955..fbc99d497d 100644 --- a/addons/map/functions/fnc_moduleMap.sqf +++ b/addons/map/functions/fnc_moduleMap.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Initializes the Map module. diff --git a/addons/map/functions/fnc_needPlaySound.sqf b/addons/map/functions/fnc_needPlaySound.sqf index 0c0d34f42e..6636066d09 100644 --- a/addons/map/functions/fnc_needPlaySound.sqf +++ b/addons/map/functions/fnc_needPlaySound.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Checks if sound needs to be played when flashlight is toggled. diff --git a/addons/map/functions/fnc_onDrawMap.sqf b/addons/map/functions/fnc_onDrawMap.sqf index 5ad3d42fe0..c81eb40627 100644 --- a/addons/map/functions/fnc_onDrawMap.sqf +++ b/addons/map/functions/fnc_onDrawMap.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/map/functions/fnc_simulateMapLight.sqf b/addons/map/functions/fnc_simulateMapLight.sqf index 2e80d83815..0d0bdd51e6 100644 --- a/addons/map/functions/fnc_simulateMapLight.sqf +++ b/addons/map/functions/fnc_simulateMapLight.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: voiper * Draw nearby lighting and sexy flashlight beams on main map. diff --git a/addons/map/functions/fnc_switchFlashlight.sqf b/addons/map/functions/fnc_switchFlashlight.sqf index 5d4ed9de0a..3502bbc262 100644 --- a/addons/map/functions/fnc_switchFlashlight.sqf +++ b/addons/map/functions/fnc_switchFlashlight.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: voiper * Switch flashlight on/off. diff --git a/addons/map/functions/fnc_updateMapEffects.sqf b/addons/map/functions/fnc_updateMapEffects.sqf index d93df504f6..cf6e01bf21 100644 --- a/addons/map/functions/fnc_updateMapEffects.sqf +++ b/addons/map/functions/fnc_updateMapEffects.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko and esteldunedain * On map draw, updates the effects diff --git a/addons/map/functions/script_component.hpp b/addons/map/functions/script_component.hpp deleted file mode 100644 index a9d4b1f265..0000000000 --- a/addons/map/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\map\script_component.hpp" diff --git a/addons/map_gestures/CfgEventHandlers.hpp b/addons/map_gestures/CfgEventHandlers.hpp index d24c68ad4b..053d85ed3e 100644 --- a/addons/map_gestures/CfgEventHandlers.hpp +++ b/addons/map_gestures/CfgEventHandlers.hpp @@ -26,9 +26,9 @@ class Extended_DisplayLoad_EventHandlers { class RscDiary { // for loading saves use uiNamespace because missionNamespace is not restored before map is loaded #ifdef DISABLE_COMPILE_CACHE - ADDON = QUOTE(((_this select 0) displayCtrl ID_DIARY_MAP) call (missionNamespace getVariable [ARR_2('DFUNC(initDisplayDiary)', uiNamespace getVariable 'DFUNC(initDisplayDiary)')]);); + ADDON = QUOTE(((_this select 0) displayCtrl ID_DIARY_MAP) call (missionNamespace getVariable [ARR_2('DFUNC(initDisplayDiary)',uiNamespace getVariable 'DFUNC(initDisplayDiary)')])); #else - ADDON = QUOTE(((_this select 0) displayCtrl ID_DIARY_MAP) call (uiNamespace getVariable 'DFUNC(initDisplayDiary)');); + ADDON = QUOTE(((_this select 0) displayCtrl ID_DIARY_MAP) call (uiNamespace getVariable 'DFUNC(initDisplayDiary)')); #endif }; }; diff --git a/addons/map_gestures/functions/fnc_addGroupColorMapping.sqf b/addons/map_gestures/functions/fnc_addGroupColorMapping.sqf index eaf319bc90..17a8ffbb04 100644 --- a/addons/map_gestures/functions/fnc_addGroupColorMapping.sqf +++ b/addons/map_gestures/functions/fnc_addGroupColorMapping.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, MikeMatrix, PabstMirror * Adds a group id color mapping. diff --git a/addons/map_gestures/functions/fnc_drawMapGestures.sqf b/addons/map_gestures/functions/fnc_drawMapGestures.sqf index ed1c91f16b..2f0c80de3e 100644 --- a/addons/map_gestures/functions/fnc_drawMapGestures.sqf +++ b/addons/map_gestures/functions/fnc_drawMapGestures.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, MikeMatrix * Receives and draws map gestures from nearby players. diff --git a/addons/map_gestures/functions/fnc_getProximityPlayers.sqf b/addons/map_gestures/functions/fnc_getProximityPlayers.sqf index f057c000bc..43853da494 100644 --- a/addons/map_gestures/functions/fnc_getProximityPlayers.sqf +++ b/addons/map_gestures/functions/fnc_getProximityPlayers.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, MikeMatrix * Returns all players in a given range and in the units vehicle. diff --git a/addons/map_gestures/functions/fnc_initDisplayCurator.sqf b/addons/map_gestures/functions/fnc_initDisplayCurator.sqf index 6d32273765..1337ea4220 100644 --- a/addons/map_gestures/functions/fnc_initDisplayCurator.sqf +++ b/addons/map_gestures/functions/fnc_initDisplayCurator.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: joko // Jonas * Binds Draw EventHandlers to Zeus map. diff --git a/addons/map_gestures/functions/fnc_initDisplayDiary.sqf b/addons/map_gestures/functions/fnc_initDisplayDiary.sqf index 18c65e005a..5d77b229b5 100644 --- a/addons/map_gestures/functions/fnc_initDisplayDiary.sqf +++ b/addons/map_gestures/functions/fnc_initDisplayDiary.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, MikeMatrix, joko // Jonas * Bind all required EventHandlers to Player map. diff --git a/addons/map_gestures/functions/fnc_initDisplaySpectator.sqf b/addons/map_gestures/functions/fnc_initDisplaySpectator.sqf index 20159b5e4a..dbbd31ae65 100644 --- a/addons/map_gestures/functions/fnc_initDisplaySpectator.sqf +++ b/addons/map_gestures/functions/fnc_initDisplaySpectator.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: joko // Jonas * Binds Draw EventHandlers to Spectator map. diff --git a/addons/map_gestures/functions/fnc_isValidColorArray.sqf b/addons/map_gestures/functions/fnc_isValidColorArray.sqf index 8abaf4f375..7cc9335800 100644 --- a/addons/map_gestures/functions/fnc_isValidColorArray.sqf +++ b/addons/map_gestures/functions/fnc_isValidColorArray.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: MikeMatrix * Validate if an array is in the propper color format. diff --git a/addons/map_gestures/functions/fnc_moduleGroupSettings.sqf b/addons/map_gestures/functions/fnc_moduleGroupSettings.sqf index fb87822a30..07be21fc90 100644 --- a/addons/map_gestures/functions/fnc_moduleGroupSettings.sqf +++ b/addons/map_gestures/functions/fnc_moduleGroupSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, MikeMatrix * Initializes Settings for the groups modules and transcodes settings to a useable format. diff --git a/addons/map_gestures/functions/fnc_moduleSettings.sqf b/addons/map_gestures/functions/fnc_moduleSettings.sqf index ac0bb62b36..b637997af7 100644 --- a/addons/map_gestures/functions/fnc_moduleSettings.sqf +++ b/addons/map_gestures/functions/fnc_moduleSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, MikeMatrix * Initializes Settings for the module and transcodes settings to a useable format. diff --git a/addons/map_gestures/functions/script_component.hpp b/addons/map_gestures/functions/script_component.hpp deleted file mode 100644 index 65841c15f9..0000000000 --- a/addons/map_gestures/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\map_gestures\script_component.hpp" diff --git a/addons/map_gestures/stringtable.xml b/addons/map_gestures/stringtable.xml index 64168b6b70..d0fc6dd493 100644 --- a/addons/map_gestures/stringtable.xml +++ b/addons/map_gestures/stringtable.xml @@ -275,6 +275,7 @@ Nur Gesten befreundeter Einheiten zeigen 仅显示友军指示 아군 신호만 보기 + Mostrar somente gestos aliados Shows only Gestures from Units that are from the same side or a Friendly side. @@ -286,6 +287,7 @@ Nur Gesten von Einheiten der selben oder einer verbündeten Seite zeigen. 仅显示来自同一阵营或友军的单位的指示。 같은 진영 혹은 아군 진영 인원들만 보이게 합니다. + Mostra somente gestos de unidades que são do mesmo lado ou de um lado aliado. Max range Camera @@ -297,6 +299,7 @@ Maximale Kamerareichweite 摄像机最大范围 카메라와 지도 신호의 최대 거리 + Distância máxima da câmera Max range between a Camera and players to show the map gesture indicator @@ -308,6 +311,7 @@ Maximale Reichweite, in der eine Kamera das Kartenzeichen der Spieler zeigt 摄像机和玩家之间的最大范围显示地图指示 카메라와 플레이어간 지도 신호를 볼 수 있는 최대 거리를 정합니다 + Distância máxima entre uma câmera e jogadores para mostrar o indicador de gestos no mapa Allow Spectator @@ -319,6 +323,7 @@ Erlaube Zuschauer 允许旁观者 관전자 허용 + Permitir espectador Allows Spectator to See Map Gestures @@ -330,6 +335,7 @@ Erlaube, dass Zuschauer das Kartenzeichen sehen können 允许旁观者查看地图指示 관전자가 지도 신호를 볼 수 있습니다 + Permite espectadores verem o indicador de gestos no mapa Allow Curator @@ -341,6 +347,7 @@ Erlaube Zeus 允许宙斯 큐레이터 허용 + Permitir curador Allows Curator to See Map Gestures @@ -352,6 +359,7 @@ Erlaube, dass Zeus das Kartenzeichen sehen kann 允许宙斯查看地图指示 큐레이터가 지도 신호를 볼 수 있습니다 + Permite curadores verem o indicador de gestos no mapa Briefing Mode @@ -363,6 +371,7 @@ Briefing-Modus 简报模式 브리핑 모드 + Modo de briefing What player can see what @@ -374,6 +383,7 @@ Welcher Spieler kann was sehen 什么玩家能看到什么 어떤 플레이어가 볼 수 있는지 정합니다 + O que cada jogador pode ver Disabled @@ -385,6 +395,7 @@ Deaktiviert 禁用 비활성화 + Desativado Group @@ -424,6 +435,7 @@ Tylko w pobliżu 附近 근처 + Proximidade All diff --git a/addons/maptools/CfgVehicles.hpp b/addons/maptools/CfgVehicles.hpp index aacde4cb93..8c320de321 100644 --- a/addons/maptools/CfgVehicles.hpp +++ b/addons/maptools/CfgVehicles.hpp @@ -52,7 +52,7 @@ class CfgVehicles { }; class ACE_MapToolsAlignCompass { displayName = CSTRING(MapToolsAlignCompass); - condition = QUOTE(GVAR(mapTool_Shown) != 0 && {getUnitLoadout ACE_player param [ARR_2(9, [])] param [ARR_2(3, '')] != ''}); + condition = QUOTE(GVAR(mapTool_Shown) != 0 && {getUnitLoadout ACE_player param [ARR_2(9,[])] param [ARR_2(3,'')] != ''}); statement = QUOTE(GVAR(mapTool_angle) = getDir ACE_player;); exceptions[] = {"isNotDragging", "notOnMap", "isNotInside", "isNotSitting"}; showDisabled = 1; diff --git a/addons/maptools/CfgWeapons.hpp b/addons/maptools/CfgWeapons.hpp index f8a95acc73..62d969badb 100644 --- a/addons/maptools/CfgWeapons.hpp +++ b/addons/maptools/CfgWeapons.hpp @@ -11,7 +11,7 @@ class CfgWeapons { scope = 2; ACE_isTool = 1; class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 1; + mass = 0.2; }; }; }; diff --git a/addons/maptools/functions/fnc_calculateMapScale.sqf b/addons/maptools/functions/fnc_calculateMapScale.sqf index 035946aea5..667ee5ff5d 100644 --- a/addons/maptools/functions/fnc_calculateMapScale.sqf +++ b/addons/maptools/functions/fnc_calculateMapScale.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Returns the equivalent of 100m in screen coordinates diff --git a/addons/maptools/functions/fnc_canUseMapGPS.sqf b/addons/maptools/functions/fnc_canUseMapGPS.sqf index 5de3546d9c..1d28af74f6 100644 --- a/addons/maptools/functions/fnc_canUseMapGPS.sqf +++ b/addons/maptools/functions/fnc_canUseMapGPS.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * canUseMapGPS diff --git a/addons/maptools/functions/fnc_canUseMapTools.sqf b/addons/maptools/functions/fnc_canUseMapTools.sqf index 0ae75c8c53..ef45c9a527 100644 --- a/addons/maptools/functions/fnc_canUseMapTools.sqf +++ b/addons/maptools/functions/fnc_canUseMapTools.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * canUseMapTools diff --git a/addons/maptools/functions/fnc_drawLinesOnRoamer.sqf b/addons/maptools/functions/fnc_drawLinesOnRoamer.sqf index 334ecb4d5c..722f96468e 100644 --- a/addons/maptools/functions/fnc_drawLinesOnRoamer.sqf +++ b/addons/maptools/functions/fnc_drawLinesOnRoamer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Prevents the cursor from entering the roamer when drawing lines and records the positions diff --git a/addons/maptools/functions/fnc_handleMouseButton.sqf b/addons/maptools/functions/fnc_handleMouseButton.sqf index 3d7888b003..beee6157eb 100644 --- a/addons/maptools/functions/fnc_handleMouseButton.sqf +++ b/addons/maptools/functions/fnc_handleMouseButton.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Handle mouse buttons. diff --git a/addons/maptools/functions/fnc_handleMouseMove.sqf b/addons/maptools/functions/fnc_handleMouseMove.sqf index 6ba8e1938c..5af4f02e30 100644 --- a/addons/maptools/functions/fnc_handleMouseMove.sqf +++ b/addons/maptools/functions/fnc_handleMouseMove.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Handle mouse movement over the map tool. diff --git a/addons/maptools/functions/fnc_isInsideMapTool.sqf b/addons/maptools/functions/fnc_isInsideMapTool.sqf index 97eedf85f3..f6c633d885 100644 --- a/addons/maptools/functions/fnc_isInsideMapTool.sqf +++ b/addons/maptools/functions/fnc_isInsideMapTool.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Return true if the position is inside the map marker (to allow dragging). diff --git a/addons/maptools/functions/fnc_openMapGpsUpdate.sqf b/addons/maptools/functions/fnc_openMapGpsUpdate.sqf index 646b5df2e0..4cfd9be238 100644 --- a/addons/maptools/functions/fnc_openMapGpsUpdate.sqf +++ b/addons/maptools/functions/fnc_openMapGpsUpdate.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain, PabstMirror * update gps display, called from main map's draw diff --git a/addons/maptools/functions/fnc_updateMapToolMarkers.sqf b/addons/maptools/functions/fnc_updateMapToolMarkers.sqf index 480372bac9..34642c5c68 100644 --- a/addons/maptools/functions/fnc_updateMapToolMarkers.sqf +++ b/addons/maptools/functions/fnc_updateMapToolMarkers.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Update the map tool markers, position, size, rotation and visibility. diff --git a/addons/maptools/functions/script_component.hpp b/addons/maptools/functions/script_component.hpp deleted file mode 100644 index adeb2788b5..0000000000 --- a/addons/maptools/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\maptools\script_component.hpp" diff --git a/addons/marker_flags/functions/fnc_addActions.sqf b/addons/marker_flags/functions/fnc_addActions.sqf index 346cdbe7f8..98e62633db 100644 --- a/addons/marker_flags/functions/fnc_addActions.sqf +++ b/addons/marker_flags/functions/fnc_addActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brett Mayson, Timi007 * Adds the child actions for placing flags. diff --git a/addons/marker_flags/functions/fnc_canPlace.sqf b/addons/marker_flags/functions/fnc_canPlace.sqf index fbaefe6e89..0ddeff533e 100644 --- a/addons/marker_flags/functions/fnc_canPlace.sqf +++ b/addons/marker_flags/functions/fnc_canPlace.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Authors: Brett Mayson * Checks if a flag can be placed by a unit. diff --git a/addons/marker_flags/functions/fnc_getFlags.sqf b/addons/marker_flags/functions/fnc_getFlags.sqf index fc8e3a8893..579a63229d 100644 --- a/addons/marker_flags/functions/fnc_getFlags.sqf +++ b/addons/marker_flags/functions/fnc_getFlags.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Authors: Brett Mayson * Get the placeable flags in the unit's inventory. diff --git a/addons/marker_flags/functions/fnc_handleScrollWheel.sqf b/addons/marker_flags/functions/fnc_handleScrollWheel.sqf index c6430be650..e9dc7b7424 100644 --- a/addons/marker_flags/functions/fnc_handleScrollWheel.sqf +++ b/addons/marker_flags/functions/fnc_handleScrollWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Timi007 * Handles the marker flag object height. diff --git a/addons/marker_flags/functions/fnc_pickUpFlag.sqf b/addons/marker_flags/functions/fnc_pickUpFlag.sqf index f3ef5e118a..661f476fb6 100644 --- a/addons/marker_flags/functions/fnc_pickUpFlag.sqf +++ b/addons/marker_flags/functions/fnc_pickUpFlag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brett Mayson, Timi007 * Places a flag in front of the unit. diff --git a/addons/marker_flags/functions/fnc_placeFlag.sqf b/addons/marker_flags/functions/fnc_placeFlag.sqf index d5c4bdcb13..74dc615588 100644 --- a/addons/marker_flags/functions/fnc_placeFlag.sqf +++ b/addons/marker_flags/functions/fnc_placeFlag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Timi007 * Starts the placing process of the marker flag for the player. diff --git a/addons/marker_flags/functions/script_component.hpp b/addons/marker_flags/functions/script_component.hpp deleted file mode 100644 index f70552083f..0000000000 --- a/addons/marker_flags/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\marker_flags\script_component.hpp" diff --git a/addons/marker_flags/stringtable.xml b/addons/marker_flags/stringtable.xml index 05c3d07479..419cf73f8c 100644 --- a/addons/marker_flags/stringtable.xml +++ b/addons/marker_flags/stringtable.xml @@ -10,6 +10,8 @@ 标记旗 Флажки Banderas de señalizado + Drapeaux de marquage + Bandeiras de marcação Place Anywhere @@ -20,6 +22,8 @@ 随意放置 Размещать где угодно Colocar en cualquier lugar + Placer partout + Colocar em qualquer lugar Place marker flag anywhere regardless of surface. @@ -29,6 +33,9 @@ 不管地形表面是什么都可以放标记旗 Размещать флажки где угодно вне зависимости от поверхности. Permitir colocar las banderas de señalizado en cualquier lugar, al margen del tipo de superficie. + Platzieren Sie die Markierungsfahne überall, unabhängig von der Oberfläche. + Place un drapeau de marquage n'importe où, quelle que soit la surface. + Permite colocar as bandeiras de marcação em qualquer lugar, independente do tipo de superfice Place Marker Flag @@ -38,6 +45,8 @@ Поставить флажок Colocar Bandera de señalizado マーカーフラッグを置く + Placer le drapeau de marquage + Colocar Bandeira de Marcação Adjust height @@ -47,6 +56,8 @@ Регулировать высоту Ajustar altura 高さを調整する + Ajuster la hauteur + Ajustar altura Cancel @@ -90,6 +101,8 @@ 标记旗(白) Флажок (белый) Bandera de señalizado (Blanca) + Drapeau de marquage (Blanc) + Bandeira de Marcação (Branca) Marker Flag (Black) @@ -100,6 +113,8 @@ 标记旗(黑) Флажок (чёрный) Bandera de señalizado (Negra) + Drapeau de marquage (Noir) + Bandeira de Marcação (Preta) Marker Flag (Red) @@ -110,6 +125,8 @@ 标记旗(红) Флажок (красный) Bandera de señalizado (Roja) + Drapeau de marquage (Rouge) + Bandeira de Marcação (Vermelha) Marker Flag (Green) @@ -120,6 +137,8 @@ 标记旗(绿) Флажок (зелёный) Bandera de señalizado (Verde) + Drapeau de marquage (Vert) + Bandeira de Marcação (Verde) Marker Flag (Blue) @@ -130,6 +149,8 @@ 标记旗(蓝) Флажок (синий) Bandera de señalizado (Azul) + Drapeau de marquage (Bleu) + Bandeira de Marcação (Azul) Marker Flag (Yellow) @@ -140,6 +161,8 @@ 标记旗(黄) Флажок (жёлтый) Bandera de señalizado (Amarilla) + Drapeau de marquage (Jaune) + Bandeira de Marcação (Amarela) Marker Flag (Orange) @@ -150,6 +173,8 @@ 标记旗(橙) Флажок (оранжевый) Bandera de señalizado (Naranja) + Drapeau de marquage (Orange) + Bandeira de Marcação (Laranja) Marker Flag (Purple) @@ -160,6 +185,8 @@ 标记旗(紫) Флажок (фиолетовый) Bandera de señalizado (Púrpura) + Drapeau de marquage (Violet) + Bandeira de Marcação (Roxa) diff --git a/addons/markers/InsertMarker.hpp b/addons/markers/InsertMarker.hpp index 9dd8005ce0..e31c7bb5a7 100644 --- a/addons/markers/InsertMarker.hpp +++ b/addons/markers/InsertMarker.hpp @@ -12,8 +12,8 @@ class RscSlider; class RscXSliderH; class RscDisplayInsertMarker { - onLoad = QUOTE(_this call DFUNC(initInsertMarker);); - onUnload = QUOTE(_this call DFUNC(placeMarker);); + onLoad = QUOTE(_this call DFUNC(initInsertMarker)); + onUnload = QUOTE(_this call DFUNC(placeMarker)); movingEnable = 1; class controls { diff --git a/addons/markers/functions/fnc_canMove.sqf b/addons/markers/functions/fnc_canMove.sqf index 2b2eaf5e9f..a915905b79 100644 --- a/addons/markers/functions/fnc_canMove.sqf +++ b/addons/markers/functions/fnc_canMove.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: chris579 * Checks whether the player can move markers. @@ -17,6 +17,8 @@ params [["_marker",""]]; +if ((markerShape _marker) == "POLYLINE") exitWith { false }; + switch (GVAR(moveRestriction)) do { case MOVE_RESTRICTION_NOBODY: {false}; case MOVE_RESTRICTION_ALL: {true}; diff --git a/addons/markers/functions/fnc_canTimestamp.sqf b/addons/markers/functions/fnc_canTimestamp.sqf index 21e80c0921..5d9234f04a 100644 --- a/addons/markers/functions/fnc_canTimestamp.sqf +++ b/addons/markers/functions/fnc_canTimestamp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Freddo * Checks whether a unit is able to timestamp. diff --git a/addons/markers/functions/fnc_getEnabledChannels.sqf b/addons/markers/functions/fnc_getEnabledChannels.sqf index bc665cf69c..291544f73e 100644 --- a/addons/markers/functions/fnc_getEnabledChannels.sqf +++ b/addons/markers/functions/fnc_getEnabledChannels.sqf @@ -1,6 +1,6 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* - * Author: commy2, Timi007 + * Author: commy2, Timi007, LinkIsGrim * Return enabled channels. * * Arguments: @@ -17,33 +17,19 @@ params [["_localize", false, [false]]]; -private _currentChannel = currentChannel; private _enabledChannels = []; +private _currentChannel = currentChannel; -if (_localize) then { - if (setCurrentChannel 0) then { - _enabledChannels pushBack localize "str_channel_global"; - }; +// Micro-optimization so we don't rebuild the array and localize in each iteration +private _engineChannels = CHANNEL_NAMES; - if (setCurrentChannel 1) then { - _enabledChannels pushBack localize "str_channel_side"; - }; - - if (setCurrentChannel 2) then { - _enabledChannels pushBack localize "str_channel_command"; - }; - - if (setCurrentChannel 3) then { - _enabledChannels pushBack localize "str_channel_group"; - }; - - if (setCurrentChannel 4) then { - _enabledChannels pushBack localize "str_channel_vehicle"; - }; -} else { - for "_i" from 0 to 4 do { - if (setCurrentChannel _i) then { - _enabledChannels pushBack _i; +for "_channelId" from 0 to 15 do { + if (_channelId == 5) then {continue}; // Direct channel, ignore + if (setCurrentChannel _channelId) then { + if (_localize) then { + _enabledChannels pushBack (_engineChannels param [_channelId, (radioChannelInfo (_channelId - 5)) select 1]); // radioChannelInfo works off custom IDs only, offset engine channels + } else { + _enabledChannels pushBack _channelId; }; }; }; diff --git a/addons/markers/functions/fnc_initInsertMarker.sqf b/addons/markers/functions/fnc_initInsertMarker.sqf index 2a900f2241..a102502b24 100644 --- a/addons/markers/functions/fnc_initInsertMarker.sqf +++ b/addons/markers/functions/fnc_initInsertMarker.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BIS, commy2, Timi007 * Sets up the marker placement @@ -223,8 +223,7 @@ while {_i < lbSize _channel} do { private _channelName = _channel lbText _i; - // _enabledChannels can not include custom channels names. Therefore also check if it's a custom one. Blame BI if the unit should not access the channel. - if (_channelName in _enabledChannels || {!(_channelName in CHANNEL_NAMES)}) then { + if (_channelName in _enabledChannels) then { _i = _i + 1; } else { _channel lbDelete _i; @@ -238,13 +237,14 @@ currentChannel }; - private _currentChannelName = CHANNEL_NAMES param [_selectChannel, localize "str_channel_group"]; + // engine channels (0-4) can use names directly, custom channels need an offset for radioChannelInfo + private _selectChannelName = CHANNEL_NAMES param [_selectChannel, radioChannelInfo (_selectChannel - 5) select 1]; // select current channel in list box, must be done after lbDelete for "_j" from 0 to (lbSize _channel - 1) do { - if (_channel lbText _j == _currentChannelName) then { + if (_channel lbText _j == _selectChannelName) then { _channel lbSetCurSel _j; - setCurrentChannel (CHANNEL_NAMES find _currentChannelName); + setCurrentChannel _selectChannel; }; }; diff --git a/addons/markers/functions/fnc_mapDisplayInitEH.sqf b/addons/markers/functions/fnc_mapDisplayInitEH.sqf index 3ab874c445..e5242b9067 100644 --- a/addons/markers/functions/fnc_mapDisplayInitEH.sqf +++ b/addons/markers/functions/fnc_mapDisplayInitEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles XEH DisplayLoad for the various map displays (RscDiary) diff --git a/addons/markers/functions/fnc_mapDrawEH.sqf b/addons/markers/functions/fnc_mapDrawEH.sqf index 02540b699f..3fc04c6c8c 100644 --- a/addons/markers/functions/fnc_mapDrawEH.sqf +++ b/addons/markers/functions/fnc_mapDrawEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Draws the current temp marker. Allows rotation and scale. diff --git a/addons/markers/functions/fnc_movePFH.sqf b/addons/markers/functions/fnc_movePFH.sqf index 962f39d328..4fd1bf5b49 100644 --- a/addons/markers/functions/fnc_movePFH.sqf +++ b/addons/markers/functions/fnc_movePFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: chris579 * When the marker is being moved. diff --git a/addons/markers/functions/fnc_onButtonClickConfirm.sqf b/addons/markers/functions/fnc_onButtonClickConfirm.sqf index 12c6f37d06..2822cd69f0 100644 --- a/addons/markers/functions/fnc_onButtonClickConfirm.sqf +++ b/addons/markers/functions/fnc_onButtonClickConfirm.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Freddo * When the confirm button is pressed. diff --git a/addons/markers/functions/fnc_onCheckedChangedTimestamp.sqf b/addons/markers/functions/fnc_onCheckedChangedTimestamp.sqf index 5980e875cd..5c452b6cad 100644 --- a/addons/markers/functions/fnc_onCheckedChangedTimestamp.sqf +++ b/addons/markers/functions/fnc_onCheckedChangedTimestamp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Freddo, commy2 * When the timestamp checkbox is toggled. diff --git a/addons/markers/functions/fnc_onLBSelChangedChannel.sqf b/addons/markers/functions/fnc_onLBSelChangedChannel.sqf index 954e90470c..d8c2bc71fb 100644 --- a/addons/markers/functions/fnc_onLBSelChangedChannel.sqf +++ b/addons/markers/functions/fnc_onLBSelChangedChannel.sqf @@ -1,6 +1,6 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* - * Author: commy2 + * Author: commy2, LinkIsGrim * When the channel list box is changed. * * Arguments: @@ -19,6 +19,6 @@ params ["_ctrl", "_index"]; TRACE_2("params",_ctrl,_index); -private _channelName = _ctrl lbText _index; +private _enabledChannels = false call FUNC(getEnabledChannels); -setCurrentChannel (CHANNEL_NAMES find _channelName); +setCurrentChannel (_enabledChannels select _index); diff --git a/addons/markers/functions/fnc_onLBSelChangedColor.sqf b/addons/markers/functions/fnc_onLBSelChangedColor.sqf index ceb3cfe0b5..20bae84915 100644 --- a/addons/markers/functions/fnc_onLBSelChangedColor.sqf +++ b/addons/markers/functions/fnc_onLBSelChangedColor.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * When the color list box is changed. diff --git a/addons/markers/functions/fnc_onLBSelChangedShape.sqf b/addons/markers/functions/fnc_onLBSelChangedShape.sqf index 5dfbbabd01..62e9ca6e52 100644 --- a/addons/markers/functions/fnc_onLBSelChangedShape.sqf +++ b/addons/markers/functions/fnc_onLBSelChangedShape.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * When the shape list box is changed. diff --git a/addons/markers/functions/fnc_onMouseButtonDown.sqf b/addons/markers/functions/fnc_onMouseButtonDown.sqf index df56154ad6..ce4d637400 100644 --- a/addons/markers/functions/fnc_onMouseButtonDown.sqf +++ b/addons/markers/functions/fnc_onMouseButtonDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: chris579 * Triggered when a mouse button is pressed on the map. diff --git a/addons/markers/functions/fnc_onMouseButtonUp.sqf b/addons/markers/functions/fnc_onMouseButtonUp.sqf index ffe0ed000f..8c1c1ff7fe 100644 --- a/addons/markers/functions/fnc_onMouseButtonUp.sqf +++ b/addons/markers/functions/fnc_onMouseButtonUp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: chris579 * Triggered when a mouse button is released on the map. diff --git a/addons/markers/functions/fnc_onSliderMouseButtonUpAngle.sqf b/addons/markers/functions/fnc_onSliderMouseButtonUpAngle.sqf index b6c29cfd1a..f5b485e851 100644 --- a/addons/markers/functions/fnc_onSliderMouseButtonUpAngle.sqf +++ b/addons/markers/functions/fnc_onSliderMouseButtonUpAngle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 10Dozen * Angle slider clicked handler. Resets slider pos to 0 on RMB button up. diff --git a/addons/markers/functions/fnc_onSliderMouseButtonUpScale.sqf b/addons/markers/functions/fnc_onSliderMouseButtonUpScale.sqf index 144f1c4909..e8f1cec429 100644 --- a/addons/markers/functions/fnc_onSliderMouseButtonUpScale.sqf +++ b/addons/markers/functions/fnc_onSliderMouseButtonUpScale.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 10Dozen * Scale slider clicked handler. Resets slider pos to 1 on RMB button up. diff --git a/addons/markers/functions/fnc_onSliderPosChangedAngle.sqf b/addons/markers/functions/fnc_onSliderPosChangedAngle.sqf index 20f63e7115..76257b5572 100644 --- a/addons/markers/functions/fnc_onSliderPosChangedAngle.sqf +++ b/addons/markers/functions/fnc_onSliderPosChangedAngle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Angle Slider Pos changed diff --git a/addons/markers/functions/fnc_onSliderPosChangedScale.sqf b/addons/markers/functions/fnc_onSliderPosChangedScale.sqf index 8f386729d0..607bbb41cc 100755 --- a/addons/markers/functions/fnc_onSliderPosChangedScale.sqf +++ b/addons/markers/functions/fnc_onSliderPosChangedScale.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: frankplow * Applies scale from on slider position change. diff --git a/addons/markers/functions/fnc_placeMarker.sqf b/addons/markers/functions/fnc_placeMarker.sqf index 8db947d0b8..fdd758be5e 100644 --- a/addons/markers/functions/fnc_placeMarker.sqf +++ b/addons/markers/functions/fnc_placeMarker.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Timi007 * MarkerPlacement closed diff --git a/addons/markers/functions/fnc_removeTimestamp.sqf b/addons/markers/functions/fnc_removeTimestamp.sqf index 2d0f3d86c7..073d9ce613 100644 --- a/addons/markers/functions/fnc_removeTimestamp.sqf +++ b/addons/markers/functions/fnc_removeTimestamp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Removes timestamp from end of a string. diff --git a/addons/markers/functions/fnc_sendMarkersJIP.sqf b/addons/markers/functions/fnc_sendMarkersJIP.sqf index 2d6a3c912a..99ddb4b3c4 100644 --- a/addons/markers/functions/fnc_sendMarkersJIP.sqf +++ b/addons/markers/functions/fnc_sendMarkersJIP.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Server: Recives a dummy logic, sends marker data back to the owner. diff --git a/addons/markers/functions/fnc_setMarkerJIP.sqf b/addons/markers/functions/fnc_setMarkerJIP.sqf index a4c2e9631e..8536b90a90 100644 --- a/addons/markers/functions/fnc_setMarkerJIP.sqf +++ b/addons/markers/functions/fnc_setMarkerJIP.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Client: Recives a marker data from server. diff --git a/addons/markers/functions/fnc_setMarkerNetwork.sqf b/addons/markers/functions/fnc_setMarkerNetwork.sqf index a8e8453525..7d0cc0e827 100644 --- a/addons/markers/functions/fnc_setMarkerNetwork.sqf +++ b/addons/markers/functions/fnc_setMarkerNetwork.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Sets newly placed marker diff --git a/addons/markers/functions/script_component.hpp b/addons/markers/functions/script_component.hpp deleted file mode 100644 index 26adba2431..0000000000 --- a/addons/markers/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\markers\script_component.hpp" diff --git a/addons/markers/stringtable.xml b/addons/markers/stringtable.xml index b364c3f50d..7913f544ae 100644 --- a/addons/markers/stringtable.xml +++ b/addons/markers/stringtable.xml @@ -11,6 +11,7 @@ Skalierung: %1 规模:%1° 크기: %1 + Escala: %1 Direction: %1° @@ -39,6 +40,7 @@ 点击鼠标右键重置 오른쪽 클릭으로 재설정 Click botón derecho para restaurar + Clique com o botão direito para redefinir Markers @@ -129,7 +131,7 @@ 관리자 Administratorzy Админов - Admins + Administradores Admins Administrátoři Adminler @@ -161,7 +163,7 @@ 분대장과 관리자 Przywódcy grup i Administratorzy Лидеров групп и Админов - Líderes de grupo e Admins + Líderes de grupo e Administradores Chefs de groupe et Admins Velitelé jednotek a Administrátoři Grup Liderleri Ve Adminler @@ -193,6 +195,7 @@ Erlaube Zeitstempel 允许时间戳 시간 표기 허용 + Permitir Marcação de Tempo Whether to allow timestamps to be automatically applied to markers @@ -204,6 +207,7 @@ Ob Zeitstempel automatisch auf Maker angewendet werden sollen. 是否允许时间戳自动应用于标记 허용 시 마커를 내려놓음과 동시에 시간이 표기됩니다 + Permite que marcações de tempo sejam automaticamente aplicadas aos marcadores Timestamp @@ -215,6 +219,7 @@ Zeitstempel 时间戳 시간 표기 + Marcação de Tempo Watch Required @@ -226,6 +231,7 @@ Uhr benötigt 需要手表 시계 필요함 + Relógio necessário Timestamp Format @@ -237,6 +243,7 @@ Format des Zeitstempels 时间戳格式 시간 표기 포맷 + Formato da Marcação de Tempo Changes the timestamp format @@ -248,6 +255,7 @@ Zeitstempel-Format anpassen 更改时间戳格式 시간 표기 포맷을 바꿉니다 + Altera a formatação da marcação de tempo "HH" - Hour @@ -259,6 +267,7 @@ "HH" - Stunden "HH"—时 "HH" - 시 + HH - Horas "MM" - Minute @@ -270,6 +279,7 @@ "MM" - Minuten "MM"—分 "MM" - 분 + MM - Minutos "SS" - Seconds @@ -281,6 +291,7 @@ "SS" - Sekunden "SS"—秒 "SS" - 초 + SS - Segundos "MM" - Milliseconds @@ -292,6 +303,7 @@ "MS" - Milisekunden "MS"—毫秒 "MS" - 밀리초 + MM - Milisegundos Timestamp Hour Format @@ -303,6 +315,7 @@ Zeitstempel-Stundenformat 时间戳小时格式 시간 표기 시간 포맷 + Sistema Horário das Marcações de Tempo 24-Hour Clock @@ -314,6 +327,7 @@ 24-Stunden 24小时制 24시간제 + 24 Horas 12-Hour Clock @@ -325,6 +339,7 @@ 12-Stunden 12小时制 12시간제 + 12 Horas Changes timestamp to use either 24-hour or 12-hour clock format @@ -336,6 +351,7 @@ Ändert den Zeitstempel, um entweder das 24-Stunden- oder das 12-Stunden-Format zu verwenden 改变时间戳以使用24小时或12小时的时钟格式 시간 표기를 24시간제 혹은 12시간제 에서 골라 표기합니다 + Altera a marcação de tempo para usar o formato de relógio 24-horas ou 12-horas diff --git a/addons/maverick/stringtable.xml b/addons/maverick/stringtable.xml index e50668ed7b..5a103985e8 100644 --- a/addons/maverick/stringtable.xml +++ b/addons/maverick/stringtable.xml @@ -76,6 +76,7 @@ MAVL MAVL MAVL + MAVL Kh-25ML, Laser Guided Air-to-Ground-Missile diff --git a/addons/medical/addon.toml b/addons/medical/addon.toml index 7cfef775ee..bf39213892 100644 --- a/addons/medical/addon.toml +++ b/addons/medical/addon.toml @@ -1,2 +1,3 @@ -[preprocess] -enabled = false +[tools] +pboProject_noBinConfig = true +sqfvm_skipConfigChecks = true diff --git a/addons/medical/config.cpp b/addons/medical/config.cpp index 76e9818124..2f1dfbc0ad 100644 --- a/addons/medical/config.cpp +++ b/addons/medical/config.cpp @@ -1,5 +1,6 @@ #include "script_component.hpp" +#pragma hemtt flag pe23_ignore_has_include #if __has_include("\z\ace\addons\nomedical\script_component.hpp") #define PATCH_SKIP "No Medical" #endif diff --git a/addons/medical/dev/debugDisplay.sqf b/addons/medical/dev/debugDisplay.sqf index 541aaaccba..015a71be14 100644 --- a/addons/medical/dev/debugDisplay.sqf +++ b/addons/medical/dev/debugDisplay.sqf @@ -1,4 +1,4 @@ -#include "\z\ace\addons\medical\script_component.hpp" +#include "..\script_component.hpp" [{!isNull findDisplay 46}, { INFO("Creating Debug Display"); diff --git a/addons/medical/dev/reportSettings.sqf b/addons/medical/dev/reportSettings.sqf index eb489fab6a..b06c3a33ee 100644 --- a/addons/medical/dev/reportSettings.sqf +++ b/addons/medical/dev/reportSettings.sqf @@ -1,4 +1,4 @@ -#include "\z\ace\addons\medical\script_component.hpp" +#include "..\script_component.hpp" // Dumps info on all non-default medical settings [{ diff --git a/addons/medical/dev/test_hitpointConfigs.sqf b/addons/medical/dev/test_hitpointConfigs.sqf index 2067abcd66..9de5c5e686 100644 --- a/addons/medical/dev/test_hitpointConfigs.sqf +++ b/addons/medical/dev/test_hitpointConfigs.sqf @@ -2,7 +2,7 @@ // ["medicalHitpoints"] call ace_common_fnc_runTests; // call compile preprocessFileLineNumbers "\z\ace\addons\medical\dev\test_hitpointConfigs.sqf" -#include "\z\ace\addons\medical\script_component.hpp" +#include "..\script_component.hpp" // UAV-AI should get filtered by scope check diff --git a/addons/medical/dev/watchVariable.sqf b/addons/medical/dev/watchVariable.sqf index dbda8636a0..0eb191e8dd 100644 --- a/addons/medical/dev/watchVariable.sqf +++ b/addons/medical/dev/watchVariable.sqf @@ -1,4 +1,4 @@ -#include "\z\ace\addons\medical\script_component.hpp" +#include "..\script_component.hpp" if (missionNamespace getVariable [QGVAR(dev_watchVariableRunning), false]) exitWith {}; GVAR(dev_watchVariableRunning) = true; diff --git a/addons/medical/functions/fnc_addDamageToUnit.sqf b/addons/medical/functions/fnc_addDamageToUnit.sqf index 11652777e9..23ac9f0990 100644 --- a/addons/medical/functions/fnc_addDamageToUnit.sqf +++ b/addons/medical/functions/fnc_addDamageToUnit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Manually Apply Damage to a unit (can cause lethal damage) diff --git a/addons/medical/functions/fnc_adjustPainLevel.sqf b/addons/medical/functions/fnc_adjustPainLevel.sqf index 233638180f..f5c3d9a35d 100644 --- a/addons/medical/functions/fnc_adjustPainLevel.sqf +++ b/addons/medical/functions/fnc_adjustPainLevel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Public interface to allow external modules to safely adjust pain levels. diff --git a/addons/medical/functions/fnc_deserializeState.sqf b/addons/medical/functions/fnc_deserializeState.sqf index 8f9d60b6e3..b85e0b31e2 100644 --- a/addons/medical/functions/fnc_deserializeState.sqf +++ b/addons/medical/functions/fnc_deserializeState.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Deserializes the medical state of a unit and applies it. diff --git a/addons/medical/functions/fnc_serializeState.sqf b/addons/medical/functions/fnc_serializeState.sqf index 9eb4bde5bc..67783e85d9 100644 --- a/addons/medical/functions/fnc_serializeState.sqf +++ b/addons/medical/functions/fnc_serializeState.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Serializes the medical state of a unit into a string. diff --git a/addons/medical/functions/fnc_setUnconscious.sqf b/addons/medical/functions/fnc_setUnconscious.sqf index f6f39b03c5..cf078ae64b 100644 --- a/addons/medical/functions/fnc_setUnconscious.sqf +++ b/addons/medical/functions/fnc_setUnconscious.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Sets a unit in the unconscious state. diff --git a/addons/medical/functions/script_component.hpp b/addons/medical/functions/script_component.hpp deleted file mode 100644 index 140463d68d..0000000000 --- a/addons/medical/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\medical\script_component.hpp" diff --git a/addons/medical/stringtable.xml b/addons/medical/stringtable.xml index 5d2b66ae6c..d6973316ef 100644 --- a/addons/medical/stringtable.xml +++ b/addons/medical/stringtable.xml @@ -18,6 +18,22 @@ ACE Medikal ACE 医療 + + ACE Medical Interface + ACE Медицина Интерфейс + ACE Opcje medyczne Interfejs + Médico ACE Interfaz + ACE-Medicsystem Interface + ACE Zdravotnické Rozhraní + ACE Interface Médica + ACE Médical Interface + ACE Medical Interfaccia + ACE 의료 인터페이스 + ACE 医疗 界面 + ACE 醫療系統 介面 + ACE Medikal Arayüz + ACE 医療 インターフェイス + Unconscious Wake Up Chance Wahrscheinlichkeit um aufzuwachen @@ -63,6 +79,7 @@ Epinefrin Uyanma Şansı Artışı Aumento de probabilidad de despertarse por epinefrina 에피네프린 사용 시 추가 회복 확률 + Aumento da Chance de Acordar com Epinefrina When an unconscious patient has Epinephrine in their system, the time between spontaneous wake up checks is divided by this value. @@ -105,7 +122,7 @@ Controlla se le ferite aperte o bendate fanno zoppicare una persona. Nastavuje zda otevřená nebo zavázaná zranění způsobují kulhání. Kontroluje, czy otwarte lub zabandażowane rany powodują utykanie jednostki. - Controla se ferimentos abertos ou enfaixados causam a pessoa a mancar + Controla se ferimentos abertos ou atados causam a pessoa a mancar. Controla si las heridas abiertas o vendadas hacen que una persona cojee. Stellt ein, ob offene oder bandagierte Wunden eine Person zum Humpeln bringen. Контролирует хромоту в случае открытых или забинтованных ран. @@ -162,14 +179,14 @@ Controls the effect of using splints to treat fractures.\nWhen disabled, injuries will not cause fractures. - 骨折の治療に添え木を使用した際の効果を設定します。\n無効にすると、骨折しません。 + 骨折の治療に副子を使用した際の効果を設定します。\n無効にすると、骨折しません。 控制是否讓固定版能夠治療骨折。\n當停用時,受傷時不會導致骨折發生。 控制是否让固定板能够治疗骨折。 \n当停用时,受伤时不会导致骨折发生。 Permet de définir le niveau d'efficacité des attelles pour le traitement des fractures.\nSi l'option est désactivée, les blessures ne causent pas de fractures. Controlla l'effetto dell'utilizzo di stecche per curare le fratture. Quando disabilitato, le lesioni non causano fratture. Nastavuje efekt dlahy při léčení zlomenin.\nPokud je tato možnost vypnuta, zranění nebudou způsobovat zlomeniny. Kontroluje efekt użycia szyn do leczenia złamań.\n Po wyłączeniu obrażenia nie powodują złamań. - Controla o efeito de uso de talas para tratar fraturas. \nQunado desabilitado, ferimentos não causam fraturas. + Controla o efeito de uso de talas para tratar fraturas.\nQuando desabilitado, ferimentos não causam fraturas. Controla el efecto del uso de férulas para tratar fracturas. \n Cuando está desactivado, las lesiones no causan fracturas. Kontrolliert den Effekt wenn Schienen verwendet werden, um Knochenbrüche zu behandeln.\nWenn diese Einstellung nicht aktiviert ist, verursachen Verletzungen keine Knochenbrüche. Управляет эффектом использования шин для лечения переломов.\nПри отключении травмы не вызывают переломов. @@ -179,9 +196,9 @@ Splints Fully Heal Fractures Шины полностью лечат перелом - 添え木で骨折完治 + 副子で骨折完治 Les attelles guérissent complètement les fractures - Tala cura fraturas completamente + Talas curam fraturas completamente 固定板完全治癒骨折 固定板完全治愈骨折 Le gessature curano al massimo le fratture @@ -195,9 +212,9 @@ Splints Heal, but Cannot Sprint Шины вылечивают, но не дают бегать - 添え木で治癒可能、走れないように + 副子で治癒可能、走れないように Les attelles guérissent les fractures, mais empêchent de sprinter - Talas curam (mas não consegue correr) + Talas curam, mas não permitem correr 固定版能治癒骨折,但無法奔跑 固定板能治愈骨折,但无法奔跑 Le gessature curano, ma non puoi correre @@ -211,7 +228,7 @@ Splints Heal, but Cannot Jog Les attelles guérissent les fractures, mais empêchent de courir - 添え木で治癒可能、駆け足できないように + 副子で治癒可能、駆け足できないように Ateller İyileştirir, Ama Koşu Yapamaz Las férulas sanan, pero no pueden trotar Шины вылечивают, но не дают бежать трусцой @@ -219,6 +236,7 @@ Schiene heilt, aber verhindert Sprinten 부목이 치료는 하지만 빨리 걷지 못함 固定板能治愈骨折,但无法慢跑 + Talas curam, mas não permitem trotar Fracture Chance @@ -232,6 +250,7 @@ Probabilidad de fractura Wahrscheinlichkeit einer Fraktur 골절 확률 + Chance de Fratura The probability of a fracture causing wound resulting in a fracture. @@ -245,6 +264,7 @@ La probabilidad de que una herida que pueda provocar una fractura, provoque una fractura. Die Wahrscheinlichkeit, dass eine Wunde, die eine Fraktur verursachen würde, tatsächlich zu einer Fraktur führt. 상처를 입을 때 골절에 얼마나 관여할지를 결정합니다. + A probabilidade de uma ferida passível de fratura causar uma fratura. Enabled for @@ -376,7 +396,7 @@ Estável После стабилизации Stabile - 安静下 + 安定下 안정된 稳定状态下 穩定狀態下 diff --git a/addons/medical_ai/addon.toml b/addons/medical_ai/addon.toml index 7cfef775ee..bf39213892 100644 --- a/addons/medical_ai/addon.toml +++ b/addons/medical_ai/addon.toml @@ -1,2 +1,3 @@ -[preprocess] -enabled = false +[tools] +pboProject_noBinConfig = true +sqfvm_skipConfigChecks = true diff --git a/addons/medical_ai/config.cpp b/addons/medical_ai/config.cpp index b9fb4386ad..62a387cc05 100644 --- a/addons/medical_ai/config.cpp +++ b/addons/medical_ai/config.cpp @@ -1,5 +1,6 @@ #include "script_component.hpp" +#pragma hemtt flag pe23_ignore_has_include #if __has_include("\z\ace\addons\nomedical\script_component.hpp") #define PATCH_SKIP "No Medical" #endif diff --git a/addons/medical_ai/functions/fnc_canRequestMedic.sqf b/addons/medical_ai/functions/fnc_canRequestMedic.sqf index 135c345750..685bd57f54 100644 --- a/addons/medical_ai/functions/fnc_canRequestMedic.sqf +++ b/addons/medical_ai/functions/fnc_canRequestMedic.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if there is a medic available in the unit's group. diff --git a/addons/medical_ai/functions/fnc_healSelf.sqf b/addons/medical_ai/functions/fnc_healSelf.sqf index 524625f3c3..5747637995 100644 --- a/addons/medical_ai/functions/fnc_healSelf.sqf +++ b/addons/medical_ai/functions/fnc_healSelf.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Makes the unit heal itself. diff --git a/addons/medical_ai/functions/fnc_healUnit.sqf b/addons/medical_ai/functions/fnc_healUnit.sqf index 158de90f36..ad867d2570 100644 --- a/addons/medical_ai/functions/fnc_healUnit.sqf +++ b/addons/medical_ai/functions/fnc_healUnit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Makes a medic heal the next unit that needs treatment. diff --git a/addons/medical_ai/functions/fnc_healingLogic.sqf b/addons/medical_ai/functions/fnc_healingLogic.sqf index f3942ef632..fa35b49284 100644 --- a/addons/medical_ai/functions/fnc_healingLogic.sqf +++ b/addons/medical_ai/functions/fnc_healingLogic.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut, PabstMirror * Applies healing to target @@ -24,7 +24,7 @@ if (_finishTime > 0) exitWith { if (CBA_missionTime >= _finishTime) then { TRACE_5("treatment finished",_finishTime,_treatmentTarget,_treatmentEvent,_treatmentArgs,_treatmentItem); _healer setVariable [QGVAR(currentTreatment), nil]; - if ((GVAR(requireItems)) && {_treatmentItem != ""}) then { + if ((GVAR(requireItems) > 0) && {_treatmentItem != ""}) then { ([_healer, _treatmentItem] call FUNC(itemCheck)) params ["_itemOk", "_itemClassname", "_treatmentClass"]; if (!_itemOk) exitWith { _treatmentEvent = "#fail"; }; // no item after delay _healer removeItem _itemClassname; @@ -70,7 +70,7 @@ switch (true) do { _treatmentArgs = [_healer, _target]; _treatmentTime = 15; }; - case (_isMedic && {GET_BLOOD_VOLUME(_target) < BLOOD_VOLUME_CLASS_2_HEMORRHAGE} + case (_isMedic && {GET_BLOOD_VOLUME(_target) < MINIMUM_BLOOD_FOR_STABLE_VITALS} && {([_healer, "@iv"] call FUNC(itemCheck)) # 0}): { // Check if patient's blood volume + remaining IV volume is enough to allow the patient to wake up private _totalIvVolume = 0; //in ml @@ -79,7 +79,7 @@ switch (true) do { _totalIvVolume = _totalIvVolume + _volumeRemaining; } forEach (_target getVariable [QEGVAR(medical,ivBags), []]); - if (GET_BLOOD_VOLUME(_target) + (_totalIvVolume / 1000) > BLOOD_VOLUME_CLASS_2_HEMORRHAGE) exitWith { + if (GET_BLOOD_VOLUME(_target) + (_totalIvVolume / 1000) > MINIMUM_BLOOD_FOR_STABLE_VITALS) exitWith { _treatmentEvent = "#waitForBlood"; }; _treatmentEvent = QEGVAR(medical_treatment,ivBagLocal); diff --git a/addons/medical_ai/functions/fnc_isInjured.sqf b/addons/medical_ai/functions/fnc_isInjured.sqf index d022770f6d..a163a4c808 100644 --- a/addons/medical_ai/functions/fnc_isInjured.sqf +++ b/addons/medical_ai/functions/fnc_isInjured.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if a unit needs treatment. diff --git a/addons/medical_ai/functions/fnc_isSafe.sqf b/addons/medical_ai/functions/fnc_isSafe.sqf index 0887d10351..04da058ce0 100644 --- a/addons/medical_ai/functions/fnc_isSafe.sqf +++ b/addons/medical_ai/functions/fnc_isSafe.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if a unit is currently considered safe enough to treat itself. diff --git a/addons/medical_ai/functions/fnc_itemCheck.sqf b/addons/medical_ai/functions/fnc_itemCheck.sqf index cf85bd64ac..6d91594ce4 100644 --- a/addons/medical_ai/functions/fnc_itemCheck.sqf +++ b/addons/medical_ai/functions/fnc_itemCheck.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Checks if AI healer has items @@ -18,7 +18,7 @@ * Public: No */ -if (!GVAR(requireItems)) exitWith { [true] }; +if (GVAR(requireItems) == 0) exitWith { [true] }; params ["_healer", "_treatementType"]; diff --git a/addons/medical_ai/functions/fnc_playTreatmentAnim.sqf b/addons/medical_ai/functions/fnc_playTreatmentAnim.sqf index 5b594edae2..f412a718d8 100644 --- a/addons/medical_ai/functions/fnc_playTreatmentAnim.sqf +++ b/addons/medical_ai/functions/fnc_playTreatmentAnim.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Plays the corresponding treatment animation. diff --git a/addons/medical_ai/functions/fnc_requestMedic.sqf b/addons/medical_ai/functions/fnc_requestMedic.sqf index 450911c801..9e59181204 100644 --- a/addons/medical_ai/functions/fnc_requestMedic.sqf +++ b/addons/medical_ai/functions/fnc_requestMedic.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Sends a request to the units assigned medic to heal it. diff --git a/addons/medical_ai/functions/fnc_wasRequested.sqf b/addons/medical_ai/functions/fnc_wasRequested.sqf index 38efdd8121..3b6c1cf059 100644 --- a/addons/medical_ai/functions/fnc_wasRequested.sqf +++ b/addons/medical_ai/functions/fnc_wasRequested.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if the unit was requested to treat another unit. diff --git a/addons/medical_ai/functions/script_component.hpp b/addons/medical_ai/functions/script_component.hpp deleted file mode 100644 index e0adc75020..0000000000 --- a/addons/medical_ai/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\medical_ai\script_component.hpp" diff --git a/addons/medical_ai/initSettings.sqf b/addons/medical_ai/initSettings.sqf index 4a5bc5d691..a2b06519a4 100644 --- a/addons/medical_ai/initSettings.sqf +++ b/addons/medical_ai/initSettings.sqf @@ -15,11 +15,25 @@ private _categoryArray = [ELSTRING(medical,Category), "STR_TEAM_SWITCH_AI"]; ] call CBA_fnc_addSetting; [ - QGVAR(requireItems), "CHECKBOX", + QGVAR(requireItems), "LIST", [LSTRING(requireItems_title), LSTRING(requireItems_desc)], _categoryArray, - false, + [ + [0, 1, 2], + [LELSTRING(Common,Disabled), LELSTRING(Common,Enabled), format ["%1 - %2", LELSTRING(Common,Enabled), LLSTRING(requireItems_autoReplaceItems)]], + 0 + ], true, // isGlobal - {}, + { + if (GVAR(requireItems) != 2) exitWith {}; + ["CAManBase", "initPost", { + [{ + params ["_unit"]; + if ((!local _unit) || {!alive _unit} || {isPlayer _unit}) exitWith {}; + TRACE_2("replacing medical items on AI",_unit,typeOf _unit); + [_unit] call EFUNC(common,replaceRegisteredItems); + }, _this] call CBA_fnc_execNextFrame; // need to delay a frame before modifying items in a backpack + }, nil, [IGNORE_BASE_UAVPILOTS], true] call CBA_fnc_addClassEventHandler; + }, true // Needs mission restart ] call CBA_fnc_addSetting; diff --git a/addons/medical_ai/stringtable.xml b/addons/medical_ai/stringtable.xml index 8a8f13704a..5ccab45b53 100644 --- a/addons/medical_ai/stringtable.xml +++ b/addons/medical_ai/stringtable.xml @@ -4,10 +4,10 @@ Medic AI Sanitäts KI - AI衛生兵 + 衛生兵AI ИИ Медик Médecine IA - IA Médico + IA Médica AI 医疗兵 AI醫療兵 Medico AI @@ -50,9 +50,30 @@ Require Items + Wymagane Przedmioty + Erfordere Gegenstände + 아이템 필요 + Items requis + Exigir Itens + アイテムを要求 - AI will only perform medical treatment if they have the necessary items in their inventory.\nRequires custom AI loadouts! + AI will only perform medical treatment if they have the necessary items in their inventory. + AI będzie wykonywać zabiegi medyczne tylko wtedy, gdy ma w ekwipunku niezbędne przedmioty. + Die KI führt nur dann medizinische Behandlungen durch, wenn sie die erforderlichen Gegenstände in ihrem Inventar hat. + 소지품에 필요한 아이템이 있을 경우에만 인공지능이 치료를 진행합니다. + Les IA n'effectueront un traitement médical que si elles ont le matériel nécessaire dans leur inventaire. + A IA só irá realizar tratamento médico se tiver os itens necessários em seu inventário. + AIのインベントリに必要なアイテムがある場合にのみ治療を実行します。 + + + Auto Convert Items for AI + Automatyczna Konwersja Przedmiotów dla AI + 인공지능 아이템 자동 변환 + Conversion automatique des items pour les IA + Automatische Konvertierung von Gegenständen der KI + Conversão automática de itens para IA + AIのアイテムを自動変換 diff --git a/addons/medical_blood/addon.toml b/addons/medical_blood/addon.toml index 7cfef775ee..bf39213892 100644 --- a/addons/medical_blood/addon.toml +++ b/addons/medical_blood/addon.toml @@ -1,2 +1,3 @@ -[preprocess] -enabled = false +[tools] +pboProject_noBinConfig = true +sqfvm_skipConfigChecks = true diff --git a/addons/medical_blood/config.cpp b/addons/medical_blood/config.cpp index c10bd80ee0..d5cf4b0088 100644 --- a/addons/medical_blood/config.cpp +++ b/addons/medical_blood/config.cpp @@ -1,5 +1,6 @@ #include "script_component.hpp" +#pragma hemtt flag pe23_ignore_has_include #if __has_include("\z\ace\addons\nomedical\script_component.hpp") #define PATCH_SKIP "No Medical" #endif diff --git a/addons/medical_blood/functions/fnc_cleanupLoop.sqf b/addons/medical_blood/functions/fnc_cleanupLoop.sqf index e8461b2e31..92d0a5f3bb 100644 --- a/addons/medical_blood/functions/fnc_cleanupLoop.sqf +++ b/addons/medical_blood/functions/fnc_cleanupLoop.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles cleaning up blood objects that have reached the end of their lifetime. diff --git a/addons/medical_blood/functions/fnc_createBlood.sqf b/addons/medical_blood/functions/fnc_createBlood.sqf index 7197939537..e6740ef459 100644 --- a/addons/medical_blood/functions/fnc_createBlood.sqf +++ b/addons/medical_blood/functions/fnc_createBlood.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Creates a blood object and handles its cleanup. diff --git a/addons/medical_blood/functions/fnc_handleWoundReceived.sqf b/addons/medical_blood/functions/fnc_handleWoundReceived.sqf index d6b73cb563..8dfc9c650b 100644 --- a/addons/medical_blood/functions/fnc_handleWoundReceived.sqf +++ b/addons/medical_blood/functions/fnc_handleWoundReceived.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, commy2 * Handles the wounds received event by triggering any needed blood creation. diff --git a/addons/medical_blood/functions/fnc_init.sqf b/addons/medical_blood/functions/fnc_init.sqf index 336d964de7..86c0c668c1 100644 --- a/addons/medical_blood/functions/fnc_init.sqf +++ b/addons/medical_blood/functions/fnc_init.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Initializes the medical blood system based on the given mode. diff --git a/addons/medical_blood/functions/fnc_isBleeding.sqf b/addons/medical_blood/functions/fnc_isBleeding.sqf index 14aecbb55b..2d57dcf73b 100644 --- a/addons/medical_blood/functions/fnc_isBleeding.sqf +++ b/addons/medical_blood/functions/fnc_isBleeding.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Checks if the given unit is bleeding. Handles both ACE Medical and Vanilla. diff --git a/addons/medical_blood/functions/fnc_onBleeding.sqf b/addons/medical_blood/functions/fnc_onBleeding.sqf index be03c51f09..63ceb3bd29 100644 --- a/addons/medical_blood/functions/fnc_onBleeding.sqf +++ b/addons/medical_blood/functions/fnc_onBleeding.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Handles periodically creating blood for a bleeding unit. diff --git a/addons/medical_blood/functions/fnc_spurt.sqf b/addons/medical_blood/functions/fnc_spurt.sqf index ca0cfb9071..ab2be414b5 100644 --- a/addons/medical_blood/functions/fnc_spurt.sqf +++ b/addons/medical_blood/functions/fnc_spurt.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Sickboy * Spurts blood on the ground based on the direction and damage. diff --git a/addons/medical_blood/functions/script_component.hpp b/addons/medical_blood/functions/script_component.hpp deleted file mode 100644 index 8f2dd066de..0000000000 --- a/addons/medical_blood/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\medical_blood\script_component.hpp" diff --git a/addons/medical_damage/ACE_Medical_Injuries.hpp b/addons/medical_damage/ACE_Medical_Injuries.hpp index f09008880b..e3ffb7bfde 100644 --- a/addons/medical_damage/ACE_Medical_Injuries.hpp +++ b/addons/medical_damage/ACE_Medical_Injuries.hpp @@ -97,8 +97,8 @@ class ACE_Medical_Injuries { weighting[] = {{0.35, 0}, {0.35, 1}}; // bruises caused by bullets hitting the plate are big sizeMultiplier = 3.2; - // tone down the pain a tiny bit to compensate - painMultiplier = 0.8; + // increase the pain to allow for bruises to actually knock out on repeated hits + painMultiplier = 2.2; }; class VelocityWound { // velocity wounds are only in the 0.35-1.5 range @@ -167,6 +167,13 @@ class ACE_Medical_Injuries { painMultiplier = 0.9; }; }; + class vehiclehit: explosive { + // vehicle explosions are usually caused by explosive damage and should behave similarly + thresholds[] = {{6, 3}, {4.5, 2}, {2, 2}, {0.8, 1}, {0.2, 1}, {0, 0}}; + class woundHandlers: woundHandlers { + GVAR(vehiclehit) = QFUNC(woundsHandlerVehiclehit); + }; + }; class vehiclecrash { thresholds[] = {{1.5, 3}, {1.5, 2}, {1, 2}, {1, 1}, {0.05, 1}}; // prevent subdividing wounds past FRACTURE_DAMAGE_THRESHOLD to ensure limp/fractue is triggered selectionSpecific = 0; diff --git a/addons/medical_damage/XEH_PREP.hpp b/addons/medical_damage/XEH_PREP.hpp index 6df53fb309..a17e7d739c 100644 --- a/addons/medical_damage/XEH_PREP.hpp +++ b/addons/medical_damage/XEH_PREP.hpp @@ -9,3 +9,4 @@ PREP(woundReceived); PREP(woundsHandlerBase); PREP(woundsHandlerBurning); PREP(woundsHandlerVehiclecrash); +PREP(woundsHandlerVehiclehit); diff --git a/addons/medical_damage/addon.toml b/addons/medical_damage/addon.toml index 7cfef775ee..bf39213892 100644 --- a/addons/medical_damage/addon.toml +++ b/addons/medical_damage/addon.toml @@ -1,2 +1,3 @@ -[preprocess] -enabled = false +[tools] +pboProject_noBinConfig = true +sqfvm_skipConfigChecks = true diff --git a/addons/medical_damage/config.cpp b/addons/medical_damage/config.cpp index 712ec44a01..4df519a648 100644 --- a/addons/medical_damage/config.cpp +++ b/addons/medical_damage/config.cpp @@ -1,5 +1,6 @@ #include "script_component.hpp" +#pragma hemtt flag pe23_ignore_has_include #if __has_include("\z\ace\addons\nomedical\script_component.hpp") #define PATCH_SKIP "No Medical" #endif diff --git a/addons/medical_damage/functions/fnc_debug_explosiveTest.sqf b/addons/medical_damage/functions/fnc_debug_explosiveTest.sqf index 67f0a48d2d..d17b268c15 100644 --- a/addons/medical_damage/functions/fnc_debug_explosiveTest.sqf +++ b/addons/medical_damage/functions/fnc_debug_explosiveTest.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Pterolatypus * Testing function that spawns AI units in a spiral around the given point and optionally spawns a projectile at the center diff --git a/addons/medical_damage/functions/fnc_determineIfFatal.sqf b/addons/medical_damage/functions/fnc_determineIfFatal.sqf index 097ec66ed6..1e5c533e98 100644 --- a/addons/medical_damage/functions/fnc_determineIfFatal.sqf +++ b/addons/medical_damage/functions/fnc_determineIfFatal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, Glowbal * Determines if damage is fatal diff --git a/addons/medical_damage/functions/fnc_getTypeOfDamage.sqf b/addons/medical_damage/functions/fnc_getTypeOfDamage.sqf index 07ab619c00..80542359f6 100644 --- a/addons/medical_damage/functions/fnc_getTypeOfDamage.sqf +++ b/addons/medical_damage/functions/fnc_getTypeOfDamage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Get the type of damage based upon the projectile. diff --git a/addons/medical_damage/functions/fnc_handleIncapacitation.sqf b/addons/medical_damage/functions/fnc_handleIncapacitation.sqf index 80014b2959..b352564b45 100644 --- a/addons/medical_damage/functions/fnc_handleIncapacitation.sqf +++ b/addons/medical_damage/functions/fnc_handleIncapacitation.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Handle incapacitation due to damage and pain diff --git a/addons/medical_damage/functions/fnc_interpolatePoints.sqf b/addons/medical_damage/functions/fnc_interpolatePoints.sqf index 98f4bcab39..a84f079f30 100644 --- a/addons/medical_damage/functions/fnc_interpolatePoints.sqf +++ b/addons/medical_damage/functions/fnc_interpolatePoints.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Pterolatypus * Returns the image of a value on a linear piecewise function defined by given points diff --git a/addons/medical_damage/functions/fnc_parseConfigForInjuries.sqf b/addons/medical_damage/functions/fnc_parseConfigForInjuries.sqf index cc76111b0c..f2441b3704 100644 --- a/addons/medical_damage/functions/fnc_parseConfigForInjuries.sqf +++ b/addons/medical_damage/functions/fnc_parseConfigForInjuries.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, commy2 * Parse the ACE_Medical_Advanced config for all injury types. diff --git a/addons/medical_damage/functions/fnc_parseWoundHandlersCfg.sqf b/addons/medical_damage/functions/fnc_parseWoundHandlersCfg.sqf index dedc29efcf..0dad747c68 100644 --- a/addons/medical_damage/functions/fnc_parseWoundHandlersCfg.sqf +++ b/addons/medical_damage/functions/fnc_parseWoundHandlersCfg.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Pterolatypus * Read a list of wound handler entries from config, accounting for inheritance diff --git a/addons/medical_damage/functions/fnc_woundReceived.sqf b/addons/medical_damage/functions/fnc_woundReceived.sqf index 4a16042b31..52dbcba265 100644 --- a/addons/medical_damage/functions/fnc_woundReceived.sqf +++ b/addons/medical_damage/functions/fnc_woundReceived.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Pterolatypus * Handle woundReceived event and pass to individual wound handlers diff --git a/addons/medical_damage/functions/fnc_woundsHandlerBase.sqf b/addons/medical_damage/functions/fnc_woundsHandlerBase.sqf index 1d60983492..5df29c7702 100644 --- a/addons/medical_damage/functions/fnc_woundsHandlerBase.sqf +++ b/addons/medical_damage/functions/fnc_woundsHandlerBase.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, commy2 * Handling of the open wounds & injuries upon the handleDamage eventhandler. diff --git a/addons/medical_damage/functions/fnc_woundsHandlerBurning.sqf b/addons/medical_damage/functions/fnc_woundsHandlerBurning.sqf index c6ca70f768..47c625684a 100644 --- a/addons/medical_damage/functions/fnc_woundsHandlerBurning.sqf +++ b/addons/medical_damage/functions/fnc_woundsHandlerBurning.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Pterolatypus * Custom wound handler for burns. Stores up small damage events until there's enough to create a wound. diff --git a/addons/medical_damage/functions/fnc_woundsHandlerVehiclecrash.sqf b/addons/medical_damage/functions/fnc_woundsHandlerVehiclecrash.sqf index 6417fd2034..64ac637107 100644 --- a/addons/medical_damage/functions/fnc_woundsHandlerVehiclecrash.sqf +++ b/addons/medical_damage/functions/fnc_woundsHandlerVehiclecrash.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Pterolatypus * Custom wound handler for vehicle crashes, sends damage to a random hitpoint diff --git a/addons/medical_damage/functions/fnc_woundsHandlerVehiclehit.sqf b/addons/medical_damage/functions/fnc_woundsHandlerVehiclehit.sqf new file mode 100644 index 0000000000..9c4f864f97 --- /dev/null +++ b/addons/medical_damage/functions/fnc_woundsHandlerVehiclehit.sqf @@ -0,0 +1,37 @@ +#include "..\script_component.hpp" +/* + * Author: Pterolatypus, LinkIsGrim + * Custom wound handler for vehicle hits and explosions, sends damage to a random hitpoint + * + * Arguments: + * 0: Unit That Was Hit + * 1: Damage done to each body part + * 2: Type of the damage done + * + * Return Value: + * None + * + * Example: + * [player, [[0.5, "#structural", 1.5]], "vehiclehit"] call ace_medical_damage_fnc_woundsHandlerVehiclehit + * + * Public: No + */ +params ["_unit", "_allDamages", "_typeOfDamage"]; +TRACE_3("woundsHandlerVehiclehit",_unit,_allDamages,_typeOfDamage); + +// this should only trigger for hits to just structural +if (count _allDamages > 1) exitWith {_this}; + +// damage can sometimes be negative (why?) +// damage to structural is low unless it's a very large explosion, in which case it is typically >= 1 +private _damageToApply = (abs (_allDamages select 0 select 0)); + +private _newDamages = []; + +// hitpoints are randomized, more damage means more wounds in different body parts +for "_i" from 1 to (_damageToApply * 6) do { + _newDamages pushBack [_damageToApply, selectRandom ALL_BODY_PARTS, _damageToApply] +}; + +TRACE_1("Vehicle explosion handled, passing damage", _newDamages); +[_unit, _newDamages, _typeOfDamage] //return diff --git a/addons/medical_damage/functions/script_component.hpp b/addons/medical_damage/functions/script_component.hpp deleted file mode 100644 index 394e8aeed6..0000000000 --- a/addons/medical_damage/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\medical_damage\script_component.hpp" diff --git a/addons/medical_damage/initSettings.sqf b/addons/medical_damage/initSettings.sqf index 0ce21319e2..229b086505 100644 --- a/addons/medical_damage/initSettings.sqf +++ b/addons/medical_damage/initSettings.sqf @@ -3,7 +3,7 @@ "LIST", [LSTRING(fatalDamageSource_DisplayName), LSTRING(fatalDamageSource_Description)], [ELSTRING(medical,Category)], - [[0, 1, 2], [LSTRING(fatalDamageSource_vitalShotsOnly), LSTRING(fatalDamageSource_trauma), LSTRING(fatalDamageSource_both)], 0], + [[0, 1, 2], [LSTRING(fatalDamageSource_vitalShotsOnly), LSTRING(fatalDamageSource_trauma), LSTRING(fatalDamageSource_both)], 2], true ] call CBA_fnc_addSetting; diff --git a/addons/medical_damage/stringtable.xml b/addons/medical_damage/stringtable.xml index cca0c7a018..63f6b2c602 100644 --- a/addons/medical_damage/stringtable.xml +++ b/addons/medical_damage/stringtable.xml @@ -209,7 +209,7 @@ Zúzódás Contusão Modřina - 打ち傷 + 打撲傷 挫傷 Yara @@ -226,7 +226,7 @@ Kis zúzódás Contusão leve Malá modřina - 小さな打ち傷 + 小さな打撲傷 조금 멍듬 小挫傷 Küçük Yara @@ -243,7 +243,7 @@ Közepes zúzódás Contusão média Středně velká modřina - 中くらいの打ち傷 + 中くらいの打撲傷 꽤 멍듬 中度挫傷 Orta Yara @@ -648,7 +648,7 @@ Solo grandi colpi agli organi vitali Pouze zásahy do životně důležitých orgánů Tylko duże trafienia w ważne narządy - Apenas danos largos a órgãos vitais + Apenas danos graves a órgãos vitais Solo grandes heridas en organos vitales Sadece hayati organlara büyük vuruşlar Nur schwere Treffer an lebenswichtigen Organen @@ -679,7 +679,7 @@ o Kterýkoliv ze dvou Zarówno - Ou + Ambos Ambos Ikisinden biri Beide @@ -695,6 +695,7 @@ 热灼伤 화상 Quemadura térmica + Queimadura Térmica Minor Thermal Burn @@ -706,6 +707,7 @@ 轻微热灼伤 작은 화상 Quemadura térmica menor + Queimadura Térmica Leve Medium Thermal Burn @@ -717,6 +719,7 @@ 中度热灼伤 꽤 큰 화상 Quemadura térmica media + Queimadura Térmica Média Major Thermal Burn @@ -728,6 +731,7 @@ 重度热灼伤 심각한 화상 Quemadura térmica severa + Queimadura Térmica Grave Unit Damage Threshold @@ -741,6 +745,7 @@ Umbral de daño de unidad 单位伤害阈值 유닛 피해 한계점 + Limite de Dano em Unidade Sets the amount of damage a unit can receive before going unconscious. (0 for mission default) @@ -754,6 +759,7 @@ Determina la cantidad de daño que puede recibir una unidad antes de quedar inconsciente (0 para predeterminado de misión) 设定一个单位在昏迷前所能承受的伤害量。(任务默认为0) 이 유닛이 얼마나 많은 피해를 받아야 기절할 지 정합니다. (0은 미션 기본 설정을 사용합니다) + Define a quantidade de dano que uma unidade pode receber antes de ficar inconsciente. (0 para o padrão da missão) Pain Unconscious Chance @@ -765,6 +771,7 @@ Chance für Bewusslosigkeit durch Schmerz 疼痛昏厥概率 고통으로 인한 기절 확률 + Chance de Inconsciência por Dor The probability of a person falling unconscious when their pain is above the tolerance threshold upon receiving damage. @@ -776,18 +783,27 @@ Die Wahrscheinlichkeit, dass eine Person bewusstlos wird, wenn ihre Schmerzen bei einer Verwundung über der Toleranzschwelle liegen. 当一个人的疼痛超过承受能力的极限时,他陷入昏迷的概率。 고통 한계점을 넘을 시 기절하는 확률을 정합니다. + A probabilidade de uma pessoa ficar inconsciente quando sua dor está acima do limite de tolerância ao receber dano. Pain Unconscious Threshold Порог боли для потери сознания Seuil d'inconscience par la douleur. 気絶する痛みのしきい値 + Próg Nieprzytomności od Bólu + Schmerz-Bewusstlosigkeit-Grenze + 고통 기절 한계점 + Limite de Dor Antes da Inconsciência Sets the threshold for severe pain, above which a person can fall unconscious upon receiving damage. Устанавливает количество боли от полученной травмы, при котором юнит может потерять сознание. Définis le niveau de douleur à partir duquel une personne peut perdre connaissance. Cf PainUnconsciousChance. 激しい痛みのしきい値を設定します。このしきい値を超えた状態でダメージを受けると意識を失う可能性があります。 + Ustawia próg silnego bólu, powyżej którego osoba może stracić przytomność po otrzymaniu obrażeń. + Legt die Grenze für starke Schmerzen fest, oberhalb derer eine Person bei erlittenem Schaden bewusstlos werden kann. + 사람이 데미지를 입었을 때 의식불명 상태가 될 수 있는 심각한 고통의 한계점을 설정합니다. + Define o limite para dor severa, acima do qual uma pessoa pode ficar inconsciente ao receber dano. Fatal Injury Death Chance @@ -799,6 +815,7 @@ Tödliche Verletzung - Wahrscheinlichkeit des Todes 致命伤死亡概率 치명상 사망 확률 + Chance de Morte por Ferimento Fatal The chance of dying to a fatal injury. @@ -810,6 +827,7 @@ Die Wahrscheinlichkeit, an einer eigentlich tödlichen Verletzung zu sterben. 死于致命伤的概率。 치명상으로 인해 사망할 확률을 정합니다. + A chance de morrer para um ferimento fatal. diff --git a/addons/medical_engine/XEH_postInit.sqf b/addons/medical_engine/XEH_postInit.sqf index 64f8bab83b..6455904f95 100644 --- a/addons/medical_engine/XEH_postInit.sqf +++ b/addons/medical_engine/XEH_postInit.sqf @@ -61,20 +61,6 @@ }; }] call CBA_fnc_addClassEventHandler; -// Guarantee aircraft crashes are more lethal -["Air", "Killed", { - params ["_vehicle", "_killer"]; - TRACE_3("air killed",_vehicle,typeOf _vehicle,velocity _vehicle); - if ((getText (configOf _vehicle >> "destrType")) == "") exitWith {}; - if (unitIsUAV _vehicle) exitWith {}; - - private _lethality = linearConversion [0, 25, (vectorMagnitude velocity _vehicle), 0.5, 1]; - TRACE_2("air crash",_lethality,crew _vehicle); - { - [QEGVAR(medical,woundReceived), [_x, [[_lethality, "Head", _lethality]], _killer, "#vehiclecrash"], _x] call CBA_fnc_targetEvent; - } forEach (crew _vehicle); -}, true, ["ParachuteBase"]] call CBA_fnc_addClassEventHandler; - // Fixes units being stuck in unconscious animation when being knocked over by a PhysX object ["CAManBase", "AnimDone", { params ["_unit", "_anim"]; diff --git a/addons/medical_engine/XEH_preInit.sqf b/addons/medical_engine/XEH_preInit.sqf index da2ab02141..379b30da4b 100644 --- a/addons/medical_engine/XEH_preInit.sqf +++ b/addons/medical_engine/XEH_preInit.sqf @@ -9,6 +9,8 @@ PREP_RECOMPILE_END; #include "initSettings.sqf" // Define "Constants" variables (both are macros defined in script_macros_medical.hpp, look there for actual variable names) +if (isNil QUOTE(SPONTANEOUS_WAKE_UP_INTERVAL)) then {SPONTANEOUS_WAKE_UP_INTERVAL = SPONTANEOUS_WAKE_UP_INTERVAL_DEFAULT}; +if (isNil QUOTE(MINIMUM_BLOOD_FOR_STABLE_VITALS)) then {MINIMUM_BLOOD_FOR_STABLE_VITALS = MINIMUM_BLOOD_FOR_STABLE_VITALS_DEFAULT}; if (isNil QUOTE(HEAD_DAMAGE_THRESHOLD)) then {HEAD_DAMAGE_THRESHOLD = HEAD_DAMAGE_THRESHOLD_DEFAULT}; if (isNil QUOTE(ORGAN_DAMAGE_THRESHOLD)) then {ORGAN_DAMAGE_THRESHOLD = ORGAN_DAMAGE_THRESHOLD_DEFAULT}; if (isNil QUOTE(HEART_HIT_CHANCE)) then {HEART_HIT_CHANCE = HEART_HIT_CHANCE_DEFAULT}; diff --git a/addons/medical_engine/addon.toml b/addons/medical_engine/addon.toml index 7cfef775ee..bf39213892 100644 --- a/addons/medical_engine/addon.toml +++ b/addons/medical_engine/addon.toml @@ -1,2 +1,3 @@ -[preprocess] -enabled = false +[tools] +pboProject_noBinConfig = true +sqfvm_skipConfigChecks = true diff --git a/addons/medical_engine/config.cpp b/addons/medical_engine/config.cpp index 8d718155d1..2d7926aa41 100644 --- a/addons/medical_engine/config.cpp +++ b/addons/medical_engine/config.cpp @@ -1,5 +1,6 @@ #include "script_component.hpp" +#pragma hemtt flag pe23_ignore_has_include #if __has_include("\z\ace\addons\nomedical\script_component.hpp") #define PATCH_SKIP "No Medical" #endif diff --git a/addons/medical_engine/data/ace_unconscious_1.rtm b/addons/medical_engine/data/ace_unconscious_1.rtm index 8480d5381f..9c34d6ffcd 100644 Binary files a/addons/medical_engine/data/ace_unconscious_1.rtm and b/addons/medical_engine/data/ace_unconscious_1.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_1_1.rtm b/addons/medical_engine/data/ace_unconscious_1_1.rtm index 0dc232fad7..c988670ade 100644 Binary files a/addons/medical_engine/data/ace_unconscious_1_1.rtm and b/addons/medical_engine/data/ace_unconscious_1_1.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_2.rtm b/addons/medical_engine/data/ace_unconscious_2.rtm index c6d539ce65..0a37e2424c 100644 Binary files a/addons/medical_engine/data/ace_unconscious_2.rtm and b/addons/medical_engine/data/ace_unconscious_2.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_2_1.rtm b/addons/medical_engine/data/ace_unconscious_2_1.rtm index 8f44925a2d..3173fa18fb 100644 Binary files a/addons/medical_engine/data/ace_unconscious_2_1.rtm and b/addons/medical_engine/data/ace_unconscious_2_1.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_3.rtm b/addons/medical_engine/data/ace_unconscious_3.rtm index 8eedf66e5f..5498e928df 100644 Binary files a/addons/medical_engine/data/ace_unconscious_3.rtm and b/addons/medical_engine/data/ace_unconscious_3.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_3_1.rtm b/addons/medical_engine/data/ace_unconscious_3_1.rtm index 110e048697..19a4de3971 100644 Binary files a/addons/medical_engine/data/ace_unconscious_3_1.rtm and b/addons/medical_engine/data/ace_unconscious_3_1.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_4.rtm b/addons/medical_engine/data/ace_unconscious_4.rtm index 9f10d57b81..4fcf5653f0 100644 Binary files a/addons/medical_engine/data/ace_unconscious_4.rtm and b/addons/medical_engine/data/ace_unconscious_4.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_4_1.rtm b/addons/medical_engine/data/ace_unconscious_4_1.rtm index 814049bfbc..df30a96f78 100644 Binary files a/addons/medical_engine/data/ace_unconscious_4_1.rtm and b/addons/medical_engine/data/ace_unconscious_4_1.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_5.rtm b/addons/medical_engine/data/ace_unconscious_5.rtm index 08d5bd81df..7915a09112 100644 Binary files a/addons/medical_engine/data/ace_unconscious_5.rtm and b/addons/medical_engine/data/ace_unconscious_5.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_5_1.rtm b/addons/medical_engine/data/ace_unconscious_5_1.rtm index ba46efca6a..f4fe14d92c 100644 Binary files a/addons/medical_engine/data/ace_unconscious_5_1.rtm and b/addons/medical_engine/data/ace_unconscious_5_1.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_6.rtm b/addons/medical_engine/data/ace_unconscious_6.rtm index 6d967d036d..bfe38f3e28 100644 Binary files a/addons/medical_engine/data/ace_unconscious_6.rtm and b/addons/medical_engine/data/ace_unconscious_6.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_6_1.rtm b/addons/medical_engine/data/ace_unconscious_6_1.rtm index 98cd1c3a49..27c22ef1fa 100644 Binary files a/addons/medical_engine/data/ace_unconscious_6_1.rtm and b/addons/medical_engine/data/ace_unconscious_6_1.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_7.rtm b/addons/medical_engine/data/ace_unconscious_7.rtm index b276105072..8ec1f7e78f 100644 Binary files a/addons/medical_engine/data/ace_unconscious_7.rtm and b/addons/medical_engine/data/ace_unconscious_7.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_7_1.rtm b/addons/medical_engine/data/ace_unconscious_7_1.rtm index acd0020704..bd4c090ac9 100644 Binary files a/addons/medical_engine/data/ace_unconscious_7_1.rtm and b/addons/medical_engine/data/ace_unconscious_7_1.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_8.rtm b/addons/medical_engine/data/ace_unconscious_8.rtm index 26602d26c8..53cd2fb3cd 100644 Binary files a/addons/medical_engine/data/ace_unconscious_8.rtm and b/addons/medical_engine/data/ace_unconscious_8.rtm differ diff --git a/addons/medical_engine/data/ace_unconscious_8_1.rtm b/addons/medical_engine/data/ace_unconscious_8_1.rtm index a80c72c32b..09f5ec1ec9 100644 Binary files a/addons/medical_engine/data/ace_unconscious_8_1.rtm and b/addons/medical_engine/data/ace_unconscious_8_1.rtm differ diff --git a/addons/medical_engine/data/zDummy.rtm b/addons/medical_engine/data/zDummy.rtm deleted file mode 100644 index dfeb7b7fcc..0000000000 Binary files a/addons/medical_engine/data/zDummy.rtm and /dev/null differ diff --git a/addons/medical_engine/functions/fnc_applyAnimAfterRagdoll.sqf b/addons/medical_engine/functions/fnc_applyAnimAfterRagdoll.sqf index 116138306a..db522b2bf7 100644 --- a/addons/medical_engine/functions/fnc_applyAnimAfterRagdoll.sqf +++ b/addons/medical_engine/functions/fnc_applyAnimAfterRagdoll.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: diwako * Apply a fitting unconscious animation to a knocked out unit diff --git a/addons/medical_engine/functions/fnc_damageBodyPart.sqf b/addons/medical_engine/functions/fnc_damageBodyPart.sqf index a435632801..c25d83c46c 100644 --- a/addons/medical_engine/functions/fnc_damageBodyPart.sqf +++ b/addons/medical_engine/functions/fnc_damageBodyPart.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Damages a body part of a local unit. Does not kill the unit. diff --git a/addons/medical_engine/functions/fnc_disableThirdParty.sqf b/addons/medical_engine/functions/fnc_disableThirdParty.sqf index 5caa2fd74d..4a9bacd088 100644 --- a/addons/medical_engine/functions/fnc_disableThirdParty.sqf +++ b/addons/medical_engine/functions/fnc_disableThirdParty.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Detects and disables third party medical systems. diff --git a/addons/medical_engine/functions/fnc_getHitpointArmor.sqf b/addons/medical_engine/functions/fnc_getHitpointArmor.sqf index 62954a1b56..d4fdd00fd3 100644 --- a/addons/medical_engine/functions/fnc_getHitpointArmor.sqf +++ b/addons/medical_engine/functions/fnc_getHitpointArmor.sqf @@ -1,6 +1,6 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* - * Author: Pterolatypus + * Author: Pterolatypus, LinkIsGrim * Checks a unit's equipment to calculate the total armor on a hitpoint. * * Arguments: @@ -8,7 +8,7 @@ * 1: Hitpoint * * Return Value: - * Total armor for the given hitpoint + * Total armor and scaled armor for the given hitpoint * * Example: * [player, "HitChest"] call ace_medical_engine_fnc_getHitpointArmor @@ -32,16 +32,23 @@ private _gear = [ private _rags = _gear joinString "$"; private _var = format [QGVAR(armorCache$%1), _hitpoint]; -_unit getVariable [_var, [""]] params ["_prevRags", "_armor"]; +_unit getVariable [_var, ["", 0, 0]] params ["_prevRags", "_armor", "_armorScaled"]; if (_rags != _prevRags) then { _armor = 0; + _armorScaled = 0; { - _armor = _armor + ([_x, _hitpoint] call FUNC(getItemArmor)); + ([_x, _hitpoint] call FUNC(getItemArmor)) params ["_itemArmor", "_itemArmorScaled"]; + _armor = _armor + _itemArmor; + _armorScaled = _armorScaled + _itemArmorScaled; } forEach _gear; - _unit setVariable [_var, [_rags, _armor]]; + // Armor should be at least 1 to prevent dividing by 0 + _armor = _armor max 1; + _armorScaled = _armorScaled max 1; + + _unit setVariable [_var, [_rags, _armor, _armorScaled]]; }; -_armor // return +[_armor, _armorScaled] // return diff --git a/addons/medical_engine/functions/fnc_getItemArmor.sqf b/addons/medical_engine/functions/fnc_getItemArmor.sqf index 26e1bd693a..01e6719a0f 100644 --- a/addons/medical_engine/functions/fnc_getItemArmor.sqf +++ b/addons/medical_engine/functions/fnc_getItemArmor.sqf @@ -1,14 +1,14 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* - * Author: Pterolatypus - * Returns the armor value the given item provides to a particular hitpoint, either from a cache or by reading the item config. + * Author: Pterolatypus, LinkIsGrim + * Returns the regular and scaled armor values the given item provides to a particular hitpoint, either from a cache or by reading the item config. * * Arguments: * 0: Item Class * 1: Hitpoint * * Return Value: - * Item armor for the given hitpoint + * Regular and scaled item armor for the given hitpoint * * Example: * ["V_PlateCarrier_rgr", "HitChest"] call ace_medical_engine_fnc_getItemArmor @@ -19,18 +19,23 @@ params ["_item", "_hitpoint"]; private _key = format ["%1$%2", _item, _hitpoint]; -private _armor = GVAR(armorCache) get _key; +private _return = GVAR(armorCache) get _key; -if (isNil "_armor") then { +if (isNil "_return") then { + private _armor = 0; + private _armorScaled = 0; + private _passThrough = 1; TRACE_2("Cache miss",_item,_hitpoint); if ("" in [_item, _hitpoint]) exitWith { - _armor = 0; - GVAR(armorCache) set [_key, _armor]; + _return = [_armor, _armorScaled]; + GVAR(armorCache) set [_key, _return]; }; private _itemInfo = configFile >> "CfgWeapons" >> _item >> "ItemInfo"; + private _itemType = getNumber (_itemInfo >> "type"); + private _passThroughEffect = [1, 0.6] select (_itemType == TYPE_VEST); - if (getNumber (_itemInfo >> "type") == TYPE_UNIFORM) then { + if (_itemType == TYPE_UNIFORM) then { private _unitCfg = configFile >> "CfgVehicles" >> getText (_itemInfo >> "uniformClass"); if (_hitpoint == "#structural") then { // TODO: I'm not sure if this should be multiplied by the base armor value or not @@ -38,15 +43,28 @@ if (isNil "_armor") then { } else { private _entry = _unitCfg >> "HitPoints" >> _hitpoint; _armor = getNumber (_unitCfg >> "armor") * (1 max getNumber (_entry >> "armor")); + _passThrough = 0.1 max getNumber (_entry >> "passThrough") min 1; // prevent dividing by 0 }; } else { private _condition = format ["getText (_x >> 'hitpointName') == '%1'", _hitpoint]; private _entry = configProperties [_itemInfo >> "HitpointsProtectionInfo", _condition] param [0, configNull]; - - _armor = getNumber (_entry >> "armor"); + if (!isNull _entry) then { + _armor = getNumber (_entry >> "armor"); + _passThrough = 0.1 max getNumber (_entry >> "passThrough") min 1; + }; }; - GVAR(armorCache) set [_key, _armor]; + // Scale armor using passthrough to fix explosive-resistant armor (#9063) + // Skip scaling for uniforms and items that don't cover the hitpoint to prevent infinite armor + if (_armor > 0) then { + if (_itemType == TYPE_UNIFORM) then { + _armorScaled = _armor; + } else { + _armorScaled = (log (_armor / (_passThrough ^ _passThroughEffect))) * 10; + }; + }; + _return = [_armor, _armorScaled]; + GVAR(armorCache) set [_key, _return]; }; -_armor // return +_return // return diff --git a/addons/medical_engine/functions/fnc_handleDamage.sqf b/addons/medical_engine/functions/fnc_handleDamage.sqf index 230a1f037e..6483f6de64 100644 --- a/addons/medical_engine/functions/fnc_handleDamage.sqf +++ b/addons/medical_engine/functions/fnc_handleDamage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, kymckay * HandleDamage EH where wound events are raised based on incoming damage. @@ -32,9 +32,16 @@ if (_hitPoint isEqualTo "") then { if !(isDamageAllowed _unit && {_unit getVariable [QEGVAR(medical,allowDamage), true]}) exitWith {_oldDamage}; private _newDamage = _damage - _oldDamage; -// Get armor value of hitpoint and calculate damage before armor -private _armor = [_unit, _hitpoint] call FUNC(getHitpointArmor); +// Get scaled armor value of hitpoint and calculate damage before armor +// We scale using passThrough to handle explosive-resistant armor properly (#9063) +// We need realDamage to determine which limb was hit correctly +[_unit, _hitpoint] call FUNC(getHitpointArmor) params ["_armor", "_armorScaled"]; private _realDamage = _newDamage * _armor; +if (_hitPoint isNotEqualTo "#structural") then { + private _armorCoef = _armor/_armorScaled; + private _damageCoef = linearConversion [0, 1, GVAR(damagePassThroughEffect), 1, _armorCoef]; + _newDamage = _newDamage * _damageCoef; +}; TRACE_4("Received hit",_hitpoint,_ammo,_newDamage,_realDamage); // Drowning doesn't fire the EH for each hitpoint so the "ace_hdbracket" code never runs @@ -50,14 +57,16 @@ if ( 0 }; +// Faster than (vehicle _unit), also handles dead units +private _vehicle = objectParent _unit; + // Crashing a vehicle doesn't fire the EH for each hitpoint so the "ace_hdbracket" code never runs // It does fire the EH multiple times, but this seems to scale with the intensity of the crash -private _vehicle = vehicle _unit; if ( EGVAR(medical,enableVehicleCrashes) && {_hitPoint isEqualTo "#structural"} && {_ammo isEqualTo ""} && - {_vehicle != _unit} && + {!isNull _vehicle} && {vectorMagnitude (velocity _vehicle) > 5} // todo: no way to detect if stationary and another vehicle hits you ) exitWith { @@ -67,6 +76,29 @@ if ( 0 }; +// Receiving explosive damage inside a vehicle doesn't trigger for each hitpoint +// This is the case for mines, explosives, artillery, and catasthrophic vehicle explosions +// Triggers twice, but that doesn't matter as damage is low +if ( + _hitPoint isEqualTo "#structural" && + {!isNull _vehicle} && + {_ammo isNotEqualTo ""} && + { + private _ammoCfg = configFile >> "CfgAmmo" >> _ammo; + GET_NUMBER(_ammoCfg >> "explosive", 0) > 0 || + {GET_NUMBER(_ammoCfg >> "indirectHit", 0) > 0} + } +) exitwith { + TRACE_6("Vehicle hit",_unit,_shooter,_instigator,_damage,_newDamage,_damages); + + _unit setVariable [QEGVAR(medical,lastDamageSource), _shooter]; + _unit setVariable [QEGVAR(medical,lastInstigator), _instigator]; + + [QEGVAR(medical,woundReceived), [_unit, [[_newDamage, _hitPoint, _newDamage]], _shooter, "vehiclehit"]] call CBA_fnc_localEvent; + + 0 +}; + // This hitpoint is set to trigger last, evaluate all the stored damage values // to determine where wounds are applied if (_hitPoint isEqualTo "ace_hdbracket") exitWith { @@ -101,8 +133,9 @@ if (_hitPoint isEqualTo "ace_hdbracket") exitWith { private _damageLeftLeg = _unit getVariable [QGVAR($HitLeftLeg), [0,0]]; private _damageRightLeg = _unit getVariable [QGVAR($HitRightLeg), [0,0]]; - // Find hit point that received the maxium damage + // Find hit point that received the maximum damage // Priority used for sorting if incoming damage is equal + // _realDamage, priority, _newDamage, body part name private _allDamages = [ [_damageHead select 0, PRIORITY_HEAD, _damageHead select 1, "Head"], [_damageBody select 0, PRIORITY_BODY, _damageBody select 1, "Body"], diff --git a/addons/medical_engine/functions/fnc_lockUnconsciousSeat.sqf b/addons/medical_engine/functions/fnc_lockUnconsciousSeat.sqf index dc748426b7..cc29e75cc1 100644 --- a/addons/medical_engine/functions/fnc_lockUnconsciousSeat.sqf +++ b/addons/medical_engine/functions/fnc_lockUnconsciousSeat.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Locks the seat of an unconscious or dead unit to prevent automatic unloading. diff --git a/addons/medical_engine/functions/fnc_setStructuralDamage.sqf b/addons/medical_engine/functions/fnc_setStructuralDamage.sqf index 4f2888ff71..6094c3d78e 100644 --- a/addons/medical_engine/functions/fnc_setStructuralDamage.sqf +++ b/addons/medical_engine/functions/fnc_setStructuralDamage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Set structural damage of an object without modifying the individual hit points. diff --git a/addons/medical_engine/functions/fnc_setUnconsciousAnim.sqf b/addons/medical_engine/functions/fnc_setUnconsciousAnim.sqf index 89de38dbea..531f5d4062 100644 --- a/addons/medical_engine/functions/fnc_setUnconsciousAnim.sqf +++ b/addons/medical_engine/functions/fnc_setUnconsciousAnim.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Force local unit into ragdoll / unconsciousness animation. diff --git a/addons/medical_engine/functions/fnc_unlockUnconsciousSeat.sqf b/addons/medical_engine/functions/fnc_unlockUnconsciousSeat.sqf index 858442d1d3..5214a32201 100644 --- a/addons/medical_engine/functions/fnc_unlockUnconsciousSeat.sqf +++ b/addons/medical_engine/functions/fnc_unlockUnconsciousSeat.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Unlocks the seat of an unconscious or dead unit after getting moved out or waking up. diff --git a/addons/medical_engine/functions/fnc_updateBodyPartVisuals.sqf b/addons/medical_engine/functions/fnc_updateBodyPartVisuals.sqf index 3e240b807b..a4403ffa7d 100644 --- a/addons/medical_engine/functions/fnc_updateBodyPartVisuals.sqf +++ b/addons/medical_engine/functions/fnc_updateBodyPartVisuals.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Damages a body part of a local unit. Does not kill the unit. diff --git a/addons/medical_engine/functions/fnc_updateDamageEffects.sqf b/addons/medical_engine/functions/fnc_updateDamageEffects.sqf index 757a2945b2..7dc73e04f4 100644 --- a/addons/medical_engine/functions/fnc_updateDamageEffects.sqf +++ b/addons/medical_engine/functions/fnc_updateDamageEffects.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, PabstMirror * Updates damage effects for limping and fractures. diff --git a/addons/medical_engine/functions/script_component.hpp b/addons/medical_engine/functions/script_component.hpp deleted file mode 100644 index c28da622f0..0000000000 --- a/addons/medical_engine/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\medical_engine\script_component.hpp" diff --git a/addons/medical_engine/initSettings.sqf b/addons/medical_engine/initSettings.sqf index 9fe80afcb0..062e2a0822 100644 --- a/addons/medical_engine/initSettings.sqf +++ b/addons/medical_engine/initSettings.sqf @@ -6,3 +6,12 @@ true, true ] call CBA_fnc_addSetting; + +[ + QGVAR(damagePassThroughEffect), + "SLIDER", + [LSTRING(damagePassThroughEffect_displayName), LSTRING(damagePassThroughEffect_description)], + ELSTRING(medical,Category), + [0, 1, 1, 2, true], + true +] call CBA_fnc_addSetting; diff --git a/addons/medical_engine/script_macros_medical.hpp b/addons/medical_engine/script_macros_medical.hpp index 2924d83b13..56c1eec401 100644 --- a/addons/medical_engine/script_macros_medical.hpp +++ b/addons/medical_engine/script_macros_medical.hpp @@ -54,6 +54,10 @@ #define BLOOD_VOLUME_CLASS_4_HEMORRHAGE 3.600 // lost more than 40% blood, Class IV Hemorrhage #define BLOOD_VOLUME_FATAL 3.0 // Lost more than 50% blood, Unrecoverable +// Minimum blood volume, in liters, for a patient to have the chance to wake up +#define MINIMUM_BLOOD_FOR_STABLE_VITALS EGVAR(medical,const_stableVitalsBloodThreshold) +#define MINIMUM_BLOOD_FOR_STABLE_VITALS_DEFAULT BLOOD_VOLUME_CLASS_2_HEMORRHAGE + // IV Change per second calculation: // 250 ml should take 60 seconds to fill. 250 ml / 60 s ~ 4.1667 ml/s. #define IV_CHANGE_PER_SECOND 4.1667 // in milliliters per second @@ -72,7 +76,14 @@ #define DAMAGE_BLUE_THRESHOLD 0.8 #define DAMAGE_TOTAL_COLORS 10 -// --- pain +// Qualitative bleed rate thresholds as a fraction of knock out blood loss +// Note that half of knock out blood loss is considered unstable, and knock out blood loss is considered critical +#define BLEED_RATE_SLOW 0.1 // Slow - One fifth of unstable blood loss +#define BLEED_RATE_MODERATE 0.5 // Moderate - Vitals considered stable +#define BLEED_RATE_SEVERE 1.0 // Severe - Vitals considered unstable +// Massive - Vitals considered critical + +// Pain above which a unit can go unconscious upon receiving damage #define PAIN_UNCONSCIOUS EGVAR(medical,painUnconsciousThreshold) // Pain fade out time (time it takes until pain is guaranteed to be completly gone) @@ -84,7 +95,8 @@ #define PAIN_SUPPRESSION_FADE_TIME 1800 // Chance to wake up when vitals are stable (checked once every SPONTANEOUS_WAKE_UP_INTERVAL seconds) -#define SPONTANEOUS_WAKE_UP_INTERVAL 15 +#define SPONTANEOUS_WAKE_UP_INTERVAL EGVAR(medical,const_wakeUpCheckInterval) +#define SPONTANEOUS_WAKE_UP_INTERVAL_DEFAULT 15 // Minimum leg damage required for limping #define LIMPING_DAMAGE_THRESHOLD EGVAR(medical,const_limpingDamageThreshold) diff --git a/addons/medical_engine/stringtable.xml b/addons/medical_engine/stringtable.xml index 81e2ae8450..92a01a177e 100644 --- a/addons/medical_engine/stringtable.xml +++ b/addons/medical_engine/stringtable.xml @@ -11,6 +11,7 @@ Aktiviere Verletzungen durch Fahrzeugunfälle 启用车辆碰撞损坏 차량 충돌 피해 활성화 + Habilitar Dano por Colisão de Veículo Controls whether crew receives damage from vehicle collisions. @@ -22,6 +23,25 @@ Kontrolliert, ob Besatzung eines Fahrzeugs Schaden durch Unfälle erleiden soll 控制乘员是否受到车辆碰撞的伤害。 차량 충돌로 인해 탑승인원들이 피해를 받을 지 결정합니다. + Controla se a tripulação recebe dano de colisões de veículos. + + + Armor PassThrough Effect + Efekt penetracji pancerza + 방어구 PassThrough 효과 + Effet de pénétration d'armure + Effekt des Panzerungsdurchschlags + Efeito de Penetração de Blindagem + 装甲貫通効果 + + + Controls effect of armor 'passThrough' on final damage. Makes high armor values, like ones used in GL rigs, less effective.\nUse 0% for pre 3.16.0 armor behavior.\nOnly touch this if you know what you're doing! + Kontroluje wpływ "penetracji" pancerza na ostateczne obrażenia. Sprawia, że wysokie wartości pancerza, takie jak te używane w kamizelkach GL, są mniej skuteczne.\nUżyj 0% dla zachowania pancerza sprzed wersji 3.16.0.\nZmień wartość tylko jeśli wiesz co robisz! + 최종 데미지에 대한 방어구의 'PassThrough' 효과를 조정합니다. GL 리그에 사용되는 것과 같은 높은 방호값을 덜 효과적으로 만듭니다\n3.16.0 이전의 방어구 동작에는 0%를 사용하십시오.\n당신이 뭘 하고 있는지 알고 있는 경우에만 이걸 설정하세요! + Contrôle l'effet de la "pénétration" de l'armure sur les dégâts finaux. Rend les valeurs d'armures élevées, comme celles utilisées dans les gilets GL, moins efficaces.\nUtilisez 0% pour le comportement des armures des versions antérieures à 3.16.0.\nNe modifiez la valeur que si vous savez ce que vous faîtes ! + Steuert den Effekt des „Durchschlagens“ von Panzerung auf den Gesamtschaden. Macht hohe Panzerungswerte, wie sie in GL-Westen verwendet werden, weniger effektiv.\nVerwende 0% für das Panzerungsverhalten vor 3.16.0.\nÄndere den Wert nur, wenn du weißt, was du tust! + Controla o efeito de penetração (passThrough) da blindagem no dano final. Torna valores de blindagem altos, como os usados em coletes GL, menos eficazes.\nUse 0% para o comportamento de blindagem anterior à versão 3.16.0.\nSó mexa nisso se souber o que está fazendo! + ボディアーマーの'passThrough'値が最終的な身体ダメージに与える影響を調整します。擲弾兵リグで使用されるような高い装甲値では効果が低くなります。\n3.16.0以前の挙動にするには0%にしてください。\nこれが何かわからない場合は変更しないことをお勧めします。 diff --git a/addons/medical_feedback/RscInGameUI.hpp b/addons/medical_feedback/RscInGameUI.hpp index cbea0e35b5..ca422840a7 100644 --- a/addons/medical_feedback/RscInGameUI.hpp +++ b/addons/medical_feedback/RscInGameUI.hpp @@ -22,18 +22,18 @@ class RscInGameUI { }; class GVAR(stateIndicator1): RscPictureKeepAspect { - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(stateIndicator1), _this select 0)]); + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(stateIndicator1),_this select 0)]); x = QUOTE(ace_IGUI_GRID_STANCE_X + IGUI_GRID_STANCE_WAbs * 3 / 4); y = QUOTE(ace_IGUI_GRID_STANCE_Y); w = QUOTE(IGUI_GRID_STANCE_WAbs / 4); h = QUOTE(IGUI_GRID_STANCE_HAbs / 4); }; class GVAR(stateIndicator2): GVAR(stateIndicator1) { - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(stateIndicator2), _this select 0)]); + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(stateIndicator2),_this select 0)]); y = QUOTE(ace_IGUI_GRID_STANCE_Y + IGUI_GRID_STANCE_HAbs / 4); }; class GVAR(stateIndicator3): GVAR(stateIndicator1) { - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(stateIndicator3), _this select 0)]); + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(stateIndicator3),_this select 0)]); y = QUOTE(ace_IGUI_GRID_STANCE_Y + IGUI_GRID_STANCE_HAbs * 2 / 4); }; }; diff --git a/addons/medical_feedback/addon.toml b/addons/medical_feedback/addon.toml index 7cfef775ee..bf39213892 100644 --- a/addons/medical_feedback/addon.toml +++ b/addons/medical_feedback/addon.toml @@ -1,2 +1,3 @@ -[preprocess] -enabled = false +[tools] +pboProject_noBinConfig = true +sqfvm_skipConfigChecks = true diff --git a/addons/medical_feedback/config.cpp b/addons/medical_feedback/config.cpp index caea028b79..d6e78aebbf 100644 --- a/addons/medical_feedback/config.cpp +++ b/addons/medical_feedback/config.cpp @@ -1,5 +1,6 @@ #include "script_component.hpp" +#pragma hemtt flag pe23_ignore_has_include #if __has_include("\z\ace\addons\nomedical\script_component.hpp") #define PATCH_SKIP "No Medical" #endif diff --git a/addons/medical_feedback/functions/fnc_effectBleeding.sqf b/addons/medical_feedback/functions/fnc_effectBleeding.sqf index 0f04ffd333..b018948f23 100644 --- a/addons/medical_feedback/functions/fnc_effectBleeding.sqf +++ b/addons/medical_feedback/functions/fnc_effectBleeding.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles the bleeding effect. diff --git a/addons/medical_feedback/functions/fnc_effectBloodVolume.sqf b/addons/medical_feedback/functions/fnc_effectBloodVolume.sqf index ae2dcc1e74..08a200cbd0 100644 --- a/addons/medical_feedback/functions/fnc_effectBloodVolume.sqf +++ b/addons/medical_feedback/functions/fnc_effectBloodVolume.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles the blood volume effect. diff --git a/addons/medical_feedback/functions/fnc_effectBloodVolumeIcon.sqf b/addons/medical_feedback/functions/fnc_effectBloodVolumeIcon.sqf index 2ba1e5b665..b03867e4bb 100644 --- a/addons/medical_feedback/functions/fnc_effectBloodVolumeIcon.sqf +++ b/addons/medical_feedback/functions/fnc_effectBloodVolumeIcon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 10Dozen * Handles the blood volume icon. diff --git a/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf b/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf index c92a377c13..89d98883fc 100644 --- a/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf +++ b/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles the hear beat sound. diff --git a/addons/medical_feedback/functions/fnc_effectIncapacitated.sqf b/addons/medical_feedback/functions/fnc_effectIncapacitated.sqf index 73526d462a..2607a69db3 100644 --- a/addons/medical_feedback/functions/fnc_effectIncapacitated.sqf +++ b/addons/medical_feedback/functions/fnc_effectIncapacitated.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Creates the incapacitation effect. diff --git a/addons/medical_feedback/functions/fnc_effectPain.sqf b/addons/medical_feedback/functions/fnc_effectPain.sqf index 9b8320244d..0df6cde5dd 100644 --- a/addons/medical_feedback/functions/fnc_effectPain.sqf +++ b/addons/medical_feedback/functions/fnc_effectPain.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Triggers the pain effect (single flash). diff --git a/addons/medical_feedback/functions/fnc_effectUnconscious.sqf b/addons/medical_feedback/functions/fnc_effectUnconscious.sqf index 3cd15bd405..5780b8ea5f 100644 --- a/addons/medical_feedback/functions/fnc_effectUnconscious.sqf +++ b/addons/medical_feedback/functions/fnc_effectUnconscious.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles the unconscious effect. diff --git a/addons/medical_feedback/functions/fnc_handleEffects.sqf b/addons/medical_feedback/functions/fnc_handleEffects.sqf index 4f81ba4689..2066527461 100644 --- a/addons/medical_feedback/functions/fnc_handleEffects.sqf +++ b/addons/medical_feedback/functions/fnc_handleEffects.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles any visual effects of medical. diff --git a/addons/medical_feedback/functions/fnc_handleHUDIndicators.sqf b/addons/medical_feedback/functions/fnc_handleHUDIndicators.sqf index 5579c62110..0f065c6d34 100644 --- a/addons/medical_feedback/functions/fnc_handleHUDIndicators.sqf +++ b/addons/medical_feedback/functions/fnc_handleHUDIndicators.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 10Dozen * Handles indication of the fractures, applied tourniquets and splints over Stance indicator. diff --git a/addons/medical_feedback/functions/fnc_initEffects.sqf b/addons/medical_feedback/functions/fnc_initEffects.sqf index eb2dc31f8b..ccaaffa976 100644 --- a/addons/medical_feedback/functions/fnc_initEffects.sqf +++ b/addons/medical_feedback/functions/fnc_initEffects.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Initializes visual effects of medical. diff --git a/addons/medical_feedback/functions/fnc_playInjuredSound.sqf b/addons/medical_feedback/functions/fnc_playInjuredSound.sqf index 44f60b496f..c278e6e08a 100644 --- a/addons/medical_feedback/functions/fnc_playInjuredSound.sqf +++ b/addons/medical_feedback/functions/fnc_playInjuredSound.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Play random injured sound for a unit. The sound is broadcasted across MP. diff --git a/addons/medical_feedback/functions/script_component.hpp b/addons/medical_feedback/functions/script_component.hpp deleted file mode 100644 index ff9d04881c..0000000000 --- a/addons/medical_feedback/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\medical_feedback\script_component.hpp" diff --git a/addons/medical_feedback/initSettings.sqf b/addons/medical_feedback/initSettings.sqf index 997a5f061b..1268335b21 100644 --- a/addons/medical_feedback/initSettings.sqf +++ b/addons/medical_feedback/initSettings.sqf @@ -2,7 +2,7 @@ QGVAR(painEffectType), "LIST", [LSTRING(PainEffectType_DisplayName), LSTRING(PainEffectType_Description)], - [ELSTRING(medical,Category), LSTRING(SubCategory)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], [ [FX_PAIN_WHITE_FLASH, FX_PAIN_PULSATING_BLUR, FX_PAIN_CHROMATIC_ABERRATION, FX_PAIN_ONLY_BASE], [LSTRING(painEffectType_whiteFlashing), LSTRING(painEffectType_pulsingBlur), LSTRING(painEffectType_chromAberration), LSTRING(painEffectType_onlyBase)], @@ -23,7 +23,7 @@ QGVAR(bloodVolumeEffectType), "LIST", [LSTRING(BloodVolumeEffectType_DisplayName), LSTRING(BloodVolumeEffectType_Description)], - [ELSTRING(medical,Category), LSTRING(SubCategory)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], [ [FX_BLOODVOLUME_COLOR_CORRECTION, FX_BLOODVOLUME_ICON, FX_BLOODVOLUME_BOTH], [LSTRING(BloodVolumeEffectType_colorCorrection), LSTRING(BloodVolumeEffectType_icon), LSTRING(BloodVolumeEffectType_both)], @@ -44,7 +44,7 @@ QGVAR(enableHUDIndicators), "CHECKBOX", [LSTRING(EnableHUDIndicators_DisplayName), LSTRING(EnableHUDIndicators_Description)], - [ELSTRING(medical,Category), LSTRING(SubCategory)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], true, false, { diff --git a/addons/medical_feedback/stringtable.xml b/addons/medical_feedback/stringtable.xml index b6f433d399..e5ca876216 100644 --- a/addons/medical_feedback/stringtable.xml +++ b/addons/medical_feedback/stringtable.xml @@ -127,6 +127,7 @@ Effektart für "Niedriges Blutvolumen" 低血容量影响类型 혈액량 부족 시 효과 종류 + Tipo de efeito por volume baixo de sangue Selects the used low blood volume effect type. @@ -140,6 +141,7 @@ Wählt die verwendete Effektart für niedriges Blutvolumen. 选择低血容量下的效果类型。 혈액량이 부족할 때 어떤 효과로 나타낼지 결정합니다. + Seleciona o tipo de efeito visual quando o volume de sangue está baixo. Color Fading @@ -153,6 +155,7 @@ Farbverblassen 褪色 색바램 + Atenuação de cores Icon @@ -166,6 +169,7 @@ Symbol 图标 아이콘 + Ícone Icon + Color Fading @@ -179,6 +183,7 @@ Symbol + Farbverblassen 图标+褪色 아이콘 및 색바램 + Ícone + Atenuação de cores @@ -192,7 +197,7 @@ Activer les cris Kiáltások engedélyezése Abilita Grida - 叫びを有効化 + 悲鳴を有効化 비명 활성화 启用惨叫 啟用尖叫 @@ -209,7 +214,7 @@ Si cette option est activée, les unités blessées crieront, voire hurleront sous l'effet de la douleur. Engedélyezi a sérült egységek kiáltásait Abilita Grida da parte delle unità ferite - 負傷したユニットが叫ぶようにします。 + 負傷したユニットが悲鳴をあげるようにします。 부상당한 인원이 소리지르는 것을 활성화합니다 启用伤者的惨叫声 啟用傷者的尖叫聲 @@ -218,24 +223,26 @@ Enable Fracture/Tourniquet/Splint Indicators Вкл. индикаторы переломов/жгутов/шин - 骨折/止血帯の表記を有効化 + 骨折/止血帯/副子の表記を有効化 Indicateurs de fractures/garrots/attelles Fraktur-/Tourniquet-/Schienen-Indikatoren aktivieren Włącz wskaźniki złamań/stazy/szyny 启用骨折/止血带/夹板指示器 골절/지혈대/부목 표시 활성화 Habilitar indicadores de Fractura/Torniquete + Habilitar indicadores de Fratura/Torniquete/Tala Enables indicators for fractures and applied tourniquets and splints over the Stance Indicator. Включает индикацию переломов, наложенных шин и жгутов поверх индикатора положения тела. - 体勢インジケータに骨折や添え木、止血帯の有無を表示するかどうかを設定できます。 + 体勢インジケータに骨折や副子、止血帯の有無を表示するかどうかを設定できます。 Affiche des icônes au niveau de l'indicateur de posture, indiquant si le personnage souffre de fractures ou si des garrots ou des attelles sont appliqués. Aktiviert Indikatoren für Frakturen mit angelegte Tourniquets und Schienen über dem Haltungsindikator. Włącza wskaźniki złamań oraz założonej staz/szyn przy ikonie stanu postawy 在姿态指示器上启用骨折、应用止血带和夹板指示器。 자세 표시기 옆에 골절, 지혈대, 부목의 여부를 표시합니다. Habilita los indicadores para fracturas y torniquetes apllicados y férulas sobre el indicador de posición del personaje. + Habilita indicadores para fraturas, torniquetes e talas sobre o indicador de posição do personagem. diff --git a/addons/medical_gui/CfgVehicles.hpp b/addons/medical_gui/CfgVehicles.hpp index 8abfe9f067..502039325a 100644 --- a/addons/medical_gui/CfgVehicles.hpp +++ b/addons/medical_gui/CfgVehicles.hpp @@ -6,7 +6,7 @@ class CfgVehicles { displayName = CSTRING(Medical); condition = QGVAR(enableSelfActions); exceptions[] = {"isNotInside", "isNotSitting", "isNotSwimming"}; - statement = QUOTE([ARR_2(_target,0)] call FUNC(displayPatientInformation)); + statement = QUOTE([ARR_2(_target,-1)] call FUNC(displayPatientInformation)); runOnHover = 1; icon = QPATHTOF(ui\cross.paa); #define ACTION_CONDITION condition = "true"; @@ -40,7 +40,7 @@ class CfgVehicles { displayName = CSTRING(Medical); condition = QUOTE((GVAR(enableActions) == 1 || {GVAR(enableActions) != 2 && {!isNull objectParent _target && {objectParent _target isEqualTo objectParent _player}}})); exceptions[] = {"isNotInside", "isNotSitting"}; - statement = QUOTE([ARR_2(_target,0)] call FUNC(displayPatientInformation)); + statement = QUOTE([ARR_2(_target,-1)] call FUNC(displayPatientInformation)); runOnHover = 1; icon = QPATHTOF(ui\cross.paa); #define ACTION_CONDITION condition = "true"; @@ -51,15 +51,15 @@ class CfgVehicles { displayName = CSTRING(LoadPatient); condition = QUOTE(_target getVariable [ARR_2('ACE_isUnconscious',false)] && {alive _target} && {isNull objectParent _target} && {(_target call EFUNC(common,nearestVehiclesFreeSeat)) isNotEqualTo []}); exceptions[] = {"isNotDragging", "isNotCarrying"}; - statement = QUOTE([ARR_2(_player, _target)] call EFUNC(medical_treatment,loadUnit)); + statement = QUOTE([ARR_2(_player,_target)] call EFUNC(medical_treatment,loadUnit)); icon = QPATHTOF(ui\cross.paa); insertChildren = QUOTE(call DEFUNC(medical_treatment,addLoadPatientActions)); }; class ACE_UnloadPatient { displayName = CSTRING(UnloadPatient); - condition = QUOTE((_target getVariable [ARR_2('ACE_isUnconscious',false)] || {!alive _target}) && {!isNull objectParent _target} && {isNull objectParent _player}); + condition = QUOTE([ARR_2(_player,_target)] call EFUNC(medical_treatment,canUnloadUnit)); exceptions[] = {"isNotDragging", "isNotCarrying", "isNotInside"}; - statement = QUOTE([ARR_2(_player, _target)] call EFUNC(medical_treatment,unloadUnit)); + statement = QUOTE([ARR_2(_player,_target)] call EFUNC(medical_treatment,unloadUnit)); icon = QPATHTOF(ui\cross.paa); }; }; diff --git a/addons/medical_gui/XEH_PREP.hpp b/addons/medical_gui/XEH_PREP.hpp index 857e72315b..3d1ace8b4e 100644 --- a/addons/medical_gui/XEH_PREP.hpp +++ b/addons/medical_gui/XEH_PREP.hpp @@ -2,14 +2,17 @@ PREP(addTreatmentActions); PREP(bloodLossToRGBA); PREP(canOpenMenu); PREP(collectActions); +PREP(countTreatmentItems); PREP(damageToRGBA); PREP(displayPatientInformation); PREP(displayTriageCard); +PREP(formatItemCounts); PREP(handleToggle); PREP(handleTriageSelect); PREP(menuPFH); PREP(modifyAction); PREP(modifyActionTriageLevel); +PREP(onKeyDown); PREP(onMenuClose); PREP(onMenuOpen); PREP(openMenu); diff --git a/addons/medical_gui/XEH_postInit.sqf b/addons/medical_gui/XEH_postInit.sqf index 6127a1a013..f2777f6fd4 100644 --- a/addons/medical_gui/XEH_postInit.sqf +++ b/addons/medical_gui/XEH_postInit.sqf @@ -12,6 +12,9 @@ GVAR(pendingReopen) = false; GVAR(menuPFH) = -1; +GVAR(peekLastOpenedOn) = -1; +GVAR(peekOnHitLastOpenedOn) = -1; + GVAR(selfInteractionActions) = []; [] call FUNC(addTreatmentActions); [] call FUNC(collectActions); @@ -71,8 +74,43 @@ GVAR(selfInteractionActions) = []; false }, [DIK_H, [false, false, false]], false, 0] call CBA_fnc_addKeybind; +["ACE3 Common", QGVAR(peekMedicalInfoKey), localize LSTRING(PeekMedicalInfo), +{ + // Conditions: canInteract + if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false}; + + // Statement + [ACE_player, -1] call FUNC(displayPatientInformation); + false +}, { + if (CBA_missionTime - GVAR(peekLastOpenedOn) > GVAR(peekMedicalInfoReleaseDelay)) then { + [{ + CBA_missionTime - GVAR(peekLastOpenedOn) > GVAR(peekMedicalInfoReleaseDelay) + }, {QGVAR(RscPatientInfo) cutFadeOut 0.3}] call CBA_fnc_waitUntilAndExecute; + }; + GVAR(peekLastOpenedOn) = CBA_missionTime; + false +}, [DIK_H, [false, true, false]], false, 0] call CBA_fnc_addKeybind; + // Close patient information display when interaction menu is closed ["ace_interactMenuClosed", { QGVAR(RscPatientInfo) cutFadeOut 0.3; }] call CBA_fnc_addEventHandler; + +[QEGVAR(medical,woundReceived), { + params ["_unit", "_allDamages", ""]; + if !(GVAR(peekMedicalOnHit) && {_unit == ACE_player}) exitWith {}; + + private _bodypart = toLower (_allDamages select 0 select 1); + private _bodypartIndex = ALL_BODY_PARTS find _bodypart; + + [ACE_player, _bodypartIndex] call FUNC(displayPatientInformation); + + if (CBA_missionTime - GVAR(peekOnHitLastOpenedOn) > GVAR(peekMedicalOnHitDuration)) then { + [{ + CBA_missionTime - GVAR(peekOnHitLastOpenedOn) > GVAR(peekMedicalOnHitDuration) + }, {QGVAR(RscPatientInfo) cutFadeOut 0.3}] call CBA_fnc_waitUntilAndExecute; + }; + GVAR(peekOnHitLastOpenedOn) = CBA_missionTime; +}] call CBA_fnc_addEventHandler; diff --git a/addons/medical_gui/addon.toml b/addons/medical_gui/addon.toml index 7cfef775ee..bf39213892 100644 --- a/addons/medical_gui/addon.toml +++ b/addons/medical_gui/addon.toml @@ -1,2 +1,3 @@ -[preprocess] -enabled = false +[tools] +pboProject_noBinConfig = true +sqfvm_skipConfigChecks = true diff --git a/addons/medical_gui/config.cpp b/addons/medical_gui/config.cpp index eb3ac27561..aa5072d4a5 100644 --- a/addons/medical_gui/config.cpp +++ b/addons/medical_gui/config.cpp @@ -1,5 +1,6 @@ #include "script_component.hpp" +#pragma hemtt flag pe23_ignore_has_include #if __has_include("\z\ace\addons\nomedical\script_component.hpp") #define PATCH_SKIP "No Medical" #endif diff --git a/addons/medical_gui/data/body_image/arm_left_s.paa b/addons/medical_gui/data/body_image/arm_left_s.paa new file mode 100644 index 0000000000..4c55e6143e Binary files /dev/null and b/addons/medical_gui/data/body_image/arm_left_s.paa differ diff --git a/addons/medical_gui/data/body_image/arm_right_s.paa b/addons/medical_gui/data/body_image/arm_right_s.paa new file mode 100644 index 0000000000..daff9d099e Binary files /dev/null and b/addons/medical_gui/data/body_image/arm_right_s.paa differ diff --git a/addons/medical_gui/data/body_image/head_s.paa b/addons/medical_gui/data/body_image/head_s.paa new file mode 100644 index 0000000000..9acf69a155 Binary files /dev/null and b/addons/medical_gui/data/body_image/head_s.paa differ diff --git a/addons/medical_gui/data/body_image/leg_left_s.paa b/addons/medical_gui/data/body_image/leg_left_s.paa new file mode 100644 index 0000000000..1f25d44b81 Binary files /dev/null and b/addons/medical_gui/data/body_image/leg_left_s.paa differ diff --git a/addons/medical_gui/data/body_image/leg_right_s.paa b/addons/medical_gui/data/body_image/leg_right_s.paa new file mode 100644 index 0000000000..4fcace26ed Binary files /dev/null and b/addons/medical_gui/data/body_image/leg_right_s.paa differ diff --git a/addons/medical_gui/data/body_image/torso_s.paa b/addons/medical_gui/data/body_image/torso_s.paa new file mode 100644 index 0000000000..58614f277f Binary files /dev/null and b/addons/medical_gui/data/body_image/torso_s.paa differ diff --git a/addons/medical_gui/data/categories/carry.paa b/addons/medical_gui/data/categories/carry.paa index 7ebb830b03..27a9185d29 100644 Binary files a/addons/medical_gui/data/categories/carry.paa and b/addons/medical_gui/data/categories/carry.paa differ diff --git a/addons/medical_gui/data/categories/toggle_self.paa b/addons/medical_gui/data/categories/toggle_self.paa deleted file mode 100644 index 73108e5a98..0000000000 Binary files a/addons/medical_gui/data/categories/toggle_self.paa and /dev/null differ diff --git a/addons/medical_gui/data/categories/toggle_to_other.paa b/addons/medical_gui/data/categories/toggle_to_other.paa new file mode 100644 index 0000000000..59f2096b8a Binary files /dev/null and b/addons/medical_gui/data/categories/toggle_to_other.paa differ diff --git a/addons/medical_gui/data/categories/toggle_to_self.paa b/addons/medical_gui/data/categories/toggle_to_self.paa new file mode 100644 index 0000000000..653a6bbdb4 Binary files /dev/null and b/addons/medical_gui/data/categories/toggle_to_self.paa differ diff --git a/addons/medical_gui/functions/fnc_addTreatmentActions.sqf b/addons/medical_gui/functions/fnc_addTreatmentActions.sqf index 541c308ff0..3df89894d2 100644 --- a/addons/medical_gui/functions/fnc_addTreatmentActions.sqf +++ b/addons/medical_gui/functions/fnc_addTreatmentActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut, mharis001 * Creates actions for treatments from config and adds them to the interaction menu. diff --git a/addons/medical_gui/functions/fnc_bloodLossToRGBA.sqf b/addons/medical_gui/functions/fnc_bloodLossToRGBA.sqf index 94414b1d7a..acc2181aac 100644 --- a/addons/medical_gui/functions/fnc_bloodLossToRGBA.sqf +++ b/addons/medical_gui/functions/fnc_bloodLossToRGBA.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ShackTac, kymckay * Converts a blood loss value into a representative RGBA colour. diff --git a/addons/medical_gui/functions/fnc_canOpenMenu.sqf b/addons/medical_gui/functions/fnc_canOpenMenu.sqf index f94c73bb9e..fc2ac3879e 100644 --- a/addons/medical_gui/functions/fnc_canOpenMenu.sqf +++ b/addons/medical_gui/functions/fnc_canOpenMenu.sqf @@ -1,6 +1,6 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* - * Author: Glowbal, mharis001 + * Author: Glowbal, mharis001, johnb43 * Checks if the player can open the Medical Menu for the target. * * Arguments: @@ -18,8 +18,14 @@ params ["_player", "_target"]; -alive _player -&& {!IS_UNCONSCIOUS(_player)} -&& {!isNull _target} -&& {_player distance _target < GVAR(maxDistance) || {vehicle _player == vehicle _target}} -&& {GVAR(enableMedicalMenu) == 1 || {GVAR(enableMedicalMenu) == 2 && {vehicle _player != _player || {vehicle _target != _target}}}} +// If in Zeus +if (!isNull findDisplay 312) exitWith { + !isNull _target && + {missionNamespace getVariable [QGVAR(enableZeusModule), true]} && + {GVAR(enableMedicalMenu) > 0} +}; + +_player call EFUNC(common,isAwake) && +{!isNull _target} && +{_player distance _target < GVAR(maxDistance) || {vehicle _player == vehicle _target}} && +{GVAR(enableMedicalMenu) == 1 || {GVAR(enableMedicalMenu) == 2 && {vehicle _player != _player || {vehicle _target != _target}}}} diff --git a/addons/medical_gui/functions/fnc_collectActions.sqf b/addons/medical_gui/functions/fnc_collectActions.sqf index a1f28e03bf..818decb017 100644 --- a/addons/medical_gui/functions/fnc_collectActions.sqf +++ b/addons/medical_gui/functions/fnc_collectActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Collect treatment actions for medical menu from config. @@ -24,8 +24,9 @@ GVAR(actions) = []; private _category = getText (_x >> "category"); private _condition = compile format [QUOTE([ARR_4(ACE_player, GVAR(target), %1 select GVAR(selectedBodyPart), '%2')] call DEFUNC(medical_treatment,canTreatCached)), ALL_BODY_PARTS, _configName]; private _statement = compile format [QUOTE([ARR_4(ACE_player, GVAR(target), %1 select GVAR(selectedBodyPart), '%2')] call DEFUNC(medical_treatment,treatment)), ALL_BODY_PARTS, _configName]; + private _items = getArray (_x >> "items"); - GVAR(actions) pushBack [_displayName, _category, _condition, _statement]; + GVAR(actions) pushBack [_displayName, _category, _condition, _statement, _items]; } forEach configProperties [configFile >> QEGVAR(medical_treatment,actions), "isClass _x"]; diff --git a/addons/medical_gui/functions/fnc_countTreatmentItems.sqf b/addons/medical_gui/functions/fnc_countTreatmentItems.sqf new file mode 100644 index 0000000000..102d996bb3 --- /dev/null +++ b/addons/medical_gui/functions/fnc_countTreatmentItems.sqf @@ -0,0 +1,53 @@ +#include "..\script_component.hpp" +/* + * Author: AmsteadRayle + * Counts how many of the given items are present between the medic and patient. + * If medic or patient are in a vehicle then vehicle's inventory will also be checked. + * + * Arguments: + * 0: Items + * + * Return Value: + * Counts (can be nil) + * + * Example: + * [items] call ace_medical_gui_fnc_countTreatmentItems + * + * Public: No + */ + +params ["_items"]; + +private _medicCount = 0; +private _patientCount = nil; +private _vehicleCount = nil; + +// Medic +{ + _medicCount = _medicCount + ([ACE_player, _x] call EFUNC(common,getCountOfItem)); +} forEach _items; + +// Patient +if (ACE_player != GVAR(target)) then { + _patientCount = 0; + { + _patientCount = _patientCount + ([GVAR(target), _x] call EFUNC(common,getCountOfItem)); + } forEach _items; +}; + +// Vehicle +private _medicVehicle = objectParent ACE_player; +private _patientVehicle = objectParent GVAR(target); +private _vehicle = if (!isNull _medicVehicle) then {_medicVehicle} else {_patientVehicle}; + +if (!isNull _vehicle) then { + _vehicleCount = 0; + (getItemCargo _vehicle) params ["_itemTypes", "_itemCounts"]; + { + private _item = _x; + private _index = _itemTypes find _item; + _vehicleCount = _vehicleCount + (_itemCounts param [_index, 0]); + } forEach _items; +}; + +[_medicCount, _patientCount, _vehicleCount] diff --git a/addons/medical_gui/functions/fnc_damageToRGBA.sqf b/addons/medical_gui/functions/fnc_damageToRGBA.sqf index 87bb9fc603..56bd9a256f 100644 --- a/addons/medical_gui/functions/fnc_damageToRGBA.sqf +++ b/addons/medical_gui/functions/fnc_damageToRGBA.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ShackTac, kymckay * Converts a damage value into a representative RGBA colour. diff --git a/addons/medical_gui/functions/fnc_displayPatientInformation.sqf b/addons/medical_gui/functions/fnc_displayPatientInformation.sqf index ac76d34012..65660eec79 100644 --- a/addons/medical_gui/functions/fnc_displayPatientInformation.sqf +++ b/addons/medical_gui/functions/fnc_displayPatientInformation.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Opens the patient information display for given target. @@ -18,7 +18,7 @@ #define MAX_DISTANCE 4 -params ["_target", "_selectionN"]; +params ["_target", ["_selectionN", -1]]; private _display = uiNamespace getVariable [QGVAR(RscPatientInfo), displayNull]; @@ -34,7 +34,7 @@ if (isNull _display) then { }; private _target = _display getVariable [QGVAR(target), objNull]; - private _selectionN = _display getVariable [QGVAR(selectionN), 0]; + private _selectionN = _display getVariable [QGVAR(selectionN), -1]; // Close display if target moved too far away (ignore if in same vehicle) if (ACE_player distance _target > MAX_DISTANCE && {vehicle _target != vehicle ACE_player}) exitWith { @@ -45,7 +45,7 @@ if (isNull _display) then { // Update body image private _ctrlBodyImage = _display displayCtrl IDC_BODY_GROUP; - [_ctrlBodyImage, _target] call FUNC(updateBodyImage); + [_ctrlBodyImage, _target, _selectionN] call FUNC(updateBodyImage); // Update injury list private _ctrlInjuries = _display displayCtrl IDC_INJURIES; diff --git a/addons/medical_gui/functions/fnc_displayTriageCard.sqf b/addons/medical_gui/functions/fnc_displayTriageCard.sqf index 3a7f8c4adf..75db6bf6a3 100644 --- a/addons/medical_gui/functions/fnc_displayTriageCard.sqf +++ b/addons/medical_gui/functions/fnc_displayTriageCard.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Displays the triage card for the target. diff --git a/addons/medical_gui/functions/fnc_formatItemCounts.sqf b/addons/medical_gui/functions/fnc_formatItemCounts.sqf new file mode 100644 index 0000000000..7ef294f4eb --- /dev/null +++ b/addons/medical_gui/functions/fnc_formatItemCounts.sqf @@ -0,0 +1,32 @@ +#include "..\script_component.hpp" +/* + * Author: AmsteadRayle + * Format item counts to be shown in the tooltip. + * + * Arguments: + * 0: Medic count + * 1: Patient count + * 2: Vehicle count + * + * Return Value: + * Item count string + * + * Example: + * [medicCount, patientCount, vehicleCount] call ace_medical_gui_fnc_formatItemCounts + * + * Public: No + */ + +params ["_medicCount", "_patientCount", "_vehicleCount"]; + +private _countStrings = [format ["%1 %2", _medicCount, LLSTRING(TreatmentItemCount_Medic)]]; + +if ((EGVAR(medical_treatment,allowSharedEquipment) != 2) && {!isNil "_patientCount"}) then { + _countStrings pushBack format ["%1 %2", _patientCount, LLSTRING(TreatmentItemCount_Patient)]; +}; + +if (!isNil "_vehicleCount") then { + _countStrings pushBack format ["%1 %2", _vehicleCount, LLSTRING(TreatmentItemCount_Vehicle)]; +}; + +_countStrings joinString "\n" diff --git a/addons/medical_gui/functions/fnc_handleToggle.sqf b/addons/medical_gui/functions/fnc_handleToggle.sqf index c2634affdb..f0448fc3a3 100644 --- a/addons/medical_gui/functions/fnc_handleToggle.sqf +++ b/addons/medical_gui/functions/fnc_handleToggle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Handles toggling of Medical Menu between the player and previous target. @@ -15,6 +15,9 @@ * Public: No */ + // If in Zeus, ignore + if (!isNull findDisplay 312) exitWith {}; + // Find new target to switch to private _target = if ( GVAR(target) == ACE_player diff --git a/addons/medical_gui/functions/fnc_handleTriageSelect.sqf b/addons/medical_gui/functions/fnc_handleTriageSelect.sqf index 31a25e18ee..2c28aaded3 100644 --- a/addons/medical_gui/functions/fnc_handleTriageSelect.sqf +++ b/addons/medical_gui/functions/fnc_handleTriageSelect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Handles clicking the triage select buttons. diff --git a/addons/medical_gui/functions/fnc_menuPFH.sqf b/addons/medical_gui/functions/fnc_menuPFH.sqf index c2dc7a277f..b3d51c2dc9 100644 --- a/addons/medical_gui/functions/fnc_menuPFH.sqf +++ b/addons/medical_gui/functions/fnc_menuPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Handles updating the Medical Menu UI for the current target. @@ -16,7 +16,10 @@ */ // Check if menu should stay open for target -if !([ACE_player, GVAR(target), ["isNotInside", "isNotSwimming"]] call EFUNC(common,canInteractWith) && {[ACE_player, GVAR(target)] call FUNC(canOpenMenu)}) then { +if !( + ([ACE_player, GVAR(target), ["isNotInside", "isNotSwimming"]] call EFUNC(common,canInteractWith) || {!isNull findDisplay 312}) && // Allow player to look at himself when unconsious and in Zeus + {[ACE_player, GVAR(target)] call FUNC(canOpenMenu)} +) then { closeDialog 0; // Show hint if distance condition failed if ((ACE_player distance GVAR(target) > GVAR(maxDistance)) && {vehicle ACE_player != vehicle GVAR(target)}) then { @@ -40,7 +43,7 @@ private _ctrlInjuries = _display displayCtrl IDC_INJURIES; // Update body image private _ctrlBodyImage = _display displayCtrl IDC_BODY_GROUP; -[_ctrlBodyImage, GVAR(target)] call FUNC(updateBodyImage); +[_ctrlBodyImage, GVAR(target), GVAR(selectedBodyPart)] call FUNC(updateBodyImage); // Update activity and quick view logs private _ctrlActivityLog = _display displayCtrl IDC_ACTIVITY; diff --git a/addons/medical_gui/functions/fnc_modifyAction.sqf b/addons/medical_gui/functions/fnc_modifyAction.sqf index d968808378..177eb4e091 100644 --- a/addons/medical_gui/functions/fnc_modifyAction.sqf +++ b/addons/medical_gui/functions/fnc_modifyAction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain, kymckay, mharis001 * Modifies the medical action icons to show blood loss and tourniquets. diff --git a/addons/medical_gui/functions/fnc_modifyActionTriageLevel.sqf b/addons/medical_gui/functions/fnc_modifyActionTriageLevel.sqf index 1d07f79de2..b8cca898f2 100644 --- a/addons/medical_gui/functions/fnc_modifyActionTriageLevel.sqf +++ b/addons/medical_gui/functions/fnc_modifyActionTriageLevel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brett Mayson * Modifies the action color to match the triage level. diff --git a/addons/medical_gui/functions/fnc_onKeyDown.sqf b/addons/medical_gui/functions/fnc_onKeyDown.sqf new file mode 100644 index 0000000000..6b9013f8be --- /dev/null +++ b/addons/medical_gui/functions/fnc_onKeyDown.sqf @@ -0,0 +1,100 @@ +#include "..\script_component.hpp" +#include "\a3\ui_f\hpp\defineDIKCodes.inc" +/* + * Author: AmsteadRayle + * Handles keyboard inputs in medical menu. + * + * Arguments: + * 1: Args + * - 0: Menu display + * - 1: Key being pressed + * - 2: Shift state + * - 3: Ctrl state + * - 4: Alt state + * + * Return Value: + * None + * + * Example: + * ["", [displayNull, 5, false, false, false]] call ace_medical_gui_fnc_onKeyDown + * + * Public: No +*/ +// TODO: Is the airway category ever visible? Can the dynamic category stuff be removed? + +#define NUMBER_KEYS [DIK_1, DIK_2, DIK_3, DIK_4, DIK_5, DIK_6, DIK_7, DIK_8, DIK_9, DIK_0] +#define ALL_CATEGORIES ["triage", "examine", "bandage", "medication", "airway", "advanced", "drag", "toggle"] + +params ["", "_args"]; +_args params ["_display", "_keyPressed", "_shiftState", "_ctrlState", "_altState"]; + +private _return = true; // Override existing keybinds for keys used here + +private _visibleCategories = [ + "bandage","medication","airway","advanced","drag" +] select { + private _category = _x; + (GVAR(actions) findIf {_category == _x select 1}) > -1 +}; + +private _allCategories = ["triage", "examine"] + _visibleCategories + ["toggle"]; + +// Use hashmap as a shortcut to "zip" two arrays together +// Use categories as keys in hashmap because there are fewer, +// otherwise the hashmap is padded with nil +private _keyCategoryPairs = _allCategories createHashMapFromArray NUMBER_KEYS; + +private _temp_category = ""; +private _temp_idc = 0; + +switch (true) do { +// Dynamically assign number keys to visible categories + { + _temp_category = _x; // _x does not exist inside case code + _temp_idc = IDC_TRIAGE + (ALL_CATEGORIES find _temp_category) * 10; + case (_keyPressed == _y && {GVAR(selectedCategory) != _temp_category}): { + if (ctrlEnabled _temp_idc) then { + if (_temp_category == "toggle") then { + call FUNC(handleToggle); + } else { + GVAR(selectedCategory) = _temp_category; + }; + } else { + _return = false; + }; + }; + } forEach _keyCategoryPairs; + +// Select body part through similar keyboard layout: +// w +// a s d +// z x + case (_keyPressed == DIK_W && {GVAR(selectedBodyPart) != 0}): { + GVAR(selectedBodyPart) = 0; + }; + case (_keyPressed == DIK_S && {GVAR(selectedBodyPart != 1)}): { + GVAR(selectedBodyPart) = 1; + }; + case (_keyPressed == DIK_D && {GVAR(selectedBodyPart) != 2}): { + GVAR(selectedBodyPart) = 2; + }; + case (_keyPressed == DIK_A && {GVAR(selectedBodyPart) != 3}): { + GVAR(selectedBodyPart) = 3; + }; + case (_keyPressed == DIK_X && {GVAR(selectedBodyPart) != 4}): { + GVAR(selectedBodyPart) = 4; + }; + case (_keyPressed == DIK_Z && {GVAR(selectedBodyPart) != 5}): { + GVAR(selectedBodyPart) = 5; + }; + + default { + _return = false; // Do not override existing keybinds for keys not used here + }; +}; + +if (_return) then { + playSound ["SoundClick", true] +}; + +_return diff --git a/addons/medical_gui/functions/fnc_onMenuClose.sqf b/addons/medical_gui/functions/fnc_onMenuClose.sqf index a531eca4e8..01165d8479 100644 --- a/addons/medical_gui/functions/fnc_onMenuClose.sqf +++ b/addons/medical_gui/functions/fnc_onMenuClose.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: joko // Jonas * Handles closing the Medical Menu. Called from onUnload event. diff --git a/addons/medical_gui/functions/fnc_onMenuOpen.sqf b/addons/medical_gui/functions/fnc_onMenuOpen.sqf index b6c326f590..e77d92bddd 100644 --- a/addons/medical_gui/functions/fnc_onMenuOpen.sqf +++ b/addons/medical_gui/functions/fnc_onMenuOpen.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Handles opening the Medical Menu. Called from onLoad event. @@ -26,8 +26,8 @@ if (EGVAR(interact_menu,menuBackground) == 2) then {0 cutRsc [QEGVAR(interact_me [{setMousePosition _this}, _this] call CBA_fnc_execNextFrame; }, getMousePosition] call CBA_fnc_execNextFrame; -// Set target name as title -private _ctrlTitle = _display displayCtrl IDC_TITLE; +// Set middle header as target name +private _ctrlTitle = _display displayCtrl IDC_NAME; _ctrlTitle ctrlSetText ([GVAR(target)] call EFUNC(common,getName)); // Initially hide the triage select buttons @@ -59,9 +59,25 @@ private _countEnabled = { if (_category isEqualType "") then { _x set [1, (GVAR(actions) findIf {_category == _x select 1}) > -1]; }; _x select 1 } count _list; -private _offsetX = POS_X(1.5) + 0.5 * (POS_X(12) - POS_X(_countEnabled * 1.5)); +private _offsetX = POS_X(1.5) + 0.5 * (POS_X(12.33) - POS_X(_countEnabled * 1.5) - POS_W(2 * 0.2)); +// 0.2 - divider gap size + +// Set divider position +private _ctrl = _display displayCtrl IDC_TRIAGE_DIVIDER; +_ctrl ctrlSetPositionX _offsetX + POS_W(1.5) + POS_W(0.085); // 0.085 = (0.2 - 0.03) / 2 +_ctrl ctrlCommit 0; + +_ctrl = _display displayCtrl IDC_TOGGLE_DIVIDER; +_ctrl ctrlSetPositionX _offsetX + POS_W(1.5*(_countEnabled - 1)) + POS_W(0.2) + POS_W(0.085); +_ctrl ctrlCommit 0; + { _x params ["_idc", "_enabled"]; + + if (_forEachIndex == 1 || {_forEachIndex == count _list - 1}) then { + _offsetX = _offsetX + POS_W(0.2); + }; + private _ctrl = _display displayCtrl _idc; if (_enabled) then { _ctrl ctrlSetPositionX _offsetX; @@ -71,3 +87,13 @@ private _offsetX = POS_X(1.5) + 0.5 * (POS_X(12) - POS_X(_countEnabled * 1.5)); _ctrl ctrlShow false; }; } forEach _list; + +// Set toggle button icon and tooltip +private _ctrl = _display displayCtrl IDC_TOGGLE; +if (GVAR(target) == ACE_player) then { + _ctrl ctrlSetText QPATHTOF(data\categories\toggle_to_other.paa); + _ctrl ctrlSetTooltip LLSTRING(ToggleToOther); +} else { + _ctrl ctrlSetText QPATHTOF(data\categories\toggle_to_self.paa); + _ctrl ctrlSetTooltip LLSTRING(ToggleToSelf); +}; diff --git a/addons/medical_gui/functions/fnc_openMenu.sqf b/addons/medical_gui/functions/fnc_openMenu.sqf index cd8f71274c..4c9f21f62a 100644 --- a/addons/medical_gui/functions/fnc_openMenu.sqf +++ b/addons/medical_gui/functions/fnc_openMenu.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Opens the Medical Menu for given target. diff --git a/addons/medical_gui/functions/fnc_toggleTriageSelect.sqf b/addons/medical_gui/functions/fnc_toggleTriageSelect.sqf index 11281692e3..4b9ca1a750 100644 --- a/addons/medical_gui/functions/fnc_toggleTriageSelect.sqf +++ b/addons/medical_gui/functions/fnc_toggleTriageSelect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Toggles showing of the triage select buttons. diff --git a/addons/medical_gui/functions/fnc_updateActions.sqf b/addons/medical_gui/functions/fnc_updateActions.sqf index 3718d1936e..6d52b8ccdf 100644 --- a/addons/medical_gui/functions/fnc_updateActions.sqf +++ b/addons/medical_gui/functions/fnc_updateActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Updates the action buttons based currently avaiable treatments. @@ -38,7 +38,7 @@ if (_showTriage) exitWith { // Show treatment options on action buttons private _shownIndex = 0; { - _x params ["_displayName", "_category", "_condition", "_statement"]; + _x params ["_displayName", "_category", "_condition", "_statement", "_items"]; // Check action category and condition if (_category == _selectedCategory && {call _condition}) then { @@ -50,6 +50,27 @@ private _shownIndex = 0; _ctrl ctrlSetPositionY POS_H(1.1 * _shownIndex); _ctrl ctrlCommit 0; + private _countText = ""; + if (_items isNotEqualTo []) then { + if ("ACE_surgicalKit" in _items && {EGVAR(medical_treatment,consumeSurgicalKit) == 2}) then { + _items = ["ACE_suture"]; + }; + private _counts = [_items] call FUNC(countTreatmentItems); + _countText = _counts call FUNC(formatItemCounts); + }; + _ctrl ctrlSetTooltipColorText [1, 1, 1, 1]; + _ctrl ctrlSetTooltip _countText; + + // Show warning if tourniquet will interfere with action + if ( + GVAR(tourniquetWarning) && + {(_category in ["examine", "medication"]) || (_items findIf {"IV" in _x}) > -1} && + {HAS_TOURNIQUET_APPLIED_ON(GVAR(target),GVAR(selectedBodyPart))} + ) then { + _ctrl ctrlSetTooltipColorText [1, 1, 0, 1]; + _ctrl ctrlSetTooltip LLSTRING(TourniquetWarning); + }; + _ctrl ctrlSetText _displayName; _ctrl ctrlShow true; diff --git a/addons/medical_gui/functions/fnc_updateBodyImage.sqf b/addons/medical_gui/functions/fnc_updateBodyImage.sqf index 925779dc88..4d22b68a2d 100644 --- a/addons/medical_gui/functions/fnc_updateBodyImage.sqf +++ b/addons/medical_gui/functions/fnc_updateBodyImage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, kymckay, mharis001 * Updates the body image for given target. @@ -6,17 +6,18 @@ * Arguments: * 0: Body image controls group * 1: Target + * 2: Body part * * Return Value: * None * * Example: - * [CONTROL, _target] call ace_medical_gui_fnc_updateBodyImage + * [CONTROL, _target, 0] call ace_medical_gui_fnc_updateBodyImage * * Public: No */ -params ["_ctrlGroup", "_target"]; +params ["_ctrlGroup", "_target", "_selectionN"]; // Get tourniquets, damage, and blood loss for target private _tourniquets = GET_TOURNIQUETS(_target); @@ -34,7 +35,12 @@ private _bodyPartBloodLoss = [0, 0, 0, 0, 0, 0]; } forEach GET_OPEN_WOUNDS(_target); { - _x params ["_bodyPartIDC", ["_tourniquetIDC", -1], ["_fractureIDC", -1]]; + _x params ["_bodyPartIDC", "_selectedIDC", ["_tourniquetIDC", -1], ["_fractureIDC", -1]]; + + private _selected = _forEachIndex == _selectionN; + private _ctrlSelected = _ctrlGroup controlsGroupCtrl _selectedIDC; + _ctrlSelected ctrlSetTextColor GVAR(bodypartOutlineColor); + _ctrlSelected ctrlShow _selected; // Show or hide the tourniquet icon if (_tourniquetIDC != -1) then { @@ -85,17 +91,17 @@ private _bodyPartBloodLoss = [0, 0, 0, 0, 0, 0]; _damageThreshold = _damageThreshold * 1.5 }; }; - _damage = (_damage / _damageThreshold) min 1; + _damage = (_damage / (0.01 max _damageThreshold)) min 1; [_damage] call FUNC(damageToRGBA); }; private _ctrlBodyPart = _ctrlGroup controlsGroupCtrl _bodyPartIDC; _ctrlBodyPart ctrlSetTextColor _bodyPartColor; } forEach [ - [IDC_BODY_HEAD], - [IDC_BODY_TORSO], - [IDC_BODY_ARMLEFT, IDC_BODY_ARMLEFT_T, IDC_BODY_ARMLEFT_B], - [IDC_BODY_ARMRIGHT, IDC_BODY_ARMRIGHT_T, IDC_BODY_ARMRIGHT_B], - [IDC_BODY_LEGLEFT, IDC_BODY_LEGLEFT_T, IDC_BODY_LEGLEFT_B], - [IDC_BODY_LEGRIGHT, IDC_BODY_LEGRIGHT_T, IDC_BODY_LEGRIGHT_B] + [IDC_BODY_HEAD, IDC_BODY_HEAD_S], + [IDC_BODY_TORSO, IDC_BODY_TORSO_S], + [IDC_BODY_ARMLEFT, IDC_BODY_ARMLEFT_S, IDC_BODY_ARMLEFT_T, IDC_BODY_ARMLEFT_B], + [IDC_BODY_ARMRIGHT, IDC_BODY_ARMRIGHT_S, IDC_BODY_ARMRIGHT_T, IDC_BODY_ARMRIGHT_B], + [IDC_BODY_LEGLEFT, IDC_BODY_LEGLEFT_S, IDC_BODY_LEGLEFT_T, IDC_BODY_LEGLEFT_B], + [IDC_BODY_LEGRIGHT, IDC_BODY_LEGRIGHT_S, IDC_BODY_LEGRIGHT_T, IDC_BODY_LEGRIGHT_B] ]; diff --git a/addons/medical_gui/functions/fnc_updateCategories.sqf b/addons/medical_gui/functions/fnc_updateCategories.sqf index 4780f5b996..c9917a8758 100644 --- a/addons/medical_gui/functions/fnc_updateCategories.sqf +++ b/addons/medical_gui/functions/fnc_updateCategories.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Updates the category buttons based currently avaiable treatments. @@ -22,6 +22,7 @@ params ["_display"]; private _ctrl = _display displayCtrl _idc; private _enable = GVAR(actions) findIf {_category == _x select 1 && {call (_x select 2)}} > -1; + if (_category isEqualTo "triage") then {_enable = true}; _ctrl ctrlEnable _enable; private _selectedColor = [ @@ -36,6 +37,7 @@ params ["_display"]; _color set [-1, 0.8]; // Mouseover change _ctrl ctrlSetActiveColor _color; } forEach [ + [IDC_TRIAGE, "triage"], [IDC_EXAMINE, "examine"], [IDC_BANDAGE, "bandage"], [IDC_MEDICATION, "medication"], diff --git a/addons/medical_gui/functions/fnc_updateInjuryList.sqf b/addons/medical_gui/functions/fnc_updateInjuryList.sqf index d6f650f8a8..328e80242a 100644 --- a/addons/medical_gui/functions/fnc_updateInjuryList.sqf +++ b/addons/medical_gui/functions/fnc_updateInjuryList.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Updates injury list for given body part for the target. @@ -6,7 +6,7 @@ * Arguments: * 0: Injury list * 1: Target - * 2: Body part + * 2: Body part, -1 to only show overall health info * * Return Value: * None @@ -20,6 +20,103 @@ params ["_ctrl", "_target", "_selectionN"]; private _entries = []; +private _nonissueColor = [1, 1, 1, 0.33]; + +// Indicate if unit is bleeding at all +if (IS_BLEEDING(_target)) then { + // Give a qualitative description of the rate of bleeding + private _cardiacOutput = [_target] call EFUNC(medical_status,getCardiacOutput); + private _bleedRate = GET_BLOOD_LOSS(_target); + private _bleedRateKO = BLOOD_LOSS_KNOCK_OUT_THRESHOLD * (_cardiacOutput max 0.05); + // Use nonzero minimum cardiac output to prevent all bleeding showing as massive during cardiac arrest + + switch (true) do { + case (_bleedRate < _bleedRateKO * BLEED_RATE_SLOW): { + _entries pushBack [localize LSTRING(Bleed_Rate1), [1, 1, 0, 1]]; + }; + case (_bleedRate < _bleedRateKO * BLEED_RATE_MODERATE): { + _entries pushBack [localize LSTRING(Bleed_Rate2), [1, 0.67, 0, 1]]; + }; + case (_bleedRate < _bleedRateKO * BLEED_RATE_SEVERE): { + _entries pushBack [localize LSTRING(Bleed_Rate3), [1, 0.33, 0, 1]]; + }; + default { + _entries pushBack [localize LSTRING(Bleed_Rate4), [1, 0, 0, 1]]; + }; + }; +} else { + _entries pushBack [localize LSTRING(Status_Nobleeding), _nonissueColor]; +}; + +if (GVAR(showBloodlossEntry)) then { + // Give a qualitative description of the blood volume lost + switch (GET_HEMORRHAGE(_target)) do { + case 0: { + _entries pushBack [localize LSTRING(Lost_Blood0), _nonissueColor]; + }; + case 1: { + _entries pushBack [localize LSTRING(Lost_Blood1), [1, 1, 0, 1]]; + }; + case 2: { + _entries pushBack [localize LSTRING(Lost_Blood2), [1, 0.67, 0, 1]]; + }; + case 3: { + _entries pushBack [localize LSTRING(Lost_Blood3), [1, 0.33, 0, 1]]; + }; + case 4: { + _entries pushBack [localize LSTRING(Lost_Blood4), [1, 0, 0, 1]]; + }; + }; +}; +// Show receiving IV volume remaining +private _totalIvVolume = 0; +{ + _x params ["_volumeRemaining"]; + _totalIvVolume = _totalIvVolume + _volumeRemaining; +} forEach (_target getVariable [QEGVAR(medical,ivBags), []]); + +if (_totalIvVolume >= 1) then { + _entries pushBack [format [localize ELSTRING(medical_treatment,receivingIvVolume), floor _totalIvVolume], [1, 1, 1, 1]]; +} else { + _entries pushBack [localize ELSTRING(medical_treatment,Status_NoIv), _nonissueColor]; +}; + +// Indicate the amount of pain the unit is in +if (_target call EFUNC(common,isAwake)) then { + private _pain = GET_PAIN_PERCEIVED(_target); + if (_pain > 0) then { + private _painText = switch (true) do { + case (_pain > PAIN_UNCONSCIOUS): { + ELSTRING(medical_treatment,Status_SeverePain); + }; + case (_pain > (PAIN_UNCONSCIOUS / 5)): { + ELSTRING(medical_treatment,Status_Pain); + }; + default { + ELSTRING(medical_treatment,Status_MildPain); + }; + }; + _entries pushBack [localize _painText, [1, 1, 1, 1]]; + } else { + _entries pushBack [localize ELSTRING(medical_treatment,Status_NoPain), _nonissueColor]; + }; +}; + +// Skip the rest as they're body part specific +if (_selectionN == -1) exitWith { + // Add all entries to injury list + lbClear _ctrl; + + { + _x params ["_text", "_color"]; + + _ctrl lbSetColor [_ctrl lbAdd _text, _color]; + } forEach _entries; + + _ctrl lbSetCurSel -1; +}; + +_entries pushBack ["", [1, 1, 1, 1]]; // Add selected body part name private _bodyPartName = [ @@ -70,29 +167,6 @@ if (GVAR(showDamageEntry)) then { }; }; -// Indicate if unit is bleeding at all -if (IS_BLEEDING(_target)) then { - _entries pushBack [localize LSTRING(Status_Bleeding), [1, 0, 0, 1]]; -}; - -if (GVAR(showBloodlossEntry)) then { - // Give a qualitative description of the blood volume lost - switch (GET_HEMORRHAGE(_target)) do { - case 1: { - _entries pushBack [localize LSTRING(Lost_Blood1), [1, 1, 0, 1]]; - }; - case 2: { - _entries pushBack [localize LSTRING(Lost_Blood2), [1, 0.67, 0, 1]]; - }; - case 3: { - _entries pushBack [localize LSTRING(Lost_Blood3), [1, 0.33, 0, 1]]; - }; - case 4: { - _entries pushBack [localize LSTRING(Lost_Blood4), [1, 0, 0, 1]]; - }; - }; -}; - // Indicate if a tourniquet is applied if (HAS_TOURNIQUET_APPLIED_ON(_target,_selectionN)) then { _entries pushBack [localize LSTRING(Status_Tourniquet_Applied), [0.77, 0.51, 0.08, 1]]; @@ -110,36 +184,6 @@ switch (GET_FRACTURES(_target) select _selectionN) do { }; }; -// Indicate the amount of pain the unit is in -if (_target call EFUNC(common,isAwake)) then { - private _pain = GET_PAIN_PERCEIVED(_target); - if (_pain > 0) then { - private _painText = switch (true) do { - case (_pain > PAIN_UNCONSCIOUS): { - ELSTRING(medical_treatment,Status_SeverePain); - }; - case (_pain > (PAIN_UNCONSCIOUS / 5)): { - ELSTRING(medical_treatment,Status_Pain); - }; - default { - ELSTRING(medical_treatment,Status_MildPain); - }; - }; - _entries pushBack [localize _painText, [1, 1, 1, 1]]; - }; -}; - -// Show receiving IV volume remaining -private _totalIvVolume = 0; -{ - _x params ["_volumeRemaining"]; - _totalIvVolume = _totalIvVolume + _volumeRemaining; -} forEach (_target getVariable [QEGVAR(medical,ivBags), []]); - -if (_totalIvVolume >= 1) then { - _entries pushBack [format [localize ELSTRING(medical_treatment,receivingIvVolume), floor _totalIvVolume], [1, 1, 1, 1]]; -}; - // Add entries for open, bandaged, and stitched wounds private _woundEntries = []; @@ -174,7 +218,7 @@ private _fnc_processWounds = { // Handle no wound entries if (_woundEntries isEqualTo []) then { - _entries pushBack [localize ELSTRING(medical_treatment,NoInjuriesBodypart), [1, 1, 1, 1]]; + _entries pushBack [localize ELSTRING(medical_treatment,NoInjuriesBodypart), _nonissueColor]; } else { _entries append _woundEntries; }; diff --git a/addons/medical_gui/functions/fnc_updateLogList.sqf b/addons/medical_gui/functions/fnc_updateLogList.sqf index fb83640698..d2bb75b63f 100644 --- a/addons/medical_gui/functions/fnc_updateLogList.sqf +++ b/addons/medical_gui/functions/fnc_updateLogList.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Updates list control with given logs. diff --git a/addons/medical_gui/functions/fnc_updateTriageCard.sqf b/addons/medical_gui/functions/fnc_updateTriageCard.sqf index b4e1977d42..40bd196c66 100644 --- a/addons/medical_gui/functions/fnc_updateTriageCard.sqf +++ b/addons/medical_gui/functions/fnc_updateTriageCard.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Updates the triage card for the given target. diff --git a/addons/medical_gui/functions/fnc_updateTriageStatus.sqf b/addons/medical_gui/functions/fnc_updateTriageStatus.sqf index 9a50e4f6c0..0ec694409a 100644 --- a/addons/medical_gui/functions/fnc_updateTriageStatus.sqf +++ b/addons/medical_gui/functions/fnc_updateTriageStatus.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Updates the triage status control for the given target. diff --git a/addons/medical_gui/functions/script_component.hpp b/addons/medical_gui/functions/script_component.hpp deleted file mode 100644 index d2302a9920..0000000000 --- a/addons/medical_gui/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\medical_gui\script_component.hpp" diff --git a/addons/medical_gui/gui.hpp b/addons/medical_gui/gui.hpp index e0f836f058..f9cb0b40a3 100644 --- a/addons/medical_gui/gui.hpp +++ b/addons/medical_gui/gui.hpp @@ -9,7 +9,7 @@ class RscControlsGroupNoScrollbars; class GVAR(BodyImage): RscControlsGroupNoScrollbars { idc = IDC_BODY_GROUP; - x = QUOTE(POS_X(13.33)); + x = QUOTE(POS_X(13.83)); y = QUOTE(POS_Y(2.73)); w = QUOTE(POS_W(12.33)); h = QUOTE(POS_H(12.33)); @@ -82,13 +82,39 @@ class GVAR(BodyImage): RscControlsGroupNoScrollbars { idc = IDC_BODY_LEGRIGHT_T; text = QPATHTOF(data\body_image\leg_right_t.paa); }; + class HeadS: Background { + idc = IDC_BODY_HEAD_S; + text = QPATHTOF(data\body_image\head_s.paa); + colorText[] = {1.0, 1.0, 1.0, 1.0}; + show = 0; + }; + class TorsoS: HeadS { + idc = IDC_BODY_TORSO_S; + text = QPATHTOF(data\body_image\torso_s.paa); + }; + class ArmLeftS: HeadS { + idc = IDC_BODY_ARMLEFT_S; + text = QPATHTOF(data\body_image\arm_left_s.paa); + }; + class ArmRightS: HeadS { + idc = IDC_BODY_ARMRIGHT_S; + text = QPATHTOF(data\body_image\arm_right_s.paa); + }; + class LegLeftS: HeadS { + idc = IDC_BODY_LEGLEFT_S; + text = QPATHTOF(data\body_image\leg_left_s.paa); + }; + class LegRightS: HeadS { + idc = IDC_BODY_LEGRIGHT_S; + text = QPATHTOF(data\body_image\leg_right_s.paa); + }; }; }; class GVAR(TriageToggle): RscButton { idc = -1; onButtonClick = QUOTE([ctrlParent (_this select 0)] call FUNC(toggleTriageSelect)); - x = QUOTE(POS_X(13.33)); + x = QUOTE(POS_X(13.83)); y = QUOTE(POS_Y(15.5)); w = QUOTE(POS_W(12.33)); h = QUOTE(POS_H(1.1)); @@ -99,7 +125,7 @@ class GVAR(TriageToggle): RscButton { class GVAR(TriageSelect): RscControlsGroupNoScrollbars { idc = IDC_TRIAGE_SELECT; - x = QUOTE(POS_X(13.33)); + x = QUOTE(POS_X(13.83)); y = QUOTE(POS_Y(16.6)); w = QUOTE(POS_W(12.33)); h = QUOTE(POS_H(5.5)); @@ -163,7 +189,7 @@ class ACE_Medical_Menu_ActionButton: RscButtonMenu { style = ST_LEFT; x = 0; y = 0; - w = QUOTE(POS_W(11.833)); + w = QUOTE(POS_W(12.33)); h = QUOTE(POS_H(1)); size = QUOTE(POS_H(0.9)); class Attributes { @@ -180,9 +206,11 @@ class ACE_Medical_Menu { enableSimulation = 1; onLoad = QUOTE(_this call FUNC(onMenuOpen)); onUnload = QUOTE(_this call FUNC(onMenuClose)); + onKeyDown = QUOTE([ARR_3('onKeyDown',_this,QQGVAR(display))] call FUNC(onKeyDown)); class controlsBackground { class Title: RscText { idc = IDC_TITLE; + text = CSTRING(MedicalMenu); x = QUOTE(POS_X(1)); y = QUOTE(POS_Y(0)); w = QUOTE(POS_W(38)); @@ -208,20 +236,21 @@ class ACE_Medical_Menu { idc = -1; style = ST_CENTER; text = CSTRING(EXAMINE_TREATMENT); - x = QUOTE(POS_X(1)); + x = QUOTE(POS_X(1.5)); y = QUOTE(POS_Y(1.5)); w = QUOTE(POS_W(12.33)); h = QUOTE(POS_H(1)); sizeEx = QUOTE(POS_H(1.2)); colorText[] = {1, 1, 1, 0.9}; }; - class StatusHeader: TreatmentHeader { - text = CSTRING(STATUS); - x = QUOTE(POS_X(13.33)); + class NameHeader: TreatmentHeader { + idc = IDC_NAME; + x = QUOTE(POS_X(13.83)); }; class OverviewHeader: TreatmentHeader { text = CSTRING(OVERVIEW); - x = QUOTE(POS_X(25.66)); + w = QUOTE(POS_W(12.34)); // 12.33 + 12.33 + 12.34 = 37.00 + x = QUOTE(POS_X(26.16)); }; class HeaderLine: RscText { idc = -1; @@ -236,8 +265,8 @@ class ACE_Medical_Menu { onButtonClick = QUOTE(GVAR(selectedCategory) = 'triage'); text = QPATHTOF(data\categories\triage_card.paa); tooltip = CSTRING(ViewTriageCard); - x = QUOTE(POS_X(1.5)); - y = QUOTE(POS_Y(2.73)); + x = QUOTE(POS_X(1.75)); + y = QUOTE(POS_Y(2.75)); w = QUOTE(POS_W(1.5)); h = QUOTE(POS_H(1.5)); color[] = {1, 1, 1, 1}; @@ -252,56 +281,66 @@ class ACE_Medical_Menu { onButtonClick = QUOTE(GVAR(selectedCategory) = 'examine'); text = QPATHTOF(data\categories\examine_patient.paa); tooltip = CSTRING(ExaminePatient); - x = QUOTE(POS_X(3)); + x = QUOTE(POS_X(3.25)); }; class Bandage: Triage { idc = IDC_BANDAGE; onButtonClick = QUOTE(GVAR(selectedCategory) = 'bandage'); text = QPATHTOF(data\categories\bandage_fracture.paa); tooltip = CSTRING(BandageFractures); - x = QUOTE(POS_X(4.5)); + x = QUOTE(POS_X(4.75)); }; class Medication: Triage { idc = IDC_MEDICATION; onButtonClick = QUOTE(GVAR(selectedCategory) = 'medication'); text = QPATHTOF(data\categories\medication.paa); tooltip = CSTRING(Medication); - x = QUOTE(POS_X(6)); + x = QUOTE(POS_X(6.25)); }; class Airway: Triage { idc = IDC_AIRWAY; onButtonClick = QUOTE(GVAR(selectedCategory) = 'airway'); text = QPATHTOF(data\categories\airway_management.paa); tooltip = CSTRING(AirwayManagement); - x = QUOTE(POS_X(7.5)); + x = QUOTE(POS_X(7.75)); }; class Advanced: Triage { idc = IDC_ADVANCED; onButtonClick = QUOTE(GVAR(selectedCategory) = 'advanced'); text = QPATHTOF(data\categories\advanced_treatment.paa); tooltip = CSTRING(AdvancedTreatment); - x = QUOTE(POS_X(9)); + x = QUOTE(POS_X(9.25)); }; class Drag: Triage { idc = IDC_DRAG; onButtonClick = QUOTE(GVAR(selectedCategory) = 'drag'); text = QPATHTOF(data\categories\carry.paa); tooltip = CSTRING(DragCarry); - x = QUOTE(POS_X(10.5)); + x = QUOTE(POS_X(10.75)); }; class Toggle: Triage { idc = IDC_TOGGLE; onButtonClick = QUOTE(call FUNC(handleToggle)); - text = QPATHTOF(data\categories\toggle_self.paa); - tooltip = CSTRING(ToggleSelf); + text = QPATHTOF(data\categories\toggle_to_other.paa); x = QUOTE(POS_X(12)); }; + class TriageDivider: HeaderLine { + idc = IDC_TRIAGE_DIVIDER; + x = QUOTE(POS_X(3.265)); + y = QUOTE(POS_Y(3.0)); + w = QUOTE(POS_W(0.03)); + h = QUOTE(POS_H(1.0)); + }; + class ToggleDivider: TriageDivider { + idc = IDC_TOGGLE_DIVIDER; + x = QUOTE(POS_X(3.265)); + }; class TriageCard: RscListBox { idc = IDC_TRIAGE_CARD; x = QUOTE(POS_X(1.5)); y = QUOTE(POS_Y(4.4)); - w = QUOTE(POS_W(11.833)); - h = QUOTE(POS_H(10)); + w = QUOTE(POS_W(12.33)); + h = QUOTE(POS_H(12.2)); sizeEx = QUOTE(POS_H(0.7)); colorSelect[] = {1, 1, 1, 1}; colorSelect2[] = {1, 1, 1, 1}; @@ -314,15 +353,15 @@ class ACE_Medical_Menu { idc = IDC_ACTION_BUTTON_GROUP; x = QUOTE(POS_X(1.5)); y = QUOTE(POS_Y(4.4)); - w = QUOTE(POS_W(11.833)); - h = QUOTE(POS_H(10)); + w = QUOTE(POS_W(12.33)); + h = QUOTE(POS_H(12.2)); }; class BodyImage: GVAR(BodyImage) {}; class SelectHead: RscButton { idc = -1; onButtonClick = QUOTE(GVAR(selectedBodyPart) = 0); tooltip = CSTRING(SelectHead); - x = QUOTE(POS_X(18.8)); + x = QUOTE(POS_X(19.3)); y = QUOTE(POS_Y(3.2)); w = QUOTE(POS_W(1.4)); h = QUOTE(POS_H(1.8)); @@ -333,7 +372,7 @@ class ACE_Medical_Menu { class SelectTorso: SelectHead { onButtonClick = QUOTE(GVAR(selectedBodyPart) = 1); tooltip = CSTRING(SelectTorso); - x = QUOTE(POS_X(18.4)); + x = QUOTE(POS_X(18.9)); y = QUOTE(POS_Y(5)); w = QUOTE(POS_W(2.2)); h = QUOTE(POS_H(3.8)); @@ -341,7 +380,7 @@ class ACE_Medical_Menu { class SelectArmLeft: SelectHead { onButtonClick = QUOTE(GVAR(selectedBodyPart) = 2); tooltip = CSTRING(SelectLeftArm); - x = QUOTE(POS_X(20.6)); + x = QUOTE(POS_X(21.1)); y = QUOTE(POS_Y(5.1)); w = QUOTE(POS_W(1.1)); h = QUOTE(POS_H(4.6)); @@ -349,12 +388,12 @@ class ACE_Medical_Menu { class SelectArmRight: SelectArmLeft { onButtonClick = QUOTE(GVAR(selectedBodyPart) = 3); tooltip = CSTRING(SelectRightArm); - x = QUOTE(POS_X(17.4)); + x = QUOTE(POS_X(17.8)); }; class SelectLegLeft: SelectHead { onButtonClick = QUOTE(GVAR(selectedBodyPart) = 4); tooltip = CSTRING(SelectLeftLeg); - x = QUOTE(POS_X(19.5)); + x = QUOTE(POS_X(20.0)); y = QUOTE(POS_Y(8.8)); w = QUOTE(POS_W(1.1)); h = QUOTE(POS_H(5.8)); @@ -362,12 +401,14 @@ class ACE_Medical_Menu { class SelectLegRight: SelectLegLeft { onButtonClick = QUOTE(GVAR(selectedBodyPart) = 5); tooltip = CSTRING(SelectRightLeg); - x = QUOTE(POS_X(18.4)); + x = QUOTE(POS_X(18.9)); }; class Injuries: TriageCard { idc = IDC_INJURIES; - x = QUOTE(POS_X(25.66)); + x = QUOTE(POS_X(26.17)); + y = QUOTE(POS_Y(3.3)); w = QUOTE(POS_W(12.33)); + h = QUOTE(POS_Y(13.3)); }; class ActivityHeader: TreatmentHeader { text = CSTRING(ACTIVITY_LOG); @@ -378,27 +419,33 @@ class ACE_Medical_Menu { }; class QuickViewHeader: ActivityHeader { text = CSTRING(QUICK_VIEW); - x = QUOTE(POS_X(19.5)); + x = QUOTE(POS_X(20.0)); }; class LowerLine: HeaderLine { y = QUOTE(POS_Y(18.5)); }; + class LowerDivider: HeaderLine { + x = QUOTE(POS_X(19.985)); + y = QUOTE(POS_Y(18.75)); + w = QUOTE(POS_W(0.03)); + h = QUOTE(POS_H(7.6)); + }; class Activity: Injuries { idc = IDC_ACTIVITY; x = QUOTE(POS_X(1.5)); y = QUOTE(POS_Y(18.5)); w = QUOTE(POS_W(18.5)); - h = QUOTE(POS_H(6.5)); + h = QUOTE(POS_H(7.6)); colorBackground[] = {0, 0, 0, 0}; }; class QuickView: Activity { idc = IDC_QUICKVIEW; - x = QUOTE(POS_X(21.5)); + x = QUOTE(POS_X(20.0)); }; class TriageStatus: RscText { idc = IDC_TRIAGE_STATUS; style = ST_CENTER; - x = QUOTE(POS_X(13.33)); + x = QUOTE(POS_X(13.83)); y = QUOTE(POS_Y(15.5)); w = QUOTE(POS_W(12.33)); h = QUOTE(POS_H(1.1)); @@ -406,13 +453,30 @@ class ACE_Medical_Menu { }; class TriageToggle: GVAR(TriageToggle) {}; class TriageSelect: GVAR(TriageSelect) {}; + class BodyLabelLeft: RscText { + idc = -1; + style = ST_RIGHT; + text = CSTRING(BodyLabelLeft); + font = "RobotoCondensedBold"; + x = QUOTE(POS_X(17.0)); + y = QUOTE(POS_Y(10.5)); + w = QUOTE(POS_W(6.0)); + h = QUOTE(POS_H(2.0)); + sizeEx = QUOTE(POS_H(1.4)); + colorText[] = {1, 1, 1, 0.33}; + shadow = 0; + }; + class BodyLabelRight: BodyLabelLeft { + style = ST_LEFT; + text = CSTRING(BodyLabelRight); + }; }; }; class GVAR(RscTriageCard) { idd = -1; movingEnable = 1; - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(RscTriageCard), _this select 0)]); + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(RscTriageCard),_this select 0)]); class controls { class Background: RscText { idc = -1; @@ -509,7 +573,7 @@ class RscTitles { fadeOut = 0.3; duration = 999999; movingEnable = 0; - onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(RscPatientInfo), _this select 0)]); + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(RscPatientInfo),_this select 0)]); class controls { class PatientInfoContainer: RscControlsGroupNoScrollbars { idc = -1; @@ -584,6 +648,30 @@ class RscTitles { w = QUOTE(POS_W(8.5)); h = QUOTE(POS_H(8.5)); }; + class HeadS: HeadS { + w = QUOTE(POS_W(8.5)); + h = QUOTE(POS_H(8.5)); + }; + class TorsoS: TorsoS { + w = QUOTE(POS_W(8.5)); + h = QUOTE(POS_H(8.5)); + }; + class ArmLeftS: ArmLeftS { + w = QUOTE(POS_W(8.5)); + h = QUOTE(POS_H(8.5)); + }; + class ArmRightS: ArmRightS { + w = QUOTE(POS_W(8.5)); + h = QUOTE(POS_H(8.5)); + }; + class LegLeftS: LegLeftS { + w = QUOTE(POS_W(8.5)); + h = QUOTE(POS_H(8.5)); + }; + class LegRightS: LegRightS { + w = QUOTE(POS_W(8.5)); + h = QUOTE(POS_H(8.5)); + }; }; }; class InjuriesLabel: RscText { diff --git a/addons/medical_gui/initSettings.sqf b/addons/medical_gui/initSettings.sqf index c1d02d7131..a0418ca74e 100644 --- a/addons/medical_gui/initSettings.sqf +++ b/addons/medical_gui/initSettings.sqf @@ -2,7 +2,7 @@ QGVAR(enableActions), "LIST", [LSTRING(EnableActions_DisplayName), LSTRING(EnableActions_Description)], - [ELSTRING(medical,Category), LSTRING(SubCategory)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], [[0, 1, 2], [LSTRING(Selections3D), LSTRING(Radial), ELSTRING(common,Disabled)], 0], false ] call CBA_fnc_addSetting; @@ -11,7 +11,7 @@ QGVAR(enableSelfActions), "CHECKBOX", [LSTRING(EnableSelfActions_DisplayName), LSTRING(EnableSelfActions_Description)], - [ELSTRING(medical,Category), LSTRING(SubCategory)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], true, false ] call CBA_fnc_addSetting; @@ -20,7 +20,7 @@ QGVAR(enableMedicalMenu), "LIST", [LSTRING(EnableMedicalMenu_DisplayName), LSTRING(EnableMedicalMenu_Description)], - [ELSTRING(medical,Category), LSTRING(SubCategory)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], [[0, 1, 2], [ELSTRING(common,Disabled), ELSTRING(common,Enabled), ELSTRING(common,VehiclesOnly)], 1], false ] call CBA_fnc_addSetting; @@ -29,7 +29,7 @@ QGVAR(openAfterTreatment), "CHECKBOX", [LSTRING(OpenAfterTreatment_DisplayName), LSTRING(OpenAfterTreatment_Description)], - [ELSTRING(medical,Category), LSTRING(SubCategory)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], true, false ] call CBA_fnc_addSetting; @@ -38,7 +38,7 @@ QGVAR(maxDistance), "SLIDER", [LSTRING(MaxDistance_DisplayName), LSTRING(MaxDistance_Description)], - [ELSTRING(medical,Category), LSTRING(SubCategory)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], [0, 10, 3, 1], true ] call CBA_fnc_addSetting; @@ -47,7 +47,7 @@ QGVAR(interactionMenuShowTriage), "LIST", [LSTRING(InteractionMenuShowTriage_DisplayName), LSTRING(InteractionMenuShowTriage_Description)], - [ELSTRING(medical,Category), LSTRING(SubCategory)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], [[0, 1, 2], [ELSTRING(common,Disabled), ELSTRING(Medical_Treatment,Anyone), ELSTRING(Medical_Treatment,Medics)], 1], false ] call CBA_fnc_addSetting; @@ -57,7 +57,7 @@ * See: https://gka.github.io/palettes */ private _bloodLossColors = [ - [1.00, 1.00, 1.00, 1], + [0.00, 0.00, 0.00, 1], [1.00, 0.95, 0.64, 1], [1.00, 0.87, 0.46, 1], [1.00, 0.80, 0.33, 1], @@ -74,7 +74,7 @@ private _bloodLossColors = [ * See: https://gka.github.io/palettes */ private _damageColors = [ - [1.00, 1.00, 1.00, 1], + [0.00, 0.00, 0.00, 1], [0.75, 0.95, 1.00, 1], [0.62, 0.86, 1.00, 1], [0.54, 0.77, 1.00, 1], @@ -86,7 +86,7 @@ private _damageColors = [ [0.00, 0.00, 1.00, 1] ]; -private _categoryColors = [ELSTRING(medical,Category), format ["| %1 |", LELSTRING(common,subcategory_colors)]]; +private _categoryColors = [ELSTRING(medical,Interface_Category), format ["| %1 |", LELSTRING(common,subcategory_colors)]]; { [ format ["%1_%2", QGVAR(bloodLossColor), _forEachIndex], @@ -113,7 +113,7 @@ private _categoryColors = [ELSTRING(medical,Category), format ["| %1 |", LELSTRI QGVAR(showDamageEntry), "CHECKBOX", [LSTRING(showDamageEntry_DisplayName), LSTRING(showDamageEntry_Description)], - [ELSTRING(medical,Category), LSTRING(SubCategory)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], false, true ] call CBA_fnc_addSetting; @@ -122,7 +122,52 @@ private _categoryColors = [ELSTRING(medical,Category), format ["| %1 |", LELSTRI QGVAR(showBloodlossEntry), "CHECKBOX", [LSTRING(ShowBloodlossEntry_DisplayName), LSTRING(ShowBloodlossEntry_Description)], - [ELSTRING(medical,Category), LSTRING(SubCategory)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], true, true // isGlobal ] call CBA_fnc_addSetting; + +[ + QGVAR(bodyPartOutlineColor), + "COLOR", + [LSTRING(bodyPartOutlineColor_DisplayName), LSTRING(bodyPartOutlineColor_Description)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], + [1.00, 1.00, 1.00, 1], + false +] call CBA_fnc_addSetting; + +[ + QGVAR(peekMedicalInfoReleaseDelay), + "TIME", + [LSTRING(PeekMedicalInfoReleaseDelay_DisplayName), LSTRING(PeekMedicalInfoReleaseDelay_Description)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], + [0, 5, 1], + false +] call CBA_fnc_addSetting; + +[ + QGVAR(peekMedicalOnHit), + "CHECKBOX", + [LSTRING(PeekMedicalOnHit_DisplayName), LSTRING(PeekMedicalOnHit_Description)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], + false, + false // isGlobal +] call CBA_fnc_addSetting; + +[ + QGVAR(peekMedicalOnHitDuration), + "TIME", + [LSTRING(PeekMedicalOnHitDuration_DisplayName), LSTRING(PeekMedicalOnHitDuration_Description)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], + [0, 5, 1], + false +] call CBA_fnc_addSetting; + +[ + QGVAR(tourniquetWarning), + "CHECKBOX", + [LSTRING(TourniquetWarning_DisplayName), LSTRING(TourniquetWarning_Description)], + [ELSTRING(medical,Interface_Category), LSTRING(SubCategory)], + false, + false +] call CBA_fnc_addSetting; diff --git a/addons/medical_gui/script_component.hpp b/addons/medical_gui/script_component.hpp index 62c38447ee..d69fb65434 100644 --- a/addons/medical_gui/script_component.hpp +++ b/addons/medical_gui/script_component.hpp @@ -37,6 +37,7 @@ #define IDD_MEDICAL_MENU 38580 #define IDC_TITLE 1200 +#define IDC_NAME 1210 #define IDC_TRIAGE 1300 #define IDC_EXAMINE 1310 #define IDC_BANDAGE 1320 @@ -45,6 +46,8 @@ #define IDC_ADVANCED 1350 #define IDC_DRAG 1360 #define IDC_TOGGLE 1370 +#define IDC_TRIAGE_DIVIDER 1380 +#define IDC_TOGGLE_DIVIDER 1390 #define IDC_TRIAGE_CARD 1400 #define IDC_INJURIES 1410 @@ -68,6 +71,13 @@ #define IDC_BODY_ARMRIGHT_B 6060 #define IDC_BODY_LEGLEFT_B 6065 #define IDC_BODY_LEGRIGHT_B 6070 +#define IDC_BODY_GROUP_S 6075 +#define IDC_BODY_HEAD_S 6080 +#define IDC_BODY_TORSO_S 6085 +#define IDC_BODY_ARMLEFT_S 6090 +#define IDC_BODY_ARMRIGHT_S 6095 +#define IDC_BODY_LEGLEFT_S 6100 +#define IDC_BODY_LEGRIGHT_S 6105 #define IDC_TRIAGE_STATUS 7000 #define IDC_TRIAGE_SELECT 7100 diff --git a/addons/medical_gui/stringtable.xml b/addons/medical_gui/stringtable.xml index a000e2c8b5..edb3e73f60 100644 --- a/addons/medical_gui/stringtable.xml +++ b/addons/medical_gui/stringtable.xml @@ -36,7 +36,7 @@ Enables medical actions for the Interaction Menu and selects their style. Aktiviert die Sanitätsaktionen für das Interaktionsmenü und legt das Aussehen fest - インタラクション メニューから選択した表示方式で医療行為をできるようになります。 + インタラクションメニューから選択した表示方式で医療行為をできるようになります。 Включает медицинские действия для меню взаимодействия и выбирает их стиль. Permet d'afficher les actions médicales dans le menu d'interaction, et de définir leur style visuel. Ativa as ações médicas para o menu de interação e seleciona seus estilos. @@ -102,7 +102,7 @@ Enables medical actions for the Self Interaction Menu. Medizinische Interaktionen bei Selbst-Interaktionen anzeigen - セルフ インタラクション メニューで医療行為をできるようになります。 + セルフインタラクションメニューで医療行為をできるようになります。 Включает медицинские действия для меню взаимодействия с собой. Active les actions médicales du menu d'interaction personnel. Ativa as ações médicas do menu de interação pessoal. @@ -134,10 +134,10 @@ Enables the use of the Medical Menu through the keybind or interaction menu. Aktiviere die Nutzung des Sanitätsmenüs durch eine Tastenkombination oder durch das Interaktionsmenü - 割り当てられたキーかインタラクション メニューから医療メニューを使えるようになります。 + 割り当てられたキーかインタラクションメニューから医療メニューを使えるようになります。 Позволяет использовать Медицинское меню через связку клавиш или меню взаимодействия. Permet l'utilisation du menu médical via le menu d'interaction ou l'appui d'une touche. - Ativa o uso do Menu Médico atráves da Tecla ou Menu de Interação. + Ativa o uso do Menu Médico através da Tecla ou Menu de Interação. 啟用以互動選單或者按鍵綁定所呼出的高效醫療選單 通过按键绑定或交互菜单启用医疗菜单。 Abilita l'uso del Menu Medico attraverso il menu tastiera o il menu di interazione. @@ -282,6 +282,30 @@ 開起醫療選單 Medikal Menüyü Aç + + Peek Medical Info + Podgląd Informacji Medycznych + 의료 정보 보기 + Aperçu des informations médicales + Medizinische Info anzeigen + 医療情報一時表示 + + + Medical Peek Duration + Czas Trwania Podglądu Medycznego + 의료 정보 보기 지속 시간 + Durée de l'aperçu des informations médicales + Dauer zum Anzeigen der medizinischen Info + 医療情報一時表示の長さ + + + How long the medical info peek remains open after releasing the key. + Jak długo podgląd informacji medycznych pozostaje otwarty po zwolnieniu przycisku. + 키를 놓은 후 의료 정보가 열린 상태로 유지되는 시간입니다. + Durée d'affichage des informations médicales après avoir relâché la touche. + Wie lange die medizinische Info-Anzeige nach dem Loslassen der Taste geöffnet bleibt. + 医療情報一時表示キーを放してからどれだけ長く情報表示するか。 + Load Patient Cargar al paciente en @@ -326,7 +350,7 @@ EXAMINAR & TRATAMENTO VYŠETŘENÍ & LÉČBA ESAMINA & TRATTA - 診断 & 治療 + 診断と治療 검사 / 치료 检查 & 治疗 檢查 & 治療 @@ -525,21 +549,21 @@ 拖 / 背 Sürükle / Taşı - - Toggle (Self) - Umschalter (Selbst) - Лечить себя/другого раненого - Basculer (soi-même) - Przełącz (na siebie) - Alternar - Alternar (Si mesmo) - Přepnout (na sebe) - Attiva (Te Stesso) - 切り替え (自分) - 토글 (자신) - 切换(自己) - 切換 (自己) - Değiştir (Şahsi) + + Switch to self + Zmień na siebie + 자신으로 전환 + Passer à soi-même + Wechseln zu selbst + 自分に切り替え + + + Switch to target + Zmień na pacjenta + 대상으로 전환 + Passer à la cible + Wechseln zu Ziel + 相手に切り替え Head @@ -647,7 +671,7 @@ Selecionar Cabeça Vybrat Hlavu Seleziona Testa - 頭部を選ぶ + 頭部を選択 머리 선택 选择头部 選擇頭部 @@ -663,7 +687,7 @@ Selecionar Torso Vybrat Trup Seleziona Torso - 胴体を選ぶ + 胴体を選択 몸통 선택 选择躯干 選擇身體 @@ -679,7 +703,7 @@ Selecionar Braço Esquerdo Vybrat Levou ruku Seleziona Braccio Sinistro - 左腕を選ぶ + 左腕を選択 왼팔 선택 选择左臂 選擇左手 @@ -695,7 +719,7 @@ Selecionar Braço Direito Vybrat Pravou ruku Seleziona Braccio Destro - 右腕を選ぶ + 右腕を選択 오른팔 선택 选择右臂 選擇右手 @@ -711,7 +735,7 @@ Selecionar Perna Esquerda Vybrat Levou nohu Seleziona Gamba Sinistra - 左足を選ぶ + 左足を選択 왼다리 선택 选择左腿 選擇左腳 @@ -727,7 +751,7 @@ Selecionar Perna Direita Vybrat Pravou nohu Seleziona Gamba Destra - 右足を選ぶ + 右足を選択 오른다리 선택 选择右腿 選擇右腳 @@ -743,7 +767,7 @@ Pequeno Malý Piccolo - 小さい + 작은 @@ -759,7 +783,7 @@ Médio Střední Medio - 中くらい + 중간의 @@ -775,7 +799,7 @@ Grande Velký Grande - 大きい + @@ -791,7 +815,7 @@ Existem %2 ferimentos abertos %1 Jsou zde %2 %1 otevřené rány Ci sono %2 %1 Ferite Aperte - 開いている傷口が %2 %1 ほどある + 開いた状態の%1が%2個あります 여기 %2 %1 크기의 열린 상처가 있다 有 %2 处未处理的 %1 伤口 有 %2 %1 開放性傷口 @@ -807,7 +831,7 @@ Existe 1 %1 ferimento aberto Je zde 1 %1 otevřená rána C'è 1 %1 Ferita Aperta - 1 つの空いている %1 傷口 + 開いた状態の%1が1個あります 여기 %1 크기의 열린 상처가 있다 有 1 处未处理的 %1 伤口 有 1 %1 開放性傷口 @@ -823,7 +847,7 @@ Existe um ferimento parcial aberto %1 Je zde částečně %1 otevřená rána C'è 1 parziale %1 Ferita Aperta - 部分的に開いている %1 の傷口がある + 開いた状態の部分的な%1があります 여기 부분적으로 %1 크기의 상처가 있다 有未完全处理的 %1 伤口 有部分 %1 開放性傷口 @@ -839,7 +863,7 @@ Existem %2 ferimentos %1 tratados Jsou zde %2 %1 ovázané rány Ci sono %2 %1 Ferite Bendate - ここには %2 %1 の処置された傷がある + 包帯を巻いた%1が%2個あります 여기에 붕대를 감은 %2 %1 크기의 상처가 있다 有 %2 处包扎过的 %1 伤口 有 %2 %1 包紮過傷口 @@ -855,7 +879,7 @@ Existe 1 ferimento %1 tratado Je zde 1 %1 ovázaná rána C'è 1 %1 Ferita Bendata - 1 つの包帯で巻かれている %1 傷 + 包帯を巻いた%1が1個あります 여기에 붕대를 감은 %1 크기의 상처가 있다 有 1 处包扎过的 %1 伤口 有 1 %1 包紮過傷口 @@ -871,7 +895,7 @@ Existe um ferimento parcial tratado %1 Je zde částěčně %1 ovázaná rána C'è 1 parziale %1 Ferita Bendata - 患者には %1 の包帯で処置された傷がある + 包帯を巻いた部分的な%1があります 여기 부분적으로 붕대질한 %1 크기의 상처가 있다 有未包扎完全的 %1 伤口 有部分 %1 包紮過傷口 @@ -957,6 +981,46 @@ 出血中 Kanama var + + No bleeding + Brak krwawienia + 출혈 없음 + Pas de saignement + Keine Blutung + 出血はしていない + + + Slow bleeding + Słabe krwawienie + 느린 출혈 + Saignement lent + Langsame Blutung + 出血は穏やか + + + Moderate bleeding + Umiarkowane krwawienie + 중간 출혈 + Saignement modéré + Mäßige Blutung + 出血はそこそこ速い + + + Severe bleeding + Poważne krwawienie + 심한 출혈 + Saignement grave + Schwere Blutung + 出血は激しい + + + Massive bleeding + Bardzo silne krwawienie + 과다 출혈 + Saignement massif + Massive Blutung + 出血は酷く多い + in Pain hat Schmerzen @@ -1008,7 +1072,7 @@ Splint Applied Наложена шина - 添え木を当てている + 副子を当てている Attelle appliquée Tala Aplicada 已使用固定板 @@ -1021,11 +1085,19 @@ Schiene angelegt 부목 적용함 + + No blood loss + Brak utraty krwi + 피를 잃지 않음 + Pas de perte de sang + Kein Blutverlust + 失血なし + Lost some blood Hat etwas Blut verloren - いくらか失血した + いくらか失血 Небольшая кровопотеря A perdu une faible quantité de sang Perdeu um pouco de Sangue @@ -1049,7 +1121,7 @@ Sok vért vesztett Ha perso parecchio sangue Perdeu muito sangue - 大量失血した + 大量失血 피를 꽤 잃음 大量失血 大量失血中 @@ -1058,7 +1130,7 @@ Lost a large amount of blood Hat eine sehr große Menge Blut verloren - かなり酷く大量失血した + かなり酷い量の失血 Огромная кровопотеря A perdu une importante quantité de sang Perdeu uma quantidade grande de sangue @@ -1074,7 +1146,7 @@ Lost a fatal amount of blood Hat eine kritische Menge an Blut verloren - 致命的な程失血した + 致命的な量の失血 Фатальная кровопотеря A perdu une quantité critique de sang Perdeu uma quantidade fatal de sangue @@ -1130,7 +1202,7 @@ Orvosi lap Triage Card Cartão de Triagem - トリアージ カード + トリアージカード 부상자 분류 카드 分诊卡 檢傷分類卡 @@ -1178,7 +1250,7 @@ Defines the 10 color gradient used to indicate blood loss in Medical GUIs. Цвета кровопотери, которые используются в Медицинском интерфейсе. Градиент из 10 цветов. - 医療 GUI 内で失血量を 10 段階のカラーで表します。 + 医療 GUI 内で失血量を 10 段階の色で表します。 Couleurs utilisées pour afficher les hémorragies dans l'interface médicale. Dégradé de 10 couleurs. Farben für Blutverlust, die in dem Medizinischen Menü verwendet werden. 10-Farben Farbverlauf. Kolory używane do wyświetlania krwawienia w interfejsie medycznym. Gradient 10 kolorów. @@ -1211,7 +1283,7 @@ Defines the 10 color gradient used to indicate damage in Medical GUIs. Цвета урона, которые используются в Медицинском интерфейсе. Градиент из 10 цветов. - 医療 GUI 内で負傷を 10 段階のカラーで表します。 + 医療 GUI 内で負傷を 10 段階の色で表します。 Couleurs utilisées pour afficher les dégâts dans l'interface médicale. Dégradé de 10 couleurs. Farben für Schaden, die in dem medizinischen Menü verwendet werden. 10-Farben Farbverlauf. Kolory używane do wyświetlania obrażeń w interfejsie medycznym. Gradient 10 kolorów. @@ -1239,6 +1311,7 @@ 显示失血量 Показывать кровопотерю Mostrar pérdida de sangre + Afficher les pertes de sang Show qualitative blood loss in the injury list. @@ -1249,36 +1322,190 @@ 在负伤列表中显示失血阶段 Показывать тяжесть кровопотери в списке ранений. Mostrar la pérdida de sangre cualitativa en la lista de heridas. + Afficher la quantité de sang perdue + + + Peek Medical Info on Hit + Podgląd Informacji Medycznych po Zranieniu + 맞을 시 의료 정보 보기 + 点击查看医疗信息 + Aperçu des informations médicales lors d'une blessure + Zeige medizinische Info beim Treffer an + 受傷時の医療情報一時表示 + + + Temporarily show medical info when injured. + Tymczasowe wyświetlanie informacji medycznych po zranieniu. + 부상을 입었을 때 일시적으로 의료 정보를 표시합니다. + 受伤时暂时显示医疗信息。 + Afficher temporairement les informations médicales lors d'une blessure. + Bei Verletzungen vorübergehend medizinische Info anzeigen. + 受傷時に医療情報を一時的に表示します。 + + + Medical Peek Duration on Hit + Czas trwania podglądu informacji medycznych po zranieniu + 맞을 시 의료 정보 보기 지속 시간 + 击中时的医疗信息显示持续时间 + Durée de l'aperçu des informations médicales lors d'une blessure + Dauer der Anzeige bei einem Treffer. + 受傷時の医療情報一時表示の長さ + + + How long the medical info peek remains open after being injured. + Jak długo podgląd informacji medycznych pozostaje otwarty po otrzymaniu obrażeń. + 부상을 입은 후에도 의료 정보가 열린 상태로 지속되는 시간입니다. + 受伤后医疗信息会开放多长时间? + Durée de l'affichage des informations médicales lors d'une blessure. + Wie lange die medizinische Info nach einer Verletzung angezeigt wird. + 受傷した後に医療情報の一時表示をどれだけ長く表示するか。 Show Trauma Sustained Mostrar Traumatismo Sofrido 外傷の表示 + Pokaż Doznane Urazy + Zeigen Sie das erlittene Trauma + 외상 지속 표시 + 显示遭受的创伤 + Afficher les traumatismes subis Show trauma sustained in the injury list. Mostrar traumatismo sofrido na lista de feridas. 負傷リストに外傷を表示する。 + Pokaż odniesione obrażenia na liście obrażeń. + Zeigen Sie das erlittene Trauma in der Verletzungsliste an. + 부상 목록에 발생한 외상을 표시합니다. + 在伤情表上显示创伤 + Afficher les traumatismes subis dans la liste des blessures. + + + Body Part Outline Color + Kolor Konturu Części Ciała + 신체부위 윤곽선 색상 + 身体部位轮廓颜色 + Couleur des contours des parties du corps + Umrissfarbe des Körperteils + 身体部位の輪郭表示カラー + + + Color of outline around selected body part. + Kolor konturu wokół wybranej części ciała. + 선택한 신체부위 주위의 윤곽선 색상입니다. + 选定身体部位周围的轮廓颜色。 + Couleur des contours autour des parties du corps sélectionnées. + Farbe des Umrisses um das ausgewählten Körperteil. + 選択した身体部位の輪郭表示の色。 Minor Trauma Traumatismo Leve 軽度の外傷 + Niewielki Uraz + Kleineres Trauma + 약한 외상 + 轻微创伤 + Traumatisme mineur Major Trauma Traumatismo Significante 中度の外傷 + Poważny Uraz + Großes Trauma + 중간 외상 + 中度创伤 + Traumatisme majeur Severe Trauma Traumatismo Severo 重度の外傷 + Ciężki Uraz + Schweres Trauma + 강한 외상 + 重度创伤 + Traumatisme grave Chronic Trauma Traumatismo Crônico - 慢性的な外傷 + 重篤な外傷 + Przewlekły Uraz + Chronisches Trauma + 심각한 외상 + 慢性创伤 + Traumatisme chronique + + + L + L + + L + G + L + + + + R + P + + R + D + R + + + + in your inventory + w twoim ekwipunku + 개: 당신의 소지품 + 在你的库存中 + dans votre inventaire + im Inventar + あなたのインベントリ内 + + + in patient's inventory + w ekwipunku pacjenta + 개: 환자의 소지품 + 在病人库存中 + dans l'inventaire du patient + im Inventar des Patienten + 患者のインベントリ内 + + + in vehicle's inventory + w ekwipunku pojazdu + 在车辆库存中 + dans l'inventaire du véhicule + 개: 차량의 소지품 + im Inventar des Fahrzeuges + 車両のインベントリ内 + + + No effect until tourniquet removed + 止血带取下后才有效果 + Aucun effet jusqu'à ce que le garrot soit retiré + 지혈대를 제거할 때까지 효과 없음 + Keine Wirkung, bis das Tourniquet entfernt wurde + 止血帯を外すまで効果を発揮しません + + + Show Tourniquet Warning + 显示止血带警告 + Afficher l'avertissement du garrot + 지혈 경고 표시 + Tourniquet-Warnung anzeigen + 止血帯の警告を表示 + + + Show a warning tooltip when a tourniquet will interfere with a medical action. + 当止血带干扰医疗操作时,显示警告提示。 + Affiche un avertissement lorsqu'un garrot interfère avec une action médicale. + 지혈대가 의료 조치를 방해할 경우 경고 툴팁을 표시합니다. + Zeigt einen Hinweis an, wenn ein Tourniquet eine medizinische Maßnahme beeinträchtigt. + 止血帯が医療行為を妨げる場合には、警告ツールチップを表示します。 diff --git a/addons/medical_gui/ui/grave.paa b/addons/medical_gui/ui/grave.paa new file mode 100644 index 0000000000..ccd786d73c Binary files /dev/null and b/addons/medical_gui/ui/grave.paa differ diff --git a/addons/medical_statemachine/Statemachine.hpp b/addons/medical_statemachine/Statemachine.hpp index 39ff12448e..d3888140c0 100644 --- a/addons/medical_statemachine/Statemachine.hpp +++ b/addons/medical_statemachine/Statemachine.hpp @@ -46,7 +46,7 @@ class ACE_Medical_StateMachine { onStateEntered = QFUNC(enteredStateUnconscious); class DeathAI { targetState = "Dead"; - condition = QUOTE(!(_this getVariable [ARR_2(QQGVAR(AIUnconsciousness), GVAR(AIUnconsciousness))]) && {!isPlayer _this}); + condition = QUOTE(!(_this getVariable [ARR_2(QQGVAR(AIUnconsciousness),GVAR(AIUnconsciousness))]) && {!isPlayer _this}); }; class WakeUp { targetState = "Injured"; diff --git a/addons/medical_statemachine/addon.toml b/addons/medical_statemachine/addon.toml index 7cfef775ee..bf39213892 100644 --- a/addons/medical_statemachine/addon.toml +++ b/addons/medical_statemachine/addon.toml @@ -1,2 +1,3 @@ -[preprocess] -enabled = false +[tools] +pboProject_noBinConfig = true +sqfvm_skipConfigChecks = true diff --git a/addons/medical_statemachine/config.cpp b/addons/medical_statemachine/config.cpp index 2b396c8b8c..c368eb25a7 100644 --- a/addons/medical_statemachine/config.cpp +++ b/addons/medical_statemachine/config.cpp @@ -1,5 +1,6 @@ #include "script_component.hpp" +#pragma hemtt flag pe23_ignore_has_include #if __has_include("\z\ace\addons\nomedical\script_component.hpp") #define PATCH_SKIP "No Medical" #endif diff --git a/addons/medical_statemachine/functions/fnc_conditionCardiacArrestTimer.sqf b/addons/medical_statemachine/functions/fnc_conditionCardiacArrestTimer.sqf index b28459db53..1e91e6f54d 100644 --- a/addons/medical_statemachine/functions/fnc_conditionCardiacArrestTimer.sqf +++ b/addons/medical_statemachine/functions/fnc_conditionCardiacArrestTimer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Checks if the cardiac arrest timer ran out. diff --git a/addons/medical_statemachine/functions/fnc_conditionExecutionDeath.sqf b/addons/medical_statemachine/functions/fnc_conditionExecutionDeath.sqf index 26ff20c42a..0812e3b74c 100644 --- a/addons/medical_statemachine/functions/fnc_conditionExecutionDeath.sqf +++ b/addons/medical_statemachine/functions/fnc_conditionExecutionDeath.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Condition for an execution caused death (fatal injury received in cardiac arrest). diff --git a/addons/medical_statemachine/functions/fnc_conditionSecondChance.sqf b/addons/medical_statemachine/functions/fnc_conditionSecondChance.sqf index 660ea84ac1..432e6ce30f 100644 --- a/addons/medical_statemachine/functions/fnc_conditionSecondChance.sqf +++ b/addons/medical_statemachine/functions/fnc_conditionSecondChance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Condition for going into cardiac arrest upon receiving a fatal injury. diff --git a/addons/medical_statemachine/functions/fnc_enteredStateCardiacArrest.sqf b/addons/medical_statemachine/functions/fnc_enteredStateCardiacArrest.sqf index b0477cd120..313baf6505 100644 --- a/addons/medical_statemachine/functions/fnc_enteredStateCardiacArrest.sqf +++ b/addons/medical_statemachine/functions/fnc_enteredStateCardiacArrest.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles a unit entering cardiac arrest (calls for a status update). diff --git a/addons/medical_statemachine/functions/fnc_enteredStateDeath.sqf b/addons/medical_statemachine/functions/fnc_enteredStateDeath.sqf index a71745735a..537c356651 100644 --- a/addons/medical_statemachine/functions/fnc_enteredStateDeath.sqf +++ b/addons/medical_statemachine/functions/fnc_enteredStateDeath.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Handles a unit reaching the point of death (calls for a status update). diff --git a/addons/medical_statemachine/functions/fnc_enteredStateFatalInjury.sqf b/addons/medical_statemachine/functions/fnc_enteredStateFatalInjury.sqf index 3a01912ebf..d5d81889dd 100644 --- a/addons/medical_statemachine/functions/fnc_enteredStateFatalInjury.sqf +++ b/addons/medical_statemachine/functions/fnc_enteredStateFatalInjury.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Raises the transition to the next state instantly when fatally injured. diff --git a/addons/medical_statemachine/functions/fnc_enteredStateUnconscious.sqf b/addons/medical_statemachine/functions/fnc_enteredStateUnconscious.sqf index fba786b09c..c80481bad2 100644 --- a/addons/medical_statemachine/functions/fnc_enteredStateUnconscious.sqf +++ b/addons/medical_statemachine/functions/fnc_enteredStateUnconscious.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Grim * Handles a unit reaching the point of unconsciousness (calls for a status update). diff --git a/addons/medical_statemachine/functions/fnc_handleStateCardiacArrest.sqf b/addons/medical_statemachine/functions/fnc_handleStateCardiacArrest.sqf index d108148fc7..7e7860bb12 100644 --- a/addons/medical_statemachine/functions/fnc_handleStateCardiacArrest.sqf +++ b/addons/medical_statemachine/functions/fnc_handleStateCardiacArrest.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles the unconscious state diff --git a/addons/medical_statemachine/functions/fnc_handleStateDefault.sqf b/addons/medical_statemachine/functions/fnc_handleStateDefault.sqf index 129a17a77f..89e09b0d4c 100644 --- a/addons/medical_statemachine/functions/fnc_handleStateDefault.sqf +++ b/addons/medical_statemachine/functions/fnc_handleStateDefault.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles the default state diff --git a/addons/medical_statemachine/functions/fnc_handleStateInjured.sqf b/addons/medical_statemachine/functions/fnc_handleStateInjured.sqf index dc2586803a..ad407c0191 100644 --- a/addons/medical_statemachine/functions/fnc_handleStateInjured.sqf +++ b/addons/medical_statemachine/functions/fnc_handleStateInjured.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles the injured state diff --git a/addons/medical_statemachine/functions/fnc_handleStateUnconscious.sqf b/addons/medical_statemachine/functions/fnc_handleStateUnconscious.sqf index 0cdc4e1d94..aa93d44932 100644 --- a/addons/medical_statemachine/functions/fnc_handleStateUnconscious.sqf +++ b/addons/medical_statemachine/functions/fnc_handleStateUnconscious.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Handles the unconscious state diff --git a/addons/medical_statemachine/functions/fnc_leftStateCardiacArrest.sqf b/addons/medical_statemachine/functions/fnc_leftStateCardiacArrest.sqf index 2f0793f7c7..a83e971fe7 100644 --- a/addons/medical_statemachine/functions/fnc_leftStateCardiacArrest.sqf +++ b/addons/medical_statemachine/functions/fnc_leftStateCardiacArrest.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: RedBery * Handles a unit leaving cardiac arrest (calls for a status update). diff --git a/addons/medical_statemachine/functions/fnc_localityChangedEH.sqf b/addons/medical_statemachine/functions/fnc_localityChangedEH.sqf index 80486601f5..6f6ee43c6f 100644 --- a/addons/medical_statemachine/functions/fnc_localityChangedEH.sqf +++ b/addons/medical_statemachine/functions/fnc_localityChangedEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles locality switch. Will also be called at unit init. diff --git a/addons/medical_statemachine/functions/fnc_resetStateDefault.sqf b/addons/medical_statemachine/functions/fnc_resetStateDefault.sqf index 3806819929..d05d0939a2 100644 --- a/addons/medical_statemachine/functions/fnc_resetStateDefault.sqf +++ b/addons/medical_statemachine/functions/fnc_resetStateDefault.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Resets the default state on a unit after respawning. diff --git a/addons/medical_statemachine/functions/fnc_transitionSecondChance.sqf b/addons/medical_statemachine/functions/fnc_transitionSecondChance.sqf index bdee0f9432..ea90b3e962 100644 --- a/addons/medical_statemachine/functions/fnc_transitionSecondChance.sqf +++ b/addons/medical_statemachine/functions/fnc_transitionSecondChance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Gives the unit a second chance and prevents death for 1 second. diff --git a/addons/medical_statemachine/functions/script_component.hpp b/addons/medical_statemachine/functions/script_component.hpp deleted file mode 100644 index 5dd15bb8b4..0000000000 --- a/addons/medical_statemachine/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\medical_statemachine\script_component.hpp" diff --git a/addons/medical_status/CfgEventHandlers.hpp b/addons/medical_status/CfgEventHandlers.hpp index 48c1c11877..4c75d4795a 100644 --- a/addons/medical_status/CfgEventHandlers.hpp +++ b/addons/medical_status/CfgEventHandlers.hpp @@ -19,7 +19,7 @@ class Extended_PostInit_EventHandlers { class Extended_Init_EventHandlers { class CAManBase { class ADDON { - init = QUOTE([ARR_2((_this select 0), false)] call FUNC(initUnit)); + init = QUOTE([ARR_2((_this select 0),false)] call FUNC(initUnit)); exclude[] = {IGNORE_BASE_UAVPILOTS}; }; }; diff --git a/addons/medical_status/addon.toml b/addons/medical_status/addon.toml index 7cfef775ee..bf39213892 100644 --- a/addons/medical_status/addon.toml +++ b/addons/medical_status/addon.toml @@ -1,2 +1,3 @@ -[preprocess] -enabled = false +[tools] +pboProject_noBinConfig = true +sqfvm_skipConfigChecks = true diff --git a/addons/medical_status/config.cpp b/addons/medical_status/config.cpp index dc68c63bcc..954c35e64d 100644 --- a/addons/medical_status/config.cpp +++ b/addons/medical_status/config.cpp @@ -1,5 +1,6 @@ #include "script_component.hpp" +#pragma hemtt flag pe23_ignore_has_include #if __has_include("\z\ace\addons\nomedical\script_component.hpp") #define PATCH_SKIP "No Medical" #endif diff --git a/addons/medical_status/functions/fnc_addInventoryActions.sqf b/addons/medical_status/functions/fnc_addInventoryActions.sqf index 6112904fcd..8041eb0613 100644 --- a/addons/medical_status/functions/fnc_addInventoryActions.sqf +++ b/addons/medical_status/functions/fnc_addInventoryActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim, johnb43 * Adds inventory and open backpack actions to uncon units. diff --git a/addons/medical_status/functions/fnc_addMedicationAdjustment.sqf b/addons/medical_status/functions/fnc_addMedicationAdjustment.sqf index 2de0b22a18..4c101c7521 100644 --- a/addons/medical_status/functions/fnc_addMedicationAdjustment.sqf +++ b/addons/medical_status/functions/fnc_addMedicationAdjustment.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut, PabstMirror * Adds a medication and it's effects diff --git a/addons/medical_status/functions/fnc_adjustPainLevel.sqf b/addons/medical_status/functions/fnc_adjustPainLevel.sqf index c6df1adda3..9e7362d3e9 100644 --- a/addons/medical_status/functions/fnc_adjustPainLevel.sqf +++ b/addons/medical_status/functions/fnc_adjustPainLevel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Interface to allow external modules to affect the pain level diff --git a/addons/medical_status/functions/fnc_getBloodLoss.sqf b/addons/medical_status/functions/fnc_getBloodLoss.sqf index ca3cba77cd..8ff0fbff3b 100644 --- a/addons/medical_status/functions/fnc_getBloodLoss.sqf +++ b/addons/medical_status/functions/fnc_getBloodLoss.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Calculate the total blood loss of a unit. diff --git a/addons/medical_status/functions/fnc_getBloodPressure.sqf b/addons/medical_status/functions/fnc_getBloodPressure.sqf index bbb0e5b65e..a6a8ccd65d 100644 --- a/addons/medical_status/functions/fnc_getBloodPressure.sqf +++ b/addons/medical_status/functions/fnc_getBloodPressure.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Calculate the blood pressure of a unit. diff --git a/addons/medical_status/functions/fnc_getBloodVolumeChange.sqf b/addons/medical_status/functions/fnc_getBloodVolumeChange.sqf index c46338a475..61f5353583 100644 --- a/addons/medical_status/functions/fnc_getBloodVolumeChange.sqf +++ b/addons/medical_status/functions/fnc_getBloodVolumeChange.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Calculates the blood volume change and decreases the IVs given to the unit. diff --git a/addons/medical_status/functions/fnc_getCardiacOutput.sqf b/addons/medical_status/functions/fnc_getCardiacOutput.sqf index 1d59ce89fe..3253f684ab 100644 --- a/addons/medical_status/functions/fnc_getCardiacOutput.sqf +++ b/addons/medical_status/functions/fnc_getCardiacOutput.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, kymckay * Get the cardiac output from the Heart, based on current Heart Rate and Blood Volume. diff --git a/addons/medical_status/functions/fnc_getMedicationCount.sqf b/addons/medical_status/functions/fnc_getMedicationCount.sqf index 5c8b3bfd57..e98707c721 100644 --- a/addons/medical_status/functions/fnc_getMedicationCount.sqf +++ b/addons/medical_status/functions/fnc_getMedicationCount.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Gets effective count of medications in a unit's system diff --git a/addons/medical_status/functions/fnc_handleKilled.sqf b/addons/medical_status/functions/fnc_handleKilled.sqf index 29e5e42cec..6c01e4135e 100644 --- a/addons/medical_status/functions/fnc_handleKilled.sqf +++ b/addons/medical_status/functions/fnc_handleKilled.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Vanilla Killed EH, attempts to set correct source/killer for other killed event handlers (vanilla and XEH) diff --git a/addons/medical_status/functions/fnc_handleKilledMission.sqf b/addons/medical_status/functions/fnc_handleKilledMission.sqf index bf8bd780ba..d77c08e6f7 100644 --- a/addons/medical_status/functions/fnc_handleKilledMission.sqf +++ b/addons/medical_status/functions/fnc_handleKilledMission.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Vanilla EntityKilled mission EH, attempts to set correct source/killer for other killed event handlers. diff --git a/addons/medical_status/functions/fnc_hasStableVitals.sqf b/addons/medical_status/functions/fnc_hasStableVitals.sqf index 90e2caac93..29424c96b0 100644 --- a/addons/medical_status/functions/fnc_hasStableVitals.sqf +++ b/addons/medical_status/functions/fnc_hasStableVitals.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Check if a unit has stable vitals (required to become conscious) @@ -17,7 +17,7 @@ params ["_unit"]; -if (GET_BLOOD_VOLUME(_unit) < BLOOD_VOLUME_CLASS_2_HEMORRHAGE) exitWith { false }; +if (GET_BLOOD_VOLUME(_unit) < MINIMUM_BLOOD_FOR_STABLE_VITALS) exitWith { false }; if IN_CRDC_ARRST(_unit) exitWith { false }; private _cardiacOutput = [_unit] call FUNC(getCardiacOutput); diff --git a/addons/medical_status/functions/fnc_initUnit.sqf b/addons/medical_status/functions/fnc_initUnit.sqf index bb0f748d3b..786f2be950 100644 --- a/addons/medical_status/functions/fnc_initUnit.sqf +++ b/addons/medical_status/functions/fnc_initUnit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, commy2 * Initializes unit variables. diff --git a/addons/medical_status/functions/fnc_isBeingCarried.sqf b/addons/medical_status/functions/fnc_isBeingCarried.sqf index 7e58efc1ed..2c4d6552f4 100644 --- a/addons/medical_status/functions/fnc_isBeingCarried.sqf +++ b/addons/medical_status/functions/fnc_isBeingCarried.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Returns if a target is being carried. (from ace_dragging) diff --git a/addons/medical_status/functions/fnc_isBeingDragged.sqf b/addons/medical_status/functions/fnc_isBeingDragged.sqf index e8c21bdb56..e5b3c5da88 100644 --- a/addons/medical_status/functions/fnc_isBeingDragged.sqf +++ b/addons/medical_status/functions/fnc_isBeingDragged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Returns if a target is being dragged. (from ace_dragging) diff --git a/addons/medical_status/functions/fnc_isInStableCondition.sqf b/addons/medical_status/functions/fnc_isInStableCondition.sqf index 36ff02ac2b..dedb2513f3 100644 --- a/addons/medical_status/functions/fnc_isInStableCondition.sqf +++ b/addons/medical_status/functions/fnc_isInStableCondition.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Check if a unit is in a stable condition, needed for PersonalAidKit treatment diff --git a/addons/medical_status/functions/fnc_setCardiacArrestState.sqf b/addons/medical_status/functions/fnc_setCardiacArrestState.sqf index 3dec76ab35..b806cef195 100644 --- a/addons/medical_status/functions/fnc_setCardiacArrestState.sqf +++ b/addons/medical_status/functions/fnc_setCardiacArrestState.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Marks a unit as in cardiac arrest and sets heart rate to 0. diff --git a/addons/medical_status/functions/fnc_setDead.sqf b/addons/medical_status/functions/fnc_setDead.sqf index 9568974919..9dfc07d114 100644 --- a/addons/medical_status/functions/fnc_setDead.sqf +++ b/addons/medical_status/functions/fnc_setDead.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Kills a local unit. diff --git a/addons/medical_status/functions/fnc_setStatusEffects.sqf b/addons/medical_status/functions/fnc_setStatusEffects.sqf index 9d93354de3..4d093464de 100644 --- a/addons/medical_status/functions/fnc_setStatusEffects.sqf +++ b/addons/medical_status/functions/fnc_setStatusEffects.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Sets status effects for a unit. diff --git a/addons/medical_status/functions/fnc_setUnconsciousState.sqf b/addons/medical_status/functions/fnc_setUnconsciousState.sqf index ccc9a8938f..3071ae0d14 100644 --- a/addons/medical_status/functions/fnc_setUnconsciousState.sqf +++ b/addons/medical_status/functions/fnc_setUnconsciousState.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Sets a unit in the unconscious state. @@ -45,6 +45,10 @@ if (_active) then { while {dialog} do { closeDialog 0; }; + + if (EGVAR(medical,dropWeaponUnconsciousChance) != 0 && {random 1 <= EGVAR(medical,dropWeaponUnconsciousChance)}) then { + _unit call EFUNC(common,throwWeapon); + }; }; // Unlock controls for copilot if unit is pilot of aircraft if (vehicle _unit isKindOf "Air" && {_unit == driver vehicle _unit}) then { diff --git a/addons/medical_status/functions/fnc_updateWoundBloodLoss.sqf b/addons/medical_status/functions/fnc_updateWoundBloodLoss.sqf index cf83b0719c..8696349642 100644 --- a/addons/medical_status/functions/fnc_updateWoundBloodLoss.sqf +++ b/addons/medical_status/functions/fnc_updateWoundBloodLoss.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Update total wound bleeding based on open wounds and tourniquets diff --git a/addons/medical_status/functions/script_component.hpp b/addons/medical_status/functions/script_component.hpp deleted file mode 100644 index 9b83bfbc4f..0000000000 --- a/addons/medical_status/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\medical_status\script_component.hpp" diff --git a/addons/medical_status/initSettings.sqf b/addons/medical_status/initSettings.sqf index 743c55cc00..849b10ef8c 100644 --- a/addons/medical_status/initSettings.sqf +++ b/addons/medical_status/initSettings.sqf @@ -24,3 +24,12 @@ [0, 25, 1, 1], true ] call CBA_fnc_addSetting; + +[ + QEGVAR(medical,dropWeaponUnconsciousChance), + "SLIDER", + [LSTRING(DropWeaponUnconsciousChance_DisplayName), LSTRING(DropWeaponUnconsciousChance_Description)], + ELSTRING(medical,Category), + [0, 1, 0, 2, true], + true +] call CBA_fnc_addSetting; diff --git a/addons/medical_status/stringtable.xml b/addons/medical_status/stringtable.xml index 401f66b31d..50112a7214 100644 --- a/addons/medical_status/stringtable.xml +++ b/addons/medical_status/stringtable.xml @@ -75,7 +75,7 @@ Coeficiente para modificar la intensidad del dolor Multiplikator um die Schmerzintensität zu verändern Koeficient intenzity bolesti - Coeficiente para modificar a instensidade de dor + Coeficiente para modificar a intensidade de dor Coefficient permettant de définir l'intensité de la douleur. Egy szorzó a fájdalom erősségének szabályozására Coefficiente che modifica l'intensità del dolore @@ -107,7 +107,7 @@ IV による輸血速度を変更できます Определяет, насколько быстро подействуют эффекты внутривенного переливания Définit la vitesse à laquelle le liquide s'écoule des poches de perfusion.\nLa variation du volume de poche IV est calculée selon la formule suivante :\n intervalle de temps (s) * variation IV par seconde (4,1667 ml/s) * débit (ce coefficient). - Controla o quão rápido flúidos são extraídos de bolsas de IV. A mudança no volume da bolsa d IV é calculado assim:\nIntervalo de tempo (s) * mudança de iv por segundo (4.1667 mL/s) * Velocidade de transferência (esse valor) + Controla o quão rápido fluidos são extraídos de bolsas de IV. A mudança no volume da bolsa d IV é calculado assim:\nIntervalo de tempo (s) * mudança de iv por segundo (4.1667 mL/s) * Velocidade de transferência (esse valor) 控制從點滴輸入人體的液體流量多快。點滴的體積更改是以\n時間間隔(單位秒)乘上點滴每秒速度(4.1667毫升/秒)乘上流量(該係數)。 控制从点滴输入人体的液体流量多快。静脉输液袋容积变化的计算方法是:\n时间间隔(秒)x点滴每秒速度(4.1667毫升/秒)x流量(该系数)。 Controlla la velocità con cui il fluido esce dalle sacche per flebo. La variazione di volume delle sacche IV è calcolata come:\intervallo di tempo (s) * variazione iv al secondo (4,1667 mL/s) * portata (questo coefficiente). @@ -115,7 +115,23 @@ Kontroluje, jak szybko płyn wypływa z worków IV. Zmiana objętości worka IV jest obliczana jako:\n przedział czasowy * zmiana iv na sekundę (4,1667 mL/s) * natężenie przepływu (ten współczynnik). Controla la rapidez con que fluye el líquido de las bolsas intravenosas. El cambio de volumen de la bolsa IV se calcula como: \n intervalo (s) de tiempo * cambio iv por segundo (4.1667 mL/s) * velocidad de flujo (este coeficiente). IV Torbalardan sıvının ne kadar hızlı aktığını kontrol eder. IV Torba hacim değişikliği şu şekilde hesaplanır: zaman aralıkları iv saniye başına değişim (4.1667 mL / s) akış hızı (bu katsayı). - 수액용기에서 얼마나 빨리 들어가는 지를 정합니다. 초당 4.16ml * 계수를 적용받습니다. + 수액용기에서 액체가 얼마나 빠르게 흘러들어가는지를 제어합니다. 수액용기 부피 변화는 다음과 같이 계산됩니다:\n시간 간격 (초) x 초 당 수액 변화량(4.1667mL/s) x 흘러들어가는 양 (해당 계수). + + + Weapon Drop Chance + Szansa Upuszczenia Broni + Wahrscheinlichkeit, die Waffe fallen zu lassen + 무기 떨어뜨릴 확률 + Risque de perte d'arme + 武器を落とす確率 + + + Chance for a player to drop their weapon when going unconscious.\nHas no effect on AI. + Szansa na upuszczenie broni przez gracza, przy utracie przytomności. \nNie ma wpływu na AI. + Chance für einen Spieler, seine Waffe fallen zu lassen, wenn er bewusstlos wird.\nHat keine Auswirkung auf die KI. + 플레이어가 기절할 때 무기를 떨어뜨릴 확률입니다.\nAI는 영향을 받지 않습니다. + Pourcentage de chances pour un joueur de lâcher son arme lorsqu'il perd connaissance.\nAucun effet sur les IA. + プレーヤーが意識を失ったときに武器を落とす可能性。\nAI には影響しません。 diff --git a/addons/medical_treatment/ACE_Medical_Treatment.hpp b/addons/medical_treatment/ACE_Medical_Treatment.hpp index f3a498c8e2..eeeacf700f 100644 --- a/addons/medical_treatment/ACE_Medical_Treatment.hpp +++ b/addons/medical_treatment/ACE_Medical_Treatment.hpp @@ -154,7 +154,7 @@ class ADDON { }; }; - class PackingBandage: fieldDressing { + class PackingBandage: FieldDressing { class Abrasion { effectiveness = 3; reopeningChance = 0.6; @@ -289,7 +289,7 @@ class ADDON { }; }; - class ElasticBandage: fieldDressing { + class ElasticBandage: FieldDressing { class Abrasion { effectiveness = 4; reopeningChance = 0.6; @@ -424,7 +424,7 @@ class ADDON { }; }; - class QuikClot: fieldDressing { + class QuikClot: FieldDressing { class Abrasion { effectiveness = 2; reopeningChance = 0.3; diff --git a/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp b/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp index a9c6eca5d7..99a477c3f5 100644 --- a/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp +++ b/addons/medical_treatment/ACE_Medical_Treatment_Actions.hpp @@ -239,7 +239,7 @@ class GVAR(actions) { // - Misc ----------------------------------------------------------------- class BodyBag: BasicBandage { - displayName = CSTRING(PlaceInBodyBag); + displayName = CSTRING(PlaceInBodyBagBlack); displayNameProgress = CSTRING(PlacingInBodyBag); icon = QPATHTOEF(medical_gui,ui\bodybag.paa); category = "advanced"; @@ -253,6 +253,24 @@ class GVAR(actions) { consumeItem = 1; litter[] = {}; }; + class BodyBagBlue: BodyBag { + displayName = CSTRING(PlaceInBodyBagBlue); + items[] = {"ACE_bodyBag_blue"}; + }; + class BodyBagWhite: BodyBag { + displayName = CSTRING(PlaceInBodyBagWhite); + items[] = {"ACE_bodyBag_white"}; + }; + class Grave: BodyBag { + displayName = CSTRING(DigGrave); + displayNameProgress = CSTRING(DiggingGrave); + icon = QPATHTOEF(medical_gui,ui\grave.paa); + treatmentTime = QGVAR(treatmentTimeGrave); + condition = QFUNC(canDigGrave); + callbackSuccess = QFUNC(placeInGrave); + items[] = {}; + consumeItem = 0; + }; class CPR: BasicBandage { displayName = CSTRING(Actions_CPR); displayNameProgress = CSTRING(Actions_PerformingCPR); diff --git a/addons/medical_treatment/CfgVehicles.hpp b/addons/medical_treatment/CfgVehicles.hpp index bb9ea8054f..c9144704b5 100644 --- a/addons/medical_treatment/CfgVehicles.hpp +++ b/addons/medical_treatment/CfgVehicles.hpp @@ -7,20 +7,20 @@ class CfgVehicles { class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {}; }; + displayName = "$STR_a3_cfgvehicles_land_bodybag_01_black_f0"; scope = 1; - scopeCurator = 2; + scopeCurator = 1; side = -1; - model = QPATHTOEF(apl,ace_bodybag.p3d); icon = ""; - displayName = CSTRING(Bodybag_Display); EGVAR(dragging,canDrag) = 1; EGVAR(dragging,dragPosition)[] = {0,1.2,0}; EGVAR(dragging,dragDirection) = 0; EGVAR(cargo,size) = 1; EGVAR(cargo,canLoad) = 1; EGVAR(cargo,noRename) = 1; + model = "\A3\Props_F_Orange\Humanitarian\Camps\Bodybag_01_F.p3d"; hiddenSelections[] = {"camo"}; - hiddenSelectionsTextures[] = {QPATHTOEF(apl,data\bodybag_co.paa)}; + hiddenSelectionsTextures[] = {"\A3\Props_F_Orange\Humanitarian\Camps\Data\Bodybag_01_black_CO.paa"}; class ACE_Actions { class ACE_MainActions { displayName = ECSTRING(interaction,MainAction); @@ -29,9 +29,38 @@ class CfgVehicles { statement = ""; icon = "\a3\ui_f\data\IGUI\Cfg\Actions\eject_ca.paa"; selection = ""; + class GVAR(buryBodyBag) { + displayName = CSTRING(DigGrave); + condition = QUOTE([ARR_2(_this#1,_this#0)] call FUNC(canDigGrave)); + statement = QUOTE(_this call FUNC(placeBodyBagInGrave)); + icon = QPATHTOEF(medical_gui,ui\grave.paa); + }; }; }; }; + class ACE_bodyBagObject_blue: ACE_bodyBagObject { + displayName = "$STR_a3_cfgvehicles_land_bodybag_01_blue_f0"; + hiddenSelectionsTextures[] = {"\A3\Props_F_Orange\Humanitarian\Camps\Data\Bodybag_01_blue_CO.paa"}; + }; + class ACE_bodyBagObject_white: ACE_bodyBagObject { + displayName = "$STR_a3_cfgvehicles_land_bodybag_01_white_f0"; + hiddenSelectionsTextures[] = {"\A3\Props_F_Orange\Humanitarian\Camps\Data\Bodybag_01_white_CO.paa"}; + }; + class ACE_bodyBagObject_old: ACE_bodyBagObject { + displayName = CSTRING(Bodybag_Display); + model = QPATHTOEF(apl,ace_bodybag.p3d); + hiddenSelections[] = {"camo"}; + hiddenSelectionsTextures[] = {QPATHTOEF(apl,data\bodybag_co.paa)}; + }; + + // Grave vehicle + class Land_Grave_dirt_F; + class ACE_Grave: Land_Grave_dirt_F { + model = QPATHTOF(data\ACE_grave.p3d); + hiddenSelections[] = {"camo"}; + hiddenSelectionsTextures[] = {QPATHTOF(data\Grave_co.paa)}; + }; + // Medical litter classes class Thing; @@ -339,6 +368,7 @@ class CfgVehicles { MACRO_ADDITEM(ACE_personalAidKit,3); MACRO_ADDITEM(ACE_surgicalKit,2); MACRO_ADDITEM(ACE_bodyBag,5); + MACRO_ADDITEM(ACE_suture,60); }; }; diff --git a/addons/medical_treatment/CfgWeapons.hpp b/addons/medical_treatment/CfgWeapons.hpp index e285697cc1..7b31e10bee 100644 --- a/addons/medical_treatment/CfgWeapons.hpp +++ b/addons/medical_treatment/CfgWeapons.hpp @@ -31,7 +31,7 @@ class CfgWeapons { descriptionUse = CSTRING(Bandage_Basic_Desc_Use); ACE_isMedicalItem = 1; class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 1; + mass = 0.6; }; }; class ACE_packingBandage: ACE_ItemCore { @@ -44,7 +44,7 @@ class CfgWeapons { descriptionUse = CSTRING(Packing_Bandage_Desc_Use); ACE_isMedicalItem = 1; class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 1; + mass = 0.6; }; }; class ACE_elasticBandage: ACE_ItemCore { @@ -57,7 +57,7 @@ class CfgWeapons { descriptionUse = CSTRING(Bandage_Elastic_Desc_Use); ACE_isMedicalItem = 1; class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 1; + mass = 0.6; }; }; class ACE_tourniquet: ACE_ItemCore { @@ -241,7 +241,7 @@ class CfgWeapons { descriptionUse = CSTRING(QuikClot_Desc_Use); ACE_isMedicalItem = 1; class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 1; + mass = 0.6; }; }; class ACE_personalAidKit: ACE_ItemCore { @@ -279,20 +279,35 @@ class CfgWeapons { descriptionUse = CSTRING(Suture_Desc_Use); ACE_isMedicalItem = 1; class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 1; + mass = 0.1; }; }; class ACE_bodyBag: ACE_ItemCore { scope = 2; author = ECSTRING(common,ACETeam); - displayName= CSTRING(Bodybag_Display); + displayName = "$STR_a3_cfgvehicles_land_bodybag_01_black_f0"; model = QPATHTOF(data\bodybagItem.p3d); picture = QPATHTOF(ui\bodybag_ca.paa); descriptionShort = CSTRING(Bodybag_Desc_Short); descriptionUse = CSTRING(Bodybag_Desc_Use); ACE_isMedicalItem = 1; + GVAR(bodyBagObject) = "ACE_bodyBagObject"; class ItemInfo: CBA_MiscItem_ItemInfo { mass = 7; }; }; + class ACE_bodyBag_blue: ACE_bodyBag { + displayName = "$STR_a3_cfgvehicles_land_bodybag_01_blue_f0"; + picture = QPATHTOF(ui\bodybag_blue_ca.paa); + hiddenSelections[] = {"camo"}; + hiddenSelectionsTextures[] = {QPATHTOF(data\bodybagItem_blue_co.paa)}; + GVAR(bodyBagObject) = "ACE_bodyBagObject_blue"; + }; + class ACE_bodyBag_white: ACE_bodyBag { + displayName = "$STR_a3_cfgvehicles_land_bodybag_01_white_f0"; + picture = QPATHTOF(ui\bodybag_white_ca.paa); + hiddenSelections[] = {"camo"}; + hiddenSelectionsTextures[] = {QPATHTOF(data\bodybagItem_white_co.paa)}; + GVAR(bodyBagObject) = "ACE_bodyBagObject_white"; + }; }; diff --git a/addons/medical_treatment/XEH_PREP.hpp b/addons/medical_treatment/XEH_PREP.hpp index ab128aa49c..709c97952f 100644 --- a/addons/medical_treatment/XEH_PREP.hpp +++ b/addons/medical_treatment/XEH_PREP.hpp @@ -6,12 +6,14 @@ PREP(bandageLocal); PREP(bodyCleanupLoop); PREP(canBandage); PREP(canCPR); +PREP(canDigGrave); PREP(canPlaceInBodyBag); PREP(canSplint); PREP(canStitch); PREP(canTreat); PREP(canTreatCached); PREP(canTreat_holsterCheck); +PREP(canUnloadUnit); PREP(checkBloodPressure); PREP(checkBloodPressureLocal); PREP(checkPulse); @@ -25,7 +27,7 @@ PREP(cprStart); PREP(createLitter); PREP(createLitterServer); PREP(diagnose); -PREP(findMostEffectiveWound); +PREP(findMostEffectiveWounds); PREP(fullHeal); PREP(fullHealLocal); PREP(getBandageTime); @@ -46,7 +48,10 @@ PREP(loadUnit); PREP(medication); PREP(medicationLocal); PREP(onMedicationUsage); +PREP(placeBodyBagInGrave); PREP(placeInBodyBag); +PREP(placeInBodyBagOrGrave); +PREP(placeInGrave); PREP(removeBody); PREP(scanMedicalItems); PREP(setTriageStatus); diff --git a/addons/medical_treatment/XEH_postInit.sqf b/addons/medical_treatment/XEH_postInit.sqf index 3d01cb7158..4c7a780fc3 100644 --- a/addons/medical_treatment/XEH_postInit.sqf +++ b/addons/medical_treatment/XEH_postInit.sqf @@ -25,7 +25,7 @@ if (isServer) then { [QGVAR(fullHealLocal), LINKFUNC(fullHealLocal)] call CBA_fnc_addEventHandler; [QGVAR(ivBagLocal), LINKFUNC(ivBagLocal)] call CBA_fnc_addEventHandler; [QGVAR(medicationLocal), LINKFUNC(medicationLocal)] call CBA_fnc_addEventHandler; -[QGVAR(placeInBodyBag), LINKFUNC(placeInBodyBag)] call CBA_fnc_addEventHandler; +[QGVAR(placeInBodyBagOrGrave), LINKFUNC(placeInBodyBagOrGrave)] call CBA_fnc_addEventHandler; [QGVAR(splintLocal), LINKFUNC(splintLocal)] call CBA_fnc_addEventHandler; [QGVAR(tourniquetLocal), LINKFUNC(tourniquetLocal)] call CBA_fnc_addEventHandler; @@ -61,3 +61,40 @@ if (isServer) then { [_toReplace, _replacements] call EFUNC(common,registerItemReplacement); } forEach (configProperties [configFile >> QEGVAR(medical,replacementItems), "isArray _x"]); }] call CBA_fnc_addEventHandler; + +if (["ace_trenches"] call EFUNC(common,isModLoaded)) then { + if (hasInterface) then { + private _checkHeadstoneAction = [ + QGVAR(checkHeadstone), + LLSTRING(checkHeadstoneName), + QPATHTOEF(medical_gui,ui\grave.paa), + { + [ + [_target getVariable QGVAR(headstoneData)], + true + ] call CBA_fnc_notify; + }, + {!isNil {_target getVariable QGVAR(headstoneData)}} + ] call EFUNC(interact_menu,createAction); + + [missionNameSpace getVariable [QGVAR(graveClassname), "ACE_Grave"], 0, [], _checkHeadstoneAction] call EFUNC(interact_menu,addActionToClass); + }; + + if (isServer) then { + ["ace_placedInBodyBag", { + params ["_target", "_restingPlace"]; + TRACE_2("ace_placedInBodyBag eh",_target,_restingPlace); + if (isNull _restingPlace) exitWith {}; + + private _targetName = ""; + if (_target isKindOf "ACE_bodyBagObject") then { + _targetName = _target getVariable [QGVAR(headstoneData), ""]; + } else { + _targetName = [_target, false, true] call EFUNC(common,getName); + }; + + if (_targetName == "") exitWith {}; + _restingPlace setVariable [QGVAR(headstoneData), _targetName, true]; + }] call CBA_fnc_addEventHandler; + }; +}; diff --git a/addons/medical_treatment/XEH_preInit.sqf b/addons/medical_treatment/XEH_preInit.sqf index 79ec737aa6..68b80b5d0d 100644 --- a/addons/medical_treatment/XEH_preInit.sqf +++ b/addons/medical_treatment/XEH_preInit.sqf @@ -48,7 +48,7 @@ GVAR(facilityClasses) = []; // Custom Arsenal tab if (["ace_arsenal"] call EFUNC(common,isModLoaded)) then { - [MEDICAL_TREATMENT_ITEMS, LELSTRING(medical,Category), ARSENAL_CATEGORY_ICON, -1, true] call EFUNC(arsenal,addRightPanelButton); + [MEDICAL_TREATMENT_ITEMS, LLSTRING(medicalTab), ARSENAL_CATEGORY_ICON, -1, true] call EFUNC(arsenal,addRightPanelButton); }; ADDON = true; diff --git a/addons/medical_treatment/addon.toml b/addons/medical_treatment/addon.toml index 7cfef775ee..bf39213892 100644 --- a/addons/medical_treatment/addon.toml +++ b/addons/medical_treatment/addon.toml @@ -1,2 +1,3 @@ -[preprocess] -enabled = false +[tools] +pboProject_noBinConfig = true +sqfvm_skipConfigChecks = true diff --git a/addons/medical_treatment/config.cpp b/addons/medical_treatment/config.cpp index 9c77b37f13..d0ecbddaef 100644 --- a/addons/medical_treatment/config.cpp +++ b/addons/medical_treatment/config.cpp @@ -1,5 +1,6 @@ #include "script_component.hpp" +#pragma hemtt flag pe23_ignore_has_include #if __has_include("\z\ace\addons\nomedical\script_component.hpp") #define PATCH_SKIP "No Medical" #endif @@ -11,7 +12,7 @@ class CfgPatches { class ADDON { name = COMPONENT_NAME; units[] = {"ACE_fieldDressingItem","ACE_packingBandageItem","ACE_elasticBandageItem","ACE_tourniquetItem","ACE_splintItem","ACE_morphineItem","ACE_adenosineItem","ACE_epinephrineItem","ACE_plasmaIVItem","ACE_bloodIVItem","ACE_salineIVItem","ACE_quikClotItem","ACE_personalAidKitItem","ACE_surgicalKitItem","ACE_sutureItem","ACE_bodyBagItem","ACE_medicalSupplyCrate","ACE_medicalSupplyCrate_advanced"}; - weapons[] = {"ACE_fieldDressing","ACE_packingBandage","ACE_elasticBandage","ACE_tourniquet","ACE_splint","ACE_morphine","ACE_adenosine","ACE_epinephrine","ACE_plasmaIV","ACE_plasmaIV_500","ACE_plasmaIV_250","ACE_bloodIV","ACE_bloodIV_500","ACE_bloodIV_250","ACE_salineIV","ACE_salineIV_500","ACE_salineIV_250","ACE_quikclot","ACE_personalAidKit","ACE_surgicalKit","ACE_suture","ACE_bodyBag"}; + weapons[] = {"ACE_fieldDressing","ACE_packingBandage","ACE_elasticBandage","ACE_tourniquet","ACE_splint","ACE_morphine","ACE_adenosine","ACE_epinephrine","ACE_plasmaIV","ACE_plasmaIV_500","ACE_plasmaIV_250","ACE_bloodIV","ACE_bloodIV_500","ACE_bloodIV_250","ACE_salineIV","ACE_salineIV_500","ACE_salineIV_250","ACE_quikclot","ACE_personalAidKit","ACE_surgicalKit","ACE_suture","ACE_bodyBag","ACE_bodyBag_blue","ACE_bodyBag_white"}; requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_medical_status", "ace_medical_damage", "ace_apl"}; author = ECSTRING(common,ACETeam); diff --git a/addons/medical_treatment/data/ACE_grave.p3d b/addons/medical_treatment/data/ACE_grave.p3d new file mode 100644 index 0000000000..10b1d4e9f8 Binary files /dev/null and b/addons/medical_treatment/data/ACE_grave.p3d differ diff --git a/addons/medical_treatment/data/Grave_as.paa b/addons/medical_treatment/data/Grave_as.paa new file mode 100644 index 0000000000..f34c503618 Binary files /dev/null and b/addons/medical_treatment/data/Grave_as.paa differ diff --git a/addons/medical_treatment/data/Grave_co.paa b/addons/medical_treatment/data/Grave_co.paa new file mode 100644 index 0000000000..79e61db1bb Binary files /dev/null and b/addons/medical_treatment/data/Grave_co.paa differ diff --git a/addons/medical_treatment/data/Grave_nohq.paa b/addons/medical_treatment/data/Grave_nohq.paa new file mode 100644 index 0000000000..0ddce42bbc Binary files /dev/null and b/addons/medical_treatment/data/Grave_nohq.paa differ diff --git a/addons/medical_treatment/data/Grave_smdi.paa b/addons/medical_treatment/data/Grave_smdi.paa new file mode 100644 index 0000000000..0586c5dbc2 Binary files /dev/null and b/addons/medical_treatment/data/Grave_smdi.paa differ diff --git a/addons/medical_treatment/data/bodybagItem.p3d b/addons/medical_treatment/data/bodybagItem.p3d index 5195fd59d9..e6c16e8dbe 100644 Binary files a/addons/medical_treatment/data/bodybagItem.p3d and b/addons/medical_treatment/data/bodybagItem.p3d differ diff --git a/addons/medical_treatment/data/bodybagItem_blue_co.paa b/addons/medical_treatment/data/bodybagItem_blue_co.paa new file mode 100644 index 0000000000..190abe5b89 Binary files /dev/null and b/addons/medical_treatment/data/bodybagItem_blue_co.paa differ diff --git a/addons/medical_treatment/data/bodybagItem_white_co.paa b/addons/medical_treatment/data/bodybagItem_white_co.paa new file mode 100644 index 0000000000..eaea0e8f6b Binary files /dev/null and b/addons/medical_treatment/data/bodybagItem_white_co.paa differ diff --git a/addons/medical_treatment/data/grave.rvmat b/addons/medical_treatment/data/grave.rvmat new file mode 100644 index 0000000000..9a28f4af13 --- /dev/null +++ b/addons/medical_treatment/data/grave.rvmat @@ -0,0 +1,82 @@ +class StageTI +{ + texture="a3\data_f\default_ti_ca.paa"; +}; +ambient[]={1,1,1,1}; +diffuse[]={1,1,1,1}; +forcedDiffuse[]={0,0,0,0}; +emmisive[]={0,0,0,1}; +specular[]={0.3,0.3,0.3,1}; +specularPower=10; +PixelShaderID="Super"; +VertexShaderID="Super"; +class Stage1 +{ + texture="z\ace\addons\medical_treatment\data\grave_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="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)"; + uvSource="tex"; + class uvTransform + { + aside[]={0,9,0}; + up[]={4.5,0,0}; + dir[]={0,0,0}; + pos[]={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="z\ace\addons\medical_treatment\data\grave_as.paa"; + uvSource="tex"; + class uvTransform + { + aside[]={1,0,0}; + up[]={0,1,0}; + dir[]={0,0,0}; + pos[]={0,0,0}; + }; +}; +class Stage5 +{ + texture="z\ace\addons\medical_treatment\data\grave_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,64,64,1)fresnel(3.21,4.01)"; + uvSource="none"; +}; +class Stage7 +{ + texture="a3\data_f\env_land_co.paa"; + uvSource="none"; +}; diff --git a/addons/medical_treatment/data/model.cfg b/addons/medical_treatment/data/model.cfg index 344141e28e..433488a8ba 100644 --- a/addons/medical_treatment/data/model.cfg +++ b/addons/medical_treatment/data/model.cfg @@ -45,7 +45,11 @@ class CfgModels { class adenosine: Default {}; class atropine: Default {}; class bandage: Default {}; - class bodybagItem: Default {}; + class bodybagItem: Default { + sectionsInherit = ""; + sections[] = {"camo"}; + skeletonName = ""; + }; class epinephrine: Default {}; class splint: Default {}; @@ -58,6 +62,8 @@ class CfgModels { class IVBag_500ml: IVBagBase {}; class IVBag_1000ml: IVBagBase {}; + class ACE_grave: IVBagBase {}; + class littergeneric: Default {}; class littergeneric_adenosine: Default {}; class littergeneric_atropine: Default {}; diff --git a/addons/medical_treatment/functions/fnc_addLoadPatientActions.sqf b/addons/medical_treatment/functions/fnc_addLoadPatientActions.sqf index fe97152c92..921e98d642 100644 --- a/addons/medical_treatment/functions/fnc_addLoadPatientActions.sqf +++ b/addons/medical_treatment/functions/fnc_addLoadPatientActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Returns children actions to the "Load Patient" action for nearby vehicles. diff --git a/addons/medical_treatment/functions/fnc_addToLog.sqf b/addons/medical_treatment/functions/fnc_addToLog.sqf index b250fec9b1..93d7f8824f 100644 --- a/addons/medical_treatment/functions/fnc_addToLog.sqf +++ b/addons/medical_treatment/functions/fnc_addToLog.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Adds an entry to the specified medical log of the unit. diff --git a/addons/medical_treatment/functions/fnc_addToTriageCard.sqf b/addons/medical_treatment/functions/fnc_addToTriageCard.sqf index 75cbc76b26..6e6fe12161 100644 --- a/addons/medical_treatment/functions/fnc_addToTriageCard.sqf +++ b/addons/medical_treatment/functions/fnc_addToTriageCard.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Adds an entry to the unit's triage card. diff --git a/addons/medical_treatment/functions/fnc_bandage.sqf b/addons/medical_treatment/functions/fnc_bandage.sqf index 1a7dd4f818..a4fb2c7698 100644 --- a/addons/medical_treatment/functions/fnc_bandage.sqf +++ b/addons/medical_treatment/functions/fnc_bandage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Bandages open wounds on the given body part of the patient. diff --git a/addons/medical_treatment/functions/fnc_bandageLocal.sqf b/addons/medical_treatment/functions/fnc_bandageLocal.sqf index 74d2641766..0f695c4c61 100644 --- a/addons/medical_treatment/functions/fnc_bandageLocal.sqf +++ b/addons/medical_treatment/functions/fnc_bandageLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Local callback for bandaging a patient's open wounds. @@ -25,35 +25,46 @@ private _openWounds = GET_OPEN_WOUNDS(_patient); private _woundsOnPart = _openWounds getOrDefault [_bodyPart, []]; if (_woundsOnPart isEqualTo []) exitWith {}; -// Figure out which injury for this bodypart is the best choice to bandage -// TODO also use up the remainder on left over injuries -private _targetWound = [_patient, _bandage, _bodyPart] call FUNC(findMostEffectiveWound); -_targetWound params ["_wound", "_woundIndex", "_effectiveness"]; +// Figure out which injuries for this bodypart are the best choice to bandage +private _targetWounds = [_patient, _bandage, _bodyPart, GVAR(bandageEffectiveness)] call FUNC(findMostEffectiveWounds); // Everything is patched up on this body part already -if (_effectiveness == -1) exitWith {}; +if (count _targetWounds == 0) exitWith {}; -// Find the impact this bandage has and reduce the amount this injury is present -private _amountOf = _wound select 1; -private _impact = _effectiveness min _amountOf; -_amountOf = _amountOf - _impact; -_wound set [1, _amountOf]; -_woundsOnPart set [_woundIndex, _wound]; +private _treatedDamage = 0; +private _clearConditionCache = false; + +{ + private _wound = _x; + _wound params ["_classID", "_amountOf", "_bleeding", "_damage"]; + _y params ["_effectiveness", "_woundIndex", "_impact"]; + + // clear condition cache if we stopped all bleeding for this injury + if (!_clearConditionCache) then { + _clearConditionCache = (_effectiveness >= _amountOf); + }; + + // Reduce the amount this injury is present + (_woundsOnPart select _woundIndex) set [1, _amountOf - _impact]; + + // Store treated damage for clearing trauma + _treatedDamage = _treatedDamage + (_impact * _damage); + + // Handle reopening bandaged wounds + if (_impact > 0 && {GVAR(advancedBandages) == 2}) then { + [_patient, _impact, _bodyPart, _woundIndex, _wound, _bandage] call FUNC(handleBandageOpening); + }; +} forEach _targetWounds; _patient setVariable [VAR_OPEN_WOUNDS, _openWounds, true]; [_patient] call EFUNC(medical_status,updateWoundBloodLoss); -// Handle the reopening of bandaged wounds -if (_impact > 0 && {GVAR(advancedBandages) == 2}) then { - [_patient, _impact, _bodyPart, _woundIndex, _wound, _bandage] call FUNC(handleBandageOpening); -}; - // Check if we fixed limping from this treatment if ( EGVAR(medical,limping) == 1 - && {_bodyPart isEqualTo "leftleg" || _bodyPart isEqualTo "rightleg"} - && {_amountOf <= 0} + && {_clearConditionCache} + && {_bodyPart in ["leftleg", "rightleg"]} && {_patient getVariable [QEGVAR(medical,isLimping), false]} ) then { [_patient] call EFUNC(medical_engine,updateDamageEffects); @@ -62,9 +73,8 @@ if ( if (GVAR(clearTrauma) == 2) then { TRACE_2("clearTrauma - clearing trauma after bandage",_bodyPart,_openWounds); private _partIndex = ALL_BODY_PARTS find _bodyPart; - private _treatedDamageOf = (_wound select 3) * _impact; private _bodyPartDamage = _patient getVariable [QEGVAR(medical,bodyPartDamage), [0,0,0,0,0,0]]; - private _newDam = (_bodyPartDamage select _partIndex) - _treatedDamageOf; + private _newDam = (_bodyPartDamage select _partIndex) - _treatedDamage; // Prevent obscenely small damage from lack of floating precision if (_newDam < 0.05) then { @@ -73,7 +83,7 @@ if (GVAR(clearTrauma) == 2) then { _bodyPartDamage set [_partIndex, _newDam]; }; _patient setVariable [QEGVAR(medical,bodyPartDamage), _bodyPartDamage, true]; - TRACE_2("clearTrauma - healed damage",_partIndex,_treatedDamageOf); + TRACE_2("clearTrauma - healed damage",_partIndex,_treatedDamage); switch (_bodyPart) do { case "head": { [_patient, true, false, false, false] call EFUNC(medical_engine,updateBodyPartVisuals); }; @@ -85,7 +95,7 @@ if (GVAR(clearTrauma) == 2) then { }; // Reset treatment condition cache for nearby players if we stopped all bleeding -if (_amountOf <= 0) then { +if (_clearConditionCache) then { private _nearPlayers = (_patient nearEntities ["CAManBase", 6]) select {_x call EFUNC(common,isPlayer)}; TRACE_1("clearConditionCaches: bandage",_nearPlayers); [QEGVAR(interact_menu,clearConditionCaches), [], _nearPlayers] call CBA_fnc_targetEvent; diff --git a/addons/medical_treatment/functions/fnc_bodyCleanupLoop.sqf b/addons/medical_treatment/functions/fnc_bodyCleanupLoop.sqf index 1e630b510a..d35dcc452c 100644 --- a/addons/medical_treatment/functions/fnc_bodyCleanupLoop.sqf +++ b/addons/medical_treatment/functions/fnc_bodyCleanupLoop.sqf @@ -1,7 +1,7 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, esteldunedain - * Handles cleaning up bodies that were replaced by body bags. + * Handles cleaning up bodies or body bags that were replaced by body bags or put in grave. * * Arguments: * None diff --git a/addons/medical_treatment/functions/fnc_canBandage.sqf b/addons/medical_treatment/functions/fnc_canBandage.sqf index 2308fa937c..18fb304d11 100644 --- a/addons/medical_treatment/functions/fnc_canBandage.sqf +++ b/addons/medical_treatment/functions/fnc_canBandage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Prevents bandage actions from showing if selected body part isn't bleeding. diff --git a/addons/medical_treatment/functions/fnc_canCPR.sqf b/addons/medical_treatment/functions/fnc_canCPR.sqf index 6efd2f268b..e5b4d7a317 100644 --- a/addons/medical_treatment/functions/fnc_canCPR.sqf +++ b/addons/medical_treatment/functions/fnc_canCPR.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Checks if CPR can be performed on the patient. diff --git a/addons/medical_treatment/functions/fnc_canDigGrave.sqf b/addons/medical_treatment/functions/fnc_canDigGrave.sqf new file mode 100644 index 0000000000..444fb5ff3c --- /dev/null +++ b/addons/medical_treatment/functions/fnc_canDigGrave.sqf @@ -0,0 +1,26 @@ +#include "..\script_component.hpp" +/* + * Author: Ruthberg, commy2, esteldunedain, drofseh + * Checks if a unit can dig a grave at the position of the patient. + * + * Arguments: + * 0: Medic + * 1: Patient + * + * Return Value: + * Can dig + * + * Example: + * [player, cursorObject] call ace_medical_treatment_fnc_canDigGrave + * + * Public: No + */ + +params ["_medic", "_patient"]; + +if !(["ace_trenches"] call EFUNC(common,isModLoaded)) exitWith {false}; + +(GVAR(allowGraveDigging) > 0) +&& {!((_patient isKindOf "CaManBase") && {_patient call EFUNC(common,isAwake)})} +&& {_patient call EFUNC(common,canDig)} +&& {_medic call EFUNC(trenches,hasEntrenchingTool)} diff --git a/addons/medical_treatment/functions/fnc_canPlaceInBodyBag.sqf b/addons/medical_treatment/functions/fnc_canPlaceInBodyBag.sqf index 2fa3b01939..cc4ca4d23f 100644 --- a/addons/medical_treatment/functions/fnc_canPlaceInBodyBag.sqf +++ b/addons/medical_treatment/functions/fnc_canPlaceInBodyBag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brett Mayson * Checks if the patient can be placed in a bodybag. diff --git a/addons/medical_treatment/functions/fnc_canSplint.sqf b/addons/medical_treatment/functions/fnc_canSplint.sqf index 56551ace02..f2fc6fa034 100644 --- a/addons/medical_treatment/functions/fnc_canSplint.sqf +++ b/addons/medical_treatment/functions/fnc_canSplint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Checks if a splint can be applied to the patient. diff --git a/addons/medical_treatment/functions/fnc_canStitch.sqf b/addons/medical_treatment/functions/fnc_canStitch.sqf index efe240f423..685c2bd1d7 100644 --- a/addons/medical_treatment/functions/fnc_canStitch.sqf +++ b/addons/medical_treatment/functions/fnc_canStitch.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Katalam, mharis001, Brett Mayson * Checks if the patient's body part can be stitched. diff --git a/addons/medical_treatment/functions/fnc_canTreat.sqf b/addons/medical_treatment/functions/fnc_canTreat.sqf index 2acaf00dbb..995965dfe5 100644 --- a/addons/medical_treatment/functions/fnc_canTreat.sqf +++ b/addons/medical_treatment/functions/fnc_canTreat.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Checks if the given treatment can be performed. @@ -10,7 +10,7 @@ * 3: Treatment * * Return Value: - * Can Treat + * Can treat * * Example: * [player, cursorObject, "Head", "SurgicalKit"] call ace_medical_treatment_fnc_canTreat @@ -22,17 +22,14 @@ params ["_medic", "_patient", "_bodyPart", "_classname"]; private _config = configFile >> QGVAR(actions) >> _classname; -isClass _config -&& {_patient isKindOf "CAManBase"} -&& {_medic != _patient || {GET_NUMBER_ENTRY(_config >> "allowSelfTreatment") == 1}} -&& {[_medic, GET_NUMBER_ENTRY(_config >> "medicRequired")] call FUNC(isMedic)} -&& {[_medic, _patient, _config] call FUNC(canTreat_holsterCheck)} -&& { +// Conditions that apply, regardless of curator status +( + isClass _config +) && { + _patient isKindOf "CAManBase" +} && { private _selections = getArray (_config >> "allowedSelections") apply {toLower _x}; "all" in _selections || {_bodyPart in _selections} -} && { - private _items = getArray (_config >> "items"); - _items isEqualTo [] || {[_medic, _patient, _items] call FUNC(hasItem)} } && { GET_FUNCTION(_condition,_config >> "condition"); @@ -46,19 +43,34 @@ isClass _config _condition } && { - switch (GET_NUMBER_ENTRY(_config >> "treatmentLocations")) do { - case TREATMENT_LOCATIONS_ALL: {true}; - case TREATMENT_LOCATIONS_VEHICLES: { - IN_MED_VEHICLE(_medic) || {IN_MED_VEHICLE(_patient)} - }; - case TREATMENT_LOCATIONS_FACILITIES: { - IN_MED_FACILITY(_medic) || {IN_MED_FACILITY(_patient)} - }; - case TREATMENT_LOCATIONS_VEHICLES_AND_FACILITIES: { - IN_MED_VEHICLE(_medic) || {IN_MED_VEHICLE(_patient)} || {IN_MED_FACILITY(_medic)} || {IN_MED_FACILITY(_patient)} - }; - default {false}; - }; -} && { - ((getNumber (_config >> "allowedUnderwater")) == 1) || {!([_medic] call ace_common_fnc_isSwimming)} + // If in Zeus, the rest of the condition checks can be omitted + (_medic isEqualTo player && {!isNull findDisplay 312}) || { + // Conditions that apply when not in Zeus + ( + _medic != _patient || {GET_NUMBER_ENTRY(_config >> "allowSelfTreatment") == 1} + ) && { + [_medic, GET_NUMBER_ENTRY(_config >> "medicRequired")] call FUNC(isMedic) + } && { + [_medic, _patient, _config] call FUNC(canTreat_holsterCheck) + } && { + private _items = getArray (_config >> "items"); + _items isEqualTo [] || {[_medic, _patient, _items] call FUNC(hasItem)} + } && { + switch (GET_NUMBER_ENTRY(_config >> "treatmentLocations")) do { + case TREATMENT_LOCATIONS_ALL: {true}; + case TREATMENT_LOCATIONS_VEHICLES: { + IN_MED_VEHICLE(_medic) || {IN_MED_VEHICLE(_patient)} + }; + case TREATMENT_LOCATIONS_FACILITIES: { + IN_MED_FACILITY(_medic) || {IN_MED_FACILITY(_patient)} + }; + case TREATMENT_LOCATIONS_VEHICLES_AND_FACILITIES: { + IN_MED_VEHICLE(_medic) || {IN_MED_VEHICLE(_patient)} || {IN_MED_FACILITY(_medic)} || {IN_MED_FACILITY(_patient)} + }; + default {false}; + }; + } && { + !(_medic call EFUNC(common,isSwimming)) || {getNumber (_config >> "allowedUnderwater") == 1} + } + } } diff --git a/addons/medical_treatment/functions/fnc_canTreatCached.sqf b/addons/medical_treatment/functions/fnc_canTreatCached.sqf index d70f041c17..95ecc228c5 100644 --- a/addons/medical_treatment/functions/fnc_canTreatCached.sqf +++ b/addons/medical_treatment/functions/fnc_canTreatCached.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Cached check to determine if given treatment can be performed. diff --git a/addons/medical_treatment/functions/fnc_canTreat_holsterCheck.sqf b/addons/medical_treatment/functions/fnc_canTreat_holsterCheck.sqf index 96f498c258..c903fc88d7 100644 --- a/addons/medical_treatment/functions/fnc_canTreat_holsterCheck.sqf +++ b/addons/medical_treatment/functions/fnc_canTreat_holsterCheck.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ddm999 * Handle holster settings [disabled, lowered, loweredExam, holster, holsterExam] diff --git a/addons/medical_treatment/functions/fnc_canUnloadUnit.sqf b/addons/medical_treatment/functions/fnc_canUnloadUnit.sqf new file mode 100644 index 0000000000..f1a15f04f9 --- /dev/null +++ b/addons/medical_treatment/functions/fnc_canUnloadUnit.sqf @@ -0,0 +1,22 @@ +#include "..\script_component.hpp" +/* + * Author: LinkIsGrim + * Checks if unit can be unloaded. + * + * Arguments: + * 0: Unloader + * 1: Target + * + * Return Value: + * Can Unload + * + * Example: + * [player, bob] call ace_medical_treatment_fnc_canUnloadUnit + * + * Public: No + */ + +params ["_unloader", "_target"]; + +!isNull objectParent _target && +{!(lifeState _target in ["HEALTHY", "INJURED"])} diff --git a/addons/medical_treatment/functions/fnc_checkBloodPressure.sqf b/addons/medical_treatment/functions/fnc_checkBloodPressure.sqf index b708b7e50f..78a6fcb015 100644 --- a/addons/medical_treatment/functions/fnc_checkBloodPressure.sqf +++ b/addons/medical_treatment/functions/fnc_checkBloodPressure.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Checks the blood pressure of the patient. diff --git a/addons/medical_treatment/functions/fnc_checkBloodPressureLocal.sqf b/addons/medical_treatment/functions/fnc_checkBloodPressureLocal.sqf index 5da7495f74..0c3fe39876 100644 --- a/addons/medical_treatment/functions/fnc_checkBloodPressureLocal.sqf +++ b/addons/medical_treatment/functions/fnc_checkBloodPressureLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Local callback for checking the blood pressure of a patient. diff --git a/addons/medical_treatment/functions/fnc_checkPulse.sqf b/addons/medical_treatment/functions/fnc_checkPulse.sqf index 6c5b628fae..3f776ff749 100644 --- a/addons/medical_treatment/functions/fnc_checkPulse.sqf +++ b/addons/medical_treatment/functions/fnc_checkPulse.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Checks the pulse or heart rate of the patient. diff --git a/addons/medical_treatment/functions/fnc_checkPulseLocal.sqf b/addons/medical_treatment/functions/fnc_checkPulseLocal.sqf index f386fa2c89..737a40c0ca 100644 --- a/addons/medical_treatment/functions/fnc_checkPulseLocal.sqf +++ b/addons/medical_treatment/functions/fnc_checkPulseLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Local callback for checking the pulse or heart rate of a patient. diff --git a/addons/medical_treatment/functions/fnc_checkResponse.sqf b/addons/medical_treatment/functions/fnc_checkResponse.sqf index fd661f0809..dc76b1dbfb 100644 --- a/addons/medical_treatment/functions/fnc_checkResponse.sqf +++ b/addons/medical_treatment/functions/fnc_checkResponse.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Checks the response status of the patient. diff --git a/addons/medical_treatment/functions/fnc_cprFailure.sqf b/addons/medical_treatment/functions/fnc_cprFailure.sqf index 513c2e43ee..b060bea9c9 100644 --- a/addons/medical_treatment/functions/fnc_cprFailure.sqf +++ b/addons/medical_treatment/functions/fnc_cprFailure.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Zakant * Handles failure of the CPR treatment. diff --git a/addons/medical_treatment/functions/fnc_cprLocal.sqf b/addons/medical_treatment/functions/fnc_cprLocal.sqf index 89abfdeacf..228774b2f6 100644 --- a/addons/medical_treatment/functions/fnc_cprLocal.sqf +++ b/addons/medical_treatment/functions/fnc_cprLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Local callback for finishing performing CPR on the patient. diff --git a/addons/medical_treatment/functions/fnc_cprProgress.sqf b/addons/medical_treatment/functions/fnc_cprProgress.sqf index f3d565f99a..d8b8dd9e3f 100644 --- a/addons/medical_treatment/functions/fnc_cprProgress.sqf +++ b/addons/medical_treatment/functions/fnc_cprProgress.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Zakant * Handles the progress of the CPR treatment. diff --git a/addons/medical_treatment/functions/fnc_cprStart.sqf b/addons/medical_treatment/functions/fnc_cprStart.sqf index f49ccbb4a3..07a5edf819 100644 --- a/addons/medical_treatment/functions/fnc_cprStart.sqf +++ b/addons/medical_treatment/functions/fnc_cprStart.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Zakant * Handles starting the CPR treatment. diff --git a/addons/medical_treatment/functions/fnc_cprSuccess.sqf b/addons/medical_treatment/functions/fnc_cprSuccess.sqf index bd9d0c3e2b..35f7292ad2 100644 --- a/addons/medical_treatment/functions/fnc_cprSuccess.sqf +++ b/addons/medical_treatment/functions/fnc_cprSuccess.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Handles finishing performing CPR on the patient. diff --git a/addons/medical_treatment/functions/fnc_createLitter.sqf b/addons/medical_treatment/functions/fnc_createLitter.sqf index 19e457c65f..28269bb4ce 100644 --- a/addons/medical_treatment/functions/fnc_createLitter.sqf +++ b/addons/medical_treatment/functions/fnc_createLitter.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Creates litter around the patient based on the treatment. diff --git a/addons/medical_treatment/functions/fnc_createLitterServer.sqf b/addons/medical_treatment/functions/fnc_createLitterServer.sqf index 790d1d21c5..afeba0eb36 100644 --- a/addons/medical_treatment/functions/fnc_createLitterServer.sqf +++ b/addons/medical_treatment/functions/fnc_createLitterServer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Creates a litter object and handles its cleanup. Only execute on server. diff --git a/addons/medical_treatment/functions/fnc_diagnose.sqf b/addons/medical_treatment/functions/fnc_diagnose.sqf index 531827302d..5605cd2794 100644 --- a/addons/medical_treatment/functions/fnc_diagnose.sqf +++ b/addons/medical_treatment/functions/fnc_diagnose.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Action for diagnosing in basic medical diff --git a/addons/medical_treatment/functions/fnc_findMostEffectiveWound.sqf b/addons/medical_treatment/functions/fnc_findMostEffectiveWounds.sqf similarity index 51% rename from addons/medical_treatment/functions/fnc_findMostEffectiveWound.sqf rename to addons/medical_treatment/functions/fnc_findMostEffectiveWounds.sqf index 7f7e4a1848..6f11f84f57 100644 --- a/addons/medical_treatment/functions/fnc_findMostEffectiveWound.sqf +++ b/addons/medical_treatment/functions/fnc_findMostEffectiveWounds.sqf @@ -1,20 +1,26 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* - * Author: kymckay - * Finds the wound most effective to bandage on the given bodypart of the patient for the given bandage type. + * Author: kymckay, LinkIsGrim + * Finds the most effective wounds to bandage on the given bodypart of the patient for the given bandage type and remaining overall bandage effectiveness. * * Arguments: * 0: Patient * 1: Treatment classname * 2: Body part + * 3: Amount of bandage remaining (default: 1) + * 4: Wounds found from prior runs of the function (default: Empty Hashmap) * * Return Value: - * [Wound, Index, Effectiveness] + * [Wound, [Effectiveness, Index, Impact]] of : + * + * Example: + * [cursorObject, "FieldDressing", "rightleg"] call ace_medical_treatment_fnc_findMostEffectiveWounds * * Public: No */ -params ["_patient", "_bandage", "_bodyPart"]; +params ["_patient", "_bandage", "_bodyPart", ["_bandageRemaining", 1], ["_foundWounds", createHashMap]]; +TRACE_1("findMostEffectiveWounds",count _foundWounds); // Get the default effectiveness for the used bandage private _config = configFile >> QUOTE(ADDON) >> "Bandaging"; @@ -30,13 +36,16 @@ if (isClass (_config >> _bandage)) then { // Iterate over open wounds to find the most effective target private _openWounds = GET_OPEN_WOUNDS(_patient) getOrDefault [_bodyPart, []]; -if (_openWounds isEqualTo []) exitWith { [EMPTY_WOUND, -1, -1] }; +if (_openWounds isEqualTo []) exitWith {_foundWounds}; private _wound = EMPTY_WOUND; private _woundIndex = -1; private _effectivenessFound = -1; +private _impactFound = -1; { + // Ignore iterated wounds + if (_x in _foundWounds) then {continue}; _x params ["_classID", "_amountOf", "_bleeding", "_damage"]; private _woundEffectiveness = _effectiveness; @@ -52,18 +61,32 @@ private _effectivenessFound = -1; _woundEffectiveness = getNumber (_woundTreatmentConfig >> "effectiveness"); }; } else { - // Basic medical bandage just has a base level config (same effectivenes for all wound types) + // Basic medical bandage just has a base level config (same effectiveness for all wound types) if (_bandage != "BasicBandage") then { WARNING_2("No config for wound type [%1] config base [%2]",_className,_config); }; }; + // Multiply by bandageRemaining in case this is a rollover + _woundEffectiveness = _woundEffectiveness * _bandageRemaining; + // Track most effective found so far - if (_woundEffectiveness * _amountOf * _bleeding > _effectivenessFound * (_wound select 1) * (_wound select 2)) then { + if ((_woundEffectiveness * _amountOf * _bleeding) > (_effectivenessFound * (_wound select 1) * (_wound select 2))) then { _effectivenessFound = _woundEffectiveness; + _impactFound = _amountOf min _effectivenessFound; _woundIndex = _forEachIndex; _wound = _x; }; } forEach _openWounds; -[_wound, _woundIndex, _effectivenessFound] +if (_woundIndex isEqualTo -1) exitWith {_foundWounds}; + +_bandageRemaining = _bandageRemaining - (_impactFound/_effectivenessFound); +_foundWounds set [_wound, [_effectivenessFound, _woundIndex, _impactFound]]; + +// recursion, run function again to find next most effective wound +if (GVAR(bandageRollover) && {_bandageRemaining > 0}) then { + [_patient, _bandage, _bodyPart, _bandageRemaining, _foundWounds] call FUNC(findMostEffectiveWounds); +}; + +_foundWounds // return diff --git a/addons/medical_treatment/functions/fnc_fullHeal.sqf b/addons/medical_treatment/functions/fnc_fullHeal.sqf index c5027e7dbe..0d8e93d3c7 100644 --- a/addons/medical_treatment/functions/fnc_fullHeal.sqf +++ b/addons/medical_treatment/functions/fnc_fullHeal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Fully heals the patient. diff --git a/addons/medical_treatment/functions/fnc_fullHealLocal.sqf b/addons/medical_treatment/functions/fnc_fullHealLocal.sqf index 7a0516ed94..e845e04304 100644 --- a/addons/medical_treatment/functions/fnc_fullHealLocal.sqf +++ b/addons/medical_treatment/functions/fnc_fullHealLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Local callback for fully healing a patient. diff --git a/addons/medical_treatment/functions/fnc_getBandageTime.sqf b/addons/medical_treatment/functions/fnc_getBandageTime.sqf index 44ad2a9744..ffe5c81f63 100644 --- a/addons/medical_treatment/functions/fnc_getBandageTime.sqf +++ b/addons/medical_treatment/functions/fnc_getBandageTime.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Calculates the time to bandage a wound based on it's size, the patient and the medic. @@ -13,7 +13,7 @@ * Treatment Time * * Example: - * [player, cursorTarget, "Head", "FieldDressing"] call ace_medical_treatment_fnc_getBandageTime + * [player, cursorTarget, "head", "FieldDressing"] call ace_medical_treatment_fnc_getBandageTime * * Public: No */ @@ -23,24 +23,35 @@ params ["_medic", "_patient", "_bodyPart", "_bandage"]; private _partIndex = ALL_BODY_PARTS find toLower _bodyPart; if (_partIndex < 0) exitWith { ERROR_1("invalid partIndex - %1",_this); 0 }; -private _targetWound = [_patient, _bandage, _bodyPart] call FUNC(findMostEffectiveWound); -_targetWound params ["_wound", "_woundIndex", "_effectiveness"]; -TRACE_3("findMostEffectiveWound",_wound,_woundIndex,_effectiveness); +private _targetWounds = [_patient, _bandage, _bodyPart] call FUNC(findMostEffectiveWounds); +TRACE_1("findMostEffectiveWounds",_targetWounds); + +private _woundCount = count _targetWounds; // Everything is patched up on this body part already -if (_wound isEqualTo EMPTY_WOUND) exitWith {0}; - -_wound params ["_classID", "_amountOf", "_bloodloss", "_damage"]; -private _category = (_classID % 10); +if (_woundCount == 0) exitWith {0}; // Base bandage time is based on wound size and remaining percentage -private _bandageTime = [BANDAGE_TIME_S, BANDAGE_TIME_M, BANDAGE_TIME_L] select _category; +private _bandageTimesArray = [BANDAGE_TIME_S, BANDAGE_TIME_M, BANDAGE_TIME_L]; +private _bandageTime = 0; -// Scale bandage time based on amount left and effectiveness (less time if only a little wound left) -// Basic bandage treatment will have a very high effectiveness and can be ignored -if (GVAR(advancedBandages) != 0) then { - _bandageTime = _bandageTime * linearConversion [0, _effectiveness, _amountOf, 0.666, 1, true]; -}; +{ + private _wound = _x; + _wound params ["_classID", "", "_amountOf"]; + _y params ["_effectiveness", "", "_impact"]; + private _category = (_classID % 10); + + // Base bandage time is based on wound size and remaining percentage + private _woundTime = _bandageTimesArray select _category; + + // Scale bandage time based on amount left and effectiveness (less time if only a little wound left) + // Basic bandage treatment will have a very high effectiveness and can be ignored + if (GVAR(advancedBandages != 0)) then { + _woundTime = _woundTime * linearConversion [0, _effectiveness, _impact, 0.666, 1, true]; + }; + + _bandageTime = _bandageTime + _woundTime; +} forEach _targetWounds; // Medics are more practised at applying bandages if ([_medic] call FUNC(isMedic)) then { @@ -52,6 +63,11 @@ if (_medic == _patient) then { _bandageTime = _bandageTime + BANDAGE_TIME_MOD_SELF; }; +// Bandaging multiple injuries doesn't require opening a new bandage each time +if (_woundCount > 1) then { + _bandageTime = _bandageTime - (2 * _woundCount); +}; + TRACE_1("",_bandageTime); // Nobody can bandage instantly _bandageTime max 2.25 diff --git a/addons/medical_treatment/functions/fnc_getHealTime.sqf b/addons/medical_treatment/functions/fnc_getHealTime.sqf index e8e8c302bf..74c2bb26d8 100644 --- a/addons/medical_treatment/functions/fnc_getHealTime.sqf +++ b/addons/medical_treatment/functions/fnc_getHealTime.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the PAK treatment time based on the amount of damage to heal. diff --git a/addons/medical_treatment/functions/fnc_getStitchTime.sqf b/addons/medical_treatment/functions/fnc_getStitchTime.sqf index 1bb6ac6ab5..f170d9db26 100644 --- a/addons/medical_treatment/functions/fnc_getStitchTime.sqf +++ b/addons/medical_treatment/functions/fnc_getStitchTime.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Calculates the Surgical Kit treatment time based on the amount of stitchable wounds. diff --git a/addons/medical_treatment/functions/fnc_getTriageStatus.sqf b/addons/medical_treatment/functions/fnc_getTriageStatus.sqf index 6db6484b8f..22207a5496 100644 --- a/addons/medical_treatment/functions/fnc_getTriageStatus.sqf +++ b/addons/medical_treatment/functions/fnc_getTriageStatus.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Returns the current triage status of the unit. diff --git a/addons/medical_treatment/functions/fnc_handleBandageOpening.sqf b/addons/medical_treatment/functions/fnc_handleBandageOpening.sqf index b6191072bd..69a6118099 100644 --- a/addons/medical_treatment/functions/fnc_handleBandageOpening.sqf +++ b/addons/medical_treatment/functions/fnc_handleBandageOpening.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Handles the bandage of a patient. diff --git a/addons/medical_treatment/functions/fnc_hasItem.sqf b/addons/medical_treatment/functions/fnc_hasItem.sqf index 87d5c8b72e..e84a79f142 100644 --- a/addons/medical_treatment/functions/fnc_hasItem.sqf +++ b/addons/medical_treatment/functions/fnc_hasItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Checks if one of the given items are present between the medic and patient. diff --git a/addons/medical_treatment/functions/fnc_hasTourniquetAppliedTo.sqf b/addons/medical_treatment/functions/fnc_hasTourniquetAppliedTo.sqf index c8d2aa8e7b..9ef1261238 100644 --- a/addons/medical_treatment/functions/fnc_hasTourniquetAppliedTo.sqf +++ b/addons/medical_treatment/functions/fnc_hasTourniquetAppliedTo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Checks if the unit has a tourniquet applied on the specified body part. diff --git a/addons/medical_treatment/functions/fnc_isInMedicalFacility.sqf b/addons/medical_treatment/functions/fnc_isInMedicalFacility.sqf index d2789f5d38..2d4468d2c4 100644 --- a/addons/medical_treatment/functions/fnc_isInMedicalFacility.sqf +++ b/addons/medical_treatment/functions/fnc_isInMedicalFacility.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Checks if the unit is in a medical facility. diff --git a/addons/medical_treatment/functions/fnc_isInMedicalVehicle.sqf b/addons/medical_treatment/functions/fnc_isInMedicalVehicle.sqf index 2f76f04f99..f6ca395f9c 100644 --- a/addons/medical_treatment/functions/fnc_isInMedicalVehicle.sqf +++ b/addons/medical_treatment/functions/fnc_isInMedicalVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Checks if the unit is in a medical vehicle. diff --git a/addons/medical_treatment/functions/fnc_isMedic.sqf b/addons/medical_treatment/functions/fnc_isMedic.sqf index d109ad2452..7e1360e5ed 100644 --- a/addons/medical_treatment/functions/fnc_isMedic.sqf +++ b/addons/medical_treatment/functions/fnc_isMedic.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, KoffeinFlummi * Checks if the unit is a medic of the given level. diff --git a/addons/medical_treatment/functions/fnc_isMedicalVehicle.sqf b/addons/medical_treatment/functions/fnc_isMedicalVehicle.sqf index dda930a4f4..4747860ae6 100644 --- a/addons/medical_treatment/functions/fnc_isMedicalVehicle.sqf +++ b/addons/medical_treatment/functions/fnc_isMedicalVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Checks if the vehicle is a medical vehicle. diff --git a/addons/medical_treatment/functions/fnc_ivBag.sqf b/addons/medical_treatment/functions/fnc_ivBag.sqf index bfc149564e..7f56f332b3 100644 --- a/addons/medical_treatment/functions/fnc_ivBag.sqf +++ b/addons/medical_treatment/functions/fnc_ivBag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Administers an IV bag treatment to the patient. diff --git a/addons/medical_treatment/functions/fnc_ivBagLocal.sqf b/addons/medical_treatment/functions/fnc_ivBagLocal.sqf index f2640fb0bf..64eabf844a 100644 --- a/addons/medical_treatment/functions/fnc_ivBagLocal.sqf +++ b/addons/medical_treatment/functions/fnc_ivBagLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Local callback for administering an IV bag to a patient. diff --git a/addons/medical_treatment/functions/fnc_litterCleanupLoop.sqf b/addons/medical_treatment/functions/fnc_litterCleanupLoop.sqf index 1039edb4c6..f9450ac5e1 100644 --- a/addons/medical_treatment/functions/fnc_litterCleanupLoop.sqf +++ b/addons/medical_treatment/functions/fnc_litterCleanupLoop.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, esteldunedain, mharis001 * Handles cleaning up litter objects that have reached the end of their lifetime. diff --git a/addons/medical_treatment/functions/fnc_loadUnit.sqf b/addons/medical_treatment/functions/fnc_loadUnit.sqf index 2aaa9039e3..edb9cbe062 100644 --- a/addons/medical_treatment/functions/fnc_loadUnit.sqf +++ b/addons/medical_treatment/functions/fnc_loadUnit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Loads an unconscious or dead patient in the given or nearest vehicle. diff --git a/addons/medical_treatment/functions/fnc_medication.sqf b/addons/medical_treatment/functions/fnc_medication.sqf index 6def70b212..b69a63e994 100644 --- a/addons/medical_treatment/functions/fnc_medication.sqf +++ b/addons/medical_treatment/functions/fnc_medication.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Administers medication to the patient on the given body bodypart. diff --git a/addons/medical_treatment/functions/fnc_medicationLocal.sqf b/addons/medical_treatment/functions/fnc_medicationLocal.sqf index bb14e14b5b..b5499e9bb4 100644 --- a/addons/medical_treatment/functions/fnc_medicationLocal.sqf +++ b/addons/medical_treatment/functions/fnc_medicationLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Local callback for administering medication to a patient. diff --git a/addons/medical_treatment/functions/fnc_onMedicationUsage.sqf b/addons/medical_treatment/functions/fnc_onMedicationUsage.sqf index da2253ca18..6235358446 100644 --- a/addons/medical_treatment/functions/fnc_onMedicationUsage.sqf +++ b/addons/medical_treatment/functions/fnc_onMedicationUsage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Handles the medication given to a patient. diff --git a/addons/medical_treatment/functions/fnc_placeBodyBagInGrave.sqf b/addons/medical_treatment/functions/fnc_placeBodyBagInGrave.sqf new file mode 100644 index 0000000000..82cd2bc080 --- /dev/null +++ b/addons/medical_treatment/functions/fnc_placeBodyBagInGrave.sqf @@ -0,0 +1,39 @@ +#include "..\script_component.hpp" +/* + * Author: drofseh + * Places a body bag inside a grave. + * + * Arguments: + * 0: Medic + * 1: Patient + * + * Return Value: + * None + * + * Example: + * [cursorObject, player] call ace_medical_treatment_fnc_placeBodyBagInGrave + * + * Public: No + */ + +params ["_bodybag", "_medic"]; +TRACE_2("placeBodyBagInGrave",_bodybag,_medic); + +[ + GVAR(treatmentTimeGrave), + _this, + { + TRACE_1("finished",_this); + (_this#0) params ["_bodybag","_medic"]; + private _graveClassname = ""; + if (GVAR(graveDiggingMarker)) then { + _graveClassname = missionNamespace getVariable [QGVAR(graveClassname), "ACE_Grave"]; + }; + private _graveRotation = missionNameSpace getVariable [QGVAR(graveRotation), 0]; + + [[_medic, _bodybag], _graveClassname, [0,0,0], _graveRotation, true] call FUNC(placeInBodyBagOrGrave); + }, + {TRACE_1("failed",_this);}, + LLSTRING(DiggingGrave) + // ToDo: check FUNC(canDigGrave)? - what if body dragged/burried by someone else +] call EFUNC(common,progressBar); diff --git a/addons/medical_treatment/functions/fnc_placeInBodyBag.sqf b/addons/medical_treatment/functions/fnc_placeInBodyBag.sqf index 87de5f3542..c65f83ca6b 100644 --- a/addons/medical_treatment/functions/fnc_placeInBodyBag.sqf +++ b/addons/medical_treatment/functions/fnc_placeInBodyBag.sqf @@ -1,11 +1,15 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* - * Author: Glowbal + * Author: Glowbal, drofseh * Places a dead body inside a body bag. * * Arguments: * 0: Medic * 1: Patient + * 2: Body Part (unused) + * 3: Treatment (unused) + * 4: Item user (unused) + * 5: Body bag classname * * Return Value: * None @@ -16,38 +20,14 @@ * Public: No */ -params ["_medic", "_patient"]; +params ["_medic", "_patient", "", "", "", "_item"]; TRACE_1("placeInBodyBag",_patient); if ((alive _patient) && {!GVAR(allowBodyBagUnconscious)}) exitWith { - [_medic, "ACE_bodyBag"] call EFUNC(common,addToInventory); // re-add slighly used bodybag? + [_medic, _item] call EFUNC(common,addToInventory); // re-add slighly used bodybag? [LSTRING(bodybagWhileStillAlive)] call EFUNC(common,displayTextStructured); }; -if (!local _patient) exitWith { - TRACE_1("Calling where local",local _patient); - [QGVAR(placeInBodyBag), [nil, _patient], _patient] call CBA_fnc_targetEvent; -}; - -if (alive _patient) then { - TRACE_1("Manually killing with setDead",_patient); - [_patient, "buried_alive", _medic] call EFUNC(medical_status,setDead); -}; - -private _position = (getPosASL _patient) vectorAdd [0, 0, 0.2]; - -private _headPos = _patient modelToWorldVisual (_patient selectionPosition "head"); -private _spinePos = _patient modelToWorldVisual (_patient selectionPosition "Spine3"); -private _direction = (_headPos vectorFromTo _spinePos) call CBA_fnc_vectDir; - -// Move the body away so it won't collide with the body bag object -// This setPosASL seems to need to be called where the unit is local -_patient setPosASL [-5000, -5000, 0]; - -// Create the body bag object, set its position to prevent it from flipping -private _bodyBag = createVehicle ["ACE_bodyBagObject", [0, 0, 0], [], 0, "NONE"]; -_bodyBag setPosASL _position; -_bodyBag setDir _direction; - -// Server will handle hiding and deleting the body -["ace_placedInBodyBag", [_patient, _bodyBag]] call CBA_fnc_globalEvent; +// Body bag needs to be a little higher to prevent it from flipping +private _bodyBagClass = getText (configFile >> "CfgWeapons" >> _item >> QGVAR(bodyBagObject)); +[_this, _bodyBagClass, [0, 0, 0.2], 0, false] call FUNC(placeInBodyBagOrGrave); diff --git a/addons/medical_treatment/functions/fnc_placeInBodyBagOrGrave.sqf b/addons/medical_treatment/functions/fnc_placeInBodyBagOrGrave.sqf new file mode 100644 index 0000000000..b72d0ddda4 --- /dev/null +++ b/addons/medical_treatment/functions/fnc_placeInBodyBagOrGrave.sqf @@ -0,0 +1,75 @@ +#include "..\script_component.hpp" +/* + * Author: Glowbal, drofseh + * Places a dead body inside a body bag or grave. + * + * Arguments: + * 0: Arguments + * - 0: Medic + * - 1: Patient + * 1: Resting Place Classname + * 2: Offset (default: [0,0,0]) + * 3: Rotation (default: 0) + * 4: Is Grave (default: false) + * + * Return Value: + * None + * + * Example: + * [[player, cursorObject], "ACE_bodyBagObject_blue"] call ace_medical_treatment_fnc_placeInBodyBagOrGrave + * + * Public: No + */ + +params ["_args", "_restingPlaceClass", ["_offset", [0,0,0]], ["_rotation", 0], ["_isGrave", false]]; +_args params ["_medic", "_patient"]; +TRACE_1("placeInBodyBagOrGrave",_patient); + +private _isHuman = _patient isKindOf "CaManBase"; + +if (_isHuman && {!local _patient}) exitWith { + TRACE_1("Calling where local",local _patient); + [QGVAR(placeInBodyBagOrGrave), _this, _patient] call CBA_fnc_targetEvent; +}; + +if (_isHuman && {alive _patient}) then { + TRACE_1("Manually killing with setDead",_patient); + [_patient, "buried_alive", _medic] call EFUNC(medical_status,setDead); +}; + +private _position = getPosASL _patient; +private _direction = 0; + +if (_isHuman) then { + private _headPos = _patient modelToWorldVisual (_patient selectionPosition "head"); + private _spinePos = _patient modelToWorldVisual (_patient selectionPosition "Spine3"); + _direction = (_headPos vectorFromTo _spinePos) call CBA_fnc_vectDir; +} else { + _direction = getDir _patient; +}; + +// apply adjustments +_position = _position vectorAdd _offset; +_direction = _direction + _rotation; + + +// Move the body away so it won't collide with the body bag object +// This setPosASL seems to need to be called where the unit is local +_patient setPosASL [-5000, -5000, 0]; + +private _restingPlace = objNull; +if (_restingPlaceClass != "") then { + // Create the body bag object, set its position to prevent it from flipping + _restingPlace = createVehicle [_restingPlaceClass, [0, 0, 0], [], 0, "NONE"]; + _restingPlace setPosASL _position; + _restingPlace setDir _direction; + _restingPlace setVectorUp surfaceNormal _position; +}; + + +// Server will handle hiding and deleting the body +// Keep event name as body bag only to avoid breaking things for others +["ace_placedInBodyBag", [_patient, _restingPlace, _isGrave]] call CBA_fnc_globalEvent; +if (_isGrave) then { + ["ace_placedInGrave", [_patient, _restingPlace]] call CBA_fnc_globalEvent; +}; diff --git a/addons/medical_treatment/functions/fnc_placeInGrave.sqf b/addons/medical_treatment/functions/fnc_placeInGrave.sqf new file mode 100644 index 0000000000..6bea5c6db9 --- /dev/null +++ b/addons/medical_treatment/functions/fnc_placeInGrave.sqf @@ -0,0 +1,33 @@ +#include "..\script_component.hpp" +/* + * Author: Glowbal, drofseh + * Places a dead body inside a grave. + * + * Arguments: + * 0: Medic + * 1: Patient + * + * Return Value: + * None + * + * Example: + * [player, cursorObject] call ace_medical_treatment_fnc_placeInGrave + * + * Public: No + */ + +params ["_medic", "_patient"]; +TRACE_1("placeInGrave",_patient); + +if ((alive _patient) && {GVAR(allowGraveDigging) < 2}) exitWith { + [LSTRING(bodybagWhileStillAlive)] call EFUNC(common,displayTextStructured); +}; + +private _graveClassname = ""; +if (GVAR(graveDiggingMarker)) then { + _graveClassname = missionNamespace getVariable [QGVAR(graveClassname), "ACE_Grave"]; +}; +private _graveRotation = missionNameSpace getVariable [QGVAR(graveRotation), 0]; + +[_this, _graveClassname, [0,0,0], _graveRotation, true] call FUNC(placeInBodyBagOrGrave) + diff --git a/addons/medical_treatment/functions/fnc_removeBody.sqf b/addons/medical_treatment/functions/fnc_removeBody.sqf index e86d374e8e..7be154e89c 100644 --- a/addons/medical_treatment/functions/fnc_removeBody.sqf +++ b/addons/medical_treatment/functions/fnc_removeBody.sqf @@ -1,11 +1,11 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Removes a body. Ideally it is deleted the next frame. * However, player bodies cannot be deleted until they respawn, so it is hidden and deleted later. * * Arguments: - * 0: Body + * 0: Body or Bodybag * * Return Value: * None diff --git a/addons/medical_treatment/functions/fnc_scanMedicalItems.sqf b/addons/medical_treatment/functions/fnc_scanMedicalItems.sqf index 23ffd35d91..ef8229afbe 100644 --- a/addons/medical_treatment/functions/fnc_scanMedicalItems.sqf +++ b/addons/medical_treatment/functions/fnc_scanMedicalItems.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Caches all item classnames used in ACE_Medical_Treatment_Actions @@ -35,4 +35,4 @@ private _fnc_isMedicalItem = toString { _list pushBack (configName _x); } forEach (_fnc_isMedicalItem configClasses (configFile >> "CfgMagazines")); -uiNamespace setVariable [QGVAR(treatmentItems), compileFinal str (_list arrayIntersect _list)] +uiNamespace setVariable [QGVAR(treatmentItems), compileFinal (_list createHashMapFromArray [])] diff --git a/addons/medical_treatment/functions/fnc_setTriageStatus.sqf b/addons/medical_treatment/functions/fnc_setTriageStatus.sqf index aee8326056..dffd5f7154 100644 --- a/addons/medical_treatment/functions/fnc_setTriageStatus.sqf +++ b/addons/medical_treatment/functions/fnc_setTriageStatus.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Sets the traige status of the given unit. diff --git a/addons/medical_treatment/functions/fnc_splint.sqf b/addons/medical_treatment/functions/fnc_splint.sqf index f7883da86a..e48fb55d36 100644 --- a/addons/medical_treatment/functions/fnc_splint.sqf +++ b/addons/medical_treatment/functions/fnc_splint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Applies a splint to the patient on the given body part. diff --git a/addons/medical_treatment/functions/fnc_splintLocal.sqf b/addons/medical_treatment/functions/fnc_splintLocal.sqf index f0834b328e..f415d8296f 100644 --- a/addons/medical_treatment/functions/fnc_splintLocal.sqf +++ b/addons/medical_treatment/functions/fnc_splintLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Local callback for applying a splint to a patient. diff --git a/addons/medical_treatment/functions/fnc_surgicalKitProgress.sqf b/addons/medical_treatment/functions/fnc_surgicalKitProgress.sqf index f7ed35e412..477c8101f5 100644 --- a/addons/medical_treatment/functions/fnc_surgicalKitProgress.sqf +++ b/addons/medical_treatment/functions/fnc_surgicalKitProgress.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut, mharis001 * Handles the surgical kit treatment by periodically closing bandaged wounds. @@ -56,7 +56,7 @@ if (GVAR(clearTrauma) == 1) then { private _partIndex = ALL_BODY_PARTS find _bodyPart; TRACE_2("clearTrauma - clearing trauma after stitching",_bodyPart,_treatedWound); private _bodyPartDamage = _patient getVariable [QEGVAR(medical,bodyPartDamage), []]; - _bodyPartDamage set [_partIndex, (_bodyPartDamage select _partIndex) - _treatedDamageOf]; + _bodyPartDamage set [_partIndex, (_bodyPartDamage select _partIndex) - (_treatedDamageOf * _treatedAmountOf)]; _patient setVariable [QEGVAR(medical,bodyPartDamage), _bodyPartDamage, true]; TRACE_2("clearTrauma - healed damage",_bodyPart,_treatedDamageOf); diff --git a/addons/medical_treatment/functions/fnc_surgicalKitStart.sqf b/addons/medical_treatment/functions/fnc_surgicalKitStart.sqf index 82de448c82..b194f88736 100644 --- a/addons/medical_treatment/functions/fnc_surgicalKitStart.sqf +++ b/addons/medical_treatment/functions/fnc_surgicalKitStart.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brett Mayson * Handles the surgical kit treatment start by consuming a suture when applicable diff --git a/addons/medical_treatment/functions/fnc_tourniquet.sqf b/addons/medical_treatment/functions/fnc_tourniquet.sqf index 155a2c502b..8e70529ece 100644 --- a/addons/medical_treatment/functions/fnc_tourniquet.sqf +++ b/addons/medical_treatment/functions/fnc_tourniquet.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Applies a tourniquet to the patient on the given body part. diff --git a/addons/medical_treatment/functions/fnc_tourniquetLocal.sqf b/addons/medical_treatment/functions/fnc_tourniquetLocal.sqf index e20510951b..3fe5f4e55d 100644 --- a/addons/medical_treatment/functions/fnc_tourniquetLocal.sqf +++ b/addons/medical_treatment/functions/fnc_tourniquetLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Local callback for applying a tourniquet to a patient. diff --git a/addons/medical_treatment/functions/fnc_tourniquetRemove.sqf b/addons/medical_treatment/functions/fnc_tourniquetRemove.sqf index e79a289efe..5c5cf93dc8 100644 --- a/addons/medical_treatment/functions/fnc_tourniquetRemove.sqf +++ b/addons/medical_treatment/functions/fnc_tourniquetRemove.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Removes the tourniquet from the patient on the given body part. diff --git a/addons/medical_treatment/functions/fnc_treatment.sqf b/addons/medical_treatment/functions/fnc_treatment.sqf index 5be8ced1e4..b7ebbfd8b0 100644 --- a/addons/medical_treatment/functions/fnc_treatment.sqf +++ b/addons/medical_treatment/functions/fnc_treatment.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, KoffeinFlummi, mharis001 * Starts the treatment process. @@ -54,88 +54,98 @@ private _userAndItem = if (GET_NUMBER_ENTRY(_config >> "consumeItem") == 1) then _userAndItem params ["_itemUser", "_usedItem"]; -// Get treatment animation for the medic -private _medicAnim = if (_medic isEqualTo _patient) then { - getText (_config >> ["animationMedicSelf", "animationMedicSelfProne"] select (stance _medic == "PRONE")); -} else { - getText (_config >> ["animationMedic", "animationMedicProne"] select (stance _medic == "PRONE")); -}; +private _isInZeus = !isNull findDisplay 312; -_medic setVariable [QGVAR(selectedWeaponOnTreatment), weaponState _medic]; +if (_medic isNotEqualTo player || {!_isInZeus}) then { + // Get treatment animation for the medic + private _medicAnim = if (_medic isEqualTo _patient) then { + getText (_config >> ["animationMedicSelf", "animationMedicSelfProne"] select (stance _medic == "PRONE")); + } else { + getText (_config >> ["animationMedic", "animationMedicProne"] select (stance _medic == "PRONE")); + }; -// Adjust animation based on the current weapon of the medic -private _wpn = ["non", "rfl", "lnr", "pst"] param [["", primaryWeapon _medic, secondaryWeapon _medic, handgunWeapon _medic] find currentWeapon _medic, "non"]; -_medicAnim = [_medicAnim, "[wpn]", _wpn] call CBA_fnc_replace; + _medic setVariable [QGVAR(selectedWeaponOnTreatment), weaponState _medic]; -// This animation is missing, use alternative -if (_medicAnim == "AinvPknlMstpSlayWlnrDnon_medic") then { - _medicAnim = "AinvPknlMstpSlayWlnrDnon_medicOther"; -}; + // Adjust animation based on the current weapon of the medic + private _wpn = ["non", "rfl", "lnr", "pst"] param [["", primaryWeapon _medic, secondaryWeapon _medic, handgunWeapon _medic] find currentWeapon _medic, "non"]; + _medicAnim = [_medicAnim, "[wpn]", _wpn] call CBA_fnc_replace; -// Determine the animation length -private _animDuration = GVAR(animDurations) getVariable _medicAnim; -if (isNil "_animDuration") then { - WARNING_2("animation [%1] for [%2] has no duration defined",_medicAnim,_classname); - _animDuration = 10; -}; + // This animation is missing, use alternative + if (_medicAnim == "AinvPknlMstpSlayWlnrDnon_medic") then { + _medicAnim = "AinvPknlMstpSlayWlnrDnon_medicOther"; + }; -// These animations have transitions that take a bit longer... -if (weaponLowered _medic) then { - _animDuration = _animDuration + 0.5; + // Determine the animation length + private _animDuration = GVAR(animDurations) getVariable _medicAnim; + if (isNil "_animDuration") then { + WARNING_2("animation [%1] for [%2] has no duration defined",_medicAnim,_classname); + _animDuration = 10; + }; - // Fix problems with lowered weapon transitions by raising the weapon first - if (currentWeapon _medic != "" && {_medicAnim != ""}) then { - _medic action ["WeaponInHand", _medic]; + // These animations have transitions that take a bit longer... + if (weaponLowered _medic) then { + _animDuration = _animDuration + 0.5; + + // Fix problems with lowered weapon transitions by raising the weapon first + if (currentWeapon _medic != "" && {_medicAnim != ""}) then { + _medic action ["WeaponInHand", _medic]; + }; + }; + + if (binocular _medic != "" && {binocular _medic == currentWeapon _medic}) then { + _animDuration = _animDuration + 1; + }; + + // Play treatment animation for medic and determine the ending animation + if (vehicle _medic == _medic && {_medicAnim != ""}) then { + // Speed up animation based on treatment time (but cap max to prevent odd animiations/cam shake) + private _animRatio = _animDuration / _treatmentTime; + TRACE_3("setAnimSpeedCoef",_animRatio,_animDuration,_treatmentTime); + + // Don't slow down animation too much to prevent it looking funny. + if (_animRatio < ANIMATION_SPEED_MIN_COEFFICIENT) then { + _animRatio = ANIMATION_SPEED_MIN_COEFFICIENT; + }; + + // Skip animation enitrely if progress bar too quick. + if (_animRatio > ANIMATION_SPEED_MAX_COEFFICIENT) exitWith {}; + + [QEGVAR(common,setAnimSpeedCoef), [_medic, _animRatio]] call CBA_fnc_globalEvent; + + // Play animation + private _endInAnim = "AmovP[pos]MstpS[stn]W[wpn]Dnon"; + + private _pos = ["knl", "pne"] select (stance _medic == "PRONE"); + private _stn = "non"; + + if (_wpn != "non") then { + _stn = ["ras", "low"] select (weaponLowered _medic); + }; + + _endInAnim = [_endInAnim, "[pos]", _pos] call CBA_fnc_replace; + _endInAnim = [_endInAnim, "[stn]", _stn] call CBA_fnc_replace; + _endInAnim = [_endInAnim, "[wpn]", _wpn] call CBA_fnc_replace; + + [_medic, _medicAnim] call EFUNC(common,doAnimation); + [_medic, _endInAnim] call EFUNC(common,doAnimation); + _medic setVariable [QGVAR(endInAnim), _endInAnim]; + + if (!isNil QEGVAR(advanced_fatigue,setAnimExclusions)) then { + EGVAR(advanced_fatigue,setAnimExclusions) pushBack QUOTE(ADDON); + }; + }; + + // Play a random treatment sound globally if defined + private _soundsConfig = _config >> "sounds"; + + if (isArray _soundsConfig) then { + (selectRandom (getArray _soundsConfig)) params ["_file", ["_volume", 1], ["_pitch", 1], ["_distance", 10]]; + playSound3D [_file, objNull, false, getPosASL _medic, _volume, _pitch, _distance]; }; }; -if (binocular _medic != "" && {binocular _medic == currentWeapon _medic}) then { - _animDuration = _animDuration + 1; -}; - -// Play treatment animation for medic and determine the ending animation -if (vehicle _medic == _medic && {_medicAnim != ""}) then { - // Speed up animation based on treatment time (but cap max to prevent odd animiations/cam shake) - private _animRatio = _animDuration / _treatmentTime; - TRACE_3("setAnimSpeedCoef",_animRatio,_animDuration,_treatmentTime); - - // Don't slow down animation too much to prevent it looking funny. - if (_animRatio < ANIMATION_SPEED_MIN_COEFFICIENT) then { - _animRatio = ANIMATION_SPEED_MIN_COEFFICIENT; - }; - - // Skip animation enitrely if progress bar too quick. - if (_animRatio > ANIMATION_SPEED_MAX_COEFFICIENT) exitWith {}; - - [QEGVAR(common,setAnimSpeedCoef), [_medic, _animRatio]] call CBA_fnc_globalEvent; - - // Play animation - private _endInAnim = "AmovP[pos]MstpS[stn]W[wpn]Dnon"; - - private _pos = ["knl", "pne"] select (stance _medic == "PRONE"); - private _stn = "non"; - - if (_wpn != "non") then { - _stn = ["ras", "low"] select (weaponLowered _medic); - }; - - _endInAnim = [_endInAnim, "[pos]", _pos] call CBA_fnc_replace; - _endInAnim = [_endInAnim, "[stn]", _stn] call CBA_fnc_replace; - _endInAnim = [_endInAnim, "[wpn]", _wpn] call CBA_fnc_replace; - - [_medic, _medicAnim] call EFUNC(common,doAnimation); - [_medic, _endInAnim] call EFUNC(common,doAnimation); - _medic setVariable [QGVAR(endInAnim), _endInAnim]; - - if (!isNil QEGVAR(advanced_fatigue,setAnimExclusions)) then { - EGVAR(advanced_fatigue,setAnimExclusions) pushBack QUOTE(ADDON); - }; -}; - -// Play a random treatment sound globally if defined -if (isArray (_config >> "sounds")) then { - selectRandom getArray (_config >> "sounds") params ["_file", ["_volume", 1], ["_pitch", 1], ["_distance", 10]]; - playSound3D [_file, objNull, false, getPosASL _medic, _volume, _pitch, _distance]; +if (_isInZeus) then { + _treatmentTime = _treatmentTime * GVAR(treatmentTimeCoeffZeus); }; GET_FUNCTION(_callbackStart,_config >> "callbackStart"); @@ -156,7 +166,7 @@ if (_callbackProgress isEqualTo {}) then { FUNC(treatmentFailure), getText (_config >> "displayNameProgress"), _callbackProgress, - ["isNotInside", "isNotSwimming"] + ["isNotInside", "isNotSwimming", "isNotInZeus"] ] call EFUNC(common,progressBar); true diff --git a/addons/medical_treatment/functions/fnc_treatmentFailure.sqf b/addons/medical_treatment/functions/fnc_treatmentFailure.sqf index 3519c3fba0..64d18fa830 100644 --- a/addons/medical_treatment/functions/fnc_treatmentFailure.sqf +++ b/addons/medical_treatment/functions/fnc_treatmentFailure.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, Glowbal, mharis001 * Handles treatment process failure. diff --git a/addons/medical_treatment/functions/fnc_treatmentSuccess.sqf b/addons/medical_treatment/functions/fnc_treatmentSuccess.sqf index 06ad566d5c..96f0d11ead 100644 --- a/addons/medical_treatment/functions/fnc_treatmentSuccess.sqf +++ b/addons/medical_treatment/functions/fnc_treatmentSuccess.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, Glowbal, mharis001 * Handles treatment process success. diff --git a/addons/medical_treatment/functions/fnc_unloadUnit.sqf b/addons/medical_treatment/functions/fnc_unloadUnit.sqf index d759df1121..0ddc297a32 100644 --- a/addons/medical_treatment/functions/fnc_unloadUnit.sqf +++ b/addons/medical_treatment/functions/fnc_unloadUnit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Unloads an unconscious or dead patient from their vehicle. diff --git a/addons/medical_treatment/functions/fnc_useItem.sqf b/addons/medical_treatment/functions/fnc_useItem.sqf index d642380910..1f1d7c8355 100644 --- a/addons/medical_treatment/functions/fnc_useItem.sqf +++ b/addons/medical_treatment/functions/fnc_useItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, mharis001 * Uses one of the treatment items. Respects the priority defined by the allowSharedEquipment setting. @@ -20,6 +20,10 @@ params ["_medic", "_patient", "_items"]; +if (_medic isEqualTo player && {!isNull findDisplay 312}) exitWith { + [_medic, _items select 0] +}; + scopeName "Main"; private _useOrder = [[_patient, _medic], [_medic, _patient], [_medic]] select GVAR(allowSharedEquipment); diff --git a/addons/medical_treatment/functions/script_component.hpp b/addons/medical_treatment/functions/script_component.hpp deleted file mode 100644 index 83dfa4371b..0000000000 --- a/addons/medical_treatment/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\medical_treatment\script_component.hpp" diff --git a/addons/medical_treatment/initSettings.sqf b/addons/medical_treatment/initSettings.sqf index f66868aac9..fbb1b170c8 100644 --- a/addons/medical_treatment/initSettings.sqf +++ b/addons/medical_treatment/initSettings.sqf @@ -25,6 +25,24 @@ true ] call CBA_fnc_addSetting; +[ + QGVAR(bandageRollover), + "CHECKBOX", + [LSTRING(bandageRollover_DisplayName), LSTRING(bandageRollover_Description)], + [ELSTRING(medical,Category), LSTRING(SubCategory_Treatment)], + true, + false // server can force if necessary, otherwise client decides +] call CBA_fnc_addSetting; + +[ + QGVAR(bandageEffectiveness), + "SLIDER", + [LSTRING(bandageEffectiveness_DisplayName), LSTRING(bandageEffectiveness_Description)], + [ELSTRING(medical,Category), LSTRING(SubCategory_Treatment)], + [0, 5, 1, 2], + true +] call CBA_fnc_addSetting; + [ QGVAR(woundReopenChance), "SLIDER", @@ -107,6 +125,15 @@ true ] call CBA_fnc_addSetting; +[ + QGVAR(treatmentTimeGrave), + "SLIDER", + [LSTRING(TreatmentTimeGrave_DisplayName), LSTRING(TreatmentTimeGrave_Description)], + [ELSTRING(medical,Category), LSTRING(SubCategory_Treatment)], + [0.1, 120, 30, 1], + true +] call CBA_fnc_addSetting; + [ QGVAR(medicEpinephrine), "LIST", @@ -278,6 +305,14 @@ true ] call CBA_fnc_addSetting; +[ + QGVAR(treatmentTimeCoeffZeus), + "SLIDER", + [LSTRING(TreatmentTimeCoeffZeus_DisplayName), LSTRING(TreatmentTimeCoeffZeus_Description)], + [ELSTRING(medical,Category), LSTRING(SubCategory_Treatment)], + [0, 10, 1, 2] +] call CBA_fnc_addSetting; + [ QGVAR(allowBodyBagUnconscious), "CHECKBOX", @@ -287,6 +322,24 @@ true ] call CBA_fnc_addSetting; +[ + QGVAR(allowGraveDigging), + "LIST", + [LSTRING(AllowGraveDigging_DisplayName), LSTRING(AllowGraveDigging_Description)], + [ELSTRING(medical,Category), LSTRING(SubCategory_Treatment)], + [[0, 1, 2], [ELSTRING(common,Disabled), LSTRING(AllowGraveDigging_graveOnlyDead), ELSTRING(common,Yes)], 1], + true +] call CBA_fnc_addSetting; + +[ + QGVAR(graveDiggingMarker), + "CHECKBOX", + [LSTRING(GraveDiggingMarker_DisplayName), LSTRING(GraveDiggingMarker_Description)], + [ELSTRING(medical,Category), LSTRING(SubCategory_Treatment)], + true, + true +] call CBA_fnc_addSetting; + [ QGVAR(holsterRequired), "LIST", diff --git a/addons/medical_treatment/script_component.hpp b/addons/medical_treatment/script_component.hpp index 36173d4ac1..6a334ed72a 100644 --- a/addons/medical_treatment/script_component.hpp +++ b/addons/medical_treatment/script_component.hpp @@ -55,4 +55,4 @@ // Animations that would be played faster than this are instead skipped. (= Progress bar too quick for animation). #define ANIMATION_SPEED_MAX_COEFFICIENT 2.5 -#define MEDICAL_TREATMENT_ITEMS (call (uiNamespace getVariable [QGVAR(treatmentItems), {[]}])) +#define MEDICAL_TREATMENT_ITEMS (keys (uiNamespace getVariable QGVAR(treatmentItems))) diff --git a/addons/medical_treatment/stringtable.xml b/addons/medical_treatment/stringtable.xml index 051b0e6d00..efcd6cf506 100644 --- a/addons/medical_treatment/stringtable.xml +++ b/addons/medical_treatment/stringtable.xml @@ -51,7 +51,7 @@ Enables the Check Pulse, Check Blood Pressure, and Check Response treatment actions instead of the generic Diagnose action.\nWhen disabled, the CPR action will only be shown when performing CPR is appropriate.\nThe actions this setting enables are needed to determine whether a person is unconscious or in cardiac arrest. - 有効化すると通常の診断動作に代わり、脈拍や血圧測定、反応を確認できます。 + 全般的な診断の代わりに、脈拍の確認、血圧の確認、反応の確認の治療アクションを有効にします。\n無効にすると、心肺蘇生(CPR)アクションは、心肺蘇生(CPR)の実行が適切で必要な場合のみ表示されます。\nこの設定で有効になるアクションは、人が意識を失っているか心停止しているかを判断するために必要です。 Active le diagnostic avancé, permettant la vérification du pouls, de la pression sanguine, ainsi que la réponse du patient aux traitements.\nSi l'option est désactivée, l'action de RCP ne sera visible que si elle est effectivement appropriée.\nLe diagnostic avancé est indispensable pour différencier une personne inconsciente d'une personne en arrêt cardiaque. Включает действия «Проверить пульс», «Проверить давление» и «Проверить реакцию» вместо общего действия «Диагностика». Ativa as opções de Verificar Pulso, Verificar Pressão Sanguínea e Verificar Resposta, ao invés do diagnóstico geral. @@ -69,7 +69,7 @@ Enabled & Can Diagnose Death/Cardiac Arrest Activé & Diagnostic du décès/de l'arrêt cardiaque Włączone i pozwala zdiagnozować Śmierć/Zatrzymanie Akcji Serca - 死亡/心停止状態でも診断許可 + 有効 & 死亡/心停止状態を診断可能 Включено & Может диагностировать смерть/остановку сердца Aktiviert & kann Tod/Herzstillstand diagnostizieren 已启用 & 可以诊断死亡/心搏骤停 @@ -95,7 +95,7 @@ Enables extended, more in-depth medication handling. Also, enables the use of Adenosine. Устанавливает расширенное использование лекарств - 有効化するともっと多くの多様な機能を持つ医薬品を使えます。また、アデノシンとアトロピンが利用可能になります。 + 有効化するともっと多くの多様な機能を持つ医薬品を使えます。また、アデノシンが利用可能になります。 Permet une manipulation étendue et plus approfondie des médicaments.\nEn outre, permet l'utilisation d'adénosine. Ativa a manipulação avançada de medicações. Também permite o uso de Adenosina e Atropina. 是否擴展藥物管控使其更深度化。並且,啟用腺苷以及阿托品的使用次數 @@ -126,7 +126,7 @@ Enables treatment actions for different bandage types instead of the generic Bandage action.\nAdditionally, the reopening of bandaged wounds can also be enabled. Ermöglicht Behandlungsaktionen für verschiedene Bandagentypen anstelle der gewöhnlichen Bandageaktionen. - 有効化すると通常の包帯動作に代わり、様々な種類がある包帯で治療ができます。 + 有効化すると通常の包帯動作に代わり、様々な種類がある包帯で治療ができます。\nまた、創傷の再解放も有効化できます。 Active différents types de bandages, à choisir judicieusement en fonction des plaies. Включает действия для разных типов повязок, вместо общего действия «Перевязка». Ativa o uso de tipos diferentes de ataduras ao invés de apenas a atadura básica. @@ -176,7 +176,7 @@ Yaranın yeniden açılma şansını kontrol etme katsayısı. Son yeniden açılma şansı, bu değerin kullanılan yara tipi ve bandaj için spesifik yeniden açılma şansı ile çarpılmasıyla belirlenir. Coeficiente que controla la probabilidad de reapertura de heridas. La probabilidad final de reapertura de heridas queda determinada multiplicando este valor por la probabilidad específica del tipo de herida y venda usada. 用于控制伤口开裂概率的系数。最终的重开放概率=该值x伤口类型x所使用的绷带的具体开裂概率。 - 붕대가 풀리는 기회 계수를 정합니다. 최종 붕대 풀림 계수는 상처의 종류와 쓰인 붕대의 합의 결과에 계수를 곱한 결과입니다. + 붕대가 풀리는 확률 계수를 정합니다. 최종 붕대 풀림 계수는 상처의 종류와 쓰인 붕대의 합의 결과에 계수를 곱한 결과입니다. Clear Trauma @@ -339,7 +339,7 @@ Time, in seconds, required to apply/remove a tourniquet. Définit le temps nécessaire à l'application ou au retrait d'un garrot (en secondes). Zeit in Sekunden, die benötigt wird, um ein Tourniquet anzuwenden. - 止血帯の使用/排除に掛かる時間 (秒) を決定します。 + 止血帯の使用/取り外しに掛かる時間 (秒) を決定します。 Tiempo, en segundos, requerido para aplicar/quitar un torniquete. Время, необходимое для наложения/снятия жгута (в секундах). Czas w sekundach potrzebny do założenia/zdjęcia stazy. @@ -372,7 +372,7 @@ Splint Treatment Time Durée d'interaction - Attelles Schienenbehandlungszeit - 添え木の使用時間 + 副子の使用時間 TIempo de tratamiento de férula Время наложения шины Czas aplikacji szyny @@ -383,7 +383,7 @@ Time, in seconds, required to apply a splint. Définit le temps nécessaire à l'application d'une attelle (en secondes). Zeit in Sekunden, die zum Anbringen einer Schiene benötigt wird. - 添え木の使用に掛かる時間 (秒) を決定します。 + 副子の使用に掛かる時間 (秒) を決定します。 TIempo, en segundos, requerido para aplicar una férula. Время, необходимое для наложения шины (в секундах). Czas w sekundach potrzebny na aplikację szyny. @@ -394,7 +394,7 @@ Body Bag Use Time Durée d'interaction - Housses mortuaires Anwendungszeit für Leichensack - 死体袋の使用時間 + 遺体袋の使用時間 TIempo de uso de bolsa para cuerpos Время использования мешка для трупов Czas użycia worka na ciało @@ -405,13 +405,29 @@ Time, in seconds, required to put a patient in a body bag. Définit le temps nécessaire à la mise en housse d'un corps (en secondes). Zeit in Sekunden, die benötigt wird, um einen Leichensack aufzutragen. - 死体袋の使用に掛かる時間 (秒) を決定します。 + 遺体袋の使用に掛かる時間 (秒) を決定します。 Tiempo, en segundos, requerido para poner a un paciente en una bolsa para cuerpos. Время, необходимое для того чтобы упаковать труп в мешок (в секундах). Czas w sekundach potrzebny na spakowanie ciała do worka na ciało. 装入裹尸袋时间 초 단위로 시체 운반용 부대를 사용하는데 걸리는 시간을 정합니다. + + Grave Digging Time + 무덤 파는 시간 + Czas Kopania Grobu + Durée pour creuser une tombe + Zeit zum Graben von Gräbern + 墓掘りの所要時間 + + + Time, in seconds, required to dig a grave for a body. + 시신의 무덤을 파는 데 필요한 시간(초 단위). + Czas, w sekundach wymagany do wykopania grobu. + Durée, en secondes, requise pour creuser une tombe pour un corps. + Zeit (in Sekunden), die benötigt wird, um ein Grab für einen Leichnam auszuheben. + 遺体の墓を掘るのに掛かる時間 (秒) を決定します。 + Allow Epinephrine Erlaube Epiniphrin @@ -487,7 +503,7 @@ Trousse sanitaire autorisée pour Elsősegélycsomag engedélyezése Consenti Kit di Pronto Soccorso - 応急処置キットの許可 + PAKの許可 개인응급키트 사용 허가 允许使用个人急救包 允許使用個人急救包 @@ -495,7 +511,7 @@ Training level required to use a PAK. - 応急処置キットの使用に訓練レベルを必要とさせます。 + PAKの使用に訓練レベルを必要とさせます。 Définit la qualification médicale requise pour utiliser la trousse sanitaire. Уровень подготовки, необходимый для использования Аптечки. É necessária uma qualificação médica para usar KPS @@ -520,7 +536,7 @@ Lieux trousse sanitaire Elsősegélycsomag helyek Locazioni Kit Pronto Soccorso - 応急処置キットの使用可能場所 + PAKの使用可能場所 개인응급키트 사용 장소 个人急救包使用地点 個人急救包使用地點 @@ -528,7 +544,7 @@ Controls where a PAK can be used. - 応急処置キットが使える場所を決定します。 + PAKが使える場所を決定します。 Définit les lieux où l'usage de la trousse sanitaire est autorisé. Контролирует, где можно использовать Аптечку. Controla onde o KPS pode ser utilizado. @@ -544,7 +560,7 @@ Consume PAK - 応急処置キットの消費 + PAKの消費 Trousse sanitaire consommable Израсходовать Аптечку KPS Descartável @@ -560,7 +576,7 @@ Controls whether a PAK should be consumed after use. - 応急処置キットの使用後に消費するかどうかを決定します。 + PAKの使用後に消費するかどうかを決定します。 Définit si la trousse sanitaire doit être à usage unique. Контролирует, следует ли израсходовать Аптечку после использования. Controla se o KPS deve ser descartado/consumido após o uso. @@ -582,7 +598,7 @@ 自我使用急救包 Utilisation de la trousse sanitaire sur soi-même Używanie apteczki osobistej na sobie - 応急処置キットの自己使用 + PAKの自己使用 Samo-použití osobní lékárničky (PAK) Использование аптечки на себе Kendi PAK Kullanımı @@ -597,7 +613,7 @@ 启用自身能使用个人急救包。 Définit si le joueur peut utiliser la trousse sanitaire pour se soigner lui-même. Pozwala na użycie apteczki osobistej na sobie - 応急処置キットを使って、自分を治療できるようにします。 + PAKを使って、自分を治療できるようにします。 Umožňuje použít osobní lékárničku (PAK) na sama sebe. Позволяют использовать аптечку на себе в одиночку. Kendini iyileştirmek için PAK'ların kullanılmasını sağlar. @@ -606,7 +622,7 @@ Time Coefficient PAK - 応急処置キットの時間係数 + PAKの時間係数 Coefficient de temps pour la trousse sanitaire Контролирует, следует ли израсходовать Аптечку после использования. Coeficiente de Tempo do KPS @@ -622,7 +638,7 @@ Modifies how long a PAK takes to apply.\nThe treatment time is based on the total body part damage multiplied by this coefficient, with a minimum of 10 seconds. - 応急処置キットの使用にかかる時間を変更できます。\n総治療時間は最低でも 10 秒間で、この係数と体全体に負ったダメージによって決まります。 + PAKの使用にかかる時間を変更できます。\n総治療時間は最低でも 10 秒間で、この係数と体全体に負ったダメージによって決まります。 Modifie le temps nécessaire à l'application de la trousse sanitaire.\nLa durée est calculée en multipliant ce coefficient par les dommages totaux du patient, avec un minimum de 10 secondes. Изменяет быстроту применения Аптечки.\nВремя лечения зависит от общего повреждения частей тела, умноженного на данный коэффициент (минимум 10 сек.). Modifica quanto tempo o KPS leva para ser aplicado.\nO tempo de tratamento é baseado no total de dano do corpo, multiplicado por esse coeficiente, com um mínimo de 10 segundos. @@ -638,7 +654,7 @@ Allow Surgical Kit - 縫合キットを許可 + 手術キットを許可 Trousse chirurgicale autorisée pour Разрешить Хирургический набор Permitir Kit Cirúrgico @@ -654,7 +670,7 @@ Training level required to use a surgical kit. - 縫合キットの使用に訓練レベルを必要とさせます。 + 手術キットの使用に訓練レベルを必要とさせます。 Définit la qualification médicale requise pour utiliser la trousse chirurgicale. Уровень медицинской подготовки, необходимый для использования Хирургического набора. É necessária uma qualificação médica para usar Kit Cirúrgico @@ -670,7 +686,7 @@ Locations Surgical Kit - 縫合キットの使用可能場所 + 手術キットの使用可能場所 Lieux trousse chirurgicale Места использования Хирургического набора Locais para Kit Cirúrgico @@ -686,7 +702,7 @@ Controls where a surgical kit can be used. - 縫合キットが使える場所を決定します。 + 手術キットが使える場所を決定します。 Définit les lieux où l'usage de la trousse chirurgicale est autorisé. Контролирует, где можно использовать Хирургический набор Controle onde o Kit Cirúrgico pode ser utilizado. @@ -698,11 +714,11 @@ Legt fest, wo ein Operations-Set genutzt werden kann. Cerrahi Kitin nerelerde kullanılabileceğini kontrol eder Controla donde puede usarse un kit quirúrgico. - 봉합키트을 사용할 수 있는 장소를 정합니다. + 봉합키트를 사용할 수 있는 장소를 정합니다. Consume Surgical Kit - 縫合キットの消費 + 手術キットの消費 Trousse chirurgicale consommable Израсходовать Хирургический набор Kit Cirúrgico Consumível @@ -719,7 +735,10 @@ What should be consumed after use. Legt fest, ob etwas nach der Anwendung verwendet werden soll. Qué debe ser consumido despues de su uso. - 縫合キットの使用後に消費するかどうかを決定します。 + 手術キットの使用後に消費するかどうかを決定します。 + Co powinno zostać zużyte po zastosowaniu. + 봉합키트를 1회성 소모품으로 설정할 지 여부를 결정합니다. + Ce qui doit être consommé après l'utilisation. Self Stitching @@ -740,7 +759,7 @@ Enables the use of surgical kits to stitch oneself. Autorise l'utilisation de la trousse chirugicale sur soi-même. Permite o uso de Kit Cirúrgico em si mesmo. - 縫合キットを使い自らを縫合できるようにします。 + 手術キットを使い自らを縫合できるようにします。 啟用是否能自己使用手術包來縫合自己的傷口。 启用是否能够使用手术包进行自我缝合。 Umožňuje použití sešívací sady na sebe sama. @@ -806,7 +825,7 @@ Allow Unconscious Body Bag Housse mortuaire - Autoriser patients inconscients - 無意識者を死体袋に + 無意識者を遺体袋に Permitir bolsa para cuerpos inconsciente Разрешить упаковывать пациентов без сознания в мешки для трупов Nieprzytomni w worku na ciało @@ -817,13 +836,58 @@ Enables placing an unconscious patient in a body bag. Active la possibilité de placer des patients inconscients dans les housses mortuaires.\nAttention : le cas échéant cela provoquera la mort du patient. - 気絶しているプレイヤーを死体袋へ入れられるかどうかを決定します。 + 気絶しているプレイヤーを遺体袋へ入れられるかどうかを決定します。 Permitir colocar a un paciente inconsciente en una bolsa para cuerpos. Разрешает упаковывать пациентов без сознания в мешки для трупов. Zezwalaj na pakowanie nieprzytomnych osób do worka na ciało. Aktiviert, Bewusstlose in Leichensack zu legen. 能够将昏迷的伤员装入尸袋中。 - 기절상태의 인원을 시체운반용부대에 옮겨 담을 수 있는지를 정합니다. + 기절 상태의 인원을 시체 운반용 부대에 옮겨 담을 수 있는 지를 정합니다. + + + Allow Grave Digging + Zezwalaj na kopanie grobów + 무덤 파기 허용 + Erlaube Graben von Gräbern + Permitir cavar tumbas + Autoriser le creusement de tombes + 墓掘りを許可 + + + Enables digging graves to dispose of corpses. + Umożliwia kopanie grobów w celu pozbycia się zwłok. + 시체를 처리하기 위해 무덤을 파는 것을 허용합니다. + Erlaubt das Graben von Gräbern um Leichen zu entsorgen. + Habilita cavar tumbas para deshacerse de los cadáveres. + Active la possibilité de creuser des tombes pour enterrer les cadavres. + 墓を掘って死体を処理できるようになります。 + + + Only if dead + Tylko kiedy martwy + 죽었을 때에만 + Nur wenn tot + Solo si está muerto + Uniquement s'il est mort + 死体のみ + + + Create Grave Markers + Erstelle Grabmal + Crear Tumba + Utwórz Nagrobek + 무덤 마커 생성 + Créer des pierres tombales + 墓標を作成 + + + Enables the creation of grave markers when digging graves. + Erstellt Grabmale beim Graben von Gräbern. + Habilita la creación de Tumbas al cavar tumbas. + Umożliwia tworzenie nagrobków podczas kopania grobów. + 무덤을 파낼 때 무덤 마커를 표시할 수 있습니다. + Active la création de pierres tombales lors de l'enterrement de cadavres. + 墓を掘った際、墓標を作成できるようにします。 Allow IV Transfusion @@ -877,7 +941,7 @@ Convert Vanilla Items Standard Arma-Equipment in ACE-Items umwandeln Преобразовывать ванильные медикаменты - 標準アイテムの変換 + バニラアイテムの変換 Convertir les objets vanilla Converter itens vanilla 轉換原版物品 @@ -891,7 +955,7 @@ Controls whether vanilla medical items are converted to ACE Medical items, removed only, or ignored. Legt fest, ob Standard Medic-Equipment in ACE-Equipment umgewandelt oder entfernt wird - ゲーム標準の医療アイテムを ACE 医療アイテムへ変換、削除、そのままにするかを決定します。 + ゲーム標準の医療アイテムをACE医療アイテムへ変換するか、削除するか、そのままにするかを決定します。 Détermine si les objets médicaux vanilla sont convertis en objets médicaux ACE, s'ils sont simplement retirés, ou s'ils sont ignorés. Определяет, что делать с ванильными медикаментами: преобразовать в медикаменты ACE, удалить или проигнорировать. Controla se itens médicos vanilla serão convertidos para itens do ACE, removidos ou ignorados. @@ -1098,7 +1162,7 @@ RCP - Chance minimale de réussite Мин. шансы успеха СЛР Szansa na powodzenie CPR - Minimum - 心肺蘇生の最低成功確率 + 心肺蘇生(CPR)の最低成功確率 HLW Minimale Erfolgschance 心肺复苏的最低成功率 최소 심폐소생술 성공 가능성 @@ -1109,7 +1173,7 @@ RCP - Chance maximale de réussite Макс. шансы успеха СЛР Szansa na powodzenie CPR - Maksimum - 心肺蘇生の最高成功確率 + 心肺蘇生(CPR)の最高成功確率 HLW Maximale Erfolgschance 心肺复苏的最高成功率 최대 심폐소생술 성공 가능성 @@ -1120,7 +1184,7 @@ Probabilité minimale de rétablir un rythme cardiaque suite à une RCP.\nCette valeur minimale est définie pour un patient à l'état "A perdu une quantité critique de sang".\nUne interpolation est faite entre la chance minimale et maximale, en fonction du volume sanguin du patient. Минимальная вероятность того, что выполнение искусственного дыхания восстановит сердечный ритм.\nЭто минимальное значение используется, когда пациент, по крайней мере, получил статус "Фатальная кровопотеря".\n Интерполированная вероятность используется, когда объем крови пациента находится между минимальным и максимальным порогами. Minimalna wartość szansy na to że CPR przywróci bicie serca.\nTa minimalna wartość jest używana gdy pacjent ma status "Stracił krytyczną ilość krwi".\nInterpolowana wartość szansy jest używana gdy pacjent ma poziom krwi będący pomiędzy minimum a maksimum. - 心肺蘇生を行うことで脈拍が回復する最低成功確率を設定します。\nこの値は患者が"致命的な程失血している"時に使用されます。\n患者の血液量が最低値と最大値の間だった場合は、補完確率が適用されます。 + 心肺蘇生(CPR)を行うことで脈拍が回復する最低成功確率を設定します。\nこの値は患者が"致命的な程失血している"時に使用されます。\n患者の血液量が最低値と最大値の間だった場合は、補完確率が適用されます。 Minimale Wahrscheinlichkeit, dass die Durchführung einer HLW den Herzrhythmus wiederherstellt.\nDieser Mindestwert wird verwendet, wenn der Patient mindestens "eine tödliche Menge Blut verloren" hat.\nEine interpolierte Wahrscheinlichkeit wird verwendet, wenn das Blutvolumen des Patienten zwischen dem minimalen und dem maximalen Schwellenwert liegt. 实施心肺复苏恢复心律的最小可能性。\n当伤员至少有"致命失血量"时,就取该最小值。\n当伤员的血量介于最小和最大阈值之间时,将使用插值概率。 심폐소생술 시 제일 낮은 성공 가능성을 결정합니다.\n이 가능성은 환자가 최소 "심각한 양의 혈액을 잃음"일 때 사용됩니다. @@ -1131,7 +1195,7 @@ Probabilité maximale de rétablir un rythme cardiaque suite à une RCP.\nCette valeur maximale est définie pour un patient à l'état "A perdu une faible quantité de sang".\nUne interpolation est faite entre la chance minimale et maximale, en fonction du volume sanguin du patient. Максимальная вероятность того, что выполнение искусственного дыхания восстановит сердечный ритм.\nЭто максимальное значение используется, когда пациент, по крайней мере, получил статус "Фатальная кровопотеря".\n Интерполированная вероятность используется, когда объем крови пациента находится между минимальным и максимальным порогами. Maksymalna wartość szansy na to że CPR przywróci bicie serca.\nTa maksymalna wartość jest używana gdy pacjent ma status "Stracił trochę krwi".\nInterpolowana wartość szansy jest używana gdy pacjent ma poziom krwi będący pomiędzy minimum a maksimum. - 心肺蘇生を行うことで脈拍が回復する最高成功確率を設定します。\nこの値は患者が"いくらか失血している"時以上の場合に使用されます。\n患者の血液量が最低値と最大値の間だった場合は、補完確率が適用されます。 + 心肺蘇生(CPR)を行うことで脈拍が回復する最高成功確率を設定します。\nこの値は患者が"いくらか失血している"時以上の場合に使用されます。\n患者の血液量が最低値と最大値の間だった場合は、補完確率が適用されます。 Maximale Wahrscheinlichkeit, dass die Durchführung einer HLW den Herzrhythmus wiederherstellt.\nDieser Maximalwert wird verwendet, wenn der Patient höchstens "Blut verloren" hat.\nEine interpolierte Wahrscheinlichkeit wird verwendet, wenn das Blutvolumen des Patienten zwischen dem minimalen und dem maximalen Schwellenwert liegt. 实施心肺复苏恢复心律的最大可能性。\n当伤员最多“失血一些”时,就取该最大值。\n当伤员的血量介于最小和最大阈值之间时,将使用插值概率。 심폐소생술 시 제일 높은 성공 가능성을 결정합니다.\n이 가능성은 환자가 최소 "혈액을 조금 잃음"일 때 사용됩니다. @@ -1140,7 +1204,7 @@ CPR Treatment Time RCP - Durée d'interaction - 心肺蘇生の動作時間 + 心肺蘇生(CPR)の動作時間 Tiempo de tratamiento de RCP Время проведения СЛР Czas potrzebny na wykonanie CPR @@ -1151,7 +1215,7 @@ Time, in seconds, required to perform CPR on a patient. Définit le temps nécessaire à la mise en œuvre d'une RCP (en secondes). - 心肺蘇生にかかる時間 (秒) を決定します。 + 心肺蘇生(CPR)にかかる時間 (秒) を決定します。 Tiempo, en segundos, requerido para realizar RCP en un paciente. Время, необходимое для проведения сердечно-лёгочной реанимации (СЛР) (в секундах). Czas w sekundach jaki jest potrzebny do wykonania CPR na pacjencie. @@ -1175,7 +1239,7 @@ Controls whether weapons must be holstered / lowered in order to perform medical actions.\nExcept Exam options allow examination actions (checking pulse, blood pressure, response) at all times regardless of this setting. - 何らかの治療をするには武器を下げるか収めるかどうかを決定します。\nなお次の診断行動は設定で例外できます: 脈拍確認、血圧測定、反応確認 + 何らかの治療をするには武器を下げるか収めるかどうかを決定します。\nなお次の診断行動は設定で例外できます: 脈拍の確認、血圧の確認、反応の確認 控制是否要先放下或把武器放入武器套才能做出醫療行為。\n除了診斷 - 允許未放下或未放入的情況下進行一連串的診斷(檢查脈搏,血壓,反應)。 控制是否要先放下或把武器放起才能做出医疗行为。\n除了诊断—允许未放下或未收起的情况下进行一连串的诊断(检查脉搏,血压,反应)。 Définit si les armes doivent être rengainées ou abaissées avant de pouvoir effectuer des actes médicaux.\nLes options "sauf examens" autorisent les examens (vérification du pouls, de la tension artérielle, de l'état de conscience) en toutes circonstances. @@ -1185,7 +1249,7 @@ Kontrolliert, ob Waffen geholstert/gesenkt werden müssen, um medizinische Aktionen durchzuführen.\nAusgenommen die eingestellten Untersuchungsoptionen erlauben Diagnose-Aktionen (Überprüfung von Puls, Blutdruck, Reaktion) jederzeit. Нужно ли убирать оружие для проведения медицинских действий.\nОпция «Проверка разрешена» разрешает проверять пульс, кровяное давление или реакцию независимо от этого параметра. Controla si las armas deben estar enfundadas / bajadas para realizar acciones médicas. \n Excepto Las opciones de examen permiten acciones de examen (control del pulso, presión arterial, respuesta) en todo momento, independientemente de esta configuración. - 치료하기에 앞서 손에서 무기를 집어넣을 지/내릴 지를 결정합니다.\n검사제외 옵션의 경우 맥박 확인, 혈압 확인, 반응 확인은 앞선 옵션에 구애받지 않고 사용할 수 있습니다. + 치료하기에 앞서 손에서 무기를 집어넣을 지/내릴지를 결정합니다.\n검사제외 옵션의 경우 맥박 확인, 혈압 확인, 반응 확인은 앞선 옵션에 구애받지 않고 사용할 수 있습니다. Lowered or Holstered @@ -1302,7 +1366,7 @@ Lékařský výcvik Treino médico Медицинская подготовка - 衛生訓練 + 医療訓練 의료 훈련 医疗训练 醫療訓練 @@ -1487,7 +1551,7 @@ Usato per coprire una ferita Usado para cobrir um ferimento Slouží k překrytí poranění - 傷口を覆います + 傷を覆うために使用 상처를 덮을 때 씁니다 用于覆盖伤口 用於覆蓋傷口 @@ -1504,7 +1568,7 @@ Una benda apposita, utilizzata per coprire una ferita, la quale viene applicata su di essa una volta fermata l'emorragia. Uma curativo, material específico para cobrir um ferimento que é aplicado assim que o sangramento é estancando. Obvaz je vhodným způsobem upravený sterilní materiál, určený k překrytí rány, případně k fixaci poranění. - 傷口を血液凝固剤で塞ぐようにできていて、使うと出血の原因を取りさります。 + 包帯(被覆材)とは、傷口を覆うためもので、傷口の上に貼ると出血を食い止める。 드레싱, 출혈을 막고서 상처를 덮기위해 쓰는 물건입니다. 用于覆盖伤口以防止出血,透过敷料的止血剂来让出血慢慢停止 用於覆蓋傷口以防止出血, 透過敷料的止血劑來讓出血慢慢停止 @@ -1538,7 +1602,7 @@ Usato su ferite medie o larghe per fermare emorragie. Usado para o preenchimento de cavidades geradas por ferimentos médios e grandes e estancar o sangramento. Používá se k zastavení středních až silnějších krvácení - 粘着フィルム状で、普通から大きめなケガに使い止血します。 + 中程度から大きな傷の手当てと止血に使用 중형 또는 대형 상처를 채우고 출혈을 막기 위해 쓰입니다, 用于包扎中到大型伤口,并防止出血 用於包紮中到大型傷口, 並防止出血 @@ -1555,7 +1619,7 @@ Ein Verband, um die Wunde abzudecken und die Wundheilung zu fördern. Wunden abdecken ist eine Option bei größeren Polytraumen Uma bandagem usada para preencher o ferimento para estancar o sangramento e facilitar a cicatrização. Preenchimento de feridas é uma opção em ferimentos de politrauma grandes. Tlakový obvaz se skládá se ze sterilní krycí vrstvy, na kterou je přiložena silná vrstva savého materiálu stlačující cévu v ráně a která je přitlačována k ráně a připevněna obinadlem. Slouží k zastavení silnějších krvácení. - 包帯を使うと出血元を塞ぎ、怪我の治癒を促進させます。また大きめ多発性外傷に対しても使えます。 + 出血を止め、創傷の治癒を促進するために創傷を包む包帯。大きな多発外傷では、創部を包帯で覆うこともある。 출혈을 막고 상처를 치유하기 위한 붕대. 다발성외상의 경우 상처를 싸매는 것도 한 가지 방법입니다. 用于包扎中到大型伤口,并防止出血, 为在大型多处性伤口的选项之一! 用於包紮中到大型傷口, 並防止出血, 為在大型多處性傷口的選項之一! @@ -1589,7 +1653,7 @@ Kit di bendaggio, elastico Kit de Bandagem, Elástica Sada obvazů, Elastická - 包帯キット (伸縮) + 包帯キット, 伸縮性 압박 붕대 키트 绷带(弹性型) 一個彈性繃帶包 @@ -1606,7 +1670,7 @@ Permette di comprimere e aiutare la zone ferita. Esta bandagem pode ser utilizada para comprimir o ferimento e diminuir o sangramento e garantir que o ferimento não abra em movimento. Hodí se k fixačním účelům a to i v oblastech kloubů. - 負傷部分へ最大の対応と止血を続けられます。 + 負傷部位を均等に圧迫し、保護する。 부상 부위를 골고루 압박해주면서 동시에 고정시켜 줍니다. 可对伤口持续压迫并固定以防止伤口情况变严重 可對傷口持續壓迫並固定以防止傷口情況變嚴重 @@ -1640,7 +1704,7 @@ Rallenta la perdita di sangue in caso di sanguinamento Reduz a velocidade da perda de sangue Zpomaluje ztráty krve při krvácení - 出血時の失血を抑えます。 + 出血時の失血を抑える 출혈 시 혈액손실을 늦춰줍니다 减缓失血速度 減緩失血的速度 @@ -1657,7 +1721,7 @@ Un laccio emostatico usato per comprimere le vene e arterie per bloccare o rallentare la circolazione del sangue e quindi rallentare dissanguamenti. A aparelho que comprime as artérias e veias para diminuir a perda de sangue. Zařízení používané ke stlačení venózního a arteriálního oběhu. V důsledku dochází ke zpomalení toku krve a tedy i snížení ztrát krve. - 静脈と動脈の循環を圧迫し、血流を抑制または減速させ、出血時の失血を抑えます。 + 静脈と動脈の循環を圧迫するために使用される収縮装置で、実質的に血流を抑制または減速させ、血液の損失を減少させる。 정맥과 동맥을 압축시키켜 혈액순환을 억제 혹은 늦추게하여 혈액손실을 줄이는 도구입니다. 用于压迫静脉与动脉的血液流动,以达到减缓失血速度的目的 用於壓迫靜脈與動脈的血液流動, 達到減緩失血速度的目的 @@ -1666,7 +1730,7 @@ Splint Шина - 添え木 + 副子 Attelle Tala 固定板 @@ -1682,7 +1746,7 @@ Stabilizes a fractured limb Стабилизирует перелом конечности - 骨折部位を安定させます。 + 骨折した四肢を保持させる Stabilise un membre fracturé. Estabiliza um membro fraturado. 固定骨折的部位 @@ -1706,8 +1770,8 @@ Morfium autoinjektor Autoiniettore di morfina Auto-injetor de morfina - モルヒネ注射器 - 모르핀 자동주사기 + モルヒネ自動注射器 + 자동주사기 (모르핀) 吗啡自动注射器 嗎啡自動注射器 Morfin otomatik enjektör @@ -1723,7 +1787,7 @@ Usato per combattere il dolore. Usado para combater dores moderadas e severas Slouží k tlumení středně těžkých a těžkých bolestí - 中等度から重度の痛みに対処するために使用される。 + 中等度から重度の痛みに対処するために使用 심한 통증을 완화하는데 쓰입니다 用于削减中度至重度疼痛 減低中度至重度的疼痛感 @@ -1754,8 +1818,8 @@ Auto-adenosine Auto-injetor de Adenosina Аденозин в пневмошприце - アデノシン注射器 - 아데노신 자동주사기 + アデノシン自動注射器 + 자동주사기 (아데노신) 腺苷自动注射器 腺苷自動注射器 Adenosin otomatik enjektörü @@ -1770,7 +1834,7 @@ Slouží jako protiváha Adrenalinu Usado para combater os efeitos da Epinefrina Используется для купирования эффектов адреналина - アドレナリンの反対の効果として使います。 + アドレナリンの作用に対抗するために使用 에피네프린 대응책으로 쓰입니다 用于中和肾上腺素的影响 用來對付腎上腺素的影響 @@ -1785,7 +1849,7 @@ Droga používaná k tlumení efektu Adrenalinu Uma droga usada para combater os efeitos da Epinefrina Препарат используется для купирования эффектов адреналина - 使うとアドレナリンと反対の効果が出ます。 + アドレナリンの作用に対抗するために使用される薬品。 에피네프린에 대응용으로 쓰이는 약품 一种用于中和肾上腺素效果的药物 一種藥物用於減低腎上腺素的效果 @@ -1801,8 +1865,8 @@ Atropin autoinjektor Autoiniettore di atropina Auto-injetor de Atropina - アトロピン注射器 - 아트로핀 자동주사기 + アトロピン自動注射器 + 자동주사기 (아트로핀) 阿托品自动注射器 阿托品自動注射器 Atropin otomatik enjektör @@ -1818,7 +1882,7 @@ Usato in situazioni con gas nervino. Usado em casos de ataque QBRN Používá se v přítomnosti nervových plynů - 核・生物・化学兵器による汚染環境下にて使います。 + 核兵器・生物兵器・化学兵器による汚染環境下で使用 화생방 상황에 쓰입니다 使用于核生化污染的情况 使用於核生化汙染的情況 @@ -1834,7 +1898,7 @@ E' un farmaco usato in ambito militare in scenari con presenza di gas nervino. Uma droga usada por militares em casos de ataque QBRN. Atropin slouží jako protijed na otravu organofosfátovými insekticidy (diazinon) a nervovými plyny. - 核・生物・化学兵器による汚染環境下にて使います。 + 軍が核兵器・生物兵器・化学兵器による汚染環境下で使用する薬物。 화생방 상황에 쓰이는 군용 약품 军用神经解毒针,用来应付核生化污染的情况。 軍用神經解毒針, 用來應付核生化汙染的情況. @@ -1850,8 +1914,8 @@ Epinefrin autoinjektor Autoiniettore di adrenalina Auto-injetor de epinefrina - アドレナリン注射器 - 에피네프린 자동주사기 + アドレナリン自動注射器 + 자동주사기 (에피네프린) 肾上腺素自动注射器 腎上腺素自動注射器 Epinefrin otomatik enjektör @@ -1867,7 +1931,7 @@ Aumenta il battito cardiaco e combatte gli effetti di reazioni allergiche. Aumenta a frequência cardíaca e combate efeitos causados por reações alérgicas Zvyšuje srdeční frekvenci a chrání před alergickými reakcemi - 脈拍数を増加させたり、アレルギー反応を収める効果もあります。 + 心拍数を増加させ、アレルギー反応に対抗する作用を持つ 심박수를 높이며 알러지 반응의 대응책입니다 用于提升心率的一种药物 增加心跳速率的一種藥物 @@ -1883,7 +1947,7 @@ Uma droga trabalha dilatando os bronquios, aumentando a frequência cardíaca e combate efeitos de reações alérgicas(anáfilaticas). Usado em casos de parada cardiaca com poucas changes de recuperação. Egy hormon, mely a szimpatikus idegrendszer által kitágítja a hörgőket, valamint megnöveli a szívverést, ezzel ellensúlyozva ilyen jellegű allergiás reakciókat (anafilaxiás sokk). Hirtelen szívmegállás esetén is használt, idő alatt csökkenő hatásfokkal. Zúžení periferních cév díky působení na alfa receptory a následné kontrakci hladkých svalů, tím dochází k tzv. centralizaci oběhu, krev se soustřeďuje v životně důležitých centrálních orgánech (srdce, mozek, plíce), působí také pozitivně na srdeční činnost a dochází ke zvýšení krevního tlaku a tepu. Dále se používá při náhlé srdeční zástavě. - 気管支を拡張するよう交感神経を拡張させ、脈拍数を増加させます。それにアレルギー反応を収める効果もあります (アナフィラキシー ショック)。得られる効果は少ないですが、心停止している場合などにも使われます。 + 交感神経反応に作用して気管支を拡張し、心拍数を増加させる。また、アレルギー反応(アナフィラキシー)に対抗する作用も持つ薬品。治療効果が高くはないが、心停止の患者に用いることもできる。 기관지를 확장시키고 교감 신경 반응을 이끌어내는 약물로써, 심박을 높이고 알러지 효과(과민증)에 대응합니다. 심정지의 경우 호전이 되지 않을 때 사용합니다. 俗称强心针,为一种支气管扩张药物, 会增加心跳速率并减缓过敏反应(过敏性休克), 在心跳骤停时有恢复心跳的效果! 俗稱強心針, 為一種支氣管擴張藥物, 會增加心跳速率並減緩過敏反應(過敏性休克), 在心跳驟停時有恢復心跳的效果! @@ -2164,7 +2228,7 @@ Bendaggio emostatico (QuikClot) Bandagem com agente coagulante Hemostatický obvaz (QuikClot) - クイッククロット + クイッククロット包帯 퀵 클롯 붕대 绷带(止血型) 止血粉繃帶 @@ -2181,7 +2245,7 @@ Bendaggio emostatico con coagulante che permette di arrestare perdite di sangue Bandagem Hemostática com coagulante que controla hemorragia médias e grandes com risco de vida. Hemostatický obvaz určený k zástavě krvácení - 血液凝固剤を含む包帯により、止血できます。 + 出血を止める凝固剤入りの止血包帯。 지혈 시 사용하는 붕대로 혈액 응고제를 포함하고 있습니다. 包含止血粉成分的止血绷带,可用于止血 包含止血粉成分的止血繃帶, 可用於止血 @@ -2197,7 +2261,7 @@ Pronto soccorso personale Kit De Primeiros Socorros Pessoal Osobní lékárnička (PAK) - 応急処置キット + 個人用治療キット (PAK) 개인응급키트 个人急救包 個人急救包 @@ -2231,7 +2295,7 @@ Kit de primeiros socorros para sutura ou tratamentos avançados Osobní lékárnička obsahuje zdravotnický materiál umožňující šití a pokročilejší ošetřování raněných v poli Pronto soccorso personale da campo per mettersi i punti o per trattamenti avanzati. - 戦場で縫合や高度な処置に必要とされる、様々な治療器具が含まれています。 + 個人用治療キット (PAK) は戦場での縫合や高度な処置に必要です 야전에서 봉합 및 고급 조치를 위한 개인응급키트 个人急救包可用于战地缝合手术或进阶伤口系统使用 個人急救包可用於戰地縫合手術或進階醫療用 @@ -2248,7 +2312,7 @@ Usar o kit de primeiros socorros Použít osobní lékárničku (PAK) Usa il pronto soccorso personale - 応急処置キットを使う + 個人用治療キットを使う 개인응급키트 사용 使用个人急救包 使用個人急救包 @@ -2265,7 +2329,7 @@ Kit chirurgico Kit Cirurgico Chirurgická sada - 縫合キット + 手術キット 봉합 키트 手术包 手術包 @@ -2282,7 +2346,7 @@ Kit chirurgico per trattamenti avanzati sul campo. Kit Cirurgico para uso de tratamento médico avançado em campo Chirurgická sada určená k pokročilejším zdravotnickým zákrokům v poli - 縫合キットは戦場で高度な処置をする為に使われます。 + 手術キットは戦場で高度な処置をする為に使われます。 야전 상황에서 고급 의료 처치를 위해 사용되는 봉합 키트 用于在战场上为伤口进行缝合(需要开启进阶伤口系统) 用於在戰場上為傷口進行縫合 @@ -2299,7 +2363,7 @@ Kit chirurgico per trattamenti avanzati sul campo. Kit Cirurgico para uso de tratamento médico avançado em campo. Chirurgická sada určená k pokročilejším zdravotnickým zákrokům v poli - 縫合キットは戦場で高度な処置をする為に使われます。 + 手術キットは戦場で高度な処置をする為に使われます。 야전 상황에서 고급 의료 처치를 위해 사용되는 봉합 키트 用于在战场上为伤口进行缝合(需要开启进阶伤口系统) 用於在戰場上為傷口進行縫合 @@ -2315,8 +2379,8 @@ Usar equipo quirúrgico Sebészeti készlet használata Použít chirurgickou sadu - Usar kit cirúrgico - 縫合キットを使う + Usar Kit Cirúrgico + 手術キットを使う 봉합키트 사용하기 使用手术包 使用手術包 @@ -2326,19 +2390,28 @@ Suture Naht Sutura - 縫合糸 + 糸付縫合針 + Szew + 봉합술 + Suture Surgical Suture for stitching injuries. Chirurgisches Nahtmaterial zum Nähen von Wunden. Sutura quirúrjica para heridas de puntos. - 傷害縫合用の外科縫合糸。 + 傷害縫合用の外科糸付縫合針。 + Szew chirurgiczny do zszywania ran. + 상처를 꿰메는 수술용 봉합술. + Suture chirurgicale pour suturer les blessures. Surgical Suture for stitching injuries. Chirurgisches Nahtmaterial zum Nähen von Wunden. Sutura quirúrjica para heridas de puntos. - 傷害縫合用の外科縫合糸。 + 傷害縫合用の外科糸付縫合針。 + Szew chirurgiczny do zszywania ran. + 상처를 꿰메는 수술용 봉합술. + Suture chirurgicale pour suturer les blessures. Bodybag @@ -2351,7 +2424,7 @@ Sacca per corpi Saco para cadáver Pytel na mrtvoly - 死体袋 + 遺体袋 시체 운반용 부대 尸袋 屍袋 @@ -2368,7 +2441,7 @@ Una sacca nera per trasportare cadaveri. Um saco para corpos mortos Pytel na mrtvoly - 死体袋は死体を入れる為に使います。 + 遺体袋は死体を入れる為に使います。 시체를 운반할 때 쓰는 가방입니다 用于装尸体 用來裝屍體用 @@ -2385,7 +2458,7 @@ Una sacca nera per trasportare cadaveri. Um saco para corpos mortos. Pytel na mrtvoly - 死体袋は死体を入れる為に使います。 + 遺体袋は死体を入れる為に使います。 시체를 운반할 때 쓰는 가방입니다 用于装尸体 用來裝屍體用 @@ -2418,7 +2491,7 @@ Aplikovat adenosine Injetar Adenosina Ввести аденозин - アデノシンを投与 + アデノシンを注射 아데노신 주사하기 注射腺苷 注射腺苷 @@ -2435,7 +2508,7 @@ Atropin beadása Inietta atropina Injetar Atropina - アトロピンを投与 + アトロピンを注射 아트로핀 주사하기 注射阿托品 注射阿托品 @@ -2452,7 +2525,7 @@ Epinefrin beadása Injetar Epinefrina Inietta adrenalina - アドレナリンを投与 + アドレナリンを注射 에피네프린 주사하기 注射肾上腺素 注射腎上腺素 @@ -2469,7 +2542,7 @@ Morfium beadása Injetar Morfina Inietta morfina - モルヒネを投与 + モルヒネを注射 모르핀 주사하기 注射吗啡 注射嗎啡 @@ -2486,7 +2559,7 @@ Infúzió (vér) Transfundir Sangue Trasfusione di sangue - 輸血する + 輸血用血液を投与 혈액 수혈 输入血液 輸血液 @@ -2554,7 +2627,7 @@ Kötözés Atadura Перевязать - 包帯 + 包帯を巻く 붕대 包扎 繃帶 @@ -2571,7 +2644,7 @@ Fej kötözése Atar Cabeça Benda la testa - 包帯を頭へ + 包帯を頭部へ巻く 머리에 붕대 감기 包扎头部 繃帶包紮 頭部 @@ -2588,7 +2661,7 @@ Testtörzs kötözése Atar Tronco Benda il torso - 包帯を胴体へ + 包帯を胴体へ巻く 몸통에 붕대 감기 包扎躯干 繃帶包紮 身體 @@ -2605,7 +2678,7 @@ Bal kar kötözése Atar Braço Esquerdo Benda il braccio sinistro - 包帯を左腕に + 包帯を左腕へ巻く 왼팔에 붕대 감기 包扎左臂 繃帶包紮 左手 @@ -2622,7 +2695,7 @@ Jobb kar kötözése Atar Braço Direito Benda il braccio destro - 包帯を右腕に + 包帯を右腕へ巻く 오른팔에 붕대 감기 包扎右臂 繃帶包紮 右手 @@ -2639,7 +2712,7 @@ Bal láb kötözése Atar Perna Esquerda Benda la gamba sinistra - 包帯を左足へ + 包帯を左足へ巻く 왼쪽 다리에 붕대 감기 包扎左腿 繃帶包紮 左腳 @@ -2656,7 +2729,7 @@ Jobb láb kötözése Atar Perna Direita Benda la gamba destra - 包帯を右足へ + 包帯を右足へ巻く 오른쪽 다리에 붕대 감기 包扎右腿 繃帶包紮 右腳 @@ -2740,7 +2813,7 @@ Infúzió vérrel... Transfundindo Sangue... Effettuo la trasfusione di sangue... - 輸血しています・・・ + 輸血用血液を投与しています・・・ 혈액 수혈 중... 正在输入血液... 輸血液中 ... @@ -2807,7 +2880,7 @@ Наложение жгута... Érszorító felhelyezése... Sto applicando il laccio emostatico... - Applicando Torniquete + Aplicando Torniquete... 止血帯を巻いています・・・ 지혈대 적용 중... 正在使用止血带... @@ -2825,7 +2898,7 @@ Zárókötszer Bendaggio rapido Curativo de Campo - 包帯を巻く (緊急圧迫) + 包帯を巻く (緊急圧迫包帯) 붕대 (기본) 绷带(基础型) 基礎繃帶 @@ -2841,7 +2914,7 @@ Bandage compressif Bandagem de Compressão Obvaz Tlakový - 包帯を巻く (弾性) + 包帯を巻く (弾性包帯) 붕대 (거즈) 绷带(包扎型) 包紮繃帶 @@ -2858,7 +2931,7 @@ Rögzitő kötszer Bendaggio elastico Bandagem Elástica - 包帯を巻く (伸縮) + 包帯を巻く (伸縮包帯) 붕대 (압박) 绷带(弹性型) 彈性繃帶 @@ -2891,7 +2964,7 @@ Pulzus ellenőrzése Controlla il polso Checar Pulso - 脈拍を計る + 脈拍を確認 맥박 확인 检查脉搏 檢查脈搏 @@ -2907,8 +2980,8 @@ Prendre la tension Vérnyomás megmérése Controlla pressionsa sanguigna - Chegar Pressão Sanguínea - 血圧を計る + Checar Pressão Arterial + 血圧を確認 혈압 확인 检查血压 檢查血壓 @@ -2925,7 +2998,7 @@ Ez az orvosi lap nem tartalmaz bejegyzést. Žádné záznamy na tomto štítku Nenhuma entrada neste cartão de triagem - トリアージ カードには何も無い。 + トリアージ カードには何も書かれていない。 부상자 분류 카드에 쓰여있는 것이 없습니다. 此分诊卡上没有信息。 此檢傷分類卡上沒有任何資料 @@ -2968,7 +3041,7 @@ Apply Splint Наложить Шину - 添え木を当てる + 副子を当てる Poser une attelle Aplicar Tala 套上固定板 @@ -2984,7 +3057,7 @@ Applying Splint... Накладывается Шина... - 添え木を当てています・・・ + 副子を当てています・・・ Application de l'attelle... Aplicando Tala... 套用固定板中... @@ -3008,7 +3081,7 @@ Diagnosztizálás Diagnóza Diagnosticar - 診断をする + 診断する 진단 诊断 診斷 @@ -3041,8 +3114,8 @@ RCP Újraélesztés CPR - SBV - 心肺蘇生をする + RCP + 心肺蘇生(CPR)する 심폐소생술 心肺复苏(CPR) 心肺復甦術 @@ -3058,8 +3131,8 @@ Realizando RCP... Újraélesztés folyamatban... Provádím CPR... - Realizando o SBV... - 心肺蘇生をしています・・・ + Realizando o RCP... + 心肺蘇生(CPR)しています・・・ 심폐소생 중... 正在进行心肺复苏... 進行心肺復甦術中... @@ -3313,7 +3386,7 @@ Normális légzés Respiro normale Respiração normal - 通常の呼吸 + 正常な呼吸をしている 정상 호흡 呼吸正常 呼吸正常 @@ -3330,7 +3403,7 @@ Nincs légzés Mancanza di respiro Não respira - 息をしていない + 呼吸をしていない 호흡 불가 没有呼吸 沒有呼吸 @@ -3370,6 +3443,14 @@ 呼吸極弱 Neredeyse nefes almıyor + + No pain + Nie odczuwa bólu + 고통 없음 + Pas de douleur + Kein Schmerz + 痛みはない + In mild pain Hat leichte Schmerzen @@ -3404,7 +3485,7 @@ In severe pain Hat starke Schmerzen - ひどい痛みがある + 酷い痛みがある Сильная боль Douleur intense Com dor intensa @@ -3444,11 +3525,19 @@ Infúzióra kötve [%1ml] Ricevendo EV [%1ml] Recebendo IV [%1ml] - IV [%1ml] を投与されている + IV [%1ml] を投与中 IV로 [%1ml] 수혈중 正在接受静脉注射 [%1毫升] 接收靜脈注射液中 [%1毫升] + + No IV + Brak podpiętego IV + 수혈 없음 + Pas de transfusion + Kein IV + IV なし + Blood Pressure Tension artérielle @@ -3460,7 +3549,7 @@ Pressione sanguigna Pressão Arterial Krevní tlak - 血圧を測る + 血圧 혈압 血压 血壓 @@ -3477,7 +3566,7 @@ Controllando la pressione sanguigna.. Aferindo Pressão Arterial... Měřím krevní tlak... - 血圧を測定しています・・・ + 血圧を確認しています・・・ 혈압 측정 중... 正在测量血压... 檢查血壓中... @@ -3510,7 +3599,7 @@ Hai diagnosticato %1 Você verificou o paciente %1 Zkontroloval jsi %1 - 血圧は %1 + %1 を確認した 혈압은 %1 입니다 你已检查 %1 你已經檢查 %1 @@ -3595,7 +3684,7 @@ La pressione sanguigna è assente Sem Pressão Arterial Nenaměřil si žádný krevní tlak - 血圧は測れなかった + 血圧はありません 혈압이 잡히지 않습니다 血压为零 量不到血壓 @@ -3697,7 +3786,7 @@ Polso Pulso Puls - 脈拍数 + 脈拍 맥박 脉搏 脈搏 @@ -3714,7 +3803,7 @@ Controllando il polso... Checando Pulso... Kontroluji puls... - 脈拍数を測定しています・・・ + 脈拍を確認しています・・・ 맥박 확인 중... 正在测量脉搏... 檢查心跳中... @@ -3731,7 +3820,7 @@ Hai diagnosticato %1 Você aferiu o paciente %1 Zkontroloval si %1 - 脈拍数は %1 + %1 を確認した 맥박은 %1 입니다 你已检查 %1 你已經檢查 %1 @@ -3829,7 +3918,7 @@ Herzfrequenz ist %2 A szívverés-szám %2 Il battito cardiaco è %2 - A Freqüência Cardíaca é de %2 + A Frequência Cardíaca é de %2 Nahmatal jsi srdeční tep u %2 心拍数は %2 맥박이 %2 입니다 @@ -3845,7 +3934,7 @@ Schwacher Puls A szívverés-szám alacsony Hai riscontrato un debole battito cardiaco - Freqüência Cardíaca baixa + Frequência Cardíaca baixa Nahmatal jsi slabý srdeční puls 心拍は弱い 약한 맥박입니다 @@ -3862,7 +3951,7 @@ Starker Puls A szívverés-szám magas Hai riscontrato un forte battito cardiaco - Freqüência Cardíaca normal + Frequência Cardíaca normal Nahmatal jsi silný srdeční puls 心拍は強い 강한 맥박입니다 @@ -3879,7 +3968,7 @@ Normaler Puls A szívverés-szám normális Hai riscontrato un normale battito cardiaco - Freqüência Cardíaca alta + Frequência Cardíaca alta Nahmatal jsi normální srdeční puls 心拍は正常 보통 맥박입니다 @@ -3896,9 +3985,9 @@ Kein Puls gefunden Nem észlelhető szívverés Hai riscontrato una assenza di battito cardiaco - Sem Freqüência Cardíaca + Sem Frequência Cardíaca Žádný puls - 心拍を測れなかった + 心拍はありません 맥박을 찾을 수가 없습니다 无法测得心率 量不到心跳 @@ -3915,7 +4004,7 @@ Risposta Reação Odezva - 反応を見る + 反応を確認 반응 反应 反應 @@ -3931,7 +4020,7 @@ Controlli la risposta del paziente Aferindo se o paciente tem reação Zkontroloval jsi reakci pacienta - 患者からの反応をみる + 患者の反応を確かめています 대상의 반응 확인 중 检查伤员的反应 檢查傷者的反應 @@ -4003,7 +4092,7 @@ Hai controllato %1 Você aferiu o paciente %1 Zkontroloval jsi %1 - %1 を見た + %1 を確認した %1 을 확인함 你已检查 %1 你已經檢查 %1 @@ -4121,7 +4210,7 @@ Fájdalmai vannak Je v bolestech Ele está com dor - 患者は痛いようだ + 患者は痛みを感じている 통증이 있다 他感到疼痛 他感到疼痛中 @@ -4138,7 +4227,7 @@ Nincsenek fájdalmai Nemá žádné bolesti Ele não está com dor - 患者は痛くないようだ + 患者は痛みを感じていない 통증이 없다 他没有感到疼痛 他沒感到疼痛中 @@ -4411,22 +4500,38 @@ 從<br/>%2卸載<br/>%1 从<br/>%2卸载<br/>%1 - - Place body in bodybag - Colocar cuerpo en bolsa para cadáveres - Поместить тело в мешок для трупов - Körper in Leichesack verstauen - Zapakuj ciało do worka na zwłoki - Mettre le corps dans la housse mortuaire - Test hullazsákba helyezése - Metti il corpo nella sacca per cadaveri - Colocar corpo dentro do saco para cadáver - Umístit tělo do pytle na mrtvoly - 死体袋に入れる - 시체 운반용 부대에 담기 - 将尸体装入尸袋 - 將屍體放入屍袋 - Vücudu ceset torbasına yerleştir + + Place body in black bodybag + Colocar cuerpo en bolsa para cadáveres negra + Körper in schwarzen Leichensack verstauen + Mettre le corps dans la housse mortuaire noir + Metti il corpo nella sacca per cadaveri nera + Colocar corpo dentro do saco para cadáver preto + Umístit tělo do černého pytle na mrtvoly + Vücudu siyah ceset torbasına yerleştir + 遺体袋 (黒) に入れる + + + Place body in blue bodybag + Colocar cuerpo en bolsa para cadáveres azule + Körper in Blau Leichensack verstauen + Mettre le corps dans la housse mortuaire bleu + Metti il corpo nella sacca per cadaveri blu + Colocar corpo dentro do saco para cadáver azul + Umístit tělo do modrého pytle na mrtvoly + Vücudu mavi ceset torbasına yerleştir + 遺体袋 (青) に入れる + + + Place body in white bodybag + Colocar cuerpo en bolsa para cadáveres blanca + Körper in weißen Leichensack verstauen + Mettre le corps dans la housse mortuaire blanc + Metti il corpo nella sacca per cadaveri bianca + Colocar corpo dentro do saco para cadáver branco + Umístit tělo do bílého pytle na mrtvoly + Vücudu beyaz ceset torbasına yerleştir + 遺体袋 (白) に入れる Placing body in bodybag... @@ -4439,12 +4544,28 @@ Stai mettendo il corpo nella sacca... Colocando corpo dentro do saco para cadáver... Umisťuji tělo do pytle na mrtvoly... - 死体袋へ入れています・・・ + 遺体袋へ入れています・・・ 시체 운반용 부대에 담는 중... 正在将尸体装入尸袋... 將屍體放入屍袋中... Vücut, ceset torbasına yerleştiriliyor... + + Dig grave for body + 시체를 위해 무덤 파기 + Wykop grób na ciało + Enterrer le corps + Grabe ein Grab für den Leichnam + 墓を掘る + + + Digging grave for body... + 시체를 위한 무덤 파는 중... + Kopanie grobu... + Enterrement du corps... + Grab für Leichnam ausheben ... + 墓を掘っています + %1 has bandaged patient %1 has vendado al paciente @@ -4471,7 +4592,7 @@ %1 провел сердечно-легочную реанимацию %1 realicó RCP %1 a fait une RCP. - %1 は心肺蘇生をした + %1 は心肺蘇生(CPR)をした %1 (이)가 심폐소생술을 실시했다 %1 已进行心肺复苏 %1 已執行心肺復甦術 @@ -4535,7 +4656,7 @@ %1 已套用固定板 %1 ha applicato una gessatura %1 použil dlahu - %1 は添え木を当てた + %1 は副子を当てた %1 założył szynę %1 aplicada una férula %1 hat eine Schiene angelegt @@ -4553,7 +4674,7 @@ %1 ha usato Kit Pronto Soccorso Personale %1 usó Kit de Primeros Auxilios %1 a utilisé une trousse sanitaire. - %1 は応急処置キットを使った + %1 は個人用治療キットを使った %1 (이)가 개인응급키트를 사용했다 %1 已使用个人急救包 %1 已使用了個人急救包 @@ -4604,7 +4725,7 @@ Nagyon enyhén sérült Velmi lehce raněn Muito levemente ferido - かなり浅い傷 + ごく軽傷 미미한 부상 小伤 小傷 @@ -4615,7 +4736,7 @@ Lecz w pełni zabandażowane hitpointy Curar miembros totalmente vendados Исцелять полностью перебинтованные части тела - Curar hitpoints totalmente enfaixados + Curar membros totalmente enfaixados Heal fully bandaged hitpoints Cura hitpoints completamente bendati Guérir les plaies entièrement bandées @@ -4686,5 +4807,64 @@ 身体抽搐了一下,可能还没死! 꿈틀대는걸 보니 죽은 것 같지는 않습니다! + + Check name on headstone + Sprawdź imię na grobie + 묘비 이름 확인 + Vérifier le nom sur la pierre tombale + Überprüfe Name auf dem Grabstein + 墓石の名前を確認 + + + Bandage Rollover + Bandażowanie Wielu Ran + Verbandüberschlag + 붕대 모두 감기 + Pansement de plaies multiples + 包帯の繰り越し + + + If enabled, bandages can close different types of wounds on the same body part.\nBandaging multiple injuries will scale bandaging time accordingly. + Jeśli opcja jest włączona, bandaże mogą zamykać różne rodzaje ran na tej samej części ciała. \nOpatrywanie wielu ran będzie adekwatnie skalować czas bandażowania. + Wenn diese Option aktiviert ist, können Verbände verschiedene Arten von Wunden am selben Körperteil schließen.\nBeim Verbinden mehrerer Verletzungen wird die Verbandszeit entsprechend skaliert. + 활성화된 경우 붕대로 동일한 신체 부위에 있는 다른 유형의 상처를 막을 수 있습니다.\n여러 부상을 붕대로 감으면 붕대 감는 시간이 그만큼 늘어납니다. + Si activé, les bandages peuvent fermer plusieurs types de blessures sur la même partie du corps.\nPanser de multiples blessures modifiera la durée d'application en conséquence. + 有効にすると、体の同じ部分にある別の種類の傷を一つの包帯で閉じることができます。\n複数の傷に包帯を巻くと、それに応じて包帯時間が変動します。 + + + Bandage Effectiveness Coefficient + Współczynnik Efektywności Bandażowania + Verbandswirksamkeitskoeffizient + 붕대 효과 계수 + Coefficient d'efficacité des bandages + 包帯有効性係数 + + + Determines how effective bandages are at closing wounds. + Określa skuteczność bandaży w zamykaniu ran. + Bestimmt, wie wirksam Bandagen beim Verschließen von Wunden sind. + 붕대가 상처를 치료하는 데 얼마나 효과적으로 지속되는지 결정합니다. + Défini l'efficacité des bandages à refermer des plaies. + 包帯が傷をふさぐのにどれだけ効果的かを決定します。 + + + Medical Items + Przedmioty Medyczne + Matériel médical + 의료 물품 + Orvosi felszerelés + Медицинские предметы + Zdravotnický materiál + Tıbbi Ürünler + Medizinisches Material + 医療品 + Objetos médicos + + + Zeus Treatment Time Coefficient + + + Multiply all treatment times with this coefficient when in Zeus. + diff --git a/addons/medical_treatment/ui/bodybag_blue_ca.paa b/addons/medical_treatment/ui/bodybag_blue_ca.paa new file mode 100644 index 0000000000..2948b4639b Binary files /dev/null and b/addons/medical_treatment/ui/bodybag_blue_ca.paa differ diff --git a/addons/medical_treatment/ui/bodybag_white_ca.paa b/addons/medical_treatment/ui/bodybag_white_ca.paa new file mode 100644 index 0000000000..a4d789d45c Binary files /dev/null and b/addons/medical_treatment/ui/bodybag_white_ca.paa differ diff --git a/addons/medical_vitals/addon.toml b/addons/medical_vitals/addon.toml index 7cfef775ee..bf39213892 100644 --- a/addons/medical_vitals/addon.toml +++ b/addons/medical_vitals/addon.toml @@ -1,2 +1,3 @@ -[preprocess] -enabled = false +[tools] +pboProject_noBinConfig = true +sqfvm_skipConfigChecks = true diff --git a/addons/medical_vitals/config.cpp b/addons/medical_vitals/config.cpp index f00fbe7174..d105aa3144 100644 --- a/addons/medical_vitals/config.cpp +++ b/addons/medical_vitals/config.cpp @@ -1,5 +1,6 @@ #include "script_component.hpp" +#pragma hemtt flag pe23_ignore_has_include #if __has_include("\z\ace\addons\nomedical\script_component.hpp") #define PATCH_SKIP "No Medical" #endif diff --git a/addons/medical_vitals/functions/fnc_handleUnitVitals.sqf b/addons/medical_vitals/functions/fnc_handleUnitVitals.sqf index 5c6e098269..683cfd34b7 100644 --- a/addons/medical_vitals/functions/fnc_handleUnitVitals.sqf +++ b/addons/medical_vitals/functions/fnc_handleUnitVitals.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Updates the vitals. Called from the statemachine's onState functions. diff --git a/addons/medical_vitals/functions/fnc_updateHeartRate.sqf b/addons/medical_vitals/functions/fnc_updateHeartRate.sqf index 4da8519077..9ffc52d663 100644 --- a/addons/medical_vitals/functions/fnc_updateHeartRate.sqf +++ b/addons/medical_vitals/functions/fnc_updateHeartRate.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Update the heart rate diff --git a/addons/medical_vitals/functions/fnc_updatePainSuppress.sqf b/addons/medical_vitals/functions/fnc_updatePainSuppress.sqf index 98906746e2..36e8708be0 100644 --- a/addons/medical_vitals/functions/fnc_updatePainSuppress.sqf +++ b/addons/medical_vitals/functions/fnc_updatePainSuppress.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Update the pain suppression diff --git a/addons/medical_vitals/functions/fnc_updatePeripheralResistance.sqf b/addons/medical_vitals/functions/fnc_updatePeripheralResistance.sqf index c5552143c7..30f8038d80 100644 --- a/addons/medical_vitals/functions/fnc_updatePeripheralResistance.sqf +++ b/addons/medical_vitals/functions/fnc_updatePeripheralResistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Update the peripheral resistance diff --git a/addons/medical_vitals/functions/script_component.hpp b/addons/medical_vitals/functions/script_component.hpp deleted file mode 100644 index 4fe94957b5..0000000000 --- a/addons/medical_vitals/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\medical_vitals\script_component.hpp" diff --git a/addons/microdagr/functions/fnc_appMarkKeypadEntry.sqf b/addons/microdagr/functions/fnc_appMarkKeypadEntry.sqf index ece62c22e9..8d77fb6605 100644 --- a/addons/microdagr/functions/fnc_appMarkKeypadEntry.sqf +++ b/addons/microdagr/functions/fnc_appMarkKeypadEntry.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles the keypad entries from the "Mark" Application diff --git a/addons/microdagr/functions/fnc_appMenuButtonConnectRangefinder.sqf b/addons/microdagr/functions/fnc_appMenuButtonConnectRangefinder.sqf index 4aa01155ca..da22251453 100644 --- a/addons/microdagr/functions/fnc_appMenuButtonConnectRangefinder.sqf +++ b/addons/microdagr/functions/fnc_appMenuButtonConnectRangefinder.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles the "Connect To" button from the menu application diff --git a/addons/microdagr/functions/fnc_appSettingsLBClick.sqf b/addons/microdagr/functions/fnc_appSettingsLBClick.sqf index 5c5c511ca6..4f084b5932 100644 --- a/addons/microdagr/functions/fnc_appSettingsLBClick.sqf +++ b/addons/microdagr/functions/fnc_appSettingsLBClick.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles double clicking on the setting listbox diff --git a/addons/microdagr/functions/fnc_appWaypointsButtonDeleteWP.sqf b/addons/microdagr/functions/fnc_appWaypointsButtonDeleteWP.sqf index 61508a1553..8649d8d962 100644 --- a/addons/microdagr/functions/fnc_appWaypointsButtonDeleteWP.sqf +++ b/addons/microdagr/functions/fnc_appWaypointsButtonDeleteWP.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles clicking the delete button from the waypoint application diff --git a/addons/microdagr/functions/fnc_appWaypointsButtonSetWP.sqf b/addons/microdagr/functions/fnc_appWaypointsButtonSetWP.sqf index 80d5cfaef6..d888eb4bbf 100644 --- a/addons/microdagr/functions/fnc_appWaypointsButtonSetWP.sqf +++ b/addons/microdagr/functions/fnc_appWaypointsButtonSetWP.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles clicking the setWP button from the waypoint application diff --git a/addons/microdagr/functions/fnc_canShow.sqf b/addons/microdagr/functions/fnc_canShow.sqf index 0c80896661..141fad9ed0 100644 --- a/addons/microdagr/functions/fnc_canShow.sqf +++ b/addons/microdagr/functions/fnc_canShow.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Tests if the dagr can be shown in a mode diff --git a/addons/microdagr/functions/fnc_deviceAddWaypoint.sqf b/addons/microdagr/functions/fnc_deviceAddWaypoint.sqf index 443ab193e4..080ff73deb 100644 --- a/addons/microdagr/functions/fnc_deviceAddWaypoint.sqf +++ b/addons/microdagr/functions/fnc_deviceAddWaypoint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Adds a waypoint to the "device" diff --git a/addons/microdagr/functions/fnc_deviceDeleteWaypoint.sqf b/addons/microdagr/functions/fnc_deviceDeleteWaypoint.sqf index 895b64bb38..14bfcbf1de 100644 --- a/addons/microdagr/functions/fnc_deviceDeleteWaypoint.sqf +++ b/addons/microdagr/functions/fnc_deviceDeleteWaypoint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Deletes a waypoint from the "device" diff --git a/addons/microdagr/functions/fnc_deviceGetWaypoints.sqf b/addons/microdagr/functions/fnc_deviceGetWaypoints.sqf index 88e89f7fa7..d392024b0b 100644 --- a/addons/microdagr/functions/fnc_deviceGetWaypoints.sqf +++ b/addons/microdagr/functions/fnc_deviceGetWaypoints.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Gets all waypoints from the "device" diff --git a/addons/microdagr/functions/fnc_dialogClosedEH.sqf b/addons/microdagr/functions/fnc_dialogClosedEH.sqf index fc94b101f5..942167462b 100644 --- a/addons/microdagr/functions/fnc_dialogClosedEH.sqf +++ b/addons/microdagr/functions/fnc_dialogClosedEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles the dialog closeing, switches back to display mode diff --git a/addons/microdagr/functions/fnc_mapButtonDownEH.sqf b/addons/microdagr/functions/fnc_mapButtonDownEH.sqf index 9ca55bc5ab..6a92ebc601 100644 --- a/addons/microdagr/functions/fnc_mapButtonDownEH.sqf +++ b/addons/microdagr/functions/fnc_mapButtonDownEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles right clicking on the map ('dragging' the map) diff --git a/addons/microdagr/functions/fnc_mapDoubleTapEH.sqf b/addons/microdagr/functions/fnc_mapDoubleTapEH.sqf index aeb73414f5..00d53418b1 100644 --- a/addons/microdagr/functions/fnc_mapDoubleTapEH.sqf +++ b/addons/microdagr/functions/fnc_mapDoubleTapEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles the double tapping either of the 2 mini-maps diff --git a/addons/microdagr/functions/fnc_mapOnDrawEH.sqf b/addons/microdagr/functions/fnc_mapOnDrawEH.sqf index 15c1b0a59c..30a0c6ad6e 100644 --- a/addons/microdagr/functions/fnc_mapOnDrawEH.sqf +++ b/addons/microdagr/functions/fnc_mapOnDrawEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles the draw event from all 3 maps (compass + 2 minimaps) diff --git a/addons/microdagr/functions/fnc_modeMapButtons.sqf b/addons/microdagr/functions/fnc_modeMapButtons.sqf index 8ed8171535..e1a0509ee4 100644 --- a/addons/microdagr/functions/fnc_modeMapButtons.sqf +++ b/addons/microdagr/functions/fnc_modeMapButtons.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Takes some arguments and returns something or other. diff --git a/addons/microdagr/functions/fnc_moduleMapFill.sqf b/addons/microdagr/functions/fnc_moduleMapFill.sqf index 01e6af799f..aa227830da 100644 --- a/addons/microdagr/functions/fnc_moduleMapFill.sqf +++ b/addons/microdagr/functions/fnc_moduleMapFill.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Function for the module (handles the map fill level) diff --git a/addons/microdagr/functions/fnc_openDisplay.sqf b/addons/microdagr/functions/fnc_openDisplay.sqf index 775378a533..56d404bf6f 100644 --- a/addons/microdagr/functions/fnc_openDisplay.sqf +++ b/addons/microdagr/functions/fnc_openDisplay.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Changes the display mode of the MicroDAGR. diff --git a/addons/microdagr/functions/fnc_recieveRangefinderData.sqf b/addons/microdagr/functions/fnc_recieveRangefinderData.sqf index 640c42cfe4..8fd16d68f7 100644 --- a/addons/microdagr/functions/fnc_recieveRangefinderData.sqf +++ b/addons/microdagr/functions/fnc_recieveRangefinderData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Recieves the data packet from the vector rangefinder diff --git a/addons/microdagr/functions/fnc_saveCurrentAndSetNewMode.sqf b/addons/microdagr/functions/fnc_saveCurrentAndSetNewMode.sqf index 068b8d2cd2..c756b63141 100644 --- a/addons/microdagr/functions/fnc_saveCurrentAndSetNewMode.sqf +++ b/addons/microdagr/functions/fnc_saveCurrentAndSetNewMode.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Saves the current mode and sets a new mode diff --git a/addons/microdagr/functions/fnc_showApplicationPage.sqf b/addons/microdagr/functions/fnc_showApplicationPage.sqf index 1ba8a36d45..75f817ad3f 100644 --- a/addons/microdagr/functions/fnc_showApplicationPage.sqf +++ b/addons/microdagr/functions/fnc_showApplicationPage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Changes the "application page" shown on the microDAGR diff --git a/addons/microdagr/functions/fnc_updateDisplay.sqf b/addons/microdagr/functions/fnc_updateDisplay.sqf index 97f2ae21e4..3e5775b86d 100644 --- a/addons/microdagr/functions/fnc_updateDisplay.sqf +++ b/addons/microdagr/functions/fnc_updateDisplay.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Updates the display (several times a second) called from the pfeh diff --git a/addons/microdagr/functions/script_component.hpp b/addons/microdagr/functions/script_component.hpp deleted file mode 100644 index 487d569038..0000000000 --- a/addons/microdagr/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\microdagr\script_component.hpp" diff --git a/addons/microdagr/gui_controls.hpp b/addons/microdagr/gui_controls.hpp index d498ca1f2b..5ab0b27b25 100644 --- a/addons/microdagr/gui_controls.hpp +++ b/addons/microdagr/gui_controls.hpp @@ -116,12 +116,12 @@ class controlsBackground { colorRocks[] = {0.50, 0.50, 0.50, 0.50}; - class hospital: Hospital {color[] = {0,0,0,0.25};}; - class church: Church {color[] = {0,0,0,0.25};}; - class lighthouse: Lighthouse {color[] = {0,0,0,0.25};}; + class Hospital: Hospital {color[] = {0,0,0,0.25};}; + class church: church {color[] = {0,0,0,0.25};}; + class Lighthouse: Lighthouse {color[] = {0,0,0,0.25};}; class power: power {color[] = {0,0,0,0.25};}; - class fuelstation: Fuelstation {color[] = {0,0,0,0.25};}; - class transmitter: Transmitter {color[] = {0,0,0,0.25};}; + class Fuelstation: Fuelstation {color[] = {0,0,0,0.25};}; + class Transmitter: Transmitter {color[] = {0,0,0,0.25};}; }; class MapCompass: RscMapControlEmpty { diff --git a/addons/microdagr/stringtable.xml b/addons/microdagr/stringtable.xml index f090377c2f..720a463e38 100644 --- a/addons/microdagr/stringtable.xml +++ b/addons/microdagr/stringtable.xml @@ -222,7 +222,7 @@ Azimut: Irányszög Azimut - Direção na bússula + Direção na bússola 方位磁石での方位 방위 指南针方位 diff --git a/addons/minedetector/CfgVehicles.hpp b/addons/minedetector/CfgVehicles.hpp index ab6c06b4cb..874fc597f5 100644 --- a/addons/minedetector/CfgVehicles.hpp +++ b/addons/minedetector/CfgVehicles.hpp @@ -34,14 +34,14 @@ class CfgVehicles { class GVAR(connectHeadphones) { displayName = CSTRING(ConnectHeadphones); condition = QUOTE(call FUNC(canConnectHeadphones)); - statement = QUOTE([ARR_2(ACE_player, true)] call FUNC(connectHeadphones)); + statement = QUOTE([ARR_2(ACE_player,true)] call FUNC(connectHeadphones)); icon = ""; //TODO exceptions[] = {}; }; class GVAR(disconnectHeadphones) { displayName = CSTRING(DisconnectHeadphones); condition = QUOTE(call FUNC(canDisconnectHeadphones)); - statement = QUOTE([ARR_2(ACE_player, false)] call FUNC(connectHeadphones)); + statement = QUOTE([ARR_2(ACE_player,false)] call FUNC(connectHeadphones)); icon = ""; //TODO exceptions[] = {}; }; diff --git a/addons/minedetector/functions/fnc_activateDetector.sqf b/addons/minedetector/functions/fnc_activateDetector.sqf index 5ce236250b..7899899d4b 100644 --- a/addons/minedetector/functions/fnc_activateDetector.sqf +++ b/addons/minedetector/functions/fnc_activateDetector.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Activate the mine detector diff --git a/addons/minedetector/functions/fnc_canActivateDetector.sqf b/addons/minedetector/functions/fnc_canActivateDetector.sqf index 8a5d795b49..7b1de093e9 100644 --- a/addons/minedetector/functions/fnc_canActivateDetector.sqf +++ b/addons/minedetector/functions/fnc_canActivateDetector.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Check if the mine detector can be activated diff --git a/addons/minedetector/functions/fnc_canConnectHeadphones.sqf b/addons/minedetector/functions/fnc_canConnectHeadphones.sqf index 4266f6e065..cc83271d03 100644 --- a/addons/minedetector/functions/fnc_canConnectHeadphones.sqf +++ b/addons/minedetector/functions/fnc_canConnectHeadphones.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Check if headphones can be connected to the mine detector diff --git a/addons/minedetector/functions/fnc_canDeactivateDetector.sqf b/addons/minedetector/functions/fnc_canDeactivateDetector.sqf index 8c38363288..06eeab62e1 100644 --- a/addons/minedetector/functions/fnc_canDeactivateDetector.sqf +++ b/addons/minedetector/functions/fnc_canDeactivateDetector.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Check if the mine detector can be deactivated diff --git a/addons/minedetector/functions/fnc_canDisconnectHeadphones.sqf b/addons/minedetector/functions/fnc_canDisconnectHeadphones.sqf index b55338b641..733d1a9ff2 100644 --- a/addons/minedetector/functions/fnc_canDisconnectHeadphones.sqf +++ b/addons/minedetector/functions/fnc_canDisconnectHeadphones.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Check if headphones can be disconnected from the mine detector diff --git a/addons/minedetector/functions/fnc_connectHeadphones.sqf b/addons/minedetector/functions/fnc_connectHeadphones.sqf index 3bf76a4d23..88b6b29846 100644 --- a/addons/minedetector/functions/fnc_connectHeadphones.sqf +++ b/addons/minedetector/functions/fnc_connectHeadphones.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Connect/disconnect headphones to the mine detector diff --git a/addons/minedetector/functions/fnc_deactivateDetector.sqf b/addons/minedetector/functions/fnc_deactivateDetector.sqf index 7ed0713846..7403250ad6 100644 --- a/addons/minedetector/functions/fnc_deactivateDetector.sqf +++ b/addons/minedetector/functions/fnc_deactivateDetector.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Deactivate the mine detector diff --git a/addons/minedetector/functions/fnc_detectorLoop.sqf b/addons/minedetector/functions/fnc_detectorLoop.sqf index 3895ab8193..1ede6c7422 100644 --- a/addons/minedetector/functions/fnc_detectorLoop.sqf +++ b/addons/minedetector/functions/fnc_detectorLoop.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Handle mine detection in a PFH loop diff --git a/addons/minedetector/functions/fnc_disableDetector.sqf b/addons/minedetector/functions/fnc_disableDetector.sqf index be0c57117d..33106b4c45 100644 --- a/addons/minedetector/functions/fnc_disableDetector.sqf +++ b/addons/minedetector/functions/fnc_disableDetector.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Disables the mine detector diff --git a/addons/minedetector/functions/fnc_enableDetector.sqf b/addons/minedetector/functions/fnc_enableDetector.sqf index 2bb663d977..b673176086 100644 --- a/addons/minedetector/functions/fnc_enableDetector.sqf +++ b/addons/minedetector/functions/fnc_enableDetector.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Enables the mine detector diff --git a/addons/minedetector/functions/fnc_getDetectedObject.sqf b/addons/minedetector/functions/fnc_getDetectedObject.sqf index 9bcfcf2cc7..6827e59c99 100644 --- a/addons/minedetector/functions/fnc_getDetectedObject.sqf +++ b/addons/minedetector/functions/fnc_getDetectedObject.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Get the distance to the nearest detectable object diff --git a/addons/minedetector/functions/fnc_getDetectorConfig.sqf b/addons/minedetector/functions/fnc_getDetectorConfig.sqf index 313cc30142..fe7a888ebf 100644 --- a/addons/minedetector/functions/fnc_getDetectorConfig.sqf +++ b/addons/minedetector/functions/fnc_getDetectorConfig.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Get the mine detector configuration from the cache or config file diff --git a/addons/minedetector/functions/fnc_hasDetector.sqf b/addons/minedetector/functions/fnc_hasDetector.sqf index c7ebd5b9f0..05ac7e412e 100644 --- a/addons/minedetector/functions/fnc_hasDetector.sqf +++ b/addons/minedetector/functions/fnc_hasDetector.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Check if unit has a mine detector in hands diff --git a/addons/minedetector/functions/fnc_isDetectorEnabled.sqf b/addons/minedetector/functions/fnc_isDetectorEnabled.sqf index 4b18d417bc..6b94e4bc11 100644 --- a/addons/minedetector/functions/fnc_isDetectorEnabled.sqf +++ b/addons/minedetector/functions/fnc_isDetectorEnabled.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Check if the mine detector is enabled diff --git a/addons/minedetector/functions/fnc_playDetectorSound.sqf b/addons/minedetector/functions/fnc_playDetectorSound.sqf index dc0be60015..cfd5dc3822 100644 --- a/addons/minedetector/functions/fnc_playDetectorSound.sqf +++ b/addons/minedetector/functions/fnc_playDetectorSound.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Play the detector sound diff --git a/addons/minedetector/functions/script_component.hpp b/addons/minedetector/functions/script_component.hpp deleted file mode 100644 index 03333c8bae..0000000000 --- a/addons/minedetector/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\minedetector\script_component.hpp" diff --git a/addons/missileguidance/functions/fnc_SACLOS_onFired.sqf b/addons/missileguidance/functions/fnc_SACLOS_onFired.sqf index 1c5d3b194b..299ec6f236 100644 --- a/addons/missileguidance/functions/fnc_SACLOS_onFired.sqf +++ b/addons/missileguidance/functions/fnc_SACLOS_onFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Sets up SACLOS state arrays (called from missileGuidance's onFired). diff --git a/addons/missileguidance/functions/fnc_ahr_onFired.sqf b/addons/missileguidance/functions/fnc_ahr_onFired.sqf index 615b97cefd..0618c046ad 100644 --- a/addons/missileguidance/functions/fnc_ahr_onFired.sqf +++ b/addons/missileguidance/functions/fnc_ahr_onFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Sets up Active Radar state arrays (called from missileGuidance's onFired). diff --git a/addons/missileguidance/functions/fnc_attackProfile_AIR.sqf b/addons/missileguidance/functions/fnc_attackProfile_AIR.sqf index 823e85efaa..e1675bc1bb 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_AIR.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_AIR.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou * Attack profile: AIR diff --git a/addons/missileguidance/functions/fnc_attackProfile_BEAM.sqf b/addons/missileguidance/functions/fnc_attackProfile_BEAM.sqf index d5fad837c7..5aaff9d7f8 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_BEAM.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_BEAM.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Attack profile: Beam guided. Exact same as wire-guided, except no wire cutting diff --git a/addons/missileguidance/functions/fnc_attackProfile_DIR.sqf b/addons/missileguidance/functions/fnc_attackProfile_DIR.sqf index cddd70807e..80499a85da 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_DIR.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_DIR.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou * Attack profile: DIR diff --git a/addons/missileguidance/functions/fnc_attackProfile_HI.sqf b/addons/missileguidance/functions/fnc_attackProfile_HI.sqf index 6f1fbe67d3..92413f59d0 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_HI.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_HI.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou * Attack profile: HI diff --git a/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf b/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf index f277c1bc68..6ddb60d21b 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_JAV_DIR.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou * Attack profile: Javelin Dir diff --git a/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf b/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf index 08219ea24a..d7092a924d 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_JAV_TOP.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou * Attack profile: Javelin Top diff --git a/addons/missileguidance/functions/fnc_attackProfile_LIN.sqf b/addons/missileguidance/functions/fnc_attackProfile_LIN.sqf index 464ee9e36b..23476ec46c 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_LIN.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_LIN.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou * Attack profile: Linear (used by DAGR) diff --git a/addons/missileguidance/functions/fnc_attackProfile_MID.sqf b/addons/missileguidance/functions/fnc_attackProfile_MID.sqf index f66088844c..2ca9eef77f 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_MID.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_MID.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou * Attack profile: MID diff --git a/addons/missileguidance/functions/fnc_attackProfile_WIRE.sqf b/addons/missileguidance/functions/fnc_attackProfile_WIRE.sqf index ca4b8bf845..443fe1bb97 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_WIRE.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_WIRE.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Attack profile: Wire guided diff --git a/addons/missileguidance/functions/fnc_changeMissileDirection.sqf b/addons/missileguidance/functions/fnc_changeMissileDirection.sqf index d560f05e2a..21884c1693 100644 --- a/addons/missileguidance/functions/fnc_changeMissileDirection.sqf +++ b/addons/missileguidance/functions/fnc_changeMissileDirection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou * Change a projectile's direction, maintaing speed diff --git a/addons/missileguidance/functions/fnc_checkLos.sqf b/addons/missileguidance/functions/fnc_checkLos.sqf index 838254e950..1fadc5510e 100644 --- a/addons/missileguidance/functions/fnc_checkLos.sqf +++ b/addons/missileguidance/functions/fnc_checkLos.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus * Returns whether the seeker object can see the target position with checkVisibility diff --git a/addons/missileguidance/functions/fnc_checkSeekerAngle.sqf b/addons/missileguidance/functions/fnc_checkSeekerAngle.sqf index d8b3b858b3..c69f6d20f0 100644 --- a/addons/missileguidance/functions/fnc_checkSeekerAngle.sqf +++ b/addons/missileguidance/functions/fnc_checkSeekerAngle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus * Returns whether the target position is within the maximum angle FOV of the provided seeker diff --git a/addons/missileguidance/functions/fnc_cycleAttackProfileKeyDown.sqf b/addons/missileguidance/functions/fnc_cycleAttackProfileKeyDown.sqf index cffc0e28cd..d25d2bc2b7 100644 --- a/addons/missileguidance/functions/fnc_cycleAttackProfileKeyDown.sqf +++ b/addons/missileguidance/functions/fnc_cycleAttackProfileKeyDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Cycles fire mode for any missileGuidance enabled ammo that has multiple attack profiles diff --git a/addons/missileguidance/functions/fnc_doAttackProfile.sqf b/addons/missileguidance/functions/fnc_doAttackProfile.sqf index 53d43883d3..cafbadf69c 100644 --- a/addons/missileguidance/functions/fnc_doAttackProfile.sqf +++ b/addons/missileguidance/functions/fnc_doAttackProfile.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou, PabstMirror * Do attack profile with a valid seeker target location diff --git a/addons/missileguidance/functions/fnc_doHandoff.sqf b/addons/missileguidance/functions/fnc_doHandoff.sqf index 569a827173..153f38a3c4 100644 --- a/addons/missileguidance/functions/fnc_doHandoff.sqf +++ b/addons/missileguidance/functions/fnc_doHandoff.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE * Not currently used diff --git a/addons/missileguidance/functions/fnc_doSeekerSearch.sqf b/addons/missileguidance/functions/fnc_doSeekerSearch.sqf index de01b476b6..6008725b4c 100644 --- a/addons/missileguidance/functions/fnc_doSeekerSearch.sqf +++ b/addons/missileguidance/functions/fnc_doSeekerSearch.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou, PabstMirror * Do seeker search diff --git a/addons/missileguidance/functions/fnc_guidancePFH.sqf b/addons/missileguidance/functions/fnc_guidancePFH.sqf index 8050dfcff5..132af330c3 100644 --- a/addons/missileguidance/functions/fnc_guidancePFH.sqf +++ b/addons/missileguidance/functions/fnc_guidancePFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou * Guidance Per Frame Handler diff --git a/addons/missileguidance/functions/fnc_handleHandoff.sqf b/addons/missileguidance/functions/fnc_handleHandoff.sqf index b4bb0052ae..9c6e299d01 100644 --- a/addons/missileguidance/functions/fnc_handleHandoff.sqf +++ b/addons/missileguidance/functions/fnc_handleHandoff.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE-Team * Not currently used diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 422639c452..1c964c5113 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou * Fired event handler, starts guidance if enabled for ammo diff --git a/addons/missileguidance/functions/fnc_onIncomingMissile.sqf b/addons/missileguidance/functions/fnc_onIncomingMissile.sqf index 045fffaaa1..d49ade0022 100644 --- a/addons/missileguidance/functions/fnc_onIncomingMissile.sqf +++ b/addons/missileguidance/functions/fnc_onIncomingMissile.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou * Handles AI shooting a locking missile diff --git a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf index 4f3843c0f9..20571e3d65 100644 --- a/addons/missileguidance/functions/fnc_seekerType_ARH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_ARH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Active Radar Homing seeker diff --git a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf index 356ad5c2f1..7fc30fb30b 100644 --- a/addons/missileguidance/functions/fnc_seekerType_Optic.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_Optic.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou * Seeker Type: Optic diff --git a/addons/missileguidance/functions/fnc_seekerType_SACLOS.sqf b/addons/missileguidance/functions/fnc_seekerType_SACLOS.sqf index 31ec6df25b..da9549c3ae 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SACLOS.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SACLOS.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * SACLOS seeker diff --git a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf index 09e20e7887..4b74d0f7e3 100644 --- a/addons/missileguidance/functions/fnc_seekerType_SALH.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_SALH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jaynus / nou * Seeker Type: SALH (Laser) diff --git a/addons/missileguidance/functions/fnc_wire_onFired.sqf b/addons/missileguidance/functions/fnc_wire_onFired.sqf index e683636287..0cfa90ff99 100644 --- a/addons/missileguidance/functions/fnc_wire_onFired.sqf +++ b/addons/missileguidance/functions/fnc_wire_onFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Sets up wireGuided state arrays (called from missileGuidance's onFired). diff --git a/addons/missileguidance/functions/script_component.hpp b/addons/missileguidance/functions/script_component.hpp deleted file mode 100644 index 6b1c1a864a..0000000000 --- a/addons/missileguidance/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\missileguidance\script_component.hpp" diff --git a/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf b/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf index ba20ac0b8d..63465a6588 100644 --- a/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf +++ b/addons/missionmodules/functions/fnc_moduleAmbianceSound.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Plays synchronized ambiance sounds while the module is alive. diff --git a/addons/missionmodules/functions/script_component.hpp b/addons/missionmodules/functions/script_component.hpp deleted file mode 100644 index cab9cb2dd8..0000000000 --- a/addons/missionmodules/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\missionmodules\script_component.hpp" diff --git a/addons/mk6mortar/CfgWeapons.hpp b/addons/mk6mortar/CfgWeapons.hpp index c57c9aa2ea..b32cce1e41 100644 --- a/addons/mk6mortar/CfgWeapons.hpp +++ b/addons/mk6mortar/CfgWeapons.hpp @@ -10,7 +10,7 @@ class CfgWeapons { picture = QPATHTOF(UI\icon_rangeTable.paa); ACE_isTool = 1; class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 0.5; + mass = 0.1; }; }; diff --git a/addons/mk6mortar/RscInGameUI.hpp b/addons/mk6mortar/RscInGameUI.hpp index 4145bc091f..60e5c5f324 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('ace_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_MILS_GROUP", "CA_IGUI_elements_group","CA_RangeElements_group"}; class ACE_MILS_GROUP: CA_IGUI_elements_group { diff --git a/addons/mk6mortar/config.cpp b/addons/mk6mortar/config.cpp index 6104f571aa..4e4ad2cb5f 100644 --- a/addons/mk6mortar/config.cpp +++ b/addons/mk6mortar/config.cpp @@ -24,7 +24,7 @@ class CfgPatches { //UI Stuff: class RscText; -class RscListbox; +class RscListBox; class RscListNBox; class RscPicture; class RscControlsGroup; diff --git a/addons/mk6mortar/functions/fnc_csw_getProxyWeapon.sqf b/addons/mk6mortar/functions/fnc_csw_getProxyWeapon.sqf index fd4804b98f..3356e91c11 100644 --- a/addons/mk6mortar/functions/fnc_csw_getProxyWeapon.sqf +++ b/addons/mk6mortar/functions/fnc_csw_getProxyWeapon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Compatibility With ACE_CSW (will be called by ace_csw, no dependency) diff --git a/addons/mk6mortar/functions/fnc_handleFired.sqf b/addons/mk6mortar/functions/fnc_handleFired.sqf index 5224aa09a0..c09c96f777 100644 --- a/addons/mk6mortar/functions/fnc_handleFired.sqf +++ b/addons/mk6mortar/functions/fnc_handleFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Called when the mortar is fired. diff --git a/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf index 5628ef88b0..216bab43bc 100644 --- a/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf +++ b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles player getting into new vehicle. Loads PFEG for mortar display if it is a mortar. diff --git a/addons/mk6mortar/functions/fnc_moduleInit.sqf b/addons/mk6mortar/functions/fnc_moduleInit.sqf index a0186dfb3d..ab4b4e8965 100644 --- a/addons/mk6mortar/functions/fnc_moduleInit.sqf +++ b/addons/mk6mortar/functions/fnc_moduleInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Loads settings from the module. diff --git a/addons/mk6mortar/functions/fnc_rangeTableCanUse.sqf b/addons/mk6mortar/functions/fnc_rangeTableCanUse.sqf index 1a5d5bf9a6..24bd4f9ad3 100644 --- a/addons/mk6mortar/functions/fnc_rangeTableCanUse.sqf +++ b/addons/mk6mortar/functions/fnc_rangeTableCanUse.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Can player open 82mm rangetable. diff --git a/addons/mk6mortar/functions/fnc_rangeTableOpen.sqf b/addons/mk6mortar/functions/fnc_rangeTableOpen.sqf index 56ef6a32c5..7b350804f1 100644 --- a/addons/mk6mortar/functions/fnc_rangeTableOpen.sqf +++ b/addons/mk6mortar/functions/fnc_rangeTableOpen.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Opens the rangetable and fills the charge listbox. diff --git a/addons/mk6mortar/functions/fnc_toggleMils.sqf b/addons/mk6mortar/functions/fnc_toggleMils.sqf index f010848acf..0207054451 100644 --- a/addons/mk6mortar/functions/fnc_toggleMils.sqf +++ b/addons/mk6mortar/functions/fnc_toggleMils.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Toggles the mortart to show mils or degrees diff --git a/addons/mk6mortar/functions/fnc_turretDisplayLoaded.sqf b/addons/mk6mortar/functions/fnc_turretDisplayLoaded.sqf index 0a7ad4b928..a800755357 100644 --- a/addons/mk6mortar/functions/fnc_turretDisplayLoaded.sqf +++ b/addons/mk6mortar/functions/fnc_turretDisplayLoaded.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Called when the mk6's in game UI is loaded. Hides rangefinder data if it is disabled. diff --git a/addons/mk6mortar/functions/script_component.hpp b/addons/mk6mortar/functions/script_component.hpp deleted file mode 100644 index 76eefc205a..0000000000 --- a/addons/mk6mortar/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\mk6mortar\script_component.hpp" diff --git a/addons/mk6mortar/stringtable.xml b/addons/mk6mortar/stringtable.xml index b5b50a4f08..09f060ca00 100644 --- a/addons/mk6mortar/stringtable.xml +++ b/addons/mk6mortar/stringtable.xml @@ -174,7 +174,7 @@ Habilitar brujula del Mk6 Erlaube Mk6-Kompass Mk6 - Povolit kompas - Permitir bússula do Mk6 + Permitir bússola do Mk6 Activer la boussole du Mk6 Mk6 iránytű engedélyezése Разрешить компас Mk6 @@ -191,7 +191,7 @@ Muestra la brujula digital en el Mk6 Zeige Mk6-Digitaler-Kompass Mk6 - Zobrazit digitální kompas - Mostra a bússula digital do Mk6 + Mostra a bússola digital do Mk6 Affiche la boussole numérique du Mk6. Az Mk6 digitális iránytű megjelenítése Показывает цифровой компас Mk6 diff --git a/addons/modules/functions/fnc_moduleInit.sqf b/addons/modules/functions/fnc_moduleInit.sqf index 5e03aad13c..d722f9a69b 100644 --- a/addons/modules/functions/fnc_moduleInit.sqf +++ b/addons/modules/functions/fnc_moduleInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * IV Treatment local callback diff --git a/addons/modules/functions/script_component.hpp b/addons/modules/functions/script_component.hpp deleted file mode 100644 index ffd50bc09b..0000000000 --- a/addons/modules/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\modules\script_component.hpp" diff --git a/addons/movement/functions/fnc_addLoadToUnitContainer.sqf b/addons/movement/functions/fnc_addLoadToUnitContainer.sqf index 5910f6c186..11dc6718a5 100644 --- a/addons/movement/functions/fnc_addLoadToUnitContainer.sqf +++ b/addons/movement/functions/fnc_addLoadToUnitContainer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Add (negative numbers to subtract) a virtual mass to a units container. diff --git a/addons/movement/functions/fnc_canClimb.sqf b/addons/movement/functions/fnc_canClimb.sqf index 808a81d582..d197afe4ed 100644 --- a/addons/movement/functions/fnc_canClimb.sqf +++ b/addons/movement/functions/fnc_canClimb.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Tests the the player can climb. diff --git a/addons/movement/functions/fnc_climb.sqf b/addons/movement/functions/fnc_climb.sqf index 2d5eb88786..04cbe7faac 100644 --- a/addons/movement/functions/fnc_climb.sqf +++ b/addons/movement/functions/fnc_climb.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Make the player climb over short walls. diff --git a/addons/movement/functions/fnc_handleClimb.sqf b/addons/movement/functions/fnc_handleClimb.sqf index 6f6c7b536b..1325f2f021 100644 --- a/addons/movement/functions/fnc_handleClimb.sqf +++ b/addons/movement/functions/fnc_handleClimb.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles the climb animation finishing. Called from "AnimDone" event handler. diff --git a/addons/movement/functions/fnc_handleVirtualMass.sqf b/addons/movement/functions/fnc_handleVirtualMass.sqf index 8f035cc5ad..6e50cebf00 100644 --- a/addons/movement/functions/fnc_handleVirtualMass.sqf +++ b/addons/movement/functions/fnc_handleVirtualMass.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Recalculate the units loadCoef to emulate a mass added to uniform, vest or backpack. diff --git a/addons/movement/functions/fnc_inventoryDisplayLoad.sqf b/addons/movement/functions/fnc_inventoryDisplayLoad.sqf index cdbc85a895..95299a3b34 100644 --- a/addons/movement/functions/fnc_inventoryDisplayLoad.sqf +++ b/addons/movement/functions/fnc_inventoryDisplayLoad.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Executed every time an inventory display is opened. diff --git a/addons/movement/functions/script_component.hpp b/addons/movement/functions/script_component.hpp deleted file mode 100644 index 088b2beb1a..0000000000 --- a/addons/movement/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\movement\script_component.hpp" diff --git a/addons/mx2a/stringtable.xml b/addons/mx2a/stringtable.xml index 390a264f3a..a16caf4075 100644 --- a/addons/mx2a/stringtable.xml +++ b/addons/mx2a/stringtable.xml @@ -30,7 +30,7 @@ Тепловизионный прибор Dispositivo di visione termica サーマル画像表示双眼鏡 - 열영상 장치 + 열화상 장치 热成像装置 熱成像裝置 Termal Görüntüleme Aracı diff --git a/addons/nametags/functions/fnc_drawNameTagIcon.sqf b/addons/nametags/functions/fnc_drawNameTagIcon.sqf index ac7e005623..aa9c900390 100644 --- a/addons/nametags/functions/fnc_drawNameTagIcon.sqf +++ b/addons/nametags/functions/fnc_drawNameTagIcon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, esteldunedain, Drift_91 * Draw the nametag and rank icon. diff --git a/addons/nametags/functions/fnc_getCachedFlags.sqf b/addons/nametags/functions/fnc_getCachedFlags.sqf index 979517f6a0..806f443e3d 100644 --- a/addons/nametags/functions/fnc_getCachedFlags.sqf +++ b/addons/nametags/functions/fnc_getCachedFlags.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: * Get's flags used for onDraw3D that can be cached diff --git a/addons/nametags/functions/fnc_initIsSpeaking.sqf b/addons/nametags/functions/fnc_initIsSpeaking.sqf index 5e322f6e69..5bae931e60 100644 --- a/addons/nametags/functions/fnc_initIsSpeaking.sqf +++ b/addons/nametags/functions/fnc_initIsSpeaking.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, PabstMirror * Starts up a PFEH to monitor the when players are talking. diff --git a/addons/nametags/functions/fnc_moduleNameTags.sqf b/addons/nametags/functions/fnc_moduleNameTags.sqf index 03ced478be..4b269033f9 100644 --- a/addons/nametags/functions/fnc_moduleNameTags.sqf +++ b/addons/nametags/functions/fnc_moduleNameTags.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Initializes the name tags module. diff --git a/addons/nametags/functions/fnc_onDraw3d.sqf b/addons/nametags/functions/fnc_onDraw3d.sqf index 3b348fa824..7e9d156014 100644 --- a/addons/nametags/functions/fnc_onDraw3d.sqf +++ b/addons/nametags/functions/fnc_onDraw3d.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: * Draws names and icons. diff --git a/addons/nametags/functions/fnc_setFactionRankIcons.sqf b/addons/nametags/functions/fnc_setFactionRankIcons.sqf index e60c295c7d..88fd880833 100644 --- a/addons/nametags/functions/fnc_setFactionRankIcons.sqf +++ b/addons/nametags/functions/fnc_setFactionRankIcons.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Sets a custom set of icons for a specified faction. diff --git a/addons/nametags/functions/fnc_setText.sqf b/addons/nametags/functions/fnc_setText.sqf index 543b4fc913..836df0a1b6 100644 --- a/addons/nametags/functions/fnc_setText.sqf +++ b/addons/nametags/functions/fnc_setText.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: aeroson * Sets the text on the dialog. diff --git a/addons/nametags/functions/fnc_updateSettings.sqf b/addons/nametags/functions/fnc_updateSettings.sqf index 56ba016064..9fe0dd9908 100644 --- a/addons/nametags/functions/fnc_updateSettings.sqf +++ b/addons/nametags/functions/fnc_updateSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Dynamically adds and removes Draw3D based on settings on run-time. diff --git a/addons/nametags/functions/script_component.hpp b/addons/nametags/functions/script_component.hpp deleted file mode 100644 index b8135e8ecd..0000000000 --- a/addons/nametags/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\nametags\script_component.hpp" diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml index 791050abef..0e5f3cd522 100644 --- a/addons/nametags/stringtable.xml +++ b/addons/nametags/stringtable.xml @@ -418,7 +418,7 @@ Масштабирование размера текста и иконок Proporzione Dimensioni Testo ed Icone 文字とアイコンの大きさ - 글자와 아이콘 크기 비례 + 글자와 아이콘 크기 비례합니다 文字和图示大小设定 文字和圖示大小設定 Metin ve Simge Boyutu Ölçeklendirme diff --git a/addons/nightvision/CfgWeapons.hpp b/addons/nightvision/CfgWeapons.hpp index 0e3d03c35e..3c9a98ad53 100644 --- a/addons/nightvision/CfgWeapons.hpp +++ b/addons/nightvision/CfgWeapons.hpp @@ -16,12 +16,18 @@ class CfgWeapons { modelOptics = ""; GVAR(border) = QPATHTOF(data\nvg_mask_quad_4096.paa); // Use quad tube mask GVAR(bluRadius) = 0.26; + GVAR(generation) = 4; }; class NVGogglesB_grn_F: NVGoggles { // APEX NVG/Thermal modelOptics = "\A3\weapons_f_exp\reticle\ENVG.p3d"; // use vanilla modelOptics so it will show in IR mode + GVAR(generation) = 4; + }; + class NVGogglesB_blk_F: NVGoggles { + GVAR(generation) = 4; }; class NVGogglesB_gry_F: NVGoggles { modelOptics = "\A3\weapons_f_exp\reticle\ENVG.p3d"; + GVAR(generation) = 4; }; class NVGoggles_OPFOR: NVGoggles { modelOptics = ""; @@ -105,6 +111,7 @@ class CfgWeapons { author = ECSTRING(common,ACETeam); modelOptics = QPATHTOF(models\ACE_nvg_wide_optics); displayName = CSTRING(NVG_Wide_black); + GVAR(generation) = 4; }; class ACE_NVG_Wide_Black_WP: ACE_NVG_Wide_Black { displayName = CSTRING(NVG_Wide_black_wP); @@ -115,6 +122,7 @@ class CfgWeapons { author = ECSTRING(common,ACETeam); modelOptics = QPATHTOF(models\ACE_nvg_wide_optics); displayName = CSTRING(NVG_Wide_brown); + GVAR(generation) = 4; }; class ACE_NVG_Wide_WP: ACE_NVG_Wide { displayName = CSTRING(NVG_Wide_brown_WP); @@ -125,6 +133,7 @@ class CfgWeapons { author = ECSTRING(common,ACETeam); modelOptics = QPATHTOF(models\ACE_nvg_wide_optics); displayName = CSTRING(NVG_Wide_green); + GVAR(generation) = 4; }; class ACE_NVG_Wide_Green_WP: ACE_NVG_Wide_Green { displayName = CSTRING(NVG_Wide_green_WP); diff --git a/addons/nightvision/functions/fnc_changeNVGBrightness.sqf b/addons/nightvision/functions/fnc_changeNVGBrightness.sqf index ffbdc45dea..1697fa907e 100644 --- a/addons/nightvision/functions/fnc_changeNVGBrightness.sqf +++ b/addons/nightvision/functions/fnc_changeNVGBrightness.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Change the brightness of the unit's NVG. diff --git a/addons/nightvision/functions/fnc_initModule.sqf b/addons/nightvision/functions/fnc_initModule.sqf index 4118360ccc..5c5ad01943 100644 --- a/addons/nightvision/functions/fnc_initModule.sqf +++ b/addons/nightvision/functions/fnc_initModule.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Initializes the settings for the disable NVGs in sight module. diff --git a/addons/nightvision/functions/fnc_nonDedicatedFix.sqf b/addons/nightvision/functions/fnc_nonDedicatedFix.sqf index 578099846d..63f8919eaf 100644 --- a/addons/nightvision/functions/fnc_nonDedicatedFix.sqf +++ b/addons/nightvision/functions/fnc_nonDedicatedFix.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles the client who is the non-dedicated server turning on the fog effects. diff --git a/addons/nightvision/functions/fnc_onCameraViewChanged.sqf b/addons/nightvision/functions/fnc_onCameraViewChanged.sqf index fc4c85a507..2cbec4d16e 100644 --- a/addons/nightvision/functions/fnc_onCameraViewChanged.sqf +++ b/addons/nightvision/functions/fnc_onCameraViewChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Disables/re-enables NVGs when the player starts/stops aiming down his sight. diff --git a/addons/nightvision/functions/fnc_onFiredPlayer.sqf b/addons/nightvision/functions/fnc_onFiredPlayer.sqf index 12bca77392..0be73062d2 100644 --- a/addons/nightvision/functions/fnc_onFiredPlayer.sqf +++ b/addons/nightvision/functions/fnc_onFiredPlayer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Dslyecxi, PabstMirror * Change the blending when the player fires. Called from the unified fired EH only for the local player and his vehicle. diff --git a/addons/nightvision/functions/fnc_onLoadoutChanged.sqf b/addons/nightvision/functions/fnc_onLoadoutChanged.sqf index 75a1a1ca8a..ff4baadd4b 100644 --- a/addons/nightvision/functions/fnc_onLoadoutChanged.sqf +++ b/addons/nightvision/functions/fnc_onLoadoutChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, PabstMirror * Refreshes nvg effect if switching NVG goggles. diff --git a/addons/nightvision/functions/fnc_onVisionModeChanged.sqf b/addons/nightvision/functions/fnc_onVisionModeChanged.sqf index ecd87f59d1..1913454f3f 100644 --- a/addons/nightvision/functions/fnc_onVisionModeChanged.sqf +++ b/addons/nightvision/functions/fnc_onVisionModeChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut, Dslyecxi, PabstMirror * Disables turning on NVGs while the player aims down his sight. diff --git a/addons/nightvision/functions/fnc_pfeh.sqf b/addons/nightvision/functions/fnc_pfeh.sqf index 2cc8e1bc47..3300a7ae28 100644 --- a/addons/nightvision/functions/fnc_pfeh.sqf +++ b/addons/nightvision/functions/fnc_pfeh.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, PabstMirror * PFEH to handle refreshing effects. diff --git a/addons/nightvision/functions/fnc_refreshGoggleType.sqf b/addons/nightvision/functions/fnc_refreshGoggleType.sqf index 6d8ce8ef46..7414e58d02 100644 --- a/addons/nightvision/functions/fnc_refreshGoggleType.sqf +++ b/addons/nightvision/functions/fnc_refreshGoggleType.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, PabstMirror * Determines night vision source (player/vehicle) - Updates UI based on type. @@ -27,7 +27,8 @@ private _nvgGen = 3; private _blurRadius = -1; // Adds Array of Params / Original ACE3's (ST's) by default. (NVG_GREEN_PRESET) -private _preset = getArray (configFile >> "CfgWeapons" >> "NVGoggles" >> "colorPreset"); +private _preset = getArray (configFile >> "CfgWeapons" >> "NVGoggles" >> QGVAR(colorPreset)); + if ((alive ACE_player) && {isNull (ACE_controlledUAV select 0)}) then { if (((vehicle ACE_player) == ACE_player) || { // Test if we are using player's nvg or if sourced from vehicle: @@ -38,32 +39,16 @@ if ((alive ACE_player) && {isNull (ACE_controlledUAV select 0)}) then { if (cameraView != "GUNNER") exitWith {true}; // asume hmd usage outside of gunner view if ([ACE_player] call CBA_fnc_canUseWeapon) exitWith {true}; // FFV - if (ACE_player == (driver _currentVehicle)) exitWith { - !("NVG" in getArray (_vehConfig >> "ViewOptics" >> "visionMode")); - }; - private _result = true; - private _turret = ACE_player call CBA_fnc_turretPath; - private _turretConfig = [_currentVehicle, _turret] call CBA_fnc_getTurret; - - // Seems to cover things like the offroad technical - if ((isNumber (_turretConfig >> "optics")) && {(getNumber (_turretConfig >> "optics")) == 0}) exitWith {true}; - - private _turretConfigOpticsIn = _turretConfig >> "OpticsIn"; - if (isClass _turretConfigOpticsIn) then { - for "_index" from 0 to (count _turretConfigOpticsIn - 1) do { - if ("NVG" in getArray (_turretConfigOpticsIn select _index >> "visionMode")) exitWith {_result = false}; - }; - } else { - // No OpticsIn usualy means RCWS, still need to test on more vehicles - _result = false; - }; - _result + private _turret = _currentVehicle unitTurret ACE_player; // driver is [-1] + if (_turret isEqualTo []) exitWith { true }; + (_currentVehicle currentVisionMode _turret) params ["_turretVisionMode"]; + _turretVisionMode != 1 // if turret isn't giving nvg, then it must be unit's googles }) then { if ((cameraView == "GUNNER") && {currentWeapon ACE_player != ""} && {binocular ACE_player == currentWeapon ACE_player}) exitWith { TRACE_1("souce: binocular",binocular ACE_player); // Source is from player's binocular (Rangefinder/Vector21bNite) private _config = configFile >> "CfgWeapons" >> (binocular ACE_player); if (isNumber (_config >> QGVAR(generation))) then {_nvgGen = getNumber (_config >> QGVAR(generation));}; - if (isArray (_config >> "colorPreset")) then {_preset = getArray (_config >> "colorPreset");}; + if (isArray (_config >> QGVAR(colorPreset))) then {_preset = getArray (_config >> QGVAR(colorPreset));}; }; TRACE_1("source: hmd",GVAR(playerHMD)); // Source is player's HMD (or possibly a NVG scope, but no good way to detect that) @@ -78,7 +63,7 @@ if ((alive ACE_player) && {isNull (ACE_controlledUAV select 0)}) then { if (isNumber (_config >> QGVAR(bluRadius))) then {_blurRadius = getNumber (_config >> QGVAR(bluRadius));}; }; if (isNumber (_config >> QGVAR(generation))) then {_nvgGen = getNumber (_config >> QGVAR(generation));}; - if (isArray (_config >> "colorPreset")) then {_preset = getArray (_config >> "colorPreset");}; + if (isArray (_config >> QGVAR(colorPreset))) then {_preset = getArray (_config >> QGVAR(colorPreset));}; } else { TRACE_1("source: vehicle - defaults",typeOf vehicle ACE_player); }; diff --git a/addons/nightvision/functions/fnc_scaleCtrl.sqf b/addons/nightvision/functions/fnc_scaleCtrl.sqf index e01a798580..97ea69dde5 100644 --- a/addons/nightvision/functions/fnc_scaleCtrl.sqf +++ b/addons/nightvision/functions/fnc_scaleCtrl.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, PabstMirror * Determines night vision source (player/vehicle) - Updates UI based on type. diff --git a/addons/nightvision/functions/fnc_setupDisplayEffects.sqf b/addons/nightvision/functions/fnc_setupDisplayEffects.sqf index 9137419202..bb7067689c 100644 --- a/addons/nightvision/functions/fnc_setupDisplayEffects.sqf +++ b/addons/nightvision/functions/fnc_setupDisplayEffects.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dslyecxi, PabstMirror * Handles setting up the effects: fog, ppEffects and the RscTittle. @@ -51,7 +51,7 @@ if (GVAR(fogScaling) > 0) then { // Note: Using BIS_fnc_rscLayer because of bug with string syntax - https://feedback.bistudio.com/T120768 (QGVAR(display) call BIS_fnc_rscLayer) cutText ["", "PLAIN"]; // Cleanup Old Display if (_activated) then { // Create New Display - (QGVAR(display) call BIS_fnc_rscLayer) cutRsc [QGVAR(title), "PLAIN", 0, false]; + (QGVAR(display) call BIS_fnc_rscLayer) cutRsc [QGVAR(title), "PLAIN", 0, false, false]; // draw under HUD }; // Cleanup Old PP Effects diff --git a/addons/nightvision/functions/fnc_statTextStatement_NVGeneration.sqf b/addons/nightvision/functions/fnc_statTextStatement_NVGeneration.sqf index 0ecb8979db..08baf28998 100644 --- a/addons/nightvision/functions/fnc_statTextStatement_NVGeneration.sqf +++ b/addons/nightvision/functions/fnc_statTextStatement_NVGeneration.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Text statement for the NV Generation stat. diff --git a/addons/nightvision/functions/script_component.hpp b/addons/nightvision/functions/script_component.hpp deleted file mode 100644 index 74be58745a..0000000000 --- a/addons/nightvision/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\nightvision\script_component.hpp" diff --git a/addons/nightvision/script_component.hpp b/addons/nightvision/script_component.hpp index 2bf48a8d05..68548ed39f 100644 --- a/addons/nightvision/script_component.hpp +++ b/addons/nightvision/script_component.hpp @@ -19,8 +19,8 @@ // Effect Settings / Magic values to tweak: -#define NVG_GREEN_PRESET colorPreset[] = {0, {0.0, 0.0, 0.0, 0.0}, {1.3, 1.2, 0.0, 0.9}, {6, 1, 1, 0.0}} -#define NVG_WHITE_PRESET colorPreset[] = {0.0, {0.0, 0.0, 0.0, 0.0}, {1.1, 0.8, 1.9, 0.9}, {1, 1, 6, 0.0}} +#define NVG_GREEN_PRESET GVAR(colorPreset)[] = {0, {0.0, 0.0, 0.0, 0.0}, {1.3, 1.2, 0.0, 0.9}, {6, 1, 1, 0.0}} +#define NVG_WHITE_PRESET GVAR(colorPreset)[] = {0.0, {0.0, 0.0, 0.0, 0.0}, {1.1, 0.8, 1.9, 0.9}, {1, 1, 6, 0.0}} // Decreases fog when in air vehicles #define ST_NVG_AIR_FOG_MULTIPLIER 0.5 diff --git a/addons/nightvision/stringtable.xml b/addons/nightvision/stringtable.xml index 3b5b548451..9bce5acc50 100644 --- a/addons/nightvision/stringtable.xml +++ b/addons/nightvision/stringtable.xml @@ -36,7 +36,7 @@ Gogle noktowizyjne (Gen 1, Czarne) NS-Brille (1. Gen., schwarz) 夜视仪(一代,黑色) - 아투경 (1세대, 검정색) + 아투경 (1세대, 검정) Gafas de visión nocturna (Gen1, Negro) @@ -69,7 +69,7 @@ Gogle noktowizyjne (Gen 2, Czarne) NS-Brille (2. Gen., schwarz) 夜视仪(二代,黑色) - 아투경 (2세대, 검정색) + 아투경 (2세대, 검정) Gafas de visión nocturna (Gen2, Negro) @@ -106,7 +106,7 @@ JVN (Gen3, marron) NS-Brille (3. Gen., braun) Occhiali notturni (Gen3, Marroni) - Gogle noktowizyjne (Gen3, brązowe) + Gogle noktowizyjne (Gen3, Brązowe) Óculos de visão noturna (Gen3, marrons) ПНВ (Gen3, Коричневый) Gafas de visión nocturna (Gen3, Marrón) @@ -120,10 +120,18 @@ NV Goggles (Gen3, Brown, WP) 暗視装置 (第3世代、ブラウン) + Gogle noktowizyjne (Gen3, Brązowe, WP) + NS-Brille (3. Generation, Braun, WP) + 야투경 (3세대, 갈색, 백색광) + JVN (Gen3, marron, WP) Night Vision Goggles, White Phosphor 暗視装置、白色蛍光体 + Gogle noktowizyjne, Biały Fosfor + Nachtsichtbrille, weißer Phosphor + 백색광 야투경 + Jumelles Vision Nocturne, Phosphore blanc NV Goggles (Gen3, Green) @@ -131,7 +139,7 @@ JVN (Gen3, vertes) NS-Brille (3. Gen., grün) Occhiali notturni (Gen3, Verdi) - Gogle noktowizyjne (Gen3, zielone) + Gogle noktowizyjne (Gen3, Zielone) Óculos de visão noturna (Gen3, verdes) ПНВ (Gen3, Зелёный) Gafas de visión nocturna (Gen3, Verde) @@ -145,6 +153,10 @@ NV Goggles (Gen3, Green, WP) 暗視装置 (第3世代、グリーン、白色蛍光) + Gogle noktowizyjne (Gen3, Zielone, WP) + NS-Brille (3. Generation, Grün, WP) + 야투경 (3세대, 녹색, 백색광) + JVN (Gen3, vertes, WP) NV Goggles (Gen3, Black) @@ -152,7 +164,7 @@ JVN (Gen3, noires) NS-Brille (3. Gen., schwarz) Occhiali notturni (Gen3, Neri) - Gogle noktowizyjne (Gen3, czarne) + Gogle noktowizyjne (Gen3, Czarne) Óculos de visão noturna (Gen3, pretos) ПНВ (Gen3, Чёрный) Gafas de visión nocturna (Gen3, Negro) @@ -166,6 +178,10 @@ NV Goggles (Gen3, Black, WP) 暗視装置 (第3世代、ブラック、白色蛍光) + Gogle noktowizyjne (Gen3, Czarne, WP) + NS-Brille (3. Generation, Schwarz, WP) + 야투경 (3세대, 검정, 백색광) + JVN (Gen3, noires, WP) NV Goggles (Gen4, Brown) @@ -181,6 +197,10 @@ NV Goggles (Gen4, Brown, WP) 暗視装置 (第4世代、ブラウン、白色蛍光) + Gogle noktowizyjne (Gen 4, Brązowe, WP) + NS-Brille (4. Generation, Braun, WP) + 야투경 (4세대, 갈색, 백색광) + JVN (Gen4, marron, WP) NV Goggles (Gen4, Black) @@ -190,12 +210,16 @@ Gogle noktowizyjne (Gen 4, Czarne) NS-Brille (4. Gen., schwarz) 夜视仪(四代,黑色) - 야투경 (4세대, 검정색) + 야투경 (4세대, 검정) Gafas de visión nocturna (Gen4, Negro) NV Goggles (Gen4, Black, WP) 暗視装置 (第3世代、ブラック、白色蛍光) + Gogle noktowizyjne (Gen 4, Czarne, WP) + NS-Brille (4. Generation, Schwarz, WP) + 야투경 (4세대, 검정, 백색광) + JVN (Gen4, noires, WP) NV Goggles (Gen4, Green) @@ -211,6 +235,10 @@ NV Goggles (Gen4, Green, WP) 暗視装置 (第3世代、グリーン、白色蛍光) + Gogle noktowizyjne (Gen 4, Zielone, WP) + NS-Brille (4. Generation, Grün, WP) + 야투경 (4세대, 녹색, 백색광) + JVN (Gen4, vertes, WP) NV Goggles (Wide, Brown) @@ -226,6 +254,10 @@ NV Goggles (Wide, Brown, WP) 暗視装置 (ワイド、ブラウン、白色蛍光) + Gogle noktowizyjne (Szerokie, Brązowe, WP) + NS-Brille (Weit, Braun, WP) + 야투경 (넓음, 갈색, 백색광) + JVN (Large, marron, WP) NV Goggles (Wide, Black) @@ -235,12 +267,16 @@ Gogle noktowizyjne (Szerokie, Czarne) NS-Brille (Weit, schwarz) 夜视仪(宽,黑色) - 야투경 (넓음, 검정색) + 야투경 (넓음, 검정) Gafas de visión nocturna (Panorámicas, Negro) NV Goggles (Wide, Black, WP) 暗視装置 (ワイド、ブラック、白色蛍光) + Gogle noktowizyjne (Szerokie, Czarne, WP) + NS-Brille (Weit, Schwarz, WP) + 야투경 (넓음, 검정, 백색광) + JVN (Large, noires, WP) NV Goggles (Wide, Green) @@ -256,6 +292,10 @@ NV Goggles (Wide, Green, WP) 暗視装置 (ワイド、グリーン、白色蛍光) + Gogle noktowizyjne (Szerokie, Zielone, WP) + NS-Brille (Weit, Grün, WP) + 야투경 (넓음, 녹색, 백색광) + JVN (Large, vertes, WP) Brightness: %1 @@ -509,10 +549,18 @@ Night Vision Generation 暗視装置の世代 + Generacja gogli noktowizyjnych + Nachtsicht-Generation + 야투경 세대 + Génération de jumelles de vision nocturne Gen %1 第%1世代 + Gen %1 + Gen %1 + %1세대 + Gen %1 diff --git a/addons/nlaw/functions/fnc_attackProfile.sqf b/addons/nlaw/functions/fnc_attackProfile.sqf index 21f77f0ff5..ad7622eadd 100644 --- a/addons/nlaw/functions/fnc_attackProfile.sqf +++ b/addons/nlaw/functions/fnc_attackProfile.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * NLAW missile guidance attack profile. diff --git a/addons/nlaw/functions/fnc_keyDown.sqf b/addons/nlaw/functions/fnc_keyDown.sqf index df8791aa11..60ac4bf3d8 100644 --- a/addons/nlaw/functions/fnc_keyDown.sqf +++ b/addons/nlaw/functions/fnc_keyDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles the track key being held down. diff --git a/addons/nlaw/functions/fnc_onFired.sqf b/addons/nlaw/functions/fnc_onFired.sqf index 0552afcd86..11b38a1da0 100644 --- a/addons/nlaw/functions/fnc_onFired.sqf +++ b/addons/nlaw/functions/fnc_onFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Sets up missile guidance state arrays (called from missileGuidance's onFired). diff --git a/addons/nlaw/functions/fnc_seeker.sqf b/addons/nlaw/functions/fnc_seeker.sqf index af9b349cc2..e5de6d320c 100644 --- a/addons/nlaw/functions/fnc_seeker.sqf +++ b/addons/nlaw/functions/fnc_seeker.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles the top down attack seeker for missile guidance. diff --git a/addons/nlaw/functions/script_component.hpp b/addons/nlaw/functions/script_component.hpp deleted file mode 100644 index 50d8cac4c1..0000000000 --- a/addons/nlaw/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\nlaw\script_component.hpp" diff --git a/addons/noradio/stringtable.xml b/addons/noradio/stringtable.xml index 6d9007bcb7..178a2661b4 100644 --- a/addons/noradio/stringtable.xml +++ b/addons/noradio/stringtable.xml @@ -10,6 +10,7 @@ 無線無し Нет рации No Radio + Pas de radio Mute Player diff --git a/addons/novehicleclanlogo/functions/fnc_removeClanLogo.sqf b/addons/novehicleclanlogo/functions/fnc_removeClanLogo.sqf index 758b521edb..9274172140 100644 --- a/addons/novehicleclanlogo/functions/fnc_removeClanLogo.sqf +++ b/addons/novehicleclanlogo/functions/fnc_removeClanLogo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: veteran29 * Replaces the vehicle clan logo with an empty texture. diff --git a/addons/novehicleclanlogo/functions/script_component.hpp b/addons/novehicleclanlogo/functions/script_component.hpp deleted file mode 100644 index 41e852be27..0000000000 --- a/addons/novehicleclanlogo/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\novehicleclanlogo\script_component.hpp" diff --git a/addons/novehicleclanlogo/stringtable.xml b/addons/novehicleclanlogo/stringtable.xml index a611d7ba5c..c6be9efd9e 100644 --- a/addons/novehicleclanlogo/stringtable.xml +++ b/addons/novehicleclanlogo/stringtable.xml @@ -8,6 +8,8 @@ Убрать логотип кланов с техники Suprimir logo del clan de los vehículos 乗り物から部隊ロゴを削除 + Clan-Logo von Fahrzeugen entfernen + Retirer les logos de clan des véhicules Prevents clan logo from being displayed on vehicles controlled by players. @@ -16,6 +18,8 @@ Не отображать логотипы кланов на технике контроллируемой игроками. Previene que se muestre el logo del clan en los vehículos controlados por jugadores. プレイヤーが操作する乗り物に部隊ロゴが表示されないようにする。 + Verhindert, dass das Clan-Logo auf von Spielern kontrollierten Fahrzeugen angezeigt wird. + Empêche les logos de clan d'être affichés sur les véhicules contrôlés par des joueurs. diff --git a/addons/optics/CfgJointRails.hpp b/addons/optics/CfgJointRails.hpp index 86c962afe5..5489b1c4fe 100644 --- a/addons/optics/CfgJointRails.hpp +++ b/addons/optics/CfgJointRails.hpp @@ -13,3 +13,35 @@ class asdg_OpticRail1913: asdg_OpticRail { ACE_optic_LRPS_PIP = 1; }; }; + +// Vanilla rails +class SlotInfo; +class CowsSlot: SlotInfo { + compatibleItems[] += { + "ACE_optic_Hamr_2D", + "ACE_optic_Hamr_PIP", + "ACE_optic_Arco_2D", + "ACE_optic_Arco_PIP", + "ACE_optic_MRCO_2D", + "ACE_optic_MRCO_PIP", + "ACE_optic_SOS_2D", + "ACE_optic_SOS_PIP", + "ACE_optic_LRPS_2D", + "ACE_optic_LRPS_PIP" + }; +}; + +class CowsSlot_Rail: CowsSlot { + class compatibleItems { + ACE_optic_Hamr_2D = 1; + ACE_optic_Hamr_PIP = 1; + ACE_optic_Arco_2D = 1; + ACE_optic_Arco_PIP = 1; + ACE_optic_MRCO_2D = 1; + ACE_optic_MRCO_PIP = 1; + ACE_optic_SOS_2D = 1; + ACE_optic_SOS_PIP = 1; + ACE_optic_LRPS_2D = 1; + ACE_optic_LRPS_PIP = 1; + }; +}; diff --git a/addons/optics/CfgWeapons.hpp b/addons/optics/CfgWeapons.hpp index c9dfbb8d7b..8088a5fcd3 100644 --- a/addons/optics/CfgWeapons.hpp +++ b/addons/optics/CfgWeapons.hpp @@ -307,20 +307,3 @@ class CfgWeapons { }; }; }; - -class SlotInfo; -class CowsSlot: SlotInfo { - compatibleItems[] += { - "ACE_optic_Hamr_2D", - "ACE_optic_Hamr_PIP", - "ACE_optic_Arco_2D", - "ACE_optic_Arco_PIP", - "ACE_optic_MRCO_2D", - "ACE_optic_MRCO_PIP", - "ACE_optic_SOS_2D", - "ACE_optic_SOS_PIP", - "ACE_optic_LRPS_2D", - "ACE_optic_LRPS_PIP" - //"ACE_optic_DMS" - }; -}; diff --git a/addons/optics/functions/fnc_handleFired.sqf b/addons/optics/functions/fnc_handleFired.sqf index fbcb177f2e..5a1ae0eca0 100644 --- a/addons/optics/functions/fnc_handleFired.sqf +++ b/addons/optics/functions/fnc_handleFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Taosenai * Adapted By: KoffeinFlummi, commy2 diff --git a/addons/optics/functions/fnc_onDrawScope.sqf b/addons/optics/functions/fnc_onDrawScope.sqf index 22b9ddc2b2..4b1b9e321d 100644 --- a/addons/optics/functions/fnc_onDrawScope.sqf +++ b/addons/optics/functions/fnc_onDrawScope.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/optics/functions/fnc_onDrawScope2D.sqf b/addons/optics/functions/fnc_onDrawScope2D.sqf index 9031ca8ba7..df431407da 100644 --- a/addons/optics/functions/fnc_onDrawScope2D.sqf +++ b/addons/optics/functions/fnc_onDrawScope2D.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Helper function for updating the 2d and 3d scope controls diff --git a/addons/optics/functions/script_component.hpp b/addons/optics/functions/script_component.hpp deleted file mode 100644 index 20e26bcb29..0000000000 --- a/addons/optics/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\optics\script_component.hpp" diff --git a/addons/optionsmenu/functions/fnc_debugDumpToClipboard.sqf b/addons/optionsmenu/functions/fnc_debugDumpToClipboard.sqf index 6ed460d2f9..07205dc195 100644 --- a/addons/optionsmenu/functions/fnc_debugDumpToClipboard.sqf +++ b/addons/optionsmenu/functions/fnc_debugDumpToClipboard.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Dumps debug info to clipboard. diff --git a/addons/optionsmenu/functions/script_component.hpp b/addons/optionsmenu/functions/script_component.hpp deleted file mode 100644 index cddc01fa3c..0000000000 --- a/addons/optionsmenu/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\optionsmenu\script_component.hpp" diff --git a/addons/optionsmenu/gui/pauseMenu.hpp b/addons/optionsmenu/gui/pauseMenu.hpp index f48cecfd0f..6defe4534c 100644 --- a/addons/optionsmenu/gui/pauseMenu.hpp +++ b/addons/optionsmenu/gui/pauseMenu.hpp @@ -1,3 +1,5 @@ +#pragma hemtt suppress pw3_padded_arg file + class RscDisplayEmpty; class GVAR(MainMenuHelperDumpDebug): RscDisplayEmpty { onLoad = QUOTE(\ diff --git a/addons/overheating/CfgMagazines.hpp b/addons/overheating/CfgMagazines.hpp index 6819a26b53..2553428c91 100644 --- a/addons/overheating/CfgMagazines.hpp +++ b/addons/overheating/CfgMagazines.hpp @@ -7,7 +7,7 @@ class CfgMagazines { descriptionshort = CSTRING(SpareBarrelDescription); picture = QUOTE(PATHTOF(UI\spare_barrel_ca.paa)); count = 1; - mass = 60; + mass = 25; ACE_isUnique = 1; }; }; diff --git a/addons/overheating/CfgVehicles.hpp b/addons/overheating/CfgVehicles.hpp index e17f030a2b..cd22400893 100644 --- a/addons/overheating/CfgVehicles.hpp +++ b/addons/overheating/CfgVehicles.hpp @@ -6,33 +6,33 @@ class CfgVehicles { class ACE_Equipment { class GVAR(UnJam) { displayName = CSTRING(UnjamWeapon); - condition = QUOTE( GVAR(enabled) && {[_player] call FUNC(canUnjam)} ); + condition = QUOTE(GVAR(enabled) && {[_player] call FUNC(canUnjam)}); exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"}; - statement = QUOTE( [ARR_2(_player, currentMuzzle _player)] call FUNC(clearJam); ); + statement = QUOTE([ARR_2(_player,currentMuzzle _player)] call FUNC(clearJam)); showDisabled = 0; icon = QPATHTOEF(common,UI\repack_ca.paa); }; class GVAR(SwapBarrel) { displayName = CSTRING(SwapBarrel); - condition = QUOTE( [ARR_2(_player, currentWeapon _player)] call FUNC(canSwapBarrel) ); + condition = QUOTE([ARR_2(_player,currentWeapon _player)] call FUNC(canSwapBarrel)); exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"}; - statement = QUOTE( [ARR_3(_player, _player, currentWeapon _player)] call FUNC(swapBarrel); ); + statement = QUOTE([ARR_3(_player,_player,currentWeapon _player)] call FUNC(swapBarrel)); showDisabled = 0; icon = QPATHTOF(UI\spare_barrel_ca.paa); }; class GVAR(CheckTemperature) { displayName = CSTRING(CheckTemperatureShort); - condition = QUOTE( GVAR(enabled) && {switch (currentWeapon _player) do {case (''): {false}; case (primaryWeapon _player); case (handgunWeapon _player): {true}; default {false}}} ); + condition = QUOTE(GVAR(enabled) && {switch (currentWeapon _player) do {case (''): {false}; case (primaryWeapon _player); case (handgunWeapon _player): {true}; default {false}}}); exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"}; - statement = QUOTE( [ARR_3(_player, _player, currentWeapon _player)] call FUNC(checkTemperature); ); + statement = QUOTE([ARR_3(_player,_player,currentWeapon _player)] call FUNC(checkTemperature)); showDisabled = 0; icon = QPATHTOF(UI\temp_ca.paa); }; class GVAR(CheckTemperatureSpareBarrels) { displayName = CSTRING(CheckTemperatureSpareBarrelsShort); - condition = QUOTE((_player) call FUNC(canCheckSpareBarrelsTemperatures) ); + condition = QUOTE((_player) call FUNC(canCheckSpareBarrelsTemperatures)); exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"}; - statement = QUOTE( [_player] call FUNC(checkSpareBarrelsTemperatures); ); + statement = QUOTE([_player] call FUNC(checkSpareBarrelsTemperatures)); showDisabled = 0; icon = QUOTE(PATHTOF(UI\temp_ca.paa)); }; @@ -52,16 +52,16 @@ class CfgVehicles { class ACE_Weapon { class GVAR(SwapBarrel) { displayName = CSTRING(SwapBarrel); - condition = QUOTE( [ARR_2(_player, currentWeapon _target)] call FUNC(canSwapBarrel) ); - statement = QUOTE([ARR_3(_player, _target, currentWeapon _target)] call FUNC(swapBarrelAssistant);); + condition = QUOTE([ARR_2(_player,currentWeapon _target)] call FUNC(canSwapBarrel)); + statement = QUOTE([ARR_3(_player,_target,currentWeapon _target)] call FUNC(swapBarrelAssistant)); exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"}; icon = QUOTE(PATHTOF(UI\spare_barrel_ca.paa)); }; class GVAR(CheckTemperature) { displayName = CSTRING(CheckTemperatureShort); - condition = QUOTE( GVAR(enabled) && {switch (currentWeapon _target) do {case ('ACE_FakePrimaryWeapon'); case (''): {false}; case (primaryWeapon _target); case (handgunWeapon _target): {true}; default {false}}} ); + condition = QUOTE(GVAR(enabled) && {switch (currentWeapon _target) do {case ('ACE_FakePrimaryWeapon'); case (''): {false}; case (primaryWeapon _target); case (handgunWeapon _target): {true}; default {false}}}); exceptions[] = {"isNotInside", "isNotSwimming", "isNotSitting"}; - statement = QUOTE( [ARR_3(_player, _target, currentWeapon _target)] call FUNC(checkTemperature); ); + statement = QUOTE([ARR_3(_player,_target,currentWeapon _target)] call FUNC(checkTemperature)); icon = QUOTE(PATHTOF(UI\temp_ca.paa)); }; class GVAR(CoolWeaponWithItem) { diff --git a/addons/overheating/CfgWeapons.hpp b/addons/overheating/CfgWeapons.hpp index cc0b768934..9232fa3249 100644 --- a/addons/overheating/CfgWeapons.hpp +++ b/addons/overheating/CfgWeapons.hpp @@ -109,7 +109,7 @@ class CfgWeapons { descriptionshort = CSTRING(SpareBarrelDescription); picture = QUOTE(PATHTOF(UI\spare_barrel_ca.paa)); class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 60; + mass = 25; }; }; }; diff --git a/addons/overheating/functions/fnc_calculateCooling.sqf b/addons/overheating/functions/fnc_calculateCooling.sqf index db65fb1d2a..f01f3950e7 100644 --- a/addons/overheating/functions/fnc_calculateCooling.sqf +++ b/addons/overheating/functions/fnc_calculateCooling.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Calculate the cooling down of a weapon over a time interval. diff --git a/addons/overheating/functions/fnc_canCheckSpareBarrelsTemperatures.sqf b/addons/overheating/functions/fnc_canCheckSpareBarrelsTemperatures.sqf index 0f8775ae25..c84de1ae6f 100644 --- a/addons/overheating/functions/fnc_canCheckSpareBarrelsTemperatures.sqf +++ b/addons/overheating/functions/fnc_canCheckSpareBarrelsTemperatures.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Grey-Soldierman * Return true if player can check temperatures of spare barrels diff --git a/addons/overheating/functions/fnc_canCoolWeaponWithItem.sqf b/addons/overheating/functions/fnc_canCoolWeaponWithItem.sqf index d91610d7ab..2040502283 100644 --- a/addons/overheating/functions/fnc_canCoolWeaponWithItem.sqf +++ b/addons/overheating/functions/fnc_canCoolWeaponWithItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: drofseh * Return true if the target's weapon can be cooled with an item in the player's inventory diff --git a/addons/overheating/functions/fnc_canSwapBarrel.sqf b/addons/overheating/functions/fnc_canSwapBarrel.sqf index 38115f6f7a..cddd45aa5b 100644 --- a/addons/overheating/functions/fnc_canSwapBarrel.sqf +++ b/addons/overheating/functions/fnc_canSwapBarrel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Grey-Soldierman * Return true if player can swap barrel diff --git a/addons/overheating/functions/fnc_canUnjam.sqf b/addons/overheating/functions/fnc_canUnjam.sqf index 06511f79cd..f220ce41cd 100644 --- a/addons/overheating/functions/fnc_canUnjam.sqf +++ b/addons/overheating/functions/fnc_canUnjam.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Commy2 and esteldunedain * Return true if the unit can unjam it's current weapon diff --git a/addons/overheating/functions/fnc_checkSpareBarrelsTemperatures.sqf b/addons/overheating/functions/fnc_checkSpareBarrelsTemperatures.sqf index 1c60b1a477..18879292f9 100644 --- a/addons/overheating/functions/fnc_checkSpareBarrelsTemperatures.sqf +++ b/addons/overheating/functions/fnc_checkSpareBarrelsTemperatures.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Make the player check the temperature of his spare barrels diff --git a/addons/overheating/functions/fnc_checkTemperature.sqf b/addons/overheating/functions/fnc_checkTemperature.sqf index b771293e6b..59ed85853a 100644 --- a/addons/overheating/functions/fnc_checkTemperature.sqf +++ b/addons/overheating/functions/fnc_checkTemperature.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Commy2 and esteldunedain * Make the player check the temperature of his weapon diff --git a/addons/overheating/functions/fnc_clearJam.sqf b/addons/overheating/functions/fnc_clearJam.sqf index 3e63ed5cb7..c8e0a93d68 100644 --- a/addons/overheating/functions/fnc_clearJam.sqf +++ b/addons/overheating/functions/fnc_clearJam.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Commy2 * Make the unit clear the jam from a weapon diff --git a/addons/overheating/functions/fnc_cookoffWeapon.sqf b/addons/overheating/functions/fnc_cookoffWeapon.sqf index ae2311243c..61f74cdf85 100644 --- a/addons/overheating/functions/fnc_cookoffWeapon.sqf +++ b/addons/overheating/functions/fnc_cookoffWeapon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: drofseh * Cookoff loaded round. diff --git a/addons/overheating/functions/fnc_coolWeaponWithItem.sqf b/addons/overheating/functions/fnc_coolWeaponWithItem.sqf index d089c04a64..bc21963fb6 100644 --- a/addons/overheating/functions/fnc_coolWeaponWithItem.sqf +++ b/addons/overheating/functions/fnc_coolWeaponWithItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, Glowbal, PabstMirror, drofseh * Cool a weapon with an item and consume the item being used to cool it. diff --git a/addons/overheating/functions/fnc_coolWeaponWithWaterSource.sqf b/addons/overheating/functions/fnc_coolWeaponWithWaterSource.sqf index 5879ea6b6c..acf3286c4a 100644 --- a/addons/overheating/functions/fnc_coolWeaponWithWaterSource.sqf +++ b/addons/overheating/functions/fnc_coolWeaponWithWaterSource.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, Glowbal, PabstMirror, drofseh * Cool a weapon with an AceX water source. diff --git a/addons/overheating/functions/fnc_displayTemperature.sqf b/addons/overheating/functions/fnc_displayTemperature.sqf index 006d81f8f5..f45d7d40d9 100644 --- a/addons/overheating/functions/fnc_displayTemperature.sqf +++ b/addons/overheating/functions/fnc_displayTemperature.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Commy2 and esteldunedain * Displays the weapon temperature diff --git a/addons/overheating/functions/fnc_firedEH.sqf b/addons/overheating/functions/fnc_firedEH.sqf index a6a2a2c0c1..9db3a73dd6 100644 --- a/addons/overheating/functions/fnc_firedEH.sqf +++ b/addons/overheating/functions/fnc_firedEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Commy2 and esteldunedain * Handle weapon fire. Called from the unified fired EH 1- always for the local player 2- and for non local players if dispersion is simulated. diff --git a/addons/overheating/functions/fnc_getAmmoTemperature.sqf b/addons/overheating/functions/fnc_getAmmoTemperature.sqf index 9855335101..c1d99e86bc 100644 --- a/addons/overheating/functions/fnc_getAmmoTemperature.sqf +++ b/addons/overheating/functions/fnc_getAmmoTemperature.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: drofseh * Get current temperature of weapon's ammo. diff --git a/addons/overheating/functions/fnc_getBarrelMass.sqf b/addons/overheating/functions/fnc_getBarrelMass.sqf index a8eb9797ad..43150b4fee 100644 --- a/addons/overheating/functions/fnc_getBarrelMass.sqf +++ b/addons/overheating/functions/fnc_getBarrelMass.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, Glowbal, PabstMirror, drofseh * Get the mass of the weapons barrel. diff --git a/addons/overheating/functions/fnc_getConsumableChildren.sqf b/addons/overheating/functions/fnc_getConsumableChildren.sqf index 697b4bccd9..025e9a6939 100644 --- a/addons/overheating/functions/fnc_getConsumableChildren.sqf +++ b/addons/overheating/functions/fnc_getConsumableChildren.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001, Glowbal, PabstMirror * Returns children actions for consumable items in player's inventory. diff --git a/addons/overheating/functions/fnc_getWeaponData.sqf b/addons/overheating/functions/fnc_getWeaponData.sqf index f2bd876a6c..8edd86bb1a 100644 --- a/addons/overheating/functions/fnc_getWeaponData.sqf +++ b/addons/overheating/functions/fnc_getWeaponData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror and esteldunedain * Get weapon data with caching diff --git a/addons/overheating/functions/fnc_getWeaponTemperature.sqf b/addons/overheating/functions/fnc_getWeaponTemperature.sqf index 7aa49d9d0b..e0d13a75d5 100644 --- a/addons/overheating/functions/fnc_getWeaponTemperature.sqf +++ b/addons/overheating/functions/fnc_getWeaponTemperature.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: drofseh * Get current temperature of weapon. diff --git a/addons/overheating/functions/fnc_handleRespawn.sqf b/addons/overheating/functions/fnc_handleRespawn.sqf index 6de713761a..e55ab7cc9e 100644 --- a/addons/overheating/functions/fnc_handleRespawn.sqf +++ b/addons/overheating/functions/fnc_handleRespawn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 10Dozen * Handle respawn events and clears list of jammed weapons. diff --git a/addons/overheating/functions/fnc_handleTakeEH.sqf b/addons/overheating/functions/fnc_handleTakeEH.sqf index 266274e5bf..f6bd4d4323 100644 --- a/addons/overheating/functions/fnc_handleTakeEH.sqf +++ b/addons/overheating/functions/fnc_handleTakeEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Commy2 * Handle "take" event diff --git a/addons/overheating/functions/fnc_jamWeapon.sqf b/addons/overheating/functions/fnc_jamWeapon.sqf index 3f6f0838c3..9a5b8b1049 100644 --- a/addons/overheating/functions/fnc_jamWeapon.sqf +++ b/addons/overheating/functions/fnc_jamWeapon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Commy2, based on KK_fnc_playerWeaponMulfunction from KillzoneKid * Jam the weapon diff --git a/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf b/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf index f356fb254b..29b7191471 100644 --- a/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf +++ b/addons/overheating/functions/fnc_loadCoolestSpareBarrel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Collect the temperature of all the spare barrels a unit has and load the diff --git a/addons/overheating/functions/fnc_overheat.sqf b/addons/overheating/functions/fnc_overheat.sqf index d63dfe919d..b06fcaf668 100644 --- a/addons/overheating/functions/fnc_overheat.sqf +++ b/addons/overheating/functions/fnc_overheat.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Commy2 and esteldunedain * Handle weapon fire, heat up the weapon diff --git a/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf b/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf index 7eaf62d0e7..9204b58124 100644 --- a/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf +++ b/addons/overheating/functions/fnc_sendSpareBarrelsTemperaturesHint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Collect the temperature of all the spare barrels a unit has and send a hint diff --git a/addons/overheating/functions/fnc_setAmmoTemperature.sqf b/addons/overheating/functions/fnc_setAmmoTemperature.sqf index 87da003cc6..99e96bd41c 100644 --- a/addons/overheating/functions/fnc_setAmmoTemperature.sqf +++ b/addons/overheating/functions/fnc_setAmmoTemperature.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: drofseh * Set weapon's ammo to specific temperature. diff --git a/addons/overheating/functions/fnc_setWeaponTemperature.sqf b/addons/overheating/functions/fnc_setWeaponTemperature.sqf index be63ff479e..56a7c4e84b 100644 --- a/addons/overheating/functions/fnc_setWeaponTemperature.sqf +++ b/addons/overheating/functions/fnc_setWeaponTemperature.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: drofseh * Set weapon to specific temperature. diff --git a/addons/overheating/functions/fnc_swapBarrel.sqf b/addons/overheating/functions/fnc_swapBarrel.sqf index b24ac39f3c..8c43032a41 100644 --- a/addons/overheating/functions/fnc_swapBarrel.sqf +++ b/addons/overheating/functions/fnc_swapBarrel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Commy2 * Make a unit start swapping it's barrel diff --git a/addons/overheating/functions/fnc_swapBarrelAssistant.sqf b/addons/overheating/functions/fnc_swapBarrelAssistant.sqf index c8fbba6e3c..5141cc1f5a 100644 --- a/addons/overheating/functions/fnc_swapBarrelAssistant.sqf +++ b/addons/overheating/functions/fnc_swapBarrelAssistant.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain, Commy2 * Make a unit start swapping the barrel of another unit diff --git a/addons/overheating/functions/fnc_swapBarrelCallback.sqf b/addons/overheating/functions/fnc_swapBarrelCallback.sqf index e385e09844..e09f8d0dbc 100644 --- a/addons/overheating/functions/fnc_swapBarrelCallback.sqf +++ b/addons/overheating/functions/fnc_swapBarrelCallback.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Commy2, esteldunedain * Swap barrel callback diff --git a/addons/overheating/functions/fnc_updateAmmoTemperature.sqf b/addons/overheating/functions/fnc_updateAmmoTemperature.sqf index b612446b7b..870ebbc331 100644 --- a/addons/overheating/functions/fnc_updateAmmoTemperature.sqf +++ b/addons/overheating/functions/fnc_updateAmmoTemperature.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: drofseh * Update temperature of the round in the chamber and determine if a cookoff should occur. diff --git a/addons/overheating/functions/fnc_updateAmmoTemperatureThread.sqf b/addons/overheating/functions/fnc_updateAmmoTemperatureThread.sqf index 4fff0f59db..622fc3de6c 100644 --- a/addons/overheating/functions/fnc_updateAmmoTemperatureThread.sqf +++ b/addons/overheating/functions/fnc_updateAmmoTemperatureThread.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain & drofseh * Update . diff --git a/addons/overheating/functions/fnc_updateSpareBarrelsTemperaturesThread.sqf b/addons/overheating/functions/fnc_updateSpareBarrelsTemperaturesThread.sqf index 5fb65366a4..64110b2c76 100644 --- a/addons/overheating/functions/fnc_updateSpareBarrelsTemperaturesThread.sqf +++ b/addons/overheating/functions/fnc_updateSpareBarrelsTemperaturesThread.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Calculate cooldown of all the stored spare barrels. diff --git a/addons/overheating/functions/fnc_updateTemperature.sqf b/addons/overheating/functions/fnc_updateTemperature.sqf index 27d49cd2d1..8d5ca5d412 100644 --- a/addons/overheating/functions/fnc_updateTemperature.sqf +++ b/addons/overheating/functions/fnc_updateTemperature.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Update temperature of a weapon. diff --git a/addons/overheating/functions/fnc_updateTemperatureThread.sqf b/addons/overheating/functions/fnc_updateTemperatureThread.sqf index 670a330c51..1fd3ddd258 100644 --- a/addons/overheating/functions/fnc_updateTemperatureThread.sqf +++ b/addons/overheating/functions/fnc_updateTemperatureThread.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Update cooldown calculation of all player weapons at regular intervals. diff --git a/addons/overheating/functions/script_component.hpp b/addons/overheating/functions/script_component.hpp deleted file mode 100644 index 7905d3b527..0000000000 --- a/addons/overheating/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\overheating\script_component.hpp" diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 3d0077f78b..b48c4a31b1 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -78,6 +78,7 @@ 冷却係数 Коэф. остывания Coeficiente de enfriado + Coefficient de refroidissement Coefficient for how quickly a weapon cools down.\nHigher value increases cooling speed. @@ -88,6 +89,7 @@ 武器の冷却速度の係数。\n値を大きくすると冷却速度が速くなります。 Коэффициент скорости остывания орудия.\nЧем больше значение, тем быстрее остывает. Coeficiente para cómo de rápido se enfría un arma.\nValores más altos incrementan la velocidad de enfriamiento. + Coefficient de rapidité de refroidissement de l'arme.\nUne valeur élevée augmente la vitesse de refroidissement. Suppressor Coefficient @@ -98,6 +100,7 @@ サプレッサー係数 Коэф. глушителя Coeficiente del silenciador + Coefficient de suppresion Coefficient for how much additional heat is added from having a suppressor attached.\nHigher value increases heat, 0 means no additional heat from the suppressor. @@ -108,6 +111,7 @@ サプレッサーを取り付けることで追加される熱量の係数。\n値が大きいほど熱が増加し、0はサプレッサーからの追加の熱がないことを意味します。 Коэффициент указывающий как много дополнительного тепла будет выделяться прикреплённым глушителем.\nБольшее значение увеличивает выделение тепла, 0 - отсутствие дополнительного тепла. Coeficiente para cuanto calor adicional es añadido por tener un silenciador montado.\nValores más altos incrementan el calor. 0 significa que el silenciador no añade calor adicional. + Coefficient d'ajout de chaleur lorsqu'un suppresseur est installé.\nUne valeur élevée augmente la chaleur, 0 signifique qu'aucune chaleur ne sera ajouté par le suppresseur. Display Text on Jam @@ -149,7 +153,7 @@ Efectos de partículas Effets de particules Částicové efekty přehřívání - Efeito de parícula de superaquecimento + Efeito de partícula de superaquecimento Эффект частиц при перегреве 過熱の視覚効果 과열 입자 효과 @@ -164,7 +168,7 @@ Mostra effetti particellari quando l'arma si surriscalda Muestra efectos de partículas cuando el arma del jugador se sobreacalienta Affiche des effets de particules lorsqu'une arme surchauffe. - Mostra efeitos de párticula quando a arma superaquece + Mostra efeitos de partícula quando a arma superaquece Показывать эффект частиц, когда оружие перегревается Zobrazit částicové efekty když se zbraň přehřije 武器を過熱すると視覚表現を表示します @@ -212,7 +216,7 @@ Dispersione Surriscaldamento Dispersión Dispersion - Disperção de superaquecimento + Dispersão de superaquecimento Разброс при перегреве Důsledky přehřátí zbraně 過熱による精度の低下 @@ -436,7 +440,7 @@ Utilisé pour changer de canon. Используется для смены ствола. Használd a cső kicseréléséhez. - Use para trocar o cano/estriamento. + Use para trocar o cano. Usata per cambiare la canna. 予身の交換に使用します。 총열을 바꿀 때 사용합니다. diff --git a/addons/overpressure/ACE_Arsenal_Stats.hpp b/addons/overpressure/ACE_Arsenal_Stats.hpp index 906c50e8fb..d0de391691 100644 --- a/addons/overpressure/ACE_Arsenal_Stats.hpp +++ b/addons/overpressure/ACE_Arsenal_Stats.hpp @@ -6,7 +6,7 @@ class EGVAR(arsenal,stats) { stats[] = {QGVAR(angle)}; displayName = CSTRING(statBackblastAngle); showText = 1; - textStatement = QUOTE(params [ARR_2('_stat', '_config')]; format [ARR_2('%1°', getNumber (_config >> _stat select 0))]); + textStatement = QUOTE(params [ARR_2('_stat','_config')]; format [ARR_2('%1°',getNumber (_config >> _stat select 0))]); tabs[] = {{2}, {}}; }; class ACE_backblastRange: statBase { @@ -15,7 +15,7 @@ class EGVAR(arsenal,stats) { stats[] = {QGVAR(range)}; displayName = CSTRING(statBackblastRange); showText = 1; - textStatement = QUOTE(params [ARR_2('_stat', '_config')]; private _blastRangeStat = getNumber (_config >> _stat select 0); format [ARR_3('%1m (%2ft)', _blastRangeStat, (_blastRangeStat / 0.3048) toFixed 1)]); + textStatement = QUOTE(params [ARR_2('_stat','_config')]; private _blastRangeStat = getNumber (_config >> _stat select 0); format [ARR_3('%1m (%2ft)',_blastRangeStat,(_blastRangeStat / 0.3048) toFixed 1)]); tabs[] = {{2}, {}}; }; }; diff --git a/addons/overpressure/functions/fnc_firedEHBB.sqf b/addons/overpressure/functions/fnc_firedEHBB.sqf index a2072f24a4..53620da7b2 100644 --- a/addons/overpressure/functions/fnc_firedEHBB.sqf +++ b/addons/overpressure/functions/fnc_firedEHBB.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: joko // Jonas * Handle fire of local launchers. Called from the unified fired EH only for the local player. diff --git a/addons/overpressure/functions/fnc_firedEHOP.sqf b/addons/overpressure/functions/fnc_firedEHOP.sqf index 618cfae6f1..7a76f4b2be 100644 --- a/addons/overpressure/functions/fnc_firedEHOP.sqf +++ b/addons/overpressure/functions/fnc_firedEHOP.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: joko // Jonas * Handle fire of Vehicle Weapons. Called from the unified fired EH only for the local player vehicle. diff --git a/addons/overpressure/functions/fnc_getDistance.sqf b/addons/overpressure/functions/fnc_getDistance.sqf index 3e36a3ea78..891178cb52 100644 --- a/addons/overpressure/functions/fnc_getDistance.sqf +++ b/addons/overpressure/functions/fnc_getDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 and esteldunedain * Calculate the distance to the first intersection of a line diff --git a/addons/overpressure/functions/fnc_getOverPressureValues.sqf b/addons/overpressure/functions/fnc_getOverPressureValues.sqf index 2b30dc0008..4372d4c8e6 100644 --- a/addons/overpressure/functions/fnc_getOverPressureValues.sqf +++ b/addons/overpressure/functions/fnc_getOverPressureValues.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: joko // Jonas * Cache the shot data for a given weapon/mag/ammo combination. diff --git a/addons/overpressure/functions/fnc_overpressureDamage.sqf b/addons/overpressure/functions/fnc_overpressureDamage.sqf index f3457fa3d1..2fd0c0f7e5 100644 --- a/addons/overpressure/functions/fnc_overpressureDamage.sqf +++ b/addons/overpressure/functions/fnc_overpressureDamage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 and esteldunedain * Calculate and apply backblast damage to potentially affected local units diff --git a/addons/overpressure/functions/script_component.hpp b/addons/overpressure/functions/script_component.hpp deleted file mode 100644 index 0091d8048b..0000000000 --- a/addons/overpressure/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\overpressure\script_component.hpp" diff --git a/addons/overpressure/stringtable.xml b/addons/overpressure/stringtable.xml index ab58e14027..fff44a9a0a 100644 --- a/addons/overpressure/stringtable.xml +++ b/addons/overpressure/stringtable.xml @@ -10,6 +10,7 @@ 過圧 Перегрузка Sobrepresiòn + Surpression Overpressure Distance Coefficient diff --git a/addons/parachute/functions/fnc_cutParachute.sqf b/addons/parachute/functions/fnc_cutParachute.sqf index b98620c3ed..564a9e09cd 100644 --- a/addons/parachute/functions/fnc_cutParachute.sqf +++ b/addons/parachute/functions/fnc_cutParachute.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: joko, Jonas, kymckay * Perform the cut parachute action (move unit out and delete) diff --git a/addons/parachute/functions/fnc_handleFailureChance.sqf b/addons/parachute/functions/fnc_handleFailureChance.sqf index e5ec0b5cde..a84817eef1 100644 --- a/addons/parachute/functions/fnc_handleFailureChance.sqf +++ b/addons/parachute/functions/fnc_handleFailureChance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: JoramD * Handles percentage chance parachute failure. diff --git a/addons/parachute/functions/fnc_handleInfoDisplayChanged.sqf b/addons/parachute/functions/fnc_handleInfoDisplayChanged.sqf index f1589e1e04..44bf81deb8 100644 --- a/addons/parachute/functions/fnc_handleInfoDisplayChanged.sqf +++ b/addons/parachute/functions/fnc_handleInfoDisplayChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Hides the height and velocity display while freefalling or parachuting on higher difficulties. diff --git a/addons/parachute/functions/fnc_handleReserve.sqf b/addons/parachute/functions/fnc_handleReserve.sqf index 5a6a096c9a..dd7ba04213 100644 --- a/addons/parachute/functions/fnc_handleReserve.sqf +++ b/addons/parachute/functions/fnc_handleReserve.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: joko, Jonas, kymckay * Cache reserve parachute on player unit when their inventory changes and add it when they open their parachute diff --git a/addons/parachute/functions/fnc_hideAltimeter.sqf b/addons/parachute/functions/fnc_hideAltimeter.sqf index 280ee286b4..fc53f533d3 100644 --- a/addons/parachute/functions/fnc_hideAltimeter.sqf +++ b/addons/parachute/functions/fnc_hideAltimeter.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Removes the altimeter from the screen. diff --git a/addons/parachute/functions/fnc_showAltimeter.sqf b/addons/parachute/functions/fnc_showAltimeter.sqf index 63930891fe..47b014f4ab 100644 --- a/addons/parachute/functions/fnc_showAltimeter.sqf +++ b/addons/parachute/functions/fnc_showAltimeter.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet * Displays the altimeter on screen. diff --git a/addons/parachute/functions/script_component.hpp b/addons/parachute/functions/script_component.hpp deleted file mode 100644 index 29f2e63e07..0000000000 --- a/addons/parachute/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\parachute\script_component.hpp" diff --git a/addons/parachute/stringtable.xml b/addons/parachute/stringtable.xml index 90a64ce39d..0e3a7a5ac4 100644 --- a/addons/parachute/stringtable.xml +++ b/addons/parachute/stringtable.xml @@ -62,7 +62,7 @@ Irányíthatatlan ejtőernyő Неуправляемый парашют Paracadute non manovrabile - Para-querdas não controlável + Paraquedas não controlável 非操作型パラシュート 비조종 낙하산 非可操控降落伞 @@ -92,7 +92,7 @@ Parachute de secours Spadochron awaryjny Tartalék ejtőernyő - Para-quedas de reserva + Paraquedas de reserva Запасной парашют Záložní padák Paracaídas de reserva diff --git a/addons/pylons/functions/fnc_canConfigurePylons.sqf b/addons/pylons/functions/fnc_canConfigurePylons.sqf index 546d3e6766..56584a306b 100644 --- a/addons/pylons/functions/fnc_canConfigurePylons.sqf +++ b/addons/pylons/functions/fnc_canConfigurePylons.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Checks if given unit can access the pylon configuration dialog for the given aircraft. diff --git a/addons/pylons/functions/fnc_configurePylons.sqf b/addons/pylons/functions/fnc_configurePylons.sqf index 81313ce61e..fa3d54f011 100644 --- a/addons/pylons/functions/fnc_configurePylons.sqf +++ b/addons/pylons/functions/fnc_configurePylons.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Recursively shows the progress bar for each configured pylon. diff --git a/addons/pylons/functions/fnc_handleDisconnect.sqf b/addons/pylons/functions/fnc_handleDisconnect.sqf index 9bc3247415..d3a77def59 100644 --- a/addons/pylons/functions/fnc_handleDisconnect.sqf +++ b/addons/pylons/functions/fnc_handleDisconnect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Cleans up pylons on client disconnect. diff --git a/addons/pylons/functions/fnc_onButtonApply.sqf b/addons/pylons/functions/fnc_onButtonApply.sqf index 3fb802d90b..ee397ddd1e 100644 --- a/addons/pylons/functions/fnc_onButtonApply.sqf +++ b/addons/pylons/functions/fnc_onButtonApply.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Starts the pylon configuration. diff --git a/addons/pylons/functions/fnc_onButtonClose.sqf b/addons/pylons/functions/fnc_onButtonClose.sqf index c0f51e634a..95777de0cf 100644 --- a/addons/pylons/functions/fnc_onButtonClose.sqf +++ b/addons/pylons/functions/fnc_onButtonClose.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Handles the closing of the dialog. diff --git a/addons/pylons/functions/fnc_onButtonDelete.sqf b/addons/pylons/functions/fnc_onButtonDelete.sqf index eaf16cd99a..55c5a69ef2 100644 --- a/addons/pylons/functions/fnc_onButtonDelete.sqf +++ b/addons/pylons/functions/fnc_onButtonDelete.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Deletes the selected pylon configuration from profileNamespace. diff --git a/addons/pylons/functions/fnc_onButtonLoad.sqf b/addons/pylons/functions/fnc_onButtonLoad.sqf index f689c8bf82..3604a8273b 100644 --- a/addons/pylons/functions/fnc_onButtonLoad.sqf +++ b/addons/pylons/functions/fnc_onButtonLoad.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Loads selected pylon configuration from either config or profileNamespace. diff --git a/addons/pylons/functions/fnc_onButtonSave.sqf b/addons/pylons/functions/fnc_onButtonSave.sqf index 8f30ad1a58..022c614a80 100644 --- a/addons/pylons/functions/fnc_onButtonSave.sqf +++ b/addons/pylons/functions/fnc_onButtonSave.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Saves the selected pylon configuration to profileNamespace. diff --git a/addons/pylons/functions/fnc_onButtonTurret.sqf b/addons/pylons/functions/fnc_onButtonTurret.sqf index e6828bab99..2e1193e0e4 100644 --- a/addons/pylons/functions/fnc_onButtonTurret.sqf +++ b/addons/pylons/functions/fnc_onButtonTurret.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Handles init and click events of turret switch buttons. diff --git a/addons/pylons/functions/fnc_onComboSelChange.sqf b/addons/pylons/functions/fnc_onComboSelChange.sqf index aa71c65099..badf1a7794 100644 --- a/addons/pylons/functions/fnc_onComboSelChange.sqf +++ b/addons/pylons/functions/fnc_onComboSelChange.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Handles various UI changes when a combobox' selection changes. diff --git a/addons/pylons/functions/fnc_onNameChange.sqf b/addons/pylons/functions/fnc_onNameChange.sqf index 70344baa80..653e1f678b 100644 --- a/addons/pylons/functions/fnc_onNameChange.sqf +++ b/addons/pylons/functions/fnc_onNameChange.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Called when current loadout name is changed. diff --git a/addons/pylons/functions/fnc_onPylonMirror.sqf b/addons/pylons/functions/fnc_onPylonMirror.sqf index 949668ceb8..0dca961a42 100644 --- a/addons/pylons/functions/fnc_onPylonMirror.sqf +++ b/addons/pylons/functions/fnc_onPylonMirror.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Called when the "mirror" checkbox on the loadout dialog is checked. diff --git a/addons/pylons/functions/fnc_showDialog.sqf b/addons/pylons/functions/fnc_showDialog.sqf index f3b01729c5..a06cb6f114 100644 --- a/addons/pylons/functions/fnc_showDialog.sqf +++ b/addons/pylons/functions/fnc_showDialog.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Shows the aircraft loadout dialog for given aircraft. diff --git a/addons/pylons/functions/script_component.hpp b/addons/pylons/functions/script_component.hpp deleted file mode 100644 index 62e8ea51a0..0000000000 --- a/addons/pylons/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\pylons\script_component.hpp" diff --git a/addons/pylons/stringtable.xml b/addons/pylons/stringtable.xml index efdb7ab271..8805ad3704 100644 --- a/addons/pylons/stringtable.xml +++ b/addons/pylons/stringtable.xml @@ -37,7 +37,7 @@ Configura Piloni 定義派龍架 设定导弹挂架 - 파일런 설정 + 무장창 설정 Konfiguriere Außenlaststationen Configurer les pylônes Konfiguruj Pylony @@ -52,10 +52,10 @@ ACE Piloni ACE 派龍架 ACE 导弹挂架 - ACE 파일런 + ACE 무장창 ACE Außenlaststationen ACE Pylônes - Pylony ACE + ACE Pylony ACE Пилоны ACE Pylons ACE Pylony @@ -83,7 +83,7 @@ I piloni di colore rosso devono essere riarmati manualmente. 以紅色標記出的派龍架必須以手動方式進行彈藥整補 以红色标记出的导弹挂架必须以手动方式进行弹药整补。 - 붉은색의 파일런은 수동으로 재무장해야 합니다. + 붉은색의 무장창은 수동으로 재무장해야 합니다. Außenlaststationen, die rot markiert sind, müssen manuell aufmunitioniert werden. Les pylônes colorés en rouge devront être réarmés manuellement. Pylony, które są w kolorze czerwonym muszą być manualnie dozbrojone. @@ -128,7 +128,7 @@ Fermato al pilone %1! 已停止在%1號派龍架! 已在整装%1号挂架时停止! - %1 파일런이 멈춤 + %1 무장창이 멈춤 Gestoppt bei Außenlaststation %1 Arrêté au pylône %1 ! Zatrzymano na pylonie %1! @@ -165,7 +165,7 @@ Ativar Menu de Pylon para Zeus Povolit menu s pylony pro Zeuse Habilitar menú de pilones para Zeus - 제우스 파일런 메뉴 활성화 + 제우스 무장창 메뉴 활성화 Enables use of the zeus module. @@ -180,7 +180,7 @@ Permite usar o módulo de Zeus Povoluje použití daného Zeus modulu. Habilita el uso del módulo de Zeus. - 제우스 파일런 메뉴를 사용할 수 있게 합니다. + 제우스 무장창 메뉴를 사용할 수 있게 합니다. Enable Pylons Menu from Ammo Trucks @@ -195,7 +195,7 @@ Ativar Menu de Pylons de Caminhões de Munição Povolit menu s pylony z muničních náklaďáků. Habilitar menú de pilones desde camiones de munición - 탄약 차량 파일런 메뉴 활성화 + 탄약 차량 무장창 메뉴 활성화 Enables use of pylons menu from ammo trucks. @@ -210,7 +210,7 @@ Permite abrir o menu de pylons através de veículos de munição. Povoluje použití menu na nastavení pylonů z náklaďáků s municí. Habilita el uso del menú de pilones desde camiones de munición. - 탄약 차량에서 파일런 메뉴를 불러올 수 있게 합니다. + 탄약 차량에서 무장창 메뉴를 불러올 수 있게 합니다. This aircraft doesn't have pylons @@ -225,7 +225,7 @@ Essa aeronave não possui pylons Toto letadlo nemá pylony Esta aeronave no tiene pilones - 이 비행기는 파일런이 없습니다. + 이 비행기는 무장창이 없습니다. Configure pylons module is disabled for zeus @@ -240,7 +240,7 @@ O Módulo de configurar pylons está desativado para o Zeus Nastavení pylonů je vypnuto pro Zeuse La configuración del módulo de pilones está deshabilitada para Zeus - 제우스 파일런 모듈 설정이 비활성화 되어있습니다. + 제우스 무장창 모듈 설정이 비활성화 되어있습니다. Rearm New Pylons @@ -248,7 +248,7 @@ Riarma Nuovi Piloni 重新整装新的导弹挂架 重新武装新的派龙架 - 새 파일런 재무장 + 새 무장창 재무장 Neue Außenlaststationen. aufmunitionieren Réarmer les nouveaux pylônes Dozbrój Nowe Pylony @@ -263,7 +263,7 @@ Riarma automaticamente i nuovi piloni dal veicoli di riarmo più vicino. 自動從附近的整補載具中為派龍架進行彈藥整補 自动从附近的整装载具中为导弹挂架进行弹药整装。 - 근처의 재무장 차량에서 빈 파일런을 자동으로 재무장 합니다. + 근처의 재무장 차량에서 빈 무장창을 자동으로 재무장 합니다. Neue Außenlaststationen. automatisch vom nächsten Munitionsfahrzeug aufmunitionieren Réarme automatiquement les nouveaux pylônes à partir du véhicule de ravitaillement le plus proche. Automatycznie dozbrajaj nowe pylony z najbliższego pojazdu dozbrajania. @@ -278,7 +278,7 @@ Tempo Per Pilone 派龍架整補所需時間(個別) 导弹挂架整装所需时间(个别) - 파일런 당 시간 + 무장창 당 시간 Zeit pro Außenlaststation Durée par pylône Czas na Pylon @@ -293,7 +293,7 @@ Il tempo che impiega ogni pilone ad essere sostituito (in secondi). 每個派龍架需花多久時間進行整補(單位為秒) 每个挂架需花多久时间进行整装(单位为秒)。 - 파일런을 재설정 하는데 걸리는 시간 (초) + 무장창을 재설정 하는데 걸리는 시간 (초) Die benötigte Zeit, um einzelne Außenlaststationen zu ersetzen (in Sekunden). Le temps nécessaire pour remplacer chaque pylône (en secondes). Czas, jaki trwa wymiana każdego z pylonów (w sekundach). diff --git a/addons/quickmount/CfgVehicles.hpp b/addons/quickmount/CfgVehicles.hpp index a52f17cf5a..afab89565e 100644 --- a/addons/quickmount/CfgVehicles.hpp +++ b/addons/quickmount/CfgVehicles.hpp @@ -43,7 +43,7 @@ class CfgVehicles { condition = QUOTE(call DFUNC(canShowFreeSeats)); \ statement = QUOTE(call DFUNC(getInNearest)); \ exceptions[] = {"isNotSwimming"}; \ - insertChildren = QUOTE((_this select 2) param [ARR_2(0, [])]); \ + insertChildren = QUOTE((_this select 2) param [ARR_2(0,[])]); \ }; \ }; \ }; \ diff --git a/addons/quickmount/config.cpp b/addons/quickmount/config.cpp index 063897aebc..d74d99c050 100644 --- a/addons/quickmount/config.cpp +++ b/addons/quickmount/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ace_common"}; + requiredAddons[] = {"ace_interaction"}; author = ECSTRING(common,ACETeam); authors[] = {"Kingsley"}; url = ECSTRING(main,URL); diff --git a/addons/quickmount/functions/fnc_addFreeSeatsActions.sqf b/addons/quickmount/functions/fnc_addFreeSeatsActions.sqf index a4ccc737e7..e55d498809 100644 --- a/addons/quickmount/functions/fnc_addFreeSeatsActions.sqf +++ b/addons/quickmount/functions/fnc_addFreeSeatsActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Creates actions for vehicle free seats. diff --git a/addons/quickmount/functions/fnc_canShowFreeSeats.sqf b/addons/quickmount/functions/fnc_canShowFreeSeats.sqf index 5735aa88e3..6812d9bf83 100644 --- a/addons/quickmount/functions/fnc_canShowFreeSeats.sqf +++ b/addons/quickmount/functions/fnc_canShowFreeSeats.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Checks if Free Seats menu can be shown. @@ -32,8 +32,7 @@ GVAR(enabled) && {isNull getConnectedUAVUnit _unit} && {simulationEnabled _vehicle} && { - -1 == crew _vehicle findIf {alive _x} - || {0.6 <= side group _unit getFriend side group _vehicle} + [_unit, _vehicle] call EFUNC(interaction,canInteractWithVehicleCrew) } && { 0.3 < vectorUp _vehicle select 2 // moveIn* and GetIn* don't work for flipped vehicles diff --git a/addons/quickmount/functions/fnc_getInNearest.sqf b/addons/quickmount/functions/fnc_getInNearest.sqf index 0a1794a4d8..c618681f7e 100644 --- a/addons/quickmount/functions/fnc_getInNearest.sqf +++ b/addons/quickmount/functions/fnc_getInNearest.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Mount the player in the vehicle they are directly looking at based on their distance. diff --git a/addons/quickmount/functions/fnc_moduleInit.sqf b/addons/quickmount/functions/fnc_moduleInit.sqf index 216cda90c0..8544226a32 100644 --- a/addons/quickmount/functions/fnc_moduleInit.sqf +++ b/addons/quickmount/functions/fnc_moduleInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Initializes the quick-mount module. diff --git a/addons/quickmount/functions/script_component.hpp b/addons/quickmount/functions/script_component.hpp deleted file mode 100644 index a91c3e1665..0000000000 --- a/addons/quickmount/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\quickmount\script_component.hpp" diff --git a/addons/quickmount/stringtable.xml b/addons/quickmount/stringtable.xml index 1d8fd480c3..2f1b19bd1f 100644 --- a/addons/quickmount/stringtable.xml +++ b/addons/quickmount/stringtable.xml @@ -153,7 +153,7 @@ Maksymalna prędkość pojazdu (km/h) pozwalająca graczowi wsiąść. 플레이어가 탑승 가능한 목표 차량의 최대 속도 Макс. скорость техники для посадки игрока (км/ч) - Velocidade máxima que o veículo pode estar para permitr entrada rápida. + Velocidade máxima que o veículo pode estar para permitir entrada rápida. Définit la vitesse maximale que peut avoir un véhicule en mouvement pour qu'un joueur réussisse à y entrer. Maximální rychlost vozidla (km/h) při které hráči mohou nastoupit do vozidla Oyuncu binmesi için izin verilen maksimum araç hızı (km / s) diff --git a/addons/rangecard/CfgWeapons.hpp b/addons/rangecard/CfgWeapons.hpp index 851e324346..cb55b0dcac 100644 --- a/addons/rangecard/CfgWeapons.hpp +++ b/addons/rangecard/CfgWeapons.hpp @@ -14,7 +14,7 @@ class CfgWeapons { ACE_isTool = 1; class ItemInfo: CBA_MiscItem_ItemInfo { - mass = 1; + mass = 0.1; }; }; }; diff --git a/addons/rangecard/functions/fnc_calculateRangeCard.sqf b/addons/rangecard/functions/fnc_calculateRangeCard.sqf index ebeadf6b7e..179437eb58 100644 --- a/addons/rangecard/functions/fnc_calculateRangeCard.sqf +++ b/addons/rangecard/functions/fnc_calculateRangeCard.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the range card data diff --git a/addons/rangecard/functions/fnc_canCopy.sqf b/addons/rangecard/functions/fnc_canCopy.sqf index ee85bcf096..6600cd5fca 100644 --- a/addons/rangecard/functions/fnc_canCopy.sqf +++ b/addons/rangecard/functions/fnc_canCopy.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Authors: Ruthberg * Checks if the target has a copyable range card diff --git a/addons/rangecard/functions/fnc_canShow.sqf b/addons/rangecard/functions/fnc_canShow.sqf index 4262391d29..8917cf80f1 100644 --- a/addons/rangecard/functions/fnc_canShow.sqf +++ b/addons/rangecard/functions/fnc_canShow.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Authors: Ruthberg * Tests if the Range Card can be shown diff --git a/addons/rangecard/functions/fnc_canShowCopy.sqf b/addons/rangecard/functions/fnc_canShowCopy.sqf index 134147917e..7ede55823d 100644 --- a/addons/rangecard/functions/fnc_canShowCopy.sqf +++ b/addons/rangecard/functions/fnc_canShowCopy.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Authors: Ruthberg * Tests if the Range Card copy can be shown diff --git a/addons/rangecard/functions/fnc_onCloseDialog.sqf b/addons/rangecard/functions/fnc_onCloseDialog.sqf index 0a93eb897c..3a50f55a82 100644 --- a/addons/rangecard/functions/fnc_onCloseDialog.sqf +++ b/addons/rangecard/functions/fnc_onCloseDialog.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: joko // Jonas * Add the Reserve Parachute to Units or Save Backpack if is a Parachute in Unit diff --git a/addons/rangecard/functions/fnc_openRangeCard.sqf b/addons/rangecard/functions/fnc_openRangeCard.sqf index ed2bb9e241..be1cb821a9 100644 --- a/addons/rangecard/functions/fnc_openRangeCard.sqf +++ b/addons/rangecard/functions/fnc_openRangeCard.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Authors: Ruthberg * Opens the range card dialog diff --git a/addons/rangecard/functions/fnc_updateClassNames.sqf b/addons/rangecard/functions/fnc_updateClassNames.sqf index e13198bcfc..d0a9bbdc32 100644 --- a/addons/rangecard/functions/fnc_updateClassNames.sqf +++ b/addons/rangecard/functions/fnc_updateClassNames.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Authors: Ruthberg * Updates the ammo and weapon class names diff --git a/addons/rangecard/functions/fnc_updateRangeCard.sqf b/addons/rangecard/functions/fnc_updateRangeCard.sqf index 89a6ac9e54..d7acd46486 100644 --- a/addons/rangecard/functions/fnc_updateRangeCard.sqf +++ b/addons/rangecard/functions/fnc_updateRangeCard.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Authors: Ruthberg * Updates the range card data diff --git a/addons/rangecard/functions/script_component.hpp b/addons/rangecard/functions/script_component.hpp deleted file mode 100644 index d4a493206b..0000000000 --- a/addons/rangecard/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\rangecard\script_component.hpp" diff --git a/addons/rangecard/stringtable.xml b/addons/rangecard/stringtable.xml index 4e1db8954c..55238c8c3d 100644 --- a/addons/rangecard/stringtable.xml +++ b/addons/rangecard/stringtable.xml @@ -75,7 +75,7 @@ Abrir tarjeta de distancias Otevřít vzdálenostní tabulku Öffne Entfernungsspinne - Abrir tabela de distäncias + Abrir tabela de distâncias Ouvrir la table de tir Távolsági kártya kinyitása Открыть таблицу поправок @@ -109,7 +109,7 @@ Copiar tarjeta de distancias Kopírovat vzdálenostní tabulku Kopiere Entfernungsspinne - Copiar tabela de distäncias + Copiar tabela de distâncias Recopier la table de tir Távolsági kártya másolása Скопировать таблицу поправок diff --git a/addons/realisticnames/CfgWeapons.hpp b/addons/realisticnames/CfgWeapons.hpp index efa6a1662f..953f981051 100644 --- a/addons/realisticnames/CfgWeapons.hpp +++ b/addons/realisticnames/CfgWeapons.hpp @@ -148,7 +148,7 @@ class CfgWeapons { class SMG_03C_TR_hex: SMG_03C_TR_black { displayName = CSTRING(P90_TR_Hex_Name); }; - class SMG_03C_black: SMG_03C_Base { + class SMG_03C_black: SMG_03C_BASE { displayName = CSTRING(P90_Black_Name); }; class SMG_03C_khaki: SMG_03C_black { @@ -709,16 +709,16 @@ class CfgWeapons { //attachments - class Itemcore; + class ItemCore; class acc_flashlight: ItemCore { displayName = "UTG Defender 126"; }; - class optic_hamr: ItemCore { + class optic_Hamr: ItemCore { displayName = CSTRING(optic_hamr); }; - class optic_Hamr_khk_F: optic_hamr { + class optic_Hamr_khk_F: optic_Hamr { displayName = CSTRING(optic_hamr_khk); }; class ACE_optic_Hamr_2D: optic_Hamr { diff --git a/addons/realisticnames/addon.toml b/addons/realisticnames/addon.toml index 7cfef775ee..bf39213892 100644 --- a/addons/realisticnames/addon.toml +++ b/addons/realisticnames/addon.toml @@ -1,2 +1,3 @@ -[preprocess] -enabled = false +[tools] +pboProject_noBinConfig = true +sqfvm_skipConfigChecks = true diff --git a/addons/realisticnames/config.cpp b/addons/realisticnames/config.cpp index e98d18f0b6..8cf6232906 100644 --- a/addons/realisticnames/config.cpp +++ b/addons/realisticnames/config.cpp @@ -1,5 +1,6 @@ #include "script_component.hpp" +#pragma hemtt flag pe23_ignore_has_include #if __has_include("\z\ace\addons\norealisticnames\script_component.hpp") #define PATCH_SKIP "No Realistic Names" #endif diff --git a/addons/realisticnames/stringtable.xml b/addons/realisticnames/stringtable.xml index efce83a658..53d24f7cef 100644 --- a/addons/realisticnames/stringtable.xml +++ b/addons/realisticnames/stringtable.xml @@ -573,7 +573,7 @@ FV510 Warrior FV510 Warrior FV510 Warrior - FV510 ウォーリアー + FV510 ウォーリア FV510 워리어 보병전투차 FV510 "戰士"步兵戰車 FV510 "战士" @@ -1216,7 +1216,7 @@ Ka-60 Kasatka (preto e branco) Ka-60 Касатка (чёрно-белый) Ka-60 Kasatka (blanco y negro) - Ka-60 カサートカ (黒 & 白) + Ka-60 カサートカ (ブラック & ホワイト) Ka-60 카사트카 (검정 및 하양) Ka-60 "逆戟鯨"直升機 (黑&白) Ka-60 "虎鲸"(黑白) @@ -1443,7 +1443,7 @@ M18 Granada de fumaça (Verde) M18 füstgránát (Zöld) M18 Granata fumogena (Verde) - M18 煙幕手榴弾 (緑) + M18 発煙手榴弾 (緑) M18 연막탄 (초록) M18煙霧彈 (綠色) M18 烟雾弹(绿色) @@ -1494,7 +1494,7 @@ M18 Granada de fumaça (Vermelha) M18 füstgránát (Piros) M18 Granata fumogena (Rosso) - M18 煙幕手榴弾 (赤) + M18 発煙手榴弾 (赤) M18 연막탄 (빨강) M18煙霧彈 (紅色) M18 烟雾弹(红色) @@ -1579,7 +1579,7 @@ PMR-3 Mina antipessoal (armadilha) PMR-3 botlódrótos gyalogsági akna PMR-3 Mine antiuomo - PMR-3 仕掛け型対人地雷 + PMR-3 仕掛け線対人地雷 PMR-3 대인인계철선지뢰 PMR-3反人員絆線雷 PMR-3 反人员绊雷 @@ -2149,7 +2149,7 @@ F2000 (камуфляжный) F2000 (Camo) F2000 (Camo) - F2000 (カモフラージュ) + F2000 (迷彩) F2000 (위장) F2000突擊步槍 (迷彩) F2000(迷彩) @@ -2183,7 +2183,7 @@ F2000 Tactical (камуфляжный) F2000 Tactical (Camo) F2000 Tactical (Camo) - F2000 タクティカル (カモフラージュ) + F2000 タクティカル (迷彩) F2000 택티컬 (위장) F2000戰術型突擊步槍 (迷彩) F2000 战术型(迷彩) @@ -2217,7 +2217,7 @@ F2000 EGLM (камуфляжный) F2000 EGLM (Camo) F2000 EGLM (Camo) - F2000 EGLM (カモフラージュ) + F2000 EGLM (迷彩) F2000 EGLM (위장) F2000突擊步槍 (榴彈—迷彩) F2000 ELGM(迷彩) @@ -2438,7 +2438,7 @@ GM6 Lynx (камуфляжный) GM6 Lynx (Camo) GM6 Lynx (Camo) - GM6 リンクス (カモフラージュ) + GM6 リンクス (迷彩) GM6 링스 (위장) GM6 "天貓"反器材狙擊步槍 (迷彩) GM6 "猞猁"(迷彩) @@ -2472,7 +2472,7 @@ M200 Intervention (камуфляжный) M200 Intervention (Camo) M200 Intervention (Camo) - M200 インターベンション (カモフラージュ) + M200 インターベンション (迷彩) M200 인터벤션 (위장) M200干預型狙擊步槍 (迷彩) M200 "干预"(迷彩) @@ -2540,7 +2540,7 @@ Noreen "Bad News" ULR (Camo) Noreen "Bad News"ULR (Terepmintás) Noreen "Bad News" ULR (Camuflagem) - ノレーン "バッド ニュース" ULR (カモフラージュ) + ノレーン "バッド ニュース" ULR (迷彩) 노린 "배드뉴스" ULR (위장) 諾琳"壞消息"極距狙擊步槍 (迷彩) 诺琳 "坏消息" 极距狙击步枪(迷彩) @@ -2557,7 +2557,7 @@ Noreen "Bad News" ULR (Sabbia) Noreen "Bad News"ULR (Homok) Noreen "Bad News" ULR (Deserto) - ノレーン "バッド ニュース" ULR (砂地) + ノレーン "バッド ニュース" ULR (サンド) 노린 "배드뉴스" ULR (모래) 諾琳"壞消息"極距狙擊步槍 (沙色) 诺琳 "坏消息" 极距狙击步枪(沙色) @@ -2642,7 +2642,7 @@ SIG 556 (Camo) SIG 556 (Terepmintás) SIG 556 (Camuflagem) - SIG 556 (カモフラージュ) + SIG 556 (迷彩) 시그 556 (위장) SIG 556精準步槍 (迷彩) SIG 556(迷彩) @@ -2659,7 +2659,7 @@ SIG 556 (Woodland) SIG 556 (Erdőmintás) SIG 556 (Floresta) - SIG 556 (森林) + SIG 556 (森林迷彩) 시그 556 (수풀) SIG 556精準步槍 (森林迷彩) SIG 556(森林迷彩) @@ -2812,7 +2812,7 @@ M14 (Camo) M14 (Terepmintás) M14 (Camuflagem) - M14 (カモフラージュ) + M14 (迷彩) M14 (위장) M14精準步槍 (迷彩) M14(迷彩) @@ -2914,7 +2914,7 @@ LWMMG (MTP) LWMMG (MTP) LWMMG (MTP) - LWMMG (マルチカモ) + LWMMG (MTP) LWMMG (MTP) 輕量化中型機槍 (多地形迷彩) LWMMG(多地形迷彩) @@ -3303,7 +3303,7 @@ M200 Intervention (тропик) M200 Intervention (Trópico) M200 Intervention (Tropico) - M200 インターベンション (熱帯) + M200 インターベンション (熱帯迷彩) M200 인터벤션 (열대) M200干預型狙擊步槍 (熱帶迷彩) M200 "干预"(热带迷彩) @@ -4324,10 +4324,10 @@ Burris XTR II (ASP-1 Kir) Burris XTR II (ASP-1 Kir) Burris XTR II (ASP-1 Kir) - Burris XTR II (ASP-1 Kir) + Burris XTR II (ASP-1 キール用) Burris XTR II (ASP-1 Kir) Burris XTR II(ASP-1 Kir) - 버리스 XTR II (ASP-1 키르) + 버리스 XTR II (ASP-1 키르용) Burris XTR II (ASP-1 Kir) Burris XTR II (ASP-1 Kir) @@ -4622,7 +4622,7 @@ P90 TR (Camo) P90 TR (Terepmintás) P90 TR (Camuflagem) - P90 TR (カモフラージュ) + P90 TR (迷彩) P90 TR (迷彩) P90 TR(迷彩) P90 TR (위장) @@ -4690,7 +4690,7 @@ P90 (Camo) P90 (Terepmintás) P90 (Camuflagem) - P90 (カモフラージュ) + P90 (迷彩) P90 (迷彩) P90(迷彩) P90 (위장) @@ -4758,7 +4758,7 @@ PS90 TR (Camo) PS90 TR (Terepmintás) PS90 TR (Camuflagem) - PS90 TR (カモフラージュ) + PS90 TR (迷彩) PS90 TR (迷彩) PS90 TR(迷彩) PS90 TR (위장) @@ -4826,7 +4826,7 @@ PS90 (Camo) PS90 (Terepmintás) PS90 (Camuflagem) - PS90 (カモフラージュ) + PS90 (迷彩) PS90 (迷彩) PS90(迷彩) PS90 (위장) @@ -5151,7 +5151,7 @@ Stoner 99 LMG (Preto) 스토너 99 LMG (검정) 斯通纳 99(黑色) - ストーナー 99 LMG(ブラック) + ストーナー 99 LMG (ブラック) Stoner 99 LMG (Siyah) Stoner 99 Könnyűgéppuska (Fekete) @@ -5202,7 +5202,7 @@ MSBS Grot (Camo) MSBS 그롯 (위장) MSBS Grot(迷彩) - MSBS グロート (カモフラージュ) + MSBS グロート (迷彩) MSBS Grot (Kamuflaj) MSBS Grot (Terepmintás) @@ -5270,7 +5270,7 @@ MSBS Grot GL (Camo) MSBS 그롯 GL (위장) MSBS Grot GPBO-40(迷彩) - MSBS グロート GL (カモフラージュ) + MSBS グロート GL (迷彩) MSBS Grot GL (Kamuflaj) MSBS Grot GL (Terepmintás) @@ -5338,7 +5338,7 @@ MSBS Grot MR (Camo) MSBS 그롯 MR (위장) MSBS Grot MR(迷彩) - MSBS グロート MR (カモフラージュ) + MSBS グロート MR (迷彩) MSBS Grot MR (Kamuflaj) MSBS Grot MR (Terepmintás) @@ -5406,7 +5406,7 @@ MSBS Grot SG (Camo) MSBS 그롯 SG (위장) MSBS Grot SG(迷彩) - MSBS グロート SG (カモフラージュ) + MSBS グロート SG (迷彩) MSBS Grot SG (Kamuflaj) MSBS Grot SG (Terepmintás) diff --git a/addons/rearm/CfgAmmo.hpp b/addons/rearm/CfgAmmo.hpp index 9ea0290d38..4bbd2fc2f7 100644 --- a/addons/rearm/CfgAmmo.hpp +++ b/addons/rearm/CfgAmmo.hpp @@ -101,7 +101,7 @@ class CfgAmmo { GVAR(dummy) = QGVAR(R_230mm_fly); }; - class Sh_120mm_APFSDS: Shellbase { + class Sh_120mm_APFSDS: ShellBase { GVAR(caliber) = 120; }; class Sh_105mm_APFSDS: Sh_120mm_APFSDS { diff --git a/addons/rearm/dev/test_debugConfigs.sqf b/addons/rearm/dev/test_debugConfigs.sqf index cbe09c1f17..be287686ca 100644 --- a/addons/rearm/dev/test_debugConfigs.sqf +++ b/addons/rearm/dev/test_debugConfigs.sqf @@ -1,7 +1,7 @@ // ["vehicleTransportAmmo"] call ace_common_fnc_runTests; // execVM "z\ace\addons\rearm\dev\test_debugConfigs.sqf"; -#include "\z\ace\addons\rearm\script_component.hpp" +#include "..\script_component.hpp" private _testPass = true; diff --git a/addons/rearm/functions/fnc_addMagazineToSupply.sqf b/addons/rearm/functions/fnc_addMagazineToSupply.sqf index cb9156ef9a..a143a22592 100644 --- a/addons/rearm/functions/fnc_addMagazineToSupply.sqf +++ b/addons/rearm/functions/fnc_addMagazineToSupply.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Adds magazines to the supply. [Global Effects] diff --git a/addons/rearm/functions/fnc_addRearmActions.sqf b/addons/rearm/functions/fnc_addRearmActions.sqf index 2159ff8b62..e71cab8f0c 100644 --- a/addons/rearm/functions/fnc_addRearmActions.sqf +++ b/addons/rearm/functions/fnc_addRearmActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Show the resupplyable ammunition of all surrounding vehicles. diff --git a/addons/rearm/functions/fnc_addVehicleMagazinesToSupply.sqf b/addons/rearm/functions/fnc_addVehicleMagazinesToSupply.sqf index 2fd907ff6f..f218276350 100644 --- a/addons/rearm/functions/fnc_addVehicleMagazinesToSupply.sqf +++ b/addons/rearm/functions/fnc_addVehicleMagazinesToSupply.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Adds all magazines of a vehicle to the supply. diff --git a/addons/rearm/functions/fnc_canReadSupplyCounter.sqf b/addons/rearm/functions/fnc_canReadSupplyCounter.sqf index 824eb07f78..85c23f27d9 100644 --- a/addons/rearm/functions/fnc_canReadSupplyCounter.sqf +++ b/addons/rearm/functions/fnc_canReadSupplyCounter.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Checks if unit can read supply counter. [Only for GVAR(supply) > 0] diff --git a/addons/rearm/functions/fnc_canRearm.sqf b/addons/rearm/functions/fnc_canRearm.sqf index bda5d8088c..8d2b0b58e5 100644 --- a/addons/rearm/functions/fnc_canRearm.sqf +++ b/addons/rearm/functions/fnc_canRearm.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk, Jonpas * Check if a unit can rearm. diff --git a/addons/rearm/functions/fnc_canStoreAmmo.sqf b/addons/rearm/functions/fnc_canStoreAmmo.sqf index af503011dd..5eb954fe34 100644 --- a/addons/rearm/functions/fnc_canStoreAmmo.sqf +++ b/addons/rearm/functions/fnc_canStoreAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Check if a unit can store ammo in an ammo truck. diff --git a/addons/rearm/functions/fnc_canTakeAmmo.sqf b/addons/rearm/functions/fnc_canTakeAmmo.sqf index 5b0a41f9b2..6d4e9d4492 100644 --- a/addons/rearm/functions/fnc_canTakeAmmo.sqf +++ b/addons/rearm/functions/fnc_canTakeAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Check if a unit can pick up ammo. diff --git a/addons/rearm/functions/fnc_createDummy.sqf b/addons/rearm/functions/fnc_createDummy.sqf index 05f6f3505b..45318cd13f 100644 --- a/addons/rearm/functions/fnc_createDummy.sqf +++ b/addons/rearm/functions/fnc_createDummy.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Creates a carryable ammunition dummy object. diff --git a/addons/rearm/functions/fnc_disable.sqf b/addons/rearm/functions/fnc_disable.sqf index 051d2fc9c9..82b3c39839 100644 --- a/addons/rearm/functions/fnc_disable.sqf +++ b/addons/rearm/functions/fnc_disable.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Disables being able to rearm a vehicle's turrets. [Global Effects] diff --git a/addons/rearm/functions/fnc_dropAmmo.sqf b/addons/rearm/functions/fnc_dropAmmo.sqf index d4c68ea34b..af4b74ee77 100644 --- a/addons/rearm/functions/fnc_dropAmmo.sqf +++ b/addons/rearm/functions/fnc_dropAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Drops a magazine, optionally deletes it and optionally unholsters the wepaon. diff --git a/addons/rearm/functions/fnc_getAllRearmTurrets.sqf b/addons/rearm/functions/fnc_getAllRearmTurrets.sqf index 95f773e1bb..41edfeaabf 100644 --- a/addons/rearm/functions/fnc_getAllRearmTurrets.sqf +++ b/addons/rearm/functions/fnc_getAllRearmTurrets.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Tuupertunut * Returns all turrets in a vehicle. diff --git a/addons/rearm/functions/fnc_getCaliber.sqf b/addons/rearm/functions/fnc_getCaliber.sqf index c43c0ecbf2..2d58ef0344 100644 --- a/addons/rearm/functions/fnc_getCaliber.sqf +++ b/addons/rearm/functions/fnc_getCaliber.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Get the caliber of the ammo in a magazine and return its parameters. diff --git a/addons/rearm/functions/fnc_getMagazineName.sqf b/addons/rearm/functions/fnc_getMagazineName.sqf index f83d71e470..2ee4a988ed 100644 --- a/addons/rearm/functions/fnc_getMagazineName.sqf +++ b/addons/rearm/functions/fnc_getMagazineName.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Gets a non-ambigious display name for a magazine using displayNameShort (AP/HE) diff --git a/addons/rearm/functions/fnc_getMaxMagazines.sqf b/addons/rearm/functions/fnc_getMaxMagazines.sqf index 45f90d6579..9cf262d59d 100644 --- a/addons/rearm/functions/fnc_getMaxMagazines.sqf +++ b/addons/rearm/functions/fnc_getMaxMagazines.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk, Jonpas * Calculates the maximum number of magazines a turret can hold according to config. diff --git a/addons/rearm/functions/fnc_getNeedRearmMagazines.sqf b/addons/rearm/functions/fnc_getNeedRearmMagazines.sqf index af1ae10d51..078af4d887 100644 --- a/addons/rearm/functions/fnc_getNeedRearmMagazines.sqf +++ b/addons/rearm/functions/fnc_getNeedRearmMagazines.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Tuupertunut * Returns information about every magazine that can be rearmed in the vehicle. Multiple mags of diff --git a/addons/rearm/functions/fnc_getSupplyCount.sqf b/addons/rearm/functions/fnc_getSupplyCount.sqf index 87a1dd1ee8..867328751f 100644 --- a/addons/rearm/functions/fnc_getSupplyCount.sqf +++ b/addons/rearm/functions/fnc_getSupplyCount.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Get the supply count. diff --git a/addons/rearm/functions/fnc_getTurretConfigMagazines.sqf b/addons/rearm/functions/fnc_getTurretConfigMagazines.sqf index 56a2fbdf05..e253d13e64 100644 --- a/addons/rearm/functions/fnc_getTurretConfigMagazines.sqf +++ b/addons/rearm/functions/fnc_getTurretConfigMagazines.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk, Jonpas * Returns all magazines a turret of a vehicle object can hold according to config. diff --git a/addons/rearm/functions/fnc_getTurretMagazineAmmo.sqf b/addons/rearm/functions/fnc_getTurretMagazineAmmo.sqf index fa73b59d84..1daa4ca722 100644 --- a/addons/rearm/functions/fnc_getTurretMagazineAmmo.sqf +++ b/addons/rearm/functions/fnc_getTurretMagazineAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Tuupertunut * Returns the current ammo counts in all magazines of given class in turret. diff --git a/addons/rearm/functions/fnc_grabAmmo.sqf b/addons/rearm/functions/fnc_grabAmmo.sqf index 8a72ec2cf1..d355485309 100644 --- a/addons/rearm/functions/fnc_grabAmmo.sqf +++ b/addons/rearm/functions/fnc_grabAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Grabs an dummy ammo. diff --git a/addons/rearm/functions/fnc_handleKilled.sqf b/addons/rearm/functions/fnc_handleKilled.sqf index 6ba6e4f4ee..1909980b1f 100644 --- a/addons/rearm/functions/fnc_handleKilled.sqf +++ b/addons/rearm/functions/fnc_handleKilled.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk, Jonpas * Handles medical on set dead event. diff --git a/addons/rearm/functions/fnc_handleRespawn.sqf b/addons/rearm/functions/fnc_handleRespawn.sqf index a1ddd97301..3261501955 100644 --- a/addons/rearm/functions/fnc_handleRespawn.sqf +++ b/addons/rearm/functions/fnc_handleRespawn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: unknown * Called when a unit is Respawned diff --git a/addons/rearm/functions/fnc_handleUnconscious.sqf b/addons/rearm/functions/fnc_handleUnconscious.sqf index 18a8af4b56..3ff341a85c 100644 --- a/addons/rearm/functions/fnc_handleUnconscious.sqf +++ b/addons/rearm/functions/fnc_handleUnconscious.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk, Jonpas * Handles medical on unconscious event. diff --git a/addons/rearm/functions/fnc_hasEnoughSupply.sqf b/addons/rearm/functions/fnc_hasEnoughSupply.sqf index 1af5d96a50..c7efb7eca6 100644 --- a/addons/rearm/functions/fnc_hasEnoughSupply.sqf +++ b/addons/rearm/functions/fnc_hasEnoughSupply.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Check whether enough supply is left to take the magazine. diff --git a/addons/rearm/functions/fnc_initSupplyVehicle.sqf b/addons/rearm/functions/fnc_initSupplyVehicle.sqf index efd181388f..7749f0b609 100644 --- a/addons/rearm/functions/fnc_initSupplyVehicle.sqf +++ b/addons/rearm/functions/fnc_initSupplyVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Githawk, PabstMirror * Adds rearm supply actions to a vehicle or ammo container. diff --git a/addons/rearm/functions/fnc_isSource.sqf b/addons/rearm/functions/fnc_isSource.sqf index fc37d905c5..f4bffa3191 100644 --- a/addons/rearm/functions/fnc_isSource.sqf +++ b/addons/rearm/functions/fnc_isSource.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: shukari * Returns if vehicle or object is a rearm source. diff --git a/addons/rearm/functions/fnc_makeDummy.sqf b/addons/rearm/functions/fnc_makeDummy.sqf index d319d3587e..b79d2b96ac 100644 --- a/addons/rearm/functions/fnc_makeDummy.sqf +++ b/addons/rearm/functions/fnc_makeDummy.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Make a dummy object by disabling collision and turning it. diff --git a/addons/rearm/functions/fnc_makeSource.sqf b/addons/rearm/functions/fnc_makeSource.sqf index 3084871efc..85acbfa43a 100644 --- a/addons/rearm/functions/fnc_makeSource.sqf +++ b/addons/rearm/functions/fnc_makeSource.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: shukari (template from refuel makeSource) * Makes an object into a rearm source. diff --git a/addons/rearm/functions/fnc_moduleRearmSettings.sqf b/addons/rearm/functions/fnc_moduleRearmSettings.sqf index 4b61cfa2ee..c241078474 100644 --- a/addons/rearm/functions/fnc_moduleRearmSettings.sqf +++ b/addons/rearm/functions/fnc_moduleRearmSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Module for adjusting the rearm settings. diff --git a/addons/rearm/functions/fnc_pickUpAmmo.sqf b/addons/rearm/functions/fnc_pickUpAmmo.sqf index a47885e716..f080015a5e 100644 --- a/addons/rearm/functions/fnc_pickUpAmmo.sqf +++ b/addons/rearm/functions/fnc_pickUpAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Starts progress bar for picking up a specific kind of magazine from the ground. diff --git a/addons/rearm/functions/fnc_readSupplyCounter.sqf b/addons/rearm/functions/fnc_readSupplyCounter.sqf index 238e618dd2..7526fd013a 100644 --- a/addons/rearm/functions/fnc_readSupplyCounter.sqf +++ b/addons/rearm/functions/fnc_readSupplyCounter.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Get the remaining ammunition amount. diff --git a/addons/rearm/functions/fnc_rearm.sqf b/addons/rearm/functions/fnc_rearm.sqf index 779ebf2d51..81f467a5ca 100644 --- a/addons/rearm/functions/fnc_rearm.sqf +++ b/addons/rearm/functions/fnc_rearm.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Starts progress bar for rearming a vehicle. diff --git a/addons/rearm/functions/fnc_rearmEntireVehicle.sqf b/addons/rearm/functions/fnc_rearmEntireVehicle.sqf index 945a0c0632..74de2afe56 100644 --- a/addons/rearm/functions/fnc_rearmEntireVehicle.sqf +++ b/addons/rearm/functions/fnc_rearmEntireVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Starts progress bar for rearming an entire vehicle. diff --git a/addons/rearm/functions/fnc_rearmEntireVehicleSuccess.sqf b/addons/rearm/functions/fnc_rearmEntireVehicleSuccess.sqf index 699b37ed40..d014e9d58d 100644 --- a/addons/rearm/functions/fnc_rearmEntireVehicleSuccess.sqf +++ b/addons/rearm/functions/fnc_rearmEntireVehicleSuccess.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Rearm an entire vehicle. diff --git a/addons/rearm/functions/fnc_rearmEntireVehicleSuccessLocal.sqf b/addons/rearm/functions/fnc_rearmEntireVehicleSuccessLocal.sqf index 8bf8244dd7..b734f0db13 100644 --- a/addons/rearm/functions/fnc_rearmEntireVehicleSuccessLocal.sqf +++ b/addons/rearm/functions/fnc_rearmEntireVehicleSuccessLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Tuupertunut * Rearm an entire turret locally. diff --git a/addons/rearm/functions/fnc_rearmSuccess.sqf b/addons/rearm/functions/fnc_rearmSuccess.sqf index d0610dbb5a..5be575bed1 100644 --- a/addons/rearm/functions/fnc_rearmSuccess.sqf +++ b/addons/rearm/functions/fnc_rearmSuccess.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Rearms a vehicle, after progress bar finishes, pass args to machine where turret is local. diff --git a/addons/rearm/functions/fnc_rearmSuccessLocal.sqf b/addons/rearm/functions/fnc_rearmSuccessLocal.sqf index 141fe3d60d..71802451b7 100644 --- a/addons/rearm/functions/fnc_rearmSuccessLocal.sqf +++ b/addons/rearm/functions/fnc_rearmSuccessLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Rearms a vehicle on the turret owner. diff --git a/addons/rearm/functions/fnc_removeMagazineFromSupply.sqf b/addons/rearm/functions/fnc_removeMagazineFromSupply.sqf index af18dd8c47..3398254057 100644 --- a/addons/rearm/functions/fnc_removeMagazineFromSupply.sqf +++ b/addons/rearm/functions/fnc_removeMagazineFromSupply.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Removes a magazine from the supply. diff --git a/addons/rearm/functions/fnc_setSupplyCount.sqf b/addons/rearm/functions/fnc_setSupplyCount.sqf index 41b3016dba..e6eae13a7b 100644 --- a/addons/rearm/functions/fnc_setSupplyCount.sqf +++ b/addons/rearm/functions/fnc_setSupplyCount.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Sets the supply count. [Global Effects] diff --git a/addons/rearm/functions/fnc_setTurretMagazineAmmo.sqf b/addons/rearm/functions/fnc_setTurretMagazineAmmo.sqf index a999077d57..9744986f97 100644 --- a/addons/rearm/functions/fnc_setTurretMagazineAmmo.sqf +++ b/addons/rearm/functions/fnc_setTurretMagazineAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Tuupertunut * Sets the ammo counts of all magazines of given class in turret. diff --git a/addons/rearm/functions/fnc_storeAmmo.sqf b/addons/rearm/functions/fnc_storeAmmo.sqf index f693724323..e9f57369f3 100644 --- a/addons/rearm/functions/fnc_storeAmmo.sqf +++ b/addons/rearm/functions/fnc_storeAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Stores ammo in an ammo truck. diff --git a/addons/rearm/functions/fnc_takeAmmo.sqf b/addons/rearm/functions/fnc_takeAmmo.sqf index 12678b48c6..6a53e4dfdd 100644 --- a/addons/rearm/functions/fnc_takeAmmo.sqf +++ b/addons/rearm/functions/fnc_takeAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Starts progress bar for picking up a specific kind of magazine from an ammo truck. diff --git a/addons/rearm/functions/fnc_takeSuccess.sqf b/addons/rearm/functions/fnc_takeSuccess.sqf index e00d430f99..717d549b86 100644 --- a/addons/rearm/functions/fnc_takeSuccess.sqf +++ b/addons/rearm/functions/fnc_takeSuccess.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Takes a magazine from an ammo truck. diff --git a/addons/rearm/functions/script_component.hpp b/addons/rearm/functions/script_component.hpp deleted file mode 100644 index 515b56ddc7..0000000000 --- a/addons/rearm/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\rearm\script_component.hpp" diff --git a/addons/rearm/initSettings.sqf b/addons/rearm/initSettings.sqf index d83ac3c760..fc4e85be62 100644 --- a/addons/rearm/initSettings.sqf +++ b/addons/rearm/initSettings.sqf @@ -1,4 +1,4 @@ -private _category = [LELSTRING(OptionsMenu,CategoryLogistics), LLSTRING(DisplayName)]; +private _category = [ELSTRING(OptionsMenu,CategoryLogistics), LLSTRING(DisplayName)]; [ QGVAR(enabled), "CHECKBOX", diff --git a/addons/recoil/functions/fnc_camshake.sqf b/addons/recoil/functions/fnc_camshake.sqf index 72b9bcd060..8ffa0eb755 100644 --- a/addons/recoil/functions/fnc_camshake.sqf +++ b/addons/recoil/functions/fnc_camshake.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Orginal by Ryan Schultz, edited by KoffeinFlummi, commy2 * Adds camera shake when firing. Called from the unified fired EH only for the local player. diff --git a/addons/recoil/functions/script_component.hpp b/addons/recoil/functions/script_component.hpp deleted file mode 100644 index 62bacef4b6..0000000000 --- a/addons/recoil/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\recoil\script_component.hpp" diff --git a/addons/refuel/dev/test_debugConfigs.sqf b/addons/refuel/dev/test_debugConfigs.sqf index 834d3626bf..f427f07d28 100644 --- a/addons/refuel/dev/test_debugConfigs.sqf +++ b/addons/refuel/dev/test_debugConfigs.sqf @@ -1,7 +1,7 @@ // ["vehicleTransportFuel"] call ace_common_fnc_runTests; // execVM "z\ace\addons\refuel\dev\test_debugConfigs.sqf"; -#include "\z\ace\addons\refuel\script_component.hpp" +#include "..\script_component.hpp" private _testPass = true; diff --git a/addons/refuel/functions/fnc_canCheckFuel.sqf b/addons/refuel/functions/fnc_canCheckFuel.sqf index 22dfe616e7..97aadaf91b 100644 --- a/addons/refuel/functions/fnc_canCheckFuel.sqf +++ b/addons/refuel/functions/fnc_canCheckFuel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas, GitHawk * Checks if unit can check fuel. diff --git a/addons/refuel/functions/fnc_canConnectNozzle.sqf b/addons/refuel/functions/fnc_canConnectNozzle.sqf index 94e4eb7845..b1a85a2868 100644 --- a/addons/refuel/functions/fnc_canConnectNozzle.sqf +++ b/addons/refuel/functions/fnc_canConnectNozzle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: QuantX * Checks if an object can have a nozzle connected to it. diff --git a/addons/refuel/functions/fnc_canDisconnect.sqf b/addons/refuel/functions/fnc_canDisconnect.sqf index 1288d9f103..813706431a 100644 --- a/addons/refuel/functions/fnc_canDisconnect.sqf +++ b/addons/refuel/functions/fnc_canDisconnect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Check if a unit can disconnect a fuel nozzle diff --git a/addons/refuel/functions/fnc_canReturnNozzle.sqf b/addons/refuel/functions/fnc_canReturnNozzle.sqf index aef2e96fa0..ad74d9c962 100644 --- a/addons/refuel/functions/fnc_canReturnNozzle.sqf +++ b/addons/refuel/functions/fnc_canReturnNozzle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Check if a unit can return a fuel nozzle diff --git a/addons/refuel/functions/fnc_canTakeNozzle.sqf b/addons/refuel/functions/fnc_canTakeNozzle.sqf index db644c382c..a2dc39b815 100644 --- a/addons/refuel/functions/fnc_canTakeNozzle.sqf +++ b/addons/refuel/functions/fnc_canTakeNozzle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Check if a unit can take a fuel nozzle diff --git a/addons/refuel/functions/fnc_canTurnOff.sqf b/addons/refuel/functions/fnc_canTurnOff.sqf index 624cfde552..2e141fd2db 100644 --- a/addons/refuel/functions/fnc_canTurnOff.sqf +++ b/addons/refuel/functions/fnc_canTurnOff.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Check if a unit can turn off a fuel nozzle diff --git a/addons/refuel/functions/fnc_canTurnOn.sqf b/addons/refuel/functions/fnc_canTurnOn.sqf index 65c88a7068..a33861c754 100644 --- a/addons/refuel/functions/fnc_canTurnOn.sqf +++ b/addons/refuel/functions/fnc_canTurnOn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Check if a unit can turn on a fuel nozzle. diff --git a/addons/refuel/functions/fnc_checkFuel.sqf b/addons/refuel/functions/fnc_checkFuel.sqf index 72c1c2b896..9a4bcbab86 100644 --- a/addons/refuel/functions/fnc_checkFuel.sqf +++ b/addons/refuel/functions/fnc_checkFuel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Get the remaining fuel amount diff --git a/addons/refuel/functions/fnc_connectNozzleAction.sqf b/addons/refuel/functions/fnc_connectNozzleAction.sqf index de5660f19f..ad658492fa 100644 --- a/addons/refuel/functions/fnc_connectNozzleAction.sqf +++ b/addons/refuel/functions/fnc_connectNozzleAction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk et.al. * Calculates a connection for refueling. @@ -72,7 +72,7 @@ private _attachPosModel = _sink worldToModel (ASLtoAGL _bestPosASL); _args params [["_unit", objNull, [objNull]], ["_nozzle", objNull, [objNull]], ["_sink", objNull, [objNull]], ["_endPosTestOffset", [0,0,0], [[]], 3]]; _unit setVariable [QGVAR(nozzle), nil, true]; _unit setVariable [QGVAR(isRefueling), false]; - + private _source = _nozzle getVariable QGVAR(source); detach _nozzle; @@ -128,14 +128,14 @@ private _attachPosModel = _sink worldToModel (ASLtoAGL _bestPosASL); if ([_unit, _nozzle, false] call FUNC(canTurnOn)) then { [_unit, _nozzle, false] call FUNC(turnOn); } else { - [localize LSTRING(CouldNotTurnOn)] call EFUNC(common,displayText); + [localize LSTRING(CouldNotTurnOn)] call EFUNC(common,displayTextStructured); }; }; case (!_canReceive && _isContainer): { if ([_unit, _nozzle, true] call FUNC(canTurnOn)) then { [_unit, _nozzle, true] call FUNC(turnOn); } else { - [localize LSTRING(CouldNotTurnOn)] call EFUNC(common,displayText); + [localize LSTRING(CouldNotTurnOn)] call EFUNC(common,displayTextStructured); }; }; default { @@ -144,7 +144,7 @@ private _attachPosModel = _sink worldToModel (ASLtoAGL _bestPosASL); }; }, "", - localize LSTRING(ConnectAction), + localize ([LSTRING(ConnectAction), LSTRING(ConnectFuelCanisterAction)] select (_nozzle getVariable [QGVAR(jerryCan), false])), {true}, [INTERACT_EXCEPTIONS] ] call EFUNC(common,progressBar); diff --git a/addons/refuel/functions/fnc_disconnect.sqf b/addons/refuel/functions/fnc_disconnect.sqf index e27f220125..1bc1b2b8e8 100644 --- a/addons/refuel/functions/fnc_disconnect.sqf +++ b/addons/refuel/functions/fnc_disconnect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Disconnects a fuel nozzle and makes unit pick it up. diff --git a/addons/refuel/functions/fnc_dropNozzle.sqf b/addons/refuel/functions/fnc_dropNozzle.sqf index 28b8996864..5ca375dc29 100644 --- a/addons/refuel/functions/fnc_dropNozzle.sqf +++ b/addons/refuel/functions/fnc_dropNozzle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Detaches the fuel nozzle, drops it and removes player variables. diff --git a/addons/refuel/functions/fnc_getCapacity.sqf b/addons/refuel/functions/fnc_getCapacity.sqf index e67b5a5f06..94681480ae 100644 --- a/addons/refuel/functions/fnc_getCapacity.sqf +++ b/addons/refuel/functions/fnc_getCapacity.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: QuantX * Gets the capacity of a fuel source's tank. @@ -29,6 +29,8 @@ if (isNil "_capacity") then { // Set capacity even if this isn't a fuel source to save on config lookup time in the event this function is used in a loop _source setVariable [QGVAR(capacity), _capacity, true]; + // handle weird edge case when trying to run on "camera"/CfgNonAIVehicles which won't support setVariable and will inf-loop + if (isNil {_source getVariable QGVAR(capacity)}) exitWith { WARNING_1("trying to getCapacity from non-CfgVehicle %1", _this); }; [_source, _capacity] call FUNC(setFuel); }; diff --git a/addons/refuel/functions/fnc_getFuel.sqf b/addons/refuel/functions/fnc_getFuel.sqf index 0cc2cac0da..6bc82ee2d7 100644 --- a/addons/refuel/functions/fnc_getFuel.sqf +++ b/addons/refuel/functions/fnc_getFuel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk, Jonpas * Get the remaining fuel amount. diff --git a/addons/refuel/functions/fnc_handleDisconnect.sqf b/addons/refuel/functions/fnc_handleDisconnect.sqf index ebf0d729ea..cf4b37cce9 100644 --- a/addons/refuel/functions/fnc_handleDisconnect.sqf +++ b/addons/refuel/functions/fnc_handleDisconnect.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Cleans up refuel on client disconnect. diff --git a/addons/refuel/functions/fnc_handleRespawn.sqf b/addons/refuel/functions/fnc_handleRespawn.sqf index 893f893724..e82421626c 100644 --- a/addons/refuel/functions/fnc_handleRespawn.sqf +++ b/addons/refuel/functions/fnc_handleRespawn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Clean variables on unit respawn. diff --git a/addons/refuel/functions/fnc_initSource.sqf b/addons/refuel/functions/fnc_initSource.sqf index c484c151f4..5d5d6f2ea4 100644 --- a/addons/refuel/functions/fnc_initSource.sqf +++ b/addons/refuel/functions/fnc_initSource.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Adds refuel menu to object. diff --git a/addons/refuel/functions/fnc_makeJerryCan.sqf b/addons/refuel/functions/fnc_makeJerryCan.sqf index 8331f69d38..2a1bc75280 100644 --- a/addons/refuel/functions/fnc_makeJerryCan.sqf +++ b/addons/refuel/functions/fnc_makeJerryCan.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Makes an object into a jerry can. @@ -45,7 +45,7 @@ private _action = [QGVAR(Refuel), // Add pickup _action = [QGVAR(PickUpNozzle), - localize LSTRING(TakeNozzle), + localize LSTRING(TakeFuelCanister), QPATHTOF(ui\icon_refuel_interact.paa), {[_player, _target] call FUNC(takeNozzle)}, {[_player, _target] call FUNC(canTakeNozzle)}, @@ -105,7 +105,7 @@ _action = [QGVAR(TurnOff), // Add disconnect _action = [QGVAR(Disconnect), - localize LSTRING(Disconnect), + localize LSTRING(DisconnectFuelCanister), QPATHTOF(ui\icon_refuel_interact.paa), {[_player, _target] call FUNC(disconnect)}, {[_player, _target] call FUNC(canDisconnect)}, diff --git a/addons/refuel/functions/fnc_makeSource.sqf b/addons/refuel/functions/fnc_makeSource.sqf index 060d7177f5..38b2d8a261 100644 --- a/addons/refuel/functions/fnc_makeSource.sqf +++ b/addons/refuel/functions/fnc_makeSource.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Makes an object into a refuel source. diff --git a/addons/refuel/functions/fnc_moduleRefuelSettings.sqf b/addons/refuel/functions/fnc_moduleRefuelSettings.sqf index 1972397986..4ab654dd66 100644 --- a/addons/refuel/functions/fnc_moduleRefuelSettings.sqf +++ b/addons/refuel/functions/fnc_moduleRefuelSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Module for adjusting the refuel settings. diff --git a/addons/refuel/functions/fnc_onMouseButtonDown.sqf b/addons/refuel/functions/fnc_onMouseButtonDown.sqf index aa67b198ae..b103cedff7 100644 --- a/addons/refuel/functions/fnc_onMouseButtonDown.sqf +++ b/addons/refuel/functions/fnc_onMouseButtonDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Mouse button down event. diff --git a/addons/refuel/functions/fnc_readFuelCounter.sqf b/addons/refuel/functions/fnc_readFuelCounter.sqf index cf5ddd2f50..5ed8e20a62 100644 --- a/addons/refuel/functions/fnc_readFuelCounter.sqf +++ b/addons/refuel/functions/fnc_readFuelCounter.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Reads the fuel counter. diff --git a/addons/refuel/functions/fnc_refuel.sqf b/addons/refuel/functions/fnc_refuel.sqf index d588eb39ca..1cf7b4377a 100644 --- a/addons/refuel/functions/fnc_refuel.sqf +++ b/addons/refuel/functions/fnc_refuel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk, QuantX * Refuels the vehicle. diff --git a/addons/refuel/functions/fnc_returnNozzle.sqf b/addons/refuel/functions/fnc_returnNozzle.sqf index f891335d87..ea84f6a518 100644 --- a/addons/refuel/functions/fnc_returnNozzle.sqf +++ b/addons/refuel/functions/fnc_returnNozzle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk, Jonpas * Returns the nozzle back to source vehicle. diff --git a/addons/refuel/functions/fnc_setFuel.sqf b/addons/refuel/functions/fnc_setFuel.sqf index a7f35e8754..b458dba80f 100644 --- a/addons/refuel/functions/fnc_setFuel.sqf +++ b/addons/refuel/functions/fnc_setFuel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Set the remaining fuel amount. diff --git a/addons/refuel/functions/fnc_startNozzleInHandsPFH.sqf b/addons/refuel/functions/fnc_startNozzleInHandsPFH.sqf index 5d72ce8434..d2f1e2aaa5 100644 --- a/addons/refuel/functions/fnc_startNozzleInHandsPFH.sqf +++ b/addons/refuel/functions/fnc_startNozzleInHandsPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * PFH while nozzle is in hands. @@ -96,7 +96,7 @@ TRACE_2("start",_unit,_nozzle); getCursorObjectParams params ["_cursorObject", "", "_distance"]; if (!isNull _cursorObject && {_distance < REFUEL_NOZZLE_ACTION_DISTANCE}) then { if ([_cursorObject] call FUNC(canConnectNozzle)) then { - _hintLMB = localize LSTRING(Connect); + _hintLMB = localize ([LSTRING(Connect), LSTRING(ConnectFuelCanister)] select (_nozzle getVariable [QGVAR(jerryCan), false])); }; if ([_unit, _cursorObject] call FUNC(canReturnNozzle)) then { _hintRMB = localize LSTRING(Return); diff --git a/addons/refuel/functions/fnc_takeNozzle.sqf b/addons/refuel/functions/fnc_takeNozzle.sqf index 1678be5ec5..8eb0a16f1f 100644 --- a/addons/refuel/functions/fnc_takeNozzle.sqf +++ b/addons/refuel/functions/fnc_takeNozzle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Take a fuel nozzle either from a fuel truck/station or from the ground. @@ -77,11 +77,11 @@ params [ [_source, "blockEngine", "ACE_Refuel", true] call EFUNC(common,statusEffect_set); _source setVariable [QGVAR(isConnected), true, true]; _source setVariable [QGVAR(ownedNozzle), _nozzle, true]; - + // Prevent moving the fuel source while the hose is out _source setVariable [QGVAR(canCarryLast), _source getVariable [QEGVAR(dragging,canCarry), false], true]; _source setVariable [QGVAR(canDragLast), _source getVariable [QEGVAR(dragging,canDrag), false], true]; - + _source setVariable [QEGVAR(dragging,canCarry), false, true]; _source setVariable [QEGVAR(dragging,canDrag), false, true]; }; @@ -100,7 +100,7 @@ params [ [_unit, _nozzle] call FUNC(startNozzleInHandsPFH); }, {}, - localize LSTRING(TakeNozzleAction), + localize ([LSTRING(TakeNozzleAction), LSTRING(TakeFuelCanisterAction)] select (_object getVariable [QGVAR(jerryCan), false])), {true}, [INTERACT_EXCEPTIONS_REFUELING] ] call EFUNC(common,progressBar); diff --git a/addons/refuel/functions/fnc_turnOff.sqf b/addons/refuel/functions/fnc_turnOff.sqf index 6b5f17a95d..8d2a5b83df 100644 --- a/addons/refuel/functions/fnc_turnOff.sqf +++ b/addons/refuel/functions/fnc_turnOff.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Turn off a fuel nozzle. diff --git a/addons/refuel/functions/fnc_turnOn.sqf b/addons/refuel/functions/fnc_turnOn.sqf index 24c3aad8ae..6fc88c85ad 100644 --- a/addons/refuel/functions/fnc_turnOn.sqf +++ b/addons/refuel/functions/fnc_turnOn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: GitHawk * Turn on a fuel nozzle. diff --git a/addons/refuel/functions/script_component.hpp b/addons/refuel/functions/script_component.hpp deleted file mode 100644 index 167c1e614a..0000000000 --- a/addons/refuel/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\refuel\script_component.hpp" diff --git a/addons/refuel/initSettings.sqf b/addons/refuel/initSettings.sqf index 087e253dc4..8650a5b3db 100644 --- a/addons/refuel/initSettings.sqf +++ b/addons/refuel/initSettings.sqf @@ -1,7 +1,9 @@ +private _category = [ELSTRING(OptionsMenu,CategoryLogistics), "str_state_refuel"]; + [ QGVAR(rate), "SLIDER", [LSTRING(RefuelSettings_speed_DisplayName), LSTRING(RefuelSettings_speed_Description)], - [localize ELSTRING(OptionsMenu,CategoryLogistics), localize "str_state_refuel"], + _category, [0,25,1,1], // [min, max, default value, trailing decimals (-1 for whole numbers only)] true, // isGlobal {[QGVAR(rate), _this] call EFUNC(common,cbaSettings_settingChanged)} @@ -10,7 +12,7 @@ [ QGVAR(cargoRate), "SLIDER", [LSTRING(RefuelSettings_speedCargo_DisplayName), LSTRING(RefuelSettings_speedCargo_Description)], - [localize ELSTRING(OptionsMenu,CategoryLogistics), localize "str_state_refuel"], + _category, [0,250,10,1], // [min, max, default value, trailing decimals (-1 for whole numbers only)] true, // isGlobal {[QGVAR(cargoRate), _this] call EFUNC(common,cbaSettings_settingChanged)} @@ -19,7 +21,7 @@ [ QGVAR(hoseLength), "SLIDER", [LSTRING(RefuelSettings_hoseLength_DisplayName)], - [localize ELSTRING(OptionsMenu,CategoryLogistics), localize "str_state_refuel"], + _category, [0,50,12,1], // [min, max, default value, trailing decimals (-1 for whole numbers only)] true, // isGlobal {[QGVAR(hoseLength), _this] call EFUNC(common,cbaSettings_settingChanged)} @@ -28,7 +30,7 @@ [ QGVAR(progressDuration), "TIME", [LSTRING(RefuelSettings_progressDuration_DisplayName), LSTRING(RefuelSettings_progressDuration_Description)], - [localize ELSTRING(OptionsMenu,CategoryLogistics), localize "str_state_refuel"], + _category, [0, 10, 2], // [min, max, default value] true, // isGlobal {[QGVAR(progressDuration), _this] call EFUNC(common,cbaSettings_settingChanged)} diff --git a/addons/refuel/stringtable.xml b/addons/refuel/stringtable.xml index a8b0e672aa..fde7417d10 100644 --- a/addons/refuel/stringtable.xml +++ b/addons/refuel/stringtable.xml @@ -54,12 +54,18 @@ 화물 주유량 Caudal de llenado de la carga 貨物流量 + Prędkość Tankowania Ładunku + Frachtflussrate + Vitesse de ravitaillement How fast should a fuel source's tank be filled? 연료 공급처의 저장 탱크를 얼마나 빨리 채웁니까? Cómo de rápido puede llenarse una fuente de combustible. どのくらいの速さで給油源へ給油しますか? + Jak szybko zbiornik paliwa powinien być napełniany? + Wie schnell sollte der Tank einer Kraftstoffquelle gefüllt werden? + A quelle vitesse le réservoir de carburant doit-il être rempli ? Refuel @@ -307,6 +313,8 @@ 연료 재급유 시작 (컨테이너) Iniciando repostado (contenedor) 給油を始める (コンテナ) + Rozpocznij tankowanie (zbiornik) + Commencer le ravitaillement (container) Couldn't turn on fuel nozzle @@ -484,6 +492,26 @@ 已加入%1公升 %1 litre dolduruldu + + Pick up fuel canister + 燃料キャニスターを持つ + + + Picking fuel canister up... + 燃料キャニスターを持ち上げています・・・ + + + Connect fuel canister + 燃料キャニスターを接続する + + + Connecting fuel canister... + 燃料キャニスターを接続しています・・・ + + + Disconnect fuel canister + 燃料キャニスターを外します + Refuel hose length Betankung Schlauchlänge @@ -507,6 +535,9 @@ Время взаимодействия со шлангом Tiempo de interacción con la Bomba/Manguera ポンプとホースのインタラクション時間 + Czas Interakcji z Pompą/Wężem + Interaktionszeit zwischen Pumpe und Schlauch + Temps d'interaction pompe/tuyau How long refuel interactions take in seconds. @@ -515,6 +546,9 @@ Время в секундах, которое занимает взаимодействие со шлангом. Cuanto tiempo en segundos tardan las interacciones de repostado. 燃料補給にかかる時間 (秒) + Jak długo powinna trwać interakcja tankowania w sekundach. + Wie lange Auftank-Interaktionen in Sekunden dauern. + Durée des interactions de ravitaillement en secondes. Fuel Cargo Volume diff --git a/addons/reload/ACE_Arsenal_Stats.hpp b/addons/reload/ACE_Arsenal_Stats.hpp new file mode 100644 index 0000000000..8311a62632 --- /dev/null +++ b/addons/reload/ACE_Arsenal_Stats.hpp @@ -0,0 +1,13 @@ +class EGVAR(arsenal,stats) { + class statBase; + class ACE_isBelt: statBase { + scope = 2; + priority = -1; + stats[] = {"ACE_isBelt"}; + displayName = CSTRING(LinkBelt); + showText = 1; + textStatement = QUOTE(localize QUOTE(ELSTRING(Common,Enabled))); + condition = QUOTE(params[ARR_2('_stat','_config')]; (getNumber (_config >> _stat select 0)) == 1); + tabs[] = {{}, {4}}; + }; +}; diff --git a/addons/reload/CfgVehicles.hpp b/addons/reload/CfgVehicles.hpp index ff0df195d3..22086ad867 100644 --- a/addons/reload/CfgVehicles.hpp +++ b/addons/reload/CfgVehicles.hpp @@ -17,8 +17,8 @@ class CfgVehicles { class GVAR(linkBelt) { displayName = CSTRING(linkBelt); distance = 2; - condition = QUOTE(([ARR_2(_player, _target)] call FUNC(getAmmoToLinkBelt)) > 0); - statement = QUOTE([ARR_2(_player, _target)] call FUNC(startLinkingBelt)); + condition = QUOTE(([ARR_2(_player,_target)] call FUNC(getAmmoToLinkBelt)) > 0); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(startLinkingBelt)); exceptions[] = {"isNotInside"}; }; class GVAR(checkAmmo) { diff --git a/addons/reload/config.cpp b/addons/reload/config.cpp index 21e28d35f5..1cd11c5b17 100644 --- a/addons/reload/config.cpp +++ b/addons/reload/config.cpp @@ -14,6 +14,7 @@ class CfgPatches { }; }; +#include "ACE_Arsenal_Stats.hpp" #include "CfgVehicles.hpp" #include "CfgMagazines.hpp" #include "CfgEventHandlers.hpp" diff --git a/addons/reload/functions/fnc_canCheckAmmo.sqf b/addons/reload/functions/fnc_canCheckAmmo.sqf index 652e521ec7..96b9f88d50 100644 --- a/addons/reload/functions/fnc_canCheckAmmo.sqf +++ b/addons/reload/functions/fnc_canCheckAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: CAA-Picard, johnb43 * Check if a unit can check the ammo of the target. diff --git a/addons/reload/functions/fnc_canCheckAmmoSelf.sqf b/addons/reload/functions/fnc_canCheckAmmoSelf.sqf index 14439af09f..b554833fb0 100644 --- a/addons/reload/functions/fnc_canCheckAmmoSelf.sqf +++ b/addons/reload/functions/fnc_canCheckAmmoSelf.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: veteran29 * Check if the player can check his own ammo. diff --git a/addons/reload/functions/fnc_checkAmmo.sqf b/addons/reload/functions/fnc_checkAmmo.sqf index 3cb3aa891a..f558d91769 100644 --- a/addons/reload/functions/fnc_checkAmmo.sqf +++ b/addons/reload/functions/fnc_checkAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, esteldunedain * Play animation and display message. diff --git a/addons/reload/functions/fnc_displayAmmo.sqf b/addons/reload/functions/fnc_displayAmmo.sqf index 06da24a7e4..68e176587a 100644 --- a/addons/reload/functions/fnc_displayAmmo.sqf +++ b/addons/reload/functions/fnc_displayAmmo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, esteldunedain * Display the ammo of the currently loaded magazine of the target or count rifle grenades. diff --git a/addons/reload/functions/fnc_getAmmoToLinkBelt.sqf b/addons/reload/functions/fnc_getAmmoToLinkBelt.sqf index 87f2c56a1c..60bfdd918a 100644 --- a/addons/reload/functions/fnc_getAmmoToLinkBelt.sqf +++ b/addons/reload/functions/fnc_getAmmoToLinkBelt.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain, phyma * Check if the target has an MG equipped with belt system that a unit can link. diff --git a/addons/reload/functions/fnc_onTake.sqf b/addons/reload/functions/fnc_onTake.sqf index 3b5cda0873..b3312c888c 100644 --- a/addons/reload/functions/fnc_onTake.sqf +++ b/addons/reload/functions/fnc_onTake.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: jokoho48 * Called from "Take" EH. diff --git a/addons/reload/functions/fnc_startLinkingBelt.sqf b/addons/reload/functions/fnc_startLinkingBelt.sqf index 0e71836430..3c116c1532 100644 --- a/addons/reload/functions/fnc_startLinkingBelt.sqf +++ b/addons/reload/functions/fnc_startLinkingBelt.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain, johnb43 * Start linking the belt. diff --git a/addons/reload/functions/script_component.hpp b/addons/reload/functions/script_component.hpp deleted file mode 100644 index a95b9c989a..0000000000 --- a/addons/reload/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\reload\script_component.hpp" diff --git a/addons/reload/stringtable.xml b/addons/reload/stringtable.xml index ce26ac7ec8..9aa239a2f9 100644 --- a/addons/reload/stringtable.xml +++ b/addons/reload/stringtable.xml @@ -109,7 +109,7 @@ Attacca la tracolla Ligar cintos de munição ベルトを繋げる - 벨트 연결 + 탄띠 연결 连接弹链 連接彈鏈 @@ -125,7 +125,7 @@ Attaccando la tracolla... Ligando cintos... ベルトを繋げています・・・ - 벨트 연결 중... + 탄띠 연결 중... 正在连接弹链... 連接彈鏈中... @@ -134,12 +134,16 @@ Bande a été attachée Gurt wurde angehängt ベルトがリンクされた + Taśma została połączona + 탄띠가 연결되었습니다 Belt could not be linked Bande n'a pas pu être attachée Gurt konnte nicht angehängt werden ベルトはリンクされなかった + Taśma nie mogła być połączona + 탄띠를 연결할 수 없습니다 diff --git a/addons/reloadlaunchers/ACE_Arsenal_Stats.hpp b/addons/reloadlaunchers/ACE_Arsenal_Stats.hpp new file mode 100644 index 0000000000..9b42950c4d --- /dev/null +++ b/addons/reloadlaunchers/ACE_Arsenal_Stats.hpp @@ -0,0 +1,13 @@ +class EGVAR(arsenal,stats) { + class statBase; + class ADDON: statBase { + scope = 2; + priority = -1; + stats[] = {QGVAR(enabled)}; + displayName = CSTRING(featureDescription); + showText = 1; + textStatement = QUOTE(localize QUOTE(ELSTRING(Common,Enabled))); + condition = QUOTE(params[ARR_2('_stat','_config')]; (getNumber (_config >> _stat select 0)) == 1); + tabs[] = {{2}, {}}; + }; +}; diff --git a/addons/reloadlaunchers/config.cpp b/addons/reloadlaunchers/config.cpp index bf9a5fa928..30407c4d7b 100644 --- a/addons/reloadlaunchers/config.cpp +++ b/addons/reloadlaunchers/config.cpp @@ -14,6 +14,7 @@ class CfgPatches { }; }; +#include "ACE_Arsenal_Stats.hpp" #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" #include "CfgWeapons.hpp" diff --git a/addons/reloadlaunchers/functions/fnc_addMissileReloadActions.sqf b/addons/reloadlaunchers/functions/fnc_addMissileReloadActions.sqf index 05b766dd95..1d54ba0fde 100644 --- a/addons/reloadlaunchers/functions/fnc_addMissileReloadActions.sqf +++ b/addons/reloadlaunchers/functions/fnc_addMissileReloadActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Create one action per reloadable missile. diff --git a/addons/reloadlaunchers/functions/fnc_canLoad.sqf b/addons/reloadlaunchers/functions/fnc_canLoad.sqf index 3786aed06b..3e5d6303d1 100644 --- a/addons/reloadlaunchers/functions/fnc_canLoad.sqf +++ b/addons/reloadlaunchers/functions/fnc_canLoad.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, johnb43 * Check if the unit can reload the launcher of the target unit. diff --git a/addons/reloadlaunchers/functions/fnc_getLoadableMissiles.sqf b/addons/reloadlaunchers/functions/fnc_getLoadableMissiles.sqf index 1a661b4722..271fcf5a0d 100644 --- a/addons/reloadlaunchers/functions/fnc_getLoadableMissiles.sqf +++ b/addons/reloadlaunchers/functions/fnc_getLoadableMissiles.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, johnb43 * Return all magazine types from reloader's inventory that are compatible with the given launcher. diff --git a/addons/reloadlaunchers/functions/fnc_load.sqf b/addons/reloadlaunchers/functions/fnc_load.sqf index 6542b44c22..6ef32e4539 100644 --- a/addons/reloadlaunchers/functions/fnc_load.sqf +++ b/addons/reloadlaunchers/functions/fnc_load.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, johnb43, drofseh * Start reloading a launcher, reload started by the unit who has the missile. diff --git a/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf b/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf index 2c159fbd25..592c3af283 100644 --- a/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf +++ b/addons/reloadlaunchers/functions/fnc_reloadLauncher.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, johnb43, drofseh * Reload a launcher for the unit who has the launcher. diff --git a/addons/reloadlaunchers/functions/script_component.hpp b/addons/reloadlaunchers/functions/script_component.hpp deleted file mode 100644 index 18d4eefebd..0000000000 --- a/addons/reloadlaunchers/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\reloadlaunchers\script_component.hpp" diff --git a/addons/reloadlaunchers/stringtable.xml b/addons/reloadlaunchers/stringtable.xml index 2887f93691..c00ae61339 100644 --- a/addons/reloadlaunchers/stringtable.xml +++ b/addons/reloadlaunchers/stringtable.xml @@ -3,11 +3,19 @@ Display notifications for buddy loading - バディ装填時の通知表示 + バディローディング時の通知表示 + Wyświetlanie powiadomień o ładowaniu przez asystenta + Buddy Nachlade Nachricht anzeigen + 동료의 장전에 대한 알림 표시 + Affichage de notifications lors d'une rechargement par un ami Displays notifications when an assistant loads a gunner's launcher. 助手が射手のランチャーを装填した際に通知を表示します。 + Wyświetla powiadomienie, gdy asystent ładuje wyrzutnię. + Zeigt Benachrichtigungen an, wenn ein Assistent den Werfer eines Richtschützen lädt. + 부사수가 사수의 발사기를 장전할 때 알림을 표시합니다. + Affiche une notofication lorsqu'un assistant recharge l'arme du tireur. Load launcher @@ -31,12 +39,16 @@ %1 lädt deine Panzerabwehr %1 charge ton lanceur %1 がランチャーを装填しています + %1 ładuje twoją wyrzutnię + %1이(가) 당신의 발사기를 장전했습니다. %1 stopped loading your launcher %1 hat aufgehört, deine Panzerabwehr zu laden %1 a arrêté de charger ton lanceur %1 がランチャーの装填を中断しました + %1 przestał ładować twoją wyrzutnię + %1이(가) 당신의 발사기 장전을 멈췄습니다. Loading launcher... @@ -92,8 +104,18 @@ Launcher could not be loaded Panzerabwehr konnte nicht geladen werden - Lanceur n'a pas pu être chargé + Le lanceur n'a pas pu être chargé ランチャーを装填できませんでした + Wyrzutnia nie mogła być załadowana + 발사기를 장전할 수 없습니다. + + + Buddy Loading + Ładowanie przez Asystenta + 부사수 장전 중 + Chargement par un ami + Nachladen durch Kamerad + バディローディング diff --git a/addons/repair/CfgVehicles.hpp b/addons/repair/CfgVehicles.hpp index 6a58e07a6f..ce74737b76 100644 --- a/addons/repair/CfgVehicles.hpp +++ b/addons/repair/CfgVehicles.hpp @@ -405,8 +405,8 @@ class CfgVehicles { class GVAR(Patch) { displayName = CSTRING(PatchWheel); distance = 4; - condition = QUOTE([ARR_2(_player, _target)] call FUNC(canPatchRemovedWheel)); - statement = QUOTE([ARR_2(_player, _target)] call FUNC(patchRemovedWheel)); + condition = QUOTE([ARR_2(_player,_target)] call FUNC(canPatchRemovedWheel)); + statement = QUOTE([ARR_2(_player,_target)] call FUNC(patchRemovedWheel)); exceptions[] = {"isNotDragging", "isNotCarrying", "isNotOnLadder", "isNotSwimming", "isNotSitting"}; icon = QPATHTOF(ui\patch_ca.paa); }; diff --git a/addons/repair/XEH_PREP.hpp b/addons/repair/XEH_PREP.hpp index ea9e40a4e7..186ec0b310 100644 --- a/addons/repair/XEH_PREP.hpp +++ b/addons/repair/XEH_PREP.hpp @@ -21,7 +21,7 @@ PREP(fullRepairProgress); PREP(getClaimObjects); PREP(getFullRepairTime); PREP(getHitPointString); -PREP(getHitPointsToIgnore); +PREP(getSelectionsToIgnore); PREP(getPatchWheelTime); PREP(getPostRepairDamage); PREP(getRepairItems); diff --git a/addons/repair/XEH_postInit.sqf b/addons/repair/XEH_postInit.sqf index f717e56651..58bb1be6e5 100644 --- a/addons/repair/XEH_postInit.sqf +++ b/addons/repair/XEH_postInit.sqf @@ -64,7 +64,8 @@ private _spareTracks = _vehicle getVariable QGVAR(editorLoadedTracks); if (isNil "_spareTracks") then { - _spareTracks = parseNumber (_vehicle isKindOf "Tank"); // must match eden attribute default + private _defaultCount = parseNumber (_vehicle isKindOf "Tank"); // must match eden attribute default + _spareTracks = [configOf _vehicle >> QGVAR(spareTracks), "NUMBER", _defaultCount] call CBA_fnc_getConfigEntry; }; if (_spareTracks > 0) then { [_vehicle, _spareTracks, "ACE_Track"] call FUNC(addSpareParts); @@ -72,7 +73,8 @@ private _spareWheels = _vehicle getVariable QGVAR(editorLoadedWheels); if (isNil "_spareWheels") then { - _spareWheels = parseNumber (_vehicle isKindOf "Car"); // must match eden attribute default + private _defaultCount = parseNumber (_vehicle isKindOf "Car"); // must match eden attribute default + _spareWheels = [configOf _vehicle >> QGVAR(spareWheels), "NUMBER", _defaultCount] call CBA_fnc_getConfigEntry; }; if (_spareWheels > 0) then { [_vehicle, _spareWheels, "ACE_Wheel"] call FUNC(addSpareParts); diff --git a/addons/repair/dev/draw_showRepairInfo.sqf b/addons/repair/dev/draw_showRepairInfo.sqf index 52b180392f..f516e14ef9 100644 --- a/addons/repair/dev/draw_showRepairInfo.sqf +++ b/addons/repair/dev/draw_showRepairInfo.sqf @@ -1,7 +1,7 @@ // PabstMirror // [] execVM "\z\ace\addons\repair\dev\draw_showRepairInfo.sqf"; -#include "\z\ace\addons\repair\script_component.hpp" +#include "..\script_component.hpp" addMissionEventHandler ["Draw3D", { if !((cursorObject isKindOf "Car") || (cursorObject isKindOf "Tank") || (cursorObject isKindOf "Air")) exitWith {}; diff --git a/addons/repair/functions/fnc_addRepairActions.sqf b/addons/repair/functions/fnc_addRepairActions.sqf index 16f88bf3d5..d071f577a6 100644 --- a/addons/repair/functions/fnc_addRepairActions.sqf +++ b/addons/repair/functions/fnc_addRepairActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, kymckay * Checks if the vehicles class already has the actions initialized, otherwise add all available repair options. Calleed from init EH. @@ -28,9 +28,10 @@ TRACE_2("addRepairActions", _vehicle,_type); // do nothing if the class is already initialized private _initializedClasses = GETMVAR(GVAR(initializedClasses),[]); if (_type in _initializedClasses) exitWith {}; +if (_type == "") exitWith {}; -// get hitPoints to ignore -private _hitPointsToIgnore = [_vehicle] call FUNC(getHitPointsToIgnore); +// get selections to ignore +private _selectionsToIgnore = _vehicle call FUNC(getSelectionsToIgnore); // get all hitpoints and selections (getAllHitPointsDamage _vehicle) params [["_hitPoints", []], ["_hitSelections", []]]; // Since 1.82 these are all lower case @@ -41,7 +42,6 @@ private _hitPointsToIgnore = [_vehicle] call FUNC(getHitPointsToIgnore); private _hitPointsAddedNames = []; private _hitPointsAddedStrings = []; private _hitPointsAddedAmount = []; -private _processedSelections = []; private _icon = ["a3\ui_f\data\igui\cfg\actions\repair_ca.paa", "#FFFFFF"]; private _vehCfg = configOf _vehicle; @@ -53,10 +53,14 @@ private _turretPaths = ((fullCrew [_vehicle, "gunner", true]) + (fullCrew [_vehi { private _selection = _x; private _hitpoint = toLower (_hitPoints select _forEachIndex); - if (_selection in _wheelHitSelections) then { - // Wheels should always be unique - if (_selection in _processedSelections) exitWith {TRACE_3("Duplicate Wheel",_hitpoint,_forEachIndex,_selection);}; + // Skip ignored selections + if (_forEachIndex in _selectionsToIgnore) then { + TRACE_3("Skipping ignored hitpoint",_hitpoint,_forEachIndex,_selection); + continue + }; + + if (_selection in _wheelHitSelections) then { private _position = compile format ["_target selectionPosition ['%1', 'HitPoints', 'AveragePoint'];", _selection]; TRACE_3("Adding Wheel Actions",_hitpoint,_forEachIndex,_selection); @@ -90,14 +94,7 @@ private _turretPaths = ((fullCrew [_vehicle, "gunner", true]) + (fullCrew [_vehi private _statement = {[_this select 1, _this select 0, _this select 2 select 0, "PatchWheel"] call DFUNC(repair)}; private _action = [_name, _text, _patchIcon, _statement, _condition, {}, [_hitpoint], _position, 2] call EFUNC(interact_menu,createAction); [_type, 0, [_root], _action] call EFUNC(interact_menu,addActionToClass); - - _processedSelections pushBack _selection; } else { - // Skip ignored hitpoints - if (_hitpoint in _hitPointsToIgnore) exitWith { - TRACE_3("Skipping ignored hitpoint",_hitpoint,_forEachIndex,_selection); - }; - // Some hitpoints do not have a selection but do have an armorComponent value (seems to mainly be RHS) // Ref https://community.bistudio.com/wiki/Arma_3_Damage_Enhancement // this code won't support identically named hitpoints (e.g. commander turret: Duplicate HitPoint name 'HitTurret') @@ -156,8 +153,6 @@ private _turretPaths = ((fullCrew [_vehicle, "gunner", true]) + (fullCrew [_vehi _hitPointsAddedAmount = _trackArray select 2; if (_hitpoint in TRACK_HITPOINTS) then { - // Tracks should always be unique - if (_selection in _processedSelections) exitWith {TRACE_3("Duplicate Track",_hitpoint,_forEachIndex,_selection);}; _position = compile format ["private _return = _target selectionPosition ['%1', 'HitPoints']; _return set [1, 0]; _return", _selection]; TRACE_4("Adding RepairTrack",_hitpoint,_forEachIndex,_selection,_text); private _condition = {[_this select 1, _this select 0, _this select 2 select 0, "RepairTrack"] call DFUNC(canRepair)}; @@ -176,8 +171,6 @@ private _turretPaths = ((fullCrew [_vehicle, "gunner", true]) + (fullCrew [_vehi [_type, 0, [], _action] call EFUNC(interact_menu,addActionToClass); }; }; - - _processedSelections pushBack _selection; }; } forEach _hitSelections; diff --git a/addons/repair/functions/fnc_addSpareParts.sqf b/addons/repair/functions/fnc_addSpareParts.sqf index c83397ed4b..0f2a5c26cc 100644 --- a/addons/repair/functions/fnc_addSpareParts.sqf +++ b/addons/repair/functions/fnc_addSpareParts.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Adds spare parts to the vehicle. Before SettingsInitialized only collect for later execution. diff --git a/addons/repair/functions/fnc_canMiscRepair.sqf b/addons/repair/functions/fnc_canMiscRepair.sqf index 2fc4c2b3d6..d5e55c5a13 100644 --- a/addons/repair/functions/fnc_canMiscRepair.sqf +++ b/addons/repair/functions/fnc_canMiscRepair.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Check if misc repair action can be done, called from callbackSuccess. diff --git a/addons/repair/functions/fnc_canPatchRemovedWheel.sqf b/addons/repair/functions/fnc_canPatchRemovedWheel.sqf index 870f6919c6..261b3e5699 100644 --- a/addons/repair/functions/fnc_canPatchRemovedWheel.sqf +++ b/addons/repair/functions/fnc_canPatchRemovedWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Brett Mayson * Check if the unit can patch a wheel not on a vehicle. diff --git a/addons/repair/functions/fnc_canPatchWheel.sqf b/addons/repair/functions/fnc_canPatchWheel.sqf index 46d73e9cba..0338f05729 100644 --- a/addons/repair/functions/fnc_canPatchWheel.sqf +++ b/addons/repair/functions/fnc_canPatchWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Brett Mayson * Check if the unit can patch given wheel of the vehicle. diff --git a/addons/repair/functions/fnc_canRemove.sqf b/addons/repair/functions/fnc_canRemove.sqf index 77fc7b0eb4..b487964535 100644 --- a/addons/repair/functions/fnc_canRemove.sqf +++ b/addons/repair/functions/fnc_canRemove.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if the unit can remove given wheel/track of the vehicle. diff --git a/addons/repair/functions/fnc_canRepair.sqf b/addons/repair/functions/fnc_canRepair.sqf index 11a5dea209..264baf9ef0 100644 --- a/addons/repair/functions/fnc_canRepair.sqf +++ b/addons/repair/functions/fnc_canRepair.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Check if the repair action can be performed. diff --git a/addons/repair/functions/fnc_canRepairTrack.sqf b/addons/repair/functions/fnc_canRepairTrack.sqf index 8559ff1a9c..1ee88d373e 100644 --- a/addons/repair/functions/fnc_canRepairTrack.sqf +++ b/addons/repair/functions/fnc_canRepairTrack.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if the unit can replace given track of the vehicle. diff --git a/addons/repair/functions/fnc_canReplaceTrack.sqf b/addons/repair/functions/fnc_canReplaceTrack.sqf index d975c60efb..abafa79835 100644 --- a/addons/repair/functions/fnc_canReplaceTrack.sqf +++ b/addons/repair/functions/fnc_canReplaceTrack.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if the unit can replace given track of the vehicle. diff --git a/addons/repair/functions/fnc_canReplaceWheel.sqf b/addons/repair/functions/fnc_canReplaceWheel.sqf index 54e8e8cdf6..dae0a0e9d4 100644 --- a/addons/repair/functions/fnc_canReplaceWheel.sqf +++ b/addons/repair/functions/fnc_canReplaceWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Check if the unit can replace given wheel of the vehicle. diff --git a/addons/repair/functions/fnc_doFullRepair.sqf b/addons/repair/functions/fnc_doFullRepair.sqf index fb248e6a2f..5027fcf280 100644 --- a/addons/repair/functions/fnc_doFullRepair.sqf +++ b/addons/repair/functions/fnc_doFullRepair.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Fully repairs vehicle. diff --git a/addons/repair/functions/fnc_doPatchWheelProgress.sqf b/addons/repair/functions/fnc_doPatchWheelProgress.sqf index c2561bef0d..4d9b84ebc2 100644 --- a/addons/repair/functions/fnc_doPatchWheelProgress.sqf +++ b/addons/repair/functions/fnc_doPatchWheelProgress.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, Brett Mayson * Called by repair action / progress bar. Raise events to set the new hitpoint damage. diff --git a/addons/repair/functions/fnc_doRemoveTrack.sqf b/addons/repair/functions/fnc_doRemoveTrack.sqf index d15993752f..6e882061ce 100644 --- a/addons/repair/functions/fnc_doRemoveTrack.sqf +++ b/addons/repair/functions/fnc_doRemoveTrack.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Called by repair action / progress bar. Raise events to set the new hitpoint damage. diff --git a/addons/repair/functions/fnc_doRemoveWheel.sqf b/addons/repair/functions/fnc_doRemoveWheel.sqf index 127859a5b9..4715bf080f 100644 --- a/addons/repair/functions/fnc_doRemoveWheel.sqf +++ b/addons/repair/functions/fnc_doRemoveWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Called by repair action / progress bar. Raise events to set the new hitpoint damage. diff --git a/addons/repair/functions/fnc_doRepair.sqf b/addons/repair/functions/fnc_doRepair.sqf index 2874eaf2f8..d02ab33fb7 100644 --- a/addons/repair/functions/fnc_doRepair.sqf +++ b/addons/repair/functions/fnc_doRepair.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Called by repair action / progress bar. Raise events to set the new hitpoint damage. diff --git a/addons/repair/functions/fnc_doRepairTrack.sqf b/addons/repair/functions/fnc_doRepairTrack.sqf index 71d06b60f2..a970488268 100644 --- a/addons/repair/functions/fnc_doRepairTrack.sqf +++ b/addons/repair/functions/fnc_doRepairTrack.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Called by repair action / progress bar. Raise events to set the new hitpoint damage. diff --git a/addons/repair/functions/fnc_doReplaceTrack.sqf b/addons/repair/functions/fnc_doReplaceTrack.sqf index 60dd486f44..d52072b647 100644 --- a/addons/repair/functions/fnc_doReplaceTrack.sqf +++ b/addons/repair/functions/fnc_doReplaceTrack.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Replaces a track. diff --git a/addons/repair/functions/fnc_doReplaceWheel.sqf b/addons/repair/functions/fnc_doReplaceWheel.sqf index e42c7cabf2..98c3d95cf9 100644 --- a/addons/repair/functions/fnc_doReplaceWheel.sqf +++ b/addons/repair/functions/fnc_doReplaceWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Repairs a vehicle's wheel with a ACE_wheel spare part object. diff --git a/addons/repair/functions/fnc_fullRepairProgress.sqf b/addons/repair/functions/fnc_fullRepairProgress.sqf index 444bb750b3..b021c492c0 100644 --- a/addons/repair/functions/fnc_fullRepairProgress.sqf +++ b/addons/repair/functions/fnc_fullRepairProgress.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Handles full repair by periodically repairing damaged hitpoints. @@ -32,11 +32,10 @@ if (_totalTime - _elapsedTime > ([_engineer, _vehicle] call FUNC(getFullRepairTi private _allHitPointsDamage = getAllHitPointsDamage _vehicle; _allHitPointsDamage params ["_hitPoints", "", "_damageValues"]; -private _hitPointsToIgnore = [_vehicle] call FUNC(getHitPointsToIgnore); +private _selectionsToIgnore = _vehicle call FUNC(getSelectionsToIgnore); private _firstDamagedIndex = { - private _hitPoint = _hitPoints select _forEachIndex; - if (_x > 0 && {!(_hitPoint in _hitPointsToIgnore)}) exitWith {_forEachIndex}; + if (_x > 0 && {!(_forEachIndex in _selectionsToIgnore)}) exitWith {_forEachIndex}; -1 } forEach _damageValues; diff --git a/addons/repair/functions/fnc_getClaimObjects.sqf b/addons/repair/functions/fnc_getClaimObjects.sqf index 2348cd82ce..ca02ef14c1 100644 --- a/addons/repair/functions/fnc_getClaimObjects.sqf +++ b/addons/repair/functions/fnc_getClaimObjects.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Returns array of required nearby repair objects (wheels/tracks). @@ -7,6 +7,7 @@ * 0: Unit that does the repairing * 1: Max range to seach from unit (meters) * 2: Array of arrays of classnames + * 3: Sort objects by damage (default: false) * * Return Value: * Array of objects, or [] if not all available @@ -17,8 +18,8 @@ * Public: Yes */ -params ["_unit", "_maxRange", "_objectsToClaim"]; -TRACE_3("params",_unit,_maxRange,_objectsToClaim); +params ["_unit", "_maxRange", "_objectsToClaim", ["_sortByDamage", false]]; +TRACE_4("params",_unit,_maxRange,_objectsToClaim,_sortByDamage); private _return = []; @@ -27,6 +28,11 @@ private _return = []; private _ableToAquire = []; //will be array of objects { private _nearObjects = _unit nearEntities [_x, _maxRange]; + if (_sortByDamage && {count _nearObjects > 1}) then { + _nearObjects = _nearObjects apply {[damage _x, _x]}; + _nearObjects sort true; + _nearObjects = _nearObjects apply {_x select 1}; + }; { if (!(_x in _ableToAquire) && {(_x getVariable [QEGVAR(common,owner), objNull]) in [objNull, _unit]}) exitWith { // skip claimed objects _ableToAquire pushBack _x diff --git a/addons/repair/functions/fnc_getFullRepairTime.sqf b/addons/repair/functions/fnc_getFullRepairTime.sqf index 78f46472a5..a570685328 100644 --- a/addons/repair/functions/fnc_getFullRepairTime.sqf +++ b/addons/repair/functions/fnc_getFullRepairTime.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LinkIsGrim * Calculates the Full Repair time based on the amount of hitpoints to repair @@ -21,14 +21,13 @@ params ["_engineer", "_vehicle"]; private _allHitPointsDamage = getAllHitPointsDamage _vehicle; _allHitPointsDamage params ["_hitPoints", "", "_damageValues"]; -private _hitPointsToIgnore = [_vehicle] call FUNC(getHitPointsToIgnore); +private _selectionsToIgnore = _vehicle call FUNC(getSelectionsToIgnore); private _repairsNeeded = 0; private _doExtraRepair = false; { if (_x <= 0) then {continue}; // skip hitpoints that don't need repairs - private _hitPoint = _hitPoints select _forEachIndex; - if (_hitPoint in _hitPointsToIgnore) then { // only add extra repair for ignore hitpoints if they're damaged + if (_forEachIndex in _selectionsToIgnore) then { // only add extra repair for ignore hitpoints if they're damaged _doExtraRepair = true; continue }; diff --git a/addons/repair/functions/fnc_getHitPointString.sqf b/addons/repair/functions/fnc_getHitPointString.sqf index 7439d35c12..5611a6f4e3 100644 --- a/addons/repair/functions/fnc_getHitPointString.sqf +++ b/addons/repair/functions/fnc_getHitPointString.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Finds the localized string of the given hitpoint name or uses default text if none found. @@ -36,6 +36,9 @@ if (_track) then { //IGNORE_STRING_WARNING(str_ace_repair_hit); private _text = LSTRING(Hit); +// Remove # prefix +if ((_hitpoint select [0, 1]) == "#") then { _hitPoint = _hitPoint select [1] }; + // Remove "Hit" from hitpoint name if one exists private _toFind = if ((toLower _hitPoint) find "hit" == 0) then { [_hitPoint, 3] call CBA_fnc_substr diff --git a/addons/repair/functions/fnc_getPatchWheelTime.sqf b/addons/repair/functions/fnc_getPatchWheelTime.sqf index 5447ef4211..7406261e79 100644 --- a/addons/repair/functions/fnc_getPatchWheelTime.sqf +++ b/addons/repair/functions/fnc_getPatchWheelTime.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brett Mayson * Calculate the time to patch the wheel diff --git a/addons/repair/functions/fnc_getPostRepairDamage.sqf b/addons/repair/functions/fnc_getPostRepairDamage.sqf index 141df15369..5135ba25a7 100644 --- a/addons/repair/functions/fnc_getPostRepairDamage.sqf +++ b/addons/repair/functions/fnc_getPostRepairDamage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns the damage threshold based on settings and unit type. diff --git a/addons/repair/functions/fnc_getRepairItems.sqf b/addons/repair/functions/fnc_getRepairItems.sqf index 809a6a5da7..95eaffcf02 100644 --- a/addons/repair/functions/fnc_getRepairItems.sqf +++ b/addons/repair/functions/fnc_getRepairItems.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: veteran29 * Returns the items required for repair. diff --git a/addons/repair/functions/fnc_getHitPointsToIgnore.sqf b/addons/repair/functions/fnc_getSelectionsToIgnore.sqf similarity index 78% rename from addons/repair/functions/fnc_getHitPointsToIgnore.sqf rename to addons/repair/functions/fnc_getSelectionsToIgnore.sqf index 457647dd8f..d455950a3b 100644 --- a/addons/repair/functions/fnc_getHitPointsToIgnore.sqf +++ b/addons/repair/functions/fnc_getSelectionsToIgnore.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2, kymckay, LinkIsGrim * Get list of vehicle hitpoints to ignore @@ -10,7 +10,7 @@ * HitPoints to ignore * * Example: - * [vehicle] call ace_repair_fnc_getHitpointsToIgnore + * [vehicle] call ace_repair_fnc_getSelectionsToIgnore * * Public: No */ @@ -18,7 +18,7 @@ params ["_vehicle"]; private _type = typeOf _vehicle; -TRACE_2("getHitPointsToIgnore",_vehicle,_type); +TRACE_2("getSelectionsToIgnore",_vehicle,_type); private _initializedClasses = missionNamespace getVariable [QGVAR(hitPointsToIgnoreInitializedClasses), createHashMap]; if (_type in _initializedClasses) exitWith {_initializedClasses get _type}; @@ -30,7 +30,7 @@ private _turretPaths = ((fullCrew [_vehicle, "gunner", true]) + (fullCrew [_vehi // get hitpoints of wheels with their selections ([_vehicle] call FUNC(getWheelHitPointsWithSelections)) params ["_wheelHitPoints", "_wheelHitSelections"]; -private _hitPointsToIgnore = [""]; // always ignore empty hitpoints +private _indexesToIgnore = []; private _processedSelections = []; { @@ -39,6 +39,7 @@ private _processedSelections = []; private _isWheelOrTrack = _selection in _wheelHitSelections || {_hitpoint in _wheelHitPoints} || {_hitpoint in TRACK_HITPOINTS}; if (_hitpoint isEqualTo "") then { // skip empty hitpoint + _indexesToIgnore pushBack _forEachIndex; continue }; @@ -47,7 +48,7 @@ private _processedSelections = []; /*#ifdef DEBUG_MODE_FULL systemChat format ["Skipping duplicate wheel, hitpoint %1, index %2, selection %3", _hitpoint, _forEachIndex, _selection]; #endif*/ - _hitPointsToIgnore pushBackUnique _hitpoint; + _indexesToIgnore pushBack _forEachIndex; _processedSelections pushBack _selection; continue }; @@ -57,7 +58,7 @@ private _processedSelections = []; /*#ifdef DEBUG_MODE_FULL systemChat format ["Skipping glass, hitpoint %1, index %2, selection %3", _hitpoint, _forEachIndex, _selection]; #endif*/ - _hitPointsToIgnore pushBackUnique _hitpoint; + _indexesToIgnore pushBack _forEachIndex; _processedSelections pushBack _selection; continue }; @@ -67,7 +68,7 @@ private _processedSelections = []; /*#ifdef DEBUG_MODE_FULL systemChat format ["Skipping ERA/SLAT, hitpoint %1, index %2, selection %3", _hitpoint, _forEachIndex, _selection]; #endif*/ - _hitPointsToIgnore pushBackUnique _hitpoint; + _indexesToIgnore pushBack _forEachIndex; _processedSelections pushBack _selection; continue }; @@ -79,16 +80,29 @@ private _processedSelections = []; private _hitpointsCfg = "configName _x == _hitpoint" configClasses _turretHitpointCfg; if (_hitpointsCfg isNotEqualTo []) exitWith { TRACE_2("turret hitpoint configFound",_hitpoint,_x); + _hitpointsCfg = _hitpointsCfg # 0; // only do turret hitpoints and stuff linked to visuals - if ((_hitpoint in ["hitturret", "hitgun"]) || {(getNumber (_hitpointsCfg # 0 >> "isGun")) == 1} || {(getNumber (_hitpointsCfg # 0 >> "isTurret")) == 1} || {(getText (_hitpointsCfg # 0 >> "visual")) != ""}) then { - _armorComponent = getText (_hitpointsCfg # 0 >> "armorComponent"); + if ( + (_hitpoint in ["hitturret", "hitgun"]) || + {(getNumber (_hitpointsCfg >> "isGun")) == 1} || + {(getNumber (_hitpointsCfg >> "isTurret")) == 1} || + {(getText (_hitpointsCfg >> "visual")) != ""} + ) then { + _armorComponent = getText (_hitpointsCfg >> "armorComponent"); }; }; } forEach _turretPaths; if (_armorComponent == "") then { private _hitpointsCfg = "configName _x == _hitpoint" configClasses (_vehCfg >> "HitPoints"); - if (_hitpointsCfg isNotEqualTo [] && {(getText (_hitpointsCfg # 0 >> "visual")) != ""}) then { - _armorComponent = getText (_hitpointsCfg # 0 >> "armorComponent"); + if (_hitpointsCfg isNotEqualTo []) then { + _hitpointsCfg = _hitpointsCfg # 0; + if ( + (getNumber (_hitpointsCfg >> "isGun")) == 1 || + {(getNumber (_hitpointsCfg >> "isTurret")) == 1} || + {(getText (_hitpointsCfg >> "visual")) != ""} + ) then { + _armorComponent = getText (_hitpointsCfg >> "armorComponent"); + }; }; }; }; @@ -98,7 +112,7 @@ private _processedSelections = []; /*#ifdef DEBUG_MODE_FULL systemChat format ["Skipping no selection OR armor component, hitpoint %1, index %2, selection %3", _hitpoint, _forEachIndex, _selection]; #endif*/ - _hitPointsToIgnore pushBackUnique _hitpoint; + _indexesToIgnore pushBack _forEachIndex; _processedSelections pushBack _selection; continue }; @@ -115,7 +129,7 @@ private _processedSelections = []; ERROR_1("group: %1",_hitpointGroups # _groupIndex); }; - _hitPointsToIgnore pushBackUnique _hitpoint; + _indexesToIgnore pushBack _forEachIndex; _processedSelections pushBack _selection; continue }; @@ -125,7 +139,7 @@ private _processedSelections = []; /*#ifdef DEBUG_MODE_FULL systemChat format ["Skipping child hitpoint, hitpoint %1, index %2, selection %3", _hitpoint, _forEachIndex, _selection]; #endif*/ - _hitPointsToIgnore pushBackUnique _hitpoint; + _indexesToIgnore pushBack _forEachIndex; _processedSelections pushBack _selection; continue }; @@ -133,7 +147,7 @@ private _processedSelections = []; _processedSelections pushBack _selection; } forEach _hitSelections; -_initializedClasses set [_type, _hitPointsToIgnore]; +_initializedClasses set [_type, _indexesToIgnore]; missionNamespace setVariable [QGVAR(hitPointsToIgnoreInitializedClasses), _initializedClasses]; -_hitPointsToIgnore +_indexesToIgnore diff --git a/addons/repair/functions/fnc_getWheelHitPointsWithSelections.sqf b/addons/repair/functions/fnc_getWheelHitPointsWithSelections.sqf index 9a5d32fdd9..1952707204 100644 --- a/addons/repair/functions/fnc_getWheelHitPointsWithSelections.sqf +++ b/addons/repair/functions/fnc_getWheelHitPointsWithSelections.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Returns the wheel hitpoints and their selections. diff --git a/addons/repair/functions/fnc_hasItems.sqf b/addons/repair/functions/fnc_hasItems.sqf index a27f9c3202..0eff622d20 100644 --- a/addons/repair/functions/fnc_hasItems.sqf +++ b/addons/repair/functions/fnc_hasItems.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Check if the engineer has all items. diff --git a/addons/repair/functions/fnc_isEngineer.sqf b/addons/repair/functions/fnc_isEngineer.sqf index 061c5addb1..2a013bccda 100644 --- a/addons/repair/functions/fnc_isEngineer.sqf +++ b/addons/repair/functions/fnc_isEngineer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, KoffeinFlummi, commy2 * Check if a unit is any engineer class. diff --git a/addons/repair/functions/fnc_isInRepairFacility.sqf b/addons/repair/functions/fnc_isInRepairFacility.sqf index 788845f11d..7ea8ace60f 100644 --- a/addons/repair/functions/fnc_isInRepairFacility.sqf +++ b/addons/repair/functions/fnc_isInRepairFacility.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Checks if a unit is in a repair facility. diff --git a/addons/repair/functions/fnc_isNearRepairVehicle.sqf b/addons/repair/functions/fnc_isNearRepairVehicle.sqf index 3a894162ee..d319273e64 100644 --- a/addons/repair/functions/fnc_isNearRepairVehicle.sqf +++ b/addons/repair/functions/fnc_isNearRepairVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi * Checks if a unit is near an engineering vehicle. diff --git a/addons/repair/functions/fnc_isRepairVehicle.sqf b/addons/repair/functions/fnc_isRepairVehicle.sqf index dd2b1329a2..0d89f1b8e8 100644 --- a/addons/repair/functions/fnc_isRepairVehicle.sqf +++ b/addons/repair/functions/fnc_isRepairVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Check if vehicle is a engineering vehicle. diff --git a/addons/repair/functions/fnc_modifyInteraction.sqf b/addons/repair/functions/fnc_modifyInteraction.sqf index 2edf515bac..7bf77d462d 100644 --- a/addons/repair/functions/fnc_modifyInteraction.sqf +++ b/addons/repair/functions/fnc_modifyInteraction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, mharis001 * Modifies the base interaction point for repair items to show its current damage. diff --git a/addons/repair/functions/fnc_modifySelectionInteraction.sqf b/addons/repair/functions/fnc_modifySelectionInteraction.sqf index 66d7ae5e4b..6e7d2af41a 100644 --- a/addons/repair/functions/fnc_modifySelectionInteraction.sqf +++ b/addons/repair/functions/fnc_modifySelectionInteraction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654, mharis001 * Modifies interaction icon color of vehicle selection to show its current damage. diff --git a/addons/repair/functions/fnc_moduleAddSpareParts.sqf b/addons/repair/functions/fnc_moduleAddSpareParts.sqf index a70f821ffc..bccccdcc22 100644 --- a/addons/repair/functions/fnc_moduleAddSpareParts.sqf +++ b/addons/repair/functions/fnc_moduleAddSpareParts.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Adds spare parts to a vehicle. diff --git a/addons/repair/functions/fnc_moduleAssignEngineer.sqf b/addons/repair/functions/fnc_moduleAssignEngineer.sqf index 1949da087a..2789d4da07 100644 --- a/addons/repair/functions/fnc_moduleAssignEngineer.sqf +++ b/addons/repair/functions/fnc_moduleAssignEngineer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Assign an engineer role to a unit. diff --git a/addons/repair/functions/fnc_moduleAssignRepairFacility.sqf b/addons/repair/functions/fnc_moduleAssignRepairFacility.sqf index c071058ad6..71e5ad0d74 100644 --- a/addons/repair/functions/fnc_moduleAssignRepairFacility.sqf +++ b/addons/repair/functions/fnc_moduleAssignRepairFacility.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Assign a repair facility. diff --git a/addons/repair/functions/fnc_moduleAssignRepairVehicle.sqf b/addons/repair/functions/fnc_moduleAssignRepairVehicle.sqf index 4f5c601cce..c2bbb7db48 100644 --- a/addons/repair/functions/fnc_moduleAssignRepairVehicle.sqf +++ b/addons/repair/functions/fnc_moduleAssignRepairVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Assign a repair vehicle. diff --git a/addons/repair/functions/fnc_moduleRepairSettings.sqf b/addons/repair/functions/fnc_moduleRepairSettings.sqf index 831b9a2619..66c372e146 100644 --- a/addons/repair/functions/fnc_moduleRepairSettings.sqf +++ b/addons/repair/functions/fnc_moduleRepairSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Adjusts repair damage settings. diff --git a/addons/repair/functions/fnc_normalizeHitPoints.sqf b/addons/repair/functions/fnc_normalizeHitPoints.sqf index aef2b7ae21..9abeec718c 100644 --- a/addons/repair/functions/fnc_normalizeHitPoints.sqf +++ b/addons/repair/functions/fnc_normalizeHitPoints.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Used to normalize dependant hitpoints. May overwrite some global variables that are named like hitpoints or "Total" though... diff --git a/addons/repair/functions/fnc_patchRemovedWheel.sqf b/addons/repair/functions/fnc_patchRemovedWheel.sqf index 4aab7c72c3..b0978013d5 100644 --- a/addons/repair/functions/fnc_patchRemovedWheel.sqf +++ b/addons/repair/functions/fnc_patchRemovedWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brett Mayson * Patch a wheel that is not on a vehicle diff --git a/addons/repair/functions/fnc_repair.sqf b/addons/repair/functions/fnc_repair.sqf index a0654d2555..a86f8f22db 100644 --- a/addons/repair/functions/fnc_repair.sqf +++ b/addons/repair/functions/fnc_repair.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, KoffeinFlummi * Starts the repair process. @@ -95,7 +95,7 @@ if (!("All" in _repairLocations)) then { private _requiredObjects = getArray (_config >> "claimObjects"); private _claimObjectsAvailable = []; if (_requiredObjects isNotEqualTo []) then { - _claimObjectsAvailable = [_caller, 5, _requiredObjects] call FUNC(getClaimObjects); + _claimObjectsAvailable = [_caller, 5, _requiredObjects, true] call FUNC(getClaimObjects); if (_claimObjectsAvailable isEqualTo []) then { TRACE_2("Missing Required Objects",_requiredObjects,_claimObjectsAvailable); _return = false diff --git a/addons/repair/functions/fnc_repair_failure.sqf b/addons/repair/functions/fnc_repair_failure.sqf index 5acd9564e7..ce8d29b25d 100644 --- a/addons/repair/functions/fnc_repair_failure.sqf +++ b/addons/repair/functions/fnc_repair_failure.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, Glowbal * Callback when repair fails. diff --git a/addons/repair/functions/fnc_repair_success.sqf b/addons/repair/functions/fnc_repair_success.sqf index 99778c37dd..083daa6cc7 100644 --- a/addons/repair/functions/fnc_repair_success.sqf +++ b/addons/repair/functions/fnc_repair_success.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, Glowbal * Callback when repair completes. diff --git a/addons/repair/functions/fnc_setDamage.sqf b/addons/repair/functions/fnc_setDamage.sqf index 4840624105..3c7e23dc76 100644 --- a/addons/repair/functions/fnc_setDamage.sqf +++ b/addons/repair/functions/fnc_setDamage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Sets the structural damage of a vehicle without altering the hitPoints, requires local vehicle. diff --git a/addons/repair/functions/fnc_setHitPointDamage.sqf b/addons/repair/functions/fnc_setHitPointDamage.sqf index 197918ffe3..9a28adc211 100644 --- a/addons/repair/functions/fnc_setHitPointDamage.sqf +++ b/addons/repair/functions/fnc_setHitPointDamage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Set the hitpoint damage and change the structural damage acordingly, requires local vehicle. diff --git a/addons/repair/functions/fnc_spawnObject.sqf b/addons/repair/functions/fnc_spawnObject.sqf index 9dce6a7e01..7dc5f96219 100644 --- a/addons/repair/functions/fnc_spawnObject.sqf +++ b/addons/repair/functions/fnc_spawnObject.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Spawns an object of specified string, at specified position with specified damage taken. diff --git a/addons/repair/functions/fnc_useItem.sqf b/addons/repair/functions/fnc_useItem.sqf index 760be7a39b..2827d7afb9 100644 --- a/addons/repair/functions/fnc_useItem.sqf +++ b/addons/repair/functions/fnc_useItem.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Use Equipment if any is available. diff --git a/addons/repair/functions/fnc_useItems.sqf b/addons/repair/functions/fnc_useItems.sqf index b6da87aecc..edc18bcb16 100644 --- a/addons/repair/functions/fnc_useItems.sqf +++ b/addons/repair/functions/fnc_useItems.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Use Equipment items if any is available. diff --git a/addons/repair/functions/script_component.hpp b/addons/repair/functions/script_component.hpp deleted file mode 100644 index 80a7b2eb74..0000000000 --- a/addons/repair/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\repair\script_component.hpp" diff --git a/addons/repair/initSettings.sqf b/addons/repair/initSettings.sqf index 3ba13e9ee6..26d502e757 100644 --- a/addons/repair/initSettings.sqf +++ b/addons/repair/initSettings.sqf @@ -1,4 +1,5 @@ private _category = format ["ACE %1", LLSTRING(Repair)]; +private _catFullRepair = [_category, LLSTRING(fullRepair)]; [ QGVAR(enabled), "CHECKBOX", @@ -102,7 +103,7 @@ private _category = format ["ACE %1", LLSTRING(Repair)]; [ QGVAR(fullRepairLocation), "LIST", [LSTRING(fullRepairLocation), LSTRING(fullRepairLocation_description)], - _category, + _catFullRepair, [[0,1,2,3,4],[LSTRING(useAnywhere), LSTRING(repairVehicleOnly), LSTRING(repairFacilityOnly), LSTRING(vehicleAndFacility), ELSTRING(common,Disabled)],2], // [values, titles, defaultIndex] true, // isGlobal {[QGVAR(fullRepairLocation), _this] call EFUNC(common,cbaSettings_settingChanged)} @@ -111,7 +112,7 @@ private _category = format ["ACE %1", LLSTRING(Repair)]; [ QGVAR(engineerSetting_fullRepair), "LIST", [LSTRING(engineerSetting_fullRepair_name), LSTRING(engineerSetting_fullRepair_description)], - _category, + _catFullRepair, [[0,1,2],[LSTRING(engineerSetting_anyone), LSTRING(engineerSetting_EngineerOnly), LSTRING(engineerSetting_AdvancedOnly)],2], // [values, titles, defaultIndex] true, // isGlobal {[QGVAR(engineerSetting_fullRepair), _this] call EFUNC(common,cbaSettings_settingChanged)} @@ -120,7 +121,7 @@ private _category = format ["ACE %1", LLSTRING(Repair)]; [ QGVAR(timeCoefficientFullRepair), "SLIDER", [LSTRING(timeCoefficientFullRepair_name), LSTRING(timeCoefficientFullRepair_description)], - _category, + _catFullRepair, [0,3,1.5,2], true ] call CBA_fnc_addSetting; @@ -157,7 +158,7 @@ private _category = format ["ACE %1", LLSTRING(Repair)]; QGVAR(fullRepairRequiredItems), "LIST", [LSTRING(FullRepairRequiredItems_DisplayName), LSTRING(FullRepairRequiredItems_Description)], - _category, + _catFullRepair, [[[], [ANY_TOOLKIT_FAKECLASS]], ["STR_A3_None", "STR_A3_CfgWeapons_Toolkit0"], 1], true ] call CBA_fnc_addSetting; diff --git a/addons/repair/stringtable.xml b/addons/repair/stringtable.xml index c55873dedb..44e01ddc1e 100644 --- a/addons/repair/stringtable.xml +++ b/addons/repair/stringtable.xml @@ -40,6 +40,9 @@ Rad Rueda タイヤ + Koło + 바퀴 + Roue Change Wheel @@ -270,10 +273,18 @@ Full Repair Time Coefficient 完全修理時間係数 + Współczynnik Czasu Pełnej Naprawy + Vollständiger Reparaturzeitkoeffizient + 전체 수리 시간 계수 + Coefficient du temps de réparation complète - Modifies how long it takes to perform a Full Repair.\nThe repair time is based on based on the amount of repairs needed for each part, including those normally inaccessible. + Modifies how long it takes to perform a Full Repair.\nThe repair time is based on the amount of repairs needed for each part, including those normally inaccessible. 完全修復にかかる時間を変更します。\n修理時間は、通常アクセスできない部品も含め、各部品に必要な修理量に基づいて決定されます。 + Modyfikuje czas potrzebny do wykonania Pełnej Naprawy. Czas naprawy jest oparty na ilości napraw potrzebnych dla każdej części, w tym tych normalnie niedostępnych. + Ändert, wie lange es dauert, eine vollständige Reparatur durchzuführen.\nDie Reparaturzeit basiert auf der Menge der erforderlichen Reparaturen für jedes Teil, einschließlich derjenigen, die normalerweise nicht zugänglich sind. + 전체적인 수리를 수행하는 데 걸리는 시간을 수정합니다.\n수리 시간은 일반적으로 접근할 수 없는 부품을 포함하여 각 부품에 필요한 수리 시간을 기준으로 합니다. + Modifie la durée que prend une réparation complète.\nLe temps de réparation est basé sur la quantité de réparations requises pour chaque partie, incluant celles qui sont normalement inaccessibles. Boost engineer training when in repair vehicles or facilities. Untrained becomes engineer, engineer becomes advanced engineer. @@ -494,19 +505,19 @@ 完整維修部分 - Partially repaired %1 + Partially repaired part Bauteil zum Teil repariert - Częściowo naprawiono: %1 - %1 parcialmente reparado - Частично отремонтировано: %1 - Parcialmente reparada %1 - %1 - částečně opraveno - %1 parzialmente riparato - %1 partiellement réparé(e). - %1 を部分的に修理しました - %1 부분적으로 수리됨 - %1已完成部分维修 - %1已完成部分維修 + Częściowo naprawiono część + Parte parcialmente reparado + Частично отремонтировано часть + Parcialmente reparada parte + Díl částečně opraveno + Parte parzialmente riparato + Pièce partiellement réparé(e). + 部品 を部分的に修理しました + 부품 부분적으로 수리됨 + 零件已完成部分维修 + 零件已完成部分維修 Fully repaired %1 @@ -572,6 +583,22 @@ 車殼 Gövde + + Light + + Léger + Claro + Chiaro + Light + Светлый + Hell + Světlá + Claro + 밝은 + 轻型 + + Işık + Engine Motor @@ -1225,6 +1252,8 @@ Wymiana kół Разрешить замену колес タイヤ交換の許可 + 바퀴 교체 허용 + Autoriser le remplacement des roues Who can remove and replace wheels? @@ -1245,11 +1274,17 @@ Allow Wheel Patching Erlaube Radflicken タイヤ補修を許可 + Zezwól na Łatanie Kół + 바퀴 수리 허용 + Autoriser le rafistolage des roues Who can patch wheels? Wer kann Radflicken durchführen? 誰がタイヤの補修を出来るようにしますか? + Kto może łatać koła? + 누가 바퀴를 수리할 수 있습니까? + Qui peut rafistoler les roues ? Allow Repair @@ -1307,7 +1342,7 @@ Qual'è il danno massimo che può essere riparato con il Toolkit? Définit la quantité maximale de dégâts pouvant être réparés avec une trousse à outils. ツールキットで修理できる、最大の損傷許容範囲を設定しますか? - 어느정도의 피해까지 툴킷으로 수리가 가능합니까? + 어느정도의 피해까지 도구모음으로 수리가 가능합니까? 工具包可以修复的最大损坏值? 工具包可以修復的最大損壞值? @@ -1352,7 +1387,7 @@ Rimuovi Toolkit dopo l'uso Retirer la trousse à outils après usage ツールキットを使うと削除 - 툴킷 사용후 제거 + 도구모음 사용 후 제거 使用后删除工具包 使用後刪除工具包 @@ -1367,7 +1402,7 @@ Il Toolkit dev'essere rimosso dopo l'uso? Définit si la trousse à outils doit être retirée après usage. ツールキットを使うと削除しますか? - 툴킷을 사용하면 제거를 합니까? + 도구모음을 사용하면 제거를 합니까? 要在使用后删除工具包吗? 要在使用後刪除工具包嗎? @@ -1495,7 +1530,7 @@ Select the engineering skill level of the unit Wählt die Eignungsstufe zur Ausübung des Pioniers für diese Einheit Wybierz biegłość w dziedzinie naprawy danej jednostki - Selecione o nível de habilidade da unidade em engenhraria + Selecione o nível de habilidade da unidade em engenharia Укажите уровень инженерного мастерства для юнита Selecciona el nivel de conocimientos de ingeniería de la unidad Vyberte úroveň dovednosti inženýra pro jednotku @@ -1604,7 +1639,7 @@ List of vehicles that will be classified as repair vehicle, separated by commas. Eine Aufzählung von Fahrzeugen, die als Reperaturfahrzeug gelten, getrennt durch Kommata Lista nazw pojazdów, które są sklasyfikowane jako pojazdy naprawcze, oddzielone przecinkami. - Lista de veículos que serão classificadas como veículo de reparo. Separado por vígulas. + Lista de veículos que serão classificadas como veículo de reparo. Separado por vírgulas. Список транспортных средств, которые будут классифицированы как ремонтные, разделенный запятыми. Lista de los vehículos que se clasifican como vehículo de reparación, separados por comas. Seznam vozidel, která budou klasifikována jako opravárenská, oddělit čárkami. @@ -1800,7 +1835,7 @@ List of objects that will get spare parts added, separated by commas. Eine Aufzählung von Objekten, welche Ersatzteile beherbergen, und durch Kommata getrennt sind. Lista obiektów, które otrzymają części zamienne, oddzielone przecinkiem. - Lista de objetos que ganharão partes sobressalentes, dividos por vírgulas. + Lista de objetos que ganharão partes sobressalentes, divididos por vírgulas. Lista de los objetos que tendrán repuestos añadidos, separados por comas. Список транспортных средств, в которые будут добавляться запчасти, разделенный запятыми. Seznam objektů, které dostanou náhradní díly, oddělit čárkami. @@ -1905,11 +1940,17 @@ Wheel Patch Requirements Bedingungen für die Radflicken タイヤ補修の要求 + Wymagania do Łatania Koła + 바퀴 수리 아이템 필요 + Exigences pour rafistoler une roue Items required to patch a wheel. Gegenstänge, die zum Reifenflicken benötigt werden. タイヤ補修にアイテムを必要としますか? + Przedmioty wymagane do załatania koła + 바퀴를 수리하기 위해 아이템이 필요합니다. + Equipements requis pour rafistoler une roue. Misc Repair Requirements @@ -1921,7 +1962,7 @@ Requisiti di riparazione vari Požadavky pro částečnou opravu Rózne wymagania do naprawy - Requerimentos para reparo miscelâneo + Requerimentos para reparos variados Requisitos de objetos misceláneos de reparación Требования к разному ремонту 기타 수리 요구사항 @@ -2079,62 +2120,114 @@ Part Repair Time 部分修理時間 + Czas Naprawy Części + Teilreparaturzeit + 부품 수리 시간 + Temps de réparation des pièces Time in seconds to complete a repair. 修理完了までの時間 + Czas w sekundach do przeprowadzenia naprawy + Zeit in Sekunden, um eine Reparatur abzuschließen. + 수리를 완료하는 시간(초 단위) + Durée en secondes pour terminer une réparation. Wheel Change Time タイヤ交換時間 + Czas Zmiany Koła + Radwechselzeit + 바퀴 교체 시간 + Temps de changement d'une roue Time in seconds to remove or change a wheel. タイヤの取り外しまたは交換にかかる時間。 + Czas w sekundach do zdjęcia lub zmienienia koła. + Zeit in Sekunden, um ein Rad zu entfernen oder zu wechseln. + 바퀴를 제거하거나 교체하는 데 걸리는 시간(초 단위) + Durée en seconde pour enlever ou changer une roue. Patch Wheel - Radflicken + Rad flicken タイヤを補修する + Załataj Koło + 바퀴 수리 + Rafistoler la roue Patching Wheel... - Radflicken... + Rad flicken... タイヤを補修しています・・・ + Łatanie Koła... + 바퀴 수리 중... + Rafistolage de la roue... Wheel Patch Time タイヤ補修時間 + Czas Łatania Koła + Zeit um Räder zu flicken + 바퀴 수리 시간 + Temps de rafistolage d'une roue Time it takes to patch a wheel by 5%. タイヤを5%補修するのにかかる時間。 + Czas potrzebny na załatanie koła o 5%. + Zeit, die benötigt wird, um ein Rad um 5 % zu flicken. + 바퀴를 5% 수리하는 데 걸리는 시간(초 단위) + Durée pour rafistoler une roue de 5%. Patch Wheel Threshold タイヤ補修しきい値 + Próg Łatania Koła + Rad flicken Schwellenwert + 바퀴 수리 한계점 + Seuil de rafistolage d'une roue Maximum level to which a wheel can be patched. タイヤを補修できる最大の度合い。 + Maksymalny poziom, do którego koło może zostać załatane. + Maximales Level, bis zu dem ein Rad geflickt werden kann. + 바퀴를 수리할 수 있는 최대 레벨입니다. + Niveau maximum de rafistolage d'une roue. Wheel Patch Location タイヤ補修場所 + Miejsce Łatania Koła + Räder Flick Ort + 바퀴 수리 장소 + Lieu de rafistolage des roues Where the wheel can be patched. タイヤを補修できる場所。 + Gdzie można załatać koło. + Wo das Rad geflickt werden kann. + 바퀴를 수리할 수 있는 곳입니다. + Lieu où les roues peuvent être rafistolées. On the ground Auf dem Boden 地上 + Na ziemi + 지면 위 + Sur le terrain On a vehicle An einem Fahrzeug 車両上 + Na pojeździe + 차량 + Sur un véhicule diff --git a/addons/respawn/CfgVehicles.hpp b/addons/respawn/CfgVehicles.hpp index 63b87ee057..bda6c44151 100644 --- a/addons/respawn/CfgVehicles.hpp +++ b/addons/respawn/CfgVehicles.hpp @@ -68,8 +68,8 @@ class CfgVehicles { class ACE_SelfActions { class ACE_MoveRallypoint { displayName = CSTRING(Rallypoint_MoveRallypoint); - condition = QUOTE([ARR_2(_player, side group _player)] call FUNC(canMoveRallypoint)); - statement = QUOTE([ARR_2(_player, side group _player)] call FUNC(moveRallypoint)); + condition = QUOTE([ARR_2(_player,side group _player)] call FUNC(canMoveRallypoint)); + statement = QUOTE([ARR_2(_player,side group _player)] call FUNC(moveRallypoint)); exceptions[] = {"isNotSwimming"}; showDisabled = 0; }; diff --git a/addons/respawn/functions/fnc_canMoveRallypoint.sqf b/addons/respawn/functions/fnc_canMoveRallypoint.sqf index f37ad34265..1f9a3637bc 100644 --- a/addons/respawn/functions/fnc_canMoveRallypoint.sqf +++ b/addons/respawn/functions/fnc_canMoveRallypoint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Checks if a unit can move a rally point. diff --git a/addons/respawn/functions/fnc_handleInitPostServer.sqf b/addons/respawn/functions/fnc_handleInitPostServer.sqf index 4de502a9ea..8ac8bd76b6 100644 --- a/addons/respawn/functions/fnc_handleInitPostServer.sqf +++ b/addons/respawn/functions/fnc_handleInitPostServer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle XEH Init Post on Server. diff --git a/addons/respawn/functions/fnc_handleKilled.sqf b/addons/respawn/functions/fnc_handleKilled.sqf index 75d88855b5..1383561f2c 100644 --- a/addons/respawn/functions/fnc_handleKilled.sqf +++ b/addons/respawn/functions/fnc_handleKilled.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Handles the XEH killed event. diff --git a/addons/respawn/functions/fnc_handlePlayerChanged.sqf b/addons/respawn/functions/fnc_handlePlayerChanged.sqf index 9fc71af9b7..f94e14d644 100644 --- a/addons/respawn/functions/fnc_handlePlayerChanged.sqf +++ b/addons/respawn/functions/fnc_handlePlayerChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle player changed event. Updates visibility of Rallypoint markers. diff --git a/addons/respawn/functions/fnc_handleRespawn.sqf b/addons/respawn/functions/fnc_handleRespawn.sqf index a8c65056b3..7194d6ee0f 100644 --- a/addons/respawn/functions/fnc_handleRespawn.sqf +++ b/addons/respawn/functions/fnc_handleRespawn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Handles the XEH Respawn event. diff --git a/addons/respawn/functions/fnc_initRallypoint.sqf b/addons/respawn/functions/fnc_initRallypoint.sqf index 0286813cef..50931a87f4 100644 --- a/addons/respawn/functions/fnc_initRallypoint.sqf +++ b/addons/respawn/functions/fnc_initRallypoint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Init code for rallypoints. diff --git a/addons/respawn/functions/fnc_module.sqf b/addons/respawn/functions/fnc_module.sqf index 72b4003bbc..acd9ae53e8 100644 --- a/addons/respawn/functions/fnc_module.sqf +++ b/addons/respawn/functions/fnc_module.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, bux578, esteldunedain, commy2 * Initializes the respawn module. diff --git a/addons/respawn/functions/fnc_moduleFriendlyFire.sqf b/addons/respawn/functions/fnc_moduleFriendlyFire.sqf index 2801e26b26..7d9a2eccbd 100644 --- a/addons/respawn/functions/fnc_moduleFriendlyFire.sqf +++ b/addons/respawn/functions/fnc_moduleFriendlyFire.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Initializes the friendly fire module. diff --git a/addons/respawn/functions/fnc_moduleRallypoint.sqf b/addons/respawn/functions/fnc_moduleRallypoint.sqf index a06220fec8..0af3357201 100644 --- a/addons/respawn/functions/fnc_moduleRallypoint.sqf +++ b/addons/respawn/functions/fnc_moduleRallypoint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Initializes the Rallypoint module. diff --git a/addons/respawn/functions/fnc_moveRallypoint.sqf b/addons/respawn/functions/fnc_moveRallypoint.sqf index d0e191829e..3c4d8b6441 100644 --- a/addons/respawn/functions/fnc_moveRallypoint.sqf +++ b/addons/respawn/functions/fnc_moveRallypoint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Moves a rallypoint to the players location. diff --git a/addons/respawn/functions/fnc_restoreGear.sqf b/addons/respawn/functions/fnc_restoreGear.sqf index 0a78329f98..e0823fe6e0 100644 --- a/addons/respawn/functions/fnc_restoreGear.sqf +++ b/addons/respawn/functions/fnc_restoreGear.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578, commy2 * Restores previously saved gear. diff --git a/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf b/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf index 4b1f7e44d8..a2a672d3f6 100644 --- a/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf +++ b/addons/respawn/functions/fnc_showFriendlyFireMessage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Shows a message in system chat of who killed whom. diff --git a/addons/respawn/functions/fnc_teleportToRallypoint.sqf b/addons/respawn/functions/fnc_teleportToRallypoint.sqf index 6c8a697279..abecc26465 100644 --- a/addons/respawn/functions/fnc_teleportToRallypoint.sqf +++ b/addons/respawn/functions/fnc_teleportToRallypoint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Teleports a unit to a rallypoint diff --git a/addons/respawn/functions/fnc_updateRallypoint.sqf b/addons/respawn/functions/fnc_updateRallypoint.sqf index 64e54e99ab..a0e14a4ed2 100644 --- a/addons/respawn/functions/fnc_updateRallypoint.sqf +++ b/addons/respawn/functions/fnc_updateRallypoint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Updates marker position and texts. diff --git a/addons/respawn/functions/script_component.hpp b/addons/respawn/functions/script_component.hpp deleted file mode 100644 index d2a247f08c..0000000000 --- a/addons/respawn/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\respawn\script_component.hpp" diff --git a/addons/respawn/stringtable.xml b/addons/respawn/stringtable.xml index 16ceb790be..66bd2336bd 100644 --- a/addons/respawn/stringtable.xml +++ b/addons/respawn/stringtable.xml @@ -141,7 +141,7 @@ Rallypoint East (Base) Gyülekezőpont, Kelet (Bázis) Bod shromáždění Východ (Základna) - Ponto de encontro Lest (Base) + Ponto de encontro Leste (Base) ラリーポイント OPFOR軍 (ベース) 红方集合点(基地) 紅方集合點 (基地) diff --git a/addons/safemode/functions/fnc_lockSafety.sqf b/addons/safemode/functions/fnc_lockSafety.sqf index dcc40a497a..6c617c1898 100644 --- a/addons/safemode/functions/fnc_lockSafety.sqf +++ b/addons/safemode/functions/fnc_lockSafety.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Put weapon on safety, or take it off safety if safety is already put on. diff --git a/addons/safemode/functions/fnc_playChangeFiremodeSound.sqf b/addons/safemode/functions/fnc_playChangeFiremodeSound.sqf index 829c21e7fd..30c4dfd59c 100644 --- a/addons/safemode/functions/fnc_playChangeFiremodeSound.sqf +++ b/addons/safemode/functions/fnc_playChangeFiremodeSound.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Play weapon firemode change sound. diff --git a/addons/safemode/functions/fnc_setSafeModeVisual.sqf b/addons/safemode/functions/fnc_setSafeModeVisual.sqf index 587ac882d3..d62a542b9d 100644 --- a/addons/safemode/functions/fnc_setSafeModeVisual.sqf +++ b/addons/safemode/functions/fnc_setSafeModeVisual.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Show firemode indicator, representing safety lock diff --git a/addons/safemode/functions/fnc_setWeaponSafety.sqf b/addons/safemode/functions/fnc_setWeaponSafety.sqf index 0dd2dbf55d..d80e1d8c38 100644 --- a/addons/safemode/functions/fnc_setWeaponSafety.sqf +++ b/addons/safemode/functions/fnc_setWeaponSafety.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Brostrom.A * Safe or unsafe the given weapon based on weapon state; locked or unlocked. diff --git a/addons/safemode/functions/fnc_unlockSafety.sqf b/addons/safemode/functions/fnc_unlockSafety.sqf index e6b50ab6f5..8afc6802c1 100644 --- a/addons/safemode/functions/fnc_unlockSafety.sqf +++ b/addons/safemode/functions/fnc_unlockSafety.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Take weapon of safety lock. diff --git a/addons/safemode/functions/script_component.hpp b/addons/safemode/functions/script_component.hpp deleted file mode 100644 index eda6cd66ff..0000000000 --- a/addons/safemode/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\safemode\script_component.hpp" diff --git a/addons/sandbag/functions/fnc_canDeploy.sqf b/addons/sandbag/functions/fnc_canDeploy.sqf index 88ecd03093..bc0751d6b0 100644 --- a/addons/sandbag/functions/fnc_canDeploy.sqf +++ b/addons/sandbag/functions/fnc_canDeploy.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg, commy2 * Checks if the player can deploy a sandbag. diff --git a/addons/sandbag/functions/fnc_deploy.sqf b/addons/sandbag/functions/fnc_deploy.sqf index b336cee0a0..1ef8485112 100644 --- a/addons/sandbag/functions/fnc_deploy.sqf +++ b/addons/sandbag/functions/fnc_deploy.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, Ruthberg, edited by commy2 for better MP and eventual AI support * Starts the deploy process for sandbags. diff --git a/addons/sandbag/functions/fnc_deployCancel.sqf b/addons/sandbag/functions/fnc_deployCancel.sqf index 6c5fb1e88a..aa2c2419a3 100644 --- a/addons/sandbag/functions/fnc_deployCancel.sqf +++ b/addons/sandbag/functions/fnc_deployCancel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, Ruthberg, edited by commy2 for better MP and eventual AI support * Cancels sandbag deployment diff --git a/addons/sandbag/functions/fnc_deployConfirm.sqf b/addons/sandbag/functions/fnc_deployConfirm.sqf index e8abb586ee..20b821b3b5 100644 --- a/addons/sandbag/functions/fnc_deployConfirm.sqf +++ b/addons/sandbag/functions/fnc_deployConfirm.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, Ruthberg, edited by commy2 for better MP and eventual AI support * Confirms sandbag deployment diff --git a/addons/sandbag/functions/fnc_handleInteractMenuOpened.sqf b/addons/sandbag/functions/fnc_handleInteractMenuOpened.sqf index 7683520c84..cb6cb4ddf1 100644 --- a/addons/sandbag/functions/fnc_handleInteractMenuOpened.sqf +++ b/addons/sandbag/functions/fnc_handleInteractMenuOpened.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle opening of interaction menu. diff --git a/addons/sandbag/functions/fnc_handleKilled.sqf b/addons/sandbag/functions/fnc_handleKilled.sqf index b778de6cc6..100ed2e930 100644 --- a/addons/sandbag/functions/fnc_handleKilled.sqf +++ b/addons/sandbag/functions/fnc_handleKilled.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle death. diff --git a/addons/sandbag/functions/fnc_handlePlayerChanged.sqf b/addons/sandbag/functions/fnc_handlePlayerChanged.sqf index 2ba996f760..6882ed553e 100644 --- a/addons/sandbag/functions/fnc_handlePlayerChanged.sqf +++ b/addons/sandbag/functions/fnc_handlePlayerChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle player changes. diff --git a/addons/sandbag/functions/fnc_handlePlayerInventoryChanged.sqf b/addons/sandbag/functions/fnc_handlePlayerInventoryChanged.sqf index 53674d8e86..1e557cba1f 100644 --- a/addons/sandbag/functions/fnc_handlePlayerInventoryChanged.sqf +++ b/addons/sandbag/functions/fnc_handlePlayerInventoryChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle the InventoryChanged event. diff --git a/addons/sandbag/functions/fnc_handleScrollWheel.sqf b/addons/sandbag/functions/fnc_handleScrollWheel.sqf index 515e40053b..3a4f00a502 100644 --- a/addons/sandbag/functions/fnc_handleScrollWheel.sqf +++ b/addons/sandbag/functions/fnc_handleScrollWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, Ruthberg * Handles sandbag rotation diff --git a/addons/sandbag/functions/fnc_handleUnconscious.sqf b/addons/sandbag/functions/fnc_handleUnconscious.sqf index 9b514007fb..3ad90a0cc5 100644 --- a/addons/sandbag/functions/fnc_handleUnconscious.sqf +++ b/addons/sandbag/functions/fnc_handleUnconscious.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle unconsciousness. diff --git a/addons/sandbag/functions/fnc_pickup.sqf b/addons/sandbag/functions/fnc_pickup.sqf index 7db56cdfbe..7c21656ca0 100644 --- a/addons/sandbag/functions/fnc_pickup.sqf +++ b/addons/sandbag/functions/fnc_pickup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Pick up sandbag diff --git a/addons/sandbag/functions/script_component.hpp b/addons/sandbag/functions/script_component.hpp deleted file mode 100644 index 9964e2ea35..0000000000 --- a/addons/sandbag/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\sandbag\script_component.hpp" diff --git a/addons/sandbag/stringtable.xml b/addons/sandbag/stringtable.xml index b8f48606b0..f9a5ac6773 100644 --- a/addons/sandbag/stringtable.xml +++ b/addons/sandbag/stringtable.xml @@ -45,7 +45,7 @@ Zde nelze postavit Impossibile costruire qui Nem teheted ide - Não pode contruir aqui + Não pode construir aqui ここでは作れません 여기에 지을 수 없습니다 无法放置在此 diff --git a/addons/scopes/ACE_Arsenal_Stats.hpp b/addons/scopes/ACE_Arsenal_Stats.hpp index 06143be886..3e5240bbf5 100644 --- a/addons/scopes/ACE_Arsenal_Stats.hpp +++ b/addons/scopes/ACE_Arsenal_Stats.hpp @@ -6,8 +6,8 @@ class EGVAR(arsenal,stats) { stats[] = {"ACE_ScopeAdjust_Horizontal", "ACE_ScopeAdjust_HorizontalIncrement"}; displayName = CSTRING(statHorizontalLimits); showText = 1; - textStatement = QUOTE(params[ARR_2('_stat','_config')]; private _limits = getArray (_config >> _stat select 0); format [ARR_4('%1 / %2 MIL (∆ %3 MIL)', _limits select 0, _limits select 1, getNumber (_config >> _stat select 1))]); - condition = QUOTE(params[ARR_2('_stat', '_config')]; (getArray (_config >> _stat select 0)) isNotEqualTo []); + textStatement = QUOTE(params[ARR_2('_stat','_config')]; private _limits = getArray (_config >> _stat select 0); format [ARR_4('%1 / %2 MIL (∆ %3 MIL)',_limits select 0,_limits select 1,getNumber (_config >> _stat select 1))]); + condition = QUOTE(params[ARR_2('_stat','_config')]; (getArray (_config >> _stat select 0)) isNotEqualTo []); tabs[] = {{}, {0}}; }; class ACE_scopeVerticalLimits: ACE_scopeHorizontalLimits { diff --git a/addons/scopes/functions/fnc_adjustScope.sqf b/addons/scopes/functions/fnc_adjustScope.sqf index 1d99e3605f..bd2d2d1da6 100644 --- a/addons/scopes/functions/fnc_adjustScope.sqf +++ b/addons/scopes/functions/fnc_adjustScope.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, Ruthberg * Changes the adjustment for the current scope diff --git a/addons/scopes/functions/fnc_adjustZero.sqf b/addons/scopes/functions/fnc_adjustZero.sqf index 56c3404a7c..1a130840ed 100644 --- a/addons/scopes/functions/fnc_adjustZero.sqf +++ b/addons/scopes/functions/fnc_adjustZero.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, Ruthberg * Updates the zero adjustment of the current scope diff --git a/addons/scopes/functions/fnc_applyScopeAdjustment.sqf b/addons/scopes/functions/fnc_applyScopeAdjustment.sqf index e64abb30fc..b813dde9ef 100644 --- a/addons/scopes/functions/fnc_applyScopeAdjustment.sqf +++ b/addons/scopes/functions/fnc_applyScopeAdjustment.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, Ruthberg * Applies the adjustment for the current scope diff --git a/addons/scopes/functions/fnc_calculateZeroAngleCorrection.sqf b/addons/scopes/functions/fnc_calculateZeroAngleCorrection.sqf index 017c617ebc..6cb53c3898 100644 --- a/addons/scopes/functions/fnc_calculateZeroAngleCorrection.sqf +++ b/addons/scopes/functions/fnc_calculateZeroAngleCorrection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the zero angle correction for the new zero range based on current zero range and bore height (distance between bore- and sight axis) diff --git a/addons/scopes/functions/fnc_canAdjustZero.sqf b/addons/scopes/functions/fnc_canAdjustZero.sqf index d9c2903cbd..58a8807480 100644 --- a/addons/scopes/functions/fnc_canAdjustZero.sqf +++ b/addons/scopes/functions/fnc_canAdjustZero.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, Ruthberg * Checks if the unit can change the zero adjustment of the current scope diff --git a/addons/scopes/functions/fnc_canResetZero.sqf b/addons/scopes/functions/fnc_canResetZero.sqf index c398294684..cd3f1fb4eb 100644 --- a/addons/scopes/functions/fnc_canResetZero.sqf +++ b/addons/scopes/functions/fnc_canResetZero.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, Ruthberg * Checks if the unit can reset the zero adjustment of the current scope diff --git a/addons/scopes/functions/fnc_firedEH.sqf b/addons/scopes/functions/fnc_firedEH.sqf index 6508050679..86d9848162 100644 --- a/addons/scopes/functions/fnc_firedEH.sqf +++ b/addons/scopes/functions/fnc_firedEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, esteldunedain, Ruthberg * Adjusts the flight path of the bullet according to the zeroing. Called from the unified fired EH only for local and non-local players on foot. diff --git a/addons/scopes/functions/fnc_getBaseAngle.sqf b/addons/scopes/functions/fnc_getBaseAngle.sqf index a966ffa167..14da9d252a 100644 --- a/addons/scopes/functions/fnc_getBaseAngle.sqf +++ b/addons/scopes/functions/fnc_getBaseAngle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Gets the base angle of the weapon & optic combination with the given weapon index diff --git a/addons/scopes/functions/fnc_getBoreHeight.sqf b/addons/scopes/functions/fnc_getBoreHeight.sqf index e0b9c0c22e..37c62d111e 100644 --- a/addons/scopes/functions/fnc_getBoreHeight.sqf +++ b/addons/scopes/functions/fnc_getBoreHeight.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Gets the bore height of the weapon & optic combination with the given weapon index diff --git a/addons/scopes/functions/fnc_getCurrentZeroRange.sqf b/addons/scopes/functions/fnc_getCurrentZeroRange.sqf index 6425fe047a..001e5e8b79 100644 --- a/addons/scopes/functions/fnc_getCurrentZeroRange.sqf +++ b/addons/scopes/functions/fnc_getCurrentZeroRange.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Gets the zero range of the currently used optic diff --git a/addons/scopes/functions/fnc_getOptics.sqf b/addons/scopes/functions/fnc_getOptics.sqf index c9c1216d99..6be1952b6f 100644 --- a/addons/scopes/functions/fnc_getOptics.sqf +++ b/addons/scopes/functions/fnc_getOptics.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Gets the optic classnames of all currently equipped weapons. diff --git a/addons/scopes/functions/fnc_initModuleSettings.sqf b/addons/scopes/functions/fnc_initModuleSettings.sqf index b0bf38492d..92bf22e87e 100644 --- a/addons/scopes/functions/fnc_initModuleSettings.sqf +++ b/addons/scopes/functions/fnc_initModuleSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, Ruthberg * Module for adjusting the scopes settings diff --git a/addons/scopes/functions/fnc_inventoryCheck.sqf b/addons/scopes/functions/fnc_inventoryCheck.sqf index f295103d03..a3302230cc 100644 --- a/addons/scopes/functions/fnc_inventoryCheck.sqf +++ b/addons/scopes/functions/fnc_inventoryCheck.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, Commy2, Ruthberg * Check if weapon optics changed and reset zeroing if needed diff --git a/addons/scopes/functions/fnc_resetZero.sqf b/addons/scopes/functions/fnc_resetZero.sqf index 4f4510a55d..76ee6355a8 100644 --- a/addons/scopes/functions/fnc_resetZero.sqf +++ b/addons/scopes/functions/fnc_resetZero.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, Ruthberg * Resets the zero adjustment of the current scope diff --git a/addons/scopes/functions/fnc_showZeroing.sqf b/addons/scopes/functions/fnc_showZeroing.sqf index 679ebdb08a..3deb1c4836 100644 --- a/addons/scopes/functions/fnc_showZeroing.sqf +++ b/addons/scopes/functions/fnc_showZeroing.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: KoffeinFlummi, esteldunedain * Display the adjustment knobs, update their value and fade them out later diff --git a/addons/scopes/functions/script_component.hpp b/addons/scopes/functions/script_component.hpp deleted file mode 100644 index acca51b4b5..0000000000 --- a/addons/scopes/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\scopes\script_component.hpp" diff --git a/addons/scopes/stringtable.xml b/addons/scopes/stringtable.xml index 28130bc037..7c97a8ac14 100644 --- a/addons/scopes/stringtable.xml +++ b/addons/scopes/stringtable.xml @@ -238,7 +238,7 @@ 参考湿度 參考濕度 Референсная влажность - Humidade de Referência + Umidade de Referência Referenční vlhkost vzduchu Humedad de referencia @@ -253,7 +253,7 @@ 武器参考多少湿度来进行归零。 武器參考多少濕度來進行歸零。 Влажность, при которой выполнена пристрелка прицела - Humidade na qual a mira foi zerada. + Umidade na qual a mira foi zerada. Vlhkost vzduchu za které byl puškohled naměřen Humedad a la cual el visor ha sido homogeneizado @@ -501,7 +501,7 @@ 重设归零 Zresetuj wyzerowanie Сбросить дальность пристрелки - Resetar Ajuste Zero + Restaurar Ajuste Zero Réinitialiser le réglage du zéro Reset vynulování Restaurar ajuste de homogeneizado diff --git a/addons/sitting/functions/fnc_addSitActions.sqf b/addons/sitting/functions/fnc_addSitActions.sqf index 6edb30c5c8..a705ca21e6 100644 --- a/addons/sitting/functions/fnc_addSitActions.sqf +++ b/addons/sitting/functions/fnc_addSitActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Adds sit actions. diff --git a/addons/sitting/functions/fnc_canSit.sqf b/addons/sitting/functions/fnc_canSit.sqf index 6250b30bec..4328234bd9 100644 --- a/addons/sitting/functions/fnc_canSit.sqf +++ b/addons/sitting/functions/fnc_canSit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas, vabene1111 * Check if the player can sit down. diff --git a/addons/sitting/functions/fnc_canStand.sqf b/addons/sitting/functions/fnc_canStand.sqf index bdc0211af7..fafe4f2cd8 100644 --- a/addons/sitting/functions/fnc_canStand.sqf +++ b/addons/sitting/functions/fnc_canStand.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Check if the player can stand up (is in sitting position). diff --git a/addons/sitting/functions/fnc_getRandomAnimation.sqf b/addons/sitting/functions/fnc_getRandomAnimation.sqf index 8ccd8d0620..ac8bd9e68d 100644 --- a/addons/sitting/functions/fnc_getRandomAnimation.sqf +++ b/addons/sitting/functions/fnc_getRandomAnimation.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Gets a random animations from the list. diff --git a/addons/sitting/functions/fnc_handleInterrupt.sqf b/addons/sitting/functions/fnc_handleInterrupt.sqf index 907cea1a32..ce1ec9fb6a 100644 --- a/addons/sitting/functions/fnc_handleInterrupt.sqf +++ b/addons/sitting/functions/fnc_handleInterrupt.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Handles interruptions of sitting, like killed or unconsciousness. diff --git a/addons/sitting/functions/fnc_moduleInit.sqf b/addons/sitting/functions/fnc_moduleInit.sqf index c03cefac61..d2b8feefa0 100644 --- a/addons/sitting/functions/fnc_moduleInit.sqf +++ b/addons/sitting/functions/fnc_moduleInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Initializes the Sitting module. diff --git a/addons/sitting/functions/fnc_sit.sqf b/addons/sitting/functions/fnc_sit.sqf index a8fe2ccf6c..98ece0c62f 100644 --- a/addons/sitting/functions/fnc_sit.sqf +++ b/addons/sitting/functions/fnc_sit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas, vabene1111 * Sits down the player. diff --git a/addons/sitting/functions/fnc_stand.sqf b/addons/sitting/functions/fnc_stand.sqf index 80ef06a2c2..b25c7a5ee1 100644 --- a/addons/sitting/functions/fnc_stand.sqf +++ b/addons/sitting/functions/fnc_stand.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Stands up the player. diff --git a/addons/sitting/functions/script_component.hpp b/addons/sitting/functions/script_component.hpp deleted file mode 100644 index 19e51509b3..0000000000 --- a/addons/sitting/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\sitting\script_component.hpp" diff --git a/addons/slideshow/functions/fnc_addSlideActions.sqf b/addons/slideshow/functions/fnc_addSlideActions.sqf index 29997861e5..8ec804d577 100644 --- a/addons/slideshow/functions/fnc_addSlideActions.sqf +++ b/addons/slideshow/functions/fnc_addSlideActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Adds controller slide actions. diff --git a/addons/slideshow/functions/fnc_autoTransition.sqf b/addons/slideshow/functions/fnc_autoTransition.sqf index f57abdd8df..793b8baf1b 100644 --- a/addons/slideshow/functions/fnc_autoTransition.sqf +++ b/addons/slideshow/functions/fnc_autoTransition.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Handles automatic slide transitions using waitAndExecute in a PFH-like manner resulting in no performance loss. diff --git a/addons/slideshow/functions/fnc_createSlideshow.sqf b/addons/slideshow/functions/fnc_createSlideshow.sqf index 23eb7690f2..87fd40bbbe 100644 --- a/addons/slideshow/functions/fnc_createSlideshow.sqf +++ b/addons/slideshow/functions/fnc_createSlideshow.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas, DaC * Prepares necessary variables and default image. diff --git a/addons/slideshow/functions/fnc_mapImage.sqf b/addons/slideshow/functions/fnc_mapImage.sqf index 0d985d5e57..8703da1256 100644 --- a/addons/slideshow/functions/fnc_mapImage.sqf +++ b/addons/slideshow/functions/fnc_mapImage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Returns a procedural texture that will display a custom map. diff --git a/addons/slideshow/functions/fnc_mapImage_init.sqf b/addons/slideshow/functions/fnc_mapImage_init.sqf index 1c84b98740..5235315bd0 100644 --- a/addons/slideshow/functions/fnc_mapImage_init.sqf +++ b/addons/slideshow/functions/fnc_mapImage_init.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Initializes the map texture display. diff --git a/addons/slideshow/functions/fnc_moduleInit.sqf b/addons/slideshow/functions/fnc_moduleInit.sqf index 783f1de720..896c64eb50 100644 --- a/addons/slideshow/functions/fnc_moduleInit.sqf +++ b/addons/slideshow/functions/fnc_moduleInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Initializes the module. diff --git a/addons/slideshow/functions/script_component.hpp b/addons/slideshow/functions/script_component.hpp deleted file mode 100644 index c4c2d6d966..0000000000 --- a/addons/slideshow/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\slideshow\script_component.hpp" diff --git a/addons/slideshow/stringtable.xml b/addons/slideshow/stringtable.xml index d5d55b934e..665f8e5808 100644 --- a/addons/slideshow/stringtable.xml +++ b/addons/slideshow/stringtable.xml @@ -237,6 +237,7 @@ テクスチャの選択 Выбор текстуры Selección de texturas + Sélection de texture Object texture selection. Default: 0 @@ -248,6 +249,7 @@ オブジェクトテクスチャの選択。デフォルト: 0 Выбор текстуры объекта. По умолчанию: 0 Selección de textura de objeto. Defecto: 0 + Sélection de la texture de l'objet. Valeur par défaut : 0 Slides diff --git a/addons/spectator/functions/fnc_cam.sqf b/addons/spectator/functions/fnc_cam.sqf index 4c12095c81..d63a3c24a8 100644 --- a/addons/spectator/functions/fnc_cam.sqf +++ b/addons/spectator/functions/fnc_cam.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, kymckay * Handles camera initialisation and destruction diff --git a/addons/spectator/functions/fnc_cam_prepareTarget.sqf b/addons/spectator/functions/fnc_cam_prepareTarget.sqf index 42c4841d9b..559b7b20db 100644 --- a/addons/spectator/functions/fnc_cam_prepareTarget.sqf +++ b/addons/spectator/functions/fnc_cam_prepareTarget.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, kymckay * Moves the spectator camera to a position relative to the camera focus. diff --git a/addons/spectator/functions/fnc_cam_resetTarget.sqf b/addons/spectator/functions/fnc_cam_resetTarget.sqf index a2993d8a66..dd0dd6fc31 100644 --- a/addons/spectator/functions/fnc_cam_resetTarget.sqf +++ b/addons/spectator/functions/fnc_cam_resetTarget.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, kymckay * Removes the current camera interest and detaches dummy target. diff --git a/addons/spectator/functions/fnc_cam_setCameraMode.sqf b/addons/spectator/functions/fnc_cam_setCameraMode.sqf index 0c0ee23ca7..2b0af6a80b 100644 --- a/addons/spectator/functions/fnc_cam_setCameraMode.sqf +++ b/addons/spectator/functions/fnc_cam_setCameraMode.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO, kymckay * Function used to select the camera mode diff --git a/addons/spectator/functions/fnc_cam_setTarget.sqf b/addons/spectator/functions/fnc_cam_setTarget.sqf index 7028991347..9fbd51a64b 100644 --- a/addons/spectator/functions/fnc_cam_setTarget.sqf +++ b/addons/spectator/functions/fnc_cam_setTarget.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, kymckay * Sets the current camera interest using dummy target. diff --git a/addons/spectator/functions/fnc_cam_setVisionMode.sqf b/addons/spectator/functions/fnc_cam_setVisionMode.sqf index eb1927366c..5bcf8710b6 100644 --- a/addons/spectator/functions/fnc_cam_setVisionMode.sqf +++ b/addons/spectator/functions/fnc_cam_setVisionMode.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Function used to select the camera vision mode diff --git a/addons/spectator/functions/fnc_cam_tick.sqf b/addons/spectator/functions/fnc_cam_tick.sqf index c8411dc579..1e7e1b9913 100644 --- a/addons/spectator/functions/fnc_cam_tick.sqf +++ b/addons/spectator/functions/fnc_cam_tick.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO, kymckay * Function used to perform camera ticks diff --git a/addons/spectator/functions/fnc_cam_toggleSlow.sqf b/addons/spectator/functions/fnc_cam_toggleSlow.sqf index e4cdcb80d4..758598829c 100644 --- a/addons/spectator/functions/fnc_cam_toggleSlow.sqf +++ b/addons/spectator/functions/fnc_cam_toggleSlow.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, kymckay * Function used to set camera slow speed mode diff --git a/addons/spectator/functions/fnc_compat_counter.sqf b/addons/spectator/functions/fnc_compat_counter.sqf index bac87d7448..00bd176732 100644 --- a/addons/spectator/functions/fnc_compat_counter.sqf +++ b/addons/spectator/functions/fnc_compat_counter.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Handles integrating the counter respawn template into the spectator UI diff --git a/addons/spectator/functions/fnc_compat_spectatorBI.sqf b/addons/spectator/functions/fnc_compat_spectatorBI.sqf index 539b00659c..3d982830a0 100644 --- a/addons/spectator/functions/fnc_compat_spectatorBI.sqf +++ b/addons/spectator/functions/fnc_compat_spectatorBI.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Handles "compatibility" (i.e. override) for BI spectator respawn types 1, 4 & 5 diff --git a/addons/spectator/functions/fnc_compat_zeus.sqf b/addons/spectator/functions/fnc_compat_zeus.sqf index 2fc514f3a7..8cd0b3e464 100644 --- a/addons/spectator/functions/fnc_compat_zeus.sqf +++ b/addons/spectator/functions/fnc_compat_zeus.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Handles compatibility with curator interface (i.e. re-opens spectator if applicable) diff --git a/addons/spectator/functions/fnc_getCameraAttributes.sqf b/addons/spectator/functions/fnc_getCameraAttributes.sqf index d6cc7b6122..b4da802276 100644 --- a/addons/spectator/functions/fnc_getCameraAttributes.sqf +++ b/addons/spectator/functions/fnc_getCameraAttributes.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Returns the current spectator camera attributes (see setCameraAttributes for details). diff --git a/addons/spectator/functions/fnc_getGroupIcon.sqf b/addons/spectator/functions/fnc_getGroupIcon.sqf index a4bd6fcb06..64db9e7297 100644 --- a/addons/spectator/functions/fnc_getGroupIcon.sqf +++ b/addons/spectator/functions/fnc_getGroupIcon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Function used to get an appropriate icon for provided group. Approximate. diff --git a/addons/spectator/functions/fnc_getTargetEntities.sqf b/addons/spectator/functions/fnc_getTargetEntities.sqf index 6d57c1313e..352f3f9c18 100644 --- a/addons/spectator/functions/fnc_getTargetEntities.sqf +++ b/addons/spectator/functions/fnc_getTargetEntities.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Gets the possible entities to spectate based on settings. diff --git a/addons/spectator/functions/fnc_handleFired.sqf b/addons/spectator/functions/fnc_handleFired.sqf index 8705562c64..f8683af947 100644 --- a/addons/spectator/functions/fnc_handleFired.sqf +++ b/addons/spectator/functions/fnc_handleFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO, kymckay * Function used to add projectiles to be drawn when a unit fires diff --git a/addons/spectator/functions/fnc_moduleSpectatorSettings.sqf b/addons/spectator/functions/fnc_moduleSpectatorSettings.sqf index 9c6e461395..05b780539c 100644 --- a/addons/spectator/functions/fnc_moduleSpectatorSettings.sqf +++ b/addons/spectator/functions/fnc_moduleSpectatorSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Read spectator settings from module diff --git a/addons/spectator/functions/fnc_players.sqf b/addons/spectator/functions/fnc_players.sqf index 198727977c..9dc2fa7d1f 100644 --- a/addons/spectator/functions/fnc_players.sqf +++ b/addons/spectator/functions/fnc_players.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Return all of the player entities who are currently in ace spectator diff --git a/addons/spectator/functions/fnc_respawnTemplate.sqf b/addons/spectator/functions/fnc_respawnTemplate.sqf index 9833549d00..f93ac60ce0 100644 --- a/addons/spectator/functions/fnc_respawnTemplate.sqf +++ b/addons/spectator/functions/fnc_respawnTemplate.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * The ace_spectator respawn template, compatible with types 1,2,3,4 & 5 diff --git a/addons/spectator/functions/fnc_setCameraAttributes.sqf b/addons/spectator/functions/fnc_setCameraAttributes.sqf index 4212634880..f33f23c09a 100644 --- a/addons/spectator/functions/fnc_setCameraAttributes.sqf +++ b/addons/spectator/functions/fnc_setCameraAttributes.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Sets the spectator camera attributes as desired. Local effect. diff --git a/addons/spectator/functions/fnc_setFocus.sqf b/addons/spectator/functions/fnc_setFocus.sqf index 84c354ec83..6a897506b6 100644 --- a/addons/spectator/functions/fnc_setFocus.sqf +++ b/addons/spectator/functions/fnc_setFocus.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: AACO, kymckay * Function used to set the camera focus diff --git a/addons/spectator/functions/fnc_setSpectator.sqf b/addons/spectator/functions/fnc_setSpectator.sqf index 58627d1379..441baa7ab4 100644 --- a/addons/spectator/functions/fnc_setSpectator.sqf +++ b/addons/spectator/functions/fnc_setSpectator.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Enter/exit spectator mode for the local player diff --git a/addons/spectator/functions/fnc_switchFocus.sqf b/addons/spectator/functions/fnc_switchFocus.sqf index 97e9f36969..c501ac4bb4 100644 --- a/addons/spectator/functions/fnc_switchFocus.sqf +++ b/addons/spectator/functions/fnc_switchFocus.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, kymckay * Function used to switch to next or previous camera focus diff --git a/addons/spectator/functions/fnc_ui.sqf b/addons/spectator/functions/fnc_ui.sqf index f885b161a8..70e079105a 100644 --- a/addons/spectator/functions/fnc_ui.sqf +++ b/addons/spectator/functions/fnc_ui.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Handles UI initialisation and destruction diff --git a/addons/spectator/functions/fnc_ui_draw3D.sqf b/addons/spectator/functions/fnc_ui_draw3D.sqf index fa863e12b5..066df4a69f 100644 --- a/addons/spectator/functions/fnc_ui_draw3D.sqf +++ b/addons/spectator/functions/fnc_ui_draw3D.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO, kymckay * Function used to draw the 3D icons and track the cursor object diff --git a/addons/spectator/functions/fnc_ui_fadeList.sqf b/addons/spectator/functions/fnc_ui_fadeList.sqf index c365ca4824..59c1728375 100644 --- a/addons/spectator/functions/fnc_ui_fadeList.sqf +++ b/addons/spectator/functions/fnc_ui_fadeList.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO * Function used to fade/unfade the entitiy list diff --git a/addons/spectator/functions/fnc_ui_getTreeDataIndex.sqf b/addons/spectator/functions/fnc_ui_getTreeDataIndex.sqf index 73d6cf8e89..04c29b5808 100644 --- a/addons/spectator/functions/fnc_ui_getTreeDataIndex.sqf +++ b/addons/spectator/functions/fnc_ui_getTreeDataIndex.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO * Function used to find the tree path of an entity diff --git a/addons/spectator/functions/fnc_ui_handleChildDestroyed.sqf b/addons/spectator/functions/fnc_ui_handleChildDestroyed.sqf index abebcbc69f..0d878da7e1 100644 --- a/addons/spectator/functions/fnc_ui_handleChildDestroyed.sqf +++ b/addons/spectator/functions/fnc_ui_handleChildDestroyed.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte * Function used to handle child destroyed event diff --git a/addons/spectator/functions/fnc_ui_handleKeyDown.sqf b/addons/spectator/functions/fnc_ui_handleKeyDown.sqf index 7905ced24d..c26a06786d 100644 --- a/addons/spectator/functions/fnc_ui_handleKeyDown.sqf +++ b/addons/spectator/functions/fnc_ui_handleKeyDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "\a3\ui_f\hpp\defineDIKCodes.inc" /* * Author: Nelson Duarte, AACO, kymckay diff --git a/addons/spectator/functions/fnc_ui_handleKeyUp.sqf b/addons/spectator/functions/fnc_ui_handleKeyUp.sqf index b47ead7990..d43db403c2 100644 --- a/addons/spectator/functions/fnc_ui_handleKeyUp.sqf +++ b/addons/spectator/functions/fnc_ui_handleKeyUp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "\a3\ui_f\hpp\defineDIKCodes.inc" /* * Author: Nelson Duarte, kymckay diff --git a/addons/spectator/functions/fnc_ui_handleListClick.sqf b/addons/spectator/functions/fnc_ui_handleListClick.sqf index 49266b1995..600b7e711c 100644 --- a/addons/spectator/functions/fnc_ui_handleListClick.sqf +++ b/addons/spectator/functions/fnc_ui_handleListClick.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO, kymckay * Function used to handle list single/double clicks diff --git a/addons/spectator/functions/fnc_ui_handleLoad.sqf b/addons/spectator/functions/fnc_ui_handleLoad.sqf index 9f1a23fcc5..bc1942437d 100644 --- a/addons/spectator/functions/fnc_ui_handleLoad.sqf +++ b/addons/spectator/functions/fnc_ui_handleLoad.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay, Jonpas * Function used to handle load event. diff --git a/addons/spectator/functions/fnc_ui_handleMapClick.sqf b/addons/spectator/functions/fnc_ui_handleMapClick.sqf index 6d4e17e401..6dc7719bf3 100644 --- a/addons/spectator/functions/fnc_ui_handleMapClick.sqf +++ b/addons/spectator/functions/fnc_ui_handleMapClick.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO * Function used to handle map mouse click events diff --git a/addons/spectator/functions/fnc_ui_handleMapDraw.sqf b/addons/spectator/functions/fnc_ui_handleMapDraw.sqf index 676774df2d..eeb7ea22f3 100644 --- a/addons/spectator/functions/fnc_ui_handleMapDraw.sqf +++ b/addons/spectator/functions/fnc_ui_handleMapDraw.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO * Function used to handle map draw diff --git a/addons/spectator/functions/fnc_ui_handleMouseButtonDblClick.sqf b/addons/spectator/functions/fnc_ui_handleMouseButtonDblClick.sqf index 773beb4941..b154eb868a 100644 --- a/addons/spectator/functions/fnc_ui_handleMouseButtonDblClick.sqf +++ b/addons/spectator/functions/fnc_ui_handleMouseButtonDblClick.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO, kymckay * Function used to handle mouse button double clicks diff --git a/addons/spectator/functions/fnc_ui_handleMouseButtonDown.sqf b/addons/spectator/functions/fnc_ui_handleMouseButtonDown.sqf index d83d3c5a17..eaf1ea3817 100644 --- a/addons/spectator/functions/fnc_ui_handleMouseButtonDown.sqf +++ b/addons/spectator/functions/fnc_ui_handleMouseButtonDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO, kymckay * Function used to handle mouse down event diff --git a/addons/spectator/functions/fnc_ui_handleMouseMoving.sqf b/addons/spectator/functions/fnc_ui_handleMouseMoving.sqf index de652f8845..2bc234cd9b 100644 --- a/addons/spectator/functions/fnc_ui_handleMouseMoving.sqf +++ b/addons/spectator/functions/fnc_ui_handleMouseMoving.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO * Function used to handle mouse moving event diff --git a/addons/spectator/functions/fnc_ui_handleMouseZChanged.sqf b/addons/spectator/functions/fnc_ui_handleMouseZChanged.sqf index b402d9830e..b58e290cf3 100644 --- a/addons/spectator/functions/fnc_ui_handleMouseZChanged.sqf +++ b/addons/spectator/functions/fnc_ui_handleMouseZChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO * Function used to handle mouse scroll event diff --git a/addons/spectator/functions/fnc_ui_handleUnload.sqf b/addons/spectator/functions/fnc_ui_handleUnload.sqf index 8d9f92a262..0bf76b86b9 100644 --- a/addons/spectator/functions/fnc_ui_handleUnload.sqf +++ b/addons/spectator/functions/fnc_ui_handleUnload.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Function used to handle unload event. diff --git a/addons/spectator/functions/fnc_ui_toggleMap.sqf b/addons/spectator/functions/fnc_ui_toggleMap.sqf index c968f39512..d9863663f1 100644 --- a/addons/spectator/functions/fnc_ui_toggleMap.sqf +++ b/addons/spectator/functions/fnc_ui_toggleMap.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO * Function used to toggle the map diff --git a/addons/spectator/functions/fnc_ui_toggleUI.sqf b/addons/spectator/functions/fnc_ui_toggleUI.sqf index 44aec76ab5..ff34798c69 100644 --- a/addons/spectator/functions/fnc_ui_toggleUI.sqf +++ b/addons/spectator/functions/fnc_ui_toggleUI.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO, kymckay * Function used to toggle the whole user interface diff --git a/addons/spectator/functions/fnc_ui_updateCamButtons.sqf b/addons/spectator/functions/fnc_ui_updateCamButtons.sqf index 12c2182da0..dc41422c17 100644 --- a/addons/spectator/functions/fnc_ui_updateCamButtons.sqf +++ b/addons/spectator/functions/fnc_ui_updateCamButtons.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Used to update the docked camera buttons diff --git a/addons/spectator/functions/fnc_ui_updateHelp.sqf b/addons/spectator/functions/fnc_ui_updateHelp.sqf index bd08397acd..1ddbbacad9 100644 --- a/addons/spectator/functions/fnc_ui_updateHelp.sqf +++ b/addons/spectator/functions/fnc_ui_updateHelp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" #include "\a3\ui_f\hpp\defineDIKCodes.inc" /* * Author: Nelson Duarte, kymckay diff --git a/addons/spectator/functions/fnc_ui_updateIconsToDraw.sqf b/addons/spectator/functions/fnc_ui_updateIconsToDraw.sqf index e3a63f811b..6093467d63 100644 --- a/addons/spectator/functions/fnc_ui_updateIconsToDraw.sqf +++ b/addons/spectator/functions/fnc_ui_updateIconsToDraw.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO, kymckay * Function used update the things to 3D draw diff --git a/addons/spectator/functions/fnc_ui_updateListEntities.sqf b/addons/spectator/functions/fnc_ui_updateListEntities.sqf index 1c1e05796b..000f9a4b22 100644 --- a/addons/spectator/functions/fnc_ui_updateListEntities.sqf +++ b/addons/spectator/functions/fnc_ui_updateListEntities.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO, kymckay * Updates spectator UI list of units/groups diff --git a/addons/spectator/functions/fnc_ui_updateListFocus.sqf b/addons/spectator/functions/fnc_ui_updateListFocus.sqf index c62471e2ca..db82787098 100644 --- a/addons/spectator/functions/fnc_ui_updateListFocus.sqf +++ b/addons/spectator/functions/fnc_ui_updateListFocus.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, AACO, kymckay * Function used to update the list current selection diff --git a/addons/spectator/functions/fnc_ui_updateWidget.sqf b/addons/spectator/functions/fnc_ui_updateWidget.sqf index c07c8502f4..78128d3b00 100644 --- a/addons/spectator/functions/fnc_ui_updateWidget.sqf +++ b/addons/spectator/functions/fnc_ui_updateWidget.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Nelson Duarte, kymckay * Updates spectator UI unit info widget diff --git a/addons/spectator/functions/fnc_updateCameraModes.sqf b/addons/spectator/functions/fnc_updateCameraModes.sqf index 3b1b73c09a..b188f5d747 100644 --- a/addons/spectator/functions/fnc_updateCameraModes.sqf +++ b/addons/spectator/functions/fnc_updateCameraModes.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Adds or removes spectator camera modes from the selection available to the local player. diff --git a/addons/spectator/functions/fnc_updateSides.sqf b/addons/spectator/functions/fnc_updateSides.sqf index b5142dd842..ca6107d0ed 100644 --- a/addons/spectator/functions/fnc_updateSides.sqf +++ b/addons/spectator/functions/fnc_updateSides.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Adds or removes sides from the selection available to spectate. Local effect. diff --git a/addons/spectator/functions/fnc_updateUnits.sqf b/addons/spectator/functions/fnc_updateUnits.sqf index 9ac8c3f98e..19522e29d8 100644 --- a/addons/spectator/functions/fnc_updateUnits.sqf +++ b/addons/spectator/functions/fnc_updateUnits.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Adds and removed units from the spectator list. Local effect. diff --git a/addons/spectator/functions/fnc_updateVisionModes.sqf b/addons/spectator/functions/fnc_updateVisionModes.sqf index 1a437d2d38..1265ff12fc 100644 --- a/addons/spectator/functions/fnc_updateVisionModes.sqf +++ b/addons/spectator/functions/fnc_updateVisionModes.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Adds or removes spectator vision modes from the selection available to the local player. diff --git a/addons/spectator/functions/script_component.hpp b/addons/spectator/functions/script_component.hpp deleted file mode 100644 index 83581f08f7..0000000000 --- a/addons/spectator/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\spectator\script_component.hpp" diff --git a/addons/spectator/stringtable.xml b/addons/spectator/stringtable.xml index 5b92878c98..1ddd9f14e6 100644 --- a/addons/spectator/stringtable.xml +++ b/addons/spectator/stringtable.xml @@ -25,7 +25,7 @@ ACE Spectateur ACE 旁观者 ACE 旁觀者 - Obserwator ACE + ACE Obserwator ACE 관전자 ACE Зритель ACE Espectador @@ -75,7 +75,7 @@ Rend les unités IA visibles en spectateur. Spraw, aby SI było widoczne jako obserwator Сделать ИИ видимыми в режиме зрителя - Permite que IA seja visivel no espectador + Permite que IA seja visível no espectador Umožňuje sledovat AI v módu diváka Permitir ver a la IA en espectador @@ -83,7 +83,7 @@ Camera modes Kameramodus Tryby kamery - Modos de camera + Modos de câmera Режимы камеры Módy kamery Modos de cámara @@ -99,14 +99,14 @@ Camera modes that can be used Verwendbare Kameramodi Tryby kamery, jakie mogą być używane. - Modos de camera que podem ser utilizados + Modos de câmera que podem ser utilizados Режимы камеры, которые могут быть использованы Modos de la cámara que se pueden utilizar. Módy kamery které mohou být použity. Modalità che la camera può utilizzare. Modes de caméra pouvant être utilisés. カメラ モードを設定できます。 - 사용할 수 있는 카메라 모드들 입니다 + 사용할 수 있는 카메라 모드들입니다 设定可使用的摄影机模式 設定可使用的攝影機模式 @@ -169,7 +169,7 @@ Modalità visuali che possono essere usate. Modes de visualisation pouvant être utilisés. ビジョン モードを設定できます。 - 사용할 수 있는 시야 모드들 입니다 + 사용할 수 있는 시야 모드들입니다 设定可使用的视觉模式 設定可使用的視覺模式 @@ -288,7 +288,7 @@ Night Nacht Noc - Visão Norturna + Visão Noturna Ночное Noční Nocturna diff --git a/addons/spottingscope/functions/fnc_pickup.sqf b/addons/spottingscope/functions/fnc_pickup.sqf index 2e8a5cc9e2..1b0e6b1a05 100644 --- a/addons/spottingscope/functions/fnc_pickup.sqf +++ b/addons/spottingscope/functions/fnc_pickup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko, Ruthberg * Pick up spotting scope diff --git a/addons/spottingscope/functions/fnc_place.sqf b/addons/spottingscope/functions/fnc_place.sqf index ddf02d7e1e..b15656aca3 100644 --- a/addons/spottingscope/functions/fnc_place.sqf +++ b/addons/spottingscope/functions/fnc_place.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko, Ruthberg * Place down spotting scope diff --git a/addons/spottingscope/functions/script_component.hpp b/addons/spottingscope/functions/script_component.hpp deleted file mode 100644 index 12dfdc4e3e..0000000000 --- a/addons/spottingscope/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\spottingscope\script_component.hpp" diff --git a/addons/switchunits/functions/fnc_addMapFunction.sqf b/addons/switchunits/functions/fnc_addMapFunction.sqf index fc8c181925..46d4ce9e8f 100644 --- a/addons/switchunits/functions/fnc_addMapFunction.sqf +++ b/addons/switchunits/functions/fnc_addMapFunction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Adds a mapClick Eventhandler diff --git a/addons/switchunits/functions/fnc_handleMapClick.sqf b/addons/switchunits/functions/fnc_handleMapClick.sqf index dfd7ac686b..fbb1e3d349 100644 --- a/addons/switchunits/functions/fnc_handleMapClick.sqf +++ b/addons/switchunits/functions/fnc_handleMapClick.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Switches to a unit close to a clicked map position diff --git a/addons/switchunits/functions/fnc_initPlayer.sqf b/addons/switchunits/functions/fnc_initPlayer.sqf index 1174331ae1..ffc0f7ad63 100644 --- a/addons/switchunits/functions/fnc_initPlayer.sqf +++ b/addons/switchunits/functions/fnc_initPlayer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Initializes the player diff --git a/addons/switchunits/functions/fnc_isValidAi.sqf b/addons/switchunits/functions/fnc_isValidAi.sqf index 39fd0db94d..e78e990924 100644 --- a/addons/switchunits/functions/fnc_isValidAi.sqf +++ b/addons/switchunits/functions/fnc_isValidAi.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Checks if AI is a valid target for switching. diff --git a/addons/switchunits/functions/fnc_markAiOnMap.sqf b/addons/switchunits/functions/fnc_markAiOnMap.sqf index 2de13634e8..8c7dc4924c 100644 --- a/addons/switchunits/functions/fnc_markAiOnMap.sqf +++ b/addons/switchunits/functions/fnc_markAiOnMap.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Creates markers for AI units for given sides. diff --git a/addons/switchunits/functions/fnc_module.sqf b/addons/switchunits/functions/fnc_module.sqf index a2346ff2f4..d243715875 100644 --- a/addons/switchunits/functions/fnc_module.sqf +++ b/addons/switchunits/functions/fnc_module.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Initializes the SwitchUnits module diff --git a/addons/switchunits/functions/fnc_nearestPlayers.sqf b/addons/switchunits/functions/fnc_nearestPlayers.sqf index 1d649d0843..de1fda7e08 100644 --- a/addons/switchunits/functions/fnc_nearestPlayers.sqf +++ b/addons/switchunits/functions/fnc_nearestPlayers.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Returns an array of alive players in a given radius around a given location diff --git a/addons/switchunits/functions/fnc_startSwitchUnits.sqf b/addons/switchunits/functions/fnc_startSwitchUnits.sqf index f9c3a5e1de..46fbb7e476 100644 --- a/addons/switchunits/functions/fnc_startSwitchUnits.sqf +++ b/addons/switchunits/functions/fnc_startSwitchUnits.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Starts the SwitchUnits functionality diff --git a/addons/switchunits/functions/fnc_switchBack.sqf b/addons/switchunits/functions/fnc_switchBack.sqf index 9762547545..454d9001b1 100644 --- a/addons/switchunits/functions/fnc_switchBack.sqf +++ b/addons/switchunits/functions/fnc_switchBack.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Switches back to the original player unit diff --git a/addons/switchunits/functions/fnc_switchUnit.sqf b/addons/switchunits/functions/fnc_switchUnit.sqf index ab2867c3ef..6fc8fa35c9 100644 --- a/addons/switchunits/functions/fnc_switchUnit.sqf +++ b/addons/switchunits/functions/fnc_switchUnit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux578 * Switches to the new given player unit diff --git a/addons/switchunits/functions/script_component.hpp b/addons/switchunits/functions/script_component.hpp deleted file mode 100644 index d03116f2f8..0000000000 --- a/addons/switchunits/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\switchunits\script_component.hpp" diff --git a/addons/switchunits/stringtable.xml b/addons/switchunits/stringtable.xml index a9172cfbed..c3165e6c58 100644 --- a/addons/switchunits/stringtable.xml +++ b/addons/switchunits/stringtable.xml @@ -152,7 +152,7 @@ ¿Cambiar a Independiente? Nach INDFOR wechseln? Přesunout k INDFOR? - Trocar para Indenpendente + Trocar para Independente Passage en Indépendant Átváltás INDFOR-ra? На независимых? @@ -169,7 +169,7 @@ ¿Permitir cambios a unidades Independientes? Erlaube das Wechseln zu INDFOR-Einheiten? Povolit přesun k INDFOR? - Permitir troca de unidades para o Indenpendente? + Permitir troca de unidades para o Independente? Autorise le passage en unité Indépendante. Független egységekre való váltás engedélyezése? Разрешить переключаться на независимых юнитов? @@ -234,7 +234,7 @@ Habilita una zona segura alrededor de las unidades enemigas. Los jugadores no pueden cambiar de unidad dentro de la zona segura. Aktiviere eine Sicherheitszone um feindliche Einheiten? Spieler können nicht zu Einheiten in der Sicherheitszone wechseln. Povolit bezpečnou zónu kolem nepřátelských jednotek? Hráči nemohou změnit strany/jednotky uvnitř bezpečné zóny. - Habilitar uma zona segur ao redor das unidades inimigas? Jogadores não conseguirão trocar para unidades dentro dessa zona segura. + Habilitar uma zona segura ao redor das unidades inimigas? Jogadores não conseguirão trocar para unidades dentro dessa zona segura. Active une zone de sécurité autour des unités ennemies. Les joueurs ne peuvent pas changer de camp à l'intérieur de cette zone. Engedélyezve legyen-e egy biztonságos zóna az ellenségek körül? A játékosok nem tudnak a biztonságos zónán belüli egységekre váltani. Включить безопасную зону вокруг вражеских юнитов? Игроки не могут переключаться на юнитов, находящихся в безопасной зоне. diff --git a/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf b/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf index f8e2ce9f3a..7c05cbbe63 100644 --- a/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf +++ b/addons/tacticalladder/functions/fnc_cancelTLdeploy.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko, Ruthberg, commy2 * Cancel tactical ladder deployment diff --git a/addons/tacticalladder/functions/fnc_confirmTLdeploy.sqf b/addons/tacticalladder/functions/fnc_confirmTLdeploy.sqf index 715fcba588..9fe13e4e65 100644 --- a/addons/tacticalladder/functions/fnc_confirmTLdeploy.sqf +++ b/addons/tacticalladder/functions/fnc_confirmTLdeploy.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko, Ruthberg, commy2 * Confirm tactical ladder deployment diff --git a/addons/tacticalladder/functions/fnc_deployTL.sqf b/addons/tacticalladder/functions/fnc_deployTL.sqf index 1005cf5100..85804e091f 100644 --- a/addons/tacticalladder/functions/fnc_deployTL.sqf +++ b/addons/tacticalladder/functions/fnc_deployTL.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko, Ruthberg * Deploy tactical ladder diff --git a/addons/tacticalladder/functions/fnc_handleInteractMenuOpened.sqf b/addons/tacticalladder/functions/fnc_handleInteractMenuOpened.sqf index 54963d00ae..ef3c35be86 100644 --- a/addons/tacticalladder/functions/fnc_handleInteractMenuOpened.sqf +++ b/addons/tacticalladder/functions/fnc_handleInteractMenuOpened.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle opening of interaction menu. diff --git a/addons/tacticalladder/functions/fnc_handleKilled.sqf b/addons/tacticalladder/functions/fnc_handleKilled.sqf index a67b41368e..f5b87bfaaf 100644 --- a/addons/tacticalladder/functions/fnc_handleKilled.sqf +++ b/addons/tacticalladder/functions/fnc_handleKilled.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle death. diff --git a/addons/tacticalladder/functions/fnc_handlePlayerChanged.sqf b/addons/tacticalladder/functions/fnc_handlePlayerChanged.sqf index 25be5fe7bf..be8a74c456 100644 --- a/addons/tacticalladder/functions/fnc_handlePlayerChanged.sqf +++ b/addons/tacticalladder/functions/fnc_handlePlayerChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle player changes. diff --git a/addons/tacticalladder/functions/fnc_handleScrollWheel.sqf b/addons/tacticalladder/functions/fnc_handleScrollWheel.sqf index 4e46b61d4e..821f62d708 100644 --- a/addons/tacticalladder/functions/fnc_handleScrollWheel.sqf +++ b/addons/tacticalladder/functions/fnc_handleScrollWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko, Ruthberg * Handles lengthening and tilting of the ladder diff --git a/addons/tacticalladder/functions/fnc_handleUnconscious.sqf b/addons/tacticalladder/functions/fnc_handleUnconscious.sqf index ed966a9f72..b555b069ac 100644 --- a/addons/tacticalladder/functions/fnc_handleUnconscious.sqf +++ b/addons/tacticalladder/functions/fnc_handleUnconscious.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle unconsciousness. diff --git a/addons/tacticalladder/functions/fnc_isLadderEmpty.sqf b/addons/tacticalladder/functions/fnc_isLadderEmpty.sqf index 5af9ecaafd..13ab990f39 100644 --- a/addons/tacticalladder/functions/fnc_isLadderEmpty.sqf +++ b/addons/tacticalladder/functions/fnc_isLadderEmpty.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Checks if Tactical Ladder is empty (no one climbing it). diff --git a/addons/tacticalladder/functions/fnc_pickupTL.sqf b/addons/tacticalladder/functions/fnc_pickupTL.sqf index 76cbea27d6..4c0890eb4b 100644 --- a/addons/tacticalladder/functions/fnc_pickupTL.sqf +++ b/addons/tacticalladder/functions/fnc_pickupTL.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko, Ruthberg, commy2 * Pick up tactical ladder diff --git a/addons/tacticalladder/functions/fnc_positionTL.sqf b/addons/tacticalladder/functions/fnc_positionTL.sqf index bbfd877c2f..1ea19e737b 100644 --- a/addons/tacticalladder/functions/fnc_positionTL.sqf +++ b/addons/tacticalladder/functions/fnc_positionTL.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko, Ruthberg * Position tactical ladder diff --git a/addons/tacticalladder/functions/script_component.hpp b/addons/tacticalladder/functions/script_component.hpp deleted file mode 100644 index 6c29debfd9..0000000000 --- a/addons/tacticalladder/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\tacticalladder\script_component.hpp" diff --git a/addons/tacticalladder/stringtable.xml b/addons/tacticalladder/stringtable.xml index 8cd2f5266d..a7d33865f9 100644 --- a/addons/tacticalladder/stringtable.xml +++ b/addons/tacticalladder/stringtable.xml @@ -56,7 +56,7 @@ Extend Ausfahren Rozłóż - Extender + Estender Разложить Prodloužit Estendi @@ -72,7 +72,7 @@ +Ctrl tilt +Strg kippen +Ctrl nachyl - +Ctrl tilt + +Ctrl inclinar +Ctrl наклонить +Ctrl naklonit +Ctrl inclinar diff --git a/addons/tagging/ACE_Tags.hpp b/addons/tagging/ACE_Tags.hpp index ce4df78f51..806dfdf5dd 100644 --- a/addons/tagging/ACE_Tags.hpp +++ b/addons/tagging/ACE_Tags.hpp @@ -8,29 +8,41 @@ class ACE_Tags { class ACE_XBlack { - displayName = CSTRING(XBlack); + displayName = CSTRING(x); requiredItem = "ACE_SpraypaintBlack"; textures[] = {QPATHTOF(UI\tags\black\0.paa), QPATHTOF(UI\tags\black\1.paa), QPATHTOF(UI\tags\black\2.paa)}; icon = QPATHTOF(UI\tags\black\0.paa); }; class ACE_XRed { - displayName = CSTRING(XRed); + displayName = CSTRING(x); requiredItem = "ACE_SpraypaintRed"; textures[] = {QPATHTOF(UI\tags\red\0.paa), QPATHTOF(UI\tags\red\1.paa), QPATHTOF(UI\tags\red\2.paa)}; icon = QPATHTOF(UI\tags\red\0.paa); }; class ACE_XGreen { - displayName = CSTRING(XGreen); + displayName = CSTRING(x); requiredItem = "ACE_SpraypaintGreen"; textures[] = {QPATHTOF(UI\tags\green\0.paa), QPATHTOF(UI\tags\green\1.paa), QPATHTOF(UI\tags\green\2.paa)}; icon = QPATHTOF(UI\tags\green\0.paa); }; class ACE_XBlue { - displayName = CSTRING(XBlue); + displayName = CSTRING(x); requiredItem = "ACE_SpraypaintBlue"; textures[] = {QPATHTOF(UI\tags\blue\0.paa), QPATHTOF(UI\tags\blue\1.paa), QPATHTOF(UI\tags\blue\2.paa)}; icon = QPATHTOF(UI\tags\blue\0.paa); }; + class ACE_XYellow { + displayName = CSTRING(x); + requiredItem = "ACE_SpraypaintYellow"; + textures[] = {QPATHTOF(UI\tags\yellow\0.paa), QPATHTOF(UI\tags\yellow\1.paa), QPATHTOF(UI\tags\yellow\2.paa)}; + icon = QPATHTOF(UI\tags\yellow\0.paa); + }; + class ACE_XWhite { + displayName = CSTRING(x); + requiredItem = "ACE_SpraypaintWhite"; + textures[] = {QPATHTOF(UI\tags\white\0.paa), QPATHTOF(UI\tags\white\1.paa), QPATHTOF(UI\tags\white\2.paa)}; + icon = QPATHTOF(UI\tags\white\0.paa); + }; TAG(arrow_up,Black); TAG(arrow_down,Black); @@ -40,6 +52,7 @@ class ACE_Tags { TAG(cross,Black); TAG(diamond,Black); TAG(square,Black); + TAG(square_filled,Black); TAG(triangle,Black); TAG(triangle_inverted,Black); @@ -51,6 +64,7 @@ class ACE_Tags { TAG(cross,Blue); TAG(diamond,Blue); TAG(square,Blue); + TAG(square_filled,Blue); TAG(triangle,Blue); TAG(triangle_inverted,Blue); @@ -62,6 +76,7 @@ class ACE_Tags { TAG(cross,Green); TAG(diamond,Green); TAG(square,Green); + TAG(square_filled,Green); TAG(triangle,Green); TAG(triangle_inverted,Green); @@ -73,6 +88,31 @@ class ACE_Tags { TAG(cross,Red); TAG(diamond,Red); TAG(square,Red); + TAG(square_filled,Red); TAG(triangle,Red); TAG(triangle_inverted,Red); + + TAG(arrow_up,Yellow); + TAG(arrow_down,Yellow); + TAG(arrow_left,Yellow); + TAG(arrow_right,Yellow); + TAG(circle,Yellow); + TAG(cross,Yellow); + TAG(diamond,Yellow); + TAG(square,Yellow); + TAG(square_filled,Yellow); + TAG(triangle,Yellow); + TAG(triangle_inverted,Yellow); + + TAG(arrow_up,White); + TAG(arrow_down,White); + TAG(arrow_left,White); + TAG(arrow_right,White); + TAG(circle,White); + TAG(cross,White); + TAG(diamond,White); + TAG(square,White); + TAG(square_filled,White); + TAG(triangle,White); + TAG(triangle_inverted,White); }; diff --git a/addons/tagging/CfgEden.hpp b/addons/tagging/CfgEden.hpp index fbb40ab7a9..ac9f5e25da 100644 --- a/addons/tagging/CfgEden.hpp +++ b/addons/tagging/CfgEden.hpp @@ -8,7 +8,7 @@ class Cfg3DEN { control = "Edit"; displayName = CSTRING(stencilVehicle); tooltip = CSTRING(stencilVehicle_tooltip); - expression = QUOTE( [ARR_2(_this,_value)] call FUNC(stencilVehicle); ); + expression = QUOTE([ARR_2(_this,_value)] call FUNC(stencilVehicle)); condition = "objectVehicle"; defaultValue = "''"; typeName = "STRING"; diff --git a/addons/tagging/CfgVehicles.hpp b/addons/tagging/CfgVehicles.hpp index 8eef5c004c..9263573425 100644 --- a/addons/tagging/CfgVehicles.hpp +++ b/addons/tagging/CfgVehicles.hpp @@ -94,6 +94,18 @@ class CfgVehicles { MACRO_ADDITEM(ACE_SpraypaintBlue,1); }; }; + class ACE_Item_SpraypaintYellow: ACE_Item_SpraypaintBlack { + displayName = CSTRING(SpraypaintYellow); + class TransportItems { + MACRO_ADDITEM(ACE_SpraypaintYellow,1); + }; + }; + class ACE_Item_SpraypaintWhite: ACE_Item_SpraypaintBlack { + displayName = CSTRING(SpraypaintWhite); + class TransportItems { + MACRO_ADDITEM(ACE_SpraypaintWhite,1); + }; + }; class Box_NATO_Support_F; class ACE_Box_Misc: Box_NATO_Support_F { @@ -102,6 +114,8 @@ class CfgVehicles { MACRO_ADDITEM(ACE_SpraypaintRed,5); MACRO_ADDITEM(ACE_SpraypaintBlue,5); MACRO_ADDITEM(ACE_SpraypaintGreen,5); + MACRO_ADDITEM(ACE_SpraypaintYellow,5); + MACRO_ADDITEM(ACE_SpraypaintWhite,5); }; }; }; diff --git a/addons/tagging/CfgWeapons.hpp b/addons/tagging/CfgWeapons.hpp index 05200dd3ef..906b990f81 100644 --- a/addons/tagging/CfgWeapons.hpp +++ b/addons/tagging/CfgWeapons.hpp @@ -34,4 +34,16 @@ class CfgWeapons { hiddenSelectionsTextures[] = {QPATHTOF(data\spraycanBlue_co.paa)}; GVAR(textColor) = "0000FFFE"; }; + class ACE_SpraypaintYellow: ACE_SpraypaintBlack { + displayname = CSTRING(spraypaintYellow); + picture = QPATHTOF(UI\items\itemSpraypaintYellow.paa); + hiddenSelectionsTextures[] = {QPATHTOF(data\spraycanYellow_co.paa)}; + GVAR(textColor) = "FFFF00FE"; + }; + class ACE_SpraypaintWhite: ACE_SpraypaintBlack { + displayname = CSTRING(spraypaintWhite); + picture = QPATHTOF(UI\items\itemSpraypaintWhite.paa); + hiddenSelectionsTextures[] = {QPATHTOF(data\spraycanWhite_co.paa)}; + GVAR(textColor) = "FFFFFFFE"; + }; }; diff --git a/addons/tagging/UI/icons/iconTaggingWhite.paa b/addons/tagging/UI/icons/iconTaggingWhite.paa new file mode 100644 index 0000000000..8d97ddca06 Binary files /dev/null and b/addons/tagging/UI/icons/iconTaggingWhite.paa differ diff --git a/addons/tagging/UI/icons/iconTaggingYellow.paa b/addons/tagging/UI/icons/iconTaggingYellow.paa new file mode 100644 index 0000000000..46a0624da8 Binary files /dev/null and b/addons/tagging/UI/icons/iconTaggingYellow.paa differ diff --git a/addons/tagging/UI/items/itemSpraypaintWhite.paa b/addons/tagging/UI/items/itemSpraypaintWhite.paa new file mode 100644 index 0000000000..0e7e16af78 Binary files /dev/null and b/addons/tagging/UI/items/itemSpraypaintWhite.paa differ diff --git a/addons/tagging/UI/items/itemSpraypaintYellow.paa b/addons/tagging/UI/items/itemSpraypaintYellow.paa new file mode 100644 index 0000000000..59d9fb2ba2 Binary files /dev/null and b/addons/tagging/UI/items/itemSpraypaintYellow.paa differ diff --git a/addons/tagging/UI/tags/black/square_filled.paa b/addons/tagging/UI/tags/black/square_filled.paa new file mode 100644 index 0000000000..a4d2c37bab Binary files /dev/null and b/addons/tagging/UI/tags/black/square_filled.paa differ diff --git a/addons/tagging/UI/tags/blue/square_filled.paa b/addons/tagging/UI/tags/blue/square_filled.paa new file mode 100644 index 0000000000..81af837a01 Binary files /dev/null and b/addons/tagging/UI/tags/blue/square_filled.paa differ diff --git a/addons/tagging/UI/tags/green/square_filled.paa b/addons/tagging/UI/tags/green/square_filled.paa new file mode 100644 index 0000000000..d08edea5d5 Binary files /dev/null and b/addons/tagging/UI/tags/green/square_filled.paa differ diff --git a/addons/tagging/UI/tags/red/square_filled.paa b/addons/tagging/UI/tags/red/square_filled.paa new file mode 100644 index 0000000000..815f6a2df9 Binary files /dev/null and b/addons/tagging/UI/tags/red/square_filled.paa differ diff --git a/addons/tagging/UI/tags/white/0.paa b/addons/tagging/UI/tags/white/0.paa new file mode 100644 index 0000000000..2a710e60f5 Binary files /dev/null and b/addons/tagging/UI/tags/white/0.paa differ diff --git a/addons/tagging/UI/tags/white/1.paa b/addons/tagging/UI/tags/white/1.paa new file mode 100644 index 0000000000..efa7d12c17 Binary files /dev/null and b/addons/tagging/UI/tags/white/1.paa differ diff --git a/addons/tagging/UI/tags/white/2.paa b/addons/tagging/UI/tags/white/2.paa new file mode 100644 index 0000000000..569cb118bc Binary files /dev/null and b/addons/tagging/UI/tags/white/2.paa differ diff --git a/addons/tagging/UI/tags/white/arrow_down.paa b/addons/tagging/UI/tags/white/arrow_down.paa new file mode 100644 index 0000000000..1b9f47390e Binary files /dev/null and b/addons/tagging/UI/tags/white/arrow_down.paa differ diff --git a/addons/tagging/UI/tags/white/arrow_left.paa b/addons/tagging/UI/tags/white/arrow_left.paa new file mode 100644 index 0000000000..7934c9caa1 Binary files /dev/null and b/addons/tagging/UI/tags/white/arrow_left.paa differ diff --git a/addons/tagging/UI/tags/white/arrow_right.paa b/addons/tagging/UI/tags/white/arrow_right.paa new file mode 100644 index 0000000000..9873324716 Binary files /dev/null and b/addons/tagging/UI/tags/white/arrow_right.paa differ diff --git a/addons/tagging/UI/tags/white/arrow_up.paa b/addons/tagging/UI/tags/white/arrow_up.paa new file mode 100644 index 0000000000..f388f29c30 Binary files /dev/null and b/addons/tagging/UI/tags/white/arrow_up.paa differ diff --git a/addons/tagging/UI/tags/white/circle.paa b/addons/tagging/UI/tags/white/circle.paa new file mode 100644 index 0000000000..769b96e15a Binary files /dev/null and b/addons/tagging/UI/tags/white/circle.paa differ diff --git a/addons/tagging/UI/tags/white/cross.paa b/addons/tagging/UI/tags/white/cross.paa new file mode 100644 index 0000000000..bbc2e44240 Binary files /dev/null and b/addons/tagging/UI/tags/white/cross.paa differ diff --git a/addons/tagging/UI/tags/white/diamond.paa b/addons/tagging/UI/tags/white/diamond.paa new file mode 100644 index 0000000000..3b2b17b424 Binary files /dev/null and b/addons/tagging/UI/tags/white/diamond.paa differ diff --git a/addons/tagging/UI/tags/white/square.paa b/addons/tagging/UI/tags/white/square.paa new file mode 100644 index 0000000000..680603d6d3 Binary files /dev/null and b/addons/tagging/UI/tags/white/square.paa differ diff --git a/addons/tagging/UI/tags/white/square_filled.paa b/addons/tagging/UI/tags/white/square_filled.paa new file mode 100644 index 0000000000..ffbe7eee81 Binary files /dev/null and b/addons/tagging/UI/tags/white/square_filled.paa differ diff --git a/addons/tagging/UI/tags/white/triangle.paa b/addons/tagging/UI/tags/white/triangle.paa new file mode 100644 index 0000000000..5d4bb9c6a9 Binary files /dev/null and b/addons/tagging/UI/tags/white/triangle.paa differ diff --git a/addons/tagging/UI/tags/white/triangle_inverted.paa b/addons/tagging/UI/tags/white/triangle_inverted.paa new file mode 100644 index 0000000000..ed543ec29b Binary files /dev/null and b/addons/tagging/UI/tags/white/triangle_inverted.paa differ diff --git a/addons/tagging/UI/tags/yellow/0.paa b/addons/tagging/UI/tags/yellow/0.paa new file mode 100644 index 0000000000..6b441ab22d Binary files /dev/null and b/addons/tagging/UI/tags/yellow/0.paa differ diff --git a/addons/tagging/UI/tags/yellow/1.paa b/addons/tagging/UI/tags/yellow/1.paa new file mode 100644 index 0000000000..5e4d2da5ef Binary files /dev/null and b/addons/tagging/UI/tags/yellow/1.paa differ diff --git a/addons/tagging/UI/tags/yellow/2.paa b/addons/tagging/UI/tags/yellow/2.paa new file mode 100644 index 0000000000..0e03b827f0 Binary files /dev/null and b/addons/tagging/UI/tags/yellow/2.paa differ diff --git a/addons/tagging/UI/tags/yellow/arrow_down.paa b/addons/tagging/UI/tags/yellow/arrow_down.paa new file mode 100644 index 0000000000..d547bba0f2 Binary files /dev/null and b/addons/tagging/UI/tags/yellow/arrow_down.paa differ diff --git a/addons/tagging/UI/tags/yellow/arrow_left.paa b/addons/tagging/UI/tags/yellow/arrow_left.paa new file mode 100644 index 0000000000..4a3e05bd2b Binary files /dev/null and b/addons/tagging/UI/tags/yellow/arrow_left.paa differ diff --git a/addons/tagging/UI/tags/yellow/arrow_right.paa b/addons/tagging/UI/tags/yellow/arrow_right.paa new file mode 100644 index 0000000000..aad867960b Binary files /dev/null and b/addons/tagging/UI/tags/yellow/arrow_right.paa differ diff --git a/addons/tagging/UI/tags/yellow/arrow_up.paa b/addons/tagging/UI/tags/yellow/arrow_up.paa new file mode 100644 index 0000000000..df2b2c505d Binary files /dev/null and b/addons/tagging/UI/tags/yellow/arrow_up.paa differ diff --git a/addons/tagging/UI/tags/yellow/circle.paa b/addons/tagging/UI/tags/yellow/circle.paa new file mode 100644 index 0000000000..d7d67b4b15 Binary files /dev/null and b/addons/tagging/UI/tags/yellow/circle.paa differ diff --git a/addons/tagging/UI/tags/yellow/cross.paa b/addons/tagging/UI/tags/yellow/cross.paa new file mode 100644 index 0000000000..1cfcfef9b4 Binary files /dev/null and b/addons/tagging/UI/tags/yellow/cross.paa differ diff --git a/addons/tagging/UI/tags/yellow/diamond.paa b/addons/tagging/UI/tags/yellow/diamond.paa new file mode 100644 index 0000000000..d2448d5f62 Binary files /dev/null and b/addons/tagging/UI/tags/yellow/diamond.paa differ diff --git a/addons/tagging/UI/tags/yellow/square.paa b/addons/tagging/UI/tags/yellow/square.paa new file mode 100644 index 0000000000..fea44ea538 Binary files /dev/null and b/addons/tagging/UI/tags/yellow/square.paa differ diff --git a/addons/tagging/UI/tags/yellow/square_filled.paa b/addons/tagging/UI/tags/yellow/square_filled.paa new file mode 100644 index 0000000000..f16e270fa4 Binary files /dev/null and b/addons/tagging/UI/tags/yellow/square_filled.paa differ diff --git a/addons/tagging/UI/tags/yellow/triangle.paa b/addons/tagging/UI/tags/yellow/triangle.paa new file mode 100644 index 0000000000..0fc6917962 Binary files /dev/null and b/addons/tagging/UI/tags/yellow/triangle.paa differ diff --git a/addons/tagging/UI/tags/yellow/triangle_inverted.paa b/addons/tagging/UI/tags/yellow/triangle_inverted.paa new file mode 100644 index 0000000000..ad6a3726f4 Binary files /dev/null and b/addons/tagging/UI/tags/yellow/triangle_inverted.paa differ diff --git a/addons/tagging/data/spraycanWhite_co.paa b/addons/tagging/data/spraycanWhite_co.paa new file mode 100644 index 0000000000..85b86532a7 Binary files /dev/null and b/addons/tagging/data/spraycanWhite_co.paa differ diff --git a/addons/tagging/data/spraycanYellow_co.paa b/addons/tagging/data/spraycanYellow_co.paa new file mode 100644 index 0000000000..adff701bb8 Binary files /dev/null and b/addons/tagging/data/spraycanYellow_co.paa differ diff --git a/addons/tagging/functions/fnc_addCustomTag.sqf b/addons/tagging/functions/fnc_addCustomTag.sqf index a1b9ed06f8..c99d1f4409 100644 --- a/addons/tagging/functions/fnc_addCustomTag.sqf +++ b/addons/tagging/functions/fnc_addCustomTag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Adds custom tag. Has to be executed on one machine only. diff --git a/addons/tagging/functions/fnc_addStencilTag.sqf b/addons/tagging/functions/fnc_addStencilTag.sqf index f311653967..f6613856a9 100644 --- a/addons/tagging/functions/fnc_addStencilTag.sqf +++ b/addons/tagging/functions/fnc_addStencilTag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Adds custom text tag. Has to be executed on one machine only. diff --git a/addons/tagging/functions/fnc_addTagActions.sqf b/addons/tagging/functions/fnc_addTagActions.sqf index 52a4c267f3..9c720e1f6c 100644 --- a/addons/tagging/functions/fnc_addTagActions.sqf +++ b/addons/tagging/functions/fnc_addTagActions.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Compiles tags from ACE_Tags and returns children actions. diff --git a/addons/tagging/functions/fnc_applyCustomTag.sqf b/addons/tagging/functions/fnc_applyCustomTag.sqf index 61903ebc4e..5aaf4c4b8f 100644 --- a/addons/tagging/functions/fnc_applyCustomTag.sqf +++ b/addons/tagging/functions/fnc_applyCustomTag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Applies custom tag to the cache. diff --git a/addons/tagging/functions/fnc_checkTaggable.sqf b/addons/tagging/functions/fnc_checkTaggable.sqf index e6d8a7c90f..7eab60c1ba 100644 --- a/addons/tagging/functions/fnc_checkTaggable.sqf +++ b/addons/tagging/functions/fnc_checkTaggable.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut, esteldunedain * Checks if there is a taggable surface within 2.5m in front of the player. diff --git a/addons/tagging/functions/fnc_compileConfigTags.sqf b/addons/tagging/functions/fnc_compileConfigTags.sqf index 6da9536358..d2f096d067 100644 --- a/addons/tagging/functions/fnc_compileConfigTags.sqf +++ b/addons/tagging/functions/fnc_compileConfigTags.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Compiles and caches tags from ACE_Tags config. diff --git a/addons/tagging/functions/fnc_compileTagAction.sqf b/addons/tagging/functions/fnc_compileTagAction.sqf index 8abb7c9d28..a49de10f47 100644 --- a/addons/tagging/functions/fnc_compileTagAction.sqf +++ b/addons/tagging/functions/fnc_compileTagAction.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Compiles tags from ACE_Tags and returns children actions. diff --git a/addons/tagging/functions/fnc_createTag.sqf b/addons/tagging/functions/fnc_createTag.sqf index 6e02d8a1a0..90923cc803 100644 --- a/addons/tagging/functions/fnc_createTag.sqf +++ b/addons/tagging/functions/fnc_createTag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut, esteldunedain * Creates a tag and handle its destruction. Only execute on the server. diff --git a/addons/tagging/functions/fnc_generateStencilTexture.sqf b/addons/tagging/functions/fnc_generateStencilTexture.sqf index 60f199fe5c..1870d67114 100644 --- a/addons/tagging/functions/fnc_generateStencilTexture.sqf +++ b/addons/tagging/functions/fnc_generateStencilTexture.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Generate a "Text to Texture" diff --git a/addons/tagging/functions/fnc_moduleInit.sqf b/addons/tagging/functions/fnc_moduleInit.sqf index 3f1048e1e5..d7c42ea8b9 100644 --- a/addons/tagging/functions/fnc_moduleInit.sqf +++ b/addons/tagging/functions/fnc_moduleInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Initializes the Tagging module. diff --git a/addons/tagging/functions/fnc_parseConfigTag.sqf b/addons/tagging/functions/fnc_parseConfigTag.sqf index 41242529ee..5526b2fed0 100644 --- a/addons/tagging/functions/fnc_parseConfigTag.sqf +++ b/addons/tagging/functions/fnc_parseConfigTag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas, Dedmen * Parses tags from ACE_Tags config. diff --git a/addons/tagging/functions/fnc_quickTag.sqf b/addons/tagging/functions/fnc_quickTag.sqf index 0ba5cbb338..3e8c51218d 100644 --- a/addons/tagging/functions/fnc_quickTag.sqf +++ b/addons/tagging/functions/fnc_quickTag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Selects random tag and applies it. diff --git a/addons/tagging/functions/fnc_stencilVehicle.sqf b/addons/tagging/functions/fnc_stencilVehicle.sqf index 965b9b5bd0..b2ee99c241 100644 --- a/addons/tagging/functions/fnc_stencilVehicle.sqf +++ b/addons/tagging/functions/fnc_stencilVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles 3den attribute for vehicle ID markings diff --git a/addons/tagging/functions/fnc_tag.sqf b/addons/tagging/functions/fnc_tag.sqf index 67345e540f..4e4310a0cf 100644 --- a/addons/tagging/functions/fnc_tag.sqf +++ b/addons/tagging/functions/fnc_tag.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut, esteldunedain * Creates a tag on a wall that is on the closest surface within 2m on front of the unit. diff --git a/addons/tagging/functions/fnc_tagTestingThread.sqf b/addons/tagging/functions/fnc_tagTestingThread.sqf index dcfb5e0bac..f6d5209e3c 100644 --- a/addons/tagging/functions/fnc_tagTestingThread.sqf +++ b/addons/tagging/functions/fnc_tagTestingThread.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain * Checks if tags are still leaning on an object periodically. diff --git a/addons/tagging/functions/script_component.hpp b/addons/tagging/functions/script_component.hpp deleted file mode 100644 index 9bb3bf1d72..0000000000 --- a/addons/tagging/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\tagging\script_component.hpp" diff --git a/addons/tagging/stringtable.xml b/addons/tagging/stringtable.xml index 2c50e76254..2e2a6d175d 100644 --- a/addons/tagging/stringtable.xml +++ b/addons/tagging/stringtable.xml @@ -20,7 +20,7 @@ Configure how the tagging system will operate by default. Настройка работы системы спрей-маркеров по умолчанию. - 標準で開くタグ付けシステムの設定を行います。 + タグ付けシステムの標準動作を設定します。 Skonfiguruj zachowanie systemu tagowania. Konfiguriert, wie das Markieren standardmäßig funktioniert. 태그 시스템의 기본사항을 설정합니다. @@ -35,7 +35,7 @@ Spray Paint - Quick Tag Быстрый маркер - クイック タグ + スプレーペイント - クイックタグ Szybkie tagowanie Schnelle Markierung (Spraydose) 스프레이 페인트 - 빠른 태그 @@ -51,7 +51,7 @@ Action performed on main tag interaction point. Действие, выполняемое при выборе главного пункта меню маркировки. - インタラクション ポイントにむけてタグ付けをします。 + メインのインタラクションポイント(タグ)を選択した際に行われる動作。 Akcja wykonywana na głównym punkcie interakcji tagu. Aktion, die am Haupt-Interaktionspunkt ausgeführt werden soll. 상호작용 시 표시할 낙서를 고릅니다. @@ -66,7 +66,7 @@ Last Used Повторить последний - 前回と同じ + 最後に使用したタグ Ostatnio użyte Zuletzt benutzt 최근 사용 @@ -120,108 +120,68 @@ Označit Marcar Маркер - タグ + タグ (スプレーペイント) 태그 Tag 喷漆 噴漆 Işaretle - - X black - Schwarz X - X en negro - X na czarno - X noir - X nero - X černě - X em preto - Черный Х + + X + X + X + X + X + X + X + X + Х X印 - 검정 X - 黑色X标记 - 黑色X標記 - X Siyah - - - X red - Rot X - X en rojo - X na czerwono - X rouge - X rosso - X červeně - X em vermelho - Красный Х - X印 - 빨간 X - 红色X标记 - 紅色X標記 - X Red - - - X green - Grün X - X en verde - X na zielono - X vert - X verde - X zeleně - X em verde - Зелёный Х - X印 - 초록 X - 绿色X标记 - 綠色X標記 - X Yeşil - - - X blue - Blau X - X en azul - X na niebiesko - X bleu - X blu - X modře - X em azul - Синий Х - X印 - 파랑 X - 蓝色X标记 - 藍色X標記 - X Mavi + X + X标记 + X標記 + X Up Arrow - 上矢印 + 矢印 (上) Strzałka w górę 화살표(위) Стрелка вверх Flecha Arriba + Pfeil Hoch + Flèche du haut Down Arrow - 下矢印 + 矢印 (下) Strzałka w dół 화살표(아래) Стрелка вниз Flecha Abajo + Pfeil Runter + Flèche du bas Left Arrow - 左矢印 + 矢印 (左) Strzałka w lewo 화살표(왼쪽) Стрелка влево Flecha Izquierda + Pfeil Links + Flèche gauche Right Arrow - 右矢印 + 矢印 (右) Strzałka w prawo 화살표(오른쪽) Стрелка вправо Flecha Derecha + Pfeil Rechts + Flèche droite Circle @@ -230,6 +190,8 @@ Круг Círculo + Kreis + Cercle Cross @@ -238,6 +200,8 @@ 십자 Перекрестие Cruz + Kreuz + Croix Diamond @@ -246,6 +210,8 @@ 마름모 Алмаз Diamante + Diamant + Losange Square @@ -254,22 +220,38 @@ 사각형 Квадрат Cuadrado + Quadrat + Carré + + + Filled Square + 四角 (塗りつぶし) + Wypełniony Kwadrat + 채워진 사각형 + Заполненный Квадрат + Cuadrado Lleno + Gefülltes Quadrat + Carré rempli Triangle - 三角形 + 三角 Trójkąt 삼각형 Треугольник Triángulo + Dreieck + Triangle Triangle Inverted - 三角形 (反転) + 三角 (反転) Odwrócony trójkąt 역삼각형 Обратный треугольник Triángulo invertido + Invertiertes Dreieck + Triangle inversé Spray Paint (Black) @@ -281,7 +263,7 @@ Černý sprej Spray de tinta preta Черный спрей - スプレー缶 (黒) + ペイントスプレー缶 (黒色) 검정 스프레이 黑色喷漆 黑色噴漆 @@ -297,7 +279,7 @@ Červený sprej Spray de tinta vermelha Красный спрей - スプレー缶 (赤) + ペイントスプレー缶 (赤色) 빨강 스프레이 红色喷漆 紅色噴漆 @@ -313,7 +295,7 @@ Zelený sprej Spray de tinta verde Зелёный спрей - スプレー缶 (緑) + ペイントスプレー缶 (緑色) 초록 스프레이 绿色喷漆 綠色噴漆 @@ -329,12 +311,44 @@ Modrý sprej Spray de tinta azul Синий спрей - スプレー缶 (青) + ペイントスプレー缶 (青色) 파랑 스프레이 蓝色喷漆 藍色噴漆 Sprey Boya (Mavi) + + Spray Paint (Yellow) + Sprühfarbe (Gelb) + Pintura amarilla + Farba w Sprayu (Żółta) + Peinture en spray (Jaune) + Bomboletta spray gialla + Žlutý sprej + Spray de tinta amarela + Желтый спрей + ペイントスプレー缶 (黄色) + 노랑 스프레이 + 黄色喷漆 + 黃色噴漆 + Sprey Boya (Sarı) + + + Spray Paint (White) + Sprühfarbe (Weiß) + Pintura blanca + Farba w Sprayu (Biała) + Peinture en spray (Blanc) + Bomboletta spray bianca + Bílý sprej + Spray de tinta branca + Белый спрей + ペイントスプレー缶 (白色) + 하양 스프레이 + 白色喷漆 + 白色噴漆 + Sprey Boya (Beyaz) + A can of spray paint for tagging walls. Eine Farbsprühdose um Wände zu markieren. @@ -345,7 +359,7 @@ Plechovka se sprejem k vytváření značek. Uma lata de tinta spray para marcar paredes. Балончик спрея для рисования маркеров на стенах. - スプレー缶は壁にタグ付できます。 + 壁にタグを描くためのペイントスプレー缶。 벽에 낙서할 수 있는 스프레이캔 입니다. 喷漆可喷涂在墙壁上 噴漆可噴塗在牆壁上 @@ -353,10 +367,18 @@ Vehicle ID Marking 車両IDマーキング + Oznaczenie identyfikacyjne pojazdu + Fahrzeug ID Markierung + 차량 ID 마킹 + Marquage ID des véhicules Replaces clan tag with stenciled text 部隊タグをステンシルテキストに置き換える + Zastępuje tag klanu tekstem z szablonu + Ersetzt das Clan-Tag durch Schablonentext + 클랜 태그를 스텐실 텍스트로 바꿉니다. + Remplace le tag du clan par un texte au pochoir diff --git a/addons/towing/CfgVehicles.hpp b/addons/towing/CfgVehicles.hpp index f74cf5d300..df791d95d3 100644 --- a/addons/towing/CfgVehicles.hpp +++ b/addons/towing/CfgVehicles.hpp @@ -11,43 +11,43 @@ class ACE_Actions {\ icon = "";\ class GVAR(startTow3) {\ displayName = CSTRING(start3);\ - condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player, 'ACE_rope3')] call EFUNC(common,hasItem));\ + condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player,'ACE_rope3')] call EFUNC(common,hasItem));\ statement = QUOTE([ARR_3(_player,_target,'ACE_rope3')] call FUNC(startTow));\ exceptions[] = { INTERACTION_EXCEPTIONS };\ };\ class GVAR(startTow6) {\ displayName = CSTRING(start6);\ - condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player, 'ACE_rope6')] call EFUNC(common,hasItem));\ + condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player,'ACE_rope6')] call EFUNC(common,hasItem));\ statement = QUOTE([ARR_3(_player,_target,'ACE_rope6')] call FUNC(startTow));\ exceptions[] = { INTERACTION_EXCEPTIONS };\ };\ class GVAR(startTow12) {\ displayName = CSTRING(start12);\ - condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player, 'ACE_rope12')] call EFUNC(common,hasItem));\ + condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player,'ACE_rope12')] call EFUNC(common,hasItem));\ statement = QUOTE([ARR_3(_player,_target,'ACE_rope12')] call FUNC(startTow));\ exceptions[] = { INTERACTION_EXCEPTIONS };\ };\ class GVAR(startTow15) {\ displayName = CSTRING(start15);\ - condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player, 'ACE_rope15')] call EFUNC(common,hasItem));\ + condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player,'ACE_rope15')] call EFUNC(common,hasItem));\ statement = QUOTE([ARR_3(_player,_target,'ACE_rope15')] call FUNC(startTow));\ exceptions[] = { INTERACTION_EXCEPTIONS };\ };\ class GVAR(startTow18) {\ displayName = CSTRING(start18);\ - condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player, 'ACE_rope18')] call EFUNC(common,hasItem));\ + condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player,'ACE_rope18')] call EFUNC(common,hasItem));\ statement = QUOTE([ARR_3(_player,_target,'ACE_rope18')] call FUNC(startTow));\ exceptions[] = { INTERACTION_EXCEPTIONS };\ };\ class GVAR(startTow27) {\ displayName = CSTRING(start27);\ - condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player, 'ACE_rope27')] call EFUNC(common,hasItem));\ + condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player,'ACE_rope27')] call EFUNC(common,hasItem));\ statement = QUOTE([ARR_3(_player,_target,'ACE_rope27')] call FUNC(startTow));\ exceptions[] = { INTERACTION_EXCEPTIONS };\ };\ class GVAR(startTow36) {\ displayName = CSTRING(start36);\ - condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player, 'ACE_rope36')] call EFUNC(common,hasItem));\ + condition = QUOTE(([ARR_2(_player,_target)] call FUNC(canStartTow)) && [ARR_2(_player,'ACE_rope36')] call EFUNC(common,hasItem));\ statement = QUOTE([ARR_3(_player,_target,'ACE_rope36')] call FUNC(startTow));\ exceptions[] = { INTERACTION_EXCEPTIONS };\ };\ @@ -77,7 +77,7 @@ class CfgVehicles { class ACE_MainActions { displayName = CSTRING(detach); condition = "true"; - statement = QUOTE(private _parent = _target getVariable [ARR_2(QQGVAR(parent), objNull)]; private _child = _target getVariable [ARR_2(QQGVAR(child), objNull)]; [ARR_3(_player,_parent,_child)] call FUNC(detach)); + statement = QUOTE(private _parent = _target getVariable [ARR_2(QQGVAR(parent),objNull)]; private _child = _target getVariable [ARR_2(QQGVAR(child),objNull)]; [ARR_3(_player,_parent,_child)] call FUNC(detach)); distance = 2; }; }; diff --git a/addons/towing/XEH_postInit.sqf b/addons/towing/XEH_postInit.sqf index 455532f889..187af19244 100644 --- a/addons/towing/XEH_postInit.sqf +++ b/addons/towing/XEH_postInit.sqf @@ -3,6 +3,7 @@ ["MouseButtonUp", LINKFUNC(onMouseButtonUp)] call CBA_fnc_addDisplayHandler; GVAR(mouseLeft) = false; GVAR(mouseRight) = false; +GVAR(blockFireEHID) = -1; GVAR(cancel) = false; GVAR(canAttach) = false; @@ -11,4 +12,3 @@ GVAR(canAttach) = false; params ["_parent", "_child"]; _child setTowParent _parent; }] call CBA_fnc_addEventHandler; - diff --git a/addons/towing/functions/fnc_addRopeToVehicle.sqf b/addons/towing/functions/fnc_addRopeToVehicle.sqf index 09f9f03b6c..4ff0fce62d 100644 --- a/addons/towing/functions/fnc_addRopeToVehicle.sqf +++ b/addons/towing/functions/fnc_addRopeToVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Adds rope to vehicle inventory. diff --git a/addons/towing/functions/fnc_attachRopePFH.sqf b/addons/towing/functions/fnc_attachRopePFH.sqf index cc011d0791..e8336ecc25 100644 --- a/addons/towing/functions/fnc_attachRopePFH.sqf +++ b/addons/towing/functions/fnc_attachRopePFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * PFH which allows the user to attach a rope to the given target vehicle diff --git a/addons/towing/functions/fnc_canStartTow.sqf b/addons/towing/functions/fnc_canStartTow.sqf index c4ae3b907d..1ffca3df86 100644 --- a/addons/towing/functions/fnc_canStartTow.sqf +++ b/addons/towing/functions/fnc_canStartTow.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Condition for whether or not we can tow from this object diff --git a/addons/towing/functions/fnc_detach.sqf b/addons/towing/functions/fnc_detach.sqf index da8f6692d6..92494eae0e 100644 --- a/addons/towing/functions/fnc_detach.sqf +++ b/addons/towing/functions/fnc_detach.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Detaches child from parent, and gives rope item back diff --git a/addons/towing/functions/fnc_isSuitableSimulation.sqf b/addons/towing/functions/fnc_isSuitableSimulation.sqf index 386a21b7af..c808dc20c4 100644 --- a/addons/towing/functions/fnc_isSuitableSimulation.sqf +++ b/addons/towing/functions/fnc_isSuitableSimulation.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Condition for whether or not this object is a simulation type which can be a tow parent (TankX or CarX) diff --git a/addons/towing/functions/fnc_onMouseButtonDown.sqf b/addons/towing/functions/fnc_onMouseButtonDown.sqf index 77ac003143..401cf8c8a1 100644 --- a/addons/towing/functions/fnc_onMouseButtonDown.sqf +++ b/addons/towing/functions/fnc_onMouseButtonDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Handles mouse interaction for attaching rope diff --git a/addons/towing/functions/fnc_onMouseButtonUp.sqf b/addons/towing/functions/fnc_onMouseButtonUp.sqf index f326833a30..04a406e9f2 100644 --- a/addons/towing/functions/fnc_onMouseButtonUp.sqf +++ b/addons/towing/functions/fnc_onMouseButtonUp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Handles mouse interaction for attaching rope diff --git a/addons/towing/functions/fnc_startTow.sqf b/addons/towing/functions/fnc_startTow.sqf index 06d478ce27..fa70d91cff 100644 --- a/addons/towing/functions/fnc_startTow.sqf +++ b/addons/towing/functions/fnc_startTow.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Start rope attach PFH @@ -28,8 +28,9 @@ if (_ropeLength == 0) then { _unit removeItem _ropeClass; +GVAR(isSwimming) = _unit call EFUNC(common,isSwimming); +GVAR(putWeaponAwayNextFrame) = false; GVAR(cancel) = false; GVAR(canAttach) = false; [LINKFUNC(towStateMachinePFH), 0, [TOW_STATE_ATTACH_PARENT, _unit, _target, objNull, _ropeLength, _ropeClass]] call CBA_fnc_addPerFrameHandler; [QGVAR(ropeDeployed), [_unit, _target, _ropeClass]] call CBA_fnc_localEvent; - diff --git a/addons/towing/functions/fnc_towStateMachinePFH.sqf b/addons/towing/functions/fnc_towStateMachinePFH.sqf index 9c27464d6e..0adcce76e6 100644 --- a/addons/towing/functions/fnc_towStateMachinePFH.sqf +++ b/addons/towing/functions/fnc_towStateMachinePFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Called per frame. Handles current unit state for attaching a rope to two vehicles @@ -18,11 +18,38 @@ params ["_args", "_handle"]; _args params ["_state", "_unit", "_parent", "_rope", "_length", "_ropeClass"]; +private _wasSwimming = GVAR(isSwimming); +GVAR(isSwimming) = _unit call EFUNC(common,isSwimming); + +// skip this frame to wait for weapon in hands +if (_wasSwimming && {!GVAR(isSwimming)}) exitWith {GVAR(putWeaponAwayNextFrame) = true;}; +// move weapon to back in next frame +if (GVAR(putWeaponAwayNextFrame)) then { + if (currentWeapon _unit isNotEqualTo "") then {[_unit] call EFUNC(weaponselect,putWeaponAway)}; + GVAR(putWeaponAwayNextFrame) = false; +}; + +// block fire when swimming in wetsuit with weapon +if (GVAR(isSwimming) && {currentWeapon _unit isNotEqualTo ""}) then { + if (GVAR(blockFireEHID) == -1) then { + GVAR(blockFireEHID) = [_unit, "DefaultAction", {true}, {}] call EFUNC(common,addActionEventHandler); + }; +} else { + if (GVAR(blockFireEHID) != -1) then { + [_unit, "DefaultAction", GVAR(blockFireEHID)] call EFUNC(common,removeActionEventHandler); + GVAR(blockFireEHID) = -1; + }; +}; + private _exitCondition = !( (alive GVAR(attachHelper)) && { alive _parent } && { alive _unit } && - { "" isEqualTo currentWeapon _unit || { _unit call EFUNC(common,isSwimming) }} && + { + currentWeapon _unit isEqualTo "" + || {_unit call EFUNC(common,isSwimming)} // swimming in wetsuit forces weapon in hands + || {getPosASLW _unit select 2 < -1.5} // walking-to-swimming animation in wetsuit lasts for 3 seconds + } && { [_unit, objNull, [INTERACTION_EXCEPTIONS]] call EFUNC(common,canInteractWith) } && { "unconscious" isNotEqualTo toLower animationState _unit } && { !(_unit getVariable ["ACE_isUnconscious", false]) } && @@ -149,6 +176,9 @@ switch (_state) do { [_handle] call CBA_fnc_removePerFrameHandler; _unit setVariable [QGVAR(hint), []]; call EFUNC(interaction,hideMouseHint); + if (GVAR(blockFireEHID) != -1) then { + [_unit, "DefaultAction", GVAR(blockFireEHID)] call EFUNC(common,removeActionEventHandler); + GVAR(blockFireEHID) = -1; + }; }; }; - diff --git a/addons/towing/functions/script_component.hpp b/addons/towing/functions/script_component.hpp deleted file mode 100644 index 6ebd098f2d..0000000000 --- a/addons/towing/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\towing\script_component.hpp" diff --git a/addons/towing/initSettings.sqf b/addons/towing/initSettings.sqf index 8361dccccd..aecc9113fe 100644 --- a/addons/towing/initSettings.sqf +++ b/addons/towing/initSettings.sqf @@ -1,7 +1,7 @@ [ QGVAR(addRopeToVehicleInventory), "CHECKBOX", LSTRING(Setting_addRopeToVehicleInventory_DisplayName), - LELSTRING(OptionsMenu,CategoryLogistics), + ELSTRING(OptionsMenu,CategoryLogistics), true, true, { diff --git a/addons/towing/stringtable.xml b/addons/towing/stringtable.xml index 00553d818e..b5cd141bd4 100644 --- a/addons/towing/stringtable.xml +++ b/addons/towing/stringtable.xml @@ -129,6 +129,8 @@ 차량 소지품에 견인줄 추가 Añadir cuerda de remolcado al inventario del vehículo 車両のインベントリに牽引ロープを追加する + Abschleppseil zum Fahrzeuginventar hinzufügen + Ajouter une corde à l'inventaire des véhicules diff --git a/addons/trenches/CfgVehicles.hpp b/addons/trenches/CfgVehicles.hpp index d34886f2ae..bec66e2e64 100644 --- a/addons/trenches/CfgVehicles.hpp +++ b/addons/trenches/CfgVehicles.hpp @@ -9,12 +9,12 @@ class CBA_Extended_EventHandlers; class ACE_ContinueDiggingTrench { \ displayName = CSTRING(ContinueDiggingTrench); \ condition = QUOTE([ARR_2(_target,_player)] call FUNC(canContinueDiggingTrench)); \ - statement = QUOTE([ARR_2(_target,_player)] call FUNC(continueDiggingTrench);); \ + statement = QUOTE([ARR_2(_target,_player)] call FUNC(continueDiggingTrench)); \ }; \ class ACE_RemoveTrench { \ displayName = CSTRING(RemoveEnvelope); \ condition = QUOTE([ARR_2(_target,_player)] call FUNC(canRemoveTrench)); \ - statement = QUOTE([ARR_2(_target,_player)] call FUNC(removeTrench);); \ + statement = QUOTE([ARR_2(_target,_player)] call FUNC(removeTrench)); \ }; \ class ACE_CamouflageTrench { \ displayName = CSTRING(CamouflageTrench); \ diff --git a/addons/trenches/XEH_PREP.hpp b/addons/trenches/XEH_PREP.hpp index 05eb403fd8..340cfe482d 100644 --- a/addons/trenches/XEH_PREP.hpp +++ b/addons/trenches/XEH_PREP.hpp @@ -1,4 +1,5 @@ +PREP(blockTrench_place); PREP(camouflageTrench); PREP(canCamouflageTrench); PREP(canContinueDiggingTrench); diff --git a/addons/trenches/XEH_postInit.sqf b/addons/trenches/XEH_postInit.sqf index 1fbfa24116..ea8ff7e24f 100644 --- a/addons/trenches/XEH_postInit.sqf +++ b/addons/trenches/XEH_postInit.sqf @@ -3,6 +3,17 @@ if (isServer) then { // Cancel dig on hard disconnection. Function is identical to killed addMissionEventHandler ["HandleDisconnect", {_this call FUNC(handleKilled)}]; + + // Wrapper for blockTrench_place, on failure send hint back to source + [QGVAR(layTrenchline), { + params [["_source", objNull, [objNull]], ["_args", [], [[]]]]; + private _return = _args call FUNC(blockTrench_place); + TRACE_3("layTrenchline EH",_source,_args,_return); + _return params ["_success", "_reason", ["_info", ""]]; + if ((!_success) && {!isNull _source}) then { + [QEGVAR(common,displayTextStructured), [["%1:
%2
%3", "str_mis_state_failed", _reason, _info], 3], [_source]] call CBA_fnc_targetEvent; + }; + }] call CBA_fnc_addEventHandler; }; if (!hasInterface) exitWith {}; diff --git a/addons/trenches/functions/fnc_blockTrench_place.sqf b/addons/trenches/functions/fnc_blockTrench_place.sqf new file mode 100644 index 0000000000..f602a871e0 --- /dev/null +++ b/addons/trenches/functions/fnc_blockTrench_place.sqf @@ -0,0 +1,173 @@ +#include "..\script_component.hpp" +/* + * Author: PabstMirror + * Dig trenchline + * + * Arguments: + * 0: Position + * 1: Position + * 2: Force - ignoring saftey checks (optional: false) + * 3: Cut Grass (optional: false) + * 4: Dry Run - Just test if possible (can run on clients) + * + * Return Value: + * + * 0: Success + * 1: Failure reason + * 2: Extra info + * + * Example: + * [a, b] call ace_trenches_fnc_blockTrench_place + * + * Public: No + */ + +params [["_start2d", [], [[]]], ["_end2d", [], [[]]], ["_force", false, [false]], ["_cutGrass", false, [false]], ["_dryRun", false, [false]]]; +TRACE_4("blockTrench_place",_start2d,_end2d,_force,_dryRun); + +if ((!isServer) && {!_dryRun}) exitWith { ERROR("function must be called on server"); [false, "server-only"]; }; + +scopeName "main"; + +// get maths +getTerrainInfo params ["", "", "_cellsize"]; +if ((_cellsize < 1) || {_cellsize > 10}) exitWith { [false, "world cellsize"] breakOut "main" }; // malden is 12.5 + +// for Land_Trench_01_forest_F +private _modelX = 2.1; +private _modelZ = 1.1; +private _modelSize = 3.75; + +private _landAdjust = -1.7; // how deep we dig into the terrain +private _trenchDepth = -1; // how deep the floor is +private _trenchWidth = 1; // offset for each side from center +private _blockAdjust = -0.45; // get block to sit flush +private _blockScale = _cellsize / _modelSize; // scale up block to fit cellsize + +private _xOffset = _trenchWidth + _blockScale * _modelX; +private _zOffset = _blockAdjust - (_blockScale - 1) * _modelZ; +private _testRadius = 1 * _blockScale * _modelSize; + +// convert to terrain grid +_start2d = (_start2d select [0,2]) apply {_cellsize * round (_x / _cellsize)}; +_end2d = (_end2d select [0,2]) apply {_cellsize * round (_x / _cellsize)}; +_start2d params ["_ax", "_ay"]; +_end2d params ["_bx", "_by"]; +{ // make sure points aren't outside terrain + if (_x < _cellsize || {_x > (worldSize - _cellsize)}) exitWith { [false, "outside map boundry"] breakOut "main" }; +} forEach [_ax, _ay, _bx, _by]; +TRACE_3("adjusted",_cellsize,_start2d,_end2d); + +// get direction and start/end +private _east = (abs (_ax - _bx)) >= (abs (_ay - _by)); +private _origin2D = []; +private _length = 0; +if (_east) then { + _origin2D = if (_ax < _bx) then { _start2d } else { _end2d }; + _length = (abs (_ax - _bx)) / _cellsize; +} else { + _origin2D = if (_ay < _by) then { _start2d } else { _end2d }; + _length = (abs (_ay - _by)) / _cellsize; +}; +TRACE_3("",_east,_origin2D,_length); +if (_length < 2) exitWith { [false, "too short"] breakOut "main" }; + +if (_dryRun) exitWith { // return an array of block positions + private _positions = []; + for "_i" from 0 to _length do { // intentionally inclusive + _positions pushBack (_origin2D vectorAdd (if (_east) then {[(_i + 0.5) * _cellsize, 0]} else {[0, (_i + 0.5) * _cellsize]})); + }; + [true, "dry run", _positions] +}; + + +// Test and get block data +private _blockData = []; +for "_i" from 0 to _length do { // intentionally inclusive + private _posCenter = _origin2D; + private _posLeft = _origin2D; + private _posRight = _origin2D; + private _direction = []; + if (_east) then { + _posCenter = _posCenter vectorAdd [(_i + 0.5) * _cellsize, 0]; + _posLeft = _posCenter vectorAdd [0, _xOffset]; + _posRight = _posCenter vectorAdd [0, -_xOffset]; + _direction = [0,-1,0]; + } else { + _posCenter = _posCenter vectorAdd [0, (_i + 0.5) * _cellsize]; + _posLeft = _posCenter vectorAdd [_xOffset, 0]; + _posRight = _posCenter vectorAdd [-_xOffset, 0]; + _direction = [-1,0,0]; + }; + + { // Test if each point is valid + private _pos2d = _x; + // check water + if ((!_force) && {(getTerrainHeightASL _pos2D) < 0}) then { [false, "water"] breakOut "main" }; + // check canDig (surface type) + if ((!_force) && {!([_pos2d] call EFUNC(common,canDig))}) then { [false, "canDig surface"] breakOut "main" }; + // check canDig (surface type) + if ((!_force) && {isOnRoad _pos2D}) then { [false, "road"] breakOut "main" }; + // check terrain objects + private _terrainObjects = nearestTerrainObjects [_pos2d, [], _testRadius, false, true]; + // todo: want to avoid touching trees and large rocks but could allow some small shrubs to be overlapped + if (_terrainObjects isNotEqualTo []) then { + if (_force) then { + WARNING_1("overlapping terrainObjects %1",_terrainObjects); + } else { + [false, "terrain object", _terrainObjects] breakOut "main"; + }; + }; + // check mission objects + private _missionObjects = nearestObjects [_origin2D, ["All"], _testRadius, true]; + _missionObjects = _missionObjects select { !(_x isKindOf "Logic") }; + if (_missionObjects isNotEqualTo []) then { + _missionObjects = _missionObjects apply {typeOf _x}; + if (_force) then { + WARNING_1("blocking missionObjects %1",_missionObjects); + } else { + [false, "mission object", _missionObjects] breakOut "main"; + }; + }; + } forEach [_posCenter, _posLeft, _posRight]; + + _posCenter set [2, (getTerrainHeightASL _posCenter) + _zOffset + _trenchDepth]; + _posLeft set [2, (getTerrainHeightASL _posLeft) + _zOffset]; + _posRight set [2, (getTerrainHeightASL _posRight) + _zOffset]; + + if (_cutGrass && {_i != 0} && {_i != _length}) then { + _blockData pushBack ["Land_ClutterCutter_medium_F", _blockScale, _posCenter, [0,1,0], surfaceNormal _posCenter]; + }; + // todo: there also is a snow textured block or do it right and make our own re-texturable model + _blockData pushBack ["Land_Trench_01_forest_F", _blockScale, _posCenter, _direction, surfaceNormal _posCenter]; + _blockData pushBack ["Land_Trench_01_forest_F", _blockScale, _posLeft, _direction, surfaceNormal _posLeft]; + _blockData pushBack ["Land_Trench_01_forest_F", _blockScale, _posRight, _direction vectorMultiply -1, surfaceNormal _posRight]; +}; + + +// Adjust terrain heights +private _terrainData = []; +for "_i" from 1 to (_length - 1) do { // skip first and last + private _posCenter = _origin2D; + if (_east) then { + _posCenter = _posCenter vectorAdd [_i * _cellsize, 0]; + } else { + _posCenter = _posCenter vectorAdd [0, _i * _cellsize]; + }; + + _posCenter set [2, (getTerrainHeight _posCenter) + _landAdjust]; + _terrainData pushBack _posCenter +}; +TRACE_1("setTerrainHeight",count _terrainData); +setTerrainHeight [_terrainData, true]; + + +// Place blocks +{ + _x params ["_xClass", "_xScale", "_xPosASL", "_xDir", "_xUp"]; + private _block = createSimpleObject [_xClass, _xPosASL]; + _block setVectorDirAndUp [_xDir, _xUp]; + if (_xScale != 1) then { _block setObjectScale _xScale; }; +} forEach _blockData; + +[true, "", _length] diff --git a/addons/trenches/functions/fnc_camouflageTrench.sqf b/addons/trenches/functions/fnc_camouflageTrench.sqf index 02cd2b5602..efdfe82d5f 100644 --- a/addons/trenches/functions/fnc_camouflageTrench.sqf +++ b/addons/trenches/functions/fnc_camouflageTrench.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Cyruz * Apply surfaceTexture to a completed trench. diff --git a/addons/trenches/functions/fnc_canCamouflageTrench.sqf b/addons/trenches/functions/fnc_canCamouflageTrench.sqf index 2630d61698..074fd910a7 100644 --- a/addons/trenches/functions/fnc_canCamouflageTrench.sqf +++ b/addons/trenches/functions/fnc_canCamouflageTrench.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Cyruz * Checks if a unit can camouflage a trench. diff --git a/addons/trenches/functions/fnc_canContinueDiggingTrench.sqf b/addons/trenches/functions/fnc_canContinueDiggingTrench.sqf index f63332e753..0074c21082 100644 --- a/addons/trenches/functions/fnc_canContinueDiggingTrench.sqf +++ b/addons/trenches/functions/fnc_canContinueDiggingTrench.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: SzwedzikPL * Checks if a unit can continue digging a trench diff --git a/addons/trenches/functions/fnc_canDigTrench.sqf b/addons/trenches/functions/fnc_canDigTrench.sqf index 1b6dd28fea..3ef8e2ee74 100644 --- a/addons/trenches/functions/fnc_canDigTrench.sqf +++ b/addons/trenches/functions/fnc_canDigTrench.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg, commy2, esteldunedain * Checks if a unit can dig a trench. diff --git a/addons/trenches/functions/fnc_canRemoveTrench.sqf b/addons/trenches/functions/fnc_canRemoveTrench.sqf index ebebbd29a9..8d1ec7578f 100644 --- a/addons/trenches/functions/fnc_canRemoveTrench.sqf +++ b/addons/trenches/functions/fnc_canRemoveTrench.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: SzwedzikPL * Checks if a unit can remove a trench diff --git a/addons/trenches/functions/fnc_continueDiggingTrench.sqf b/addons/trenches/functions/fnc_continueDiggingTrench.sqf index e6eab0c548..78047c189e 100644 --- a/addons/trenches/functions/fnc_continueDiggingTrench.sqf +++ b/addons/trenches/functions/fnc_continueDiggingTrench.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, Ruthberg, edited by commy2 for better MP and eventual AI support, esteldunedain * Continue process of digging trench. diff --git a/addons/trenches/functions/fnc_handleInteractMenuOpened.sqf b/addons/trenches/functions/fnc_handleInteractMenuOpened.sqf index 1a27e28d60..6b242c7918 100644 --- a/addons/trenches/functions/fnc_handleInteractMenuOpened.sqf +++ b/addons/trenches/functions/fnc_handleInteractMenuOpened.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle opening of interaction menu. diff --git a/addons/trenches/functions/fnc_handleKilled.sqf b/addons/trenches/functions/fnc_handleKilled.sqf index 1142ad0f3b..bcdbd48580 100644 --- a/addons/trenches/functions/fnc_handleKilled.sqf +++ b/addons/trenches/functions/fnc_handleKilled.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle death. diff --git a/addons/trenches/functions/fnc_handlePlayerChanged.sqf b/addons/trenches/functions/fnc_handlePlayerChanged.sqf index 77a152e421..28f1dea5e9 100644 --- a/addons/trenches/functions/fnc_handlePlayerChanged.sqf +++ b/addons/trenches/functions/fnc_handlePlayerChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle player changes. diff --git a/addons/trenches/functions/fnc_handlePlayerInventoryChanged.sqf b/addons/trenches/functions/fnc_handlePlayerInventoryChanged.sqf index dcf6493491..2f341a0b86 100644 --- a/addons/trenches/functions/fnc_handlePlayerInventoryChanged.sqf +++ b/addons/trenches/functions/fnc_handlePlayerInventoryChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle the InventoryChanged event. diff --git a/addons/trenches/functions/fnc_handleScrollWheel.sqf b/addons/trenches/functions/fnc_handleScrollWheel.sqf index 5fc202db8a..29a35b3674 100644 --- a/addons/trenches/functions/fnc_handleScrollWheel.sqf +++ b/addons/trenches/functions/fnc_handleScrollWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, Ruthberg * Handles sandbag rotation diff --git a/addons/trenches/functions/fnc_handleUnconscious.sqf b/addons/trenches/functions/fnc_handleUnconscious.sqf index 6f600cecdf..ba808625ce 100644 --- a/addons/trenches/functions/fnc_handleUnconscious.sqf +++ b/addons/trenches/functions/fnc_handleUnconscious.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle unconsciousness. diff --git a/addons/trenches/functions/fnc_hasEntrenchingTool.sqf b/addons/trenches/functions/fnc_hasEntrenchingTool.sqf index 30fb34f441..5a1127d007 100644 --- a/addons/trenches/functions/fnc_hasEntrenchingTool.sqf +++ b/addons/trenches/functions/fnc_hasEntrenchingTool.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: veteran29 * Checks if unit has entrenching tool. diff --git a/addons/trenches/functions/fnc_placeCancel.sqf b/addons/trenches/functions/fnc_placeCancel.sqf index c3d555ffe8..a06ecff459 100644 --- a/addons/trenches/functions/fnc_placeCancel.sqf +++ b/addons/trenches/functions/fnc_placeCancel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, Ruthberg, edited by commy2 for better MP and eventual AI support * Cancels trench dig diff --git a/addons/trenches/functions/fnc_placeConfirm.sqf b/addons/trenches/functions/fnc_placeConfirm.sqf index 43fad843ee..03d4791e02 100644 --- a/addons/trenches/functions/fnc_placeConfirm.sqf +++ b/addons/trenches/functions/fnc_placeConfirm.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, Ruthberg, edited by commy2 for better MP and eventual AI support and esteldunedain * Confirms trench dig diff --git a/addons/trenches/functions/fnc_placeTrench.sqf b/addons/trenches/functions/fnc_placeTrench.sqf index 0f52786561..f49aef4a38 100644 --- a/addons/trenches/functions/fnc_placeTrench.sqf +++ b/addons/trenches/functions/fnc_placeTrench.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, Ruthberg, edited by commy2 for better MP and eventual AI support, esteldunedain * Starts the place process for trench. diff --git a/addons/trenches/functions/fnc_removeTrench.sqf b/addons/trenches/functions/fnc_removeTrench.sqf index c4ddb8a7c7..0e9870eb8b 100644 --- a/addons/trenches/functions/fnc_removeTrench.sqf +++ b/addons/trenches/functions/fnc_removeTrench.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, Ruthberg, edited by commy2 for better MP and eventual AI support and esteldunedain * Removes trench diff --git a/addons/trenches/functions/fnc_setTrenchPlacement.sqf b/addons/trenches/functions/fnc_setTrenchPlacement.sqf index c314914efe..d222de1326 100644 --- a/addons/trenches/functions/fnc_setTrenchPlacement.sqf +++ b/addons/trenches/functions/fnc_setTrenchPlacement.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, Ruthberg, edited by commy2 for better MP and eventual AI support and esteldunedain * Sets trench placement diff --git a/addons/trenches/functions/script_component.hpp b/addons/trenches/functions/script_component.hpp deleted file mode 100644 index 2509d7da50..0000000000 --- a/addons/trenches/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\trenches\script_component.hpp" diff --git a/addons/trenches/stringtable.xml b/addons/trenches/stringtable.xml index 4e9ca33ab6..aaf9c3dd2d 100644 --- a/addons/trenches/stringtable.xml +++ b/addons/trenches/stringtable.xml @@ -137,7 +137,7 @@ Confirmar cavado Confirmer l'excavation Potvrdit kopání - Confirmar excavação + Confirmar escavação Копать ここに掘る 여기에 파기 @@ -153,7 +153,7 @@ Cancelar cavado Annuler l'excavation Zrušit kopání - Cancelar excavação + Cancelar escavação Отменить копание 掘るのを中止 취소하기 @@ -229,16 +229,18 @@ Camouflage Trench Zakamufluj okop + Camoufler la tranchée 伪装掩体 참호 위장시키기 Камуфлировать окоп Camuflar trinchera 塹壕を偽装 + Graben tarnen Removing Trench Usuwanie okopu - Removendo tricnheira + Removendo trincheira Retrait de la tranchée Убирание окопа Odstraňuji zákop diff --git a/addons/tripod/CfgVehicles.hpp b/addons/tripod/CfgVehicles.hpp index 31888ab5dd..3e07574cb7 100644 --- a/addons/tripod/CfgVehicles.hpp +++ b/addons/tripod/CfgVehicles.hpp @@ -86,7 +86,7 @@ class CfgVehicles { distance = 5; condition = "(true)"; //wait a frame to handle "Do When releasing action menu key" option: - statement = QUOTE([ARR_2({_this call FUNC(adjust)}, [ARR_2(_player,_target)])] call CBA_fnc_execNextFrame); + statement = QUOTE([ARR_2({_this call FUNC(adjust)},[ARR_2(_player,_target)])] call CBA_fnc_execNextFrame); showDisabled = 0; exceptions[] = {}; icon = QPATHTOF(UI\w_sniper_tripod_ca.paa); diff --git a/addons/tripod/functions/fnc_adjust.sqf b/addons/tripod/functions/fnc_adjust.sqf index 2dd6964768..db31a0733f 100644 --- a/addons/tripod/functions/fnc_adjust.sqf +++ b/addons/tripod/functions/fnc_adjust.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Adjust tripod height diff --git a/addons/tripod/functions/fnc_handleInteractMenuOpened.sqf b/addons/tripod/functions/fnc_handleInteractMenuOpened.sqf index 0103c0a590..abb9efe304 100644 --- a/addons/tripod/functions/fnc_handleInteractMenuOpened.sqf +++ b/addons/tripod/functions/fnc_handleInteractMenuOpened.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle opening of interaction menu. diff --git a/addons/tripod/functions/fnc_handleKilled.sqf b/addons/tripod/functions/fnc_handleKilled.sqf index 1ce7ce5e0b..01fb5ddd67 100644 --- a/addons/tripod/functions/fnc_handleKilled.sqf +++ b/addons/tripod/functions/fnc_handleKilled.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle death. diff --git a/addons/tripod/functions/fnc_handlePlayerChanged.sqf b/addons/tripod/functions/fnc_handlePlayerChanged.sqf index 506699c293..0d01a138af 100644 --- a/addons/tripod/functions/fnc_handlePlayerChanged.sqf +++ b/addons/tripod/functions/fnc_handlePlayerChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle player changes. diff --git a/addons/tripod/functions/fnc_handleScrollWheel.sqf b/addons/tripod/functions/fnc_handleScrollWheel.sqf index d1cc67272c..67b4e00946 100644 --- a/addons/tripod/functions/fnc_handleScrollWheel.sqf +++ b/addons/tripod/functions/fnc_handleScrollWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Garth 'L-H' de Wet, Ruthberg * Handles sandbag rotation diff --git a/addons/tripod/functions/fnc_handleUnconscious.sqf b/addons/tripod/functions/fnc_handleUnconscious.sqf index 632be51e0d..96ed5bdce0 100644 --- a/addons/tripod/functions/fnc_handleUnconscious.sqf +++ b/addons/tripod/functions/fnc_handleUnconscious.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handle unconsciousness. diff --git a/addons/tripod/functions/fnc_pickup.sqf b/addons/tripod/functions/fnc_pickup.sqf index 931efaddfa..0ff72a2b98 100644 --- a/addons/tripod/functions/fnc_pickup.sqf +++ b/addons/tripod/functions/fnc_pickup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko, Ruthberg * Pick up tripod diff --git a/addons/tripod/functions/fnc_place.sqf b/addons/tripod/functions/fnc_place.sqf index c903c0148d..ecefe12784 100644 --- a/addons/tripod/functions/fnc_place.sqf +++ b/addons/tripod/functions/fnc_place.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Rocko, Ruthberg * Place down tripod diff --git a/addons/tripod/functions/script_component.hpp b/addons/tripod/functions/script_component.hpp deleted file mode 100644 index c35681b54e..0000000000 --- a/addons/tripod/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\tripod\script_component.hpp" diff --git a/addons/ui/CfgInGameUI.hpp b/addons/ui/CfgInGameUI.hpp index b9a1c447dc..8f39984b03 100644 --- a/addons/ui/CfgInGameUI.hpp +++ b/addons/ui/CfgInGameUI.hpp @@ -1,5 +1,5 @@ class CfgInGameUI { class DefaultAction { - size = QUOTE(profileNamespace getVariable [ARR_2('GVAR(hideDefaultActionIcon)', (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8))]); + size = QUOTE(profileNamespace getVariable [ARR_2('GVAR(hideDefaultActionIcon)',(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8))]); }; }; diff --git a/addons/ui/functions/fnc_compileConfigUI.sqf b/addons/ui/functions/fnc_compileConfigUI.sqf index 0baaa8ca5c..17eaa27308 100644 --- a/addons/ui/functions/fnc_compileConfigUI.sqf +++ b/addons/ui/functions/fnc_compileConfigUI.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Compiles and caches UI from ACE_UI config. diff --git a/addons/ui/functions/fnc_handlePlayerChanged.sqf b/addons/ui/functions/fnc_handlePlayerChanged.sqf index 1abc39efcb..94f317a18c 100644 --- a/addons/ui/functions/fnc_handlePlayerChanged.sqf +++ b/addons/ui/functions/fnc_handlePlayerChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: veteran29 * Handles switching units. diff --git a/addons/ui/functions/fnc_handleSpeedIndicator.sqf b/addons/ui/functions/fnc_handleSpeedIndicator.sqf index e6b8718b0d..5f8c360322 100644 --- a/addons/ui/functions/fnc_handleSpeedIndicator.sqf +++ b/addons/ui/functions/fnc_handleSpeedIndicator.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: veteran29 * Handles visual changes of the speed indicator. diff --git a/addons/ui/functions/fnc_moduleInit.sqf b/addons/ui/functions/fnc_moduleInit.sqf index b1295a6c10..82c63d4e00 100644 --- a/addons/ui/functions/fnc_moduleInit.sqf +++ b/addons/ui/functions/fnc_moduleInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Initializes the UI module. diff --git a/addons/ui/functions/fnc_onAnimChanged.sqf b/addons/ui/functions/fnc_onAnimChanged.sqf index d241c30bd4..d7a647e9ca 100644 --- a/addons/ui/functions/fnc_onAnimChanged.sqf +++ b/addons/ui/functions/fnc_onAnimChanged.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: veteran29 * Handle player unit animation changes. diff --git a/addons/ui/functions/fnc_setAdvancedElement.sqf b/addons/ui/functions/fnc_setAdvancedElement.sqf index 179355343f..3771bf840b 100644 --- a/addons/ui/functions/fnc_setAdvancedElement.sqf +++ b/addons/ui/functions/fnc_setAdvancedElement.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Sets advanced visible element of the UI using displays and controls. diff --git a/addons/ui/functions/fnc_setElementVisibility.sqf b/addons/ui/functions/fnc_setElementVisibility.sqf index f6c4525828..89b8684af7 100644 --- a/addons/ui/functions/fnc_setElementVisibility.sqf +++ b/addons/ui/functions/fnc_setElementVisibility.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Setter for toggling advanced element visibility. diff --git a/addons/ui/functions/fnc_setElements.sqf b/addons/ui/functions/fnc_setElements.sqf index 8e7da0eb3d..1181957c38 100644 --- a/addons/ui/functions/fnc_setElements.sqf +++ b/addons/ui/functions/fnc_setElements.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Sets basic visible elements of the UI using showHUD setter. diff --git a/addons/ui/functions/script_component.hpp b/addons/ui/functions/script_component.hpp deleted file mode 100644 index 656228f742..0000000000 --- a/addons/ui/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\ui\script_component.hpp" diff --git a/addons/ui/stringtable.xml b/addons/ui/stringtable.xml index 55df27c7ae..3627cac678 100644 --- a/addons/ui/stringtable.xml +++ b/addons/ui/stringtable.xml @@ -698,6 +698,8 @@ 隐藏默认动作标识 Спрятать иконку действия по умолчанию Ocultar el icono de acción por defecto + Standardaktionssymbol ausblenden + Masquer l'icône d'action par défaut Hides the icon shown automatically when something is in front of the cursor. Requires a game restart.\nWarning: Does not remove the action itself! It is advisable to unbind 'Use default action' key to prevent unwanted interactions. @@ -707,6 +709,8 @@ 隐藏屏幕面前有物体时自动显示的动作标识。需要重新启动游戏。\n警告:不会删除动作本身!建议同时取消对“使用默认动作”键的绑定,以防止不必要的互动。 Прячет иконку, которая показывается автоматически когда что-то находиться перед курсором. Требует рестарта игры.\nВнимание: не убирает само действие! Рекомендуется убрать комбинацию клавиш с настройки "Выполнить действие по умолчанию" чтобы предостеречься от нежеланных действий. Oculta el icono que se muestra automáticamente cuando algo se sitúa enfrente del cursor. Requiere reinicio del juego.\nAdvertencia: No elimina la propia acción! Es recomendable desactivar la tecla "Usar acción por defecto" para prevenir interacciones no deseadas. + Blendet das Symbol aus, das automatisch angezeigt wird, wenn sich etwas vor dem Cursor befindet. Erfordert einen Neustart des Spiels.\nWarnung: Die Aktion selbst wird nicht entfernt! Es empfiehlt sich, die Belegung der Taste 'Standardaktion verwenden' aufzuheben, um unerwünschte Interaktionen zu verhindern. + Cache l'icône qui s'affiche automatiquement lorsque quelque chose est devant le curseur. Nécessite un redémarrage du jeu.\nAvertissement : l'action n'est pas supprimée ! Il est recommandé d'annuler l'affectation du bouton 'Utiliser l'action par défaut' afin d'éviter des interactions indésirables. diff --git a/addons/vector/functions/fnc_adjustBrightness.sqf b/addons/vector/functions/fnc_adjustBrightness.sqf index 8fa17aae09..e8ece20637 100644 --- a/addons/vector/functions/fnc_adjustBrightness.sqf +++ b/addons/vector/functions/fnc_adjustBrightness.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_clearDisplay.sqf b/addons/vector/functions/fnc_clearDisplay.sqf index 1f723dd2f8..8b27b17ab6 100644 --- a/addons/vector/functions/fnc_clearDisplay.sqf +++ b/addons/vector/functions/fnc_clearDisplay.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Clears the vectors control items. diff --git a/addons/vector/functions/fnc_convertToTexturesDegree.sqf b/addons/vector/functions/fnc_convertToTexturesDegree.sqf index 17754244f1..559c79d5bd 100644 --- a/addons/vector/functions/fnc_convertToTexturesDegree.sqf +++ b/addons/vector/functions/fnc_convertToTexturesDegree.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * converts azimuth into array of textures for the vectors scripted info control diff --git a/addons/vector/functions/fnc_convertToTexturesDistance.sqf b/addons/vector/functions/fnc_convertToTexturesDistance.sqf index cb2f1ba990..91bbcfd606 100644 --- a/addons/vector/functions/fnc_convertToTexturesDistance.sqf +++ b/addons/vector/functions/fnc_convertToTexturesDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * converts rangefinder distance into array of textures for the vectors scripted info control diff --git a/addons/vector/functions/fnc_convertToTexturesFOS.sqf b/addons/vector/functions/fnc_convertToTexturesFOS.sqf index eb9e6f840c..5b831f080e 100644 --- a/addons/vector/functions/fnc_convertToTexturesFOS.sqf +++ b/addons/vector/functions/fnc_convertToTexturesFOS.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * converts rangefinder distance into array of textures for the vectors scripted info control diff --git a/addons/vector/functions/fnc_dataTransfer.sqf b/addons/vector/functions/fnc_dataTransfer.sqf index b50a823be9..5dbdf5c2ff 100644 --- a/addons/vector/functions/fnc_dataTransfer.sqf +++ b/addons/vector/functions/fnc_dataTransfer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Data transfer over a connected cable. Based on page 14 of pdf. diff --git a/addons/vector/functions/fnc_getDirection.sqf b/addons/vector/functions/fnc_getDirection.sqf index 1103a55458..554b8954ba 100644 --- a/addons/vector/functions/fnc_getDirection.sqf +++ b/addons/vector/functions/fnc_getDirection.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_getDistance.sqf b/addons/vector/functions/fnc_getDistance.sqf index 8c38cc619f..dbe8f70818 100644 --- a/addons/vector/functions/fnc_getDistance.sqf +++ b/addons/vector/functions/fnc_getDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_getFallOfShot.sqf b/addons/vector/functions/fnc_getFallOfShot.sqf index 7fbaa6ad98..5de2db1ef4 100644 --- a/addons/vector/functions/fnc_getFallOfShot.sqf +++ b/addons/vector/functions/fnc_getFallOfShot.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_getHeightDistance.sqf b/addons/vector/functions/fnc_getHeightDistance.sqf index 00bd888cdf..89c7bc36ef 100644 --- a/addons/vector/functions/fnc_getHeightDistance.sqf +++ b/addons/vector/functions/fnc_getHeightDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_getRelativeAzimuthDistance.sqf b/addons/vector/functions/fnc_getRelativeAzimuthDistance.sqf index 33d9a07dc0..e572ad1056 100644 --- a/addons/vector/functions/fnc_getRelativeAzimuthDistance.sqf +++ b/addons/vector/functions/fnc_getRelativeAzimuthDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_getRelativeDistance.sqf b/addons/vector/functions/fnc_getRelativeDistance.sqf index bbe9ca1672..b5751bfd1f 100644 --- a/addons/vector/functions/fnc_getRelativeDistance.sqf +++ b/addons/vector/functions/fnc_getRelativeDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_getRelativeHeightLength.sqf b/addons/vector/functions/fnc_getRelativeHeightLength.sqf index 1049ba84b6..a9f7a2e363 100644 --- a/addons/vector/functions/fnc_getRelativeHeightLength.sqf +++ b/addons/vector/functions/fnc_getRelativeHeightLength.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_illuminate.sqf b/addons/vector/functions/fnc_illuminate.sqf index 0c91da0ac0..10811b3e79 100644 --- a/addons/vector/functions/fnc_illuminate.sqf +++ b/addons/vector/functions/fnc_illuminate.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_nextMode.sqf b/addons/vector/functions/fnc_nextMode.sqf index cd00b4977d..f55bbe765b 100644 --- a/addons/vector/functions/fnc_nextMode.sqf +++ b/addons/vector/functions/fnc_nextMode.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_onKeyDown.sqf b/addons/vector/functions/fnc_onKeyDown.sqf index a9c6b90b2d..24a22a5782 100644 --- a/addons/vector/functions/fnc_onKeyDown.sqf +++ b/addons/vector/functions/fnc_onKeyDown.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles pressing the special vector keys. diff --git a/addons/vector/functions/fnc_onKeyHold.sqf b/addons/vector/functions/fnc_onKeyHold.sqf index cefdc3236b..60a38ba96d 100644 --- a/addons/vector/functions/fnc_onKeyHold.sqf +++ b/addons/vector/functions/fnc_onKeyHold.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * PFH executed while holding a vector key down. diff --git a/addons/vector/functions/fnc_onKeyUp.sqf b/addons/vector/functions/fnc_onKeyUp.sqf index 2e315d7c0e..11310eb5cf 100644 --- a/addons/vector/functions/fnc_onKeyUp.sqf +++ b/addons/vector/functions/fnc_onKeyUp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Handles releasing the special vector keys. diff --git a/addons/vector/functions/fnc_showAzimuth.sqf b/addons/vector/functions/fnc_showAzimuth.sqf index e07f093b5d..4b84d5d1e4 100644 --- a/addons/vector/functions/fnc_showAzimuth.sqf +++ b/addons/vector/functions/fnc_showAzimuth.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_showAzimuthInclination.sqf b/addons/vector/functions/fnc_showAzimuthInclination.sqf index e7769a3e7b..fdff0ef44a 100644 --- a/addons/vector/functions/fnc_showAzimuthInclination.sqf +++ b/addons/vector/functions/fnc_showAzimuthInclination.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_showCenter.sqf b/addons/vector/functions/fnc_showCenter.sqf index d9e3542fac..78c7db3c5f 100644 --- a/addons/vector/functions/fnc_showCenter.sqf +++ b/addons/vector/functions/fnc_showCenter.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Shows or hides the vectors center square thingy. diff --git a/addons/vector/functions/fnc_showDistance.sqf b/addons/vector/functions/fnc_showDistance.sqf index 3009d5ea5d..33fc583f46 100644 --- a/addons/vector/functions/fnc_showDistance.sqf +++ b/addons/vector/functions/fnc_showDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_showFallOfShot.sqf b/addons/vector/functions/fnc_showFallOfShot.sqf index ac03fc6bbf..46963052f8 100644 --- a/addons/vector/functions/fnc_showFallOfShot.sqf +++ b/addons/vector/functions/fnc_showFallOfShot.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_showHeightDistance.sqf b/addons/vector/functions/fnc_showHeightDistance.sqf index ce4e3011a9..0439a77ed0 100644 --- a/addons/vector/functions/fnc_showHeightDistance.sqf +++ b/addons/vector/functions/fnc_showHeightDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_showP1.sqf b/addons/vector/functions/fnc_showP1.sqf index 4cb25adfaa..e592e02488 100644 --- a/addons/vector/functions/fnc_showP1.sqf +++ b/addons/vector/functions/fnc_showP1.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Shows or hides the 1-P text line. diff --git a/addons/vector/functions/fnc_showRelativeAzimuthDistance.sqf b/addons/vector/functions/fnc_showRelativeAzimuthDistance.sqf index 74365cc6c7..adefac8d71 100644 --- a/addons/vector/functions/fnc_showRelativeAzimuthDistance.sqf +++ b/addons/vector/functions/fnc_showRelativeAzimuthDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_showRelativeDistance.sqf b/addons/vector/functions/fnc_showRelativeDistance.sqf index b8ddd9f04f..02bca2e480 100644 --- a/addons/vector/functions/fnc_showRelativeDistance.sqf +++ b/addons/vector/functions/fnc_showRelativeDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_showRelativeHeightLength.sqf b/addons/vector/functions/fnc_showRelativeHeightLength.sqf index 1fb9ddcb2f..95e9d4f6bb 100644 --- a/addons/vector/functions/fnc_showRelativeHeightLength.sqf +++ b/addons/vector/functions/fnc_showRelativeHeightLength.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/fnc_showReticle.sqf b/addons/vector/functions/fnc_showReticle.sqf index fabf3cad15..6f5bd4c551 100644 --- a/addons/vector/functions/fnc_showReticle.sqf +++ b/addons/vector/functions/fnc_showReticle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Shows or hides the electronic reticle. diff --git a/addons/vector/functions/fnc_showText.sqf b/addons/vector/functions/fnc_showText.sqf index 23f4481082..21c12e8475 100644 --- a/addons/vector/functions/fnc_showText.sqf +++ b/addons/vector/functions/fnc_showText.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * diff --git a/addons/vector/functions/script_component.hpp b/addons/vector/functions/script_component.hpp deleted file mode 100644 index a4a813c374..0000000000 --- a/addons/vector/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\vector\script_component.hpp" diff --git a/addons/vehicle_damage/CfgAmmo.hpp b/addons/vehicle_damage/CfgAmmo.hpp index 23f582a814..408c3e7b15 100644 --- a/addons/vehicle_damage/CfgAmmo.hpp +++ b/addons/vehicle_damage/CfgAmmo.hpp @@ -1,3 +1,5 @@ +#pragma hemtt suppress pw3_padded_arg file + class CfgAmmo { class Default; class BulletCore; diff --git a/addons/vehicle_damage/XEH_PREP.hpp b/addons/vehicle_damage/XEH_PREP.hpp index 0f379e241f..524fe6ea9d 100644 --- a/addons/vehicle_damage/XEH_PREP.hpp +++ b/addons/vehicle_damage/XEH_PREP.hpp @@ -5,7 +5,6 @@ PREP(handleVehicleDamage); PREP(handleCookoff); PREP(detonate); PREP(processHit); -PREP(injureOccupants); PREP(handleDetonation); PREP(handleDamage); PREP(knockOut); diff --git a/addons/vehicle_damage/functions/fnc_abandon.sqf b/addons/vehicle_damage/functions/fnc_abandon.sqf index 7ba8e5802e..6a9d4eeb29 100644 --- a/addons/vehicle_damage/functions/fnc_abandon.sqf +++ b/addons/vehicle_damage/functions/fnc_abandon.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Forces the AI currently in a vehicle to bail out. diff --git a/addons/vehicle_damage/functions/fnc_addDamage.sqf b/addons/vehicle_damage/functions/fnc_addDamage.sqf index b6c8071f50..75d72da340 100644 --- a/addons/vehicle_damage/functions/fnc_addDamage.sqf +++ b/addons/vehicle_damage/functions/fnc_addDamage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Sets vehicle damage based on HitIndex. Failing that it falls back to HitPoint name. @@ -14,7 +14,7 @@ * None * * Example: - * [vehicle player, 234, "HitHull"] call ace_vehicle_damage_fnc_knockOut + * [vehicle player, 234, "HitHull"] call ace_vehicle_damage_fnc_addDamage * * Public: No */ diff --git a/addons/vehicle_damage/functions/fnc_addEventHandler.sqf b/addons/vehicle_damage/functions/fnc_addEventHandler.sqf index f73a5d7336..ffd64cc77f 100644 --- a/addons/vehicle_damage/functions/fnc_addEventHandler.sqf +++ b/addons/vehicle_damage/functions/fnc_addEventHandler.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Adds the event handler to a vehicle. diff --git a/addons/vehicle_damage/functions/fnc_blowOffTurret.sqf b/addons/vehicle_damage/functions/fnc_blowOffTurret.sqf index 8e8a0548eb..a036f0045b 100644 --- a/addons/vehicle_damage/functions/fnc_blowOffTurret.sqf +++ b/addons/vehicle_damage/functions/fnc_blowOffTurret.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Blow off turret effect. diff --git a/addons/vehicle_damage/functions/fnc_calculatePenetrationInfo.sqf b/addons/vehicle_damage/functions/fnc_calculatePenetrationInfo.sqf index 9e1f646fc2..813e97a766 100644 --- a/addons/vehicle_damage/functions/fnc_calculatePenetrationInfo.sqf +++ b/addons/vehicle_damage/functions/fnc_calculatePenetrationInfo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Calculates whether or not hit penetrated given armour or not. Only enabled with advanced penetration simulation turned on. diff --git a/addons/vehicle_damage/functions/fnc_detonate.sqf b/addons/vehicle_damage/functions/fnc_detonate.sqf index 132a6d67cc..67d64da442 100644 --- a/addons/vehicle_damage/functions/fnc_detonate.sqf +++ b/addons/vehicle_damage/functions/fnc_detonate.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Detonates vehicle ammo and heavily wounds all inside. diff --git a/addons/vehicle_damage/functions/fnc_handleBail.sqf b/addons/vehicle_damage/functions/fnc_handleBail.sqf index 595f563177..97aad2cd32 100644 --- a/addons/vehicle_damage/functions/fnc_handleBail.sqf +++ b/addons/vehicle_damage/functions/fnc_handleBail.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Handles whether or not the crew should bail. diff --git a/addons/vehicle_damage/functions/fnc_handleCookoff.sqf b/addons/vehicle_damage/functions/fnc_handleCookoff.sqf index 5a907f4162..a6e7335542 100644 --- a/addons/vehicle_damage/functions/fnc_handleCookoff.sqf +++ b/addons/vehicle_damage/functions/fnc_handleCookoff.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Checks hitpoint damage and determines if a vehicle should cookoff. diff --git a/addons/vehicle_damage/functions/fnc_handleDamage.sqf b/addons/vehicle_damage/functions/fnc_handleDamage.sqf index fae2a7d2cd..51bf1be97d 100644 --- a/addons/vehicle_damage/functions/fnc_handleDamage.sqf +++ b/addons/vehicle_damage/functions/fnc_handleDamage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Called by "HandleDamage" event handler. Sets up hit array for this frame's damage. diff --git a/addons/vehicle_damage/functions/fnc_handleDamageEjectIfDestroyed.sqf b/addons/vehicle_damage/functions/fnc_handleDamageEjectIfDestroyed.sqf index 05fa73415e..fdf6f9c6d3 100644 --- a/addons/vehicle_damage/functions/fnc_handleDamageEjectIfDestroyed.sqf +++ b/addons/vehicle_damage/functions/fnc_handleDamageEjectIfDestroyed.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Ejects crew from destroyed vehicle. @@ -11,7 +11,7 @@ * None * * Example: - * _this call ace_cookoff_fnc_handleDamageEjectIfDestroyed + * _this call ace_vehicle_damage_fnc_handleDamageEjectIfDestroyed * * Public: No */ diff --git a/addons/vehicle_damage/functions/fnc_handleDetonation.sqf b/addons/vehicle_damage/functions/fnc_handleDetonation.sqf index 867cc8c964..9556cea424 100644 --- a/addons/vehicle_damage/functions/fnc_handleDetonation.sqf +++ b/addons/vehicle_damage/functions/fnc_handleDetonation.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Checks hitpoint damage and determines if a vehicle should cookoff. diff --git a/addons/vehicle_damage/functions/fnc_handleVehicleDamage.sqf b/addons/vehicle_damage/functions/fnc_handleVehicleDamage.sqf index 1b9b785dca..01f098efb0 100644 --- a/addons/vehicle_damage/functions/fnc_handleVehicleDamage.sqf +++ b/addons/vehicle_damage/functions/fnc_handleVehicleDamage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Process vehicle hit. @@ -18,7 +18,7 @@ * Whether or not to continue handling last frame's damage * * Example: - * [ace_vehicle_damage_fnc_handleTankDamage, tank1, "Hit_Engine", 12]] call CBA_fnc_execNextFrame + * [ace_vehicle_damage_fnc_handleVehicleDamage, tank1, "Hit_Engine", 12]] call CBA_fnc_execNextFrame * * Public: No */ diff --git a/addons/vehicle_damage/functions/fnc_injureOccupants.sqf b/addons/vehicle_damage/functions/fnc_injureOccupants.sqf deleted file mode 100644 index 726fbf11a8..0000000000 --- a/addons/vehicle_damage/functions/fnc_injureOccupants.sqf +++ /dev/null @@ -1,76 +0,0 @@ -#include "script_component.hpp" -/* - * Author: tcvm - * Injures occupants in a vehicle based on percent chance of injury. - * - * Arguments: - * 0: The vehicle - * 1: Injury Chance - * 2: Maximum people to injure - * 3: Projectile source (default: objNull) - * 4: Modifiers for probability for each crew type to be injured. (In order of: driver, gunner, commander, cargo) - * - * Return Value: - * None - * - * Example: - * [myVehicle, 0.6, 10] call ace_vehicle_damage_fnc_injureOccupants; - * - * Public: No - */ - -params ["_vehicle", "_chance", "_count", ["_source", objNull], ["_probabilityModifier", [1, 1, 1, 1]]]; -TRACE_4("adding damage to units", _vehicle, _chance, _count, _source); - -private _vehicleCrew = crew _vehicle; -private _crewCount = count _vehicleCrew; -if (_crewCount <= 0) exitWith {}; - -private _crewInjuryIndices = []; -{ - _crewInjuryIndices pushBack _forEachIndex; -} forEach _vehicleCrew; - -_crewInjuryIndices = _crewInjuryIndices call BIS_fnc_arrayShuffle; - -private _injuryCount = 0; -// Not actually doing anything to any initial vehicle crew in this forEach - just a way to loop through all crew at least once -{ - private _indexToInjure = -1; - { - private _modifier = _probabilityModifier select 3; - if ((_vehicleCrew select _x) isEqualTo driver _vehicle) then { - _modifier = _probabilityModifier select 0; - }; - if ((_vehicleCrew select _x) isEqualTo gunner _vehicle) then { - _modifier = _probabilityModifier select 1; - }; - if ((_vehicleCrew select _x) isEqualTo commander _vehicle) then { - _modifier = _probabilityModifier select 2; - }; - - if ((_chance * _modifier) > random 1) exitWith { - _indexToInjure = _forEachIndex; - }; - } forEach _crewInjuryIndices; - - if (_indexToInjure >= 0) then { - private _casualty = _vehicleCrew select (_crewInjuryIndices select _indexToInjure); - if (alive _casualty) then { - _injuryCount = _injuryCount + 1; - private _indexCount = count _crewInjuryIndices; - if (_indexCount >= 0) then { - _crewInjuryIndices deleteAt _indexToInjure; - - // arbitrary percentages - private _injuredBodyPart = ["Head", "Body", "LeftArm", "RightArm", "LeftLeg", "RightLeg"] selectRandomWeighted [0.3, 0.8, 0.5, 0.5, 0.3, 0.3]; - private _currentUnitDamage = _casualty getHitpointDamage _injuredBodyPart; - private _damageAmount = (_currentUnitDamage + random 1.8) max (_currentUnitDamage + 0.1); - - [_casualty, _damageAmount, _injuredBodyPart, "shell", _source] call EFUNC(medical,addDamageToUnit); - }; - }; - }; - - if (_injuryCount >= _count) exitWith {}; -} forEach _vehicleCrew; diff --git a/addons/vehicle_damage/functions/fnc_knockOut.sqf b/addons/vehicle_damage/functions/fnc_knockOut.sqf index 6a08ea175b..5c8d1697a6 100644 --- a/addons/vehicle_damage/functions/fnc_knockOut.sqf +++ b/addons/vehicle_damage/functions/fnc_knockOut.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Knock out vehicle from battle. Destroy all internal hitpoints. diff --git a/addons/vehicle_damage/functions/fnc_processHit.sqf b/addons/vehicle_damage/functions/fnc_processHit.sqf index 7c4f2e4604..48d6ec0055 100644 --- a/addons/vehicle_damage/functions/fnc_processHit.sqf +++ b/addons/vehicle_damage/functions/fnc_processHit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Process hit by projectile against vehicle and apply appropiate damage to part. @@ -119,28 +119,6 @@ if (_isCar) then { _ammoEffectiveness = (_ammoEffectiveness + (_ammoEffectiveness * 0.5)) min 1; }; -private _injuryChance = 0; -private _injuryCount = 0; -switch (_warheadType) do { - case WARHEAD_TYPE_AP: { - _injuryChance = (_ammoEffectiveness * 2) min 1; - _injuryCount = 1 + (_ammoEffectiveness * round random 9); - }; - case WARHEAD_TYPE_HE: { - _injuryChance = 0.03 * (1 + _ammoEffectiveness); // spalling injury chance alongside direct hit potential - _injuryCount = 2 + (ceil random 3); - if (_isCar) then { - _injuryChance = 0.8; - _injuryCount = 3 max random count crew _vehicle; - }; - }; - default { - _injuryChance = (4 * _ammoEffectiveness) min 1; - _injuryCount = 2 + round random 3; - }; -}; -_injuryChance = _injuryChance * _penChance; - private _currentVehicleAmmo = [_vehicle] call EFUNC(cookoff,getVehicleAmmo); private _chanceOfDetonation = 0; private _explosiveAmmoCount = 0; @@ -200,8 +178,6 @@ switch (_hitArea) do { [_vehicle, _hitIndex, _hitpointName, _nextPartDamage * _penChance] call FUNC(addDamage); }; - // slightly lower injury chance since this hit the engine block - [_vehicle, _injuryChance, _injuryCount, _injurer, [0.2, 0.2, 0.2, 0.4]] call FUNC(injureOccupants); [_vehicle, _chanceOfFire, _cookoffIntensity, _injurer, _hitArea, false] call FUNC(handleCookoff); }; case "hull": { @@ -220,8 +196,6 @@ switch (_hitArea) do { [_vehicle] call FUNC(knockOut); }; - [_vehicle, _injuryChance, _injuryCount, _injurer, [1, 0.4, 0.4, 1]] call FUNC(injureOccupants); - private _hash = _vehicle getVariable [QGVAR(hitpointHash), []]; private _hashKeys = [_hash] call CBA_fnc_hashKeys; @@ -301,7 +275,6 @@ switch (_hitArea) do { _vehicle setVariable [QGVAR(canShoot), false]; }; - [_vehicle, _injuryChance, _injuryCount, _injurer, [0.5, 1.5, 1.5, 0.8]] call FUNC(injureOccupants); [_vehicle, _chanceOfFire, _cookoffIntensity, _injurer, "", true] call FUNC(handleCookoff); }; case "gun": { diff --git a/addons/vehicle_damage/functions/script_component.hpp b/addons/vehicle_damage/functions/script_component.hpp deleted file mode 100644 index f55cfa57e8..0000000000 --- a/addons/vehicle_damage/functions/script_component.hpp +++ /dev/null @@ -1,2 +0,0 @@ -#include "\z\ace\addons\vehicle_damage\script_component.hpp" - diff --git a/addons/vehiclelock/CfgVehicles.hpp b/addons/vehiclelock/CfgVehicles.hpp index 62a6a525fe..3209cf7205 100644 --- a/addons/vehiclelock/CfgVehicles.hpp +++ b/addons/vehiclelock/CfgVehicles.hpp @@ -2,20 +2,20 @@ class ACE_SelfActions { \ 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(QUOTE(QGVAR(setVehicleLock)), [ARR_2(_target,false)], [_target])] call CBA_fnc_targetEvent); \ + condition = QUOTE(([ARR_2(_player,_target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ + statement = QUOTE([ARR_3(QUOTE(QGVAR(setVehicleLock)),[ARR_2(_target,false)],[_target])] call CBA_fnc_targetEvent); \ icon = QPATHTOF(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(QUOTE(QGVAR(setVehicleLock)), [ARR_2(_target,true)], [_target])] call CBA_fnc_targetEvent); \ + condition = QUOTE(([ARR_2(_player,_target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ + statement = QUOTE([ARR_3(QUOTE(QGVAR(setVehicleLock)),[ARR_2(_target,true)],[_target])] call CBA_fnc_targetEvent); \ icon = QPATHTOF(ui\key_menuIcon_ca.paa); \ }; \ class ACE_lockpickVehicle { \ displayName = CSTRING(Action_Lockpick); \ - condition = QUOTE([ARR_3(_player, _target, 'canLockpick')] call FUNC(lockpick)); \ - statement = QUOTE([ARR_3(_player, _target, 'startLockpick')] call FUNC(lockpick)); \ + condition = QUOTE([ARR_3(_player,_target,'canLockpick')] call FUNC(lockpick)); \ + statement = QUOTE([ARR_3(_player,_target,'startLockpick')] call FUNC(lockpick)); \ }; \ }; \ class ACE_Actions { \ @@ -23,24 +23,24 @@ class ACE_unlockVehicle { \ 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(QUOTE(QGVAR(setVehicleLock)), [ARR_2(_target,false)], [_target])] call CBA_fnc_targetEvent); \ + condition = QUOTE(([ARR_2(_player,_target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(2,3)]}); \ + statement = QUOTE([ARR_3(QUOTE(QGVAR(setVehicleLock)),[ARR_2(_target,false)],[_target])] call CBA_fnc_targetEvent); \ exceptions[] = {"isNotSwimming"}; \ icon = QPATHTOF(ui\key_menuIcon_ca.paa); \ }; \ class ACE_lockVehicle { \ 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(QUOTE(QGVAR(setVehicleLock)), [ARR_2(_target,true)], [_target])] call CBA_fnc_targetEvent); \ + condition = QUOTE(([ARR_2(_player,_target)] call FUNC(hasKeyForVehicle)) && {(locked _target) in [ARR_2(0,1)]}); \ + statement = QUOTE([ARR_3(QUOTE(QGVAR(setVehicleLock)),[ARR_2(_target,true)],[_target])] call CBA_fnc_targetEvent); \ exceptions[] = {"isNotSwimming"}; \ icon = QPATHTOF(ui\key_menuIcon_ca.paa); \ }; \ class ACE_lockpickVehicle { \ displayName = CSTRING(Action_Lockpick); \ distance = 4; \ - condition = QUOTE([ARR_3(_player, _target, 'canLockpick')] call FUNC(lockpick)); \ - statement = QUOTE([ARR_3(_player, _target, 'startLockpick')] call FUNC(lockpick)); \ + condition = QUOTE([ARR_3(_player,_target,'canLockpick')] call FUNC(lockpick)); \ + statement = QUOTE([ARR_3(_player,_target,'startLockpick')] call FUNC(lockpick)); \ exceptions[] = {"isNotSwimming"}; \ }; \ }; \ diff --git a/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf b/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf index e88105e398..d730589b36 100644 --- a/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf +++ b/addons/vehiclelock/functions/fnc_addKeyForVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Adds a key to a unit that will open a vehicle diff --git a/addons/vehiclelock/functions/fnc_getVehicleSideKey.sqf b/addons/vehiclelock/functions/fnc_getVehicleSideKey.sqf index 5e78e55edb..adf3b2f6ec 100644 --- a/addons/vehiclelock/functions/fnc_getVehicleSideKey.sqf +++ b/addons/vehiclelock/functions/fnc_getVehicleSideKey.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Returns the side specifc key for a vehicle diff --git a/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf b/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf index eb0ecb21a7..08cc150a3c 100644 --- a/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf +++ b/addons/vehiclelock/functions/fnc_handleVehicleInitPost.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * For every lockable vehicle, sets the starting lock state to a sane value. diff --git a/addons/vehiclelock/functions/fnc_hasKeyForVehicle.sqf b/addons/vehiclelock/functions/fnc_hasKeyForVehicle.sqf index bda8f67b65..c5f7e0e35a 100644 --- a/addons/vehiclelock/functions/fnc_hasKeyForVehicle.sqf +++ b/addons/vehiclelock/functions/fnc_hasKeyForVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Returns if user has a valid key for the vehicle diff --git a/addons/vehiclelock/functions/fnc_lockpick.sqf b/addons/vehiclelock/functions/fnc_lockpick.sqf index cdc2259b8b..4ef3289b45 100644 --- a/addons/vehiclelock/functions/fnc_lockpick.sqf +++ b/addons/vehiclelock/functions/fnc_lockpick.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles lockpick functionality. Three different functions: diff --git a/addons/vehiclelock/functions/fnc_moduleInit.sqf b/addons/vehiclelock/functions/fnc_moduleInit.sqf index 16e81e85ea..4f6fdf118c 100644 --- a/addons/vehiclelock/functions/fnc_moduleInit.sqf +++ b/addons/vehiclelock/functions/fnc_moduleInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Function for setup module. Sets default lockpick strength and default lock state. @@ -12,7 +12,7 @@ * None * * Example: - * [fromModule] call ACE_VehicleLock_fnc_hasKeyForVehicle; + * [fromModule] call ace_vehiclelock_fnc_moduleInit; * * Public: No */ diff --git a/addons/vehiclelock/functions/fnc_moduleSync.sqf b/addons/vehiclelock/functions/fnc_moduleSync.sqf index 5aede3f620..c29c7a06d2 100644 --- a/addons/vehiclelock/functions/fnc_moduleSync.sqf +++ b/addons/vehiclelock/functions/fnc_moduleSync.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Function for sync module. Assigns keys for all synced vehicles to any players that are synced. diff --git a/addons/vehiclelock/functions/fnc_onOpenInventory.sqf b/addons/vehiclelock/functions/fnc_onOpenInventory.sqf index 92cbe0144d..03562a6180 100644 --- a/addons/vehiclelock/functions/fnc_onOpenInventory.sqf +++ b/addons/vehiclelock/functions/fnc_onOpenInventory.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles the inventory opening. diff --git a/addons/vehiclelock/functions/fnc_serverSetupCustomKeyEH.sqf b/addons/vehiclelock/functions/fnc_serverSetupCustomKeyEH.sqf index 7018e67bcb..7b259adc0d 100644 --- a/addons/vehiclelock/functions/fnc_serverSetupCustomKeyEH.sqf +++ b/addons/vehiclelock/functions/fnc_serverSetupCustomKeyEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * On the server: Adds a key (magazineDetail name) to approved keys for a vehicle. diff --git a/addons/vehiclelock/functions/fnc_setVehicleLockEH.sqf b/addons/vehiclelock/functions/fnc_setVehicleLockEH.sqf index 8f38d48f37..c34dbb78e2 100644 --- a/addons/vehiclelock/functions/fnc_setVehicleLockEH.sqf +++ b/addons/vehiclelock/functions/fnc_setVehicleLockEH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Sets a vehicle lock state because of a "ace_vehiclelock_setVehicleLock" event diff --git a/addons/vehiclelock/functions/script_component.hpp b/addons/vehiclelock/functions/script_component.hpp deleted file mode 100644 index ea59437b17..0000000000 --- a/addons/vehiclelock/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\vehiclelock\script_component.hpp" diff --git a/addons/vehicles/CfgVehicles.hpp b/addons/vehicles/CfgVehicles.hpp index ec2ac69bd0..3dcb8ed490 100644 --- a/addons/vehicles/CfgVehicles.hpp +++ b/addons/vehicles/CfgVehicles.hpp @@ -251,7 +251,7 @@ class CfgVehicles { }; // Tanks DLC Rooikat 120 - class AFV_Wheeled_01_base_F: wheeled_APC_F { + class AFV_Wheeled_01_base_F: Wheeled_APC_F { class Turrets: Turrets { class MainTurret: MainTurret { weapons[] = {"ACE_cannon_120mm_GT12","ACE_LMG_coax_DenelMG4"}; diff --git a/addons/vehicles/functions/fnc_autoThrottle.sqf b/addons/vehicles/functions/fnc_autoThrottle.sqf index 558414562a..63b4f53642 100644 --- a/addons/vehicles/functions/fnc_autoThrottle.sqf +++ b/addons/vehicles/functions/fnc_autoThrottle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: tcvm * Toggle speed limiter for Driver in Plane. Uses a simple PID controller to manage thrust diff --git a/addons/vehicles/functions/fnc_setVehicleStartDelay.sqf b/addons/vehicles/functions/fnc_setVehicleStartDelay.sqf index 08a7ba55b9..6539eec7ef 100644 --- a/addons/vehicles/functions/fnc_setVehicleStartDelay.sqf +++ b/addons/vehicles/functions/fnc_setVehicleStartDelay.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: severgun * Set engine startup delay to specific vehicle. diff --git a/addons/vehicles/functions/fnc_speedLimiter.sqf b/addons/vehicles/functions/fnc_speedLimiter.sqf index 206b4ccebf..a2ad474174 100644 --- a/addons/vehicles/functions/fnc_speedLimiter.sqf +++ b/addons/vehicles/functions/fnc_speedLimiter.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Toggle speed limiter for Driver in Vehicle. diff --git a/addons/vehicles/functions/fnc_startEngine.sqf b/addons/vehicles/functions/fnc_startEngine.sqf index 4a4633b080..8823ae4018 100644 --- a/addons/vehicles/functions/fnc_startEngine.sqf +++ b/addons/vehicles/functions/fnc_startEngine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Delays engine start of vehicle. diff --git a/addons/vehicles/functions/fnc_toggleSpeedControl.sqf b/addons/vehicles/functions/fnc_toggleSpeedControl.sqf index 335855c194..bbbaa08876 100644 --- a/addons/vehicles/functions/fnc_toggleSpeedControl.sqf +++ b/addons/vehicles/functions/fnc_toggleSpeedControl.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Checks if player can toggle speed control and runs proper speed control mode. diff --git a/addons/vehicles/functions/script_component.hpp b/addons/vehicles/functions/script_component.hpp deleted file mode 100644 index 4858805302..0000000000 --- a/addons/vehicles/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\vehicles\script_component.hpp" diff --git a/addons/vehicles/stringtable.xml b/addons/vehicles/stringtable.xml index 84c094bc1a..0c3c5bd2f4 100644 --- a/addons/vehicles/stringtable.xml +++ b/addons/vehicles/stringtable.xml @@ -27,6 +27,7 @@ 开启巡航模式 Круиз-контроль включён Control de crucero encendido + Régulateur de vitesse activé Speed Limiter off @@ -54,6 +55,7 @@ 关闭巡航模式 Круиз-контроль выключен Control de crucero apagado + Régulateur de vitesse désactivé Speed Limit @@ -97,6 +99,7 @@ 巡航模式 Круиз-контроль Contro de crucero + Régulateur de vitesse Increase Speed Limit diff --git a/addons/viewdistance/functions/fnc_adaptViewDistance.sqf b/addons/viewdistance/functions/fnc_adaptViewDistance.sqf index d83b8ae746..9878d17336 100644 --- a/addons/viewdistance/functions/fnc_adaptViewDistance.sqf +++ b/addons/viewdistance/functions/fnc_adaptViewDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Winter * Sets the player's current view distance according to whether s/he is on foot, in a land vehicle or in an air vehicle. diff --git a/addons/viewdistance/functions/fnc_changeViewDistance.sqf b/addons/viewdistance/functions/fnc_changeViewDistance.sqf index 76b5b97cf2..84ba31d285 100644 --- a/addons/viewdistance/functions/fnc_changeViewDistance.sqf +++ b/addons/viewdistance/functions/fnc_changeViewDistance.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Winter * Sets the player's current view distance according to allowed values. diff --git a/addons/viewdistance/functions/fnc_initModule.sqf b/addons/viewdistance/functions/fnc_initModule.sqf index b33b6b532c..fe8781f035 100644 --- a/addons/viewdistance/functions/fnc_initModule.sqf +++ b/addons/viewdistance/functions/fnc_initModule.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Winter * Initializes the view distance limiter module. diff --git a/addons/viewdistance/functions/fnc_returnObjectCoeff.sqf b/addons/viewdistance/functions/fnc_returnObjectCoeff.sqf index 5cc17be8bb..54ce388f5c 100644 --- a/addons/viewdistance/functions/fnc_returnObjectCoeff.sqf +++ b/addons/viewdistance/functions/fnc_returnObjectCoeff.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Winter * Returns the object view distance coefficient according to the given index diff --git a/addons/viewdistance/functions/fnc_setFovBasedOvdPFH.sqf b/addons/viewdistance/functions/fnc_setFovBasedOvdPFH.sqf index e419687ac6..c08545ca7c 100644 --- a/addons/viewdistance/functions/fnc_setFovBasedOvdPFH.sqf +++ b/addons/viewdistance/functions/fnc_setFovBasedOvdPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Sets Object View Distance dynamically based on current Field of View, between Object View Distance (minimal value) and View Distance (maximum value) set before this PFH starts. diff --git a/addons/viewdistance/functions/script_component.hpp b/addons/viewdistance/functions/script_component.hpp deleted file mode 100644 index f6c83ec54d..0000000000 --- a/addons/viewdistance/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\viewdistance\script_component.hpp" diff --git a/addons/viewdistance/stringtable.xml b/addons/viewdistance/stringtable.xml index 2d6ae9bd96..b974c6291e 100644 --- a/addons/viewdistance/stringtable.xml +++ b/addons/viewdistance/stringtable.xml @@ -418,7 +418,7 @@ Esta opción no es valida! El limite es Tato volba je neplatná! Limit je Diese Option ist ungültig! Die Grenze ist - Essa opção é inválida. O limte é + Essa opção é inválida. O limite é Cette option est non valide ! La limite est de Ez a beállítás érvénytelen! A maximum mennyiség Настройка не верна! Текущий предел diff --git a/addons/viewports/dev/debugPoints.sqf b/addons/viewports/dev/debugPoints.sqf index 4d8346bc0a..24b393d70f 100644 --- a/addons/viewports/dev/debugPoints.sqf +++ b/addons/viewports/dev/debugPoints.sqf @@ -1,4 +1,4 @@ -#include "\z\ace\addons\viewports\script_component.hpp" +#include "..\script_component.hpp" /* [] call compileScript ["\z\ace\addons\viewports\dev\debugPoints.sqf"]; @@ -29,7 +29,7 @@ GVAR(3denViewports) = []; disableSerialization; - private _3den = findDisplay IDD_3DEN; + private _3den = findDisplay IDD_3DEN; if (_3den getVariable [QGVAR(setup), false]) exitWith {}; _3den setVariable [QGVAR(setup), true]; @@ -64,23 +64,23 @@ }; private _out = []; - _out pushBack format [" class %1: %2 {", configName _config, configName inheritsFrom _config]; - _out pushBack format [" class ace_viewports {"]; + _out pushBack format [" class %1: %2 {", configName _config, configName inheritsFrom _config]; + _out pushBack format [" class ace_viewports {"]; { _x params ["_name", "", "_camLocation", "_camAttach"]; - _out pushBack format [' class %1 {', _name]; - _out pushBack format [' camLocation[] = {%1, %2, %3};', _camLocation # 0, _camLocation # 1, _camLocation # 2]; - _out pushBack format [' camAttach = %1;', _camAttach]; - // _out pushBack format [' type = "%1";', _type]; - // _out pushBack format [' screenLocation[] = {};']; - // _out pushBack format [' maxDistance = 99;']; - // _out pushBack format [' compartments[]={};']; + _out pushBack format [' class %1 {', _name]; + _out pushBack format [' camLocation[] = {%1, %2, %3};', _camLocation # 0, _camLocation # 1, _camLocation # 2]; + _out pushBack format [' camAttach = %1;', _camAttach]; + // _out pushBack format [' type = "%1";', _type]; + // _out pushBack format [' screenLocation[] = {};']; + // _out pushBack format [' maxDistance = 99;']; + // _out pushBack format [' compartments[]={};']; // _out pushBack format [' roles[]={};']; - _out pushBack format [' };']; + _out pushBack format [' };']; } forEach GVAR(3denViewports); - _out pushBack format [' };']; - _out pushBack format [' };']; + _out pushBack format [' };']; + _out pushBack format [' };']; // Some inherited configs might use a different model which uses a different offset - yuck private _inherited = '((configName _x) isKindOf (configName _config)) && {_model != getText (_x >> "model")}' configClasses (configFile >> "CfgVehicles"); diff --git a/addons/viewports/functions/fnc_eachFrame.sqf b/addons/viewports/functions/fnc_eachFrame.sqf index b0b0606bf5..6bb452baad 100644 --- a/addons/viewports/functions/fnc_eachFrame.sqf +++ b/addons/viewports/functions/fnc_eachFrame.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Runs each frame while inside of a vehicle with viewports diff --git a/addons/viewports/functions/fnc_enterVehicle.sqf b/addons/viewports/functions/fnc_enterVehicle.sqf index 4e49be144c..ccec954060 100644 --- a/addons/viewports/functions/fnc_enterVehicle.sqf +++ b/addons/viewports/functions/fnc_enterVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handle playerEH for new changing vehicle, check if it has any viewports and start PFEH diff --git a/addons/viewports/functions/fnc_getSeatInfo.sqf b/addons/viewports/functions/fnc_getSeatInfo.sqf index 1254b5f07e..86dccebdd1 100644 --- a/addons/viewports/functions/fnc_getSeatInfo.sqf +++ b/addons/viewports/functions/fnc_getSeatInfo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian, PabstMirror * Adapted from quickmount's addFreeSeatsActions diff --git a/addons/viewports/functions/fnc_getViewports.sqf b/addons/viewports/functions/fnc_getViewports.sqf index e43d99e2e0..32f97e18f6 100644 --- a/addons/viewports/functions/fnc_getViewports.sqf +++ b/addons/viewports/functions/fnc_getViewports.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Gets viewports for a vehicle from config. Caches results to a setVar on the vic. diff --git a/addons/viewports/functions/fnc_viewCleanup.sqf b/addons/viewports/functions/fnc_viewCleanup.sqf index 07c1592c4c..4759439a7e 100644 --- a/addons/viewports/functions/fnc_viewCleanup.sqf +++ b/addons/viewports/functions/fnc_viewCleanup.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Cleans up existing viewport display and camera diff --git a/addons/viewports/functions/fnc_viewCreate.sqf b/addons/viewports/functions/fnc_viewCreate.sqf index 2098f9ea47..8b08da9575 100644 --- a/addons/viewports/functions/fnc_viewCreate.sqf +++ b/addons/viewports/functions/fnc_viewCreate.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Creates a viewport display and camera diff --git a/addons/viewports/functions/script_component.hpp b/addons/viewports/functions/script_component.hpp deleted file mode 100644 index c4fa73f63a..0000000000 --- a/addons/viewports/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\viewports\script_component.hpp" diff --git a/addons/viewports/gui.hpp b/addons/viewports/gui.hpp index 50f036f0da..6cf3d16823 100644 --- a/addons/viewports/gui.hpp +++ b/addons/viewports/gui.hpp @@ -1,7 +1,7 @@ class RscTitles { class GVAR(display) { idd = -1; - onLoad = QUOTE( with uiNameSpace do { GVAR(display) = _this select 0 }; ); + onLoad = QUOTE(with uiNameSpace do { GVAR(display) = _this select 0 };); movingEnable = 0; duration = 9999999; fadeIn = 0; diff --git a/addons/viewports/stringtable.xml b/addons/viewports/stringtable.xml index 997cb910bf..dcef7ae4ff 100644 --- a/addons/viewports/stringtable.xml +++ b/addons/viewports/stringtable.xml @@ -9,6 +9,8 @@ Wizjery Триплексы Periscopios + Sichtfenster + Périscopes Allows crew to look through periscopes @@ -18,6 +20,8 @@ 允许乘员通过观察口观察 Разрешить экипажу смотреть сквозь перископ Permite a la tripulación asomarse a través de los periscopios + Ermöglicht der Besatzung den Blick durch Periskope + Permet à l'équipage de regarder à travers des périscopes. diff --git a/addons/viewrestriction/functions/fnc_canChangeCamera.sqf b/addons/viewrestriction/functions/fnc_canChangeCamera.sqf index d037d2f095..dc68825da7 100644 --- a/addons/viewrestriction/functions/fnc_canChangeCamera.sqf +++ b/addons/viewrestriction/functions/fnc_canChangeCamera.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Checks if camera can be changed. diff --git a/addons/viewrestriction/functions/fnc_changeCamera.sqf b/addons/viewrestriction/functions/fnc_changeCamera.sqf index c3f70d640a..6a1f7d03ff 100644 --- a/addons/viewrestriction/functions/fnc_changeCamera.sqf +++ b/addons/viewrestriction/functions/fnc_changeCamera.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Change camera based on setting. diff --git a/addons/viewrestriction/functions/fnc_moduleInit.sqf b/addons/viewrestriction/functions/fnc_moduleInit.sqf index 8caf7d26ad..12f7a36493 100644 --- a/addons/viewrestriction/functions/fnc_moduleInit.sqf +++ b/addons/viewrestriction/functions/fnc_moduleInit.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Initializes the View Restriction module. diff --git a/addons/viewrestriction/functions/fnc_selectiveChangeCamera.sqf b/addons/viewrestriction/functions/fnc_selectiveChangeCamera.sqf index 916eda969e..ee26739ae4 100644 --- a/addons/viewrestriction/functions/fnc_selectiveChangeCamera.sqf +++ b/addons/viewrestriction/functions/fnc_selectiveChangeCamera.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Changes camera mode based on vehicle type the player is currently occupying. diff --git a/addons/viewrestriction/functions/fnc_switchPreserveView.sqf b/addons/viewrestriction/functions/fnc_switchPreserveView.sqf index 722de4ea37..63cf8ba8b6 100644 --- a/addons/viewrestriction/functions/fnc_switchPreserveView.sqf +++ b/addons/viewrestriction/functions/fnc_switchPreserveView.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Controls View Preserving state. diff --git a/addons/viewrestriction/functions/script_component.hpp b/addons/viewrestriction/functions/script_component.hpp deleted file mode 100644 index b3b0bcdf12..0000000000 --- a/addons/viewrestriction/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\viewrestriction\script_component.hpp" diff --git a/addons/viewrestriction/stringtable.xml b/addons/viewrestriction/stringtable.xml index 1f9a755eb8..bd3cc65895 100644 --- a/addons/viewrestriction/stringtable.xml +++ b/addons/viewrestriction/stringtable.xml @@ -275,6 +275,7 @@ Araç türleri için görünümü koru 차량 타입에 따른 시야 정보 저장 Preservar vista para los tipos de vehículos + Conserver la vue pour les types de véhicules Switch view on vehicle change to last used in this vehicle type (Requires Mode: Disabled) @@ -287,6 +288,7 @@ Araçlar için en son kullanılan bakış türünü kaydet. 해당 차량 타입에서 마지막으로 사용했던 시야로 설정하여 봅니다 (모드 - 사용 안함 필요) Cambiar vista en el cambio de vehículo hacia la última usada en ese tipo de vehículo (Requiere Modo: Deshabilitado) + Lors d'un changement de véhicule, change la vue pour la dernière utilisée dans ce type de véhicule (Mod requis : désactivé). diff --git a/addons/volume/functions/fnc_lowerVolume.sqf b/addons/volume/functions/fnc_lowerVolume.sqf index 2248d87fb9..5e8658fb95 100644 --- a/addons/volume/functions/fnc_lowerVolume.sqf +++ b/addons/volume/functions/fnc_lowerVolume.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Lowers the game and music volume with values from ACE settings. diff --git a/addons/volume/functions/fnc_remind.sqf b/addons/volume/functions/fnc_remind.sqf index 29b546d791..ec9b26b064 100644 --- a/addons/volume/functions/fnc_remind.sqf +++ b/addons/volume/functions/fnc_remind.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Reminds about lowered volume. diff --git a/addons/volume/functions/fnc_restoreVolume.sqf b/addons/volume/functions/fnc_restoreVolume.sqf index bd38c0e017..6ebe2fc7db 100644 --- a/addons/volume/functions/fnc_restoreVolume.sqf +++ b/addons/volume/functions/fnc_restoreVolume.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Kingsley * Restores the game and music volume to what it was when the mission first started, diff --git a/addons/volume/functions/script_component.hpp b/addons/volume/functions/script_component.hpp deleted file mode 100644 index 46435ff93d..0000000000 --- a/addons/volume/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\volume\script_component.hpp" diff --git a/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf b/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf index c87047a787..f43a8f00da 100644 --- a/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf +++ b/addons/weaponselect/functions/fnc_displayGrenadeTypeAndNumber.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: esteldunedain, commy2 * Display a grenade type and quantity. diff --git a/addons/weaponselect/functions/fnc_fireSmokeLauncher.sqf b/addons/weaponselect/functions/fnc_fireSmokeLauncher.sqf index f1bd108926..16bac855cc 100644 --- a/addons/weaponselect/functions/fnc_fireSmokeLauncher.sqf +++ b/addons/weaponselect/functions/fnc_fireSmokeLauncher.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Fire Vehicle Smoke Launcher. diff --git a/addons/weaponselect/functions/fnc_playChangeFiremodeSound.sqf b/addons/weaponselect/functions/fnc_playChangeFiremodeSound.sqf index 8270ceb2d5..2be2d740ea 100644 --- a/addons/weaponselect/functions/fnc_playChangeFiremodeSound.sqf +++ b/addons/weaponselect/functions/fnc_playChangeFiremodeSound.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Play weapon firemode change sound. diff --git a/addons/weaponselect/functions/fnc_putWeaponAway.sqf b/addons/weaponselect/functions/fnc_putWeaponAway.sqf index 0622d62ae0..6f3f2c51af 100644 --- a/addons/weaponselect/functions/fnc_putWeaponAway.sqf +++ b/addons/weaponselect/functions/fnc_putWeaponAway.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * The unit will put its current weapon away. diff --git a/addons/weaponselect/functions/fnc_selectNextGrenade.sqf b/addons/weaponselect/functions/fnc_selectNextGrenade.sqf index 21f07639f4..195bbc326b 100644 --- a/addons/weaponselect/functions/fnc_selectNextGrenade.sqf +++ b/addons/weaponselect/functions/fnc_selectNextGrenade.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Select the next grenade. diff --git a/addons/weaponselect/functions/fnc_selectWeaponMode.sqf b/addons/weaponselect/functions/fnc_selectWeaponMode.sqf index 8812a63525..f2810bb512 100644 --- a/addons/weaponselect/functions/fnc_selectWeaponMode.sqf +++ b/addons/weaponselect/functions/fnc_selectWeaponMode.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * The player will select the specified weapon or will change to the next firing mode if the weapon was already selected. diff --git a/addons/weaponselect/functions/fnc_selectWeaponMuzzle.sqf b/addons/weaponselect/functions/fnc_selectWeaponMuzzle.sqf index ff2d48baf4..9a27a515ad 100644 --- a/addons/weaponselect/functions/fnc_selectWeaponMuzzle.sqf +++ b/addons/weaponselect/functions/fnc_selectWeaponMuzzle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * The player will select the specified weapon and change to the first additional muzzle. E.g. the grenade launcher of a assault rifle. diff --git a/addons/weaponselect/functions/fnc_selectWeaponVehicle.sqf b/addons/weaponselect/functions/fnc_selectWeaponVehicle.sqf index b3fa528532..d332afdcdc 100644 --- a/addons/weaponselect/functions/fnc_selectWeaponVehicle.sqf +++ b/addons/weaponselect/functions/fnc_selectWeaponVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Select weapon for unit in vehicle. diff --git a/addons/weaponselect/functions/fnc_throwGrenade.sqf b/addons/weaponselect/functions/fnc_throwGrenade.sqf index 1214bdc84b..4856a7b738 100644 --- a/addons/weaponselect/functions/fnc_throwGrenade.sqf +++ b/addons/weaponselect/functions/fnc_throwGrenade.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: commy2 * Display Grenade information on grenade throw. Called from the unified fired EH only for the local player. diff --git a/addons/weaponselect/functions/script_component.hpp b/addons/weaponselect/functions/script_component.hpp deleted file mode 100644 index 8b646cdaf8..0000000000 --- a/addons/weaponselect/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\weaponselect\script_component.hpp" diff --git a/addons/weaponselect/stringtable.xml b/addons/weaponselect/stringtable.xml index 37410f70a2..e4814e86a2 100644 --- a/addons/weaponselect/stringtable.xml +++ b/addons/weaponselect/stringtable.xml @@ -11,7 +11,7 @@ Afficher du texte lors d'un lancé de grenade Szöveg mutatása gránát eldobásakor Mostra indicazioni nel lancio granate - Mostrat texto ao lançar granada + Mostrar texto ao lançar granada 手榴弾を投げるときに通知 수류탄 투척 시 화면에 문자 표시 投掷手榴弹时显示提示信息 @@ -27,7 +27,7 @@ Affiche un texte ou une notification lors d'un lancé de grenade. Jelez egy súgót vagy szöveget a gránát eldobásakor. Mostra una notifica quando si lanciano granate - Mostra um hint ou texto ao lançar uma granada + Mostra uma notificação ou texto ao lançar uma granada 手榴弾を投げるときに、ヒントか文で通知します。 수류탄 투척 시 화면에 문자나 힌트를 표시합니다. 投掷手榴弹时显示提示信息。 diff --git a/addons/weather/functions/fnc_calculateAirDensity.sqf b/addons/weather/functions/fnc_calculateAirDensity.sqf index 43da78eab9..6bab73618f 100644 --- a/addons/weather/functions/fnc_calculateAirDensity.sqf +++ b/addons/weather/functions/fnc_calculateAirDensity.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the air density diff --git a/addons/weather/functions/fnc_calculateBarometricPressure.sqf b/addons/weather/functions/fnc_calculateBarometricPressure.sqf index 70cdf370bf..abd9cc00bd 100644 --- a/addons/weather/functions/fnc_calculateBarometricPressure.sqf +++ b/addons/weather/functions/fnc_calculateBarometricPressure.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the barometric pressure based on altitude and weather diff --git a/addons/weather/functions/fnc_calculateDensityAltitude.sqf b/addons/weather/functions/fnc_calculateDensityAltitude.sqf index fdfe57877d..3a3d0dad10 100644 --- a/addons/weather/functions/fnc_calculateDensityAltitude.sqf +++ b/addons/weather/functions/fnc_calculateDensityAltitude.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates density altitude for a given air density diff --git a/addons/weather/functions/fnc_calculateDewPoint.sqf b/addons/weather/functions/fnc_calculateDewPoint.sqf index 5f020f47d1..441be06d32 100644 --- a/addons/weather/functions/fnc_calculateDewPoint.sqf +++ b/addons/weather/functions/fnc_calculateDewPoint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates dew point based on temperature and relative humidity diff --git a/addons/weather/functions/fnc_calculateHeatIndex.sqf b/addons/weather/functions/fnc_calculateHeatIndex.sqf index de333d801f..3548326917 100644 --- a/addons/weather/functions/fnc_calculateHeatIndex.sqf +++ b/addons/weather/functions/fnc_calculateHeatIndex.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates heat index based on temperature and relative humidity diff --git a/addons/weather/functions/fnc_calculateRoughnessLength.sqf b/addons/weather/functions/fnc_calculateRoughnessLength.sqf index 26b7f3a6a9..252ed8a957 100644 --- a/addons/weather/functions/fnc_calculateRoughnessLength.sqf +++ b/addons/weather/functions/fnc_calculateRoughnessLength.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the terrain roughness length at a given world position diff --git a/addons/weather/functions/fnc_calculateSpeedOfSound.sqf b/addons/weather/functions/fnc_calculateSpeedOfSound.sqf index 90d524e560..755769d39a 100644 --- a/addons/weather/functions/fnc_calculateSpeedOfSound.sqf +++ b/addons/weather/functions/fnc_calculateSpeedOfSound.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the speed of sound for a given temperature diff --git a/addons/weather/functions/fnc_calculateTemperatureAtHeight.sqf b/addons/weather/functions/fnc_calculateTemperatureAtHeight.sqf index c392b15900..8e3b9b624e 100644 --- a/addons/weather/functions/fnc_calculateTemperatureAtHeight.sqf +++ b/addons/weather/functions/fnc_calculateTemperatureAtHeight.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the temperature based on altitude and weather diff --git a/addons/weather/functions/fnc_calculateWetBulb.sqf b/addons/weather/functions/fnc_calculateWetBulb.sqf index 5ebb497a16..16527771f6 100644 --- a/addons/weather/functions/fnc_calculateWetBulb.sqf +++ b/addons/weather/functions/fnc_calculateWetBulb.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates wet bulb based on temperature and relative humidity diff --git a/addons/weather/functions/fnc_calculateWindChill.sqf b/addons/weather/functions/fnc_calculateWindChill.sqf index ffb93db9d3..3145839c00 100644 --- a/addons/weather/functions/fnc_calculateWindChill.sqf +++ b/addons/weather/functions/fnc_calculateWindChill.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates wind chill based on temperature and wind speed diff --git a/addons/weather/functions/fnc_calculateWindSpeed.sqf b/addons/weather/functions/fnc_calculateWindSpeed.sqf index f14d6dfbfc..2ae1d94eec 100644 --- a/addons/weather/functions/fnc_calculateWindSpeed.sqf +++ b/addons/weather/functions/fnc_calculateWindSpeed.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Calculates the true wind speed at a given world position diff --git a/addons/weather/functions/fnc_displayAirTemp.sqf b/addons/weather/functions/fnc_displayAirTemp.sqf index f6aadb1477..4eb5bdf3ac 100644 --- a/addons/weather/functions/fnc_displayAirTemp.sqf +++ b/addons/weather/functions/fnc_displayAirTemp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LorenLuke * Displays an abstracted depiction of air temperature to a unit. diff --git a/addons/weather/functions/fnc_displayWindInfo.sqf b/addons/weather/functions/fnc_displayWindInfo.sqf index 35c840bf85..d7c45e595a 100644 --- a/addons/weather/functions/fnc_displayWindInfo.sqf +++ b/addons/weather/functions/fnc_displayWindInfo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Displays a wind info (colored arrow) in the top left corner of the screen diff --git a/addons/weather/functions/fnc_getApproximateAirTemp.sqf b/addons/weather/functions/fnc_getApproximateAirTemp.sqf index e9d00570df..33227907a3 100644 --- a/addons/weather/functions/fnc_getApproximateAirTemp.sqf +++ b/addons/weather/functions/fnc_getApproximateAirTemp.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: LorenLuke * Returns an approximate representation of temperature at a unit's location. diff --git a/addons/weather/functions/fnc_getMapData.sqf b/addons/weather/functions/fnc_getMapData.sqf index 20a8f1df70..d80573c286 100644 --- a/addons/weather/functions/fnc_getMapData.sqf +++ b/addons/weather/functions/fnc_getMapData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg, esteldunedain * Get the weather data for the current map diff --git a/addons/weather/functions/fnc_initModuleSettings.sqf b/addons/weather/functions/fnc_initModuleSettings.sqf index 3b306398f9..cd00bd0e95 100644 --- a/addons/weather/functions/fnc_initModuleSettings.sqf +++ b/addons/weather/functions/fnc_initModuleSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, Ruthberg * Module for adjusting the wind deflection settings diff --git a/addons/weather/functions/fnc_initWind.sqf b/addons/weather/functions/fnc_initWind.sqf index 29e4e7dbe8..45d444912d 100644 --- a/addons/weather/functions/fnc_initWind.sqf +++ b/addons/weather/functions/fnc_initWind.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Inits the wind variables on the server (on mission start) diff --git a/addons/weather/functions/fnc_updateHumidity.sqf b/addons/weather/functions/fnc_updateHumidity.sqf index 2660076f9f..afbdb61d0c 100644 --- a/addons/weather/functions/fnc_updateHumidity.sqf +++ b/addons/weather/functions/fnc_updateHumidity.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE2 Team * Smoothly updates GVAR(currentHumidity) on the server (based on time of day and map data) diff --git a/addons/weather/functions/fnc_updateTemperature.sqf b/addons/weather/functions/fnc_updateTemperature.sqf index ea7a84a269..3036171145 100644 --- a/addons/weather/functions/fnc_updateTemperature.sqf +++ b/addons/weather/functions/fnc_updateTemperature.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE2 Team * Smoothly updates GVAR(currentTemperature) on the server (based on time of day and map data) diff --git a/addons/weather/functions/fnc_updateWeather.sqf b/addons/weather/functions/fnc_updateWeather.sqf index c573d190ce..b5495d67c5 100644 --- a/addons/weather/functions/fnc_updateWeather.sqf +++ b/addons/weather/functions/fnc_updateWeather.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE2 Team, esteldunedain, Ruthberg * Updates the weather evolution on the server. Broadcasts relevant weather information to the clients. diff --git a/addons/weather/functions/fnc_updateWind.sqf b/addons/weather/functions/fnc_updateWind.sqf index 569179dce8..0a821b19c0 100644 --- a/addons/weather/functions/fnc_updateWind.sqf +++ b/addons/weather/functions/fnc_updateWind.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: ACE2 Team, Ruthberg * Smoothly updates wind on the server (based on time of year and map data) diff --git a/addons/weather/functions/script_component.hpp b/addons/weather/functions/script_component.hpp deleted file mode 100644 index 2ad2cb2ab6..0000000000 --- a/addons/weather/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\weather\script_component.hpp" diff --git a/addons/weather/stringtable.xml b/addons/weather/stringtable.xml index f8f649fb48..2705e75e3a 100644 --- a/addons/weather/stringtable.xml +++ b/addons/weather/stringtable.xml @@ -96,7 +96,7 @@ 온도, 습도 및 기압에 따라 기존 날씨를 확장합니다. Poszerza istniejącą pogodę o temperaturę, wilgotność i ciśnienie powietrza. Расширяет текущие возможности погоды с учетом температуры, влажности и давления - Expande o clima existente com temperatura, humidade e pressão do ar. + Expande o clima existente com temperatura, umidade e pressão do ar. Rozšiřuje stávající počasí o teplotu, vlhkost a tlak vzduchu. Améliore le module météo existant en y ajoutant la température, l'humidité et la pression atmosphérique. Mevcut havayı sıcaklık, nem ve hava basıncı ile genişletir. @@ -159,7 +159,7 @@ 啟用後將遵照地圖特色進行風力模擬(覆蓋掉官方原版的風力模擬) 启用后将遵照地图特色进行风力模拟(覆盖掉官方原版的风力模拟) マップを基にした風シミュレーションを有効化 (標準の風を上書き) - 지도 기반의 바람 시뮬레이션을 활성화합니다. (바닐라 바람을 덮음) + 지도 기반의 바람 시뮬레이션을 활성화합니다. (바닐라 바람을 덮어 씀) Aktywuje symulację wiatru bazującą na mapie (nadpisuje wind z domyślnej wersji gry) Включает симуляцию ветра на основе текущей местности (переписывает ванильный ветер) Ativar a simulação de vento dos mapas. (sobrepõe vento vanilla) diff --git a/addons/winddeflection/functions/fnc_handleFired.sqf b/addons/winddeflection/functions/fnc_handleFired.sqf index df1e1665df..e4b547c032 100644 --- a/addons/winddeflection/functions/fnc_handleFired.sqf +++ b/addons/winddeflection/functions/fnc_handleFired.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, Ruthberg * Handles wind deflection for projectiles. Called from the unified fired EH only for players on foot and their vehicles if required by settings. diff --git a/addons/winddeflection/functions/fnc_initModuleSettings.sqf b/addons/winddeflection/functions/fnc_initModuleSettings.sqf index c980a05470..58fc1b2f17 100644 --- a/addons/winddeflection/functions/fnc_initModuleSettings.sqf +++ b/addons/winddeflection/functions/fnc_initModuleSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, Ruthberg * Module for adjusting the wind deflection settings diff --git a/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf b/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf index 9c5b752b24..4ebea1f507 100644 --- a/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf +++ b/addons/winddeflection/functions/fnc_updateTrajectoryPFH.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal, Ruthberg * Handles wind deflection for projectiles. diff --git a/addons/winddeflection/functions/script_component.hpp b/addons/winddeflection/functions/script_component.hpp deleted file mode 100644 index ea22ecb35c..0000000000 --- a/addons/winddeflection/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\winddeflection\script_component.hpp" diff --git a/addons/winddeflection/stringtable.xml b/addons/winddeflection/stringtable.xml index 03acec7e34..594c96e966 100644 --- a/addons/winddeflection/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -79,7 +79,7 @@ Luftfeuchtigkeit: %1 Páratartalom: %1% Umidità: %1% - Humidade: %1% + Umidade: %1% 湿度: %1% 습도: %1% 湿度:%1% diff --git a/addons/xm157/functions/fnc_ballistics_calculator.sqf b/addons/xm157/functions/fnc_ballistics_calculator.sqf index e017cd45b7..a39b09a705 100644 --- a/addons/xm157/functions/fnc_ballistics_calculator.sqf +++ b/addons/xm157/functions/fnc_ballistics_calculator.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, Ruthberg (Based on ace_atragmx_fnc_calculate_solution) * Calculates elevation and windage @@ -95,7 +95,7 @@ if (_useAB && {(_bulletPos select 1) > 0}) then { }; private _spinDeflection = _twistDirection * 0.0254 * 1.25 * (_stabilityFactor + 1.2) * _TOF ^ 1.83; private _spinDrift = - atan(_spinDeflection / (_bulletPos select 1)); - private _windage = _windage + _spinDrift; + _windage = _windage + _spinDrift; }; [17.453*_elevation, 17.453*_windage] // Convert to MRAD and return diff --git a/addons/xm157/functions/fnc_ballistics_getData.sqf b/addons/xm157/functions/fnc_ballistics_getData.sqf index c0d1eed3bf..928936c51e 100644 --- a/addons/xm157/functions/fnc_ballistics_getData.sqf +++ b/addons/xm157/functions/fnc_ballistics_getData.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, Ruthberg (Based on ace_atragmx) * Gets ballistic info for a weapon, mag and ammo diff --git a/addons/xm157/functions/fnc_keyPress.sqf b/addons/xm157/functions/fnc_keyPress.sqf index 36220f493c..c5e4760563 100644 --- a/addons/xm157/functions/fnc_keyPress.sqf +++ b/addons/xm157/functions/fnc_keyPress.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles key presses @@ -22,6 +22,7 @@ if (!GVAR(shown)) exitWith { false }; // fast exit if not shown if (!([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith))) exitWith { false }; if (!(ACE_player call CBA_fnc_canUseWeapon)) exitWith { false }; +if (currentMuzzle ACE_player != currentWeapon ACE_player) exitWith { false }; private _display = uinamespace getVariable [QGVAR(display), displayNull]; if (isNull _display) exitWith { ERROR("keyPress-no display"); false }; diff --git a/addons/xm157/functions/fnc_weaponInfo_draw.sqf b/addons/xm157/functions/fnc_weaponInfo_draw.sqf index c6b89712d4..ef9fd1d528 100644 --- a/addons/xm157/functions/fnc_weaponInfo_draw.sqf +++ b/addons/xm157/functions/fnc_weaponInfo_draw.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Draw3D event handler when scope is active diff --git a/addons/xm157/functions/fnc_weaponInfo_drawMenu.sqf b/addons/xm157/functions/fnc_weaponInfo_drawMenu.sqf index 63ebe540ef..ca72adf807 100644 --- a/addons/xm157/functions/fnc_weaponInfo_drawMenu.sqf +++ b/addons/xm157/functions/fnc_weaponInfo_drawMenu.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Updates the menu display @@ -22,7 +22,7 @@ if (isNil QGVAR(menu)) then { private _arrayUp = { params ["", "_var", "_thing"]; private _value = GVAR(data) getOrDefault [_var, 0]; - private _value = (_value + 1 + count _thing) % count _thing; + _value = (_value + 1 + count _thing) % count _thing; GVAR(data) set [_var, _value]; }; private _arrayDown = { diff --git a/addons/xm157/functions/fnc_weaponInfo_onLoad.sqf b/addons/xm157/functions/fnc_weaponInfo_onLoad.sqf index 3fb82c756e..dfefca30d4 100644 --- a/addons/xm157/functions/fnc_weaponInfo_onLoad.sqf +++ b/addons/xm157/functions/fnc_weaponInfo_onLoad.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Creates UI diff --git a/addons/xm157/functions/script_component.hpp b/addons/xm157/functions/script_component.hpp deleted file mode 100644 index 3c08948f71..0000000000 --- a/addons/xm157/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\xm157\script_component.hpp" diff --git a/addons/yardage450/functions/fnc_acquireTarget.sqf b/addons/yardage450/functions/fnc_acquireTarget.sqf index a6fb23f3f7..d5aea3a800 100644 --- a/addons/yardage450/functions/fnc_acquireTarget.sqf +++ b/addons/yardage450/functions/fnc_acquireTarget.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Fires the laser to acquire the target diff --git a/addons/yardage450/functions/fnc_turnOn.sqf b/addons/yardage450/functions/fnc_turnOn.sqf index 05ae3db398..e30798c523 100644 --- a/addons/yardage450/functions/fnc_turnOn.sqf +++ b/addons/yardage450/functions/fnc_turnOn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Ruthberg * Shows the Yardage 450 screen elements diff --git a/addons/yardage450/functions/script_component.hpp b/addons/yardage450/functions/script_component.hpp deleted file mode 100644 index dde6a49b85..0000000000 --- a/addons/yardage450/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\yardage450\script_component.hpp" diff --git a/addons/zeus/CfgVehicles.hpp b/addons/zeus/CfgVehicles.hpp index 737f2acc09..2a1f261125 100644 --- a/addons/zeus/CfgVehicles.hpp +++ b/addons/zeus/CfgVehicles.hpp @@ -179,6 +179,11 @@ class CfgVehicles { function = QFUNC(moduleHeal); icon = QPATHTOF(ui\Icon_Module_Zeus_Heal_ca.paa); }; + class GVAR(moduleLayTrench): GVAR(moduleBase) { + category = QGVAR(Utility); + displayName = CSTRING(ModuleLayTrenchline_DisplayName); + function = QFUNC(moduleLayTrench); + }; class GVAR(moduleLoadIntoCargo): GVAR(moduleBase) { curatorCanAttach = 1; category = QGVAR(Utility); @@ -186,6 +191,13 @@ class CfgVehicles { function = QFUNC(moduleLoadIntoCargo); icon = "a3\ui_f\data\IGUI\Cfg\Actions\loadVehicle_ca.paa"; }; + class GVAR(moduleUnloadFromCargo): GVAR(moduleBase) { + curatorCanAttach = 1; + category = QGVAR(Utility); + displayName = CSTRING(ModuleUnloadFromCargo_DisplayName); + function = QFUNC(moduleUnloadFromCargo); + icon = "a3\ui_f\data\IGUI\Cfg\Actions\loadVehicle_ca.paa"; + }; class GVAR(moduleCargoParadrop): GVAR(moduleBase) { curatorCanAttach = 1; category = QGVAR(AI); @@ -331,6 +343,13 @@ class CfgVehicles { function = QFUNC(moduleBurn); icon = QPATHTOF(ui\Icon_Module_Zeus_Burn_ca.paa); }; + class GVAR(moduleMedicalMenu): GVAR(moduleBase) { + curatorCanAttach = 1; + category = QGVAR(Medical); + displayName = CSTRING(ModuleMedicalMenu_DisplayName); + function = QFUNC(moduleMedicalMenu); + icon = QPATHTOF(UI\Icon_Module_Zeus_Medic_ca.paa); + }; class Man; class CAManBase: Man { @@ -340,7 +359,7 @@ class CfgVehicles { condition = QUOTE(call FUNC(canCreateModule)); exceptions[] = {"isNotSwimming", "isNotInside", "isNotSitting", "isNotOnLadder", "isNotRefueling"}; //Set GVAR(zeus) to null first to disable the action through the isNil check - statement = QUOTE(GVAR(zeus) = objNull; [ARR_2(QQGVAR(createZeus), ACE_player)] call CBA_fnc_serverEvent); + statement = QUOTE(GVAR(zeus) = objNull; [ARR_2(QQGVAR(createZeus),ACE_player)] call CBA_fnc_serverEvent); showDisabled = 1; icon = "\A3\Ui_F_Curator\Data\Logos\arma3_curator_eye_32_ca.paa"; }; diff --git a/addons/zeus/XEH_PREP.hpp b/addons/zeus/XEH_PREP.hpp index c92c98b211..8de15147bd 100644 --- a/addons/zeus/XEH_PREP.hpp +++ b/addons/zeus/XEH_PREP.hpp @@ -8,11 +8,11 @@ PREP(bi_moduleRemoteControl); PREP(canCreateModule); PREP(getModuleDestination); PREP(handleZeusUnitAssigned); -PREP(moduleAddArsenal); PREP(moduleAddAceArsenal); +PREP(moduleAddArsenal); +PREP(moduleAddOrRemoveFRIES); PREP(moduleAddSpareTrack); PREP(moduleAddSpareWheel); -PREP(moduleAddOrRemoveFRIES); PREP(moduleBurn); PREP(moduleCaptive); PREP(moduleCargoParadrop); @@ -21,14 +21,16 @@ PREP(moduleGarrison); PREP(moduleGlobalSetSkill); PREP(moduleGroupSide); PREP(moduleHeal); +PREP(moduleLayTrench); PREP(moduleLoadIntoCargo); -PREP(moduleRemoveArsenal); +PREP(moduleMedicalMenu); PREP(moduleRemoveAceArsenal); +PREP(moduleRemoveArsenal); PREP(moduleSearchNearby); PREP(moduleSetEngineer); PREP(moduleSetMedic); -PREP(moduleSetMedicalVehicle); PREP(moduleSetMedicalFacility); +PREP(moduleSetMedicalVehicle); PREP(moduleSetRepairFacility); PREP(moduleSetRepairVehicle); PREP(moduleSimulation); @@ -41,6 +43,7 @@ PREP(moduleToggleFlashlight); PREP(moduleToggleNvg); PREP(moduleUnconscious); PREP(moduleUnGarrison); +PREP(moduleUnloadFromCargo); PREP(moduleZeusSettings); PREP(showMessage); PREP(ui_attributeCargo); diff --git a/addons/zeus/XEH_postInit.sqf b/addons/zeus/XEH_postInit.sqf index c1dba7e0e4..b4d1302ab5 100644 --- a/addons/zeus/XEH_postInit.sqf +++ b/addons/zeus/XEH_postInit.sqf @@ -19,20 +19,32 @@ if (isServer) then { [QGVAR(addObjects), { params ["_objects", ["_curator", objNull]]; - if (!isNull _curator) exitWith {_curator addCuratorEditableObjects [_objects, true]}; + // If valid object + if (_curator isEqualType objNull && {!isNull _curator}) exitWith {_curator addCuratorEditableObjects [_objects, true]}; + + // If invalid object (= objNull) or other + if !(_curator isEqualType []) then { + _curator = allCurators; + }; { _x addCuratorEditableObjects [_objects, true]; - } forEach allCurators; + } forEach _curator; }] call CBA_fnc_addEventHandler; [QGVAR(removeObjects), { params ["_objects", ["_curator", objNull]]; - if (!isNull _curator) exitWith {_curator removeCuratorEditableObjects [_objects, true]}; + // If valid object + if (_curator isEqualType objNull && {!isNull _curator}) exitWith {_curator removeCuratorEditableObjects [_objects, true]}; + + // If invalid object (= objNull) or other + if !(_curator isEqualType []) then { + _curator = allCurators; + }; { _x removeCuratorEditableObjects [_objects, true]; - } forEach allCurators; + } forEach _curator; }] call CBA_fnc_addEventHandler; [QGVAR(createZeus), { diff --git a/addons/zeus/config.cpp b/addons/zeus/config.cpp index 3856828230..2714c247b0 100644 --- a/addons/zeus/config.cpp +++ b/addons/zeus/config.cpp @@ -49,12 +49,14 @@ class CfgPatches { QGVAR(moduleUnconscious), QGVAR(moduleSetMedic), QGVAR(moduleSetMedicalVehicle), - QGVAR(moduleSetMedicalFacility) + QGVAR(moduleSetMedicalFacility), + QGVAR(moduleMedicalMenu) }; }; class GVAR(cargo): ADDON { units[] = { QGVAR(moduleLoadIntoCargo), + QGVAR(moduleUnloadFromCargo), QGVAR(moduleCargoParadrop) }; }; @@ -92,6 +94,11 @@ class CfgPatches { QGVAR(moduleBurn) }; }; + class GVAR(trenches): ADDON { + units[] = { + QGVAR(moduleLayTrench) + }; + }; }; class ACE_Curator { @@ -104,6 +111,7 @@ class ACE_Curator { GVAR(pylons) = "ace_pylons"; GVAR(arsenal) = "ace_arsenal"; GVAR(fire) = "ace_fire"; + GVAR(trenches) = "ace_trenches"; }; #include "CfgFactionClasses.hpp" diff --git a/addons/zeus/functions/fnc_addObjectToCurator.sqf b/addons/zeus/functions/fnc_addObjectToCurator.sqf index 975da83f93..9651630ccc 100644 --- a/addons/zeus/functions/fnc_addObjectToCurator.sqf +++ b/addons/zeus/functions/fnc_addObjectToCurator.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Glowbal * Adds an object to curator upon spawn diff --git a/addons/zeus/functions/fnc_bi_moduleArsenal.sqf b/addons/zeus/functions/fnc_bi_moduleArsenal.sqf index 65c394a67e..f2be4a3838 100644 --- a/addons/zeus/functions/fnc_bi_moduleArsenal.sqf +++ b/addons/zeus/functions/fnc_bi_moduleArsenal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Bohemia Interactive * Module function to open a full arsenal on a unit diff --git a/addons/zeus/functions/fnc_bi_moduleCurator.sqf b/addons/zeus/functions/fnc_bi_moduleCurator.sqf index b74cc28781..c597955a23 100644 --- a/addons/zeus/functions/fnc_bi_moduleCurator.sqf +++ b/addons/zeus/functions/fnc_bi_moduleCurator.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Bohemia Interactive * Module function for initalizing zeus @@ -73,7 +73,8 @@ if (_activated) then { _class = _cfgPatches select _i; if (isclass _class) then {_addons set [count _addons,configname _class];}; }; - _addons call bis_fnc_activateaddons; + // Modified by ace_zeus - bis_fnc_activateaddons will error if time > 0 so only call if at start + if (time <= 0) then { _addons call bis_fnc_activateaddons; }; removeallcuratoraddons _logic; _logic addcuratoraddons _addons; }; @@ -249,7 +250,8 @@ if (_activated) then { } foreach _paramAddons; }; } foreach (synchronizedobjects _logic); - _addons call bis_fnc_activateaddons; + // Modified by ace_zeus - bis_fnc_activateaddons will error if time > 0 so only call if at start + if (time <= 0) then { _addons call bis_fnc_activateaddons; }; }; //--- Player diff --git a/addons/zeus/functions/fnc_bi_moduleMine.sqf b/addons/zeus/functions/fnc_bi_moduleMine.sqf index 94f4946c43..0bd8ba574f 100644 --- a/addons/zeus/functions/fnc_bi_moduleMine.sqf +++ b/addons/zeus/functions/fnc_bi_moduleMine.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Bohemia Interactive * Module function for spawning mines diff --git a/addons/zeus/functions/fnc_bi_moduleProjectile.sqf b/addons/zeus/functions/fnc_bi_moduleProjectile.sqf index 05d66380ff..135ed538cd 100644 --- a/addons/zeus/functions/fnc_bi_moduleProjectile.sqf +++ b/addons/zeus/functions/fnc_bi_moduleProjectile.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Bohemia Interactive * Module function for spawning projectiles diff --git a/addons/zeus/functions/fnc_bi_moduleRemoteControl.sqf b/addons/zeus/functions/fnc_bi_moduleRemoteControl.sqf index b35c8a508c..b2288be91c 100644 --- a/addons/zeus/functions/fnc_bi_moduleRemoteControl.sqf +++ b/addons/zeus/functions/fnc_bi_moduleRemoteControl.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Bohemia Interactive * Module function for remote controlling units as zeus diff --git a/addons/zeus/functions/fnc_canCreateModule.sqf b/addons/zeus/functions/fnc_canCreateModule.sqf index 1981833625..b70e8afa50 100644 --- a/addons/zeus/functions/fnc_canCreateModule.sqf +++ b/addons/zeus/functions/fnc_canCreateModule.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Dystopian * Check whether local player is currently allowed to create a Zeus Module diff --git a/addons/zeus/functions/fnc_getModuleDestination.sqf b/addons/zeus/functions/fnc_getModuleDestination.sqf index e5a8d99151..b328201d6c 100644 --- a/addons/zeus/functions/fnc_getModuleDestination.sqf +++ b/addons/zeus/functions/fnc_getModuleDestination.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Allows zeus to click to indicate a 3d position. @@ -8,7 +8,7 @@ * 1: Code to run when position is ready (will be passed the following array) * - 0: Successful * - 1: Object - * - 2: Position ASL + * - 2: Mouse Pos ASL * - 3: State of Shift * - 4: State of Ctrl * - 5: State of Alt @@ -16,6 +16,9 @@ * 3: Icon image file (default: "\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa") * 4: Icon color (default: [1,0,0,1]) * 5: Icon Angle (default: 0) + * 6: Draw Code (default: {}) + * - 0: Object + * - 1: Mouse Pos ASL * * Return Value: * None @@ -26,7 +29,7 @@ * Public: No */ -params ["_object", "_code", ["_text", ""], ["_icon", "\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa"], ["_color", [1,0,0,1]], ["_angle", 0]]; +params ["_object", "_code", ["_text", ""], ["_icon", "\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa"], ["_color", [1,0,0,1]], ["_angle", 0], ["_drawCode", {}]]; if (missionNamespace getVariable [QGVAR(moduleDestination_running), false]) exitWith { [false, _object, [0,0,0], false, false, false] call _code; @@ -95,7 +98,7 @@ GVAR(moduleDestination_mapDrawEH) = [((findDisplay 312) displayCtrl 50), "draw", // Add draw EH for 3D camera view - draws the 3D icon and line [{ - (_this select 0) params ["_object", "_code", "_text", "_icon", "_color", "_angle"]; + (_this select 0) params ["_object", "_code", "_text", "_icon", "_color", "_angle", "_drawCode"]; if ((isNull _object) || {isNull findDisplay 312} || {!isNull findDisplay 49}) then { TRACE_3("null-exit",isNull _object,isNull findDisplay 312,isNull findDisplay 49); GVAR(moduleDestination_running) = false; @@ -104,6 +107,7 @@ GVAR(moduleDestination_mapDrawEH) = [((findDisplay 312) displayCtrl 50), "draw", if (GVAR(moduleDestination_running)) then { // Draw the 3d icon and line private _mousePosAGL = screenToWorld getMousePosition; + [_object, AGLToASL _mousePosAGL] call _drawCode; drawIcon3D [_icon, _color, _mousePosAGL, 1.5, 1.5, _angle, _text]; drawLine3D [_mousePosAGL, ASLtoAGL (getPosASL _object), _color];; } else { @@ -116,4 +120,4 @@ GVAR(moduleDestination_mapDrawEH) = [((findDisplay 312) displayCtrl 50), "draw", GVAR(moduleDestination_displayEHKeyboard) = nil; GVAR(moduleDestination_mapDrawEH) = nil; }; -}, 0, [_object, _code, _text, _icon, _color, _angle]] call CBA_fnc_addPerFrameHandler; +}, 0, [_object, _code, _text, _icon, _color, _angle, _drawCode]] call CBA_fnc_addPerFrameHandler; diff --git a/addons/zeus/functions/fnc_handleZeusUnitAssigned.sqf b/addons/zeus/functions/fnc_handleZeusUnitAssigned.sqf index cf01ce8940..935ce1e2e0 100644 --- a/addons/zeus/functions/fnc_handleZeusUnitAssigned.sqf +++ b/addons/zeus/functions/fnc_handleZeusUnitAssigned.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Contextually removes addons (given in ACE_Curator) from zeus based on their required addon(s) diff --git a/addons/zeus/functions/fnc_moduleAddAceArsenal.sqf b/addons/zeus/functions/fnc_moduleAddAceArsenal.sqf index 5bdb2803f9..8158e9090f 100644 --- a/addons/zeus/functions/fnc_moduleAddAceArsenal.sqf +++ b/addons/zeus/functions/fnc_moduleAddAceArsenal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe * Add a full ACE Arsenal to an object diff --git a/addons/zeus/functions/fnc_moduleAddArsenal.sqf b/addons/zeus/functions/fnc_moduleAddArsenal.sqf index d284b9bb08..6a3d811e66 100644 --- a/addons/zeus/functions/fnc_moduleAddArsenal.sqf +++ b/addons/zeus/functions/fnc_moduleAddArsenal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe * Add a full arsenal to an object diff --git a/addons/zeus/functions/fnc_moduleAddOrRemoveFRIES.sqf b/addons/zeus/functions/fnc_moduleAddOrRemoveFRIES.sqf index 532d340416..d3534cff25 100644 --- a/addons/zeus/functions/fnc_moduleAddOrRemoveFRIES.sqf +++ b/addons/zeus/functions/fnc_moduleAddOrRemoveFRIES.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Add/Removes FRIES from a helicopter. diff --git a/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf b/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf index 580d691996..2e4efca6e0 100644 --- a/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf +++ b/addons/zeus/functions/fnc_moduleAddSpareTrack.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Adds a Spare Track to the vehicle. @@ -32,10 +32,10 @@ if !(["ace_cargo"] call EFUNC(common,isModLoaded) && ["ace_repair"] call EFUNC(c if !(alive _mouseOverUnit) then { [LSTRING(OnlyAlive)] call FUNC(showMessage); } else { - if (getNumber (configFile >> "CfgVehicles" >> "ACE_Track" >> QEGVAR(cargo,size)) > [_mouseOverUnit] call EFUNC(cargo,getCargoSpaceLeft)) then { + if ("ACE_Track" call EFUNC(cargo,getSizeItem) > _mouseOverUnit call EFUNC(cargo,getCargoSpaceLeft)) then { [LSTRING(OnlyEnoughCargoSpace)] call FUNC(showMessage); } else { - ["ace_addCargo", ["ACE_Track", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent; + ["ace_addCargo", ["ACE_Track", _mouseOverUnit, 1]] call CBA_fnc_localEvent; }; }; }; diff --git a/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf b/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf index b08af3ed9d..d913300709 100644 --- a/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf +++ b/addons/zeus/functions/fnc_moduleAddSpareWheel.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Jonpas * Adds a Spare Wheel to the vehicle. @@ -32,10 +32,10 @@ if !(["ace_cargo"] call EFUNC(common,isModLoaded) && ["ace_repair"] call EFUNC(c if !(alive _mouseOverUnit) then { [LSTRING(OnlyAlive)] call FUNC(showMessage); } else { - if (getNumber (configFile >> "CfgVehicles" >> "ACE_Wheel" >> QEGVAR(cargo,size)) > [_mouseOverUnit] call EFUNC(cargo,getCargoSpaceLeft)) then { + if ("ACE_Wheel" call EFUNC(cargo,getSizeItem) > _mouseOverUnit call EFUNC(cargo,getCargoSpaceLeft)) then { [LSTRING(OnlyEnoughCargoSpace)] call FUNC(showMessage); } else { - ["ace_addCargo", ["ACE_Wheel", _mouseOverUnit, 1, true]] call CBA_fnc_localEvent; + ["ace_addCargo", ["ACE_Wheel", _mouseOverUnit, 1]] call CBA_fnc_localEvent; }; }; }; diff --git a/addons/zeus/functions/fnc_moduleBurn.sqf b/addons/zeus/functions/fnc_moduleBurn.sqf index 43e00d6abd..4cf2017b67 100644 --- a/addons/zeus/functions/fnc_moduleBurn.sqf +++ b/addons/zeus/functions/fnc_moduleBurn.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: BaerMitUmlaut * Inflames a unit. diff --git a/addons/zeus/functions/fnc_moduleCaptive.sqf b/addons/zeus/functions/fnc_moduleCaptive.sqf index 80e39c8055..ad359575e9 100644 --- a/addons/zeus/functions/fnc_moduleCaptive.sqf +++ b/addons/zeus/functions/fnc_moduleCaptive.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Flips the capture state of the unit the module is placed on. diff --git a/addons/zeus/functions/fnc_moduleCargoParadrop.sqf b/addons/zeus/functions/fnc_moduleCargoParadrop.sqf index 948a54a7a9..69d90d310d 100644 --- a/addons/zeus/functions/fnc_moduleCargoParadrop.sqf +++ b/addons/zeus/functions/fnc_moduleCargoParadrop.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Commands the selected vehicle to paradrop all cargo at the specified location diff --git a/addons/zeus/functions/fnc_moduleCargoParadropWaypoint.sqf b/addons/zeus/functions/fnc_moduleCargoParadropWaypoint.sqf index 1b4e00960c..615a11d271 100644 --- a/addons/zeus/functions/fnc_moduleCargoParadropWaypoint.sqf +++ b/addons/zeus/functions/fnc_moduleCargoParadropWaypoint.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Handles the paradrop cargo scripted waypoint (Scheduled Environment) diff --git a/addons/zeus/functions/fnc_moduleConfigurePylons.sqf b/addons/zeus/functions/fnc_moduleConfigurePylons.sqf index 6371183192..05cfcd0521 100644 --- a/addons/zeus/functions/fnc_moduleConfigurePylons.sqf +++ b/addons/zeus/functions/fnc_moduleConfigurePylons.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Opens the pylon configuration menu for the aircraft module is placed on. diff --git a/addons/zeus/functions/fnc_moduleGarrison.sqf b/addons/zeus/functions/fnc_moduleGarrison.sqf index 88ccdc36b2..dcebd5f1fb 100644 --- a/addons/zeus/functions/fnc_moduleGarrison.sqf +++ b/addons/zeus/functions/fnc_moduleGarrison.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe * Module calling the garrison function. diff --git a/addons/zeus/functions/fnc_moduleGlobalSetSkill.sqf b/addons/zeus/functions/fnc_moduleGlobalSetSkill.sqf index fc0f56a634..3e359c6c69 100644 --- a/addons/zeus/functions/fnc_moduleGlobalSetSkill.sqf +++ b/addons/zeus/functions/fnc_moduleGlobalSetSkill.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * PV event handler to update the AI skill on all machines when set by zeus module diff --git a/addons/zeus/functions/fnc_moduleGroupSide.sqf b/addons/zeus/functions/fnc_moduleGroupSide.sqf index 53dda7a6ad..16f64aa665 100644 --- a/addons/zeus/functions/fnc_moduleGroupSide.sqf +++ b/addons/zeus/functions/fnc_moduleGroupSide.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay, Brett * Zeus module function to change side of a group on dialog confirmation @@ -44,11 +44,19 @@ if (GETVAR(_unit,ACE_isUnconscious,false) && {GETMVAR(EGVAR(medical,moveUnitsFro _unit setVariable [QEGVAR(common,previousGroupSwitchTo), _previousGroupsList, true]; } else { + private _units = units _unit; + // Preserve assignedTeam for each unit - { + // Teams need to be gotten before removing units from group + private _teams = _units apply { private _team = assignedTeam _x; + [_team, "MAIN"] select (_team == "") + }; + + { [_x] joinSilent _newGroup; - _x assignTeam _team; - } forEach units _unit; + _x assignTeam (_teams select _forEachIndex); + } forEach _units; + deleteGroup _oldGroup; }; diff --git a/addons/zeus/functions/fnc_moduleHeal.sqf b/addons/zeus/functions/fnc_moduleHeal.sqf index 627c48ef36..9a49375003 100644 --- a/addons/zeus/functions/fnc_moduleHeal.sqf +++ b/addons/zeus/functions/fnc_moduleHeal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Full heal unit. diff --git a/addons/zeus/functions/fnc_moduleLayTrench.sqf b/addons/zeus/functions/fnc_moduleLayTrench.sqf new file mode 100644 index 0000000000..fe4e29b62c --- /dev/null +++ b/addons/zeus/functions/fnc_moduleLayTrench.sqf @@ -0,0 +1,60 @@ +#include "..\script_component.hpp" +/* + * PabstMirror + * Dig trenchline + * + * Arguments: + * 0: Module logic + * 1: Synchronized units + * 2: Activated + * + * Return Value: + * None + * + * Example: + * [LOGIC, [], true] call ace_zeus_fnc_moduleLayTrench + * + * Public: No + */ +if (canSuspend) exitWith {[FUNC(moduleLayTrench), _this] call CBA_fnc_directCall;}; + +params ["_logic", "_units", "_activated"]; +if !(_activated && {local _logic}) exitWith {}; +TRACE_1("",_logic); + +if !(["ace_trenches"] call EFUNC(common,isModLoaded)) exitWith { + deleteVehicle _logic; + [LSTRING(RequiresAddon)] call FUNC(showMessage); +}; + +if (_logic getVariable [QGVAR(ran), false]) exitWith {}; +_logic setVariable [QGVAR(ran), true]; + +private _drawCode = { + params ["_object", "_mousePos"]; + private _startPos = getPos _object; + ([_startPos, _mousePos, false, false, true] call EFUNC(trenches,blockTrench_place)) params ["_valid", "_reason", "_extra"]; + if (_valid) then { + { + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa", [0,0,1,1], (_x select [0,2]) + [0], 1.5, 1.5, 0, ""]; + } forEach _extra; + } else { + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa", [1,0,1,1], (_startPos select [0,2]) + [0], 1.5, 1.5, 0, ""]; + drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa", [1,0,1,1], (_mousePos select [0,2]) + [0], 1.5, 1.5, 0, ""]; + }; +}; + +private _text = format ["%1 %2", LELSTRING(trenches,ConfirmDig), LLSTRING(ModuleLayTrenchline_Tooltip)]; +[_logic, { + params ["_successful", "_logic", "_mousePosASL", "_shift"]; + TRACE_4("getModuleDestination",_successful,_logic,_mousePosASL,_shift); + + if (isNull _logic) exitWith { WARNING("logic missing"); }; + private _startPosASL = getPosASL _logic; + deleteVehicle _logic; + if (!_successful) exitWith { TRACE_1("exit",_successful); }; + + private _args = [_startPosASL, _mousePosASL, _shift]; + TRACE_1("sending event",_args); + [QEGVAR(trenches,layTrenchline), [ace_player, _args]] call CBA_fnc_serverEvent; +}, _text, "\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa", [0, 1, 0, 1], 45, _drawCode] call FUNC(getModuleDestination); diff --git a/addons/zeus/functions/fnc_moduleLoadIntoCargo.sqf b/addons/zeus/functions/fnc_moduleLoadIntoCargo.sqf index 9021e118f6..6ab7473f91 100644 --- a/addons/zeus/functions/fnc_moduleLoadIntoCargo.sqf +++ b/addons/zeus/functions/fnc_moduleLoadIntoCargo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Loads the object module is placed on into selected vehicle. diff --git a/addons/zeus/functions/fnc_moduleMedicalMenu.sqf b/addons/zeus/functions/fnc_moduleMedicalMenu.sqf new file mode 100644 index 0000000000..a69a65fb74 --- /dev/null +++ b/addons/zeus/functions/fnc_moduleMedicalMenu.sqf @@ -0,0 +1,41 @@ +#include "..\script_component.hpp" +/* + * Author: Brett Mayson + * Opens the medical menu for the unit + * + * Arguments: + * 0: The module logic + * + * Return Value: + * None + * + * Example: + * [LOGIC] call ace_zeus_fnc_moduleMedicalMenu + * + * Public: No + */ + +params ["_logic"]; + +if !(local _logic) exitWith {}; + +private _unit = attachedTo _logic; +deleteVehicle _logic; + +switch (false) do { + case !(isNull _unit): { + [LSTRING(NothingSelected)] call FUNC(showMessage); + }; + case (_unit isKindOf "CAManBase"): { + [LSTRING(OnlyInfantry)] call FUNC(showMessage); + }; + case (["ace_medical_gui"] call EFUNC(common,isModLoaded)): { + [LSTRING(RequiresAddon)] call FUNC(showMessage); + }; + case ([objNull, _unit] call EFUNC(medical_gui,canOpenMenu)): { + [LSTRING(MedicalMenuDisabled)] call FUNC(showMessage); + }; + default { + [_unit] call EFUNC(medical_gui,openMenu); + }; +}; diff --git a/addons/zeus/functions/fnc_moduleRemoveAceArsenal.sqf b/addons/zeus/functions/fnc_moduleRemoveAceArsenal.sqf index bc6ba69d87..d34e974868 100644 --- a/addons/zeus/functions/fnc_moduleRemoveAceArsenal.sqf +++ b/addons/zeus/functions/fnc_moduleRemoveAceArsenal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe * Remove ACE Arsenal from an object diff --git a/addons/zeus/functions/fnc_moduleRemoveArsenal.sqf b/addons/zeus/functions/fnc_moduleRemoveArsenal.sqf index ec203572e4..6c511bae07 100644 --- a/addons/zeus/functions/fnc_moduleRemoveArsenal.sqf +++ b/addons/zeus/functions/fnc_moduleRemoveArsenal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe * Remove arsenal from an object diff --git a/addons/zeus/functions/fnc_moduleSearchNearby.sqf b/addons/zeus/functions/fnc_moduleSearchNearby.sqf index 9272c47bf4..46338b5e90 100644 --- a/addons/zeus/functions/fnc_moduleSearchNearby.sqf +++ b/addons/zeus/functions/fnc_moduleSearchNearby.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Commands the group the module is placed on to search the nearest building diff --git a/addons/zeus/functions/fnc_moduleSetEngineer.sqf b/addons/zeus/functions/fnc_moduleSetEngineer.sqf index 8280d75e65..372c56974b 100644 --- a/addons/zeus/functions/fnc_moduleSetEngineer.sqf +++ b/addons/zeus/functions/fnc_moduleSetEngineer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Zeus module function to set unit engineer skill. diff --git a/addons/zeus/functions/fnc_moduleSetMedic.sqf b/addons/zeus/functions/fnc_moduleSetMedic.sqf index 026c9238c5..a05dc65d50 100644 --- a/addons/zeus/functions/fnc_moduleSetMedic.sqf +++ b/addons/zeus/functions/fnc_moduleSetMedic.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay, Glowbal * Assigns a medic role from the medical module to a unit diff --git a/addons/zeus/functions/fnc_moduleSetMedicalFacility.sqf b/addons/zeus/functions/fnc_moduleSetMedicalFacility.sqf index 99a2ea5926..8ff9b4a731 100644 --- a/addons/zeus/functions/fnc_moduleSetMedicalFacility.sqf +++ b/addons/zeus/functions/fnc_moduleSetMedicalFacility.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay, Glowbal * Assigns a medic role from the medical module to a unit diff --git a/addons/zeus/functions/fnc_moduleSetMedicalVehicle.sqf b/addons/zeus/functions/fnc_moduleSetMedicalVehicle.sqf index 853eabbf65..e3051f9824 100644 --- a/addons/zeus/functions/fnc_moduleSetMedicalVehicle.sqf +++ b/addons/zeus/functions/fnc_moduleSetMedicalVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay, Glowbal * Assigns a medic role from the medical module to a unit diff --git a/addons/zeus/functions/fnc_moduleSetRepairFacility.sqf b/addons/zeus/functions/fnc_moduleSetRepairFacility.sqf index e8d5fa84a3..42c91acc5b 100644 --- a/addons/zeus/functions/fnc_moduleSetRepairFacility.sqf +++ b/addons/zeus/functions/fnc_moduleSetRepairFacility.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Assigns object as repair facility. diff --git a/addons/zeus/functions/fnc_moduleSetRepairVehicle.sqf b/addons/zeus/functions/fnc_moduleSetRepairVehicle.sqf index 79c89dfa88..b1b3427f33 100644 --- a/addons/zeus/functions/fnc_moduleSetRepairVehicle.sqf +++ b/addons/zeus/functions/fnc_moduleSetRepairVehicle.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Assigns object as repair vehicle. diff --git a/addons/zeus/functions/fnc_moduleSimulation.sqf b/addons/zeus/functions/fnc_moduleSimulation.sqf index b875e35e6d..055088b6dd 100644 --- a/addons/zeus/functions/fnc_moduleSimulation.sqf +++ b/addons/zeus/functions/fnc_moduleSimulation.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Fisher, kymckay * Toggle Simulation on object. diff --git a/addons/zeus/functions/fnc_moduleSuicideBomber.sqf b/addons/zeus/functions/fnc_moduleSuicideBomber.sqf index 9e37b65389..8346eb4266 100644 --- a/addons/zeus/functions/fnc_moduleSuicideBomber.sqf +++ b/addons/zeus/functions/fnc_moduleSuicideBomber.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Zeus module function to make unit a suicide bomber. diff --git a/addons/zeus/functions/fnc_moduleSuppressiveFire.sqf b/addons/zeus/functions/fnc_moduleSuppressiveFire.sqf index 3c5a67de75..2a013fa4c2 100644 --- a/addons/zeus/functions/fnc_moduleSuppressiveFire.sqf +++ b/addons/zeus/functions/fnc_moduleSuppressiveFire.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux, PabstMirror * Commands the selected unit or group to start suppressive fire on the unit, group or location the module is placed on diff --git a/addons/zeus/functions/fnc_moduleSuppressiveFireLocal.sqf b/addons/zeus/functions/fnc_moduleSuppressiveFireLocal.sqf index 2512269865..f09211b034 100644 --- a/addons/zeus/functions/fnc_moduleSuppressiveFireLocal.sqf +++ b/addons/zeus/functions/fnc_moduleSuppressiveFireLocal.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: bux, PabstMirror * Commands the selected unit or group to start suppressive fire on the unit, group or location the module is placed on diff --git a/addons/zeus/functions/fnc_moduleSurrender.sqf b/addons/zeus/functions/fnc_moduleSurrender.sqf index 3b6534d558..07517d7e71 100644 --- a/addons/zeus/functions/fnc_moduleSurrender.sqf +++ b/addons/zeus/functions/fnc_moduleSurrender.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Flips the surrender state of the unit the module is placed on. diff --git a/addons/zeus/functions/fnc_moduleTeleportPlayers.sqf b/addons/zeus/functions/fnc_moduleTeleportPlayers.sqf index ed432fc259..84df0d013a 100644 --- a/addons/zeus/functions/fnc_moduleTeleportPlayers.sqf +++ b/addons/zeus/functions/fnc_moduleTeleportPlayers.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Zeus module function to teleport players on dialog confirmation diff --git a/addons/zeus/functions/fnc_moduleToggleFlashlight.sqf b/addons/zeus/functions/fnc_moduleToggleFlashlight.sqf index 331c458a07..429f825abf 100644 --- a/addons/zeus/functions/fnc_moduleToggleFlashlight.sqf +++ b/addons/zeus/functions/fnc_moduleToggleFlashlight.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe, mharis001 * Zeus module function to toggle flashlights. diff --git a/addons/zeus/functions/fnc_moduleToggleNvg.sqf b/addons/zeus/functions/fnc_moduleToggleNvg.sqf index 68fda8edb3..ca2b270a3d 100644 --- a/addons/zeus/functions/fnc_moduleToggleNvg.sqf +++ b/addons/zeus/functions/fnc_moduleToggleNvg.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe, mharis001 * Zeus module function to toggle NVGs. diff --git a/addons/zeus/functions/fnc_moduleUnGarrison.sqf b/addons/zeus/functions/fnc_moduleUnGarrison.sqf index 2d380d2cf2..8f69afdbbc 100644 --- a/addons/zeus/functions/fnc_moduleUnGarrison.sqf +++ b/addons/zeus/functions/fnc_moduleUnGarrison.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe * Un-garrison a garrisoned group. diff --git a/addons/zeus/functions/fnc_moduleUnconscious.sqf b/addons/zeus/functions/fnc_moduleUnconscious.sqf index 2d60483eee..7eede3cdec 100644 --- a/addons/zeus/functions/fnc_moduleUnconscious.sqf +++ b/addons/zeus/functions/fnc_moduleUnconscious.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Flips the unconscious state of the unit the module is placed on. diff --git a/addons/zeus/functions/fnc_moduleUnloadFromCargo.sqf b/addons/zeus/functions/fnc_moduleUnloadFromCargo.sqf new file mode 100644 index 0000000000..dc4b1dea9a --- /dev/null +++ b/addons/zeus/functions/fnc_moduleUnloadFromCargo.sqf @@ -0,0 +1,47 @@ +#include "..\script_component.hpp" +/* + * Author: johnb43 + * Loads the object module is placed on into selected vehicle. + * + * Arguments: + * 0: Module logic + * 1: Synchronized units + * 2: Activated + * + * Return Value: + * None + * + * Example: + * [LOGIC, [bob, kevin], true] call ace_zeus_fnc_moduleUnloadFromCargo + * + * Public: No + */ + +if (canSuspend) exitWith { + [FUNC(moduleUnloadFromCargo), _this] call CBA_fnc_directCall; +}; + +params ["_logic"]; + +if !(local _logic) exitWith {}; + +private _vehicle = attachedTo _logic; + +deleteVehicle _logic; + +if !(missionNamespace getVariable [QEGVAR(cargo,enable), false]) exitWith { + [LSTRING(RequiresAddon)] call FUNC(showMessage); +}; +if (isNull _vehicle) exitWith { + [LSTRING(NothingSelected)] call FUNC(showMessage); +}; +if (!alive _vehicle) exitWith { + [LSTRING(OnlyAlive)] call FUNC(showMessage); +}; +if ((_vehicle getVariable [QEGVAR(cargo,loaded), []]) isEqualTo []) exitWith { + [LSTRING(paradrop_noCargoLoaded)] call FUNC(showMessage); +}; + +EGVAR(cargo,interactionVehicle) = _vehicle; +EGVAR(cargo,interactionParadrop) = false; +createDialog QEGVAR(cargo,menu); diff --git a/addons/zeus/functions/fnc_moduleZeusSettings.sqf b/addons/zeus/functions/fnc_moduleZeusSettings.sqf index 59032402ff..c1d3e4610e 100644 --- a/addons/zeus/functions/fnc_moduleZeusSettings.sqf +++ b/addons/zeus/functions/fnc_moduleZeusSettings.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Module for adjusting various aspects of zeus diff --git a/addons/zeus/functions/fnc_showMessage.sqf b/addons/zeus/functions/fnc_showMessage.sqf index b38652eeba..8bbd7d510d 100644 --- a/addons/zeus/functions/fnc_showMessage.sqf +++ b/addons/zeus/functions/fnc_showMessage.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: 654wak654 * Shows a Zeus message through the BIS function, handles localization. diff --git a/addons/zeus/functions/fnc_ui_attributeCargo.sqf b/addons/zeus/functions/fnc_ui_attributeCargo.sqf index d2345e8a96..1b3626d5d9 100644 --- a/addons/zeus/functions/fnc_ui_attributeCargo.sqf +++ b/addons/zeus/functions/fnc_ui_attributeCargo.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror, mharis001 * Initializes the ace_cargo attribute of the zeus vehicle attributes display. diff --git a/addons/zeus/functions/fnc_ui_attributeRadius.sqf b/addons/zeus/functions/fnc_ui_attributeRadius.sqf index 46d4cac180..86f13eb71b 100644 --- a/addons/zeus/functions/fnc_ui_attributeRadius.sqf +++ b/addons/zeus/functions/fnc_ui_attributeRadius.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Initializes the "Radius" Zeus module attribute. diff --git a/addons/zeus/functions/fnc_ui_defendArea.sqf b/addons/zeus/functions/fnc_ui_defendArea.sqf index b8ee0a04a9..b8051ac1c1 100644 --- a/addons/zeus/functions/fnc_ui_defendArea.sqf +++ b/addons/zeus/functions/fnc_ui_defendArea.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Initializes the "Defend Area" Zeus module display. diff --git a/addons/zeus/functions/fnc_ui_editableObjects.sqf b/addons/zeus/functions/fnc_ui_editableObjects.sqf index f98910f14f..8ecb86c2b4 100644 --- a/addons/zeus/functions/fnc_ui_editableObjects.sqf +++ b/addons/zeus/functions/fnc_ui_editableObjects.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: Fisher, kymckay, mharis001 * Initializes the "Editable Objects" Zeus module display. diff --git a/addons/zeus/functions/fnc_ui_garrison.sqf b/addons/zeus/functions/fnc_ui_garrison.sqf index a0843b5866..95e2948e5c 100644 --- a/addons/zeus/functions/fnc_ui_garrison.sqf +++ b/addons/zeus/functions/fnc_ui_garrison.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe, mharis001 * Initializes the "Garrison" Zeus module display. diff --git a/addons/zeus/functions/fnc_ui_globalSetSkill.sqf b/addons/zeus/functions/fnc_ui_globalSetSkill.sqf index 79e7ea077d..31f41d76c6 100644 --- a/addons/zeus/functions/fnc_ui_globalSetSkill.sqf +++ b/addons/zeus/functions/fnc_ui_globalSetSkill.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Initalises the `global skill` zeus module display diff --git a/addons/zeus/functions/fnc_ui_groupSide.sqf b/addons/zeus/functions/fnc_ui_groupSide.sqf index 04daa8c813..4dff592f62 100644 --- a/addons/zeus/functions/fnc_ui_groupSide.sqf +++ b/addons/zeus/functions/fnc_ui_groupSide.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Initalises the `group side` zeus module display diff --git a/addons/zeus/functions/fnc_ui_patrolArea.sqf b/addons/zeus/functions/fnc_ui_patrolArea.sqf index ca43481c1f..03991ee5c7 100644 --- a/addons/zeus/functions/fnc_ui_patrolArea.sqf +++ b/addons/zeus/functions/fnc_ui_patrolArea.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Initializes the "Patrol Area" Zeus module display. diff --git a/addons/zeus/functions/fnc_ui_searchArea.sqf b/addons/zeus/functions/fnc_ui_searchArea.sqf index d9bcee346d..6268cd7d22 100644 --- a/addons/zeus/functions/fnc_ui_searchArea.sqf +++ b/addons/zeus/functions/fnc_ui_searchArea.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay * Initializes the "Search Area" Zeus module display. diff --git a/addons/zeus/functions/fnc_ui_setEngineer.sqf b/addons/zeus/functions/fnc_ui_setEngineer.sqf index 20e8113c7a..b2515c311d 100644 --- a/addons/zeus/functions/fnc_ui_setEngineer.sqf +++ b/addons/zeus/functions/fnc_ui_setEngineer.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Initalizes the "Set Engineer" Zeus module display. diff --git a/addons/zeus/functions/fnc_ui_suicideBomber.sqf b/addons/zeus/functions/fnc_ui_suicideBomber.sqf index 060618e536..2618451871 100644 --- a/addons/zeus/functions/fnc_ui_suicideBomber.sqf +++ b/addons/zeus/functions/fnc_ui_suicideBomber.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: mharis001 * Initializes the "Suicide Bomber" Zeus module display. diff --git a/addons/zeus/functions/fnc_ui_teleportPlayers.sqf b/addons/zeus/functions/fnc_ui_teleportPlayers.sqf index 9ff16965b2..1becc04004 100644 --- a/addons/zeus/functions/fnc_ui_teleportPlayers.sqf +++ b/addons/zeus/functions/fnc_ui_teleportPlayers.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: kymckay, mharis001 * Initalizes the "Teleport Players" Zeus module display. diff --git a/addons/zeus/functions/fnc_ui_toggleFlashlight.sqf b/addons/zeus/functions/fnc_ui_toggleFlashlight.sqf index 333da80ac3..9c34bc8f65 100644 --- a/addons/zeus/functions/fnc_ui_toggleFlashlight.sqf +++ b/addons/zeus/functions/fnc_ui_toggleFlashlight.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe, mharis001 * Initializes the "Toggle Flashlights" Zeus module display. diff --git a/addons/zeus/functions/fnc_ui_toggleNvg.sqf b/addons/zeus/functions/fnc_ui_toggleNvg.sqf index e32ee9f715..1e60a777ea 100644 --- a/addons/zeus/functions/fnc_ui_toggleNvg.sqf +++ b/addons/zeus/functions/fnc_ui_toggleNvg.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: alganthe, mharis001 * Initializes the "Toggle NVGs" Zeus module display. diff --git a/addons/zeus/functions/fnc_zeusAttributes.sqf b/addons/zeus/functions/fnc_zeusAttributes.sqf index d21054cbd7..5c3fa8d08c 100644 --- a/addons/zeus/functions/fnc_zeusAttributes.sqf +++ b/addons/zeus/functions/fnc_zeusAttributes.sqf @@ -1,4 +1,4 @@ -#include "script_component.hpp" +#include "..\script_component.hpp" /* * Author: PabstMirror * Dummy function to include BIS script file. diff --git a/addons/zeus/functions/script_component.hpp b/addons/zeus/functions/script_component.hpp deleted file mode 100644 index 73e8156c1c..0000000000 --- a/addons/zeus/functions/script_component.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "\z\ace\addons\zeus\script_component.hpp" diff --git a/addons/zeus/stringtable.xml b/addons/zeus/stringtable.xml index 4769f897ca..7c8dfc6498 100644 --- a/addons/zeus/stringtable.xml +++ b/addons/zeus/stringtable.xml @@ -72,7 +72,7 @@ Mostrar mensajes emergentes globales cuando a un jugador se le asigna como Zeus. Zobrazit globální zprávu když je hráč přiřazen jako Zeus. Zeige globale Popup-Nachrichten wenn ein Spieler zu Zeus wird. - Mostra uma mensagem popup quando um jogador é atribuido ao Zeus. + Mostra uma mensagem popup quando um jogador é atribuído ao Zeus. Affiche des messages popup globaux lorsqu'un joueur est élevé au rang de Zeus. Globális üzeneteket jelez ki, ha egy játékos Zeus-nak lesz beosztva. Отображает глобальное всплывающее сообщение, когда один из игроков становится Зевсом. @@ -1314,6 +1314,9 @@ Charger dans le véhicule Cargar en la carga + + Unload from cargo + Toggle NVGs Nachtsichtgeräte Hinzufügen/Entfernen @@ -1932,6 +1935,42 @@ ユニットを燃やす Поджечь юнита Quemar a unidad + Brûler l'unité + + + Medical Menu + Sanitätsmenü + Menu medyczne + Menu Médico + Медицинское меню + Menú médico + Zdravotnická nabídka + Menù Medico + Menu médical + 治療メニュー + 의료 메뉴 + 医疗菜单 + 醫療選單 + Medikal Menü + + + The medical menu is disabled + + + Lay Trenchline + Wykop Okop + 참호라인 깔기 + Poser une tranchée + Grabenlinie legen + 塹壕溝線を敷設 + + + +SHIFT to force (Can only lay N/S or E/W) + +SHIFT aby wymusić (Można wykopać tylko N/S lub E/W) + + Shift 키로 강제하기 (동서남북 방향으로만 깔 수 있음) + +MAJ pour forcer (Disponible uniquement sur les alignements N/S ou E/O) + +SHIFT zum Erzwingen (Kann nur nach N/S oder E/W legen) + =+SHIFT で強制的に敷設 (北/南 または 東/西 方向にのみ配置可能) diff --git a/addons/zeus/ui/RscAttributes.hpp b/addons/zeus/ui/RscAttributes.hpp index b72221d354..0ff21b145f 100644 --- a/addons/zeus/ui/RscAttributes.hpp +++ b/addons/zeus/ui/RscAttributes.hpp @@ -1,7 +1,7 @@ class RscControlsGroup; class RscControlsGroupNoScrollbars; class RscText; -class RscListbox; +class RscListBox; class RscCombo; class RscEdit; class RscXSliderH; @@ -54,8 +54,8 @@ class GVAR(AttributeRadius): RscControlsGroupNoScrollbars { }; class GVAR(RscDefendArea): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscDefendArea))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscDefendArea))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(RscDefendArea))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(RscDefendArea))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -72,8 +72,8 @@ class GVAR(RscDefendArea): RscDisplayAttributes { }; class GVAR(RscEditableObjects): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscEditableObjects))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscEditableObjects))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(RscEditableObjects))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(RscEditableObjects))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -139,8 +139,8 @@ class GVAR(RscEditableObjects): RscDisplayAttributes { }; class GVAR(RscGlobalSetSkill): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscGlobalSetSkill))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscGlobalSetSkill))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(RscGlobalSetSkill))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(RscGlobalSetSkill))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -234,8 +234,8 @@ class GVAR(RscGlobalSetSkill): RscDisplayAttributes { }; class GVAR(RscGroupSide): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscGroupSide))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscGroupSide))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(RscGroupSide))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(RscGroupSide))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -312,8 +312,8 @@ class GVAR(RscGroupSide): RscDisplayAttributes { }; class GVAR(RscPatrolArea): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscPatrolArea))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscPatrolArea))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(RscPatrolArea))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(RscPatrolArea))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -330,8 +330,8 @@ class GVAR(RscPatrolArea): RscDisplayAttributes { }; class GVAR(RscSearchArea): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscSearchArea))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscSearchArea))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(RscSearchArea))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(RscSearchArea))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -348,8 +348,8 @@ class GVAR(RscSearchArea): RscDisplayAttributes { }; class GVAR(RscTeleportPlayers): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscTeleportPlayers))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscTeleportPlayers))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(RscTeleportPlayers))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(RscTeleportPlayers))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -373,7 +373,7 @@ class GVAR(RscTeleportPlayers): RscDisplayAttributes { h = QUOTE(H_PART(1)); colorBackground[] = {0, 0, 0, 0.5}; }; - class Unit: RscListbox { + class Unit: RscListBox { idc = 16189; x = 0; y = QUOTE(H_PART(1.1)); @@ -475,7 +475,7 @@ class GVAR(AttributeCargo): RscControlsGroupNoScrollbars { class RscDisplayAttributesVehicle: RscDisplayAttributes { class Controls: Controls { class Content: Content { - class Controls: controls { + class controls: controls { class ace_cargo: GVAR(AttributeCargo) { }; }; }; @@ -485,7 +485,7 @@ class RscDisplayAttributesVehicle: RscDisplayAttributes { class RscDisplayAttributesVehicleEmpty: RscDisplayAttributes { class Controls: Controls { class Content: Content { - class Controls: controls { + class controls: controls { class ace_cargo: GVAR(AttributeCargo) { }; }; }; @@ -493,8 +493,8 @@ class RscDisplayAttributesVehicleEmpty: RscDisplayAttributes { }; class GVAR(RscGarrison): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscGarrison))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscGarrison))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(RscGarrison))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(RscGarrison))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -542,7 +542,7 @@ class GVAR(RscGarrison): RscDisplayAttributes { y = QUOTE(H_PART(2.2)); w = QUOTE(W_PART(26)); }; - class FillingMode: RscListbox { + class FillingMode: RscListBox { idc = 73063; x = 0; y = QUOTE(H_PART(3.2)); @@ -571,8 +571,8 @@ class GVAR(RscGarrison): RscDisplayAttributes { }; class GVAR(RscToggleNvg): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscToggleNvg))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscToggleNvg))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(RscToggleNvg))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(RscToggleNvg))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -652,8 +652,8 @@ class GVAR(RscToggleNvg): RscDisplayAttributes { }; class GVAR(RscToggleFlashlight): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscToggleFlashlight))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscToggleFlashlight))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(RscToggleFlashlight))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(RscToggleFlashlight))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -741,8 +741,8 @@ class GVAR(RscToggleFlashlight): RscDisplayAttributes { }; class GVAR(RscSetEngineer): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscSetEngineer))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscSetEngineer))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(RscSetEngineer))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(RscSetEngineer))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; @@ -786,8 +786,8 @@ class GVAR(RscSetEngineer): RscDisplayAttributes { }; class GVAR(RscSuicideBomber): RscDisplayAttributes { - onLoad = QUOTE([ARR_3('onLoad', _this, QQGVAR(RscSuicideBomber))] call FUNC(zeusAttributes)); - onUnload = QUOTE([ARR_3('onUnload', _this, QQGVAR(RscSuicideBomber))] call FUNC(zeusAttributes)); + onLoad = QUOTE([ARR_3('onLoad',_this,QQGVAR(RscSuicideBomber))] call FUNC(zeusAttributes)); + onUnload = QUOTE([ARR_3('onUnload',_this,QQGVAR(RscSuicideBomber))] call FUNC(zeusAttributes)); class Controls: Controls { class Background: Background {}; class Title: Title {}; diff --git a/docs/README.zh-TW.md b/docs/README.zh-TW.md index 4216d82dd7..da04d2b631 100644 --- a/docs/README.zh-TW.md +++ b/docs/README.zh-TW.md @@ -21,9 +21,6 @@ 加入ACE3 Discord - - ACE3 建構狀態 -

diff --git a/docs/README_DE.md b/docs/README_DE.md index fd7eaeef3f..160fb111b2 100644 --- a/docs/README_DE.md +++ b/docs/README_DE.md @@ -18,9 +18,6 @@ ACE3 Discord - - ACE3 Build Status -

diff --git a/docs/README_PL.md b/docs/README_PL.md index 893261dc54..b1917f4080 100644 --- a/docs/README_PL.md +++ b/docs/README_PL.md @@ -17,9 +17,6 @@ ACE3 Discord - - ACE3 Build Status -

Wymaga najnowszej wersji CBA A3. Odwiedź nas na Facebook | YouTube | Twitter | Reddit

diff --git a/docs/_config.yml b/docs/_config.yml index 1ac4f3a7a5..52ba8da828 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -8,9 +8,9 @@ ace: githubUrl: https://github.com/acemod/ACE3 version: major: 3 - minor: 15 - patch: 2 - build: 69 + minor: 16 + patch: 1 + build: 74 markdown: kramdown diff --git a/docs/_config_dev.yml b/docs/_config_dev.yml index 4a05c7f94e..67de48f2f6 100644 --- a/docs/_config_dev.yml +++ b/docs/_config_dev.yml @@ -8,9 +8,9 @@ ace: githubUrl: https://github.com/acemod/ACE3 version: major: 3 - minor: 13 - patch: 2 - build: 49 + minor: 16 + patch: 1 + build: 74 markdown: kramdown diff --git a/docs/_includes/_footer.html b/docs/_includes/_footer.html index 2797f35cd9..ec55355d99 100644 --- a/docs/_includes/_footer.html +++ b/docs/_includes/_footer.html @@ -13,21 +13,33 @@ - + diff --git a/docs/_includes/_header.html b/docs/_includes/_header.html index 3fd9147794..7123c5968a 100644 --- a/docs/_includes/_header.html +++ b/docs/_includes/_header.html @@ -27,7 +27,7 @@ - +
diff --git a/docs/_includes/_navigation.html b/docs/_includes/_navigation.html index 82b0508518..e929b8d438 100644 --- a/docs/_includes/_navigation.html +++ b/docs/_includes/_navigation.html @@ -1,9 +1,17 @@