From c6daf954159b01eac13bab2fd0c08eb01624a974 Mon Sep 17 00:00:00 2001 From: Jacob Schmidt Date: Wed, 1 Jan 2025 14:35:12 -0600 Subject: [PATCH] Initial Repo Setup --- .github/ISSUE_TEMPLATE/bug_report.md | 32 + .github/ISSUE_TEMPLATE/feature_request.md | 20 + .github/PULL_REQUEST_TEMPLATE.md | 4 + .github/release_drafter.yml | 33 + .github/workflows/build.yml | 50 + .gitignore | 410 +++ .hemtt/project.toml | 21 + LICENSE | 112 + README.md | 56 + a3f_client_version.json | 3 + addons/admin/$PBOPREFIX$ | 1 + addons/admin/CfgEventHandlers.hpp | 19 + addons/admin/XEH_PREP.hpp | 7 + addons/admin/XEH_postInit.sqf | 1 + addons/admin/XEH_postInit_client.sqf | 1 + addons/admin/XEH_preInit.sqf | 8 + addons/admin/XEH_preInit_server.sqf | 1 + addons/admin/XEH_preStart.sqf | 2 + addons/admin/config.cpp | 18 + addons/admin/functions/fnc_adminMessage.sqf | 30 + addons/admin/functions/fnc_adminPromote.sqf | 31 + addons/admin/functions/fnc_adminRefresh.sqf | 53 + addons/admin/functions/fnc_adminTransfer.sqf | 92 + addons/admin/functions/fnc_initAdmin.sqf | 18 + addons/admin/functions/fnc_openAdmin.sqf | 31 + addons/admin/functions/fnc_printAddonName.sqf | 3 + addons/admin/script_component.hpp | 16 + addons/admin/ui/RscAdmin.hpp | 190 + addons/admin/ui/RscCommon.hpp | 268 ++ addons/ambient/$PBOPREFIX$ | 1 + addons/ambient/CfgEventHandlers.hpp | 19 + addons/ambient/XEH_PREP.hpp | 1 + addons/ambient/XEH_postInit.sqf | 1 + addons/ambient/XEH_postInit_client.sqf | 1 + addons/ambient/XEH_preInit.sqf | 8 + addons/ambient/XEH_preInit_server.sqf | 1 + addons/ambient/XEH_preStart.sqf | 2 + addons/ambient/config.cpp | 16 + addons/ambient/functions/fnc_ambientSound.sqf | 47 + addons/ambient/script_component.hpp | 16 + addons/arsenal/$PBOPREFIX$ | 1 + addons/arsenal/CfgEventHandlers.hpp | 19 + addons/arsenal/XEH_PREP.hpp | 8 + addons/arsenal/XEH_postInit.sqf | 10 + addons/arsenal/XEH_postInit_client.sqf | 1 + addons/arsenal/XEH_preInit.sqf | 11 + addons/arsenal/XEH_preInit_server.sqf | 1 + addons/arsenal/XEH_preStart.sqf | 2 + addons/arsenal/config.cpp | 16 + .../arsenal/functions/fnc_addArmoryItem.sqf | 30 + .../functions/fnc_addGarageVehicle.sqf | 26 + .../functions/fnc_addVirtualVehicles.sqf | 80 + addons/arsenal/functions/fnc_initArsenal.sqf | 29 + addons/arsenal/functions/fnc_openArmory.sqf | 7 + addons/arsenal/functions/fnc_openGarage.sqf | 57 + addons/arsenal/functions/fnc_saveUnlocks.sqf | 60 + .../arsenal/functions/fnc_updateUnlocks.sqf | 41 + addons/arsenal/script_component.hpp | 16 + addons/bank/$PBOPREFIX$ | 1 + addons/bank/CfgEventHandlers.hpp | 19 + addons/bank/XEH_PREP.hpp | 7 + addons/bank/XEH_postInit.sqf | 1 + addons/bank/XEH_postInit_client.sqf | 1 + addons/bank/XEH_preInit.sqf | 8 + addons/bank/XEH_preInit_server.sqf | 1 + addons/bank/XEH_preStart.sqf | 2 + addons/bank/config.cpp | 18 + addons/bank/functions/fnc_deposit.sqf | 25 + addons/bank/functions/fnc_initBank.sqf | 30 + addons/bank/functions/fnc_openBank.sqf | 24 + addons/bank/functions/fnc_refresh.sqf | 17 + addons/bank/functions/fnc_submit.sqf | 22 + addons/bank/functions/fnc_transfer.sqf | 32 + addons/bank/functions/fnc_withdraw.sqf | 28 + addons/bank/script_component.hpp | 35 + addons/bank/stringtable.xml | 35 + addons/bank/ui/BaseControls.hpp | 265 ++ addons/bank/ui/RscBankDialog.hpp | 200 ++ addons/briefing/$PBOPREFIX$ | 1 + addons/briefing/CfgEventHandlers.hpp | 19 + addons/briefing/XEH_PREP.hpp | 7 + addons/briefing/XEH_postInit.sqf | 1 + addons/briefing/XEH_postInit_client.sqf | 1 + addons/briefing/XEH_preInit.sqf | 8 + addons/briefing/XEH_preInit_server.sqf | 1 + addons/briefing/XEH_preStart.sqf | 2 + addons/briefing/config.cpp | 16 + .../briefing/functions/fnc_endSlideShow.sqf | 55 + .../briefing/functions/fnc_initSlideShow.sqf | 74 + addons/briefing/functions/fnc_nextImage.sqf | 60 + addons/briefing/functions/fnc_prevImage.sqf | 60 + .../briefing/functions/fnc_spawnLecture.sqf | 40 + .../functions/fnc_spawnPresentation.sqf | 26 + .../briefing/functions/fnc_startSlideShow.sqf | 92 + addons/briefing/script_component.hpp | 16 + addons/db/$PBOPREFIX$ | 1 + addons/db/CfgEventHandlers.hpp | 19 + addons/db/XEH_PREP.hpp | 3 + addons/db/XEH_postInit.sqf | 3 + addons/db/XEH_postInit_client.sqf | 1 + addons/db/XEH_preInit.sqf | 8 + addons/db/XEH_preInit_server.sqf | 1 + addons/db/XEH_preStart.sqf | 2 + addons/db/config.cpp | 16 + addons/db/functions/fnc_saveToMission.sqf | 113 + addons/db/functions/fnc_saveToProfile.sqf | 69 + addons/db/functions/fnc_saveToTempDB.sqf | 51 + addons/db/script_component.hpp | 15 + addons/dialogue/$PBOPREFIX$ | 1 + addons/dialogue/CfgEventHandlers.hpp | 19 + addons/dialogue/XEH_PREP.hpp | 2 + addons/dialogue/XEH_postInit.sqf | 1 + addons/dialogue/XEH_postInit_client.sqf | 1 + addons/dialogue/XEH_preInit.sqf | 8 + addons/dialogue/XEH_preInit_server.sqf | 1 + addons/dialogue/XEH_preStart.sqf | 2 + addons/dialogue/config.cpp | 16 + addons/dialogue/functions/fnc_selectAI.sqf | 23 + .../dialogue/functions/fnc_selectDialogue.sqf | 23 + addons/dialogue/script_component.hpp | 16 + addons/garage/$PBOPREFIX$ | 1 + addons/garage/CfgEventHandlers.hpp | 19 + addons/garage/README.md | 4 + addons/garage/XEH_PREP.hpp | 6 + addons/garage/XEH_postInit.sqf | 1 + addons/garage/XEH_postInit_client.sqf | 1 + addons/garage/XEH_preInit.sqf | 8 + addons/garage/XEH_preInit_server.sqf | 1 + addons/garage/XEH_preStart.sqf | 2 + addons/garage/config.cpp | 18 + addons/garage/functions/fnc_fetchGarage.sqf | 20 + addons/garage/functions/fnc_fetchNearby.sqf | 42 + addons/garage/functions/fnc_initGarage.sqf | 31 + addons/garage/functions/fnc_openGarage.sqf | 9 + addons/garage/functions/fnc_spawnVehicle.sqf | 65 + addons/garage/functions/fnc_storeVehicle.sqf | 49 + addons/garage/script_component.hpp | 24 + addons/garage/stringtable.xml | 17 + addons/garage/ui/BaseControls.hpp | 265 ++ addons/garage/ui/RscGarageDialog.hpp | 73 + addons/init/$PBOPREFIX$ | 1 + addons/init/CfgEventHandlers.hpp | 19 + addons/init/XEH_PREP.hpp | 5 + addons/init/XEH_postInit.sqf | 1 + addons/init/XEH_postInit_client.sqf | 1 + addons/init/XEH_preInit.sqf | 8 + addons/init/XEH_preInit_server.sqf | 1 + addons/init/XEH_preStart.sqf | 2 + addons/init/config.cpp | 16 + .../init/functions/fnc_handlePlayerLoad.sqf | 122 + addons/init/functions/fnc_initPlayer.sqf | 91 + addons/init/functions/fnc_playerDBLoad.sqf | 32 + addons/init/functions/fnc_playerDBSave.sqf | 70 + addons/init/functions/fnc_playerSaveLoop.sqf | 39 + addons/init/script_component.hpp | 16 + addons/interaction/$PBOPREFIX$ | 1 + addons/interaction/CfgEventHandlers.hpp | 19 + addons/interaction/CfgVehicles.hpp | 129 + addons/interaction/README.md | 4 + addons/interaction/XEH_PREP.hpp | 3 + addons/interaction/XEH_postInit.sqf | 1 + addons/interaction/XEH_postInit_client.sqf | 1 + addons/interaction/XEH_preInit.sqf | 8 + addons/interaction/XEH_preInit_server.sqf | 1 + addons/interaction/XEH_preStart.sqf | 2 + addons/interaction/config.cpp | 19 + .../functions/fnc_initInteraction.sqf | 111 + .../functions/fnc_interactionAction.sqf | 34 + .../functions/fnc_openInteraction.sqf | 65 + addons/interaction/script_component.hpp | 16 + addons/interaction/ui/RscCommon.hpp | 268 ++ addons/interaction/ui/RscInteraction.hpp | 95 + addons/locker/$PBOPREFIX$ | 1 + addons/locker/CfgEventHandlers.hpp | 19 + addons/locker/README.md | 4 + addons/locker/XEH_PREP.hpp | 6 + addons/locker/XEH_postInit.sqf | 1 + addons/locker/XEH_postInit_client.sqf | 1 + addons/locker/XEH_preInit.sqf | 8 + addons/locker/XEH_preInit_server.sqf | 1 + addons/locker/XEH_preStart.sqf | 2 + addons/locker/config.cpp | 18 + addons/locker/functions/fnc_equipGear.sqf | 203 ++ addons/locker/functions/fnc_fetchLocker.sqf | 86 + addons/locker/functions/fnc_fetchPlayer.sqf | 112 + addons/locker/functions/fnc_initLocker.sqf | 31 + addons/locker/functions/fnc_openLocker.sqf | 9 + addons/locker/functions/fnc_storeGear.sqf | 240 ++ addons/locker/script_component.hpp | 24 + addons/locker/stringtable.xml | 17 + addons/locker/ui/BaseControls.hpp | 265 ++ addons/locker/ui/RscLockerDialog.hpp | 73 + addons/main/$PBOPREFIX$ | 1 + addons/main/CfgEditorCategories.hpp | 5 + addons/main/CfgEditorSubcategories.hpp | 5 + addons/main/CfgMPGameTypes.hpp | 24 + addons/main/CfgMods.hpp | 14 + addons/main/CfgNotifications.hpp | 160 + addons/main/README.md | 4 + addons/main/config.cpp | 24 + addons/main/script_component.hpp | 16 + addons/main/script_macros.hpp | 28 + addons/main/script_mod.hpp | 15 + addons/main/script_version.hpp | 4 + addons/medical/$PBOPREFIX$ | 1 + addons/medical/CfgEventHandlers.hpp | 19 + addons/medical/CfgVehicles.hpp | 12 + addons/medical/XEH_PREP.hpp | 7 + addons/medical/XEH_postInit.sqf | 1 + addons/medical/XEH_postInit_client.sqf | 1 + addons/medical/XEH_preInit.sqf | 11 + addons/medical/XEH_preInit_server.sqf | 1 + addons/medical/XEH_preStart.sqf | 2 + addons/medical/config.cpp | 17 + .../functions/fnc_deductMedicalCost.sqf | 12 + addons/medical/functions/fnc_heartBeat.sqf | 13 + addons/medical/functions/fnc_initMedical.sqf | 26 + .../medical/functions/fnc_moveInventory.sqf | 65 + addons/medical/functions/fnc_onKilled.sqf | 11 + addons/medical/functions/fnc_onRespawn.sqf | 35 + .../functions/fnc_saveDroppedWeapons.sqf | 26 + addons/medical/script_component.hpp | 16 + addons/misc/$PBOPREFIX$ | 1 + addons/misc/CfgEventHandlers.hpp | 19 + addons/misc/XEH_PREP.hpp | 6 + addons/misc/XEH_postInit.sqf | 1 + addons/misc/XEH_postInit_client.sqf | 1 + addons/misc/XEH_preInit.sqf | 8 + addons/misc/XEH_preInit_server.sqf | 1 + addons/misc/XEH_preStart.sqf | 2 + addons/misc/config.cpp | 16 + addons/misc/functions/fnc_cargoToPairs.sqf | 12 + addons/misc/functions/fnc_formatNumber.sqf | 24 + .../functions/fnc_isAssignableBinocular.sqf | 16 + addons/misc/functions/fnc_isWeaponType.sqf | 35 + addons/misc/functions/fnc_notify.sqf | 221 ++ addons/misc/functions/fnc_test.sqf | 34 + addons/misc/script_component.hpp | 16 + addons/money/$PBOPREFIX$ | 1 + addons/money/CfgEventHandlers.hpp | 19 + addons/money/XEH_PREP.hpp | 3 + addons/money/XEH_postInit.sqf | 1 + addons/money/XEH_postInit_client.sqf | 1 + addons/money/XEH_preInit.sqf | 8 + addons/money/XEH_preInit_server.sqf | 1 + addons/money/XEH_preStart.sqf | 2 + addons/money/config.cpp | 18 + addons/money/functions/fnc_giveCash.sqf | 33 + addons/money/functions/fnc_giveCashSubmit.sqf | 50 + addons/money/functions/fnc_takeCash.sqf | 37 + addons/money/script_component.hpp | 16 + addons/money/ui/RscCommon.hpp | 268 ++ addons/money/ui/RscGiveCash.hpp | 37 + addons/phone/$PBOPREFIX$ | 1 + addons/phone/CfgEventHandlers.hpp | 19 + addons/phone/CfgSounds.hpp | 13 + addons/phone/XEH_PREP.hpp | 27 + addons/phone/XEH_postInit.sqf | 1 + addons/phone/XEH_postInit_client.sqf | 1 + addons/phone/XEH_preInit.sqf | 12 + addons/phone/XEH_preInit_server.sqf | 1 + addons/phone/XEH_preStart.sqf | 2 + addons/phone/config.cpp | 19 + addons/phone/functions/fnc_addContact.sqf | 14 + addons/phone/functions/fnc_addEmail.sqf | 8 + addons/phone/functions/fnc_addMsg.sqf | 8 + .../phone/functions/fnc_addOfflineEmail.sqf | 10 + addons/phone/functions/fnc_addOfflineMsg.sqf | 10 + addons/phone/functions/fnc_dateToHhMm.sqf | 22 + addons/phone/functions/fnc_delEmail.sqf | 28 + addons/phone/functions/fnc_delMsg.sqf | 28 + addons/phone/functions/fnc_initAction.sqf | 3 + addons/phone/functions/fnc_initAddAction.sqf | 4 + addons/phone/functions/fnc_initPhone.sqf | 8 + addons/phone/functions/fnc_initVar.sqf | 5 + addons/phone/functions/fnc_newEmail.sqf | 18 + addons/phone/functions/fnc_newMsg.sqf | 18 + addons/phone/functions/fnc_openPhone.sqf | 26 + addons/phone/functions/fnc_sendEmail.sqf | 17 + addons/phone/functions/fnc_sendMsg.sqf | 17 + addons/phone/functions/fnc_showContact.sqf | 91 + addons/phone/functions/fnc_showDialpad.sqf | 56 + addons/phone/functions/fnc_showEmail.sqf | 55 + addons/phone/functions/fnc_showMessage.sqf | 51 + .../phone/functions/fnc_showMessageInput.sqf | 52 + addons/phone/functions/fnc_showSafari.sqf | 40 + addons/phone/functions/fnc_viewContacts.sqf | 61 + addons/phone/functions/fnc_viewEmail.sqf | 85 + addons/phone/functions/fnc_viewMessages.sqf | 84 + addons/phone/functions/fnc_viewSettings.sqf | 73 + addons/phone/script_component.hpp | 16 + addons/phone/sounds/newMsg.ogg | Bin 0 -> 18248 bytes addons/phone/sounds/woop.ogg | Bin 0 -> 11361 bytes addons/phone/ui/RscCommon.hpp | 293 ++ addons/phone/ui/RscPhone.hpp | 984 +++++ addons/phone/ui/data/avatar.paa | Bin 0 -> 47094 bytes addons/phone/ui/data/bgdark_01.paa | Bin 0 -> 75580 bytes addons/phone/ui/data/bgdark_02.paa | Bin 0 -> 71472 bytes addons/phone/ui/data/bglight_01.paa | Bin 0 -> 62757 bytes addons/phone/ui/data/bglight_02.paa | Bin 0 -> 71639 bytes addons/phone/ui/data/camera.paa | Bin 0 -> 43783 bytes addons/phone/ui/data/camera_sel.paa | Bin 0 -> 64754 bytes addons/phone/ui/data/contacts.paa | Bin 0 -> 44627 bytes addons/phone/ui/data/contacts_sel.paa | Bin 0 -> 59411 bytes addons/phone/ui/data/credits.paa | Bin 0 -> 11080 bytes addons/phone/ui/data/mail.paa | Bin 0 -> 43270 bytes addons/phone/ui/data/mail_sel.paa | Bin 0 -> 51829 bytes addons/phone/ui/data/mobile_frame.paa | Bin 0 -> 151966 bytes addons/phone/ui/data/mobile_frame_ca.paa | Bin 0 -> 119818 bytes addons/phone/ui/data/no0.paa | Bin 0 -> 38331 bytes addons/phone/ui/data/no0_sel.paa | Bin 0 -> 38824 bytes addons/phone/ui/data/no1.paa | Bin 0 -> 37173 bytes addons/phone/ui/data/no1_sel.paa | Bin 0 -> 37705 bytes addons/phone/ui/data/no2.paa | Bin 0 -> 39190 bytes addons/phone/ui/data/no2_sel.paa | Bin 0 -> 39630 bytes addons/phone/ui/data/no3.paa | Bin 0 -> 38831 bytes addons/phone/ui/data/no3_sel.paa | Bin 0 -> 39230 bytes addons/phone/ui/data/no4.paa | Bin 0 -> 38460 bytes addons/phone/ui/data/no4_sel.paa | Bin 0 -> 39170 bytes addons/phone/ui/data/no5.paa | Bin 0 -> 38475 bytes addons/phone/ui/data/no5_sel.paa | Bin 0 -> 39086 bytes addons/phone/ui/data/no6.paa | Bin 0 -> 39717 bytes addons/phone/ui/data/no6_sel.paa | Bin 0 -> 40073 bytes addons/phone/ui/data/no7.paa | Bin 0 -> 39454 bytes addons/phone/ui/data/no7_sel.paa | Bin 0 -> 39564 bytes addons/phone/ui/data/no8.paa | Bin 0 -> 39360 bytes addons/phone/ui/data/no8_sel.paa | Bin 0 -> 39855 bytes addons/phone/ui/data/no9.paa | Bin 0 -> 40247 bytes addons/phone/ui/data/no9_sel.paa | Bin 0 -> 40448 bytes addons/phone/ui/data/phone.paa | Bin 0 -> 42599 bytes addons/phone/ui/data/phone_sel.paa | Bin 0 -> 55807 bytes addons/phone/ui/data/photos.paa | Bin 0 -> 49288 bytes addons/phone/ui/data/photos_sel.paa | Bin 0 -> 73121 bytes addons/phone/ui/data/pound.paa | Bin 0 -> 37869 bytes addons/phone/ui/data/pound_sel.paa | Bin 0 -> 38530 bytes addons/phone/ui/data/safari.paa | Bin 0 -> 56481 bytes addons/phone/ui/data/safari_sel.paa | Bin 0 -> 81860 bytes addons/phone/ui/data/settings.paa | Bin 0 -> 63587 bytes addons/phone/ui/data/settings_sel.paa | Bin 0 -> 93027 bytes addons/phone/ui/data/sms.paa | Bin 0 -> 42496 bytes addons/phone/ui/data/sms_sel.paa | Bin 0 -> 55316 bytes addons/phone/ui/data/star.paa | Bin 0 -> 37779 bytes addons/phone/ui/data/star_sel.paa | Bin 0 -> 37995 bytes addons/phone/ui/data/store.paa | Bin 0 -> 44289 bytes addons/phone/ui/data/store_sel.paa | Bin 0 -> 63205 bytes addons/player/$PBOPREFIX$ | 1 + addons/player/CfgEventHandlers.hpp | 19 + addons/player/XEH_PREP.hpp | 1 + addons/player/XEH_postInit.sqf | 1 + addons/player/XEH_postInit_client.sqf | 1 + addons/player/XEH_preInit.sqf | 8 + addons/player/XEH_preInit_server.sqf | 1 + addons/player/XEH_preStart.sqf | 2 + addons/player/config.cpp | 16 + addons/player/functions/fnc_firstLogin.sqf | 114 + addons/player/script_component.hpp | 16 + addons/service/$PBOPREFIX$ | 1 + addons/service/CfgEventHandlers.hpp | 19 + addons/service/XEH_PREP.hpp | 6 + addons/service/XEH_postInit.sqf | 1 + addons/service/XEH_postInit_client.sqf | 1 + addons/service/XEH_preInit.sqf | 8 + addons/service/XEH_preInit_server.sqf | 1 + addons/service/XEH_preStart.sqf | 2 + addons/service/config.cpp | 16 + addons/service/functions/fnc_fuel.sqf | 34 + addons/service/functions/fnc_init.sqf | 19 + addons/service/functions/fnc_rearm.sqf | 64 + addons/service/functions/fnc_refuel.sqf | 44 + addons/service/functions/fnc_repair.sqf | 43 + addons/service/functions/fnc_vehicle.sqf | 52 + addons/service/script_component.hpp | 16 + addons/store/$PBOPREFIX$ | 1 + addons/store/CfgEventHandlers.hpp | 19 + addons/store/XEH_PREP.hpp | 8 + addons/store/XEH_postInit.sqf | 1 + addons/store/XEH_postInit_client.sqf | 1 + addons/store/XEH_preInit.sqf | 8 + addons/store/XEH_preInit_server.sqf | 1 + addons/store/XEH_preStart.sqf | 2 + addons/store/config.cpp | 18 + addons/store/functions/fnc_buyItem.sqf | 35 + addons/store/functions/fnc_buyVehicle.sqf | 19 + addons/store/functions/fnc_changeFilter.sqf | 71 + addons/store/functions/fnc_changePayment.sqf | 11 + addons/store/functions/fnc_handlePurchase.sqf | 40 + addons/store/functions/fnc_initStore.sqf | 37 + addons/store/functions/fnc_openStore.sqf | 35 + addons/store/functions/fnc_selectProduct.sqf | 24 + addons/store/script_component.hpp | 24 + addons/store/stringtable.xml | 20 + addons/store/ui/BaseControls.hpp | 265 ++ addons/store/ui/RscStoreDialog.hpp | 75 + addons/task/$PBOPREFIX$ | 1 + addons/task/CfgEventHandlers.hpp | 19 + addons/task/XEH_PREP.hpp | 12 + addons/task/XEH_postInit.sqf | 5 + addons/task/XEH_postInit_client.sqf | 1 + addons/task/XEH_preInit.sqf | 15 + addons/task/XEH_preInit_server.sqf | 1 + addons/task/XEH_preStart.sqf | 2 + addons/task/config.cpp | 16 + addons/task/functions/fnc_attack.sqf | 110 + addons/task/functions/fnc_defuse.sqf | 100 + addons/task/functions/fnc_destroy.sqf | 111 + addons/task/functions/fnc_handler.sqf | 70 + addons/task/functions/fnc_heartBeat.sqf | 64 + addons/task/functions/fnc_hostage.sqf | 173 + addons/task/functions/fnc_hvt.sqf | 129 + addons/task/functions/fnc_makeHVT.sqf | 43 + addons/task/functions/fnc_makeHostage.sqf | 46 + addons/task/functions/fnc_makeIED.sqf | 49 + addons/task/functions/fnc_makeObject.sqf | 43 + addons/task/functions/fnc_makeTarget.sqf | 39 + addons/task/script_component.hpp | 16 + icon_128_ca.paa | Bin 0 -> 22016 bytes icon_128_highlight_ca.paa | Bin 0 -> 22016 bytes icon_64_ca.paa | Bin 0 -> 5625 bytes include/a3/data_f/$PBOPREFIX$ | 1 + include/a3/data_f/default.rvmat | 12 + include/a3/data_f/default_vehicle_ti_ca.paa | Bin 0 -> 5625 bytes include/a3/data_f/penetration/cloth.rvmat | 3 + include/a3/data_f/penetration/default.rvmat | 9 + include/a3/data_f/penetration/metal.rvmat | 9 + .../a3/data_f/penetration/metal_plate.rvmat | 9 + .../data_f/penetration/metal_plate_thin.rvmat | 9 + include/a3/data_f/penetration/plastic.rvmat | 3 + include/a3/data_f/penetration/tyre.rvmat | 3 + include/a3/data_f/penetration/wood.rvmat | 9 + include/a3/editor_f/$PBOPREFIX$ | 1 + include/a3/editor_f/data/scripts/dikCodes.h | 181 + include/a3/ui_f/$PBOPREFIX$ | 1 + include/a3/ui_f/hpp/defineCommonColors.inc | 316 ++ include/a3/ui_f/hpp/defineCommonGrids.inc | 464 +++ include/a3/ui_f/hpp/defineDIKCodes.inc | 190 + include/a3/ui_f/hpp/defineResincl.inc | 3186 +++++++++++++++++ include/a3/ui_f/hpp/defineResinclDesign.inc | 1063 ++++++ include/a3/ui_f_curator/$PBOPREFIX$ | 1 + .../ui_f_curator/ui/defineResinclDesign.inc | 624 ++++ .../ui/displays/RscDisplayAttributes.sqf | 140 + include/x/cba/addons/main/$PBOPREFIX$ | 1 + .../x/cba/addons/main/script_component.hpp | 12 + include/x/cba/addons/main/script_macros.hpp | 1 + .../cba/addons/main/script_macros_common.hpp | 1835 ++++++++++ .../cba/addons/main/script_macros_config.hpp | 5 + .../cba/addons/main/script_macros_mission.hpp | 85 + include/x/cba/addons/xeh/$PBOPREFIX$ | 1 + include/x/cba/addons/xeh/script_component.hpp | 103 + .../x/cba/addons/xeh/script_macros_common.hpp | 2 + include/x/cba/addons/xeh/script_xeh.hpp | 132 + include/z/ace/addons/common/$PBOPREFIX$ | 1 + .../z/ace/addons/common/script_component.hpp | 32 + include/z/ace/addons/main/$PBOPREFIX$ | 1 + .../z/ace/addons/main/script_component.hpp | 17 + include/z/ace/addons/main/script_debug.hpp | 58 + include/z/ace/addons/main/script_macros.hpp | 179 + include/z/ace/addons/main/script_mod.hpp | 23 + include/z/ace/addons/main/script_version.hpp | 4 + main.go | 92 + mod.cpp | 12 + title_co.paa | Bin 0 -> 95797 bytes tools/sqf_validator.py | 187 + tools/version_bumper.py | 146 + 463 files changed, 21917 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/release_drafter.yml create mode 100644 .github/workflows/build.yml create mode 100644 .gitignore create mode 100644 .hemtt/project.toml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 a3f_client_version.json create mode 100644 addons/admin/$PBOPREFIX$ create mode 100644 addons/admin/CfgEventHandlers.hpp create mode 100644 addons/admin/XEH_PREP.hpp create mode 100644 addons/admin/XEH_postInit.sqf create mode 100644 addons/admin/XEH_postInit_client.sqf create mode 100644 addons/admin/XEH_preInit.sqf create mode 100644 addons/admin/XEH_preInit_server.sqf create mode 100644 addons/admin/XEH_preStart.sqf create mode 100644 addons/admin/config.cpp create mode 100644 addons/admin/functions/fnc_adminMessage.sqf create mode 100644 addons/admin/functions/fnc_adminPromote.sqf create mode 100644 addons/admin/functions/fnc_adminRefresh.sqf create mode 100644 addons/admin/functions/fnc_adminTransfer.sqf create mode 100644 addons/admin/functions/fnc_initAdmin.sqf create mode 100644 addons/admin/functions/fnc_openAdmin.sqf create mode 100644 addons/admin/functions/fnc_printAddonName.sqf create mode 100644 addons/admin/script_component.hpp create mode 100644 addons/admin/ui/RscAdmin.hpp create mode 100644 addons/admin/ui/RscCommon.hpp create mode 100644 addons/ambient/$PBOPREFIX$ create mode 100644 addons/ambient/CfgEventHandlers.hpp create mode 100644 addons/ambient/XEH_PREP.hpp create mode 100644 addons/ambient/XEH_postInit.sqf create mode 100644 addons/ambient/XEH_postInit_client.sqf create mode 100644 addons/ambient/XEH_preInit.sqf create mode 100644 addons/ambient/XEH_preInit_server.sqf create mode 100644 addons/ambient/XEH_preStart.sqf create mode 100644 addons/ambient/config.cpp create mode 100644 addons/ambient/functions/fnc_ambientSound.sqf create mode 100644 addons/ambient/script_component.hpp create mode 100644 addons/arsenal/$PBOPREFIX$ create mode 100644 addons/arsenal/CfgEventHandlers.hpp create mode 100644 addons/arsenal/XEH_PREP.hpp create mode 100644 addons/arsenal/XEH_postInit.sqf create mode 100644 addons/arsenal/XEH_postInit_client.sqf create mode 100644 addons/arsenal/XEH_preInit.sqf create mode 100644 addons/arsenal/XEH_preInit_server.sqf create mode 100644 addons/arsenal/XEH_preStart.sqf create mode 100644 addons/arsenal/config.cpp create mode 100644 addons/arsenal/functions/fnc_addArmoryItem.sqf create mode 100644 addons/arsenal/functions/fnc_addGarageVehicle.sqf create mode 100644 addons/arsenal/functions/fnc_addVirtualVehicles.sqf create mode 100644 addons/arsenal/functions/fnc_initArsenal.sqf create mode 100644 addons/arsenal/functions/fnc_openArmory.sqf create mode 100644 addons/arsenal/functions/fnc_openGarage.sqf create mode 100644 addons/arsenal/functions/fnc_saveUnlocks.sqf create mode 100644 addons/arsenal/functions/fnc_updateUnlocks.sqf create mode 100644 addons/arsenal/script_component.hpp create mode 100644 addons/bank/$PBOPREFIX$ create mode 100644 addons/bank/CfgEventHandlers.hpp create mode 100644 addons/bank/XEH_PREP.hpp create mode 100644 addons/bank/XEH_postInit.sqf create mode 100644 addons/bank/XEH_postInit_client.sqf create mode 100644 addons/bank/XEH_preInit.sqf create mode 100644 addons/bank/XEH_preInit_server.sqf create mode 100644 addons/bank/XEH_preStart.sqf create mode 100644 addons/bank/config.cpp create mode 100644 addons/bank/functions/fnc_deposit.sqf create mode 100644 addons/bank/functions/fnc_initBank.sqf create mode 100644 addons/bank/functions/fnc_openBank.sqf create mode 100644 addons/bank/functions/fnc_refresh.sqf create mode 100644 addons/bank/functions/fnc_submit.sqf create mode 100644 addons/bank/functions/fnc_transfer.sqf create mode 100644 addons/bank/functions/fnc_withdraw.sqf create mode 100644 addons/bank/script_component.hpp create mode 100644 addons/bank/stringtable.xml create mode 100644 addons/bank/ui/BaseControls.hpp create mode 100644 addons/bank/ui/RscBankDialog.hpp create mode 100644 addons/briefing/$PBOPREFIX$ create mode 100644 addons/briefing/CfgEventHandlers.hpp create mode 100644 addons/briefing/XEH_PREP.hpp create mode 100644 addons/briefing/XEH_postInit.sqf create mode 100644 addons/briefing/XEH_postInit_client.sqf create mode 100644 addons/briefing/XEH_preInit.sqf create mode 100644 addons/briefing/XEH_preInit_server.sqf create mode 100644 addons/briefing/XEH_preStart.sqf create mode 100644 addons/briefing/config.cpp create mode 100644 addons/briefing/functions/fnc_endSlideShow.sqf create mode 100644 addons/briefing/functions/fnc_initSlideShow.sqf create mode 100644 addons/briefing/functions/fnc_nextImage.sqf create mode 100644 addons/briefing/functions/fnc_prevImage.sqf create mode 100644 addons/briefing/functions/fnc_spawnLecture.sqf create mode 100644 addons/briefing/functions/fnc_spawnPresentation.sqf create mode 100644 addons/briefing/functions/fnc_startSlideShow.sqf create mode 100644 addons/briefing/script_component.hpp create mode 100644 addons/db/$PBOPREFIX$ create mode 100644 addons/db/CfgEventHandlers.hpp create mode 100644 addons/db/XEH_PREP.hpp create mode 100644 addons/db/XEH_postInit.sqf create mode 100644 addons/db/XEH_postInit_client.sqf create mode 100644 addons/db/XEH_preInit.sqf create mode 100644 addons/db/XEH_preInit_server.sqf create mode 100644 addons/db/XEH_preStart.sqf create mode 100644 addons/db/config.cpp create mode 100644 addons/db/functions/fnc_saveToMission.sqf create mode 100644 addons/db/functions/fnc_saveToProfile.sqf create mode 100644 addons/db/functions/fnc_saveToTempDB.sqf create mode 100644 addons/db/script_component.hpp create mode 100644 addons/dialogue/$PBOPREFIX$ create mode 100644 addons/dialogue/CfgEventHandlers.hpp create mode 100644 addons/dialogue/XEH_PREP.hpp create mode 100644 addons/dialogue/XEH_postInit.sqf create mode 100644 addons/dialogue/XEH_postInit_client.sqf create mode 100644 addons/dialogue/XEH_preInit.sqf create mode 100644 addons/dialogue/XEH_preInit_server.sqf create mode 100644 addons/dialogue/XEH_preStart.sqf create mode 100644 addons/dialogue/config.cpp create mode 100644 addons/dialogue/functions/fnc_selectAI.sqf create mode 100644 addons/dialogue/functions/fnc_selectDialogue.sqf create mode 100644 addons/dialogue/script_component.hpp create mode 100644 addons/garage/$PBOPREFIX$ create mode 100644 addons/garage/CfgEventHandlers.hpp create mode 100644 addons/garage/README.md create mode 100644 addons/garage/XEH_PREP.hpp create mode 100644 addons/garage/XEH_postInit.sqf create mode 100644 addons/garage/XEH_postInit_client.sqf create mode 100644 addons/garage/XEH_preInit.sqf create mode 100644 addons/garage/XEH_preInit_server.sqf create mode 100644 addons/garage/XEH_preStart.sqf create mode 100644 addons/garage/config.cpp create mode 100644 addons/garage/functions/fnc_fetchGarage.sqf create mode 100644 addons/garage/functions/fnc_fetchNearby.sqf create mode 100644 addons/garage/functions/fnc_initGarage.sqf create mode 100644 addons/garage/functions/fnc_openGarage.sqf create mode 100644 addons/garage/functions/fnc_spawnVehicle.sqf create mode 100644 addons/garage/functions/fnc_storeVehicle.sqf create mode 100644 addons/garage/script_component.hpp create mode 100644 addons/garage/stringtable.xml create mode 100644 addons/garage/ui/BaseControls.hpp create mode 100644 addons/garage/ui/RscGarageDialog.hpp create mode 100644 addons/init/$PBOPREFIX$ create mode 100644 addons/init/CfgEventHandlers.hpp create mode 100644 addons/init/XEH_PREP.hpp create mode 100644 addons/init/XEH_postInit.sqf create mode 100644 addons/init/XEH_postInit_client.sqf create mode 100644 addons/init/XEH_preInit.sqf create mode 100644 addons/init/XEH_preInit_server.sqf create mode 100644 addons/init/XEH_preStart.sqf create mode 100644 addons/init/config.cpp create mode 100644 addons/init/functions/fnc_handlePlayerLoad.sqf create mode 100644 addons/init/functions/fnc_initPlayer.sqf create mode 100644 addons/init/functions/fnc_playerDBLoad.sqf create mode 100644 addons/init/functions/fnc_playerDBSave.sqf create mode 100644 addons/init/functions/fnc_playerSaveLoop.sqf create mode 100644 addons/init/script_component.hpp create mode 100644 addons/interaction/$PBOPREFIX$ create mode 100644 addons/interaction/CfgEventHandlers.hpp create mode 100644 addons/interaction/CfgVehicles.hpp create mode 100644 addons/interaction/README.md create mode 100644 addons/interaction/XEH_PREP.hpp create mode 100644 addons/interaction/XEH_postInit.sqf create mode 100644 addons/interaction/XEH_postInit_client.sqf create mode 100644 addons/interaction/XEH_preInit.sqf create mode 100644 addons/interaction/XEH_preInit_server.sqf create mode 100644 addons/interaction/XEH_preStart.sqf create mode 100644 addons/interaction/config.cpp create mode 100644 addons/interaction/functions/fnc_initInteraction.sqf create mode 100644 addons/interaction/functions/fnc_interactionAction.sqf create mode 100644 addons/interaction/functions/fnc_openInteraction.sqf create mode 100644 addons/interaction/script_component.hpp create mode 100644 addons/interaction/ui/RscCommon.hpp create mode 100644 addons/interaction/ui/RscInteraction.hpp create mode 100644 addons/locker/$PBOPREFIX$ create mode 100644 addons/locker/CfgEventHandlers.hpp create mode 100644 addons/locker/README.md create mode 100644 addons/locker/XEH_PREP.hpp create mode 100644 addons/locker/XEH_postInit.sqf create mode 100644 addons/locker/XEH_postInit_client.sqf create mode 100644 addons/locker/XEH_preInit.sqf create mode 100644 addons/locker/XEH_preInit_server.sqf create mode 100644 addons/locker/XEH_preStart.sqf create mode 100644 addons/locker/config.cpp create mode 100644 addons/locker/functions/fnc_equipGear.sqf create mode 100644 addons/locker/functions/fnc_fetchLocker.sqf create mode 100644 addons/locker/functions/fnc_fetchPlayer.sqf create mode 100644 addons/locker/functions/fnc_initLocker.sqf create mode 100644 addons/locker/functions/fnc_openLocker.sqf create mode 100644 addons/locker/functions/fnc_storeGear.sqf create mode 100644 addons/locker/script_component.hpp create mode 100644 addons/locker/stringtable.xml create mode 100644 addons/locker/ui/BaseControls.hpp create mode 100644 addons/locker/ui/RscLockerDialog.hpp create mode 100644 addons/main/$PBOPREFIX$ create mode 100644 addons/main/CfgEditorCategories.hpp create mode 100644 addons/main/CfgEditorSubcategories.hpp create mode 100644 addons/main/CfgMPGameTypes.hpp create mode 100644 addons/main/CfgMods.hpp create mode 100644 addons/main/CfgNotifications.hpp create mode 100644 addons/main/README.md create mode 100644 addons/main/config.cpp create mode 100644 addons/main/script_component.hpp create mode 100644 addons/main/script_macros.hpp create mode 100644 addons/main/script_mod.hpp create mode 100644 addons/main/script_version.hpp create mode 100644 addons/medical/$PBOPREFIX$ create mode 100644 addons/medical/CfgEventHandlers.hpp create mode 100644 addons/medical/CfgVehicles.hpp create mode 100644 addons/medical/XEH_PREP.hpp create mode 100644 addons/medical/XEH_postInit.sqf create mode 100644 addons/medical/XEH_postInit_client.sqf create mode 100644 addons/medical/XEH_preInit.sqf create mode 100644 addons/medical/XEH_preInit_server.sqf create mode 100644 addons/medical/XEH_preStart.sqf create mode 100644 addons/medical/config.cpp create mode 100644 addons/medical/functions/fnc_deductMedicalCost.sqf create mode 100644 addons/medical/functions/fnc_heartBeat.sqf create mode 100644 addons/medical/functions/fnc_initMedical.sqf create mode 100644 addons/medical/functions/fnc_moveInventory.sqf create mode 100644 addons/medical/functions/fnc_onKilled.sqf create mode 100644 addons/medical/functions/fnc_onRespawn.sqf create mode 100644 addons/medical/functions/fnc_saveDroppedWeapons.sqf create mode 100644 addons/medical/script_component.hpp create mode 100644 addons/misc/$PBOPREFIX$ create mode 100644 addons/misc/CfgEventHandlers.hpp create mode 100644 addons/misc/XEH_PREP.hpp create mode 100644 addons/misc/XEH_postInit.sqf create mode 100644 addons/misc/XEH_postInit_client.sqf create mode 100644 addons/misc/XEH_preInit.sqf create mode 100644 addons/misc/XEH_preInit_server.sqf create mode 100644 addons/misc/XEH_preStart.sqf create mode 100644 addons/misc/config.cpp create mode 100644 addons/misc/functions/fnc_cargoToPairs.sqf create mode 100644 addons/misc/functions/fnc_formatNumber.sqf create mode 100644 addons/misc/functions/fnc_isAssignableBinocular.sqf create mode 100644 addons/misc/functions/fnc_isWeaponType.sqf create mode 100644 addons/misc/functions/fnc_notify.sqf create mode 100644 addons/misc/functions/fnc_test.sqf create mode 100644 addons/misc/script_component.hpp create mode 100644 addons/money/$PBOPREFIX$ create mode 100644 addons/money/CfgEventHandlers.hpp create mode 100644 addons/money/XEH_PREP.hpp create mode 100644 addons/money/XEH_postInit.sqf create mode 100644 addons/money/XEH_postInit_client.sqf create mode 100644 addons/money/XEH_preInit.sqf create mode 100644 addons/money/XEH_preInit_server.sqf create mode 100644 addons/money/XEH_preStart.sqf create mode 100644 addons/money/config.cpp create mode 100644 addons/money/functions/fnc_giveCash.sqf create mode 100644 addons/money/functions/fnc_giveCashSubmit.sqf create mode 100644 addons/money/functions/fnc_takeCash.sqf create mode 100644 addons/money/script_component.hpp create mode 100644 addons/money/ui/RscCommon.hpp create mode 100644 addons/money/ui/RscGiveCash.hpp create mode 100644 addons/phone/$PBOPREFIX$ create mode 100644 addons/phone/CfgEventHandlers.hpp create mode 100644 addons/phone/CfgSounds.hpp create mode 100644 addons/phone/XEH_PREP.hpp create mode 100644 addons/phone/XEH_postInit.sqf create mode 100644 addons/phone/XEH_postInit_client.sqf create mode 100644 addons/phone/XEH_preInit.sqf create mode 100644 addons/phone/XEH_preInit_server.sqf create mode 100644 addons/phone/XEH_preStart.sqf create mode 100644 addons/phone/config.cpp create mode 100644 addons/phone/functions/fnc_addContact.sqf create mode 100644 addons/phone/functions/fnc_addEmail.sqf create mode 100644 addons/phone/functions/fnc_addMsg.sqf create mode 100644 addons/phone/functions/fnc_addOfflineEmail.sqf create mode 100644 addons/phone/functions/fnc_addOfflineMsg.sqf create mode 100644 addons/phone/functions/fnc_dateToHhMm.sqf create mode 100644 addons/phone/functions/fnc_delEmail.sqf create mode 100644 addons/phone/functions/fnc_delMsg.sqf create mode 100644 addons/phone/functions/fnc_initAction.sqf create mode 100644 addons/phone/functions/fnc_initAddAction.sqf create mode 100644 addons/phone/functions/fnc_initPhone.sqf create mode 100644 addons/phone/functions/fnc_initVar.sqf create mode 100644 addons/phone/functions/fnc_newEmail.sqf create mode 100644 addons/phone/functions/fnc_newMsg.sqf create mode 100644 addons/phone/functions/fnc_openPhone.sqf create mode 100644 addons/phone/functions/fnc_sendEmail.sqf create mode 100644 addons/phone/functions/fnc_sendMsg.sqf create mode 100644 addons/phone/functions/fnc_showContact.sqf create mode 100644 addons/phone/functions/fnc_showDialpad.sqf create mode 100644 addons/phone/functions/fnc_showEmail.sqf create mode 100644 addons/phone/functions/fnc_showMessage.sqf create mode 100644 addons/phone/functions/fnc_showMessageInput.sqf create mode 100644 addons/phone/functions/fnc_showSafari.sqf create mode 100644 addons/phone/functions/fnc_viewContacts.sqf create mode 100644 addons/phone/functions/fnc_viewEmail.sqf create mode 100644 addons/phone/functions/fnc_viewMessages.sqf create mode 100644 addons/phone/functions/fnc_viewSettings.sqf create mode 100644 addons/phone/script_component.hpp create mode 100644 addons/phone/sounds/newMsg.ogg create mode 100644 addons/phone/sounds/woop.ogg create mode 100644 addons/phone/ui/RscCommon.hpp create mode 100644 addons/phone/ui/RscPhone.hpp create mode 100644 addons/phone/ui/data/avatar.paa create mode 100644 addons/phone/ui/data/bgdark_01.paa create mode 100644 addons/phone/ui/data/bgdark_02.paa create mode 100644 addons/phone/ui/data/bglight_01.paa create mode 100644 addons/phone/ui/data/bglight_02.paa create mode 100644 addons/phone/ui/data/camera.paa create mode 100644 addons/phone/ui/data/camera_sel.paa create mode 100644 addons/phone/ui/data/contacts.paa create mode 100644 addons/phone/ui/data/contacts_sel.paa create mode 100644 addons/phone/ui/data/credits.paa create mode 100644 addons/phone/ui/data/mail.paa create mode 100644 addons/phone/ui/data/mail_sel.paa create mode 100644 addons/phone/ui/data/mobile_frame.paa create mode 100644 addons/phone/ui/data/mobile_frame_ca.paa create mode 100644 addons/phone/ui/data/no0.paa create mode 100644 addons/phone/ui/data/no0_sel.paa create mode 100644 addons/phone/ui/data/no1.paa create mode 100644 addons/phone/ui/data/no1_sel.paa create mode 100644 addons/phone/ui/data/no2.paa create mode 100644 addons/phone/ui/data/no2_sel.paa create mode 100644 addons/phone/ui/data/no3.paa create mode 100644 addons/phone/ui/data/no3_sel.paa create mode 100644 addons/phone/ui/data/no4.paa create mode 100644 addons/phone/ui/data/no4_sel.paa create mode 100644 addons/phone/ui/data/no5.paa create mode 100644 addons/phone/ui/data/no5_sel.paa create mode 100644 addons/phone/ui/data/no6.paa create mode 100644 addons/phone/ui/data/no6_sel.paa create mode 100644 addons/phone/ui/data/no7.paa create mode 100644 addons/phone/ui/data/no7_sel.paa create mode 100644 addons/phone/ui/data/no8.paa create mode 100644 addons/phone/ui/data/no8_sel.paa create mode 100644 addons/phone/ui/data/no9.paa create mode 100644 addons/phone/ui/data/no9_sel.paa create mode 100644 addons/phone/ui/data/phone.paa create mode 100644 addons/phone/ui/data/phone_sel.paa create mode 100644 addons/phone/ui/data/photos.paa create mode 100644 addons/phone/ui/data/photos_sel.paa create mode 100644 addons/phone/ui/data/pound.paa create mode 100644 addons/phone/ui/data/pound_sel.paa create mode 100644 addons/phone/ui/data/safari.paa create mode 100644 addons/phone/ui/data/safari_sel.paa create mode 100644 addons/phone/ui/data/settings.paa create mode 100644 addons/phone/ui/data/settings_sel.paa create mode 100644 addons/phone/ui/data/sms.paa create mode 100644 addons/phone/ui/data/sms_sel.paa create mode 100644 addons/phone/ui/data/star.paa create mode 100644 addons/phone/ui/data/star_sel.paa create mode 100644 addons/phone/ui/data/store.paa create mode 100644 addons/phone/ui/data/store_sel.paa create mode 100644 addons/player/$PBOPREFIX$ create mode 100644 addons/player/CfgEventHandlers.hpp create mode 100644 addons/player/XEH_PREP.hpp create mode 100644 addons/player/XEH_postInit.sqf create mode 100644 addons/player/XEH_postInit_client.sqf create mode 100644 addons/player/XEH_preInit.sqf create mode 100644 addons/player/XEH_preInit_server.sqf create mode 100644 addons/player/XEH_preStart.sqf create mode 100644 addons/player/config.cpp create mode 100644 addons/player/functions/fnc_firstLogin.sqf create mode 100644 addons/player/script_component.hpp create mode 100644 addons/service/$PBOPREFIX$ create mode 100644 addons/service/CfgEventHandlers.hpp create mode 100644 addons/service/XEH_PREP.hpp create mode 100644 addons/service/XEH_postInit.sqf create mode 100644 addons/service/XEH_postInit_client.sqf create mode 100644 addons/service/XEH_preInit.sqf create mode 100644 addons/service/XEH_preInit_server.sqf create mode 100644 addons/service/XEH_preStart.sqf create mode 100644 addons/service/config.cpp create mode 100644 addons/service/functions/fnc_fuel.sqf create mode 100644 addons/service/functions/fnc_init.sqf create mode 100644 addons/service/functions/fnc_rearm.sqf create mode 100644 addons/service/functions/fnc_refuel.sqf create mode 100644 addons/service/functions/fnc_repair.sqf create mode 100644 addons/service/functions/fnc_vehicle.sqf create mode 100644 addons/service/script_component.hpp create mode 100644 addons/store/$PBOPREFIX$ create mode 100644 addons/store/CfgEventHandlers.hpp create mode 100644 addons/store/XEH_PREP.hpp create mode 100644 addons/store/XEH_postInit.sqf create mode 100644 addons/store/XEH_postInit_client.sqf create mode 100644 addons/store/XEH_preInit.sqf create mode 100644 addons/store/XEH_preInit_server.sqf create mode 100644 addons/store/XEH_preStart.sqf create mode 100644 addons/store/config.cpp create mode 100644 addons/store/functions/fnc_buyItem.sqf create mode 100644 addons/store/functions/fnc_buyVehicle.sqf create mode 100644 addons/store/functions/fnc_changeFilter.sqf create mode 100644 addons/store/functions/fnc_changePayment.sqf create mode 100644 addons/store/functions/fnc_handlePurchase.sqf create mode 100644 addons/store/functions/fnc_initStore.sqf create mode 100644 addons/store/functions/fnc_openStore.sqf create mode 100644 addons/store/functions/fnc_selectProduct.sqf create mode 100644 addons/store/script_component.hpp create mode 100644 addons/store/stringtable.xml create mode 100644 addons/store/ui/BaseControls.hpp create mode 100644 addons/store/ui/RscStoreDialog.hpp create mode 100644 addons/task/$PBOPREFIX$ create mode 100644 addons/task/CfgEventHandlers.hpp create mode 100644 addons/task/XEH_PREP.hpp create mode 100644 addons/task/XEH_postInit.sqf create mode 100644 addons/task/XEH_postInit_client.sqf create mode 100644 addons/task/XEH_preInit.sqf create mode 100644 addons/task/XEH_preInit_server.sqf create mode 100644 addons/task/XEH_preStart.sqf create mode 100644 addons/task/config.cpp create mode 100644 addons/task/functions/fnc_attack.sqf create mode 100644 addons/task/functions/fnc_defuse.sqf create mode 100644 addons/task/functions/fnc_destroy.sqf create mode 100644 addons/task/functions/fnc_handler.sqf create mode 100644 addons/task/functions/fnc_heartBeat.sqf create mode 100644 addons/task/functions/fnc_hostage.sqf create mode 100644 addons/task/functions/fnc_hvt.sqf create mode 100644 addons/task/functions/fnc_makeHVT.sqf create mode 100644 addons/task/functions/fnc_makeHostage.sqf create mode 100644 addons/task/functions/fnc_makeIED.sqf create mode 100644 addons/task/functions/fnc_makeObject.sqf create mode 100644 addons/task/functions/fnc_makeTarget.sqf create mode 100644 addons/task/script_component.hpp create mode 100644 icon_128_ca.paa create mode 100644 icon_128_highlight_ca.paa create mode 100644 icon_64_ca.paa create mode 100644 include/a3/data_f/$PBOPREFIX$ create mode 100644 include/a3/data_f/default.rvmat create mode 100644 include/a3/data_f/default_vehicle_ti_ca.paa create mode 100644 include/a3/data_f/penetration/cloth.rvmat create mode 100644 include/a3/data_f/penetration/default.rvmat create mode 100644 include/a3/data_f/penetration/metal.rvmat create mode 100644 include/a3/data_f/penetration/metal_plate.rvmat create mode 100644 include/a3/data_f/penetration/metal_plate_thin.rvmat create mode 100644 include/a3/data_f/penetration/plastic.rvmat create mode 100644 include/a3/data_f/penetration/tyre.rvmat create mode 100644 include/a3/data_f/penetration/wood.rvmat create mode 100644 include/a3/editor_f/$PBOPREFIX$ create mode 100644 include/a3/editor_f/data/scripts/dikCodes.h create mode 100644 include/a3/ui_f/$PBOPREFIX$ create mode 100644 include/a3/ui_f/hpp/defineCommonColors.inc create mode 100644 include/a3/ui_f/hpp/defineCommonGrids.inc create mode 100644 include/a3/ui_f/hpp/defineDIKCodes.inc create mode 100644 include/a3/ui_f/hpp/defineResincl.inc create mode 100644 include/a3/ui_f/hpp/defineResinclDesign.inc create mode 100644 include/a3/ui_f_curator/$PBOPREFIX$ create mode 100644 include/a3/ui_f_curator/ui/defineResinclDesign.inc create mode 100644 include/a3/ui_f_curator/ui/displays/RscDisplayAttributes.sqf create mode 100644 include/x/cba/addons/main/$PBOPREFIX$ create mode 100644 include/x/cba/addons/main/script_component.hpp create mode 100644 include/x/cba/addons/main/script_macros.hpp create mode 100644 include/x/cba/addons/main/script_macros_common.hpp create mode 100644 include/x/cba/addons/main/script_macros_config.hpp create mode 100644 include/x/cba/addons/main/script_macros_mission.hpp create mode 100644 include/x/cba/addons/xeh/$PBOPREFIX$ create mode 100644 include/x/cba/addons/xeh/script_component.hpp create mode 100644 include/x/cba/addons/xeh/script_macros_common.hpp create mode 100644 include/x/cba/addons/xeh/script_xeh.hpp create mode 100644 include/z/ace/addons/common/$PBOPREFIX$ create mode 100644 include/z/ace/addons/common/script_component.hpp create mode 100644 include/z/ace/addons/main/$PBOPREFIX$ create mode 100644 include/z/ace/addons/main/script_component.hpp create mode 100644 include/z/ace/addons/main/script_debug.hpp create mode 100644 include/z/ace/addons/main/script_macros.hpp create mode 100644 include/z/ace/addons/main/script_mod.hpp create mode 100644 include/z/ace/addons/main/script_version.hpp create mode 100644 main.go create mode 100644 mod.cpp create mode 100644 title_co.paa create mode 100644 tools/sqf_validator.py create mode 100644 tools/version_bumper.py diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..7450016 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,32 @@ +--- +name: Bug report +about: Report a bug related to the framework. +title: "[addon name] - [short description]" +labels: bug +assignees: JSchmidt92 + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Mission file** +The mission where the issue occured. + +**Log file** +The log file generated by the game. + +**Additional context** +Add any other context about the problem here. \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..dba31c7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: Request - [short description] +labels: '' +assignees: JSchmidt92 + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..cc878bf --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,4 @@ +**When merged this pull request will:** +- Describe what this pull request will do +- Each change in a separate line +- Follow title standard `Module - Add|Fix|Improve|Change|Remove things` \ No newline at end of file diff --git a/.github/release_drafter.yml b/.github/release_drafter.yml new file mode 100644 index 0000000..f83a4a4 --- /dev/null +++ b/.github/release_drafter.yml @@ -0,0 +1,33 @@ +branches: + - master + +name-template: "forge_client_v$NEXT_PATCH_VERSION" +tag-template: "$NEXT_PATCH_VERSION" + +categories: + - title: "**ADDED:**" + labels: + - "feature" + - title: "**FIXED:**" + labels: + - "bug fix" + - title: "**IMPROVED:**" + labels: + - "enhancement" + - title: "**CHANGED:**" + labels: + - "cleanup" + +exclude-labels: + - "ignore changelog" + +change-template: "- $TITLE (#$NUMBER)" +template: | + ## Change Log Summary + + $CHANGES + +replacers: + # Category titles + - search: '/\#\# (\*\*(ADDED|FIXED|IMPROVED|CHANGED):\*\*)/g' + replace: "$1" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..0b78e31 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,50 @@ +name: Build + +on: + push: + branches: [master] + paths-ignore: + - ".github/**" + - "addons/main/script_version.hpp" + - "docs/**" + - "tools/**" + - "LICENSE" + - "README.md" + - "*.json" + workflow_dispatch: + +jobs: + build: + name: Build + runs-on: ubuntu-22.04 + steps: + - name: Checkout Source Code + uses: actions/checkout@v4 + + - name: Bump Version + id: bump-version + run: python3 tools/version_bumper.py increment_build push_commit + + - name: Setup HEMTT + uses: arma-actions/hemtt@v1 + + - name: Run HEMTT build + run: hemtt release + + - name: Setup Go + uses: actions/setup-go@v4 + with: + go-version: 'stable' + + - name: Initialize or Update Go module + run: | + if [ ! -f go.mod ]; then + go mod init gitea.innovativedevsolutions.org/IDSolutions/client + fi + go get code.gitea.io/sdk/gitea + + - name: Run Release Action + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + VERSION: ${{ steps.bump-version.outputs.VERSION }} + run: go run main.go \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7cd12b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,410 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml + +# Hemtt +*.pbo +.hemttout +hemtt +hemtt.exe +*.biprivatekey + + +# Added by cargo + +/target diff --git a/.hemtt/project.toml b/.hemtt/project.toml new file mode 100644 index 0000000..bb6087e --- /dev/null +++ b/.hemtt/project.toml @@ -0,0 +1,21 @@ +name = "FORGE Client" +author = "IDSolutions" +prefix = "forge_client" +mainprefix = "z" + +[files] +include = [ + "*.dll", + "*.so", + "*.json", + "mod.cpp", + "README.md", + "LICENSE", + "icon_64_ca.paa", + "icon_128_ca.paa", + "icon_128_highlight_ca.paa", + "title_co.paa" +] + +[version] +git_hash = 0 \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7388a16 --- /dev/null +++ b/LICENSE @@ -0,0 +1,112 @@ +Copyright (c) 2024 IDSolutions + +Brief summary of this Licence + +PLEASE, NOTE THAT THIS SUMMARY HAS NO LEGAL EFFECT AND IS ONLY OF AN INFORMATORY NATURE DESIGNED FOR YOU TO GET THE BASIC INFORMATION ABOUT THE CONTENT OF THIS LICENCE. THE ONLY LEGALLY BINDING PROVISIONS ARE THOSE IN THE ORIGINAL AND FULL TEXT OF THIS LICENCE. + +With this licence you are free to adapt (i.e. modify, rework or update) and share (i.e. copy, distribute or transmit) the material under the following conditions: + + Attribution - You must attribute the material in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the material). + Noncommercial - You may not use this material for any commercial purposes. + Arma Only - You may not convert or adapt this material to be used in other games than Arma. + No Derivatives - If you remix, transform, or build upon the material, you may not distribute the modified material. + +Full version of licence + +By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Arma Public License – No Derivatives ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions. +Section 1 – Definitions + + Adapted Material means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image. + ArmaOnly means primarily intended for or directed towards the use in any of existing and future Arma games, including but not limited to Arma: Cold War Assault, Arma, Arma 2 and Arma 3 and its official sequels and expansion packs. + Copyright and Similar Rights means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + Effective Technological Measures means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements. + Exceptions and Limitations means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material. + Licensed Material means the artistic or literary work, database, or other material to which the Licensor applied this Public License. + Licensed Rights means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license. + Licensor means the individual(s) or entity(ies) granting rights under this Public License. + NonCommercial means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange. + Share means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them. + Sui Generis Database Rights means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world. + You means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning. + +Section 2 – Scope + + License grant + 1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to: + reproduce and Share the Licensed Material, in whole or in part, for NonCommercial and ArmaOnly purposes only; and + produce and reproduce for NonCommercial and ArmaOnly purposes only, but not Share Adapted Material. + Exceptions and Limitations For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions. + Term. The term of this Public License is specified in Section 6(a). + Media and formats; technical modifications allowed. The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material. + Downstream recipients. + Offer from the Licensor – Licensed Material. Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License. + No downstream restrictions. You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material. + No endorsement. Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(a)(i). + Other rights + Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise. + Patent and trademark rights are not licensed under this Public License. + To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial and ArmaOnly purposes. + +Section 3 – License Conditions + +Your exercise of the Licensed Rights is expressly made subject to the following conditions. + + Attribution + + If You Share the Licensed Material, You must: + retain the following if it is supplied by the Licensor with the Licensed Material: + identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated); + a copyright notice; + a notice that refers to this Public License; + a notice that refers to the disclaimer of warranties; + a URI or hyperlink to the Licensed Material to the extent reasonably practicable; + indicate if You modified the Licensed Material and retain an indication of any previous modifications; and + indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License. + + For the avoidance of doubt, You do not have permission under this Public License to Share Adapted Material. + You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information. + If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(a) to the extent reasonably practicable. + +Section 4 – Sui Generis Database Rights + +Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material: + + for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial and ArmaOnly purposes only, provided You do not Share Adapted Material; + if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and + You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights. +Section 5 – Disclaimer of Warranties and Limitation of Liability + + Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You. + To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You. + The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability. + +Section 6 – Term and Termination + + This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically. + + Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates: + automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or + upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License. + For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License. + Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + +Section 7 – Other Terms and Conditions + + The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed. + Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License. + +Section 8 – Interpretation + + For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License. + To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions. + No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor. + Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority. + +Bohemia Interactive Notices + + Bohemia Interactive a.s. is not a party to this License, and makes no warranty whatsoever in connection with the Licensed Material. Bohemia Interactive a.s. will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, Bohemia Interactive a.s. may elect to apply the Public License to material it publishes and in those instances it becomes the "Licensor". + Except for the limited purpose of indicating to the public that the Licensed Material is shared under this Public License, Bohemia Interactive a.s. does not authorize the use by either party of the trademarks "Arma", "Bohemia Interactive" or any related trademark or logo of Arma or Bohemia Interactive without the prior written consent of Bohemia Interactive a.s. diff --git a/README.md b/README.md new file mode 100644 index 0000000..1f738b2 --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ +

+ + latest-release + + open-issues + + build-status +

+ +Arma 3 FORGE: Build Your Legacy\ +Version: Alpha 0.1.0 + +[Development Status: Active] + +--- + +Step into a new era of military simulation with Arma 3 FORGE, a revolutionary framework that transforms Arma 3 into a dynamic persistent world. Create powerful organizations, manage complex operations, and leave your mark on the battlefield. + +Key Features: +--- +* Strategic Command: From recruitment to deployment, shape your organization into a formidable fighting force. Train operatives, establish hierarchies, and build a name that others will respect or fear +* Living Battlefield: Take on missions that evolve based on your reputation and past actions. Every choice ripples through the world, opening new opportunities or creating powerful enemies +* Financial Empire: Master a deep economic system where success breeds opportunity. Manage operational funds, invest in equipment, and watch your influence grow through smart resource management +* Combat Readiness: Unlock and customize an expanding arsenal of weapons and equipment. Your armory grows with your success, giving your operatives the edge they need +* Logistics Network: Command a fleet of vehicles and assets. From transport to combat support, build the infrastructure that keeps your operations running +* Operations Hub: Transform your headquarters into a powerhouse of strategic planning. Coordinate missions, manage resources, and direct your forces from a central command center +* Global Influence: Form alliances, manipulate rivalries, and navigate complex political landscapes that shift with your actions +* Endless Possibilities: A modular foundation designed for expansion. Seamlessly integrate new content and shape your perfect military simulation +* Connected World: Forge your path in a persistent multiplayer environment where organizations clash and cooperate for dominance + +Arma 3 FORGE delivers a foundation for endless possibilities. Whether commanding elite PMC units, running tactical operations, or building a military empire, your choices create lasting impact. + +Perfect for: +* Commanders seeking strategic depth +* Communities wanting persistent progression +* Players driven by meaningful advancement +* Mod developers building next-gen experiences + +Arma 3 FORGE - Where every decision shapes your legacy, every mission builds your reputation, and every operation writes your story. + +Join us in forging the future of military simulation. + +Coming Features: +* Advanced Multiplayer Competition +* Rival Organization Mechanics + +Support & Contributions +--- +* Lead Developer: Jacob Schmidt +* Contributors: + * Creedcoder for his invaluable assistance and input. +* Special Thanks: To the Arma 3 community for their ongoing support and feedback. + +License: +--- +This mod is licensed under the [Arma Public License (APL-SA)](https://www.bohemia.net/community/licenses/arma-public-license-share-alike). Please refer to the LICENSE file for more information on usage and distribution rights. diff --git a/a3f_client_version.json b/a3f_client_version.json new file mode 100644 index 0000000..1587a66 --- /dev/null +++ b/a3f_client_version.json @@ -0,0 +1,3 @@ +{ + "version": "1.0.0" +} diff --git a/addons/admin/$PBOPREFIX$ b/addons/admin/$PBOPREFIX$ new file mode 100644 index 0000000..68e9f12 --- /dev/null +++ b/addons/admin/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\admin \ No newline at end of file diff --git a/addons/admin/CfgEventHandlers.hpp b/addons/admin/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/admin/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/admin/XEH_PREP.hpp b/addons/admin/XEH_PREP.hpp new file mode 100644 index 0000000..d510380 --- /dev/null +++ b/addons/admin/XEH_PREP.hpp @@ -0,0 +1,7 @@ +PREP(adminMessage); +PREP(adminPromote); +PREP(adminRefresh); +PREP(adminTransfer); +PREP(initAdmin); +PREP(openAdmin); +PREP(printAddonName); \ No newline at end of file diff --git a/addons/admin/XEH_postInit.sqf b/addons/admin/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/admin/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/admin/XEH_postInit_client.sqf b/addons/admin/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/admin/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/admin/XEH_preInit.sqf b/addons/admin/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/admin/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/admin/XEH_preInit_server.sqf b/addons/admin/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/admin/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/admin/XEH_preStart.sqf b/addons/admin/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/admin/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/admin/config.cpp b/addons/admin/config.cpp new file mode 100644 index 0000000..26e0730 --- /dev/null +++ b/addons/admin/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "ui\RscCommon.hpp" +#include "ui\RscAdmin.hpp" \ No newline at end of file diff --git a/addons/admin/functions/fnc_adminMessage.sqf b/addons/admin/functions/fnc_adminMessage.sqf new file mode 100644 index 0000000..31115c7 --- /dev/null +++ b/addons/admin/functions/fnc_adminMessage.sqf @@ -0,0 +1,30 @@ +#include "..\script_component.hpp" + +private ["_data", "_dialog", "_list", "_target", "_targetValue", "_textBox", "_textMessage"]; + +_dialog = findDisplay 202303; +_list = _dialog displayCtrl 2023001; +_textBox = _dialog displayCtrl 2023006; +_targetValue = lbCurSel _list; +_data = _list lbData _targetValue; + +if ((isNil {_data})) exitWith { hintSilent "You did not select a player!" }; + +{ + if (str (name (_x)) == str _data) then { + _target = _x; + }; +} forEach playableUnits; + +hintSilent format ["Player Selected. You have selected %1", _target]; + +if (isNil "_target") then { + hintSilent "Please Select an Active Player First!" +} else { + _textMessage = ctrlText _textBox; + [_target, _textMessage] remoteExec ["forge_server_misc_fnc_textMessage", 2]; + + // [format ["Message sent to %1:
%2", _target, _textMessage], "blue-grey", 3] call EFUNC(misc,notify); +}; + +["dummy"] call FUNC(adminRefresh); \ No newline at end of file diff --git a/addons/admin/functions/fnc_adminPromote.sqf b/addons/admin/functions/fnc_adminPromote.sqf new file mode 100644 index 0000000..b28272f --- /dev/null +++ b/addons/admin/functions/fnc_adminPromote.sqf @@ -0,0 +1,31 @@ +#include "..\script_component.hpp" + +params [["_condition", "", [""]]]; +private ["_data", "_data2", "_dialog", "_list", "_list2", "_paygrade", "_rankValue", "_target", "_targetValue"]; + +_dialog = findDisplay 202303; +_list = _dialog displayCtrl 2023001; +_list2 = _dialog displayCtrl 2023003; +_targetValue = lbCurSel _list; +_rankValue = lbCurSel _list2; +_data = _list lbData _targetValue; +_data2 = call compile format ["%1", (_list2 lbData _rankValue)]; +_paygrade = _data2 select 0; + +if ((isNil {_data})) exitWith { hintSilent "You did not select a player!" }; +{ + if (str (name (_x)) == str _data) then { + _target = _x; + }; +} forEach playableUnits; + +switch (_condition) do { + case ("promote"): { + SETPVAR(_target,PayGrade,_paygrade) + }; + case ("demote"): { + SETPVAR(_target,PayGrade,_paygrade) + }; +}; + +["dummy"] call FUNC(adminRefresh); \ No newline at end of file diff --git a/addons/admin/functions/fnc_adminRefresh.sqf b/addons/admin/functions/fnc_adminRefresh.sqf new file mode 100644 index 0000000..01a1127 --- /dev/null +++ b/addons/admin/functions/fnc_adminRefresh.sqf @@ -0,0 +1,53 @@ +#include "..\script_component.hpp" + +params [["_condition", "", [""]], ["_amount", 0, [0]]]; + +private _newFunds = 0; +private _dialog = findDisplay 202303; +private _list = _dialog displayCtrl 2023001; + +switch (_condition) do { + case ("deduct"): { + _newFunds = companyFunds - _amount; + ctrlSetText [2023002, format ["$%1", (_newFunds call EFUNC(misc,formatNumber))]]; + }; + case ("advance"): { + _newFunds = companyFunds + _amount; + ctrlSetText [2023002, format ["$%1", (_newFunds call EFUNC(misc,formatNumber))]]; + }; + default { + lbClear _list; + + { + if (str (side _x) == str (playerSide)) then { + private _name = name (_x); + private _defaultPaygrade = "E1"; + private _paygrade = GETVAR(_x,PayGrade,_defaultPaygrade); + private _index = _list lbAdd format["%1 - %2", _name, _paygrade]; + + _list lbSetData [_index, name (_x)]; + }; + } forEach playableUnits; + + lbSetCurSel [2023001, 0]; + ctrlSetText [2023005, ""]; + ctrlSetText [2023006, ""]; + }; +}; + +lbClear _list; + +{ + if (str (side _x) == str (playerSide)) then { + private _name = name (_x); + private _defaultPaygrade = "E1"; + private _paygrade = GETVAR(_x,PayGrade,_defaultPaygrade); + private _index = _list lbAdd format["%1 - %2", _name, _paygrade]; + + _list lbSetData [_index, name (_x)]; + }; +} forEach playableUnits; + +lbSetCurSel [2023001, 0]; +ctrlSetText [2023005, ""]; +ctrlSetText [2023006, ""]; \ No newline at end of file diff --git a/addons/admin/functions/fnc_adminTransfer.sqf b/addons/admin/functions/fnc_adminTransfer.sqf new file mode 100644 index 0000000..9e64d41 --- /dev/null +++ b/addons/admin/functions/fnc_adminTransfer.sqf @@ -0,0 +1,92 @@ +#include "..\script_component.hpp" + +params [["_condition", "", [""]]]; + +private _dialog = findDisplay 202303; +private _list = _dialog displayCtrl 2023001; +private _targetValue = lbCurSel _list; +private _data = _list lbData _targetValue; +private _amount = round (parseNumber (ctrlText 2023005)); + +if ((isNil {_data})) exitWith { hint "You did not select a player!" }; + +{ + if (str (name (_x)) == str _data) then { + private _target = _x; + }; +} count playableUnits; + +switch (_condition) do { + case ("advance"): { + private _bank = GETVAR(_target,FORGE_Bank,0); + private _newBalance = _bank + _amount; + + if (_amount > companyFunds) exitWith { ["Not enough money in the company's account!", "warning", 3] call EFUNC(misc,notify) }; + + SETPVAR(_target,FORGE_Bank,_newBalance); + + ["deduct", _amount] call FUNC(adminRefresh); + ["deduct", _amount] remoteExecCall ["forge_server_money_fnc_handleFunds", 2]; + }; + case ("advanceAll"): { + private _count = count playableUnits; + + if ((10000 * _count) > companyFunds) exitWith { ["Not enough money in the company's account!", "warning", 3] call EFUNC(misc,notify) }; + + { + private _bank = GETVAR(_x,Cash_Bank,0); + private _newBalance = _bank + 10000; + + SETPVAR(_x,Cash_Bank,_newBalance); + } count playableUnits; + + ["deduct", (10000 * _count)] call FUNC(adminRefresh); + ["deduct", (10000 * _count)] remoteExecCall ["forge_server_money_fnc_handleFunds", 2]; + }; + case ("deduct"): { + private _bank = GETVAR(_target,FORGE_Bank,0); + private _newBalance = _bank - _amount; + + if (_amount > _bank) exitWith { ["Not enough money in the player's account!", "warning", 3] call EFUNC(misc,notify) }; + + SETPVAR(_target,FORGE_Bank,_newBalance); + + ["advance", _amount] call FUNC(adminRefresh); + ["advance", _amount] remoteExecCall ["forge_server_money_fnc_handleFunds", 2]; + }; + case ("payday"): { + private _totalPayment = 0; + private _paymentToDo = []; + private _payGrades = (missionConfigFile >> "FORGE_CfgPaygrades" >> "payGrades") call BIS_fnc_getCfgData; + + { + private _player = _x; + private _payGrade = GETVAR(_player,PayGrade,nil); + + { + _x params ["_payGradeIndex", "_payGradeBonus"]; + + if ((_x select 0) == _payGrade) then { + _paymentToDo pushBack [_player, _payGradeBonus]; + _totalPayment = _totalPayment + _payGradeBonus; + }; + } forEach _payGrades; + } count playableUnits; + + if (_totalPayment > companyFunds) exitWith { ["Not enough money in the company's account!", "warning", 3] call EFUNC(misc,notify) }; + + { + _x params ["_player", "_bonus"]; + + private _bank = GETVAR(_player,FORGE_Bank,0); + private _newBalance = _bank + _bonus; + + SETPVAR(_player,FORGE_Bank,_newBalance); + } count _paymentToDo; + + ["deduct", _totalPayment] call FUNC(adminRefresh); + ["deduct", _totalPayment] remoteExecCall ["forge_server_money_fnc_handleFunds", 2]; + }; +}; + +ctrlSetText [2023005, ""]; \ No newline at end of file diff --git a/addons/admin/functions/fnc_initAdmin.sqf b/addons/admin/functions/fnc_initAdmin.sqf new file mode 100644 index 0000000..5ce6fed --- /dev/null +++ b/addons/admin/functions/fnc_initAdmin.sqf @@ -0,0 +1,18 @@ +#include "..\script_component.hpp" + +{ + private _configName = configName(_x); + private _className = (missionConfigFile >> "CfgCpofs" >> "cpofs" >> _configName >> "className") call BFUNC(getCfgData); + private _pos = (missionConfigFile >> "CfgCpofs" >> "cpofs" >> _configName >> "pos") call BFUNC(getCfgData); + private _dir = (missionConfigFile >> "CfgCpofs" >> "cpofs" >> _configName >> "dir") call BFUNC(getCfgData); + + private _cpof = createSimpleObject [_className, [0, 0, 0]]; + + _cpof setPosATL _pos; + _cpof setDir _dir; + _cpof allowDamage false; + _cpof setVariable ["isCPOF", true, true]; + + diag_log text format ["[FORGE Admin] ClassName: '%1' Pos: '%2' Dir: '%3'", _className, _pos, _dir]; + +} forEach ("true" configClasses (missionConfigFile >> "CfgCpofs" >> "cpofs")); \ No newline at end of file diff --git a/addons/admin/functions/fnc_openAdmin.sqf b/addons/admin/functions/fnc_openAdmin.sqf new file mode 100644 index 0000000..d8b17ba --- /dev/null +++ b/addons/admin/functions/fnc_openAdmin.sqf @@ -0,0 +1,31 @@ +#include "..\script_component.hpp" + +disableSerialization; +createDialog "RscAdmin"; + +private _dialog = findDisplay 202303; +private _list = _dialog displayCtrl 2023001; +private _list2 = _dialog displayCtrl 2023003; + +{ + if (str (side _x) == str (playerSide)) then { + private _name = name (_x); + private _payGrade = GETVAR(_x,paygrade,nil); + private _index = _list lbAdd format["%1 - %2", _name, _payGrade]; + + _list lbSetData [_index, _name]; + }; +} count (allPlayers); + +lbSetCurSel [2023001, 0]; + +private _payGrades = (missionConfigFile >> "FORGE_CfgPaygrades" >> "payGrades") call BFUNC(getCfgData); + +{ + private _index = _list2 lbAdd format ["%1 - $%2", (_x select 0), ((_x select 1) call EFUNC(misc,formatNumber))]; + + _list2 lbSetData [_index, str _x]; +} forEach _payGrades; + +lbSetCurSel [2023003, 0]; +ctrlSetText [2023002, format ["$%1", (companyFunds call EFUNC(misc,formatNumber))]]; \ No newline at end of file diff --git a/addons/admin/functions/fnc_printAddonName.sqf b/addons/admin/functions/fnc_printAddonName.sqf new file mode 100644 index 0000000..511d7b1 --- /dev/null +++ b/addons/admin/functions/fnc_printAddonName.sqf @@ -0,0 +1,3 @@ +#include "..\script_component.hpp" + +systemChat format ["Thank you for using the %1", 'ADDON']; \ No newline at end of file diff --git a/addons/admin/script_component.hpp b/addons/admin/script_component.hpp new file mode 100644 index 0000000..0b5b258 --- /dev/null +++ b/addons/admin/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT admin +#define COMPONENT_BEAUTIFIED Admin +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_ADMIN + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_ADMIN + #define DEBUG_SETTINGS DEBUG_SETTINGS_ADMIN +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/admin/ui/RscAdmin.hpp b/addons/admin/ui/RscAdmin.hpp new file mode 100644 index 0000000..8c07dc0 --- /dev/null +++ b/addons/admin/ui/RscAdmin.hpp @@ -0,0 +1,190 @@ +class RscAdmin { + idd = 202303; + class Controls { + class RscAdminFrame: RscText { + idc = -1; + colorBackground[] = {0,0.25,0.5,1}; + colorText[] = {1,1,1,1}; + text = ""; + x = "0.25 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.5 * safezoneW"; + h = "0.725 * safezoneH"; + }; + class RscAdminPage: RscText { + idc = -1; + colorBackground[] = {1,1,1,1}; + colorText[] = {0,0,0,1}; + text = ""; + x = "0.25 * safezoneW + safezoneX"; + y = "0.1575 * safezoneH + safezoneY"; + w = "0.5 * safezoneW"; + h = "0.6925 * safezoneH"; + }; + class RscAdminRefresh: RscButton { + idc = -1; + colorText[] = {1,1,1,1}; + onButtonClick = "[""dummy""] call forge_client_admin_fnc_adminRefresh;"; + soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; + text = "Refresh"; + x = "0.38625 * safezoneW + safezoneX"; + y = "0.2 * safezoneH + safezoneY"; + w = "0.05 * safezoneW"; + h = "0.0275 * safezoneH"; + }; + class RscAdminActive: RscText { + idc = -1; + colorBackground[] = {1,1,1,1}; + colorText[] = {0,0,0,1}; + text = "Active Operators: "; + sizeEx = 0.035; + x = "0.275 * safezoneW + safezoneX"; + y = "0.1775 * safezoneH + safezoneY"; + w = "0.1 * safezoneW"; + h = "0.05 * safezoneH"; + }; + class RscAdminUserList: RscListBox { + idc = 2023001; + x = "0.275 * safezoneW + safezoneX"; + y = "0.25 * safezoneH + safezoneY"; + w = "0.16125 * safezoneW"; + h = "0.555 * safezoneH"; + colorBackground[] = {0,0,0,0.25}; + tooltip = "Double Click to Activate an Operator Selection"; //--- ToDo: Localize; + }; + class RscAdminCash: RscText { + idc = -1; + colorText[] = {0,0,0,1}; + text = "Company Account Balance:"; + sizeEx = 0.035; + x = "0.575 * safezoneW + safezoneX"; + y = "0.2 * safezoneH + safezoneY"; + w = "0.075 * safezoneW"; + h = "0.05 * safezoneH"; + }; + class RscAdminCashSum: RscText { + idc = 2023002; + colorText[] = {0,0,0,1}; + text = ""; + sizeEx = 0.035; + x = "0.65 * safezoneW + safezoneX"; + y = "0.2 * safezoneH + safezoneY"; + w = "0.075 * safezoneW"; + h = "0.05 * safezoneH"; + }; + class RscAdminRank: RscCombo { + idc = 2023003; + text = "SELECT RANK"; + x = "0.575 * safezoneW + safezoneX"; + y = "0.2775 * safezoneH + safezoneY"; + w = "0.1 * safezoneW"; + h = "0.0275 * safezoneH"; + }; + class RscAdminPromote: RscButton { + idc = -1; + colorText[] = {1,1,1,1}; + onButtonClick = "['promote'] call forge_client_admin_fnc_adminPromote;"; + soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; + text = "Promote"; + x = "0.675 * safezoneW + safezoneX"; + y = "0.2775 * safezoneH + safezoneY"; + w = "0.05 * safezoneW"; + h = "0.0275 * safezoneH"; + tooltip = "Promote the player currently selected."; //--- ToDo: Localize; + }; + class RscAdminVal1: RscEdit { + idc = 2023005; + colorText[] = {0,0,0,1}; + text = ""; + x = "0.45 * safezoneW + safezoneX"; + y = "0.2 * safezoneH + safezoneY"; + w = "0.1125 * safezoneW"; + h = "0.0275 * safezoneH"; + tooltip = "Enter a dollar amount here"; //--- ToDo: Localize; + }; + class RscAdminAdvance: RscButton { + idc = -1; + colorText[] = {1,1,1,1}; + onButtonClick = "['advance'] call forge_client_admin_fnc_adminTransfer;"; + soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; + text = "Advance"; + x = "0.45 * safezoneW + safezoneX"; + y = "0.25 * safezoneH + safezoneY"; + w = "0.05 * safezoneW"; + h = "0.0275 * safezoneH"; + tooltip = "Advance the amount in the box to the player currently selected."; //--- ToDo: Localize; + }; + class RscAdminDeduct: RscButton { + idc = -1; + colorText[] = {1,1,1,1}; + onButtonClick = "['deduct'] call forge_client_admin_fnc_adminTransfer;"; + soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; + text = "Deduct"; + x = "0.5125 * safezoneW + safezoneX"; + y = "0.25 * safezoneH + safezoneY"; + w = "0.05 * safezoneW"; + h = "0.0275 * safezoneH"; + tooltip = "Deduct the amount in the box to the player currently selected."; //--- ToDo: Localize; + }; + class RscAdminAdvanceAll: RscButton { + idc = -1; + colorText[] = {1,1,1,1}; + onButtonClick = "['advanceAll'] call forge_client_admin_fnc_adminTransfer;"; + soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; + text = "$10K To All"; + x = "0.45 * safezoneW + safezoneX"; + y = "0.3 * safezoneH + safezoneY"; + w = "0.05 * safezoneW"; + h = "0.0275 * safezoneH"; + tooltip = "Advance $10,000 to each connected player from the company budget."; //--- ToDo: Localize; + }; + class RscAdminPayday: RscButton { + idc = -1; + colorText[] = {1,1,1,1}; + onButtonClick = "['payday'] call forge_client_admin_fnc_adminTransfer;"; + soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; + text = "Payday"; + x = "0.5125 * safezoneW + safezoneX"; + y = "0.3 * safezoneH + safezoneY"; + w = "0.05 * safezoneW"; + h = "0.0275 * safezoneH"; + tooltip = "Players Payday."; //--- ToDo: Localize; + }; + class RscAdminVal2: RscEdit { + idc = 2023006; + x = "0.45 * safezoneW + safezoneX"; + y = "0.35 * safezoneH + safezoneY"; + w = "0.275 * safezoneW"; + h = "0.15 * safezoneH"; + style = "0x10"; + lineSpacing = 1; + tooltip = "Type a message here."; //--- ToDo: Localize; + }; + class RscAdminSend: RscButton { + idc = -1; + colorText[] = {1,1,1,1}; + onButtonClick = "[] call forge_client_admin_fnc_adminMessage;"; + soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; + text = "Send Message"; + x = "0.6125 * safezoneW + safezoneX"; + y = "0.525 * safezoneH + safezoneY"; + w = "0.1125 * safezoneW"; + h = "0.0275 * safezoneH"; + tooltip = "Select an operator from the list, type a message, and hit this button to send it, "; //--- ToDo: Localize; + }; + class RscAdminExit: RscButton { + idc = -1; + colorBackground[] = {0.9,0,0,1}; + colorBackgroundActive[] = {1,0,0,1}; + colorFocused[] = {0.9,0,0,1}; + colorText[] = {1,1,1,1}; + onButtonClick = "closeDialog 0;"; + soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; + text = "X"; + x = "0.73 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.02 * safezoneW"; + h = "0.0325 * safezoneH"; + }; + }; +}; \ No newline at end of file diff --git a/addons/admin/ui/RscCommon.hpp b/addons/admin/ui/RscCommon.hpp new file mode 100644 index 0000000..9170d02 --- /dev/null +++ b/addons/admin/ui/RscCommon.hpp @@ -0,0 +1,268 @@ +// Control types +#define CT_STATIC 0 +#define CT_BUTTON 1 +#define CT_EDIT 2 +#define CT_SLIDER 3 +#define CT_COMBO 4 +#define CT_LISTBOX 5 +#define CT_TOOLBOX 6 +#define CT_CHECKBOXES 7 +#define CT_PROGRESS 8 +#define CT_HTML 9 +#define CT_STATIC_SKEW 10 +#define CT_ACTIVETEXT 11 +#define CT_TREE 12 +#define CT_STRUCTURED_TEXT 13 +#define CT_CONTEXT_MENU 14 +#define CT_CONTROLS_GROUP 15 +#define CT_SHORTCUTBUTTON 16 +#define CT_HITZONES 17 +#define CT_XKEYDESC 40 +#define CT_XBUTTON 41 +#define CT_XLISTBOX 42 +#define CT_XSLIDER 43 +#define CT_XCOMBO 44 +#define CT_ANIMATED_TEXTURE 45 +#define CT_OBJECT 80 +#define CT_OBJECT_ZOOM 81 +#define CT_OBJECT_CONTAINER 82 +#define CT_OBJECT_CONT_ANIM 83 +#define CT_LINEBREAK 98 +#define CT_USER 99 +#define CT_MAP 100 +#define CT_MAP_MAIN 101 +#define CT_LISTNBOX 102 +#define CT_ITEMSLOT 103 +#define CT_CHECKBOX 77 + +// Static styles +#define ST_POS 0x0F +#define ST_HPOS 0x03 +#define ST_VPOS 0x0C +#define ST_LEFT 0x00 +#define ST_RIGHT 0x01 +#define ST_CENTER 0x02 +#define ST_DOWN 0x04 +#define ST_UP 0x08 +#define ST_VCENTER 0x0C + +#define ST_TYPE 0xF0 +#define ST_SINGLE 0x00 +#define ST_MULTI 0x10 +#define ST_TITLE_BAR 0x20 +#define ST_PICTURE 0x30 +#define ST_FRAME 0x40 +#define ST_BACKGROUND 0x50 +#define ST_GROUP_BOX 0x60 +#define ST_GROUP_BOX2 0x70 +#define ST_HUD_BACKGROUND 0x80 +#define ST_TILE_PICTURE 0x90 +#define ST_WITH_RECT 0xA0 +#define ST_LINE 0xB0 +#define ST_UPPERCASE 0xC0 +#define ST_LOWERCASE 0xD0 + +#define ST_SHADOW 0x100 +#define ST_NO_RECT 0x200 +#define ST_KEEP_ASPECT_RATIO 0x800 + +// Slider styles +#define SL_DIR 0x400 +#define SL_VERT 0 +#define SL_HORZ 0x400 + +#define SL_TEXTURES 0x10 + +// progress bar +#define ST_VERTICAL 0x01 +#define ST_HORIZONTAL 0 + +// Listbox styles +#define LB_TEXTURES 0x10 +#define LB_MULTI 0x20 + +// Tree styles +#define TR_SHOWROOT 1 +#define TR_AUTOCOLLAPSE 2 + +// Default grid +// #define GUI_GRID_WAbs ((safezoneW / safezoneH) min 1.2) +// #define GUI_GRID_HAbs (GUI_GRID_WAbs / 1.2) +// #define GUI_GRID_W (GUI_GRID_WAbs / 40) +// #define GUI_GRID_H (GUI_GRID_HAbs / 25) +// #define GUI_GRID_X (safezoneX) +// #define GUI_GRID_Y (safezoneY + safezoneH - GUI_GRID_HAbs) + +// Default text sizes +#define GUI_TEXT_SIZE_SMALL (GUI_GRID_H * 0.8) +#define GUI_TEXT_SIZE_MEDIUM (GUI_GRID_H * 1) +#define GUI_TEXT_SIZE_LARGE (GUI_GRID_H * 1.2) + +class ScrollBar; +class RscObject; +class RscText; +class RscTextSmall; +class RscTitle; +class RscProgress; +class RscProgressNotFreeze; +class RscPicture; +class RscLadderPicture; +class RscPictureKeepAspect; +class RscHTML; +class RscButton; +class RscShortcutButton; +class RscButtonSmall; +class RscEdit; +class RscCombo; +class RscListBox; +class RscListNBox; +class RscXListBox; +class RscTree; +class RscSlider; +class RscSliderH; +class RscXSliderH; +class RscActiveText; +class RscStructuredText; +class RscControlsGroup; +class RscToolbox; +class RscMapControl; +class RscCheckBox; +class RscFrame; +class ctrlDefault; +class ctrlControlsGroup; +class ctrlDefaultText; +class ctrlDefaultButton; +class RscBackgroundStripeTop; +class RscBackgroundStripeBottom; +class RscIGText; +class RscIGProgress; +class RscListBoxKeys; +class RscControlsGroupNoScrollbars; +class RscControlsGroupNoHScrollbars; +class RscControlsGroupNoVScrollbars; +class RscLine; +class RscActivePicture; +class RscButtonTextOnly; +class RscShortcutButtonMain; +class RscButtonEditor; +class RscIGUIShortcutButton; +class RscGearShortcutButton; +class RscButtonMenu; +class RscButtonMenuOK; +class RscButtonMenuCancel; +class RscButtonMenuSteam; +class RscLoadingText; +class RscIGUIListBox; +class RscIGUIListNBox; +class RscBackground; +class RscBackgroundGUI; +class RscBackgroundGUILeft; +class RscBackgroundGUIRight; +class RscBackgroundGUIBottom; +class RscBackgroundGUITop; +class RscBackgroundGUIDark; +class RscBackgroundLogo; +class RscMapControlEmpty; +class RscVignette; +class CA_Mainback; +class CA_Back; +class CA_Title_Back; +class CA_Black_Back; +class CA_Title; +class CA_Logo; +class CA_Logo_Small; +class CA_RscButton; +class CA_RscButton_dialog; +class CA_Ok; +class CA_Ok_image; +class CA_Ok_image2; +class CA_Ok_text; +class ctrlCheckbox; +class ctrlCheckboxBaseline; +class ctrlStatic; +class ctrlControlsGroupNoScrollbars; +class ctrlStructuredText; +class RscTextMulti; +class RscTreeSearch; +class RscVideo; +class RscVideoKeepAspect; +class RscActivePictureKeepAspect; +class RscEditMulti; +class RscMapSignalBackground; +class RscMapSignalPicture; +class RscMapSignalText; +class RscColorPicker; +class RscInterlacingScreen; +class RscFeedback; +class RscTrafficLight; +class RscButtonSearch; +class RscIGUIText; +class RscOpticsText; +class RscOpticsValue; +class RscIGUIValue; +class RscButtonMenuMain; +class RscButtonTestCentered; +class RscDisplaySingleMission_ChallengeOverviewGroup; +class RscDisplayDebriefing_RscTextMultiline; +class RscDisplayDebriefing_ListGroup; +class RscButtonArsenal; +class RscTextNoShadow; +class RscButtonNoColor; +class RscToolboxButton; +class ctrlStaticPicture; +class ctrlStaticPictureKeepAspect; +class ctrlStaticPictureTile; +class ctrlStaticFrame; +class ctrlStaticLine; +class ctrlStaticMulti; +class ctrlStaticBackground; +class ctrlStaticOverlay; +class ctrlStaticTitle; +class ctrlStaticFooter; +class ctrlStaticBackgroundDisable; +class ctrlStaticBackgroundDisableTiles; +class ctrlButton; +class ctrlButtonPicture; +class ctrlButtonPictureKeepAspect; +class ctrlButtonOK; +class ctrlButtonCancel; +class ctrlButtonClose; +class ctrlButtonToolbar; +class ctrlButtonSearch; +class ctrlButtonExpandAll; +class ctrlButtonCollapseAll; +class ctrlButtonFilter; +class ctrlEdit; +class ctrlEditMulti; +class ctrlSliderV; +class ctrlSliderH; +class ctrlCombo; +class ctrlComboToolbar; +class ctrlListbox; +class ctrlToolbox; +class ctrlToolboxPicture; +class ctrlToolboxPictureKeepAspect; +class ctrlCheckboxes; +class ctrlCheckboxesCheckbox; +class ctrlProgress; +class ctrlHTML; +class ctrlActiveText; +class ctrlActivePicture; +class ctrlActivePictureKeepAspect; +class ctrlTree; +class ctrlControlsGroupNoHScrollbars; +class ctrlControlsGroupNoVScrollbars; +class ctrlShortcutButton; +class ctrlShortcutButtonOK; +class ctrlShortcutButtonCancel; +class ctrlShortcutButtonSteam; +class ctrlXListbox; +class ctrlXSliderV; +class ctrlXSliderH; +class ctrlMenu; +class ctrlMenuStrip; +class ctrlMap; +class ctrlMapEmpty; +class ctrlMapMain; +class ctrlListNBox; +class ctrlCheckboxToolbar; \ No newline at end of file diff --git a/addons/ambient/$PBOPREFIX$ b/addons/ambient/$PBOPREFIX$ new file mode 100644 index 0000000..7bd77ab --- /dev/null +++ b/addons/ambient/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\ambient \ No newline at end of file diff --git a/addons/ambient/CfgEventHandlers.hpp b/addons/ambient/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/ambient/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/ambient/XEH_PREP.hpp b/addons/ambient/XEH_PREP.hpp new file mode 100644 index 0000000..8e0994d --- /dev/null +++ b/addons/ambient/XEH_PREP.hpp @@ -0,0 +1 @@ +PREP(ambientSound); \ No newline at end of file diff --git a/addons/ambient/XEH_postInit.sqf b/addons/ambient/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/ambient/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/ambient/XEH_postInit_client.sqf b/addons/ambient/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/ambient/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/ambient/XEH_preInit.sqf b/addons/ambient/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/ambient/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/ambient/XEH_preInit_server.sqf b/addons/ambient/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/ambient/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/ambient/XEH_preStart.sqf b/addons/ambient/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/ambient/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/ambient/config.cpp b/addons/ambient/config.cpp new file mode 100644 index 0000000..338b901 --- /dev/null +++ b/addons/ambient/config.cpp @@ -0,0 +1,16 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" \ No newline at end of file diff --git a/addons/ambient/functions/fnc_ambientSound.sqf b/addons/ambient/functions/fnc_ambientSound.sqf new file mode 100644 index 0000000..e32818d --- /dev/null +++ b/addons/ambient/functions/fnc_ambientSound.sqf @@ -0,0 +1,47 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_ambient_fnc_ambientSound + * Author: J.Schmidt + * Edit: 07.15.2024 + * Copyright © 2024 J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Create a sound source and play an ambient sfx sound. + * + * Arguments: + * 0: The sound source + * 1: The name of the SFX sound + * 2: Number of seconds before SFX sound will be deleted + * + * Return Value: + * N/A + * + * Examples: + * [this, "sfx_sound_name"] spawn forge_client_ambient_fnc_ambientSound + * + * Public: Yes + */ + +params [["_source", nil, [objNull, 0, [], sideUnknown, grpNull, ""]], ["_sfx", "", [""]], ["_time", nil, [0]]]; + +private _sound0 = createSoundSource [_sfx, position _source, [], 0]; + +while { alive _source } do { + if (!isNil "_time") exitWith { + uiSleep _time; + deleteVehicle _sound0; + }; + + uiSleep 5; + + if (!alive _source) exitWith { + deleteVehicle _sound0; + }; +}; \ No newline at end of file diff --git a/addons/ambient/script_component.hpp b/addons/ambient/script_component.hpp new file mode 100644 index 0000000..ba89f43 --- /dev/null +++ b/addons/ambient/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT ambient +#define COMPONENT_BEAUTIFIED Ambient +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_AMBIENT + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_AMBIENT + #define DEBUG_SETTINGS DEBUG_SETTINGS_AMBIENT +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/arsenal/$PBOPREFIX$ b/addons/arsenal/$PBOPREFIX$ new file mode 100644 index 0000000..cad3088 --- /dev/null +++ b/addons/arsenal/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\arsenal \ No newline at end of file diff --git a/addons/arsenal/CfgEventHandlers.hpp b/addons/arsenal/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/arsenal/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/arsenal/XEH_PREP.hpp b/addons/arsenal/XEH_PREP.hpp new file mode 100644 index 0000000..910b7e3 --- /dev/null +++ b/addons/arsenal/XEH_PREP.hpp @@ -0,0 +1,8 @@ +PREP(addArmoryItem); +PREP(addGarageVehicle); +PREP(addVirtualVehicle); +PREP(initArsenal); +PREP(openArmory); +PREP(openGarage); +PREP(saveUnlocks); +PREP(updateUnlocks); \ No newline at end of file diff --git a/addons/arsenal/XEH_postInit.sqf b/addons/arsenal/XEH_postInit.sqf new file mode 100644 index 0000000..9ac9b55 --- /dev/null +++ b/addons/arsenal/XEH_postInit.sqf @@ -0,0 +1,10 @@ +#include "script_component.hpp" + +[{ + GETVAR(player,value_loadDone,false) +}, { + private _armoryUnlocks = GETVAR(player,Armory_Unlocks,[]); + private _garageUnlocks = GETVAR(player,Garage_Unlocks,[]); + + [_armoryUnlocks, _garageUnlocks] call FUNC(initArsenal); +}] call CFUNC(waitUntilAndExecute); \ No newline at end of file diff --git a/addons/arsenal/XEH_postInit_client.sqf b/addons/arsenal/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/arsenal/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/arsenal/XEH_preInit.sqf b/addons/arsenal/XEH_preInit.sqf new file mode 100644 index 0000000..a4eaba0 --- /dev/null +++ b/addons/arsenal/XEH_preInit.sqf @@ -0,0 +1,11 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +GVAR(armory_unlocks) = []; +GVAR(garage_unlocks) = []; + +ADDON = true; \ No newline at end of file diff --git a/addons/arsenal/XEH_preInit_server.sqf b/addons/arsenal/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/arsenal/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/arsenal/XEH_preStart.sqf b/addons/arsenal/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/arsenal/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/arsenal/config.cpp b/addons/arsenal/config.cpp new file mode 100644 index 0000000..338b901 --- /dev/null +++ b/addons/arsenal/config.cpp @@ -0,0 +1,16 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" \ No newline at end of file diff --git a/addons/arsenal/functions/fnc_addArmoryItem.sqf b/addons/arsenal/functions/fnc_addArmoryItem.sqf new file mode 100644 index 0000000..7ee6de9 --- /dev/null +++ b/addons/arsenal/functions/fnc_addArmoryItem.sqf @@ -0,0 +1,30 @@ +#include "..\script_component.hpp" + +/* + * Author: IDSolutions + * Adds item to player's armory unlocks and updates virtual arsenal + */ + +params [["_class","",[""]],["_type",0,[0]]]; + +private _default = [[],[],[],[]]; +private _armory_unlocks = GETVAR(player,Armory_Unlocks,_default); +private _index = (_armory_unlocks select _type) pushBackUnique _class; + +if (_index > -1) then { + SETVAR(player,Armory_Unlocks,_armory_unlocks); + + if (GVAR(armory_type) == 0) then { + [GVAR(gear_box),[_class],false,true,1,_type] call BFUNC(addVirtualItemCargo); + } else { + [GVAR(gear_box),[_class]] call AFUNC(arsenal,addVirtualItems); + }; + + ["armory",_armory_unlocks] call FUNC(updateUnlocks); + ["armory"] call FUNC(saveUnlocks); + + TRACE_2("Item added to armory",_class,_type); + true +} else { + false +}; \ No newline at end of file diff --git a/addons/arsenal/functions/fnc_addGarageVehicle.sqf b/addons/arsenal/functions/fnc_addGarageVehicle.sqf new file mode 100644 index 0000000..6c7dd6d --- /dev/null +++ b/addons/arsenal/functions/fnc_addGarageVehicle.sqf @@ -0,0 +1,26 @@ +#include "..\script_component.hpp" + +/* + * Author: IDSolutions + * Adds vehicle to player's garage unlocks and updates virtual garage + */ + + +params [["_class","",[""]],["_type",0,[0]]]; + +private _default = [[],[],[],[],[],[]]; +private _garage_unlocks = GETVAR(player,Garage_Unlocks,_default); +private _index = (_garage_unlocks select _type) pushBackUnique _class; + +if (_index > -1) then { + SETVAR(player,Garage_Unlocks,_garage_unlocks); + [[_class]] call FUNC(addVirtualVehs); + + ["garage",_garage_unlocks] call FUNC(updateUnlocks); + ["garage"] call FUNC(saveUnlocks); + + TRACE_2("Vehicle added to garage",_class,_type); + true +} else { + false +}; \ No newline at end of file diff --git a/addons/arsenal/functions/fnc_addVirtualVehicles.sqf b/addons/arsenal/functions/fnc_addVirtualVehicles.sqf new file mode 100644 index 0000000..fc801db --- /dev/null +++ b/addons/arsenal/functions/fnc_addVirtualVehicles.sqf @@ -0,0 +1,80 @@ +#include "..\script_component.hpp" + +/* + * Author: IDSolutions + * Adds vehicles to virtual garage and categorizes them by type + * + * Arguments: + * 0: Vehicles - Array of vehicle classnames + */ + +params [["_vehicles",[],[[]]]]; + +private _default = [[],[],[],[],[],[]]; +private _garage_unlocks = GETVAR(player,Garage_Unlocks,_default); + +private _cars = _garage_unlocks select 0; +private _armor = _garage_unlocks select 1; +private _helis = _garage_unlocks select 2; +private _planes = _garage_unlocks select 3; +private _naval = _garage_unlocks select 4; +private _static = _garage_unlocks select 5; + +{ + switch true do { + case (_x isKindOf "Car"): { + if ((_x isKindOf "Tank") || (_x isKindOf "Wheeled_APC_F")) exitWith {}; + _cars pushBackUnique _x; + }; + case (_x isKindOf "Tank"): { + _armor pushBackUnique _x; + }; + case (_x isKindOf "Helicopter"): { + _helis pushBackUnique _x; + }; + case (_x isKindOf "Plane"): { + _planes pushBackUnique _x; + }; + case (_x isKindOf "Ship"): { + _naval pushBackUnique _x; + }; + case (_x isKindOf "Static"): { + _static pushBackUnique _x; + }; + }; +} forEach _vehicles; + +GVAR(car_unlocks) = []; +GVAR(armor_unlocks) = []; +GVAR(heli_unlocks) = []; +GVAR(plane_unlocks) = []; +GVAR(naval_unlocks) = []; +GVAR(static_unlocks) = []; + +{ + GVAR(car_unlocks) append [getText(configFile >> "CfgVehicles" >> _x >> "model"),[configFile >> "CfgVehicles" >> _x]]; +} forEach _cars; + +{ + GVAR(armor_unlocks) append [getText(configFile >> "CfgVehicles" >> _x >> "model"),[configFile >> "CfgVehicles" >> _x]]; +} forEach _armor; + +{ + GVAR(heli_unlocks) append [getText(configFile >> "CfgVehicles" >> _x >> "model"),[configFile >> "CfgVehicles" >> _x]]; +} forEach _helis; + +{ + GVAR(plane_unlocks) append [getText(configFile >> "CfgVehicles" >> _x >> "model"),[configFile >> "CfgVehicles" >> _x]]; +} forEach _planes; + +{ + GVAR(naval_unlocks) append [getText(configFile >> "CfgVehicles" >> _x >> "model"),[configFile >> "CfgVehicles" >> _x]]; +} forEach _naval; + +{ + GVAR(static_unlocks) append [getText(configFile >> "CfgVehicles" >> _x >> "model"),[configFile >> "CfgVehicles" >> _x]]; +} forEach _static; + +["garage",_garage_unlocks] call FUNC(updateUnlocks); + +TRACE_1("Virtual vehicles updated",count _vehicles); \ No newline at end of file diff --git a/addons/arsenal/functions/fnc_initArsenal.sqf b/addons/arsenal/functions/fnc_initArsenal.sqf new file mode 100644 index 0000000..d1aaa89 --- /dev/null +++ b/addons/arsenal/functions/fnc_initArsenal.sqf @@ -0,0 +1,29 @@ +#include "..\script_component.hpp" + +params [["_armory_data", [[],[],[],[]], [[]]], ["_garage_data", [[],[],[],[],[],[]], [[]]]]; + +if (count _armory_data != 4) then { _armory_data = [[],[],[],[]] }; +if (count _garage_data != 6) then { _garage_data = [[],[],[],[],[],[]] }; + +GVAR(gear_box) = "ReammoBox_F" createVehicleLocal [0, 0, -999]; +[GVAR(gear_box), false, false] call AFUNC(arsenal,initBox); + +GVAR(pdb_mode) = "PDB_MODE" call BFUNC(getParamValue); +GVAR(armory_type) = "ARS_TYPE" call BFUNC(getParamValue); + +GVAR(armory_unlocks) = _armory_data; +GVAR(garage_unlocks) = _garage_data; + +GVAR(item_unlocks) = _armory_data # 0; +GVAR(weapon_unlocks) = _armory_data # 1; +GVAR(magazine_unlocks) = _armory_data # 2; +GVAR(backpack_unlocks) = _armory_data # 3; + +GVAR(car_unlocks) = _garage_data # 0; +GVAR(armor_unlocks) = _garage_data # 1; +GVAR(heli_unlocks) = _garage_data # 2; +GVAR(plane_unlocks) = _garage_data # 3; +GVAR(naval_unlocks) = _garage_data # 4; +GVAR(static_unlocks) = _garage_data # 5; + +TRACE_2("Arsenal System Initialized with defaults",count GVAR(armory_unlocks),count GVAR(garage_unlocks)); \ No newline at end of file diff --git a/addons/arsenal/functions/fnc_openArmory.sqf b/addons/arsenal/functions/fnc_openArmory.sqf new file mode 100644 index 0000000..006f516 --- /dev/null +++ b/addons/arsenal/functions/fnc_openArmory.sqf @@ -0,0 +1,7 @@ +#include "..\script_component.hpp" + +if (GVAR(armory_type) == 0) then { + ["Open", [false, GVAR(gear_box), player]] call BFUNC(arsenal); +} else { + [GVAR(gear_box), player, false] call AFUNC(arsenal,openBox); +}; \ No newline at end of file diff --git a/addons/arsenal/functions/fnc_openGarage.sqf b/addons/arsenal/functions/fnc_openGarage.sqf new file mode 100644 index 0000000..b5b43bc --- /dev/null +++ b/addons/arsenal/functions/fnc_openGarage.sqf @@ -0,0 +1,57 @@ +#include "..\script_component.hpp" + +_locations = (missionConfigFile >> "FORGE_CfgGarages" >> "locations") call BFUNC(getCfgData); +{ + GVAR(vehSpawnPos) = (_x select 1) getPos [5, (_x select 2)]; +} count _locations; + +private _vehicleSpawn = createVehicle ["Land_HelipadEmpty_F", GVAR(vehSpawnPos), [], 0, "NONE"]; +SETMVAR(BIS_fnc_garage_center,_vehicleSpawn); + +[missionNamespace, "garageOpened", { + params ["_display", "_toggleSpace"]; + private _vehicles = [GVAR(car_unlocks),GVAR(armor_unlocks),GVAR(heli_unlocks),GVAR(plane_unlocks),GVAR(naval_unlocks),GVAR(static_unlocks)]; + SETMVAR(BIS_fnc_garage_data,_vehicles); + + { + lbClear (_display displayCtrl (960 + _forEachIndex)); + } forEach BIS_fnc_garage_data; + + ["ListAdd", [_display]] call BFUNC(garage); +}] call BFUNC(addScriptedEventHandler); + +private _defaultVehicle = getText (configFile >> "CfgVehicles" >> "B_Quadbike_01_F" >> "model"); +SETMVAR(BIS_fnc_garage_centerType,_defaultVehicle); + +["Open", true] call BFUNC(garage); + +[missionNamespace, "garageClosed", { + private _nearestObjects = BIS_fnc_garage_center nearEntities [["Car","Tank","Air","Ship"], 15]; + + if (!isNil "_nearestObjects") then { + _obj = _nearestObjects select 0; + _veh = typeOf _obj; + _textures = getObjectTextures _obj; + _animationNames = animationNames _obj; + { deleteVehicle _x } forEach _nearestObjects; + _createVehicle = createVehicle [_veh, GVAR(vehSpawnPos), [], 0, "CAN_COLLIDE"]; + _createVehicle setVariable ["FORGE_GarageVehicle", true, true]; + + if (count _textures > 0) then { + _count = 0; + { + _createVehicle setObjectTextureGlobal [_count, _x]; + _count = _count + 1; + } forEach _textures; + }; + + if (count _animationNames > 0) then { + _animationPhase = []; + + for "_i" from 0 to count _animationNames -1 do { + _animationPhase pushBack [_animationNames select _i, _obj animationPhase (_animationNames select _i)]; + { _createVehicle animate _x; } forEach _animationPhase; + }; + }; + }; +}] call BFUNC(addScriptedEventHandler); \ No newline at end of file diff --git a/addons/arsenal/functions/fnc_saveUnlocks.sqf b/addons/arsenal/functions/fnc_saveUnlocks.sqf new file mode 100644 index 0000000..5705d5a --- /dev/null +++ b/addons/arsenal/functions/fnc_saveUnlocks.sqf @@ -0,0 +1,60 @@ +#include "..\script_component.hpp" + +/* + * Author: IDSolutions + * Saves arsenal/garage unlocks to appropriate storage based on persistence mode + * + * Arguments: + * 0: Type ("armory" or "garage") + * + * Return Value: + * None + * + * Example: + * ["armory"] call forge_client_arsenal_fnc_saveArsenalUnlocks + */ + +params [["_type","",[""]],["_data",[],[[]]]]; + +private _default_armory_unlocks = [[],[],[],[]]; +private _default_garage_unlocks = [[],[],[],[],[],[]]; + +switch (_type) do { + case "armory": { + private _armory_data = GETVAR(player,Armory_Unlocks,_default_armory_unlocks); + + switch (GVAR(pdb_mode)) do { + case 0: { + SETVAR(profileNamespace,Armory_Unlocks,_armory_data); + }; + case 1: { + ["hsetid",getPlayerUID player,"armory_unlocks",-1,_armory_data,"",false] remoteExec ["dragonfly_db_fnc_addTask",2,false]; + }; + default { + SETVAR(profileNamespace,Armory_Unlocks,_armory_data); + }; + }; + + [_type,_armory_data] call FUNC(updateUnlocks); + }; + + case "garage": { + private _garage_data = GETVAR(player,Garage_Unlocks,_default_garage_unlocks); + + switch (GVAR(pdb_mode)) do { + case 0: { + SETVAR(profileNamespace,Garage_Unlocks,_garage_data); + }; + case 1: { + ["hsetid",getPlayerUID player,"garage_unlocks",-1,_garage_data,"",false] remoteExec ["dragonfly_db_fnc_addTask",2,false]; + }; + default { + SETVAR(profileNamespace,Garage_Unlocks,_garage_data); + }; + }; + + [_type,_garage_data] call FUNC(updateUnlocks); + }; +}; + +TRACE_2("Arsenal Unlocks saved",_type,GVAR(pdb_mode)); diff --git a/addons/arsenal/functions/fnc_updateUnlocks.sqf b/addons/arsenal/functions/fnc_updateUnlocks.sqf new file mode 100644 index 0000000..64c9830 --- /dev/null +++ b/addons/arsenal/functions/fnc_updateUnlocks.sqf @@ -0,0 +1,41 @@ +#include "..\script_component.hpp" + +/* + * Author: IDSolutions + * Updates the arsenal system variables when unlocks change + * + * Arguments: + * 0: Type ("armory" or "garage") + * 1: Data (Array of unlocks) + * + * Example: + * ["armory", _armory_unlocks] call forge_client_arsenal_fnc_updateUnlocks + */ + +params [["_type","",[""]],["_data",[],[[]]]]; + +switch (_type) do { + case "armory": { + GVAR(armory_unlocks) = _data; + + GVAR(item_unlocks) = _data select 0; + GVAR(weapon_unlocks) = _data select 1; + GVAR(magazine_unlocks) = _data select 2; + GVAR(backpack_unlocks) = _data select 3; + + TRACE_1("Armory unlocks updated",count GVAR(armory_unlocks)); + }; + + case "garage": { + GVAR(garage_unlocks) = _data; + + GVAR(car_unlocks) = _data select 0; + GVAR(armor_unlocks) = _data select 1; + GVAR(heli_unlocks) = _data select 2; + GVAR(plane_unlocks) = _data select 3; + GVAR(naval_unlocks) = _data select 4; + GVAR(static_unlocks) = _data select 5; + + TRACE_1("Garage unlocks updated",count GVAR(garage_unlocks)); + }; +}; \ No newline at end of file diff --git a/addons/arsenal/script_component.hpp b/addons/arsenal/script_component.hpp new file mode 100644 index 0000000..0995e23 --- /dev/null +++ b/addons/arsenal/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT arsenal +#define COMPONENT_BEAUTIFIED Arsenal +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_ARSENAL + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_ARSENAL + #define DEBUG_SETTINGS DEBUG_SETTINGS_ARSENAL +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/bank/$PBOPREFIX$ b/addons/bank/$PBOPREFIX$ new file mode 100644 index 0000000..74794b4 --- /dev/null +++ b/addons/bank/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\bank \ No newline at end of file diff --git a/addons/bank/CfgEventHandlers.hpp b/addons/bank/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/bank/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/bank/XEH_PREP.hpp b/addons/bank/XEH_PREP.hpp new file mode 100644 index 0000000..746ca50 --- /dev/null +++ b/addons/bank/XEH_PREP.hpp @@ -0,0 +1,7 @@ +PREP(deposit); +PREP(initBank); +PREP(openBank); +PREP(refresh); +PREP(submit); +PREP(transfer); +PREP(withdraw); \ No newline at end of file diff --git a/addons/bank/XEH_postInit.sqf b/addons/bank/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/bank/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/bank/XEH_postInit_client.sqf b/addons/bank/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/bank/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/bank/XEH_preInit.sqf b/addons/bank/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/bank/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/bank/XEH_preInit_server.sqf b/addons/bank/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/bank/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/bank/XEH_preStart.sqf b/addons/bank/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/bank/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/bank/config.cpp b/addons/bank/config.cpp new file mode 100644 index 0000000..c3688dc --- /dev/null +++ b/addons/bank/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "ui\BaseControls.hpp" +#include "ui\RscBankDialog.hpp" \ No newline at end of file diff --git a/addons/bank/functions/fnc_deposit.sqf b/addons/bank/functions/fnc_deposit.sqf new file mode 100644 index 0000000..1ed2136 --- /dev/null +++ b/addons/bank/functions/fnc_deposit.sqf @@ -0,0 +1,25 @@ +#include "..\script_component.hpp" + +private _amount = parseNumber (ctrlText IDC_AMOUNTINPUT); +// private _bank = player getVariable ["FORGE_Bank", 0]; +// private _cash = player getVariable ["FORGE_Cash", 0]; + +private _bank = GETVAR(player,FORGE_Bank,0); +private _cash = GETVAR(player,FORGE_Cash,0); + +if (_amount > 0 && _amount <= _cash) then { + _cash = _cash - _amount; + _bank = _bank + _amount; + + // player setVariable ["FORGE_Bank", _bank]; + // player setVariable ["FORGE_Cash", _cash]; + + SETPVAR(player,FORGE_Bank,_bank); + SETPVAR(player,FORGE_Cash,_cash); + + // [] call forge_client_bank_fnc_refresh; + [] call FUNC(refresh); + hint "Money deposited successfully"; +} else { + hint "Invalid amount"; +}; \ No newline at end of file diff --git a/addons/bank/functions/fnc_initBank.sqf b/addons/bank/functions/fnc_initBank.sqf new file mode 100644 index 0000000..33d6331 --- /dev/null +++ b/addons/bank/functions/fnc_initBank.sqf @@ -0,0 +1,30 @@ +#include "..\script_component.hpp" + +{ + private _configName = configName(_x); + private _className = (missionConfigFile >> "CfgBanks" >> "banks" >> _configName >> "className") call BFUNC(getCfgData); + private _pos = (missionConfigFile >> "CfgBanks" >> "banks" >> _configName >> "pos") call BFUNC(getCfgData); + private _dir = (missionConfigFile >> "CfgBanks" >> "banks" >> _configName >> "dir") call BFUNC(getCfgData); + private _type = (missionConfigFile >> "CfgBanks" >> "banks" >> _configName >> "type") call BFUNC(getCfgData); + + if (_type == "object") then { + private _bank = createSimpleObject [_className, [0, 0, 0]]; + + _bank setPosATL _pos; + _bank setDir _dir; + _bank allowDamage false; + _bank setVariable ["isBank", true, true]; + } else { + private _group = createGroup civilian; + private _bank = _group createUnit [_className, [0, 0, 0], [], 0, "NONE"]; + + _bank disableAI "MOVE"; + _bank setPosATL _pos; + _bank setDir _dir; + _bank allowDamage false; + _bank setVariable ["isBank", true, true]; + _bank setVariable ["BIS_enableRandomization", false]; + }; + + diag_log text format ["[FORGE Bank] ClassName: '%1' Pos: '%2' Dir: '%3'", _className, _pos, _dir]; +} forEach ("true" configClasses (missionConfigFile >> "CfgBanks" >> "banks")); \ No newline at end of file diff --git a/addons/bank/functions/fnc_openBank.sqf b/addons/bank/functions/fnc_openBank.sqf new file mode 100644 index 0000000..4d9373e --- /dev/null +++ b/addons/bank/functions/fnc_openBank.sqf @@ -0,0 +1,24 @@ +#include "..\script_component.hpp" + +// private _bank = player getVariable ["FORGE_Bank", 0]; +// private _cash = player getVariable ["FORGE_Cash", 0]; +// private _rating = player getVariable ["FORGE_Rating", 0]; +private _bank = GETVAR(player,FORGE_Bank,0); +private _cash = GETVAR(player,FORGE_Cash,0); +private _rating = GETVAR(player,FORGE_Rating,0); + +disableSerialization; +createDialog "RscBankDialog"; + +ctrlSetText [IDC_CASHTEXT, format ["Cash: $%1", _cash]]; +ctrlSetText [IDC_BANKTEXT, format ["Bank: $%1", _bank]]; +ctrlSetText [IDC_RATINGTEXT, format ["Rating: %1", _rating]]; +ctrlSetText [IDC_TIMESHEETTEXT, "Ready for Timesheet"]; + +{ + lbAdd [IDC_PLAYERINPUT, name _x]; + lbSetData [IDC_PLAYERINPUT, _forEachIndex, netId _x]; +} forEach allPlayers; + +lbSetCurSel [IDC_PLAYERINPUT, 0]; +ctrlSetText [IDC_AMOUNTINPUT, ""]; \ No newline at end of file diff --git a/addons/bank/functions/fnc_refresh.sqf b/addons/bank/functions/fnc_refresh.sqf new file mode 100644 index 0000000..6b63f24 --- /dev/null +++ b/addons/bank/functions/fnc_refresh.sqf @@ -0,0 +1,17 @@ +#include "..\script_component.hpp" + +// private _bank = player getVariable ["FORGE_Bank", 0]; +// private _cash = player getVariable ["FORGE_Cash", 0]; +// private _rating = player getVariable ["FORGE_Rating", 0]; +private _bank = GETVAR(player,FORGE_Bank,0); +private _cash = GETVAR(player,FORGE_Cash,0); +private _rating = GETVAR(player,FORGE_Rating,0); + +if (!isNull (findDisplay IDD_BANKDIALOG)) then { + ctrlSetText [IDC_CASHTEXT, format ["Cash: $%1", _cash]]; + ctrlSetText [IDC_BANKTEXT, format ["Bank: $%1", _bank]]; + ctrlSetText [IDC_RATINGTEXT, format ["Rating: %1", _rating]]; + ctrlSetText [IDC_TIMESHEETTEXT, "Ready for Timesheet"]; + ctrlSetText [IDC_AMOUNTINPUT, ""]; + ctrlSetText [IDC_PLAYERINPUT, ""]; +}; \ No newline at end of file diff --git a/addons/bank/functions/fnc_submit.sqf b/addons/bank/functions/fnc_submit.sqf new file mode 100644 index 0000000..c0b8e80 --- /dev/null +++ b/addons/bank/functions/fnc_submit.sqf @@ -0,0 +1,22 @@ +#include "..\script_component.hpp" + +// private _bank = player getVariable ["FORGE_Bank", 0]; +// private _rating = player getVariable ["FORGE_Rating", 0]; +private _bank = GETVAR(player,FORGE_Bank,0); +private _rating = GETVAR(player,FORGE_Rating,0); +private _pending = rating player; + +_rating = _rating + _pending; +_bank = _bank + _rating; + +player addRating - _pending; +// player setVariable ["FORGE_Bank", _bank]; +// player setVariable ["FORGE_Rating", 0]; +SETPVAR(player,FORGE_Bank,_bank); +SETPVAR(player,FORGE_Rating,0); + +// [] call forge_client_bank_fnc_refresh; +[] call FUNC(refresh); + +// hint format ["Timesheet submitted! Received $%1 bonus based on rating of %2", _rating, _rating]; +[format ["Timesheet submitted! Received $%1 based on rating of %2", _rating, _rating], "info", 3, "right"] call EFUNC(misc,notify); \ No newline at end of file diff --git a/addons/bank/functions/fnc_transfer.sqf b/addons/bank/functions/fnc_transfer.sqf new file mode 100644 index 0000000..a042336 --- /dev/null +++ b/addons/bank/functions/fnc_transfer.sqf @@ -0,0 +1,32 @@ +#include "..\script_component.hpp" + +private _display = findDisplay IDD_BANKDIALOG; +private _input = _display displayCtrl IDC_AMOUNTINPUT; +private _dropdown = _display displayCtrl IDC_PLAYERINPUT; +private _amount = parseNumber (ctrlText _input); +private _selectedTarget = lbCurSel _dropdown; +private _selectedTargetData = _dropdown lbData _selectedTarget; +private _target = objectFromNetId _selectedTargetData; + +// private _bank = player getVariable ["FORGE_Bank", 0]; +// private _targetBank = _target getVariable ["FORGE_Bank", 0]; +private _bank = GETVAR(player,FORGE_Bank,0); +private _targetBank = GETVAR(_target,FORGE_Bank,0); + +if (!isNull _target && _amount > 0 && _amount <= _bank) then { + _targetBank = _targetBank + _amount; + // _target setVariable ["FORGE_Bank", _targetBank, true]; + SETPVAR(_target,FORGE_Bank,_targetBank); + + _bank = _bank - _amount; + // player setVariable ["FORGE_Bank", _bank, true]; + SETPVAR(player,FORGE_Bank,_bank); + + // [] call forge_client_bank_fnc_refresh; + [] call FUNC(refresh); + // hint format ["Transferred $%1", _amount]; + [format ["Transferred $%1", _amount], "info", 3, "right"] call EFUNC(misc,notify); +} else { + // hint "Invalid transfer details"; + [format ["Invalid transfer details"], "warning", 3, "right"] call EFUNC(misc,notify); +}; \ No newline at end of file diff --git a/addons/bank/functions/fnc_withdraw.sqf b/addons/bank/functions/fnc_withdraw.sqf new file mode 100644 index 0000000..eebd664 --- /dev/null +++ b/addons/bank/functions/fnc_withdraw.sqf @@ -0,0 +1,28 @@ +#include "..\script_component.hpp" + +private _display = findDisplay IDD_BANKDIALOG; +private _input = _display displayCtrl IDC_AMOUNTINPUT; +private _amount = parseNumber (ctrlText _input); + +// private _bank = player getVariable ["FORGE_Bank", 0]; +// private _cash = player getVariable ["FORGE_Cash", 0]; +private _bank = GETVAR(player,FORGE_Bank,0); +private _cash = GETVAR(player,FORGE_Cash,0); + +if (_amount > 0 && _amount <= _bank) then { + _bank = _bank - _amount; + _cash = _cash + _amount; + + // player setVariable ["FORGE_Bank", _bank]; + // player setVariable ["FORGE_Cash", _cash]; + SETPVAR(player,FORGE_Bank,_bank); + SETPVAR(player,FORGE_Cash,_cash); + + // [] call forge_client_bank_fnc_refresh; + [] call FUNC(refresh); + // hint "Money withdrawn successfully"; + [format ["Money withdrawn successfully"], "info", 3, "right"] call EFUNC(misc,notify); +} else { + // hint "Invalid amount"; + [format ["Invalid amount"], "warning", 3, "right"] call EFUNC(misc,notify); +}; \ No newline at end of file diff --git a/addons/bank/script_component.hpp b/addons/bank/script_component.hpp new file mode 100644 index 0000000..99e23c6 --- /dev/null +++ b/addons/bank/script_component.hpp @@ -0,0 +1,35 @@ +#define COMPONENT bank +#define COMPONENT_BEAUTIFIED Bank +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_BANK + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_BANK + #define DEBUG_SETTINGS DEBUG_SETTINGS_BANK +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" + +#define IDD_BANKDIALOG 82300 +#define IDC_DIALOGNAME 82301 +#define IDC_ACCOUNTINFO 82302 +#define IDC_AMOUNTLABEL 82303 +#define IDC_AMOUNTINPUT 82304 +#define IDC_PLAYERLABEL 82305 +#define IDC_PLAYERINPUT 82306 +#define IDC_DEPOSITBUTTON 82307 +#define IDC_WITHDRAWBUTTON 82308 +#define IDC_TIMESHEETBUTTON 82309 +#define IDC_TRANSFERBUTTON 82310 +#define IDC_CLOSEBUTTON 82311 +#define IDC_WALLETGROUP 82312 +#define IDC_CASHTEXT 82313 +#define IDC_BANKTEXT 82314 +#define IDC_RATINGGROUP 82315 +#define IDC_RATINGTEXT 82316 +#define IDC_TIMESHEETTEXT 82317 \ No newline at end of file diff --git a/addons/bank/stringtable.xml b/addons/bank/stringtable.xml new file mode 100644 index 0000000..f34c6e8 --- /dev/null +++ b/addons/bank/stringtable.xml @@ -0,0 +1,35 @@ + + + + + Amount + + + Close + + + Deposit + + + Bank + + + Player + + + Rating + + + Submit Timesheet + + + Transfer + + + Net Worth + + + Withdraw + + + diff --git a/addons/bank/ui/BaseControls.hpp b/addons/bank/ui/BaseControls.hpp new file mode 100644 index 0000000..5fce5a8 --- /dev/null +++ b/addons/bank/ui/BaseControls.hpp @@ -0,0 +1,265 @@ +// Control types +#define CT_STATIC 0 +#define CT_BUTTON 1 +#define CT_EDIT 2 +#define CT_SLIDER 3 +#define CT_COMBO 4 +#define CT_LISTBOX 5 +#define CT_TOOLBOX 6 +#define CT_CHECKBOXES 7 +#define CT_PROGRESS 8 +#define CT_HTML 9 +#define CT_STATIC_SKEW 10 +#define CT_ACTIVETEXT 11 +#define CT_TREE 12 +#define CT_STRUCTURED_TEXT 13 +#define CT_CONTEXT_MENU 14 +#define CT_CONTROLS_GROUP 15 +#define CT_SHORTCUTBUTTON 16 +#define CT_HITZONES 17 +#define CT_XKEYDESC 40 +#define CT_XBUTTON 41 +#define CT_XLISTBOX 42 +#define CT_XSLIDER 43 +#define CT_XCOMBO 44 +#define CT_ANIMATED_TEXTURE 45 +#define CT_OBJECT 80 +#define CT_OBJECT_ZOOM 81 +#define CT_OBJECT_CONTAINER 82 +#define CT_OBJECT_CONT_ANIM 83 +#define CT_LINEBREAK 98 +#define CT_USER 99 +#define CT_MAP 100 +#define CT_MAP_MAIN 101 +#define CT_LISTNBOX 102 +#define CT_ITEMSLOT 103 +#define CT_CHECKBOX 77 + +// Static styles +#define ST_POS 0x0F +#define ST_HPOS 0x03 +#define ST_VPOS 0x0C +#define ST_LEFT 0x00 +#define ST_RIGHT 0x01 +#define ST_CENTER 0x02 +#define ST_DOWN 0x04 +#define ST_UP 0x08 +#define ST_VCENTER 0x0C + +#define ST_TYPE 0xF0 +#define ST_SINGLE 0x00 +#define ST_MULTI 0x10 +#define ST_TITLE_BAR 0x20 +#define ST_PICTURE 0x30 +#define ST_FRAME 0x40 +#define ST_BACKGROUND 0x50 +#define ST_GROUP_BOX 0x60 +#define ST_GROUP_BOX2 0x70 +#define ST_HUD_BACKGROUND 0x80 +#define ST_TILE_PICTURE 0x90 +#define ST_WITH_RECT 0xA0 +#define ST_LINE 0xB0 +#define ST_UPPERCASE 0xC0 +#define ST_LOWERCASE 0xD0 + +#define ST_SHADOW 0x100 +#define ST_NO_RECT 0x200 +#define ST_KEEP_ASPECT_RATIO 0x800 + +// Slider styles +#define SL_DIR 0x400 +#define SL_VERT 0 +#define SL_HORZ 0x400 + +#define SL_TEXTURES 0x10 + +// progress bar +#define ST_VERTICAL 0x01 +#define ST_HORIZONTAL 0 + +// Listbox styles +#define LB_TEXTURES 0x10 +#define LB_MULTI 0x20 + +// Tree styles +#define TR_SHOWROOT 1 +#define TR_AUTOCOLLAPSE 2 + +// Default text sizes +#define GUI_TEXT_SIZE_SMALL (GUI_GRID_H * 0.8) +#define GUI_TEXT_SIZE_MEDIUM (GUI_GRID_H * 1) +#define GUI_TEXT_SIZE_LARGE (GUI_GRID_H * 1.2) + +// Pixel grid +#define pixelScale 0.50 +#define GRID_W (pixelW * pixelGrid * pixelScale) +#define GRID_H (pixelH * pixelGrid * pixelScale) + +class ScrollBar; +class RscObject; +class RscText; +class RscTextSmall; +class RscTitle; +class RscProgress; +class RscProgressNotFreeze; +class RscPicture; +class RscLadderPicture; +class RscPictureKeepAspect; +class RscHTML; +class RscButton; +class RscShortcutButton; +class RscButtonSmall; +class RscEdit; +class RscCombo; +class RscListBox; +class RscListNBox; +class RscXListBox; +class RscTree; +class RscSlider; +class RscSliderH; +class RscXSliderH; +class RscActiveText; +class RscStructuredText; +class RscControlsGroup; +class RscToolbox; +class RscMapControl; +class RscCheckBox; +class RscFrame; +class ctrlDefault; +class ctrlControlsGroup; +class ctrlDefaultText; +class ctrlDefaultButton; +class RscBackgroundStripeTop; +class RscBackgroundStripeBottom; +class RscIGText; +class RscIGProgress; +class RscListBoxKeys; +class RscControlsGroupNoScrollbars; +class RscControlsGroupNoHScrollbars; +class RscControlsGroupNoVScrollbars; +class RscLine; +class RscActivePicture; +class RscButtonTextOnly; +class RscShortcutButtonMain; +class RscButtonEditor; +class RscIGUIShortcutButton; +class RscGearShortcutButton; +class RscButtonMenu; +class RscButtonMenuOK; +class RscButtonMenuCancel; +class RscButtonMenuSteam; +class RscLoadingText; +class RscIGUIListBox; +class RscIGUIListNBox; +class RscBackground; +class RscBackgroundGUI; +class RscBackgroundGUILeft; +class RscBackgroundGUIRight; +class RscBackgroundGUIBottom; +class RscBackgroundGUITop; +class RscBackgroundGUIDark; +class RscBackgroundLogo; +class RscMapControlEmpty; +class RscVignette; +class CA_Mainback; +class CA_Back; +class CA_Title_Back; +class CA_Black_Back; +class CA_Title; +class CA_Logo; +class CA_Logo_Small; +class CA_RscButton; +class CA_RscButton_dialog; +class CA_Ok; +class CA_Ok_image; +class CA_Ok_image2; +class CA_Ok_text; +class ctrlCheckbox; +class ctrlCheckboxBaseline; +class ctrlStatic; +class ctrlControlsGroupNoScrollbars; +class ctrlStructuredText; +class RscTextMulti; +class RscTreeSearch; +class RscVideo; +class RscVideoKeepAspect; +class RscActivePictureKeepAspect; +class RscEditMulti; +class RscMapSignalBackground; +class RscMapSignalPicture; +class RscMapSignalText; +class RscColorPicker; +class RscInterlacingScreen; +class RscFeedback; +class RscTrafficLight; +class RscButtonSearch; +class RscIGUIText; +class RscOpticsText; +class RscOpticsValue; +class RscIGUIValue; +class RscButtonMenuMain; +class RscButtonTestCentered; +class RscDisplaySingleMission_ChallengeOverviewGroup; +class RscDisplayDebriefing_RscTextMultiline; +class RscDisplayDebriefing_ListGroup; +class RscButtonArsenal; +class RscTextNoShadow; +class RscButtonNoColor; +class RscToolboxButton; +class ctrlStaticPicture; +class ctrlStaticPictureKeepAspect; +class ctrlStaticPictureTile; +class ctrlStaticFrame; +class ctrlStaticLine; +class ctrlStaticMulti; +class ctrlStaticBackground; +class ctrlStaticOverlay; +class ctrlStaticTitle; +class ctrlStaticFooter; +class ctrlStaticBackgroundDisable; +class ctrlStaticBackgroundDisableTiles; +class ctrlButton; +class ctrlButtonPicture; +class ctrlButtonPictureKeepAspect; +class ctrlButtonOK; +class ctrlButtonCancel; +class ctrlButtonClose; +class ctrlButtonToolbar; +class ctrlButtonSearch; +class ctrlButtonExpandAll; +class ctrlButtonCollapseAll; +class ctrlButtonFilter; +class ctrlEdit; +class ctrlEditMulti; +class ctrlSliderV; +class ctrlSliderH; +class ctrlCombo; +class ctrlComboToolbar; +class ctrlListbox; +class ctrlToolbox; +class ctrlToolboxPicture; +class ctrlToolboxPictureKeepAspect; +class ctrlCheckboxes; +class ctrlCheckboxesCheckbox; +class ctrlProgress; +class ctrlHTML; +class ctrlActiveText; +class ctrlActivePicture; +class ctrlActivePictureKeepAspect; +class ctrlTree; +class ctrlControlsGroupNoHScrollbars; +class ctrlControlsGroupNoVScrollbars; +class ctrlShortcutButton; +class ctrlShortcutButtonOK; +class ctrlShortcutButtonCancel; +class ctrlShortcutButtonSteam; +class ctrlXListbox; +class ctrlXSliderV; +class ctrlXSliderH; +class ctrlMenu; +class ctrlMenuStrip; +class ctrlMap; +class ctrlMapEmpty; +class ctrlMapMain; +class ctrlListNBox; +class ctrlCheckboxToolbar; \ No newline at end of file diff --git a/addons/bank/ui/RscBankDialog.hpp b/addons/bank/ui/RscBankDialog.hpp new file mode 100644 index 0000000..331c4b6 --- /dev/null +++ b/addons/bank/ui/RscBankDialog.hpp @@ -0,0 +1,200 @@ +class RscBankDialog { + idd = IDD_BANKDIALOG; + movingEnable = 1; + enableSimulation = 1; + + class controlsBackground { + class MainBackground: RscText { + idc = -1; + x = "0.25 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.5 * safezoneW"; + h = "0.725 * safezoneH"; + colorBackground[] = {0, 0, 0, 0.7}; + }; + + class DialogTitle: RscText { + idc = IDC_DIALOGNAME; + text = CSTRING(Name); + x = "0.25 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.5 * safezoneW"; + h = "0.0325 * safezoneH"; + colorBackground[] = {0.1, 0.1, 0.1, 1}; + }; + }; + + class controls { + class WalletGroup: RscControlsGroup { + idc = IDC_WALLETGROUP; + x = "0.26 * safezoneW + safezoneX"; + y = "0.17 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.15 * safezoneH"; + + class controls { + class WalletBackground: RscText { + idc = -1; + x = 0; + y = 0; + w = "0.23 * safezoneW"; + h = "0.15 * safezoneH"; + colorBackground[] = {0.1, 0.1, 0.1, 0.8}; + }; + + class WalletTitle: RscText { + idc = -1; + text = CSTRING(Wallet); + x = 0; + y = 0; + w = "0.23 * safezoneW"; + h = "0.0325 * safezoneH"; + }; + + class CashText: RscText { + idc = IDC_CASHTEXT; + x = "0.01 * safezoneW"; + y = "0.04 * safezoneH"; + w = "0.21 * safezoneW"; + h = "0.0325 * safezoneH"; + }; + + class BankText: RscText { + idc = IDC_BANKTEXT; + x = "0.01 * safezoneW"; + y = "0.08 * safezoneH"; + w = "0.21 * safezoneW"; + h = "0.0325 * safezoneH"; + }; + }; + }; + + class RatingGroup: RscControlsGroup { + idc = IDC_RATINGGROUP; + x = "0.51 * safezoneW + safezoneX"; + y = "0.17 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.15 * safezoneH"; + + class controls { + class RatingBackground: RscText { + idc = -1; + x = 0; + y = 0; + w = "0.23 * safezoneW"; + h = "0.15 * safezoneH"; + colorBackground[] = {0.1, 0.1, 0.1, 0.8}; + }; + + class RatingTitle: RscText { + idc = -1; + text = CSTRING(Rating); + x = 0; + y = 0; + w = "0.23 * safezoneW"; + h = "0.0325 * safezoneH"; + }; + + class RatingText: RscText { + idc = IDC_RATINGTEXT; + x = "0.01 * safezoneW"; + y = "0.04 * safezoneH"; + w = "0.21 * safezoneW"; + h = "0.0325 * safezoneH"; + }; + + class TimesheetText: RscText { + idc = IDC_TIMESHEETTEXT; + x = "0.01 * safezoneW"; + y = "0.08 * safezoneH"; + w = "0.21 * safezoneW"; + h = "0.0325 * safezoneH"; + }; + }; + }; + + class AmountLabel: RscText { + idc = IDC_AMOUNTLABEL; + text = CSTRING(Amount); + x = "0.26 * safezoneW + safezoneX"; + y = "0.31 * safezoneH + safezoneY"; + w = "0.48 * safezoneW"; + h = "0.0325 * safezoneH"; + }; + + class AmountInput: RscEdit { + idc = IDC_AMOUNTINPUT; + x = "0.26 * safezoneW + safezoneX"; + y = "0.34 * safezoneH + safezoneY"; + w = "0.48 * safezoneW"; + h = "0.0325 * safezoneH"; + }; + + class PlayerLabel: RscText { + idc = IDC_PLAYERLABEL; + text = CSTRING(Player); + x = "0.26 * safezoneW + safezoneX"; + y = "0.36 * safezoneH + safezoneY"; + w = "0.48 * safezoneW"; + h = "0.0325 * safezoneH"; + }; + + class PlayerInput: RscCombo { + idc = IDC_PLAYERINPUT; + x = "0.26 * safezoneW + safezoneX"; + y = "0.39 * safezoneH + safezoneY"; + w = "0.48 * safezoneW"; + h = "0.0325 * safezoneH"; + }; + + class DepositButton: RscButton { + idc = IDC_DEPOSITBUTTON; + text = CSTRING(Deposit); + x = "0.26 * safezoneW + safezoneX"; + y = "0.44 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.0325 * safezoneH"; + onButtonClick = "_this call forge_client_bank_fnc_deposit"; + }; + + class WithdrawButton: RscButton { + idc = IDC_WITHDRAWBUTTON; + text = CSTRING(Withdraw); + x = "0.51 * safezoneW + safezoneX"; + y = "0.44 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.0325 * safezoneH"; + onButtonClick = "_this call forge_client_bank_fnc_withdraw"; + }; + + class TimesheetButton: RscButton { + idc = IDC_TIMESHEETBUTTON; + text = CSTRING(SubmitTimesheet); + x = "0.26 * safezoneW + safezoneX"; + y = "0.49 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.0325 * safezoneH"; + onButtonClick = "_this call forge_client_bank_fnc_submit"; + }; + + class TransferButton: RscButton { + idc = IDC_TRANSFERBUTTON; + text = CSTRING(Transfer); + x = "0.51 * safezoneW + safezoneX"; + y = "0.49 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.0325 * safezoneH"; + onButtonClick = "_this call forge_client_bank_fnc_transfer"; + }; + + class CloseButton: RscButton { + idc = IDC_CLOSEBUTTON; + text = "X"; + x = "0.7225 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.0275 * safezoneW"; + h = "0.0325 * safezoneH"; + onButtonClick = "closeDialog 0"; + }; + }; +}; \ No newline at end of file diff --git a/addons/briefing/$PBOPREFIX$ b/addons/briefing/$PBOPREFIX$ new file mode 100644 index 0000000..2c2a46d --- /dev/null +++ b/addons/briefing/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\briefing \ No newline at end of file diff --git a/addons/briefing/CfgEventHandlers.hpp b/addons/briefing/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/briefing/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/briefing/XEH_PREP.hpp b/addons/briefing/XEH_PREP.hpp new file mode 100644 index 0000000..f1ec2ba --- /dev/null +++ b/addons/briefing/XEH_PREP.hpp @@ -0,0 +1,7 @@ +PREP(endSlideShow); +PREP(initSlideShow); +PREP(nextImage); +PREP(prevImage); +PREP(spawnLecture); +PREP(spawnPresentation); +PREP(startSlideShow); \ No newline at end of file diff --git a/addons/briefing/XEH_postInit.sqf b/addons/briefing/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/briefing/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/briefing/XEH_postInit_client.sqf b/addons/briefing/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/briefing/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/briefing/XEH_preInit.sqf b/addons/briefing/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/briefing/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/briefing/XEH_preInit_server.sqf b/addons/briefing/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/briefing/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/briefing/XEH_preStart.sqf b/addons/briefing/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/briefing/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/briefing/config.cpp b/addons/briefing/config.cpp new file mode 100644 index 0000000..338b901 --- /dev/null +++ b/addons/briefing/config.cpp @@ -0,0 +1,16 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" \ No newline at end of file diff --git a/addons/briefing/functions/fnc_endSlideShow.sqf b/addons/briefing/functions/fnc_endSlideShow.sqf new file mode 100644 index 0000000..a688f89 --- /dev/null +++ b/addons/briefing/functions/fnc_endSlideShow.sqf @@ -0,0 +1,55 @@ +#include "..\script_component.hpp" + +/* + Author: PDT for J. Schmidt + ends the slide show + + Arguments: + 0: _controller - object that controls the slide show + + Return Value: + - true if the slide show was ended; false if not +*/ + +params [["_controller", objNull]]; + +if (isNull _controller) exitWith { + _return = false; + _return +}; + +private _controllers = _controller getVariable ["FORGE_SlideShow_Controllers", []]; +private _currentIndex = 0; +private _images = _controller getVariable ["FORGE_SlideShow_Images", []]; +private _screens = _controller getVariable ["FORGE_SlideShow_Screens", []]; + +if (_images isEqualTo []) exitWith { + _return = false; + _return +}; + +if (_screens isEqualTo []) exitWith { + _return = false; + _return +}; + +if (_controllers isEqualTo []) exitWith { + _return = false; + _return +}; + +{ + _x setObjectTextureGlobal [0, ""]; + true +} count (_screens); + +{ + _x setVariable ["FORGE_SlideShow_Images", _images, true]; + _x setVariable ["FORGE_SlideShow_Screens", _screens, true]; + _x setVariable ["FORGE_SlideShow_CurrentIndex", _currentIndex, true]; + _x setVariable ["FORGE_SlideShow_Started", false, true]; + true +} count (_controllers); + +_return = true; +_return \ No newline at end of file diff --git a/addons/briefing/functions/fnc_initSlideShow.sqf b/addons/briefing/functions/fnc_initSlideShow.sqf new file mode 100644 index 0000000..f63ec5c --- /dev/null +++ b/addons/briefing/functions/fnc_initSlideShow.sqf @@ -0,0 +1,74 @@ +#include "..\script_component.hpp" + +/* + Author: PDT for J. Schmidt + sets up a slide show + + Arguments: + 0: _screen - array of objects to display images on + 1: _controllers - array of objects to use are controlers + 2: _images - array of image paths; images should be powers of 2 + 3: _autoScroll - should the image auto-scroll + 4: _units - unit(s) that should speak + 5: _topic - conversation topic + 6: _sentence - conversation sentence, "" = play all + + Return Value: + - true if slide show was setup; false if not + + Example: + [Screen01, [Controler01], ["images/folder/image.paa"]] call forge_client_briefing_fnc_initSlideShow; +*/ + +params [["_screens", []], ["_controllers", []], ["_images", []], ["_autoScroll", false], ["_units", []], ["_topic", ""], ["_sentence", ""]]; + +if (_screens isEqualTo []) exitWith { + _return = false; + _return +}; + +if (_controllers isEqualTo []) exitWith { + _return = false; + _return +}; + +if (_images isEqualTo []) exitWith { + _return = false; + _return +}; + +{ + _x setVariable ["FORGE_SlideShow_Images", _images, true]; + _x setVariable ["FORGE_SlideShow_Screens", _screens, true]; + _x setVariable ["FORGE_SlideShow_CurrentIndex", 0, true]; + _x setVariable ["FORGE_SlideShow_Controllers", _controllers, true]; + _x setVariable ["FORGE_SlideShow_AutoScroll", _autoScroll, true]; + _x setVariable ["FORGE_SlideShow_Units", _units, true]; + _x setVariable ["FORGE_SlideShow_Topic", _topic, true]; + _x setVariable ["FORGE_SlideShow_Sentence", _sentence, true]; + + [_x, ["Start Slide Show", { + params ["_target", "_caller", "_actionId", "_arguments"]; + _target setVariable ["FORGE_SlideShow_Started", true, true]; + [_target] remoteExec ["forge_client_briefing_fnc_startSlideShow", 2, false]; + }, nil, 1.5, true, true, "", "!(_target getVariable ['FORGE_SlideShow_Started', false])", 2.5, false, "", ""]] remoteExecCall ["addAction", 0, true]; + + [_x, ["Next Image", { + params ["_target", "_caller", "_actionId", "_arguments"]; + [_target] remoteExecCall ["forge_client_briefing_fnc_nextImage", 2, false]; + }, nil, 1.5, true, true, "", "_target getVariable ['FORGE_SlideShow_Started', false] && {!(_target getVariable ['FORGE_SlideShow_AutoScroll', false])}", 2.5, false, "", ""]] remoteExecCall ["addAction", 0, true]; + + [_x, ["Previous Image", { + params ["_target", "_caller", "_actionId", "_arguments"]; + [_target] remoteExecCall ["forge_client_briefing_fnc_prevImage", 2, false]; + }, nil, 1.5, true, true, "", "_target getVariable ['FORGE_SlideShow_Started', false] && {!(_target getVariable ['FORGE_SlideShow_AutoScroll', false])}", 2.5, false, "", ""]] remoteExecCall ["addAction", 0, true]; + + [_x, ["End Slide Show", { + params ["_target", "_caller", "_actionId", "_arguments"]; + [_target] remoteExecCall ["forge_client_briefing_fnc_endSlideShow", 2, false]; + }, nil, 1.5, true, true, "", "_target getVariable ['FORGE_SlideShow_Started', false]", 2.5, false, "", ""]] remoteExecCall ["addAction", 0, true]; + true +} count (_controllers); + +_return = true; +_return \ No newline at end of file diff --git a/addons/briefing/functions/fnc_nextImage.sqf b/addons/briefing/functions/fnc_nextImage.sqf new file mode 100644 index 0000000..7e0ffed --- /dev/null +++ b/addons/briefing/functions/fnc_nextImage.sqf @@ -0,0 +1,60 @@ +#include "..\script_component.hpp" + +/* + Author: PDT for J. Schmidt + displays the next image + + Arguments: + 0: _controller - object that controls the slide show + + Return Value: + - true if the next image was displayed; false if not +*/ + +params [["_controller", objNull]]; + +if (isNull _controller) exitWith { + _return = false; + _return +}; + +private _controllers = _controller getVariable ["FORGE_SlideShow_Controllers", []]; +private _currentIndex = _controller getVariable ["FORGE_SlideShow_CurrentIndex", 0]; +private _images = _controller getVariable ["FORGE_SlideShow_Images", []]; +private _screens = _controller getVariable ["FORGE_SlideShow_Screens", []]; + +if (_images isEqualTo []) exitWith { + _return = false; + _return +}; + +if (_screens isEqualTo []) exitWith { + _return = false; + _return +}; + +if (_controllers isEqualTo []) exitWith { + _return = false; + _return +}; + +private _imageCount = (count _images) - 1; + +if (_currentIndex isEqualTo _imageCount) then { + _currentIndex = 0; +} else { + _currentIndex = _currentIndex + 1; +}; + +{ + _x setObjectTextureGlobal [0, (_images select _currentIndex) select 0]; + true +} count (_screens); + +{ + _x setVariable ["FORGE_SlideShow_CurrentIndex", _currentIndex, true]; + true +} count (_controllers); + +_return = true; +_return \ No newline at end of file diff --git a/addons/briefing/functions/fnc_prevImage.sqf b/addons/briefing/functions/fnc_prevImage.sqf new file mode 100644 index 0000000..608434b --- /dev/null +++ b/addons/briefing/functions/fnc_prevImage.sqf @@ -0,0 +1,60 @@ +#include "..\script_component.hpp" + +/* + Author: PDT for J. Schmidt + displays the previous image + + Arguments: + 0: _controller - object that controls the slide show + + Return Value: + - true if the previous image was displayed; false if not +*/ + +params [["_controller", objNull]]; + +if (isNull _controller) exitWith { + _return = false; + _return +}; + +private _controllers = _controller getVariable ["FORGE_SlideShow_Controllers", []]; +private _currentIndex = _controller getVariable ["FORGE_SlideShow_CurrentIndex", 0]; +private _images = _controller getVariable ["FORGE_SlideShow_Images", []]; +private _screens = _controller getVariable ["FORGE_SlideShow_Screens", []]; + +if (_images isEqualTo []) exitWith { + _return = false; + _return +}; + +if (_screens isEqualTo []) exitWith { + _return = false; + _return +}; + +if (_controllers isEqualTo []) exitWith { + _return = false; + _return +}; + +private _imageCount = (count _images) - 1; + +if (_currentIndex isEqualTo 0) then { + _currentIndex = 0; +} else { + _currentIndex = _currentIndex - 1; +}; + +{ + _x setObjectTextureGlobal [0, (_images select _currentIndex) select 0]; + true +} count (_screens); + +{ + _x setVariable ["FORGE_SlideShow_CurrentIndex", _currentIndex, true]; + true +} count (_controllers); + +_return = true; +_return \ No newline at end of file diff --git a/addons/briefing/functions/fnc_spawnLecture.sqf b/addons/briefing/functions/fnc_spawnLecture.sqf new file mode 100644 index 0000000..e864950 --- /dev/null +++ b/addons/briefing/functions/fnc_spawnLecture.sqf @@ -0,0 +1,40 @@ +#include "..\script_component.hpp" + +/* + Name: forge_client_briefing_fnc_spawnLecture + Date: 8/6/2022 + Version: 1.0 + Author: J. Schmidt + + Description: + AI plays a given sentence/conversation. + + Parameter(s): + 0: Unit that is playing the given sentence/conversation. + 1: Topic that is being talked about. + 2: Sentence partaining to the topic at hand. +*/ + +params ["_unit", "_topic", "_sentence"]; +FORGE_Briefing_inProgress = true; +publicVariable "FORGE_Briefing_inProgress"; + +while { alive _unit } do { + _unit disableAI "ALL"; + _unit switchMove " "; + _handle = [_topic, _sentence, nil, nil, nil, [_unit], 1, false] spawn BIS_fnc_kbTell; + + if (!alive _unit) exitWith { + [_unit] spawn BIS_fnc_kbSkip; + + FORGE_Briefing_inProgress = false; + publicVariable "FORGE_Briefing_inProgress"; + }; + + uiSleep 5; +}; + +waitUntil { scriptDone _handle }; + +FORGE_Briefing_inProgress = false; +publicVariable "FORGE_Briefing_inProgress"; \ No newline at end of file diff --git a/addons/briefing/functions/fnc_spawnPresentation.sqf b/addons/briefing/functions/fnc_spawnPresentation.sqf new file mode 100644 index 0000000..fb8c698 --- /dev/null +++ b/addons/briefing/functions/fnc_spawnPresentation.sqf @@ -0,0 +1,26 @@ +#include "..\script_component.hpp" + +/* + Name: forge_client_briefing_fnc_spawnLecture + Date: 8/6/2022 + Version: 1.0 + Author: J. Schmidt + + Description: + Object displays a slideshow presentation. + + Parameter(s): + 0: Object that will display the presentation. + 1: Slides that will be used for the presentation. + 1-0: Texture used for the Slide. + 1-1: Amount of Time the Slide will display. +*/ + +params ["_object", "_slides"]; + +{ + _x params ["_texture", "_delay"]; + _object setObjectTextureGlobal [0, _texture]; + uiSleep _delay; + true +} count (_slides); \ No newline at end of file diff --git a/addons/briefing/functions/fnc_startSlideShow.sqf b/addons/briefing/functions/fnc_startSlideShow.sqf new file mode 100644 index 0000000..786fa36 --- /dev/null +++ b/addons/briefing/functions/fnc_startSlideShow.sqf @@ -0,0 +1,92 @@ +#include "..\script_component.hpp" + +/* + Author: PDT for J. Schmidt + starts the slideshow + + Arguments: + 0: _controller - object that controls the slide show + + Return Value: + - true if slide show was started +*/ + +params [["_controller", objNull], ["_units", []], ["_topic", ""], ["_sentence", ""]]; + +FORGE_Briefing_inProgress = true; +publicVariable "FORGE_Briefing_inProgress"; + +if (isNull _controller) exitWith { + _return = false; + _return +}; + +private _autoScroll = _controller getVariable ["FORGE_SlideShow_AutoScroll", false]; +private _controllers = _controller getVariable ["FORGE_SlideShow_Controllers", []]; +private _currentIndex = _controller getVariable ["FORGE_SlideShow_CurrentIndex", 0]; +private _images = _controller getVariable ["FORGE_SlideShow_Images", []]; +private _screens = _controller getVariable ["FORGE_SlideShow_Screens", []]; +private _units = _controller getVariable ["FORGE_SlideShow_Units", []]; +private _topic = _controller getVariable ["FORGE_SlideShow_Topic", ""]; +private _sentence = _controller getVariable ["FORGE_SlideShow_Sentence", ""]; +private _started = _controller getVariable ["FORGE_SlideShow_Started", true]; + +if (_images isEqualTo []) exitWith { + _return = false; + _return +}; + +if (_screens isEqualTo []) exitWith { + _return = false; + _return +}; + +if (_controllers isEqualTo []) exitWith { + _return = false; + _return +}; + +private _imageCount = (count _images) - 1; + +if (_currentIndex isEqualTo _imageCount) then { + _currentIndex = 0; +}; + +_handle = [_topic, _sentence, nil, nil, nil, _units, 1, false] spawn BIS_fnc_kbTell; + +{ + _x setObjectTextureGlobal [0, (_images select _currentIndex) select 0]; + true +} count (_screens); + +{ + _x setVariable ["FORGE_SlideShow_CurrentIndex", _currentIndex, true]; + true +} count (_controllers); + +if (_autoScroll) then { + { + private _index = _controller getVariable ["FORGE_SlideShow_CurrentIndex", 0]; + private _image = _x select 0; + private _sleep = _x select 1; + + { + _x setObjectTextureGlobal [0, _image]; + true + } count (_screens); + + _index = _index + 1; + _controller setVariable ["FORGE_SlideShow_CurrentIndex", _index, true]; + + uiSleep _sleep; + true + } count (_images); +}; + +waitUntil { scriptDone _handle }; + +FORGE_Briefing_inProgress = false; +publicVariable "FORGE_Briefing_inProgress"; + +_return = true; +_return \ No newline at end of file diff --git a/addons/briefing/script_component.hpp b/addons/briefing/script_component.hpp new file mode 100644 index 0000000..12b9532 --- /dev/null +++ b/addons/briefing/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT briefing +#define COMPONENT_BEAUTIFIED Briefing +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_BRIEFING + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_BRIEFING + #define DEBUG_SETTINGS DEBUG_SETTINGS_BRIEFING +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/db/$PBOPREFIX$ b/addons/db/$PBOPREFIX$ new file mode 100644 index 0000000..4fccdf2 --- /dev/null +++ b/addons/db/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\db \ No newline at end of file diff --git a/addons/db/CfgEventHandlers.hpp b/addons/db/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/db/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/db/XEH_PREP.hpp b/addons/db/XEH_PREP.hpp new file mode 100644 index 0000000..7dbd5dc --- /dev/null +++ b/addons/db/XEH_PREP.hpp @@ -0,0 +1,3 @@ +PREP(saveToMission); +PREP(saveToProfile); +PREP(saveToTempDB); \ No newline at end of file diff --git a/addons/db/XEH_postInit.sqf b/addons/db/XEH_postInit.sqf new file mode 100644 index 0000000..a3c56cd --- /dev/null +++ b/addons/db/XEH_postInit.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +GVAR(tempDB) = []; \ No newline at end of file diff --git a/addons/db/XEH_postInit_client.sqf b/addons/db/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/db/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/db/XEH_preInit.sqf b/addons/db/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/db/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/db/XEH_preInit_server.sqf b/addons/db/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/db/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/db/XEH_preStart.sqf b/addons/db/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/db/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/db/config.cpp b/addons/db/config.cpp new file mode 100644 index 0000000..c26a700 --- /dev/null +++ b/addons/db/config.cpp @@ -0,0 +1,16 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "J. Schmidt"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" \ No newline at end of file diff --git a/addons/db/functions/fnc_saveToMission.sqf b/addons/db/functions/fnc_saveToMission.sqf new file mode 100644 index 0000000..628035c --- /dev/null +++ b/addons/db/functions/fnc_saveToMission.sqf @@ -0,0 +1,113 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_db_fnc_saveToMission + * Author: J.Schmidt + * Edit: 07.23.2024 + * Copyright © 2024 J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Store mission and player data in Mission Namespace. + * + * Arguments: + * N/A + * + * Return Value: + * N/A + * + * Examples: + * [] call forge_client_db_fnc_saveToMission; + * + * Public: Yes + */ + +if (isNil "companyFunds") then { companyFunds = 0 }; +if (isNil "companyRating") then { companyRating = 0 }; +if (isNil "companyGenerals") then { companyGenerals = [] }; +if (isNil "companyGarageUnlocks") then { companyGarageUnlocks = [] }; +// if (isNil "forge_client_armory_arsenalUnlocks") then { forge_client_armory_arsenalUnlocks = [] }; +// if (isNil "forge_client_armory_garageUnlocks") then { forge_client_armory_garageUnlocks = [] }; +if (isNil EGVAR(arsenal,armory_unlocks)) then { EGVAR(arsenal,armory_unlocks) = [[],[],[],[]] }; +if (isNil EGVAR(arsenal,garage_unlocks)) then { EGVAR(arsenal,garage_unlocks) = [[],[],[],[],[],[]] }; + +private _vdata = []; +private _pdata = []; +private _cdata = [ +["key", "CompanyState"], +["funds", [companyFunds]], +["rating", [companyRating]], +["operations", [companyGenerals]], +["garage_unlocks", [companyGarageUnlocks]] +]; + +private _vehicles = nearestObjects [player, ["LandVehicle"], 50] apply { + createHashMapFromArray [ + ["vehicle", _x], + ["class", [typeOf _x]], + ["position", [getPosATL _x]], + ["direction", [getDir _x]], + ["health", [damage _x]] + ]; +}; + +{ + if (alive _x) then { + _vdata pushBackUnique _x; + }; +} forEach _vehicles; + +{ + private _data = [ + ["key", getPlayerUID player], + // ["armory_unlocks", [forge_client_armory_arsenalUnlocks]], + // ["garage_unlocks", [forge_client_armory_garageUnlocks]], + ["armory_unlocks", [EGVAR(arsenal,armory_unlocks)]], + ["garage_unlocks", [EGVAR(arsenal,garage_unlocks)]], + // ["locker", [player getVariable ["Locker", []]]], + // ["garage", [player getVariable ["Garage", []]]], + ["locker", [GETVAR(player,FORGE_Locker,[])]], + ["garage", [GETVAR(player,FORGE_Garage,[])]], + // ["cash", [player getVariable ["FORGE_Cash", 0]]], + // ["bank", [player getVariable ["FORGE_Bank", 0]]], + ["cash", [GETVAR(player,FORGE_Cash,0)]], + ["bank", [GETVAR(player,FORGE_Bank,0)]], + // ["number", [player getVariable ["FORGE_Phone_Number", "unknown"]]], + // ["email", [player getVariable ["FORGE_Email", "unknown@spearnet.mil"]]], + ["number", [GETVAR(player,FORGE_Phone_Number,"unknown")]], + ["email", [GETVAR(player,FORGE_Email,"unknown@spearnet.mil")]], + // ["paygrade", [player getVariable ["Paygrade", "E1"]]], + ["paygrade", [GETVAR(player,FORGE_Paygrade,"E1")]], + ["reputation", [rating player]], + ["loadout", [getUnitLoadout player]], + // ["holster", [player getVariable ["FORGE_Holster_Weapon", true]]], + ["holster", [GETVAR(player,FORGE_Holster_Weapon,true)]], + ["position", [getPosASLVisual player]], + ["direction", [getDirVisual player]] + ]; + + if (isNull objectParent player) then { + _data pushBack "currentWeapon"; + _data pushBack [currentMuzzle player]; + _data pushBack "stance"; + _data pushBack [stance player]; + }; + + _pdata pushBackUnique _data; +} forEach playableUnits; + +private _cHashMap = createHashMapFromArray _cdata; +private _pHashMap = createHashMapFromArray _pdata; +private _vHashMap = createHashMapFromArray _vdata; + +// missionProfileNamespace setVariable ["FORGE_MissionData", _cHashMap]; +// missionProfileNamespace setVariable ["FORGE_PlayerData", _pHashMap]; +// missionProfileNamespace setVariable ["FORGE_VehicleData", _vHashMap]; +SETPVAR(missionNamespace,FORGE_MissionData,_cHashMap); +SETPVAR(missionNamespace,FORGE_PlayerData,_pHashMap); +SETPVAR(missionNamespace,FORGE_VehicleData,_vHashMap); \ No newline at end of file diff --git a/addons/db/functions/fnc_saveToProfile.sqf b/addons/db/functions/fnc_saveToProfile.sqf new file mode 100644 index 0000000..820ca88 --- /dev/null +++ b/addons/db/functions/fnc_saveToProfile.sqf @@ -0,0 +1,69 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_db_fnc_saveToProfile + * Author: J.Schmidt + * Edit: 07.23.2024 + * Copyright © 2024 J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Store player data in Profile Namespace. + * + * Arguments: + * N/A + * + * Return Value: + * N/A + * + * Examples: + * [] call forge_client_db_fnc_saveToProfile; + * + * Public: Yes + */ + +// if (isNil "forge_client_armory_arsenalUnlocks") then { forge_client_armory_arsenalUnlocks = [] }; +// if (isNil "forge_client_armory_garageUnlocks") then { forge_client_armory_garageUnlocks = [] }; +if (isNil EGVAR(arsenal,armory_unlocks)) then { EGVAR(arsenal,armory_unlocks) = [[],[],[],[]] }; +if (isNil EGVAR(arsenal,garage_unlocks)) then { EGVAR(arsenal,garage_unlocks) = [[],[],[],[],[],[]] }; + +private _data = [ +["key", getPlayerUID player], +["armory_unlocks", [EGVAR(arsenal,armory_unlocks)]], +["garage_unlocks", [EGVAR(arsenal,garage_unlocks)]], +// ["locker", [player getVariable ["Locker", []]]], +// ["garage", [player getVariable ["Garage", []]]], +["locker", [GETVAR(player,FORGE_Locker,[])]], +["garage", [GETVAR(player,FORGE_Garage,[])]], +// ["cash", [player getVariable ["FORGE_Cash", 0]]], +// ["bank", [player getVariable ["FORGE_Bank", 0]]], +["cash", [GETVAR(player,FORGE_Cash,0)]], +["bank", [GETVAR(player,FORGE_Bank,0)]], +// ["number", [player getVariable ["FORGE_Phone_Number", "unknown"]]], +// ["email", [player getVariable ["FORGE_Email", "unknown@spearnet.mil"]]], +["number", [GETVAR(player,FORGE_PhoneNumber,"unknown")]], +["email", [GETVAR(player,FORGE_Email,"unknown@spearnet.mil")]], +// ["paygrade", [player getVariable ["Paygrade", "E1"]]], +["paygrade", [GETVAR(player,FORGE_Paygrade,"E1")]], +["reputation", [rating player]], +["loadout", [getUnitLoadout player]], +// ["holster", [player getVariable ["FORGE_Holster_Weapon", true]]], +["holster", [GETVAR(player,FORGE_Holster_Weapon,true)]], +["position", [getPosASLVisual player]], +["direction", [getDirVisual player]] +]; + +if (isNull objectParent player) then { + _data pushBack ["currentWeapon", [currentMuzzle player]]; + _data pushBack ["stance", [stance player]]; +}; + +private _hashMap = createHashMapFromArray _data; + +// profileNamespace setVariable ["FORGE_PlayerData", _hashMap]; +SETPVAR(profileNamespace,FORGE_PlayerData,_hashMap); \ No newline at end of file diff --git a/addons/db/functions/fnc_saveToTempDB.sqf b/addons/db/functions/fnc_saveToTempDB.sqf new file mode 100644 index 0000000..ec097f0 --- /dev/null +++ b/addons/db/functions/fnc_saveToTempDB.sqf @@ -0,0 +1,51 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_db_fnc_saveToTempDB + * Author: J.Schmidt + * Edit: 07.23.2024 + * Copyright © 2024 J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Store data in Temp DB. + * + * Arguments: + * 0: Name of Event + * 1: Name of DB + * 2: UID of Player + * 3: Name of Key + * 4: Value to store in key + * + * Return Value: + * N/A + * + * Examples: + * ["playerStatus", "players", "76561198027566824", "status", "available"] call forge_client_db_fnc_saveToTempDB; + * + * Public: Yes + */ + +params [["_event", "", [""]], ["_db", "", [""]], ["_uid", "", [""]], ["_key", "", [""]], ["_value", "", [[], 0, "", false]]]; + +if (isNil "_event") exitWith { ["No Event provided"] call BFUNC(log); }; +if (isNil "_db") exitWith { ["No DB provided"] call BFUNC(log); }; +if (isNil "_uid") exitWith { ["No UID provided"] call BFUNC(log); }; +if (isNil "_key") exitWith { ["No key provided"] call BFUNC(log); }; +if (isNil "_value") exitWith { ["No Value provided"] call BFUNC(log); }; + +["Received event: %1", _this] call BFUNC(logFormat); + +private _response = [GVAR(tempDB), [_db, _uid, _key], _value] call BFUNC(dbValueSet); + +if !(_response) then { + ["Failed to set Key '%1' for UID '%2' with '%3' to DB", _key, _uid, _value] call BFUNC(logFormat); +} else { + SETPVAR(missionNamespace,FORGE_TempDb,GVAR(tempDB)); + ["Successfully set key '%1' for UID '%2' with '%3'", _key, _uid, _value] call BFUNC(logFormat); +}; \ No newline at end of file diff --git a/addons/db/script_component.hpp b/addons/db/script_component.hpp new file mode 100644 index 0000000..b2c6a23 --- /dev/null +++ b/addons/db/script_component.hpp @@ -0,0 +1,15 @@ +#define COMPONENT db +#define COMPONENT_BEAUTIFIED DB +#include "..\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_DB + #define DEBUG_MODE_FULL +#endif + #ifdef DEBUG_SETTINGS_DB + #define DEBUG_SETTINGS DEBUG_SETTINGS_DB +#endif + +#include "..\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/dialogue/$PBOPREFIX$ b/addons/dialogue/$PBOPREFIX$ new file mode 100644 index 0000000..a8c2d57 --- /dev/null +++ b/addons/dialogue/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\dialogue \ No newline at end of file diff --git a/addons/dialogue/CfgEventHandlers.hpp b/addons/dialogue/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/dialogue/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/dialogue/XEH_PREP.hpp b/addons/dialogue/XEH_PREP.hpp new file mode 100644 index 0000000..f8208a5 --- /dev/null +++ b/addons/dialogue/XEH_PREP.hpp @@ -0,0 +1,2 @@ +PREP(selectAI); +PREP(selectDialogue); \ No newline at end of file diff --git a/addons/dialogue/XEH_postInit.sqf b/addons/dialogue/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/dialogue/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/dialogue/XEH_postInit_client.sqf b/addons/dialogue/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/dialogue/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/dialogue/XEH_preInit.sqf b/addons/dialogue/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/dialogue/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/dialogue/XEH_preInit_server.sqf b/addons/dialogue/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/dialogue/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/dialogue/XEH_preStart.sqf b/addons/dialogue/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/dialogue/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/dialogue/config.cpp b/addons/dialogue/config.cpp new file mode 100644 index 0000000..338b901 --- /dev/null +++ b/addons/dialogue/config.cpp @@ -0,0 +1,16 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" \ No newline at end of file diff --git a/addons/dialogue/functions/fnc_selectAI.sqf b/addons/dialogue/functions/fnc_selectAI.sqf new file mode 100644 index 0000000..2a98227 --- /dev/null +++ b/addons/dialogue/functions/fnc_selectAI.sqf @@ -0,0 +1,23 @@ +#include "..\script_component.hpp" + +/* + Name: forge_client_dialogue_fnc_selectAI + Date: 8/6/2022 + Version: 1.0 + Author: J. Schmidt + + Description: + Select AI for dialogue. + + Arguments: + 0: OBJECT - The AI unit +*/ + +params [["_units", [], [[]]]]; + +{ + _x disableAI "ALL"; + _x switchMove " "; + [_x] call FUNC(selectDialogue); + true +} count (_units); \ No newline at end of file diff --git a/addons/dialogue/functions/fnc_selectDialogue.sqf b/addons/dialogue/functions/fnc_selectDialogue.sqf new file mode 100644 index 0000000..5bea444 --- /dev/null +++ b/addons/dialogue/functions/fnc_selectDialogue.sqf @@ -0,0 +1,23 @@ +#include "..\script_component.hpp" + +/* + Name: forge_client_dialogue_fnc_selectDialogue + Date: 8/6/2022 + Version: 1.0 + Author: J. Schmidt + + Description: + Create dialogue for AI unit. + + Arguments: + 0: OBJECT - The AI unit + 1: STRING - The dialogue +*/ + +params [["_units", [], [[]]], ["_dialogue", [], [[]]]]; + +{ + _x params ["_topic", "_sentence"]; + [_topic, _sentence, nil, false, nil, [_units], 1, false] spawn BFUNC(kbTell); + true +} count (_dialogue); \ No newline at end of file diff --git a/addons/dialogue/script_component.hpp b/addons/dialogue/script_component.hpp new file mode 100644 index 0000000..a155996 --- /dev/null +++ b/addons/dialogue/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT dialogue +#define COMPONENT_BEAUTIFIED Dialogue +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_DIALOGUE + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_DIALOGUE + #define DEBUG_SETTINGS DEBUG_SETTINGS_DIALOGUE +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/garage/$PBOPREFIX$ b/addons/garage/$PBOPREFIX$ new file mode 100644 index 0000000..e10766d --- /dev/null +++ b/addons/garage/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\garage \ No newline at end of file diff --git a/addons/garage/CfgEventHandlers.hpp b/addons/garage/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/garage/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/garage/README.md b/addons/garage/README.md new file mode 100644 index 0000000..bb1536d --- /dev/null +++ b/addons/garage/README.md @@ -0,0 +1,4 @@ +forge_garage +========== + +A player garage addon that provides personal storage functionality. Players can store and retrieve their vehicles securely using individual garages. This addon handles the storage and management of player vehicles in a safe and organized way. \ No newline at end of file diff --git a/addons/garage/XEH_PREP.hpp b/addons/garage/XEH_PREP.hpp new file mode 100644 index 0000000..9af9896 --- /dev/null +++ b/addons/garage/XEH_PREP.hpp @@ -0,0 +1,6 @@ +PREP(fetchGarage); +PREP(fetchNearby); +PREP(initGarage); +PREP(openGarage); +PREP(spawnVehicle); +PREP(storeVehicle); \ No newline at end of file diff --git a/addons/garage/XEH_postInit.sqf b/addons/garage/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/garage/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/garage/XEH_postInit_client.sqf b/addons/garage/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/garage/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/garage/XEH_preInit.sqf b/addons/garage/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/garage/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/garage/XEH_preInit_server.sqf b/addons/garage/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/garage/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/garage/XEH_preStart.sqf b/addons/garage/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/garage/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/garage/config.cpp b/addons/garage/config.cpp new file mode 100644 index 0000000..6f2f02c --- /dev/null +++ b/addons/garage/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "ui\BaseControls.hpp" +#include "ui\RscGarageDialog.hpp" \ No newline at end of file diff --git a/addons/garage/functions/fnc_fetchGarage.sqf b/addons/garage/functions/fnc_fetchGarage.sqf new file mode 100644 index 0000000..fff3d05 --- /dev/null +++ b/addons/garage/functions/fnc_fetchGarage.sqf @@ -0,0 +1,20 @@ +#include "..\script_component.hpp" + +private _display = findDisplay IDD_GARAGEDIALOG; +private _garageList = _display displayCtrl IDC_GARAGEVEHICLELIST; +// private _storedVehicles = player getVariable ["FORGE_Garage", []]; +private _storedVehicles = GETVAR(player,FORGE_Garage,[]); + +lbClear _garageList; + +{ + _x params ["_isGarageVehicle", "_className", "_vehData"]; + + private _index = -1; + private _displayName = getText (configFile >> "CfgVehicles" >> _className >> "displayName"); + private _picture = getText (configFile >> "CfgVehicles" >> _className >> "picture"); + + _index = _garageList lbAdd _displayName; + _garageList lbSetData [_index, str [_isGarageVehicle, _className, _vehData]]; + _garageList lbSetPicture [_index, _picture]; +} forEach _storedVehicles; \ No newline at end of file diff --git a/addons/garage/functions/fnc_fetchNearby.sqf b/addons/garage/functions/fnc_fetchNearby.sqf new file mode 100644 index 0000000..1ff203e --- /dev/null +++ b/addons/garage/functions/fnc_fetchNearby.sqf @@ -0,0 +1,42 @@ +#include "..\script_component.hpp" + +private _display = findDisplay IDD_GARAGEDIALOG; +private _vehicleList = _display displayCtrl IDC_VEHICLELIST; + +lbClear _vehicleList; + +private _temp = []; +private _locations = (missionConfigFile >> "CfgGarages" >> "locations") call BFUNC(getCfgData); + +{ + if ((getPosATLVisual player) distance (_x select 1) < 20) then { + { + // private _isGarageVehicle = _x getVariable ["FORGE_GarageVehicle", false]; + private _isGarageVehicle = GETVAR(_x,FORGE_GarageVehicle,false); + + if (_isGarageVehicle) then { + private _vehData = [ + getAllHitPointsDamage _x, + fuel _x, + damage _x + ]; + + _temp pushBackUnique [_isGarageVehicle, typeOf _x, _vehData, netId _x]; + } else { + ["This vehicle was not spawned from the garage and cannot be stored.", "warning", 3, "right"] call EFUNC(misc,notify); + }; + } forEach (nearestObjects [(_x select 1), ["Land", "Air", "Ship"], 5]) - [player]; + }; +} forEach _locations; + +{ + _x params ["_isGarageVehicle", "_className", "_vehData", "_netID"]; + + private _index = -1; + private _displayName = getText (configFile >> "CfgVehicles" >> _className >> "displayName"); + private _picture = getText (configFile >> "CfgVehicles" >> _className >> "picture"); + + _index = _vehicleList lbAdd _displayName; + _vehicleList lbSetData [_index, str [_isGarageVehicle, _className, _vehData, _netID]]; + _vehicleList lbSetPicture [_index, _picture]; +} forEach _temp; \ No newline at end of file diff --git a/addons/garage/functions/fnc_initGarage.sqf b/addons/garage/functions/fnc_initGarage.sqf new file mode 100644 index 0000000..d21a6b6 --- /dev/null +++ b/addons/garage/functions/fnc_initGarage.sqf @@ -0,0 +1,31 @@ +#include "..\script_component.hpp" + +{ + private _configName = configName(_x); + private _className = (missionConfigFile >> "CfgGarages" >> "garages" >> _configName >> "className") call BFUNC(getCfgData); + private _pos = (missionConfigFile >> "CfgGarages" >> "garages" >> _configName >> "pos") call BFUNC(getCfgData); + private _dir = (missionConfigFile >> "CfgGarages" >> "garages" >> _configName >> "dir") call BFUNC(getCfgData); + private _type = (missionConfigFile >> "CfgGarages" >> "garages" >> _configName >> "type") call BFUNC(getCfgData); + + if (_type == "object") then { + private _garage = createSimpleObject [_className, [0, 0, 0]]; + + _garage setPosATL _pos; + _garage setDir _dir; + _garage allowDamage false; + _garage setVariable ["isGarage", true, true]; + } else { + private _group = createGroup civilian; + private _garage = _group createUnit [_className, [0, 0, 0], [], 0, "NONE"]; + + _garage disableAI "MOVE"; + _garage setPosATL _pos; + _garage setDir _dir; + _garage allowDamage false; + _garage setVariable ["isGarage", true, true]; + _garage setVariable ["BIS_enableRandomization", false]; + }; + + diag_log text format ["[FORGE Garage] ClassName: '%1' Pos: '%2' Dir: '%3' Type: '%4'", _className, _pos, _dir, _type]; + +} forEach ("true" configClasses (missionConfigFile >> "CfgGarages" >> "garages")); \ No newline at end of file diff --git a/addons/garage/functions/fnc_openGarage.sqf b/addons/garage/functions/fnc_openGarage.sqf new file mode 100644 index 0000000..334e9b8 --- /dev/null +++ b/addons/garage/functions/fnc_openGarage.sqf @@ -0,0 +1,9 @@ +#include "..\script_component.hpp" + +disableSerialization; +createDialog "RscGarageDialog"; + +ctrlSetText [IDC_DIALOGNAME, format ["%1's Garage", (name player)]]; + +[] call FUNC(fetchGarage); +[] call FUNC(fetchNearby); \ No newline at end of file diff --git a/addons/garage/functions/fnc_spawnVehicle.sqf b/addons/garage/functions/fnc_spawnVehicle.sqf new file mode 100644 index 0000000..1ab3dd3 --- /dev/null +++ b/addons/garage/functions/fnc_spawnVehicle.sqf @@ -0,0 +1,65 @@ +#include "..\script_component.hpp" + +private _display = findDisplay IDD_GARAGEDIALOG; +private _garageList = _display displayCtrl IDC_GARAGEVEHICLELIST; +private _vehicleList = _display displayCtrl IDC_VEHICLELIST; +private _selectedVehicle = lbCurSel _garageList; +private _selectedVehicleData = _garageList lbData _selectedVehicle; +private _data = call compile _selectedVehicleData; + +ctrlEnable [IDC_SPAWNBUTTON, false]; + +if ((isNil { _data })) exitWith { ctrlEnable [IDC_SPAWNBUTTON, true]; }; + +private _isGarageVehicle = _data select 0; +private _className = _data select 1; +private _vehData = _data select 2; +private _locations = (missionConfigFile >> "CfgGarages" >> "locations") call BFUNC(getCfgData); + +{ + if (_isGarageVehicle) exitWith { + private _vehicle = createVehicle [_className, (_x select 1)]; + + private _hitPointsData = _vehData select 0; + + if (count _hitPointsData > 0) then { + private _hitPoints = _hitPointsData select 0; + private _damages = _hitPointsData select 2; + + { + _vehicle setHitPointDamage [_x, _damages select _forEachIndex]; + } forEach _hitPoints; + }; + + { + _vehicle setHitPointDamage [_x, _damages select _forEachIndex]; + } forEach _hitPoints; + + _vehicle setFuel _fuel; + _vehicle setDamage _damage; + // _vehicle setVariable ["FORGE_GarageVehicle", _isGarageVehicle, true]; + SETPVAR(_vehicle,FORGE_GarageVehicle,_isGarageVehicle); + _vehicle setDir (_x select 2); + }; +} forEach _locations; + +lbClear _garageList; +lbClear _vehicleList; +_garageList lbSetCurSel -1; +_vehicleList lbSetCurSel -1; + +// private _garage = player getVariable ["FORGE_Garage", []]; +private _garage = GETVAR(player,FORGE_Garage,[]); +private _index = _garage findIf { (_x select 0) == _isGarageVehicle && (_x select 1) == _className }; + +if (_index != -1) then { + _garage deleteAt _index; + // player setVariable ["FORGE_Garage", _garage, true]; + SETPVAR(player,FORGE_Garage,_garage); +}; + +[] call FUNC(fetchGarage); +[] call FUNC(fetchNearby); + +ctrlEnable [IDC_SPAWNBUTTON, true]; +playSound "FD_Finish_F"; \ No newline at end of file diff --git a/addons/garage/functions/fnc_storeVehicle.sqf b/addons/garage/functions/fnc_storeVehicle.sqf new file mode 100644 index 0000000..f65418f --- /dev/null +++ b/addons/garage/functions/fnc_storeVehicle.sqf @@ -0,0 +1,49 @@ +#include "..\script_component.hpp" + +private _display = findDisplay IDD_GARAGEDIALOG; +private _garageList = _display displayCtrl IDC_GARAGEVEHICLELIST; +private _vehicleList = _display displayCtrl IDC_VEHICLELIST; +private _selectedVehicle = lbCurSel _vehicleList; +private _selectedVehicleData = _vehicleList lbData _selectedVehicle; +private _data = call compile _selectedVehicleData; + +ctrlEnable [IDC_STOREBUTTON, false]; + +if ((isNil { _data })) exitWith { ctrlEnable [IDC_STOREBUTTON, true]; }; + +private _isGarageVehicle = _data select 0; +private _className = _data select 1; +private _netID = _data select 3; + +private _veh = objectFromNetId _netID; +private _vehData = [ + getAllHitPointsDamage _veh, + fuel _veh, + damage _veh +]; + +// private _garage = player getVariable ["FORGE_Garage", []]; +private _garage = GETVAR(player,FORGE_Garage,[]); + +_garage pushBack [_isGarageVehicle, _className, _vehData]; +// player setVariable ["FORGE_Garage", _garage, true]; +SETPVAR(player,FORGE_Garage,_garage); + +lbClear _vehicleList; +lbClear _garageList; +_vehicleList lbSetCurSel -1; +_garageList lbSetCurSel -1; + +_veh spawn { + deleteVehicle _this; + waitUntil { isNull _this }; + + sleep 0.5; + + [] call FUNC(fetchGarage); + [] call FUNC(fetchNearby); + + ctrlEnable [IDC_STOREBUTTON, true]; +}; + +playSound "FD_Finish_F"; \ No newline at end of file diff --git a/addons/garage/script_component.hpp b/addons/garage/script_component.hpp new file mode 100644 index 0000000..528f018 --- /dev/null +++ b/addons/garage/script_component.hpp @@ -0,0 +1,24 @@ +#define COMPONENT garage +#define COMPONENT_BEAUTIFIED Garage +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_GARAGE + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_GARAGE + #define DEBUG_SETTINGS DEBUG_SETTINGS_GARAGE +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" + +#define IDD_GARAGEDIALOG 82100 +#define IDC_DIALOGNAME 82101 +#define IDC_VEHICLELIST 82102 +#define IDC_GARAGEVEHICLELIST 82103 +#define IDC_STOREBUTTON 82104 +#define IDC_SPAWNBUTTON 82105 +#define IDC_CLOSEBUTTON 82106 \ No newline at end of file diff --git a/addons/garage/stringtable.xml b/addons/garage/stringtable.xml new file mode 100644 index 0000000..34a9773 --- /dev/null +++ b/addons/garage/stringtable.xml @@ -0,0 +1,17 @@ + + + + + Close + + + Garage + + + Spawn + + + Store + + + diff --git a/addons/garage/ui/BaseControls.hpp b/addons/garage/ui/BaseControls.hpp new file mode 100644 index 0000000..5fce5a8 --- /dev/null +++ b/addons/garage/ui/BaseControls.hpp @@ -0,0 +1,265 @@ +// Control types +#define CT_STATIC 0 +#define CT_BUTTON 1 +#define CT_EDIT 2 +#define CT_SLIDER 3 +#define CT_COMBO 4 +#define CT_LISTBOX 5 +#define CT_TOOLBOX 6 +#define CT_CHECKBOXES 7 +#define CT_PROGRESS 8 +#define CT_HTML 9 +#define CT_STATIC_SKEW 10 +#define CT_ACTIVETEXT 11 +#define CT_TREE 12 +#define CT_STRUCTURED_TEXT 13 +#define CT_CONTEXT_MENU 14 +#define CT_CONTROLS_GROUP 15 +#define CT_SHORTCUTBUTTON 16 +#define CT_HITZONES 17 +#define CT_XKEYDESC 40 +#define CT_XBUTTON 41 +#define CT_XLISTBOX 42 +#define CT_XSLIDER 43 +#define CT_XCOMBO 44 +#define CT_ANIMATED_TEXTURE 45 +#define CT_OBJECT 80 +#define CT_OBJECT_ZOOM 81 +#define CT_OBJECT_CONTAINER 82 +#define CT_OBJECT_CONT_ANIM 83 +#define CT_LINEBREAK 98 +#define CT_USER 99 +#define CT_MAP 100 +#define CT_MAP_MAIN 101 +#define CT_LISTNBOX 102 +#define CT_ITEMSLOT 103 +#define CT_CHECKBOX 77 + +// Static styles +#define ST_POS 0x0F +#define ST_HPOS 0x03 +#define ST_VPOS 0x0C +#define ST_LEFT 0x00 +#define ST_RIGHT 0x01 +#define ST_CENTER 0x02 +#define ST_DOWN 0x04 +#define ST_UP 0x08 +#define ST_VCENTER 0x0C + +#define ST_TYPE 0xF0 +#define ST_SINGLE 0x00 +#define ST_MULTI 0x10 +#define ST_TITLE_BAR 0x20 +#define ST_PICTURE 0x30 +#define ST_FRAME 0x40 +#define ST_BACKGROUND 0x50 +#define ST_GROUP_BOX 0x60 +#define ST_GROUP_BOX2 0x70 +#define ST_HUD_BACKGROUND 0x80 +#define ST_TILE_PICTURE 0x90 +#define ST_WITH_RECT 0xA0 +#define ST_LINE 0xB0 +#define ST_UPPERCASE 0xC0 +#define ST_LOWERCASE 0xD0 + +#define ST_SHADOW 0x100 +#define ST_NO_RECT 0x200 +#define ST_KEEP_ASPECT_RATIO 0x800 + +// Slider styles +#define SL_DIR 0x400 +#define SL_VERT 0 +#define SL_HORZ 0x400 + +#define SL_TEXTURES 0x10 + +// progress bar +#define ST_VERTICAL 0x01 +#define ST_HORIZONTAL 0 + +// Listbox styles +#define LB_TEXTURES 0x10 +#define LB_MULTI 0x20 + +// Tree styles +#define TR_SHOWROOT 1 +#define TR_AUTOCOLLAPSE 2 + +// Default text sizes +#define GUI_TEXT_SIZE_SMALL (GUI_GRID_H * 0.8) +#define GUI_TEXT_SIZE_MEDIUM (GUI_GRID_H * 1) +#define GUI_TEXT_SIZE_LARGE (GUI_GRID_H * 1.2) + +// Pixel grid +#define pixelScale 0.50 +#define GRID_W (pixelW * pixelGrid * pixelScale) +#define GRID_H (pixelH * pixelGrid * pixelScale) + +class ScrollBar; +class RscObject; +class RscText; +class RscTextSmall; +class RscTitle; +class RscProgress; +class RscProgressNotFreeze; +class RscPicture; +class RscLadderPicture; +class RscPictureKeepAspect; +class RscHTML; +class RscButton; +class RscShortcutButton; +class RscButtonSmall; +class RscEdit; +class RscCombo; +class RscListBox; +class RscListNBox; +class RscXListBox; +class RscTree; +class RscSlider; +class RscSliderH; +class RscXSliderH; +class RscActiveText; +class RscStructuredText; +class RscControlsGroup; +class RscToolbox; +class RscMapControl; +class RscCheckBox; +class RscFrame; +class ctrlDefault; +class ctrlControlsGroup; +class ctrlDefaultText; +class ctrlDefaultButton; +class RscBackgroundStripeTop; +class RscBackgroundStripeBottom; +class RscIGText; +class RscIGProgress; +class RscListBoxKeys; +class RscControlsGroupNoScrollbars; +class RscControlsGroupNoHScrollbars; +class RscControlsGroupNoVScrollbars; +class RscLine; +class RscActivePicture; +class RscButtonTextOnly; +class RscShortcutButtonMain; +class RscButtonEditor; +class RscIGUIShortcutButton; +class RscGearShortcutButton; +class RscButtonMenu; +class RscButtonMenuOK; +class RscButtonMenuCancel; +class RscButtonMenuSteam; +class RscLoadingText; +class RscIGUIListBox; +class RscIGUIListNBox; +class RscBackground; +class RscBackgroundGUI; +class RscBackgroundGUILeft; +class RscBackgroundGUIRight; +class RscBackgroundGUIBottom; +class RscBackgroundGUITop; +class RscBackgroundGUIDark; +class RscBackgroundLogo; +class RscMapControlEmpty; +class RscVignette; +class CA_Mainback; +class CA_Back; +class CA_Title_Back; +class CA_Black_Back; +class CA_Title; +class CA_Logo; +class CA_Logo_Small; +class CA_RscButton; +class CA_RscButton_dialog; +class CA_Ok; +class CA_Ok_image; +class CA_Ok_image2; +class CA_Ok_text; +class ctrlCheckbox; +class ctrlCheckboxBaseline; +class ctrlStatic; +class ctrlControlsGroupNoScrollbars; +class ctrlStructuredText; +class RscTextMulti; +class RscTreeSearch; +class RscVideo; +class RscVideoKeepAspect; +class RscActivePictureKeepAspect; +class RscEditMulti; +class RscMapSignalBackground; +class RscMapSignalPicture; +class RscMapSignalText; +class RscColorPicker; +class RscInterlacingScreen; +class RscFeedback; +class RscTrafficLight; +class RscButtonSearch; +class RscIGUIText; +class RscOpticsText; +class RscOpticsValue; +class RscIGUIValue; +class RscButtonMenuMain; +class RscButtonTestCentered; +class RscDisplaySingleMission_ChallengeOverviewGroup; +class RscDisplayDebriefing_RscTextMultiline; +class RscDisplayDebriefing_ListGroup; +class RscButtonArsenal; +class RscTextNoShadow; +class RscButtonNoColor; +class RscToolboxButton; +class ctrlStaticPicture; +class ctrlStaticPictureKeepAspect; +class ctrlStaticPictureTile; +class ctrlStaticFrame; +class ctrlStaticLine; +class ctrlStaticMulti; +class ctrlStaticBackground; +class ctrlStaticOverlay; +class ctrlStaticTitle; +class ctrlStaticFooter; +class ctrlStaticBackgroundDisable; +class ctrlStaticBackgroundDisableTiles; +class ctrlButton; +class ctrlButtonPicture; +class ctrlButtonPictureKeepAspect; +class ctrlButtonOK; +class ctrlButtonCancel; +class ctrlButtonClose; +class ctrlButtonToolbar; +class ctrlButtonSearch; +class ctrlButtonExpandAll; +class ctrlButtonCollapseAll; +class ctrlButtonFilter; +class ctrlEdit; +class ctrlEditMulti; +class ctrlSliderV; +class ctrlSliderH; +class ctrlCombo; +class ctrlComboToolbar; +class ctrlListbox; +class ctrlToolbox; +class ctrlToolboxPicture; +class ctrlToolboxPictureKeepAspect; +class ctrlCheckboxes; +class ctrlCheckboxesCheckbox; +class ctrlProgress; +class ctrlHTML; +class ctrlActiveText; +class ctrlActivePicture; +class ctrlActivePictureKeepAspect; +class ctrlTree; +class ctrlControlsGroupNoHScrollbars; +class ctrlControlsGroupNoVScrollbars; +class ctrlShortcutButton; +class ctrlShortcutButtonOK; +class ctrlShortcutButtonCancel; +class ctrlShortcutButtonSteam; +class ctrlXListbox; +class ctrlXSliderV; +class ctrlXSliderH; +class ctrlMenu; +class ctrlMenuStrip; +class ctrlMap; +class ctrlMapEmpty; +class ctrlMapMain; +class ctrlListNBox; +class ctrlCheckboxToolbar; \ No newline at end of file diff --git a/addons/garage/ui/RscGarageDialog.hpp b/addons/garage/ui/RscGarageDialog.hpp new file mode 100644 index 0000000..a98563b --- /dev/null +++ b/addons/garage/ui/RscGarageDialog.hpp @@ -0,0 +1,73 @@ +class RscGarageDialog { + idd = IDD_GARAGEDIALOG; + movingEnable = 1; + enableSimulation = 1; + + class controlsBackground { + class MainBackground: RscText { + idc = -1; + x = "0.25 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.5 * safezoneW"; + h = "0.725 * safezoneH"; + colorBackground[] = {0, 0, 0, 0.7}; + }; + class DialogTitle: RscText { + idc = IDC_DIALOGNAME; + text = CSTRING(Name); + x = "0.25 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.5 * safezoneW"; + h = "0.0325 * safezoneH"; + colorBackground[] = {0.1, 0.1, 0.1, 1}; + }; + }; + + class controls { + class PlayerEquipmentList: RscListBox { + idc = IDC_VEHICLELIST; + x = "0.26 * safezoneW + safezoneX"; + y = "0.17 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.615 * safezoneH"; + }; + + class GarageItemsList: RscListBox { + idc = IDC_GARAGEVEHICLELIST; + x = "0.51 * safezoneW + safezoneX"; + y = "0.17 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.615 * safezoneH"; + }; + + class StoreButton: RscButton { + idc = IDC_STOREBUTTON; + text = CSTRING(Store); + x = "0.26 * safezoneW + safezoneX"; + y = "0.80625 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.0325 * safezoneH"; + onButtonClick = "_this call forge_client_garage_fnc_storeVehicle"; + }; + + class SpawnButton: RscButton { + idc = IDC_SPAWNBUTTON; + text = CSTRING(Spawn); + x = "0.51 * safezoneW + safezoneX"; + y = "0.80625 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.0325 * safezoneH"; + onButtonClick = "_this call forge_client_garage_fnc_spawnVehicle"; + }; + + class CloseButton: RscButton { + idc = IDC_CLOSEBUTTON; + text = "X"; + x = "0.7225 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.0275 * safezoneW"; + h = "0.0325 * safezoneH"; + onButtonClick = "closeDialog 0"; + }; + }; +}; diff --git a/addons/init/$PBOPREFIX$ b/addons/init/$PBOPREFIX$ new file mode 100644 index 0000000..e653c85 --- /dev/null +++ b/addons/init/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\init \ No newline at end of file diff --git a/addons/init/CfgEventHandlers.hpp b/addons/init/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/init/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/init/XEH_PREP.hpp b/addons/init/XEH_PREP.hpp new file mode 100644 index 0000000..8b79914 --- /dev/null +++ b/addons/init/XEH_PREP.hpp @@ -0,0 +1,5 @@ +PREP(handlePlayerLoad); +PREP(initPlayer); +PREP(playerDBLoad); +PREP(playerDBSave); +PREP(playerSaveLoop); \ No newline at end of file diff --git a/addons/init/XEH_postInit.sqf b/addons/init/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/init/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/init/XEH_postInit_client.sqf b/addons/init/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/init/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/init/XEH_preInit.sqf b/addons/init/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/init/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/init/XEH_preInit_server.sqf b/addons/init/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/init/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/init/XEH_preStart.sqf b/addons/init/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/init/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/init/config.cpp b/addons/init/config.cpp new file mode 100644 index 0000000..338b901 --- /dev/null +++ b/addons/init/config.cpp @@ -0,0 +1,16 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" \ No newline at end of file diff --git a/addons/init/functions/fnc_handlePlayerLoad.sqf b/addons/init/functions/fnc_handlePlayerLoad.sqf new file mode 100644 index 0000000..9aa690e --- /dev/null +++ b/addons/init/functions/fnc_handlePlayerLoad.sqf @@ -0,0 +1,122 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_init_fnc_handlePlayerLoad + * Author: Creedcoder, J.Schmidt + * Edit: 07.15.2024 + * Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Handle player load from DB. + * + * Arguments: + * 0: Data from key [] (default: []) + * + * Return Value: + * N/A + * + * Examples: + * [[_data]] call forge_client_init_fnc_handlePlayerLoad (Server or Singleplayer Only) + * [[_data]] remoteExecCall ["forge_client_init_fnc_handlePlayerLoad", 2, false] (Multiplayer Only) + * + * Public: Yes + */ + +private _data = _this; +private _defaultEmail = "unknown@spearnet.mil"; +private _defaultPhoneNumber = "unknown"; + +if (_data isEqualTo [""]) then { + 2 cutText ["No Save Found!", "PLAIN DOWN", 1]; + [player] spawn EFUNC(player,firstLogin); +} else { + [format ["Welcome back %1. Your persistent locker, bank, cash and profile have been loaded.", name player], "blue-grey", 5] call EFUNC(misc,notify); + + for "_i" from 0 to (count _data - 1) step 2 do { + private _key = _data select _i; + private _value = _data select (_i + 1); + + if (_value isEqualType []) then { + _value = _value select 0; + }; + + switch (_key) do { + case "reputation": { + SETPVAR(player,Reputation,_value); + player addRating _value; + }; + case "loadout": { + SETPVAR(player,Loadout,_value); + player setUnitLoadout _value; + }; + case "direction": { + SETPVAR(player,Direction,_value); + player setDir _value; + }; + case "cash": { + SETPVAR(player,FORGE_Cash,_value); + }; + case "bank": { + SETPVAR(player,FORGE_Bank,_value); + }; + case "armory_unlocks": { + SETPVAR(player,Armory_Unlocks,_value); + }; + case "garage_unlocks": { + SETPVAR(player,Garage_Unlocks,_value); + }; + case "locker": { + SETPVAR(player,FORGE_Locker,_value); + }; + case "garage": { + SETPVAR(player,FORGE_Garage,_value); + }; + case "email": { + SETPVAR(player,FORGE_Email,_value); + }; + case "number": { + SETPVAR(player,FORGE_Phone_Number,_value); + }; + case "paygrade": { + SETPVAR(player,Paygrade,_value); + }; + case "stance": { + SETPVAR(player,Stance,_value); + player playAction _value; + }; + case "holster": { + SETPVAR(player,FORGE_Holster_Weapon,_value); + if (_value) then { + [player] call AFUNC(weaponselect,putWeaponAway); + }; + }; + case "position": { + SETPVAR(player,Position,_value); + player setPosASL _value; + + private _pAlt = ((getPosATLVisual player) select 2); + private _pVelZ = ((velocity player) select 2); + if (_pAlt > 5 && _pVelZ < 0) then { + player setVelocity [0, 0, 0]; + player setPosATL [((getPosATLVisual player) select 0), ((getPosATLVisual player) select 1), 1]; + hint "You logged off mid air. You were moved to a safe position on the ground."; + }; + }; + }; + }; + + if (needReload player == 1) then { reload player }; + SETPVAR(player,value_loadDone,true); + + // ["listrng", GETVAR(player,FORGE_Email,_defaultEmail), "", -1, [], "forge_client_phone_fnc_addOfflineEmail", true] spawn dragonfly_db_fnc_addTask; + ["listrng", GETVAR(player,FORGE_Email,_defaultEmail), "", -1, [], "forge_client_phone_fnc_addOfflineEmail", true, netId player] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; + + // ["listrng", GETVAR(player,FORGE_Phone_Number,_defaultPhoneNumber), "", -1, [], "forge_client_phone_fnc_addOfflineMsg", true] spawn dragonfly_db_fnc_addTask; + ["listrng", GETVAR(player,FORGE_Phone_Number,_defaultPhoneNumber), "", -1, [], "forge_client_phone_fnc_addOfflineMsg", true, netId player] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; +}; \ No newline at end of file diff --git a/addons/init/functions/fnc_initPlayer.sqf b/addons/init/functions/fnc_initPlayer.sqf new file mode 100644 index 0000000..0c3ae0d --- /dev/null +++ b/addons/init/functions/fnc_initPlayer.sqf @@ -0,0 +1,91 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_init_fnc_initPlayer + * Author: Creedcoder, J.Schmidt + * Edit: 07.15.2024 + * Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Initialize player. + * + * Arguments: + * N/A + * + * Return Value: + * N/A + * + * Examples: + * [] call forge_client_init_fnc_initPlayer (Server or Singleplayer Only) + * [] remoteExecCall ["forge_client_init_fnc_initPlayer", 2, false] (Multiplayer Only) + * + * Public: Yes + */ + +waitUntil { !isNull player }; +waitUntil { player == player }; +waitUntil { alive player }; + +removeAllWeapons player; +removeAllAssignedItems player; +removeUniform player; +removeVest player; +removeBackpack player; +removeGoggles player; +removeHeadgear player; + +SETVAR(player,value_loadDone,false); +cutText ["Loading In...", "BLACK", 1]; + +// waitUntil { GETVAR(player,value_armoryDone,false) }; + +// ["hgetall", "", "", -1, [], "forge_client_init_fnc_handlePlayerLoad", true] spawn dragonfly_db_fnc_addTask; +["hgetallid", getPlayerUID player, "", -1, [], "forge_client_init_fnc_handlePlayerLoad", true, netId player] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; + +[] spawn FUNC(playerSaveLoop); +[] spawn EFUNC(interaction,initInteraction); + +waitUntil { GETVAR(player,value_loadDone,false) }; +cutText ["", "PLAIN", 1]; + +waitUntil { !(isNull (findDisplay 46)) }; +(findDisplay 46) displayAddEventHandler ["KeyDown", { + switch (_this select 1) do { + // Interaction Interface (default key TAB) + case ((configFile >> "CfgPatches" >> "forge_client_main" >> "interactionKey") call BFUNC(getCfgData)): { + [] call EFUNC(interaction,openInteraction); + false; + }; + // Holster/Unholster (default key H) + case ((configFile >> "CfgPatches" >> "forge_client_main" >> "holsterKey") call BFUNC(getCfgData)): { + if ((currentWeapon player) != "" && !(GETVAR(player,FORGE_Holster_Weapon,true))) then { + player action ["SwitchWeapon", player, player, 299]; + SETPVAR(player,FORGE_Holster_Weapon,true); + } else { + private _weapon = switch (true) do { + case ((primaryWeapon player) != ""): { primaryWeapon player }; + case ((handgunWeapon player) != ""): { handgunWeapon player }; + case ((secondaryWeapon player) != ""): { secondaryWeapon player }; + default {""}; + }; + if (_weapon != "") then { player selectWeapon _weapon }; + SETPVAR(player,FORGE_Holster_Weapon,false); + }; + false; + }; + // Open Phone (default key P) + case ((configFile >> "CfgPatches" >> "forge_client_main" >> "phoneKey") call BFUNC(getCfgData)): { + [] spawn EFUNC(phone,openPhone); + false; + }; + default { + false; + }; + }; +}]; \ No newline at end of file diff --git a/addons/init/functions/fnc_playerDBLoad.sqf b/addons/init/functions/fnc_playerDBLoad.sqf new file mode 100644 index 0000000..0574cbd --- /dev/null +++ b/addons/init/functions/fnc_playerDBLoad.sqf @@ -0,0 +1,32 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_init_fnc_playerDBLoad + * Author: Creedcoder, J.Schmidt + * Edit: 07.15.2024 + * Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Load player from DB. + * + * Arguments: + * N/A + * + * Return Value: + * N/A + * + * Examples: + * [] call forge_client_init_fnc_playerDBLoad (Server or Singleplayer Only) + * [] remoteExecCall ["forge_client_init_fnc_playerDBLoad", 2, false] (Multiplayer Only) + * + * Public: Yes + */ + +// ["hgetall", "", "", -1, [], "forge_client_init_fnc_handlePlayerLoad", true] spawn dragonfly_db_fnc_addTask; +["hgetallid", getPlayerUID player, "", -1, [], "forge_client_init_fnc_handlePlayerLoad", true, netId player] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; \ No newline at end of file diff --git a/addons/init/functions/fnc_playerDBSave.sqf b/addons/init/functions/fnc_playerDBSave.sqf new file mode 100644 index 0000000..33937fd --- /dev/null +++ b/addons/init/functions/fnc_playerDBSave.sqf @@ -0,0 +1,70 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_init_fnc_playerDBSave + * Author: Creedcoder, J.Schmidt + * Edit: 07.15.2024 + * Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Save player to DB. + * + * Arguments: + * N/A + * + * Return Value: + * N/A + * + * Examples: + * [] call forge_client_init_fnc_playerDBSave (Server or Singleplayer Only) + * [] remoteExecCall ["forge_client_init_fnc_playerDBSave", 2, false] (Multiplayer Only) + * + * Public: Yes + */ + +private _default_armory_unlocks = [[],[],[],[]]; +private _default_garage_unlocks = [[],[],[],[],[],[]]; + +private _data = [ +getPlayerUID player, +// "armory_unlocks", [player getVariable ["Armory_Unlocks", [[],[],[],[]]]], +// "garage_unlocks", [player getVariable ["Garage_Unlocks", [[],[],[],[],[],[]]]], +"armory_unlocks", [GETVAR(player,Armory_Unlocks,_default_armory_unlocks)], +"garage_unlocks", [GETVAR(player,Garage_Unlocks,_default_garage_unlocks)], +// "locker", [player getVariable ["FORGE_Locker", []]], +// "garage", [player getVariable ["FORGE_Garage", []]], +"locker", [GETVAR(player,FORGE_Locker,[])], +"garage", [GETVAR(player,FORGE_Garage,[])], +// "cash", [player getVariable ["FORGE_Cash", 0]], +// "bank", [player getVariable ["FORGE_Bank", 0]], +"cash", [GETVAR(player,FORGE_Cash,0)], +"bank", [GETVAR(player,FORGE_Bank,0)], +// "number", [player getVariable ["FORGE_Phone_Number", "unknown"]], +// "email", [player getVariable ["FORGE_Email", "unknown@spearnet.mil"]], +"number", [GETVAR(player,FORGE_Phone_Number,"unknown")], +"email", [GETVAR(player,FORGE_Email,"unknown@spearnet.mil")], +// "paygrade", [player getVariable ["Paygrade", "E1"]], +"paygrade", [GETVAR(player,Paygrade,"E1")], +"reputation", [rating player], +"loadout", [getUnitLoadout player], +// "holster", [player getVariable ["FORGE_Holster_Weapon", true]], +"holster", [GETVAR(player,FORGE_Holster_Weapon,true)], +"position", [getPosASLVisual player], +"direction", [getDirVisual player] +]; + +if (isNull objectParent player) then { + _data pushBack "currentWeapon"; + _data pushBack [currentMuzzle player]; + _data pushBack "stance"; + _data pushBack [stance player]; +}; + +// ["hsetBulk", "", "", -1, _data, "", false] spawn dragonfly_db_fnc_addTask; +["hsetidbulk", "", "", -1, _data, "", false, netId player] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; \ No newline at end of file diff --git a/addons/init/functions/fnc_playerSaveLoop.sqf b/addons/init/functions/fnc_playerSaveLoop.sqf new file mode 100644 index 0000000..4d4fd7c --- /dev/null +++ b/addons/init/functions/fnc_playerSaveLoop.sqf @@ -0,0 +1,39 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_init_fnc_playerSaveLoop + * Author: Creedcoder, J.Schmidt + * Edit: 07.15.2024 + * Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Initialize player save loop. + * + * Arguments: + * N/A + * + * Return Value: + * N/A + * + * Examples: + * [] call forge_client_init_fnc_playerSaveLoop (Server or Singleplayer Only) + * [] remoteExecCall ["forge_client_init_fnc_playerSaveLoop", 2, false] (Multiplayer Only) + * + * Public: Yes + */ + +waitUntil { !isNull player }; +waitUntil { alive player }; + +while { true } do { + sleep ((configFile >> "CfgPatches" >> "forge_client_main" >> "clientSaveLoopTime") call BFUNC(getCfgData)); + + ["Saving player...", "blue-grey", 3] call EFUNC(misc,notify); + [] call FUNC(playerDBSave); +}; \ No newline at end of file diff --git a/addons/init/script_component.hpp b/addons/init/script_component.hpp new file mode 100644 index 0000000..b3cd8ff --- /dev/null +++ b/addons/init/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT init +#define COMPONENT_BEAUTIFIED Init +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_INIT + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_INIT + #define DEBUG_SETTINGS DEBUG_SETTINGS_INIT +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/interaction/$PBOPREFIX$ b/addons/interaction/$PBOPREFIX$ new file mode 100644 index 0000000..f8c6e81 --- /dev/null +++ b/addons/interaction/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\interaction \ No newline at end of file diff --git a/addons/interaction/CfgEventHandlers.hpp b/addons/interaction/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/interaction/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/interaction/CfgVehicles.hpp b/addons/interaction/CfgVehicles.hpp new file mode 100644 index 0000000..47284b2 --- /dev/null +++ b/addons/interaction/CfgVehicles.hpp @@ -0,0 +1,129 @@ +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_MainActions { + class giveCash { + displayName = "Give Cash"; + condition = "isPlayer cursorObject && (player distance cursorObject) <= 5"; + exceptions[] = {}; + statement = QUOTE([cursorObject] spawn EFUNC(money,giveCash)); + // icon = ""; + }; + class addContact { + displayName = "Add Contact"; + condition = "isPlayer cursorObject && (player distance cursorObject) <= 5"; + exceptions[] = {}; + statement = QUOTE([cursorObject] spawn EFUNC(phone,addContact)); + // icon = ""; + }; + class openATM { + displayName = "Access ATM"; + condition = "!(isNil {cursorObject getVariable 'isBank'}) && (player distance cursorObject) <= 5"; + exceptions[] = {}; + statement = QUOTE([cursorObject] spawn EFUNC(bank,openBank)); + // icon = ""; + }; + class openCPOF { + displayName = "Access CPOF"; + condition = "!(isNil {cursorObject getVariable 'isCPOF'}) && (player distance cursorObject) <= 5"; + exceptions[] = {}; + statement = QUOTE([cursorObject] spawn EFUNC(admin,openAdmin)); + // icon = ""; + }; + class openGarage { + displayName = "Open Garage"; + condition = "!(isNil {cursorObject getVariable 'isGarage'}) && (player distance cursorObject) <= 5 && FORGE_Team_Coord == 0"; + exceptions[] = {}; + statement = QUOTE([cursorObject] spawn EFUNC(garage,openGarage)); + // icon = ""; + }; + // class openCompanyGarage { + // displayName = "Open Company Garage"; + // condition = "!(isNil {cursorObject getVariable 'isGarage'}) && (player distance cursorObject) <= 5 && FORGE_Team_Coord == 1 && (getPlayerUID player) in companyGenerals"; + // exceptions[] = {}; + // statement = "[cursorObject] spawn forge_client_garage_fnc_openGarage"; + // icon = ""; + // }; + class openVirtualGarage { + displayName = "Virtual Garage"; + condition = "!(isNil {cursorObject getVariable 'isGarage'}) && (player distance cursorObject) <= 5 && FORGE_VA_Enable == 1 && FORGE_Team_Coord == 0"; + exceptions[] = {}; + statement = QUOTE([cursorObject] spawn EFUNC(arsenal,openGarage)); + // icon = ""; + }; + // class openVirtualCompanyGarage { + // displayName = "Virtual Company Garage"; + // condition = "!(isNil {cursorObject getVariable 'isGarage'}) && (player distance cursorObject) <= 5 && FORGE_VA_Enable == 1 && FORGE_Team_Coord == 1 && (getPlayerUID player) in companyGenerals"; + // exceptions[] = {}; + // statement = "[cursorObject] spawn forge_client_arsenal_fnc_openGarage"; + // icon = ""; + // }; + class takeCash { + displayName = "Take Cash"; + condition = "!(isNil {cursorObject getVariable 'isCash'}) && (player distance cursorObject) <= 5"; + exceptions[] = {}; + statement = QUOTE([cursorObject] spawn EFUNC(money,takeCash)); + // icon = ""; + }; + class openLocker { + displayName = "Open Locker"; + condition = "!(isNil {cursorObject getVariable 'isLocker'}) && (player distance cursorObject) <= 5"; + exceptions[] = {}; + statement = QUOTE([cursorObject] spawn EFUNC(locker,openLocker)); + // icon = ""; + }; + // class openCompanyLocker { + // displayName = "Open Company Locker"; + // condition = "!(isNil {cursorObject getVariable 'isLocker'}) && (player distance cursorObject) <= 5 && FORGE_Team_Coord == 1 && (getPlayerUID player) in companyGenerals"; + // exceptions[] = {}; + // statement = "[cursorObject] spawn forge_client_locker_fnc_openLocker"; + // icon = ""; + // }; + class openVirtualArmory { + displayName = "Virtual Armory"; + condition = "!(isNil {cursorObject getVariable 'isLocker'}) && (player distance cursorObject) <= 5 && FORGE_VA_Enable == 1"; + exceptions[] = {}; + statement = QUOTE([cursorObject] spawn EFUNC(arsenal,openArmory)); + // icon = ""; + }; + // class openVirtualCompanyArmory { + // displayName = "Virtual Company Armory"; + // condition = "!(isNil {cursorObject getVariable 'isLocker'}) && (player distance cursorObject) <= 5 && FORGE_VA_Enable == 1 && FORGE_Team_Coord == 1 && (getPlayerUID player) in companyGenerals"; + // exceptions[] = {}; + // statement = "[cursorObject] spawn forge_client_arsenal_fnc_openArmory"; + // icon = ""; + // }; + class openStore { + displayName = "Access Store"; + condition = "!(isNil {cursorObject getVariable 'isStore'}) && (player distance cursorObject) <= 5"; + exceptions[] = {}; + statement = QUOTE([cursorObject] spawn EFUNC(store,openStore)); + // icon = ""; + }; + }; + class ACE_SelfActions { + class getacF110 { + displayName = "Getac F110"; + condition = "('FORGE_Tablet' in (items player))"; + // icon = ""; + class getacOpen { + displayName = "Open"; + condition = "true"; + exceptions[] = {}; + statement = "[] execVM 'CoalaOs\CoalaOsMain.sqf'"; + }; + }; + class phone { + displayName = "Phone"; + condition = "('FORGE_Phone' in (items player))"; + // icon = ""; + class phoneOpen { + displayName = "Open"; + condition = "true"; + exceptions[] = {}; + statement = QUOTE([] spawn EFUNC(phone,openPhone)); + }; + }; + }; + }; +}; \ No newline at end of file diff --git a/addons/interaction/README.md b/addons/interaction/README.md new file mode 100644 index 0000000..d2a9906 --- /dev/null +++ b/addons/interaction/README.md @@ -0,0 +1,4 @@ +forge_interaction +=============== + +Core interaction addon that handles all player interactions with the game world. This system manages how players engage with objects, NPCs, items and other interactive elements in the environment. \ No newline at end of file diff --git a/addons/interaction/XEH_PREP.hpp b/addons/interaction/XEH_PREP.hpp new file mode 100644 index 0000000..c3cf624 --- /dev/null +++ b/addons/interaction/XEH_PREP.hpp @@ -0,0 +1,3 @@ +PREP(initInteraction); +PREP(interactionAction); +PREP(openInteraction); \ No newline at end of file diff --git a/addons/interaction/XEH_postInit.sqf b/addons/interaction/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/interaction/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/interaction/XEH_postInit_client.sqf b/addons/interaction/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/interaction/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/interaction/XEH_preInit.sqf b/addons/interaction/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/interaction/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/interaction/XEH_preInit_server.sqf b/addons/interaction/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/interaction/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/interaction/XEH_preStart.sqf b/addons/interaction/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/interaction/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/interaction/config.cpp b/addons/interaction/config.cpp new file mode 100644 index 0000000..d9ae219 --- /dev/null +++ b/addons/interaction/config.cpp @@ -0,0 +1,19 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgVehicles.hpp" +#include "ui\RscCommon.hpp" +#include "ui\RscInteraction.hpp" \ No newline at end of file diff --git a/addons/interaction/functions/fnc_initInteraction.sqf b/addons/interaction/functions/fnc_initInteraction.sqf new file mode 100644 index 0000000..9cf2bed --- /dev/null +++ b/addons/interaction/functions/fnc_initInteraction.sqf @@ -0,0 +1,111 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_interaction_fnc_initInteraction + * Author: Creedcoder, J.Schmidt + * Edit: 07.23.2024 + * Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Initialize player interaction. + * + * Arguments: + * N/A + * + * Return Value: + * N/A + * + * Examples: + * [] spawn forge_client_interaction_fnc_initInteraction; + * + * Public: Yes + */ + +FORGE_Team_Coord = "TEAM_COORD" call BFUNC(getParamValue); +FORGE_VA_Enable = "VA_ENABLE" call BFUNC(getParamValue); + +FORGE_InteractionButtons = [1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608]; + +FORGE_InteractionItems = [ + [ + ["isPlayer cursorObject", "(player distance cursorObject) <= 5"], + ["Give Cash", "[cursorObject] spawn forge_client_money_fnc_giveCash"] + ], + [ + ["isPlayer cursorObject", "(player distance cursorObject) <= 5"], + ["Add Contact", "[cursorObject] call forge_client_phone_fnc_addContact"] + ], + [ + ["!(isNil { + cursorObject getVariable 'isBank' + })", "(player distance cursorObject) <= 5"], + ["Access ATM", "[cursorObject] spawn forge_client_bank_fnc_openBank"] + ], + [ + ["!(isNil { + cursorObject getVariable 'isCPOF' + })", "(player distance cursorObject) <= 5 && (getPlayerUID player) in companyGenerals"], + ["Access CPOF", "[cursorObject] spawn forge_client_admin_fnc_openAdmin"] + ], + [ + ["!(isNil { + cursorObject getVariable 'isCash' + })", "(player distance cursorObject) <= 5"], + ["Take Cash", "[cursorObject] spawn forge_client_money_fnc_takeCash"] + ], + [ + ["!(isNil { + cursorObject getVariable 'isLocker' + })", "(player distance cursorObject) <= 5"], + ["Open Locker", "[cursorObject] spawn forge_client_locker_fnc_openLocker"] + ], + [ + ["!(isNil { + cursorObject getVariable 'isStore' + })", "(player distance cursorObject) <= 5"], + ["Access the Store", "[cursorObject] spawn forge_client_store_fnc_openStore"] + ] +]; + +if (FORGE_Team_Coord == 1) then { + FORGE_InteractionItems append [ + [ + ["!(isNil { + cursorObject getVariable 'isGarage' + })", "(player distance cursorObject) <= 5 && (getPlayerUID player) in companyGenerals"], + ["Open Company Garage", "[cursorObject] spawn forge_client_garage_fnc_openGarage"] + ] + ]; +} else { + FORGE_InteractionItems append [ + [ + ["!(isNil { + cursorObject getVariable 'isGarage' + })", "(player distance cursorObject) <= 5"], + ["Open Garage", "[cursorObject] spawn forge_client_garage_fnc_openGarage"] + ] + ]; +}; + +if (FORGE_VA_Enable == 1) then { + FORGE_InteractionItems append [ + [ + ["!(isNil { + cursorObject getVariable 'isLocker' + })", "(player distance cursorObject) <= 5"], + ["Virtual Armory", "[] spawn forge_client_arsenal_fnc_openArmory"] + ], + [ + ["!(isNil { + cursorObject getVariable 'isGarage' + })", "(player distance cursorObject) <= 5"], + ["Virtual Garage", "[cursorObject] spawn forge_client_arsenal_fnc_openGarage"] + ] + ]; +}; \ No newline at end of file diff --git a/addons/interaction/functions/fnc_interactionAction.sqf b/addons/interaction/functions/fnc_interactionAction.sqf new file mode 100644 index 0000000..0bed88c --- /dev/null +++ b/addons/interaction/functions/fnc_interactionAction.sqf @@ -0,0 +1,34 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_interaction_fnc_interactionAction + * Author: Creedcoder, J.Schmidt + * Edit: 07.23.2024 + * Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Initialize player interaction. + * + * Arguments: + * 0: Index of current action array + * + * Return Value: + * N/A + * + * Examples: + * [0] call forge_client_interaction_fnc_interactionAction; + * + * Public: Yes + */ + +params ["_index"]; + +closeDialog 0; + +call compile (FORGE_CurrentActionArray select _index); \ No newline at end of file diff --git a/addons/interaction/functions/fnc_openInteraction.sqf b/addons/interaction/functions/fnc_openInteraction.sqf new file mode 100644 index 0000000..bbf8087 --- /dev/null +++ b/addons/interaction/functions/fnc_openInteraction.sqf @@ -0,0 +1,65 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_interaction_fnc_openInteraction + * Author: Creedcoder, J.Schmidt + * Edit: 07.23.2024 + * Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Open player interaction. + * + * Arguments: + * N/A + * + * Return Value: + * N/A + * + * Examples: + * [] call forge_client_interaction_fnc_openInteraction; + * + * Public: Yes + */ + +if (!isNull findDisplay 1014) exitWith {}; + +createDialog "RscInteraction"; + +{ + ctrlShow [_x, false]; +} forEach FORGE_InteractionButtons; + +private _index1 = 0; +FORGE_CurrentActionArray = []; + +{ + private _cArray = _x select 0; + private _cTrue = true; + + for "_i" from 0 to ((count _cArray) - 1) step 1 do { + _c = call compile (_cArray select _i); + if (!_c) then { + _cTrue = false; + }; + }; + + if (_cTrue) then { + if (_index1 < 9) then { + private _idc = 1600 + _index1; + _index1 = _index1 + 1; + private _text = (_x select 1) select 0; + private _action = (_x select 1) select 1; + + ctrlShow [_idc, true]; + ctrlSetText [_idc, _text]; + + FORGE_CurrentActionArray pushBack _action; + }; + }; +} forEach FORGE_InteractionItems; \ No newline at end of file diff --git a/addons/interaction/script_component.hpp b/addons/interaction/script_component.hpp new file mode 100644 index 0000000..e655b06 --- /dev/null +++ b/addons/interaction/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT interaction +#define COMPONENT_BEAUTIFIED Interaction +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_INTERACTION + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_INTERACTION + #define DEBUG_SETTINGS DEBUG_SETTINGS_INTERACTION +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/interaction/ui/RscCommon.hpp b/addons/interaction/ui/RscCommon.hpp new file mode 100644 index 0000000..9170d02 --- /dev/null +++ b/addons/interaction/ui/RscCommon.hpp @@ -0,0 +1,268 @@ +// Control types +#define CT_STATIC 0 +#define CT_BUTTON 1 +#define CT_EDIT 2 +#define CT_SLIDER 3 +#define CT_COMBO 4 +#define CT_LISTBOX 5 +#define CT_TOOLBOX 6 +#define CT_CHECKBOXES 7 +#define CT_PROGRESS 8 +#define CT_HTML 9 +#define CT_STATIC_SKEW 10 +#define CT_ACTIVETEXT 11 +#define CT_TREE 12 +#define CT_STRUCTURED_TEXT 13 +#define CT_CONTEXT_MENU 14 +#define CT_CONTROLS_GROUP 15 +#define CT_SHORTCUTBUTTON 16 +#define CT_HITZONES 17 +#define CT_XKEYDESC 40 +#define CT_XBUTTON 41 +#define CT_XLISTBOX 42 +#define CT_XSLIDER 43 +#define CT_XCOMBO 44 +#define CT_ANIMATED_TEXTURE 45 +#define CT_OBJECT 80 +#define CT_OBJECT_ZOOM 81 +#define CT_OBJECT_CONTAINER 82 +#define CT_OBJECT_CONT_ANIM 83 +#define CT_LINEBREAK 98 +#define CT_USER 99 +#define CT_MAP 100 +#define CT_MAP_MAIN 101 +#define CT_LISTNBOX 102 +#define CT_ITEMSLOT 103 +#define CT_CHECKBOX 77 + +// Static styles +#define ST_POS 0x0F +#define ST_HPOS 0x03 +#define ST_VPOS 0x0C +#define ST_LEFT 0x00 +#define ST_RIGHT 0x01 +#define ST_CENTER 0x02 +#define ST_DOWN 0x04 +#define ST_UP 0x08 +#define ST_VCENTER 0x0C + +#define ST_TYPE 0xF0 +#define ST_SINGLE 0x00 +#define ST_MULTI 0x10 +#define ST_TITLE_BAR 0x20 +#define ST_PICTURE 0x30 +#define ST_FRAME 0x40 +#define ST_BACKGROUND 0x50 +#define ST_GROUP_BOX 0x60 +#define ST_GROUP_BOX2 0x70 +#define ST_HUD_BACKGROUND 0x80 +#define ST_TILE_PICTURE 0x90 +#define ST_WITH_RECT 0xA0 +#define ST_LINE 0xB0 +#define ST_UPPERCASE 0xC0 +#define ST_LOWERCASE 0xD0 + +#define ST_SHADOW 0x100 +#define ST_NO_RECT 0x200 +#define ST_KEEP_ASPECT_RATIO 0x800 + +// Slider styles +#define SL_DIR 0x400 +#define SL_VERT 0 +#define SL_HORZ 0x400 + +#define SL_TEXTURES 0x10 + +// progress bar +#define ST_VERTICAL 0x01 +#define ST_HORIZONTAL 0 + +// Listbox styles +#define LB_TEXTURES 0x10 +#define LB_MULTI 0x20 + +// Tree styles +#define TR_SHOWROOT 1 +#define TR_AUTOCOLLAPSE 2 + +// Default grid +// #define GUI_GRID_WAbs ((safezoneW / safezoneH) min 1.2) +// #define GUI_GRID_HAbs (GUI_GRID_WAbs / 1.2) +// #define GUI_GRID_W (GUI_GRID_WAbs / 40) +// #define GUI_GRID_H (GUI_GRID_HAbs / 25) +// #define GUI_GRID_X (safezoneX) +// #define GUI_GRID_Y (safezoneY + safezoneH - GUI_GRID_HAbs) + +// Default text sizes +#define GUI_TEXT_SIZE_SMALL (GUI_GRID_H * 0.8) +#define GUI_TEXT_SIZE_MEDIUM (GUI_GRID_H * 1) +#define GUI_TEXT_SIZE_LARGE (GUI_GRID_H * 1.2) + +class ScrollBar; +class RscObject; +class RscText; +class RscTextSmall; +class RscTitle; +class RscProgress; +class RscProgressNotFreeze; +class RscPicture; +class RscLadderPicture; +class RscPictureKeepAspect; +class RscHTML; +class RscButton; +class RscShortcutButton; +class RscButtonSmall; +class RscEdit; +class RscCombo; +class RscListBox; +class RscListNBox; +class RscXListBox; +class RscTree; +class RscSlider; +class RscSliderH; +class RscXSliderH; +class RscActiveText; +class RscStructuredText; +class RscControlsGroup; +class RscToolbox; +class RscMapControl; +class RscCheckBox; +class RscFrame; +class ctrlDefault; +class ctrlControlsGroup; +class ctrlDefaultText; +class ctrlDefaultButton; +class RscBackgroundStripeTop; +class RscBackgroundStripeBottom; +class RscIGText; +class RscIGProgress; +class RscListBoxKeys; +class RscControlsGroupNoScrollbars; +class RscControlsGroupNoHScrollbars; +class RscControlsGroupNoVScrollbars; +class RscLine; +class RscActivePicture; +class RscButtonTextOnly; +class RscShortcutButtonMain; +class RscButtonEditor; +class RscIGUIShortcutButton; +class RscGearShortcutButton; +class RscButtonMenu; +class RscButtonMenuOK; +class RscButtonMenuCancel; +class RscButtonMenuSteam; +class RscLoadingText; +class RscIGUIListBox; +class RscIGUIListNBox; +class RscBackground; +class RscBackgroundGUI; +class RscBackgroundGUILeft; +class RscBackgroundGUIRight; +class RscBackgroundGUIBottom; +class RscBackgroundGUITop; +class RscBackgroundGUIDark; +class RscBackgroundLogo; +class RscMapControlEmpty; +class RscVignette; +class CA_Mainback; +class CA_Back; +class CA_Title_Back; +class CA_Black_Back; +class CA_Title; +class CA_Logo; +class CA_Logo_Small; +class CA_RscButton; +class CA_RscButton_dialog; +class CA_Ok; +class CA_Ok_image; +class CA_Ok_image2; +class CA_Ok_text; +class ctrlCheckbox; +class ctrlCheckboxBaseline; +class ctrlStatic; +class ctrlControlsGroupNoScrollbars; +class ctrlStructuredText; +class RscTextMulti; +class RscTreeSearch; +class RscVideo; +class RscVideoKeepAspect; +class RscActivePictureKeepAspect; +class RscEditMulti; +class RscMapSignalBackground; +class RscMapSignalPicture; +class RscMapSignalText; +class RscColorPicker; +class RscInterlacingScreen; +class RscFeedback; +class RscTrafficLight; +class RscButtonSearch; +class RscIGUIText; +class RscOpticsText; +class RscOpticsValue; +class RscIGUIValue; +class RscButtonMenuMain; +class RscButtonTestCentered; +class RscDisplaySingleMission_ChallengeOverviewGroup; +class RscDisplayDebriefing_RscTextMultiline; +class RscDisplayDebriefing_ListGroup; +class RscButtonArsenal; +class RscTextNoShadow; +class RscButtonNoColor; +class RscToolboxButton; +class ctrlStaticPicture; +class ctrlStaticPictureKeepAspect; +class ctrlStaticPictureTile; +class ctrlStaticFrame; +class ctrlStaticLine; +class ctrlStaticMulti; +class ctrlStaticBackground; +class ctrlStaticOverlay; +class ctrlStaticTitle; +class ctrlStaticFooter; +class ctrlStaticBackgroundDisable; +class ctrlStaticBackgroundDisableTiles; +class ctrlButton; +class ctrlButtonPicture; +class ctrlButtonPictureKeepAspect; +class ctrlButtonOK; +class ctrlButtonCancel; +class ctrlButtonClose; +class ctrlButtonToolbar; +class ctrlButtonSearch; +class ctrlButtonExpandAll; +class ctrlButtonCollapseAll; +class ctrlButtonFilter; +class ctrlEdit; +class ctrlEditMulti; +class ctrlSliderV; +class ctrlSliderH; +class ctrlCombo; +class ctrlComboToolbar; +class ctrlListbox; +class ctrlToolbox; +class ctrlToolboxPicture; +class ctrlToolboxPictureKeepAspect; +class ctrlCheckboxes; +class ctrlCheckboxesCheckbox; +class ctrlProgress; +class ctrlHTML; +class ctrlActiveText; +class ctrlActivePicture; +class ctrlActivePictureKeepAspect; +class ctrlTree; +class ctrlControlsGroupNoHScrollbars; +class ctrlControlsGroupNoVScrollbars; +class ctrlShortcutButton; +class ctrlShortcutButtonOK; +class ctrlShortcutButtonCancel; +class ctrlShortcutButtonSteam; +class ctrlXListbox; +class ctrlXSliderV; +class ctrlXSliderH; +class ctrlMenu; +class ctrlMenuStrip; +class ctrlMap; +class ctrlMapEmpty; +class ctrlMapMain; +class ctrlListNBox; +class ctrlCheckboxToolbar; \ No newline at end of file diff --git a/addons/interaction/ui/RscInteraction.hpp b/addons/interaction/ui/RscInteraction.hpp new file mode 100644 index 0000000..c69c37f --- /dev/null +++ b/addons/interaction/ui/RscInteraction.hpp @@ -0,0 +1,95 @@ +class RscInteraction { + idd = 1014; + class controls { + class RscInteractionFrame_1800: RscText { + idc = 1800; + x = "0.419792 * safezoneW + safezoneX"; + y = "0.247099 * safezoneH + safezoneY"; + w = "0.1375 * safezoneW"; + h = "0.46182 * safezoneH"; + colorBackground[] = {0,0,0,0}; + }; + class RscInteractionText_1000: RscText { + idc = 1000; + text = "Player Interaction"; + style = "0x10+0x200"; + lineSpacing = 1; + x = "0.43125 * safezoneW + safezoneX"; + y = "0.258094 * safezoneH + safezoneY"; + w = "0.114583 * safezoneW"; + h = "0.0425 * safezoneH"; + }; + class RscInteractionButton_1600: RscButton { + idc = 1600; + x = "0.43125 * safezoneW + safezoneX"; + y = "0.302077 * safezoneH + safezoneY"; + w = "0.114583 * safezoneW"; + h = "0.0329871 * safezoneH"; + onButtonClick = "[0] call forge_client_interaction_fnc_interactionAction"; + }; + class RscInteractionButton_1601: RscButton { + idc = 1601; + x = "0.43125 * safezoneW + safezoneX"; + y = "0.34606 * safezoneH + safezoneY"; + w = "0.114583 * safezoneW"; + h = "0.0329871 * safezoneH"; + onButtonClick = "[1] call forge_client_interaction_fnc_interactionAction"; + }; + class RscInteractionButton_1602: RscButton { + idc = 1602; + x = "0.43125 * safezoneW + safezoneX"; + y = "0.390043 * safezoneH + safezoneY"; + w = "0.114583 * safezoneW"; + h = "0.0329871 * safezoneH"; + onButtonClick = "[2] call forge_client_interaction_fnc_interactionAction"; + }; + class RscInteractionButton_1603: RscButton { + idc = 1603; + x = "0.43125 * safezoneW + safezoneX"; + y = "0.434026 * safezoneH + safezoneY"; + w = "0.114583 * safezoneW"; + h = "0.0329871 * safezoneH"; + onButtonClick = "[3] call forge_client_interaction_fnc_interactionAction"; + }; + class RscInteractionButton_1604: RscButton { + idc = 1604; + x = "0.43125 * safezoneW + safezoneX"; + y = "0.478009 * safezoneH + safezoneY"; + w = "0.114583 * safezoneW"; + h = "0.0329871 * safezoneH"; + onButtonClick = "[4] call forge_client_interaction_fnc_interactionAction"; + }; + class RscInteractionButton_1605: RscButton { + idc = 1605; + x = "0.43125 * safezoneW + safezoneX"; + y = "0.521991 * safezoneH + safezoneY"; + w = "0.114583 * safezoneW"; + h = "0.0329871 * safezoneH"; + onButtonClick = "[5] call forge_client_interaction_fnc_interactionAction"; + }; + class RscInteractionButton_1606: RscButton { + idc = 1606; + x = "0.43125 * safezoneW + safezoneX"; + y = "0.565974 * safezoneH + safezoneY"; + w = "0.114583 * safezoneW"; + h = "0.0329871 * safezoneH"; + onButtonClick = "[6] call forge_client_interaction_fnc_interactionAction"; + }; + class RscInteractionButton_1607: RscButton { + idc = 1607; + x = "0.43125 * safezoneW + safezoneX"; + y = "0.609957 * safezoneH + safezoneY"; + w = "0.114583 * safezoneW"; + h = "0.0329871 * safezoneH"; + onButtonClick = "[7] call forge_client_interaction_fnc_interactionAction"; + }; + class RscInteractionButton_1608: RscButton { + idc = 1608; + x = "0.43125 * safezoneW + safezoneX"; + y = "0.65394 * safezoneH + safezoneY"; + w = "0.114583 * safezoneW"; + h = "0.0329871 * safezoneH"; + onButtonClick = "[8] call forge_client_interaction_fnc_interactionAction"; + }; + }; +}; \ No newline at end of file diff --git a/addons/locker/$PBOPREFIX$ b/addons/locker/$PBOPREFIX$ new file mode 100644 index 0000000..f6b26f7 --- /dev/null +++ b/addons/locker/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\locker \ No newline at end of file diff --git a/addons/locker/CfgEventHandlers.hpp b/addons/locker/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/locker/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/locker/README.md b/addons/locker/README.md new file mode 100644 index 0000000..f14845e --- /dev/null +++ b/addons/locker/README.md @@ -0,0 +1,4 @@ +forge_locker +========== + +A player locker addon that provides personal storage functionality. Players can store and retrieve their items securely using individual lockers. This addon handles the storage and management of player inventories in a safe and organized way. \ No newline at end of file diff --git a/addons/locker/XEH_PREP.hpp b/addons/locker/XEH_PREP.hpp new file mode 100644 index 0000000..25dea1c --- /dev/null +++ b/addons/locker/XEH_PREP.hpp @@ -0,0 +1,6 @@ +PREP(equipGear); +PREP(fetchLocker); +PREP(fetchPlayer); +PREP(initLocker); +PREP(openLocker); +PREP(storeGear); \ No newline at end of file diff --git a/addons/locker/XEH_postInit.sqf b/addons/locker/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/locker/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/locker/XEH_postInit_client.sqf b/addons/locker/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/locker/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/locker/XEH_preInit.sqf b/addons/locker/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/locker/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/locker/XEH_preInit_server.sqf b/addons/locker/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/locker/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/locker/XEH_preStart.sqf b/addons/locker/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/locker/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/locker/config.cpp b/addons/locker/config.cpp new file mode 100644 index 0000000..a3076b8 --- /dev/null +++ b/addons/locker/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "ui\BaseControls.hpp" +#include "ui\RscLockerDialog.hpp" \ No newline at end of file diff --git a/addons/locker/functions/fnc_equipGear.sqf b/addons/locker/functions/fnc_equipGear.sqf new file mode 100644 index 0000000..55af4d4 --- /dev/null +++ b/addons/locker/functions/fnc_equipGear.sqf @@ -0,0 +1,203 @@ +#include "..\script_component.hpp" + +private _display = findDisplay IDD_LOCKERDIALOG; +private _playerItems = _display displayCtrl IDC_PLAYEREQUIPMENTLIST; +private _lockerItems = _display displayCtrl IDC_LOCKEREQUIPMENTLIST; +private _selectedItem = lbCurSel _lockerItems; +private _selectedItemData = _lockerItems lbData _selectedItem; + +private _data = call compile _selectedItemData; +// private _locker = player getVariable ["FORGE_Locker", []]; +private _locker = GETVAR(player,FORGE_Locker,[]); + +if ((isNil { _data })) exitWith { ctrlEnable [IDC_EQUIPBUTTON, true]; }; + +private _itemType = _data select 0; +private _item = _data select 1; +private _clear = true; + +switch (_itemType) do { + case "backpack": { + if (isNull (unitBackpack player)) then { + player addBackpack _item; + playSound "FD_Finish_F"; + } else { + _clear = false; + // hintSilent "You already have a backpack equipped!"; + ["You already have a backpack equiped!", "warning", 3, "right"] call EFUNC(misc,notify); + playSound "FD_CP_Not_Clear_F"; + }; + }; + case "facewear": { + if (isNull (goggles player)) then { + player addGoggles _item; + playSound "FD_Finish_F"; + } else { + _clear = false; + // hintSilent "You already have facewear equipped!"; + ["You already have facewear equiped!", "warning", 3, "right"] call EFUNC(misc,notify); + playSound "FD_CP_Not_Clear_F"; + }; + }; + case "headgear": { + if (isNull (headgear player)) then { + player addHeadgear _item; + playSound "FD_Finish_F"; + } else { + _clear = false; + // hintSilent "You already have headgear equipped!"; + ["You already have headgear equiped!", "warning", 3, "right"] call EFUNC(misc,notify); + playSound "FD_CP_Not_Clear_F"; + }; + }; + case "hmd": { + if (isNull (hmd player)) then { + player linkItem _item; + playSound "FD_Finish_F"; + } else { + _clear = false; + // hintSilent "You already have a HMD equipped!"; + ["You already have a HMD equiped!", "warning", 3, "right"] call EFUNC(misc,notify); + playSound "FD_CP_Not_Clear_F"; + }; + }; + case "item": { + if (player canAdd _item) then { + player addItem _item; + playSound "FD_Finish_F"; + } else { + _clear = false; + // hintSilent "You don't have enough space left!"; + ["You don't have enough space left!", "warning", 3, "right"] call EFUNC(misc,notify); + playSound "FD_CP_Not_Clear_F"; + }; + }; + case "magazine": { + if (player canAdd (_item select 0)) then { + player addMagazine [(_item select 0), (_item select 1)]; + playSound "FD_Finish_F"; + } else { + _clear = false; + // hintSilent "You don't have enough space left!"; + ["You don't have enough space left!", "warning", 3, "right"] call EFUNC(misc,notify); + playSound "FD_CP_Not_Clear_F"; + }; + }; + case "uniform": { + if (isNull (uniform player)) then { + player forceAddUniform _item; + playSound "FD_Finish_F"; + } else { + _clear = false; + // hintSilent "You already have a uniform equipped!"; + ["You already have a uniform equiped!", "warning", 3, "right"] call EFUNC(misc,notify); + playSound "FD_CP_Not_Clear_F"; + }; + }; + case "vest": { + if (isNull (vest player)) then { + player addVest _item; + playSound "FD_Finish_F"; + } else { + _clear = false; + // hintSilent "You already have a vest equipped!"; + ["You already have a vest equiped!", "warning", 3, "right"] call EFUNC(misc,notify); + playSound "FD_CP_Not_Clear_F"; + }; + }; + // case "weapon": { + // if (!(getNumber (configFile >> "CfgWeapons" >> _item >> "type") == 131072) && + // {!(getNumber (configFile >> "CfgWeapons" >> _item >> "type") == 1) || primaryWeapon player == ""} && + // {!(getNumber (configFile >> "CfgWeapons" >> _item >> "type") == 2) || handgunWeapon player == ""} && + // {!(getNumber (configFile >> "CfgWeapons" >> _item >> "type") == 4) || secondaryWeapon player == ""}) then { + + // private _compatibleMags = getArray (configFile >> "CfgWeapons" >> _item >> "magazines"); + // private _baseType = (_compatibleMags select 0) select [0, (_compatibleMags select 0) find "_Tracer"]; + + // if (_baseType == "") then { _baseType = _compatibleMags select 0 }; + + // private _magIndices = []; + // { + // if ((_x select 0) == "magazine") then { + // private _magClass = (_x select 1) select 0; + + // if ((_magClass in _compatibleMags || + // {("ACE_" in _magClass) && {_baseType in _magClass}}) && + // {player canAdd _magClass}) then { + // player addMagazine [_magClass, (_x select 1) select 1]; + // _magIndices pushBack _forEachIndex; + // }; + // }; + // } forEach _locker; + + // reverse _magIndices; + // { + // _locker deleteAt _x; + // } forEach _magIndices; + + // player addWeapon _item; + // playSound "FD_Finish_F"; + // } else { + // _clear = false; + // // hintSilent "You don't have enough space left!"; + // ["You don't have enough space left!", "warning", 3, "right"] call EFUNC(misc,notify); + // playSound "FD_CP_Not_Clear_F"; + // }; + // }; + case "weapon": { + private _weaponType = getNumber (configFile >> "CfgWeapons" >> _item >> "type"); + private _hasSpace = switch (_weaponType) do { + case 1: {primaryWeapon player == ""}; // Primary + case 2: {handgunWeapon player == ""}; // Handgun + case 4: {secondaryWeapon player == ""}; // Launcher + case 131072: {false}; // Binoculars + default {true}; + }; + + if (_hasSpace) then { + private _compatibleMags = getArray (configFile >> "CfgWeapons" >> _item >> "magazines"); + private _baseType = (_compatibleMags select 0) select [0, (_compatibleMags select 0) find "_Tracer"]; + if (_baseType == "") then {_baseType = _compatibleMags select 0}; + + private _magIndices = []; + { + if ((_x select 0) == "magazine") then { + private _magClass = (_x select 1) select 0; + if ((_magClass in _compatibleMags || {("ACE_" in _magClass) && {_baseType in _magClass}}) && + {player canAdd _magClass}) then { + player addMagazine [_magClass, (_x select 1) select 1]; + _magIndices pushBack _forEachIndex; + }; + }; + } forEach _locker; + + reverse _magIndices; + {_locker deleteAt _x} forEach _magIndices; + + player addWeapon _item; + playSound "FD_Finish_F"; + } else { + _clear = false; + ["You don't have enough space left!", "warning", 3, "right"] call EFUNC(misc,notify); + playSound "FD_CP_Not_Clear_F"; + }; + }; +}; + +if (_clear) then { + lbClear _lockerItems; + lbClear _playerItems; + _lockerItems lbSetCurSel -1; + _playerItems lbSetCurSel -1; + + private _index = _locker findIf { _x isEqualTo _data }; + + _locker deleteAt _index; + // player setVariable ["FORGE_Locker", _locker, true]; + SETPVAR(player,FORGE_Locker,_locker); + + [] call FUNC(fetchLocker); + [] call FUNC(fetchPlayer); + + ctrlEnable [IDC_EQUIPBUTTON, true]; +}; \ No newline at end of file diff --git a/addons/locker/functions/fnc_fetchLocker.sqf b/addons/locker/functions/fnc_fetchLocker.sqf new file mode 100644 index 0000000..34104c1 --- /dev/null +++ b/addons/locker/functions/fnc_fetchLocker.sqf @@ -0,0 +1,86 @@ +#include "..\script_component.hpp" + +private _display = findDisplay IDD_LOCKERDIALOG; +private _itemList = _display displayCtrl IDC_LOCKEREQUIPMENTLIST; +// private _locker = player getVariable ["FORGE_Locker", []]; +private _locker = GETVAR(player,FORGE_Locker,[]); + +{ + _x params ["_itemType", "_item"]; + private _index = -1; + + switch (_itemType) do { + case "backpack": { + private _displayName = getText (configFile >> "CfgVehicles" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgVehicles" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "facewear": { + private _displayName = getText (configFile >> "CfgGlasses" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgGlasses" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "headgear": { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "hmd": { + private _display = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "item": { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "magazine": { + private _displayName = format["%1 (%2/%3)", getText (configFile >> "CfgMagazines" >> (_item select 0) >> "displayName"), (_item select 1), (_item select 2)]; + private _picture = getText (configFile >> "CfgMagazines" >> (_item select 0) >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "uniform": { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "vest": { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "weapon": { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + }; +} forEach _locker; \ No newline at end of file diff --git a/addons/locker/functions/fnc_fetchPlayer.sqf b/addons/locker/functions/fnc_fetchPlayer.sqf new file mode 100644 index 0000000..65b3ad8 --- /dev/null +++ b/addons/locker/functions/fnc_fetchPlayer.sqf @@ -0,0 +1,112 @@ +#include "..\script_component.hpp" + +private _display = findDisplay IDD_LOCKERDIALOG; +private _itemList = _display displayCtrl IDC_PLAYEREQUIPMENTLIST; +private _data = []; + +_data pushBack ["backpack", backpack player]; +_data pushBack ["facewear", goggles player]; +_data pushBack ["headgear", headgear player]; +_data pushBack ["hmd", hmd player]; +_data pushBack ["uniform", uniform player]; +_data pushBack ["vest", vest player]; +_data pushBack ["weapon", primaryWeapon player]; +_data pushBack ["weapon", secondaryWeapon player]; +_data pushBack ["weapon", handgunWeapon player]; + +{ + _data pushBack ["item", _x]; +} forEach (assignedItems player + items player); + +{ + private _magClass = _x select 0; + private _ammoCount = _x select 1; + private _magLocation = _x select 4; + private _ammoFull = getNumber (configFile >> "CfgMagazines" >> _magClass >> "count"); + + if (_magLocation in ["Uniform", "Vest", "Backpack"]) then { + _data pushBack ["magazine", [_magClass, _ammoCount, _ammoFull, _magLocation]]; + }; +} forEach (magazinesAmmoFull player); + +_data = _data select { !(_x in [["backpack", ""], ["facewear", ""], ["headgear", ""], ["hmd", ""], ["item", ""], ["magazine", ""], ["uniform", ""], ["vest", ""], ["weapon", ""]]) }; + +{ + _x params ["_itemType", "_item"]; + private _index = -1; + + switch (_itemType) do { + case "backpack": { + private _displayName = getText (configFile >> "CfgVehicles" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgVehicles" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "facewear": { + private _displayName = getText (configFile >> "CfgGlasses" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgGlasses" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "headgear": { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "hmd": { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "item": { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "magazine": { + private _displayName = format ["%1 (%2/%3) [%4]", getText (configFile >> "CfgMagazines" >> (_item select 0) >> "displayName"), (_item select 1), (_item select 2), (_item select 3)]; + private _picture = getText (configFile >> "CfgMagazines" >> (_item select 0) >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "uniform": { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "vest": { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + case "weapon": { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _itemList lbAdd _displayName; + _itemList lbSetData [_index, str [_itemType, _item]]; + _itemList lbSetPicture [_index, _picture]; + }; + }; +} forEach _data; \ No newline at end of file diff --git a/addons/locker/functions/fnc_initLocker.sqf b/addons/locker/functions/fnc_initLocker.sqf new file mode 100644 index 0000000..8fdf48c --- /dev/null +++ b/addons/locker/functions/fnc_initLocker.sqf @@ -0,0 +1,31 @@ +#include "..\script_component.hpp" + +{ + private _configName = configName(_x); + private _className = (missionConfigFile >> "CfgLockers" >> "lockers" >> _configName >> "className") call BFUNC(getCfgData); + private _pos = (missionConfigFile >> "CfgLockers" >> "lockers" >> _configName >> "pos") call BFUNC(getCfgData); + private _dir = (missionConfigFile >> "CfgLockers" >> "lockers" >> _configName >> "dir") call BFUNC(getCfgData); + private _type = (missionConfigFile >> "CfgLockers" >> "lockers" >> _configName >> "type") call BFUNC(getCfgData); + + if (_type == "object") then { + private _locker = createSimpleObject [_className, [0, 0, 0]]; + + _locker setPosATL _pos; + _locker setDir _dir; + _locker allowDamage false; + _locker setVariable ["isLocker", true, true]; + } else { + private _group = createGroup civilian; + private _locker = _group createUnit [_className, [0, 0, 0], [], 0, "NONE"]; + + _locker disableAI "MOVE"; + _locker setPosATL _pos; + _locker setDir _dir; + _locker allowDamage false; + _locker setVariable ["isLocker", true, true]; + _locker setVariable ["BIS_enableRandomization", false]; + }; + + diag_log text format ["[FORGE Locker] ClassName: '%1' Pos: '%2' Dir: '%3' Type: '%4'", _className, _pos, _dir, _type]; + +} forEach ("true" configClasses (missionConfigFile >> "CfgLockers" >> "lockers")); \ No newline at end of file diff --git a/addons/locker/functions/fnc_openLocker.sqf b/addons/locker/functions/fnc_openLocker.sqf new file mode 100644 index 0000000..b320370 --- /dev/null +++ b/addons/locker/functions/fnc_openLocker.sqf @@ -0,0 +1,9 @@ +#include "..\script_component.hpp" + +disableSerialization; +createDialog "RscLockerDialog"; + +ctrlSetText [IDC_DIALOGNAME, format ["%1's Locker", (name player)]]; + +[] call FUNC(fetchLocker); +[] call FUNC(fetchPlayer); \ No newline at end of file diff --git a/addons/locker/functions/fnc_storeGear.sqf b/addons/locker/functions/fnc_storeGear.sqf new file mode 100644 index 0000000..fdcef14 --- /dev/null +++ b/addons/locker/functions/fnc_storeGear.sqf @@ -0,0 +1,240 @@ +#include "..\script_component.hpp" + +private _display = findDisplay IDD_LOCKERDIALOG; +private _playerItems = _display displayCtrl IDC_PLAYEREQUIPMENTLIST; +private _lockerItems = _display displayCtrl IDC_LOCKEREQUIPMENTLIST; +private _selectedItem = lbCurSel _playerItems; +private _selectedItemData = _playerItems lbData _selectedItem; + +private _data = call compile _selectedItemData; +// private _locker = player getVariable ["FORGE_Locker", []]; +private _locker = GETVAR(player,FORGE_Locker,[]); + +if ((isNil { _data })) exitWith { ctrlEnable [IDC_STOREBUTTON, true]; }; + +private _itemType = _data select 0; +private _item = _data select 1; +private _clear = true; + +switch (_itemType) do { + case "backpack": { + { + for "_i" from 1 to (_x select 1) do { + _locker pushBack ["item", (_x select 0)]; + }; + } count ((getItemCargo backpackContainer player) call EFUNC(misc,cargoToPairs)); + + { + for "_i" from 1 to (_x select 1) do { + _locker pushBack ["weapon", (_x select 0)]; + }; + } count ((getWeaponCargo backpackContainer player) call EFUNC(misc,cargoToPairs)); + + { + _locker pushBack ["magazine", [(_x select 0), (_x select 1), getNumber (configFile >> "CfgMagazines" >> (_x select 0) >> "count")]]; + } count (magazinesAmmoCargo backpackContainer player); + + _locker pushBack [_itemType, _item]; + // player setVariable ["FORGE_Locker", _locker, true]; + SETPVAR(player,FORGE_Locker,_locker); + + removeBackpack player; + playSound "FD_Finish_F"; + }; + case "facewear": { + _locker pushBack [_itemType, _item]; + // player setVariable ["FORGE_Locker", _locker, true]; + SETPVAR(player,FORGE_Locker,_locker); + + removeGoggles player; + playSound "FD_Finish_F"; + }; + case "headgear": { + _locker pushBack [_itemType, _item]; + // player setVariable ["FORGE_Locker", _locker, true]; + SETPVAR(player,FORGE_Locker,_locker); + + removeHeadgear player; + playSound "FD_Finish_F"; + }; + case "hmd": { + _locker pushBack [_itemType, _item]; + // player setVariable ["FORGE_Locker", _locker, true]; + SETPVAR(player,FORGE_Locker,_locker); + + player unassignItem _item; + player removeItem _item; + playSound "FD_Finish_F"; + }; + case "item": { + _locker pushBack [_itemType, _item]; + // player setVariable ["FORGE_Locker", _locker, true]; + SETPVAR(player,FORGE_Locker,_locker); + + if (_item == (currentMuzzle player)) then { + player action ["SWITCHWEAPON", player, player, -1]; + player unassignItem _item; + player removeWeapon _item; + } else { + player unassignItem _item; + player removeItem _item; + }; + playSound "FD_Finish_F"; + }; + case "magazine": { + _locker pushBack [_itemType, _item]; + // player setVariable ["FORGE_Locker", _locker, true]; + SETPVAR(player,FORGE_Locker,_locker); + + private _temp = magazinesAmmoFull player; + + switch (_item select 3) do { + case "Backpack": { + { + if ((_x select 4) == "Backpack" && (_x select 0) == (_item select 0)) then { + player removeItemFromBackpack (_item select 0); + }; + } count _temp; + + _temp deleteAt (_temp findIf { + (_x select 0) == (_item select 0) && (_x select 1) == (_item select 1) && (_x select 4) == (_item select 3) + }); + + { + if ((_x select 4) == "Backpack" && (_x select 0) == (_item select 0)) then { + (backpackContainer player) addMagazineAmmoCargo [(_x select 0), 1, (_x select 1)]; + }; + } count _temp; + }; + case "Uniform": { + { + if ((_x select 4) == "Uniform" && (_x select 0) == (_item select 0)) then { + player removeItemFromUniform (_item select 0); + }; + } count _temp; + + _temp deleteAt (_temp findIf { + (_x select 0) == (_item select 0) && (_x select 1) == (_item select 1) && (_x select 4) == (_item select 3) + }); + + { + if ((_x select 4) == "Uniform" && (_x select 0) == (_item select 0)) then { + (uniformContainer player) addMagazineAmmoCargo [(_x select 0), 1, (_x select 1)]; + }; + } count _temp; + }; + case "Vest": { + { + if ((_x select 4) == "Vest" && (_x select 0) == (_item select 0)) then { + player removeItemFromVest (_item select 0); + }; + } count _temp; + + _temp deleteAt (_temp findIf { + (_x select 0) == (_item select 0) && (_x select 1) == (_item select 1) && (_x select 4) == (_item select 3) + }); + + { + if ((_x select 4) == "Vest" && (_x select 0) == (_item select 0)) then { + (vestContainer player) addMagazineAmmoCargo [(_x select 0), 1, (_x select 1)]; + }; + } count _temp; + }; + }; + playSound "FD_Finish_F"; + }; + case "uniform": { + { + for "_i" from 1 to (_x select 1) do { + _locker pushBack ["item", (_x select 0)]; + }; + } count ((getItemCargo uniformContainer player) call EFUNC(misc,cargoToPairs)); + + { + for "_i" from 1 to (_x select 1) do { + _locker pushBack ["weapon", (_x select 0)]; + }; + } count ((getWeaponCargo uniformContainer player) call EFUNC(misc,cargoToPairs)); + + { + _locker pushBack ["magazine", [(_x select 0), (_x select 1), getNumber (configFile >> "CfgMagazines" >> (_x select 0) >> "count")]]; + } count (magazinesAmmoCargo uniformContainer player); + + _locker pushBack [_itemType, _item]; + // player setVariable ["FORGE_Locker", _locker, true]; + SETPVAR(player,FORGE_Locker,_locker); + + removeUniform player; + playSound "FD_Finish_F"; + }; + case "vest": { + { + for "_i" from 1 to (_x select 1) do { + _locker pushBack ["item", (_x select 0)]; + }; + } count ((getItemCargo vestContainer player) call EFUNC(misc,cargoToPairs)); + + { + for "_i" from 1 to (_x select 1) do { + _locker pushBack ["weapon", (_x select 0)]; + }; + } count ((getWeaponCargo vestContainer player) call EFUNC(misc,cargoToPairs)); + + { + _locker pushBack ["magazine", [(_x select 0), (_x select 1), getNumber (configFile >> "CfgMagazines" >> (_x select 0) >> "count")]]; + true; + } count (magazinesAmmoCargo vestContainer player); + + _locker pushBack [_itemType, _item]; + // player setVariable ["FORGE_Locker", _locker, true]; + SETPVAR(player,FORGE_Locker,_locker); + + removeVest player; + playSound "FD_Finish_F"; + }; + case "weapon": { + _locker pushBack [_itemType, _item]; + // player setVariable ["FORGE_Locker", _locker, true]; + SETPVAR(player,FORGE_Locker,_locker); + + private _temp = weaponsItems player; + + { + if ((_x select 0) == _item) then { + private _att1 = _x select 1; + private _att2 = _x select 2; + private _att3 = _x select 3; + private _mag = _x select 4; + private _mag2 = _x select 5; + private _att4 = _x select 6; + + { + if (_x isNotEqualTo "") then { + _locker pushBack ["item", _x]; + }; + } forEach [_att1, _att2, _att3, _att4]; + + { + if (_x isNotEqualTo []) then { + _locker pushBack ["magazine", [(_x select 0), (_x select 1), getNumber (configFile >> "CfgMagazines" >> (_x select 0) >> "count")]]; + }; + } forEach [_mag, _mag2]; + }; + } count _temp; + + player removeWeapon _item; + playSound "FD_Finish_F"; + }; +}; + +if (_clear) then { + lbClear _playerItems; + lbClear _lockerItems; + _playerItems lbSetCurSel -1; + _lockerItems lbSetCurSel -1; + + [] call FUNC(fetchLocker); + [] call FUNC(fetchPlayer); + + ctrlEnable [IDC_STOREBUTTON, true]; +}; \ No newline at end of file diff --git a/addons/locker/script_component.hpp b/addons/locker/script_component.hpp new file mode 100644 index 0000000..fd9fb04 --- /dev/null +++ b/addons/locker/script_component.hpp @@ -0,0 +1,24 @@ +#define COMPONENT locker +#define COMPONENT_BEAUTIFIED Locker +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_LOCKER + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_LOCKER + #define DEBUG_SETTINGS DEBUG_SETTINGS_LOCKER +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" + +#define IDD_LOCKERDIALOG 82000 +#define IDC_DIALOGNAME 82001 +#define IDC_PLAYEREQUIPMENTLIST 82002 +#define IDC_LOCKEREQUIPMENTLIST 82003 +#define IDC_STOREBUTTON 82004 +#define IDC_EQUIPBUTTON 82005 +#define IDC_CLOSEBUTTON 82006 \ No newline at end of file diff --git a/addons/locker/stringtable.xml b/addons/locker/stringtable.xml new file mode 100644 index 0000000..facaae3 --- /dev/null +++ b/addons/locker/stringtable.xml @@ -0,0 +1,17 @@ + + + + + Close + + + Equip + + + Locker + + + Store + + + diff --git a/addons/locker/ui/BaseControls.hpp b/addons/locker/ui/BaseControls.hpp new file mode 100644 index 0000000..5fce5a8 --- /dev/null +++ b/addons/locker/ui/BaseControls.hpp @@ -0,0 +1,265 @@ +// Control types +#define CT_STATIC 0 +#define CT_BUTTON 1 +#define CT_EDIT 2 +#define CT_SLIDER 3 +#define CT_COMBO 4 +#define CT_LISTBOX 5 +#define CT_TOOLBOX 6 +#define CT_CHECKBOXES 7 +#define CT_PROGRESS 8 +#define CT_HTML 9 +#define CT_STATIC_SKEW 10 +#define CT_ACTIVETEXT 11 +#define CT_TREE 12 +#define CT_STRUCTURED_TEXT 13 +#define CT_CONTEXT_MENU 14 +#define CT_CONTROLS_GROUP 15 +#define CT_SHORTCUTBUTTON 16 +#define CT_HITZONES 17 +#define CT_XKEYDESC 40 +#define CT_XBUTTON 41 +#define CT_XLISTBOX 42 +#define CT_XSLIDER 43 +#define CT_XCOMBO 44 +#define CT_ANIMATED_TEXTURE 45 +#define CT_OBJECT 80 +#define CT_OBJECT_ZOOM 81 +#define CT_OBJECT_CONTAINER 82 +#define CT_OBJECT_CONT_ANIM 83 +#define CT_LINEBREAK 98 +#define CT_USER 99 +#define CT_MAP 100 +#define CT_MAP_MAIN 101 +#define CT_LISTNBOX 102 +#define CT_ITEMSLOT 103 +#define CT_CHECKBOX 77 + +// Static styles +#define ST_POS 0x0F +#define ST_HPOS 0x03 +#define ST_VPOS 0x0C +#define ST_LEFT 0x00 +#define ST_RIGHT 0x01 +#define ST_CENTER 0x02 +#define ST_DOWN 0x04 +#define ST_UP 0x08 +#define ST_VCENTER 0x0C + +#define ST_TYPE 0xF0 +#define ST_SINGLE 0x00 +#define ST_MULTI 0x10 +#define ST_TITLE_BAR 0x20 +#define ST_PICTURE 0x30 +#define ST_FRAME 0x40 +#define ST_BACKGROUND 0x50 +#define ST_GROUP_BOX 0x60 +#define ST_GROUP_BOX2 0x70 +#define ST_HUD_BACKGROUND 0x80 +#define ST_TILE_PICTURE 0x90 +#define ST_WITH_RECT 0xA0 +#define ST_LINE 0xB0 +#define ST_UPPERCASE 0xC0 +#define ST_LOWERCASE 0xD0 + +#define ST_SHADOW 0x100 +#define ST_NO_RECT 0x200 +#define ST_KEEP_ASPECT_RATIO 0x800 + +// Slider styles +#define SL_DIR 0x400 +#define SL_VERT 0 +#define SL_HORZ 0x400 + +#define SL_TEXTURES 0x10 + +// progress bar +#define ST_VERTICAL 0x01 +#define ST_HORIZONTAL 0 + +// Listbox styles +#define LB_TEXTURES 0x10 +#define LB_MULTI 0x20 + +// Tree styles +#define TR_SHOWROOT 1 +#define TR_AUTOCOLLAPSE 2 + +// Default text sizes +#define GUI_TEXT_SIZE_SMALL (GUI_GRID_H * 0.8) +#define GUI_TEXT_SIZE_MEDIUM (GUI_GRID_H * 1) +#define GUI_TEXT_SIZE_LARGE (GUI_GRID_H * 1.2) + +// Pixel grid +#define pixelScale 0.50 +#define GRID_W (pixelW * pixelGrid * pixelScale) +#define GRID_H (pixelH * pixelGrid * pixelScale) + +class ScrollBar; +class RscObject; +class RscText; +class RscTextSmall; +class RscTitle; +class RscProgress; +class RscProgressNotFreeze; +class RscPicture; +class RscLadderPicture; +class RscPictureKeepAspect; +class RscHTML; +class RscButton; +class RscShortcutButton; +class RscButtonSmall; +class RscEdit; +class RscCombo; +class RscListBox; +class RscListNBox; +class RscXListBox; +class RscTree; +class RscSlider; +class RscSliderH; +class RscXSliderH; +class RscActiveText; +class RscStructuredText; +class RscControlsGroup; +class RscToolbox; +class RscMapControl; +class RscCheckBox; +class RscFrame; +class ctrlDefault; +class ctrlControlsGroup; +class ctrlDefaultText; +class ctrlDefaultButton; +class RscBackgroundStripeTop; +class RscBackgroundStripeBottom; +class RscIGText; +class RscIGProgress; +class RscListBoxKeys; +class RscControlsGroupNoScrollbars; +class RscControlsGroupNoHScrollbars; +class RscControlsGroupNoVScrollbars; +class RscLine; +class RscActivePicture; +class RscButtonTextOnly; +class RscShortcutButtonMain; +class RscButtonEditor; +class RscIGUIShortcutButton; +class RscGearShortcutButton; +class RscButtonMenu; +class RscButtonMenuOK; +class RscButtonMenuCancel; +class RscButtonMenuSteam; +class RscLoadingText; +class RscIGUIListBox; +class RscIGUIListNBox; +class RscBackground; +class RscBackgroundGUI; +class RscBackgroundGUILeft; +class RscBackgroundGUIRight; +class RscBackgroundGUIBottom; +class RscBackgroundGUITop; +class RscBackgroundGUIDark; +class RscBackgroundLogo; +class RscMapControlEmpty; +class RscVignette; +class CA_Mainback; +class CA_Back; +class CA_Title_Back; +class CA_Black_Back; +class CA_Title; +class CA_Logo; +class CA_Logo_Small; +class CA_RscButton; +class CA_RscButton_dialog; +class CA_Ok; +class CA_Ok_image; +class CA_Ok_image2; +class CA_Ok_text; +class ctrlCheckbox; +class ctrlCheckboxBaseline; +class ctrlStatic; +class ctrlControlsGroupNoScrollbars; +class ctrlStructuredText; +class RscTextMulti; +class RscTreeSearch; +class RscVideo; +class RscVideoKeepAspect; +class RscActivePictureKeepAspect; +class RscEditMulti; +class RscMapSignalBackground; +class RscMapSignalPicture; +class RscMapSignalText; +class RscColorPicker; +class RscInterlacingScreen; +class RscFeedback; +class RscTrafficLight; +class RscButtonSearch; +class RscIGUIText; +class RscOpticsText; +class RscOpticsValue; +class RscIGUIValue; +class RscButtonMenuMain; +class RscButtonTestCentered; +class RscDisplaySingleMission_ChallengeOverviewGroup; +class RscDisplayDebriefing_RscTextMultiline; +class RscDisplayDebriefing_ListGroup; +class RscButtonArsenal; +class RscTextNoShadow; +class RscButtonNoColor; +class RscToolboxButton; +class ctrlStaticPicture; +class ctrlStaticPictureKeepAspect; +class ctrlStaticPictureTile; +class ctrlStaticFrame; +class ctrlStaticLine; +class ctrlStaticMulti; +class ctrlStaticBackground; +class ctrlStaticOverlay; +class ctrlStaticTitle; +class ctrlStaticFooter; +class ctrlStaticBackgroundDisable; +class ctrlStaticBackgroundDisableTiles; +class ctrlButton; +class ctrlButtonPicture; +class ctrlButtonPictureKeepAspect; +class ctrlButtonOK; +class ctrlButtonCancel; +class ctrlButtonClose; +class ctrlButtonToolbar; +class ctrlButtonSearch; +class ctrlButtonExpandAll; +class ctrlButtonCollapseAll; +class ctrlButtonFilter; +class ctrlEdit; +class ctrlEditMulti; +class ctrlSliderV; +class ctrlSliderH; +class ctrlCombo; +class ctrlComboToolbar; +class ctrlListbox; +class ctrlToolbox; +class ctrlToolboxPicture; +class ctrlToolboxPictureKeepAspect; +class ctrlCheckboxes; +class ctrlCheckboxesCheckbox; +class ctrlProgress; +class ctrlHTML; +class ctrlActiveText; +class ctrlActivePicture; +class ctrlActivePictureKeepAspect; +class ctrlTree; +class ctrlControlsGroupNoHScrollbars; +class ctrlControlsGroupNoVScrollbars; +class ctrlShortcutButton; +class ctrlShortcutButtonOK; +class ctrlShortcutButtonCancel; +class ctrlShortcutButtonSteam; +class ctrlXListbox; +class ctrlXSliderV; +class ctrlXSliderH; +class ctrlMenu; +class ctrlMenuStrip; +class ctrlMap; +class ctrlMapEmpty; +class ctrlMapMain; +class ctrlListNBox; +class ctrlCheckboxToolbar; \ No newline at end of file diff --git a/addons/locker/ui/RscLockerDialog.hpp b/addons/locker/ui/RscLockerDialog.hpp new file mode 100644 index 0000000..fc99b55 --- /dev/null +++ b/addons/locker/ui/RscLockerDialog.hpp @@ -0,0 +1,73 @@ +class RscLockerDialog { + idd = IDD_LOCKERDIALOG; + movingEnable = 1; + enableSimulation = 1; + + class controlsBackground { + class MainBackground: RscText { + idc = -1; + x = "0.25 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.5 * safezoneW"; + h = "0.725 * safezoneH"; + colorBackground[] = {0, 0, 0, 0.7}; + }; + class DialogTitle: RscText { + idc = IDC_DIALOGNAME; + text = CSTRING(Name); + x = "0.25 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.5 * safezoneW"; + h = "0.0325 * safezoneH"; + colorBackground[] = {0.1, 0.1, 0.1, 1}; + }; + }; + + class controls { + class PlayerEquipmentList: RscListBox { + idc = IDC_PLAYEREQUIPMENTLIST; + x = "0.26 * safezoneW + safezoneX"; + y = "0.17 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.615 * safezoneH"; + }; + + class LockerItemsList: RscListBox { + idc = IDC_LOCKEREQUIPMENTLIST; + x = "0.51 * safezoneW + safezoneX"; + y = "0.17 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.615 * safezoneH"; + }; + + class StoreButton: RscButton { + idc = IDC_STOREBUTTON; + text = CSTRING(Store); + x = "0.26 * safezoneW + safezoneX"; + y = "0.80625 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.0325 * safezoneH"; + onButtonClick = "_this call forge_client_locker_fnc_storeGear"; + }; + + class EquipButton: RscButton { + idc = IDC_EQUIPBUTTON; + text = CSTRING(Equip); + x = "0.51 * safezoneW + safezoneX"; + y = "0.80625 * safezoneH + safezoneY"; + w = "0.23 * safezoneW"; + h = "0.0325 * safezoneH"; + onButtonClick = "_this call forge_client_locker_fnc_equipGear"; + }; + + class CloseButton: RscButton { + idc = IDC_CLOSEBUTTON; + text = "X"; + x = "0.7225 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.0275 * safezoneW"; + h = "0.0325 * safezoneH"; + onButtonClick = "closeDialog 0"; + }; + }; +}; diff --git a/addons/main/$PBOPREFIX$ b/addons/main/$PBOPREFIX$ new file mode 100644 index 0000000..2d44c84 --- /dev/null +++ b/addons/main/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\main \ No newline at end of file diff --git a/addons/main/CfgEditorCategories.hpp b/addons/main/CfgEditorCategories.hpp new file mode 100644 index 0000000..37edd3c --- /dev/null +++ b/addons/main/CfgEditorCategories.hpp @@ -0,0 +1,5 @@ +class CfgEditorCategories { + class GVAR(category) { + displayName = "IDS"; + }; +}; \ No newline at end of file diff --git a/addons/main/CfgEditorSubcategories.hpp b/addons/main/CfgEditorSubcategories.hpp new file mode 100644 index 0000000..fd3e6e9 --- /dev/null +++ b/addons/main/CfgEditorSubcategories.hpp @@ -0,0 +1,5 @@ +class CfgEditorSubcategories { + class GVAR(subcategory) { + displayName = "IDS Audio"; + }; +}; \ No newline at end of file diff --git a/addons/main/CfgMPGameTypes.hpp b/addons/main/CfgMPGameTypes.hpp new file mode 100644 index 0000000..12da5b6 --- /dev/null +++ b/addons/main/CfgMPGameTypes.hpp @@ -0,0 +1,24 @@ +class CfgMPGameTypes { + class COOP; + class FORGE_CNT: COOP { + id = 433; + name = "Contract"; + picture = ""; + shortcut = "CNT"; + description = "FORGE Contract"; + }; + class FORGE_DA: COOP { + id = 433; + name = "Direct Action"; + picture = ""; + shortcut = "DA"; + description = "FORGE Direct Action"; + }; + class FORGE_OP: COOP { + id = 433; + name = "Operation"; + picture = ""; + shortcut = "OP"; + description = "FORGE Operation"; + }; +}; \ No newline at end of file diff --git a/addons/main/CfgMods.hpp b/addons/main/CfgMods.hpp new file mode 100644 index 0000000..01054b7 --- /dev/null +++ b/addons/main/CfgMods.hpp @@ -0,0 +1,14 @@ +class CfgMods { + class PREFIX { + dir = "@forge_client"; + name = "FORGE Client"; + author = "IDSolutions"; + picture = "A3\Ui_f\data\Logos\arma3_expansion_alpha_ca"; + hideName = "false"; + hidePicture = "false"; + action = "https://innovativedevsolutions.org"; + actionName = "Website"; + description = "Innovative Dev Solutions"; + dlcColor[] = {0.45, 0.47, 0.41, 1}; + }; +}; \ No newline at end of file diff --git a/addons/main/CfgNotifications.hpp b/addons/main/CfgNotifications.hpp new file mode 100644 index 0000000..56dbeaa --- /dev/null +++ b/addons/main/CfgNotifications.hpp @@ -0,0 +1,160 @@ +class CfgNotifications { + class Default { + title = ""; + iconPicture = ""; + iconText = ""; + description = ""; + color[] = {1,1,1,1}; + duration = 5; + priority = 0; + difficulty[] = {}; + }; + + class TaskAssigned { + title = "Task Accepted"; + iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIcon_ca.paa"; + description = "%1"; + color[] = {1,1,1,1}; + priority = 0; + }; + + class TaskFailed { + title = "Breach of Task"; + iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_ca.paa"; + description = "%1"; + color[] = {1,0,0,1}; + priority = 0; + }; + + class TaskDone { + title = "Task Fulfilled"; + iconPicture = "\A3\ui_f\data\map\mapcontrol\taskIconDone_ca.paa"; + description = "%1"; + color[] = {0,1,0,1}; + priority = 0; + }; + + class InformationRed { + title = "Information"; + iconPicture = "\A3\ui_f\data\map\markers\handdrawn\warning_ca.paa"; + description = "%1"; + color[] = {0.69,0.13,0.13,1}; + priority = 1; + }; + + + class InformationGreen { + title = "Information"; + iconPicture = "\A3\ui_f\data\map\markers\handdrawn\warning_ca.paa"; + description = "%1"; + color[] = {0.13,0.54,0.13,1}; + priority = 1; + }; + + class ScoreAdded { + title = "RP Earned"; + iconText = "+%2"; + description = "%1"; + color[] = {1,0,1,1}; + priority = 2; + }; + + class IncomingQRF { + title = "ENEMY QRF"; + iconPicture = "\A3\ui_f\data\Map\VehicleIcons\iconTruck_ca.paa"; + iconText = ""; + description = "An enemy QRF was spotted near your location"; + color[] = {1, 1, 1, 1}; + duration = 5; + priority = 3; + difficulty[] = {}; + }; + + class Warning { + title = "WARNING"; + iconPicture = "\A3\ui_f\data\Map\Markers\Military\warning_CA.paa"; + iconText = ""; + description = "%1"; + color[] = {1, 0, 0, 1}; + duration = 7; + priority = 5; + difficulty[] = {}; + }; + + class JipTeleport { + title = "JIP"; + iconPicture = "\A3\ui_f\data\GUI\Cfg\Hints\Timing_ca.paa"; + iconText = ""; + description = "Join In Progress: Use self-interaction to TP back to your squad"; + color[] = {1, 1, 1, 1}; + duration = 5; + priority = 4; + difficulty[] = {}; + }; + + class IntelAdded { + title = "INTEL FOUND"; + iconPicture = "\A3\ui_f\data\GUI\RscCommon\RscButtonSearch\search_start_ca.paa"; + iconText = ""; + description = "%1"; + color[] = {1, 1, 1, 1}; + duration = 7; + priority = 3; + difficulty[] = {}; + }; + + class RespawnCalled { + title = "RESPAWN"; + iconPicture = "\A3\modules_f\data\iconSector_ca.paa"; + iconText = ""; + description = "The CO has called for reinforcements. Respawning in 5 seconds..."; + color[] = {0, 0.8, 0, 1}; + duration = 5; + priority = 5; + difficulty[] = {}; + }; + + class Info { + title = "INFO"; + iconPicture = "\A3\ui_f\data\GUI\Cfg\CommunicationMenu\instructor_ca.paa"; + iconText = ""; + description = "%1"; + color[] = {1, 1, 1, 1}; + duration = 5; + priority = 4; + difficulty[] = {}; + }; + + class AOLimitWarning { + title = "AO LIMIT"; + iconPicture = "\a3\ui_f\data\GUI\Cfg\Debriefing\endDeath_ca.paa"; + iconText = ""; + description = "Where are you going? Return to the AO now!"; + color[] = {1, 1, 1, 1}; + duration = 5; + priority = 4; + difficulty[] = {}; + }; + + class SetupTimerEnded { + title = "SETUP TIMER"; + iconPicture = "\a3\ui_f\data\IGUI\Cfg\Actions\settimer_ca.paa"; + iconText = ""; + description = "Setup phase is over. The mission is a go."; + color[] = {1, 1, 1, 1}; + duration = 5; + priority = 4; + difficulty[] = {}; + }; + + class TimeLimitNotification { + title = "MISSION TIME LIMIT"; + iconPicture = "\a3\ui_f\data\IGUI\Cfg\Actions\settimer_ca.paa"; + iconText = ""; + description = "%1 minutes remaining."; + color[] = {1, 1, 1, 1}; + duration = 5; + priority = 5; + difficulty[] = {}; + }; +}; \ No newline at end of file diff --git a/addons/main/README.md b/addons/main/README.md new file mode 100644 index 0000000..4f4bf49 --- /dev/null +++ b/addons/main/README.md @@ -0,0 +1,4 @@ +forge_main +======== + +Backbone of other components, defining most of the commonly used macros. \ No newline at end of file diff --git a/addons/main/config.cpp b/addons/main/config.cpp new file mode 100644 index 0000000..06528f9 --- /dev/null +++ b/addons/main/config.cpp @@ -0,0 +1,24 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"cba_main", "ace_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + clientSaveLoopTime = 900; + holsterKey = 35; + interactionKey = 15; + phoneKey = 25; + }; +}; + +#include "CfgEditorCategories.hpp" +#include "CfgEditorSubcategories.hpp" +#include "CfgMods.hpp" +#include "CfgMPGameTypes.hpp" +#include "CfgNotifications.hpp" \ No newline at end of file diff --git a/addons/main/script_component.hpp b/addons/main/script_component.hpp new file mode 100644 index 0000000..4b60e99 --- /dev/null +++ b/addons/main/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT main +#define COMPONENT_BEAUTIFIED Main +#include "script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_MAIN + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_MAIN + #define DEBUG_SETTINGS DEBUG_SETTINGS_MAIN +#endif + +#include "script_macros.hpp" \ No newline at end of file diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp new file mode 100644 index 0000000..299bf5e --- /dev/null +++ b/addons/main/script_macros.hpp @@ -0,0 +1,28 @@ +#include "\z\ace\addons\main\script_macros.hpp" + +#include "\a3\ui_f\hpp\defineDIKCodes.inc" +#include "\a3\ui_f\hpp\defineCommonGrids.inc" + +#define AFUNC(var1,var2) TRIPLES(DOUBLES(ace,var1),fnc,var2) +#define BFUNC(var1) TRIPLES(BIS,fnc,var1) +#define CFUNC(var1) TRIPLES(CBA,fnc,var1) +#define TFUNC(var1) TRIPLES(TFAR,fnc,var1) + +#define PATHTOR_SYS(var1,var2,var3) MAINPREFIX\var1\SUBPREFIX\var2\var3 +#define PATHTOR(var1) PATHTOR_SYS(PREFIX,COMPONENT,var1) +#define PATHTOER(var1,var2) PATHTOR_SYS(PREFIX,var1,var2) +#define QPATHTOR(var1) QUOTE(PATHTOR(var1)) +#define QPATHTOER(var1,var2) QUOTE(PATHTOER(var1,var2)) + +#define CLASS(var1) DOUBLES(PREFIX,var1) +#define QCLASS(var1) QUOTE(DOUBLES(PREFIX,var1)) + +#ifdef DISABLE_COMPILE_CACHE + #undef PREP + #define PREP(fncName) DFUNC(fncName) = compile preprocessFileLineNumbers QPATHTOF(functions\DOUBLES(fnc,fncName).sqf) + #define PREPOS(progName,fncName) DFUNC(fncName) = compile preprocessFileLineNumbers QPATHTOF(programs\progName\DOUBLES(fnc,fncName).sqf) +#else + #undef PREP + #define PREP(fncName) [QPATHTOF(functions\DOUBLES(fnc,fncName).sqf), QFUNC(fncName)] call CBA_fnc_compileFunction + #define PREPOS(progName,fncName) [QPATHTOF(programs\progName\DOUBLES(fnc,fncName).sqf), QFUNC(fncName)] call CBA_fnc_compileFunction +#endif \ No newline at end of file diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp new file mode 100644 index 0000000..15468aa --- /dev/null +++ b/addons/main/script_mod.hpp @@ -0,0 +1,15 @@ +#define MAINPREFIX z +#define PREFIX forge_client + +#include "script_version.hpp" + +#define VERSION MAJOR.MINOR +#define VERSION_AR MAJOR,MINOR,PATCH,BUILD + +#define REQUIRED_VERSION 2.12 + +#ifdef COMPONENT_BEAUTIFIED + #define COMPONENT_NAME QUOTE(IDS Client - COMPONENT_BEAUTIFIED) +#else + #define COMPONENT_NAME QUOTE(IDS Client - COMPONENT) +#endif \ No newline at end of file diff --git a/addons/main/script_version.hpp b/addons/main/script_version.hpp new file mode 100644 index 0000000..3e6aaab --- /dev/null +++ b/addons/main/script_version.hpp @@ -0,0 +1,4 @@ +#define MAJOR 1 +#define MINOR 0 +#define PATCH 0 +#define BUILD 0 diff --git a/addons/medical/$PBOPREFIX$ b/addons/medical/$PBOPREFIX$ new file mode 100644 index 0000000..2e506de --- /dev/null +++ b/addons/medical/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\medical \ No newline at end of file diff --git a/addons/medical/CfgEventHandlers.hpp b/addons/medical/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/medical/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/medical/CfgVehicles.hpp b/addons/medical/CfgVehicles.hpp new file mode 100644 index 0000000..68a14f1 --- /dev/null +++ b/addons/medical/CfgVehicles.hpp @@ -0,0 +1,12 @@ +class CfgVehicles { + class Land_Bodybag_01_black_F; + class CLASS(bodyBag): Land_Bodybag_01_black_F { + maximumLoad = 2000; + transportMaxWeapons = 500; + transportMaxMagazines = 2000; + transportMaxItems = 1000; + ace_dragging_canCarry = 1; + ace_dragging_carryPosition[] = {0, 0.5, 1.2}; + ace_dragging_carryDirection = 90; + }; +}; \ No newline at end of file diff --git a/addons/medical/XEH_PREP.hpp b/addons/medical/XEH_PREP.hpp new file mode 100644 index 0000000..e1d15f5 --- /dev/null +++ b/addons/medical/XEH_PREP.hpp @@ -0,0 +1,7 @@ +PREP(deductMedicalCost); +PREP(heartBeat); +PREP(initMedical); +PREP(moveInventory); +PREP(onKilled); +PREP(onRespawn); +PREP(saveDroppedWeapons); \ No newline at end of file diff --git a/addons/medical/XEH_postInit.sqf b/addons/medical/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/medical/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/medical/XEH_postInit_client.sqf b/addons/medical/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/medical/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/medical/XEH_preInit.sqf b/addons/medical/XEH_preInit.sqf new file mode 100644 index 0000000..41ea8e0 --- /dev/null +++ b/addons/medical/XEH_preInit.sqf @@ -0,0 +1,11 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; + +GVAR(occupancyTriggers) = []; +GVAR(droppedWeapons) = []; \ No newline at end of file diff --git a/addons/medical/XEH_preInit_server.sqf b/addons/medical/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/medical/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/medical/XEH_preStart.sqf b/addons/medical/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/medical/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/medical/config.cpp b/addons/medical/config.cpp new file mode 100644 index 0000000..9995a73 --- /dev/null +++ b/addons/medical/config.cpp @@ -0,0 +1,17 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgVehicles.hpp" \ No newline at end of file diff --git a/addons/medical/functions/fnc_deductMedicalCost.sqf b/addons/medical/functions/fnc_deductMedicalCost.sqf new file mode 100644 index 0000000..3fcc5eb --- /dev/null +++ b/addons/medical/functions/fnc_deductMedicalCost.sqf @@ -0,0 +1,12 @@ +#include "..\script_component.hpp" + +params ["_unit", "_totalCost"]; + +private _preferredAccount = GETVAR(_unit,FORGE_Bank,0); +private _selectedAccount = ["FORGE_Cash", "FORGE_Bank"] select (_preferredAccount >= _totalCost); +private _accountBalance = _unit getVariable _selectedAccount; +private _newBalance = _accountBalance - _totalCost; + +_unit setVariable [_selectedAccount, _newBalance, true]; + +[format ["Medical Services: %1 credited for treatment and recovery.", _totalCost], "blue-grey", 5] call EFUNC(misc,notify); \ No newline at end of file diff --git a/addons/medical/functions/fnc_heartBeat.sqf b/addons/medical/functions/fnc_heartBeat.sqf new file mode 100644 index 0000000..cad5f68 --- /dev/null +++ b/addons/medical/functions/fnc_heartBeat.sqf @@ -0,0 +1,13 @@ +#include "..\script_component.hpp" + +params ["_unit", "_totalCost"]; + +while { (GETVAR(_unit,FORGE_Cash,0)) < _totalCost or (GETVAR(_unit,FORGE_Bank,0)) < _totalCost } do { + if ((GETVAR(_unit,FORGE_Cash,0)) >= _totalCost or (GETVAR(_unit,FORGE_Bank,0)) >= _totalCost) exitWith { + [_unit, ""] remoteExec ["switchMove"]; + [_unit, _totalCost] call FUNC(deductMedicalCost); + ["Terminate"] call BFUNC(EGSpectator); + }; + + uiSleep 1; +}; \ No newline at end of file diff --git a/addons/medical/functions/fnc_initMedical.sqf b/addons/medical/functions/fnc_initMedical.sqf new file mode 100644 index 0000000..06515a1 --- /dev/null +++ b/addons/medical/functions/fnc_initMedical.sqf @@ -0,0 +1,26 @@ +#include "..\script_component.hpp" + +private _worldCenter = getArray (configFile >> "CfgWorlds" >> worldName >> "centerPosition"); +private _stretcherTypes = ["Land_Stretcher_01_F", "Land_Stretcher_01_olive_F", "Land_Stretcher_01_sand_F"]; +private _stretchers = nearestObjects [_worldCenter, _stretcherTypes, 500000]; + +{ + private _stretcher = _x; + private _triggerPos = getPos _stretcher; + private _trigger = createTrigger ["EmptyDetector", _triggerPos]; + + _trigger setVariable ["isOccupied", false, true]; + _trigger setTriggerArea [5, 5, 0, true, 5]; + _trigger setTriggerActivation ["ANYPLAYER", "PRESENT", true]; + _trigger setTriggerStatements [ + "{ (_x isKindOf 'CAManBase') && _x distance thisTrigger < 0.5 } count thisList > 0", + "thisTrigger setVariable ['isOccupied', true, true];", + "thisTrigger setVariable ['isOccupied', false, true];" + ]; + + GVAR(occupancyTriggers) pushBack _trigger; +} forEach _stretchers; + +if (count GVAR(occupancyTriggers) == 0) then { + diag_log text format ["[FORGE Medical] Warning: No Stretchers found in the world for medical system initialization."]; +}; \ No newline at end of file diff --git a/addons/medical/functions/fnc_moveInventory.sqf b/addons/medical/functions/fnc_moveInventory.sqf new file mode 100644 index 0000000..d25a886 --- /dev/null +++ b/addons/medical/functions/fnc_moveInventory.sqf @@ -0,0 +1,65 @@ +#include "..\script_component.hpp" + +params ["_unit", "_bodyBag"]; + +private _items = []; +private _weapons = []; +private _backpack = backpack _unit; +private _nearHolders = _bodyBag nearObjects ["WeaponHolderSimulated", 3]; + +_items pushBack (headgear _unit); +_items pushBack (uniform _unit); +_items append (uniformItems _unit); +_items pushBack (vest _unit); +_items append (vestItems _unit); +_items append (backpackItems _unit); +_weapons pushBack (primaryWeapon _unit); +_items append (primaryWeaponItems _unit); +_items append (primaryWeaponMagazine _unit); +_weapons pushBack (secondaryWeapon _unit); +_items append (secondaryWeaponItems _unit); +_items append (secondaryWeaponMagazine _unit); +_weapons pushBack (handgunWeapon _unit); +_items append (handgunItems _unit); +_items append (handgunMagazine _unit); +_weapons append (_unit getVariable [QGVAR(droppedWeapons), []]); +_items append (_unit getVariable [QGVAR(droppedItems), []]); +_items append (assignedItems _unit); +_items pushBack (_unit call CFUNC(binocularMagazine)); + +if !((goggles _unit ) in (_unit getVariable [QGVAR(droppedItems), []])) then { + _items pushBack (goggles _unit); +}; + +_items = _items select {_x != ""}; +_weapons = _weapons select {_x != ""}; + +{ _bodyBag addItemCargoGlobal [_x, 1] } forEach _items; + +{ + private _weaponNonPresent = [_x] call CFUNC(getNonPresetClass); + + if (_weaponNonPresent == "") then { + _weaponNonPresent = _x; + }; + + _bodyBag addWeaponCargoGlobal [_weaponNonPresent, 1]; +} forEach _weapons; + +if (_backpack != "") then { + private _backpackNonPresent = [_backpack, "CfgVehicles"] call CFUNC(getNonPresetClass); + + if (_backpackNonPresent == "") then { + _backpackNonPresent = _backpack; + }; + + _bodyBag addBackpackCargoGlobal [_backpackNonPresent, 1]; +}; + +{ + private _holderWeapons = ((getWeaponCargo _x) select 0) select { _x in _weapons }; + + if !(_holderWeapons isEqualTo []) then { + deleteVehicle _x; + }; +} forEach _nearHolders; \ No newline at end of file diff --git a/addons/medical/functions/fnc_onKilled.sqf b/addons/medical/functions/fnc_onKilled.sqf new file mode 100644 index 0000000..28c3e48 --- /dev/null +++ b/addons/medical/functions/fnc_onKilled.sqf @@ -0,0 +1,11 @@ +#include "..\script_component.hpp" + +params ["_unit", "_killer", "_instigator", "_useEffects"]; + +if (!isPlayer _unit) exitWith {}; + +private _unitPos = getPosATL _unit; +private _bodyBag = createVehicle [QCLASS(bodyBag), _unitPos, [], 0, "NONE"]; + +[_unit] call FUNC(saveDroppedWeapons); +[_unit, _bodyBag] call FUNC(moveInventory); \ No newline at end of file diff --git a/addons/medical/functions/fnc_onRespawn.sqf b/addons/medical/functions/fnc_onRespawn.sqf new file mode 100644 index 0000000..9ce6189 --- /dev/null +++ b/addons/medical/functions/fnc_onRespawn.sqf @@ -0,0 +1,35 @@ +#include "..\script_component.hpp" + +params ["_unit", "_corpse"]; + +private _newBank = 0; +private _newCash = 0; +private _bank = GETVAR(_unit,FORGE_Bank,0); +private _cash = GETVAR(_unit,FORGE_Cash,0); +private _funds = companyFunds; +private _deductible = "INS_DEDUCT" call BFUNC(getParamValue); +private _medicalCost = "MED_COST" call BFUNC(getParamValue); +private _totalCost = (_medicalCost - _deductible); +private _loadout = [[], [], [], ["U_BG_Guerrilla_6_1", []], [], [], "", "", [], ["", "", "", "", "", ""]]; +private _stretcher = (GVAR(occupancyTriggers) select { !(GETVAR(_x,isOccupied,false)) }) param [0, objNull]; +private _stretcherPos = (getPosATL _stretcher) vectorAdd [0.05, -0.125, 0.45]; +private _stretcherDir = getDir _stretcher; + +deleteVehicle _corpse; + +if (_cash >= _totalCost or _bank >= _totalCost) exitWith { + [_unit, _totalCost] call FUNC(deductMedicalCost); + _unit setUnitLoadout _loadout; +}; + +["Medical Alert: Funds unavailable for treatment. Respawn temporarily suspended.", "warning", 5] call EFUNC(misc,notify); + +_unit setUnitLoadout _loadout; +_unit setPosATL _stretcherPos; +_unit setDir _stretcherDir; + +[_unit, "Acts_LyingWounded_loop"] remoteExec ["switchMove"]; + +["Initialize", [_unit, [], false, true, true, true, true, true, false, false]] call BFUNC(EGSpectator); + +[_unit, _totalCost] spawn FUNC(heartBeat); \ No newline at end of file diff --git a/addons/medical/functions/fnc_saveDroppedWeapons.sqf b/addons/medical/functions/fnc_saveDroppedWeapons.sqf new file mode 100644 index 0000000..d175e18 --- /dev/null +++ b/addons/medical/functions/fnc_saveDroppedWeapons.sqf @@ -0,0 +1,26 @@ +#include "..\script_component.hpp" + +params ["_unit"]; + +private _droppedWeapons = []; +private _droppedItems = []; + +_droppedWeapons pushBack (primaryWeapon _unit); +_droppedItems append (primaryWeaponItems _unit); +_droppedItems append (primaryWeaponMagazine _unit); +_droppedWeapons pushBack (secondaryWeapon _unit); +_droppedItems append (secondaryWeaponItems _unit); +_droppedItems append (secondaryWeaponMagazine _unit); + +if (isPlayer _unit) then { + _droppedItems pushBack (goggles _unit); +}; + +if (currentWeapon _unit == handgunWeapon _unit) then { + _droppedWeapons pushBack (handgunWeapon _unit); + _droppedItems append (handgunItems _unit); + _droppedItems append (handgunMagazine _unit); +}; + +_unit setVariable [QGVAR(droppedWeapons), _droppedWeapons, true]; +_unit setVariable [QGVAR(droppedItems), _droppedItems, true]; \ No newline at end of file diff --git a/addons/medical/script_component.hpp b/addons/medical/script_component.hpp new file mode 100644 index 0000000..216bee5 --- /dev/null +++ b/addons/medical/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT medical +#define COMPONENT_BEAUTIFIED Medical +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_MEDICAL + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_MEDICAL + #define DEBUG_SETTINGS DEBUG_SETTINGS_MEDICAL +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/misc/$PBOPREFIX$ b/addons/misc/$PBOPREFIX$ new file mode 100644 index 0000000..e0a1610 --- /dev/null +++ b/addons/misc/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\misc \ No newline at end of file diff --git a/addons/misc/CfgEventHandlers.hpp b/addons/misc/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/misc/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/misc/XEH_PREP.hpp b/addons/misc/XEH_PREP.hpp new file mode 100644 index 0000000..6f4b01b --- /dev/null +++ b/addons/misc/XEH_PREP.hpp @@ -0,0 +1,6 @@ +PREP(cargoToPairs); +PREP(formatNumber); +PREP(isAssignableBinocular); +PREP(isWeaponType); +PREP(notify); +PREP(test); \ No newline at end of file diff --git a/addons/misc/XEH_postInit.sqf b/addons/misc/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/misc/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/misc/XEH_postInit_client.sqf b/addons/misc/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/misc/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/misc/XEH_preInit.sqf b/addons/misc/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/misc/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/misc/XEH_preInit_server.sqf b/addons/misc/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/misc/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/misc/XEH_preStart.sqf b/addons/misc/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/misc/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/misc/config.cpp b/addons/misc/config.cpp new file mode 100644 index 0000000..338b901 --- /dev/null +++ b/addons/misc/config.cpp @@ -0,0 +1,16 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" \ No newline at end of file diff --git a/addons/misc/functions/fnc_cargoToPairs.sqf b/addons/misc/functions/fnc_cargoToPairs.sqf new file mode 100644 index 0000000..58981d9 --- /dev/null +++ b/addons/misc/functions/fnc_cargoToPairs.sqf @@ -0,0 +1,12 @@ +#include "..\script_component.hpp" + +private _array = []; + +if (count _this > 1) then { + { + _array pushBack [_x, (_this select 1) select _forEachIndex]; + true + } count (_this select 0); +}; + +_array \ No newline at end of file diff --git a/addons/misc/functions/fnc_formatNumber.sqf b/addons/misc/functions/fnc_formatNumber.sqf new file mode 100644 index 0000000..db3191b --- /dev/null +++ b/addons/misc/functions/fnc_formatNumber.sqf @@ -0,0 +1,24 @@ +#include "..\script_component.hpp" + +#define PX_DC_SEP "." +#define PX_TH_SEP "," +#define PX_DC_PL 2 + +private _count = 0; +private _arr = (_this toFixed PX_DC_PL) splitString "."; +private _str = PX_DC_SEP+(_arr select 1); + +_arr = toArray(_arr select 0); +reverse _arr; + +{ + if (_count == 3) then { + _count = 0; + _str = PX_TH_SEP + _str; + }; + + _str = toString[_x] + _str; + _count = _count + 1; + + true +} count _arr \ No newline at end of file diff --git a/addons/misc/functions/fnc_isAssignableBinocular.sqf b/addons/misc/functions/fnc_isAssignableBinocular.sqf new file mode 100644 index 0000000..a99dae8 --- /dev/null +++ b/addons/misc/functions/fnc_isAssignableBinocular.sqf @@ -0,0 +1,16 @@ +#include "..\script_component.hpp" + +private _player = _this select 0; +private _item = _this select 1; +private _isAssignable = true; + +if ([_item, 4096] call FUNC(isWeaponType) && { getNumber (configFile >> "CfgWeapons" >> _item >> "ItemInfo" >> "type") != 616 }) then { + { + if ([_x, 4096] call FUNC(isWeaponType) && { getNumber (configFile >> "CfgWeapons" >> _x >> "ItemInfo" >> "type") != 616 }) exitWith { _isAssignable = false; }; + true + } count (assignedItems _player); +} else { + _isAssignable = false; +}; + +_isAssignable \ No newline at end of file diff --git a/addons/misc/functions/fnc_isWeaponType.sqf b/addons/misc/functions/fnc_isWeaponType.sqf new file mode 100644 index 0000000..968f82f --- /dev/null +++ b/addons/misc/functions/fnc_isWeaponType.sqf @@ -0,0 +1,35 @@ +#include "..\script_component.hpp" + +private _weapon = _this select 0; +private _type = _this select 1; +private _typeBits = []; +private _weaponTypeBits = []; +private _result = false; + +if (_type < 1 || _weaponType < 1) exitWith { false }; + +private _typeHolder = _type; +private _weaponType = getNumber (configFile >> "CfgWeapons" >> _weapon >> "type"); + +while { _typeHolder > 0 } do { + _typeBits pushBack (_typeHolder % 2); + _typeHolder = floor (_typeHolder / 2); +}; + +_typeHolder = _weaponType; + +while { _typeHolder > 0 } do { + _weaponTypeBits pushBack (_typeHolder % 2); + _typeHolder = floor (_typeHolder / 2); +}; + +if (count _typeBits > count _weaponTypeBits) exitWith { false }; + +_result = true; + +{ + if (_x == 1 && { weaponTypeBits select _forEachIndex == 0 }) exitWith { _result = false; }; + true +} count (_typeBits); + +_result \ No newline at end of file diff --git a/addons/misc/functions/fnc_notify.sqf b/addons/misc/functions/fnc_notify.sqf new file mode 100644 index 0000000..fda2192 --- /dev/null +++ b/addons/misc/functions/fnc_notify.sqf @@ -0,0 +1,221 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_misc_fnc_notify + * Author: Creedcoder, J.Schmidt + * Edit: 07.15.2024 + * Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Creates a notification. + * + * Arguments: + * 0: STRING - The text to display + * 1: STRING - The type or color of the notification + * 2: SCALAR - The speed of the notification + * 3: STRING - The display side of the notification + * + * Return Value: + * void + * + * Example: + * ["Hello World!", "default", 3, "right"] call forge_client_misc_fnc_notify; + * + * Public: Yes + */ + +params [["_text", "", [""]], ["_type", "default", [objNull, "", [], {}]], ["_speed", 10, [0]], ["_displaySide", "right", [""]]]; + +if (isDedicated || !hasInterface) exitWith {}; +if (isNil "open_notifications") then { open_notifications = []; }; + +disableSerialization; + +private _display = findDisplay 46; +private _alpha = 1; +private _colorName = ""; +private _color = []; + +if (typeName _type == "ARRAY" || typeName _type == "OBJECT") then { + _color = _type; +} else { + switch (_type) do { + case "error": { + _colorName = "red"; + }; + case "warning": { + _colorName = "amber"; + }; + case "success": { + _colorName = "green"; + }; + case "info": { + _colorName = "blue"; + }; + default { + _colorName = _type; + }; + }; + // https://material.io/guidelines/style/color.html + switch (_colorName) do { + case "red": { + _color = [0.957, 0.263, 0.212, _alpha]; + }; + case "pink": { + _color = [0.914, 0.118, 0.388, _alpha]; + }; + case "purple": { + _color = [0.612, 0.153, 0.69, _alpha]; + }; + case "deep-purple": { + _color = [0.404, 0.227, 0.718, _alpha]; + }; + case "indigo": { + _color = [0.247, 0.318, 0.71, _alpha]; + }; + case "blue": { + _color = [0.129, 0.588, 0.953, _alpha]; + }; + case "light-blue": { + _color = [0.012, 0.663, 0.957, _alpha]; + }; + case "cyan": { + _color = [0, 0.737, 0.831, _alpha]; + }; + case "teal": { + _color = [0, 0.588, 0.533, _alpha]; + }; + case "green": { + _color = [0.298, 0.686, 0.314, _alpha]; + }; + case "light-green": { + _color = [0.545, 0.765, 0.29, _alpha]; + }; + case "lime": { + _color = [0.804, 0.863, 0.224, _alpha]; + }; + case "yellow": { + _color = [1, 0.922, 0.231, _alpha]; + }; + case "amber": { + _color = [1, 0.757, 0.027, _alpha]; + }; + case "orange": { + _color = [1, 0.596, 0, _alpha]; + }; + case "deep-orange": { + _color = [1, 0.341, 0.133, _alpha]; + }; + case "brown": { + _color = [0.475, 0.333, 0.282, _alpha]; + }; + case "grey": { + _color = [0.62, 0.62, 0.62, _alpha]; + }; + case "blue-grey": { + _color = [0.376, 0.49, 0.545, _alpha]; + }; + default { + _color = [(profileNamespace getVariable ['GUI_BCG_RGB_R', 0.3843]), (profileNamespace getVariable ['GUI_BCG_RGB_G', 0.7019]), (profileNamespace getVariable ['GUI_BCG_RGB_B', 0.8862]), _alpha]; + }; + }; +}; + +if (_text isEqualType "") then { + _text = parseText _text; +}; +playSound "HintExpand"; + +private _margin = 0.01; +private _width = 300 * pixelW; +private _borderWidth = 5 * pixelW; +private _textWidth = _width - _borderWidth; +private _height = 0.01; +private _posX = 0; +private _posY = 0; + +if (_displaySide == "left") then { + _posX = _margin + safeZoneX; +} else { + _posX = safeZoneW + safeZoneX - _margin - _width; +}; + +private _BorderCtrl = _display ctrlCreate ["RscText", -1]; +_BorderCtrl ctrlSetPosition [_posX, _posY, _borderWidth, _height]; +_BorderCtrl ctrlSetBackgroundColor _color; +_BorderCtrl ctrlSetFade 1; +_BorderCtrl ctrlCommit 0; + +_BorderCtrl ctrlSetFade 0; +_BorderCtrl ctrlCommit 0.4; + +private _TextCtrl = _display ctrlCreate ["RscStructuredText", -1]; +_TextCtrl ctrlSetStructuredText _text; +_TextCtrl ctrlSetPosition [(_posX + _borderWidth), _posY, _textWidth, _height]; +_TextCtrl ctrlCommit 0; + +_adjustedHeight = (ctrlTextHeight _TextCtrl); + +_TextCtrl ctrlSetPosition [(_posX + _borderWidth), _posY, _textWidth, _adjustedHeight]; +_TextCtrl ctrlCommit 0; + +_BorderCtrl ctrlSetPosition [_posX, _posY, _borderWidth, _adjustedHeight]; +_BorderCtrl ctrlCommit 0; + +_TextCtrl ctrlSetBackgroundColor [0.129, 0.129, 0.129, _alpha]; +_TextCtrl ctrlSetFade 1; +_TextCtrl ctrlCommit 0; + +_TextCtrl ctrlSetFade 0; +_TextCtrl ctrlCommit 0.4; + +[_TextCtrl, _BorderCtrl, _speed] spawn { + disableSerialization; + uiSleep (_this select 2); + + private _TextCtrl = _this select 0; + private _BorderCtrl = _this select 1; + + _TextCtrl ctrlSetFade 1; + _TextCtrl ctrlCommit 0.3; + _BorderCtrl ctrlSetFade 1; + _BorderCtrl ctrlCommit 0.3; + + uiSleep 0.3; + ctrlDelete _BorderCtrl; + ctrlDelete _TextCtrl; +}; + +_offsetY = 0; +if (count open_notifications > 0) then { + private _activeNotifications = 0; + { + private _ctrlBorder = _x select 0; + private _ctrlText = _x select 1; + + if (!isNull _ctrlBorder && !isNull _ctrlText) then { + _ctrlBorder ctrlSetPosition [_posX, (_posY + _offsetY)]; + _ctrlText ctrlSetPosition [(_posX + _borderWidth), (_posY + _offsetY)]; + _ctrlBorder ctrlCommit 0.25; + _ctrlText ctrlCommit 0.25; + _offsetY = _offsetY + _margin + ((ctrlPosition _ctrlText) select 3); + + if (_activeNotifications > 3) then { + _ctrlText ctrlSetFade 1; + _ctrlText ctrlCommit 0.2; + _ctrlBorder ctrlSetFade 1; + _ctrlBorder ctrlCommit 0.2; + }; + }; + _activeNotifications = _activeNotifications + 1; + true + } count (open_notifications); +}; + +open_notifications = ([[_BorderCtrl, _TextCtrl]] + open_notifications) select { !isNull (_x select 0) && !isNull (_x select 1) }; \ No newline at end of file diff --git a/addons/misc/functions/fnc_test.sqf b/addons/misc/functions/fnc_test.sqf new file mode 100644 index 0000000..09c7cb6 --- /dev/null +++ b/addons/misc/functions/fnc_test.sqf @@ -0,0 +1,34 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_misc_fnc_test + * Author: Creedcoder, J.Schmidt + * Edit: 07.15.2024 + * Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-sa/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Test function. + * + * Arguments: + * 0: Value + * + * Return Value: + * Value + * + * Examples: + * ["Hello World!"] spawn forge_client_misc_fnc_test (Server or Singleplayer Only) + * ["Hello World!"] remoteExec ["forge_client_misc_fnc_test", 2, false] (Multiplayer Only) + * + * Public: Yes + */ + +_res = _this; +forge_client_db_test = _res; + +hint format ["%1", _res]; \ No newline at end of file diff --git a/addons/misc/script_component.hpp b/addons/misc/script_component.hpp new file mode 100644 index 0000000..35a88e9 --- /dev/null +++ b/addons/misc/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT misc +#define COMPONENT_BEAUTIFIED MISC +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_MISC + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_MISC + #define DEBUG_SETTINGS DEBUG_SETTINGS_MISC +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/money/$PBOPREFIX$ b/addons/money/$PBOPREFIX$ new file mode 100644 index 0000000..2ac2c79 --- /dev/null +++ b/addons/money/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\money \ No newline at end of file diff --git a/addons/money/CfgEventHandlers.hpp b/addons/money/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/money/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/money/XEH_PREP.hpp b/addons/money/XEH_PREP.hpp new file mode 100644 index 0000000..a72005a --- /dev/null +++ b/addons/money/XEH_PREP.hpp @@ -0,0 +1,3 @@ +PREP(giveCash); +PREP(giveCashSubmit); +PREP(takeCash); \ No newline at end of file diff --git a/addons/money/XEH_postInit.sqf b/addons/money/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/money/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/money/XEH_postInit_client.sqf b/addons/money/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/money/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/money/XEH_preInit.sqf b/addons/money/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/money/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/money/XEH_preInit_server.sqf b/addons/money/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/money/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/money/XEH_preStart.sqf b/addons/money/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/money/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/money/config.cpp b/addons/money/config.cpp new file mode 100644 index 0000000..2c7c2f0 --- /dev/null +++ b/addons/money/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "ui\RscCommon.hpp" +#include "ui\RscGiveCash.hpp" \ No newline at end of file diff --git a/addons/money/functions/fnc_giveCash.sqf b/addons/money/functions/fnc_giveCash.sqf new file mode 100644 index 0000000..f76574f --- /dev/null +++ b/addons/money/functions/fnc_giveCash.sqf @@ -0,0 +1,33 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_money_fnc_giveCash + * Author: Creedcoder, J.Schmidt + * Edit: 07.23.2024 + * Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Send money to player. + * + * Arguments: + * 0: Target to send money + * + * Return Value: + * N/A + * + * Examples: + * [cursorObject] spawn forge_client_money_fnc_giveCash; + * + * Public: Yes + */ + +FORGE_cashGiveTarget = _this select 0; + +disableSerialization; +createDialog "RscGiveCash"; \ No newline at end of file diff --git a/addons/money/functions/fnc_giveCashSubmit.sqf b/addons/money/functions/fnc_giveCashSubmit.sqf new file mode 100644 index 0000000..578d2c9 --- /dev/null +++ b/addons/money/functions/fnc_giveCashSubmit.sqf @@ -0,0 +1,50 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_money_fnc_giveCashSubmit + * Author: Creedcoder, J.Schmidt + * Edit: 07.23.2024 + * Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Handle cash to be given. + * + * Arguments: + * 0: Target to add money + * 1: Player to remove money + * + * Return Value: + * N/A + * + * Examples: + * [cursorObject, player] spawn forge_client_money_fnc_giveCashSubmit; + * + * Public: Yes + */ + +params ["_target", "_player"]; + +private _amount = parseNumber (ctrlText 1401); +private _playerCash = GETVAR(player,FORGE_Cash,0); +private _targetCash = GETVAR(_target,FORGE_Cash,0); + +if (_amount > 0) then { + if (_amount > _playerCash) exitWith { ["Insufficient cash available.", "warning", 3] call EFUNC(misc,notify) }; + + private _newCash = _targetCash + _amount; + private _formattedAmount = (_amount) call EFUNC(misc,formatNumber); + SETPVAR(_target,FORGE_Cash,_newCash); + + ["deduct", "Cash", _amount] remoteExecCall ["forge_server_money_fnc_handleMoney", 2]; + [format ["You have received $%2 cash from %1", _player, _formattedAmount], "blue-grey", 3] remoteExecCall [QEFUNC(misc,notify), _target]; +} else { + [format ["Enter a valid amount greater than zero."], "warning", 3] call EFUNC(misc,notify); +}; + +closeDialog 0; \ No newline at end of file diff --git a/addons/money/functions/fnc_takeCash.sqf b/addons/money/functions/fnc_takeCash.sqf new file mode 100644 index 0000000..eb52eec --- /dev/null +++ b/addons/money/functions/fnc_takeCash.sqf @@ -0,0 +1,37 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_money_fnc_takeCash + * Author: Creedcoder, J.Schmidt + * Edit: 07.23.2024 + * Copyright © 2024 Creedcoder, J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Handle cash picked up. + * + * Arguments: + * 0: Target + * + * Return Value: + * N/A + * + * Examples: + * [cursorObject] spawn forge_client_money_fnc_takeCash; + * + * Public: Yes + */ + +params ["_ct"]; + +private _amount = GETVAR(_ct,FORGE_Cash,0); + +["advance", "Cash", _amount] call forge_server_money_fnc_handleMoney; + +SETPVAR(_ct,FORGE_Cash,nil); +deleteVehicle _ct; \ No newline at end of file diff --git a/addons/money/script_component.hpp b/addons/money/script_component.hpp new file mode 100644 index 0000000..f1b62c7 --- /dev/null +++ b/addons/money/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT money +#define COMPONENT_BEAUTIFIED Money +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_MONEY + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_MONEY + #define DEBUG_SETTINGS DEBUG_SETTINGS_MONEY +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/money/ui/RscCommon.hpp b/addons/money/ui/RscCommon.hpp new file mode 100644 index 0000000..9170d02 --- /dev/null +++ b/addons/money/ui/RscCommon.hpp @@ -0,0 +1,268 @@ +// Control types +#define CT_STATIC 0 +#define CT_BUTTON 1 +#define CT_EDIT 2 +#define CT_SLIDER 3 +#define CT_COMBO 4 +#define CT_LISTBOX 5 +#define CT_TOOLBOX 6 +#define CT_CHECKBOXES 7 +#define CT_PROGRESS 8 +#define CT_HTML 9 +#define CT_STATIC_SKEW 10 +#define CT_ACTIVETEXT 11 +#define CT_TREE 12 +#define CT_STRUCTURED_TEXT 13 +#define CT_CONTEXT_MENU 14 +#define CT_CONTROLS_GROUP 15 +#define CT_SHORTCUTBUTTON 16 +#define CT_HITZONES 17 +#define CT_XKEYDESC 40 +#define CT_XBUTTON 41 +#define CT_XLISTBOX 42 +#define CT_XSLIDER 43 +#define CT_XCOMBO 44 +#define CT_ANIMATED_TEXTURE 45 +#define CT_OBJECT 80 +#define CT_OBJECT_ZOOM 81 +#define CT_OBJECT_CONTAINER 82 +#define CT_OBJECT_CONT_ANIM 83 +#define CT_LINEBREAK 98 +#define CT_USER 99 +#define CT_MAP 100 +#define CT_MAP_MAIN 101 +#define CT_LISTNBOX 102 +#define CT_ITEMSLOT 103 +#define CT_CHECKBOX 77 + +// Static styles +#define ST_POS 0x0F +#define ST_HPOS 0x03 +#define ST_VPOS 0x0C +#define ST_LEFT 0x00 +#define ST_RIGHT 0x01 +#define ST_CENTER 0x02 +#define ST_DOWN 0x04 +#define ST_UP 0x08 +#define ST_VCENTER 0x0C + +#define ST_TYPE 0xF0 +#define ST_SINGLE 0x00 +#define ST_MULTI 0x10 +#define ST_TITLE_BAR 0x20 +#define ST_PICTURE 0x30 +#define ST_FRAME 0x40 +#define ST_BACKGROUND 0x50 +#define ST_GROUP_BOX 0x60 +#define ST_GROUP_BOX2 0x70 +#define ST_HUD_BACKGROUND 0x80 +#define ST_TILE_PICTURE 0x90 +#define ST_WITH_RECT 0xA0 +#define ST_LINE 0xB0 +#define ST_UPPERCASE 0xC0 +#define ST_LOWERCASE 0xD0 + +#define ST_SHADOW 0x100 +#define ST_NO_RECT 0x200 +#define ST_KEEP_ASPECT_RATIO 0x800 + +// Slider styles +#define SL_DIR 0x400 +#define SL_VERT 0 +#define SL_HORZ 0x400 + +#define SL_TEXTURES 0x10 + +// progress bar +#define ST_VERTICAL 0x01 +#define ST_HORIZONTAL 0 + +// Listbox styles +#define LB_TEXTURES 0x10 +#define LB_MULTI 0x20 + +// Tree styles +#define TR_SHOWROOT 1 +#define TR_AUTOCOLLAPSE 2 + +// Default grid +// #define GUI_GRID_WAbs ((safezoneW / safezoneH) min 1.2) +// #define GUI_GRID_HAbs (GUI_GRID_WAbs / 1.2) +// #define GUI_GRID_W (GUI_GRID_WAbs / 40) +// #define GUI_GRID_H (GUI_GRID_HAbs / 25) +// #define GUI_GRID_X (safezoneX) +// #define GUI_GRID_Y (safezoneY + safezoneH - GUI_GRID_HAbs) + +// Default text sizes +#define GUI_TEXT_SIZE_SMALL (GUI_GRID_H * 0.8) +#define GUI_TEXT_SIZE_MEDIUM (GUI_GRID_H * 1) +#define GUI_TEXT_SIZE_LARGE (GUI_GRID_H * 1.2) + +class ScrollBar; +class RscObject; +class RscText; +class RscTextSmall; +class RscTitle; +class RscProgress; +class RscProgressNotFreeze; +class RscPicture; +class RscLadderPicture; +class RscPictureKeepAspect; +class RscHTML; +class RscButton; +class RscShortcutButton; +class RscButtonSmall; +class RscEdit; +class RscCombo; +class RscListBox; +class RscListNBox; +class RscXListBox; +class RscTree; +class RscSlider; +class RscSliderH; +class RscXSliderH; +class RscActiveText; +class RscStructuredText; +class RscControlsGroup; +class RscToolbox; +class RscMapControl; +class RscCheckBox; +class RscFrame; +class ctrlDefault; +class ctrlControlsGroup; +class ctrlDefaultText; +class ctrlDefaultButton; +class RscBackgroundStripeTop; +class RscBackgroundStripeBottom; +class RscIGText; +class RscIGProgress; +class RscListBoxKeys; +class RscControlsGroupNoScrollbars; +class RscControlsGroupNoHScrollbars; +class RscControlsGroupNoVScrollbars; +class RscLine; +class RscActivePicture; +class RscButtonTextOnly; +class RscShortcutButtonMain; +class RscButtonEditor; +class RscIGUIShortcutButton; +class RscGearShortcutButton; +class RscButtonMenu; +class RscButtonMenuOK; +class RscButtonMenuCancel; +class RscButtonMenuSteam; +class RscLoadingText; +class RscIGUIListBox; +class RscIGUIListNBox; +class RscBackground; +class RscBackgroundGUI; +class RscBackgroundGUILeft; +class RscBackgroundGUIRight; +class RscBackgroundGUIBottom; +class RscBackgroundGUITop; +class RscBackgroundGUIDark; +class RscBackgroundLogo; +class RscMapControlEmpty; +class RscVignette; +class CA_Mainback; +class CA_Back; +class CA_Title_Back; +class CA_Black_Back; +class CA_Title; +class CA_Logo; +class CA_Logo_Small; +class CA_RscButton; +class CA_RscButton_dialog; +class CA_Ok; +class CA_Ok_image; +class CA_Ok_image2; +class CA_Ok_text; +class ctrlCheckbox; +class ctrlCheckboxBaseline; +class ctrlStatic; +class ctrlControlsGroupNoScrollbars; +class ctrlStructuredText; +class RscTextMulti; +class RscTreeSearch; +class RscVideo; +class RscVideoKeepAspect; +class RscActivePictureKeepAspect; +class RscEditMulti; +class RscMapSignalBackground; +class RscMapSignalPicture; +class RscMapSignalText; +class RscColorPicker; +class RscInterlacingScreen; +class RscFeedback; +class RscTrafficLight; +class RscButtonSearch; +class RscIGUIText; +class RscOpticsText; +class RscOpticsValue; +class RscIGUIValue; +class RscButtonMenuMain; +class RscButtonTestCentered; +class RscDisplaySingleMission_ChallengeOverviewGroup; +class RscDisplayDebriefing_RscTextMultiline; +class RscDisplayDebriefing_ListGroup; +class RscButtonArsenal; +class RscTextNoShadow; +class RscButtonNoColor; +class RscToolboxButton; +class ctrlStaticPicture; +class ctrlStaticPictureKeepAspect; +class ctrlStaticPictureTile; +class ctrlStaticFrame; +class ctrlStaticLine; +class ctrlStaticMulti; +class ctrlStaticBackground; +class ctrlStaticOverlay; +class ctrlStaticTitle; +class ctrlStaticFooter; +class ctrlStaticBackgroundDisable; +class ctrlStaticBackgroundDisableTiles; +class ctrlButton; +class ctrlButtonPicture; +class ctrlButtonPictureKeepAspect; +class ctrlButtonOK; +class ctrlButtonCancel; +class ctrlButtonClose; +class ctrlButtonToolbar; +class ctrlButtonSearch; +class ctrlButtonExpandAll; +class ctrlButtonCollapseAll; +class ctrlButtonFilter; +class ctrlEdit; +class ctrlEditMulti; +class ctrlSliderV; +class ctrlSliderH; +class ctrlCombo; +class ctrlComboToolbar; +class ctrlListbox; +class ctrlToolbox; +class ctrlToolboxPicture; +class ctrlToolboxPictureKeepAspect; +class ctrlCheckboxes; +class ctrlCheckboxesCheckbox; +class ctrlProgress; +class ctrlHTML; +class ctrlActiveText; +class ctrlActivePicture; +class ctrlActivePictureKeepAspect; +class ctrlTree; +class ctrlControlsGroupNoHScrollbars; +class ctrlControlsGroupNoVScrollbars; +class ctrlShortcutButton; +class ctrlShortcutButtonOK; +class ctrlShortcutButtonCancel; +class ctrlShortcutButtonSteam; +class ctrlXListbox; +class ctrlXSliderV; +class ctrlXSliderH; +class ctrlMenu; +class ctrlMenuStrip; +class ctrlMap; +class ctrlMapEmpty; +class ctrlMapMain; +class ctrlListNBox; +class ctrlCheckboxToolbar; \ No newline at end of file diff --git a/addons/money/ui/RscGiveCash.hpp b/addons/money/ui/RscGiveCash.hpp new file mode 100644 index 0000000..e3832a6 --- /dev/null +++ b/addons/money/ui/RscGiveCash.hpp @@ -0,0 +1,37 @@ +class RscGiveCash { + idd = 1010; + class controls { + class RscGiveCashFrame_1800: RscText { + idc = 1800; + x = "0.40375 * safezoneW + safezoneX"; + y = "0.335064 * safezoneH + safezoneY"; + w = "0.1925 * safezoneW"; + h = "0.30788 * safezoneH"; + colorBackground[] = {0,0,0,0.8}; + }; + class RscGiveCashText_1000: RscText { + idc = 1000; + text = "Amount"; + x = "0.4175 * safezoneW + safezoneX"; + y = "0.34606 * safezoneH + safezoneY"; + w = "0.09625 * safezoneW"; + h = "0.0329871 * safezoneH"; + }; + class RscGiveCashButton_1600: RscButton { + idc = 1600; + text = "Give Cash"; + x = "0.534375 * safezoneW + safezoneX"; + y = "0.57697 * safezoneH + safezoneY"; + w = "0.055 * safezoneW"; + h = "0.0549786 * safezoneH"; + onButtonClick = "[FORGE_cashGiveTarget, player] call forge_client_money_fnc_giveCashSubmit;"; + }; + class RscGiveCashEdit_1401: RscEdit { + idc = 1401; + x = "0.4175 * safezoneW + safezoneX"; + y = "0.390043 * safezoneH + safezoneY"; + w = "0.165 * safezoneW"; + h = "0.0329871 * safezoneH"; + }; + }; +}; \ No newline at end of file diff --git a/addons/phone/$PBOPREFIX$ b/addons/phone/$PBOPREFIX$ new file mode 100644 index 0000000..cf2b8f4 --- /dev/null +++ b/addons/phone/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\phone \ No newline at end of file diff --git a/addons/phone/CfgEventHandlers.hpp b/addons/phone/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/phone/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/phone/CfgSounds.hpp b/addons/phone/CfgSounds.hpp new file mode 100644 index 0000000..59cb802 --- /dev/null +++ b/addons/phone/CfgSounds.hpp @@ -0,0 +1,13 @@ +class CfgSounds { + sounds[] = {}; + class FORGE_newMsg { + name = "newMsg"; + sound[] = {QUOTE(PATHTOF(sounds\newMsg.ogg)), 2, 1}; + titles[] = {}; + }; + class FORGE_msgSent { + name = "msgSent"; + sound[] = {QUOTE(PATHTOF(sounds\woop.ogg)), 3, 1}; + titles[] = {}; + }; +}; \ No newline at end of file diff --git a/addons/phone/XEH_PREP.hpp b/addons/phone/XEH_PREP.hpp new file mode 100644 index 0000000..ee6b35e --- /dev/null +++ b/addons/phone/XEH_PREP.hpp @@ -0,0 +1,27 @@ +PREP(addContact); +PREP(addEmail); +PREP(addMsg); +PREP(addOfflineEmail); +PREP(addOfflineMsg); +PREP(dateToHhMm); +PREP(delEmail); +PREP(delMsg); +PREP(initAction); +PREP(initAddAction); +PREP(initPhone); +PREP(initVar); +PREP(newEmail); +PREP(newMsg); +PREP(openPhone); +PREP(sendEmail); +PREP(sendMsg); +PREP(showContact); +PREP(showDialpad); +PREP(showEmail); +PREP(showMessage); +PREP(showMessageInput); +PREP(showSafari); +PREP(viewContacts); +PREP(viewEmail); +PREP(viewMessages); +PREP(viewSettings); \ No newline at end of file diff --git a/addons/phone/XEH_postInit.sqf b/addons/phone/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/phone/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/phone/XEH_postInit_client.sqf b/addons/phone/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/phone/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/phone/XEH_preInit.sqf b/addons/phone/XEH_preInit.sqf new file mode 100644 index 0000000..9428dbc --- /dev/null +++ b/addons/phone/XEH_preInit.sqf @@ -0,0 +1,12 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +GVAR(addressbook) = GETVAR(profileNamespace,FORGE_AddressBook,[]); +GVAR(messages) = []; +GVAR(email) = []; + +ADDON = true; \ No newline at end of file diff --git a/addons/phone/XEH_preInit_server.sqf b/addons/phone/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/phone/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/phone/XEH_preStart.sqf b/addons/phone/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/phone/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/phone/config.cpp b/addons/phone/config.cpp new file mode 100644 index 0000000..009ec8d --- /dev/null +++ b/addons/phone/config.cpp @@ -0,0 +1,19 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "CfgSounds.hpp" +#include "ui\RscCommon.hpp" +#include "ui\RscPhone.hpp" \ No newline at end of file diff --git a/addons/phone/functions/fnc_addContact.sqf b/addons/phone/functions/fnc_addContact.sqf new file mode 100644 index 0000000..f3e2ec9 --- /dev/null +++ b/addons/phone/functions/fnc_addContact.sqf @@ -0,0 +1,14 @@ +#include "..\script_component.hpp" + +params ["_contact"]; + +private _defaultPhoneNumber = "unknown"; +private _defaultEmail = "unknown@spearnet.mil"; + +private _name = name _contact; +private _phoneNumber = GETVAR(_contact,FORGE_Phone_Number,_defaultPhoneNumber); +private _email = GETVAR(_contact,FORGE_Email,_defaultEmail); + +GVAR(addressbook) pushBackUnique [_name, _phoneNumber, _email]; + +SETVAR(profileNamespace,FORGE_AddressBook,GVAR(addressbook)); \ No newline at end of file diff --git a/addons/phone/functions/fnc_addEmail.sqf b/addons/phone/functions/fnc_addEmail.sqf new file mode 100644 index 0000000..524c518 --- /dev/null +++ b/addons/phone/functions/fnc_addEmail.sqf @@ -0,0 +1,8 @@ +#include "..\script_component.hpp" + +if (_this isEqualTo [""]) exitWith {}; + +private _tmp = call compile format ["%1", _this]; +if ((typeName _tmp) isEqualTo "SCALAR") exitWith {}; + +GVAR(email) = _this; \ No newline at end of file diff --git a/addons/phone/functions/fnc_addMsg.sqf b/addons/phone/functions/fnc_addMsg.sqf new file mode 100644 index 0000000..6443714 --- /dev/null +++ b/addons/phone/functions/fnc_addMsg.sqf @@ -0,0 +1,8 @@ +#include "..\script_component.hpp" + +if (_this isEqualTo [""]) exitWith {}; + +private _tmp = call compile format ["%1", _this]; +if ((typeName _tmp) isEqualTo "SCALAR") exitWith {}; + +GVAR(messages) = _this; \ No newline at end of file diff --git a/addons/phone/functions/fnc_addOfflineEmail.sqf b/addons/phone/functions/fnc_addOfflineEmail.sqf new file mode 100644 index 0000000..9e9cd97 --- /dev/null +++ b/addons/phone/functions/fnc_addOfflineEmail.sqf @@ -0,0 +1,10 @@ +#include "..\script_component.hpp" + +if (_this isEqualTo [""]) exitWith {}; + +private _tmp = call compile format ["%1", _this]; +if ((typeName _tmp) isEqualTo "SCALAR") exitWith {}; + +GVAR(email) = _this; + +["You got an email while away.", "cyan", 3] call EFUNC(misc,notify); \ No newline at end of file diff --git a/addons/phone/functions/fnc_addOfflineMsg.sqf b/addons/phone/functions/fnc_addOfflineMsg.sqf new file mode 100644 index 0000000..42e4399 --- /dev/null +++ b/addons/phone/functions/fnc_addOfflineMsg.sqf @@ -0,0 +1,10 @@ +#include "..\script_component.hpp" + +if (_this isEqualTo [""]) exitWith {}; + +private _tmp = call compile format ["%1", _this]; +if ((typeName _tmp) isEqualTo "SCALAR") exitWith {}; + +GVAR(messages) = _this; + +["You got a message while away.", "green", 3] call EFUNC(misc,notify); \ No newline at end of file diff --git a/addons/phone/functions/fnc_dateToHhMm.sqf b/addons/phone/functions/fnc_dateToHhMm.sqf new file mode 100644 index 0000000..9d107f7 --- /dev/null +++ b/addons/phone/functions/fnc_dateToHhMm.sqf @@ -0,0 +1,22 @@ +#include "..\script_component.hpp" + +private ["_h", "_m"]; + +_h = _this select 0; +_m = _this select 1; + +_HHMM = []; + +if (_h < 10) then { + _HHMM = [format ["0%1", _h]]; +} else { + _HHMM = [format ["%1", _h]]; +}; + +if (_m < 10) then { + _HHMM = _HHMM + [format ["0%1", _m]]; +} else { + _HHMM = _HHMM + [format ["%1", _m]]; +}; + +_HHMM; \ No newline at end of file diff --git a/addons/phone/functions/fnc_delEmail.sqf b/addons/phone/functions/fnc_delEmail.sqf new file mode 100644 index 0000000..040cc00 --- /dev/null +++ b/addons/phone/functions/fnc_delEmail.sqf @@ -0,0 +1,28 @@ +#include "..\script_component.hpp" + +private _myDialog = findDisplay 202300; +private _ctrl01 = _myDialog displayCtrl 202302; + +_myDialog displayRemoveEventHandler ["KeyDown", FORGE_DeleteMsg]; + +if (lbCurSel _ctrl01 == -1) exitWith {}; + +private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; +private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; +private _viewMessagesBtns = [202201, 2023001, 2023002, 2023003, 202302, 202305, 202306, 202307, 202308]; + +{ ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBgBtns; +{ ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBtns; +{ ctrlShow [_x, false] } forEach _viewMessagesBtns; +ctrlShow [202319, false]; +ctrlEnable [202319, false]; + +// [player getVariable ["FORGE_Email", "unknown@spearnet.mil"], lbCurSel _ctrl01] remoteExec ["db_fnc_listrem", 2, false]; +// ["listrem", player getVariable ["FORGE_Email", "unknown@spearnet.mil"], "", lbCurSel _ctrl01, [], "", false] spawn dragonfly_db_fnc_addTask; +["listrem", player getVariable ["FORGE_Email", "unknown@spearnet.mil"], "", lbCurSel _ctrl01, [], "", false] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; + +uiSleep 1; + +// [player getVariable ["FORGE_Email", "unknown@spearnet.mil"], player, "forge_client_phone_fnc_addEmail", true] remoteExec ["db_fnc_listload", 2, false]; +// ["listrng", player getVariable ["FORGE_Email", "unknown@spearnet.mil"], "", -1, [], "forge_client_phone_fnc_addEmail", true] spawn dragonfly_db_fnc_addTask; +["listrng", player getVariable ["FORGE_Email", "unknown@spearnet.mil"], "", -1, [], "forge_client_phone_fnc_addEmail", true, netId player] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; \ No newline at end of file diff --git a/addons/phone/functions/fnc_delMsg.sqf b/addons/phone/functions/fnc_delMsg.sqf new file mode 100644 index 0000000..317ea7d --- /dev/null +++ b/addons/phone/functions/fnc_delMsg.sqf @@ -0,0 +1,28 @@ +#include "..\script_component.hpp" + +private _myDialog = findDisplay 202300; +private _ctrl01 = _myDialog displayCtrl 202302; + +_myDialog displayRemoveEventHandler ["KeyDown", FORGE_DeleteMsg]; + +if (lbCurSel _ctrl01 == -1) exitWith {}; + +private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; +private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; +private _viewMessagesBtns = [202201, 2023001, 2023002, 2023003, 202302, 202305, 202306, 202307, 202308]; + +{ ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBgBtns; +{ ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBtns; +{ ctrlShow [_x, false] } forEach _viewMessagesBtns; +ctrlShow [202319, false]; +ctrlEnable [202319, false]; + +// [player getVariable ["FORGE_Phone_Number", "unknown"], lbCurSel _ctrl01] remoteExec ["db_fnc_listrem", 2, false]; +// ["listrem", player getVariable ["FORGE_Phone_Number", "unknown"], "", lbCurSel _ctrl01, [], "", false] spawn dragonfly_db_fnc_addTask; +["listrem", player getVariable ["FORGE_Phone_Number", "unknown"], "", lbCurSel _ctrl01, [], "", false] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; + +uiSleep 1; + +// [player getVariable ["FORGE_Phone_Number", "unknown"], player, "forge_client_phone_fnc_addMsg", true] remoteExec ["db_fnc_listload", 2, false]; +// ["listrng", player getVariable ["FORGE_Phone_Number", "unknown"], "", -1, [], "forge_client_phone_fnc_addMsg", true] spawn dragonfly_db_fnc_addTask; +["listrng", player getVariable ["FORGE_Phone_Number", "unknown"], "", -1, [], "forge_client_phone_fnc_addMsg", true, netId player] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; \ No newline at end of file diff --git a/addons/phone/functions/fnc_initAction.sqf b/addons/phone/functions/fnc_initAction.sqf new file mode 100644 index 0000000..3e82ba5 --- /dev/null +++ b/addons/phone/functions/fnc_initAction.sqf @@ -0,0 +1,3 @@ +#include "..\script_component.hpp" + +[] spawn FUNC(openPhone); \ No newline at end of file diff --git a/addons/phone/functions/fnc_initAddAction.sqf b/addons/phone/functions/fnc_initAddAction.sqf new file mode 100644 index 0000000..6a50893 --- /dev/null +++ b/addons/phone/functions/fnc_initAddAction.sqf @@ -0,0 +1,4 @@ +#include "..\script_component.hpp" + +waitUntil { "FORGE_Phone" in items player }; +FORGE_addAction = player addAction ["Mobile Phone", FUNC(initAction), [], -99, false, false, "", ""]; \ No newline at end of file diff --git a/addons/phone/functions/fnc_initPhone.sqf b/addons/phone/functions/fnc_initPhone.sqf new file mode 100644 index 0000000..8882870 --- /dev/null +++ b/addons/phone/functions/fnc_initPhone.sqf @@ -0,0 +1,8 @@ +#include "..\script_component.hpp" + +waitUntil { !isNull player && player == player }; +waitUntil { !isNil "BIS_fnc_init" }; +waitUntil { !(isNull (findDisplay 46)) }; +waitUntil { "FORGE_Phone" in items player }; + +FORGE_addAction = player addAction ["Mobile Phone", FUNC(initAction), [], -99, false, false, "", ""]; \ No newline at end of file diff --git a/addons/phone/functions/fnc_initVar.sqf b/addons/phone/functions/fnc_initVar.sqf new file mode 100644 index 0000000..2ae7dd6 --- /dev/null +++ b/addons/phone/functions/fnc_initVar.sqf @@ -0,0 +1,5 @@ +#include "..\script_component.hpp" + +FORGE_AddressBook = GETVAR(profileNamespace,FORGE_AddressBook,[]); +FORGE_Phone_MSG = []; +FORGE_Email = []; \ No newline at end of file diff --git a/addons/phone/functions/fnc_newEmail.sqf b/addons/phone/functions/fnc_newEmail.sqf new file mode 100644 index 0000000..af2659c --- /dev/null +++ b/addons/phone/functions/fnc_newEmail.sqf @@ -0,0 +1,18 @@ +#include "..\script_component.hpp" + +_email = (_this select 0); +{ + if (_email == (_x select 1)) then { + _email = (_x select 0); + }; +} forEach GVAR(addressbook); + +[format ["You got a new email from %1.", _email], "cyan", 3] call EFUNC(misc,notify); + +playSound "FORGE_newMsg"; + +uiSleep 1; + +// [player getVariable ["FORGE_Email", "unknown@spearnet.mil"], player, "forge_client_phone_fnc_addEmail", true] remoteExec ["db_fnc_listload", 2, false]; +// ["listrng", player getVariable ["FORGE_Email", "unknown@spearnet.mil"], "", -1, [], "forge_client_phone_fnc_addEmail", true] spawn dragonfly_db_fnc_addTask; +["listrng", player getVariable ["FORGE_Email", "unknown@spearnet.mil"], "", -1, [], "forge_client_phone_fnc_addEmail", true, netId player] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; \ No newline at end of file diff --git a/addons/phone/functions/fnc_newMsg.sqf b/addons/phone/functions/fnc_newMsg.sqf new file mode 100644 index 0000000..c9e928f --- /dev/null +++ b/addons/phone/functions/fnc_newMsg.sqf @@ -0,0 +1,18 @@ +#include "..\script_component.hpp" + +_number = (_this select 0); +{ + if (_number == (_x select 1)) then { + _number = (_x select 0); + }; +} forEach GVAR(addressbook); + +[format ["You got a new message from %1.", _number], "green", 3] call EFUNC(misc,notify); + +playSound "FORGE_newMsg"; + +uiSleep 1; + +// [player getVariable ["FORGE_Phone_Number", "unknown"], player, "forge_client_phone_fnc_addMsg", true] remoteExec ["db_fnc_listload", 2, false]; +// ["listrng", player getVariable ["FORGE_Phone_Number", "unknown"], "", -1, [], "forge_client_phone_fnc_addMsg", true] spawn dragonfly_db_fnc_addTask; +["listrng", player getVariable ["FORGE_Phone_Number", "unknown"], "", -1, [], "forge_client_phone_fnc_addMsg", true, netId player] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; \ No newline at end of file diff --git a/addons/phone/functions/fnc_openPhone.sqf b/addons/phone/functions/fnc_openPhone.sqf new file mode 100644 index 0000000..49c9679 --- /dev/null +++ b/addons/phone/functions/fnc_openPhone.sqf @@ -0,0 +1,26 @@ +#include "..\script_component.hpp" + +private _defaultTheme = ["bg_dark01", "\@forge\userconfig\backgrounds\bgdark_01.paa"]; +private _theme = GETVAR(profileNamespace,FORGE_PhoneTheme,_defaultTheme); +private _themeBackground = _theme select 1; + +private _dayTime = [(date select 3), (date select 4)] call FUNC(dateToHhMm); +private _dialog = createDialog "RscPhone"; + +private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; +private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; + +private _dialpadBgBtns = [202210, 202211, 202212, 202213, 202214, 202215, 202216, 202217, 202218, 202219, 202220, 202221]; +private _dialpadBtns = [202401, 202402, 202403, 202404, 202405, 202406, 202407, 202408, 202409, 202410, 202411, 202412, 202413]; + +private _displayCtrls = [202201, 202210, 202211, 202212, 202213, 202214, 202215, 202216, 202217, 202218, 202219, 202220, 202221, 202222, 202223, 202224, 202302, 202303, 202304, 202305, 202306, 202307, 202308, 202309, 202319, 2023001, 2023002, 2023003, 2023004, 2023005, 2023006, 202401, 202402, 202403, 202404, 202405, 202406, 202407, 202408, 202409, 202410, 202411, 202412, 202413, 202414, 202415, 202416]; + +disableSerialization; + +ctrlSetText [202200, _themeBackground]; + +{ + ctrlShow [_x, false]; +} forEach _displayCtrls; + +ctrlSetText [202301, (_dayTime select 0) + ":" + (_dayTime select 1)]; \ No newline at end of file diff --git a/addons/phone/functions/fnc_sendEmail.sqf b/addons/phone/functions/fnc_sendEmail.sqf new file mode 100644 index 0000000..470a733 --- /dev/null +++ b/addons/phone/functions/fnc_sendEmail.sqf @@ -0,0 +1,17 @@ +#include "..\script_component.hpp" + +params ["_email", "_msg"]; + +private _defaultEmail = "unknown@spearnet.mil"; +private _pEmail = GETVAR(player,FORGE_Email,_defaultEmail); + +{ + private _tmpEmail = GETVAR(_x,FORGE_Email,_defaultEmail); + + if (_tmpEmail isEqualTo _email) then { + [_pEmail] remoteExec ["forge_client_phone_fnc_newEmail", _x, false]; + }; +} forEach playableUnits; + +// ["listadd", _email, "", -1, [_pEmail, _msg]], "forge_server_phone_fnc_addEmail", false] spawn dragonfly_db_fnc_addTask; +["listadd", _email, "", -1, [_pEmail, _msg], "", false] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; \ No newline at end of file diff --git a/addons/phone/functions/fnc_sendMsg.sqf b/addons/phone/functions/fnc_sendMsg.sqf new file mode 100644 index 0000000..4b33be5 --- /dev/null +++ b/addons/phone/functions/fnc_sendMsg.sqf @@ -0,0 +1,17 @@ +#include "..\script_component.hpp" + +params ["_number", "_msg"]; + +private _defaultPhoneNumber = "unknown"; +private _pNumber = GETVAR(player,FORGE_Phone_Number,_defaultPhoneNumber); + +{ + private _tmpNumber = GETVAR(_x,FORGE_Phone_Number,_defaultPhoneNumber); + + if (_tmpNumber isEqualTo _number) then { + [_pNumber] remoteExec ["forge_client_phone_fnc_newMsg", _x, false]; + }; +} forEach playableUnits; + +// ["listadd", _number, "", -1, [_pNumber, _msg], "", false] spawn dragonfly_db_fnc_addTask; +["listadd", _number, "", -1, [_pNumber, _msg], "", false] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; \ No newline at end of file diff --git a/addons/phone/functions/fnc_showContact.sqf b/addons/phone/functions/fnc_showContact.sqf new file mode 100644 index 0000000..b7d9093 --- /dev/null +++ b/addons/phone/functions/fnc_showContact.sqf @@ -0,0 +1,91 @@ +#include "..\script_component.hpp" + +private _cntcBtns = [202223, 202224, 202414, 202415]; +private _metaCtrls = [2023001, 2023002, 2023003, 2023004, 2023005, 2023006]; + +{ + ctrlShow [_x, true]; + ctrlEnable [_x, true]; +} forEach _cntcBtns; + +{ + ctrlShow [_x, true]; + ctrlEnable [_x, true]; +} forEach _metaCtrls; + +private _ctrl01 = (findDisplay 202300) displayCtrl 202319; +_ctrl01 ctrlRemoveAllEventHandlers "ButtonClick"; +_ctrl01 ctrlAddEventHandler ["ButtonClick", { + _this spawn FUNC(viewContacts); + + ctrlShow [202223, false]; + ctrlShow [202224, false]; + ctrlShow [2023001, false]; + ctrlShow [2023002, false]; + ctrlShow [2023003, false]; + ctrlShow [2023004, false]; + ctrlShow [2023005, false]; + ctrlShow [2023006, false]; + ctrlShow [202414, false]; + ctrlShow [202415, false]; +}]; + +private _ctrl02 = (findDisplay 202300) displayCtrl 202414; +_ctrl02 ctrlRemoveAllEventHandlers "ButtonClick"; +// _ctrl02 ctrlAddEventHandler ["ButtonClick", { +// private _reciever = ctrlText 2023004; +// [_reciever] spawn FUNC(showDialpad); + +// ctrlShow [202223, false]; +// ctrlShow [202224, false]; +// ctrlShow [2023001, false]; +// ctrlShow [2023002, false]; +// ctrlShow [2023003, false]; +// ctrlShow [2023004, false]; +// ctrlShow [2023005, false]; +// ctrlShow [2023006, false]; +// ctrlShow [202307, false]; +// ctrlShow [202308, false]; +// ctrlShow [202414, false]; +// ctrlShow [202415, false]; +// }]; + +private _ctrl03 = (findDisplay 202300) displayCtrl 202415; +_ctrl03 ctrlRemoveAllEventHandlers "ButtonClick"; +_ctrl03 ctrlAddEventHandler ["ButtonClick", { + private _reciever = ctrlText 2023004; + [_reciever] spawn FUNC(showMessageInput); + + ctrlShow [202223, false]; + ctrlShow [202224, false]; + ctrlShow [2023001, false]; + ctrlShow [2023002, false]; + ctrlShow [2023003, false]; + ctrlShow [2023004, false]; + ctrlShow [2023005, false]; + ctrlShow [2023006, false]; + ctrlShow [202414, false]; + ctrlShow [202415, false]; +}]; + +disableSerialization; + +private _control = _this select 0; +private _index = _this select 1; + +private _contact = _control lbText _index; +private _details = _control lbData _index; +private _data = call compile format ["%1", _details]; + +private _phoneNumber = _data select 0; +private _email = _data select 1; + +ctrlSetText [202307, "Contacts"]; +ctrlSetText [202308, "Contact details"]; + +ctrlSetText [2023001, "NAME"]; +ctrlSetText [2023002, _contact]; +ctrlSetText [2023003, "PHONE NUMBER"]; +ctrlSetText [2023004, _phoneNumber]; +ctrlSetText [2023005, "EMAIL"]; +ctrlSetText [2023006, _email]; \ No newline at end of file diff --git a/addons/phone/functions/fnc_showDialpad.sqf b/addons/phone/functions/fnc_showDialpad.sqf new file mode 100644 index 0000000..ce4afbb --- /dev/null +++ b/addons/phone/functions/fnc_showDialpad.sqf @@ -0,0 +1,56 @@ +#include "..\script_component.hpp" + +private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; +private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; +private _dialpadBgBtns = [202210, 202211, 202212, 202213, 202214, 202215, 202216, 202217, 202218, 202219, 202220, 202221, 202222]; +private _dialpadBtns = [202401, 202402, 202403, 202404, 202405, 202406, 202407, 202408, 202409, 202410, 202411, 202412, 202413]; + +{ + ctrlShow [_x, false]; + ctrlEnable [_x, false]; +} forEach _homeScreenBgBtns; + +{ + ctrlShow [_x, false]; + ctrlEnable [_x, false]; +} forEach _homeScreenBtns; + +{ + ctrlShow [_x, true]; + ctrlEnable [_x, true]; +} forEach _dialpadBgBtns; + +{ + ctrlShow [_x, true]; + ctrlEnable [_x, true]; +} forEach _dialpadBtns; + +ctrlShow [202201, true]; +ctrlShow [202309, true]; +ctrlShow [202319, true]; +ctrlEnable [202319, true]; + +ctrlSetText [202309, ""]; + +private _reciever = _this select 0; +ctrlSetText [202309, _reciever]; + +private _ctrl01 = (findDisplay 202300) displayCtrl 202319; + +_ctrl01 ctrlRemoveAllEventHandlers "ButtonClick"; + +_ctrl01 ctrlAddEventHandler ["ButtonClick", { + private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; + private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; + private _dialpadBgBtns = [202210, 202211, 202212, 202213, 202214, 202215, 202216, 202217, 202218, 202219, 202220, 202221, 202222]; + private _dialpadBtns = [202401, 202402, 202403, 202404, 202405, 202406, 202407, 202408, 202409, 202410, 202411, 202412, 202413]; + + { ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBgBtns; + { ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBtns; + { ctrlShow [_x, false]; ctrlEnable [_x, false]; } forEach _dialpadBgBtns; + { ctrlShow [_x, false]; ctrlEnable [_x, false]; } forEach _dialpadBtns; + ctrlShow [202201, false]; + ctrlShow [202309, false]; + ctrlShow [202319, false]; + ctrlEnable [202319, false]; +}]; \ No newline at end of file diff --git a/addons/phone/functions/fnc_showEmail.sqf b/addons/phone/functions/fnc_showEmail.sqf new file mode 100644 index 0000000..4bab8ba --- /dev/null +++ b/addons/phone/functions/fnc_showEmail.sqf @@ -0,0 +1,55 @@ +#include "..\script_component.hpp" + +private _metaCtrls = [2023001, 2023002, 2023003]; + +{ + ctrlShow [_x, true]; + ctrlEnable [_x, true]; +} forEach _metaCtrls; + +private _ctrl01 = (findDisplay 202300) displayCtrl 202319; +_ctrl01 ctrlRemoveAllEventHandlers "ButtonClick"; +_ctrl01 ctrlAddEventHandler ["ButtonClick", { + _this spawn FUNC(viewEmail); + + ctrlShow [2023001, false]; + ctrlShow [2023002, false]; + ctrlShow [2023003, false]; + ctrlShow [202305, false]; + ctrlShow [202306, false]; +}]; + +ctrlShow [202305, true]; +ctrlShow [202306, true]; + +disableSerialization; + +private _control = _this select 0; +private _index = _this select 1; + +private _from = _control lbText _index; +private _email = _control lbData _index; +private _data = call compile format["%1", _email]; + +private _subject = _data select 0; +private _body = _data select 1; + +ctrlSetText [202307, "Emails"]; +ctrlSetText [202308, "Read your email"]; + +ctrlSetText [2023001, "FROM"]; +ctrlSetText [2023002, _from]; +ctrlSetText [2023003, "EMAIL"]; +ctrlSetText [202306, _body]; + +private _ctrl01 = (findDisplay 202300) displayCtrl 202306; + +private _ctrl01Pos = ctrlPosition _ctrl01; +private _oldH = _ctrl01Pos select 3; +private _newH = ctrlTextHeight _ctrl01; +private _x = _ctrl01Pos select 0; +private _y = _ctrl01Pos select 1; +private _z = _ctrl01Pos select 2; + +_ctrl01 ctrlSetPosition [_x, _y, _z, _newH]; +_ctrl01 ctrlCommit 0; \ No newline at end of file diff --git a/addons/phone/functions/fnc_showMessage.sqf b/addons/phone/functions/fnc_showMessage.sqf new file mode 100644 index 0000000..97168cf --- /dev/null +++ b/addons/phone/functions/fnc_showMessage.sqf @@ -0,0 +1,51 @@ +#include "..\script_component.hpp" + +private _metaCtrls = [2023001, 2023002, 2023003]; + +{ + ctrlShow [_x, true]; + ctrlEnable [_x, true]; +} forEach _metaCtrls; + +private _ctrl01 = (findDisplay 202300) displayCtrl 202319; +_ctrl01 ctrlRemoveAllEventHandlers "ButtonClick"; +_ctrl01 ctrlAddEventHandler ["ButtonClick", { + _this spawn FUNC(viewMessages); + + ctrlShow [2023001, false]; + ctrlShow [2023002, false]; + ctrlShow [2023003, false]; + ctrlShow [202305, false]; + ctrlShow [202306, false]; +}]; + +ctrlShow [202305, true]; +ctrlShow [202306, true]; + +disableSerialization; + +private _control = _this select 0; +private _index = _this select 1; + +private _sender = _control lbText _index; +private _message = _control lbData _index; + +ctrlSetText [202307, "Messages"]; +ctrlSetText [202308, "Read your message"]; + +ctrlSetText [2023001, "FROM"]; +ctrlSetText [2023002, _sender]; +ctrlSetText [2023003, "MESSAGE"]; +ctrlSetText [202306, _message]; + +private _ctrl01 = (findDisplay 202300) displayCtrl 202306; + +private _ctrl01Pos = ctrlPosition _ctrl01; +private _oldH = _ctrl01Pos select 3; +private _newH = ctrlTextHeight _ctrl01; +private _x = _ctrl01Pos select 0; +private _y = _ctrl01Pos select 1; +private _z = _ctrl01Pos select 2; + +_ctrl01 ctrlSetPosition [_x, _y, _z, _newH]; +_ctrl01 ctrlCommit 0; \ No newline at end of file diff --git a/addons/phone/functions/fnc_showMessageInput.sqf b/addons/phone/functions/fnc_showMessageInput.sqf new file mode 100644 index 0000000..38bdfc2 --- /dev/null +++ b/addons/phone/functions/fnc_showMessageInput.sqf @@ -0,0 +1,52 @@ +#include "..\script_component.hpp" + +private _metaCtrls = [2023001, 2023002, 2023003]; + +{ + ctrlShow [_x, true]; + ctrlEnable [_x, true]; +} forEach _metaCtrls; + +private _ctrl01 = (findDisplay 202300) displayCtrl 202319; +_ctrl01 ctrlRemoveAllEventHandlers "ButtonClick"; +_ctrl01 ctrlAddEventHandler ["ButtonClick", { + _this spawn FUNC(viewContacts); + + ctrlShow [2023001, false]; + ctrlShow [2023002, false]; + ctrlShow [2023003, false]; + ctrlShow [202304, false]; + ctrlShow [202416, false]; + ctrlEnable [202416, false]; +}]; + +private _ctrl02 = (findDisplay 202300) displayCtrl 202416; +_ctrl02 ctrlRemoveAllEventHandlers "ButtonClick"; +_ctrl02 ctrlAddEventHandler ["ButtonClick", { + private _reciever = ctrlText 2023002; + private _msg = ctrlText 202304; + [_reciever, _msg] spawn FUNC(sendMsg); + + playSound "FORGE_msgSent"; + + ctrlShow [2023001, false]; + ctrlShow [2023002, false]; + ctrlShow [2023003, false]; + ctrlShow [202304, false]; + ctrlShow [202416, false]; + ctrlEnable [202416, false]; +}]; + +ctrlShow [202304, true]; +ctrlShow [202416, true]; +ctrlEnable [202416, true]; + +ctrlSetText [202307, "Messages"]; +ctrlSetText [202308, "Send your message"]; + +private _reciever = _this select 0; + +ctrlSetText [2023001, "TO"]; +ctrlSetText [2023002, _reciever]; +ctrlSetText [2023003, "MESSAGE"]; +ctrlSetText [202304, ""]; \ No newline at end of file diff --git a/addons/phone/functions/fnc_showSafari.sqf b/addons/phone/functions/fnc_showSafari.sqf new file mode 100644 index 0000000..0ca1b6b --- /dev/null +++ b/addons/phone/functions/fnc_showSafari.sqf @@ -0,0 +1,40 @@ +#include "..\script_component.hpp" + +private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; +private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; + +{ + ctrlShow [_x, false]; + ctrlEnable [_x, false]; +} forEach _homeScreenBgBtns; + +{ + ctrlShow [_x, false]; + ctrlEnable [_x, false]; +} forEach _homeScreenBtns; + +ctrlShow [202201, true]; +ctrlShow [202307, true]; +ctrlShow [202308, true]; +ctrlShow [202319, true]; +ctrlEnable [202319, true]; + +private _ctrl01 = (findDisplay 202300) displayCtrl 202319; + +_ctrl01 ctrlRemoveAllEventHandlers "ButtonClick"; + +_ctrl01 ctrlAddEventHandler ["ButtonClick", { + private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; + private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; + + { ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBgBtns; + { ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBtns; + ctrlShow [202201, false]; + ctrlShow [202307, false]; + ctrlShow [202308, false]; + ctrlShow [202319, false]; + ctrlEnable [202319, false]; +}]; + +ctrlSetText [202307, "Safari"]; +ctrlSetText [202308, "Internet browser"]; \ No newline at end of file diff --git a/addons/phone/functions/fnc_viewContacts.sqf b/addons/phone/functions/fnc_viewContacts.sqf new file mode 100644 index 0000000..55dbdd8 --- /dev/null +++ b/addons/phone/functions/fnc_viewContacts.sqf @@ -0,0 +1,61 @@ +#include "..\script_component.hpp" + +private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; +private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; + +{ + ctrlShow [_x, false]; + ctrlEnable [_x, false]; +} forEach _homeScreenBgBtns; + +{ + ctrlShow [_x, false]; + ctrlEnable [_x, false]; +} forEach _homeScreenBtns; + +ctrlShow [202201, true]; +ctrlShow [202302, true]; +ctrlShow [202307, true]; +ctrlShow [202308, true]; +ctrlShow [202319, true]; +ctrlEnable [202319, true]; + +private _ctrl01 = (findDisplay 202300) displayCtrl 202302; +private _ctrl02 = (findDisplay 202300) displayCtrl 202319; + +_ctrl01 ctrlRemoveAllEventHandlers "LBDblClick"; +_ctrl02 ctrlRemoveAllEventHandlers "ButtonClick"; + +_ctrl01 ctrlAddEventHandler ["LBDblClick", { + _this spawn forge_client_phone_fnc_showContact; + ctrlShow [202302, false]; +}]; +_ctrl02 ctrlAddEventHandler ["ButtonClick", { + private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; + private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; + + { ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBgBtns; + { ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBtns; + ctrlShow [202201, false]; + ctrlShow [202302, false]; + ctrlShow [202307, false]; + ctrlShow [202308, false]; + ctrlShow [202319, false]; + ctrlEnable [202319, false]; +}]; + +ctrlSetText [202307, "Contacts"]; +ctrlSetText [202308, "View your contacts"]; + +lbClear _ctrl01; + +private _contacts = GVAR(addressbook); + +{ + private _contact = _x select 0; + private _phoneNumber = _x select 1; + private _email = _x select 2; + private _cntcListIndex = _ctrl01 lbAdd _contact; + _ctrl01 lbSetData [_cntcListIndex, format ["%1", [_phoneNumber, _email]]]; + _ctrl01 lbSetPicture [_cntcListIndex, "\z\forge_client\addons\phone\ui\data\avatar.paa"]; +} forEach _contacts; \ No newline at end of file diff --git a/addons/phone/functions/fnc_viewEmail.sqf b/addons/phone/functions/fnc_viewEmail.sqf new file mode 100644 index 0000000..edd70c6 --- /dev/null +++ b/addons/phone/functions/fnc_viewEmail.sqf @@ -0,0 +1,85 @@ +#include "..\script_component.hpp" + +private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; +private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; + +{ + ctrlShow [_x, false]; + ctrlEnable [_x, false]; +} forEach _homeScreenBgBtns; + +{ + ctrlShow [_x, false]; + ctrlEnable [_x, false]; +} forEach _homeScreenBtns; + +ctrlShow [202201, true]; +ctrlShow [202302, true]; +ctrlShow [202307, true]; +ctrlShow [202308, true]; +ctrlShow [202319, true]; +ctrlEnable [202319, true]; + +private _myDialog = findDisplay 202300; +private _ctrl01 = _myDialog displayCtrl 202302; +private _ctrl02 = _myDialog displayCtrl 202319; + +_ctrl01 ctrlRemoveAllEventHandlers "LBDblClick"; +_ctrl02 ctrlRemoveAllEventHandlers "ButtonClick"; + +_ctrl01 ctrlAddEventHandler ["LBDblClick", { + _this spawn FUNC(showEmail); + ctrlShow [202302, false]; +}]; + +FORGE_DeleteEmailTrigger = true; +FORGE_DeleteEmail = _myDialog displayAddEventHandler ["KeyDown", { + if ((_this select 1) == 14 && FORGE_DeleteEmailTrigger) then { + FORGE_DeleteEmailTrigger = false; + private _ctrl01 = (findDisplay 202300) displayCtrl 202302; + private _selectedIndex = lbCurSel _ctrl01; + if (_selectedIndex >= 0) then { + private _selectedText = _ctrl01 lbText _selectedIndex; + [format ["Deleted email from: %1", _selectedText], "blue-grey", 3] call EFUNC(misc,notify); + [] spawn FUNC(delEmail); + }; + }; +}]; + +_ctrl02 ctrlAddEventHandler ["ButtonClick", { + private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; + private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; + private _viewEmailsBtns = [202201, 2023001, 2023002, 2023003, 202302, 202305, 202306, 202307, 202308]; + + FORGE_DeleteEmailTrigger = false; + + private _myDialog = findDisplay 202300; + _myDialog displayRemoveEventHandler ["KeyDown", FORGE_DeleteEmail]; + + { ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBgBtns; + { ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBtns; + { ctrlShow [_x, false] } forEach _viewEmailsBtns; + ctrlShow [202319, false]; + ctrlEnable [202319, false]; +}]; + +ctrlSetText [202307, "Emails"]; +ctrlSetText [202308, "View your emails"]; + +lbClear _ctrl01; + +private _emails = GVAR(email); + +{ + private _from = _x select 0; + { + if (_from == (_x select 1)) then { + _from = _x select 0; + }; + } forEach GVAR(addressbook); + private _subject = _x select 1; + private _body = _x select 2; + private _emailListIndex = _ctrl01 lbAdd _from; + _ctrl01 lbSetData [_emailListIndex, format ["%1", [_subject, _body]]]; + _ctrl01 lbSetPicture [_emailListIndex, "\z\forge_client\addons\phone\ui\data\avatar.paa"]; +} forEach _emails; \ No newline at end of file diff --git a/addons/phone/functions/fnc_viewMessages.sqf b/addons/phone/functions/fnc_viewMessages.sqf new file mode 100644 index 0000000..92a9141 --- /dev/null +++ b/addons/phone/functions/fnc_viewMessages.sqf @@ -0,0 +1,84 @@ +#include "..\script_component.hpp" + +private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; +private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; + +{ + ctrlShow [_x, false]; + ctrlEnable [_x, false]; +} forEach _homeScreenBgBtns; + +{ + ctrlShow [_x, false]; + ctrlEnable [_x, false]; +} forEach _homeScreenBtns; + +ctrlShow [202201, true]; +ctrlShow [202302, true]; +ctrlShow [202307, true]; +ctrlShow [202308, true]; +ctrlShow [202319, true]; +ctrlEnable [202319, true]; + +private _myDialog = findDisplay 202300; +private _ctrl01 = _myDialog displayCtrl 202302; +private _ctrl02 = _myDialog displayCtrl 202319; + +_ctrl01 ctrlRemoveAllEventHandlers "LBDblClick"; +_ctrl02 ctrlRemoveAllEventHandlers "ButtonClick"; + +_ctrl01 ctrlAddEventHandler ["LBDblClick", { + _this spawn forge_client_phone_fnc_showMessage; + ctrlShow [202302, false]; +}]; + +FORGE_DeleteMsgTrigger = true; +FORGE_DeleteMsg = _myDialog displayAddEventHandler ["KeyDown", { + if ((_this select 1) == 14 && FORGE_DeleteMsgTrigger) then { + FORGE_DeleteMsgTrigger = false; + private _ctrl01 = (findDisplay 202300) displayCtrl 202302; + private _selectedIndex = lbCurSel _ctrl01; + if (_selectedIndex >= 0) then { + private _selectedText = _ctrl01 lbText _selectedIndex; + [format ["Deleted text message from: %1", _selectedText], "blue-grey", 3] call EFUNC(misc,notify); + [] spawn forge_client_phone_fnc_delMsg; + }; + }; +}]; + +_ctrl02 ctrlAddEventHandler ["ButtonClick", { + private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; + private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; + private _viewMessagesBtns = [202201, 2023001, 2023002, 2023003, 202302, 202305, 202306, 202307, 202308]; + + FORGE_DeleteMsgTrigger = false; + + private _myDialog = findDisplay 202300; + _myDialog displayRemoveEventHandler ["KeyDown", FORGE_DeleteMsg]; + + { ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBgBtns; + { ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBtns; + { ctrlShow [_x, false] } forEach _viewMessagesBtns; + ctrlShow [202319, false]; + ctrlEnable [202319, false]; +}]; + +ctrlSetText [202307, "Messages"]; +ctrlSetText [202308, "View your messages"]; + +lbClear _ctrl01; + +private _messages = GVAR(messages); + +{ + private _sender = _x select 0; + { + if (_sender == (_x select 1)) then { + _sender = _x select 0; + }; + } forEach GVAR(addressbook); + private _message = _x select 1; + private _msgListIndex = _ctrl01 lbAdd _sender; + _ctrl01 lbSetData [_msgListIndex, format ["%1", _message]]; + _ctrl01 lbSetPicture [_msgListIndex, "\z\forge_client\addons\phone\ui\data\avatar.paa"]; +} forEach _messages; \ No newline at end of file diff --git a/addons/phone/functions/fnc_viewSettings.sqf b/addons/phone/functions/fnc_viewSettings.sqf new file mode 100644 index 0000000..ec86ff4 --- /dev/null +++ b/addons/phone/functions/fnc_viewSettings.sqf @@ -0,0 +1,73 @@ +#include "..\script_component.hpp" + +private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; +private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; + +{ + ctrlShow [_x, false]; + ctrlEnable [_x, false]; +} forEach _homeScreenBgBtns; + +{ + ctrlShow [_x, false]; + ctrlEnable [_x, false]; +} forEach _homeScreenBtns; + +ctrlShow [202201, true]; +ctrlShow [202303, true]; +ctrlShow [202307, true]; +ctrlShow [202308, true]; +ctrlShow [202319, true]; +ctrlEnable [202319, true]; + +private _ctrl01 = (findDisplay 202300) displayCtrl 202303; +private _ctrl02 = (findDisplay 202300) displayCtrl 202319; + +_ctrl02 ctrlRemoveAllEventHandlers "ButtonClick"; + +_ctrl02 ctrlAddEventHandler ["ButtonClick", { + private _homeScreenBgBtns = [202202, 202203, 202204, 202205, 202206, 202207, 202208, 202209]; + private _homeScreenBtns = [202310, 202311, 202312, 202313, 202314, 202315, 202316, 202317, 202318]; + + { ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBgBtns; + { ctrlShow [_x, true]; ctrlEnable [_x, true]; } forEach _homeScreenBtns; + ctrlShow [202201, false]; + ctrlShow [202303, false]; + ctrlShow [202307, false]; + ctrlShow [202308, false]; + ctrlShow [202319, false]; + ctrlEnable [202319, false]; +}]; + +lbClear _ctrl01; + +private _mC = "FORGE_CfgPhones"; +private _themes = "true" configClasses (missionConfigFile >> "FORGE_CfgPhones" >> "themes"); +private _notifications = "true" configClasses (missionConfigFile >> "FORGE_CfgPhones" >> "notifications"); +private _ringtones = "true" configClasses (missionConfigFile >> "FORGE_CfgPhones" >> "ringtones"); + +{ + private _configName = configName(_x); + private _themeName = (missionConfigFile >> _mC >> "themes" >> _configName >> "themeName") call BIS_fnc_getCfgData; + private _themeBackground = (missionConfigFile >> _mC >> "themes" >> _configName >> "themeBackground") call BIS_fnc_getCfgData; + + private _theme = _ctrl01 lbAdd format ["Theme %1 - %2", (_forEachIndex + 1), _themeName]; + _ctrl01 lbSetData [_theme, format ["%1", [_configName, _themeBackground]]]; +} forEach _themes; + +lbSetCurSel [202303, 0]; + +_ctrl01 ctrlAddEventHandler ["LBSelChanged", { + params ["_control"]; + + private _data = _control lbData (lbCurSel _control); + private _dataArray = call compile _data; + private _themeName = _dataArray select 0; + private _themeBackground = _dataArray select 1; + + ctrlSetText [202200, _themeBackground]; + profileNamespace setVariable ["FORGE_PhoneTheme", [_themeName, _themeBackground]]; +}]; + +ctrlSetText [202307, "Settings"]; +ctrlSetText [202308, "Modify your phone"]; \ No newline at end of file diff --git a/addons/phone/script_component.hpp b/addons/phone/script_component.hpp new file mode 100644 index 0000000..b9d3188 --- /dev/null +++ b/addons/phone/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT phone +#define COMPONENT_BEAUTIFIED Phone +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_PHONE + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_PHONE + #define DEBUG_SETTINGS DEBUG_SETTINGS_PHONE +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/phone/sounds/newMsg.ogg b/addons/phone/sounds/newMsg.ogg new file mode 100644 index 0000000000000000000000000000000000000000..64b62056f00cd8a204ad10b30aa45b3e14a69abb GIT binary patch literal 18248 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 literal 0 HcmV?d00001 diff --git a/addons/phone/sounds/woop.ogg b/addons/phone/sounds/woop.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f1abf859389b73c03edf333cc393b233c85c3f59 GIT binary patch literal 11361 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 tf-2`MJ7$aKUl8>{{;@P>Jb0{ literal 0 HcmV?d00001 diff --git a/addons/phone/ui/RscCommon.hpp b/addons/phone/ui/RscCommon.hpp new file mode 100644 index 0000000..c35540c --- /dev/null +++ b/addons/phone/ui/RscCommon.hpp @@ -0,0 +1,293 @@ +// Control types +#define CT_STATIC 0 +#define CT_BUTTON 1 +#define CT_EDIT 2 +#define CT_SLIDER 3 +#define CT_COMBO 4 +#define CT_LISTBOX 5 +#define CT_TOOLBOX 6 +#define CT_CHECKBOXES 7 +#define CT_PROGRESS 8 +#define CT_HTML 9 +#define CT_STATIC_SKEW 10 +#define CT_ACTIVETEXT 11 +#define CT_TREE 12 +#define CT_STRUCTURED_TEXT 13 +#define CT_CONTEXT_MENU 14 +#define CT_CONTROLS_GROUP 15 +#define CT_SHORTCUTBUTTON 16 +#define CT_HITZONES 17 +#define CT_XKEYDESC 40 +#define CT_XBUTTON 41 +#define CT_XLISTBOX 42 +#define CT_XSLIDER 43 +#define CT_XCOMBO 44 +#define CT_ANIMATED_TEXTURE 45 +#define CT_OBJECT 80 +#define CT_OBJECT_ZOOM 81 +#define CT_OBJECT_CONTAINER 82 +#define CT_OBJECT_CONT_ANIM 83 +#define CT_LINEBREAK 98 +#define CT_USER 99 +#define CT_MAP 100 +#define CT_MAP_MAIN 101 +#define CT_LISTNBOX 102 +#define CT_ITEMSLOT 103 +#define CT_CHECKBOX 77 + +// Static styles +#define ST_POS 0x0F +#define ST_HPOS 0x03 +#define ST_VPOS 0x0C +#define ST_LEFT 0x00 +#define ST_RIGHT 0x01 +#define ST_CENTER 0x02 +#define ST_DOWN 0x04 +#define ST_UP 0x08 +#define ST_VCENTER 0x0C + +#define ST_TYPE 0xF0 +#define ST_SINGLE 0x00 +#define ST_MULTI 0x10 +#define ST_TITLE_BAR 0x20 +#define ST_PICTURE 0x30 +#define ST_FRAME 0x40 +#define ST_BACKGROUND 0x50 +#define ST_GROUP_BOX 0x60 +#define ST_GROUP_BOX2 0x70 +#define ST_HUD_BACKGROUND 0x80 +#define ST_TILE_PICTURE 0x90 +#define ST_WITH_RECT 0xA0 +#define ST_LINE 0xB0 +#define ST_UPPERCASE 0xC0 +#define ST_LOWERCASE 0xD0 + +#define ST_SHADOW 0x100 +#define ST_NO_RECT 0x200 +#define ST_KEEP_ASPECT_RATIO 0x800 + +// Slider styles +#define SL_DIR 0x400 +#define SL_VERT 0 +#define SL_HORZ 0x400 + +#define SL_TEXTURES 0x10 + +// progress bar +#define ST_VERTICAL 0x01 +#define ST_HORIZONTAL 0 + +// Listbox styles +#define LB_TEXTURES 0x10 +#define LB_MULTI 0x20 + +// Tree styles +#define TR_SHOWROOT 1 +#define TR_AUTOCOLLAPSE 2 + +// Default grid +// #define GUI_GRID_WAbs ((safezoneW / safezoneH) min 1.2) +// #define GUI_GRID_HAbs (GUI_GRID_WAbs / 1.2) +// #define GUI_GRID_W (GUI_GRID_WAbs / 40) +// #define GUI_GRID_H (GUI_GRID_HAbs / 25) +// #define GUI_GRID_X (safezoneX) +// #define GUI_GRID_Y (safezoneY + safezoneH - GUI_GRID_HAbs) + +#define GUI_GRID_CENTERLEFT_X GUI_GRID_X +#define GUI_GRID_CENTERLEFT_Y GUI_GRID_CENTER_Y +#define GUI_GRID_CENTERLEFT_W GUI_GRID_W +#define GUI_GRID_CENTERLEFT_H GUI_GRID_H + +#define GUI_GRID_TOPRIGHT_X (safeZoneX + safeZoneW - GUI_GRID_WAbs) +#define GUI_GRID_TOPRIGHT_Y (safeZoneX) +#define GUI_GRID_TOPRIGHT_W GUI_GRID_W +#define GUI_GRID_TOPRIGHT_H GUI_GRID_H + +#define GUI_GRID_CENTERRIGHT_X GUI_GRID_TOPRIGHT_X +#define GUI_GRID_CENTERRIGHT_Y GUI_GRID_CENTER_Y +#define GUI_GRID_CENTERRIGHT_W GUI_GRID_W +#define GUI_GRID_CENTERRIGHT_H GUI_GRID_H + +#define GUI_GRID_BOTTOMRIGHT_X GUI_GRID_TOPRIGHT_X +#define GUI_GRID_BOTTOMRIGHT_Y GUI_GRID_Y +#define GUI_GRID_BOTTOMRIGHT_W GUI_GRID_W +#define GUI_GRID_BOTTOMRIGHT_H GUI_GRID_H + +// Default text sizes +#define GUI_TEXT_SIZE_SMALL (GUI_GRID_H * 0.8) +#define GUI_TEXT_SIZE_MEDIUM (GUI_GRID_H * 1) +#define GUI_TEXT_SIZE_LARGE (GUI_GRID_H * 1.2) + +// Pixel grid +#define pixelScale 0.50 +#define GRID_W (pixelW * pixelGrid * pixelScale) +#define GRID_H (pixelH * pixelGrid * pixelScale) + +class ScrollBar; +class RscObject; +class RscText; +class RscTextSmall; +class RscTitle; +class RscProgress; +class RscProgressNotFreeze; +class RscPicture; +class RscLadderPicture; +class RscPictureKeepAspect; +class RscHTML; +class RscButton; +class RscShortcutButton; +class RscButtonSmall; +class RscEdit; +class RscCombo; +class RscListBox; +class RscListNBox; +class RscXListBox; +class RscTree; +class RscSlider; +class RscSliderH; +class RscXSliderH; +class RscActiveText; +class RscStructuredText; +class RscControlsGroup; +class RscToolbox; +class RscMapControl; +class RscCheckBox; +class RscFrame; +class ctrlDefault; +class ctrlControlsGroup; +class ctrlDefaultText; +class ctrlDefaultButton; +class RscBackgroundStripeTop; +class RscBackgroundStripeBottom; +class RscIGText; +class RscIGProgress; +class RscListBoxKeys; +class RscControlsGroupNoScrollbars; +class RscControlsGroupNoHScrollbars; +class RscControlsGroupNoVScrollbars; +class RscLine; +class RscActivePicture; +class RscButtonTextOnly; +class RscShortcutButtonMain; +class RscButtonEditor; +class RscIGUIShortcutButton; +class RscGearShortcutButton; +class RscButtonMenu; +class RscButtonMenuOK; +class RscButtonMenuCancel; +class RscButtonMenuSteam; +class RscLoadingText; +class RscIGUIListBox; +class RscIGUIListNBox; +class RscBackground; +class RscBackgroundGUI; +class RscBackgroundGUILeft; +class RscBackgroundGUIRight; +class RscBackgroundGUIBottom; +class RscBackgroundGUITop; +class RscBackgroundGUIDark; +class RscBackgroundLogo; +class RscMapControlEmpty; +class RscVignette; +class CA_Mainback; +class CA_Back; +class CA_Title_Back; +class CA_Black_Back; +class CA_Title; +class CA_Logo; +class CA_Logo_Small; +class CA_RscButton; +class CA_RscButton_dialog; +class CA_Ok; +class CA_Ok_image; +class CA_Ok_image2; +class CA_Ok_text; +class ctrlCheckbox; +class ctrlCheckboxBaseline; +class ctrlStatic; +class ctrlControlsGroupNoScrollbars; +class ctrlStructuredText; +class RscTextMulti; +class RscTreeSearch; +class RscVideo; +class RscVideoKeepAspect; +class RscActivePictureKeepAspect; +class RscEditMulti; +class RscMapSignalBackground; +class RscMapSignalPicture; +class RscMapSignalText; +class RscColorPicker; +class RscInterlacingScreen; +class RscFeedback; +class RscTrafficLight; +class RscButtonSearch; +class RscIGUIText; +class RscOpticsText; +class RscOpticsValue; +class RscIGUIValue; +class RscButtonMenuMain; +class RscButtonTestCentered; +class RscDisplaySingleMission_ChallengeOverviewGroup; +class RscDisplayDebriefing_RscTextMultiline; +class RscDisplayDebriefing_ListGroup; +class RscButtonArsenal; +class RscTextNoShadow; +class RscButtonNoColor; +class RscToolboxButton; +class ctrlStaticPicture; +class ctrlStaticPictureKeepAspect; +class ctrlStaticPictureTile; +class ctrlStaticFrame; +class ctrlStaticLine; +class ctrlStaticMulti; +class ctrlStaticBackground; +class ctrlStaticOverlay; +class ctrlStaticTitle; +class ctrlStaticFooter; +class ctrlStaticBackgroundDisable; +class ctrlStaticBackgroundDisableTiles; +class ctrlButton; +class ctrlButtonPicture; +class ctrlButtonPictureKeepAspect; +class ctrlButtonOK; +class ctrlButtonCancel; +class ctrlButtonClose; +class ctrlButtonToolbar; +class ctrlButtonSearch; +class ctrlButtonExpandAll; +class ctrlButtonCollapseAll; +class ctrlButtonFilter; +class ctrlEdit; +class ctrlEditMulti; +class ctrlSliderV; +class ctrlSliderH; +class ctrlCombo; +class ctrlComboToolbar; +class ctrlListbox; +class ctrlToolbox; +class ctrlToolboxPicture; +class ctrlToolboxPictureKeepAspect; +class ctrlCheckboxes; +class ctrlCheckboxesCheckbox; +class ctrlProgress; +class ctrlHTML; +class ctrlActiveText; +class ctrlActivePicture; +class ctrlActivePictureKeepAspect; +class ctrlTree; +class ctrlControlsGroupNoHScrollbars; +class ctrlControlsGroupNoVScrollbars; +class ctrlShortcutButton; +class ctrlShortcutButtonOK; +class ctrlShortcutButtonCancel; +class ctrlShortcutButtonSteam; +class ctrlXListbox; +class ctrlXSliderV; +class ctrlXSliderH; +class ctrlMenu; +class ctrlMenuStrip; +class ctrlMap; +class ctrlMapEmpty; +class ctrlMapMain; +class ctrlListNBox; +class ctrlCheckboxToolbar; \ No newline at end of file diff --git a/addons/phone/ui/RscPhone.hpp b/addons/phone/ui/RscPhone.hpp new file mode 100644 index 0000000..dbe8a62 --- /dev/null +++ b/addons/phone/ui/RscPhone.hpp @@ -0,0 +1,984 @@ +class RscPhone { + idd = 202300; + + class ControlsBackground { + // Main Ctrls + class FORGE_RscPhoneBackground : RscPictureKeepAspect { + idc = 202200; + x = "safeZoneX + safeZoneW - 1"; + y = "safeZoneY + safeZoneH - 1"; + w = "1"; + h = "1"; + text = QUOTE(PATHTOF(ui\data\bgdark_01.paa)); + }; + class FORGE_RscPhoneFrame : RscPictureKeepAspect { + idc = -1; + x = "safeZoneX + safeZoneW - 1"; + y = "safeZoneY + safeZoneH - 1"; + w = "1"; + h = "1"; + text = QUOTE(PATHTOF(ui\data\mobile_frame_ca.paa)); + }; + class FORGE_RscPhoneStatic : RscText { + idc = 202201; + x = "safeZoneX + safeZoneW - 0.65"; + y = "safeZoneY + safeZoneH - 0.775"; + w = "0.303125"; + h = "0.575"; + text = ""; + colorBackground[] = {1,1,1,1}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,1}; + font = "EtelkaMonospacePro"; + }; + + // Homescreen Btns + class FORGE_RscPhoneSMSa : RscPictureKeepAspect { + idc = 202202; + x = "safeZoneX + safeZoneW - 0.683125 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\sms.paa)); + }; + class FORGE_RscPhoneCalla : RscPictureKeepAspect { + idc = 202203; + x = "safeZoneX + safeZoneW - 0.87975 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\phone.paa)); + }; + class FORGE_RscPhoneSafari : RscPictureKeepAspect { + idc = 202204; + x = "safeZoneX + safeZoneW - 0.780875 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\safari.paa)); + }; + class FORGE_RscPhoneMail : RscPictureKeepAspect { + idc = 202205; + x = "safeZoneX + safeZoneW - 0.58425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\mail.paa)); + }; + class FORGE_RscPhoneContacts : RscPictureKeepAspect { + idc = 202206; + x = "safeZoneX + safeZoneW - 0.87975 * 3/4"; + y = "safeZoneY + safeZoneH - 0.77"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\contacts.paa)); + }; + class FORGE_RscPhoneCamera : RscPictureKeepAspect { + idc = 202207; + x = "safeZoneX + safeZoneW - 0.780875 * 3/4"; + y = "safeZoneY + safeZoneH - 0.77"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\camera.paa)); + }; + class FORGE_RscPhonePhotos : RscPictureKeepAspect { + idc = 202208; + x = "safeZoneX + safeZoneW - 0.683125 * 3/4"; + y = "safeZoneY + safeZoneH - 0.77"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\photos.paa)); + }; + class FORGE_RscPhoneSettings : RscPictureKeepAspect { + idc = 202209; + x = "safeZoneX + safeZoneW - 0.58425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.77"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\settings.paa)); + }; + + // Dialpad Btns + class FORGE_RscPhoneNo1 : RscPictureKeepAspect { + idc = 202210; + x = "safeZoneX + safeZoneW - 0.83425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.72"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\no1.paa)); + }; + class FORGE_RscPhoneNo2 : RscPictureKeepAspect { + idc = 202211; + x = "safeZoneX + safeZoneW - 0.73425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.72"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\no2.paa)); + }; + class FORGE_RscPhoneNo3 : RscPictureKeepAspect { + idc = 202212; + x = "safeZoneX + safeZoneW - 0.63425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.72"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\no3.paa)); + }; + class FORGE_RscPhoneNo4 : RscPictureKeepAspect { + idc = 202213; + x = "safeZoneX + safeZoneW - 0.83425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.62"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\no4.paa)); + }; + class FORGE_RscPhoneNo5 : RscPictureKeepAspect { + idc = 202214; + x = "safeZoneX + safeZoneW - 0.73425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.62"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\no5.paa)); + }; + class FORGE_RscPhoneNo6 : RscPictureKeepAspect { + idc = 202215; + x = "safeZoneX + safeZoneW - 0.63425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.62"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\no6.paa)); + }; + class FORGE_RscPhoneNo7 : RscPictureKeepAspect { + idc = 202216; + x = "safeZoneX + safeZoneW - 0.83425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.52"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\no7.paa)); + }; + class FORGE_RscPhoneNo8 : RscPictureKeepAspect { + idc = 202217; + x = "safeZoneX + safeZoneW - 0.73425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.52"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\no8.paa)); + }; + class FORGE_RscPhoneNo9 : RscPictureKeepAspect { + idc = 202218; + x = "safeZoneX + safeZoneW - 0.63425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.52"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\no9.paa)); + }; + class FORGE_RscPhoneStar : RscPictureKeepAspect { + idc = 202219; + x = "safeZoneX + safeZoneW - 0.83425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.42"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\star.paa)); + }; + class FORGE_RscPhoneNo0 : RscPictureKeepAspect { + idc = 202220; + x = "safeZoneX + safeZoneW - 0.73425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.42"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\no0.paa)); + }; + class FORGE_RscPhonePound : RscPictureKeepAspect { + idc = 202221; + x = "safeZoneX + safeZoneW - 0.63425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.42"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\pound.paa)); + }; + class FORGE_RscPhoneCallb : RscPictureKeepAspect { + idc = 202222; + x = "safeZoneX + safeZoneW - 0.73425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\phone.paa)); + }; + + // Contact Btns + class FORGE_RscPhoneCallc : RscPictureKeepAspect { + idc = 202223; + x = "safeZoneX + safeZoneW - 0.83425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\phone.paa)); + }; + class FORGE_RscPhoneSMSb : RscPictureKeepAspect { + idc = 202224; + x = "safeZoneX + safeZoneW - 0.63425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = QUOTE(PATHTOF(ui\data\sms.paa)); + }; + }; + + class Controls { + // Main Ctrls + class FORGE_RscPhoneClock : RscText { + idc = 202301; + x = "safeZoneX + safeZoneW - 0.73425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.803125"; + w = "0.1"; + h = "0.025"; + text = ""; + style = 2; + colorBackground[] = {0,0,0,1}; + colorText[] = {1,1,1,1}; + sizeEx = "0.012 / (getResolution select 5)"; + font = "EtelkaMonospacePro"; + }; + class FORGE_RscPhoneListBox : RscListBox { + idc = 202302; + x = "safeZoneX + safeZoneW - 0.65"; + y = "safeZoneY + safeZoneH - 0.675"; + w = "0.303125"; + h = "0.4775"; + text = ""; + colorBackground[] = {0,0,0,0.03125}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,1}; + sizeEx = "0.017 / (getResolution select 5)"; + font = "EtelkaMonospacePro"; + }; + class FORGE_RscPhoneCombo : RscCombo { + idc = 202303; + x = "safeZoneX + safeZoneW - 0.63"; + y = "safeZoneY + safeZoneH - 0.675"; + w = "0.25"; + h = "0.035"; + sizeEx = "0.017 / (getResolution select 5)"; + font = "EtelkaMonospacePro"; + }; + class FORGE_RscPhoneEdita : RscEdit { + idc = 202304; + x = "safeZoneX + safeZoneW - 0.65"; + y = "safeZoneY + safeZoneH - 0.595"; + w = "0.303125"; + h = "0.3125"; + text = ""; + colorBackground[] = {0,0,0,0.03125}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,1}; + style = "0x10+0x200"; + shadow = "0"; + sizeEx = "0.017 / (getResolution select 5)"; + lineSpacing = 1; + tooltip = "Type a message here."; + font = "EtelkaMonospacePro"; + }; + class FORGE_ControlsGroup : RscControlsGroup { + idc = 202305; + x = "safeZoneX + safeZoneW - 0.65"; + y = "safeZoneY + safeZoneH - 0.595"; + w = "0.303125"; + h = "0.3975"; + type = 15; + style = "0x10"; + shadow = "0"; + class controls { + class FORGE_RscPhoneText : RscText { + idc = 202306; + x = "0"; + y = "0"; + w = "0.2975"; + h = "1"; + text = ""; + colorBackground[] = {0,0,0,0.03125}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,1}; + style = "0x10+0x200"; + shadow = "0"; + lineSpacing = 1; + sizeEx = "0.017 / (getResolution select 5)"; + font = "EtelkaMonospacePro"; + }; + class FORGE_RscPhoneEmail : RscHTML { + idc = 202506; + x = "0"; + y = "0"; + w = "0.2975"; + h = "1"; + type = CT_HTML; + filename = ""; + colorBackground[] = {0,0,0,0.03125}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,1}; + style = "0x10+0x200"; + shadow = "0"; + lineSpacing = 1; + sizeEx = "0.017 / (getResolution select 5)"; + font = "EtelkaMonospacePro"; + }; + }; + }; + class FORGE_RscPhoneTitle : RscText { + idc = 202307; + x = "safeZoneX + safeZoneW - 0.65"; + y = "safeZoneY + safeZoneH - 0.975"; + w = "0.303125"; + h = "0.4775"; + text = ""; + shadow = "0"; + colorBackground[] = {0,0,0,0}; + colorText[] = {0,0,0,1}; + sizeEx = "0.02 / (getResolution select 5)"; + font = "EtelkaMonospacePro"; + }; + class FORGE_RscPhoneSubTitle : RscText { + idc = 202308; + x = "safeZoneX + safeZoneW - 0.65"; + y = "safeZoneY + safeZoneH - 0.895"; + w = "0.303125"; + h = "0.3775"; + text = ""; + shadow = "0"; + colorBackground[] = {0,0,0,0}; + colorText[] = {0,0,0,1}; + sizeEx = "0.014 / (getResolution select 5)"; + font = "EtelkaMonospacePro"; + }; + class FORGE_RscPhoneEditb : RscEdit { + idc = 202309; + x = "safeZoneX + safeZoneW - 0.625"; + y = "safeZoneY + safeZoneH - 0.7625"; + w = "0.25"; + h = "0.035"; + text = ""; + colorBackground[] = {0,0,0,0.03125}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,1}; + style = "0x02+0x10+0x200"; + shadow = "0"; + sizeEx = "0.02 / (getResolution select 5)"; + lineSpacing = 1; + tooltip = "Input a number here."; + font = "EtelkaMonospacePro"; + }; + + // Meta Ctrls + class FORGE_RscPhoneMetaTitle : RscText { + idc = 2023001; + x = "safeZoneX + safeZoneW - 0.65"; + y = "safeZoneY + safeZoneH - 0.81"; + w = "0.303125"; + h = "0.2775"; + text = ""; + shadow = "0"; + colorBackground[] = {0,0,0,0}; + colorText[] = {0.5,0.5,0.5,1}; + sizeEx = "0.014 / (getResolution select 5)"; + font = "EtelkaMonospacePro"; + }; + class FORGE_RscPhoneMetaText : RscText { + idc = 2023002; + x = "safeZoneX + safeZoneW - 0.65"; + y = "safeZoneY + safeZoneH - 0.78"; + w = "0.303125"; + h = "0.2775"; + text = ""; + shadow = "0"; + colorBackground[] = {0,0,0,0}; + colorText[] = {0,0,0,1}; + sizeEx = "0.017 / (getResolution select 5)"; + font = "EtelkaMonospacePro"; + }; + class FORGE_RscPhoneMetaSubTitle : RscText { + idc = 2023003; + x = "safeZoneX + safeZoneW - 0.65"; + y = "safeZoneY + safeZoneH - 0.74875"; + w = "0.303125"; + h = "0.2775"; + text = ""; + shadow = "0"; + colorBackground[] = {0,0,0,0}; + colorText[] = {0.5,0.5,0.5,1}; + sizeEx = "0.014 / (getResolution select 5)"; + font = "EtelkaMonospacePro"; + }; + class FORGE_RscPhoneMetaSubText : RscText { + idc = 2023004; + x = "safeZoneX + safeZoneW - 0.65"; + y = "safeZoneY + safeZoneH - 0.71875"; + w = "0.303125"; + h = "0.2775"; + text = ""; + shadow = "0"; + colorBackground[] = {0,0,0,0}; + colorText[] = {0,0,0,1}; + sizeEx = "0.017 / (getResolution select 5)"; + font = "EtelkaMonospacePro"; + }; + class FORGE_RscPhoneMetaTerTitle : RscText { + idc = 2023005; + x = "safeZoneX + safeZoneW - 0.65"; + y = "safeZoneY + safeZoneH - 0.6875"; + w = "0.303125"; + h = "0.2775"; + text = ""; + shadow = "0"; + colorBackground[] = {0,0,0,0}; + colorText[] = {0.5,0.5,0.5,1}; + sizeEx = "0.014 / (getResolution select 5)"; + font = "EtelkaMonospacePro"; + }; + class FORGE_RscPhoneMetaTerText : RscText { + idc = 2023006; + x = "safeZoneX + safeZoneW - 0.65"; + y = "safeZoneY + safeZoneH - 0.6575"; + w = "0.303125"; + h = "0.2775"; + text = ""; + shadow = "0"; + colorBackground[] = {0,0,0,0}; + colorText[] = {0,0,0,1}; + sizeEx = "0.017 / (getResolution select 5)"; + font = "EtelkaMonospacePro"; + }; + + // Homescreen Btns + class FORGE_RscPhoneCallBtnA : RscButton { + idc = 202310; + x = "safeZoneX + safeZoneW - 0.87975 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202203, '\z\forge_client\addons\phone\ui\data\phone_sel.paa'];"; + onMouseExit = "ctrlSetText [202203, '\z\forge_client\addons\phone\ui\data\phone.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = "Phone"; + // onButtonClick = "_this spawn forge_client_phone_fnc_showDialpad;"; + }; + class FORGE_RscPhoneSafariBtn : RscButton { + idc = 202311; + x = "safeZoneX + safeZoneW - 0.780875 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202204, '\z\forge_client\addons\phone\ui\data\safari_sel.paa'];"; + onMouseExit = "ctrlSetText [202204, '\z\forge_client\addons\phone\ui\data\safari.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = "Safari"; + onButtonClick = "_this spawn forge_client_phone_fnc_showSafari;"; + }; + class FORGE_RscPhoneSMSBtnA : RscButton { + idc = 202312; + x = "safeZoneX + safeZoneW - 0.683125 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202202, '\z\forge_client\addons\phone\ui\data\sms_sel.paa'];"; + onMouseExit = "ctrlSetText [202202, '\z\forge_client\addons\phone\ui\data\sms.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = "Messages"; + onButtonClick = "_this spawn forge_client_phone_fnc_viewMessages;"; + }; + class FORGE_RscPhoneEmailBtn : RscButton { + idc = 202313; + x = "safeZoneX + safeZoneW - 0.58425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202205, '\z\forge_client\addons\phone\ui\data\mail_sel.paa'];"; + onMouseExit = "ctrlSetText [202205, '\z\forge_client\addons\phone\ui\data\mail.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = "Mail"; + onButtonClick = "_this spawn forge_client_phone_fnc_viewEmail;"; + }; + class FORGE_RscPhoneContactsBtn : RscButton { + idc = 202314; + x = "safeZoneX + safeZoneW - 0.87975 * 3/4"; + y = "safeZoneY + safeZoneH - 0.77"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202206, '\z\forge_client\addons\phone\ui\data\contacts_sel.paa'];"; + onMouseExit = "ctrlSetText [202206, '\z\forge_client\addons\phone\ui\data\contacts.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = "Contacts"; + onButtonClick = "_this spawn forge_client_phone_fnc_viewContacts;"; + }; + class FORGE_RscPhoneCameraBtn : RscButton { + idc = 202315; + x = "safeZoneX + safeZoneW - 0.780875 * 3/4"; + y = "safeZoneY + safeZoneH - 0.77"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202207, '\z\forge_client\addons\phone\ui\data\camera_sel.paa'];"; + onMouseExit = "ctrlSetText [202207, '\z\forge_client\addons\phone\ui\data\camera.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = "Camera"; + }; + class FORGE_RscPhonePhotosBtn : RscButton { + idc = 202316; + x = "safeZoneX + safeZoneW - 0.683125 * 3/4"; + y = "safeZoneY + safeZoneH - 0.77"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202208, '\z\forge_client\addons\phone\ui\data\photos_sel.paa'];"; + onMouseExit = "ctrlSetText [202208, '\z\forge_client\addons\phone\ui\data\photos.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = "Photos"; + }; + class FORGE_RscPhoneSettingsBtn : RscButton { + idc = 202317; + x = "safeZoneX + safeZoneW - 0.58425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.77"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202209, '\z\forge_client\addons\phone\ui\data\settings_sel.paa'];"; + onMouseExit = "ctrlSetText [202209, '\z\forge_client\addons\phone\ui\data\settings.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = "Settings"; + onButtonClick = "_this spawn forge_client_phone_fnc_viewSettings;"; + }; + + // Close Btn + class FORGE_RscPhoneCloseBtn : RscButton { + idc = 202318; + x = "safeZoneX + safeZoneW - 0.73 * 3/4"; + y = "safeZoneY + safeZoneH - 0.18125"; + w = "0.1"; + h = "0.1"; + text = "Close"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = "Close"; + onButtonClick = "closeDialog 202300"; + }; + + // Back Btn + class FORGE_RscPhoneBackBtn : RscButton { + idc = 202319; + x = "safeZoneX + safeZoneW - 0.73 * 3/4"; + y = "safeZoneY + safeZoneH - 0.18125"; + w = "0.1"; + h = "0.1"; + text = ""; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = "Back"; + }; + + // Dialpad Btns + class FORGE_RscPhoneN01Btn : RscButton { + idc = 202401; + x = "safeZoneX + safeZoneW - 0.83425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.72"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202210, '\z\forge_client\addons\phone\ui\data\no1_sel.paa'];"; + onMouseExit = "ctrlSetText [202210, '\z\forge_client\addons\phone\ui\data\no1.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = ""; + }; + class FORGE_RscPhoneNo2Btn : RscButton { + idc = 202402; + x = "safeZoneX + safeZoneW - 0.73425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.72"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202211, '\z\forge_client\addons\phone\ui\data\no2_sel.paa'];"; + onMouseExit = "ctrlSetText [202211, '\z\forge_client\addons\phone\ui\data\no2.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = ""; + }; + class FORGE_RscPhoneNo3Btn : RscButton { + idc = 202403; + x = "safeZoneX + safeZoneW - 0.63425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.72"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202212, '\z\forge_client\addons\phone\ui\data\no3_sel.paa'];"; + onMouseExit = "ctrlSetText [202212, '\z\forge_client\addons\phone\ui\data\no3.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = ""; + }; + class FORGE_RscPhoneNo4Btn : RscButton { + idc = 202404; + x = "safeZoneX + safeZoneW - 0.83425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.62"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202213, '\z\forge_client\addons\phone\ui\data\no4_sel.paa'];"; + onMouseExit = "ctrlSetText [202213, '\z\forge_client\addons\phone\ui\data\no4.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = ""; + }; + class FORGE_RscPhoneNo5Btn : RscButton { + idc = 202405; + x = "safeZoneX + safeZoneW - 0.73425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.62"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202214, '\z\forge_client\addons\phone\ui\data\no5_sel.paa'];"; + onMouseExit = "ctrlSetText [202214, '\z\forge_client\addons\phone\ui\data\no5.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = ""; + }; + class FORGE_RscPhoneNo6Btn : RscButton { + idc = 202406; + x = "safeZoneX + safeZoneW - 0.63425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.62"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202215, '\z\forge_client\addons\phone\ui\data\no6_sel.paa'];"; + onMouseExit = "ctrlSetText [202215, '\z\forge_client\addons\phone\ui\data\no6.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = ""; + }; + class FORGE_RscPhoneNo7Btn : RscButton { + idc = 202407; + x = "safeZoneX + safeZoneW - 0.83425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.52"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202216, '\z\forge_client\addons\phone\ui\data\no7_sel.paa'];"; + onMouseExit = "ctrlSetText [202216, '\z\forge_client\addons\phone\ui\data\no7.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = ""; + }; + class FORGE_RscPhoneNo8Btn : RscButton { + idc = 202408; + x = "safeZoneX + safeZoneW - 0.73425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.52"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202217, '\z\forge_client\addons\phone\ui\data\no8_sel.paa'];"; + onMouseExit = "ctrlSetText [202217, '\z\forge_client\addons\phone\ui\data\no8.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = ""; + }; + class FORGE_RscPhoneNo9Btn : RscButton { + idc = 202409; + x = "safeZoneX + safeZoneW - 0.63425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.52"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202218, '\z\forge_client\addons\phone\ui\data\no9_sel.paa'];"; + onMouseExit = "ctrlSetText [202218, '\z\forge_client\addons\phone\ui\data\no9.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = ""; + }; + class FORGE_RscPhoneStarBtn : RscButton { + idc = 202410; + x = "safeZoneX + safeZoneW - 0.83425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.42"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202219, '\z\forge_client\addons\phone\ui\data\star_sel.paa'];"; + onMouseExit = "ctrlSetText [202219, '\z\forge_client\addons\phone\ui\data\star.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = ""; + }; + class FORGE_RscPhoneNo0Btn : RscButton { + idc = 202411; + x = "safeZoneX + safeZoneW - 0.73425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.42"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202220, '\z\forge_client\addons\phone\ui\data\no0_sel.paa'];"; + onMouseExit = "ctrlSetText [202220, '\z\forge_client\addons\phone\ui\data\no0.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = ""; + }; + class FORGE_RscPhonePoundBtn : RscButton { + idc = 202412; + x = "safeZoneX + safeZoneW - 0.63425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.42"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202221, '\z\forge_client\addons\phone\ui\data\pound_sel.paa'];"; + onMouseExit = "ctrlSetText [202221, '\z\forge_client\addons\phone\ui\data\pound.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = ""; + }; + class FORGE_RscPhoneCallBtnB : RscButton { + idc = 202413; + x = "safeZoneX + safeZoneW - 0.73425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202222, '\z\forge_client\addons\phone\ui\data\phone_sel.paa'];"; + onMouseExit = "ctrlSetText [202222, '\z\forge_client\addons\phone\ui\data\phone.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = ""; + }; + + // Contact Btns + class FORGE_RscPhoneCallBtnC : RscButton { + idc = 202414; + x = "safeZoneX + safeZoneW - 0.83425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202223, '\z\forge_client\addons\phone\ui\data\phone_sel.paa'];"; + onMouseExit = "ctrlSetText [202223, '\z\forge_client\addons\phone\ui\data\phone.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = "Call contact"; + }; + class FORGE_RscPhoneSMSBtnB : RscButton { + idc = 202415; + x = "safeZoneX + safeZoneW - 0.63425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.32"; + w = "0.1"; + h = "0.1"; + text = ""; + onMouseEnter = "ctrlSetText [202224, '\z\forge_client\addons\phone\ui\data\sms_sel.paa'];"; + onMouseExit = "ctrlSetText [202224, '\z\forge_client\addons\phone\ui\data\sms.paa'];"; + colorBackground[] = {0,0,0,0}; + colorBackgroundActive[] = {0,0,0,0}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {0,0,0,0}; + tooltip = "Text contact"; + }; + class FORGE_RscPhoneSendBtn : RscButton { + idc = 202416; + x = "safeZoneX + safeZoneW - 0.58425 * 3/4"; + y = "safeZoneY + safeZoneH - 0.3525 * 3/4"; + w = "0.075"; + h = "0.05"; + text = "Send"; + colorBackground[] = {0.13,0.8,0.24,1}; + colorBackgroundActive[] = {0.16,0.94,0.29,1}; + colorBackgroundDisabled[] = {0,0,0,0}; + colorBorder[] = {0,0,0,0}; + colorDisabled[] = {0,0,0,0}; + colorFocused[] = {0,0,0,0}; + colorShadow[] = {0,0,0,0}; + colorText[] = {1,1,1,1}; + tooltip = "Send Message"; + }; + }; +}; \ No newline at end of file diff --git a/addons/phone/ui/data/avatar.paa b/addons/phone/ui/data/avatar.paa new file mode 100644 index 0000000000000000000000000000000000000000..4b3293979e1564338496bc823bb2d14fcc6b1757 GIT binary patch literal 47094 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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/bgdark_01.paa b/addons/phone/ui/data/bgdark_01.paa new file mode 100644 index 0000000000000000000000000000000000000000..8f3e53966a5ad000cf6446ba093af0f3254435ba GIT binary patch literal 75580 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

tlLhu5E6%WJPuiR5HA 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ì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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/bglight_02.paa b/addons/phone/ui/data/bglight_02.paa new file mode 100644 index 0000000000000000000000000000000000000000..543063772a57a3fe29afc6fd4232b7b3a18a76d6 GIT binary patch literal 71639 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

|dfLEp2~IG}2%luU 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 b75XfD|E`M6&L8VXwXa;nt^E)Rr0f3x?D5t) literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/camera_sel.paa b/addons/phone/ui/data/camera_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..bdae6eb971e1ae82f5d812154b74b4fdd62dee55 GIT binary patch literal 64754 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Νd43h|A?VkxeQQK9^QvCr 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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/contacts.paa b/addons/phone/ui/data/contacts.paa new file mode 100644 index 0000000000000000000000000000000000000000..5f89e178366eb4af6a9da030d4a3c7d3b8bb6edd GIT binary patch literal 44627 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�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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/contacts_sel.paa b/addons/phone/ui/data/contacts_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..7741f448c4260fd5c6983e35e5c080f05f5b27e9 GIT binary patch literal 59411 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

{vRzGAm^vk)q|W6P3VI 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 b85R}%^hS1^b}W8orYUCwe{}B$4jfMafo@BL literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/credits.paa b/addons/phone/ui/data/credits.paa new file mode 100644 index 0000000000000000000000000000000000000000..0549d7040267d6995692f779e7c73d91ac50fd72 GIT binary patch literal 11080 zcmeHN&u<$=6n^Vu)i@=oi@K!;4i1V-Hfba*6p3ewCB9=1GaZpv6q&}D^Ql%V_ zK%!Q`kwEIvH%^t>Ln@jRM^pk5NFZ?{`~h$%QvV0a_szy2IWkU@G)>wa$$p++JM(>S z=FNNKbso*k&S@w|wtCby(Ki1KnQZ_8yMl0ld5N2a)z zwRpTHrI(OZ$RuWe2Y8VT@r#5?{35OrKay804dn0NU;nmP%J=~aE|$>tynT)H6Z=~X?y+QC>gc-R*(3p@9FI4BWp-p2ca>$z#ZY@y2momE&RKF&XZ=T z0Gv>}JM9;4}zm(ulC9#@dN%A{&lN=*sCLBulE`M zI@kYmi+?@R|6#V*d)0Smf4l!(7xus4ueJ9-8fCB!V7^Uf`)4g5*?-l@{z3oQtN)&V z#_WgRQZJ=VS?ia;=MK)(bBmUD_uSIK^3Q$mU>y{)s}X+qJpq(W{|C$9vF#!KKb))9 z|9hPCl=vOb^N8R4X3Q*P7|!YP3g+?dlef$E{C8ZfWothDAo{=Lf&Q;*g+F^Fc)&qe zzF2xSKQTT&AyO~Fy-0om{d;hT)*#bp@XPxmFApT0hmb+im4^$ccby#Z%Q4R*?o+3X zS%yr(Am0Rj8s>YDCvqFkub&{hSg-V$%&x1cclz)0*o9S%FFca$eptHPJUZmhx16*%le33-bUUWEatFxa- zvDBzm%3Ob8 z!^*#8&4!acB=?^*=9J;5X+_ruqi?8k{K?l;Iexvtzo(X$PR{dNwUNubY`6-ZFiYxID*ge0^}L#oH5{GCj@Vw4auZ{K7(e{x?#Qnf?j4Q@nj? zmv@si|J5M>S!X@&vvPtz`f2v@m}X~vJ5RHb%xvP8P-LzmU(-0XGKuTNVTMoGf4`e} z#Lw8Kv=r@rPg|xW)qXAX|GYrbqf@t=y!;z{iPoj&C!GJ5&nW7f?$jpXtDa8KI_dAy vXVr(d9eTkWh&)oe3Um@?>j$_YPJ;P)Ke|(!%d7TFKN?CumGSW)X2J9iqF$>Z literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/mail.paa b/addons/phone/ui/data/mail.paa new file mode 100644 index 0000000000000000000000000000000000000000..9ccdf4d819388326bb1c64363e3c7bc3d521acef GIT binary patch literal 43270 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%0DdX~*=Y3T?}D(l#E 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 WchsJLFemh8jl=(oUB3mDNdE_K#GUd0 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/mail_sel.paa b/addons/phone/ui/data/mail_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..d2ce20e30c71def1dcbb15e2ea55e5559e97eee3 GIT binary patch literal 51829 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 YURu<}pSepZ-G9@?-k;qGYazM*KLr{+?*IS* literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/mobile_frame.paa b/addons/phone/ui/data/mobile_frame.paa new file mode 100644 index 0000000000000000000000000000000000000000..4631f36c15ca521436cefe78a4294411c2e2c26b GIT binary patch literal 151966 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

IP(8?^Z$+fA3XncxAWg# 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 H5uX1C#ijLR literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/mobile_frame_ca.paa b/addons/phone/ui/data/mobile_frame_ca.paa new file mode 100644 index 0000000000000000000000000000000000000000..dc8e2c7ceb9807aa274d14fe2427f725a0e9a417 GIT binary patch literal 119818 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�hPo@CQp{T_-%Og3vG8nFK;#s5U*dq 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 *M>etCUj5l&8NOb42fu|)mU4z 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 PPoAWV8r7=CU-A7vwIN6D literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no0.paa b/addons/phone/ui/data/no0.paa new file mode 100644 index 0000000000000000000000000000000000000000..2774fe861bf00b10bf301b7a9022b99c58f77549 GIT binary patch literal 38331 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�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 F{{<&&$bSF; literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no1.paa b/addons/phone/ui/data/no1.paa new file mode 100644 index 0000000000000000000000000000000000000000..d05f009f1c23b5eba7dd59de56a5bdf876589985 GIT binary patch literal 37173 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ⅅ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 b02&qW>3OTT&N6hrfKQRu>H=TDnBe$-+ywX} literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no2_sel.paa b/addons/phone/ui/data/no2_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..85da981cf1fd97792a468c0ba3baf186ba3fe6ca GIT binary patch literal 39630 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

hts%KtbwWM>78eCRpOpr8Ky(X zY4D`G`?DeBfzVL6)w&Fz0rO6<;;2P@66SRk#4c5lg1>S)q=1jbwCu(YP$Fx~^&DJ^@ z5N4qnSKtAAcodFQuH;Ggd;|2cSnA&shqPn;XZ*$Ebo zmt6O)wuu+`7)=;_E%xMT`Z>kA5$tTnny(oqj4IWdm6U5w>xF>ps5oXjYg9#9bA7w zs@3^cG+CQlg`GrJOE35u=CD_+w1mBQDRm3*2#LWR`lt>ZIYJ>Cs!es=-yMSS*e>iEaKWoi(*DFHj|xsb~0Zu8^1KxPu2N2d}9qpEtQP+{a@p2O77m zwA>UBS^2dszZF>X68dbP2qb|`^rBDyEQPB&8G&2 zFqQ3^W)9QCz1c3bY6W;@7C%yFPG^Jjz!q-K;R0G)8W;~s&Y456H+g2r60@xYs1Af+ zMRVFsZiz!JW`$*}A+UbpomD(I!mbl!dAXxh7YmD;Xf6h?UC)dMFA{k2M(}+w@Vi{3 zJk3WU9;^UU?O7JGNaH<{=OhaNf3uD&jhi@}e+~h8$U8gAR+M;vJ8CB;%6Cq)p&XOsqp?< zT{up_*KD_HfY8+7On;xqF(ILRFw?LGh>@l2uTf2cXQMvOJHN@*)yM^gGOcarR}pEnFYcXm2u(%? zMQ=i`2>9X1QK|2vg8TRA++XQhhBExEgh5@tvC!bDQi`+z@3xnWejdM6uuNb*CYPpG zAT{__Fe@Y7CXOa@R;*l;v?YwGXe9|;Xrpe@LJBES2uAU@kR>QejW=sAjrkVs6O|xI z8&c~1N5wvNmabd{A$$)*$A23P~W(puRS`hdoIjf$MRVv8`|b^A}LLag$ORq0y#ED-PI5zAE|o_OZ_%o(|A z0B88UqLT7yGKQn>$#jf|Q z0=ro)KBJzycFXZN&fjwO=P3z_~&3Q@nR)81z7 z55s~w?_c@Bs7!aKPa9;2o3hl84jMd6rlKnJ`3y#g?~&!I3)|iU%bPj8C)UT%fvVzq zYC%YY)gqS7rk$h&f9afkpWdSxBd+AvY|+`M39xzr7eC&uH25S%EI#y-6-v9Dfz~ ztU{iOx&umspfaZ}mtLf&*|^{_ysEhI8Nj|mG-*@WzAe9nxo6719GJ60&rmZnzchK+ zTMuZxKBS^D+`de~V@XA^0wjw;X6-&=a``r08aE{>=qz!}(U)7kehy}%S18B};I0FU zb5$Uf@iX{k2ePO&e#rC*QCxhoW+kI{X~gkSzp8^c`jcT?5U;gTYxG`pPfoU$eqFWo zHT6RfyoK_Sd4D58ygU6R9)AG#P zEw2Id-H`g}F>r%KH|$WW3_el((;sANJZx@A6NaEONFanOpmyMw&bcop>O7h_Q6;}(tIq2*D?Ww16{OpUIqAxiv&9OzjQ7Bk`kU2vD#p2lED7M5=X3tbV zcW^t1gCSPy_HGA&v~;JogP9B30aA_nMO&$}Tqrd-n`A5dz2~HkP+V|<)CWO>2^EI2Sxvb*yJs@s(g10HX$Ai| zfGLs@*(2e}^in!F6V@Jk4Aloc$5paHgClWYY? zR}<|X{xc{*$f>I3hki5L2O@od;9u&-7{fv0OISh0n&>ZUR_@z+MCXwt zK06h-sI={!oWVM&F5p~oD&6nY&Z9nGKt+ap+eSTn`gY96?mv3A$rTdK`Zw>no1UPW z0%Wjcp1r^cAc&YTYSW?LROx69F;*J<+53h7EE^U4Agn)eZ;YS%@?wB1HxyvirM^n) zX)A>(BH-J47=&0Z${L7UtLFjyPqj9x@rd5TK6}gJSHs`<inY0KnYzCg&_r z5o@ij;-2SMX81o5^GnFO=&r39@xh-GvV8l`j%9_NXPZWlwKTwP`coFo#QP>kv5SuL zXX6tQYH{tA1|9YdR_E_O-rLWt+Iw5bUYcnRXePzEL-zn`@c8KDsYV)d#3E$+nnE`N zKpGfage~3oK}H*D<;EQ|dNj$B3jP&+Cu>nQn>^Hwlmi=>X$uRQT%@q@6*b@Xe09B~ zD9vWbJg9v9_PyHekCZ6c^!7&xg>3T|SsrTsyCYEQJyc^4H=N#i)XCpP;vGM!Pep|? z~9O-|X?52{{3A)ZKNF%4heGEa@za}@eKHSwi!xiU^;O=f4OEs8M)k^35t1IIh_A1}FgjUK8mmrWyrGw+5o@v*Wm2l%emjI_aD%N@6g7X6XmosUHR zs_DetgIcDxTZ+v-%s}PFElKet0dRHn{L&HvS{r?k_c@xY}$b^ zH<%vfW*d7Sz#63jZBDb<9;or0pKUnuxCE6|pXd2s#iJuww7||SM%VFg5f8r>lEPXsF{M9@^8{}XkbZ&9|N1#|q_W1BZL>KGIw z8fyY6O_DTq8*Nmkycu&mHWGA2oPaF4m34|19>Ec~jsAgS|9mn2%A1uHNrxNgu z2mRzaGlTBECC&t{&vSF1b@uSB8I#}4V6-RZKOVc`rq=Y389A`H>gPODP%lF1d#811 zJGFcH_guKay;Ixq;GNiica;`$us#XYoE2+bX-{}7@lRG)x@Qtc9s+lK*@G2$`S@dl zn71!~v;tRiB;IMSZUoP=tpXPVKJI?jLZf>hhU#A$jL7S%8#8on^t{C{EWtH2%JD~A zpsF(?QdcJnTmB4 zN7pV?YFeK#bf_w0`mv_IQPeS51yQx0^6sxa4-fbHAI8mdlb3lmywVXEyr;NwusWpU z#)_6sM=w9RE2Q%zR23@7O$JDZ)-H?~_z?&1xuqZOfD zuz)#+D?-rn5I+4OLBPjg_3sa@HquF28#A+hO1KiCWRe|6_0ql6`z|O6bx!6!iSwmd zTomqZFK(O!A{|Y}m)tEV-*_>Q)vLKi`gjFyhQTO#oJxLQBhO<)Y@7+~NMXsFl3KyH z>jQY2rb(b^QHB`=#uzDgMWs1zcu+86^PoP~0LpSfJ_AS9J6Iy_5ZNn=2;Uqo|rvfp<-&mDvI1 z{A-~fd#>3=%&`dAav@^2!FO#vX#V2#3cT0QF$Pb z<$L)>;R%i0SFp#xjTfavb>Gn54mhmDzJm5aJwrtkL8W|GH8^lkCVF`Cfv`tFVFU@vQBA{_yb@66{cYnQej^cyEdOw8|y6aywbyD5+ zLMjVNtRF9N+ymSMWf-Ks6OEC^DWYD{dz2~BW=5lt*Tc%dX>gh%jx`2QrV6IuRq0|8 z@Bsv67-WuzI4i`z0F#l>o5KrNgwP+Fkd$Ksd>7gfWJzfZ_}fGyn@66Pl+zKDJB3zc z`xV(Xr71o}HN~ca5RMDNnkwIQK$tXzlHAj-504)&hapm=K9gTVMvb}a=DX{4Q|%~L z+%&8M!B&WT*Mg&E({vZbMCs`&t>1>b+V?(gaOb0Fvbx7WC*s5Hmf}Lrmh19Bn79an z;~&usHO)=QCeRBf)6rHxr48SuMke>P9+PWYT8OGQ@RWq8SDxL_Y~ZG0R8oJRz5~e= zQQZ|{UhmctE?&oI0el;Oh7EiA?cvO&-4^e6mUP7WS-cxPx zgZ40mh5C1~fx~bfm=+alj>z_lG;&m!{MOcm;Z|_OW3mA)9SW6#ylzTBsSvppA$=#U zD1OICW39L6x;?yJh}gIV>1xt?nd)JkArO0AyMbd#2~l_5fmz0I9D2bF%PeZIzReVf zM;QAO!aTi@#8M& zJYwpU-ApXkft!qO-c#N4(`r*kG|KK!*HYj3)g9~9daDYFSGMC)We7{FEL`Vpf-OcS zNDzCVpdgGtl(|f@uatqI$Q}bi_RI`&!CBsqr36xb0dxE}p6|OsWzU3N1F=7YT>}-8 zUKa`V?g<~GZWmqxs~(ZmkLtLi_@D#h@!92PpTw9~KNN!2MB4dP0Iz-5D`u|?_TpC$ zdGYl{MZFN$_h7!L1v8K3=0AKAao>ng-w zq5<8}!ZNq@BgLAR4S}fG4N$&out`;?Z@Sfcq2u~;1&a0*e|GLjG4`QD(amcIduRH_ zI5uGBH>yXCbS!4}s@~VraliQduG{xnTo^AD zJH!N}DCm=|rbP8es$pk&OGjS5XfBcPd-db|(Mhu963k)P1M>wwF2pUTM5_CN1&O5h zo`$OaTb&NruCgALVDCBq&#}XYysr7!OYklJhb0a^)Kh*c+plt* z$BpgPf7FG>$HxrgmLsox28KrhUqBMRpJg^>iVtSuG3QI(F8=ZY7l zAkot99Z*#(PC6|?J4&ACmdMD4Oc}wyzz+%0Y=oZmt04XMK~|XR<6Y~;(Nzfp(cW{+ zedN4yiD;~-dHn^Ux zP|_@dH0qff`Qgo&^~E4@wG^sTJp^;Kx-{m`0f;4>o9eToFZG5#V?=KdD{^FDueaZnS^ji{jsdRKk1f$}lwxj{Pdq4`lyabAG6?oY; z+bN^F1a`17xdi$MA}O17enyl;?%Q(P+6J9}wwTxMtCJV1N$5;0RzwQX76H5Q;|`P7 zAUQdWn<*%n&zubzx2Z zF@g`j9mA(}Xd@ln&a19H;srS<_Y!Qn`1JM)Zv>QOFBL3(FrSj~Dky9dV9Ao)$`|S( zsB&hG_w9`jMFGaq9bwhf{<&W7fF|sP>)vC=kg6QgRNRFpOOi&J3gaD5vUP=*C#hOAYvpKAC-tORAyqouq zJfy0+JN_|+99Hp>?~ZXA3Z3Ru zX_CVz2>#7`>m>NtJUDr5Wpu4wC>(=g98?7kPzN|MGgTzA9E7VC{pGN1-|J7J&}U&4 zY#xH(vRM7l^DC>Ws+chL48`!^O*Ih4PLM?PK*rnIx5B#eI(TTI*-dFuwH{N;1)I^iV?`vSy&qB2FOg6rM3J2Cgz% zDF&k)y$7w{Rn7=kUlFbXJ!USeDJge^ar@phPwv4)xTE|{HF5_h!F40dwxh(S3$ral z+E5N8?Moo>pDASJ&~LbV;(qq8hy~jj(x4{4O50JAZ=|QG(WAaHxFMQTncX!3$1rB0 z@+gd(`_tVy`GR2yz&%I7jqr8v z5LEmGR56Pw^e`BD2uZ`L-XXA(xs7T5yK&9^_t%6mAl9w7&35-Iqre{Yw?g*Q%xgL;Q{YXc=CHNVTln&(%}2Qxo3%WiSCPO+kDt8g3K``$V+pD92f94ol@sK^Pr zS>T4)A?EzXNa5wfkna9kb4CNnP}QAFIj<0fT#rkZ0wKNpkY)_jspW7gbrf=v3vWN) z$8#>YWhttO!^)t6-Uu}msKG7_T}VqR#N|*n25zW*Cwz9;AAnD!$e(J%C}?JIB^2=i zv7_yFpUI2l4O=Lb>ya+J9fs=U2Q}*1s74({_{yssd{bnQI_RBs)|3cO&0n#2I?SEK zvO@2>!@cDuPL=C^Aqch}PTahC41|NR(berGOSj}3LSA?B7~hRh@Nw8jp$Q&onbYO< z@CnaCMU!f-T7}xk8%oc=#}B)_c*9L3gd3M2Y2}(DPnc{`S{$*`%{!l_(C zMvh7;E`&4~0(fB8lgt#3Wmy0~ja9O2y^<>lrQvl78&M`^kG4?Bv z;JFPUcnae!ImT`+%iWo&QIN$*(T= znmV;InIajjMacwvhCdUfCWvDaeO_3#EuB(vsw84SCzrYfn zu;v;qA=Qp4{On_PyU81yC?=+Q)s7mUFjv`L`zg>WB<#fX+6Rpc+0EK~isCz8I3itrUfmktb_K|cqX=3`qD zcT_Qhf7U&9C}ude_PzwH;%(=Iybc&8?eLSCJR{g|g!GXZ%Qlr4KlwX=J|`+~)0z!i zkHD#E+sCRi-Ne$gYhNW5nTdA(tt=Ot_B&RMevY~*RAWVbSuQ4>+bj-dckrvCH|4h6 zQByABL=&RgI&J4Z0DBCglshKsR{seS03=%rK4(VqtjiX5*8x0#WDRg zYxe0~lqAo?b%qxxEiI1qBq_^m;LnBE_whjEPpxW>bGIz?O%%P2&#!s!iFCS3BBY0A zD$1D)2EPjSI<~!J6V{A-XS21`pz(xxqto`><~#R^Fo7*Bld z7r)rlnh1SzB+*@wyV+fXt*@DOTvv>CYj&qC4%Hxu)7tZ||W<{o8 zXXgdj{D-vkM&h;h>JPH0GQVnqE7$1Pf~iulu<^xaNVS$h3SDeT0xW3xDgq@21BooaUy3 z@?m?a+Tk|1RH9T-+ib@3m4Q|eZ8Lk?7aMF<5U-i)%As;-H73ztx{Z(lNWfp#Y&oxo z;h5-8Yu22HkrDA^R`!ZlD#<@~WYD*Y`8mWubXQ}>LkdFPV88v?T+w+|p3Wu6)2*TP zUvWbT)1O`Z=AC4Gbe~@&zMsDpi3UCOe!J8;&%QOwdGtc~Y=(P&sbfB7ggRx$ffuS_Q}GH>H2!knwJsqfsU=RBTx#+LY16TLA*z-~E*%qz(1W>p zJa;6XygE15t}#goyG{a)&}w8hfiH94JOe*+1hooO-XLxOv@D>Eq%L_3GPt!hA+t z;TUK6&7#{A>k9TjB-pPcuakBc9r{|Z@3chn@4+G=qj7l!?=jLbgdGxXLyO^yczJ)R|QI=1<|o>P+r(#N~&c|C(>DB^^O zK3tp`8^_i|h6K$`KoE@r!?8RWERx$&;KOkZd{m^Gt*DYhjBrX@CG#x-Ng0%wqB%l& zAihbBt`nBq=`p_R+P~JjWaPEdx;NXy(6@*peK)j!4Lga(6Y7sX4nGe3MappU&BI=! zO@8=Q;+vi{Bji0K>R4*k=Jk_&#x!zl!TDQdHy*I(x2*L6w9H%7tRs)|{ zf2`f$QWG&mz4H}=8v;zp-J1mjUyP&0)_B1_qRNkt)8H4snx z*u+TdK0E|ZM5)LddU%KzL4C*49+RyJqMNShg(#x{fO(JBP;)uTLJMh}X*8mKL#tvT zBnSTxi$)I$PIx%}-tCK#H-LYn|B-ei2p1XeYFmg*{yTh7qxkxJ)8p^mA0b3myEaD* z2!VgFvH*t2$Qy-U`c`{&4{FO7!a7jOf{3|r8N!qTr`hc?B>P#r0>LX!MxvMq$s3^! z?~)OUW#M)dvwfsJazC`6`GL2;1F!t4Z_g((-{Rp*^A*p5>z|#whz}=Mc{2v z5E+ASz5|U2WHJG!Fow^|u#G}I3hUK&1U;8%_g#D_4?R85DIg0d?Sxz92VbxRAzm!B z?el7USownDFwul5xHfVZoWMcB&)=hs)dIaGm*^e4q~IsV-|pipK%NsJufl&mN?&-< zOk_;>i2NRz$#>^-wf#5Z=NuBy47BazeegT}zK26W??9&q^kpgRU&gV(59I%xA4I6Q z>317aQmM!oJg<1WU-vkS~_;UyRZlvICKO;3M+;D!oVW5JAT!+53m{`&ZxQ z2Ss=7IM5GrVcdD}5)%=cwMe&$m`YtiBLTwE_Go7GQd=t#IepSg^3Eq|YryzLeb65U zg8#$k1LFwCsP4Kt-d~50q%Q9n$RaUcj=cOYf@5gciDZ!Q zzj*yUQE^jKS3~5*5%6}3#H;uR#9YM9$nQw=hs&SC-_{3jlC$>f9;np`>op|*N-=_$ zhCuN!b#YEY(sMcNz8r0feiBrkfxMqU_r%Q1%&YYOfz$hY^kw`VN!;r>Tu`7RyymBz zK)3D5gw4C7^d?d9mQ}@@5=PrmPXO^@_nyEnutySJT=3(b|NrmsM?DUy`i%opfu1FB zkZ9SS(N~NJYb?-zQ^FPWkN%agbyImluqUt5|Hp6dME??q5B~*vj?f?8FLUt~Gyf6& zwy*LnVy#jq(-cDX%r_G4>brT-}X zH}4f{%>HxwnHM{u`111gnakkSB|m!q_bUBI>HmH5J98P-{9TfNpE&NyMf0h11{P({d|NEzj|H2L-)ON|9=OYz`h`202^hx+5g7Yr7Q~O}Q)t1X` z;W}b3w}tEB(B(GlC_%&(_TtEu%h!Jx?U=tZ{wv?{&yxQcd(w6Mr>e{J815xt7uS_- zi9~V*{fB$I2a>Pw_s5>Bd2;O7%lG#|uIx&Gz}+A7t@aOt-k0GWIg{@giT{32{$~{x znG4U$wnXSZ_~Xm}f_(adSI8@UQf3cbA@5^PMu~M-&~v!=m%sp*@ipB0vD4|i+#Y*! z?AWI+#S8zv{TG0Y3W~XW|H#=7tu5Oep?~z{{O`B(e^CEX7js4Zhqz{B&zdj~cwO#~ zsQzcT*V%TZe14Z6!@bEbTzQ>7`SrXj+rzyr@+;e^ea?tXz(?daee&03S6+9V6oW$e zq0#%h@I=)_wi`zDp71_m62YE3C;^}%bAoz(1jS$Q7QfN9^aJ0b9Y0;_binEc@erTU*p{aAHT{E0v6!- zKhp;hxkS`O|Hha2Yi3Z|%DygGC-6ezc~}|C28o!%)DumyUf8bv-V>4aUDzFN z#iwTIJYQXsZ+I6`WEVOG4~_C@q=WxvTd)t8z!tyJ=OxqBinkZM{iD`&L#T#Zuv-{S}Oc8`N;S8kNq`&{+1>x*aGtH zt0}WfW;~tydaa^|g3H34!ul?}bzrm|c?v%MUTwi%g!eyO>OUDx+SCW{)E(`AKJjeL zEAYPA(e_bklT+BiEkt7o*Z`X3t?~`sMh*%-h5koc|8su92-OK&f=Bxk zp=X>uFE(FlN1@cndvr&y%MkIcHkKEs6(i>*e#S9B^7eP;1AAhZ2=5Udoj<&ve(CTP zZ4w0!wO2oW={n#O{Uha>MXa!Vj~*19{6}mM71`$9nlyTy*xp_ZOj01IAz@p0`@68s zyZzDpK42iBEj=J?`>xCQN3}=BYgUf-5AZ00ux(l}Q-$$m0=(YZ@F=`6t;j*a=YKT6 zk*k;4URu*$om#Ny_{jVc#n)eG|5+GbZ!HK&WLxt^K^g5!_+B`EDD7EXLnw(K*=Fwq zxTFujw(|9%U?4)T(h>ny;h^A0fEmZNFH9}CBYm{Zi}Td*XNCT0w*4jX8=4Y|H$Nk& zSz%jTEWBeNV`l9ow@A6W{r1L!pQH=?^G~_$Ej+p{Y=l!~yY|dH{P4KL!ZIUl3rjdq zuqYk=3;Y3LpC3`!Z)84yt^6gtzkb|d_%F;CreB);@&8}*PyYDZ^H2Fdn?ICUpi?hj zrk_xzBiCJS|Ig_Aeb1--VCG-ZFN)}3_<$n-e>OKcIXUC|;Qw2%|8VBtzYePKu1L%D zuZsek=Wm_g_dWl^ng7gX?cnlVhWFZMI}cvj9=US)`roJhe>Z<25PfA@y#iJsbVV6v zq`l$te1#PX{oU82@6JE*ga0l4U(sKq?)G1v-`JBA&gMlop{RixyuI)`}C-9`9_tSnl!T-v*L!3ep1bx8g>y7j)uue9Pf0!bU>a z_ewWY+E8-09`NxRgl)u$cKbD-f|Kz3(Xbv73I76FfNp;udi<^Y%!dVN1UVV$DfJ|r zc*k4}oB8gSHf>Z3VKN~MRZ?oV!)p+PKL~Nj&5k@RbO1j>AK%3Xrqzqtg3Dov-8f;O z51#M27}kn9IufRcXe)3)rGFl2w}5>qIHZ5?_IJnIPjp{kF2du3@o?eO6!KMH4x@a} zd?{h(B1Ehe-1vnNHvoD`ObfSH&p6#W@-{XxLJOaO%y2dM`2R&4?r&CK zaXp=Hw;V2R$PnBxJ2;_)7sh*G#0-b=O7Vwp-hI4#MC`<3**`qHgx}Y2!Onq*Simd% z+3E-0yeIr+KPSu&!|^w><@baImOsF7A9zD=3FEME;0NB`$ie@=e*A`A!t22)^D}{%>#^F+a-R1gWF)-VwS0`yP`-q$$d4*b6{Ee&Pq z2WBSVa4^)KP}T|f`RM9_<}s}JIvHYKLsTfwj7DDIT~W7XK&u0Q_6dN70)ZDIo!plA zh$0u+u22S#Uvc0jn=LclI!if#QL&*Nf-v=h65C;baOS>QU|Nop1 zR1*6hH5-A3^&Mc&2hy{y0Sf^}OS}Ic_y7NF4^j_GhE{e!&3{3DMb{6!e%^s$0V0@x z-(zM3Uh8fL()?Q=XPzZm%2#n8q8F-6r zzYcgb0GJQLI2bs9u4LetopA}`jk)g`nV6b5W_v=NS^NG#Lqj9?e6Tas?*E^8t^sHf r_k55uW&@3#b&ZLEA&UiAq5{LS{=CNo`=8A$pefQOg>|oiZUO=TC-1(^ literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no3.paa b/addons/phone/ui/data/no3.paa new file mode 100644 index 0000000000000000000000000000000000000000..155472daee7cd22f456d2e2dfbd368ba6afe58e2 GIT binary patch literal 38831 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 BjwJv9 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no3_sel.paa b/addons/phone/ui/data/no3_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..d6c2f54115af1126d7a68923d8d94ad567bacc94 GIT binary patch literal 39230 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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no4.paa b/addons/phone/ui/data/no4.paa new file mode 100644 index 0000000000000000000000000000000000000000..f1f49a30adbedd9c355952d4e270aaba3bea05c7 GIT binary patch literal 38460 zcmeHw31Aat+VK0%KaqZSdLWuth+oWJ!8^jA;sL`Z^BaeaDm zeU=3&v)$)!eZYc;(a);0+**RQ z#T63_lkAVrwIF01k3&y$Ibo(Y9iF_?O4mzFRv0UzWa%RV5^+TAIJ~604HsC)N{I?- zgZ>;sa_D&Ro7qNvJ5s=DPg}ZP??Pk@Ssd=pFt`w*k`$j5jO{2^L*CVG^dnL&>AbW1 zn9+|V8pIT*Z%H><&@!VHX{Bnq+vwB5@MPKwd72@B;$#lW=t6GX3%%pT-G^l`e{o*F zv7kTXgj7OKAU1t7qj0OKcFYy{HCQ7NZgi0PpT$YkRphZv>1LZYUBwwXwBE&oMk`hl z6xqE*rRP!Qqx(OFQOPRS>5X12#j`8p)Ws$tKC}9lR<|ylQTdtNz%)P)LM9i(U^k5! z%+f{$`t|TA6q$a#}vH`$4M(sWlYiU$BA+m zHU!3{C@SU0GWAw;Z>)og5d_VcFA=ia?c^u%t^~YO8938|5jB&-+^ADhh2X|J)X5KD zFS}h$ZfzogVH4hTU|fAt=;^^iVugHzVv=9#phyOdpCAbB@&mDmNE(lVnIZg~293B@ zO%{Z(sR}z#7f_=}MIvI*wgL*3!_fREXc2*yt5~o+< zCr|gTxep!K`Vdhae&}AU2iFetuJw(K(Y5Q+3?62L$RdO3sv;gs<7LHjg(a$`241HV zm~_=LlSe0{1IJW8xxY}Yde{(RR;pF02A)afr{nbQ+Gdh}igB1Zj3Lci_E`f>**lLt^xDP*|wj_N|XeRGLFo$lS@ zLmy?Zy2H&9Uy8yzcW|`9$|OiD@r^3IpC(nLFmEu;;9_)shM23rUA^Ayopzh*g-KqZ z6OrAKT$|1@=v}rp&tj`HDQr2s;qaiIwMyjptk78Sw#jA1TYFb6(DPO@NqW}%X12jY z|30ooo!Be1+@Ma}p~26*cjQb))y*lZ_5AI3$%NCwK(8QjH$r;dthEU%>}Af8a_?N>M)jlN9U4(DNEF1J{njN^ zmY1o1U{{u#sWrNpqVfD11~vM*_DOXni%mP8wE=M@QoMF-W5Jb1-b(DQ-kklmzLX&o zgGFz%G-CzMZ5i

6I|e~}%CAs% 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%0Degghhhc>{rjpkNEp>%b}IIFu8n<#EiNd==ns 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 NXKD>wkHeVY_`ibB8(;tc literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no4_sel.paa b/addons/phone/ui/data/no4_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..fe7ad1fc91c3bdbf2b0358cb9573f06ab124b8e9 GIT binary patch literal 39170 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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no5.paa b/addons/phone/ui/data/no5.paa new file mode 100644 index 0000000000000000000000000000000000000000..632099fe966f7899a9aa2f483e0c1de6325dd38c GIT binary patch literal 38475 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 sSjjyf>IzVF|@*S>#! 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�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 QYLA+F??Uy^XIOyOA4qp!_y7O^ literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no7.paa b/addons/phone/ui/data/no7.paa new file mode 100644 index 0000000000000000000000000000000000000000..d4cbf1c867bba62783e7d8e76beaff0b01e264c7 GIT binary patch literal 39454 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 CKynlS literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no7_sel.paa b/addons/phone/ui/data/no7_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..2004bbb557d94482a7b25673ef06868084215753 GIT binary patch literal 39564 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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no8.paa b/addons/phone/ui/data/no8.paa new file mode 100644 index 0000000000000000000000000000000000000000..090246f9a29bb6b7fda3606fe23420c53802b39c GIT binary patch literal 39360 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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no8_sel.paa b/addons/phone/ui/data/no8_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..522df7c0ce5757080efbd27d2f6506953428b82c GIT binary patch literal 39855 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 V#{~PI%`BkMYtq>F8t4Kb0095U8VUda literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no9.paa b/addons/phone/ui/data/no9.paa new file mode 100644 index 0000000000000000000000000000000000000000..cf5e4181d5fb807706efd4b7dd32f1c1a3118e6b GIT binary patch literal 40247 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 HN|OEuUXMW= literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/settings_sel.paa b/addons/phone/ui/data/settings_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..2c57d1ae0e623573decfa88c924be2773ddb6750 GIT binary patch literal 93027 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 fss;; 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 X`-8nX_qK<4F1)l(Rol~pKJfcLuUBQ# literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/sms.paa b/addons/phone/ui/data/sms.paa new file mode 100644 index 0000000000000000000000000000000000000000..b85b053ebbabea39e4ffc7aeae2ca2c48f348bf5 GIT binary patch literal 42496 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

+qOs{Nq&rb%9S7?64ZYZ)rIc7)RMA zhtXdW_ynHQxrU54-x|Lk-OgxLXRrLC@%M{T`v2YV>40;D(&+r+p zW{!cqTNX6#$!Xbqb>m-TdfRXqn5@o9GqMgidha$m9Ron?P_8y3IHE|jOD=ZW!+SaCI7d_qS-xDt4J=p*};#^2EyH}U26E6QB8 z5(mE8*RiVx`vUVt z|Ls4>u|eQ})v#aSQ2w<7UpDf>(gajuylQ+MGFH5p->@_Pf2uGatXYGzCIoPUgN5Lm zEHt*j8DC)2EkSOJunWcx2+X4E>%Qtb@bB>meM~iO*}A0?{kK@u&sZJo=Kn?K4}k`& zJ&VKh6Jxs@pM)O5`NxKh5m-wJr$=L$4@BhO^S2EV82x9vTt2mDgWi93Hxl+#iSnmf zU!p$aP4JC|JqYoMGgkO?|9Jm=gl=$fSr{`aWe?m|wmVbc zt8p2XKi|)zY;oOj{�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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/sms_sel.paa b/addons/phone/ui/data/sms_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..60a98e0d83ece878b90a6d6c6658718d09fc927c GIT binary patch literal 55316 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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/star_sel.paa b/addons/phone/ui/data/star_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..7cdf850d4143325fb124a086f897561d818070ee GIT binary patch literal 37995 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


6j#|CD~g6vu+ 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 gg<C_DesqG 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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/store_sel.paa b/addons/phone/ui/data/store_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..7be7c8bd25db8e03581ddabb6e7b92c0a1cd0c7c GIT binary patch literal 63205 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 z≻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 literal 0 HcmV?d00001 diff --git a/addons/player/$PBOPREFIX$ b/addons/player/$PBOPREFIX$ new file mode 100644 index 0000000..07603c5 --- /dev/null +++ b/addons/player/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\player \ No newline at end of file diff --git a/addons/player/CfgEventHandlers.hpp b/addons/player/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/player/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/player/XEH_PREP.hpp b/addons/player/XEH_PREP.hpp new file mode 100644 index 0000000..2155760 --- /dev/null +++ b/addons/player/XEH_PREP.hpp @@ -0,0 +1 @@ +PREP(firstLogin); \ No newline at end of file diff --git a/addons/player/XEH_postInit.sqf b/addons/player/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/player/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/player/XEH_postInit_client.sqf b/addons/player/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/player/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/player/XEH_preInit.sqf b/addons/player/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/player/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/player/XEH_preInit_server.sqf b/addons/player/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/player/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/player/XEH_preStart.sqf b/addons/player/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/player/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/player/config.cpp b/addons/player/config.cpp new file mode 100644 index 0000000..338b901 --- /dev/null +++ b/addons/player/config.cpp @@ -0,0 +1,16 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" \ No newline at end of file diff --git a/addons/player/functions/fnc_firstLogin.sqf b/addons/player/functions/fnc_firstLogin.sqf new file mode 100644 index 0000000..7b38321 --- /dev/null +++ b/addons/player/functions/fnc_firstLogin.sqf @@ -0,0 +1,114 @@ +#include "..\script_component.hpp" + +/* + * Function: forge_client_player_fnc_firstLogin + * Author: J.Schmidt + * Edit: 07.23.2024 + * Copyright © 2024 J.Schmidt, All rights reserved + * + * Do not edit without permission! + * + * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivative 4.0 International License. + * To view a copy of this license, vist https://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, + * PO Box 1866, Mountain View, CA 94042 + * + * [Description] + * Setup new player. + * + * Arguments: + * N/A + * + * Return Value: + * N/A + * + * Examples: + * [player] spawn forge_client_player_fnc_firstLogin; + * + * Public: Yes + */ + +private _player = _this select 0; +private _uid = getPlayerUID _player; + +private _defaultPhoneNumber = "unknown"; +private _defaultEmail = "unknown@spearnet.mil"; +private _defaultPaygrade = "E1"; + +_player setUnitLoadout [[],[],["hgun_P07_F","","","",["16Rnd_9x21_Mag",17],[],""],["U_BG_Guerrilla_6_1",[["FORGE_Phone",1]]],["V_Rangemaster_belt",[["16Rnd_9x21_Mag",5,17]]],[],"","",[],["","","","","",""]]; +_player action ["SwitchWeapon", _player, _player, -1]; +_player addRating 500; + +SETPVAR(_player,FORGE_Bank,2000); +SETPVAR(_player,FORGE_Holster_Weapon,true); +SETPVAR(_player,PayGrade,_defaultPaygrade); + +private _number = "0160" + (_uid select [count (toArray _uid) - 6, 6]); +private _email = _number + "@spearnet.mil"; + +SETPVAR(_player,FORGE_Phone_Number,_number); +SETPVAR(_player,FORGE_Email,_email); + +private _name = name _player; +private _phoneNumber = GETVAR(_player,FORGE_Phone_Number,_defaultPhoneNumber); +private _phoneEmail = GETVAR(_player,FORGE_Email,_defaultEmail); + +EGVAR(phone,addressbook) pushBackUnique [_name, _phoneNumber, _phoneEmail]; +SETVAR(profileNamespace,FORGE_AddressBook,EGVAR(phone,addressbook)); + +private _messages = [ + "Welcome to your first day on the job. You have been issued a Pistol, 6 x 9mm Ammo, a Pistol Belt, and a small amount of RP and credit from OPSG. These are the only free things you will get for this identity, so save them, and use them wisely. You are responsible for all purchases going forward.", + "Cash in your RP at any laptop by Access the Bank, Sign In, and then Submit Time. Do this before leaving the game session!" +]; + +private _welcomeEmail = format ["Welcome to your first day on the job. You have been issued a phone with a new number of %1 and an email address of %2", _number, _email]; + +["Field Cmdr", _welcomeEmail] spawn EFUNC(phone,newEmail); +// ["listadd", _phoneEmail, "", -1, ["Field Cmdr ", "Job Orientation", _welcomeEmail], "forge_server_phone_fnc_addEmail", false] spawn dragonfly_db_fnc_addTask; +// ["listadd", _phoneEmail, "", -1, ["Field Cmdr ", "Job Orientation", _welcomeEmail], "forge_server_phone_fnc_addEmail", false, netId _player] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; +[_phoneEmail, ["Field Cmdr ", "Job Orientation", _welcomeEmail]] remoteExec ["forge_server_phone_fnc_addEmail", 2, false]; + +uiSleep 1; + +{ + ["Field Cmdr", _x] spawn EFUNC(phone,newMsg); + // ["listadd", _phoneNumber, "", -1, ["Field Cmdr", _x], "", false] spawn dragonfly_db_fnc_addTask; + // ["listadd", _phoneNumber, "", -1, ["Field Cmdr", _x], "", false, netId _player] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; + [_phoneNumber, ["Field Cmdr", _x]] remoteExec ["forge_server_phone_fnc_addMsg", 2, false]; +} forEach _messages; + +private _armory_unlocks = [["FORGE_Phone", 0], ["FORGE_Tablet", 0], ["ItemCompass", 0], ["ItemGPS", 0], ["ItemMap", 0], ["ItemRadio", 0], ["ItemWatch", 0], ["U_BG_Guerrilla_6_1", 0], ["V_Rangemaster_belt", 0], ["hgun_P07_F", 1], ["16Rnd_9x21_Mag", 2]]; +private _garage_unlocks = [["B_Quadbike_01_F", 0]]; + +{ + private _classname = _x select 0; + private _typeOf = _x select 1; + [_classname, _typeOf] call EFUNC(arsenal,addArmoryItem); + uiSleep 0.2; +} forEach _armory_unlocks; + +uiSleep 1; + +{ + private _classname = _x select 0; + private _typeOf = _x select 1; + [_classname, _typeOf] call EFUNC(arsenal,addGarageVehicle); + uiSleep 0.2; +} forEach _garage_unlocks; + +uiSleep 1; +["armory"] call EFUNC(arsenal,saveUnlocks); + +uiSleep 1; +["garage"] call EFUNC(arsenal,saveUnlocks); + +uiSleep 1; +[] call EFUNC(init,playerDBSave); +SETVAR(_player,value_loadDone,true); + +uiSleep 1; +// ["listrng", _phoneEmail, "", -1, [], "forge_client_phone_fnc_addEmail", true, netId _player] spawn dragonfly_db_fnc_addTask; +["listrng", _phoneEmail, "", -1, [], "forge_client_phone_fnc_addEmail", true, netId _player] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; + +uiSleep 1; +// ["listrng", _phoneNumber, "", -1, [], "forge_client_phone_fnc_addMsg", true, netId _player] spawn dragonfly_db_fnc_addTask; +["listrng", _phoneNumber, "", -1, [], "forge_client_phone_fnc_addMsg", true, netId _player] remoteExec ["dragonfly_db_fnc_addTask", 2, false]; \ No newline at end of file diff --git a/addons/player/script_component.hpp b/addons/player/script_component.hpp new file mode 100644 index 0000000..e111b7a --- /dev/null +++ b/addons/player/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT player +#define COMPONENT_BEAUTIFIED Player +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_PLAYER + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_PLAYER + #define DEBUG_SETTINGS DEBUG_SETTINGS_PLAYER +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/service/$PBOPREFIX$ b/addons/service/$PBOPREFIX$ new file mode 100644 index 0000000..2d5f324 --- /dev/null +++ b/addons/service/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\service \ No newline at end of file diff --git a/addons/service/CfgEventHandlers.hpp b/addons/service/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/service/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/service/XEH_PREP.hpp b/addons/service/XEH_PREP.hpp new file mode 100644 index 0000000..f0c52f2 --- /dev/null +++ b/addons/service/XEH_PREP.hpp @@ -0,0 +1,6 @@ +PREP(fuel); +PREP(init); +PREP(rearm); +PREP(refuel); +PREP(repair); +PREP(vehicle); \ No newline at end of file diff --git a/addons/service/XEH_postInit.sqf b/addons/service/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/service/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/service/XEH_postInit_client.sqf b/addons/service/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/service/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/service/XEH_preInit.sqf b/addons/service/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/service/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/service/XEH_preInit_server.sqf b/addons/service/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/service/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/service/XEH_preStart.sqf b/addons/service/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/service/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/service/config.cpp b/addons/service/config.cpp new file mode 100644 index 0000000..338b901 --- /dev/null +++ b/addons/service/config.cpp @@ -0,0 +1,16 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" \ No newline at end of file diff --git a/addons/service/functions/fnc_fuel.sqf b/addons/service/functions/fnc_fuel.sqf new file mode 100644 index 0000000..2ce4213 --- /dev/null +++ b/addons/service/functions/fnc_fuel.sqf @@ -0,0 +1,34 @@ +#include "..\script_component.hpp" + +params ["_veh"]; + +private _fuelNeeded = 1 - (fuel _veh); +private _fuelCost = "FUEL_COST" call BFUNC(getParamValue); +private _estimatedCost = _fuelNeeded * _fuelCost; + +private _fuelAdded = 0; +private _refuelRate = 0.01; +private _refuelInterval = 0.1; + +if (companyFunds < _estimatedCost) exitWith { + ["Insufficient company funds for refueling.", "warning", 3] call EFUNC(misc,notify); +}; + +["Refueling Vehicle...", "grey", 3] call EFUNC(misc,notify); + +while { fuel _veh < 0.99 && companyFunds >= (_fuelAdded * _fuelCost) } do { + _veh setFuel ((fuel _veh) + _refuelRate); + _fuelAdded = _fuelAdded + _refuelRate; + uiSleep _refuelInterval; +}; + +private _totalCost = _fuelAdded * _fuelCost; +private _formattedTotalCost = (_totalCost) call EFUNC(misc,formatNumber); +private _formattedFuelAdded = (_fuelAdded) toFixed 2; + +["deduct", _totalCost] remoteExecCall ["forge_server_money_fnc_handleFunds", 2]; + +[format ["VEHICLE REFUELED: +
Fuel Added: %1 +
Total Cost: $%2 +
Billed to SOF PMC Group.", _formattedFuelAdded, _formattedTotalCost], "blue-grey", 5] call EFUNC(misc,notify); \ No newline at end of file diff --git a/addons/service/functions/fnc_init.sqf b/addons/service/functions/fnc_init.sqf new file mode 100644 index 0000000..c1bc6c7 --- /dev/null +++ b/addons/service/functions/fnc_init.sqf @@ -0,0 +1,19 @@ +#include "..\script_component.hpp" + +private _worldCenter = getArray (configFile >> "CfgWorlds" >> worldName >> "centerPosition"); +private _fuelPumpTypes = ["Land_fs_feed_F", "Land_FuelStation_Feed_F", "Land_FuelStation_01_pump_malevil_F", "Land_FuelStation_01_pump_F", "Land_FuelStation_03_pump_F", "Land_A_FuelStation_Feed", "Land_Benzina_schnell", "Land_Fuelstation_army", "Land_Ind_FuelStation_Feed_EP1", "Land_Fuelstation"]; +private _fuelPumps = nearestTerrainObjects [_worldCenter, _fuelPumpTypes, 500000]; + +{ + private _fuelPump = _x; + private _triggerPos = getPos _fuelPump; + private _trigger = createTrigger ["EmptyDetector", _triggerPos]; + + _trigger setTriggerArea [5, 5, 0, false]; + _trigger setTriggerActivation ["ANYPLAYER", "PRESENT", true]; + _trigger setTriggerStatements [ + "{ _x isKindOf 'LandVehicle' && !isEngineOn _x } count thisList > 0", + "[thisList select 0] spawn forge_client_service_fnc_refuel;", + "" + ]; +} forEach _fuelPumps; \ No newline at end of file diff --git a/addons/service/functions/fnc_rearm.sqf b/addons/service/functions/fnc_rearm.sqf new file mode 100644 index 0000000..c969b82 --- /dev/null +++ b/addons/service/functions/fnc_rearm.sqf @@ -0,0 +1,64 @@ +#include "..\script_component.hpp" + +params ["_veh", "_vehType"]; + +private _fnc_removeMagazines = { + params ["_vehicle", "_magazines"]; + private _removedMags = []; + { + if !(_x in _removedMags) then { + _vehicle removeMagazines _x; + _removedMags pushBack _x; + }; + } forEach _magazines; + _removedMags +}; + +private _fnc_addMagazines = { + params ["_vehicle", "_magazines"]; + private _rearmCost = 0; + { + _vehicle vehicleChat format ["Reloading %1", _x]; + _vehicle addMagazine _x; + _rearmCost = _rearmCost + 100; + uiSleep 1; + } forEach _magazines; + _rearmCost +}; + +private _fnc_processTurrets = { + params ["_vehicle", "_config"]; + private _rearmCost = 0; + private _turretCount = count (_config >> "Turrets"); + for "_i" from 0 to (_turretCount - 1) do { + private _turretConfig = (_config >> "Turrets") select _i; + private _vehMags = getArray (_turretConfig >> "magazines"); + [_vehicle, _vehMags] call _fnc_removeMagazines; + _rearmCost = _rearmCost + ([_vehicle, _vehMags] call _fnc_addMagazines); + + if (count (_turretConfig >> "Turrets") > 0) then { + _rearmCost = _rearmCost + ([_vehicle, _turretConfig] call _fnc_processTurrets); + }; + }; + _rearmCost +}; + +private _vehMags = getArray (configFile >> "CfgVehicles" >> _vehType >> "magazines"); +private _rearmCost = 0; + +[_veh, _vehMags] call _fnc_removeMagazines; +_rearmCost = _rearmCost + ([_veh, _vehMags] call _fnc_addMagazines); + +private _turretConfig = configFile >> "CfgVehicles" >> _vehType >> "Turrets"; +_rearmCost = _rearmCost + ([_veh, _turretConfig] call _fnc_processTurrets); + +if (companyFunds < _rearmCost) exitWith { + ["Insufficient company funds for rearming.", "warning", 3] call EFUNC(misc,notify); +}; + +_veh vehicleChat "Rearming..."; + +_veh setVehicleAmmo 1; +_veh vehicleChat format ["%1 Rearmed.", _vehType]; + +_rearmCost \ No newline at end of file diff --git a/addons/service/functions/fnc_refuel.sqf b/addons/service/functions/fnc_refuel.sqf new file mode 100644 index 0000000..3684c20 --- /dev/null +++ b/addons/service/functions/fnc_refuel.sqf @@ -0,0 +1,44 @@ +#include "..\script_component.hpp" + +params ["_veh", "_vehType"]; + +private _fnc_calculateFuelCost = { + params ["_currentFuel", "_fuelPrice"]; + private _fuelNeeded = 1 - _currentFuel; + private _cost = _fuelNeeded * _fuelPrice; + [_fuelNeeded, _cost] +}; + +private _fnc_refuelVehicle = { + params ["_vehicle", "_fuelNeeded", "_fuelPrice"]; + private _fuelAdded = 0; + private _refuelRate = 0.01; + private _refuelInterval = 0.1; + + while { fuel _vehicle < 0.99 && _fuelAdded < _fuelNeeded } do { + _vehicle setFuel ((fuel _vehicle) + _refuelRate); + _fuelAdded = _fuelAdded + _refuelRate; + uiSleep _refuelInterval; + }; + + _fuelAdded +}; + +private _currentFuel = fuel _veh; +private _fuelPrice = "FUEL_COST" call BFUNC(getParamValue); +private _fuelDetails = [_currentFuel, _fuelPrice] call _fnc_calculateFuelCost; + +_fuelDetails params ["_fuelNeeded", "_estimatedCost"]; + +if (companyFunds < _estimatedCost) exitWith { + ["Insufficient company funds for refueling.", "warning", 3] call EFUNC(misc,notify); +}; + +_veh vehicleChat "Refueling..."; + +private _fuelAdded = [_veh, _fuelNeeded, _fuelPrice] call _fnc_refuelVehicle; +private _fuelCost = _fuelAdded * _fuelPrice; + +_veh vehicleChat format ["%1 Refueled.", _vehType]; + +_fuelCost \ No newline at end of file diff --git a/addons/service/functions/fnc_repair.sqf b/addons/service/functions/fnc_repair.sqf new file mode 100644 index 0000000..ca1a332 --- /dev/null +++ b/addons/service/functions/fnc_repair.sqf @@ -0,0 +1,43 @@ +#include "..\script_component.hpp" + +params ["_veh", "_vehType"]; + +private _fnc_calculateRepairCost = { + params ["_damage", "_repairPrice"]; + private _laborHours = _damage * 10; + private _laborCost = _laborHours * _repairPrice; + private _partsCost = _damage * 1000; + [_laborHours, _laborCost, _partsCost, _laborCost + _partsCost] +}; + +private _currentDamage = damage _veh; +private _repairPrice = "REPAIR_COST" call BFUNC(getParamValue); +private _repairDetails = [_currentDamage, _repairPrice] call _fnc_calculateRepairCost; + +_repairDetails params ["_laborHours", "_laborCost", "_partsCost", "_repairCost"]; + +private _formattedLaborHours = _laborHours toFixed 1; +private _formattedLaborCost = (_laborCost) call EFUNC(misc,formatNumber); +private _formattedPartsCost = (_partsCost) call EFUNC(misc,formatNumber); +private _formattedTotalCost = (_repairCost) call EFUNC(misc,formatNumber); + +[format ["SERVICE DEPARTMENT: +
The repair will take %1 Labor Hours to complete. +
Labor Cost: $%2 +
Parts Cost: $%3 +
Total Cost: $%4", + _formattedLaborHours, _formattedLaborCost, _formattedPartsCost, _formattedTotalCost], "blue-grey", 3] call EFUNC(misc,notify); + +uiSleep 5; + +if (companyFunds < _repairCost) exitWith { + ["Insufficient company funds for repairing.", "warning", 3] call EFUNC(misc,notify); +}; + +_veh vehicleChat "Repairing..."; +uiSleep _laborHours; + +_veh setDamage 0; +_veh vehicleChat format ["%1 Repaired.", _vehType]; + +_repairCost \ No newline at end of file diff --git a/addons/service/functions/fnc_vehicle.sqf b/addons/service/functions/fnc_vehicle.sqf new file mode 100644 index 0000000..a1ef7cf --- /dev/null +++ b/addons/service/functions/fnc_vehicle.sqf @@ -0,0 +1,52 @@ +#include "..\script_component.hpp" + +/* + * Usage: + * _trg = createTrigger ["EmptyDetector", getPos player]; + * _trg setTriggerArea [5, 5, 0, false]; + * _trg setTriggerActivation ["ANYPLAYER", "PRESENT", true]; + * _trg setTriggerStatements [ + * "call { {_x iskindof 'LAND' && speed _x < 1} count thisList > 0; };", + * "call { _handle = [(thisList select 0), 'LAND'] spawn forge_client_service_fnc_vehicle; };", + * "" + * ]; + */ + +params ["_veh", "_vehKind"]; + +private _veh = _this select 0; +private _vehType = getText (configFile >> "CfgVehicles" >> typeOf _veh >> "DisplayName"); + +private _rearmCost = 0; +private _refuelCost = 0; +private _repairCost = 0; +private _totalCost = 0; + +if ((_veh isKindOf _vehKind) && (driver _veh == player)) exitWith { + + _veh vehicleChat format ["Servicing %1... Please Stand By...", _vehType]; + + uiSleep 3; + + _rearmCost = [_veh, _vehType] call FUNC(rearm); + _refuelCost = [_veh, _vehType] call FUNC(refuel); + _repairCost = [_veh, _vehType] call FUNC(repair); + _totalCost = (_rearmCost + _repairCost + _refuelCost); + + private _formattedRearmCost = (_rearmCost) call EFUNC(misc,formatNumber); + private _formattedRefuelCost = (_refuelCost) call EFUNC(misc,formatNumber); + private _formattedRepairCost = (_RepairCost) call EFUNC(misc,formatNumber); + private _formattedTotalCost = (_totalCost) call EFUNC(misc,formatNumber); + + ["deduct", _totalCost] remoteExecCall ["forge_server_money_fnc_handleFunds", 2]; + + [format ["SERVICE COST: +
Rearmament: $%1 +
Repairs: $%2 +
Refueling: $%3 +
Total: $%4 +
Billed to SOF PMC Group.", + _formattedRearmCost, _formattedRepairCost, _formattedRefuelCost, _formattedTotalCost], "blue-grey", 8] call EFUNC(misc,notify); + + _veh vehicleChat format ["Service Completed for %1", _vehType]; +}; \ No newline at end of file diff --git a/addons/service/script_component.hpp b/addons/service/script_component.hpp new file mode 100644 index 0000000..aebc1b2 --- /dev/null +++ b/addons/service/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT service +#define COMPONENT_BEAUTIFIED Service +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_SERVICE + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_SERVICE + #define DEBUG_SETTINGS DEBUG_SETTINGS_SERVICE +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/store/$PBOPREFIX$ b/addons/store/$PBOPREFIX$ new file mode 100644 index 0000000..588f9b7 --- /dev/null +++ b/addons/store/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\store \ No newline at end of file diff --git a/addons/store/CfgEventHandlers.hpp b/addons/store/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/store/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/store/XEH_PREP.hpp b/addons/store/XEH_PREP.hpp new file mode 100644 index 0000000..bb692d1 --- /dev/null +++ b/addons/store/XEH_PREP.hpp @@ -0,0 +1,8 @@ +PREP(buyItem); +PREP(buyVehicle); +PREP(changeFilter); +PREP(changePayment); +PREP(handlePurchase); +PREP(initStore); +PREP(openStore); +PREP(selectProduct); \ No newline at end of file diff --git a/addons/store/XEH_postInit.sqf b/addons/store/XEH_postInit.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/store/XEH_postInit.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/store/XEH_postInit_client.sqf b/addons/store/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/store/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/store/XEH_preInit.sqf b/addons/store/XEH_preInit.sqf new file mode 100644 index 0000000..d7d59fe --- /dev/null +++ b/addons/store/XEH_preInit.sqf @@ -0,0 +1,8 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +ADDON = true; \ No newline at end of file diff --git a/addons/store/XEH_preInit_server.sqf b/addons/store/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/store/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/store/XEH_preStart.sqf b/addons/store/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/store/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/store/config.cpp b/addons/store/config.cpp new file mode 100644 index 0000000..16bedb2 --- /dev/null +++ b/addons/store/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" +#include "ui\BaseControls.hpp" +#include "ui\RscStoreDialog.hpp" \ No newline at end of file diff --git a/addons/store/functions/fnc_buyItem.sqf b/addons/store/functions/fnc_buyItem.sqf new file mode 100644 index 0000000..e388c4a --- /dev/null +++ b/addons/store/functions/fnc_buyItem.sqf @@ -0,0 +1,35 @@ +#include "..\script_component.hpp" + +params ["_item", "_price", "_configType", "_itemType"]; + +private _displayName = ""; +// private _locker = player getVariable ["FORGE_Locker", []]; +private _locker = GETVAR(player,FORGE_Locker,[]); + +if !([_price] call FUNC(handlePurchase)) exitWith {}; + +switch (_configType) do { + case "item": { + _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + _locker pushBack [_itemType, _item]; + }; + case "weapon": { + _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + _locker pushBack [_itemType, _item]; + }; + case "magazine": { + _displayName = getText (configFile >> "CfgMagazines" >> _item >> "displayName"); + _locker pushBack [_itemType, [_item, getNumber (configFile >> "CfgMagazines" >> _item >> "count"), getNumber (configFile >> "CfgMagazines" >> _item >> "count")]]; + }; + case "backpack": { + _displayName = getText (configFile >> "CfgVehicles" >> _item >> "displayName"); + _locker pushBack [_itemType, _item]; + }; +}; + +// player setVariable ["FORGE_Locker", _locker, true]; +SETPVAR(player,FORGE_Locker,_locker); + +[_item, _itemType] call EFUNC(armory,addItemArmory); + +[format ["You have purchased %1 for $%2.", _displayName, _price], "info", 3, "right"] call EFUNC(misc,notify); \ No newline at end of file diff --git a/addons/store/functions/fnc_buyVehicle.sqf b/addons/store/functions/fnc_buyVehicle.sqf new file mode 100644 index 0000000..7514873 --- /dev/null +++ b/addons/store/functions/fnc_buyVehicle.sqf @@ -0,0 +1,19 @@ +#include "..\script_component.hpp" + +params ["_item", "_price", "_itemType"]; + +private _displayName = getText (configFile >> "CfgVehicles" >> _item >> "displayName"); +// private _garage = player getVariable ["FORGE_Garage", []]; +private _garage = GETVAR(player,FORGE_Garage,[]); +private _itemData = [[], 1, 0]; + +if !([_price] call FUNC(handlePurchase)) exitWith {}; + +_garage pushBack [true, _item, _itemData]; + +// player setVariable ["FORGE_Garage", _garage, true]; +SETPVAR(player,FORGE_Garage,_garage); + +[_item, _itemType] call EFUNC(armory,addVehArmory); + +[format ["You have purchased %1 for $%2.", _displayName, _price], "info", 3, "right"] call EFUNC(misc,notify); \ No newline at end of file diff --git a/addons/store/functions/fnc_changeFilter.sqf b/addons/store/functions/fnc_changeFilter.sqf new file mode 100644 index 0000000..4e26f69 --- /dev/null +++ b/addons/store/functions/fnc_changeFilter.sqf @@ -0,0 +1,71 @@ +#include "..\script_component.hpp" + +params ["_control", "_selectedIndex"]; + +private _display = ctrlParent _control; +private _productList = _display displayCtrl IDC_PRODUCTLIST; +lbClear _productList; + +private _selectedCategory = _control lbData _selectedIndex; +private _data = GVAR(currentStore); +private _items = _data select 1; + +[format ["You have selected %1 as your filter.", _selectedCategory], "info", 6, "right"] call EFUNC(misc,notify); + +{ + _x params ["_item", "_price", "_category", "_configType", "_itemType"]; + private _index = -1; + + if (_category == _selectedCategory) then { + switch (_configType) do { + case "item": { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _productList lbAdd _displayName; + _productList lbSetData [_index, str [_item, _price, _category, _configType, _itemType]]; + _productList lbSetPicture [_index, _picture]; + }; + case "weapon": { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _productList lbAdd _displayName; + _productList lbSetData [_index, str [_item, _price, _category, _configType, _itemType]]; + _productList lbSetPicture [_index, _picture]; + }; + case "magazine": { + private _displayName = getText (configFile >> "CfgMagazines" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgMagazines" >> _item >> "picture"); + + _index = _productList lbAdd _displayName; + _productList lbSetData [_index, str [_item, _price, _category, _configType, _itemType]]; + _productList lbSetPicture [_index, _picture]; + }; + case "backpack": { + private _displayName = getText (configFile >> "CfgVehicles" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgVehicles" >> _item >> "picture"); + + _index = _productList lbAdd _displayName; + _productList lbSetData [_index, str [_item, _price, _category, _configType, _itemType]]; + _productList lbSetPicture [_index, _picture]; + }; + case "vehicle": { + private _displayName = getText (configFile >> "CfgVehicles" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgVehicles" >> _item >> "picture"); + + _index = _productList lbAdd _displayName; + _productList lbSetData [_index, str [_item, _price, _category, _configType, _itemType]]; + _productList lbSetPicture [_index, _picture]; + }; + default { + private _displayName = getText (configFile >> "CfgWeapons" >> _item >> "displayName"); + private _picture = getText (configFile >> "CfgWeapons" >> _item >> "picture"); + + _index = _productList lbAdd _displayName; + _productList lbSetData [_index, str [_item, _price, _category, _configType, _itemType]]; + _productList lbSetPicture [_index, _picture]; + }; + }; + }; +} forEach _items; \ No newline at end of file diff --git a/addons/store/functions/fnc_changePayment.sqf b/addons/store/functions/fnc_changePayment.sqf new file mode 100644 index 0000000..05a7e27 --- /dev/null +++ b/addons/store/functions/fnc_changePayment.sqf @@ -0,0 +1,11 @@ +#include "..\script_component.hpp" + +params ["_control", "_selectedIndex"]; + +private _display = ctrlParent _control; +private _selectedPayment = _control lbData _selectedIndex; +private _selectedPaymentTitle = _control lbText _selectedIndex; + +[format ["You have selected %1 as your payment method.", _selectedPaymentTitle], "info", 3, "right"] call EFUNC(misc,notify); + +GVAR(activePayment) = _selectedPayment; \ No newline at end of file diff --git a/addons/store/functions/fnc_handlePurchase.sqf b/addons/store/functions/fnc_handlePurchase.sqf new file mode 100644 index 0000000..a9103c7 --- /dev/null +++ b/addons/store/functions/fnc_handlePurchase.sqf @@ -0,0 +1,40 @@ +#include "..\script_component.hpp" + +params ["_price"]; + +private _paymentData = GVAR(activePayment); +private _payment = call compile _paymentData; + +scopeName "main"; + +if (count _payment > 3) then { + private _authorizedUIDs = _payment select 3; + + if !(getPlayerUID player in _authorizedUIDs) then { + ["You are not authorized to use this payment method!", "warning", 3, "right"] call EFUNC(misc,notify); + false breakOut "main"; + }; +}; + +private _varType = _payment select 2; +private _balance = switch (_varType) do { + case "player": { player getVariable [_payment select 1, 0] }; + case "mission": { missionNamespace getVariable [_payment select 1, 0] }; + default { 0 }; +}; + +if (_balance < _price) exitWith { + ["You do not have enough funds!", "warning", 3, "right"] call EFUNC(misc,notify); + false +}; + +switch (_varType) do { + case "player": { + player setVariable [_payment select 1, (_balance - _price), true]; + }; + case "mission": { + missionNamespace setVariable [_payment select 1, (_balance - _price), true]; + }; +}; + +true \ No newline at end of file diff --git a/addons/store/functions/fnc_initStore.sqf b/addons/store/functions/fnc_initStore.sqf new file mode 100644 index 0000000..ab8a844 --- /dev/null +++ b/addons/store/functions/fnc_initStore.sqf @@ -0,0 +1,37 @@ +#include "..\script_component.hpp" + +{ + private _configName = configName(_x); + private _className = (missionConfigFile >> "CfgStores" >> "stores" >> _configName >> "className") call BFUNC(getCfgData); + private _pos = (missionConfigFile >> "CfgStores" >> "stores" >> _configName >> "pos") call BFUNC(getCfgData); + private _dir = (missionConfigFile >> "CfgStores" >> "stores" >> _configName >> "dir") call BFUNC(getCfgData); + private _type = (missionConfigFile >> "CfgStores" >> "stores" >> _configName >> "type") call BFUNC(getCfgData); + private _name = (missionConfigFile >> "CfgStores" >> "stores" >> _configName >> "name") call BFUNC(getCfgData); + private _categories = (missionConfigFile >> "CfgStores" >> "stores" >> _configName >> "categories") call BFUNC(getCfgData); + private _paymentMethods = (missionConfigFile >> "CfgStores" >> "stores" >> _configName >> "paymentMethods") call BFUNC(getCfgData); + private _products = (missionConfigFile >> "CfgStores" >> "stores" >> _configName >> "products") call BFUNC(getCfgData); + + if (_type == "object") then { + private _store = createSimpleObject [_className, [0, 0, 0]]; + + _store setPosATL _pos; + _store setDir _dir; + _store allowDamage false; + _store setVariable ["storeData", [_categories, _products, _name, _paymentMethods], true]; + _store setVariable ["isStore", true, true]; + } else { + private _group = createGroup civilian; + private _store = _group createUnit [_className, [0, 0, 0], [], 0, "NONE"]; + + _store disableAI "MOVE"; + _store setPosATL _pos; + _store setDir _dir; + _store allowDamage false; + _store setVariable ["storeData", [_categories, _products, _name, _paymentMethods], true]; + _store setVariable ["isStore", true, true]; + _store setVariable ["BIS_enableRandomization", false]; + }; + + diag_log text format ["[FORGE Store] ClassName: '%1' Pos: '%2' Dir: '%3' Type: '%4' Name: '%5'", _className, _pos, _dir, _type, _name]; + +} forEach ("true" configClasses (missionConfigFile >> "CfgStores" >> "stores")); \ No newline at end of file diff --git a/addons/store/functions/fnc_openStore.sqf b/addons/store/functions/fnc_openStore.sqf new file mode 100644 index 0000000..aaa49f3 --- /dev/null +++ b/addons/store/functions/fnc_openStore.sqf @@ -0,0 +1,35 @@ +#include "..\script_component.hpp" + +params [["_store", objNull, [objNull]]]; + +if (isNull _store) exitWith {}; + +disableSerialization; +createDialog "RscStoreDialog"; + +private _display = findDisplay IDD_STOREDIALOG; +private _categoryList = _display displayCtrl IDC_CATEGORYLIST; +private _paymentList = _display displayCtrl IDC_PAYMENTLIST; +private _storeName = _display displayCtrl IDC_DIALOGNAME; +private _data = _store getVariable "storeData"; +private _categories = _data select 0; +private _products = _data select 1; +private _name = _data select 2; +private _paymentMethods = _data select 3; + +GVAR(currentStore) = _data; + +_storeName ctrlSetText _name; + +{ + private _index = _categoryList lbAdd _x; + _categoryList lbSetData [_index, _x]; +} forEach _categories; +_categoryList lbSetCurSel 0; + +{ + private _payment = _x select 0; + private _index = _paymentList lbAdd _payment; + _paymentList lbSetData [_index, format ["%1", _x]]; +} forEach _paymentMethods; +_paymentList lbSetCurSel 0; \ No newline at end of file diff --git a/addons/store/functions/fnc_selectProduct.sqf b/addons/store/functions/fnc_selectProduct.sqf new file mode 100644 index 0000000..4168bb3 --- /dev/null +++ b/addons/store/functions/fnc_selectProduct.sqf @@ -0,0 +1,24 @@ +#include "..\script_component.hpp" + +private _display = findDisplay IDD_STOREDIALOG; +private _productList = _display displayCtrl IDC_PRODUCTLIST; +private _productIndex = lbCurSel _productList; +private _productData = lbData [IDC_PRODUCTLIST, _productIndex]; + +private _product = call compile _productData; +private _item = _product select 0; +private _price = _product select 1; +private _configType = _product select 3; +private _itemType = _product select 4; + +switch (_configType) do { + case "item"; + case "weapon"; + case "magazine"; + case "backpack": { + [_item, _price, _configType, _itemType] call FUNC(buyItem); + }; + case "vehicle": { + [_item, _price, _itemType] call FUNC(buyVehicle); + }; +}; \ No newline at end of file diff --git a/addons/store/script_component.hpp b/addons/store/script_component.hpp new file mode 100644 index 0000000..e1aed22 --- /dev/null +++ b/addons/store/script_component.hpp @@ -0,0 +1,24 @@ +#define COMPONENT store +#define COMPONENT_BEAUTIFIED Store +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_STORE + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_STORE + #define DEBUG_SETTINGS DEBUG_SETTINGS_STORE +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" + +#define IDD_STOREDIALOG 82200 +#define IDC_DIALOGNAME 82201 +#define IDC_CATEGORYLIST 82202 +#define IDC_PAYMENTLIST 82203 +#define IDC_PRODUCTLIST 82204 +#define IDC_BUYBUTTON 82205 +#define IDC_CLOSEBUTTON 82206 \ No newline at end of file diff --git a/addons/store/stringtable.xml b/addons/store/stringtable.xml new file mode 100644 index 0000000..3f5d96d --- /dev/null +++ b/addons/store/stringtable.xml @@ -0,0 +1,20 @@ + + + + + Buy + + + FILTER BY CATEGORY + + + Close + + + Store + + + SELECT PAYMENT + + + diff --git a/addons/store/ui/BaseControls.hpp b/addons/store/ui/BaseControls.hpp new file mode 100644 index 0000000..5fce5a8 --- /dev/null +++ b/addons/store/ui/BaseControls.hpp @@ -0,0 +1,265 @@ +// Control types +#define CT_STATIC 0 +#define CT_BUTTON 1 +#define CT_EDIT 2 +#define CT_SLIDER 3 +#define CT_COMBO 4 +#define CT_LISTBOX 5 +#define CT_TOOLBOX 6 +#define CT_CHECKBOXES 7 +#define CT_PROGRESS 8 +#define CT_HTML 9 +#define CT_STATIC_SKEW 10 +#define CT_ACTIVETEXT 11 +#define CT_TREE 12 +#define CT_STRUCTURED_TEXT 13 +#define CT_CONTEXT_MENU 14 +#define CT_CONTROLS_GROUP 15 +#define CT_SHORTCUTBUTTON 16 +#define CT_HITZONES 17 +#define CT_XKEYDESC 40 +#define CT_XBUTTON 41 +#define CT_XLISTBOX 42 +#define CT_XSLIDER 43 +#define CT_XCOMBO 44 +#define CT_ANIMATED_TEXTURE 45 +#define CT_OBJECT 80 +#define CT_OBJECT_ZOOM 81 +#define CT_OBJECT_CONTAINER 82 +#define CT_OBJECT_CONT_ANIM 83 +#define CT_LINEBREAK 98 +#define CT_USER 99 +#define CT_MAP 100 +#define CT_MAP_MAIN 101 +#define CT_LISTNBOX 102 +#define CT_ITEMSLOT 103 +#define CT_CHECKBOX 77 + +// Static styles +#define ST_POS 0x0F +#define ST_HPOS 0x03 +#define ST_VPOS 0x0C +#define ST_LEFT 0x00 +#define ST_RIGHT 0x01 +#define ST_CENTER 0x02 +#define ST_DOWN 0x04 +#define ST_UP 0x08 +#define ST_VCENTER 0x0C + +#define ST_TYPE 0xF0 +#define ST_SINGLE 0x00 +#define ST_MULTI 0x10 +#define ST_TITLE_BAR 0x20 +#define ST_PICTURE 0x30 +#define ST_FRAME 0x40 +#define ST_BACKGROUND 0x50 +#define ST_GROUP_BOX 0x60 +#define ST_GROUP_BOX2 0x70 +#define ST_HUD_BACKGROUND 0x80 +#define ST_TILE_PICTURE 0x90 +#define ST_WITH_RECT 0xA0 +#define ST_LINE 0xB0 +#define ST_UPPERCASE 0xC0 +#define ST_LOWERCASE 0xD0 + +#define ST_SHADOW 0x100 +#define ST_NO_RECT 0x200 +#define ST_KEEP_ASPECT_RATIO 0x800 + +// Slider styles +#define SL_DIR 0x400 +#define SL_VERT 0 +#define SL_HORZ 0x400 + +#define SL_TEXTURES 0x10 + +// progress bar +#define ST_VERTICAL 0x01 +#define ST_HORIZONTAL 0 + +// Listbox styles +#define LB_TEXTURES 0x10 +#define LB_MULTI 0x20 + +// Tree styles +#define TR_SHOWROOT 1 +#define TR_AUTOCOLLAPSE 2 + +// Default text sizes +#define GUI_TEXT_SIZE_SMALL (GUI_GRID_H * 0.8) +#define GUI_TEXT_SIZE_MEDIUM (GUI_GRID_H * 1) +#define GUI_TEXT_SIZE_LARGE (GUI_GRID_H * 1.2) + +// Pixel grid +#define pixelScale 0.50 +#define GRID_W (pixelW * pixelGrid * pixelScale) +#define GRID_H (pixelH * pixelGrid * pixelScale) + +class ScrollBar; +class RscObject; +class RscText; +class RscTextSmall; +class RscTitle; +class RscProgress; +class RscProgressNotFreeze; +class RscPicture; +class RscLadderPicture; +class RscPictureKeepAspect; +class RscHTML; +class RscButton; +class RscShortcutButton; +class RscButtonSmall; +class RscEdit; +class RscCombo; +class RscListBox; +class RscListNBox; +class RscXListBox; +class RscTree; +class RscSlider; +class RscSliderH; +class RscXSliderH; +class RscActiveText; +class RscStructuredText; +class RscControlsGroup; +class RscToolbox; +class RscMapControl; +class RscCheckBox; +class RscFrame; +class ctrlDefault; +class ctrlControlsGroup; +class ctrlDefaultText; +class ctrlDefaultButton; +class RscBackgroundStripeTop; +class RscBackgroundStripeBottom; +class RscIGText; +class RscIGProgress; +class RscListBoxKeys; +class RscControlsGroupNoScrollbars; +class RscControlsGroupNoHScrollbars; +class RscControlsGroupNoVScrollbars; +class RscLine; +class RscActivePicture; +class RscButtonTextOnly; +class RscShortcutButtonMain; +class RscButtonEditor; +class RscIGUIShortcutButton; +class RscGearShortcutButton; +class RscButtonMenu; +class RscButtonMenuOK; +class RscButtonMenuCancel; +class RscButtonMenuSteam; +class RscLoadingText; +class RscIGUIListBox; +class RscIGUIListNBox; +class RscBackground; +class RscBackgroundGUI; +class RscBackgroundGUILeft; +class RscBackgroundGUIRight; +class RscBackgroundGUIBottom; +class RscBackgroundGUITop; +class RscBackgroundGUIDark; +class RscBackgroundLogo; +class RscMapControlEmpty; +class RscVignette; +class CA_Mainback; +class CA_Back; +class CA_Title_Back; +class CA_Black_Back; +class CA_Title; +class CA_Logo; +class CA_Logo_Small; +class CA_RscButton; +class CA_RscButton_dialog; +class CA_Ok; +class CA_Ok_image; +class CA_Ok_image2; +class CA_Ok_text; +class ctrlCheckbox; +class ctrlCheckboxBaseline; +class ctrlStatic; +class ctrlControlsGroupNoScrollbars; +class ctrlStructuredText; +class RscTextMulti; +class RscTreeSearch; +class RscVideo; +class RscVideoKeepAspect; +class RscActivePictureKeepAspect; +class RscEditMulti; +class RscMapSignalBackground; +class RscMapSignalPicture; +class RscMapSignalText; +class RscColorPicker; +class RscInterlacingScreen; +class RscFeedback; +class RscTrafficLight; +class RscButtonSearch; +class RscIGUIText; +class RscOpticsText; +class RscOpticsValue; +class RscIGUIValue; +class RscButtonMenuMain; +class RscButtonTestCentered; +class RscDisplaySingleMission_ChallengeOverviewGroup; +class RscDisplayDebriefing_RscTextMultiline; +class RscDisplayDebriefing_ListGroup; +class RscButtonArsenal; +class RscTextNoShadow; +class RscButtonNoColor; +class RscToolboxButton; +class ctrlStaticPicture; +class ctrlStaticPictureKeepAspect; +class ctrlStaticPictureTile; +class ctrlStaticFrame; +class ctrlStaticLine; +class ctrlStaticMulti; +class ctrlStaticBackground; +class ctrlStaticOverlay; +class ctrlStaticTitle; +class ctrlStaticFooter; +class ctrlStaticBackgroundDisable; +class ctrlStaticBackgroundDisableTiles; +class ctrlButton; +class ctrlButtonPicture; +class ctrlButtonPictureKeepAspect; +class ctrlButtonOK; +class ctrlButtonCancel; +class ctrlButtonClose; +class ctrlButtonToolbar; +class ctrlButtonSearch; +class ctrlButtonExpandAll; +class ctrlButtonCollapseAll; +class ctrlButtonFilter; +class ctrlEdit; +class ctrlEditMulti; +class ctrlSliderV; +class ctrlSliderH; +class ctrlCombo; +class ctrlComboToolbar; +class ctrlListbox; +class ctrlToolbox; +class ctrlToolboxPicture; +class ctrlToolboxPictureKeepAspect; +class ctrlCheckboxes; +class ctrlCheckboxesCheckbox; +class ctrlProgress; +class ctrlHTML; +class ctrlActiveText; +class ctrlActivePicture; +class ctrlActivePictureKeepAspect; +class ctrlTree; +class ctrlControlsGroupNoHScrollbars; +class ctrlControlsGroupNoVScrollbars; +class ctrlShortcutButton; +class ctrlShortcutButtonOK; +class ctrlShortcutButtonCancel; +class ctrlShortcutButtonSteam; +class ctrlXListbox; +class ctrlXSliderV; +class ctrlXSliderH; +class ctrlMenu; +class ctrlMenuStrip; +class ctrlMap; +class ctrlMapEmpty; +class ctrlMapMain; +class ctrlListNBox; +class ctrlCheckboxToolbar; \ No newline at end of file diff --git a/addons/store/ui/RscStoreDialog.hpp b/addons/store/ui/RscStoreDialog.hpp new file mode 100644 index 0000000..44617eb --- /dev/null +++ b/addons/store/ui/RscStoreDialog.hpp @@ -0,0 +1,75 @@ +class RscStoreDialog { + idd = IDD_STOREDIALOG; + movingEnable = 1; + enableSimulation = 1; + + class controlsBackground { + class MainBackground: RscText { + idc = -1; + x = "0.25 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.5 * safezoneW"; + h = "0.725 * safezoneH"; + colorBackground[] = {0, 0, 0, 0.7}; + }; + class DialogTitle: RscText { + idc = IDC_DIALOGNAME; + text = CSTRING(Name); + x = "0.25 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.5 * safezoneW"; + h = "0.0325 * safezoneH"; + colorBackground[] = {0.1, 0.1, 0.1, 1}; + }; + }; + + class controls { + class CategoryList: RscCombo { + idc = IDC_CATEGORYLIST; + text = CSTRING(Category); + x = "0.6125 * safezoneW + safezoneX"; + y = "0.2425 * safezoneH + safezoneY"; + w = "0.1125 * safezoneW"; + h = "0.0275 * safezoneH"; + onLBSelChanged = "_this call forge_client_store_fnc_changeFilter"; + }; + + class PaymentList: RscCombo { + idc = IDC_PAYMENTLIST; + text = CSTRING(Payment); + x = "0.6125 * safezoneW + safezoneX"; + y = "0.2825 * safezoneH + safezoneY"; + w = "0.1125 * safezoneW"; + h = "0.0275 * safezoneH"; + onLBSelChanged = "_this call forge_client_store_fnc_changePayment"; + }; + + class ItemsList: RscListBox { + idc = IDC_PRODUCTLIST; + x = "0.2775 * safezoneW + safezoneX"; + y = "0.2425 * safezoneH + safezoneY"; + w = "0.3225 * safezoneW"; + h = "0.5575 * safezoneH"; + }; + + class BuyButton: RscButton { + idc = IDC_BUYBUTTON; + text = CSTRING(Buy); + x = "0.6125 * safezoneW + safezoneX"; + y = "0.36 * safezoneH + safezoneY"; + w = "0.1125 * safezoneW"; + h = "0.0275 * safezoneH"; + onButtonClick = "_this call forge_client_store_fnc_selectProduct"; + }; + + class CloseButton: RscButton { + idc = IDC_CLOSEBUTTON; + text = "X"; + x = "0.7225 * safezoneW + safezoneX"; + y = "0.125 * safezoneH + safezoneY"; + w = "0.0275 * safezoneW"; + h = "0.0325 * safezoneH"; + onButtonClick = "closeDialog 0"; + }; + }; +}; \ No newline at end of file diff --git a/addons/task/$PBOPREFIX$ b/addons/task/$PBOPREFIX$ new file mode 100644 index 0000000..e895677 --- /dev/null +++ b/addons/task/$PBOPREFIX$ @@ -0,0 +1 @@ +z\forge_client\addons\task \ No newline at end of file diff --git a/addons/task/CfgEventHandlers.hpp b/addons/task/CfgEventHandlers.hpp new file mode 100644 index 0000000..78b189a --- /dev/null +++ b/addons/task/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreStart_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preStart)); + }; +}; + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + serverInit = QUOTE(call COMPILE_FILE(XEH_preInit_server)); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_postInit)); + clientInit = QUOTE(call COMPILE_FILE(XEH_postInit_client)); + }; +}; \ No newline at end of file diff --git a/addons/task/XEH_PREP.hpp b/addons/task/XEH_PREP.hpp new file mode 100644 index 0000000..99be237 --- /dev/null +++ b/addons/task/XEH_PREP.hpp @@ -0,0 +1,12 @@ +PREP(attack); +PREP(defuse); +PREP(destroy); +PREP(handler); +PREP(heartBeat); +PREP(hostage); +PREP(hvt); +PREP(makeHostage); +PREP(makeHVT); +PREP(makeIED); +PREP(makeObject); +PREP(makeTarget); \ No newline at end of file diff --git a/addons/task/XEH_postInit.sqf b/addons/task/XEH_postInit.sqf new file mode 100644 index 0000000..3777879 --- /dev/null +++ b/addons/task/XEH_postInit.sqf @@ -0,0 +1,5 @@ +#include "script_component.hpp" + +["ace_explosives_defuse", { + GVAR(defusedCount) = GVAR(defusedCount) + 1; +}] call CFUNC(addEventHandler); \ No newline at end of file diff --git a/addons/task/XEH_postInit_client.sqf b/addons/task/XEH_postInit_client.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/task/XEH_postInit_client.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/task/XEH_preInit.sqf b/addons/task/XEH_preInit.sqf new file mode 100644 index 0000000..a58b5bf --- /dev/null +++ b/addons/task/XEH_preInit.sqf @@ -0,0 +1,15 @@ +#include "script_component.hpp" +ADDON = false; + +PREP_RECOMPILE_START; +#include "XEH_PREP.hpp" +PREP_RECOMPILE_END; + +GVAR(allHostages) = []; +GVAR(allHVTs) = []; +GVAR(allIEDs) = []; +GVAR(allEntities) = []; +GVAR(allShooters) = []; +GVAR(allTargets) = []; + +ADDON = true; \ No newline at end of file diff --git a/addons/task/XEH_preInit_server.sqf b/addons/task/XEH_preInit_server.sqf new file mode 100644 index 0000000..84f2529 --- /dev/null +++ b/addons/task/XEH_preInit_server.sqf @@ -0,0 +1 @@ +#include "script_component.hpp" \ No newline at end of file diff --git a/addons/task/XEH_preStart.sqf b/addons/task/XEH_preStart.sqf new file mode 100644 index 0000000..7dca066 --- /dev/null +++ b/addons/task/XEH_preStart.sqf @@ -0,0 +1,2 @@ +#include "script_component.hpp" +#include "XEH_PREP.hpp" \ No newline at end of file diff --git a/addons/task/config.cpp b/addons/task/config.cpp new file mode 100644 index 0000000..338b901 --- /dev/null +++ b/addons/task/config.cpp @@ -0,0 +1,16 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"forge_client_main"}; + authors[] = {"J. Schmidt", "Creedcoder"}; + author = "IDSolutions"; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" \ No newline at end of file diff --git a/addons/task/functions/fnc_attack.sqf b/addons/task/functions/fnc_attack.sqf new file mode 100644 index 0000000..c265cad --- /dev/null +++ b/addons/task/functions/fnc_attack.sqf @@ -0,0 +1,110 @@ +#include "..\script_component.hpp" + +/* + * Author: Creedcoder, J. Schmidt + * Registers an attack task. + * + * Arguments: + * 0: ID of the task + * 1: Amount of targets escaped to fail the task + * 2: Amount of targets eliminated to complete the task + * 3: Should the mission end (MissionSuccess) if the task is successful (default: false) + * 4: Should the mission end (MissionFailed) if the task is failed (default: false) + * 5: Amount of funds the company recieves if the task is successful (default: 0) + * 6: Amount of rating the company and player lose if the task is failed (default: 0) + * 7: Amount of rating the company and player recieve if the task is successful (default: 0) + * 8: Amount of time before target(s) escape (default: nil) + * + * Return Value: + * None + * + * Example: + * ["task_name", 1, 2, 1500000, -75, 375, false, false] spawn forge_client_task_fnc_attack; + * ["task_name", 1, 2, 1500000, -75, 375, false, false, 45] spawn forge_client_task_fnc_attack; + * + * Public: Yes + */ + +// Mission Parameters from Contract via Mission Handler +params [["_taskID", ""], ["_limitFail", -1], ["_limitSuccess", -1], ["_companyFunds", 0], ["_ratingFail", 0], ["_ratingSuccess", 0], ["_endSuccess", false], ["_endFail", false], "_time"]; + +private _result = 0; + +private _targets = GVAR(allTargets) select { (_x getVariable ["assignedTask", ""]) == _taskID }; + +// Mission Initialization. +if (!isNil "_time") then { + // Mission Watchdog checks for example Timeout, killed Targets + private _startTime = floor(time); + waitUntil { + sleep 1; // Use sleep on server side! + + // Timeout check + private _currTime = floor(time); + if (_currTime - _startTime >= _time) then { _result = 1; }; + + // Check if targets are killed + private _targetsAlive = ({ !alive _x } count _targets); + + // Trigger Conditions + (_result == 1) OR (_targetsAlive >= _limitSuccess) + }; +} else { + // Mission Watchdog checks for example Killed targets + waitUntil { + sleep 1; // Use sleep on server side! + + // Check if targets are killed + private _targetsAlive = ({ !alive _x } count _targets); + + // Trigger Conditions + (_targetsAlive >= _limitSuccess) + }; +}; + +if (_result == 1) then { + // Mission Failed + // Clean-up Targets + + { deleteVehicle _x } forEach _targets; + + // Do stuff after the Mission is failed + // Like trigger next mission step via Mission Handler, punishment or so on + + [_taskID, "FAILED"] call BFUNC(taskSetState); + + if (_endFail) then { + ["MissionFail", false] remoteExecCall ["BIS_fnc_endMission", playerSide]; + }; + + ["deduct", _ratingFail] remoteExecCall ["forge_server_rating_fnc_handleRating", 2]; + + sleep 1; + + { [_x, _ratingFail] remoteExec ["addRating", -2] } forEach allPlayers; +} else { + // Mission Complete + // Clean-up Targets + + { deleteVehicle _x } forEach _targets; + + // Do stuff after the Mission is completed + // Like trigger next mission step via Mission Handler, rewards or so on + + [_taskID, "SUCCEEDED"] call BFUNC(taskSetState); + + if (_endSuccess) then { + ["MissionSuccess", true] remoteExecCall ["BIS_fnc_endMission", playerSide]; + }; + + ["advance", _ratingSuccess] remoteExecCall ["forge_server_rating_fnc_handleRating", 2]; + + sleep 1; + + { [_x, _ratingSuccess] remoteExec ["addRating", -2] } forEach allPlayers; + + ["advance", _companyFunds] remoteExecCall ["forge_server_money_fnc_handleFunds", 2]; +}; + +// Reset Mission Spot +// Like delete Markers or other stuff for example Logging \ No newline at end of file diff --git a/addons/task/functions/fnc_defuse.sqf b/addons/task/functions/fnc_defuse.sqf new file mode 100644 index 0000000..9102653 --- /dev/null +++ b/addons/task/functions/fnc_defuse.sqf @@ -0,0 +1,100 @@ +#include "..\script_component.hpp" + +/* + * Author: Creedcoder, J. Schmidt + * Registers a defuse task. + * + * Arguments: + * 0: ID of the task + * 1: Amount of entities destroyed to fail the task + * 2: Amount of ieds defused to complete the task + * 3: Should the mission end (MissionSuccess) if the task is successful (default: false) + * 4: Should the mission end (MissionFailed) if the task is failed (default: false) + * 5: Amount of funds the company recieves if the task is successful (default: 0) + * 6: Amount of rating the company and player lose if the task is failed (default: 0) + * 7: Amount of rating the company and player recieve if the task is successful (default: 0) + * + * Return Value: + * None + * + * Example: + * ["task_name", 2, 3, 375000, -75, 300, false, false] spawn forge_client_task_fnc_defuse; + * + * Public: Yes + */ + +// Mission Parameters from Contract via Mission Handler +params [["_taskID", ""], ["_limitFail", -1], ["_limitSuccess", -1], ["_companyFunds", 0], ["_ratingFail", 0], ["_ratingSuccess", 0], ["_endSuccess", false], ["_endFail", false]]; + +private _result = 0; + +// Get the IED(s) assigned to taskID +private _ieds = GVAR(allIEDs) select { (_x getVariable ["assignedTask", ""]) == _taskID }; + +// Get the entitie(s) assigned to taskID +private _entities = GVAR(allEntities) select { (_x getVariable ["assignedTask", ""]) == _taskID }; + +// Mission Initialization. +// Mission Watchdog checks for example Defused IEDs, Destroyed entities +waitUntil { + sleep 1; // Use sleep on server side! + + // Check if entities are killed + private _entitiesAlive = ({ !alive _x } count _entities); + if (_entitiesAlive >= _limitFail) then { _result = 1; }; + + // Trigger Conditions + (_result == 1) OR ((GVAR(defusedCount) >= _limitSuccess) && (_entitiesAlive < _limitFail)) +}; + +// Mission Watchdog checks for example Defused IEDs, destroyed entities +if (_result == 1) then { + // Mission Failed + // Clean-up IEDs and entities + + { deleteVehicle _x } forEach _ieds; + { deleteVehicle _x } forEach _entities; + + // Do stuff after the Mission is failed + // Like trigger next mission step via Mission Handler, punishment or so on + + [_taskID, "FAILED"] call BFUNC(taskSetState); + + if (_endFail) then { + ["MissionFail", false] remoteExecCall ["BIS_fnc_endMission", playerSide]; + }; + + ["deduct", _ratingFail] remoteExecCall ["forge_server_rating_fnc_handleRating", 2]; + + sleep 1; + + { [_x, _ratingFail] remoteExec ["addRating", -2] } forEach allPlayers; +} else { + // Mission Complete + // Clean-up IEDs and entities + + { deleteVehicle _x } forEach _ieds; + { deleteVehicle _x } forEach _entities; + + // Do stuff after the Mission is completed + // Like trigger next mission step via Mission Handler, rewards or so on + + [_taskID, "SUCCEEDED"] call BFUNC(taskSetState); + + if (_endSuccess) then { + ["MissionSuccess", true] remoteExecCall ["BIS_fnc_endMission", playerSide]; + }; + + ["advance", _ratingSuccess] remoteExecCall ["forge_server_rating_fnc_handleRating", 2]; + + sleep 1; + + { [_x, _ratingSuccess] remoteExec ["addRating", -2] } forEach allPlayers; + + ["advance", _companyFunds] remoteExecCall ["forge_server_money_fnc_handleFunds", 2]; +}; + +// Reset Mission Spot +// Like delete Markers or other stuff for example Logging + +GVAR(defusedCount) = 0; \ No newline at end of file diff --git a/addons/task/functions/fnc_destroy.sqf b/addons/task/functions/fnc_destroy.sqf new file mode 100644 index 0000000..3c6674f --- /dev/null +++ b/addons/task/functions/fnc_destroy.sqf @@ -0,0 +1,111 @@ +#include "..\script_component.hpp" + +/* + * Author: Creedcoder, J. Schmidt + * Registers an destroy task. + * + * Arguments: + * 0: ID of the task + * 1: Amount of targets escaped to fail the task + * 2: Amount of targets eliminated to complete the task + * 3: Should the mission end (MissionSuccess) if the task is successful (default: false) + * 4: Should the mission end (MissionFailed) if the task is failed (default: false) + * 5: Amount of funds the company recieves if the task is successful (default: 0) + * 6: Amount of rating the company and player lose if the task is failed (default: 0) + * 7: Amount of rating the company and player recieve if the task is successful (default: 0) + * 8: Amount of time before target(s) escape (default: nil) + * + * Return Value: + * None + * + * Example: + * ["task_name", 1, 2, 250000, -75, 300, false, false] spawn forge_client_task_fnc_destroy; + * ["task_name", 1, 2, 250000, -75, 300, false, false, 45] spawn forge_client_task_fnc_destroy; + * + * Public: Yes + */ + +// Mission Parameters from Contract via Mission Handler +params [["_taskID", ""], ["_limitFail", -1], ["_limitSuccess", -1], ["_companyFunds", 0], ["_ratingFail", 0], ["_ratingSuccess", 0], ["_endSuccess", false], ["_endFail", false], "_time"]; + +private _result = 0; + +// Get the targets assigned to taskID +private _targets = GVAR(allTargets) select { (_x getVariable ["assignedTask", ""]) == _taskID }; + +// Mission Initialization. +if (!isNil "_time") then { + // Mission Watchdog checks for example Timeout, Destroyed Targets + private _startTime = floor(time); + waitUntil { + sleep 1; // Use sleep on server side! + + // Timeout check + private _currTime = floor(time); + if (_currTime - _startTime >= _time) then { _result = 1; }; + + // Check if targets are killed + private _targetsAlive = ({ !alive _x } count _targets); + + // Trigger Conditions + (_result == 1) OR (_targetsAlive >= _limitSuccess) + }; +} else { + // Mission Watchdog checks for example killed Targets + waitUntil { + sleep 1; // Use sleep on server side! + + // Check if targets are killed + private _targetsAlive = ({ !alive _x } count _targets); + + // Trigger Conditions + (_targetsAlive >= _limitSuccess) + }; +}; + +if (_result == 1) then { + // Mission Failed + // Clean-up Targets + + { deleteVehicle _x } forEach _targets; + + // Do stuff after the Mission is failed + // Like trigger next mission step via Mission Handler, punishment or so on + + [_taskID, "FAILED"] call BFUNC(taskSetState); + + if (_endFail) then { + ["MissionFail", false] remoteExecCall ["BIS_fnc_endMission", playerSide]; + }; + + ["deduct", _ratingFail] remoteExecCall ["forge_server_rating_fnc_handleRating", 2]; + + sleep 1; + + { [_x, _ratingFail] remoteExec ["addRating", -2] } forEach allPlayers; +} else { + // Mission Complete + // Clean-up Targets + + { deleteVehicle _x } forEach _targets; + + // Do stuff after the Mission is completed + // Like trigger next mission step via Mission Handler, rewards or so on + + [_taskID, "SUCCEEDED"] call BFUNC(taskSetState); + + if (_endSuccess) then { + ["MissionSuccess", true] remoteExecCall ["BIS_fnc_endMission", playerSide]; + }; + + ["advance", _ratingSuccess] remoteExecCall ["forge_server_rating_fnc_handleRating", 2]; + + sleep 1; + + { [_x, _ratingSuccess] remoteExec ["addRating", -2] } forEach allPlayers; + + ["advance", _companyFunds] remoteExecCall ["forge_server_money_fnc_handleFunds", 2]; +}; + +// Reset Mission Spot +// Like delete Markers or other stuff for example Logging \ No newline at end of file diff --git a/addons/task/functions/fnc_handler.sqf b/addons/task/functions/fnc_handler.sqf new file mode 100644 index 0000000..57ebbb8 --- /dev/null +++ b/addons/task/functions/fnc_handler.sqf @@ -0,0 +1,70 @@ +#include "..\script_component.hpp" + +/* + * Author: Creedcoder, J. Schmidt + * Server side task handler/spawner. + * + * Arguments: + * 0: Type of task + * 1: Params for task + * 2: Minimum rating for task (default: nil) + * + * Return Value: + * None + * + * Example: + * ["task_type", [_reward, _punish, _time, etc.....], minRating] remoteExec ["forge_client_task_fnc_handler", 2, false]; + * + * Public: Yes + */ + +params [["_taskType", "", [""]], ["_cntParams", [], [[]]], ["_minRating", 0, [0]]]; + +private _thread = 0; + +// Trigger before the task starts or what ever you need +// For example block accepting new tasks, lock shops, player save and so on + +GVAR(acceptTask) = false; + +if (isNil "companyRating") then { companyRating = 0; }; +if (isNil "_minRating") then { _minRating = 0; }; + +private _companyRating = companyRating; +if (_companyRating < _minRating) exitWith { + hint format ["The company rating of %1 does not meet or exceed the minimum required rating of %2.", _companyRating, _minRating]; +}; + +// Start the task +switch (_taskType) do { + case "attack": { + private _thread = _cntParams spawn FUNC(attack); + waitUntil { sleep 2; scriptDone _thread }; + }; + case "defuse": { + private _thread = _cntParams spawn FUNC(defuse); + waitUntil { sleep 2; scriptDone _thread }; + }; + case "destroy": { + private _thread = _cntParams spawn FUNC(destroy); + waitUntil { sleep 2; scriptDone _thread }; + }; + case "hostage": { + private _thread = _cntParams spawn FUNC(hostage); + waitUntil { sleep 2; scriptDone _thread }; + }; + case "hvt": { + private _thread = _cntParams spawn FUNC(hvt); + waitUntil { sleep 2; scriptDone _thread }; + }; + default { + diag_log format ["Unknown Contract Type: %1", _taskType]; + }; +}; + +diag_log "Mision Handler Done"; + +// Do Stuff what you need to be done after the task +// For example allow accepting new tasks, open shops and so on + +GVAR(acceptTask) = true; \ No newline at end of file diff --git a/addons/task/functions/fnc_heartBeat.sqf b/addons/task/functions/fnc_heartBeat.sqf new file mode 100644 index 0000000..26316a2 --- /dev/null +++ b/addons/task/functions/fnc_heartBeat.sqf @@ -0,0 +1,64 @@ +#include "..\script_component.hpp" + +/* + * Author: Creedcoder, J. Schmidt + * Registers Entity and starts heartbeat. + * + * Arguments: + * 0: The entity + * 1: Type of the entity + * 2: The countdown timer + * + * Return Value: + * None + * + * Example: + * [_entity, "entity_type", 30] spawn FUNC(heartBeat); + * + * Public: Yes + */ + +params [["_entity", nil, [objNull, 0, [], sideUnknown, grpNull, ""]], ["_typeOf", "", [""]], ["_time", 0, [0]]]; + +switch (_typeOf) do { + case "hostage": { + _entity setCaptive true; + _entity enableAIFeature ["MOVE", false]; + _entity playMove "acts_executionvictim_loop"; + + waitUntil { + sleep 1; + private _nearPlayers = allPlayers inAreaArray [ASLToAGL getPosASL _entity, 2, 2, 0, false, 2]; + count _nearPlayers > 0 + }; + + private _nearPlayer = _nearPlayers select 0; + + [_entity] joinSilent (group _nearPlayer); + + _entity setCaptive false; + _entity enableAIFeature ["MOVE", true]; + _entity playMove "acts_executionvictim_unbow"; + }; + case "hvt": { + waitUntil { + sleep 1; + private _nearPlayers = allPlayers inAreaArray [ASLToAGL getPosASL _entity, 2, 2, 0, false, 2]; + count _nearPlayers > 0 + }; + + _entity setCaptive true; + doStop _entity; + }; + case "ied": { + _time = _time -1; + sleep 1; + + if (!alive _entity) exitWith {}; + + if (_time > 10) then { _entity say3D "FORGE_timerBeep" }; + if (_time <= 10 && _time > 5) then { _entity say3D "FORGE_timerBeepShort" }; + if (_time <= 5) then { _entity say3D "FORGE_timerEnd" }; + if (_time <= 0) exitWith { _entity setDamage 1 }; + }; +}; \ No newline at end of file diff --git a/addons/task/functions/fnc_hostage.sqf b/addons/task/functions/fnc_hostage.sqf new file mode 100644 index 0000000..d2c0f67 --- /dev/null +++ b/addons/task/functions/fnc_hostage.sqf @@ -0,0 +1,173 @@ +#include "..\script_component.hpp" + +/* + * Author: Creedcoder, J. Schmidt + * Registers an hostage task. + * + * Arguments: + * 0: ID of the task + * 1: Amount of hostages KIA to fail the task + * 2: Amount of hostages rescued to complete the task + * 3: Marker name for the extraction zone + * 4: Subcategory of task (default: [false, true]) + * 5: Should the mission end (MissionSuccess) if the task is successful (default: false) + * 6: Should the mission end (MissionFailed) if the task is failed (default: false) + * 7: Amount of funds the company recieves if the task is successful (default: 0) + * 8: Amount of rating the company and player lose if the task is failed (default: 0) + * 9: Amount of rating the company and player recieve if the task is successful (default: 0) + * 10: Amount of time before hostage(s) die (default: nil) + * 11: Marker name for the cbrn zone (default: nil) + * + * Return Value: + * None + * + * Example: + * ["task_name", 1, 2, "marker_name", 1500000, -75, 500, [false, true], false, false] spawn forge_client_task_fnc_hostage; + * ["task_name", 1, 2, "marker_name", 1500000, -75, 500, [false, true], false, false, 45] spawn forge_client_task_fnc_hostage; + * ["task_name", 1, 2, "marker_name", 1500000, -75, 500, [true, false], false, false, 45, "marker_name"] spawn forge_client_task_fnc_hostage; + * + * Public: Yes + */ + +// Mission Parameters from Contract via Mission Handler +params [["_taskID", ""], ["_limitFail", -1], ["_limitSuccess", -1], ["_extZone", ""], ["_companyFunds", 0], ["_ratingFail", 0], ["_ratingSuccess", 0], ["_type", [["_cbrn", false], ["_hostage", true]]], ["_endSuccess", false], ["_endFail", false], "_time", ["_cbrnZone", ""]]; + +private _cbrn = (_this select 8) select 0; +private _hostage = (_this select 8) select 1; +private _nearPlayers = []; +private _result = 0; + +// Get the hostages +private _hostages = GVAR(allHostages) select { (_x getVariable ["assignedTask", ""]) == _taskID }; + +// Get the shooters +private _shooters = GVAR(allShooters) select { (_x getVariable ["assignedTask", ""]) == _taskID }; + +// Mission Initialization. +if (!isNil "_time") then { + // Mission Watchdog checks for example Timeout, killed Hostages, killed Shooters + private _startTime = floor(time); + waitUntil { + sleep 1; // Use sleep on server side! + + // Check if hostages are killed + private _hostagesAlive = ({ !alive _x } count _hostages); + if (_hostagesAlive >= _limitFail) then { _result = 1; }; + + // Check if hostages are in extraction zone + private _hostagesInZone = ({ _x inArea _extZone } count _hostages); + + // Check if hostages are captive + private _hostagesCaptive = ({ !captive _x } count _hostages); + + // Check if shooters are killed + private _shootersAlive = ({ alive _x } count _shooters); + + // Timeout check + private _currTime = floor(time); + if ((_hostagesCaptive < _limitSuccess) && (_currTime - _startTime >= _time)) then { _result = 1; }; + + // Trigger Conditions + (_result == 1) OR (_hostagesInZone >= _limitSuccess) OR ((!isNil "_shooters") && (_shootersAlive <= 0)) + }; +} else { + // Mission Watchdog checks for example killed Hostages, killed Shooters + waitUntil { + sleep 1; // Use sleep on server side! + + // Check if hostages are killed + private _hostagesAlive = ({ !alive _x } count _hostages); + if (_hostagesAlive >= _limitFail) then { _result = 1; }; + + // Check if hostages are in extraction zone + private _hostagesInZone = ({ _x inArea _extZone } count _hostages); + + // Check if shooters are killed + private _shootersAlive = ({ alive _x } count _shooters); + + // Trigger Conditions + (_result == 1) OR (_hostagesInZone >= _limitSuccess) OR ((!isNil "_shooters") && (_shootersAlive <= 0)) + }; +}; + +if (_result == 1) then { + // Mission Failed + + // Do stuff after the Mission is failed + // Like trigger next mission step via Mission Handler, punishment or so on + + // Check if task is typeOf CBRN + if (_cbrn) then { + "SmokeShellYellow" createVehicle getMarkerPos _cbrnZone; + + sleep 5; + + { + if (captive _x) then { + _x setDamage 0.9; + _x playMove "acts_executionvictim_kill_end"; + + sleep 2.75; + + _x setDamage 1; + } + } forEach _hostages; + }; + + // Check if task is typeOf Hostage(s) + if (_hostage) then { + { + _x enableAIFeature ["MOVE", true]; + _x playMove ""; + } forEach _shooters; + + sleep 1; + + { _x setCaptive false; } forEach _hostages; + + sleep 5; + }; + + // Clean-up Hostages and Shooters + + { deleteVehicle _x } forEach _hostages; + { deleteVehicle _x } forEach _shooters; + + [_taskID, "FAILED"] call BFUNC(taskSetState); + + if (_endFail) then { + ["MissionFail", false] remoteExecCall ["BIS_fnc_endMission", playerSide]; + }; + + ["deduct", _ratingFail] remoteExecCall ["forge_server_rating_fnc_handleRating", 2]; + + sleep 1; + + { [_x, _ratingFail] remoteExec ["addRating", -2] } forEach allPlayers; +} else { + // Mission Complete + // Clean-up Hostages and Shooters + + { deleteVehicle _x } forEach _hostages; + { deleteVehicle _x } forEach _shooters; + + // Do stuff after the Mission is completed + // Like trigger next mission step via Mission Handler, rewards or so on + + [_taskID, "SUCCEEDED"] call BFUNC(taskSetState); + + if (_endSuccess) then { + ["MissionSuccess", true] remoteExecCall ["BIS_fnc_endMission", playerSide]; + }; + + ["advance", _ratingSuccess] remoteExecCall ["forge_server_rating_fnc_handleRating", 2]; + + sleep 1; + + { [_x, _ratingSuccess] remoteExec ["addRating", -2] } forEach allPlayers; + + ["advance", _companyFunds] remoteExecCall ["forge_server_money_fnc_handleFunds", 2]; +}; + +// Reset Mission Spot +// Like delete Markers or other stuff for example Logging \ No newline at end of file diff --git a/addons/task/functions/fnc_hvt.sqf b/addons/task/functions/fnc_hvt.sqf new file mode 100644 index 0000000..1b9964f --- /dev/null +++ b/addons/task/functions/fnc_hvt.sqf @@ -0,0 +1,129 @@ +#include "..\script_component.hpp" + +/* + * Author: Creedcoder, J. Schmidt + * Registers an hvt task. + * + * Arguments: + * 0: ID of the task + * 1: Amount of HVTs KIA to fail the task + * 2: Amount of HVTs Captured or KIA to complete the task + * 3: Marker name for the extraction zone + * 4: Subcategory of task (default: [true, false]) + * 5: Should the mission end (MissionSuccess) if the task is successful (default: false) + * 6: Should the mission end (MissionFailed) if the task is failed (default: false) + * 7: Amount of funds the company recieves if the task is successful (default: 0) + * 8: Amount of rating the company and player lose if the task is failed (default: 0) + * 9: Amount of rating the company and player recieve if the task is successful (default: 0) + * 10: Amount of time before hvt(s) die (default: nil) + * + * Return Value: + * None + * + * Example: + * ["task_name", 1, 1, "marker_name", 500000, -75, 300, [true, false], false, false] spawn forge_client_task_fnc_hvt; + * ["task_name", -1, 1, "", 500000, -75, 300, [false, true], false, false] spawn forge_client_task_fnc_hvt; + * ["task_name", 1, 1, "marker_name", 500000, -75, 300, [true, false], false, false, 45] spawn forge_client_task_fnc_hvt; + * ["task_name", -1, 1, "", 500000, -75, 300, [false, true], false, false, 45] spawn forge_client_task_fnc_hvt; + * + * Public: Yes + */ + +// Mission Parameters from Contract via Mission Handler +params [["_taskID", ""], ["_limitFail", -1], ["_limitSuccess", -1], ["_extZone", ""], ["_companyFunds", 0], ["_ratingFail", 0], ["_ratingSuccess", 0], ["_type", [["_capture", true], ["_eliminate", false]]], ["_endSuccess", false], ["_endFail", false], "_time"]; + +private _capture = (_this select 7) select 0; +private _eliminate = (_this select 7) select 1; +private _nearPlayers = []; +private _result = 0; +private _hvts = GVAR(allHVTs) select { (_x getVariable ["assignedTask", ""]) == _taskID }; + +// Mission Initialization. +if (!isNil "_time") then { + // Mission Watchdog checks for example Timeout, Captured/Killed HVTs + private _startTime = floor(time); + waitUntil { + sleep 1; // Use sleep on server side! + + // Check if hvts are killed + private _hvtsAlive = ({ !alive _x } count _hvts); + if (_capture && (_hvtsAlive >= _limitFail)) then { _result = 1; }; + + // Check if hvts are in extraction zone + private _hvtsInZone = ({ _x inArea _extZone } count _hvts); + + // Check if hvts are captive + private _hvtsCaptive = ({ captive _x } count _hvts); + + // Timeout check + private _currTime = floor(time); + if ((_hvtsCaptive < _limitSuccess) && (_currTime - _startTime >= _time)) then { _result = 1; }; + + // Trigger Conditions + (_result == 1) OR (_hvtsInZone >= _limitSuccess) OR (_hvtsAlive >= _limitSuccess) + }; +} else { + // Mission Watchdog checks for example Captured/Killed HVTs + waitUntil { + sleep 1; // Use sleep on server side! + + // Check if hvts are killed + private _hvtsAlive = ({ !alive _x } count _hvts); + if (_capture && (_hvtsAlive >= _limitFail)) then { _result = 1; }; + + // Check if hvts are in extraction zone + private _hvtsInZone = ({ _x inArea _extZone } count _hvts); + + // Check if hvts are captive + private _hvtsCaptive = ({ captive _x } count _hvts); + + // Trigger Conditions + (_result == 1) OR (_hvtsInZone >= _limitSuccess) OR (_hvtsAlive >= _limitSuccess) + }; +}; + +if (_result == 1) then { + // Mission Failed + // Clean-up HVTs + { deleteVehicle _x } forEach _hvts; + + // Do stuff after the Mission is failed + // Like trigger next mission step via Mission Handler, punishment or so on + + [_taskID, "FAILED"] call BFUNC(taskSetState); + + if (_endFail) then { + ["MissionFail", false] remoteExecCall ["BIS_fnc_endMission", playerSide]; + }; + + ["deduct", _ratingFail] remoteExecCall ["forge_server_rating_fnc_handleRating", 2]; + + sleep 1; + + { [_x, _ratingFail] remoteExec ["addRating", -2] } forEach allPlayers; +} else { + // Mission Complete + // Clean-up HVTs + + { deleteVehicle _x } forEach _hvts; + + // Do stuff after the Mission is completed + // Like trigger next mission step via Mission Handler, rewards or so on + + [_taskID, "SUCCEEDED"] call BFUNC(taskSetState); + + if (_endSuccess) then { + ["MissionSuccess", true] remoteExecCall ["BIS_fnc_endMission", playerSide]; + }; + + ["advance", _ratingSuccess] remoteExecCall ["forge_server_rating_fnc_handleRating", 2]; + + sleep 1; + + { [_x, _ratingSuccess] remoteExec ["addRating", -2] } forEach allPlayers; + + ["advance", _companyFunds] remoteExecCall ["forge_server_money_fnc_handleFunds", 2]; +}; + +// Reset Mission Spot +// Like delete Markers or other stuff for example Logging \ No newline at end of file diff --git a/addons/task/functions/fnc_makeHVT.sqf b/addons/task/functions/fnc_makeHVT.sqf new file mode 100644 index 0000000..cbc1043 --- /dev/null +++ b/addons/task/functions/fnc_makeHVT.sqf @@ -0,0 +1,43 @@ +#include "..\script_component.hpp" + +/* + * Author: Creedcoder, J. Schmidt + * Registers an AI unit as a hvt. + * + * Arguments: + * 0: The AI unit + * 1: ID of the task + * + * Return Value: + * None + * + * Example: + * [this, "task_name"] spawn forge_client_task_fnc_makeHVT; + * + * Public: Yes + */ + +params [["_entity", nil, [objNull, 0, [], sideUnknown, grpNull, ""]], ["_taskID", "", [""]]]; + +// Check stuff +// if (isNull _entity) exitWith {[COMPONENT_NAME, "ERROR", "Unit is not found", true] call forge_server_main_fnc_log}; +// if (_taskID == "") exitWith {[COMPONENT_NAME, "ERROR", "Task ID is empty", true] call forge_server_main_fnc_log}; + +// Register hvt +SETVAR(_entity,assignedTask,_taskID); + +// Add unit to hvt array +private _index = GVAR(allHVTs) pushBackUnique _entity; + +if (alive _entity) then { + [_entity, "hvt"] spawn FUNC(heartBeat); +}; + +// Log +// [COMPONENT_NAME, "DEBUG", format [ +// "Unit (%1) is registered as a hvt. HVT array: %2", _entity, str GVAR(allHVTs) +// ]] call forge_server_main_fnc_log; + +// if (_index == -1) then { +// [COMPONENT_NAME, "WARNING", format ["Unit (%1) is already a hvt", _entity], true] call forge_server_main_fnc_log; +// }; \ No newline at end of file diff --git a/addons/task/functions/fnc_makeHostage.sqf b/addons/task/functions/fnc_makeHostage.sqf new file mode 100644 index 0000000..ff48108 --- /dev/null +++ b/addons/task/functions/fnc_makeHostage.sqf @@ -0,0 +1,46 @@ +#include "..\script_component.hpp" + +/* + * Author: Creedcoder, J. Schmidt + * Registers an AI unit as a hostage/POW. + * + * Arguments: + * 0: The AI unit + * 1: ID of the task + * + * Return Value: + * None + * + * Example: + * [this, "task_name"] spawn forge_client_task_fnc_makeHostage; + * + * Public: Yes + */ + +params [["_entity", nil, [objNull, 0, [], sideUnknown, grpNull, ""]], ["_taskID", "", [""]]]; + +private _nearPlayers = []; + +// Check stuff +// if (isNull _entity) exitWith {[COMPONENT_NAME, "ERROR", "Unit is not found", true] call forge_server_main_fnc_log}; +// if (_taskID == "") exitWith {[COMPONENT_NAME, "ERROR", "Task ID is empty", true] call forge_server_main_fnc_log}; + +// Register hostage +SETVAR(_entity,assignedTask,_taskID); + +// Add unit to hostage array +private _index = GVAR(allHostages) pushBackUnique _entity; + +// Log +// [COMPONENT_NAME, "DEBUG", format [ +// "Unit (%1) is registered as a hostage. Hostage array: %2", _entity, str GVAR(allHostages) +// ]] call forge_server_main_fnc_log; + +// if (_index == -1) then { +// [COMPONENT_NAME, "WARNING", format ["Unit (%1) is already a hostage", _entity], true] call forge_server_main_fnc_log; +// }; + +// Animation Loop +if (alive _entity) then { + [_entity, "hostage"] spawn FUNC(heartBeat); +}; \ No newline at end of file diff --git a/addons/task/functions/fnc_makeIED.sqf b/addons/task/functions/fnc_makeIED.sqf new file mode 100644 index 0000000..39a39aa --- /dev/null +++ b/addons/task/functions/fnc_makeIED.sqf @@ -0,0 +1,49 @@ +#include "..\script_component.hpp" + +/* + * Author: Creedcoder, J. Schmidt + * Registers an IED and starts countdown timer. + * + * Arguments: + * 0: The object + * 1: ID of the task + * 2: The Countdown Timer + * + * Return Value: + * None + * + * Example: + * [this, "task_name", 30] spawn forge_client_task_fnc_makeIED; + * + * Public: Yes + */ + +params [["_entity", nil, [objNull, 0, [], sideUnknown, grpNull, ""]], ["_taskID", "", [""]], ["_time", 0, [0]]]; + +// Check if IED is defined +// if (isNull _entity) exitWith { +// [COMPONENT_NAME, "ERROR", "IED is not found", true] call forge_server_main_fnc_log +// }; + +// Check if taskID is defined +// if (_taskID == "") exitWith { +// [COMPONENT_NAME, "ERROR", "Task ID is empty", true] call forge_server_main_fnc_log +// }; + +// Assigns IED to taskID +SETVAR(_entity,assignedTask,_taskID); + +// Add IED to IED array +private _index = GVAR(allIEDs) pushBackUnique _entity; + +// Log +// [COMPONENT_NAME, "DEBUG", format ["Object (%1) is registered as an IED. IED array: %2", _entity, str GVAR(allIEDs)]] call forge_server_main_fnc_log; + +// if (_index == -1) then { +// [COMPONENT_NAME, "WARNING", format ["Object (%1) is already an IED", _entity], true] call forge_server_main_fnc_log; +// }; + +// Countdown timer +while { (_time > 0) && alive _entity } do { + [_entity, "ied", _time] spawn FUNC(heartBeat); +}; \ No newline at end of file diff --git a/addons/task/functions/fnc_makeObject.sqf b/addons/task/functions/fnc_makeObject.sqf new file mode 100644 index 0000000..e186b69 --- /dev/null +++ b/addons/task/functions/fnc_makeObject.sqf @@ -0,0 +1,43 @@ +#include "..\script_component.hpp" + +/* + * Author: Creedcoder, J. Schmidt + * Registers an item as an object. + * + * Arguments: + * 0: The object + * 1: ID of the task + * + * Return Value: + * None + * + * Example: + * [this, "task_name"] spawn forge_client_task_fnc_makeObject; + * + * Public: Yes + */ + +params [["_entity", nil, [objNull, 0, [], sideUnknown, grpNull, ""]], ["_taskID", "", [""]]]; + +// Check if item is defined +// if (isNull _entity) exitWith { +// [COMPONENT_NAME, "ERROR", "Item is not found", true] call forge_server_main_fnc_log +// }; + +// Check if taskID is defined +// if (_taskID == "") exitWith { +// [COMPONENT_NAME, "ERROR", "Task ID is empty", true] call forge_server_main_fnc_log +// }; + +// Assign object to taskID +SETVAR(_entity,assignedTask,_taskID); + +// Add object to object array +private _index = GVAR(allEntities) pushBackUnique _entity; + +// Log +// [COMPONENT_NAME, "DEBUG", format ["Item (%1) is registered as an object. Object array: %2", _entity, str GVAR(allEntities)]] call forge_server_main_fnc_log; + +// if (_index == -1) then { +// [COMPONENT_NAME, "WARNING", format ["Item (%1) is already an object", _entity], true] call forge_server_main_fnc_log; +// }; \ No newline at end of file diff --git a/addons/task/functions/fnc_makeTarget.sqf b/addons/task/functions/fnc_makeTarget.sqf new file mode 100644 index 0000000..54fd5f8 --- /dev/null +++ b/addons/task/functions/fnc_makeTarget.sqf @@ -0,0 +1,39 @@ +#include "..\script_component.hpp" + +/* + * Author: Creedcoder, J. Schmidt + * Registers an AI unit as a target. + * + * Arguments: + * 0: The AI unit + * 1: ID of the task + * + * Return Value: + * None + * + * Example: + * [this, "task_name"] spawn forge_client_task_fnc_makeTarget; + * + * Public: Yes + */ + +params [["_entity", nil, [objNull, 0, [], sideUnknown, grpNull, ""]], ["_taskID", "", [""]]]; + +// Check if unit is defined +// if (isNull _entity) exitWith {[COMPONENT_NAME, "ERROR", "Unit is not found", true] call forge_server_main_fnc_log}; + +// Check if taskID is defined +// if (_taskID == "") exitWith {[COMPONENT_NAME, "ERROR", "Task ID is empty", true] call forge_server_main_fnc_log}; + +// Assign unit to taskID +SETVAR(_entity,assignedTask,_taskID); + +// Add unit to target array +private _index = GVAR(allTargets) pushBackUnique _entity; + +// Log +// [COMPONENT_NAME, "DEBUG", format ["Unit (%1) is registered as a target. Target array: %2", _entity, str GVAR(allTargets)]] call forge_server_main_fnc_log; + +// if (_index == -1) then { +// [COMPONENT_NAME, "WARNING", format ["Unit (%1) is already a target", _entity], true] call forge_server_main_fnc_log; +// }; \ No newline at end of file diff --git a/addons/task/script_component.hpp b/addons/task/script_component.hpp new file mode 100644 index 0000000..fd82767 --- /dev/null +++ b/addons/task/script_component.hpp @@ -0,0 +1,16 @@ +#define COMPONENT task +#define COMPONENT_BEAUTIFIED Task +#include "\z\forge_client\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE + +#ifdef DEBUG_ENABLED_TASK + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_TASK + #define DEBUG_SETTINGS DEBUG_SETTINGS_TASK +#endif + +#include "\z\forge_client\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/icon_128_ca.paa b/icon_128_ca.paa new file mode 100644 index 0000000000000000000000000000000000000000..3853600aeb98f5b4b3baae9f87717e0e22e7cd99 GIT binary patch literal 22016 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 KwDC#rT>Lj#gLXRr literal 0 HcmV?d00001 diff --git a/icon_128_highlight_ca.paa b/icon_128_highlight_ca.paa new file mode 100644 index 0000000000000000000000000000000000000000..70c69cf87e2a705de99adc97535faabce03cc507 GIT binary patch literal 22016 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 V?TEg$QF<*+s+OJDyu`B?{~HN?A;ACu literal 0 HcmV?d00001 diff --git a/icon_64_ca.paa b/icon_64_ca.paa new file mode 100644 index 0000000000000000000000000000000000000000..493c58d13d25a76bc302c1c2e34f8df140000ba6 GIT binary patch literal 5625 zcmb_gdsI_*p8w^6UMa{en)W*4n%feeY469f}qe+dE}BvBbp$#ppl2Q<7m6V zpg3w<6p9_kwou{&K?-d(Go6kF3@zGAjJ)Z!GS6e0ASD!Fb1YnAal#_;fXvGS!D9*f|^{0yv*TLxFu(BZ~Kccr4;Xm0VD-)xW`XAFv#8sESKG1Ltqv#TwW@fkP+6U)LGY zXYPbYfYl1Mc!XYbv7dv#pG!FS8`=L~k9*}SmU3>M9w&?1!po=cIS=$pqXV~1aEEsf zxci;oei8HnzAX9)IxPepOuKvah7Pj_9oAD3b!r6}b%>6*f6wxWB@fxt)NqQKZ+ zs}D)HRc|YNRqhYxw`ENE^WNe1f}V5Og|VLAmFUxhT+Uow0A; zzgNZXe&$^#*jpxx4*vL!Y}eT${O$mvn$mN%cvvLocUvG;h`>{SNv~?ooNo#K^r%zL zabY5Y1CN{O5OH}G!O!+?56wx_Xb8UTl(Jv9oEG-?d}(7eI`u=czUMtNt&k0XBs_J9 z{r1jT>$TeT1dA7{sPhj7-2@+CuG3ZUU^g0xCkxo;wetM@DK`ULKbr2Eo`ZXK#4Ez2 z=p}RT>cHT>FX2vgQlj+D@U>G5UtRDH#7l;3%D(Nx8{2y@cKvkTKTvPv^z37;F3moaJPu;|;?3x+_jbtxFZ?@%9<9|0q9OnF@$M+=qwr zrE(;0D4<2CA+jM~^6C4zzpK5+#GOGXFmO_dG%aUh5BzMmAhdOB(>LJnG=d*$vjOr8 zCnNOd9uuL{{jGxp&x*4!IAY#Xf@9;%blc#-0KvQMQZ{T`roi8=EDNn(eo@e0Y@Ce= z^A~R<`zKv+GS9z17SH`2$?Q*7nkSI;#6bz0YRu3Q{QVsZy_^sC0b|I8pQc@Dw629*D)-{`bAs%|ZzH$W* z(@0Dq$$?m?FBdPIC-kF3Rn)he(k>9}l&h!{wS7W9Qp{$N>he$)SJVE>n| zuv7=%4~*I;2J~48h~Ph440NqRW+%9^I%Ct#j*fDI*L7`Ms5-f`h~U@~zMklE2tISB zfKJMd7yQc%{*I7X1oDd;@)50Im6XYZr?W$4Z(Z85-0>>-dvS4Kf>>UdZVO*)6Mc@* zhtV0_Cz|LRaPV1*FhhD5;izDvmZYZjK0%p22J3&iWhIaM`eeaZe+3nS4}LVRSM zX<}p-Kjg=bQiN!n0-ti z<4g4P3-fmf{uI~5Qjz&7&~NhfL@HmBs-jltIPTfw_+E2_>++#ZP+wxB0wqXk4qj3m zT%H8|fLhIYtIycCBx}SUrs}g0+7rD&7IX*v;Z(NUre~=XU5*k%obYqQNx2A3H<^U` zAk9N)=$1v0*O_UcLylO4{%FEKMX0SUEse-~xLOkWa$Hn8!CN8Ta$gx+=jF#k{s{0 z(l>Lm7eI@k2l)=|%aEnI9%0u|y3>%zQk*)c(W`G71p_^wU*w}1`&p_s{5>HbjoT0X zgif14`2S|7fwDE;6!fk5ipB@RiR4nE7JNk%iPe>f&RytI%&@Xcv zIJOoSg#mx&M1(x$Tw_o#zUmBL>3BL%PI0v&E~pQe9mqF2IpFqe5-AM8CSQ}@=dhnCjK*7|`jqk{JABJ-aV62x{aT`R9`SBvt zAdK-UDj`3_{c7(yCs~bCt@@{5?iv|GeBO6kuXmj)!^xfsrb7#D zxW_wYM$cxc6V+97NLUyTz!+)onosbZUDxGN2@k>uPWS-Q@^Mu{P-}o|JdBBf*i27= zIdS|};HPeygNAg*skI3qm#pc1Z>)2*K-;lJsm~+yUOdLP*`*3{U(SIhT2bHvNxc%B zfiZ6K%xxOH%yfcQdzqZSWl5)6?hV2F5-+_^jz!P5b7O6mx~762)?F0R$m6|-7joPV zf#0<-mc=hVdz75#>BCfjKfVzGW0AXg$LD6+N70q>hnll}p7w0ljnCxNWo@cZ<_n=r z$8KKnM{@qoKPwpHvN8Hb7%NOeI-v}WFR{?FFC{`*4(#om^+D^{eMk0#J=D77w>(ST z-=A|e%v`Uh6$gEM=7IA2!`JOkFGi>{^X4{hnt(DhOGO#6OenM44F)=XIVZH8K#$?< zdtV^@Q6+L}-ij3(g4aOXP*GJg;4NE7e)Dq`wPs0&JV;hvk3CbvyXll4& zD!7Ca(x#7$o|G`kJT z{$tl31$2k6c02`X<&9fDc0YK3Zbd>^LCJ?@53css-;ycqAl7hW9TckJ(J`oxI>cAbum=V%0lrnF#5-N;%PAf!Rj^ zpB^$t(sQc^+#;AaFi!U6t1(O)<|lgsf-Zp>n)V?Szb2KV5QQQUT5Yvncl~@7XJ4_< z*V^i_-xn-ok4F*j!b_SLBd)efe}Efc?b=8JJw++Sv*Pgd{OGxu+onxv3X aL7&f^Ua~vlQGxVS*7f<+$#<4}mHwahSALiP literal 0 HcmV?d00001 diff --git a/include/a3/data_f/$PBOPREFIX$ b/include/a3/data_f/$PBOPREFIX$ new file mode 100644 index 0000000..7476149 --- /dev/null +++ b/include/a3/data_f/$PBOPREFIX$ @@ -0,0 +1 @@ +a3\data_f \ No newline at end of file diff --git a/include/a3/data_f/default.rvmat b/include/a3/data_f/default.rvmat new file mode 100644 index 0000000..776b71f --- /dev/null +++ b/include/a3/data_f/default.rvmat @@ -0,0 +1,12 @@ +ambient[]={1,1,1,1}; +diffuse[]={1,1,1,1}; +forcedDiffuse[]={0,0,0,0}; +emmisive[]={0,0,0,1}; +specular[]={0,0,0,0}; +specularPower=0; +PixelShaderID="Normal"; +VertexShaderID="Basic"; +class StageTI +{ + texture="a3\data_f\default_vehicle_ti_ca.paa"; +}; diff --git a/include/a3/data_f/default_vehicle_ti_ca.paa b/include/a3/data_f/default_vehicle_ti_ca.paa new file mode 100644 index 0000000000000000000000000000000000000000..53ca8a62b7938230c90b0204ccfda43e2056953c GIT binary patch literal 5625 zcmZSm@9ypx;_M#g$ie^tV19(7FNpsi2ta&yM;|v3pAm>b{9rdXe+MAD0f^fL7#R9Q z7#OCCGBDf$V$y&Eg98Ht&;%%Gn3&MH3J6B|kPsLRkJ0onnjc2XgVFMEv^)fbz-WCi zS|5zo2cz}DXninRAB@%qqxIo%X%8qcC@?Uz>% literal 0 HcmV?d00001 diff --git a/include/a3/data_f/penetration/cloth.rvmat b/include/a3/data_f/penetration/cloth.rvmat new file mode 100644 index 0000000..c83e3e7 --- /dev/null +++ b/include/a3/data_f/penetration/cloth.rvmat @@ -0,0 +1,3 @@ +surfaceInfo="A3\data_f\Penetration\cloth.bisurf"; +diffuse[]={0.75,0.80000001,0.30000001,1}; +ambient[]={0.75,0.80000001,0.30000001,1}; diff --git a/include/a3/data_f/penetration/default.rvmat b/include/a3/data_f/penetration/default.rvmat new file mode 100644 index 0000000..1ac19d7 --- /dev/null +++ b/include/a3/data_f/penetration/default.rvmat @@ -0,0 +1,9 @@ +surfaceInfo="A3\data_f\Penetration\default.bisurf"; +ambient[]={0.48699999,0.32800001,0.249,1}; +diffuse[]={0.48699999,0.32800001,0.249,1}; +forcedDiffuse[]={0,0,0,0}; +emmisive[]={0,0,0,1}; +specular[]={0,0,0,1}; +specularPower=1; +PixelShaderID="Normal"; +VertexShaderID="Basic"; diff --git a/include/a3/data_f/penetration/metal.rvmat b/include/a3/data_f/penetration/metal.rvmat new file mode 100644 index 0000000..261639d --- /dev/null +++ b/include/a3/data_f/penetration/metal.rvmat @@ -0,0 +1,9 @@ +surfaceInfo="A3\data_f\Penetration\metal.bisurf"; +ambient[]={0.69999999,0.80000001,0.77999997,1}; +diffuse[]={0.69999999,0.80000001,0.77999997,1}; +forcedDiffuse[]={0,0,0,0}; +emmisive[]={0,0,0,1}; +specular[]={0,0,0,1}; +specularPower=1; +PixelShaderID="Normal"; +VertexShaderID="Basic"; diff --git a/include/a3/data_f/penetration/metal_plate.rvmat b/include/a3/data_f/penetration/metal_plate.rvmat new file mode 100644 index 0000000..3b19c02 --- /dev/null +++ b/include/a3/data_f/penetration/metal_plate.rvmat @@ -0,0 +1,9 @@ +surfaceInfo="A3\data_f\Penetration\metal_plate.bisurf"; +ambient[]={0.69999999,0.80000001,0.77999997,1}; +diffuse[]={0.69999999,0.80000001,0.77999997,1}; +forcedDiffuse[]={0,0,0,0}; +emmisive[]={0,0,0,1}; +specular[]={0,0,0,1}; +specularPower=1; +PixelShaderID="Normal"; +VertexShaderID="Basic"; diff --git a/include/a3/data_f/penetration/metal_plate_thin.rvmat b/include/a3/data_f/penetration/metal_plate_thin.rvmat new file mode 100644 index 0000000..8d479ba --- /dev/null +++ b/include/a3/data_f/penetration/metal_plate_thin.rvmat @@ -0,0 +1,9 @@ +surfaceInfo="A3\data_f\Penetration\metal_plate_thin.bisurf"; +ambient[]={0.69999999,0.80000001,0.77999997,1}; +diffuse[]={0.69999999,0.80000001,0.77999997,1}; +forcedDiffuse[]={0,0,0,0}; +emmisive[]={0,0,0,1}; +specular[]={0,0,0,1}; +specularPower=1; +PixelShaderID="Normal"; +VertexShaderID="Basic"; diff --git a/include/a3/data_f/penetration/plastic.rvmat b/include/a3/data_f/penetration/plastic.rvmat new file mode 100644 index 0000000..223c012 --- /dev/null +++ b/include/a3/data_f/penetration/plastic.rvmat @@ -0,0 +1,3 @@ +surfaceInfo="A3\data_f\Penetration\plastic.bisurf"; +diffuse[]={0.89999998,0.80000001,0.60000002,1}; +ambient[]={0.89999998,0.80000001,0.60000002,1}; diff --git a/include/a3/data_f/penetration/tyre.rvmat b/include/a3/data_f/penetration/tyre.rvmat new file mode 100644 index 0000000..711d3fa --- /dev/null +++ b/include/a3/data_f/penetration/tyre.rvmat @@ -0,0 +1,3 @@ +surfaceInfo="A3\data_f\Penetration\tyre.bisurf"; +diffuse[]={0.1,0.1,0.1,1}; +ambient[]={0.1,0.1,0.1,1}; diff --git a/include/a3/data_f/penetration/wood.rvmat b/include/a3/data_f/penetration/wood.rvmat new file mode 100644 index 0000000..466b9eb --- /dev/null +++ b/include/a3/data_f/penetration/wood.rvmat @@ -0,0 +1,9 @@ +surfaceInfo="A3\data_f\Penetration\wood.bisurf"; +ambient[]={0.5,0.25,0,1}; +diffuse[]={0.5,0.25,0,1}; +forcedDiffuse[]={0,0,0,0}; +emmisive[]={0,0,0,1}; +specular[]={0,0,0,1}; +specularPower=1; +PixelShaderID="Normal"; +VertexShaderID="Basic"; diff --git a/include/a3/editor_f/$PBOPREFIX$ b/include/a3/editor_f/$PBOPREFIX$ new file mode 100644 index 0000000..41706ef --- /dev/null +++ b/include/a3/editor_f/$PBOPREFIX$ @@ -0,0 +1 @@ +a3\editor_f \ No newline at end of file diff --git a/include/a3/editor_f/data/scripts/dikCodes.h b/include/a3/editor_f/data/scripts/dikCodes.h new file mode 100644 index 0000000..b1734fa --- /dev/null +++ b/include/a3/editor_f/data/scripts/dikCodes.h @@ -0,0 +1,181 @@ +#ifndef DIK_ESCAPE + +/**************************************************************************** + * + * DirectInput keyboard scan codes + * + ****************************************************************************/ + +#define DIK_ESCAPE 0x01 +#define DIK_1 0x02 +#define DIK_2 0x03 +#define DIK_3 0x04 +#define DIK_4 0x05 +#define DIK_5 0x06 +#define DIK_6 0x07 +#define DIK_7 0x08 +#define DIK_8 0x09 +#define DIK_9 0x0A +#define DIK_0 0x0B +#define DIK_MINUS 0x0C /* - on main keyboard */ +#define DIK_EQUALS 0x0D +#define DIK_BACK 0x0E /* backspace */ +#define DIK_TAB 0x0F +#define DIK_Q 0x10 +#define DIK_W 0x11 +#define DIK_E 0x12 +#define DIK_R 0x13 +#define DIK_T 0x14 +#define DIK_Y 0x15 +#define DIK_U 0x16 +#define DIK_I 0x17 +#define DIK_O 0x18 +#define DIK_P 0x19 +#define DIK_LBRACKET 0x1A +#define DIK_RBRACKET 0x1B +#define DIK_RETURN 0x1C /* Enter on main keyboard */ +#define DIK_LCONTROL 0x1D +#define DIK_A 0x1E +#define DIK_S 0x1F +#define DIK_D 0x20 +#define DIK_F 0x21 +#define DIK_G 0x22 +#define DIK_H 0x23 +#define DIK_J 0x24 +#define DIK_K 0x25 +#define DIK_L 0x26 +#define DIK_SEMICOLON 0x27 +#define DIK_APOSTROPHE 0x28 +#define DIK_GRAVE 0x29 /* accent grave */ +#define DIK_LSHIFT 0x2A +#define DIK_BACKSLASH 0x2B +#define DIK_Z 0x2C +#define DIK_X 0x2D +#define DIK_C 0x2E +#define DIK_V 0x2F +#define DIK_B 0x30 +#define DIK_N 0x31 +#define DIK_M 0x32 +#define DIK_COMMA 0x33 +#define DIK_PERIOD 0x34 /* . on main keyboard */ +#define DIK_SLASH 0x35 /* / on main keyboard */ +#define DIK_RSHIFT 0x36 +#define DIK_MULTIPLY 0x37 /* * on numeric keypad */ +#define DIK_LMENU 0x38 /* left Alt */ +#define DIK_SPACE 0x39 +#define DIK_CAPITAL 0x3A +#define DIK_F1 0x3B +#define DIK_F2 0x3C +#define DIK_F3 0x3D +#define DIK_F4 0x3E +#define DIK_F5 0x3F +#define DIK_F6 0x40 +#define DIK_F7 0x41 +#define DIK_F8 0x42 +#define DIK_F9 0x43 +#define DIK_F10 0x44 +#define DIK_NUMLOCK 0x45 +#define DIK_SCROLL 0x46 /* Scroll Lock */ +#define DIK_NUMPAD7 0x47 +#define DIK_NUMPAD8 0x48 +#define DIK_NUMPAD9 0x49 +#define DIK_SUBTRACT 0x4A /* - on numeric keypad */ +#define DIK_NUMPAD4 0x4B +#define DIK_NUMPAD5 0x4C +#define DIK_NUMPAD6 0x4D +#define DIK_ADD 0x4E /* + on numeric keypad */ +#define DIK_NUMPAD1 0x4F +#define DIK_NUMPAD2 0x50 +#define DIK_NUMPAD3 0x51 +#define DIK_NUMPAD0 0x52 +#define DIK_DECIMAL 0x53 /* . on numeric keypad */ +#define DIK_OEM_102 0x56 /* < > | on UK/Germany keyboards */ +#define DIK_F11 0x57 +#define DIK_F12 0x58 + +#define DIK_F13 0x64 /* (NEC PC98) */ +#define DIK_F14 0x65 /* (NEC PC98) */ +#define DIK_F15 0x66 /* (NEC PC98) */ + +#define DIK_KANA 0x70 /* (Japanese keyboard) */ +#define DIK_ABNT_C1 0x73 /* / ? on Portugese (Brazilian) keyboards */ +#define DIK_CONVERT 0x79 /* (Japanese keyboard) */ +#define DIK_NOCONVERT 0x7B /* (Japanese keyboard) */ +#define DIK_YEN 0x7D /* (Japanese keyboard) */ +#define DIK_ABNT_C2 0x7E /* Numpad . on Portugese (Brazilian) keyboards */ +#define DIK_NUMPADEQUALS 0x8D /* = on numeric keypad (NEC PC98) */ +#define DIK_PREVTRACK 0x90 /* Previous Track (DIK_CIRCUMFLEX on Japanese keyboard) */ +#define DIK_AT 0x91 /* (NEC PC98) */ +#define DIK_COLON 0x92 /* (NEC PC98) */ +#define DIK_UNDERLINE 0x93 /* (NEC PC98) */ +#define DIK_KANJI 0x94 /* (Japanese keyboard) */ +#define DIK_STOP 0x95 /* (NEC PC98) */ +#define DIK_AX 0x96 /* (Japan AX) */ +#define DIK_UNLABELED 0x97 /* (J3100) */ +#define DIK_NEXTTRACK 0x99 /* Next Track */ +#define DIK_NUMPADENTER 0x9C /* Enter on numeric keypad */ +#define DIK_RCONTROL 0x9D +#define DIK_MUTE 0xA0 /* Mute */ +#define DIK_CALCULATOR 0xA1 /* Calculator */ +#define DIK_PLAYPAUSE 0xA2 /* Play / Pause */ +#define DIK_MEDIASTOP 0xA4 /* Media Stop */ +#define DIK_VOLUMEDOWN 0xAE /* Volume - */ +#define DIK_VOLUMEUP 0xB0 /* Volume + */ +#define DIK_WEBHOME 0xB2 /* Web home */ +#define DIK_NUMPADCOMMA 0xB3 /* , on numeric keypad (NEC PC98) */ +#define DIK_DIVIDE 0xB5 /* / on numeric keypad */ +#define DIK_SYSRQ 0xB7 +#define DIK_RMENU 0xB8 /* right Alt */ +#define DIK_PAUSE 0xC5 /* Pause */ +#define DIK_HOME 0xC7 /* Home on arrow keypad */ +#define DIK_UP 0xC8 /* UpArrow on arrow keypad */ +#define DIK_PRIOR 0xC9 /* PgUp on arrow keypad */ +#define DIK_LEFT 0xCB /* LeftArrow on arrow keypad */ +#define DIK_RIGHT 0xCD /* RightArrow on arrow keypad */ +#define DIK_END 0xCF /* End on arrow keypad */ +#define DIK_DOWN 0xD0 /* DownArrow on arrow keypad */ +#define DIK_NEXT 0xD1 /* PgDn on arrow keypad */ +#define DIK_INSERT 0xD2 /* Insert on arrow keypad */ +#define DIK_DELETE 0xD3 /* Delete on arrow keypad */ +#define DIK_LWIN 0xDB /* Left Windows key */ +#define DIK_RWIN 0xDC /* Right Windows key */ +#define DIK_APPS 0xDD /* AppMenu key */ +#define DIK_POWER 0xDE /* System Power */ +#define DIK_SLEEP 0xDF /* System Sleep */ +#define DIK_WAKE 0xE3 /* System Wake */ +#define DIK_WEBSEARCH 0xE5 /* Web Search */ +#define DIK_WEBFAVORITES 0xE6 /* Web Favorites */ +#define DIK_WEBREFRESH 0xE7 /* Web Refresh */ +#define DIK_WEBSTOP 0xE8 /* Web Stop */ +#define DIK_WEBFORWARD 0xE9 /* Web Forward */ +#define DIK_WEBBACK 0xEA /* Web Back */ +#define DIK_MYCOMPUTER 0xEB /* My Computer */ +#define DIK_MAIL 0xEC /* Mail */ +#define DIK_MEDIASELECT 0xED /* Media Select */ + +/* + * Alternate names for keys, to facilitate transition from DOS. + */ +#define DIK_BACKSPACE DIK_BACK /* backspace */ +#define DIK_NUMPADSTAR DIK_MULTIPLY /* * on numeric keypad */ +#define DIK_LALT DIK_LMENU /* left Alt */ +#define DIK_CAPSLOCK DIK_CAPITAL /* CapsLock */ +#define DIK_NUMPADMINUS DIK_SUBTRACT /* - on numeric keypad */ +#define DIK_NUMPADPLUS DIK_ADD /* + on numeric keypad */ +#define DIK_NUMPADPERIOD DIK_DECIMAL /* . on numeric keypad */ +#define DIK_NUMPADSLASH DIK_DIVIDE /* / on numeric keypad */ +#define DIK_RALT DIK_RMENU /* right Alt */ +#define DIK_UPARROW DIK_UP /* UpArrow on arrow keypad */ +#define DIK_PGUP DIK_PRIOR /* PgUp on arrow keypad */ +#define DIK_LEFTARROW DIK_LEFT /* LeftArrow on arrow keypad */ +#define DIK_RIGHTARROW DIK_RIGHT /* RightArrow on arrow keypad */ +#define DIK_DOWNARROW DIK_DOWN /* DownArrow on arrow keypad */ +#define DIK_PGDN DIK_NEXT /* PgDn on arrow keypad */ + +/* + * Alternate names for keys originally not used on US keyboards. + */ +#define DIK_CIRCUMFLEX DIK_PREVTRACK /* Japanese keyboard */ + +#endif /* DIK_ESCAPE */ + diff --git a/include/a3/ui_f/$PBOPREFIX$ b/include/a3/ui_f/$PBOPREFIX$ new file mode 100644 index 0000000..bcaad3e --- /dev/null +++ b/include/a3/ui_f/$PBOPREFIX$ @@ -0,0 +1 @@ +a3\ui_f \ No newline at end of file diff --git a/include/a3/ui_f/hpp/defineCommonColors.inc b/include/a3/ui_f/hpp/defineCommonColors.inc new file mode 100644 index 0000000..5370c07 --- /dev/null +++ b/include/a3/ui_f/hpp/defineCommonColors.inc @@ -0,0 +1,316 @@ +/////////////////////////////////////////////////////////////////////////// +/// GUI +/////////////////////////////////////////////////////////////////////////// + +//--- Background color with defaults (not multipliable) +#define GUI_BCG_RGB_R "(profilenamespace getvariable ['GUI_BCG_RGB_R',0.13])" +#define GUI_BCG_RGB_G "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.54])" +#define GUI_BCG_RGB_B "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.21])" +#define GUI_BCG_ALPHA "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])" + +#define GUI_BCG_RGB GUI_BCG_RGB_R, GUI_BCG_RGB_G, GUI_BCG_RGB_B +#define GUI_BCG_COLOR {GUI_BCG_RGB,GUI_BCG_ALPHA} +#define GUI_BCG_COLOR_SELECTED {GUI_BCG_RGB,0.5} + +//--- TitleBar text color +#define GUI_TITLETEXT_RGB_R "(profilenamespace getvariable ['GUI_TITLETEXT_RGB_R',1.0])" +#define GUI_TITLETEXT_RGB_G "(profilenamespace getvariable ['GUI_TITLETEXT_RGB_G',1.0])" +#define GUI_TITLETEXT_RGB_B "(profilenamespace getvariable ['GUI_TITLETEXT_RGB_B',1.0])" +#define GUI_TITLETEXT_ALPHA "(profilenamespace getvariable ['GUI_TITLETEXT_RGB_A',0.6])" +#define GUI_TITLETEXT_COLOR {GUI_TITLETEXT_RGB_R, GUI_TITLETEXT_RGB_G, GUI_TITLETEXT_RGB_B, GUI_TITLETEXT_ALPHA} + +//--- Background for wGUI displays +#define GUI_BCG_MENU_RGB 0, 0, 0 +#define GUI_BCG_MENU {GUI_BCG_MENU_RGB, 0.7} + +//--- Background for editor +#define GUI_BCG_EDITOR_RGB 0.1, 0.1, 0.1 +#define GUI_BCG_EDITOR {GUI_BCG_EDITOR_RGB, 1} + +//--- Medium background (obsolete; Dwarden's displays) +#define GUI_BCG_MEDIUM_RGB GUI_BCG_RGB +#define GUI_BCG_MEDIUM_ALPHA GUI_BCG_ALPHA +#define GUI_BCG_MEDIUM_COLOR {GUI_BCG_MEDIUM_RGB,GUI_BCG_MEDIUM_ALPHA} + +//--- Dark background (HUD) +#define GUI_BCG_DARK_RGB GUI_BCG_RGB +#define GUI_BCG_DARK_ALPHA 0.85 +#define GUI_BCG_DARK_COLOR {GUI_BCG_DARK_RGB,GUI_BCG_DARK_ALPHA} +#define GUI_BCG_DARK_TRANSPARENT {GUI_BCG_DARK_RGB,GUI_BCG_DARK_ALPHA / 2} + +//--- Active color (inversed to selected color) +#define GUI_BCG_ACTIVE_RGB 1, 1, 1 + +//--- Warning color (exit buttons) +#define GUI_BCG_ERROR_RGB 0.7, 0, 0 + +//--- Text color +#define GUI_TEXT_RGB 1, 1, 1 +#define GUI_TEXT_ALPHA 1.0 +#define GUI_TEXT_COLOR {GUI_TEXT_RGB,GUI_TEXT_ALPHA} +#define GUI_TEXT_SHADOW {0,0,0,0.5} +#define GUI_TEXT_HTML_COLOR "#ffffff" +#define GUI_TEXT_HTML_SHADOW "#80000000" + +//--- List: text colors and background highlight +#define GUI_LIST_TEXT_COLOR {GUI_TEXT_RGB,0.8} +#define GUI_LIST_TEXT_COLOR_SELECTED {GUI_TEXT_RGB,1.0} +#define GUI_LIST_BCG_SELECTED {0,0,0,0.2} + +//--- Tooltip colours +#define GUI_TOOLTIP_TEXT_COLOR {1, 1, 1, 1} +#define GUI_TOOLTIP_BOX_COLOR {1, 1, 1, 1} +#define GUI_TOOLTIP_SHADE_COLOR {0, 0, 0, 0.65} + + +/////////////////////////////////////////////////////////////////////////// +/// iGUI +/////////////////////////////////////////////////////////////////////////// +//--- IGUI Background color +#define IGUI_BCG_RGB_R "(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])" +#define IGUI_BCG_RGB_G "(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])" +#define IGUI_BCG_RGB_B "(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])" +#define IGUI_BCG_RGB_A "(profilenamespace getvariable ['IGUI_BCG_RGB_A',0.8])" +#define IGUI_BCG_RGB IGUI_BCG_RGB_R, IGUI_BCG_RGB_G, IGUI_BCG_RGB_B +#define IGUI_BCG_COLOR {IGUI_BCG_RGB,IGUI_BCG_RGB_A} + +//--- IGUI Text color +#define IGUI_TEXT_RGB_R "(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])" +#define IGUI_TEXT_RGB_G "(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])" +#define IGUI_TEXT_RGB_B "(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])" +#define IGUI_TEXT_RGB_A "(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])" +#define IGUI_TEXT_RGB IGUI_TEXT_RGB_R, IGUI_TEXT_RGB_G, IGUI_TEXT_RGB_B +#define IGUI_TEXT_COLOR {IGUI_TEXT_RGB,IGUI_TEXT_RGB_A} + +//--- IGUI Warning color +#define IGUI_WARNING_RGB_R "(profilenamespace getvariable ['IGUI_WARNING_RGB_R',0.8])" +#define IGUI_WARNING_RGB_G "(profilenamespace getvariable ['IGUI_WARNING_RGB_G',0.5])" +#define IGUI_WARNING_RGB_B "(profilenamespace getvariable ['IGUI_WARNING_RGB_B',0.0])" +#define IGUI_WARNING_RGB_A "(profilenamespace getvariable ['IGUI_WARNING_RGB_A',0.8])" +#define IGUI_WARNING_RGB IGUI_WARNING_RGB_R, IGUI_WARNING_RGB_G, IGUI_WARNING_RGB_B +#define IGUI_WARNING_COLOR {IGUI_WARNING_RGB,IGUI_WARNING_RGB_A} + +//--- IGUI Error color +#define IGUI_ERROR_RGB_R "(profilenamespace getvariable ['IGUI_ERROR_RGB_R',0.8])" +#define IGUI_ERROR_RGB_G "(profilenamespace getvariable ['IGUI_ERROR_RGB_G',0.0])" +#define IGUI_ERROR_RGB_B "(profilenamespace getvariable ['IGUI_ERROR_RGB_B',0.0])" +#define IGUI_ERROR_RGB_A "(profilenamespace getvariable ['IGUI_ERROR_RGB_A',1.0])" +#define IGUI_ERROR_RGB IGUI_ERROR_RGB_R, IGUI_ERROR_RGB_G, IGUI_ERROR_RGB_B +#define IGUI_ERROR_COLOR {IGUI_ERROR_RGB,IGUI_ERROR_RGB_A} + +//--- IGUI Tactical ping color +#define IGUI_TACTPING_RGB_R "(profilenamespace getvariable ['IGUI_TACTPING_RGB_R',1.0])" +#define IGUI_TACTPING_RGB_G "(profilenamespace getvariable ['IGUI_TACTPING_RGB_G',0.8])" +#define IGUI_TACTPING_RGB_B "(profilenamespace getvariable ['IGUI_TACTPING_RGB_B',0.2])" +#define IGUI_TACTPING_RGB_A "(profilenamespace getvariable ['IGUI_TACTPING_RGB_A',1.0])" +#define IGUI_TACTPING_RGB IGUI_TACTPING_RGB_R, IGUI_TACTPING_RGB_G, IGUI_TACTPING_RGB_B +#define IGUI_TACTPING_COLOR {IGUI_TACTPING_RGB,IGUI_TACTPING_RGB_A} + +//--- HUD Text color (obsolete defines; ToDo: Replace with IGUI_TEXT_COLOR and IGUI_BCG_COLOR) +#define CA_UI_HUD IGUI_TEXT_COLOR + + + +/////////////////////////////////////////////////////////////////////////// +/// Sides +/////////////////////////////////////////////////////////////////////////// + +//--- BLUFOR +#define Map_BLUFOR_R "(profilenamespace getvariable ['Map_BLUFOR_R',0])" +#define Map_BLUFOR_G "(profilenamespace getvariable ['Map_BLUFOR_G',1])" +#define Map_BLUFOR_B "(profilenamespace getvariable ['Map_BLUFOR_B',1])" +#define Map_BLUFOR_A "(profilenamespace getvariable ['Map_BLUFOR_A',0.8])" +#define Map_BLUFOR_RGB Map_BLUFOR_R, Map_BLUFOR_G, Map_BLUFOR_B +#define Map_BLUFOR_RGBA {Map_BLUFOR_RGB,Map_BLUFOR_A} + +//--- OPFOR +#define Map_OPFOR_R "(profilenamespace getvariable ['Map_OPFOR_R',0])" +#define Map_OPFOR_G "(profilenamespace getvariable ['Map_OPFOR_G',1])" +#define Map_OPFOR_B "(profilenamespace getvariable ['Map_OPFOR_B',1])" +#define Map_OPFOR_A "(profilenamespace getvariable ['Map_OPFOR_A',0.8])" +#define Map_OPFOR_RGB Map_OPFOR_R, Map_OPFOR_G, Map_OPFOR_B +#define Map_OPFOR_RGBA {Map_OPFOR_RGB,Map_OPFOR_A} + +//--- Independent +#define Map_Independent_R "(profilenamespace getvariable ['Map_Independent_R',0])" +#define Map_Independent_G "(profilenamespace getvariable ['Map_Independent_G',1])" +#define Map_Independent_B "(profilenamespace getvariable ['Map_Independent_B',1])" +#define Map_Independent_A "(profilenamespace getvariable ['Map_Independent_A',0.8])" +#define Map_Independent_RGB Map_Independent_R, Map_Independent_G, Map_Independent_B +#define Map_Independent_RGBA {Map_Independent_RGB,Map_Independent_A} + +//--- Civilian +#define Map_Civilian_R "(profilenamespace getvariable ['Map_Civilian_R',0])" +#define Map_Civilian_G "(profilenamespace getvariable ['Map_Civilian_G',1])" +#define Map_Civilian_B "(profilenamespace getvariable ['Map_Civilian_B',1])" +#define Map_Civilian_A "(profilenamespace getvariable ['Map_Civilian_A',0.8])" +#define Map_Civilian_RGB Map_Civilian_R, Map_Civilian_G, Map_Civilian_B +#define Map_Civilian_RGBA {Map_Civilian_RGB,Map_Civilian_A} + +//--- Unknown +#define Map_Unknown_R "(profilenamespace getvariable ['Map_Unknown_R',0])" +#define Map_Unknown_G "(profilenamespace getvariable ['Map_Unknown_G',1])" +#define Map_Unknown_B "(profilenamespace getvariable ['Map_Unknown_B',1])" +#define Map_Unknown_A "(profilenamespace getvariable ['Map_Unknown_A',0.8])" +#define Map_Unknown_RGB Map_Unknown_R, Map_Unknown_G, Map_Unknown_B +#define Map_Unknown_RGBA {Map_Unknown_RGB,Map_Unknown_A} + + + +/////////////////////////////////////////////////////////////////////////// +/// Misc +/////////////////////////////////////////////////////////////////////////// +//overwritten by Warka +#define CA_UI_ACTION {0.9,0.9,0.9,0.4} +#define CA_UI_ACTION_AVAILABLE IGUI_TEXT_COLOR +#define CA_UI_ACTION_ACTIVE {0.24,0.87,0,0.8} +#define CA_IGUI_Green {0.709,0.972,0.384,1} +#define CA_IGUI_GreenDark {0.259,0.463,0.149, 1} //MUF-added from A3 //{0.659,0.863,0.549,0.6} +#define CA_IGUI_Background IGUI_BCG_COLOR + +#define Color_Orange {GUI_BCG_RGB, 1} +#define Color_DarkOrange {GUI_BCG_MEDIUM_RGB, 0.7} + +#define CA_colordark {0, 0, 0, 1} +#define CA_UI_element_background Color_White +#define CA_UI_background {0.6, 0.6, 0.6, 0.4} +#define CA_UI_title_background {0.1961,0.1451,0.0941,1.0} +#define CA_UI_green {0.709,0.972,0.384,1} +#define CA_UI_red {0.58, 0.1147, 0.1108, 1} + +#define CA_UI_grey {0.4,0.4,0.4,1} +#define CA_UI_transparent {1,1,1,0} + +#define CA_IGUI_Red {0.706,0.0745,0.0196,1} +#define CA_IGUI_Orange {0.863,0.584,0.0,1} +#define CA_IGUI_YellowGreen {0.8275,0.8196,0.1961,1.0} +#define CA_IGUI_Blue {0.196,0.592,0.706, 1} +#define CA_IGUI_Grey {0.606,0.606,0.606,1} + +#define Color_White {0.95, 0.95, 0.95, 1} +//#define Color_Black {0.023529, 0, 0.0313725, 1} +#define Color_Black {0, 0, 0, 1} +#define Color_Gray {1, 1, 1, 0.5} +#define Color_Empty {0, 0, 0, 0} + +#define Color_Back {0.1, 0.1, 0.1, 0.4} +#define Color_BackList {0.2, 0.2, 0.2, 0.2} + +#define ProcTextWhite "#(argb,8,8,3)color(1,1,1,1)" +#define ProcTextBlack "#(argb,8,8,3)color(0,0,0,1)" +#define ProcTextGray "#(argb,8,8,3)color(0.3,0.3,0.3,1)" +#define ProcTextRed "#(argb,8,8,3)color(1,0,0,1)" +#define ProcTextGreen "#(argb,8,8,3)color(0,1,0,1)" +#define ProcTextBlue "#(argb,8,8,3)color(0,0,1,1)" +#define ProcTextOrange "#(argb,8,8,3)color(1,0.5,0,1)" +#define ProcTextTransparent "#(argb,8,8,3)color(0,0,0,0)" +#define ProcTextHUD "#(argb,8,8,3)color(0.600,0.8392,0.4706,1.0)" +#define ProcTextPurple "#(argb,8,8,3)color(0.75,0,0.75,1)" + + +/////////////////////////////////////////////////////////////////////////// +/// Task colors: 3D task marker +/////////////////////////////////////////////////////////////////////////// +#define COLOR_TASK_ICON_UNASSIGNED_RGB 1,1,1 +#define COLOR_TASK_ICON_UNASSIGNED_A 0.5 +#define COLOR_TASK_ICON_UNASSIGNED_RGBA COLOR_TASK_ICON_UNASSIGNED_RGB,COLOR_TASK_ICON_UNASSIGNED_A +#define COLOR_TASK_ICON_ASSIGNED_RGB 1,0.72,0.3 +#define COLOR_TASK_ICON_ASSIGNED_A 0.5 +#define COLOR_TASK_ICON_ASSIGNED_RGBA COLOR_TASK_ICON_ASSIGNED_RGB,COLOR_TASK_ICON_ASSIGNED_A +#define COLOR_TASK_ICON_CUSTOM_RGB 0.3,0.72,1 +#define COLOR_TASK_ICON_CUSTOM_A 0.5 +#define COLOR_TASK_ICON_CUSTOM_RGBA COLOR_TASK_ICON_CUSTOM_RGB,COLOR_TASK_ICON_CUSTOM_A + +#define COLOR_TASK_BACKGROUND_UNASSIGNED_RGB 1,1,1 +#define COLOR_TASK_BACKGROUND_UNASSIGNED_A 1 +#define COLOR_TASK_BACKGROUND_UNASSIGNED_RGBA COLOR_TASK_BACKGROUND_UNASSIGNED_RGB,COLOR_TASK_BACKGROUND_UNASSIGNED_A +#define COLOR_TASK_BACKGROUND_ASSIGNED_RGB 1,0.72,0.3 +#define COLOR_TASK_BACKGROUND_ASSIGNED_A 1 +#define COLOR_TASK_BACKGROUND_ASSIGNED_RGBA COLOR_TASK_BACKGROUND_ASSIGNED_RGB,COLOR_TASK_BACKGROUND_ASSIGNED_A +#define COLOR_TASK_BACKGROUND_CUSTOM_RGB 0.3,0.72,1 +#define COLOR_TASK_BACKGROUND_CUSTOM_A 1 +#define COLOR_TASK_BACKGROUND_CUSTOM_RGBA COLOR_TASK_BACKGROUND_CUSTOM_RGB,COLOR_TASK_BACKGROUND_CUSTOM_A + + +#define COLOR_TASK_TEXT_UNASSIGNED_RGB 0.91,0.91,0.91 +#define COLOR_TASK_TEXT_UNASSIGNED_A 0.55 +#define COLOR_TASK_TEXT_UNASSIGNED_RGBA COLOR_TASK_TEXT_UNASSIGNED_RGB,COLOR_TASK_TEXT_UNASSIGNED_A +#define COLOR_TASK_TEXT_ASSIGNED_RGB 0.91,0.65,0.27 +#define COLOR_TASK_TEXT_ASSIGNED_A 0.55 +#define COLOR_TASK_TEXT_ASSIGNED_RGBA COLOR_TASK_TEXT_ASSIGNED_RGB,COLOR_TASK_TEXT_ASSIGNED_A +#define COLOR_TASK_TEXT_CUSTOM_RGB 0.27,0.65,0.91 +#define COLOR_TASK_TEXT_CUSTOM_A 0.55 +#define COLOR_TASK_TEXT_CUSTOM_RGBA COLOR_TASK_TEXT_CUSTOM_RGB,COLOR_TASK_TEXT_CUSTOM_A + + +/////////////////////////////////////////////////////////////////////////// +/// Task colors: generic +/////////////////////////////////////////////////////////////////////////// +#define COLOR_TASK_UNASSIGNED_RGB COLOR_TASK_BACKGROUND_UNASSIGNED_RGB +#define COLOR_TASK_UNASSIGNED_RGBA COLOR_TASK_UNASSIGNED_RGB,1 + +#define COLOR_TASK_ASSIGNED_RGB COLOR_TASK_BACKGROUND_ASSIGNED_RGB +#define COLOR_TASK_ASSIGNED_RGBA COLOR_TASK_ASSIGNED_RGB,1 + +#define COLOR_TASK_CUSTOM_RGB COLOR_TASK_BACKGROUND_CUSTOM_RGB +#define COLOR_TASK_CUSTOM_RGBA COLOR_TASK_CUSTOM_RGB,1 + +//navigation elements +#define IGUI_CURSOR_COLOR {COLOR_TASK_TEXT_UNASSIGNED_RGBA} + +/////////////////////////////////////////////////////////////////////////// +/// Custom info / Sensors (duplicated in \A3\cfgSensors.hpp !!!) +/////////////////////////////////////////////////////////////////////////// + +#define COLOR_SENSORS_RADAR_RGB 0.0,1.0,1.0 +#define COLOR_SENSORS_RADAR_A 1.0 +#define COLOR_SENSORS_RADAR_RGBA {COLOR_SENSORS_RADAR_RGB,COLOR_SENSORS_RADAR_A} + +#define COLOR_SENSORS_IR_RGB 1.0,0.0,0.0 +#define COLOR_SENSORS_IR_A 1.0 +#define COLOR_SENSORS_IR_RGBA {COLOR_SENSORS_IR_RGB,COLOR_SENSORS_IR_A} + +#define COLOR_SENSORS_RWR_RGB 0.5, 1, 0.5 +#define COLOR_SENSORS_RWR_A 0.5 +#define COLOR_SENSORS_RWR_RGBA {COLOR_SENSORS_RWR_RGB,COLOR_SENSORS_RWR_A} + +#define COLOR_SENSORS_NV_RGB 1,1,1 +#define COLOR_SENSORS_NV_A 0 +#define COLOR_SENSORS_NV_RGBA {COLOR_SENSORS_NV_RGB,COLOR_SENSORS_NV_A} + +#define COLOR_SENSORS_LAS_RGB 1,1,1 +#define COLOR_SENSORS_LAS_A 0 +#define COLOR_SENSORS_LAS_RGBA {COLOR_SENSORS_LAS_RGB,COLOR_SENSORS_LAS_A} + +#define COLOR_SENSORS_VIS_RGB 1.0,1.0,0.5 +#define COLOR_SENSORS_VIS_A 0.8 +#define COLOR_SENSORS_VIS_RGBA {COLOR_SENSORS_VIS_RGB,COLOR_SENSORS_VIS_A} + +#define COLOR_SENSORS_MAN_RGB 1.0, 0.5, 1.0 +#define COLOR_SENSORS_MAN_A 1.0 +#define COLOR_SENSORS_MAN_RGBA {COLOR_SENSORS_MAN_RGB,COLOR_SENSORS_MAN_A} + + +#define COLOR_SENSORS_ENEMY_RGB 1.0, 0.0, 0.0 +#define COLOR_SENSORS_ENEMY_A 1.0 +#define COLOR_SENSORS_ENEMY_RGBA {COLOR_SENSORS_ENEMY_RGB,COLOR_SENSORS_ENEMY_A} + +#define COLOR_SENSORS_FRIENDLY_RGB 0.0, 1.0, 0.0 +#define COLOR_SENSORS_FRIENDLY_A 1.0 +#define COLOR_SENSORS_FRIENDLY_RGBA {COLOR_SENSORS_FRIENDLY_RGB,COLOR_SENSORS_FRIENDLY_A} + +#define COLOR_SENSORS_GROUP_RGB 0.7, 1.0, 0.4 +#define COLOR_SENSORS_GROUP_A 1.0 +#define COLOR_SENSORS_GROUP_RGBA {COLOR_SENSORS_GROUP_RGB,COLOR_SENSORS_GROUP_A} + +#define COLOR_SENSORS_WARNING_RGB 1.0, 1.0, 0.0 +#define COLOR_SENSORS_WARNING_A 1.0 +#define COLOR_SENSORS_WARNING_RGBA {COLOR_SENSORS_WARNING_RGB,COLOR_SENSORS_WARNING_A} + +#define COLOR_SENSORS_THREAT_RGB 1.0, 0.5, 0.0 +#define COLOR_SENSORS_THREAT_A 1.0 +#define COLOR_SENSORS_THREAT_RGBA {COLOR_SENSORS_THREAT_RGB,COLOR_SENSORS_THREAT_A} + +#define COLOR_SENSORS_DEFAULT_RGB 1.0, 1.0, 1.0 +#define COLOR_SENSORS_DEFAULT_A 1.0 +#define COLOR_SENSORS_DEFAULT_RGBA {COLOR_SENSORS_DEFAULT_RGB,COLOR_SENSORS_DEFAULT_A} \ No newline at end of file diff --git a/include/a3/ui_f/hpp/defineCommonGrids.inc b/include/a3/ui_f/hpp/defineCommonGrids.inc new file mode 100644 index 0000000..9574a69 --- /dev/null +++ b/include/a3/ui_f/hpp/defineCommonGrids.inc @@ -0,0 +1,464 @@ +/////////////////////////////////////////////////////////////////////////// +/// GUI +/////////////////////////////////////////////////////////////////////////// + +//--- Hack to avoid too large display upon first startup (fixed in engine) +//#define GUI_GRID_OLD_WAbs ((safezoneW / ((floor (safezoneW / safezoneH)) max 1)) min 1.2) + +//--- New grid for new A3 displays +#define GUI_GRID_WAbs ((safezoneW / safezoneH) min 1.2) +#define GUI_GRID_HAbs (GUI_GRID_WAbs / 1.2) +#define GUI_GRID_W (GUI_GRID_WAbs / 40) +#define GUI_GRID_H (GUI_GRID_HAbs / 25) +#define GUI_GRID_X (safezoneX) +#define GUI_GRID_Y (safezoneY + safezoneH - GUI_GRID_HAbs) + +//--- MUF - Test grid used in MP +#define GUI_GRID_MP_WAbs GUI_GRID_WAbs +#define GUI_GRID_MP_HAbs GUI_GRID_HAbs +#define GUI_GRID_MP_W GUI_GRID_W +#define GUI_GRID_MP_H GUI_GRID_H +#define GUI_GRID_MP_X (SafezoneX) +#define GUI_GRID_MP_Y (safezoneY) + +//--- Screen Center +#define GUI_GRID_CENTER_WAbs GUI_GRID_WAbs +#define GUI_GRID_CENTER_HAbs GUI_GRID_HAbs +#define GUI_GRID_CENTER_W GUI_GRID_W +#define GUI_GRID_CENTER_H GUI_GRID_H +#define GUI_GRID_CENTER_X (safezoneX + (safezoneW - GUI_GRID_CENTER_WAbs)/2) +#define GUI_GRID_CENTER_Y (safezoneY + (safezoneH - GUI_GRID_CENTER_HAbs)/2) + +//--- Bottom center position (used by Revive UI) +#define GUI_GRID_CENTER_BOTTOM_WAbs GUI_GRID_WAbs +#define GUI_GRID_CENTER_BOTTOM_HAbs GUI_GRID_HAbs +#define GUI_GRID_CENTER_BOTTOM_W GUI_GRID_W +#define GUI_GRID_CENTER_BOTTOM_H GUI_GRID_H +#define GUI_GRID_CENTER_BOTTOM_X (safezoneX + (safezoneW - GUI_GRID_CENTER_WAbs)/2) +#define GUI_GRID_CENTER_BOTTOM_Y (safezoneY + safezoneH - GUI_GRID_CENTER_HAbs) + +//--- Screen Top Center +#define GUI_GRID_TOPCENTER_WAbs GUI_GRID_WAbs +#define GUI_GRID_TOPCENTER_HAbs GUI_GRID_HAbs +#define GUI_GRID_TOPCENTER_W GUI_GRID_W +#define GUI_GRID_TOPCENTER_H GUI_GRID_H +#define GUI_GRID_TOPCENTER_X GUI_GRID_CENTER_X +#define GUI_GRID_TOPCENTER_Y safezoneY + +//--- Screen Bottom Center +#define GUI_GRID_BOTTOMCENTER_WAbs GUI_GRID_WAbs +#define GUI_GRID_BOTTOMCENTER_HAbs GUI_GRID_HAbs +#define GUI_GRID_BOTTOMCENTER_W GUI_GRID_W +#define GUI_GRID_BOTTOMCENTER_H GUI_GRID_H +#define GUI_GRID_BOTTOMCENTER_X GUI_GRID_CENTER_X +#define GUI_GRID_BOTTOMCENTER_Y GUI_GRID_Y + +//--- 2D Editor - TEST A3 +#define GUI_GRID_EDITOR_WAbs GUI_GRID_CENTER_WAbs +#define GUI_GRID_EDITOR_HAbs GUI_GRID_CENTER_HAbs +#define GUI_GRID_EDITOR_W GUI_GRID_CENTER_W +#define GUI_GRID_EDITOR_H GUI_GRID_CENTER_H +#define GUI_GRID_EDITOR_X (safezoneX) +#define GUI_GRID_EDITOR_Y (safezoneY) + +//--- Diary +#define GUI_GRID_DIARY_WAbs GUI_GRID_WAbs +#define GUI_GRID_DIARY_HAbs GUI_GRID_HAbs +#define GUI_GRID_DIARY_W GUI_GRID_W +#define GUI_GRID_DIARY_H GUI_GRID_H +#define GUI_GRID_DIARY_X (safezoneX) +#define GUI_GRID_DIARY_Y (safezoneY) + +//--- Top left +#define GUI_GRID_TOPLEFT_WAbs GUI_GRID_WAbs +#define GUI_GRID_TOPLEFT_HAbs GUI_GRID_HAbs +#define GUI_GRID_TOPLEFT_W GUI_GRID_W +#define GUI_GRID_TOPLEFT_H GUI_GRID_H +#define GUI_GRID_TOPLEFT_X (safezoneX) +#define GUI_GRID_TOPLEFT_Y (safezoneY) + + +/////////////////////////////////////////////////////////////////////////// +/// iGUI +/////////////////////////////////////////////////////////////////////////// + +//--- IGUI Vehicle +#define IGUI_GRID_VEHICLE_WAbs (10 * GUI_GRID_W) +#define IGUI_GRID_VEHICLE_HAbs (4.5 * GUI_GRID_H) +#define IGUI_GRID_VEHICLE_XDef (safezoneX + 0.5 * GUI_GRID_W) +#define IGUI_GRID_VEHICLE_YDef (safezoneY + 0.5 * GUI_GRID_H) +#define IGUI_GRID_VEHICLE_X (profilenamespace getvariable ["IGUI_GRID_VEHICLE_X",IGUI_GRID_VEHICLE_XDef]) +#define IGUI_GRID_VEHICLE_Y (profilenamespace getvariable ["IGUI_GRID_VEHICLE_Y",IGUI_GRID_VEHICLE_YDef]) +#define IGUI_GRID_VEHICLE_W GUI_GRID_W +#define IGUI_GRID_VEHICLE_H GUI_GRID_H + +//--- IGUI Radar +#define IGUI_GRID_RADAR_WAbs (5.6 * GUI_GRID_W) +#define IGUI_GRID_RADAR_HAbs (5.6 * GUI_GRID_H) +#define IGUI_GRID_RADAR_XDef (safezoneX + safezoneW / 2 - 2.8 * GUI_GRID_W) +#define IGUI_GRID_RADAR_YDef (safezoneY + 0.5 * GUI_GRID_H) +#define IGUI_GRID_RADAR_X (profilenamespace getvariable ["IGUI_GRID_RADAR_X",IGUI_GRID_RADAR_XDef]) +#define IGUI_GRID_RADAR_Y (profilenamespace getvariable ["IGUI_GRID_RADAR_Y",IGUI_GRID_RADAR_YDef]) +#define IGUI_GRID_RADAR_W GUI_GRID_W +#define IGUI_GRID_RADAR_H GUI_GRID_H + +//--- IGUI Weapon +#define IGUI_GRID_WEAPON_WAbs (10 * GUI_GRID_W) +#define IGUI_GRID_WEAPON_HAbs (4.5 * GUI_GRID_H) +#define IGUI_GRID_WEAPON_XDef ((safezoneX + safezoneW) - IGUI_GRID_WEAPON_WAbs - 4.3 * GUI_GRID_W) +#define IGUI_GRID_WEAPON_YDef (safezoneY + 0.5 * GUI_GRID_H) +#define IGUI_GRID_WEAPON_X (profilenamespace getvariable ["IGUI_GRID_WEAPON_X",IGUI_GRID_WEAPON_XDef]) +#define IGUI_GRID_WEAPON_Y (profilenamespace getvariable ["IGUI_GRID_WEAPON_Y",IGUI_GRID_WEAPON_YDef]) +#define IGUI_GRID_WEAPON_W GUI_GRID_W +#define IGUI_GRID_WEAPON_H GUI_GRID_H + +//--- IGUI Stance indicator +#define IGUI_GRID_STANCE_WAbs (3.7 * GUI_GRID_W) +#define IGUI_GRID_STANCE_HAbs (3.7 * GUI_GRID_H) +#define IGUI_GRID_STANCE_XDef ((safezoneX + safezoneW) - IGUI_GRID_STANCE_WAbs - 0.5 * GUI_GRID_W) +#define IGUI_GRID_STANCE_YDef (safezoneY + 0.5 * GUI_GRID_H) +#define IGUI_GRID_STANCE_X (profilenamespace getvariable ["IGUI_GRID_STANCE_X",IGUI_GRID_STANCE_XDef]) +#define IGUI_GRID_STANCE_Y (profilenamespace getvariable ["IGUI_GRID_STANCE_Y",IGUI_GRID_STANCE_YDef]) +#define IGUI_GRID_STANCE_W GUI_GRID_W +#define IGUI_GRID_STANCE_H GUI_GRID_H + +//--- IGUI Stamina Bar +#define IGUI_GRID_STAMINA_WAbs (10 * GUI_GRID_W) +#define IGUI_GRID_STAMINA_HAbs (1 * GUI_GRID_H) +#define IGUI_GRID_STAMINA_XDef IGUI_GRID_WEAPON_XDef +#define IGUI_GRID_STAMINA_YDef (safezoneY + 4.05 * GUI_GRID_H) +#define IGUI_GRID_STAMINA_X (profilenamespace getvariable ["IGUI_GRID_STAMINA_X",IGUI_GRID_STAMINA_XDef]) +#define IGUI_GRID_STAMINA_Y (profilenamespace getvariable ["IGUI_GRID_STAMINA_Y",IGUI_GRID_STAMINA_YDef]) +#define IGUI_GRID_STAMINA_W GUI_GRID_W +#define IGUI_GRID_STAMINA_H GUI_GRID_H + +//--- IGUI Notification +#define IGUI_GRID_NOTIFICATION_WAbs (12 * GUI_GRID_W) +#define IGUI_GRID_NOTIFICATION_HAbs (6 * GUI_GRID_H) +#define IGUI_GRID_NOTIFICATION_XDef (0.5 - 6 * GUI_GRID_W) +#define IGUI_GRID_NOTIFICATION_YDef (safezoneY + 6.5 * GUI_GRID_H) +#define IGUI_GRID_NOTIFICATION_X (profilenamespace getvariable ["IGUI_GRID_NOTIFICATION_X",IGUI_GRID_NOTIFICATION_XDef]) +#define IGUI_GRID_NOTIFICATION_Y (profilenamespace getvariable ["IGUI_GRID_NOTIFICATION_Y",IGUI_GRID_NOTIFICATION_YDef]) +#define IGUI_GRID_NOTIFICATION_W GUI_GRID_W +#define IGUI_GRID_NOTIFICATION_H GUI_GRID_H + +//--- IGUI Action / Command Menu +#define IGUI_GRID_MENU_WAbs (4.5 * GUI_GRID_W) +#define IGUI_GRID_MENU_HAbs (13.5 * IGUI_TEXT_SIZE_MEDIUM) +#define IGUI_GRID_MENU_XDef (1.5 * GUI_GRID_W + safezoneX) +#define IGUI_GRID_MENU_YDef (5 * GUI_GRID_H + safezoneY) +#define IGUI_GRID_MENU_X (profilenamespace getvariable ["IGUI_GRID_MENU_X",IGUI_GRID_MENU_XDef]) +#define IGUI_GRID_MENU_Y (profilenamespace getvariable ["IGUI_GRID_MENU_Y",IGUI_GRID_MENU_YDef]) +#define IGUI_GRID_MENU_W GUI_GRID_W +#define IGUI_GRID_MENU_H GUI_GRID_H + +//--- IGUI Communication menu icons +#define IGUI_GRID_COMM_WAbs (1.5 * GUI_GRID_W) +#define IGUI_GRID_COMM_HAbs (15 * GUI_GRID_H) +#define IGUI_GRID_COMM_XDef (0 * GUI_GRID_W + safezoneX) +#define IGUI_GRID_COMM_YDef (5 * GUI_GRID_H + safezoneY) +#define IGUI_GRID_COMM_X (profilenamespace getvariable ["IGUI_GRID_COMM_X",IGUI_GRID_COMM_XDef]) +#define IGUI_GRID_COMM_Y (profilenamespace getvariable ["IGUI_GRID_COMM_Y",IGUI_GRID_COMM_YDef]) +#define IGUI_GRID_COMM_W GUI_GRID_W +#define IGUI_GRID_COMM_H GUI_GRID_H + +//--- IGUI Hint +#define IGUI_GRID_HINT_WAbs (12 * GUI_GRID_W) +#define IGUI_GRID_HINT_HAbs (8 * GUI_GRID_H) +#define IGUI_GRID_HINT_XDef ((safezoneX + safezoneW) - IGUI_GRID_HINT_WAbs - 1 * GUI_GRID_W) +#define IGUI_GRID_HINT_YDef (safezoneY + 6 * GUI_GRID_H) +#define IGUI_GRID_HINT_X (profilenamespace getvariable ["IGUI_GRID_HINT_X",IGUI_GRID_HINT_XDef]) +#define IGUI_GRID_HINT_Y (profilenamespace getvariable ["IGUI_GRID_HINT_Y",IGUI_GRID_HINT_YDef]) +#define IGUI_GRID_HINT_W GUI_GRID_W +#define IGUI_GRID_HINT_H GUI_GRID_H + +//--- IGUI GPS +#define IGUI_GRID_GPS_XDef (safezoneX + safezoneW - 11 * GUI_GRID_W) +#define IGUI_GRID_GPS_YDef (safezoneY + safezoneH - 20.5 * GUI_GRID_H) +#define IGUI_GRID_GPS_WDef (10 * GUI_GRID_W) +#define IGUI_GRID_GPS_HDef (10 * GUI_GRID_H) +#define IGUI_GRID_GPS_X (profilenamespace getvariable ['IGUI_GRID_GPS_X',IGUI_GRID_GPS_XDef]) +#define IGUI_GRID_GPS_Y (profilenamespace getvariable ['IGUI_GRID_GPS_Y',IGUI_GRID_GPS_YDef]) +#define IGUI_GRID_GPS_WAbs (profilenamespace getvariable ['IGUI_GRID_GPS_W',IGUI_GRID_GPS_WDef]) +#define IGUI_GRID_GPS_HAbs (profilenamespace getvariable ['IGUI_GRID_GPS_H',IGUI_GRID_GPS_HDef]) + +//--- IGUI AV Camera +#define IGUI_GRID_AVCAMERA_XDef (safezoneX + safezoneW - 11.6 * GUI_GRID_W) +#define IGUI_GRID_AVCAMERA_YDef (safezoneY + safezoneH - 17.2 * GUI_GRID_H) +#define IGUI_GRID_AVCAMERA_WDef (10.6 * GUI_GRID_W) +#define IGUI_GRID_AVCAMERA_HDef (6.7 * GUI_GRID_H) +#define IGUI_GRID_AVCAMERA_X (profilenamespace getvariable ['IGUI_GRID_AVCAMERA_X',IGUI_GRID_AVCAMERA_XDef]) +#define IGUI_GRID_AVCAMERA_Y (profilenamespace getvariable ['IGUI_GRID_AVCAMERA_Y',IGUI_GRID_AVCAMERA_YDef]) +#define IGUI_GRID_AVCAMERA_WAbs (profilenamespace getvariable ['IGUI_GRID_AVCAMERA_W',IGUI_GRID_AVCAMERA_WDef]) +#define IGUI_GRID_AVCAMERA_HAbs (profilenamespace getvariable ['IGUI_GRID_AVCAMERA_H',IGUI_GRID_AVCAMERA_HDef]) + +//--- IGUI IGUI Chat Log +#define IGUI_GRID_CHAT_XDef (safezoneX + 1 * GUI_GRID_W) +#define IGUI_GRID_CHAT_YDef (safezoneY + safezoneH - 10.5 * GUI_GRID_H) +#define IGUI_GRID_CHAT_WDef (20 * GUI_GRID_W) +#define IGUI_GRID_CHAT_HDef (5 * GUI_GRID_H) +#define IGUI_GRID_CHAT_X (profilenamespace getvariable ["IGUI_GRID_CHAT_X",IGUI_GRID_CHAT_XDef]) +#define IGUI_GRID_CHAT_Y (profilenamespace getvariable ["IGUI_GRID_CHAT_Y",IGUI_GRID_CHAT_YDef]) +#define IGUI_GRID_CHAT_WAbs (profilenamespace getvariable ["IGUI_GRID_CHAT_W",IGUI_GRID_CHAT_WDef]) +#define IGUI_GRID_CHAT_HAbs (profilenamespace getvariable ["IGUI_GRID_CHAT_H",IGUI_GRID_CHAT_HDef]) + +//--- IGUI Command Bar +#define IGUI_GRID_BAR_WAbs (36 * GUI_GRID_W) +#define IGUI_GRID_BAR_HAbs (4 * GUI_GRID_H) +#define IGUI_GRID_BAR_XDef (safezoneX + 1 * GUI_GRID_W) +#define IGUI_GRID_BAR_YDef (safezoneY + safezoneH - 4.5 * GUI_GRID_H) +#define IGUI_GRID_BAR_X (profilenamespace getvariable ["IGUI_GRID_BAR_X",IGUI_GRID_BAR_XDef]) +#define IGUI_GRID_BAR_Y (profilenamespace getvariable ["IGUI_GRID_BAR_Y",IGUI_GRID_BAR_YDef]) +#define IGUI_GRID_BAR_W GUI_GRID_W +#define IGUI_GRID_BAR_H GUI_GRID_H + +//--- IGUI MP Progress +#define IGUI_GRID_MP_WAbs (2.5 * GUI_GRID_W) +#define IGUI_GRID_MP_HAbs (15 * GUI_GRID_H) +#define IGUI_GRID_MP_XDef (safezoneX + safezoneW - 2 * GUI_GRID_W) +#define IGUI_GRID_MP_YDef (5 * GUI_GRID_H + safezoneY) +#define IGUI_GRID_MP_X (profilenamespace getvariable ["IGUI_GRID_MP_X",IGUI_GRID_MP_XDef]) +#define IGUI_GRID_MP_Y (profilenamespace getvariable ["IGUI_GRID_MP_Y",IGUI_GRID_MP_YDef]) +#define IGUI_GRID_MP_W GUI_GRID_W +#define IGUI_GRID_MP_H GUI_GRID_H + +//--- IGUI Custom Mission Display +#define IGUI_GRID_MISSION_WAbs (20 * GUI_GRID_W) +#define IGUI_GRID_MISSION_HAbs (5 * GUI_GRID_H) +#define IGUI_GRID_MISSION_XDef (safezoneX + safezoneW - 21 * GUI_GRID_W) +#define IGUI_GRID_MISSION_YDef (safezoneY + safezoneH - 10.5 * GUI_GRID_H) +#define IGUI_GRID_MISSION_X (profilenamespace getvariable ["IGUI_GRID_MISSION_X",IGUI_GRID_MISSION_XDef]) +#define IGUI_GRID_MISSION_Y (profilenamespace getvariable ["IGUI_GRID_MISSION_Y",IGUI_GRID_MISSION_YDef]) +#define IGUI_GRID_MISSION_W GUI_GRID_W +#define IGUI_GRID_MISSION_H GUI_GRID_H + +//--- IGUI Custom Info +#define IGUI_GRID_CUSTOMINFO_WDef (10 * GUI_GRID_W) +#define IGUI_GRID_CUSTOMINFO_HDef (10 * GUI_GRID_H) +#define IGUI_GRID_CUSTOMINFOLEFT_XDef (safezoneX + 0.5 * GUI_GRID_W) +#define IGUI_GRID_CUSTOMINFOLEFT_YDef (safezoneY + safezoneH - 21 * GUI_GRID_H) +#define IGUI_GRID_CUSTOMINFORIGHT_XDef ((safezoneX + safezoneW) - (IGUI_GRID_CUSTOMINFO_WDef + 0.5 * GUI_GRID_W)) +#define IGUI_GRID_CUSTOMINFORIGHT_YDef (safezoneY + safezoneH - 21 * GUI_GRID_H) + +#define IGUI_GRID_CUSTOMINFOLEFT_X (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFOLEFT_X",IGUI_GRID_CUSTOMINFOLEFT_XDef]) +#define IGUI_GRID_CUSTOMINFOLEFT_Y (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFOLEFT_Y",IGUI_GRID_CUSTOMINFOLEFT_YDef]) +#define IGUI_GRID_CUSTOMINFORIGHT_X (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFORIGHT_X",IGUI_GRID_CUSTOMINFORIGHT_XDef]) +#define IGUI_GRID_CUSTOMINFORIGHT_Y (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFORIGHT_Y",IGUI_GRID_CUSTOMINFORIGHT_YDef]) +#define IGUI_GRID_CUSTOMINFO_WAbs (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFORIGHT_W",IGUI_GRID_CUSTOMINFO_WDef]) +#define IGUI_GRID_CUSTOMINFO_HAbs (profilenamespace getvariable ["IGUI_GRID_CUSTOMINFORIGHT_H",IGUI_GRID_CUSTOMINFO_HDef]) +#define IGUI_GRID_CUSTOMINFO_INNER_WAbs IGUI_GRID_CUSTOMINFO_WAbs - 0.25 * GUI_GRID_W +#define IGUI_GRID_CUSTOMINFO_INNER_HAbs IGUI_GRID_CUSTOMINFO_HAbs - 1.25 * GUI_GRID_H + + +/////////////////////////////////////////////////////////////////////////// +/// Old +/////////////////////////////////////////////////////////////////////////// + +//--- Old grid, that is used for old A3 and TKOH displays +#define GUI_GRID_OLD_WAbs ((safezoneW / safezoneH) min 1.2) +#define GUI_GRID_OLD_HAbs (GUI_GRID_OLD_WAbs / 1.2) +#define GUI_GRID_OLD_W (GUI_GRID_OLD_WAbs / 32) +#define GUI_GRID_OLD_H (GUI_GRID_OLD_HAbs / 20) +#define GUI_GRID_OLD_X (safezoneX) +#define GUI_GRID_OLD_Y (safezoneY + safezoneH - GUI_GRID_OLD_HAbs) + +//--- Centered +//#define GUI_GRID_OLD_X (safezoneX + (safezoneW - GUI_GRID_OLD_CENTER_WAbs)/2) +//--- Dark magic +//#define GUI_GRID_OLD_X (profilenamespace getvariable ['GUI_GRID_OLD_X',(safezoneX + (safezoneW - GUI_GRID_OLD_CENTER_WAbs)/2)]) +//#define GUI_GRID_OLD_Y (profilenamespace getvariable ['GUI_GRID_OLD_Y',(safezoneY + safezoneH - GUI_GRID_OLD_HAbs)]) + +//MUF-TEST: Anchor near the right edge of the screen - when changing Interface size, this point doesn't change its X position +#define GUI_ANCHOR_RIGHT (0.983 * safezoneW + safezoneX) +#define GUI_ANCHOR_LEFT 0 + +//--- Screen Center +#define GUI_GRID_OLD_CENTER_WAbs GUI_GRID_OLD_WAbs +#define GUI_GRID_OLD_CENTER_HAbs GUI_GRID_OLD_HAbs +#define GUI_GRID_OLD_CENTER_W GUI_GRID_OLD_W +#define GUI_GRID_OLD_CENTER_H GUI_GRID_OLD_H +#define GUI_GRID_OLD_CENTER_X (safezoneX + (safezoneW - GUI_GRID_OLD_CENTER_WAbs)/2) +#define GUI_GRID_OLD_CENTER_Y (safezoneY + (safezoneH - GUI_GRID_OLD_CENTER_HAbs)/2) + +//--- 2D Editor +#define GUI_GRID_OLD_EDITOR_WAbs GUI_GRID_OLD_CENTER_WAbs +#define GUI_GRID_OLD_EDITOR_HAbs GUI_GRID_OLD_CENTER_HAbs +#define GUI_GRID_OLD_EDITOR_W GUI_GRID_OLD_CENTER_W +#define GUI_GRID_OLD_EDITOR_H GUI_GRID_OLD_CENTER_H +#define GUI_GRID_OLD_EDITOR_X GUI_GRID_OLD_CENTER_X +#define GUI_GRID_OLD_EDITOR_Y (safezoneY) + +//--- Debug console (center down) +#define GUI_GRID_OLD_DEBUG_WAbs GUI_GRID_OLD_WAbs +#define GUI_GRID_OLD_DEBUG_HAbs GUI_GRID_OLD_HAbs +#define GUI_GRID_OLD_DEBUG_W GUI_GRID_OLD_W +#define GUI_GRID_OLD_DEBUG_H GUI_GRID_OLD_H +#define GUI_GRID_OLD_DEBUG_X (safezoneX + (safezoneW - GUI_GRID_OLD_DEBUG_WAbs)/2) +#define GUI_GRID_OLD_DEBUG_Y (safezoneY + safezoneH - GUI_GRID_OLD_DEBUG_HAbs) + +//--- IGUI Common +#define IGUI_GRID_OLD_WAbs GUI_GRID_OLD_WAbs +#define IGUI_GRID_OLD_HAbs GUI_GRID_OLD_HAbs +#define IGUI_GRID_OLD_W GUI_GRID_OLD_W +#define IGUI_GRID_OLD_H GUI_GRID_OLD_H +#define IGUI_GRID_OLD_X (safezoneX + (safezoneW - IGUI_GRID_OLD_WAbs) / 2) +#define IGUI_GRID_OLD_Y (safezoneY + safezoneH - IGUI_GRID_OLD_HAbs) + +//--- IGUI Bottom +#define IGUI_GRID_OLD_BOTTOM_WAbs IGUI_GRID_OLD_WAbs +#define IGUI_GRID_OLD_BOTTOM_HAbs IGUI_GRID_OLD_HAbs +#define IGUI_GRID_OLD_BOTTOM_W IGUI_GRID_OLD_W +#define IGUI_GRID_OLD_BOTTOM_H IGUI_GRID_OLD_H +#define IGUI_GRID_OLD_BOTTOM_X (safezoneX + (safezoneW - IGUI_GRID_OLD_BOTTOM_WAbs) / 2) +#define IGUI_GRID_OLD_BOTTOM_Y (safezoneY + safezoneH - IGUI_GRID_OLD_BOTTOM_HAbs) + +//--- IGUI Analogue Gauges ----------------------------------------------------------------------------------------------------- +//--- Analogue gauge - Speed +#define IGUI_GRID_GAUGESPEED_XDef (safezoneX + (safezoneW / 2) - 19.75 * GUI_GRID_W) +#define IGUI_GRID_GAUGESPEED_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) +#define IGUI_GRID_GAUGESPEED_X (profilenamespace getvariable ['IGUI_GRID_GAUGESPEED_X',IGUI_GRID_GAUGESPEED_XDef]) +#define IGUI_GRID_GAUGESPEED_Y (profilenamespace getvariable ['IGUI_GRID_GAUGESPEED_Y',IGUI_GRID_GAUGESPEED_YDef]) +#define IGUI_GRID_GAUGESPEED_WAbs (7.5 * GUI_GRID_W) +#define IGUI_GRID_GAUGESPEED_HAbs (7.5 * GUI_GRID_H) + +//--- Analogue gauge - Alt +#define IGUI_GRID_GAUGEALT_XDef (safezoneX + (safezoneW / 2) - 11.75 * GUI_GRID_W) +#define IGUI_GRID_GAUGEALT_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) +#define IGUI_GRID_GAUGEALT_X (profilenamespace getvariable ['IGUI_GRID_GAUGEALT_X',IGUI_GRID_GAUGEALT_XDef]) +#define IGUI_GRID_GAUGEALT_Y (profilenamespace getvariable ['IGUI_GRID_GAUGEALT_Y',IGUI_GRID_GAUGEALT_YDef]) +#define IGUI_GRID_GAUGEALT_WAbs (7.5 * GUI_GRID_W) +#define IGUI_GRID_GAUGEALT_HAbs (7.5 * GUI_GRID_H) + +//--- Analogue gauge - Horizon +#define IGUI_GRID_GAUGEHORIZON_XDef (safezoneX + ((safezoneW - 7.5 * GUI_GRID_W) / 2)) +#define IGUI_GRID_GAUGEHORIZON_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) +#define IGUI_GRID_GAUGEHORIZON_X (profilenamespace getvariable ['IGUI_GRID_GAUGEHORIZON_X',IGUI_GRID_GAUGEHORIZON_XDef]) +#define IGUI_GRID_GAUGEHORIZON_Y (profilenamespace getvariable ['IGUI_GRID_GAUGEHORIZON_Y',IGUI_GRID_GAUGEHORIZON_YDef]) +#define IGUI_GRID_GAUGEHORIZON_WAbs (7.5 * GUI_GRID_W) +#define IGUI_GRID_GAUGEHORIZON_HAbs (7.5 * GUI_GRID_H) + +//--- Analogue gauge - Stability +#define IGUI_GRID_GAUGESTABILITY_XDef (safezoneX + (safezoneW / 2) + 4.25 * GUI_GRID_W) +#define IGUI_GRID_GAUGESTABILITY_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) +#define IGUI_GRID_GAUGESTABILITY_X (profilenamespace getvariable ['IGUI_GRID_GAUGESTABILITY_X',IGUI_GRID_GAUGESTABILITY_XDef]) +#define IGUI_GRID_GAUGESTABILITY_Y (profilenamespace getvariable ['IGUI_GRID_GAUGESTABILITY_Y',IGUI_GRID_GAUGESTABILITY_YDef]) +#define IGUI_GRID_GAUGESTABILITY_WAbs (7.5 * GUI_GRID_W) +#define IGUI_GRID_GAUGESTABILITY_HAbs (7.5 * GUI_GRID_H) + +//--- Analogue gauge - Compass +#define IGUI_GRID_GAUGECOMPASS_XDef (safezoneX + (safezoneW / 2) + 12.25 * GUI_GRID_W) +#define IGUI_GRID_GAUGECOMPASS_YDef (safezoneY + safezoneH - 11.7 * GUI_GRID_H) +#define IGUI_GRID_GAUGECOMPASS_X (profilenamespace getvariable ['IGUI_GRID_GAUGECOMPASS_X',IGUI_GRID_GAUGECOMPASS_XDef]) +#define IGUI_GRID_GAUGECOMPASS_Y (profilenamespace getvariable ['IGUI_GRID_GAUGECOMPASS_Y',IGUI_GRID_GAUGECOMPASS_YDef]) +#define IGUI_GRID_GAUGECOMPASS_WAbs (7.5 * GUI_GRID_W) +#define IGUI_GRID_GAUGECOMPASS_HAbs (7.5 * GUI_GRID_H) + +//--- Analogue gauge - Damage indicators +// #define IGUI_GRID_GAUGEDAMAGE_XDef (safezoneX + (safezoneW / 2) - 19 * GUI_GRID_W) +// #define IGUI_GRID_GAUGEDAMAGE_YDef (safezoneY + safezoneH - 7 * GUI_GRID_H) +// #define IGUI_GRID_GAUGEDAMAGE_X (profilenamespace getvariable ['IGUI_GRID_GAUGEDAMAGE_X',IGUI_GRID_GAUGEDAMAGE_XDef]) +// #define IGUI_GRID_GAUGEDAMAGE_Y (profilenamespace getvariable ['IGUI_GRID_GAUGEDAMAGE_Y',IGUI_GRID_GAUGEDAMAGE_YDef]) +// #define IGUI_GRID_GAUGEDAMAGE_WAbs (9.6 * GUI_GRID_W) +// #define IGUI_GRID_GAUGEDAMAGE_HAbs (2.4 * GUI_GRID_H) +//--- IGUI Analogue Gauges ----------------------------------------------------------------------------------------------------- + +//--- Sling Load Assistant +#define IGUI_GRID_SLINGLOADASSISTANT_XDef (safezoneX + safezoneW - 8 * GUI_GRID_W) +#define IGUI_GRID_SLINGLOADASSISTANT_YDef (safezoneY + safezoneH - 19.5 * GUI_GRID_H) +#define IGUI_GRID_SLINGLOADASSISTANT_WDef (7 * GUI_GRID_W) +#define IGUI_GRID_SLINGLOADASSISTANT_HDef (9.5 * GUI_GRID_H) +#define IGUI_GRID_SLINGLOADASSISTANT_X (profilenamespace getvariable ['IGUI_GRID_SLINGLOADASSISTANT_X',IGUI_GRID_SLINGLOADASSISTANT_XDef]) +#define IGUI_GRID_SLINGLOADASSISTANT_Y (profilenamespace getvariable ['IGUI_GRID_SLINGLOADASSISTANT_Y',IGUI_GRID_SLINGLOADASSISTANT_YDef]) +#define IGUI_GRID_SLINGLOADASSISTANT_WAbs (profilenamespace getvariable ['IGUI_GRID_SLINGLOADASSISTANT_W',IGUI_GRID_SLINGLOADASSISTANT_WDef]) +#define IGUI_GRID_SLINGLOADASSISTANT_HAbs (profilenamespace getvariable ['IGUI_GRID_SLINGLOADASSISTANT_H',IGUI_GRID_SLINGLOADASSISTANT_HDef]) + +//--- Squad Radar +// #define IGUI_GRID_SQUADRADAR_XDef (safezoneX + (safezoneW / 2) - 3 * GUI_GRID_W) +// #define IGUI_GRID_SQUADRADAR_YDef (safezoneY + safezoneH - 10.9 * GUI_GRID_H) +// #define IGUI_GRID_SQUADRADAR_X (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_X',IGUI_GRID_SQUADRADAR_XDef]) +// #define IGUI_GRID_SQUADRADAR_Y (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_Y',IGUI_GRID_SQUADRADAR_YDef]) +// #define IGUI_GRID_SQUADRADAR_WAbs (6 * GUI_GRID_W) +// #define IGUI_GRID_SQUADRADAR_HAbs (6 * GUI_GRID_H) + +// #define IGUI_GRID_SQUADRADAR_LIST1_XDef (IGUI_GRID_SQUADRADAR_XDef + IGUI_GRID_SQUADRADAR_WAbs) +// #define IGUI_GRID_SQUADRADAR_LIST1_YDef (IGUI_GRID_SQUADRADAR_YDef) +// #define IGUI_GRID_SQUADRADAR_LIST1_X (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_LIST1_X',IGUI_GRID_SQUADRADAR_LIST1_XDef]) +// #define IGUI_GRID_SQUADRADAR_LIST1_Y (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_LIST1_Y',IGUI_GRID_SQUADRADAR_LIST1_YDef]) +// #define IGUI_GRID_SQUADRADAR_LIST1_WAbs (6 * GUI_GRID_W) +// #define IGUI_GRID_SQUADRADAR_LIST1_HAbs (6 * GUI_GRID_H) + +// #define IGUI_GRID_SQUADRADAR_LIST2_XDef (IGUI_GRID_SQUADRADAR_LIST1_XDef + IGUI_GRID_SQUADRADAR_LIST1_WAbs) +// #define IGUI_GRID_SQUADRADAR_LIST2_YDef (IGUI_GRID_SQUADRADAR_LIST1_YDef) +// #define IGUI_GRID_SQUADRADAR_LIST2_X (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_LIST2_X',IGUI_GRID_SQUADRADAR_LIST2_XDef]) +// #define IGUI_GRID_SQUADRADAR_LIST2_Y (profilenamespace getvariable ['IGUI_GRID_SQUADRADAR_LIST2_Y',IGUI_GRID_SQUADRADAR_LIST2_YDef]) +// #define IGUI_GRID_SQUADRADAR_LIST2_WAbs (6 * GUI_GRID_W) +// #define IGUI_GRID_SQUADRADAR_LIST2_HAbs (6 * GUI_GRID_H) + +//--- IGUI Action / Command Menu +#define IGUI_GRID_OLD_MENU_WAbs (4.5 * IGUI_GRID_OLD_W) +#define IGUI_GRID_OLD_MENU_HAbs (10 * (IGUI_TEXT_SIZE_MEDIUM * 1.3)) +#define IGUI_GRID_OLD_MENU_XDef (1 * IGUI_GRID_OLD_W + safezoneX) +#define IGUI_GRID_OLD_MENU_YDef (5 * IGUI_GRID_OLD_H + safezoneY) +#define IGUI_GRID_OLD_MENU_X (profilenamespace getvariable ["IGUI_GRID_OLD_MENU_X",IGUI_GRID_OLD_MENU_XDef]) +#define IGUI_GRID_OLD_MENU_Y (profilenamespace getvariable ["IGUI_GRID_OLD_MENU_Y",IGUI_GRID_OLD_MENU_YDef]) +#define IGUI_GRID_OLD_MENU_W IGUI_GRID_OLD_W +#define IGUI_GRID_OLD_MENU_H IGUI_GRID_OLD_H + +//--- E3 +/* +#define IGUI_GRID_OLD_MENU_WAbs (4.5 * IGUI_GRID_OLD_W) +#define IGUI_GRID_OLD_MENU_HAbs (10 * (IGUI_TEXT_SIZE_MEDIUM * 1.3)) +#define IGUI_GRID_OLD_MENU_XDef (0.6) +#define IGUI_GRID_OLD_MENU_YDef (0.55) +#define IGUI_GRID_OLD_MENU_X (profilenamespace getvariable ["IGUI_GRID_OLD_MENU_X",IGUI_GRID_OLD_MENU_XDef]) +#define IGUI_GRID_OLD_MENU_Y (profilenamespace getvariable ["IGUI_GRID_OLD_MENU_Y",IGUI_GRID_OLD_MENU_YDef]) +#define IGUI_GRID_OLD_MENU_W IGUI_GRID_OLD_W +#define IGUI_GRID_OLD_MENU_H IGUI_GRID_OLD_H +*/ + +//--- IGUI Task +#define IGUI_GRID_OLD_TASK_WAbs (12 * IGUI_GRID_OLD_W) +#define IGUI_GRID_OLD_TASK_HAbs (2 * IGUI_GRID_OLD_H) +#define IGUI_GRID_OLD_TASK_XDef (10 * IGUI_GRID_OLD_W + IGUI_GRID_OLD_X) +#define IGUI_GRID_OLD_TASK_YDef (1 * IGUI_GRID_OLD_H + safezoneY) +#define IGUI_GRID_OLD_TASK_X IGUI_GRID_OLD_TASK_XDef +#define IGUI_GRID_OLD_TASK_Y IGUI_GRID_OLD_TASK_YDef +#define IGUI_GRID_OLD_TASK_W IGUI_GRID_OLD_W +#define IGUI_GRID_OLD_TASK_H IGUI_GRID_OLD_H + +//--- IGUI PIP +#define IGUI_GRID_OLD_PIP_XDef (safezoneX + safezoneW - 6.8 * IGUI_GRID_OLD_W) +#define IGUI_GRID_OLD_PIP_YDef (7 * IGUI_GRID_OLD_H + IGUI_GRID_OLD_Y) +#define IGUI_GRID_OLD_PIP_WDef (6 * IGUI_GRID_OLD_W) +#define IGUI_GRID_OLD_PIP_HDef (IGUI_GRID_OLD_PIP_WDef) +//#define IGUI_GRID_OLD_PIP_X (profilenamespace getvariable ['IGUI_GRID_OLD_PIP_X',IGUI_GRID_OLD_PIP_XDef]) +//#define IGUI_GRID_OLD_PIP_Y (profilenamespace getvariable ['IGUI_GRID_OLD_PIP_Y',IGUI_GRID_OLD_PIP_YDef]) +//#define IGUI_GRID_OLD_PIP_WAbs (profilenamespace getvariable ['IGUI_GRID_OLD_PIP_W',IGUI_GRID_OLD_PIP_WDef]) +#define IGUI_GRID_OLD_PIP_X IGUI_GRID_OLD_PIP_XDef +#define IGUI_GRID_OLD_PIP_Y IGUI_GRID_OLD_PIP_YDef +#define IGUI_GRID_OLD_PIP_WAbs IGUI_GRID_OLD_PIP_WDef +#define IGUI_GRID_OLD_PIP_HAbs (IGUI_GRID_OLD_PIP_WAbs) + + +//--- MUF - experimental optics grid +// #define GUI_GRID_OLD_OPTICS_X (SafezoneX + ((SafezoneW - SafezoneH) / 2)) +// #define GUI_GRID_OLD_OPTICS_Y (SafezoneY) +// #define GUI_GRID_OLD_OPTICS_W (0.01875) +// #define GUI_GRID_OLD_OPTICS_H (0.025) +// #define GUI_GRID_OLD_OPTICS_WAbs ((SafezoneX + ((SafezoneW - SafezoneH) / 2)) / 0.01875) +// #define GUI_GRID_OLD_OPTICS_HAbs (SafezoneH / 0.01875) + +#define GUI_GRID_OLD_OPTICS_X (SafezoneX + ((SafezoneW - SafezoneH) / 2)) +#define GUI_GRID_OLD_OPTICS_Y (SafezoneY) +#define GUI_GRID_OLD_OPTICS_W (0.01875 * SafezoneH) +#define GUI_GRID_OLD_OPTICS_H (0.025 * SafezoneH) +#define GUI_GRID_OLD_OPTICS_WAbs (SafezoneH) +#define GUI_GRID_OLD_OPTICS_HAbs (SafezoneH) + +//--- MUF - experimental AV Terminal grid +#define GUI_GRID_OLD_AV_TERMINAL_X (safezoneX) +#define GUI_GRID_OLD_AV_TERMINAL_Y (safezoneY) +#define GUI_GRID_OLD_AV_TERMINAL_W (safezoneW / 64) +#define GUI_GRID_OLD_AV_TERMINAL_H (safezoneH / 40) +#define GUI_GRID_OLD_AV_TERMINAL_WAbs (safezoneW) +#define GUI_GRID_OLD_AV_TERMINAL_HAbs (safezoneH) diff --git a/include/a3/ui_f/hpp/defineDIKCodes.inc b/include/a3/ui_f/hpp/defineDIKCodes.inc new file mode 100644 index 0000000..c641d60 --- /dev/null +++ b/include/a3/ui_f/hpp/defineDIKCodes.inc @@ -0,0 +1,190 @@ +#ifndef DIK_ESCAPE + +/**************************************************************************** + * + * DirectInput keyboard scan codes + * + ****************************************************************************/ + +#define DIK_ESCAPE 0x01 +#define DIK_1 0x02 +#define DIK_2 0x03 +#define DIK_3 0x04 +#define DIK_4 0x05 +#define DIK_5 0x06 +#define DIK_6 0x07 +#define DIK_7 0x08 +#define DIK_8 0x09 +#define DIK_9 0x0A +#define DIK_0 0x0B +#define DIK_MINUS 0x0C /* - on main keyboard */ +#define DIK_EQUALS 0x0D +#define DIK_BACK 0x0E /* backspace */ +#define DIK_TAB 0x0F +#define DIK_Q 0x10 +#define DIK_W 0x11 +#define DIK_E 0x12 +#define DIK_R 0x13 +#define DIK_T 0x14 +#define DIK_Y 0x15 +#define DIK_U 0x16 +#define DIK_I 0x17 +#define DIK_O 0x18 +#define DIK_P 0x19 +#define DIK_LBRACKET 0x1A +#define DIK_RBRACKET 0x1B +#define DIK_RETURN 0x1C /* Enter on main keyboard */ +#define DIK_LCONTROL 0x1D +#define DIK_A 0x1E +#define DIK_S 0x1F +#define DIK_D 0x20 +#define DIK_F 0x21 +#define DIK_G 0x22 +#define DIK_H 0x23 +#define DIK_J 0x24 +#define DIK_K 0x25 +#define DIK_L 0x26 +#define DIK_SEMICOLON 0x27 +#define DIK_APOSTROPHE 0x28 +#define DIK_GRAVE 0x29 /* accent grave */ +#define DIK_LSHIFT 0x2A +#define DIK_BACKSLASH 0x2B +#define DIK_Z 0x2C +#define DIK_X 0x2D +#define DIK_C 0x2E +#define DIK_V 0x2F +#define DIK_B 0x30 +#define DIK_N 0x31 +#define DIK_M 0x32 +#define DIK_COMMA 0x33 +#define DIK_PERIOD 0x34 /* . on main keyboard */ +#define DIK_SLASH 0x35 /* / on main keyboard */ +#define DIK_RSHIFT 0x36 +#define DIK_MULTIPLY 0x37 /* * on numeric keypad */ +#define DIK_LMENU 0x38 /* left Alt */ +#define DIK_SPACE 0x39 +#define DIK_CAPITAL 0x3A +#define DIK_F1 0x3B +#define DIK_F2 0x3C +#define DIK_F3 0x3D +#define DIK_F4 0x3E +#define DIK_F5 0x3F +#define DIK_F6 0x40 +#define DIK_F7 0x41 +#define DIK_F8 0x42 +#define DIK_F9 0x43 +#define DIK_F10 0x44 +#define DIK_NUMLOCK 0x45 +#define DIK_SCROLL 0x46 /* Scroll Lock */ +#define DIK_NUMPAD7 0x47 +#define DIK_NUMPAD8 0x48 +#define DIK_NUMPAD9 0x49 +#define DIK_SUBTRACT 0x4A /* - on numeric keypad */ +#define DIK_NUMPAD4 0x4B +#define DIK_NUMPAD5 0x4C +#define DIK_NUMPAD6 0x4D +#define DIK_ADD 0x4E /* + on numeric keypad */ +#define DIK_NUMPAD1 0x4F +#define DIK_NUMPAD2 0x50 +#define DIK_NUMPAD3 0x51 +#define DIK_NUMPAD0 0x52 +#define DIK_DECIMAL 0x53 /* . on numeric keypad */ +#define DIK_OEM_102 0x56 /* < > | on UK/Germany keyboards */ +#define DIK_F11 0x57 +#define DIK_F12 0x58 + +#define DIK_F13 0x64 /* (NEC PC98) */ +#define DIK_F14 0x65 /* (NEC PC98) */ +#define DIK_F15 0x66 /* (NEC PC98) */ + +#define DIK_KANA 0x70 /* (Japanese keyboard) */ +#define DIK_ABNT_C1 0x73 /* / ? on Portugese (Brazilian) keyboards */ +#define DIK_CONVERT 0x79 /* (Japanese keyboard) */ +#define DIK_NOCONVERT 0x7B /* (Japanese keyboard) */ +#define DIK_YEN 0x7D /* (Japanese keyboard) */ +#define DIK_ABNT_C2 0x7E /* Numpad . on Portugese (Brazilian) keyboards */ +#define DIK_NUMPADEQUALS 0x8D /* = on numeric keypad (NEC PC98) */ +#define DIK_PREVTRACK 0x90 /* Previous Track (DIK_CIRCUMFLEX on Japanese keyboard) */ +#define DIK_AT 0x91 /* (NEC PC98) */ +#define DIK_COLON 0x92 /* (NEC PC98) */ +#define DIK_UNDERLINE 0x93 /* (NEC PC98) */ +#define DIK_KANJI 0x94 /* (Japanese keyboard) */ +#define DIK_STOP 0x95 /* (NEC PC98) */ +#define DIK_AX 0x96 /* (Japan AX) */ +#define DIK_UNLABELED 0x97 /* (J3100) */ +#define DIK_NEXTTRACK 0x99 /* Next Track */ +#define DIK_NUMPADENTER 0x9C /* Enter on numeric keypad */ +#define DIK_RCONTROL 0x9D +#define DIK_MUTE 0xA0 /* Mute */ +#define DIK_CALCULATOR 0xA1 /* Calculator */ +#define DIK_PLAYPAUSE 0xA2 /* Play / Pause */ +#define DIK_MEDIASTOP 0xA4 /* Media Stop */ +#define DIK_VOLUMEDOWN 0xAE /* Volume - */ +#define DIK_VOLUMEUP 0xB0 /* Volume + */ +#define DIK_WEBHOME 0xB2 /* Web home */ +#define DIK_NUMPADCOMMA 0xB3 /* , on numeric keypad (NEC PC98) */ +#define DIK_DIVIDE 0xB5 /* / on numeric keypad */ +#define DIK_SYSRQ 0xB7 +#define DIK_RMENU 0xB8 /* right Alt */ +#define DIK_PAUSE 0xC5 /* Pause */ +#define DIK_HOME 0xC7 /* Home on arrow keypad */ +#define DIK_UP 0xC8 /* UpArrow on arrow keypad */ +#define DIK_PRIOR 0xC9 /* PgUp on arrow keypad */ +#define DIK_LEFT 0xCB /* LeftArrow on arrow keypad */ +#define DIK_RIGHT 0xCD /* RightArrow on arrow keypad */ +#define DIK_END 0xCF /* End on arrow keypad */ +#define DIK_DOWN 0xD0 /* DownArrow on arrow keypad */ +#define DIK_NEXT 0xD1 /* PgDn on arrow keypad */ +#define DIK_INSERT 0xD2 /* Insert on arrow keypad */ +#define DIK_DELETE 0xD3 /* Delete on arrow keypad */ +#define DIK_LWIN 0xDB /* Left Windows key */ +#define DIK_RWIN 0xDC /* Right Windows key */ +#define DIK_APPS 0xDD /* AppMenu key */ +#define DIK_POWER 0xDE /* System Power */ +#define DIK_SLEEP 0xDF /* System Sleep */ +#define DIK_WAKE 0xE3 /* System Wake */ +#define DIK_WEBSEARCH 0xE5 /* Web Search */ +#define DIK_WEBFAVORITES 0xE6 /* Web Favorites */ +#define DIK_WEBREFRESH 0xE7 /* Web Refresh */ +#define DIK_WEBSTOP 0xE8 /* Web Stop */ +#define DIK_WEBFORWARD 0xE9 /* Web Forward */ +#define DIK_WEBBACK 0xEA /* Web Back */ +#define DIK_MYCOMPUTER 0xEB /* My Computer */ +#define DIK_MAIL 0xEC /* Mail */ +#define DIK_MEDIASELECT 0xED /* Media Select */ + +/* + * Alternate names for keys, to facilitate transition from DOS. + */ +#define DIK_BACKSPACE DIK_BACK /* backspace */ +#define DIK_NUMPADSTAR DIK_MULTIPLY /* * on numeric keypad */ +#define DIK_LALT DIK_LMENU /* left Alt */ +#define DIK_CAPSLOCK DIK_CAPITAL /* CapsLock */ +#define DIK_NUMPADMINUS DIK_SUBTRACT /* - on numeric keypad */ +#define DIK_NUMPADPLUS DIK_ADD /* + on numeric keypad */ +#define DIK_NUMPADPERIOD DIK_DECIMAL /* . on numeric keypad */ +#define DIK_NUMPADSLASH DIK_DIVIDE /* / on numeric keypad */ +#define DIK_RALT DIK_RMENU /* right Alt */ +#define DIK_UPARROW DIK_UP /* UpArrow on arrow keypad */ +#define DIK_PGUP DIK_PRIOR /* PgUp on arrow keypad */ +#define DIK_LEFTARROW DIK_LEFT /* LeftArrow on arrow keypad */ +#define DIK_RIGHTARROW DIK_RIGHT /* RightArrow on arrow keypad */ +#define DIK_DOWNARROW DIK_DOWN /* DownArrow on arrow keypad */ +#define DIK_PGDN DIK_NEXT /* PgDn on arrow keypad */ + +/* + * Alternate names for keys originally not used on US keyboards. + */ +#define DIK_CIRCUMFLEX DIK_PREVTRACK /* Japanese keyboard */ + + +/* + * Combination keys + */ +#define INPUT_CTRL_OFFSET 512 +#define INPUT_SHIFT_OFFSET 1024 +#define INPUT_ALT_OFFSET 2048 + + +#endif /* DIK_ESCAPE */ + diff --git a/include/a3/ui_f/hpp/defineResincl.inc b/include/a3/ui_f/hpp/defineResincl.inc new file mode 100644 index 0000000..818fd43 --- /dev/null +++ b/include/a3/ui_f/hpp/defineResincl.inc @@ -0,0 +1,3186 @@ +#ifndef _RESINCL_HPP +#define _RESINCL_HPP + +/*******************/ +/* Tactical menu */ +/*******************/ + +// Menu commands + // main menu +#define CMD_SEPARATOR -1 +#define CMD_NOTHING -2 +#define CMD_HIDE_MENU -3 +#define CMD_BACK -4 +// Custom menu command +#define CMD_EXECUTE -5 + +#ifdef _CONFIG +enum +{ +// note: this CMD should be if possible organized as is menu +// (items from the same menu together) +// this makes searching much easier + +//main menu level +CMD_GETIN, +CMD_GETOUT, +CMD_ACTION, + +// move submenu + +// other commands +CMD_ADVANCE, +CMD_STAY_BACK, +CMD_FLANK_LEFT, +CMD_FLANK_RIGHT, +CMD_NEXT_WAYPOINT, +CMD_HIDE, +CMD_JOIN, +CMD_STOP, +CMD_EXPECT, +CMD_MOVE, + + // formations +CMD_FORM_COLUMN, +CMD_FORM_STAGCOL, +CMD_FORM_WEDGE, +CMD_FORM_ECHLEFT, +CMD_FORM_ECHRIGHT, +CMD_FORM_VEE, +CMD_FORM_LINE, +CMD_FORM_DIAMOND, +CMD_FORM_FILE, + +// engage +CMD_ENGAGE, +CMD_LOOSE_FORM, +CMD_KEEP_FORM, + +CMD_HOLD_FIRE, +CMD_OPEN_FIRE, +CMD_FIRE, + +// status +CMD_WATCH, +CMD_WATCH_AROUND, +CMD_WATCH_AUTO, +CMD_WATCH_DIR, + +// combat modes +CMD_STEALTH, +CMD_COMBAT, +CMD_AWARE, +CMD_SAFE, + +// heal +CMD_HEALBLEEDING, +CMD_HEAL, +CMD_HEAL_SELF, +CMD_REPAIR_VEHICLE, +CMD_CARRY, +CMD_DROP_CARRIED, +CMD_PUTIN, +CMD_UNLOADFROM, + +// swiming and diving +CMD_KEEP_DEPTH_RELATIVE_UP, +CMD_KEEP_DEPTH_RELATIVE_DOWN, +CMD_KEEP_DEPTH_LEADER, +CMD_KEEP_DEPTH_UNDERSURFACE, +CMD_KEEP_DEPTH_ABOVESURFACE, +CMD_KEEP_DEPTH_BOTTOM, + +//suppress fire +CMD_SUPPRESS, + +CMD_POS_UP, +CMD_POS_MIDDLE, +CMD_POS_DOWN, +CMD_POS_AUTO, + // teams +CMD_TEAM_MAIN, +CMD_TEAM_RED, +CMD_TEAM_GREEN, +CMD_TEAM_BLUE, +CMD_TEAM_YELLOW, +CMD_ASSIGN_MAIN, +CMD_ASSIGN_RED, +CMD_ASSIGN_GREEN, +CMD_ASSIGN_BLUE, +CMD_ASSIGN_YELLOW, +CMD_TEAM_DISSOLVE, + +// radio +CMD_RADIO_ALPHA, +CMD_RADIO_BRAVO, +CMD_RADIO_CHARLIE, +CMD_RADIO_DELTA, +CMD_RADIO_ECHO, +CMD_RADIO_FOXTROT, +CMD_RADIO_GOLF, +CMD_RADIO_HOTEL, +CMD_RADIO_INDIA, +CMD_RADIO_JULIET, + +// reply commands + +CMD_REPLY_DONE, +CMD_REPLY_FAIL, +CMD_REPLY_COPY, +CMD_REPLY_REPEAT, +CMD_REPLY_WHERE_ARE_YOU, +CMD_REPORT, +CMD_REPLY_ENGAGING, +CMD_REPLY_UNDER_FIRE, +CMD_REPLY_HIT, +CMD_REPLY_ONE_LESS, +CMD_REPLY_FIREREADY, +CMD_REPLY_FIRENOTREADY, +CMD_REPLY_KILLED, +CMD_REPLY_AMMO_LOW, +CMD_REPLY_FUEL_LOW, +CMD_REPLY_INJURED, +CMD_REPLY_OUT_OF_FAKs, + +CMD_SUPPORT_MEDIC, +CMD_SUPPORT_AMBULANCE, +CMD_SUPPORT_REPAIR, +CMD_SUPPORT_REARM, +CMD_SUPPORT_REFUEL, +CMD_SUPPORT_DONE, + +CMD_RADIO_CUSTOM, +CMD_RADIO_CUSTOM_1, +CMD_RADIO_CUSTOM_2, +CMD_RADIO_CUSTOM_3, +CMD_RADIO_CUSTOM_4, +CMD_RADIO_CUSTOM_5, +CMD_RADIO_CUSTOM_6, +CMD_RADIO_CUSTOM_7, +CMD_RADIO_CUSTOM_8, +CMD_RADIO_CUSTOM_9, +CMD_RADIO_CUSTOM_0, + +CMD_UNIT_1, +CMD_UNIT_2, +CMD_UNIT_3, +CMD_UNIT_4, +CMD_UNIT_5, +CMD_UNIT_6, +CMD_UNIT_7, +CMD_UNIT_8, +CMD_UNIT_9, +CMD_UNIT_10, +CMD_UNIT_11, +CMD_UNIT_12, +CMD_UNITS_ALL, + +CMD_MY_VEHICLE, + +CMD_SELECT_MAIN, +CMD_SELECT_RED, +CMD_SELECT_GREEN, +CMD_SELECT_BLUE, +CMD_SELECT_YELLOW, + +CMD_VEHICLE_1, +CMD_VEHICLE_2, +CMD_VEHICLE_3, +CMD_VEHICLE_4, +CMD_VEHICLE_5, +CMD_VEHICLE_6, +CMD_VEHICLE_7, +CMD_VEHICLE_8, +CMD_VEHICLE_9, +CMD_VEHICLE_10, +CMD_VEHICLE_11, +CMD_VEHICLE_12, + +CMD_SINGLE_UNITS, + +CMD_MP_CHANNEL_GLOBAL, +CMD_MP_CHANNEL_SIDE, +CMD_MP_CHANNEL_COMMAND, +CMD_MP_CHANNEL_GROUP, +CMD_MP_CHANNEL_VEHICLE, + +CMD_CONVERSATION, + +// Context sensitive commands +CMD_MOVE_AUTO, +CMD_STOP_AUTO, +CMD_WATCH_CTX, +CMD_GETIN_AUTO, +CMD_REARM_AUTO, +CMD_ATTACK_AUTO, +CMD_FIRE_AT_POSITION_AUTO, +CMD_SELECT_AUTO, +CMD_SELECT_AUTO_ADD, +CMD_DESELECT_AUTO, +CMD_JOIN_AUTO, +CMD_OPEN_FIRE_AUTO, +CMD_HOLD_FIRE_AUTO, +CMD_COMPLEX_COMMAND, +CMD_DISABLE_MINE, + +CMD_SELECT_UNIT_FROM_BAR, +CMD_DESELECT_UNIT_FROM_BAR, +CMD_SELECT_VEHICLE_FROM_BAR, +CMD_DESELECT_VEHICLE_FROM_BAR, +CMD_SELECT_TEAM_FROM_BAR, +CMD_DESELECT_TEAM_FROM_BAR, + +CMD_JOIN_ALL, + +CMD_SWITCH_TO_LEADER, +CMD_SWITCH_TO_SELECTED, + +CMD_NOTARGET, + +CMD_HC_SELECT_AUTO, +CMD_HC_SELECT_AUTO_ADD, +CMD_HC_DESELECT_AUTO, +CMD_HC_SELECT_UNIT_FROM_BAR, +CMD_HC_DESELECT_UNIT_FROM_BAR, +CMD_HC_SELECT_TEAM_FROM_BAR, +CMD_HC_DESELECT_TEAM_FROM_BAR, +CMD_OPENPARACHUTE, +CMD_TAKE_BACKPACK, +CMD_ASSEMBLE_WEAPON, +CMD_DISASSEMBLE_WEAPON, +CMD_ENGAGE_AUTO, +CMD_FIRE_AUTO, +CMD_FIRE_AT_POSITION_AMMO // same as CMD_FIRE_AT_POSITION_AUTO but with custom magazine +}; + +/// In-game UI hiding animation type +enum HideType +{ + HTNone, // no animation + HTFade, // fade in / fade out + HTMoveLeft, // move from / to the left + HTMoveRight // move from / to the right +}; + +enum +{ + SPTPlain, + SPTPercents +}; + +#endif + + +/*******************/ +/* Controls */ +/*******************/ + +// Control types +#define CT_STATIC 0 +#define CT_BUTTON 1 +#define CT_EDIT 2 +#define CT_SLIDER 3 +#define CT_COMBO 4 +#define CT_LISTBOX 5 +#define CT_TOOLBOX 6 +#define CT_CHECKBOXES 7 +#define CT_PROGRESS 8 +#define CT_HTML 9 +#define CT_STATIC_SKEW 10 +#define CT_ACTIVETEXT 11 +#define CT_TREE 12 +#define CT_STRUCTURED_TEXT 13 +#define CT_CONTEXT_MENU 14 +#define CT_CONTROLS_GROUP 15 +#define CT_SHORTCUTBUTTON 16 +#define CT_HITZONES 17 +#define CT_CONTROLS_TABLE 19 +#define CT_XKEYDESC 40 +#define CT_XBUTTON 41 +#define CT_XLISTBOX 42 +#define CT_XSLIDER 43 +#define CT_XCOMBO 44 +#define CT_ANIMATED_TEXTURE 45 +#define CT_OBJECT 80 +#define CT_OBJECT_ZOOM 81 +#define CT_OBJECT_CONTAINER 82 +#define CT_OBJECT_CONT_ANIM 83 +#define CT_LINEBREAK 98 +#define CT_USER 99 +#define CT_MAP 100 +#define CT_MAP_MAIN 101 +#define CT_LISTNBOX 102 +#define CT_ITEMSLOT 103 +#define CT_CHECKBOX 77 +#define CT_VEHICLE_DIRECTION 105 + +// Static styles +#define ST_POS 0x0F +#define ST_HPOS 0x03 +#define ST_VPOS 0x0C +#define ST_LEFT 0x00 +#define ST_RIGHT 0x01 +#define ST_CENTER 0x02 +#define ST_DOWN 0x04 +#define ST_UP 0x08 +#define ST_VCENTER 0x0C + +#define ST_TYPE 0xF0 +#define ST_SINGLE 0x00 +#define ST_MULTI 0x10 +#define ST_TITLE_BAR 0x20 +#define ST_PICTURE 0x30 +#define ST_FRAME 0x40 +#define ST_BACKGROUND 0x50 +#define ST_GROUP_BOX 0x60 +#define ST_GROUP_BOX2 0x70 +#define ST_HUD_BACKGROUND 0x80 +#define ST_TILE_PICTURE 0x90 +#define ST_WITH_RECT 0xA0 +#define ST_LINE 0xB0 +#define ST_UPPERCASE 0xC0 +#define ST_LOWERCASE 0xD0 + +#define ST_SHADOW 0x100 +#define ST_NO_RECT 0x200 +#define ST_KEEP_ASPECT_RATIO 0x800 + +#define ST_TITLE ST_TITLE_BAR + ST_CENTER + +// Slider styles +#define SL_DIR 0x400 +#define SL_VERT 0 +#define SL_HORZ 0x400 + +#define SL_TEXTURES 0x10 + +// progress bar +#define ST_VERTICAL 0x01 +#define ST_HORIZONTAL 0 + +// Listbox styles +#define LB_TEXTURES 0x10 +#define LB_MULTI 0x20 + +// Tree styles +#define TR_SHOWROOT 1 +#define TR_AUTOCOLLAPSE 2 + +// MessageBox styles +#define MB_BUTTON_OK 1 +#define MB_BUTTON_CANCEL 2 +#define MB_BUTTON_USER 4 +#define MB_ERROR_DIALOG 8 + +// Xbox buttons +#define KEY_XINPUT 0x00050000 + +#define KEY_XBOX_A KEY_XINPUT + 0 +#define KEY_XBOX_B KEY_XINPUT + 1 +#define KEY_XBOX_X KEY_XINPUT + 2 +#define KEY_XBOX_Y KEY_XINPUT + 3 +#define KEY_XBOX_Up KEY_XINPUT + 4 +#define KEY_XBOX_Down KEY_XINPUT + 5 +#define KEY_XBOX_Left KEY_XINPUT + 6 +#define KEY_XBOX_Right KEY_XINPUT + 7 +#define KEY_XBOX_Start KEY_XINPUT + 8 +#define KEY_XBOX_Back KEY_XINPUT + 9 +#define KEY_XBOX_LeftBumper KEY_XINPUT + 10 +#define KEY_XBOX_RightBumper KEY_XINPUT + 11 +#define KEY_XBOX_LeftTrigger KEY_XINPUT + 12 +#define KEY_XBOX_RightTrigger KEY_XINPUT + 13 +#define KEY_XBOX_LeftThumb KEY_XINPUT + 14 +#define KEY_XBOX_RightThumb KEY_XINPUT + 15 +#define KEY_XBOX_LeftThumbXRight KEY_XINPUT + 16 +#define KEY_XBOX_LeftThumbYUp KEY_XINPUT + 17 +#define KEY_XBOX_RightThumbXRight KEY_XINPUT + 18 +#define KEY_XBOX_RightThumbYUp KEY_XINPUT + 19 +#define KEY_XBOX_LeftThumbXLeft KEY_XINPUT + 20 +#define KEY_XBOX_LeftThumbYDown KEY_XINPUT + 21 +#define KEY_XBOX_RightThumbXLeft KEY_XINPUT + 22 +#define KEY_XBOX_RightThumbYDown KEY_XINPUT + 23 + +// Predefined controls +#define IDC_OK 1 +#define IDC_CANCEL 2 +#define IDC_AUTOCANCEL 3 +#define IDC_ABORT 4 +#define IDC_RESTART 5 +#define IDC_USER_BUTTON 6 +#define IDC_EXIT_TO_MAIN 7 + +// my own control window for tests +#define IDC_MY_FIRST_LISTBOX 110 +#define IDC_MY_FIRST_BUTTON 111 +#define IDC_MY_FIRST_SLIDER 112 + +#define IDC_MAP 51 +#define IDC_WEATHER 52 +#define IDC_POSITION 53 +#define IDC_TIME 54 +#define IDC_DATE 55 +#define IDC_BRIEFING 56 +#define IDC_MAP_NOTES 57 +#define IDC_MAP_PLAN 58 +#define IDC_MAP_TEAM_SWITCH 59 +#define IDC_MAP_GROUP 60 +//#define IDC_MAP_BRIEFING 61 +//#define IDC_MAP_DEBRIEFING 62 +#define IDC_RADIO_ALPHA 63 +#define IDC_RADIO_BRAVO 64 +#define IDC_RADIO_CHARLIE 65 +#define IDC_RADIO_DELTA 66 +#define IDC_RADIO_ECHO 67 +#define IDC_RADIO_FOXTROT 68 +#define IDC_RADIO_GOLF 69 +#define IDC_RADIO_HOTEL 70 +#define IDC_RADIO_INDIA 71 +#define IDC_RADIO_JULIET 72 +#define IDC_MAP_NAME 73 +#define IDC_WARRANT 74 +#define IDC_GPS 75 + +#define IDC_NOTEPAD_PICTURE 76 + +#define IDC_GPS_ALT 77 +#define IDC_GPS_HEADING 78 + +// - diary topics (used in multiple displays - diary, map, briefing, debriefing) +#define IDC_DIARY_TOPIC_MAP 80 +#define IDC_DIARY_TOPIC_1 81 +#define IDC_DIARY_TOPIC_2 82 +#define IDC_DIARY_TOPIC_3 83 +#define IDC_DIARY_TOPIC_4 84 +#define IDC_DIARY_TOPIC_5 85 +#define IDC_DIARY_TOPIC_6 86 +#define IDC_DIARY_TOPIC_7 87 +#define IDC_DIARY_TOPIC_8 88 +#define IDC_DIARY_TOPIC_9 89 + +#define IDC_HSLIDER 98 +#define IDC_VSLIDER 99 + +#define IDC_ARTILLERY_MAP 500 +#define IDC_ARTILLERY_MAP_FIRE 501 + +#define IDC_ARTILLERY_MAP_NAME 502 +#define IDC_ARTILLERY_MAP_ID 503 +#define IDC_ARTILLERY_MAP_GRID 504 +#define IDC_ARTILLERY_MAP_DIST 505 +#define IDC_ARTILLERY_MAP_MIN 506 +#define IDC_ARTILLERY_MAP_MAX 507 +#define IDC_ARTILLERY_MAP_DIR 508 +#define IDC_ARTILLERY_MAP_ALT 509 +#define IDC_ARTILLERY_MAP_MODE 510 +#define IDC_ARTILLERY_MAP_AMMO 511 +#define IDC_ARTILLERY_MAP_SHELLS 512 +#define IDC_ARTILLERY_MAP_SPREAD 513 +#define IDC_ARTILLERY_MAP_ETA 514 +#define IDC_ARTILLERY_MAP_AMMOCOUNT 515 +#define IDC_ARTILLERY_MAP_WARNING 516 +#define IDC_ARTILLERY_MAP_AIMABOVE 517 + +#define IDC_DIARY_TOPIC_LIST 1001 +#define IDC_DIARY_TOPIC_LISTINDEX 1002 +#define IDC_DIARY_TOPIC_HTML 1003 +#define IDC_DIARY_TOPIC_ADD_RECORD 1004 +#define IDC_DIARY_TOPIC_HTML_GROUP 1013 + +#define IDC_DIARY_PLAYER_NAME 111 +#define IDC_DIARY_MISSION_NAME 112 +#define IDC_DIARY_CURRENT_TASK 113 +#define IDC_DIARY_PLAYER_RANK 116 +//VON/chat muting in Diary +#define IDC_DIARY_PLAYERS_BUTTON 117 +#define IDC_DIARY_PLAYERS_SORT 118 +#define IDC_DIARY_MUTE_ALL 119 + +#define IDC_DIARY_TOPIC_BACKGROUND 1021 +#define IDC_DIARY_SUBTOPIC_BACKGROUND 1022 +#define IDC_DIARY_CONTENT_BACKGROUND 1023 + +//IDCs for marker color and icon. +//Are directly connected to RscMapControl, namely its idcMarkerColor and idcMarkerIcon parameters. +//Engine searches for the parameters in any display where RscMapControl is used, that's why they got more uncommon IDCs. +#define IDC_DIARY_MARKER_COLOR 1090 +#define IDC_DIARY_MARKER_ICON 1091 + + +// Instances of display +#define IDD_MAIN 0 +#define IDD_GAME 1 +#define IDD_SINGLE_MISSION 2 +#define IDD_OPTIONS 3 +#define IDD_CONFIGURE 4 +#define IDD_OPTIONS_VIDEO 5 +#define IDD_OPTIONS_AUDIO 6 +#define IDD_MULTIPLAYER 8 +#define IDD_LOAD_AAR 9 +#define IDD_MAIN_MAP 12 +#define IDD_SAVE 13 +#define IDD_END 14 +#define IDD_SERVER 17 +#define IDD_CLIENT 18 +#define IDD_IP_ADDRESS 19 +#define IDD_SERVER_SETUP 20 +#define IDD_CLIENT_SETUP 21 +#define IDD_CLIENT_WAIT 22 +#define IDD_CHAT 24 +#define IDD_CUSTOM_ARCADE 25 +#define IDD_ARCADE_MAP 26 +#define IDD_ARCADE_UNIT 27 +#define IDD_ARCADE_WAYPOINT 28 +#define IDD_TEMPLATE_SAVE 29 +#define IDD_TEMPLATE_LOAD 30 +#define IDD_LOGIN 31 +#define IDD_INTEL 32 +#define IDD_CAMPAIGN 33 +#define IDD_CREDITS 34 +#define IDD_INTEL_GETREADY 37 +#define IDD_ARCADE_GROUP 40 +#define IDD_ARCADE_SENSOR 41 +#define IDD_NEW_USER 42 +#define IDD_CAMPAIGN_LOAD 43 +#define IDD_ARCADE_EFFECTS 44 +#define IDD_ARCADE_MARKER 45 +#define IDD_MISSION 46 +#define IDD_INTRO 47 +#define IDD_OUTRO 48 +#define IDD_INTERRUPT 49 +#define IDD_DEBRIEFING 50 +#define IDD_SELECT_ISLAND 51 +#define IDD_SERVER_GET_READY 52 +#define IDD_CLIENT_GET_READY 53 +#define IDD_INSERT_MARKER 54 +#define IDD_VOICE_CHAT 55 +#define IDD_DEBUG 56 +#define IDD_HINTC 57 +#define IDD_MISSION_END 58 +#define IDD_SERVER_SIDE 59 +#define IDD_CLIENT_SIDE 60 +#define IDD_MULTIPLAYER_ROLE 61 +#define IDD_AWARD 62 +#define IDD_CHANNEL 63 +#define IDD_PASSWORD 64 +#define IDD_MP_PLAYERS 65 +#define IDD_REVERT 66 +#define IDD_PORT 69 +#define IDD_MP_SETUP 70 +#define IDD_FILTER 71 +#define IDD_HINTC_EX 72 +#define IDD_SELECT_PROFILE 73 +#define IDD_CAMPAIGN_SELECT 74 +#define IDD_PROFILE 75 +#define IDD_PROFILE_NAME 76 +#define IDD_PROFILE_FACE 77 +#define IDD_PROFILE_VOICE 78 +#define IDD_PROFILE_CONTROLLER 79 +#define IDD_PROFILE_AUDIO 80 +#define IDD_PROFILE_VIDEO 81 +#define IDD_PROFILE_LIVE 82 +#define IDD_MP_TYPE 83 +#define IDD_MP_PASSCODE 84 +#define IDD_OPTIMATCH_FILTER 86 +#define IDD_QUICKMATCH 87 +#define IDD_FRIENDS 88 +#define IDD_FRIENDS_OPTIONS 89 +#define IDD_XWIZARD_TEMPLATE 90 +#define IDD_XWIZARD_INTEL 91 +#define IDD_XWIZARD_NAME 92 +#define IDD_XWIZARD_ISLAND 93 +#define IDD_XWIZARD_WEATHER 94 +#define IDD_XWIZARD_TIME 95 +#define IDD_XWIZARD_UNIT 96 +#define IDD_XWIZARD_MAP 97 +#define IDD_XWIZARD_UNIT_SELECT 98 +#define IDD_XWIZARD_UNIT_SELECT_CUSTOM 99 +#define IDD_XWIZARD_WAYPOINT 100 +#define IDD_DOWNLOAD_CONTENT 101 +#define IDD_DOWNLOAD_CONTENT_DETAILS 102 +#define IDD_XPLAYERS 103 +#define IDD_XPLAYERS_ACTIONS 104 +#define IDD_XPLAYERS_FEEDBACK 105 +#define IDD_GEAR 106 +#define IDD_EQUIP 555 +#define IDD_DOWNLOAD_CONTENT_INSTALL 108 +#define IDD_SERVER_SETTINGS 109 +#define IDD_SERVER_ADVANCED 110 +#define IDD_SERVER_SELECT_PLAYER 112 +#define IDD_DEDICATED_SERVER 114 +#define IDD_FRIEND_MISSIONS 115 +#define IDD_LIVE_STATS 116 +#define IDD_LIVE_STATS_BOARD 117 +#define IDD_NETWORK_CONDITIONS 118 +#define IDD_SEND_VOICE_MAIL 119 +#define IDD_RECEIVE_VOICE_MAIL 120 +#define IDD_SELECT_ISLAND_NEW 351 + +#define IDD_EDIT_OBJECT 121 +#define IDD_MISSION_LOAD 122 +#define IDD_MISSION_SAVE 123 + +#define IDD_EDIT_DIARY_RECORD 125 + +#define IDD_SERVER_VOTED 126 +#define IDD_DEDICATED_SERVER_SETTINGS 127 + +#define IDD_MISSION_EDITOR 128 + +#define IDD_DIARY 129 + +#define IDD_TEAM_SWITCH 130 + +#define IDD_CONFIGURE_ACTION 131 + +#define IDD_HOST_SETTINGS 132 + +#define IDD_MINIMAP 133 +#define IDD_OVERLAY_CREATE 134 +#define IDD_OVERLAY_LOAD 135 + +#define IDD_ESRB 136 + +#define IDD_MISSION_EDITOR_REALTIME 137 + +//TODO: Has to be checked by Pete! +#define IDD_EDIT_BRIEFING 138 +#define IDD_LIVE 139 + +#define IDD_LASE 141 + +#define IDD_LAYER_LOAD 142 + +#define IDD_CONTROLS 143 +#define IDD_INTERRUPT_REVERT 144 + +#define IDD_PERFORMANCE 145 +#define IDD_XWIZARD_PARAMS 146 +#define IDD_XWIZARD_PARAMETER 147 + +#define IDD_CONFIGURE_JOYSTICKS 148 +#define IDD_CAPTURE 149 +#define IDD_CUSTOMIZE_CONTROLLER 150 +#define IDD_GAMEOPTIONS 151 + +//new editor dialog +#define IDD_ARCADE_MODULES 153 +#define IDD_SELECT_SAVE 154 +#define IDD_DSINTERFACE 155 +#define IDD_ADDON_ACTIONS 156 + +// PhysX debug window +#define IDD_PHYSX_DEBUG 157 + +// mod launcher dialog +#define IDD_MOD_LAUNCHER 157 +#define IDD_NEW_MOD 158 + +// joystick schemes mapping dialog +#define IDD_JOYSTICK_SCHEMES 159 + +//AV Terminal dialog - MUF +#define IDD_AV_TERMINAL 160 +//Field Manual +#define IDD_FIELD_MANUAL 162 +//Dialogue for controls scheme selection +#define IDD_CONTROLS_SCHEME 163 +//Dialogue for choosing layout of mission editor. NOTE: 161-163 are already in use, see A3\Ui_f\hpp\defineResincl.inc +#define IDD_EDITOR_LAYOUT 164 +//Dialogue for publishing mission on Steam. +#define IDD_PUBLISH_MISSION 165 +//Dialogue for selecting tags for mission on Steam. +#define IDD_PUBLISH_MISSION_TAGS 166 +//Dialogue for selecting file from the hard drive +#define IDD_FILE_SELECT_DIALOG 167 +//Idd reserved for debriefing 168 +#define IDD_DLC_VEHICLEMSGBOX 169 +#define IDD_DLC_PURCHASENOTIFICATION 170 +#define IDD_BOOTCAMPMSGBOX 171 +#define IDD_COMMUNITY_GUIDE 172 +#define IDD_SLING_LOAD_ASSISTANT 173 +#define IDD_DLC_CONTENTBROWSER 174 +#define IDD_MP_SCORE_TABLE 175 +#define IDD_CAMPAIGN_MP 176 +#define IDD_MP_QUICK_PLAY 177 +#define IDD_MP_SERVER_SEARCH 178 +#define IDD_MP_SERVER_FOUND 179 +#define IDD_KEYMAPMSGBOX 180 + +// MessageBoxes +#define IDD_MSG_DELETEPLAYER 200 +#define IDD_MSG_DELETEGAME 201 +#define IDD_MSG_CLEARTEMPLATE 202 +#define IDD_MSG_EXITTEMPLATE 203 +#define IDD_MSG_LAUNCHGAME 204 // ADDED IN PATCH 1.04 + +#define IDD_MSG_NEWACCOUNT 205 + +#define IDD_MSG_FRIENDS_REMOVE 206 +#define IDD_MSG_FRIENDS_BLOCK 207 +#define IDD_MSG_FRIENDS_INVITE 208 + +#define IDD_MSG_DELETEMISSION 209 + +#define IDD_MSG_XONLINE_CONNECTION_FAILED 210 +#define IDD_MSG_XONLINE_UPDATE_REQUIRED 211 +#define IDD_MSG_XONLINE_SERVER_BUSY 212 +#define IDD_MSG_XONLINE_REQUIRED_MSG 213 +#define IDD_MSG_XONLINE_RECOMMENDED_MSG 214 +#define IDD_MSG_XONLINE_INVALID_USER 215 +#define IDD_MSG_XONLINE_WRONG_PASSCODE 216 + +#define IDD_MSG_CANCEL_SUBSCRIPTION 217 +#define IDD_MSG_SUBSCRIBE 218 +#define IDD_MSG_PURCHASE 219 +#define IDD_MSG_INSTALL_ABORT 220 +#define IDD_MSG_INSTALL_RESULT 221 + +#define IDD_MSG_DECLINE_INVITATION 222 +#define IDD_MSG_REVOKE_INVITATION 223 +#define IDD_MSG_BLOCK_REQUEST 224 +#define IDD_MSG_DECLINE_REQUEST 225 +#define IDD_MSG_CANCEL_REQUEST 226 +#define IDD_MSG_KICK_OFF 227 +#define IDD_MSG_TERMINATE_SESSION 228 +#define IDD_MSG_NETWORK_CONDITIONS 229 + +#define IDD_MSG_STATS_NOT_UPLOADED 230 + +#define IDD_MSG_LOAD_FAILED 231 +#define IDD_MSG_DELETESAVE 232 + +#define IDD_MSG_DISK_FULL 233 + +#define IDD_MSG_RESTART_MISSION 234 +#define IDD_MSG_SAVE_MISSION 235 +#define IDD_MSG_SIGN_OUT 236 +#define IDD_MSG_LOAD_MISSION 237 +#define IDD_MSG_NEGATIVE_FEEDBACK 238 +#define IDD_MSG_PENDING_INVITATION 239 +#define IDD_MSG_HOST_SESSION 240 +#define IDD_MSG_ROLES_LOST 241 +#define IDD_MSG_ACCEPT_INVITATION 242 +#define IDD_MSG_MP_PLAYER_COUNT 243 +#define IDD_MSG_GAME_JOIN 244 +#define IDD_MSG_EDITOR_WIZARD_NONAME_MISSION 245 + +#define IDD_MSG_RESTART_NEEDED 246 + +// new editor +#define IDD_MSG_COMMIT_OVERLAY 247 +#define IDD_MSG_CLEAR_OVERLAY 248 +#define IDD_MSG_LOAD_OVERLAY 249 +#define IDD_MSG_EXIT_OVERLAY 250 +#define IDD_MSG_CREATE_OVERLAY 251 +#define IDD_MSG_CLOSE_OVERLAY 252 +#define IDD_MSG_LOAD_AAR 253 +#define IDD_MSG_CLEAR_MISSION 254 +#define IDD_MSG_RETRY_MISSION 255 +#define IDD_MSG_DELETE_DIARY_RECORD 256 + +// XBOX 360 profile and save messages +#define IDD_MSG_XBOX_NO_SIGN_IN 257 +#define IDD_MSG_XBOX_NO_STORAGE 258 +#define IDD_MSG_XBOX_STORAGE_CHANGED 259 +#define IDD_MSG_XBOX_SAVE_FAILED 260 +#define IDD_MSG_XBOX_NO_STORAGE_ON_INVITE 261 + +#define IDD_OPTIONS_AUDIO_ADJUST_MIC 262 + +//MUF-MessageBox for restarting mission editor during layout change +#define IDD_MSG_RESTART_EDITOR 263 + +#define IDD_PROGRESS_MESSAGE 264 + +//Message box for confirming deleting published mission +#define IDD_MSG_DELETE_STEAM_MISSION 265 +//Message box for confirming updating published mission +#define IDD_MSG_UPDATE_STEAM_MISSION 266 +//Message box for confirming saving current mission before the publish dialog is opened +#define IDD_MSG_SAVE_MISSION_BEFORE_PUBLISH 267 +//Message box for asking user to agree with Battleye licence. +#define IDD_MSG_BATTLEYE_LICENCE 268 +#define IDD_MSG_UPNP_ACTIVATION 269 +//#define IDD_MSG_ACCOUNT_LOGIN_GUIDE 270 - Reserved + +// InGameUI +#define IDD_UNITINFO 300 +#define IDD_HINT 301 +#define IDD_TASKHINT 302 +#define IDD_STANCEINFO 303 +#define IDD_AVCAMERA 304 +#define IDD_STAMINA_BAR 305 + +//Custom Info +#define IDD_CUSTOMINFO 310 +#define IDD_CUSTOMINFO_MINIMAP 311 +#define IDD_CUSTOMINFO_SLA 312 +#define IDD_CUSTOMINFO_CREW 313 +#define IDD_CUSTOMINFO_SENS 314 +#define IDD_CUSTOMINFO_FEEDUAV 315 +#define IDD_CUSTOMINFO_FEEDDRIVER 316 +#define IDD_CUSTOMINFO_FEEDPRIMARYGUNNER 317 +#define IDD_CUSTOMINFO_FEEDCOMMANDER 318 +#define IDD_CUSTOMINFO_FEEDMISSILE 319 +#define IDD_CUSTOMINFO_MINEDETECT 320 + + +// Futura ui +#define IDD_FUTURAGEAR 602 +// FUTURA GEAR controls +#define IDC_FG_PRIMARY 610 +#define IDC_FG_SECONDARY 611 +#define IDC_FG_HANDGUN 612 + +// prefix 620 means slot items +//--- +#define IDC_FG_MAP 6211 +#define IDC_FG_COMPASS 6212 +#define IDC_FG_WATCH 6213 +#define IDC_FG_RADIO 6214 +#define IDC_FG_GPS 6215 + +#define IDC_FG_GOGGLES 6216 +#define IDC_FG_HMD 6217 +#define IDC_FG_BINOC 6238 + +#define IDC_FG_BACKPACK2 6239 +#define IDC_FG_HEADGEAR 6240 + +// prefix 630 means slot container items(uniform, vest, backpack) +#define IDC_FG_UNIFORM_SLOT 6301 +#define IDC_FG_VEST_SLOT 6302 +#define IDC_FG_BACKPACK_SLOT 6303 +/// containers load +#define IDC_FG_UNIFORM_LOAD 6304 +#define IDC_FG_VEST_LOAD 6305 +#define IDC_FG_BACKPACK_LOAD 6306 +#define IDC_FG_GROUND_LOAD 6307 +#define IDC_FG_TOTAL_LOAD 6308 +//--- +#define IDC_FG_MAGAZINES 618 +// primary +#define IDC_FG_PW_MUZZLE 620 +#define IDC_FG_PW_OPTICS 621 +#define IDC_FG_PW_FLASHLIGHT 622 +#define IDC_FG_PW_MAGAZINE 623 +// secondary +#define IDC_FG_SW_MUZZLE 624 +#define IDC_FG_SW_OPTICS 625 +#define IDC_FG_SW_FLASHLIGHT 626 +#define IDC_FG_SW_MAGAZINE 627 +// handgun +#define IDC_FG_HG_MUZZLE 628 +#define IDC_FG_HG_OPTICS 629 +#define IDC_FG_HG_FLASHLIGHT 630 +#define IDC_FG_HG_MAGAZINE 631 + +#define IDC_FG_GROUND_ITEMS 632 +#define IDC_FG_CHOSEN_CONTAINER 640 +#define IDC_FG_PW_UNDERBARREL 641 +#define IDC_FG_SW_UNDERBARREL 642 +#define IDC_FG_HG_UNDERBARREL 643 +#define IDC_FG_PW_MAGAZINE_GL 644 +// #define IDC_FG_BACKPACK_ITEMS 633 +// #define IDC_FG_ITEMS 619 + +// new inventory + +// filter +#define IDC_FG_GROUND_FILTER 6554 + +// images which will painted over containers during DnD state +#define IDC_FG_GROUND_MARKER 6385 +#define IDC_FG_CONTAINER_MARKER 6325 +#define IDC_FG_CHOSEN_MARKER 6405 + +#define IDC_FG_VEST_CONTAINER 638 +#define IDC_FG_UNIFORM_CONTAINER 633 +#define IDC_FG_BACKPACK_CONTAINER 619 + +#define IDC_FG_VEST_TAB 6381 +#define IDC_FG_VEST_TEXT 6382 +#define IDC_FG_UNIFORM_TAB 6331 +#define IDC_FG_UNIFORM_TEXT 6332 +#define IDC_FG_BACKPACK_TAB 6191 +#define IDC_FG_BACKPACK_TEXT 6192 + +#define IDC_FG_CHOSEN_TAB 6401 +#define IDC_FG_CHOSEN_TEXT 6402 +#define IDC_FG_GROUND_TAB 6321 +#define IDC_FG_GROUND_TEXT 6322 +#define IDC_DLC_TEMPLATE_LOGO 100 +#define IDC_DLC_TEMPLATE_BACKGROUND 101 +/////////////// + +/// weight info +#define IDC_FG_GROUND_WEIGHT 634 +#define IDC_FG_BACKPACK_WEIGHT 635 +#define IDC_FG_ITEMS_WEIGHT 636 + +/// player info +#define IDC_FG_TOTAL_WEIGHT 637 +////// + +// Arcade Sites +#define IDD_ARCADE_SITE 700 + +#define IDC_AS_AZIMUT 701 +#define IDC_AS_AZIMUT_PICTURE 702 + +// ---- combos +#define IDC_AS_SIDE 703 +#define IDC_AS_FACTION 704 +#define IDC_AS_CLASS 705 +#define IDC_AS_SITETYPE 706 +#define IDC_AS_REPAIRABLE 707 +#define IDC_AS_FASTTRAVEL 708 +#define IDC_AS_STORAGE 709 +// ---- flags +#define IDC_AS_FLGEQUIP 710 +#define IDC_AS_FLGFOOD 711 +#define IDC_AS_FLGARMORED 712 +#define IDC_AS_FLGFUEL 713 +#define IDC_AS_FLGWEAPON 714 +// ---- strings +#define IDC_AS_NAME 715 +#define IDC_AS_DESC 716 +#define IDC_AS_INIT 717 +#define IDC_AS_CONDITION 718 +#define IDC_AS_RADIUS 719 +// ---- sliders +#define IDC_AS_HEALTH 720 +#define IDC_AS_MOOD 721 +#define IDC_AS_PRESENCE 722 + +#define IDC_AS_ARGUMENTS 733 +//////////////////////////////////////// + +// Virtual keyboard +#define IDC_VK_SHIFT 1001 +#define IDC_VK_CAPSLOCK 1002 +#define IDC_VK_SYMBOLS 1003 +#define IDC_VK_ACCENTS 1004 +#define IDC_VK_BACKSPACE 1005 +#define IDC_VK_LEFT 1006 +#define IDC_VK_RIGHT 1007 +#define IDC_VK_BASE 1010 + +// Main display controls +#define IDC_MAIN_GAME 101 +#define IDC_MAIN_OPTIONS 102 +#define IDC_MAIN_TRAINING 103 +#define IDC_MAIN_CUSTOM 104 +#define IDC_MAIN_MULTIPLAYER 105 +#define IDC_MAIN_QUIT 106 +#define IDC_MAIN_CREDITS 107 +#define IDC_MAIN_ARCADE 108 +#define IDC_MAIN_PLAYER 109 +#define IDC_MAIN_RANK 110 +#define IDC_MAIN_ISLAND 111 +#define IDC_MAIN_DATE 112 +#define IDC_MAIN_MISSION 113 +#define IDC_MAIN_CONTINUE 114 +#define IDC_MAIN_EDITOR 115 +#define IDC_MAIN_BOOK 116 +#define IDC_MAIN_SINGLE 117 +#define IDC_MAIN_VERSION 118 +#define IDC_MAIN_SINGLE_PROFILES 119 +#define IDC_MAIN_CAMPAIGN_PROFILES 120 +#define IDC_MAIN_MP_PROFILES 121 +#define IDC_MAIN_SETTINGS_PROFILES 122 +#define IDC_MAIN_SYSTEM_LINK 123 +#define IDC_MAIN_CUSTOM_PROFILES 124 +#define IDC_MAIN_SIGN_IN_STATUS 125 +#define IDC_MAIN_PLAYER_LABEL 126 +#define IDC_MAIN_PLAYER_NAME 127 +#define IDC_MAIN_CONTROLS 128 +#define IDC_MAIN_PLAYER_ID 129 +#define IDC_MAIN_PLAYER_COLOR 130 +#define IDC_MAIN_SERVICE_ID_LABEL 131 +#define IDC_MAIN_NICKNAME_LABEL 132 +#define IDC_MAIN_NICKNAME_BG 133 +#define IDC_MAIN_LOAD 134 +#define IDC_MAIN_SAVE 135 +#define IDC_MAIN_AAR 136 +#define IDC_MAIN_ACHIEVEMENTS 137 +#define IDC_MAIN_SINGLEPLAYER 138 +#define IDC_MAIN_MOD_LIST 139 +#define IDC_MAIN_MOD_LAUNCHER 140 +#define IDC_MAIN_MOD_ICONS 141 +#define IDC_SP_EDITOR 142 +#define IDC_MAIN_FIELD_MANUAL 143 +#define IDC_MAIN_DLC_ICONS 144 +#define IDC_MAIN_DLC_OWNED_ICONS 145 +#define IDC_MAIN_DLC_ICONS_BACK 146 +#define IDC_MAIN_MOD_ICONS_BACK 147 +#define IDC_MAIN_DLC_OWNED_ICONS_BACK 148 +#define IDC_MAIN_BOOTCAMP_CAMPAIGN 149 +#define IDC_MAIN_BOOTCAMP_SHOWCASES 150 +#define IDC_MAIN_BOOTCAMP_CHALLENGES 151 +#define IDC_MAIN_BOOTCAMP_VRTRAINING 152 +#define IDC_MAIN_QUICKPLAY 154 +#define IDC_MAIN_UNIT 155 + +#define IDC_MAIN_CARDAS_CUDL 199 // muj vlastni cudl + +#define IDC_MAIN_VIDEOCONTROL 3335 + +#define IDC_MAIN_TAB_LOGIN 9001 +#define IDC_MAIN_TAB_LIBRARY 9002 +#define IDC_MAIN_TAB_SINGLE 9003 +#define IDC_MAIN_TAB_MULTIPLAYER 9004 +#define IDC_MAIN_TAB_OPTIONS 9005 +#define IDC_MAIN_TAB_CONTROLS 9006 +#define IDC_MAIN_TAB_EDITOR 9007 +#define IDC_MAIN_TAB_QUIT 9008 +#define IDC_MAIN_TAB_AAR 9011 + +#define IDC_BUILD_VERSION 9009 +#define IDC_BUILD_DATE 9010 + +// Single player display controls +#define IDC_SP_TRAINING 101 +//#define IDC_SP_EDITOR 102 +#define IDC_SP_MISSION 103 +#define IDC_SP_CAMPAIGN 104 + +// Select profile display controls +#define IDC_PROFILES_LIST 101 +#define IDC_PROFILES_HEAD 102 +#define IDC_PROFILES_TITLE 103 +#define IDC_PROFILES_CONTROLLER 104 +#define IDC_PROFILES_DIFFICULTY 105 +#define IDC_PROFILES_MISSION 106 +#define IDC_PROFILES_LIVE 107 +#define IDC_PROFILES_MISSION_TEXT 108 +#define IDC_PROFILES_SIGN_IN_STATUS 109 +#define IDC_PROFILES_EDIT 110 +#define IDC_PROFILES_DELETE 111 + +// Edit profile display controls +#define IDC_PROFILE_NAME 101 +#define IDC_PROFILE_FACE 102 +#define IDC_PROFILE_VOICE 103 +#define IDC_PROFILE_CONTROLLER 104 +#define IDC_PROFILE_AUDIO 105 +#define IDC_PROFILE_VIDEO 106 +#define IDC_PROFILE_HEAD 108 +#define IDC_PROFILE_SUM_NAME 109 +#define IDC_PROFILE_SUM_CONTROLLER 110 +#define IDC_PROFILE_SUM_LIVE 111 +#define IDC_PROFILE_VOICE_MASK 112 +#define IDC_PROFILE_SIGN_IN_STATUS 113 +#define IDC_PROFILE_CREDITS 114 +#define IDC_PROFILE_STORAGE_DEVICE 115 + +// Edit profile name display controls +#define IDC_PROFILE_NAME_PREVIEW 101 + +// Edit profile face +#define IDC_PROF_FACE_FACE 101 +#define IDC_PROF_FACE_GLASSES 102 +#define IDC_PROF_FACE_HEAD 103 + +// Edit profile voice +#define IDC_PROF_VOICE_SPEAKER 101 +#define IDC_PROF_VOICE_PITCH_TITLE 102 +#define IDC_PROF_VOICE_PITCH_VALUE 103 +#define IDC_PROF_VOICE_PITCH 104 +#define IDC_PROF_VOICE_MASK 105 +#define IDC_PROF_VOICE_THROUGH_SPEAKERS 106 +#define IDC_PROF_VOICE_HEAD 107 +#define IDC_PROF_VOICE_DEFAULT 108 + +// Edit profile controller +#define IDC_PROF_CONTR_VEHICLE 101 +#define IDC_PROF_CONTR_TYPE 102 +#define IDC_PROF_CONTR_IMAGE 103 +#define IDC_PROF_CONTR_SCHEME 104 +#define IDC_PROF_CONTR_SENSITIVITY 105 +#define IDC_PROF_CONTR_A 200 +#define IDC_PROF_CONTR_B 201 +#define IDC_PROF_CONTR_Y 202 +#define IDC_PROF_CONTR_X 203 +#define IDC_PROF_CONTR_WHITE 204 +#define IDC_PROF_CONTR_BLACK 205 +#define IDC_PROF_CONTR_LEFT 206 +#define IDC_PROF_CONTR_RIGHT 207 +#define IDC_PROF_CONTR_UP 208 +#define IDC_PROF_CONTR_DOWN 209 +#define IDC_PROF_CONTR_BACK 210 +#define IDC_PROF_CONTR_START 211 +#define IDC_PROF_CONTR_LEFT_THUMB 212 +#define IDC_PROF_CONTR_LEFT_THUMB_MOVE_X 213 +#define IDC_PROF_CONTR_LEFT_THUMB_MOVE_Y 214 +#define IDC_PROF_CONTR_RIGHT_THUMB 215 +#define IDC_PROF_CONTR_RIGHT_THUMB_MOVE_X 216 +#define IDC_PROF_CONTR_RIGHT_THUMB_MOVE_Y 217 +#define IDC_PROF_CONTR_LEFT_TRIGGER 218 +#define IDC_PROF_CONTR_RIGHT_TRIGGER 219 +#define IDC_PROF_CONTR_LEFT_THUMB_MOVE 220 +#define IDC_PROF_CONTR_RIGHT_THUMB_MOVE 221 +#define IDC_PROF_CONTR_DPAD 222 +#define IDC_PROF_CONTR_NEXT_SCHEME 223 +#define IDC_PROF_CONTR_PREV_SCHEME 224 +#define IDC_PROF_CONTR_Y_AXIS 225 +#define IDC_PROF_CONTR_VIBRATIONS 226 + +// Controller buttons +// #define IDC_CONTROLLER_BUTTONS 101 + +// Edit profile audio options +#define IDC_PROF_AUDIO_MUSIC_TITLE 101 +#define IDC_PROF_AUDIO_MUSIC_VALUE 102 +#define IDC_PROF_AUDIO_MUSIC 103 +#define IDC_PROF_AUDIO_RADIO_TITLE 104 +#define IDC_PROF_AUDIO_RADIO_VALUE 105 +#define IDC_PROF_AUDIO_RADIO 106 +#define IDC_PROF_AUDIO_EFFECT_TITLE 107 +#define IDC_PROF_AUDIO_EFFECT_VALUE 108 +#define IDC_PROF_AUDIO_EFFECT 109 +#define IDC_PROF_AUDIO_DEFAULT 110 + +// Edit profile video options +#define IDC_PROF_VIDEO_BRIGHT 101 +#define IDC_PROF_VIDEO_BRIGHT_TITLE 102 +#define IDC_PROF_VIDEO_BRIGHT_VALUE 103 +#define IDC_PROF_VIDEO_GAMMA 104 +#define IDC_PROF_VIDEO_GAMMA_TITLE 105 +#define IDC_PROF_VIDEO_GAMMA_VALUE 106 +#define IDC_PROF_VIDEO_SUBTITLES 107 +#define IDC_PROF_VIDEO_RADIO 108 +#define IDC_PROF_VIDEO_DEFAULT 109 + +// Select profile an Xbox live account display controls +#define IDC_PROFILE_LIVE_ACCOUNTS 101 +#define IDC_PROFILE_LIVE_CREATE 102 + +// Select difficulty dialog +#define IDC_DIFF_LIST 108 +#define IDC_DIFF_DESC 102 + +// Single mission display controls +#define IDC_SINGLE_MISSION 101 +#define IDC_SINGLE_OVERVIEW 102 +#define IDC_SINGLE_MISSION_PAD 103 +#define IDC_SINGLE_DIFF 104 +#define IDC_SINGLE_LOAD 105 +#define IDC_SINGLE_TITLE 106 +#define IDC_SINGLE_DELETE 107 +#define IDC_SINGLE_COPY 108 +#define IDC_SINGLE_EDIT 109 +#define IDC_SINGLE_NAME 110 +#define IDC_SINGLE_AUTHOR 111 +#define IDC_SINGLE_PICTURE 112 +#define IDC_SINGLE_DESCRIPTION 113 +#define IDC_SINGLE_LOADING_PICTURE 114 +#define IDC_SINGLE_SHOW_MISSION_WORKSHOP 115 +#define IDC_SINGLE_SHOW_GAME_WORKSHOP 116 +#define IDC_SINGLE_SHOW_GAME_OR_MISSION_WORKSHOP 117 +#define IDC_SINGLE_MISSION_SORT_COMBO 118 +#define IDC_SINGLE_MISSION_SORT_ORDER 119 +#define IDC_SINGLE_MISSION_BUY_DLC 120 +#define IDC_SINGLE_MISSION_DLCSTRIPE 121 +#define IDC_SINGLE_MISSION_DLCICON 122 + +// Xbox style mission wizard +#define IDC_XWIZ_TEMPLATE 101 +#define IDC_XWIZ_TEMPLATE_OVERVIEW 102 + +#define IDC_XWIZ_NAME 101 +#define IDC_XWIZ_ISLAND 102 +#define IDC_XWIZ_WEATHER 103 +#define IDC_XWIZ_TIME 104 +#define IDC_XWIZ_SUM_NAME 105 +#define IDC_XWIZ_SUM_TIME 106 +#define IDC_XWIZ_SUM_TEMPLATE 107 +#define IDC_XWIZ_SUM_ISLAND 108 +#define IDC_XWIZ_SUM_WEATHER 109 +#define IDC_XWIZ_SUM_WEATHER_FORECAST 110 +#define IDC_XWIZ_UNIT 111 +#define IDC_XWIZ_MAP 112 +#define IDC_XWIZ_SUM_DATE 113 +#define IDC_XWIZ_PARAM 114 +#define IDC_XWIZ_SAVE 115 + +#define IDC_XWIZ_UNITS 101 +#define IDC_XWIZ_UNITS_OVERVIEW 102 + +#define IDC_XWIZ_PARAMS 101 +#define IDC_XWIZ_PARAMS_TITLES 102 +#define IDC_XWIZ_PARAMS_VALUES 103 +#define IDC_EDIT 104 +#define IDD_XWIZARD_PARAMETER_TITLE 105 + +#define IDC_XWIZ_UNIT_SELECT 101 +#define IDC_XWIZ_UNIT_SELECT_TITLE 102 + +#define IDC_XWIZ_UNIT_CLASS 101 +#define IDC_XWIZ_UNIT_TYPE 102 +#define IDC_XWIZ_UNIT_COUNT 103 +#define IDC_XWIZ_UNIT_SIDE 104 +#define IDC_XWIZ_UNIT_SELECT_CUSTOM_TITLE 105 + +#define IDC_XWIZ_WP_TYPE 101 +#define IDC_XWIZ_WP_BEHAVIOUR 102 +#define IDC_XWIZ_WP_FORMATION 103 +#define IDC_XWIZ_WP_COMBAT_MODE 104 + +#define IDC_XWIZ_ISLAND_LIST 101 +#define IDC_XWIZ_ISLAND_MAP 102 +#define IDC_XWIZ_ISLAND_SHOTS 103 + +#define IDC_XWIZ_WEATHER_TITLE 101 +#define IDC_XWIZ_WEATHER_VALUE 102 +#define IDC_XWIZ_WEATHER_FORECAST_TITLE 103 +#define IDC_XWIZ_WEATHER_FORECAST_VALUE 104 +#define IDC_XWIZ_FOG_TITLE 105 +#define IDC_XWIZ_FOG_VALUE 106 +#define IDC_XWIZ_FOG_FORECAST_TITLE 107 +#define IDC_XWIZ_FOG_FORECAST_VALUE 108 +#define IDC_XWIZ_VIEW_DISTANCE_TITLE 109 +#define IDC_XWIZ_VIEW_DISTANCE_VALUE 110 + +#define IDC_XWIZ_TIME_HOUR 101 +#define IDC_XWIZ_TIME_MINUTE 102 +#define IDC_XWIZ_TIME_DAY 103 +#define IDC_XWIZ_TIME_MONTH 104 +#define IDC_XWIZ_TIME_YEAR 105 + +#define IDC_XWIZ_MAP_POINTS 101 +#define IDC_XWIZ_MAP_DELETE 102 +#define IDC_XWIZ_MAP_EDIT 103 +#define IDC_XWIZ_MAP_INSERT_WP 104 +#define IDC_XWIZ_MAP_NOTEPAD 105 +#define IDC_XWIZ_MAP_MOVE 106 + +// Select campaign display +#define IDC_CAMPAIGNS_LIST 101 +#define IDC_CAMPAIGNS_CAMPAIGN 102 +#define IDC_CAMPAIGNS_DESCRIPTION 103 + +// Campaign display +#define IDC_CAMPAIGN_HISTORY 101 +#define IDC_CAMPAIGN_REPLAY 102 +#define IDC_CAMPAIGN_DIFF 103 +#define IDC_CAMPAIGN_NAME 104 +#define IDC_CAMPAIGN_AUTHOR 105 +#define IDC_CAMPAIGN_PICTURE 106 +#define IDC_CAMPAIGN_DESCRIPTION 107 +#define IDC_CAMPAIGN_TEXT_ESTDEPLOY 108 +#define IDC_CAMPAIGN_RELEASEDATE 109 +#define IDC_CAMPAIGN_BUY_DLC 110 +#define IDC_CAMPAIGN_DLCSTRIPE 111 +#define IDC_CAMPAIGN_DLCICON 112 + +// MP campaign display +#define IDC_CAMPAIGN_MP_LIST 101 +#define IDC_CAMPAIGN_MP_TITLE 102 +#define IDC_CAMPAIGN_MP_NAME 103 +#define IDC_CAMPAIGN_MP_AUTHOR 104 +#define IDC_CAMPAIGN_MP_PICTURE 105 +#define IDC_CAMPAIGN_MP_DESCRIPTION 106 +#define IDC_CAMPAIGN_MP_PLAY 107 +#define IDC_CAMPAIGN_MP_HOST 108 +#define IDC_CAMPAIGN_MP_JOIN 109 +#define IDC_CAMPAIGN_MP_BUY_DLC 110 + +// Revert display +#define IDC_REVERT_BOOK 101 +#define IDC_REVERT_TITLE 102 +#define IDC_REVERT_QUESTION 103 + +// Game display controls +#define IDC_GAME_SELECT 301 +#define IDC_SIDE_NAME 101 + +// Options display controls +#define IDC_OPTIONS_VIDEO 301 +#define IDC_OPTIONS_AUDIO 302 +#define IDC_OPTIONS_CONFIGURE 303 +#define IDC_OPTIONS_DIFFICULTY 304 +#define IDC_OPTIONS_NOTEBOOK 305 +#define IDC_OPTIONS_CREDITS 306 +#define IDC_OPTIONS_GAMEOPTIONS 307 + +#define IDC_OPTIONS_OBJECT_VISIBILITY_VALUE 308 +#define IDC_OPTIONS_OBJECT_VISIBILITY_SLIDER 309 +#define IDC_OPTIONS_VISIBILITY_TEXT 310 +#define IDC_OPTIONS_SHADOW_VISIBILITY_VALUE 311 +#define IDC_OPTIONS_SHADOW_VISIBILITY_SLIDER 312 +#define IDC_OPTIONS_SHADOW_VISIBILIT_TEXT 313 +#define IDC_OPTIONS_TRAFFIC_VISIBILITY_VALUE 314 +#define IDC_OPTIONS_TRAFFIC_VISIBILITY_SLIDER 315 +#define IDC_OPTIONS_PIP_VISIBILITY_VALUE 316 +#define IDC_OPTIONS_PIP_VISIBILITY_SLIDER 317 + +#define IDC_OPTIONS_PIP_VALUE 334 +#define IDC_OPTIONS_SW_VALUE 335 +#define IDC_OPTIONS_FXAA_VALUE 336 +#define IDC_OPTIONS_WATER_SS_REFLECTIONS_VALUE 337 + +#define IDC_OPTIONS_QUALITY_VALUE 101 +#define IDC_OPTIONS_QUALITY_SLIDER 102 +#define IDC_OPTIONS_VISIBILITY_VALUE 103 +#define IDC_OPTIONS_VISIBILITY_SLIDER 104 + +#define IDC_OPTIONS_DRAWDISTANCE_VALUE 1336 +#define IDC_OPTIONS_DRAWDISTANCE_SLIDER 1337 + +#define IDC_OPTIONS_RATE_VALUE 105 +#define IDC_OPTIONS_RATE_SLIDER 106 +#define IDC_OPTIONS_TEXTURES_VALUE 107 +#define IDC_OPTIONS_TEXTURES_SLIDER 108 +#define IDC_OPTIONS_GAMMA_VALUE 109 +#define IDC_OPTIONS_GAMMA_SLIDER 110 +#define IDC_OPTIONS_BRIGHT_VALUE 111 +#define IDC_OPTIONS_BRIGHT_SLIDER 112 +#define IDC_OPTIONS_RESOLUTION 113 +#define IDC_OPTIONS_DISPLAY_MODE 1131 +#define IDC_OPTIONS_REFRESH 114 +#define IDC_OPTIONS_OBJSHADOWS 115 +//#define IDC_OPTIONS_VEHSHADOWS 116 +//#define IDC_OPTIONS_CLOUDLETS 117 +//#define IDC_OPTIONS_HWTL 118 +#define IDC_OPTIONS_BLOOD 119 +//#define IDC_OPTIONS_MULTITEXTURING 120 +#define IDC_OPTIONS_WBUFFER 121 +#define IDC_OPTIONS_BLOOD_TEXT 122 +#define IDC_OPTIONS_TERRAIN 123 +#define IDC_OPTIONS_LIFESTATE 199 +#define IDC_OPTIONS_TUTORIAL_HINTS 140 + +#define IDC_OBJECTS_DETAIL 124 +#define IDC_TEXTURE_DETAIL 125 +#define IDC_QUALITY_PREFERENCE 126 +#define IDC_SHADING_DETAIL 127 +#define IDC_SHADOW_DETAIL 128 + +#define IDC_OPTIONS_VIDEO_DEFAULT 129 +#define IDC_OPTIONS_VIDEO_AUTODETECT 1291 + +#define IDC_ANISO_DETAIL 130 +#define IDC_HDR_DETAIL 131 +#define IDC_POSTPROCESS_EFFECTS 132 +#define IDC_FSAA_DETAIL 133 +#define IDC_ASPECT_RATIO 134 +#define IDC_ATOC_DETAIL 1300 +#define IDC_PPAA_DETAIL 1301 + +#define IDC_OPTIONS_PP_SSAO 1310 +#define IDC_OPTIONS_PP_BLOOM_SLIDER 1311 +#define IDC_OPTIONS_PP_BLOOM_VALUE 1312 +#define IDC_OPTIONS_PP_ROTBLUR_SLIDER 1313 +#define IDC_OPTIONS_PP_ROTBLUR_VALUE 1314 +#define IDC_OPTIONS_PP_RADIALBLUR_SLIDER 1315 +#define IDC_OPTIONS_PP_RADIALBLUR_VALUE 1316 +#define IDC_OPTIONS_PP_DOF_SLIDER 1317 +#define IDC_OPTIONS_PP_DOF_VALUE 1318 +#define IDC_OPTIONS_PP_CAUSTICS 1319 +#define IDC_OPTIONS_PP_SHARPEN_SLIDER 1320 +#define IDC_OPTIONS_PP_SHARPEN_VALUE 1321 +#define IDC_OPTIONS_PP_COLOR_CORRECTIONS 1322 +#define IDC_OPTIONS_PP_BRIGHTNESS_SLIDER 1323 +#define IDC_OPTIONS_PP_BRIGHTNESS_VALUE 1324 +#define IDC_OPTIONS_PP_CONTRAST_SLIDER 1325 +#define IDC_OPTIONS_PP_CONTRAST_VALUE 1326 +#define IDC_OPTIONS_PP_SATURATION_SLIDER 1327 +#define IDC_OPTIONS_PP_SATURATION_VALUE 1328 + +#define IDC_OPTIONS_VIDEO_FPS_TEXT 1400 +#define IDC_OPTIONS_VIDEO_PERF_WARNING 1401 + + +#define IDC_OPTIONS_LANGUAGE 135 + +#define IDC_OPTIONS_IGUISIZE 136 +#define IDC_OPTIONS_IGUISIZE_LABEL 1014 +#define IDC_OPTIONS_IGUISIZE_TEXT 137 +#define IDC_OPTIONS_HEADBOB 138 + +#define IDC_VRAM_VALUE 139 + +#define IDC_VSYNC_VALUE 140 +#define IDC_OPTIONS_IMPERIALUNITS 141 +#define IDC_OPTIONS_VEHICLEFREELOOK 142 +#define IDC_OPTIONS_STREAM_FRIENDLY 143 +#define IDC_OPTIONS_ADAPTIVE_CROSSHAIR 144 +#define IDC_OPTIONS_INSTRUCTOR_FIGURE 145 +#define IDC_OPTIONS_ENABLE_RTD 146 +#define IDC_OPTIONS_ALLOW_FULL_RTD_HUD 147 +#define IDC_OPTIONS_ALLOW_ROUGH_LANDING_RTD 148 +#define IDC_OPTIONS_WIND_INFLUENCE_DYN_RTD 149 +#define IDC_OPTIONS_AUTO_TRIM_RTD 150 +#define IDC_OPTIONS_STRESS_DAMAGE_RTD 151 + +#define IDC_PARTICLES_EFFECTS 143 +#define IDC_OPTIONS_DYNAMIC_LIGHTS 144 + +#define IDC_OPTIONS_SLIDER_FILLRATE 1234 +#define IDC_OPTIONS_VALUE_FILLRATE 1236 + + +#define IDC_OPTIONS_MUSIC_VALUE 101 +#define IDC_OPTIONS_MUSIC_SLIDER 102 +#define IDC_OPTIONS_EFFECTS_VALUE 103 +#define IDC_OPTIONS_EFFECTS_SLIDER 104 +#define IDC_OPTIONS_VOICES_VALUE 105 +#define IDC_OPTIONS_VOICES_SLIDER 106 +#define IDC_OPTIONS_SAMPLING 107 +#define IDC_OPTIONS_HWACC 108 +#define IDC_OPTIONS_EAX 109 +#define IDC_OPTIONS_SINGLE_VOICE 110 +#define IDC_OPTIONS_AUDIO_DEFAULT 111 +#define IDC_OPTIONS_PLAYER_VOICE 112 +#define IDC_OPTIONS_VON_VALUE 113 +#define IDC_OPTIONS_VON_SLIDER 114 +//samples setting was replaced by audio output device +#define IDC_OPTIONS_SAMPLES_VALUE 115 +#define IDC_OPTIONS_SAMPLES_SLIDER 116 + +#define IDC_OPTIONS_AUDIO_OUTPUT_REFRESH 115 +#define IDC_OPTIONS_AUDIO_OUTPUT_COMBO 116 + +#define IDC_OPTIONS_MIC_SENS_SLIDER 117 +#define IDC_OPTIONS_MIC_ADJUST 118 + +#define IDC_OPTIONS_MAPDUCKING_VALUE 119 +#define IDC_OPTIONS_MAPDUCKING_SLIDER 120 + +// microphone adjustment +#define IDC_OPTIONS_MIC_PROGRESS_BAR 1001 +#define IDC_OPTIONS_MIC_PROGRESS 1002 + +#define IDC_OPTIONS_SUBTITLES 102 +#define IDC_OPTIONS_RADIO 103 + +#define IDC_DIFF_AI_LEVEL_TEXT 1510 +#define IDC_DIFF_AI_LEVEL 1511 +#define IDC_DIFF_AI_SKILL_LABEL 1512 +#define IDC_DIFF_AI_SKILL_SLIDER 1513 +#define IDC_DIFF_AI_SKILL_VALUE 1514 +#define IDC_DIFF_AI_PRECISION_LABEL 1515 +#define IDC_DIFF_AI_PRECISION_SLIDER 1516 +#define IDC_DIFF_AI_PRECISION_VALUE 1517 +#define IDC_DIFF_PICTURE 1518 +#define IDC_DIFF_DESCRIPTION 1519 +#define IDC_DIFF_OPTIONS_GROUP 1520 +#define IDC_DIFF_REDUCED_DAMAGE 1521 +#define IDC_DIFF_GROUP_INDICATORS 1522 +#define IDC_DIFF_FRIENDLY_TAG 1523 +#define IDC_DIFF_ENEMY_TAG 1524 +#define IDC_DIFF_MINES 1525 +#define IDC_DIFF_COMMANDS 1526 +#define IDC_DIFF_WAYPOINTS 1527 +#define IDC_DIFF_WEAPON_INFO 1528 +#define IDC_DIFF_STANCE_INDICATOR 1529 +#define IDC_DIFF_STAMINA_BAR 1530 +#define IDC_DIFF_CROSSHAIR 1531 +#define IDC_DIFF_VISION_AID 1532 +#define IDC_DIFF_THIRD_PERSON 1533 +#define IDC_DIFF_CAMERA_SHAKE 1534 +#define IDC_DIFF_SCORE_TABLE 1535 +#define IDC_DIFF_KILLED_BY 1536 +#define IDC_DIFF_VON_ID 1537 +#define IDC_DIFF_EXTENDED_MAP_FRIENDLY 1538 +#define IDC_DIFF_AUTO_REPORT 1539 +#define IDC_DIFF_MULTIPLE_SAVES 1540 +// #define IDC_DIFF_SQUAD_RADAR 1541 +#define IDC_DIFF_TACTICAL_PING 1542 +#define IDC_DIFF_EXTENDED_MAP_ENEMY 1543 +#define IDC_DIFF_EXTENDED_MAP_MINES 1544 +#define IDC_DIFF_MINIMAP_ALLOWED 1545 +#define IDC_DIFF_EXTENDED_MAP_PING 1546 + +// Configure display controls +#define IDC_CONFIG_DEFAULT 101 +#define IDC_CONFIG_KEYS 102 +#define IDC_CONFIG_XAXIS 103 +#define IDC_CONFIG_YAXIS 104 +#define IDC_CONFIG_YREVERSED 105 +#define IDC_CONFIG_JOYSTICK 106 +#define IDC_CONFIG_BUTTONS 107 +#define IDC_CONFIG_CONTROLS_PAGE 108 +#define IDC_CONFIG_FLOATING_ZONE 109 +#define IDC_CONFIG_MOUSE_FILTERING 110 +#define IDC_CONFIG_GEARBOX_MODE 112 +#define IDC_CONFIG_MOUSE_ACCELERATION 113 +#define IDC_CONFIG_KEY_PRESETS 114 + +// dialog for selecting default controls preset +#define IDC_CONFIG_DEFAULTCONTROLS_LIST 101 + +// Multiplayer type display controls +#define IDC_MP_TYPE_RANKED_MATCH 101 +#define IDC_MP_TYPE_PLAYER_MATCH 102 +#define IDC_MP_TYPE_SYSTEM_LINK 103 +#define IDC_MP_TYPE_FRIENDS 104 +#define IDC_MP_TYPE_DOWNLOAD 105 +#define IDC_MP_TYPE_INFO 106 +#define IDC_MP_TYPE_STATS 107 +#define IDC_MP_TYPE_SIGN_OUT 108 +#define IDC_MP_TYPE_DEDICATED_SERVER 109 +#define IDC_MP_TYPE_SERVER 110 +#define IDC_MP_TYPE_APPEAR_OFFLINE 111 + +// Xbox Live display controls +#define IDC_LIVE_QUICK_MATCH 101 +#define IDC_LIVE_CUSTOM_MATCH 102 +#define IDC_LIVE_CREATE_MATCH 103 + +// Friends dialog +#define IDC_FRIENDS_LIST 101 +#define IDC_FRIENDS_STATUS 102 + +// Friends options dialog +#define IDC_FRIENDS_PLAYER 101 +#define IDC_FRIENDS_GAME_INVITE 102 +#define IDC_FRIENDS_GAME_CANCEL 103 +#define IDC_FRIENDS_GAME_ACCEPT 104 +#define IDC_FRIENDS_GAME_DECLINE 105 +#define IDC_FRIENDS_GAME_JOIN 106 +#define IDC_FRIENDS_ACCEPT 107 +#define IDC_FRIENDS_DECLINE 108 +#define IDC_FRIENDS_STOP 109 +#define IDC_FRIENDS_CANCEL 110 +#define IDC_FRIENDS_REMOVE 111 +#define IDC_FRIENDS_VOICE 112 +#define IDC_FRIENDS_FEEDBACK 113 +#define IDC_FRIENDS_GAME_INVITE_VOICE 114 +#define IDC_FRIENDS_PLAY_MESSAGE 115 +#define IDC_FRIENDS_MISSIONS 152 +#define IDC_MULTI_BATTLEYE_FILTER 154 +#define IDC_MULTI_EXPANSIONS_FILTER 155 + +// Send voice mail dialog +#define IDC_SVM_TITLE 101 +#define IDC_SVM_PLAYER 102 +#define IDC_SVM_RECORD 103 +#define IDC_SVM_PLAY 104 +#define IDC_SVM_SEND 105 +#define IDC_SVM_PROGRESS 106 +#define IDC_SVM_TIME 107 + +// Receive voice mail dialog +#define IDC_RVM_TITLE 101 +#define IDC_RVM_PLAYER 102 +#define IDC_RVM_PLAY 103 +#define IDC_RVM_FEEDBACK 104 +#define IDC_RVM_PROGRESS 105 +#define IDC_RVM_TIME 106 + +// Xbox players dialog +#define IDC_XPLAYERS_LIST 101 +#define IDC_XPLAYERS_STATUS 102 +#define IDC_XPLAYERS_DISABLE_VOICE 103 +#define IDC_XPLAYERS_ENABLE_VOICE 104 +#define IDC_XPLAYERS_KICKOFF 105 + +// Xbox players options dialog +#define IDC_XPLAYERS_PLAYER 101 +#define IDC_XPLAYERS_ASK 102 +#define IDC_XPLAYERS_MUTE 103 +#define IDC_XPLAYERS_FEEDBACK 104 +#define IDC_XPLAYERS_CANCEL 105 +#define IDC_XPLAYERS_ASK_VOICE 107 + +// Feedback dialog +#define IDC_FEEDBACK_PLAYER 101 +#define IDC_FEEDBACK_DATE 102 +#define IDC_FEEDBACK_GREAT_SESSION 103 +#define IDC_FEEDBACK_GOOD_ATTITUDE 104 +#define IDC_FEEDBACK_BAD_NAME 105 +#define IDC_FEEDBACK_CURSING 106 +#define IDC_FEEDBACK_SCREAM 107 +#define IDC_FEEDBACK_CHEAT 108 +#define IDC_FEEDBACK_THREAT 109 +#define IDC_FEEDBACK_MSG_HARASSING 110 +#define IDC_FEEDBACK_MSG_OFFENSIVE 111 +#define IDC_FEEDBACK_MSG_SPAM 112 + +// Download content display controls +#define IDC_DOWNLOAD_CONTENT_LIST 101 + +#define IDC_DOWNLOAD_CONTENT_TITLE 101 +#define IDC_DOWNLOAD_CONTENT_TERMS 102 +#define IDC_DOWNLOAD_CONTENT_PICTURE 103 +#define IDC_DOWNLOAD_CONTENT_SHOW_PRICE 104 + +#define IDC_DOWNLOAD_CONTENT_PRICE_TITLE 101 +#define IDC_DOWNLOAD_CONTENT_PRICE 102 +#define IDC_DOWNLOAD_CONTENT_PRICE_QUESTION 103 + +#define IDC_INSTALL_CONTENT_PROGRESS 101 +#define IDC_INSTALL_CONTENT_NAME 102 +#define IDC_INSTALL_CONTENT_TIME 103 + +// Multiplayer passcode display controls +#define IDC_MP_PASSCODE_FIRST 101 + +// Multiplayer display controls +#define IDC_MULTI_TITLE 101 +#define IDC_MULTI_SESSIONS 102 +//#define IDC_MULTI_REMOTE 103 //Renamed to IDC_MULTI_TAB_DIRECT_CONNECT +//#define IDC_MULTI_NEW 104 //Renamed to IDC_MULTI_TAB_HOST_SERVER +#define IDC_MULTI_JOIN 105 +#define IDC_MULTI_NOTEBOOK 106 +#define IDC_MULTI_PASSWORD 107 +#define IDC_MULTI_PORT 108 +#define IDC_MULTI_SERVER_ICON 111 +#define IDC_MULTI_SERVER_COLUMN 112 +#define IDC_MULTI_MISSION_ICON 113 +#define IDC_MULTI_MISSION_COLUMN 114 +#define IDC_MULTI_STATE_ICON 115 +#define IDC_MULTI_STATE_COLUMN 116 +#define IDC_MULTI_PLAYERS_ICON 117 +#define IDC_MULTI_PLAYERS_COLUMN 118 +#define IDC_MULTI_PING_ICON 119 +#define IDC_MULTI_PING_COLUMN 120 +#define IDC_MULTI_PROGRESS 121 +#define IDC_MULTI_INTERNET 122 +#define IDC_MULTI_REFRESH 123 +#define IDC_MULTI_FILTER 124 +#define IDC_MULTI_SERVER_FILTER 125 +#define IDC_MULTI_MISSION_FILTER 126 +#define IDC_MULTI_PLAYERS_FILTER 127 +#define IDC_MULTI_PING_FILTER 128 +#define IDC_MP_HOST 129 +#define IDC_MP_TYPE 130 +#define IDC_MP_MISSION 131 +#define IDC_MP_ISLAND 132 +#define IDC_MP_STATE 133 +#define IDC_MP_TIMELEFT 134 +#define IDC_MP_SLOTS_PUBLIC 135 +#define IDC_MP_SLOTS_PRIVATE 136 +#define IDC_MP_NO_SESSION 137 +#define IDC_MP_DIFFICULTY 138 +#define IDC_MP_LANGUAGE 139 +#define IDC_MULTI_GAMETYPE_ICON 140 +#define IDC_MULTI_GAMETYPE_COLUMN 141 +#define IDC_MP_PING 142 +#define IDC_MP_PASSWORD 143 +#define IDC_MP_PLATFORM 144 +#define IDC_MP_COUNTRY 145 +#define IDC_MP_VERSION 146 +#define IDC_MP_VERSION_REQUIRED 147 +#define IDC_MP_MODS 148 +#define IDC_MP_PLAYERS_ROW 149 +#define IDC_MULTI_PASSWORDED_FILTER 150 +#define IDC_MULTI_FULL_FILTER 151 +#define IDC_MULTI_TYPE_FILTER 152 +#define IDC_MP_NEXT_SESSION 153 +#define IDC_MULTI_BATTLEYE_FILTER 154 +#define IDC_MULTI_EXPANSIONS_FILTER 155 +#define IDC_MULTI_FAVORITE_COLUMN 156 +#define IDC_MULTI_FAVORITE_ICON 157 +#define IDC_MULTI_SERVER_COUNT 158 +#define IDC_MULTI_TAB_INTERNET 159 +#define IDC_MULTI_TAB_RECENT 160 +#define IDC_MULTI_TAB_LAN 161 +#define IDC_MULTI_TAB_FRIENDS 162 +#define IDC_MULTI_TAB_OFFICIAL 163 //Changed 164 to 163 +#define IDC_MULTI_TAB_QUICK_PLAY 164 //IDC_MULTI_QUICK_PLAY renamed to IDC_MULTI_TAB_OFFICIAL, changed to 164 +#define IDC_MULTI_TAB_SERVERS 165 //IDC_MULTI_SERVERS renamed to IDC_MULTI_TAB_SERVERS, changed to 165 +#define IDC_MULTI_TAB_DIRECT_CONNECT 166 //IDC_MULTI_REMOTE 103 renamed and changed to IDC_MULTI_TAB_DIRECT_CONNECT +#define IDC_MULTI_TAB_HOST_SERVER 167 //IDC_MULTI_NEW 104 renamed and changed to IDC_MULTI_TAB_HOST_SERVER +#define IDC_MULTI_LAUNCHER 168 //Launcher button +#define IDC_MP_FILEPATCHING 169 + +//MP Quick Play dialogue +#define IDC_MP_QUICK_GAME_TYPE 110 +#define IDC_MP_QUICK_MAX_PING 111 +#define IDC_MP_QUICK_BEST_SERVER 112 +#define IDC_MP_QUICK_FIND_SERVER 113 +#define IDC_MP_QUICK_SHOW_SERVERS 114 +#define IDC_MP_QUICK_SHOW_SERVERS 114 +#define IDC_MP_QUICK_MODE_TITLE 115 +#define IDC_MP_QUICK_MODE_PICTURE 116 +#define IDC_MP_QUICK_MODE_DESCRIPTION 117 +#define IDC_MP_QUICK_MODE_BACKGROUND 118 + +//Server Search dialogue +#define IDC_MP_SERVER_SEARCH_STATUS 101 +#define IDC_MP_SERVER_SEARCH_PROGRESS 102 + +//Server Found dialogue +#define IDC_MP_SERVER_FOUND_COUNTDOWN 101 +#define IDC_MP_SERVER_FOUND_MISSION 102 +#define IDC_MP_SERVER_FOUND_GAME_TYPE 103 +#define IDC_MP_SERVER_FOUND_PLAYERS 104 +#define IDC_MP_SERVER_FOUND_BUTTON_NEXT 105 +#define IDC_MP_SERVER_FOUND_BUTTON_JOIN 106 + +#define IDC_OPTIMATCH_FILTER_SPEED 101 +#define IDC_OPTIMATCH_FILTER_TYPE 102 +#define IDC_OPTIMATCH_FILTER_MIN_PLAYERS 103 +#define IDC_OPTIMATCH_FILTER_MAX_PLAYERS 104 +#define IDC_OPTIMATCH_FILTER_LANGUAGE 105 +#define IDC_OPTIMATCH_FILTER_DIFFICULTY 106 + +#define IDC_PASSWORD 101 + +#define IDC_IP_ADDRESS 101 +#define IDC_IP_PORT 102 + +#define IDC_PORT_PORT 101 + +#define IDC_FILTER_SERVER 101 +#define IDC_FILTER_MISSION 102 +#define IDC_FILTER_MAXPING 103 +#define IDC_FILTER_MINPLAYERS 104 +#define IDC_FILTER_MAXPLAYERS 105 +#define IDC_FILTER_FULL 106 +#define IDC_FILTER_PASSWORDED 107 +#define IDC_FILTER_DEFAULT 108 +#define IDC_FILTER_TYPE 109 +#define IDC_FILTER_BATTLEYE 110 +#define IDC_FILTER_EXPANSIONS 111 +#define IDC_FILTER_MONETIZED 112 + +#define IDC_CLIENT_TEXT 101 +#define IDC_CLIENT_PLAYERS 102 +#define IDC_CLIENT_PROGRESS 103 + +#define IDC_SERVER_ISLAND 101 +#define IDC_SERVER_MISSION 102 +#define IDC_SERVER_EDITOR 103 +#define IDC_SERVER_DIFF 104 +#define IDC_SERVER_PLAYERS 105 +#define IDC_SERVER_GAMETYPE 106 +#define IDC_SERVER_SLOTS 107 +#define IDC_SERVER_SLOTS_PRIVATE 108 +#define IDC_SERVER_SLOTS_PUBLIC 109 +#define IDC_SERVER_MIN_PLAYERS 110 +#define IDC_SERVER_MAX_PLAYERS 111 +#define IDC_SERVER_SLOTS_PRIVATE_TITLE 112 +#define IDC_SERVER_SLOTS_PRIVATE_TEXT 112 +#define IDC_SERVER_SLOTS_PUBLIC_TITLE 113 +#define IDC_SERVER_SLOTS_PUBLIC_TEXT 113 +#define IDC_SERVER_SLOTS_PUBLIC_VALUE 114 +#define IDC_SERVER_SLOTS_PRIVATE_VALUE 115 +#define IDC_SERVER_VOTED_MISSIONS 116 +#define IDC_SERVER_PLAYERS_TITLE 117 +#define IDC_SERVER_TIMEOUT 118 +#define IDC_SERVER_VOTED_DIFFICULTY 119 +#define IDC_SERVER_DELETE 120 +#define IDC_SERVER_COPY 121 +#define IDC_SERVER_EDIT 122 +#define IDC_SERVER_LOAD 123 +#define IDC_SERVER_PRIVATE_SLOTS_TITLE 124 +#define IDC_SERVER_PRIVATE_SLOTS_VALUE 125 +#define IDC_SERVER_PRIVATE_SLOTS 126 +#define IDC_SERVER_MAXIMUM_SLOTS_TITLE 127 +#define IDC_SERVER_MAXIMUM_SLOTS 128 +#define IDC_SERVER_MAXIMUM_SLOTS_VALUE 129 +#define IDC_SERVER_MI_OVERVIEW 130 +#define IDC_SERVER_MI_GAMETYPE 131 +#define IDC_SERVER_MI_MAX_PLAYERS 132 +#define IDC_SERVER_MI_RESPAWN 133 +#define IDC_SERVER_MI_MIN_PLAYERS 134 +#define IDC_SERVER_SHOW_MISSION_WORKSHOP 135 +#define IDC_SERVER_SHOW_GAME_WORKSHOP 136 +#define IDC_SERVER_MI_NAME 137 +#define IDC_SERVER_MI_AUTHOR 138 +#define IDC_SERVER_MI_PICTURE 139 +#define IDC_SERVER_MI_DESCRIPTION 140 +#define IDC_SERVER_LOADING_PICTURE 141 +#define IDC_SERVER_GAME_OR_MISSION_WORKSHOP 142 +#define IDC_SERVER_ISLAND_TITLE 143 +#define IDC_SERVER_MISSION_TITLE 144 +#define IDC_SERVER_DIFF_INDICATOR 145 +#define IDC_SERVER_PURCHASE_BUTTON 146 + + +#define IDC_REQUIRED_BATTLEYE 201 + +// _VBS3 +#define IDC_AAR_SERVER 121 +#define IDC_AAR_SERVER_FILES 122 +#define IDC_AAR_DOWNLOADPROGRESS 123 +#define IDC_AAR_DOWNLOADSTART 124 +#define IDC_AAR_DOWNLOADSTOP 125 + +// Host settings dialog +#define IDC_HOST_NAME 101 +#define IDC_HOST_PASSWORD 102 +#define IDC_HOST_MAX_PLAYERS 103 +#define IDC_HOST_PRIVATE 104 +#define IDC_HOST_PORT 105 +#define IDC_HOST_PORT_WARNING 106 +#define IDC_HOST_UPNP 107 + +#define IDC_DED_SERVER_SLOTS_PUBLIC 101 +#define IDC_DED_SERVER_SLOTS_PUBLIC_TITLE 102 +#define IDC_DED_SERVER_SLOTS_PUBLIC_VALUE 103 +#define IDC_DED_SERVER_SLOTS_PRIVATE 104 +#define IDC_DED_SERVER_SLOTS_PRIVATE_TITLE 105 +#define IDC_DED_SERVER_SLOTS_PRIVATE_VALUE 106 + +#define IDC_WIZT_TEMPLATES 101 +#define IDC_WIZT_OVERVIEW 102 +#define IDC_WIZT_NAME 103 + +#define IDC_WIZM_EDIT 101 + +#define IDC_SRVSETUP_PLAYERS 101 +#define IDC_SRVSETUP_UNITS 102 +#define IDC_SRVSETUP_ISLAND 103 +#define IDC_SRVSETUP_NAME 104 +#define IDC_SRVSETUP_DESC 105 +#define IDC_SRVSETUP_ASSIGN 106 +#define IDC_SRVSETUP_UNASSIGN 107 +#define IDC_SRVSETUP_RANDOM 108 +#define IDC_SRVSETUP_PARAM1 109 +#define IDC_SRVSETUP_PARAM1_TEXT 110 +#define IDC_SRVSETUP_PARAM2 111 +#define IDC_SRVSETUP_PARAM2_TEXT 112 + +#define IDC_SRVSIDE_NAME 101 +#define IDC_SRVSIDE_ISLAND 102 +#define IDC_SRVSIDE_POOL 103 +#define IDC_SRVSIDE_WEST 104 +#define IDC_SRVSIDE_EAST 105 +#define IDC_SRVSIDE_RESIST 106 +#define IDC_SRVSIDE_CIVIL 107 +#define IDC_SRVSIDE_WEST_TEXT 108 +#define IDC_SRVSIDE_EAST_TEXT 109 +#define IDC_SRVSIDE_RESIST_TEXT 110 +#define IDC_SRVSIDE_CIVIL_TEXT 111 +#define IDC_SRVSIDE_DEFAULT 112 +#define IDC_SRVSIDE_PARAM1 113 +#define IDC_SRVSIDE_PARAM1_TEXT 114 +#define IDC_SRVSIDE_PARAM2 115 +#define IDC_SRVSIDE_PARAM2_TEXT 116 +#define IDC_SRVSIDE_PLAYERS 117 + +#define IDC_MPROLE_TITLE 101 +#define IDC_MPROLE_NAME 102 +#define IDC_MPROLE_ISLAND 103 +#define IDC_MPROLE_DESC 104 +#define IDC_MPROLE_POOL 105 +#define IDC_MPROLE_POOL_TEXT 106 +#define IDC_MPROLE_ROLES 107 +#define IDC_MPROLE_DEFAULT 108 +#define IDC_MPROLE_ENABLE 109 +#define IDC_MPROLE_SIDES 110 +#define IDC_MPROLE_ENABLE_ALL 111 + +#define IDC_CLIENT_GAME 101 + +#define IDC_CLIENTMAP_START1 101 +#define IDC_CLIENTMAP_START2 102 + +#define IDC_CLIENT_READY_PLAYERS 120 +#define IDC_CLIENT_READY_PLAYERS_TITLE 121 +#define IDC_CLIENT_READY_TIMEOUT 122 + +#define IDC_SERVER_READY_PLAYERS 120 +#define IDC_SERVER_READY_PLAYERS_TITLE 121 + +#define IDC_MP_PLAYERS 101 +#define IDC_MP_PL 102 +#define IDC_MP_PL_NAME 103 +#define IDC_MP_PL_MAIL 104 +#define IDC_MP_PL_ICQ 105 +#define IDC_MP_PL_REMARK 106 +#define IDC_MP_SQ 107 +#define IDC_MP_SQ_NAME 108 +#define IDC_MP_SQ_ID 109 +#define IDC_MP_SQ_MAIL 110 +#define IDC_MP_SQ_WEB 111 +#define IDC_MP_SQ_PICTURE 112 +#define IDC_MP_SQ_TITLE 113 +#define IDC_MP_KICKOFF 114 +#define IDC_MP_BAN 115 +#define IDC_MP_PL_MISSION 116 +#define IDC_MP_PL_ISLAND 117 +#define IDC_MP_PL_TIME 118 +#define IDC_MP_PL_MINPING 119 +#define IDC_MP_PL_AVGPING 120 +#define IDC_MP_PL_MAXPING 121 +#define IDC_MP_PL_MINBAND 122 +#define IDC_MP_PL_AVGBAND 123 +#define IDC_MP_PL_MAXBAND 124 +#define IDC_MP_PL_DESYNC 125 +#define IDC_MP_PL_REST 126 +#define IDC_MP_MUTE 127 + +#define IDC_CLIENT_WAIT_TITLE 130 // is used together with MP_PL + +#define IDC_MPSETUP_NAME 101 +#define IDC_MPSETUP_ISLAND 102 +#define IDC_MPSETUP_DESC 103 +#define IDC_MPSETUP_WEST 104 +#define IDC_MPSETUP_EAST 105 +#define IDC_MPSETUP_GUERRILA 106 +#define IDC_MPSETUP_CIVILIAN 107 +#define IDC_MPSETUP_ROLES_TITLE 108 +#define IDC_MPSETUP_ROLES 109 +#define IDC_MPSETUP_PARAM1_TITLE 110 +#define IDC_MPSETUP_PARAM1 111 +#define IDC_MPSETUP_PARAM2_TITLE 112 +#define IDC_MPSETUP_PARAM2 113 +#define IDC_MPSETUP_POOL 114 +#define IDC_MPSETUP_MESSAGE 115 +#define IDC_MPSETUP_KICK 116 +#define IDC_MPSETUP_ENABLE_ALL 117 +#define IDC_MPSETUP_LOCK 118 +#define IDC_MPSETUP_SIDE 119 +#define IDC_MPSETUP_POOL_TITLE 120 +#define IDC_MPSETUP_TIMEOUT 121 +#define IDC_MPSETUP_PLAYERS 122 +#define IDC_MPSETUP_FRIENDS 123 +#define IDC_MPSETUP_ADVANCED 124 +#define IDC_MPSETUP_GAMERCARD 125 +#define IDC_MPSETUP_PARTYGUI 126 +#define IDC_MPSETUP_ASSIGNROLE 127 +#define IDC_MPSETUP_PARAMS 128 +#define IDC_MPSETUP_DSINTERFACE 129 +#define IDC_MPSETUP_MISSION_WORKSHOP 130 +#define IDC_MPSETUP_LOGIC 131 +#define IDC_MPSETUP_VIRTUAL 132 +#define IDC_MPSETUP_PLAYERS_BUTTON 133 +#define IDC_MPSETUP_PLAYERS_SORT 134 +#define IDC_MPSETUP_PING_BUTTON 135 +#define IDC_MPSETUP_PING_SORT 136 +#define IDC_MPSETUP_MUTE_ALL 137 + +#define IDC_MPSETUP_MSG_MESSAGE 101 +#define IDC_MPSETUP_MSG_PROGRESS 102 +#define IDC_MPSETUP_MSG_TIME 103 + +#define IDC_PROGRESS_MSG_MESSAGE 101 +#define IDC_PROGRESS_MSG_PROGRESS 102 +#define IDC_PROGRESS_MSG_TIME 103 + +#define IDC_SERVER_SETTINGS_PARAM1_TEXT 101 +#define IDC_SERVER_SETTINGS_PARAM1 102 +#define IDC_SERVER_SETTINGS_PARAM2_TEXT 103 +#define IDC_SERVER_SETTINGS_PARAM2 104 +#define IDC_SERVER_SETTINGS_AI 105 +#define IDC_SERVER_SETTINGS_ASSIGN 106 + +#define IDC_SERVER_ADVANCED_ROLES 101 +#define IDC_SERVER_ADVANCED_DISABLE_ALL 102 +#define IDC_SERVER_ADVANCED_AUTOASSIGN 103 + +#define IDC_SERVER_SELECT_PLAYERS 101 + +// Main map display controls +#define IDC_MAP_WATCH 101 +#define IDC_MAP_COMPASS 102 +#define IDC_MAP_WALKIE_TALKIE 103 +#define IDC_MAP_NOTEPAD 104 +#define IDC_MAP_WARRANT 105 +#define IDC_MAP_GPS 106 +#define IDC_MAP_TEXTURES 107 +#define IDC_MAP_BRIEFING_SHOW 108 +#define IDC_MAP_BRIEFING_PAGE 109 +#define IDC_MAP_PREV_MARKER 110 +#define IDC_MAP_NEXT_MARKER 111 +#define IDC_MAP_GEAR 112 + +// Diary display controls +#define IDC_DIARY 101 +#define IDC_DIARY_INDEX 102 +#define IDC_DIARY_PAGE 103 +#define IDC_DIARY_ADD 104 + +// Select island display controls +#define IDC_SELECT_ISLAND 101 +#define IDC_SELECT_ISLAND_NOTEBOOK 102 +#define IDC_SELECT_ISLAND_WIZARD 103 +#define IDC_SELECT_ISLAND_EDITOR 104 +#define IDC_SELECT_ISLAND_EDITOR_OLD 105 +//Redefined in Eden +//IDC_SELECT_ISLAND_EDITOR_OLD 105 +//IDC_SELECT_ISLAND_3DEN 106 +#define IDC_SELECT_ISLAND_BUTTON_PURCHASE 107 + +// Custom arcade display controls +#define IDC_CUST_GAME 101 +#define IDC_CUST_PLAY 102 +#define IDC_CUST_EDIT 103 +#define IDC_CUST_DELETE 104 +#define IDC_CUST_EDIT_2 105 + +#define IDC_MISSION_PARAMS_LABEL 101 +#define IDC_MISSION_PARAMS_COMBO 102 + +#define IDC_ARCMAP_LOAD 101 +#define IDC_ARCMAP_SAVE 102 +#define IDC_ARCMAP_CLEAR 103 +#define IDC_ARCMAP_MODE 104 +#define IDC_ARCMAP_INTEL 105 +#define IDC_ARCMAP_MERGE 106 +#define IDC_ARCMAP_PREVIEW 107 +#define IDC_ARCMAP_CONTINUE 108 +#define IDC_ARCMAP_SECTION 109 +#define IDC_ARCMAP_IDS 111 +#define IDC_ARCMAP_TEXTURES 112 +#define IDC_ARCMAP_MISSION_NAME 113 +#define IDC_ARCMAP_MAP 114 +#define IDC_ARCMAP_BACKGROUND 115 +#define IDC_ARCMAP_LAYOUT 116 +#define IDC_ARCMAP_PUBLISH_MISSION 117 + +#define IDC_ARCUNIT_TITLE 101 +#define IDC_ARCUNIT_SIDE 102 +#define IDC_ARCUNIT_VEHICLE 103 +#define IDC_ARCUNIT_RANK 104 +#define IDC_ARCUNIT_CTRL 105 +#define IDC_ARCUNIT_CLASS 107 +#define IDC_ARCUNIT_HEALTH 108 +#define IDC_ARCUNIT_FUEL 109 +#define IDC_ARCUNIT_AMMO 110 +#define IDC_ARCUNIT_AZIMUT 111 +#define IDC_ARCUNIT_SPECIAL 112 +#define IDC_ARCUNIT_AGE 113 +#define IDC_ARCUNIT_AZIMUT_PICTURE 114 +#define IDC_ARCUNIT_PLACE 115 +#define IDC_ARCUNIT_PRESENCE 116 +#define IDC_ARCUNIT_PRESENCE_COND 117 +#define IDC_ARCUNIT_TEXT 118 +#define IDC_ARCUNIT_LOCK 119 +#define IDC_ARCUNIT_INIT 120 +#define IDC_ARCUNIT_SKILL 121 +#define IDC_ARCUNIT_DESC 122 +#define IDC_ARCUNIT_FACTION 123 +#define IDC_ARCUNIT_ELEVATION 124 +#define IDC_ARCUNIT_EQUIP 125 +#define IDC_ARCUNIT_RADIUS 126 +#define IDC_ARCUNIT_ARGUMENTS 127 +#define IDC_ARCUNIT_CATEGORY 128 +#define IDC_ARCUNIT_SETTINGS 2301 + +#define IDC_ARCGRP_SIDE 101 +#define IDC_ARCGRP_TYPE 102 +#define IDC_ARCGRP_NAME 103 +#define IDC_ARCGRP_AZIMUT 104 +#define IDC_ARCGRP_AZIMUT_PICTURE 105 +#define IDC_ARCGRP_FACTION 106 +#define IDC_ARCGRP_UNITS_LIST 107 + +#define IDC_ARCWP_TITLE 101 +#define IDC_ARCWP_TYPE 102 +#define IDC_ARCWP_SEQ 103 +#define IDC_ARCWP_DESC 104 +#define IDC_ARCWP_SEMAPHORE 105 +#define IDC_ARCWP_FORM 106 +#define IDC_ARCWP_SPEED 107 +#define IDC_ARCWP_COMBAT 108 +#define IDC_ARCWP_PLACE 109 +#define IDC_ARCWP_EFFECTS 110 +#define IDC_ARCWP_TIMEOUT_MIN 111 +#define IDC_ARCWP_TIMEOUT_MAX 112 +#define IDC_ARCWP_TIMEOUT_MID 113 +#define IDC_ARCWP_HOUSEPOS 114 +#define IDC_ARCWP_HOUSEPOSTEXT 115 +#define IDC_ARCWP_EXPACTIV 116 +#define IDC_ARCWP_SHOW 117 +#define IDC_ARCWP_EXPCOND 118 +#define IDC_ARCWP_SCRIPT 119 +#define IDC_ARCWP_PREC 120 +#define IDC_ARCWP_HEIGHT 121 +#define IDC_ARCWP_HEIGHTTEXT 122 +#define IDC_ARCWP_SCRIPTTEXT 123 +#define IDC_ARCWP_CATEGORY 124 + +#define IDC_ARCWP_ARGUMENTS 125 +#define IDC_ARCWP_ARGUMENTSTEXT 126 +#define IDC_ARCWP_NAME 127 + +#define IDC_ARCEFF_SOUND 103 +#define IDC_ARCEFF_VOICE 104 +#define IDC_ARCEFF_SOUND_ENV 105 +#define IDC_ARCEFF_SOUND_DET 106 +#define IDC_ARCEFF_MUSIC 107 +#define IDC_ARCEFF_TITTYPE 108 +#define IDC_ARCEFF_TITEFF 109 +#define IDC_ARCEFF_TITTEXT 110 +#define IDC_ARCEFF_TITRES 111 +#define IDC_ARCEFF_TITOBJ 112 +//#define IDC_ARCEFF_PLAYERONLY 113 +#define IDC_ARCEFF_CONDITION 113 +#define IDC_ARCEFF_TEXT_TITTEXT 114 + +#define IDC_ARCSENS_TITLE 101 +#define IDC_ARCSENS_A 102 +#define IDC_ARCSENS_B 103 +#define IDC_ARCSENS_ANGLE 104 +#define IDC_ARCSENS_ACTIV 105 +#define IDC_ARCSENS_PRESENCE 106 +#define IDC_ARCSENS_REPEATING 107 +#define IDC_ARCSENS_INTERRUPT 108 +#define IDC_ARCSENS_TIMEOUT_MIN 109 +#define IDC_ARCSENS_TIMEOUT_MAX 110 +#define IDC_ARCSENS_TIMEOUT_MID 111 +#define IDC_ARCSENS_TYPE 112 +#define IDC_ARCSENS_OBJECT 113 +#define IDC_ARCSENS_TEXT 114 +#define IDC_ARCSENS_AGE 115 +#define IDC_ARCSENS_EFFECTS 116 +#define IDC_ARCSENS_EXPCOND 117 +#define IDC_ARCSENS_EXPACTIV 118 +#define IDC_ARCSENS_EXPDESACTIV 119 +#define IDC_ARCSENS_RECT 120 +#define IDC_ARCSENS_NAME 121 + +#define IDC_ARCMARK_TITLE 101 +#define IDC_ARCMARK_NAME 102 +#define IDC_ARCMARK_MARKER 103 +#define IDC_ARCMARK_TYPE 104 +#define IDC_ARCMARK_COLOR 105 +#define IDC_ARCMARK_A 106 +#define IDC_ARCMARK_B 107 +#define IDC_ARCMARK_ANGLE 108 +#define IDC_ARCMARK_TYPE_TEXT 109 +#define IDC_ARCMARK_FILL 110 +#define IDC_ARCMARK_TEXT 111 + +#define IDC_INTEL_RESISTANCE 101 +#define IDC_INTEL_MONTH 102 +#define IDC_INTEL_DAY 103 +#define IDC_INTEL_HOUR 104 +#define IDC_INTEL_MINUTE 105 +#define IDC_INTEL_BRIEFING_NAME 106 +#define IDC_INTEL_BRIEFING_DESC 107 +#define IDC_INTEL_WEATHER 108 +#define IDC_INTEL_FOG 109 +#define IDC_INTEL_WEATHER_FORECAST 110 +#define IDC_INTEL_FOG_FORECAST 111 +#define IDC_INTEL_YEAR 112 +//added by MUF - new intel dialog-------------------------- +#define IDC_INTEL_WEATHER_TB 113 +#define IDC_INTEL_WEATHER_FORECAST_TB 114 + +#define IDC_INTEL_FOG_CB 115 +#define IDC_INTEL_FOG_TB 116 +#define IDC_INTEL_FOG_FORECAST_TB 117 + +#define IDC_INTEL_RAIN_CB 118 +#define IDC_INTEL_RAIN 119 +#define IDC_INTEL_RAIN_TB 120 +#define IDC_INTEL_RAIN_FORECAST 121 +#define IDC_INTEL_RAIN_FORECAST_TB 122 + +#define IDC_INTEL_LIGHTN_CB 123 +#define IDC_INTEL_LIGHTN 124 +#define IDC_INTEL_LIGHTN_TB 125 +#define IDC_INTEL_LIGHTN_FORECAST 126 +#define IDC_INTEL_LIGHTN_FORECAST_TB 127 + +#define IDC_INTEL_WAVES_CB 128 +#define IDC_INTEL_WAVES 129 +#define IDC_INTEL_WAVES_TB 130 +#define IDC_INTEL_WAVES_FORECAST 131 +#define IDC_INTEL_WAVES_FORECAST_TB 132 + +#define IDC_INTEL_WIND_CB 133 +#define IDC_INTEL_STRENGTH 134 +#define IDC_INTEL_STRENGTH_TB 135 +#define IDC_INTEL_STRENGTH_FORECAST 136 +#define IDC_INTEL_STRENGTH_FORECAST_TB 137 + +#define IDC_INTEL_GUSTS 138 +#define IDC_INTEL_GUSTS_TB 139 +#define IDC_INTEL_GUSTS_FORECAST 140 +#define IDC_INTEL_GUSTS_FORECAST_TB 141 + +#define IDC_INTEL_WINDDIR 142 +#define IDC_INTEL_WINDDIR_TB 143 +#define IDC_INTEL_WINDDIR_FORECAST 144 +#define IDC_INTEL_WINDDIR_FORECAST_TB 145 + +#define IDC_INTEL_CHNGTIME 146 +#define IDC_INTEL_CHNGTIME_HOUR_TB 147 +#define IDC_INTEL_CHNGTIME_MIN_TB 148 + +#define IDC_INTEL_CHNGTIME_HLEFT 149 +#define IDC_INTEL_CHNGTIME_HMIDDLE 150 +#define IDC_INTEL_CHNGTIME_HRIGHT 151 + +//added by MUF - new intel dialog-------------------------- + +// Dialog for choosing Editor's layout +#define IDC_LAYOUT_LIST 101 +#define IDC_LAYOUT_PICTURE 102 + +// Chat +#define IDC_CHANNEL 101 +#define IDC_CHANNEL_VOICE 102 +#define IDC_CHANNEL_MUTE_VON 103 +#define IDC_CHANNEL_MUTE_CHAT 104 + +#define IDC_CHAT 101 + +#define IDC_VOICE_CHAT 101 + +// Save / load template +#define IDC_TEMPL_NAME 101 +#define IDC_TEMPL_TITLE 102 +#define IDC_TEMPL_MODE 103 +#define IDC_TEMPL_ISLAND 104 + +// publish / update to Steam workshop +#define IDC_PUBLISH_STEAM_TITLE 101 +#define IDC_PUBLISH_STEAM_TAGS 102 +#define IDC_PUBLISH_STEAM_PICTURE 103 +#define IDC_PUBLISH_STEAM_DESCRIPTION 104 +#define IDC_PUBLISH_STEAM_MISSION_LIST 105 +#define IDC_PUBLISH_STEAM_VISIBILITY 106 +#define IDC_PUBLISH_STEAM_CHANGE_NOTES 107 +#define IDC_PUBLISH_STEAM_PREVIEW_FILE 108 +#define IDC_PUBLISH_CHECKBOX_LICENCE 109 +#define IDC_PUBLISH_TEXT_MISSION_SIZE 110 +#define IDC_PUBLISH_TEXT_QUOTA 111 +#define IDC_PUBLISH_BUTTON_PUBLISH 112 +#define IDC_PUBLISH_BUTTON_UPDATE 113 +#define IDC_PUBLISH_BUTTON_DELETE 114 +#define IDC_PUBLISH_BUTTON_EDIT_TAGS 115 +#define IDC_PUBLISH_BUTTON_WORKSHOP 116 +#define IDC_PUBLISH_BUTTON_WORKSHOP_LICENCE 117 +#define IDC_PUBLISH_BUTTON_SELECT_PREVIEW 118 +#define IDC_PUBLISH_BUTTON_DEFAULT_PREVIEW 119 +#define IDC_PUBLISH_STORAGE_SLIDER 120 +// group that is hidden when new mission is selected and shown when already uploaded mission is selected +#define IDC_PUBLISH_STEAM_HIDE_NEW_MISSION 121 +// group that is shown when new mission is selected and hidden when already uploaded mission is selected +#define IDC_PUBLISH_STEAM_SHOW_NEW_MISSION 122 + +// publish / update to Steam workshop - tags dialog +#define IDC_PUBLISH_STEAM_TAGS_AVAILABLE 101 +#define IDC_PUBLISH_STEAM_TAGS_SELECTED 102 +#define IDC_PUBLISH_STEAM_TAGS_ADD 103 +#define IDC_PUBLISH_STEAM_TAGS_REMOVE 104 +#define IDC_PUBLISH_STEAM_TAGS_NEXT 105 +#define IDC_PUBLISH_STEAM_TAGS_BACK 106 +#define IDC_PUBLISH_STEAM_TAGS_TITLE 107 + +// select file dialog +#define IDC_FILE_SELECT_PATH 101 +#define IDC_FILE_SELECT_DIR_TREE 102 +#define IDC_FILE_SELECT_FILE_LIST 103 +#define IDC_FILE_SELECT_PREVIEW 104 + + +//Login display +#define IDC_LOGIN_USER_LIST 101 +#define IDC_LOGIN_EDIT 102 +#define IDC_LOGIN_NEW_USER 103 +#define IDC_LOGIN_DELETE 104 +#define IDC_LOGIN_NAME 105 +#define IDC_LOGIN_FACE 106 +#define IDC_LOGIN_SPEAKER 107 +#define IDC_LOGIN_PITCH 108 +#define IDC_LOGIN_HEAD 109 +#define IDC_LOGIN_GLASSES 110 +#define IDC_LOGIN_ID 111 +#define IDC_LOGIN_SQUAD 112 +#define IDC_LOGIN_SQUAD_TEXT 113 +#define IDC_LOGIN_DISCARD 114 +#define IDC_LOGIN_TAB_AVATAR 115 +#define IDC_LOGIN_TAB_UNIT 116 +#define IDC_LOGIN_UNIT_SELECT 117 +#define IDC_LOGIN_UNIT_LOGO 118 +#define IDC_LOGIN_UNIT_NAME 119 +#define IDC_LOGIN_UNIT_MOTTO 120 +#define IDC_LOGIN_UNIT_DESCRIPTION 121 +#define IDC_LOGIN_ID_TEXT 122 +#define IDC_LOGIN_REFRESH 123 + +// Interrupt display +#define IDC_INT_OPTIONS 101 +#define IDC_INT_LOAD 102 +#define IDC_INT_SAVE 103 +#define IDC_INT_ABORT 104 +#define IDC_INT_RETRY 105 +#define IDC_INT_TITLE 106 +#define IDC_INT_SETTINGS 107 +#define IDC_INT_FRIENDS 108 +#define IDC_INT_PLAYERS 109 +#define IDC_INT_APPEAR_OFFLINE 110 +#define IDC_INT_MISSION 111 +#define IDC_INT_SIGN_IN_STATUS 112 +#define IDC_INT_EDIT_MAP 113 +#define IDC_INT_EDIT_3D 114 +#define IDC_INT_EDIT_PREVIEW 115 +#define IDC_INT_EDIT_REALTIME 116 +#define IDC_INT_RESTART 117 +#define IDC_INT_DIARY 118 +#define IDC_INT_REVERT 119 +#define IDC_INT_MISSIONNAME 120 +#define IDC_INT_TRAFFIC_LIGHT 121 +#define IDC_INT_FIELD_MANUAL 122 + +// Interrupt revert display +#define IDC_INT_REVERT_TYPE 101 + +// Select save display +#define IDC_SELECT_SAVE_SLOTS 101 + +// Mission end display +#define IDC_ME_SUBTITLE 101 +#define IDC_ME_QUOTATION 102 +#define IDC_ME_AUTHOR 103 +#define IDC_ME_RETRY 104 +#define IDC_ME_LOAD 105 +#define IDC_ME_RESTART 106 +#define IDC_ME_TEAM_SWITCH 107 + +// Get ready display +#define IDC_GETREADY_NAME 101 +#define IDC_GETREADY_DESC 102 +#define IDC_GETREADY_PRIMARY 105 +#define IDC_GETREADY_SECONDARY 106 +#define IDC_GETREADY_PLAYER 107 +#define IDC_GETREADY_DATE 108 +#define IDC_GETREADY_MODE 110 +#define IDC_GETREADY_PRIMARY_TEXT 111 +#define IDC_GETREADY_SECONDARY_TEXT 112 +#define IDC_GETREADY_EDITMODE 113 +#define IDC_GETREADY_TITLE 114 + +#define IDC_GEAR_UNIT 101 +#define IDC_GEAR_SKILL 102 +#define IDC_GEAR_VEHICLE 103 +#define IDC_GEAR_POOL 105 +#define IDC_GEAR_OVERVIEW 106 +#define IDC_GEAR_SLOT_PRIMARY 107 +#define IDC_GEAR_SLOT_SECONDARY 108 +#define IDC_GEAR_SLOT_ITEM1 109 +#define IDC_GEAR_SLOT_ITEM2 110 +#define IDC_GEAR_SLOT_ITEM3 111 +#define IDC_GEAR_SLOT_ITEM4 112 +#define IDC_GEAR_SLOT_ITEM5 113 +#define IDC_GEAR_SLOT_ITEM6 114 +#define IDC_GEAR_SLOT_ITEM7 115 +#define IDC_GEAR_SLOT_ITEM8 116 +#define IDC_GEAR_SLOT_ITEM9 117 +#define IDC_GEAR_SLOT_ITEM10 118 +#define IDC_GEAR_SLOT_ITEM11 119 +#define IDC_GEAR_SLOT_ITEM12 120 +#define IDC_GEAR_SLOT_HANDGUN 121 +#define IDC_GEAR_SLOT_HANGUN_ITEM1 122 +#define IDC_GEAR_SLOT_HANGUN_ITEM2 123 +#define IDC_GEAR_SLOT_HANGUN_ITEM3 124 +#define IDC_GEAR_SLOT_HANGUN_ITEM4 125 +#define IDC_GEAR_SLOT_HANGUN_ITEM5 126 +#define IDC_GEAR_SLOT_HANGUN_ITEM6 127 +#define IDC_GEAR_SLOT_HANGUN_ITEM7 128 +#define IDC_GEAR_SLOT_HANGUN_ITEM8 129 +#define IDC_GEAR_SLOT_SPECIAL1 130 +#define IDC_GEAR_SLOT_SPECIAL2 131 +#define IDC_GEAR_REARM 132 +#define IDC_GEAR_CONTINUE 133 +#define IDC_GEAR_SLOT_INVENTORY1 134 +#define IDC_GEAR_SLOT_INVENTORY2 135 +#define IDC_GEAR_SLOT_INVENTORY3 136 +#define IDC_GEAR_SLOT_INVENTORY4 137 +#define IDC_GEAR_SLOT_INVENTORY5 138 +#define IDC_GEAR_SLOT_INVENTORY6 139 +#define IDC_GEAR_SLOT_INVENTORY7 140 +#define IDC_GEAR_SLOT_INVENTORY8 141 +#define IDC_GEAR_SLOT_INVENTORY9 142 +#define IDC_GEAR_SLOT_INVENTORY10 143 +#define IDC_GEAR_SLOT_INVENTORY11 144 +#define IDC_GEAR_SLOT_INVENTORY12 145 + +#define IDC_GEAR_ADD_ITEM 146 +#define IDC_GEAR_REMOVE_ITEM 147 + +#define IDC_GEAR_FILTER 148 +#define IDC_GEAR_FILTER_ICON1 149 +#define IDC_GEAR_FILTER_ICON2 150 +#define IDC_GEAR_FILTER_ICON3 151 +#define IDC_GEAR_FILTER_ICON4 152 +#define IDC_GEAR_FILTER_ICON5 153 +#define IDC_GEAR_FILTER_ICON6 154 + +#define IDC_GEAR_POOL_GROUP 155 +#define IDC_GEAR_SOURCE_NAME 156 +#define IDC_GEAR_OPEN_BAG 157 +#define IDC_GEAR_CLOSE_BAG 158 +#define IDC_GEAR_ADD_DEFAULT 255 +#define IDC_GEAR_CLEAR_ALL 256 +#define IDC_BAG_ITEMS_GROUP 159 +#define IDC_UNIT_ITEMS_GROUP 160 + +#define IDC_GEAR_BAG_EMPTY 5000 +/* +#define IDC_GEAR_BAG_EMPTY_SLOT1 5000 +#define IDC_GEAR_BAG_EMPTY_SLOT2 5001 +#define IDC_GEAR_BAG_EMPTY_SLOT3 5002 +. +. +. +#define IDC_GEAR_BAG_EMPTY_SLOT499 5498 +#define IDC_GEAR_BAG_EMPTY_SLOT500 5499 +*/ +#define IDC_GEAR_BAG_FULL 5500 + +// Debriefing +/* +#define IDC_DEBRIEFING_LEFT 101 +#define IDC_DEBRIEFING_RIGHT 102 +*/ +#define IDC_DEBRIEFING_STAT 103 +#define IDC_DEBRIEFING_RESTART 104 +#define IDC_DEBRIEFING_PAD2 105 +#define IDC_DEBRIEFING_PLAYERS_TITLE_BG 106 +#define IDC_DEBRIEFING_PLAYERS_TITLE 107 +#define IDC_DEBRIEFING_PLAYERS_BG 108 +#define IDC_DEBRIEFING_PLAYERS 109 +#define IDC_DEBRIEFING_TIMEOUT 110 +#define IDC_DEBRIEFING_RESULT 111 +#define IDC_DEBRIEFING_TITLE 112 +#define IDC_DEBRIEFING_DEBRIEFING 113 +#define IDC_DEBRIEFING_OBJECTIVES 114 +#define IDC_DEBRIEFING_INFO 115 +#define IDC_DEBRIEFING_SHOW_PLAYERS 116 +#define IDC_DEBRIEFING_SHOW_PAGE2 117 +#define IDC_DEBRIEFING_LIVE_STATS 118 +#define IDC_DEBRIEFING_PREV_PAGE 119 +#define IDC_DEBRIEFING_NEXT_PAGE 120 +#define IDC_DEBRIEFING_LOAD 121 +#define IDC_DEBRIEFING_TEXT_GROUP 122 +#define IDC_DEBRIEFING_OBJECTIVES_GROUP 123 +#define IDC_DEBRIEFING_STATS_GROUP 124 +#define IDC_DEBRIEFING_MISSION_WORKSHOP 125 +#define IDC_DEBRIEFING_READY 126 +#define IDC_DEBRIEFING_DISCONNECT 127 + +// Debug display +#define IDC_DEBUG_EXP 101 +#define IDC_DEBUG_APPLY 102 +#define IDC_DEBUG_LOG 103 +#define IDC_DEBUG_SEARCH 161 +#define IDC_DEBUG_SEARCH_BUTTON 162 +#define IDC_DEBUG_HISTORY 163 + +#define IDC_DEBUG_EXP1 121 +#define IDC_DEBUG_EXP2 122 +#define IDC_DEBUG_EXP3 123 +#define IDC_DEBUG_EXP4 124 + +#define IDC_DEBUG_RES1 141 +#define IDC_DEBUG_RES2 142 +#define IDC_DEBUG_RES3 143 +#define IDC_DEBUG_RES4 144 + +#define IDC_DEBUG_CLEAR_LOG 151 +#define IDC_DEBUG_FILTER_EDIT 152 + +// Debug PhysX Display +#define IDC_PHYSX_DEBUG_DIAGMODE 101 +#define IDC_PHYSX_DEBUG_DIAGMODEDRAW 102 + +#define IDC_PHYSX_DEBUG_TERRAIN 103 +#define IDC_PHYSX_DEBUG_STATIC 104 +#define IDC_PHYSX_DEBUG_KINEMATIC 105 +#define IDC_PHYSX_DEBUG_DYNAMIC 106 + +#define IDC_PHYSX_DEBUG_CHECK_BUTTONS_START 109 +#define IDC_PHYSX_DEBUG_WORLD_AXES 110 +#define IDC_PHYSX_DEBUG_BODY_AXES 111 +#define IDC_PHYSX_DEBUG_BODY_MASS_AXES 112 +#define IDC_PHYSX_DEBUG_BODY_LIN_VELOCITY 113 +#define IDC_PHYSX_DEBUG_BODY_ANG_VELOCITY 114 +#define IDC_PHYSX_DEBUG_BODY_JOINT_GROUPS 115 +#define IDC_PHYSX_DEBUG_JOINT_LOCAL_AXES 116 +#define IDC_PHYSX_DEBUG_JOINT_WORLD_AXES 117 +#define IDC_PHYSX_DEBUG_JOINT_LIMITS 118 +#define IDC_PHYSX_DEBUG_CONTACT_POINT 119 +#define IDC_PHYSX_DEBUG_CONTACT_NORMAL 120 +#define IDC_PHYSX_DEBUG_CONTACT_ERROR 121 +#define IDC_PHYSX_DEBUG_CONTACT_FORCE 122 +#define IDC_PHYSX_DEBUG_ACTOR_AXES 123 +#define IDC_PHYSX_DEBUG_COLLISION_AABBS 124 +#define IDC_PHYSX_DEBUG_COLLISION_SHAPES 125 +#define IDC_PHYSX_DEBUG_COLLISION_AXES 126 +#define IDC_PHYSX_DEBUG_COLLISION_COMPOUNDS 127 +#define IDC_PHYSX_DEBUG_COLLISION_VNORMALS 128 +#define IDC_PHYSX_DEBUG_COLLISION_FNORMALS 129 +#define IDC_PHYSX_DEBUG_COLLISION_EDGES 130 +#define IDC_PHYSX_DEBUG_COLLISION_SPHERES 131 +#define IDC_PHYSX_DEBUG_COLLISION_STATIC 132 +#define IDC_PHYSX_DEBUG_COLLISION_DYNAMIC 133 +#define IDC_PHYSX_DEBUG_COLLISION_FREE 134 +#define IDC_PHYSX_DEBUG_COLLISION_CCD 135 +#define IDC_PHYSX_DEBUG_COLLISION_SKELETONS 136 +#define IDC_PHYSX_DEBUG_CHECK_BUTTONS_END 148 + +#define IDC_PHYSX3_DEBUG_CHECK_BUTTONS_START 149 +#define IDC_PHYSX3_DEBUG_WORLD_AXES 150 +#define IDC_PHYSX3_DEBUG_BODY_AXES 151 +#define IDC_PHYSX3_DEBUG_BODY_MASS_AXES 152 +#define IDC_PHYSX3_DEBUG_BODY_LIN_VELOCITY 153 +#define IDC_PHYSX3_DEBUG_BODY_ANG_VELOCITY 154 +#define IDC_PHYSX3_DEBUG_BODY_JOINT_GROUPS 155 +#define IDC_PHYSX3_DEBUG_CONTACT_POINT 156 +#define IDC_PHYSX3_DEBUG_CONTACT_NORMAL 157 +#define IDC_PHYSX3_DEBUG_CONTACT_ERROR 158 +#define IDC_PHYSX3_DEBUG_CONTACT_FORCE 159 +#define IDC_PHYSX3_DEBUG_ACTOR_AXES 160 +#define IDC_PHYSX3_DEBUG_COLLISION_AABBS 161 +#define IDC_PHYSX3_DEBUG_COLLISION_SHAPES 162 +#define IDC_PHYSX3_DEBUG_COLLISION_AXES 163 +#define IDC_PHYSX3_DEBUG_COLLISION_COMPOUNDS 164 +#define IDC_PHYSX3_DEBUG_COLLISION_FNORMALS 165 +#define IDC_PHYSX3_DEBUG_COLLISION_EDGES 166 +#define IDC_PHYSX3_DEBUG_COLLISION_STATIC 167 +#define IDC_PHYSX3_DEBUG_COLLISION_DYNAMIC 168 +#define IDC_PHYSX3_DEBUG_COLLISION_PAIRS 169 +#define IDC_PHYSX3_DEBUG_JOINT_LOCAL_AXES 170 +#define IDC_PHYSX3_DEBUG_JOINT_LIMITS 171 +#define IDC_PHYSX3_DEBUG_PARTICLE_SYSTEM_POSITION 172 +#define IDC_PHYSX3_DEBUG_PARTICLE_SYSTEM_VELOCITY 173 +#define IDC_PHYSX3_DEBUG_PARTICLE_SYSTEM_COLLISION_NORMAL 174 +#define IDC_PHYSX3_DEBUG_PARTICLE_SYSTEM_BOUNDS 175 +#define IDC_PHYSX3_DEBUG_PARTICLE_SYSTEM_GRID 176 +#define IDC_PHYSX3_DEBUG_PARTICLE_SYSTEM_BROADPHASE_BOUNDS 177 +#define IDC_PHYSX3_DEBUG_PARTICLE_SYSTEM_MAX_MOTION_DISTANCE 178 +#define IDC_PHYSX3_DEBUG_CHECK_BUTTONS_END 188 + +#define IDC_PHYSX_DEBUG_ALL 190 +#define IDC_PHYSX_DEBUG_NONE 191 +#define IDC_PHYSX_DEBUG_DIAGMODEPERF 192 +#define IDC_PHYSX_DEBUG_DIAGMODESTATS 193 + +#define IDC_PHYSX_DEBUG_USECONVEXSHAPES 194 +#define IDC_PHYSX_DEBUG_USEROADWAYS 195 +#define IDC_PHYSX_DEBUG_USEONECAPSULE 196 +#define IDC_PHYSX_DEBUG_IMMEDIATEFETCH 197 + +#define IDC_PHYSX_DEBUG_BASIC 198 + +// DS interface display +#define IDC_DSI_PLAYERLIST 101 +#define IDC_DSI_MISSONLIST 102 + +// HintC display +#define IDC_HINTC_BG 101 +#define IDC_HINTC_HINT 102 +#define IDC_HINTC_TITLE 103 +#define IDC_HINTC_CONTINUE 104 +#define IDC_HINTC_LINE1 105 +#define IDC_HINTC_LINE2 106 + +// Insert marker display +#define IDC_INSERT_MARKER 101 +#define IDC_INSERT_MARKER_PICTURE 102 +#define IDC_INSERT_MARKER_CHANNELS 103 + +// InGameUI +// - unit info +#define IDC_IGUI_TIME 101 +#define IDC_IGUI_DATE 102 +#define IDC_IGUI_NAME 103 +#define IDC_IGUI_UNIT 104 +#define IDC_IGUI_VALUE_EXP 106 +#define IDC_IGUI_COMBAT_MODE 107 +#define IDC_IGUI_VALUE_HEALTH 109 +#define IDC_IGUI_HITZONES 111 +#define IDC_IGUI_VALUE_FUEL 113 +#define IDC_IGUI_CARGO_MAN 114 +#define IDC_IGUI_CARGO_FUEL 115 +#define IDC_IGUI_CARGO_REPAIR 116 +#define IDC_IGUI_CARGO_AMMO 117 +#define IDC_IGUI_WEAPON 118 +#define IDC_IGUI_AMMO 119 +#define IDC_IGUI_VEHICLE 120 +#define IDC_IGUI_SPEED 121 +#define IDC_IGUI_ALT 122 +#define IDC_IGUI_FORMATION 123 +#define IDC_IGUI_BG 124 +#define IDC_IGUI_COMMANDER 125 +#define IDC_IGUI_DRIVER 126 +#define IDC_IGUI_GUNNER 127 + +#define IDC_IGUI_SPEED_FREEFALL 380 +#define IDC_IGUI_SPEED_VERTICAL_FREEFALL 381 +#define IDC_IGUI_ALT_FREEFALL 382 + +#define IDC_IGUI_ANALOGUE_HORIZON 383 +#define IDC_IGUI_ANALOGUE_SPEED_LADDER 384 +#define IDC_IGUI_ANALOGUE_ALT_LADDER 385 + +#define IDC_IGUI_OPTICS_GROUP 390 +#define IDC_IGUI_DRIVER_GROUP 391 +#define IDC_IGUI_DRIVER_OPTICS_GROUP 392 +#define IDC_IGUI_VEHICLE_PITCH 393 + + +//AV_Terminal +#define IDC_IGUI_AVT_NAME 100 +#define IDC_IGUI_AVT_TAKE_CONTROL 101 +#define IDC_IGUI_AVT_STATUS 102 +#define IDC_IGUI_AVT_TARGET 103 +#define IDC_IGUI_AVT_POSITION 104 +#define IDC_IGUI_AVT_PIP1 105 +#define IDC_IGUI_AVT_PIP2 106 +#define IDC_IGUI_AVT_COUNT 107 +#define IDC_IGUI_AVT_EDITOR_MENU 108 +#define IDC_IGUI_AVT_FUEL 109 +#define IDC_IGUI_AVT_WEAPON 110 +#define IDC_IGUI_AVT_AMMO 111 +#define IDC_IGUI_AVT_WEAPON_SEC 112 +#define IDC_IGUI_AVT_AMMO_SEC 113 +#define IDC_IGUI_AVT_TAKE_CONTROL_DRIVER 114 +#define IDC_IGUI_AVT_TAKE_CONTROL_GUNNER 115 +#define IDC_IGUI_AVT_AUTONOMOUS 116 +#define IDC_IGUI_AVT_COMBO 117 +#define IDC_IGUI_AVT_ALLOW_LIGHTS 118 + +//AV Camera +#define IDC_IGUI_AVC_PIP_DRIVER 100 +#define IDC_IGUI_AVC_PIP_GUNNER 101 +#define IDC_IGUI_AVC_PIP_SINGLE_VIEW 102 +#define IDC_IGUI_AVC_PIP_SOURCE 103 +#define IDC_IGUI_AVC_PIP_HEADING 104 +#define IDC_IGUI_AVC_PIP_MODE 105 + +//Sling Load Assistant +#define IDC_SLA_MAP 100 +#define IDC_SLA_HDIST 101 +#define IDC_SLA_VDIST 102 +#define IDC_SLA_STATUS 103 +#define IDC_SLA_LIFT_PROGRESS 104 +#define IDC_SLA_HEIGHT_BAR 105 +#define IDC_SLA_MAX_ALT 106 +#define IDC_SLA_VIEWPORT 107 + +//Sensors Display +#define IDC_SENS_VIEWPORT 101 +#define IDC_SENS_CIRCLES 102 +#define IDC_SENS_VEHICLE 103 +#define IDC_SENS_RANGE 104 +#define IDC_SENS_RADARON 105 +#define IDC_SENS_RADAROFF 106 +#define IDC_SENS_TARGET 107 +#define IDC_SENS_TARGETRANGE 108 +#define IDC_SENS_TARGETSPEED 109 +#define IDC_SENS_TARGETALT 110 +#define IDC_SENS_HEADING 111 + +//Mine detector Display +#define IDC_MINEDETECT_VIEWPORT 101 +#define IDC_MINEDETECT_CIRCLES 102 +#define IDC_MINEDETECT_VEHICLE 103 +#define IDC_MINEDETECT_RANGE 104 + +//Crew list +#define IDC_CREW_VEHICLE 101 +#define IDC_CREW_LIST 102 + +//MP Score Table +#define IDC_MP_SCORE_TABLE_TITLE 101 +#define IDC_MP_SCORE_TABLE_PLAYERS_LIST 102 +#define IDC_MP_SCORE_TABLE_SIDES_LIST 103 +#define IDC_MP_SCORE_TABLE_LINE_TEMPLATE 104 +#define IDC_MP_SCORE_TABLE_LINE_BACK 105 +#define IDC_MP_SCORE_TABLE_ORDER 106 +#define IDC_MP_SCORE_TABLE_PLAYERSNAME 107 +#define IDC_MP_SCORE_TABLE_KILLS_INF 108 +#define IDC_MP_SCORE_TABLE_KILLS_SOFT 109 +#define IDC_MP_SCORE_TABLE_KILLS_ARMOR 110 +#define IDC_MP_SCORE_TABLE_KILLS_AIR 111 +#define IDC_MP_SCORE_TABLE_KILLED 112 +#define IDC_MP_SCORE_TABLE_KILLSTOTAL 113 + +//Vehicle MessageBox +#define IDC_VEHICLEMSGBOX_BACKGROUND 100 +#define IDC_VEHICLEMSGBOX_LOGO 101 +#define IDC_VEHICLEMSGBOX_TEXT 102 +#define IDC_VEHICLEMSGBOX_PURCHASE 103 + +//Action Notification +#define IDC_DLC_ACTION_NOTIFICATION_GROUP 11406 +#define IDC_DLC_ACTION_NOTIFICATION_LOGO 100 +#define IDC_DLC_ACTION_NOTIFICATION_TEXT 101 +#define IDC_DLC_ACTION_NOTIFICATION_TITLE 102 + +//first aid icons +#define IDC_IGUI_BLEEDING0 401 +#define IDC_IGUI_BLEEDING1 402 +#define IDC_IGUI_INJURED_HEAD0 403 +#define IDC_IGUI_INJURED_HEAD1 404 +#define IDC_IGUI_INJURED_HANDS0 405 +#define IDC_IGUI_INJURED_HANDS1 406 +#define IDC_IGUI_INJURED_HANDS2 407 +#define IDC_IGUI_INJURED_LEGS0 408 +#define IDC_IGUI_INJURED_LEGS1 409 +#define IDC_IGUI_INJURED_LEGS2 410 +#define IDC_IGUI_BODY 411 +#define IDC_IGUI_VALUE_OXYGEN 412 +#define IDC_IGUI_BURNING 413 + +#define IDC_IGUI_ALT_WANTED 128 +#define IDC_IGUI_SPEED_WANTED 129 +#define IDC_IGUI_POSITION 130 +#define IDC_IGUI_OPTIC 131 + +// _VBS3 + #define IDC_IGUI_MAGAZINE 132 + #define IDC_IGUI_OVR_STATUS 133 + //TI + #define IDC_IGUI_TI_BACK 134 + #define IDC_IGUI_TI_MODE 135 + #define IDC_IGUI_TI_BRIGHTNESS_TXT 136 + #define IDC_IGUI_TI_BRIGHTNESS 137 + #define IDC_IGUI_TI_CONTRAST_TXT 138 + #define IDC_IGUI_TI_CONTRAST 139 + #define IDC_IGUI_TI_AUTO_CONTRAST 140 + + //LASE + #define IDC_IGLR_RANGE 141 + #define IDC_IGLR_BG 142 + #define IDC_IGLR_RANGE_NUM 143 + + //AVRS + #define IDC_IGUI_NICK 144 + #define IDC_IGUI_NICK_VAL 145 + #define IDC_IGUI_BANK 146 + #define IDC_IGUI_BANK_VAL 147 +// !_VBS3 +#define IDC_IGUI_HEADING 148 + +// !new arrowhead +#define IDC_IGUI_WEAPON_MODE 149 +#define IDC_IGUI_WEAPON_GUNNER 150 +#define IDC_IGUI_COUNTER_MEASURES_AMMO 151 +#define IDC_IGUI_COUNTER_MEASURES_MODE 152 + +#define IDC_IGUI_RADARRANGE 153 +#define IDC_IGUI_VALUE_RELOAD 154 +#define IDC_IGUI_WEAPON_AMMO 155 + +// New Arma 3 +#define IDC_IGUI_STANCE_INDICATOR 188 +#define IDC_IGUI_GPS_PLAYER 189 +#define IDC_IGUI_SPEED2 190 +#define IDC_IGUI_ALT2 191 +#define IDC_IGUI_PILOT_OPTIC_ZOOM 192 +#define IDC_IGUI_STAMINA_BAR 193 + +// weapon/turret info controls +#define IDC_IGUI_WEAPON_DISTANCE 151 +#define IDC_IGUI_WEAPON_VISION_MODE 152 +#define IDC_IGUI_WEAPON_FLIR_MODE 153 +#define IDC_IGUI_WEAPON_FOV_MODE 154 +#define IDC_IGUI_WEAPON_COMPASS 155 +#define IDC_IGUI_WEAPON_HEADING 156 +#define IDC_IGUI_WEAPON_AUTOHOVER 157 +#define IDC_IGUI_WEAPON_LASER_MARKER_ON 158 +#define IDC_IGUI_WEAPON_BALL_ENABLED 159 +#define IDC_IGUI_WEAPON_JAVELIN_DAY 160 +#define IDC_IGUI_WEAPON_JAVELIN_FLTR 161 +#define IDC_IGUI_WEAPON_JAVELIN_NFOV 162 +#define IDC_IGUI_WEAPON_JAVELIN_WFOV 163 +#define IDC_IGUI_WEAPON_BALL_RANGE 164 +#define IDC_IGUI_WEAPON_BALISTIC_COMP 165 +#define IDC_IGUI_WEAPON_JAVELIN_SEEK 166 +#define IDC_IGUI_WEAPON_JAVELIN_MISSLE 167 +#define IDC_IGUI_WEAPON_ELEVATION 168 +#define IDC_IGUI_WEAPON_ELEVATION_TEXT 169 +#define IDC_IGUI_WEAPON_STATIC_ITEMS 170 +#define IDC_IGUI_WEAPON_GPS_PLAYER 171 +#define IDC_IGUI_WEAPON_GPS_TARGET 172 +#define IDC_IGUI_WEAPON_ARTI_DIST 173 +#define IDC_IGUI_WEAPON_ARTI_TIME 174 +#define IDC_IGUI_WEAPON_ARTI_ELEV 175 +#define IDC_IGUI_WEAPON_ARTI_ELEV_NEED 176 +#define IDC_IGUI_WEAPON_ARTI_OUT_RANGE 177 +#define IDC_IGUI_WEAPON_ARTI_AUTO_ELEV 178 +#define IDC_IGUI_WEAPON_VISION_MODE2 179 +#define IDC_IGUI_WEAPON_OPTICS_ZOOM 180 +#define IDC_IGUI_WEAPON_TARGET_UNIT 181 +#define IDC_IGUI_WEAPON_OPTICS_PITCH 182 +#define IDC_IGUI_WEAPON_DISTANCE2 183 + +// unit info (to preserve order) - new A3 +#define IDC_IGUI_AMMOCOUNT 184 +#define IDC_IGUI_MAGCOUNT 185 + +#define IDC_IGUI_DEPTH 186 +#define IDC_IGUI_WEAPON_MODE_TEXTURE 187 +#define IDC_IGUI_WEAPON_SPEED 188 +#define IDC_IGUI_WEAPON_ALT 189 +#define IDC_IGUI_WEAPON_TIME 190 + +#define IDC_IGUI_WEAPON_CAM_TRACK_AREA 194 +#define IDC_IGUI_WEAPON_CAM_TRACK_TARGET 195 + +#define IDC_IGUI_WEAPON_JAVELIN_ATTACK_FROM_TOP 196 +#define IDC_IGUI_WEAPON_JAVELIN_ATTACK_DIRECT 197 + +#define IDC_IGUI_WEAPON_LASED_DISTANCE 198 +#define IDC_IGUI_WEAPON_LASED_SPEED 199 +#define IDC_IGUI_WEAPON_LASED_VALID 200 +#define IDC_IGUI_WEAPON_LASED_ERR_LEAD 201 +#define IDC_IGUI_WEAPON_LASED_ERR_ELEV 202 +#define IDC_IGUI_WEAPON_LASED_ERR_OBJECT 203 +#define IDC_IGUI_WEAPON_LASER_ZEROING_DELAY 204 + +#define IDC_IGUI_THROTTLE 205 +#define IDC_IGUI_VEHICLE_DIRECTION 206 +#define IDC_IGUI_VEHICLE_DIRECTION2 207 + + + + + +// helicopter unit info +#define IDC_IGUI_GMETER 501 +#define IDC_IGUI_RADARALTIMETER 505 +#define IDC_IGUI_RADARALTIMETER_BAR 506 +#define IDC_IGUI_RADARALTIMETER_VALUE 507 +#define IDC_IGUI_TORQUE 510 +#define IDC_IGUI_WINDINDICATOR 515 +#define IDC_IGUI_WINDINDICATOR_TEXT 516 +#define IDC_IGUI_WINDINDICATOR_IMAGE 517 +#define IDC_IGUI_STABILITYINDICATOR 520 +#define IDC_IGUI_STABILITYINDICATOR_AXIS 521 +#define IDC_IGUI_STABILITYINDICATOR_OFFSET 522 +#define IDC_IGUI_COLLECTIVE 525 +#define IDC_IGUI_AIRSPEEDINDICATOR 530 +#define IDC_IGUI_AIRSPEEDINDICATOR_AXIS 531 +#define IDC_IGUI_AIRSPEEDINDICATOR_VALUE 532 +#define IDC_IGUI_ALTIMETER 535 +#define IDC_IGUI_ALTIMETER_AXIS 536 +#define IDC_IGUI_ALTIMETER_VALUE 537 +#define IDC_IGUI_ATTITUDEINDICATOR 540 +#define IDC_IGUI_ATTITUDEINDICATOR_LITE 541 +#define IDC_IGUI_TRIMINDICATOR 545 +#define IDC_IGUI_AUTOHOVERNDICATOR 546 +#define IDC_IGUI_HELIHUD_MISCELLANEOUS 550 + +// helicopter Analogue unit info +#define IDC_IGUI_ANALOGUE_SPEED 601 +#define IDC_IGUI_ANALOGUE_SPEED_NEEDLE 602 +#define IDC_IGUI_ANALOGUE_SPEED_MIN 603 +#define IDC_IGUI_ANALOGUE_SPEED_MAX 604 +#define IDC_IGUI_ANALOGUE_SPEED_TEXT 605 +#define IDC_IGUI_ANALOGUE_SPEED_IMPERIAL 606 +#define IDC_IGUI_ANALOGUE_SPEED_METRIC 607 + +#define IDC_IGUI_ANALOGUE_ALTITUDE 611 +#define IDC_IGUI_ANALOGUE_ALTITUDE_NEEDLE 612 +#define IDC_IGUI_ANALOGUE_ALTITUDE_MIN 613 +#define IDC_IGUI_ANALOGUE_ALTITUDE_MAX 614 +#define IDC_IGUI_ANALOGUE_ALTITUDE_TEXT 615 +#define IDC_IGUI_ANALOGUE_ALTITUDE_IMPERIAL 616 +#define IDC_IGUI_ANALOGUE_ALTITUDE_METRIC 617 + +#define IDC_IGUI_ANALOGUE_ATTITUDE 621 +#define IDC_IGUI_ANALOGUE_ATTITUDE_HORIZON 622 +#define IDC_IGUI_ANALOGUE_ATTITUDE_VALUE 623 + +#define IDC_IGUI_ANALOGUE_COMPASS 631 +#define IDC_IGUI_ANALOGUE_COMPASS_DIR 632 +#define IDC_IGUI_ANALOGUE_COMPASS_WIND 633 +#define IDC_IGUI_ANALOGUE_COMPASS_WAYPOINT 634 +#define IDC_IGUI_ANALOGUE_COMPASS_MIN 635 +#define IDC_IGUI_ANALOGUE_COMPASS_MAX 636 +#define IDC_IGUI_ANALOGUE_COMPASS_TEXT 637 +#define IDC_IGUI_ANALOGUE_COMPASS_WIND_TEXT 638 + +#define IDC_IGUI_ANALOGUE_STABILITY 641 +#define IDC_IGUI_ANALOGUE_STABILITY_SPEED 642 +#define IDC_IGUI_ANALOGUE_STABILITY_TEXT 643 +#define IDC_IGUI_ANALOGUE_STABILITY_VSPEED_NEEDLE 644 +#define IDC_IGUI_ANALOGUE_STABILITY_COLLECTIVE 645 +#define IDC_IGUI_ANALOGUE_STABILITY_VSPEED 646 +#define IDC_IGUI_ANALOGUE_STABILITY_IMPERIAL 647 +#define IDC_IGUI_ANALOGUE_STABILITY_METRIC 648 + +//damage +#define IDC_IGUI_DAMAGE_GROUP 660 +#define IDC_IGUI_DAMAGE_ENGINESRPM 662 +#define IDC_IGUI_DAMAGE_ENGINESDAMAGE 663 +#define IDC_IGUI_DAMAGE_TORQUE 664 +#define IDC_IGUI_DAMAGE_ELECTRICITY 665 +#define IDC_IGUI_DAMAGE_FUEL 666 +#define IDC_IGUI_DAMAGE_HYDRAULICS 667 +#define IDC_IGUI_DAMAGE_MAINROTOR 668 +#define IDC_IGUI_DAMAGE_TAILROTOR 669 +#define IDC_IGUI_DAMAGE_AUTOHOVER 670 +#define IDC_IGUI_DAMAGE_INSTALLATIONS 671 +#define IDC_IGUI_DAMAGE_HULL 672 +#define IDC_IGUI_DAMAGE_WHEELBRAKE 673 +#define IDC_IGUI_DAMAGE_ROTORBRAKE 674 +#define IDC_IGUI_DAMAGE_WINCH 675 +#define IDC_IGUI_DAMAGE_GEAR 676 + +// - hint +#define IDC_IGHINT_BG 101 +#define IDC_IGHINT_HINT 102 + +// - task hint +#define IDC_IGTASKHINT_BG 103 +#define IDC_IGTASKHINT_HINT 104 + +// - load mission progress bar +#define IDC_LOAD_MISSION_NAME 101 +#define IDC_LOAD_MISSION_DATE 102 +#define IDC_PROGRESS_TIME 103 +#define IDC_PROGRESS_PROGRESS 104 +#define IDC_LOAD_MISSION_PICTURE 105 +#define IDC_LOAD_MISSION_TEXT 106 + +// - dedicated server dialog +#define IDC_DS_REPORT 101 +#define IDC_DS_PLAYERS 102 +#define IDC_DS_FRIENDS 103 + +// - friend's missions dialog +#define IDC_FRIEND_MISSIONS_LIST 101 + +// - live statistics dialogs +#define IDC_LIVE_STATS_BOARDS 101 + +#define IDC_LIVE_STATS_LIST 101 +#define IDC_LIVE_STATS_COUNT 102 +#define IDC_LIVE_STATS_TITLE 103 +#define IDC_LIVE_STATS_PLAYER 104 +#define IDC_LIVE_STATS_BEGIN 105 +#define IDC_LIVE_STATS_END 106 +#define IDC_LIVE_STATS_PREV 107 +#define IDC_LIVE_STATS_NEXT 108 +#define IDC_LIVE_STATS_FRIENDS 109 +#define IDC_LIVE_STATS_GAMER_CARD 110 + +#define IDC_RECEIVING_TEXT 101 +#define IDC_RECEIVING_TIME 102 + +#define IDC_MSG_BOX_MESSAGE 101 + +#define IDC_EDITOR_OBJECTS 201 +#define IDC_EDITOR_ATTRIBUTES 202 +#define IDC_EDITOR_BACKGROUND 203 +#define IDC_EDITOR_MENU 204 +#define IDC_EDITOR_SAVE 205 +#define IDC_EDITOR_LOAD 206 +#define IDC_EDITOR_RESTART 207 +#define IDC_EDITOR_PREVIEW 208 +#define IDC_EDITOR_MAP 209 +#define IDC_EDITOR_CLEAR 210 +#define IDC_EDITOR_TYPE_LIST 211 + +// editor menu system +#define IDC_EDITOR_FILE 212 +#define IDC_EDITOR_VIEW 213 +#define IDC_EDITOR_USER 214 +#define IDC_EDITOR_MENU_FILE 216 +#define IDC_EDITOR_MENU_VIEW 217 +#define IDC_EDITOR_MENU_USER 218 + +#define IDC_EDITOR_CONTROLS_HELP 220 +#define IDC_EDITOR_LOAD_AAR 221 + +#define IDC_EDITOR_ADDOBJ_TYPES 222 +#define IDC_EDITOR_ADDOBJ_CATEGORIES 223 +#define IDC_EDITOR_ADDOBJ_LISTING 224 + +#define IDC_MINI_MAP 225 + +// editor tree filtering +#define IDC_EDITOR_OBJECTS_FILTER 236 +#define IDC_EDITOR_TREE_EXPAND_ALL 237 +#define IDC_EDITOR_TREE_EXPAND_ALL_BACK 238 +#define IDC_EDITOR_TREE_COLLAPSE_ALL 239 +#define IDC_EDITOR_TREE_COLLAPSE_ALL_BACK 240 + +#define IDC_EDIT_OBJECT_CONTROLS 101 +#define IDC_EDIT_OBJECT_TOGGLE_BUTTON 102 + +#define IDC_NEW_OBJECT_TYPE 101 +#define IDC_NEW_OBJECT_PARENT 102 + +#define IDC_MISSION_LOAD_ISLAND 101 +#define IDC_MISSION_LOAD_MISSION 102 + +#define IDC_MISSION_SAVE_MISSION 101 +#define IDC_MISSION_SAVE_TITLE 102 +#define IDC_MISSION_SAVE_DESCRIPTION 103 +#define IDC_MISSION_SAVE_PLACEMENT 104 + +#define IDC_OVERLAY_CREATE_NAME 101 +#define IDC_OVERLAY_LOAD_NAME 101 +#define IDC_OVERLAY_LOAD_MISSION 102 + +#define IDC_EDIT_DIARY_RECORD 101 +#define IDC_EDIT_DIARY_TITLE 102 + +#define IDC_LOAD_AAR_NAME 101 + +#define IDC_EDITOR_EB_PLAN 101 +#define IDC_EDITOR_EB_NOTES 102 +#define IDC_EDITOR_EB_SIDE 103 +#define IDC_EDITOR_EB_OBJECTIVES 104 +#define IDC_EDITOR_EB_NEW_OBJECTIVE 105 +#define IDC_EDITOR_EB_ADD_OBJECTIVE 106 +#define IDC_EDITOR_EB_DEL_OBJECTIVE 107 + +// - team switch display + +#define IDC_TEAM_SWITCH_ROLES 101 + +// - configure action display + +#define IDC_CONFIGURE_ACTION_TITLE 101 +#define IDC_CONFIGURE_ACTION_KEYS 102 +#define IDC_CONFIGURE_ACTION_SPECIAL 103 +#define IDC_CONFIGURE_ACTION_DELETE 104 +#define IDC_CONFIGURE_ACTION_DEFAULT 105 +#define IDC_CONFIGURE_ACTION_CLEAR 106 +#define IDC_CONFIGURE_ACTION_CANCEL 107 +#define IDC_CONFIGURE_ACTION_PREV 108 +#define IDC_CONFIGURE_ACTION_NEXT 109 + +// - controls display +#define IDC_CONTROLS_TYPE 101 +#define IDC_CONTROLS_CONFIGURE 102 + +// - miniMap display + +#define IDC_MINIMAP 101 +#define IDC_MINIMAP_VIEWPORT 102 +#define IDC_MINIMAP_GRID 197 +#define IDC_MINIMAP_HEADING 198 +#define IDC_MINIMAP_TIME 199 + + +// - scripting help display +#define IDC_SCRITING_HELP 101 +#define IDC_SCRITING_HELP_BACK 102 +#define IDC_SCRITING_HELP_FORWARD 103 +#define IDC_SCRITING_HELP_EXAMPLE 104 + +// - performance display +#define IDC_PERF_INDEX 101 +#define IDC_PERF_ENABLE 102 +#define IDC_PERF_GRAPH 103 +#define IDC_PERF_GRAPH_TITLE 104 +#define IDC_PERF_MAXTIME 105 + +// - capture display +#define IDC_CAPTURE_INDEX 101 +#define IDC_CAPTURE_TIMELINES 102 +#define IDC_CAPTURE_ZOOMIN 103 +#define IDC_CAPTURE_ZOOMOUT 104 +#define IDC_CAPTURE_EXPORT 105 +#define IDC_CAPTURE_INFO 106 +#define IDC_CAPTURE_EXPORT_ALL 107 +#define IDC_CAPTURE_IMPORT_ALL 108 +#define IDC_CAPTURE_PREVIOUS_DATA 109 +#define IDC_CAPTURE_AVERAGES 110 +#define IDC_CAPTURE_SAVE_ARCHIVE 111 +#define IDC_CAPTURE_SEARCH 112 + + +// - joysticks configuration display +#define IDC_CONTROLLER_CUSTOMIZE 101 +#define IDC_CONTROLLER_ENABLE 102 +#define IDC_CONTROLLER_XINPUT_LIST 103 +#define IDC_CONTROLLER_LIST 104 +#define IDC_CONTROLLER_REFRESH 105 + +// - customize controllers +#define IDC_CUSTOMIZE_CTRL_SENSITIVITIES 101 +#define IDC_CUSTOMIZE_CTRL_UNMAP 102 +#define IDC_CUSTOMIZE_CTRL_DEFAULT 103 +#define IDC_CUSTOMIZE_CTRL_TITLE 104 +#define IDC_CUSTOMIZE_CTRL_DEFAULT_BINDING 105 +#define IDC_CUSTOMIZE_CTRL_ADVANCED 106 +#define IDC_SENSITIVITY_SLIDER 120 +#define IDC_DEADZONE_SLIDER 220 +#define IDC_CUSTOMIZE_CTRL_ACTIVE_AXIS_ICON 320 +#define IDC_CUSTOMIZE_CTRL_STEEPNESS 420 +#define IDC_CUSTOMIZE_CTRL_VALUE 520 + +// - joystick schemes +#define IDC_JOY_SCHEMES_TITLE 101 +#define IDC_JOY_SCHEMES_LIST 102 +#define IDC_JOY_SCHEMES_MAP 103 + +// - helper IDC for DisplayCampaignLoadLight +#define IDC_MP_CAMPAIGN_RESTART 150 +#define IDC_MP_CAMPAIGN_REPLAY 151 +#define IDC_MP_CAMPAIGN_LOAD 152 + +// - addon actions display +#define IDC_ADDON_ACTIONS 101 +#define IDC_ADDON_ACTIONS_NEW_MOD 102 + +// - mod launcher +#define IDC_MOD_LAUNCHER_MODS 101 +#define IDC_MOD_LAUNCHER_PICTURE 102 +#define IDC_MOD_LAUNCHER_UP 103 +#define IDC_MOD_LAUNCHER_DOWN 104 +#define IDC_MOD_LAUNCHER_DISABLE 105 +#define IDC_MOD_LAUNCHER_ACTION 106 +#define IDC_MOD_LAUNCHER_PURCHASE 107 +#define IDC_MOD_LAUNCHER_DESCRIPTION 108 + +// - create new mod +#define IDC_MOD_NAME 101 +#define IDC_MOD_DIR 102 + + +//A3 credits +#define ONBUTTONCLICK_START_CREDITS "0 = _this spawn (uinamespace getvariable 'bis_fnc_credits');" + + +// Hitzone types +#define HZ_AIRPLANE_HULL 0 +#define HZ_AIRPLANE_ENG 22 +#define HZ_AIRPLANE_FUEL 23 +#define HZ_AIRPLANE_GEAR 24 +#define HZ_AIRPLANE_WINGS 25 +#define HZ_AIRPLANE_INST 26 + +#define HZ_HELICOPTER_HULL 1 +#define HZ_HELICOPTER_ENG 2 +#define HZ_HELICOPTER_INST 3 +#define HZ_HELICOPTER_ATRQ 4 +#define HZ_HELICOPTER_MROT 5 +#define HZ_HELICOPTER_WINCH 6 + +#define HZ_CAR_HULL 7 +#define HZ_CAR_ENG 8 +#define HZ_CAR_FUEL 9 +#define HZ_CAR_WHL 10 + +#define HZ_MOTORCYCLE_HULL 11 +#define HZ_MOTORCYCLE_ENG 12 +#define HZ_MOTORCYCLE_FUEL 13 +#define HZ_MOTORCYCLE_WHL 14 + +#define HZ_TANK_HULL 15 +#define HZ_TANK_ENG 16 +#define HZ_TANK_GUN 17 +#define HZ_TANK_LTR 18 +#define HZ_TANK_RTR 19 +#define HZ_TANK_TRRT 20 + +#define HZ_VEH_GUN HZ_TANK_GUN +#define HZ_VEH_TRRT HZ_TANK_TRRT + +#define HZ_SHIP_ENG 21 + +#define HZ_VEH_TOTAL 27 + +#define HZ_TANK_CMDGUN 28 +#define HZ_TANK_CMDTRRT 29 +#define HZ_VEH_CMDGUN HZ_TANK_CMDGUN +#define HZ_VEH_CMDTRRT HZ_TANK_CMDTRRT + +#define HZ_VEH_TRRT_TOTAL 30 +#define HZ_VEH_CMDTRRT_TOTAL 31 + +#define HZ_TANK_BOTH_TRACKS 32 + + +#endif \ No newline at end of file diff --git a/include/a3/ui_f/hpp/defineResinclDesign.inc b/include/a3/ui_f/hpp/defineResinclDesign.inc new file mode 100644 index 0000000..0c66937 --- /dev/null +++ b/include/a3/ui_f/hpp/defineResinclDesign.inc @@ -0,0 +1,1063 @@ +#define IDC_SEARCH 645 +#define IDC_SEARCH_BUTTON 646 + +//--- RscDisplayMain +#define IDC_MAIN_GAMEMODES 201 +#define IDC_MAIN_MP_SCENARIOS 202 +#define IDC_MAIN_ARSENAL 203 +#define IDC_MAIN_COMMUNITYGUIDES 204 +#define IDC_MAIN_PROFILE 205 +#define IDC_MAIN_CAMPAIGN_MP 206 + +#define IDC_MAIN_MOUSEAREA 999 +#define IDC_MAIN_BACKGROUND_PICTURE 998 +#define IDC_MAIN_BACKGROUND_BLACK 997 + +#define IDC_MAIN_GROUP_SINGLEPLAYER 1001 +#define IDC_MAIN_GROUP_MULTIPLAYER 1002 +#define IDC_MAIN_GROUP_TUTORIALS 1003 +#define IDC_MAIN_GROUP_OPTIONS 1004 +#define IDC_MAIN_GROUP_SESSION 1005 + +#define IDC_MAIN_TITLE_SINGLEPLAYER 1011 +#define IDC_MAIN_TITLE_MULTIPLAYER 1012 +#define IDC_MAIN_TITLE_TUTORIALS 1013 +#define IDC_MAIN_TITLE_OPTIONS 1014 +#define IDC_MAIN_TITLE_SESSION 1015 + +#define IDC_MAIN_TITLEICON_SINGLEPLAYER 1111 +#define IDC_MAIN_TITLEICON_MULTIPLAYER 1112 +#define IDC_MAIN_TITLEICON_TUTORIALS 1113 +#define IDC_MAIN_TITLEICON_OPTIONS 1114 +#define IDC_MAIN_TITLEICON_SESSION 1115 + +#define IDC_MAIN_SPOTLIGHT_GROUP_1 1020 +#define IDC_MAIN_SPOTLIGHT_GROUP_2 1021 +#define IDC_MAIN_SPOTLIGHT_GROUP_3 1022 +#define IDC_MAIN_SPOTLIGHT_PICTURE 1023 +#define IDC_MAIN_SPOTLIGHT_VIDEO 1024 +#define IDC_MAIN_SPOTLIGHT_HOVER 1025 +#define IDC_MAIN_SPOTLIGHT_BUTTON 1026 +#define IDC_MAIN_SPOTLIGHT_ACTION 1027 +#define IDC_MAIN_SPOTLIGHT_TEXT 1028 +#define IDC_MAIN_SPOTLIGHT_TEXTBCG 1029 + +#define IDC_MAIN_SPOTLIGHT_PREV 1060 +#define IDC_MAIN_SPOTLIGHT_NEXT 1061 + +#define IDC_MAIN_INFO_MODS 1030 +#define IDC_MAIN_INFO_DLCS 1031 +#define IDC_MAIN_INFO_DLCSOWNED 10311 +#define IDC_MAIN_INFO_NEWS 1032 +#define IDC_MAIN_INFO_VERSION 1033 + +#define IDC_MAIN_INFO_BACKGROUND 1034 +#define IDC_MAIN_INFO_BACKGROUND_ICON 1035 +#define IDC_MAIN_INFO_ICON 1036 +#define IDC_MAIN_INFO_BUTTON 1037 +#define IDC_MAIN_INFO_BUTTON_DEV 1038 +#define IDC_MAIN_INFO_NOTIFICATION 1039 + +#define IDC_MAIN_VERSION_DEV 1050 + +#define BARCOLOR 0, 0, 0, 0.75 +#define INFO_BACKGROUND_COLOR BARCOLOR +#define INFO_ICON_COLOR 1, 1, 1, 0.5 + +//--- RscDisplayDebug +#define IDC_RSCDISPLAYDEBUG_DESIGNHTML 11735 +#define IDC_RSCDISPLAYDEBUG_TEXTEXPRESSION 11736 +#define IDC_RSCDISPLAYDEBUG_TEXTVAR1 11737 +#define IDC_RSCDISPLAYDEBUG_TEXTVAR2 11738 +#define IDC_RSCDISPLAYDEBUG_TEXTVAR3 11739 +#define IDC_RSCDISPLAYDEBUG_TEXTVAR4 11740 +#define IDC_RSCDISPLAYDEBUG_TEXTWATCH 11741 +#define IDC_RSCDISPLAYDEBUG_DIAGTEXT 11747 +#define IDC_RSCDISPLAYDEBUG_DRAWTEXT 11748 +#define IDC_RSCDISPLAYDEBUG_CA_TITLE 11838 +#define IDC_RSCDISPLAYDEBUG_CA_PLAYER 12145 +#define IDC_RSCDISPLAYDEBUG_CA_VERSION 12146 +#define IDC_RSCDISPLAYDEBUG_DIAGLIST 12236 +#define IDC_RSCDISPLAYDEBUG_DIAGLIST_SEARCH 12238 +#define IDC_RSCDISPLAYDEBUG_DRAWLIST 12237 +#define IDC_RSCDISPLAYDEBUG_DIAGFRAME 12535 +#define IDC_RSCDISPLAYDEBUG_DRAWFRAME 12536 +#define IDC_RSCDISPLAYDEBUG_FRAMELOG 12537 +#define IDC_RSCDISPLAYDEBUG_G_EXPRESSION 13035 +#define IDC_RSCDISPLAYDEBUG_G_DIAG 13036 +#define IDC_RSCDISPLAYDEBUG_G_DESIGN 13037 +#define IDC_RSCDISPLAYDEBUG_G_WATCH 13038 +#define IDC_RSCDISPLAYDEBUG_G_DRAW 13039 +#define IDC_RSCDISPLAYDEBUG_DIAGBUTTON 13138 +#define IDC_RSCDISPLAYDEBUG_DRAWBUTTON 13139 +#define IDC_RSCDISPLAYDEBUG_DEBUGFLOW 13140 +#define IDC_RSCDISPLAYDEBUG_DEBUGANIM 13141 +#define IDC_RSCDISPLAYDEBUG_B_CAMERANEW 13142 +#define IDC_RSCDISPLAYDEBUG_CREATEJIRAISSUE 13143 +#define IDC_RSCDISPLAYDEBUG_DEBUGGUI 13144 +#define IDC_RSCDISPLAYDEBUG_DEBUGFUNCTIONS 13145 +#define IDC_RSCDISPLAYDEBUG_DEBUGCONFIG 13154 +#define IDC_RSCDISPLAYDEBUG_B_CAMERA 13155 +#define IDC_RSCDISPLAYDEBUG_BUTTONSCRIPT1 13157 +#define IDC_RSCDISPLAYDEBUG_BUTTONSCRIPT2 13158 +#define IDC_RSCDISPLAYDEBUG_BUTTONSCRIPT3 13159 +#define IDC_RSCDISPLAYDEBUG_BUTTONSCRIPT4 13160 +#define IDC_RSCDISPLAYDEBUG_BUTTONSCRIPT5 13161 +#define IDC_RSCDISPLAYDEBUG_BUTTONSCRIPT6 13163 +#define IDC_RSCDISPLAYDEBUG_DEBUGCAPTURE 13164 + +//--- RscDisplayAnimViewer +#define IDC_RSCDISPLAYANIMVIEWER_TITLE 1000 +#define IDC_RSCDISPLAYANIMVIEWER_BACKGROUND 1001 +#define IDC_RSCDISPLAYANIMVIEWER_TEXTACTION 1002 +#define IDC_RSCDISPLAYANIMVIEWER_TEXTPOSE 1003 +#define IDC_RSCDISPLAYANIMVIEWER_TEXTMOVEMENT 1004 +#define IDC_RSCDISPLAYANIMVIEWER_TEXTSTANCE 1005 +#define IDC_RSCDISPLAYANIMVIEWER_TEXTITEM 1006 +#define IDC_RSCDISPLAYANIMVIEWER_DESCRIPTION 1100 +#define IDC_RSCDISPLAYANIMVIEWER_MISC 1500 +#define IDC_RSCDISPLAYANIMVIEWER_ACTION 2100 +#define IDC_RSCDISPLAYANIMVIEWER_POSE 2101 +#define IDC_RSCDISPLAYANIMVIEWER_MOVEMENT 2102 +#define IDC_RSCDISPLAYANIMVIEWER_STANCE 2103 +#define IDC_RSCDISPLAYANIMVIEWER_ITEM 2104 +#define IDC_RSCDISPLAYANIMVIEWER_SOLDIER 2106 +#define IDC_RSCDISPLAYANIMVIEWER_BUTTONCLOSE 2700 + +#define IDC_RSCDISPLAYANIMVIEWER_MOUSEAREA 999 +#define IDC_RSCDISPLAYANIMVIEWER 1320 + +//--- RscDisplayFunctionsViewer +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_TITLEBACKGROUND 1000 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_BACKGROUNDLEFT 1001 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_BACKGROUNDRIGHT 1002 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_BACKGROUNDMETA 1003 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_TITLETEXT 1004 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_AUTHOR 1005 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_CODESTRUCTURED 1100 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_TITLEICON 1200 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_CODE 1400 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_NAME 1401 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_FUNCTIONS 1500 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_SOURCES 2100 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_TAGS 2101 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_CATEGORIES 2102 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_PREVIEW 2300 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_BUTTONRECOMPILE_ALL 2400 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_BUTTONRECOMPILE_SELECTED 2401 +#define IDC_RSCDISPLAYFUNCTIONSVIEWER_BUTTONCLOSE 2700 + +#define IDC_RSCDISPLAYFUNCTIONSVIEWER 1321 + +//--- Loading +#define IDC_LOADING_MAPBACKTOP 1000 +#define IDC_LOADING_MAPNAME 1001 +#define IDC_LOADING_MAPAUTHOR 1002 +#define IDC_LOADING_MAPBACKBOTTOM 1003 +#define IDC_LOADING_MISSIONBACKGROUNDTOP 1005 +#define IDC_LOADING_MISSIONNAME 1006 +#define IDC_LOADING_MISSIONAUTHOR 1007 +#define IDC_LOADING_PROGRESSMAP 1008 +#define IDC_LOADING_DISCLAIMERNAME 1009 +#define IDC_LOADING_MISSIONPICTUREBACK 1010 +#define IDC_LOADING_MISSIONGAMETYPE 1012 +#define IDC_LOADING_PROGRESSMISSION 1013 +#define IDC_LOADING_MISSIONDESCRIPTION 1100 +#define IDC_LOADING_DISCLAIMERDESCRIPTION 1101 +#define IDC_LOADING_MAPDESCRIPTION 1102 +#define IDC_LOADING_MISSION 2300 +#define IDC_LOADING_DISCLAIMER 2301 +//--- Loading - DLC part +#define IDC_LOADING_DLCNAME 3207 +#define IDC_LOADING_DLCAUTHOR 3208 +#define IDC_LOADING_DLCPICTUREBACK 3209 +#define IDC_LOADING_DLCDESCRIPTION 3296 +#define IDC_LOADING_DLCPICTURE 3393 +#define IDC_LOADING_DLCSTRIPE 3395 +#define IDC_LOADING_DLCICON 3396 + +#define IDC_LOADING_MAP 999 + +//--- LoadingStart +#define IDC_LOADINGSTART_BLACK 1000 +#define IDC_LOADINGSTART_LOGO 1200 +#define IDC_LOADINGSTART_NOISE 1201 +#define IDC_LOADINGSTART_LOADINGSTART 2310 + +//--- RscDisplayDebriefing +#define IDC_RSCDISPLAYDEBRIEFING_LISTGROUP 21903 //Defined manually +#define IDC_RSCDISPLAYDEBRIEFING_LOACTEMPLATE 21904 +#define IDC_RSCDISPLAYDEBRIEFING_TIMEBACKGROUND 20594 +#define IDC_RSCDISPLAYDEBRIEFING_MAINBACKGROUND 20595 +#define IDC_RSCDISPLAYDEBRIEFING_RATINGBACKGROUND 20596 +#define IDC_RSCDISPLAYDEBRIEFING_PLAYERNAME 20599 +#define IDC_RSCDISPLAYDEBRIEFING_TITLE 20600 +#define IDC_RSCDISPLAYDEBRIEFING_SUBTITLE 20601 +#define IDC_RSCDISPLAYDEBRIEFING_OBJECTIVESBACKGROUND 20602 +#define IDC_RSCDISPLAYDEBRIEFING_STATBACKGROUND 20603 +#define IDC_RSCDISPLAYDEBRIEFING_DESCRIPTIONBACKGROUND 20604 +#define IDC_RSCDISPLAYDEBRIEFING_LOADSBACKGROUND 20605 +#define IDC_RSCDISPLAYDEBRIEFING_RATINGTEXT 20606 +#define IDC_RSCDISPLAYDEBRIEFING_RATING 20607 +#define IDC_RSCDISPLAYDEBRIEFING_RATINGBEST 20608 +#define IDC_RSCDISPLAYDEBRIEFING_TIMETEXT 20609 +#define IDC_RSCDISPLAYDEBRIEFING_TIME 20610 +#define IDC_RSCDISPLAYDEBRIEFING_TIMEBEST 20611 +#define IDC_RSCDISPLAYDEBRIEFING_LOADSTEXT 20612 +#define IDC_RSCDISPLAYDEBRIEFING_LOADS 20613 +#define IDC_RSCDISPLAYDEBRIEFING_LOADSBEST 20614 +#define IDC_RSCDISPLAYDEBRIEFING_DLCOVERVIEWBACKGROUND 20615 +#define IDC_RSCDISPLAYDEBRIEFING_DLCOVERVIEWTEXT 20616 +#define IDC_RSCDISPLAYDEBRIEFING_DLCCOUNTDOWN 20617 +#define IDC_RSCDISPLAYDEBRIEFING_TABSBACKGROUND 20618 +#define IDC_RSCDISPLAYDEBRIEFING_DLCBAR 20619 +#define IDC_RSCDISPLAYDEBRIEFING_DESCRIPTIONTEXT 20693 +#define IDC_RSCDISPLAYDEBRIEFING_CUSTOMTEXT 20694 +#define IDC_RSCDISPLAYDEBRIEFING_SIDE1 20696 +#define IDC_RSCDISPLAYDEBRIEFING_SIDE2 20697 +#define IDC_RSCDISPLAYDEBRIEFING_SIDE3 20698 +#define IDC_RSCDISPLAYDEBRIEFING_SIDE4 20699 +#define IDC_RSCDISPLAYDEBRIEFING_SIDE5 20700 +#define IDC_RSCDISPLAYDEBRIEFING_PICTURE 20793 +#define IDC_RSCDISPLAYDEBRIEFING_MISSIONPICTURE 20794 +#define IDC_RSCDISPLAYDEBRIEFING_DLCOVERVIEWPICTURE 20795 +#define IDC_RSCDISPLAYDEBRIEFING_DLCLOCKICON 20798 +#define IDC_RSCDISPLAYDEBRIEFING_SECTION 21093 +#define IDC_RSCDISPLAYDEBRIEFING_SUMMARY 21893 +#define IDC_RSCDISPLAYDEBRIEFING_DESCRIPTION 21894 +#define IDC_RSCDISPLAYDEBRIEFING_OBJECTIVES 21895 +#define IDC_RSCDISPLAYDEBRIEFING_STAT 21896 +#define IDC_RSCDISPLAYDEBRIEFING_CUSTOM 21897 +#define IDC_RSCDISPLAYDEBRIEFING_DATA 21898 +#define IDC_RSCDISPLAYDEBRIEFING_SIDES 21899 +#define IDC_RSCDISPLAYDEBRIEFING_DLCGENERALGROUP 21900 +#define IDC_RSCDISPLAYDEBRIEFING_LOAC 21901 +#define IDC_RSCDISPLAYDEBRIEFING_DLCBUTTONALLASSETS 21995 +#define IDC_RSCDISPLAYDEBRIEFING_DLCBUTTONKARTS 21996 +#define IDC_RSCDISPLAYDEBRIEFING_DLCBUTTONHELI 21997 +#define IDC_RSCDISPLAYDEBRIEFING_DLCBUTTONMARKSMEN 21998 +#define IDC_RSCDISPLAYDEBRIEFING_DLCBUTTONAPEX 22000 + +//--- RscDisplayDebriefing - DLC item template +#define IDC_RSCDISPLAYDEBRIEFING_ITEMBACKGROUND 20623 +#define IDC_RSCDISPLAYDEBRIEFING_ITEMBACKGROUNDBLACK 20624 +#define IDC_RSCDISPLAYDEBRIEFING_ITEMNAME 20625 +#define IDC_RSCDISPLAYDEBRIEFING_ITEMTEXTSESSIONTIME 20626 +#define IDC_RSCDISPLAYDEBRIEFING_ITEMSESSIONTIME 20627 +#define IDC_RSCDISPLAYDEBRIEFING_ITEMTEXTTOTALTIME 20628 +#define IDC_RSCDISPLAYDEBRIEFING_ITEMTOTALTIME 20629 +#define IDC_RSCDISPLAYDEBRIEFING_ITEMDESCRIPTION 20630 +#define IDC_RSCDISPLAYDEBRIEFING_ITEMPICTURE 20796 +#define IDC_RSCDISPLAYDEBRIEFING_ITEMDLCLOGO 20797 +#define IDC_RSCDISPLAYDEBRIEFING_RSCDISPLAYDEBRIEFING_ITEMTEMPLATE 21902 +#define IDC_RSCDISPLAYDEBRIEFING_BUTTONPURCHASE 21999 + +//--- RscDisplayDebriefing_LOACTemplate +#define IDC_RSCDISPLAYDEBRIEFING_LOACTEMPLATE_BACKGROUND 52605 +#define IDC_RSCDISPLAYDEBRIEFING_LOACTEMPLATE_TITLE 52705 +#define IDC_RSCDISPLAYDEBRIEFING_LOACTEMPLATE_TEXT 52706 +#define IDC_RSCDISPLAYDEBRIEFING_LOACTEMPLATE_PICTURE 52805 +#define IDC_RSCDISPLAYDEBRIEFING_LOACTEMPLATE_TEXTGROUP 53905 + + +//--- RscDebugConsole +#define IDC_RSCDEBUGCONSOLE_TITLE 11884 +#define IDC_RSCDEBUGCONSOLE_EXPRESSIONBACKGROUND 11885 +#define IDC_RSCDEBUGCONSOLE_WATCHBACKGROUND 11886 +#define IDC_RSCDEBUGCONSOLE_WATCHOUTPUTBACKGROUND1 11887 +#define IDC_RSCDEBUGCONSOLE_WATCHOUTPUTBACKGROUND2 11888 +#define IDC_RSCDEBUGCONSOLE_WATCHOUTPUTBACKGROUND3 11889 +#define IDC_RSCDEBUGCONSOLE_WATCHOUTPUTBACKGROUND4 11890 +#define IDC_RSCDEBUGCONSOLE_LINK 11891 +#define IDC_RSCDEBUGCONSOLE_EXPRESSIONTEXT 11892 +#define IDC_RSCDEBUGCONSOLE_WATCHTEXT 11893 +#define IDC_RSCDEBUGCONSOLE_EXPRESSION 12284 +#define IDC_RSCDEBUGCONSOLE_WATCHINPUT1 12285 +#define IDC_RSCDEBUGCONSOLE_WATCHOUTPUT1 12286 +#define IDC_RSCDEBUGCONSOLE_WATCHINPUT2 12287 +#define IDC_RSCDEBUGCONSOLE_WATCHOUTPUT2 12288 +#define IDC_RSCDEBUGCONSOLE_WATCHINPUT3 12289 +#define IDC_RSCDEBUGCONSOLE_WATCHOUTPUT3 12290 +#define IDC_RSCDEBUGCONSOLE_WATCHINPUT4 12291 +#define IDC_RSCDEBUGCONSOLE_WATCHOUTPUT4 12293 +#define IDC_RSCDEBUGCONSOLE_RSCDEBUGCONSOLE 13184 +#define IDC_RSCDEBUGCONSOLE_BUTTONCODEPERFORMANCE 13284 +#define IDC_RSCDEBUGCONSOLE_BUTTONEXECUTEALL 13285 +#define IDC_RSCDEBUGCONSOLE_BUTTONEXECUTESERVER 13286 +#define IDC_RSCDEBUGCONSOLE_BUTTONSPECTATORCAMERA 13287 +#define IDC_RSCDEBUGCONSOLE_BUTTONSPLENDIDCAMERA 13288 +#define IDC_RSCDEBUGCONSOLE_BUTTONFUNCTIONS 13289 +#define IDC_RSCDEBUGCONSOLE_BUTTONCONFIG 13290 +#define IDC_RSCDEBUGCONSOLE_BUTTONANIMATIONS 13291 +#define IDC_RSCDEBUGCONSOLE_BUTTONGUI 13292 +#define IDC_RSCDEBUGCONSOLE_BUTTONEXECUTELOCAL 13484 +#define IDC_RSCDEBUGCONSOLE_EXPRESSIONOUTPUT 13190 +#define IDC_RSCDEBUGCONSOLE_EXPRESSIONOUTPUTBACKGROUND 13191 + + + +//--- RscDisplayOptionsLayout +#define IDC_RSCDISPLAYOPTIONSLAYOUT_TITLE 1000 +#define IDC_RSCDISPLAYOPTIONSLAYOUT_BACKGROUND 1001 +#define IDC_RSCDISPLAYOPTIONSLAYOUT_TAGSTEXT 1002 +#define IDC_RSCDISPLAYOPTIONSLAYOUT_PRESETSLABEL 1003 +#define IDC_RSCDISPLAYOPTIONSLAYOUT_MOUSEAREA 1004 +#define IDC_RSCDISPLAYOPTIONSLAYOUT_CENTERW 1005 +#define IDC_RSCDISPLAYOPTIONSLAYOUT_CENTERH 1006 +#define IDC_RSCDISPLAYOPTIONSLAYOUT_TOOLTIP 1100 +#define IDC_RSCDISPLAYOPTIONSLAYOUT_TAGS 2100 +#define IDC_RSCDISPLAYOPTIONSLAYOUT_PRESETS 2101 +#define IDC_RSCDISPLAYOPTIONSLAYOUT_BUTTONSAVE 2400 +#define IDC_RSCDISPLAYOPTIONSLAYOUT_BUTTONOK 2600 +#define IDC_RSCDISPLAYOPTIONSLAYOUT_BUTTONCANCEL 2700 + +//--- RscDisplayRespawn +#define IDC_RSCDISPLAYRESPAWN_TITLE 1000 +#define IDC_RSCDISPLAYRESPAWN_LISTBACKGROUND 1001 +#define IDC_RSCDISPLAYRESPAWN_SECTION 1002 +#define IDC_RSCDISPLAYRESPAWN_BLACK 1003 +#define IDC_RSCDISPLAYRESPAWN_CONTENTBACKGROUND 1004 +#define IDC_RSCDISPLAYRESPAWN_BLACKCONTENT 1005 +#define IDC_RSCDISPLAYRESPAWN_PLAYERSNAME 1006 +#define IDC_RSCDISPLAYRESPAWN_CONTENT 1100 +#define IDC_RSCDISPLAYRESPAWN_LIST 1500 +#define IDC_RSCDISPLAYRESPAWN_CONTENTGROUP 2300 +#define IDC_RSCDISPLAYRESPAWN_BUTTONOK 2600 +#define IDC_RSCDISPLAYRESPAWN_BUTTONCANCEL 2700 + +#define IDC_RSCDISPLAYRESPAWN_MAP 1050 + +//--- RscDisplaySelectIsland +#define IDC_RSCDISPLAYSELECTISLAND_TITLE 1000 +#define IDC_RSCDISPLAYSELECTISLAND_NAME 1002 +#define IDC_RSCDISPLAYSELECTISLAND_AUTHOR 1003 +#define IDC_RSCDISPLAYSELECTISLAND_NAMEBACKGROUND 1004 +#define IDC_RSCDISPLAYSELECTISLAND_ISLANDPANORAMA 1200 +#define IDC_RSCDISPLAYSELECTISLAND_INTERLACING 1201 +#define IDC_RSCDISPLAYSELECTISLAND_CLOUD1 1202 +#define IDC_RSCDISPLAYSELECTISLAND_CLOUD2 1203 +#define IDC_RSCDISPLAYSELECTISLAND_CLOUD3 1204 +#define IDC_RSCDISPLAYSELECTISLAND_CLOUD4 1205 +#define IDC_RSCDISPLAYSELECTISLAND_ISLANDGROUP 2300 +#define IDC_RSCDISPLAYSELECTISLAND_BUTTONCONTINUE 2600 +#define IDC_RSCDISPLAYSELECTISLAND_BUTTONCANCEL 2700 + +//--- RscSpectator +#define IDC_RSCSPECTATOR_PLAYERNAMEBACKGROUND 1000 +#define IDC_RSCSPECTATOR_PLAYERGROUP 1001 +#define IDC_RSCSPECTATOR_PLAYERNAME 1002 +#define IDC_RSCSPECTATOR_PLAYERDESCRIPTION 1100 +#define IDC_RSCSPECTATOR_PLAYERICON 1200 +#define IDC_RSCSPECTATOR_PLAYER 2300 + +//--- RscMissionEnd +#define IDC_RSCMISSIONEND_TITLE 8942 +#define IDC_RSCMISSIONEND_SUBTITLE 8943 +#define IDC_RSCMISSIONEND_SIDE1 9045 +#define IDC_RSCMISSIONEND_SIDE2 9046 +#define IDC_RSCMISSIONEND_SIDE3 9047 +#define IDC_RSCMISSIONEND_SIDE4 9048 +#define IDC_RSCMISSIONEND_SIDE5 9049 +#define IDC_RSCMISSIONEND_PICTURE 9142 +#define IDC_RSCMISSIONEND_SIDES 10248 + +//--- RscNotification +#define IDC_RSCNOTIFICATION_TITLE 12135 +#define IDC_RSCNOTIFICATION_PICTUREBACKGROUND 12136 +#define IDC_RSCNOTIFICATION_SCORE 12137 +#define IDC_RSCNOTIFICATION_DESCRIPTIONBACKGROUND 12138 +#define IDC_RSCNOTIFICATION_DESCRIPTION 12235 +#define IDC_RSCNOTIFICATION_PICTURE 12335 +#define IDC_RSCNOTIFICATION_NOTIFICATION 13435 + +#define IDC_RSCNOTIFICATION_NOTIFICATIONAREA 312 + +//--- RscCommMenuItems +#define IDC_RSCCOMMMENUITEMS_SLOT1BACKGROUND 1000 +#define IDC_RSCCOMMMENUITEMS_SLOT2BACKGROUND 1001 +#define IDC_RSCCOMMMENUITEMS_SLOT3BACKGROUND 1002 +#define IDC_RSCCOMMMENUITEMS_SLOT4BACKGROUND 1003 +#define IDC_RSCCOMMMENUITEMS_SLOT5BACKGROUND 1004 +#define IDC_RSCCOMMMENUITEMS_SLOT6BACKGROUND 1005 +#define IDC_RSCCOMMMENUITEMS_SLOT7BACKGROUND 1006 +#define IDC_RSCCOMMMENUITEMS_SLOT8BACKGROUND 1007 +#define IDC_RSCCOMMMENUITEMS_SLOT9BACKGROUND 1008 +#define IDC_RSCCOMMMENUITEMS_SLOT0BACKGROUND 1009 +#define IDC_RSCCOMMMENUITEMS_SLOT1TEXT 1010 +#define IDC_RSCCOMMMENUITEMS_SLOT1 1200 +#define IDC_RSCCOMMMENUITEMS_SLOT2 1201 +#define IDC_RSCCOMMMENUITEMS_SLOT3 1202 +#define IDC_RSCCOMMMENUITEMS_SLOT4 1203 +#define IDC_RSCCOMMMENUITEMS_SLOT5 1204 +#define IDC_RSCCOMMMENUITEMS_SLOT6 1205 +#define IDC_RSCCOMMMENUITEMS_SLOT7 1206 +#define IDC_RSCCOMMMENUITEMS_SLOT8 1207 +#define IDC_RSCCOMMMENUITEMS_SLOT9 1208 +#define IDC_RSCCOMMMENUITEMS_SLOT0 1209 +#define IDC_RSCCOMMMENUITEMS_SLOT2TEXT 1210 +#define IDC_RSCCOMMMENUITEMS_SLOT3TEXT 1211 +#define IDC_RSCCOMMMENUITEMS_SLOT4TEXT 1212 +#define IDC_RSCCOMMMENUITEMS_SLOT5TEXT 1213 +#define IDC_RSCCOMMMENUITEMS_SLOT6TEXT 1214 +#define IDC_RSCCOMMMENUITEMS_SLOT7TEXT 1215 +#define IDC_RSCCOMMMENUITEMS_SLOT8TEXT 1216 +#define IDC_RSCCOMMMENUITEMS_SLOT9TEXT 1217 +#define IDC_RSCCOMMMENUITEMS_SLOT0TEXT 1218 +#define IDC_RSCCOMMMENUITEMS_RSCCOMMMENUITEMS 2300 + +//--- RscRespawnCounter +#define IDC_RSCRESPAWNCOUNTER_MPTABLE 1000 +#define IDC_RSCRESPAWNCOUNTER_TITLE 1001 +#define IDC_RSCRESPAWNCOUNTER_TITLEBACKGROUND 1002 +#define IDC_RSCRESPAWNCOUNTER_PLAYERRESPAWNTIME 1003 +#define IDC_RSCRESPAWNCOUNTER_DESCRIPTION 1100 + +//--- RscFiringDrillTime +#define IDC_RSCFIRINGDRILLTIME_CURRENTBACKGROUND 1100 +#define IDC_RSCFIRINGDRILLTIME_BEST 1101 +#define IDC_RSCFIRINGDRILLTIME_PREVIOUS 1102 +#define IDC_RSCFIRINGDRILLTIME_BONUS 1103 +#define IDC_RSCFIRINGDRILLTIME_CURRENT 1104 +#define IDC_RSCFIRINGDRILLTIME_PENALTY 1105 +#define IDC_RSCFIRINGDRILLTIME_TIME 2300 + +//--- RscFiringDrillCheckpoint +#define IDC_RSCFIRINGDRILLCHECKPOINT_CHECKPOINTBACKGROUND 1000 +#define IDC_RSCFIRINGDRILLCHECKPOINT_TARGETBACKGROUND 1001 +#define IDC_RSCFIRINGDRILLCHECKPOINT_STANCEBACKGROUND 1002 +#define IDC_RSCFIRINGDRILLCHECKPOINT_WEAPONBACKGROUND 1003 +#define IDC_RSCFIRINGDRILLCHECKPOINT_CHECKPOINTTEXT 1004 +#define IDC_RSCFIRINGDRILLCHECKPOINT_TARGETTEXTTOTAL 1005 +#define IDC_RSCFIRINGDRILLCHECKPOINT_TARGETTEXTCURRENT 1006 +#define IDC_RSCFIRINGDRILLCHECKPOINT_CHECKPOINTPICTURE 1200 +#define IDC_RSCFIRINGDRILLCHECKPOINT_STANCEPICTURE 1201 +#define IDC_RSCFIRINGDRILLCHECKPOINT_WEAPONPICTURE 1202 +#define IDC_RSCFIRINGDRILLCHECKPOINT_TARGETPICTURE 1203 +#define IDC_RSCFIRINGDRILLCHECKPOINT_CHECKPOINT 2300 + +//--- RscAdvancedHint +#define IDC_RSCADVANCEDHINT_TITLE 11657 +#define IDC_RSCADVANCEDHINT_HINT 11757 +#define IDC_RSCADVANCEDHINT_HINTGROUP 12957 + +//--- RscSectorCapture +#define IDC_RSCSECTORCAPTURE_WEST 1001 +#define IDC_RSCSECTORCAPTURE_EAST 1002 +#define IDC_RSCSECTORCAPTURE_GUER 1003 +#define IDC_RSCSECTORCAPTURE_CIV 1004 +#define IDC_RSCSECTORCAPTURE_NAME 1005 +#define IDC_RSCSECTORCAPTURE_BACKGROUND 1200 +#define IDC_RSCSECTORCAPTURE_SECTORCAPTURE 2300 + +//--- RscMissionStatus +#define IDC_RSCMISSIONSTATUS_BARBRIDGE 13983 +#define IDC_RSCMISSIONSTATUS_BARWEST 13984 +#define IDC_RSCMISSIONSTATUS_BAREAST 13985 +#define IDC_RSCMISSIONSTATUS_BARGUER 13986 +#define IDC_RSCMISSIONSTATUS_BARCIV 13987 +#define IDC_RSCMISSIONSTATUS_BARUNKNOWN 13988 +#define IDC_RSCMISSIONSTATUS_SLOT1BACKGROUND 13989 +#define IDC_RSCMISSIONSTATUS_SLOT1PROGRESS 13990 +#define IDC_RSCMISSIONSTATUS_SLOT2BACKGROUND 13991 +#define IDC_RSCMISSIONSTATUS_SLOT2PROGRESS 13992 +#define IDC_RSCMISSIONSTATUS_SLOT3BACKGROUND 13993 +#define IDC_RSCMISSIONSTATUS_SLOT3PROGRESS 13994 +#define IDC_RSCMISSIONSTATUS_SLOT4BACKGROUND 13995 +#define IDC_RSCMISSIONSTATUS_SLOT4PROGRESS 13996 +#define IDC_RSCMISSIONSTATUS_SLOT5BACKGROUND 13997 +#define IDC_RSCMISSIONSTATUS_SLOT5PROGRESS 13998 +#define IDC_RSCMISSIONSTATUS_SLOT6BACKGROUND 13999 +#define IDC_RSCMISSIONSTATUS_SLOT6PROGRESS 14000 +#define IDC_RSCMISSIONSTATUS_SLOT7BACKGROUND 14001 +#define IDC_RSCMISSIONSTATUS_SLOT7PROGRESS 14002 +#define IDC_RSCMISSIONSTATUS_SLOT8BACKGROUND 14003 +#define IDC_RSCMISSIONSTATUS_SLOT8PROGRESS 14004 +#define IDC_RSCMISSIONSTATUS_SLOT9BACKGROUND 14005 +#define IDC_RSCMISSIONSTATUS_SLOT9PROGRESS 14006 +#define IDC_RSCMISSIONSTATUS_SLOT0BACKGROUND 14007 +#define IDC_RSCMISSIONSTATUS_SLOT0PROGRESS 14008 +#define IDC_RSCMISSIONSTATUS_SLOT1TEXT 14093 +#define IDC_RSCMISSIONSTATUS_SLOT2TEXT 14094 +#define IDC_RSCMISSIONSTATUS_SLOT3TEXT 14095 +#define IDC_RSCMISSIONSTATUS_SLOT4TEXT 14096 +#define IDC_RSCMISSIONSTATUS_SLOT5TEXT 14097 +#define IDC_RSCMISSIONSTATUS_SLOT6TEXT 14098 +#define IDC_RSCMISSIONSTATUS_SLOT7TEXT 14099 +#define IDC_RSCMISSIONSTATUS_SLOT8TEXT 14100 +#define IDC_RSCMISSIONSTATUS_SLOT9TEXT 14101 +#define IDC_RSCMISSIONSTATUS_SLOT0TEXT 14102 +#define IDC_RSCMISSIONSTATUS_SLOT1 14183 +#define IDC_RSCMISSIONSTATUS_SLOT2 14184 +#define IDC_RSCMISSIONSTATUS_SLOT3 14185 +#define IDC_RSCMISSIONSTATUS_SLOT4 14186 +#define IDC_RSCMISSIONSTATUS_SLOT5 14187 +#define IDC_RSCMISSIONSTATUS_SLOT6 14188 +#define IDC_RSCMISSIONSTATUS_SLOT7 14189 +#define IDC_RSCMISSIONSTATUS_SLOT8 14190 +#define IDC_RSCMISSIONSTATUS_SLOT9 14191 +#define IDC_RSCMISSIONSTATUS_SLOT0 14192 +#define IDC_RSCMISSIONSTATUS_RSCMISSIONSTATUS 15283 + +//--- RscFeedback +#define IDC_RSCFEEDBACK_RSCFEEDBACK 6455 + +//--- RscDisplayCommunityGuide +#define IDC_RSCDISPLAYCOMMUNITYGUIDE_TITLE 29956 +#define IDC_RSCDISPLAYCOMMUNITYGUIDE_PLAYERSNAME 29957 +#define IDC_RSCDISPLAYCOMMUNITYGUIDE_BRIEFINGNAME 29958 +#define IDC_RSCDISPLAYCOMMUNITYGUIDE_AUTHOR 29959 +#define IDC_RSCDISPLAYCOMMUNITYGUIDE_OVERVIEWTEXT 30056 +#define IDC_RSCDISPLAYCOMMUNITYGUIDE_OVERVIEWPICTURE 30156 +#define IDC_RSCDISPLAYCOMMUNITYGUIDE_GUIDELIST 30456 +#define IDC_RSCDISPLAYCOMMUNITYGUIDE_OVERVIEWCONTROLSGROUP 31256 +#define IDC_RSCDISPLAYCOMMUNITYGUIDE_BUTTONPLAY 31556 +#define IDC_RSCDISPLAYCOMMUNITYGUIDE_BUTTONCANCEL 31656 + +//--- RscDisplayArsenal +#define IDC_RSCDISPLAYARSENAL_MOUSEAREA 899 +#define IDC_RSCDISPLAYARSENAL_MOUSEBLOCK 898 +#define IDC_RSCDISPLAYARSENAL_TABS 1800 +#define IDC_RSCDISPLAYARSENAL_FRAMELEFT 1801 +#define IDC_RSCDISPLAYARSENAL_FRAMERIGHT 1802 +#define IDC_RSCDISPLAYARSENAL_LINEICON 1803 +#define IDC_RSCDISPLAYARSENAL_LINETABLEFT 1804 +#define IDC_RSCDISPLAYARSENAL_LINETABLEFTSELECTED 1805 +#define IDC_RSCDISPLAYARSENAL_LINETABRIGHT 1806 +#define IDC_RSCDISPLAYARSENAL_ICON 900 +#define IDC_RSCDISPLAYARSENAL_ICONBACKGROUND 830 +#define IDC_RSCDISPLAYARSENAL_TAB 930 +#define IDC_RSCDISPLAYARSENAL_LIST 960 +#define IDC_RSCDISPLAYARSENAL_SORT 800 +#define IDC_RSCDISPLAYARSENAL_LISTDISABLED 860 +#define IDC_RSCDISPLAYARSENAL_LOAD 990 +#define IDC_RSCDISPLAYARSENAL_LOADCARGO 991 +#define IDC_RSCDISPLAYARSENAL_ARROWLEFT 992 +#define IDC_RSCDISPLAYARSENAL_ARROWRIGHT 993 +#define IDC_RSCDISPLAYARSENAL_BACKGROUNDLEFT 994 +#define IDC_RSCDISPLAYARSENAL_BACKGROUNDRIGHT 995 +#define IDC_RSCDISPLAYARSENAL_MESSAGE 996 + +#define IDC_RSCDISPLAYARSENAL_TAB_PRIMARYWEAPON 0 +#define IDC_RSCDISPLAYARSENAL_TAB_SECONDARYWEAPON 1 +#define IDC_RSCDISPLAYARSENAL_TAB_HANDGUN 2 +#define IDC_RSCDISPLAYARSENAL_TAB_UNIFORM 3 +#define IDC_RSCDISPLAYARSENAL_TAB_VEST 4 +#define IDC_RSCDISPLAYARSENAL_TAB_BACKPACK 5 +#define IDC_RSCDISPLAYARSENAL_TAB_HEADGEAR 6 +#define IDC_RSCDISPLAYARSENAL_TAB_GOGGLES 7 +#define IDC_RSCDISPLAYARSENAL_TAB_NVGS 8 +#define IDC_RSCDISPLAYARSENAL_TAB_BINOCULARS 9 +#define IDC_RSCDISPLAYARSENAL_TAB_MAP 10 +#define IDC_RSCDISPLAYARSENAL_TAB_GPS 11 +#define IDC_RSCDISPLAYARSENAL_TAB_RADIO 12 +#define IDC_RSCDISPLAYARSENAL_TAB_COMPASS 13 +#define IDC_RSCDISPLAYARSENAL_TAB_WATCH 14 +#define IDC_RSCDISPLAYARSENAL_TAB_FACE 15 +#define IDC_RSCDISPLAYARSENAL_TAB_VOICE 16 +#define IDC_RSCDISPLAYARSENAL_TAB_INSIGNIA 17 +#define IDC_RSCDISPLAYARSENAL_TAB_ITEMOPTIC 18 +#define IDC_RSCDISPLAYARSENAL_TAB_ITEMACC 19 +#define IDC_RSCDISPLAYARSENAL_TAB_ITEMMUZZLE 20 +#define IDC_RSCDISPLAYARSENAL_TAB_ITEMBIPOD 25 +#define IDC_RSCDISPLAYARSENAL_TAB_CARGOMAG 21 +#define IDC_RSCDISPLAYARSENAL_TAB_CARGOTHROW 22 +#define IDC_RSCDISPLAYARSENAL_TAB_CARGOPUT 23 +#define IDC_RSCDISPLAYARSENAL_TAB_CARGOMISC 24 +#define IDC_RSCDISPLAYARSENAL_TAB_CARGOMAGALL 26 + +#define IDC_RSCDISPLAYARSENAL_WEAPON_WEAPONBACKGROUND 29489 +#define IDC_RSCDISPLAYARSENAL_WEAPON_WEAPONTEXT 29589 +#define IDC_RSCDISPLAYARSENAL_WEAPON_WEAPON 30789 + +#define IDC_RSCDISPLAYARSENAL_INFO_INFOBACKGROUND 24515 +#define IDC_RSCDISPLAYARSENAL_INFO_INFONAME 24516 +#define IDC_RSCDISPLAYARSENAL_INFO_INFOAUTHOR 24517 +#define IDC_RSCDISPLAYARSENAL_INFO_DLCBACKGROUND 24518 +#define IDC_RSCDISPLAYARSENAL_INFO_DLCICON 24715 +#define IDC_RSCDISPLAYARSENAL_INFO_INFO 25815 + +#define IDC_RSCDISPLAYARSENAL_STATS_STATSBACKGROUND 27347 +#define IDC_RSCDISPLAYARSENAL_STATS_STAT1 27348 +#define IDC_RSCDISPLAYARSENAL_STATS_STAT2 27349 +#define IDC_RSCDISPLAYARSENAL_STATS_STAT3 27350 +#define IDC_RSCDISPLAYARSENAL_STATS_STAT4 27351 +#define IDC_RSCDISPLAYARSENAL_STATS_STAT5 27352 +#define IDC_RSCDISPLAYARSENAL_STATS_STATTEXT1 27353 +#define IDC_RSCDISPLAYARSENAL_STATS_STATTEXT2 27354 +#define IDC_RSCDISPLAYARSENAL_STATS_STATTEXT3 27355 +#define IDC_RSCDISPLAYARSENAL_STATS_STATTEXT4 27356 +#define IDC_RSCDISPLAYARSENAL_STATS_STATTEXT5 27357 +#define IDC_RSCDISPLAYARSENAL_STATS_STATS 28644 + +#define IDC_RSCDISPLAYARSENAL_CONTROLSBAR_CONTROLBAR 44046 +#define IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONSAVE 44146 +#define IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONLOAD 44147 +#define IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONEXPORT 44148 +#define IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONIMPORT 44149 +#define IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONRANDOM 44150 +#define IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONINTERFACE 44151 +#define IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONOK 44346 +#define IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONTRY 44347 +#define IDC_RSCDISPLAYARSENAL_CONTROLSBAR_BUTTONCLOSE 44448 + +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_TITLE 34619 +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_COLUMN1 34620 +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_TEXTNAME 34621 +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_MAINBACKGROUND 34622 +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_COLUMN2 34623 +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_COLUMN3 34624 +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_COLUMN4 34625 +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_COLUMN5 34626 +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_EDITNAME 35020 +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_VALUENAME 35119 +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_TEMPLATE 35919 +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONOK 36019 +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONCANCEL 36020 +#define IDC_RSCDISPLAYARSENAL_TEMPLATE_BUTTONDELETE 36021 + +#define IDC_RSCDISPLAYARSENAL_SPACE_SPACEARSENALBACKGROUND 26603 +#define IDC_RSCDISPLAYARSENAL_SPACE_SPACEGARAGEBACKGROUND 26604 +#define IDC_RSCDISPLAYARSENAL_SPACE_SPACEARSENAL 26803 +#define IDC_RSCDISPLAYARSENAL_SPACE_SPACEGARAGE 26804 +#define IDC_RSCDISPLAYARSENAL_SPACE_SPACE 27903 + +//--- RscDisplayGarage +#define IDC_RSCDISPLAYGARAGE_TAB_CAR 0 +#define IDC_RSCDISPLAYGARAGE_TAB_ARMOR 1 +#define IDC_RSCDISPLAYGARAGE_TAB_HELI 2 +#define IDC_RSCDISPLAYGARAGE_TAB_PLANE 3 +#define IDC_RSCDISPLAYGARAGE_TAB_NAVAL 4 +#define IDC_RSCDISPLAYGARAGE_TAB_STATIC 5 + +#define IDC_RSCDISPLAYGARAGE_TAB_SUBCREW 18 //--- Match he numbers with Arsenal right panel IDCs +#define IDC_RSCDISPLAYGARAGE_TAB_SUBANIMATION 19 +#define IDC_RSCDISPLAYGARAGE_TAB_SUBTEXTURE 20 + +#define IDC_RSCDISPLAYGARAGE3DEN_TAB_SUBANIMATION 0 +#define IDC_RSCDISPLAYGARAGE3DEN_TAB_SUBTEXTURE 1 + +//--- RscDisplayCreateJIRAIssue +#define IDC_RSCDISPLAYCREATEJIRAISSUE_BACKGROUND 29997 +#define IDC_RSCDISPLAYCREATEJIRAISSUE_SCREENSHOTPATHTITLE 29998 +#define IDC_RSCDISPLAYCREATEJIRAISSUE_TITLE 30097 +#define IDC_RSCDISPLAYCREATEJIRAISSUE_BUTTONMISSION 30098 +#define IDC_RSCDISPLAYCREATEJIRAISSUE_BUTTONMAP 30099 +#define IDC_RSCDISPLAYCREATEJIRAISSUE_BUTTONOBJECT 30100 +#define IDC_RSCDISPLAYCREATEJIRAISSUE_BUTTONEMPTY 30101 +#define IDC_RSCDISPLAYCREATEJIRAISSUE_SCREENSHOTPATH 30397 +#define IDC_RSCDISPLAYCREATEJIRAISSUE_BUTTONCANCEL 31697 + +//--- RscDisplayDLCContentBrowser - main display +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_TITLEBACKGROUND 37179 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_MAINBACKGROUND 37180 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_TITLE 37099 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_PLAYERSNAME 37100 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_BUTTONCANCEL 38799 //MUF - todo - was exported, but not added to config +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_LISTGROUP 38400 +//--- RscDisplayDLCContentBrowser - General +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_OVERVIEWBACKGROUND 37101 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_OVERVIEWTEXT 37102 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_TABSBACKGROUND 37106 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_OVERVIEWDLCNAME 37137 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_OVERVIEWPICTURE 37299 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_GENERALGROUP 38399 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_BUTTONASSETS 38499 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_BUTTONSINGLEPLAYER 38500 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_BUTTONMULTIPLAYER 38501 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_BUTTONFEATURES 38502 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_BUTTONPURCHASE 38503 +//--- RscDisplayDLCContentBrowser - item template +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_ITEMBACKGROUND 37129 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_ITEMBACKGROUNDBLACK 37130 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_ITEMNAME 37131 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_ITEMTEXTSESSIONTIME 37132 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_ITEMSESSIONTIME 37133 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_ITEMTEXTTOTALTIME 37134 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_ITEMTOTALTIME 37135 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_ITEMDESCRIPTION 37136 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_ITEMPICTURE 37300 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_ITEMPREMIUMICON 37311 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_RSCDISPLAYDLCCONTENTBROWSER_ITEMTEMPLATE 38401 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_BUTTONTRY 38504 +//--- RscDisplayDLCContentBrowser - dlc selection group +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_KARTSPURCHASED 37103 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_HELIPURCHASED 37104 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_MARKSMENPURCHASED 37105 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_KARTSBACKGROUND 37108 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_KARTSNAME 37109 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_HELIBACKGROUND 37110 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_HELINAME 37111 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_MARKSMENBACKGROUND 37112 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_MARKSMENNAME 37113 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_BUNDLEBACKGROUND 37114 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_BUNDLENAME 37115 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_KARTSLOGO 37301 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_HELILOGO 37302 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_MARKSMENLOGO 37303 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_BUNDLELOGO 37304 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_KARTSOVERLAY 37305 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_HELIOVERLAY 37306 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_MARKSMENOVERLAY 37307 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_BUNDLEOVERLAY 37308 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLCSELECTIONGROUP 38402 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_APEXBACKGROUND 37116 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_APEXNAME 37117 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_APEXPURCHASED 37118 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_APEXLOGO 37309 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_APEXOVERLAY 37310 + + +//--- GroundSupport_ProcedureVisualization +#define IDC_GROUNDSUPPORT_PROCEDUREVISUALIZATION_PROGRESS 68374 +#define IDC_GROUNDSUPPORT_PROCEDUREVISUALIZATION_TEXT 68375 + +//--- RscDisplaySelectIsland +#define IDC_RSCDISPLAYSELECTISLAND_TITLE 24691 +#define IDC_RSCDISPLAYSELECTISLAND_NAME 24693 +#define IDC_RSCDISPLAYSELECTISLAND_AUTHOR 24694 +#define IDC_RSCDISPLAYSELECTISLAND_NAMEBACKGROUND 24695 +#define IDC_RSCDISPLAYSELECTISLAND_ISLANDPANORAMA 24891 +#define IDC_RSCDISPLAYSELECTISLAND_INTERLACING 24892 +#define IDC_RSCDISPLAYSELECTISLAND_CLOUD1 24893 +#define IDC_RSCDISPLAYSELECTISLAND_CLOUD2 24894 +#define IDC_RSCDISPLAYSELECTISLAND_CLOUD3 24895 +#define IDC_RSCDISPLAYSELECTISLAND_CLOUD4 24896 +#define IDC_RSCDISPLAYSELECTISLAND_ISLANDGROUP 25991 +#define IDC_RSCDISPLAYSELECTISLAND_BUTTONCONTINUE3D 26091 +#define IDC_RSCDISPLAYSELECTISLAND_BUTTONCONTINUE 26291 +#define IDC_RSCDISPLAYSELECTISLAND_BUTTONCANCEL 26391 + +//--- RscDisplayPurchaseNotification +#define IDC_RSCDISPLAYPURCHASENOTIFICATION_TITLE 46662 +#define IDC_RSCDISPLAYPURCHASENOTIFICATION_TEXT 46663 +#define IDC_RSCDISPLAYPURCHASENOTIFICATION_DLCLIST 46762 +#define IDC_RSCDISPLAYPURCHASENOTIFICATION_PNPICTURE 46862 +#define IDC_RSCDISPLAYPURCHASENOTIFICATION_PNCONTROLSGROUP 47962 +#define IDC_RSCDISPLAYPURCHASENOTIFICATION_BUTTONOK 48262 + +//--- RscDiary +#define IDC_TASKTOOLTIP 47060 +#define IDC_TASKTOOLTIP_BACKGROUND 47061 +#define IDC_TASKTOOLTIP_TITLE 47062 +#define IDC_TASKTOOLTIP_SUBTITLE 47063 +#define IDC_TASKTOOLTIP_BUTTON 47064 +#define IDC_TASKTOOLTIP_ASSIGNEDICON 47065 +#define IDC_TASKTOOLTIP_ASSIGNEDCOUNTER 47066 + +//--- RscRespawnControlsGroup +#define IDC_RSCRESPAWNCONTROLS_RESPAWNCONTROLSGROUP 88800 +#define IDC_RSCRESPAWNCONTROLS_LOCBACKGROUND 88802 +#define IDC_RSCRESPAWNCONTROLS_ROLEBACKGROUND 88803 +#define IDC_RSCRESPAWNCONTROLS_GEARBACKGROUND 88804 +#define IDC_RSCRESPAWNCONTROLS_HEADERBACKGROUND 88801 +#define IDC_RSCRESPAWNCONTROLS_BUTTONSPECTATE 88811 +#define IDC_RSCRESPAWNCONTROLS_LOCLIST 88808 +#define IDC_RSCRESPAWNCONTROLS_ROLELIST 88809 +#define IDC_RSCRESPAWNCONTROLS_COUNTERTEXT 88826 +#define IDC_RSCRESPAWNCONTROLS_COUNTER 88806 +#define IDC_RSCRESPAWNCONTROLS_AUTORESPAWN 88830 +#define IDC_RSCRESPAWNCONTROLS_TEAMTEXT 88827 +#define IDC_RSCRESPAWNCONTROLS_TEAM 88805 +#define IDC_RSCRESPAWNCONTROLS_TICKETSTEXT 88828 +#define IDC_RSCRESPAWNCONTROLS_TICKETS 88807 +#define IDC_RSCRESPAWNCONTROLS_HEADERRESPAWNBUTTON 88829 +#define IDC_RSCRESPAWNCONTROLS_WARNING 88831 +#define IDC_RSCRESPAWNCONTROLS_COMBOLOADOUT 88813 +#define IDC_RSCRESPAWNCONTROLS_BUTTONDETAILS 88814 +#define IDC_RSCRESPAWNCONTROLS_BACKGROUNDPRIMARYWEAPON 88822 +#define IDC_RSCRESPAWNCONTROLS_BACKGROUNDSECONDARYWEAPON 88823 +#define IDC_RSCRESPAWNCONTROLS_BACKGROUNDOPTICS 88824 +#define IDC_RSCRESPAWNCONTROLS_BACKGROUNDITEM 88825 +#define IDC_RSCRESPAWNCONTROLS_PICTUREPRIMARYWEAPON 88815 +#define IDC_RSCRESPAWNCONTROLS_PICTURESECONDARYWEAPON 88816 +#define IDC_RSCRESPAWNCONTROLS_PICTUREOPTICS 88817 +#define IDC_RSCRESPAWNCONTROLS_PICTUREITEM 88818 +#define IDC_RSCRESPAWNCONTROLS_LOCTITLE 88819 +#define IDC_RSCRESPAWNCONTROLS_ROLETITLE 88820 +#define IDC_RSCRESPAWNCONTROLS_GEARTITLE 88821 +#define IDC_RSCRESPAWNCONTROLS_LOCDISABLED 88832 +#define IDC_RSCRESPAWNCONTROLS_ROLEDISABLED 88833 +#define IDC_RSCRESPAWNCONTROLS_LOADOUTDISABLED 88834 + +#define IDC_RSCRESPAWNCONTROLS_RESPAWNDETAILSCONTROLSGROUP 88850 +#define IDC_RSCRESPAWNCONTROLS_BACKGROUNDDETAILS 88851 +#define IDC_RSCRESPAWNCONTROLS_DETAILSTITLE 88852 +#define IDC_RSCRESPAWNCONTROLS_BUTTONDETAILSCLOSE 88853 + +#define IDC_RSCRESPAWNCONTROLS_RESPAWNDETAILSLISTCONTROLSGROUP 88860 +#define IDC_RSCRESPAWNCONTROLS_DETAILSLIST 88861 + +#define IDC_RSCRESPAWNCONTROLS_OVERHEADERBACKGROUND 88870 +#define IDC_RSCRESPAWNCONTROLS_OVERHEADERLEFT 88871 +#define IDC_RSCRESPAWNCONTROLS_OVERHEADERRIGHT 88872 + +#define IDC_RSCRESPAWNCONTROLS_REVIVEINFO 88874 +#define IDC_RSCRESPAWNCONTROLS_REVIVEINFO_TITLE 88875 +#define IDC_RSCRESPAWNCONTROLS_REVIVEINFO_OPTION 88876 + +#define IDC_RSCRESPAWNCONTROLS_RESPAWNINFO 88877 +#define IDC_RSCRESPAWNCONTROLS_RESPAWNINFO_TITLE 88878 +#define IDC_RSCRESPAWNCONTROLS_RESPAWNINFO_OPTION 88879 + +//--- RscRevive +#define IDC_RSCREVIVE_REVIVEPROGRESSBACKGROUND 4817 +#define IDC_RSCREVIVE_REVIVEPROGRESS 4818 +#define IDC_RSCREVIVE_REVIVEKEYPROGRESS 4819 +#define IDC_RSCREVIVE_REVIVEBAR 4820 +#define IDC_RSCREVIVE_REVIVETEXT 4917 +#define IDC_RSCREVIVE_REVIVECOUNTDOWN 4918 +#define IDC_RSCREVIVE_REVIVEINFO 4919 +#define IDC_RSCREVIVE_REVIVEKEYBACKGROUND 4920 +#define IDC_RSCREVIVE_REVIVEKEY 4921 +#define IDC_RSCREVIVE_REVIVEMEDIKIT 5017 +#define IDC_RSCREVIVE_REVIVEMEDIKITPROGRESS 5018 +#define IDC_RSCREVIVE_REVIVEDEATH 5019 +#define IDC_RSCREVIVE_REVIVERESPAWN 6117 +#define IDC_RSCREVIVE_REVIVETEXT2 6118 + +//--- DynamicGroups +#define IDC_DYNAMICGROUPS_HEADER 9377 +#define IDC_DYNAMICGROUPS_BACKGROUNDMANAGE 9379 +#define IDC_DYNAMICGROUPS_TEXTPLAYERNAME 9380 +#define IDC_DYNAMICGROUPS_BACKGROUNDGROUPNAME 9381 +#define IDC_DYNAMICGROUPS_BACKGROUNDPLAYERS 9382 +#define IDC_DYNAMICGROUPS_TEXTPLAYERSIDE 9383 +#define IDC_DYNAMICGROUPS_TEXTPLAYERCOUNT 9384 +#define IDC_DYNAMICGROUPS_TEXTPLAYERSCORE 9386 +#define IDC_DYNAMICGROUPS_TEXTPLAYERNAMEFILL 9387 +#define IDC_DYNAMICGROUPS_TEXTPLAYERSIDEFILL 9388 +#define IDC_DYNAMICGROUPS_TEXTPLAYERSCOREFILL 9389 +#define IDC_DYNAMICGROUPS_TEXTPRIVATE 9390 +#define IDC_DYNAMICGROUPS_GROUPICON 9577 +#define IDC_DYNAMICGROUPS_PICTURESIDE 9578 +#define IDC_DYNAMICGROUPS_EDITGROUPNAME 9777 +#define IDC_DYNAMICGROUPS_LISTBOXGROUPS 9877 +#define IDC_DYNAMICGROUPS_LISTBOXMANAGE 9878 +#define IDC_DYNAMICGROUPS_LISTBOXPLAYERS 9880 +#define IDC_DYNAMICGROUPS_BUTTONJOIN 9977 +#define IDC_DYNAMICGROUPS_BUTTONCREATELEAVEKICK 9978 +#define IDC_DYNAMICGROUPS_BUTTONPROMOTEDISBAND 9979 +#define IDC_DYNAMICGROUPS_BUTTONINVITE 9980 +#define IDC_DYNAMICGROUPS_TABBUTTONGROUPS 9981 +#define IDC_DYNAMICGROUPS_TABBUTTONPLAYERS 9983 +#define IDC_DYNAMICGROUPS_SECTIONMANAGE 10677 +#define IDC_DYNAMICGROUPS_SECTIONGROUPS 10679 +#define IDC_DYNAMICGROUPS_CHECKBOXPRIVATE 11177 + +//--- RscHvtPhase +#define IDC_RSCHVTPHASE_PERSISTENT 6610 +#define IDC_RSCHVTPHASE_DYNAMIC 6611 +#define IDC_RSCHVTPHASE_DOWNLOADTITLE 6612 +#define IDC_RSCHVTPHASE_DOWNLOADCONTENT 6613 +#define IDC_RSCHVTPHASE_MULTIPLIER 6614 +#define IDC_RSCHVTPHASE_RANGEBACKGROUND 6615 +#define IDC_RSCHVTPHASE_TIMER 6616 +#define IDC_RSCHVTPHASE_PROGRESSBAR 6620 +#define IDC_RSCHVTPHASE_DOWNLOADSPEED 6621 +#define IDC_RSCHVTPHASE_RANGE 6810 +#define IDC_RSCHVTPHASE_CARRIERPICTURE 6811 +#define IDC_RSCHVTPHASE_DOWNLOAD 7910 + +//--- RscPhaseRules +#define IDC_RSCPHASERULES_PHASE1NUMBER 9131 +#define IDC_RSCPHASERULES_PHASE1TEXT 9132 +#define IDC_RSCPHASERULES_PHASE2TEXT 9133 +#define IDC_RSCPHASERULES_PHASE2NUMBER 9134 +#define IDC_RSCPHASERULES_PHASE3TEXT 9135 +#define IDC_RSCPHASERULES_PHASE3NUMBER 9136 +#define IDC_RSCPHASERULES_PHASE1INFO 9137 +#define IDC_RSCPHASERULES_PHASE2INFO 9138 +#define IDC_RSCPHASERULES_PHASE3INFO 9139 +#define IDC_RSCPHASERULES_PHASERULES 10431 + +//--- RscDisplayEGSpectator +#define IDD_RSCDISPLAYEGSPECTATOR 60492 +#define IDC_RSCDISPLAYEGSPECTATOR_GAMETIMETEXT 42609 +#define IDC_RSCDISPLAYEGSPECTATOR_GAMEPHASETEXT 48610 +#define IDC_RSCDISPLAYEGSPECTATOR_SIDEBBACKGROUND 42611 +#define IDC_RSCDISPLAYEGSPECTATOR_SIDEATASK 42612 +#define IDC_RSCDISPLAYEGSPECTATOR_SIDEABACKGROUND 42613 +#define IDC_RSCDISPLAYEGSPECTATOR_SIDEBTASK 42614 +#define IDC_RSCDISPLAYEGSPECTATOR_SIDEACOLORBACKGROUND 42615 +#define IDC_RSCDISPLAYEGSPECTATOR_SIDEBCOLORBACKGROUND 42616 +#define IDC_RSCDISPLAYEGSPECTATOR_SIDEACOLOR 42617 +#define IDC_RSCDISPLAYEGSPECTATOR_SIDEBCOLOR 42618 +#define IDC_RSCDISPLAYEGSPECTATOR_SIDEAPROGRESSGROUP 48909 +#define IDC_RSCDISPLAYEGSPECTATOR_SIDEBPROGRESSGROUP 43910 +#define IDC_RSCDISPLAYEGSPECTATOR_MOUSEHANDLER 42989 +#define IDC_RSCDISPLAYEGSPECTATOR_TABS 43609 +#define IDC_RSCDISPLAYEGSPECTATOR_LIST 43109 +#define IDC_RSCDISPLAYEGSPECTATOR_LISTGROUP 43909 +#define IDC_RSCDISPLAYEGSPECTATOR_CAMERATYPESBACKGROUND 52610 +#define IDC_RSCDISPLAYEGSPECTATOR_FREE 52809 +#define IDC_RSCDISPLAYEGSPECTATOR_FOLLOW 52810 +#define IDC_RSCDISPLAYEGSPECTATOR_FPS 52811 +#define IDC_RSCDISPLAYEGSPECTATOR_CAMERATYPESGROUP 52909 +#define IDC_RSCDISPLAYEGSPECTATOR_MAP 62609 +#define IDC_RSCDISPLAYEGSPECTATOR_MAPHEADER 62610 +#define IDC_RSCDISPLAYEGSPECTATOR_MAPFOOTER 62611 +#define IDC_RSCDISPLAYEGSPECTATOR_MAPTITLE 62612 +#define IDC_RSCDISPLAYEGSPECTATOR_SPECTATORSCOUNT 62613 +#define IDC_RSCDISPLAYEGSPECTATOR_SPECTATORSICON 62809 +#define IDC_RSCDISPLAYEGSPECTATOR_MAPGROUP 63909 +#define IDC_RSCDISPLAYEGSPECTATOR_HELPBACKGROUND 72812 +#define IDC_RSCDISPLAYEGSPECTATOR_HELP 73189 +#define IDC_RSCDISPLAYEGSPECTATOR_UPPERBACKGROUND 82609 +#define IDC_RSCDISPLAYEGSPECTATOR_NAME 82610 +#define IDC_RSCDISPLAYEGSPECTATOR_LOWERLEFTBACKGROUND 82611 +#define IDC_RSCDISPLAYEGSPECTATOR_LOWERRIGHTBACKGROUND 82612 +#define IDC_RSCDISPLAYEGSPECTATOR_AVATARBACKGROUND 82613 +#define IDC_RSCDISPLAYEGSPECTATOR_KILLS_COUNT 82614 +#define IDC_RSCDISPLAYEGSPECTATOR_LANDKILLS_COUNT 82615 +#define IDC_RSCDISPLAYEGSPECTATOR_ARMOREDKILLS_COUNT 82616 +#define IDC_RSCDISPLAYEGSPECTATOR_AIRKILLS_COUNT 82617 +#define IDC_RSCDISPLAYEGSPECTATOR_DEATHS_COUNT 82618 +#define IDC_RSCDISPLAYEGSPECTATOR_TOTAL_COUNT 82619 +#define IDC_RSCDISPLAYEGSPECTATOR_AVATAR 82809 +#define IDC_RSCDISPLAYEGSPECTATOR_UNITTYPE 82810 +#define IDC_RSCDISPLAYEGSPECTATOR_KILLS 82811 +#define IDC_RSCDISPLAYEGSPECTATOR_LANDKILLS 82812 +#define IDC_RSCDISPLAYEGSPECTATOR_ARMOREDKILLS 82813 +#define IDC_RSCDISPLAYEGSPECTATOR_AIRKILLS 82814 +#define IDC_RSCDISPLAYEGSPECTATOR_DEATHS 82815 +#define IDC_RSCDISPLAYEGSPECTATOR_TOTAL 82816 +#define IDC_RSCDISPLAYEGSPECTATOR_WEAPONPICTURE 82817 +#define IDC_RSCDISPLAYEGSPECTATOR_VEHICLETYPE 82818 +#define IDC_RSCDISPLAYEGSPECTATOR_FOCUSINFO 83909 + +//--- RscEGProgress +#define IDC_RSCEGPROGRESS_DOWNLOADICONBACKGROUND 9170 +#define IDC_RSCEGPROGRESS_OBJECTIVELETTER 9171 +#define IDC_RSCEGPROGRESS_ACTIVITYBACKGROUND 9172 +#define IDC_RSCEGPROGRESS_PROGRESSBARBACKGROUND 9173 +#define IDC_RSCEGPROGRESS_TITLE 9174 +#define IDC_RSCEGPROGRESS_PROGRESSBAR 9180 +#define IDC_RSCEGPROGRESS_OBJECTIVEBACKGROUND 9370 +#define IDC_RSCEGPROGRESS_ACTIVITY 9372 +#define IDC_RSCEGPROGRESS_DOWNLOADICON 9374 +#define IDC_RSCEGPROGRESS_OBJECTIVEBACKGROUNDCOLOURED 9375 +#define IDC_RSCEGPROGRESS_DOWNLOAD 9376 + +//--- RscDisplayQuickPlay +#define IDC_RSCDISPLAYQUICKPLAY_TITLE 18702 +#define IDC_RSCDISPLAYQUICKPLAY_PLAYERSNAME 18703 +#define IDC_RSCDISPLAYQUICKPLAY_MODTEXT 18704 +#define IDC_RSCDISPLAYQUICKPLAY_CONTENTBACKGROUND 18705 +#define IDC_RSCDISPLAYQUICKPLAY_MAXPINGTEXT 18706 +#define IDC_RSCDISPLAYQUICKPLAY_BESTMATCHTEXT 18707 +#define IDC_RSCDISPLAYQUICKPLAY_MODBACKGROUND 18708 +#define IDC_RSCDISPLAYQUICKPLAY_GAMETYPEDESCRIPTION 18713 +#define IDC_RSCDISPLAYQUICKPLAY_GAMETYPETITLEBACKGROUND 18714 +#define IDC_RSCDISPLAYQUICKPLAY_GAMETYPETITLE 18715 +#define IDC_RSCDISPLAYQUICKPLAY_GAMETYPEOVERVIEW 18903 +#define IDC_RSCDISPLAYQUICKPLAY_GAMETYPEDESCRIPTIONBACKGROUND 18904 +#define IDC_RSCDISPLAYQUICKPLAY_MODICON 18905 +#define IDC_RSCDISPLAYQUICKPLAY_CONTENT 20002 +#define IDC_RSCDISPLAYQUICKPLAY_BUTTONBACK 20402 + +//--- RscDisplayCampaignLobby (Scripted campaign lobby) +#define IDD_CAMPAIGN_LOBBY 50000 +#define IDC_CAMPAIGN_LOBBY_BACKGROUND_FULL_GROUP 51000 +#define IDC_CAMPAIGN_LOBBY_BACKGROUND_GROUP 51100 +#define IDC_CAMPAIGN_LOBBY_BACKGROUND_LOADING_GROUP 51200 +#define IDC_CAMPAIGN_LOBBY_BACKGROUND_BORDER_GROUP 51300 +#define IDC_CAMPAIGN_LOBBY_TABLET_GROUP 52000 +#define IDC_CAMPAIGN_LOBBY_TABLET_BUTTON_GROUP 52100 +#define IDC_CAMPAIGN_LOBBY_TABLET_BUTTON_SEARCH_GROUP 52200 +#define IDC_CAMPAIGN_LOBBY_TABLET_BUTTON_SETTINGS_GROUP 52300 +#define IDC_CAMPAIGN_LOBBY_TABLET_BUTTON_RESPAWN_GROUP 52400 +#define IDC_CAMPAIGN_LOBBY_TABLET_BUTTON_REVIVE_GROUP 52500 +#define IDC_CAMPAIGN_LOBBY_TABLET_MILITARY_GROUP 52600 +#define IDC_CAMPAIGN_LOBBY_MAIN_GROUP 53000 +#define IDC_CAMPAIGN_LOBBY_CTRG_TREE_GROUP 53100 +#define IDC_CAMPAIGN_LOBBY_CTRG_TREE_HEADER_GROUP 53200 +#define IDC_CAMPAIGN_LOBBY_CTRG_TREE_STRUCTURE_GROUP 53300 +#define IDC_CAMPAIGN_LOBBY_CTRG_TREE_OPTION_CORE_GROUP 53400 +#define IDC_CAMPAIGN_LOBBY_CTRG_TREE_OPTION_GROUP 53500 +#define IDC_CAMPAIGN_LOBBY_LOGIN_GROUP 54100 +#define IDC_CAMPAIGN_LOBBY_ACCESS_KEY_GROUP 54200 +#define IDC_CAMPAIGN_LOBBY_MISSION_GROUP 54300 +#define IDC_CAMPAIGN_LOBBY_MISSION_VIDEO_GROUP 54400 +#define IDC_CAMPAIGN_LOBBY_MISSION_INTEL_GROUP 54500 +#define IDC_CAMPAIGN_LOBBY_MISSION_OVERLAY_GROUP 54600 +#define IDC_CAMPAIGN_LOBBY_MISSION_PLAYER_CORE_GROUP 55000 +#define IDC_CAMPAIGN_LOBBY_MISSION_PLAYER_GROUP 55100 +#define IDC_CAMPAIGN_LOBBY_PROGRESS_GROUP 56000 +#define IDC_CAMPAIGN_LOBBY_OVERLAY_GROUP 57000 + +// RscDisplayDLCContentBrowser +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLC_PICTUREBACKGROUND 2000 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLC_PICTURE 2001 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLC_VIDEOGROUP 2002 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLC_VIDEO 2003 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLC_ICON 2004 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLC_LINEL 2005 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLC_LINER 2006 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLC_LINET 2007 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLC_LINEB 2008 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLC_BUTTON 2009 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLC_TITLE 2010 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLC_HOVER 2011 + +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_MOUSEAREA 999 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLCGROUP 1001 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_DLCBACKGROUND 1002 +#define IDC_RSCDISPLAYDLCCONTENTBROWSER_BUTTONBACKGROUND 1003 + +//--- RscDisplayDLCPreview_List +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_BACKGROUND 31263 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_INFOTITLE 31264 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_BACKGROUNDBOTTOM 31266 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_INFO 31363 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_INFOSTATS 31364 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_PICTUREANIM 31463 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_PICTURE 31464 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_BROWSEPREV 31465 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_BROWSENEXT 31466 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_PICTUREANIMOVERLAY 31467 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_PICTUREOVERLAY 31468 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_PICTUREANIMOVERLAYICON 31469 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_PICTUREOVERLAYICON 31470 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_PICTUREBACKGROUND 31471 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_PICTUREANIMBACKGROUND 31472 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_PICTUREGROUP 32563 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_PICTURELISTGROUP 32564 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_INFOGROUP 32565 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_BUTTONTRY 32663 +#define IDC_RSCDISPLAYDLCPREVIEW_LIST_BUTTONPURCHASE 32664 + +//--- RscDisplayDLCPreview_ListItem +#define IDC_RSCDISPLAYDLCPREVIEW_LISTITEM_SELECT 41883 +#define IDC_RSCDISPLAYDLCPREVIEW_LISTITEM_HOVER 41884 +#define IDC_RSCDISPLAYDLCPREVIEW_LISTITEM_PICTURE 42083 +#define IDC_RSCDISPLAYDLCPREVIEW_LISTITEM_SESSIONNOTIFICATION 42084 +#define IDC_RSCDISPLAYDLCPREVIEW_LISTITEM_BACKGROUND 42085 +#define IDC_RSCDISPLAYDLCPREVIEW_LISTITEM_BUTTON 42483 +#define IDC_RSCDISPLAYDLCPREVIEW_LISTITEM_RSCDISPLAYDLCPREVIEW_LISTITEM 43183 + +//--- RscDisplayDLCPreview +#define IDC_RSCDISPLAYDLCPREVIEW_BACKGROUND 1001 +#define IDC_RSCDISPLAYDLCPREVIEW_LOGO 1002 +#define IDC_RSCDISPLAYDLCPREVIEW_OVERVIEW 1003 +#define IDC_RSCDISPLAYDLCPREVIEW_PREVIEWGROUP 1004 +#define IDC_RSCDISPLAYDLCPREVIEW_PREVIEWBACKGROUND 1005 +#define IDC_RSCDISPLAYDLCPREVIEW_BUTTONBACKGROUND 1006 +#define IDC_RSCDISPLAYDLCPREVIEW_BUTTONPURCHASE 1007 +#define IDC_RSCDISPLAYDLCPREVIEW_AUTHOR 1008 +#define IDC_RSCDISPLAYDLCPREVIEW_LISTGROUP 1009 +#define IDC_RSCDISPLAYDLCPREVIEW_BOHEMIA 1010 + +//--- RscDisplayTimeline +#define IDD_RSCDISPLAYTIMELINE 15000 + +//--- RscDisplayTimeline +#define IDC_RSCDISPLAYTIMELINE_BACKGROUND 16985 +#define IDC_RSCDISPLAYTIMELINE_TEXTTIME 17085 +#define IDC_RSCDISPLAYTIMELINE_TEXTPLAYRATE 17086 +#define IDC_RSCDISPLAYTIMELINE_BUTTONPLAYFORWARD 17585 +#define IDC_RSCDISPLAYTIMELINE_BUTTONPLAYBACKWARD 17586 +#define IDC_RSCDISPLAYTIMELINE_BUTTONPAUSE 17587 +#define IDC_RSCDISPLAYTIMELINE_BUTTONDECREASEPLAYRATE 17588 +#define IDC_RSCDISPLAYTIMELINE_BUTTONINCREASEPLAYRATE 17589 +#define IDC_RSCDISPLAYTIMELINE_LIST 18085 +#define IDC_RSCDISPLAYTIMELINE_TIMELINECONTROLS 18285 diff --git a/include/a3/ui_f_curator/$PBOPREFIX$ b/include/a3/ui_f_curator/$PBOPREFIX$ new file mode 100644 index 0000000..bd6ed88 --- /dev/null +++ b/include/a3/ui_f_curator/$PBOPREFIX$ @@ -0,0 +1 @@ +a3\ui_f_curator \ No newline at end of file diff --git a/include/a3/ui_f_curator/ui/defineResinclDesign.inc b/include/a3/ui_f_curator/ui/defineResinclDesign.inc new file mode 100644 index 0000000..75ab540 --- /dev/null +++ b/include/a3/ui_f_curator/ui/defineResinclDesign.inc @@ -0,0 +1,624 @@ +#include "\a3\ui_f\hpp\defineResincl.inc" + +//--- RscDisplayCurator +#define IDC_RSCDISPLAYCURATOR_CREATEBACKGROUND 15505 +#define IDC_RSCDISPLAYCURATOR_CLOCKDURATION 15506 +#define IDC_RSCDISPLAYCURATOR_ENTITIESBACKGROUND 15508 +#define IDC_RSCDISPLAYCURATOR_CLOCKDAYTIME 15509 +#define IDC_RSCDISPLAYCURATOR_CREATECLASSESBACKGROUND 15510 +#define IDC_RSCDISPLAYCURATOR_CLOCKCOUNTDOWN 15511 +#define IDC_RSCDISPLAYCURATOR_FEEDBACKMESSAGE 15512 +#define IDC_RSCDISPLAYCURATOR_POINTSBACKGROUND 15513 +#define IDC_RSCDISPLAYCURATOR_POINTS 15515 +#define IDC_RSCDISPLAYCURATOR_POINTSPREVIEW 15516 +#define IDC_RSCDISPLAYCURATOR_COMPASSBACKGROUND 15518 +#define IDC_RSCDISPLAYCURATOR_MODEUNITS 15704 +#define IDC_RSCDISPLAYCURATOR_MODEGROUPS 15705 +#define IDC_RSCDISPLAYCURATOR_MODEMODULES 15706 +#define IDC_RSCDISPLAYCURATOR_MODEMARKERS 15708 +#define IDC_RSCDISPLAYCURATOR_SIDEBLUFOR 15709 +#define IDC_RSCDISPLAYCURATOR_SIDEOPFOR 15710 +#define IDC_RSCDISPLAYCURATOR_SIDEINDEPENDENT 15711 +#define IDC_RSCDISPLAYCURATOR_SIDECIVILIAN 15712 +#define IDC_RSCDISPLAYCURATOR_SIDEEMPTY 15713 +#define IDC_RSCDISPLAYCURATOR_LOGO 15715 +#define IDC_RSCDISPLAYCURATOR_WATERMARK 15717 +#define IDC_RSCDISPLAYCURATOR_MISSIONBARTITLE 16104 +#define IDC_RSCDISPLAYCURATOR_ADDBARTITLE 16105 +#define IDC_RSCDISPLAYCURATOR_MODEFRAME 16304 +#define IDC_RSCDISPLAYCURATOR_SIDEFRAME 16305 +#define IDC_RSCDISPLAYCURATOR_POINTSFRAME 16306 +#define IDC_RSCDISPLAYCURATOR_CREATEFRAME 16307 +#define IDC_RSCDISPLAYCURATOR_ENTITIESFRAME 16308 +#define IDC_RSCDISPLAYCURATOR_ADDBARFRAME 16309 +#define IDC_RSCDISPLAYCURATOR_CLOCKFRAME 16310 +#define IDC_RSCDISPLAYCURATOR_MISSIONBARFRAME 16311 +#define IDC_RSCDISPLAYCURATOR_COMPASSFRAME 16312 +#define IDC_RSCDISPLAYCURATOR_COMPASSCARET 16314 +#define IDC_RSCDISPLAYCURATOR_MISSION 16804 +#define IDC_RSCDISPLAYCURATOR_ADDBAR 16805 +#define IDC_RSCDISPLAYCURATOR_MAIN 16806 +#define IDC_RSCDISPLAYCURATOR_ADD 16807 +#define IDC_RSCDISPLAYCURATOR_CLOCK 16808 +#define IDC_RSCDISPLAYCURATOR_MISSIONBAR 16809 +#define IDC_RSCDISPLAYCURATOR_COMPASS 16810 + +//--- Engine Curator +#define IDD_RSCDISPLAYCURATOR 312 +#define IDC_RSCDISPLAYCURATOR_SIDEBLUFOR 155 +#define IDC_RSCDISPLAYCURATOR_SIDEOPFOR 156 +#define IDC_RSCDISPLAYCURATOR_SIDEINDEPENDENT 157 +#define IDC_RSCDISPLAYCURATOR_SIDECIVILIAN 158 +#define IDC_RSCDISPLAYCURATOR_SIDEEMPTY 159 +#define IDC_RSCDISPLAYCURATOR_MODEUNITS 150 +#define IDC_RSCDISPLAYCURATOR_MODEGROUPS 151 +#define IDC_RSCDISPLAYCURATOR_MODEMODULES 152 +#define IDC_RSCDISPLAYCURATOR_MODEMARKERS 154 +#define IDC_RSCDISPLAYCURATOR_MODERECENT 170 +#define IDC_RSCDISPLAYCURATOR_ADD 450 +#define IDC_RSCDISPLAYCURATOR_MISSION 453 +#define IDC_RSCDISPLAYCURATOR_MAINMAP 50 +#define IDC_RSCDISPLAYCURATOR_MOUSEAREA 53 +#define IDC_RSCDISPLAYCURATOR_POINTS 111 +#define IDC_RSCDISPLAYCURATOR_POINTSPREVIEW 112 +#define IDC_RSCDISPLAYCURATOR_ENTITIES 251 +#define IDC_RSCDISPLAYCURATOR_CREATE_UNITS_WEST 270 +#define IDC_RSCDISPLAYCURATOR_CREATE_UNITS_EAST 271 +#define IDC_RSCDISPLAYCURATOR_CREATE_UNITS_GUER 272 +#define IDC_RSCDISPLAYCURATOR_CREATE_UNITS_CIV 273 +#define IDC_RSCDISPLAYCURATOR_CREATE_UNITS_EMPTY 274 +#define IDC_RSCDISPLAYCURATOR_CREATE_GROUPS_WEST 275 +#define IDC_RSCDISPLAYCURATOR_CREATE_GROUPS_EAST 276 +#define IDC_RSCDISPLAYCURATOR_CREATE_GROUPS_GUER 277 +#define IDC_RSCDISPLAYCURATOR_CREATE_GROUPS_CIV 278 +#define IDC_RSCDISPLAYCURATOR_CREATE_GROUPS_EMPTY 279 +#define IDC_RSCDISPLAYCURATOR_CREATE_MODULES 280 +#define IDC_RSCDISPLAYCURATOR_CREATE_MARKERS 281 +#define IDC_RSCDISPLAYCURATOR_CREATE_RECENT 282 +#define IDC_RSCDISPLAYCURATOR_CREATE_SEARCH 283 +//#define IDC_RSCDISPLAYCURATOR_FILTERPLAYERS 282 +//#define IDC_RSCDISPLAYCURATOR_FILTERAI 283 +//#define IDC_RSCDISPLAYCURATOR_FILTERCREW 284 +//#define IDC_RSCDISPLAYCURATOR_FILTERDEAD 285 +//#define IDC_RSCDISPLAYCURATOR_FILTEREMPTY 286 +//#define IDC_RSCDISPLAYCURATOR_FILTERMODULE 287 +#define IDC_RSCDISPLAYCURATOR_BLACK 999 + +//--- RscCuratorPing +#define IDC_RSCCURATORPING_ICON 10674 +#define IDC_RSCCURATORPING_PLAYER 10675 + +//--- RSCCURATORVISIONMODES +#define IDC_RSCCURATORVISIONMODES_VISIONMODE0 10463 +#define IDC_RSCCURATORVISIONMODES_VISIONMODE1 10464 +#define IDC_RSCCURATORVISIONMODES_VISIONMODE2 10465 +#define IDC_RSCCURATORVISIONMODES_VISIONMODE3 10466 +#define IDC_RSCCURATORVISIONMODES_VISIONMODE4 10467 +#define IDC_RSCCURATORVISIONMODES_VISIONMODE5 10468 +#define IDC_RSCCURATORVISIONMODES_VISIONMODE6 10469 +#define IDC_RSCCURATORVISIONMODES_VISIONMODE7 10470 +#define IDC_RSCCURATORVISIONMODES_VISIONMODE8 10471 +#define IDC_RSCCURATORVISIONMODES_VISIONMODE9 10472 +#define IDC_RSCCURATORVISIONMODES_FRAME 11263 +#define IDC_RSCCURATORVISIONMODES_VISIONMODES 11763 + +//--- RscDisplayModuleSkiptime +#define IDC_RSCDISPLAYMODULESKIPTIME_BACKGROUND 1000 +#define IDC_RSCDISPLAYMODULESKIPTIME_TITLE 1001 +#define IDC_RSCDISPLAYMODULESKIPTIME_DESCRIPTION 1100 +#define IDC_RSCDISPLAYMODULESKIPTIME_SLIDERVALUE 1003 +#define IDC_RSCDISPLAYMODULESKIPTIME_SLIDER 1900 +#define IDC_RSCDISPLAYMODULESKIPTIME_BUTTONOK 2600 +#define IDC_RSCDISPLAYMODULESKIPTIME_BUTTONCANCEL 2700 + +//--- RscDisplayAttributes +#define IDC_RSCDISPLAYATTRIBUTES_BACKGROUND 30001 +#define IDC_RSCDISPLAYATTRIBUTES_TITLE 30002 +#define IDC_RSCDISPLAYATTRIBUTES_CONTENT 30003 +#define IDC_RSCDISPLAYATTRIBUTES_BUTTONCUSTOM 30004 +#define IDC_RSCDISPLAYATTRIBUTES_BUTTONOK 30005 +#define IDC_RSCDISPLAYATTRIBUTES_BUTTONCANCEL 30006 + +#define IDC_RSCDISPLAYCURATORATTRIBUTES_TEXT 1000 +#define IDC_RSCDISPLAYCURATORATTRIBUTES_STRUCTUREDTEXT 1100 +#define IDC_RSCDISPLAYCURATORATTRIBUTES_PICTURE 1200 +#define IDC_RSCDISPLAYCURATORATTRIBUTES_ACTIVETEXT 1300 +#define IDC_RSCDISPLAYCURATORATTRIBUTES_EDIT 1400 +#define IDC_RSCDISPLAYCURATORATTRIBUTES_COMBO 2100 +#define IDC_RSCDISPLAYCURATORATTRIBUTES_LISTBOX 1500 +#define IDC_RSCDISPLAYCURATORATTRIBUTES_SLIDER 1900 + +//--- RscAttributeRank +#define IDC_RSCATTRIBUTERANK_BACKGROUND 13469 +#define IDC_RSCATTRIBUTERANK_TITLE 13471 +#define IDC_RSCATTRIBUTERANK_PRIVATE 13669 +#define IDC_RSCATTRIBUTERANK_CORPORAL 13670 +#define IDC_RSCATTRIBUTERANK_SERGEANT 13671 +#define IDC_RSCATTRIBUTERANK_LIEUTENANT 13672 +#define IDC_RSCATTRIBUTERANK_CAPTAIN 13673 +#define IDC_RSCATTRIBUTERANK_MAJOR 13674 +#define IDC_RSCATTRIBUTERANK_COLONEL 13675 +#define IDC_RSCATTRIBUTERANK_RSCATTRIBUTERANK 14769 + +//--- RscAttributeUnitPos +#define IDC_RSCATTRIBUTEUNITPOS_BACKGROUND 18976 +#define IDC_RSCATTRIBUTEUNITPOS_TITLE 18978 +#define IDC_RSCATTRIBUTEUNITPOS_DOWN 19176 +#define IDC_RSCATTRIBUTEUNITPOS_CROUCH 19177 +#define IDC_RSCATTRIBUTEUNITPOS_UP 19178 +#define IDC_RSCATTRIBUTEUNITPOS_AUTO 19179 +#define IDC_RSCATTRIBUTEUNITPOS_RSCATTRIBUTEUNITPOS 20276 + +//--- RscAttributeDamage +#define IDC_RSCATTRIBUTEDAMAGE_TITLE 16502 +#define IDC_RSCATTRIBUTEDAMAGE_VALUE 17402 +#define IDC_RSCATTRIBUTEDAMAGE_RSCATTRIBUTEDAMAGE 17802 + +//--- RscAttributeFuel +#define IDC_RSCATTRIBUTEFUEL_TITLE 13474 +#define IDC_RSCATTRIBUTEFUEL_VALUE 14374 +#define IDC_RSCATTRIBUTEFUEL_RSCATTRIBUTEFUEL 14774 + +//--- RscAttributeSide +#define IDC_RSCATTRIBUTESIDE_BACKGROUND 31000 +#define IDC_RSCATTRIBUTESIDE_TITLE 31002 +#define IDC_RSCATTRIBUTESIDE_BLUFOR 31200 +#define IDC_RSCATTRIBUTESIDE_OPFOR 31201 +#define IDC_RSCATTRIBUTESIDE_INDEPENDENT 31202 +#define IDC_RSCATTRIBUTESIDE_CIVILIAN 31203 +#define IDC_RSCATTRIBUTESIDE_RSCATTRIBUTESIDE 32300 + +//--- RscAttributeOwners +/* +#define IDC_RSCATTRIBUTEOWNERS_BACKGROUND 31000 +#define IDC_RSCATTRIBUTEOWNERS_TITLE 31002 +#define IDC_RSCATTRIBUTEOWNERS_BLUFOR 31200 +#define IDC_RSCATTRIBUTEOWNERS_OPFOR 31201 +#define IDC_RSCATTRIBUTEOWNERS_INDEPENDENT 31202 +#define IDC_RSCATTRIBUTEOWNERS_CIVILIAN 31203 +#define IDC_RSCATTRIBUTEOWNERS_RSCATTRIBUTEOWNERS 32300 +*/ +//--- RscAttributeOwners +#define IDC_RSCATTRIBUTEOWNERS_BACKGROUND 17408 +#define IDC_RSCATTRIBUTEOWNERS_TITLE 17410 +#define IDC_RSCATTRIBUTEOWNERS_BLUFOR 17608 +#define IDC_RSCATTRIBUTEOWNERS_OPFOR 17609 +#define IDC_RSCATTRIBUTEOWNERS_INDEPENDENT 17610 +#define IDC_RSCATTRIBUTEOWNERS_CIVILIAN 17611 +#define IDC_RSCATTRIBUTEOWNERS_TABSIDE 18010 +#define IDC_RSCATTRIBUTEOWNERS_TABGROUP 18011 +#define IDC_RSCATTRIBUTEOWNERS_TABUNIT 18012 +#define IDC_RSCATTRIBUTEOWNERS_GROUPLIST 18508 +#define IDC_RSCATTRIBUTEOWNERS_UNITLIST 18509 +#define IDC_RSCATTRIBUTEOWNERS_RSCATTRIBUTEOWNERS 18708 + + + +//--- RscAttributeOwners2 +#define IDC_RSCATTRIBUTEOWNERS2_BACKGROUND1 18308 +#define IDC_RSCATTRIBUTEOWNERS2_TITLE2 18309 +#define IDC_RSCATTRIBUTEOWNERS2_TITLE1 18310 +#define IDC_RSCATTRIBUTEOWNERS2_BACKGROUND2 18311 +#define IDC_RSCATTRIBUTEOWNERS2_BLUFOR1 18508 +#define IDC_RSCATTRIBUTEOWNERS2_OPFOR1 18509 +#define IDC_RSCATTRIBUTEOWNERS2_INDEPENDENT1 18510 +#define IDC_RSCATTRIBUTEOWNERS2_CIVILIAN1 18511 +#define IDC_RSCATTRIBUTEOWNERS2_BLUFOR2 18512 +#define IDC_RSCATTRIBUTEOWNERS2_OPFOR2 18513 +#define IDC_RSCATTRIBUTEOWNERS2_INDEPENDENT2 18514 +#define IDC_RSCATTRIBUTEOWNERS2_CIVILIAN2 18515 +#define IDC_RSCATTRIBUTEOWNERS2_RSCATTRIBUTEOWNERS2 19608 + +//--- RscAttributeTaskState +#define IDC_RSCATTRIBUTETASKSTATE_BACKGROUND 41000 +#define IDC_RSCATTRIBUTETASKSTATE_TITLE 41002 +#define IDC_RSCATTRIBUTETASKSTATE_ASSIGNED 41200 +#define IDC_RSCATTRIBUTETASKSTATE_CREATED 41201 +#define IDC_RSCATTRIBUTETASKSTATE_SUCCEEDED 41202 +#define IDC_RSCATTRIBUTETASKSTATE_FAILED 41203 +#define IDC_RSCATTRIBUTETASKSTATE_CANCELED 41204 +#define IDC_RSCATTRIBUTETASKSTATE_RSCATTRIBUTETASKSTATE 42300 + +//--- RscAttributeTaskDescription +#define IDC_RSCATTRIBUTETASKDESCRIPTION_TITLEMARKER 38091 +#define IDC_RSCATTRIBUTETASKDESCRIPTION_TITLEDESCRIPTION 38092 +#define IDC_RSCATTRIBUTETASKDESCRIPTION_TITLETITLE 38093 +#define IDC_RSCATTRIBUTETASKDESCRIPTION_TITLETEMPLATE 38094 +#define IDC_RSCATTRIBUTETASKDESCRIPTION_EDITTITLE 38491 +#define IDC_RSCATTRIBUTETASKDESCRIPTION_EDITMARKER 38492 +#define IDC_RSCATTRIBUTETASKDESCRIPTION_EDITDESCRIPTION 38493 +#define IDC_RSCATTRIBUTETASKDESCRIPTION_EDITTEMPLATE 39191 +#define IDC_RSCATTRIBUTETASKDESCRIPTION_RSCATTRIBUTETASKDESCRIPTION 39391 + +//--- RscAttributeSkiptime +#define IDC_RSCATTRIBUTESKIPTIME_TITLE 21138 +#define IDC_RSCATTRIBUTESKIPTIME_TIME 21139 +#define IDC_RSCATTRIBUTESKIPTIME_BACKGROUND 21140 +#define IDC_RSCATTRIBUTESKIPTIME_SKIPTIME 21141 +#define IDC_RSCATTRIBUTESKIPTIME_VALUE 22038 +#define IDC_RSCATTRIBUTESKIPTIME_RSCATTRIBUTESKIPTIME 22438 + +//--- RscAttributeSound +#define IDC_RSCATTRIBUTESOUND_TITLE 15406 +#define IDC_RSCATTRIBUTESOUND_VALUE 16506 +#define IDC_RSCATTRIBUTESOUND_RSCATTRIBUTESOUND 16706 + +//--- RscAttributeMusic +#define IDC_RSCATTRIBUTEMUSIC_TITLE 15293 +#define IDC_RSCATTRIBUTEMUSIC_VALUE 16393 +#define IDC_RSCATTRIBUTEMUSIC_RSCATTRIBUTEMUSIC 16593 + +//--- RscAttributeMusicVolume +#define IDC_RSCATTRIBUTEMUSICVOLUME_TITLE 27656 +#define IDC_RSCATTRIBUTEMUSICVOLUME_VALUE 28556 +#define IDC_RSCATTRIBUTEMUSICVOLUME_RSCATTRIBUTEMUSICVOLUME 28956 + +//--- RscAttributeGenericRadio +#define IDC_RSCATTRIBUTEGENERICRADIO_TITLE 29151 +#define IDC_RSCATTRIBUTEGENERICRADIO_VALUE 29651 +#define IDC_RSCATTRIBUTEGENERICRADIO_RSCATTRIBUTEGENERICRADIO 30451 + +//--- RscAttributeDiaryRecord +#define IDC_RSCATTRIBUTEDIARYRECORD_IMAGETITLE 27171 +#define IDC_RSCATTRIBUTEDIARYRECORD_DESCRIPTIONTITLE 27172 +#define IDC_RSCATTRIBUTEDIARYRECORD_TITLETITLE 27173 +#define IDC_RSCATTRIBUTEDIARYRECORD_IMAGETREE 27174 +#define IDC_RSCATTRIBUTEDIARYRECORD_TEMPLATETITLE 27175 +#define IDC_RSCATTRIBUTEDIARYRECORD_IMAGEPREVIEW 27371 +#define IDC_RSCATTRIBUTEDIARYRECORD_TITLEEDIT 27571 +#define IDC_RSCATTRIBUTEDIARYRECORD_DESCRIPTIONEDIT 27573 +#define IDC_RSCATTRIBUTEDIARYRECORD_TEMPLATELIST 28271 +#define IDC_RSCATTRIBUTEDIARYRECORD_RSCATTRIBUTEDIARYRECORD 28471 + +//--- RscAttributeOvercast +#define IDC_RSCATTRIBUTEOVERCAST_BACKGROUND 21192 +#define IDC_RSCATTRIBUTEOVERCAST_TITLE 21194 +#define IDC_RSCATTRIBUTEOVERCAST_VALUE000 21392 +#define IDC_RSCATTRIBUTEOVERCAST_VALUE025 21393 +#define IDC_RSCATTRIBUTEOVERCAST_VALUE050 21394 +#define IDC_RSCATTRIBUTEOVERCAST_VALUE075 21395 +#define IDC_RSCATTRIBUTEOVERCAST_VALUE100 21396 +#define IDC_RSCATTRIBUTEOVERCAST_RSCATTRIBUTEOVERCAST 22492 + +//--- RscAttributeFog +#define IDC_RSCATTRIBUTEFOG_TITLE 11804 +#define IDC_RSCATTRIBUTEFOG_ALTTITLE 11805 +#define IDC_RSCATTRIBUTEFOG_VALUE 12704 +#define IDC_RSCATTRIBUTEFOG_ALTVALUE 12705 +#define IDC_RSCATTRIBUTEFOG_RSCATTRIBUTEFOG 13104 + +//--- RscAttributePostprocess +#define IDC_RSCATTRIBUTEPOSTPROCESS_TITLE 28406 +#define IDC_RSCATTRIBUTEPOSTPROCESS_VALUE 28906 +#define IDC_RSCATTRIBUTEPOSTPROCESS_RSCATTRIBUTEPOSTPROCESS 29706 + +//--- RscAttributeGroupID +#define IDC_RSCATTRIBUTEGROUPID_TITLE 17979 +#define IDC_RSCATTRIBUTEGROUPID_VALUE 18379 +#define IDC_RSCATTRIBUTEGROUPID_RSCATTRIBUTEGROUPID 19279 + +//--- RscAttributeFormation +#define IDC_RSCATTRIBUTEFORMATION_BACKGROUND 23316 +#define IDC_RSCATTRIBUTEFORMATION_TITLE 23318 +#define IDC_RSCATTRIBUTEFORMATION_COLUMN 23516 +#define IDC_RSCATTRIBUTEFORMATION_STAG_COLUMN 23517 +#define IDC_RSCATTRIBUTEFORMATION_WEDGE 23518 +#define IDC_RSCATTRIBUTEFORMATION_ECH_LEFT 23519 +#define IDC_RSCATTRIBUTEFORMATION_ECH_RIGHT 23520 +#define IDC_RSCATTRIBUTEFORMATION_VEE 23521 +#define IDC_RSCATTRIBUTEFORMATION_LINE 23522 +#define IDC_RSCATTRIBUTEFORMATION_FILE 23523 +#define IDC_RSCATTRIBUTEFORMATION_DIAMOND 23524 +#define IDC_RSCATTRIBUTEFORMATION_DEFAULT 23525 +#define IDC_RSCATTRIBUTEFORMATION_RSCATTRIBUTEFORMATION 24616 + +//--- RscAttributeBehaviour +#define IDC_RSCATTRIBUTEBEHAVIOUR_BACKGROUND 23269 +#define IDC_RSCATTRIBUTEBEHAVIOUR_TITLE 23271 +#define IDC_RSCATTRIBUTEBEHAVIOUR_STEALTH 23469 +#define IDC_RSCATTRIBUTEBEHAVIOUR_DEFAULT 23470 +#define IDC_RSCATTRIBUTEBEHAVIOUR_SAFE 23471 +#define IDC_RSCATTRIBUTEBEHAVIOUR_AWARE 23474 +#define IDC_RSCATTRIBUTEBEHAVIOUR_COMBAT 23475 +#define IDC_RSCATTRIBUTEBEHAVIOUR_RSCATTRIBUTEBEHAVIOUR 24569 + +//--- RscAttributeLock +#define IDC_RSCATTRIBUTELOCK_BACKGROUND 13425 +#define IDC_RSCATTRIBUTELOCK_TITLE 13427 +#define IDC_RSCATTRIBUTELOCK_LOCKED 13627 +#define IDC_RSCATTRIBUTELOCK_UNLOCKED 13630 +#define IDC_RSCATTRIBUTELOCK_RSCATTRIBUTELOCK 14725 + +//--- RscAttributeMarkerText +#define IDC_RSCATTRIBUTEMARKERTEXT_TITLE 25286 +#define IDC_RSCATTRIBUTEMARKERTEXT_VALUE 25686 +#define IDC_RSCATTRIBUTEMARKERTEXT_RSCATTRIBUTEMARKERTEXT 26586 + +//--- RscAttributeMarkerColor +#define IDC_RSCATTRIBUTEMARKERCOLOR_BACKGROUND 27333 +#define IDC_RSCATTRIBUTEMARKERCOLOR_TITLE 27335 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR3 27533 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR4 27534 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR1 27535 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR5 27536 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR6 27537 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR2 27538 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR7 27539 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR8 27540 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR9 27541 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR10 27542 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR11 27543 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR12 27544 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR13 27545 +#define IDC_RSCATTRIBUTEMARKERCOLOR_COLOR14 27546 +#define IDC_RSCATTRIBUTEMARKERCOLOR_RSCATTRIBUTEMARKERCOLOR 28633 + +//--- RscAttributeRespawnVehicle +#define IDC_RSCATTRIBUTERESPAWNVEHICLE_BACKGROUND 34763 +#define IDC_RSCATTRIBUTERESPAWNVEHICLE_TITLE 34765 +#define IDC_RSCATTRIBUTERESPAWNVEHICLE_START 34963 +#define IDC_RSCATTRIBUTERESPAWNVEHICLE_WEST 34964 +#define IDC_RSCATTRIBUTERESPAWNVEHICLE_EAST 34965 +#define IDC_RSCATTRIBUTERESPAWNVEHICLE_GUER 34966 +#define IDC_RSCATTRIBUTERESPAWNVEHICLE_CIV 34967 +#define IDC_RSCATTRIBUTERESPAWNVEHICLE_DISABLED 34968 +#define IDC_RSCATTRIBUTERESPAWNVEHICLE_RSCATTRIBUTERESPAWNVEHICLE 36063 + +//--- RscAttributeSkill +#define IDC_RSCATTRIBUTESKILL_TITLE 15284 +#define IDC_RSCATTRIBUTESKILL_VALUE 16184 +#define IDC_RSCATTRIBUTESKILL_RSCATTRIBUTESKILL 16584 + +//--- RscAttributeRespawnPosition +#define IDC_RSCATTRIBUTERESPAWNPOSITION_BACKGROUND 38509 +#define IDC_RSCATTRIBUTERESPAWNPOSITION_TITLE 38511 +#define IDC_RSCATTRIBUTERESPAWNPOSITION_WEST 38710 +#define IDC_RSCATTRIBUTERESPAWNPOSITION_EAST 38711 +#define IDC_RSCATTRIBUTERESPAWNPOSITION_GUER 38712 +#define IDC_RSCATTRIBUTERESPAWNPOSITION_CIV 38713 +#define IDC_RSCATTRIBUTERESPAWNPOSITION_DISABLED 38714 +#define IDC_RSCATTRIBUTERESPAWNPOSITION_RSCATTRIBUTERESPAWNPOSITION 39809 + +//--- RscAttributeText +#define IDC_RSCATTRIBUTETEXT_TITLE 13920 +#define IDC_RSCATTRIBUTETEXT_RSCATTRIBUTETEXT 15120 + +//--- RscAttributeAreaSize +#define IDC_RSCATTRIBUTEAREASIZE_TITLE 20438 +#define IDC_RSCATTRIBUTEAREASIZE_VALUE 20439 +#define IDC_RSCATTRIBUTEAREASIZE_RSCATTRIBUTEAREASIZE 21738 + +//--- RscAttributeRespawnTickets +#define IDC_RSCATTRIBUTERESPAWNTICKETS_BACKGROUND 35332 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_WESTTEXT 35333 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_EASTTEXT 35334 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_GUERTEXT 35335 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_CIVTEXT 35336 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_TITLE 35337 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_VALUE 35338 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_WEST 35532 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_EAST 35533 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_GUER 35534 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_CIV 35535 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_WESTVALUE 36232 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_EASTVALUE 36233 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_GUERVALUE 36234 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_CIVVALUE 36235 +#define IDC_RSCATTRIBUTERESPAWNTICKETS_RSCATTRIBUTERESPAWNTICKETS 36632 + +//--- RscAttributeCountdown +#define IDC_RSCATTRIBUTECOUNTDOWN_TITLE 23629 +#define IDC_RSCATTRIBUTECOUNTDOWN_TIME 23630 +#define IDC_RSCATTRIBUTECOUNTDOWN_BACKGROUND 23631 +#define IDC_RSCATTRIBUTECOUNTDOWN_VALUE 24529 +#define IDC_RSCATTRIBUTECOUNTDOWN_RSCATTRIBUTECOUNTDOWN 24929 + +//--- RscAttributeEndMission +#define IDC_RSCATTRIBUTEENDMISSION_TITLE 25122 +#define IDC_RSCATTRIBUTEENDMISSION_TITLEDEBRIEFING 25123 +#define IDC_RSCATTRIBUTEENDMISSION_DEBRIEFING 25522 +#define IDC_RSCATTRIBUTEENDMISSION_VALUE 25622 +#define IDC_RSCATTRIBUTEENDMISSION_RSCATTRIBUTEENDMISSION 26422 + +//--- RscAttributeName +#define IDC_RSCATTRIBUTENAME_TITLE 13317 +#define IDC_RSCATTRIBUTENAME_VALUE 13717 +#define IDC_RSCATTRIBUTENAME_RSCATTRIBUTENAME 14617 + +//--- RscAttributeInventory +#define IDC_RSCATTRIBUTEINVENTORY_LOAD 23868 +#define IDC_RSCATTRIBUTEINVENTORY_LISTBACKGROUND 23869 +#define IDC_RSCATTRIBUTEINVENTORY_FILTERBACKGROUND 23870 +#define IDC_RSCATTRIBUTEINVENTORY_FILTER0 24068 +#define IDC_RSCATTRIBUTEINVENTORY_FILTER1 24069 +#define IDC_RSCATTRIBUTEINVENTORY_FILTER2 24070 +#define IDC_RSCATTRIBUTEINVENTORY_FILTER3 24071 +#define IDC_RSCATTRIBUTEINVENTORY_FILTER4 24072 +#define IDC_RSCATTRIBUTEINVENTORY_FILTER5 24073 +#define IDC_RSCATTRIBUTEINVENTORY_FILTER6 24074 +#define IDC_RSCATTRIBUTEINVENTORY_FILTER7 24075 +#define IDC_RSCATTRIBUTEINVENTORY_FILTER8 24076 +#define IDC_RSCATTRIBUTEINVENTORY_FILTER9 24077 +#define IDC_RSCATTRIBUTEINVENTORY_FILTER10 24078 +#define IDC_RSCATTRIBUTEINVENTORY_FILTER11 24079 +#define IDC_RSCATTRIBUTEINVENTORY_FILTER12 24080 +#define IDC_RSCATTRIBUTEINVENTORY_LIST 24368 +#define IDC_RSCATTRIBUTEINVENTORY_ARROWLEFT 24468 +#define IDC_RSCATTRIBUTEINVENTORY_ARROWRIGHT 24469 +#define IDC_RSCATTRIBUTEINVENTORY_RSCATTRIBUTEINVENTORY 25168 + +//--- RscAttributeRespawnInventory +#define IDC_RSCATTRIBUTERESPAWNINVENTORY_LISTBACKGROUND 41829 +#define IDC_RSCATTRIBUTERESPAWNINVENTORY_FILTERBACKGROUND 41830 +#define IDC_RSCATTRIBUTERESPAWNINVENTORY_FILTER0 42028 +#define IDC_RSCATTRIBUTERESPAWNINVENTORY_FILTER1 42029 +#define IDC_RSCATTRIBUTERESPAWNINVENTORY_FILTER2 42030 +#define IDC_RSCATTRIBUTERESPAWNINVENTORY_FILTER3 42031 +#define IDC_RSCATTRIBUTERESPAWNINVENTORY_TREEWEST 42328 +#define IDC_RSCATTRIBUTERESPAWNINVENTORY_TREEEAST 42329 +#define IDC_RSCATTRIBUTERESPAWNINVENTORY_TREEGUER 42330 +#define IDC_RSCATTRIBUTERESPAWNINVENTORY_TREECIV 42331 +#define IDC_RSCATTRIBUTERESPAWNINVENTORY_RSCATTRIBUTERESPAWNINVENTORY 43128 + +//--- RscAttributeCAS +#define IDC_RSCATTRIBUTECAS_TITLE 10890 +#define IDC_RSCATTRIBUTECAS_VALUE 11390 +#define IDC_RSCATTRIBUTECAS_RSCATTRIBUTECAS 12190 + +//--- RscAttributeExec +#define IDC_RSCATTRIBUTEEXEC_TITLE 13366 +#define IDC_RSCATTRIBUTEEXEC_VALUE 13766 +#define IDC_RSCATTRIBUTEEXEC_VALUETEMPLATE 14466 +#define IDC_RSCATTRIBUTEEXEC_RSCATTRIBUTEEXEC 14666 + +//--- RSCATTRIBUTEMISSIONNAME +#define IDC_RSCATTRIBUTEMISSIONNAME_TITLE 20175 +#define IDC_RSCATTRIBUTEMISSIONNAME_PREVIEWTITLE 20176 +#define IDC_RSCATTRIBUTEMISSIONNAME_PREVIEW 20275 +#define IDC_RSCATTRIBUTEMISSIONNAME_VALUE 20575 +#define IDC_RSCATTRIBUTEMISSIONNAME_RSCATTRIBUTEMISSIONNAME 21475 + +//--- RscAttributeSpeedMode +#define IDC_RSCATTRIBUTESPEEDMODE_BACKGROUND 22287 +#define IDC_RSCATTRIBUTESPEEDMODE_TITLE 22289 +#define IDC_RSCATTRIBUTESPEEDMODE_DEFAULT 22488 +#define IDC_RSCATTRIBUTESPEEDMODE_LIMITED 22489 +#define IDC_RSCATTRIBUTESPEEDMODE_NORMAL 22492 +#define IDC_RSCATTRIBUTESPEEDMODE_FULL 22493 +#define IDC_RSCATTRIBUTESPEEDMODE_RSCATTRIBUTESPEEDMODE 23587 + +//--- RscAttributeTaskDestination +#define IDC_RSCATTRIBUTETASKDESTINATION_BACKGROUND 38009 +#define IDC_RSCATTRIBUTETASKDESTINATION_VALUE 38010 +#define IDC_RSCATTRIBUTETASKDESTINATION_TITLE 38011 +#define IDC_RSCATTRIBUTETASKDESTINATION_RSCATTRIBUTETASKDESTINATION 39309 + +//--- RscAttributeWaypointType +#define IDC_RSCATTRIBUTEWAYPOINTTYPE_BACKGROUND 30511 +#define IDC_RSCATTRIBUTEWAYPOINTTYPE_TITLE 30513 +#define IDC_RSCATTRIBUTEWAYPOINTTYPE_VALUE 31011 +#define IDC_RSCATTRIBUTEWAYPOINTTYPE_RSCATTRIBUTEWAYPOINTTYPE 31811 + +//--- RscAttributeWaypointTimeout +#define IDC_RSCATTRIBUTEWAYPOINTTIMEOUT_TITLE 38714 +#define IDC_RSCATTRIBUTEWAYPOINTTIMEOUT_BUTTONTIME00 39314 +#define IDC_RSCATTRIBUTEWAYPOINTTIMEOUT_BUTTONTIME05 39316 +#define IDC_RSCATTRIBUTEWAYPOINTTIMEOUT_BUTTONTIME10 39317 +#define IDC_RSCATTRIBUTEWAYPOINTTIMEOUT_BUTTONTIME15 39318 +#define IDC_RSCATTRIBUTEWAYPOINTTIMEOUT_BUTTONTIME20 39319 +#define IDC_RSCATTRIBUTEWAYPOINTTIMEOUT_BUTTONTIME25 39320 +#define IDC_RSCATTRIBUTEWAYPOINTTIMEOUT_BUTTONTIME30 39321 +#define IDC_RSCATTRIBUTEWAYPOINTTIMEOUT_RSCATTRIBUTEWAYPOINTTIMEOUT 40014 + +//--- RscAttributeTimeMultiplier +#define IDC_RSCATTRIBUTETIMEMULTIPLIER_TITLE 35379 +#define IDC_RSCATTRIBUTETIMEMULTIPLIER_MULTIPLIER 35380 +#define IDC_RSCATTRIBUTETIMEMULTIPLIER_BACKGROUND 35381 +#define IDC_RSCATTRIBUTETIMEMULTIPLIER_EXAMPLE 35382 +#define IDC_RSCATTRIBUTETIMEMULTIPLIER_VALUE 36279 +#define IDC_RSCATTRIBUTETIMEMULTIPLIER_RSCATTRIBUTETIMEMULTIPLIER 36679 + +//--- RscAttributeHintTopics +#define IDC_RSCATTRIBUTEHINTTOPICS_TITLE 25225 +#define IDC_RSCATTRIBUTEHINTTOPICS_VALUE 25725 +#define IDC_RSCATTRIBUTEHINTTOPICS_RSCATTRIBUTEHINTTOPICS 26525 + +//--- RscAttributeBootcampStage +#define IDC_RSCATTRIBUTEBOOTCAMPSTAGE_BACKGROUND 31954 +#define IDC_RSCATTRIBUTEBOOTCAMPSTAGE_TITLE 31956 +#define IDC_RSCATTRIBUTEBOOTCAMPSTAGE_INFANTRY 32154 +#define IDC_RSCATTRIBUTEBOOTCAMPSTAGE_MOTORIZEDVEHICLES 32155 +#define IDC_RSCATTRIBUTEBOOTCAMPSTAGE_RSCATTRIBUTEBOOTCAMPSTAGE 33254 + +//--- RscAttributeHintCustom +#define IDC_RSCATTRIBUTEHINTCUSTOM_TITLETITLE 25434 +#define IDC_RSCATTRIBUTEHINTCUSTOM_EDITTITLE 25832 +#define IDC_RSCATTRIBUTEHINTCUSTOM_RSCATTRIBUTEHINTCUSTOM 26732 + +//--- RscAttributePunishmentAnimation +#define IDC_RSCATTRIBUTEPUNISHMENTANIMATION_BACKGROUND 50118 +#define IDC_RSCATTRIBUTEPUNISHMENTANIMATION_TITLE 50120 +#define IDC_RSCATTRIBUTEPUNISHMENTANIMATION_PUSHUPS 50318 +#define IDC_RSCATTRIBUTEPUNISHMENTANIMATION_LEGPUSHUPS 50319 +#define IDC_RSCATTRIBUTEPUNISHMENTANIMATION_RSCATTRIBUTEPUNISHMENTANIMATION 51418 + +//--- RscAttributeTargetPopup +#define IDC_RSCATTRIBUTETARGETPOPUP_BACKGROUND 27787 +#define IDC_RSCATTRIBUTETARGETPOPUP_VALUE 27788 +#define IDC_RSCATTRIBUTETARGETPOPUP_TITLE 27789 +#define IDC_RSCATTRIBUTETARGETPOPUP_RSCATTRIBUTETARGETPOPUP 29087 + +//--- RscAttributeTargetPopupDelay +#define IDC_RSCATTRIBUTETARGETPOPUPDELAY_TITLE 40264 +#define IDC_RSCATTRIBUTETARGETPOPUPDELAY_VALUE 41164 +#define IDC_RSCATTRIBUTETARGETPOPUPDELAY_RSCATTRIBUTETARGETPOPUPDELAY 41564 + +//--- RscAttributeTargetData +#define IDC_RSCATTRIBUTETARGETDATA_VALUE 25001 +#define IDC_RSCATTRIBUTETARGETDATA_RSCATTRIBUTETARGETDATA 25801 + +//--- RscAttributeTargetDataStore +#define IDC_RSCATTRIBUTETARGETDATASTORE_BACKGROUND 37135 +#define IDC_RSCATTRIBUTETARGETDATASTORE_VALUE 37136 +#define IDC_RSCATTRIBUTETARGETDATASTORE_TITLE 37137 +#define IDC_RSCATTRIBUTETARGETDATASTORE_RSCATTRIBUTETARGETDATASTORE 38435 + +//--- RscAttributeTargetTexture +#define IDC_RSCATTRIBUTETARGETTEXTURE_BACKGROUND 32964 +#define IDC_RSCATTRIBUTETARGETTEXTURE_TITLE 32966 +#define IDC_RSCATTRIBUTETARGETTEXTURE_PREVIEW 33167 +#define IDC_RSCATTRIBUTETARGETTEXTURE_TEXTURELIST 33464 +#define IDC_RSCATTRIBUTETARGETTEXTURE_RSCATTRIBUTETARGETTEXTURE 34264 +#define IDC_RSCATTRIBUTETARGETTEXTURE_OVERLAP 34265 + +//--- RscAttributeTargetState +#define IDC_RSCATTRIBUTETARGETSTATE_BACKGROUND 27373 +#define IDC_RSCATTRIBUTETARGETSTATE_VALUE 27374 +#define IDC_RSCATTRIBUTETARGETSTATE_TITLE 27375 +#define IDC_RSCATTRIBUTETARGETSTATE_RSCATTRIBUTETARGETSTATE 28673 + +//--- RscDisplayTargetBoard +#define IDC_RSCDISPLAYTARGETBOARD_TABLE 22928 +#define IDC_RSCDISPLAYTARGETBOARD_BACKGROUNDTITLE 23628 +#define IDC_RSCDISPLAYTARGETBOARD_BACKGROUND 23629 +#define IDC_RSCDISPLAYTARGETBOARD_BUTTONOK 24028 + +//--- RscDisplayFiringRangeBoard +#define IDC_RSCDISPLAYFIRINGRANGEBOARD_TABLE 34191 +#define IDC_RSCDISPLAYFIRINGRANGEBOARD_BACKGROUNDTITLE 34891 +#define IDC_RSCDISPLAYFIRINGRANGEBOARD_BUTTONOK 35291 + +//--- RscDisplayTimeTrialBoard +#define IDC_RSCDISPLAYTIMETRIALBOARD_TABLE 29399 +#define IDC_RSCDISPLAYTIMETRIALBOARD_BACKGROUNDTITLE 30099 +#define IDC_RSCDISPLAYTIMETRIALBOARD_BUTTONOK 30499 + +//--- RscRecruitStatus +#define IDC_RSCRECRUITSTATUS_PROGRESSBAR 13986 +#define IDC_RSCRECRUITSTATUS_TITLE 14086 +#define IDC_RSCRECRUITSTATUS_DESCRIPTION 14087 +#define IDC_RSCRECRUITSTATUS_LIST 14486 +#define IDC_RSCRECRUITSTATUS_BACKGROUND 15186 + +#define IDC_RSCMISSIONTEXT 20145 +#define IDC_RSCMISSIONTEXT_TEXT 20146 + +//--- RscVRMeta +#define IDC_RSCVRMETA_BACKGROUNDFATIGUE 4478 +#define IDC_RSCVRMETA_BACKGROUNDSPEED 4479 +#define IDC_RSCVRMETA_BACKGROUNDLOAD 4480 +#define IDC_RSCVRMETA_BACKGROUNDTGT 4481 +#define IDC_RSCVRMETA_PROGRESSLOAD 4482 +#define IDC_RSCVRMETA_PROGRESSFATIGUE 4483 +#define IDC_RSCVRMETA_PROGRESSSPEED 4484 +#define IDC_RSCVRMETA_TEXTLOAD 4485 +#define IDC_RSCVRMETA_TEXTFATIGUE 4486 +#define IDC_RSCVRMETA_TEXTSPEED 4487 +#define IDC_RSCVRMETA_VALUELOAD 4488 +#define IDC_RSCVRMETA_VALUEFATIGUE 4489 +#define IDC_RSCVRMETA_VALUESPEED 4490 +#define IDC_RSCVRMETA_TEXTTGT 4491 +#define IDC_RSCVRMETA_PROGRESSTGT 4492 +#define IDC_RSCVRMETA_VALUETGT 4494 +#define IDC_RSCVRMETA_VALUETGTDMG 4495 +#define IDC_RSCVRMETA_VRMETA 5778 diff --git a/include/a3/ui_f_curator/ui/displays/RscDisplayAttributes.sqf b/include/a3/ui_f_curator/ui/displays/RscDisplayAttributes.sqf new file mode 100644 index 0000000..be5a9ad --- /dev/null +++ b/include/a3/ui_f_curator/ui/displays/RscDisplayAttributes.sqf @@ -0,0 +1,140 @@ +#include "\a3\ui_f_curator\ui\defineResinclDesign.inc" + +_mode = _this select 0; +_params = _this select 1; +_class = _this select 2; + +switch _mode do { + case "onLoad": { + + _display = _params select 0; + _displayConfig = configfile >> _class; + + _ctrlBackground = _display displayctrl IDC_RSCDISPLAYATTRIBUTES_BACKGROUND; + _ctrlTitle = _display displayctrl IDC_RSCDISPLAYATTRIBUTES_TITLE; + _ctrlContent = _display displayctrl IDC_RSCDISPLAYATTRIBUTES_CONTENT; + _ctrlButtonOK = _display displayctrl IDC_OK; + _ctrlButtonCancel = _display displayctrl IDC_CANCEL; + _ctrlButtonCustom = _display displayctrl IDC_RSCDISPLAYATTRIBUTES_BUTTONCUSTOM; + + _ctrlBackgroundPos = ctrlposition _ctrlBackground; + _ctrlTitlePos = ctrlposition _ctrlTitle; + _ctrlContentPos = ctrlposition _ctrlContent; + _ctrlButtonOKPos = ctrlposition _ctrlButtonOK; + _ctrlButtonCancelPos = ctrlposition _ctrlButtonCancel; + _ctrlButtonCustomPos = ctrlposition _ctrlButtonCustom; + + _ctrlTitleOffsetY = (_ctrlBackgroundPos select 1) - (_ctrlTitlePos select 1) - (_ctrlTitlePos select 3); + _ctrlContentOffsetY = (_ctrlContentPos select 1) - (_ctrlBackgroundPos select 1); + + //--- Show fake map in the background + _ctrlMap = _display displayctrl IDC_RSCDISPLAYCURATOR_MAINMAP; + _ctrlMap ctrlenable false; + if (visiblemap) then { + _ctrlCuratorMap = (finddisplay IDD_RSCDISPLAYCURATOR) displayctrl IDC_RSCDISPLAYCURATOR_MAINMAP; + _ctrlMap ctrlmapanimadd [0,ctrlmapscale _ctrlCuratorMap,_ctrlCuratorMap ctrlmapscreentoworld [0.5,0.5]]; + ctrlmapanimcommit _ctrlMap; + } else { + _ctrlMap ctrlshow false; + }; + + //--- Load default attributes + _attributes = if (getnumber (_displayConfig >> "filterAttributes") > 0) then {missionnamespace getvariable ["BIS_fnc_initCuratorAttributes_attributes",[]]} else {["%ALL"]}; + _allAttributes = "%ALL" in _attributes; + + //--- Initialize attributes + _posY = _ctrlContentOffsetY; + _contentControls = _displayConfig >> "Controls" >> "Content" >> "Controls"; + _enableDebugConsole = ["DebugConsole",getnumber (missionconfigfile >> "enableDebugConsole")] call bis_fnc_getParamValue; + _enableAdmin = (_enableDebugConsole == 1 && (isserver || serverCommandAvailable "#shutdown")) || _enableDebugConsole == 2; + for "_i" from 0 to (count _contentControls - 1) do { + _cfgControl = _contentControls select _i; + if (isclass _cfgControl) then { + _idc = getnumber (_cfgControl >> "idc"); + _control = _display displayctrl _idc; + + //--- Admin specific attribute + _show = if (getnumber (_cfgControl >> "adminOnly") > 0) then {_enableAdmin} else {true}; + + if ((_allAttributes || {_x == configname _cfgControl} count _attributes > 0) && _show) then { + _controlPos = ctrlposition _control; + _controlPos set [0,0]; + _controlPos set [1,_posY]; + _control ctrlsetposition _controlPos; + _control ctrlcommit 0; + _posY = _posY + (_controlPos select 3) + 0.005; + ctrlsetfocus _control; + } else { + _control ctrlsetposition [0,0,0,0]; + _control ctrlcommit 0; + _control ctrlshow false; + }; + }; + }; + _posH = ((_posY + _ctrlContentOffsetY) min 0.9) * 0.5; + + _target = missionnamespace getvariable ["BIS_fnc_initCuratorAttributes_target",objnull]; + _name = switch (typename _target) do { + case (typename objnull): {gettext (configfile >> "cfgvehicles" >> typeof _target >> "displayname")}; + case (typename grpnull): {groupid _target}; + case (typename []): {format ["%1: %3 #%2",groupid (_target select 0),_target select 1,localize "str_a3_cfgmarkers_waypoint_0"]}; + case (typename ""): {markertext _target}; + }; + _ctrlTitle ctrlsettext format [ctrltext _ctrlTitle,toupper _name]; + + _ctrlTitlePos set [1,(0.5 - _posH) - (_ctrlTitlePos select 3) - _ctrlTitleOffsetY]; + _ctrlTitle ctrlsetposition _ctrlTitlePos; + _ctrlTitle ctrlcommit 0; + + _ctrlContentPos set [1,0.5 - _posH]; + _ctrlContentPos set [3,_posH * 2]; + _ctrlContent ctrlsetposition _ctrlContentPos; + _ctrlContent ctrlcommit 0; + + _ctrlBackgroundPos set [1,0.5 - _posH]; + _ctrlBackgroundPos set [3,_posH * 2]; + _ctrlBackground ctrlsetposition _ctrlBackgroundPos; + _ctrlBackground ctrlcommit 0; + + _ctrlButtonOKPos set [1,0.5 + _posH + _ctrlTitleOffsetY]; + _ctrlButtonOK ctrlsetposition _ctrlButtonOKPos; + _ctrlButtonOK ctrlcommit 0; + ctrlsetfocus _ctrlButtonOK; + + _ctrlButtonCancelPos set [1,0.5 + _posH + _ctrlTitleOffsetY]; + _ctrlButtonCancel ctrlsetposition _ctrlButtonCancelPos; + _ctrlButtonCancel ctrlcommit 0; + + _ctrlButtonCustomPos set [1,0.5 + _posH + _ctrlTitleOffsetY]; + _ctrlButtonCustom ctrlsetposition _ctrlButtonCustomPos; + _ctrlButtonCustom ctrlcommit 0; + + //--- Close the display when entity is altered + [_display] spawn { + disableserialization; + _display = _this select 0; + _target = missionnamespace getvariable ["BIS_fnc_initCuratorAttributes_target",objnull]; + switch (typename _target) do { + case (typename objnull): { + _isAlive = alive _target; + waituntil {isnull _display || (_isAlive && !alive _target)}; + }; + case (typename grpnull): { + waituntil {isnull _display || isnull _target}; + }; + case (typename []): { + _grp = _target select 0; + _wpCount = count waypoints _grp; + waituntil {isnull _display || (count waypoints _grp != _wpCount)}; + }; + case (typename ""): { + waituntil {isnull _display || markertype _target == ""}; + }; + }; + _display closedisplay 2; + }; + }; + case "onUnload": { + + }; +}; diff --git a/include/x/cba/addons/main/$PBOPREFIX$ b/include/x/cba/addons/main/$PBOPREFIX$ new file mode 100644 index 0000000..2ac6048 --- /dev/null +++ b/include/x/cba/addons/main/$PBOPREFIX$ @@ -0,0 +1 @@ +x\cba\addons\main diff --git a/include/x/cba/addons/main/script_component.hpp b/include/x/cba/addons/main/script_component.hpp new file mode 100644 index 0000000..761bf42 --- /dev/null +++ b/include/x/cba/addons/main/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT main +#include "script_mod.hpp" + +#ifdef DEBUG_ENABLED_MAIN + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_MAIN + #define DEBUG_SETTINGS DEBUG_SETTINGS_MAIN +#endif + +#include "script_macros.hpp" diff --git a/include/x/cba/addons/main/script_macros.hpp b/include/x/cba/addons/main/script_macros.hpp new file mode 100644 index 0000000..6f9b78c --- /dev/null +++ b/include/x/cba/addons/main/script_macros.hpp @@ -0,0 +1 @@ +#include "script_macros_common.hpp" diff --git a/include/x/cba/addons/main/script_macros_common.hpp b/include/x/cba/addons/main/script_macros_common.hpp new file mode 100644 index 0000000..2683f3b --- /dev/null +++ b/include/x/cba/addons/main/script_macros_common.hpp @@ -0,0 +1,1835 @@ +/* + Header: script_macros_common.hpp + + Description: + A general set of useful macro functions for use by CBA itself or by any module that uses CBA. + + Authors: + Sickboy and Spooner +*/ + +/* **************************************************** + New - Should be exported to general addon + Aim: + - Simplify (shorten) the amount of characters required for repetitive tasks + - Provide a solid structure that can be dynamic and easy editable (Which sometimes means we cannot adhere to Aim #1 ;-) + An example is the path that is built from defines. Some available in this file, others in mods and addons. + + Follows Standard: + Object variables: PREFIX_COMPONENT + Main-object variables: PREFIX_main + Paths: MAINPREFIX\PREFIX\SUBPREFIX\COMPONENT\SCRIPTNAME.sqf + e.g: x\six\addons\sys_menu\fDate.sqf + + Usage: + define PREFIX and COMPONENT, then include this file + (Note, you could have a main addon for your mod, define the PREFIX in a macros.hpp, + and include this script_macros_common.hpp file. + Then in your addons, add a component.hpp, define the COMPONENT, + and include your mod's script_macros.hpp + In your scripts you can then include the addon's component.hpp with relative path) + + use in subcomponents (subconfigs) + define SUBCOMPONENT and include parent component's script_component.hpp + currently only supported by SUBADDON, additional macros may be added in the future + + TODO: + - Try only to use 1 string type " vs ' + - Evaluate double functions, and simplification + - Evaluate naming scheme; current = prototype + - Evaluate "Debug" features.. + - Evaluate "create mini function per precompiled script, that will load the script on first usage, rather than on init" + - Also saw "Namespace" typeName, evaluate which we need :P + - Single/Multi player gamelogics? (Incase of MP, you would want only 1 gamelogic per component, which is pv'ed from server, etc) + */ + +#ifndef MAINPREFIX + #define MAINPREFIX x +#endif + +#ifndef SUBPREFIX + #define SUBPREFIX addons +#endif + +#ifndef MAINLOGIC + #define MAINLOGIC main +#endif + +#define ADDON DOUBLES(PREFIX,COMPONENT) +#define MAIN_ADDON DOUBLES(PREFIX,main) + +#ifdef SUBCOMPONENT + #define SUBADDON DOUBLES(ADDON,SUBCOMPONENT) +#endif + +/* ------------------------------------------- +Macro: VERSION_CONFIG + Define CBA Versioning System config entries. + + VERSION should be a floating-point number (1 separator). + VERSION_STR is a string representation of the version. + VERSION_AR is an array representation of the version. + + VERSION must always be defined, otherwise it is 0. + VERSION_STR and VERSION_AR default to VERSION if undefined. + +Parameters: + None + +Example: + (begin example) + #define VERSION 1.0 + #define VERSION_STR 1.0.1 + #define VERSION_AR 1,0,1 + + class CfgPatches { + class MyMod_main { + VERSION_CONFIG; + }; + }; + (end) + +Author: + ?, Jonpas +------------------------------------------- */ +#ifndef VERSION + #define VERSION 0 +#endif + +#ifndef VERSION_STR + #define VERSION_STR VERSION +#endif + +#ifndef VERSION_AR + #define VERSION_AR VERSION +#endif + +#ifndef VERSION_CONFIG + #define VERSION_CONFIG version = VERSION; versionStr = QUOTE(VERSION_STR); versionAr[] = {VERSION_AR} +#endif + +/* ------------------------------------------- +Group: Debugging +------------------------------------------- */ + +/* ------------------------------------------- +Macros: DEBUG_MODE_x + Managing debugging based on debug level. + + According to the *highest* level of debugging that has been defined *before* script_macros_common.hpp is included, + only the appropriate debugging commands will be functional. With no level explicitely defined, assume DEBUG_MODE_NORMAL. + + DEBUG_MODE_FULL - Full debugging output. + DEBUG_MODE_NORMAL - All debugging except and (Default setting if none specified). + DEBUG_MODE_MINIMAL - Only and enabled. + +Examples: + In order to turn on full debugging for a single file, + (begin example) + // Top of individual script file. + #define DEBUG_MODE_FULL + #include "script_component.hpp" + (end) + + In order to force minimal debugging for a single component, + (begin example) + // Top of addons\\script_component.hpp + // Ensure that any FULL and NORMAL setting from the individual files are undefined and MINIMAL is set. + #ifdef DEBUG_MODE_FULL + #undef DEBUG_MODE_FULL + #endif + #ifdef DEBUG_MODE_NORMAL + #undef DEBUG_MODE_NORMAL + #endif + #ifndef DEBUG_MODE_MINIMAL + #define DEBUG_MODE_MINIMAL + #endif + #include "script_macros.hpp" + (end) + + In order to turn on full debugging for a whole addon, + (begin example) + // Top of addons\main\script_macros.hpp + #ifndef DEBUG_MODE_FULL + #define DEBUG_MODE_FULL + #endif + #include "\x\cba\addons\main\script_macros_common.hpp" + (end) + +Author: + Spooner +------------------------------------------- */ + +// If DEBUG_MODE_FULL, then also enable DEBUG_MODE_NORMAL. +#ifdef DEBUG_MODE_FULL +#define DEBUG_MODE_NORMAL +#endif + +// If DEBUG_MODE_NORMAL, then also enable DEBUG_MODE_MINIMAL. +#ifdef DEBUG_MODE_NORMAL +#define DEBUG_MODE_MINIMAL +#endif + +// If no debug modes specified, use DEBUG_MODE_NORMAL (+ DEBUG_MODE_MINIMAL). +#ifndef DEBUG_MODE_MINIMAL +#define DEBUG_MODE_NORMAL +#define DEBUG_MODE_MINIMAL +#endif + +#define LOG_SYS_FORMAT(LEVEL,MESSAGE) format ['[%1] (%2) %3: %4', toUpper 'PREFIX', 'COMPONENT', LEVEL, MESSAGE] + +#ifdef DEBUG_SYNCHRONOUS +#define LOG_SYS(LEVEL,MESSAGE) diag_log text LOG_SYS_FORMAT(LEVEL,MESSAGE) +#else +#define LOG_SYS(LEVEL,MESSAGE) LOG_SYS_FORMAT(LEVEL,MESSAGE) call CBA_fnc_log +#endif + +#define LOG_SYS_FILELINENUMBERS(LEVEL,MESSAGE) LOG_SYS(LEVEL,format [ARR_4('%1 %2:%3',MESSAGE,__FILE__,__LINE__ + 1)]) + +/* ------------------------------------------- +Macro: LOG() + Log a debug message into the RPT log. + + Only run if is defined. + +Parameters: + MESSAGE - Message to record + +Example: + (begin example) + LOG("Initiated clog-dancing simulator."); + (end) + +Author: + Spooner +------------------------------------------- */ +#ifdef DEBUG_MODE_FULL + +#define LOG(MESSAGE) LOG_SYS('LOG',MESSAGE) +#define LOG_1(MESSAGE,ARG1) LOG(FORMAT_1(MESSAGE,ARG1)) +#define LOG_2(MESSAGE,ARG1,ARG2) LOG(FORMAT_2(MESSAGE,ARG1,ARG2)) +#define LOG_3(MESSAGE,ARG1,ARG2,ARG3) LOG(FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define LOG_4(MESSAGE,ARG1,ARG2,ARG3,ARG4) LOG(FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define LOG_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) LOG(FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define LOG_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) LOG(FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define LOG_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) LOG(FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define LOG_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) LOG(FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) + +#else + +#define LOG(MESSAGE) /* disabled */ +#define LOG_1(MESSAGE,ARG1) /* disabled */ +#define LOG_2(MESSAGE,ARG1,ARG2) /* disabled */ +#define LOG_3(MESSAGE,ARG1,ARG2,ARG3) /* disabled */ +#define LOG_4(MESSAGE,ARG1,ARG2,ARG3,ARG4) /* disabled */ +#define LOG_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) /* disabled */ +#define LOG_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) /* disabled */ +#define LOG_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) /* disabled */ +#define LOG_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) /* disabled */ + +#endif + +/* ------------------------------------------- +Macro: INFO() + Record a message without file and line number in the RPT log. + +Parameters: + MESSAGE - Message to record + +Example: + (begin example) + INFO("Mod X is loaded, do Y"); + (end) + +Author: + commy2 +------------------------------------------- */ +#define INFO(MESSAGE) LOG_SYS('INFO',MESSAGE) +#define INFO_1(MESSAGE,ARG1) INFO(FORMAT_1(MESSAGE,ARG1)) +#define INFO_2(MESSAGE,ARG1,ARG2) INFO(FORMAT_2(MESSAGE,ARG1,ARG2)) +#define INFO_3(MESSAGE,ARG1,ARG2,ARG3) INFO(FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define INFO_4(MESSAGE,ARG1,ARG2,ARG3,ARG4) INFO(FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define INFO_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) INFO(FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define INFO_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) INFO(FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define INFO_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) INFO(FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define INFO_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) INFO(FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) + +/* ------------------------------------------- +Macro: WARNING() + Record a non-critical error in the RPT log. + + Only run if or higher is defined. + +Parameters: + MESSAGE - Message to record + +Example: + (begin example) + WARNING("This function has been deprecated. Please don't use it in future!"); + (end) + +Author: + Spooner +------------------------------------------- */ +#ifdef DEBUG_MODE_NORMAL + +#define WARNING(MESSAGE) LOG_SYS('WARNING',MESSAGE) +#define WARNING_1(MESSAGE,ARG1) WARNING(FORMAT_1(MESSAGE,ARG1)) +#define WARNING_2(MESSAGE,ARG1,ARG2) WARNING(FORMAT_2(MESSAGE,ARG1,ARG2)) +#define WARNING_3(MESSAGE,ARG1,ARG2,ARG3) WARNING(FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define WARNING_4(MESSAGE,ARG1,ARG2,ARG3,ARG4) WARNING(FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define WARNING_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) WARNING(FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define WARNING_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) WARNING(FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define WARNING_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) WARNING(FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define WARNING_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) WARNING(FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) + +#else + +#define WARNING(MESSAGE) /* disabled */ +#define WARNING_1(MESSAGE,ARG1) /* disabled */ +#define WARNING_2(MESSAGE,ARG1,ARG2) /* disabled */ +#define WARNING_3(MESSAGE,ARG1,ARG2,ARG3) /* disabled */ +#define WARNING_4(MESSAGE,ARG1,ARG2,ARG3,ARG4) /* disabled */ +#define WARNING_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) /* disabled */ +#define WARNING_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) /* disabled */ +#define WARNING_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) /* disabled */ +#define WARNING_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) /* disabled */ + +#endif + +/* ------------------------------------------- +Macro: ERROR() + Record a critical error in the RPT log. + +Parameters: + MESSAGE - Message to record + +Example: + (begin example) + ERROR("value of frog not found in config ...yada...yada..."); + (end) + +Author: + Spooner +------------------------------------------- */ +#define ERROR(MESSAGE) LOG_SYS('ERROR',MESSAGE) +#define ERROR_1(MESSAGE,ARG1) ERROR(FORMAT_1(MESSAGE,ARG1)) +#define ERROR_2(MESSAGE,ARG1,ARG2) ERROR(FORMAT_2(MESSAGE,ARG1,ARG2)) +#define ERROR_3(MESSAGE,ARG1,ARG2,ARG3) ERROR(FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define ERROR_4(MESSAGE,ARG1,ARG2,ARG3,ARG4) ERROR(FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define ERROR_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) ERROR(FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define ERROR_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) ERROR(FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define ERROR_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) ERROR(FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define ERROR_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) ERROR(FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) + +/* ------------------------------------------- +Macro: ERROR_MSG() + Record a critical error in the RPT log and display on screen error message. + + Newlines (\n) in the MESSAGE will be put on separate lines. + +Parameters: + MESSAGE - Message to record + +Example: + (begin example) + ERROR_MSG("value of frog not found in config ...yada...yada..."); + (end) + +Author: + commy2 +------------------------------------------- */ +#define ERROR_MSG(MESSAGE) ['PREFIX', 'COMPONENT', nil, MESSAGE, __FILE__, __LINE__ + 1] call CBA_fnc_error +#define ERROR_MSG_1(MESSAGE,ARG1) ERROR_MSG(FORMAT_1(MESSAGE,ARG1)) +#define ERROR_MSG_2(MESSAGE,ARG1,ARG2) ERROR_MSG(FORMAT_2(MESSAGE,ARG1,ARG2)) +#define ERROR_MSG_3(MESSAGE,ARG1,ARG2,ARG3) ERROR_MSG(FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define ERROR_MSG_4(MESSAGE,ARG1,ARG2,ARG3,ARG4) ERROR_MSG(FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define ERROR_MSG_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) ERROR_MSG(FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define ERROR_MSG_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) ERROR_MSG(FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define ERROR_MSG_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) ERROR_MSG(FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define ERROR_MSG_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) ERROR_MSG(FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) + +/* ------------------------------------------- +Macro: ERROR_WITH_TITLE() + Record a critical error in the RPT log. + + The title can be specified (in the heading is always just "ERROR") + Newlines (\n) in the MESSAGE will be put on separate lines. + +Parameters: + TITLE - Title of error message + MESSAGE - Body of error message + +Example: + (begin example) + ERROR_WITH_TITLE("Value not found","Value of frog not found in config ...yada...yada..."); + (end) + +Author: + Spooner +------------------------------------------- */ +#define ERROR_WITH_TITLE(TITLE,MESSAGE) ['PREFIX', 'COMPONENT', TITLE, MESSAGE, __FILE__, __LINE__ + 1] call CBA_fnc_error +#define ERROR_WITH_TITLE_1(TITLE,MESSAGE,ARG1) ERROR_WITH_TITLE(TITLE,FORMAT_1(MESSAGE,ARG1)) +#define ERROR_WITH_TITLE_2(TITLE,MESSAGE,ARG1,ARG2) ERROR_WITH_TITLE(TITLE,FORMAT_2(MESSAGE,ARG1,ARG2)) +#define ERROR_WITH_TITLE_3(TITLE,MESSAGE,ARG1,ARG2,ARG3) ERROR_WITH_TITLE(TITLE,FORMAT_3(MESSAGE,ARG1,ARG2,ARG3)) +#define ERROR_WITH_TITLE_4(TITLE,MESSAGE,ARG1,ARG2,ARG3,ARG4) ERROR_WITH_TITLE(TITLE,FORMAT_4(MESSAGE,ARG1,ARG2,ARG3,ARG4)) +#define ERROR_WITH_TITLE_5(TITLE,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5) ERROR_WITH_TITLE(TITLE,FORMAT_5(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5)) +#define ERROR_WITH_TITLE_6(TITLE,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) ERROR_WITH_TITLE(TITLE,FORMAT_6(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6)) +#define ERROR_WITH_TITLE_7(TITLE,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) ERROR_WITH_TITLE(TITLE,FORMAT_7(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7)) +#define ERROR_WITH_TITLE_8(TITLE,MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) ERROR_WITH_TITLE(TITLE,FORMAT_8(MESSAGE,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8)) + +/* ------------------------------------------- +Macro: MESSAGE_WITH_TITLE() + Record a single line in the RPT log. + +Parameters: + TITLE - Title of log message + MESSAGE - Body of message + +Example: + (begin example) + MESSAGE_WITH_TITLE("Value found","Value of frog found in config "); + (end) + +Author: + Killswitch +------------------------------------------- */ +#define MESSAGE_WITH_TITLE(TITLE,MESSAGE) LOG_SYS_FILELINENUMBERS(TITLE,MESSAGE) + +/* ------------------------------------------- +Macro: RETDEF() + If a variable is undefined, return the default value. Otherwise, return the + variable itself. + +Parameters: + VARIABLE - the variable to check + DEFAULT_VALUE - the default value to use if variable is undefined + +Example: + (begin example) + // _var is undefined + hintSilent format ["_var=%1", RETDEF(_var,5)]; // "_var=5" + _var = 7; + hintSilent format ["_var=%1", RETDEF(_var,5)]; // "_var=7" + (end example) +Author: + 654wak654 +------------------------------------------- */ +#define RETDEF(VARIABLE,DEFAULT_VALUE) (if (isNil {VARIABLE}) then [{DEFAULT_VALUE}, {VARIABLE}]) + +/* ------------------------------------------- +Macro: RETNIL() + If a variable is undefined, return the value nil. Otherwise, return the + variable itself. + +Parameters: + VARIABLE - the variable to check + +Example: + (begin example) + // _var is undefined + hintSilent format ["_var=%1", RETNIL(_var)]; // "_var=any" + (end example) + +Author: + Alef (see CBA issue #8514) +------------------------------------------- */ +#define RETNIL(VARIABLE) RETDEF(VARIABLE,nil) + +/* ------------------------------------------- +Macros: TRACE_n() + Log a message and 1-8 variables to the RPT log. + + Only run if is defined. + + TRACE_1(MESSAGE,A) - Log 1 variable. + TRACE_2(MESSAGE,A,B) - Log 2 variables. + TRACE_3(MESSAGE,A,B,C) - Log 3 variables. + TRACE_4(MESSAGE,A,B,C,D) - Log 4 variables. + TRACE_5(MESSAGE,A,B,C,D,E) - Log 5 variables. + TRACE_6(MESSAGE,A,B,C,D,E,F) - Log 6 variables. + TRACE_7(MESSAGE,A,B,C,D,E,F,G) - Log 7 variables. + TRACE_8(MESSAGE,A,B,C,D,E,F,G,H) - Log 8 variables. + TRACE_9(MESSAGE,A,B,C,D,E,F,G,H,I) - Log 9 variables. + +Parameters: + MESSAGE - Message to add to the trace [String] + A..H - Variable names to log values of [Any] + +Example: + (begin example) + TRACE_3("After takeoff",_vehicle player,getPos (_vehicle player), getPosASL (_vehicle player)); + (end) + +Author: + Spooner +------------------------------------------- */ +#define PFORMAT_1(MESSAGE,A) \ + format ['%1: A=%2', MESSAGE, RETNIL(A)] + +#define PFORMAT_2(MESSAGE,A,B) \ + format ['%1: A=%2, B=%3', MESSAGE, RETNIL(A), RETNIL(B)] + +#define PFORMAT_3(MESSAGE,A,B,C) \ + format ['%1: A=%2, B=%3, C=%4', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C)] + +#define PFORMAT_4(MESSAGE,A,B,C,D) \ + format ['%1: A=%2, B=%3, C=%4, D=%5', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D)] + +#define PFORMAT_5(MESSAGE,A,B,C,D,E) \ + format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E)] + +#define PFORMAT_6(MESSAGE,A,B,C,D,E,F) \ + format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F)] + +#define PFORMAT_7(MESSAGE,A,B,C,D,E,F,G) \ + format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7, G=%8', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F), RETNIL(G)] + +#define PFORMAT_8(MESSAGE,A,B,C,D,E,F,G,H) \ + format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7, G=%8, H=%9', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F), RETNIL(G), RETNIL(H)] + +#define PFORMAT_9(MESSAGE,A,B,C,D,E,F,G,H,I) \ + format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7, G=%8, H=%9, I=%10', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F), RETNIL(G), RETNIL(H), RETNIL(I)] + + +#ifdef DEBUG_MODE_FULL +#define TRACE_1(MESSAGE,A) LOG_SYS_FILELINENUMBERS('TRACE',PFORMAT_1(str diag_frameNo + ' ' + (MESSAGE),A)) +#define TRACE_2(MESSAGE,A,B) LOG_SYS_FILELINENUMBERS('TRACE',PFORMAT_2(str diag_frameNo + ' ' + (MESSAGE),A,B)) +#define TRACE_3(MESSAGE,A,B,C) LOG_SYS_FILELINENUMBERS('TRACE',PFORMAT_3(str diag_frameNo + ' ' + (MESSAGE),A,B,C)) +#define TRACE_4(MESSAGE,A,B,C,D) LOG_SYS_FILELINENUMBERS('TRACE',PFORMAT_4(str diag_frameNo + ' ' + (MESSAGE),A,B,C,D)) +#define TRACE_5(MESSAGE,A,B,C,D,E) LOG_SYS_FILELINENUMBERS('TRACE',PFORMAT_5(str diag_frameNo + ' ' + (MESSAGE),A,B,C,D,E)) +#define TRACE_6(MESSAGE,A,B,C,D,E,F) LOG_SYS_FILELINENUMBERS('TRACE',PFORMAT_6(str diag_frameNo + ' ' + (MESSAGE),A,B,C,D,E,F)) +#define TRACE_7(MESSAGE,A,B,C,D,E,F,G) LOG_SYS_FILELINENUMBERS('TRACE',PFORMAT_7(str diag_frameNo + ' ' + (MESSAGE),A,B,C,D,E,F,G)) +#define TRACE_8(MESSAGE,A,B,C,D,E,F,G,H) LOG_SYS_FILELINENUMBERS('TRACE',PFORMAT_8(str diag_frameNo + ' ' + (MESSAGE),A,B,C,D,E,F,G,H)) +#define TRACE_9(MESSAGE,A,B,C,D,E,F,G,H,I) LOG_SYS_FILELINENUMBERS('TRACE',PFORMAT_9(str diag_frameNo + ' ' + (MESSAGE),A,B,C,D,E,F,G,H,I)) +#else +#define TRACE_1(MESSAGE,A) /* disabled */ +#define TRACE_2(MESSAGE,A,B) /* disabled */ +#define TRACE_3(MESSAGE,A,B,C) /* disabled */ +#define TRACE_4(MESSAGE,A,B,C,D) /* disabled */ +#define TRACE_5(MESSAGE,A,B,C,D,E) /* disabled */ +#define TRACE_6(MESSAGE,A,B,C,D,E,F) /* disabled */ +#define TRACE_7(MESSAGE,A,B,C,D,E,F,G) /* disabled */ +#define TRACE_8(MESSAGE,A,B,C,D,E,F,G,H) /* disabled */ +#define TRACE_9(MESSAGE,A,B,C,D,E,F,G,H,I) /* disabled */ +#endif + +/* ------------------------------------------- +Group: General +------------------------------------------- */ + +// ************************************* +// Internal Functions +#define DOUBLES(var1,var2) var1##_##var2 +#define TRIPLES(var1,var2,var3) var1##_##var2##_##var3 +#define QUOTE(var1) #var1 + +#ifdef MODULAR + #define COMPONENT_T DOUBLES(t,COMPONENT) + #define COMPONENT_M DOUBLES(m,COMPONENT) + #define COMPONENT_S DOUBLES(s,COMPONENT) + #define COMPONENT_C DOUBLES(c,COMPONENT) + #define COMPONENT_F COMPONENT_C +#else + #define COMPONENT_T COMPONENT + #define COMPONENT_M COMPONENT + #define COMPONENT_S COMPONENT + #define COMPONENT_F COMPONENT + #define COMPONENT_C COMPONENT +#endif + +/* ------------------------------------------- +Macro: INC() + +Description: + Increase a number by one. + +Parameters: + VAR - Variable to increment [Number] + +Example: + (begin example) + _counter = 0; + INC(_counter); + // _counter => 1 + (end) + +Author: + Spooner +------------------------------------------- */ +#define INC(var) var = (var) + 1 + +/* ------------------------------------------- +Macro: DEC() + +Description: + Decrease a number by one. + +Parameters: + VAR - Variable to decrement [Number] + +Example: + (begin example) + _counter = 99; + DEC(_counter); + // _counter => 98 + (end) + +Author: + Spooner +------------------------------------------- */ +#define DEC(var) var = (var) - 1 + +/* ------------------------------------------- +Macro: ADD() + +Description: + Add a value to a variable. Variable and value should be both Numbers or both Strings. + +Parameters: + VAR - Variable to add to [Number or String] + VALUE - Value to add [Number or String] + +Examples: + (begin example) + _counter = 2; + ADD(_counter,3); + // _counter => 5 + (end) + (begin example) + _str = "hello"; + ADD(_str," "); + ADD(_str,"Fred"); + // _str => "hello Fred" + (end) + +Author: + Sickboy +------------------------------------------- */ +#define ADD(var1,var2) var1 = (var1) + (var2) + +/* ------------------------------------------- +Macro: SUB() + +Description: + Subtract a value from a number variable. VAR and VALUE should both be Numbers. + +Parameters: + VAR - Variable to subtract from [Number] + VALUE - Value to subtract [Number] + +Examples: + (begin example) + _numChickens = 2; + SUB(_numChickens,3); + // _numChickens => -1 + (end) +------------------------------------------- */ +#define SUB(var1,var2) var1 = (var1) - (var2) + +/* ------------------------------------------- +Macro: REM() + +Description: + Remove an element from an array each time it occurs. + + This recreates the entire array, so use BIS_fnc_removeIndex if modification of the original array is required + or if only one of the elements that matches ELEMENT needs to be removed. + +Parameters: + ARRAY - Array to modify [Array] + ELEMENT - Element to remove [Any] + +Examples: + (begin example) + _array = [1, 2, 3, 4, 3, 8]; + REM(_array,3); + // _array = [1, 2, 4, 8]; + (end) + +Author: + Spooner +------------------------------------------- */ +#define REM(var1,var2) SUB(var1,[var2]) + +/* ------------------------------------------- +Macro: PUSH() + +Description: + Appends a single value onto the end of an ARRAY. Change is made to the ARRAY itself, not creating a new array. + +Parameters: + ARRAY - Array to push element onto [Array] + ELEMENT - Element to push [Any] + +Examples: + (begin example) + _fish = ["blue", "green", "smelly"]; + PUSH(_fish,"monkey-flavoured"); + // _fish => ["blue", "green", "smelly", "monkey-flavoured"] + (end) + +Author: + Spooner +------------------------------------------- */ +#define PUSH(var1,var2) (var1) pushBack (var2) + +/* ------------------------------------------- +Macro: MAP() +Description: + Applies given code to each element of the array, then assigns the + resulting array to the original +Parameters: + ARRAY - Array to be modified + CODE - Code that'll be applied to each element of the array. +Example: + (begin example) + _array = [1, 2, 3, 4, 3, 8]; + MAP(_array,_x + 1); + // _array is now [2, 3, 4, 5, 4, 9]; + (end) +Author: + 654wak654 +------------------------------------------- */ +#define MAP(ARR,CODE) ARR = ARR apply {CODE} + +/* ------------------------------------------- +Macro: FILTER() +Description: + Filters an array based on given code, then assigns the resulting array + to the original +Parameters: + ARRAY - Array to be filtered + CODE - Condition to pick elements +Example: + (begin example) + _array = [1, 2, 3, 4, 3, 8]; + FILTER(_array,_x % 2 == 0) + // _array is now [2, 4, 8]; + (end) +Author: + Commy2 +------------------------------------------- */ +#define FILTER(ARR,CODE) ARR = ARR select {CODE} + +/* ------------------------------------------- +Macro: UNIQUE() +Description: + Removes duplicate values in given array +Parameters: + ARRAY - The array to be modified +Example: + (begin example) + _someArray = [4, 4, 5, 5, 5, 2]; + UNIQUE(_someArray); + // _someArray is now [4, 5, 2] + (end) +Author: + Commy2 +------------------------------------------- */ +#define UNIQUE(ARR) ARR = ARR arrayIntersect ARR + +/* ------------------------------------------- +Macro: INTERSECTION() +Description: + Finds unique common elements between two arrays and assigns them + to the first array +Parameters: + ARRAY0 - The array to be modified + ARRAY1 - The array to find intersections with +Example: + (begin example) + _someArray = [1, 2, 3, 4, 5, 5]; + _anotherArray = [4, 5, 6, 7]; + INTERSECTION(_someArray,_anotherArray); + // _someArray is now [4, 5] + (end) +Author: + 654wak654 +------------------------------------------- */ +#define INTERSECTION(ARG0,ARG1) ARG0 = ARG0 arrayIntersect (ARG1) + +/* ------------------------------------------- +Macro: ISNILS() + +Description: + Sets a variable with a value, but only if it is undefined. + +Parameters: + VARIABLE - Variable to set [Any, not nil] + DEFAULT_VALUE - Value to set VARIABLE to if it is undefined [Any, not nil] + +Examples: + (begin example) + // _fish is undefined + ISNILS(_fish,0); + // _fish => 0 + (end) + (begin example) + _fish = 12; + // ...later... + ISNILS(_fish,0); + // _fish => 12 + (end) + +Author: + Sickboy +------------------------------------------- */ +#define ISNILS(VARIABLE,DEFAULT_VALUE) if (isNil #VARIABLE) then { VARIABLE = DEFAULT_VALUE } +#define ISNILS2(var1,var2,var3,var4) ISNILS(TRIPLES(var1,var2,var3),var4) +#define ISNILS3(var1,var2,var3) ISNILS(DOUBLES(var1,var2),var3) +#define ISNIL(var1,var2) ISNILS2(PREFIX,COMPONENT,var1,var2) +#define ISNILMAIN(var1,var2) ISNILS3(PREFIX,var1,var2) + +#define CREATELOGICS(var1,var2) var1##_##var2 = ([sideLogic] call CBA_fnc_getSharedGroup) createUnit ["LOGIC", [0, 0, 0], [], 0, "NONE"] +#define CREATELOGICLOCALS(var1,var2) var1##_##var2 = "LOGIC" createVehicleLocal [0, 0, 0] +#define CREATELOGICGLOBALS(var1,var2) var1##_##var2 = ([sideLogic] call CBA_fnc_getSharedGroup) createUnit ["LOGIC", [0, 0, 0], [], 0, "NONE"]; publicVariable QUOTE(DOUBLES(var1,var2)) +#define CREATELOGICGLOBALTESTS(var1,var2) var1##_##var2 = ([sideLogic] call CBA_fnc_getSharedGroup) createUnit [QUOTE(DOUBLES(ADDON,logic)), [0, 0, 0], [], 0, "NONE"] + +#define GETVARS(var1,var2,var3) (var1##_##var2 getVariable #var3) +#define GETVARMAINS(var1,var2) GETVARS(var1,MAINLOGIC,var2) + +#ifndef PATHTO_SYS + #define PATHTO_SYS(var1,var2,var3) \MAINPREFIX\var1\SUBPREFIX\var2\var3.sqf +#endif +#ifndef PATHTOF_SYS + #define PATHTOF_SYS(var1,var2,var3) \MAINPREFIX\var1\SUBPREFIX\var2\var3 +#endif + +#ifndef PATHTOF2_SYS + #define PATHTOF2_SYS(var1,var2,var3) MAINPREFIX\var1\SUBPREFIX\var2\var3 +#endif + +#define PATHTO_R(var1) PATHTOF2_SYS(PREFIX,COMPONENT_C,var1) +#define PATHTO_T(var1) PATHTOF_SYS(PREFIX,COMPONENT_T,var1) +#define PATHTO_M(var1) PATHTOF_SYS(PREFIX,COMPONENT_M,var1) +#define PATHTO_S(var1) PATHTOF_SYS(PREFIX,COMPONENT_S,var1) +#define PATHTO_C(var1) PATHTOF_SYS(PREFIX,COMPONENT_C,var1) +#define PATHTO_F(var1) PATHTO_SYS(PREFIX,COMPONENT_F,var1) + +// Already quoted "" +#define QPATHTO_R(var1) QUOTE(PATHTO_R(var1)) +#define QPATHTO_T(var1) QUOTE(PATHTO_T(var1)) +#define QPATHTO_M(var1) QUOTE(PATHTO_M(var1)) +#define QPATHTO_S(var1) QUOTE(PATHTO_S(var1)) +#define QPATHTO_C(var1) QUOTE(PATHTO_C(var1)) +#define QPATHTO_F(var1) QUOTE(PATHTO_F(var1)) + +// This only works for binarized configs after recompiling the pbos +// TODO: Reduce amount of calls / code.. +#define COMPILE_FILE2_CFG_SYS(var1) compile preprocessFileLineNumbers var1 +#define COMPILE_FILE2_SYS(var1) COMPILE_FILE2_CFG_SYS(var1) + +#define COMPILE_FILE_SYS(var1,var2,var3) COMPILE_FILE2_SYS('PATHTO_SYS(var1,var2,var3)') +#define COMPILE_FILE_CFG_SYS(var1,var2,var3) COMPILE_FILE2_CFG_SYS('PATHTO_SYS(var1,var2,var3)') + +#define SETVARS(var1,var2) var1##_##var2 setVariable +#define SETVARMAINS(var1) SETVARS(var1,MAINLOGIC) +#define GVARMAINS(var1,var2) var1##_##var2 +#define CFGSETTINGSS(var1,var2) configFile >> "CfgSettings" >> #var1 >> #var2 +//#define SETGVARS(var1,var2,var3) var1##_##var2##_##var3 = +//#define SETGVARMAINS(var1,var2) var1##_##var2 = + +// Compile-Once, JIT: On first use. +// #define PREPMAIN_SYS(var1,var2,var3) var1##_fnc_##var3 = { var1##_fnc_##var3 = COMPILE_FILE_SYS(var1,var2,DOUBLES(fnc,var3)); if (isNil "_this") then { call var1##_fnc_##var3 } else { _this call var1##_fnc_##var3 } } +// #define PREP_SYS(var1,var2,var3) var1##_##var2##_fnc_##var3 = { var1##_##var2##_fnc_##var3 = COMPILE_FILE_SYS(var1,var2,DOUBLES(fnc,var3)); if (isNil "_this") then { call var1##_##var2##_fnc_##var3 } else { _this call var1##_##var2##_fnc_##var3 } } +// #define PREP_SYS2(var1,var2,var3,var4) var1##_##var2##_fnc_##var4 = { var1##_##var2##_fnc_##var4 = COMPILE_FILE_SYS(var1,var3,DOUBLES(fnc,var4)); if (isNil "_this") then { call var1##_##var2##_fnc_##var4 } else { _this call var1##_##var2##_fnc_##var4 } } + +// Compile-Once, at Macro. As opposed to Compile-Once, on first use. +#define PREPMAIN_SYS(var1,var2,var3) var1##_fnc_##var3 = COMPILE_FILE_SYS(var1,var2,DOUBLES(fnc,var3)) +#define PREP_SYS(var1,var2,var3) var1##_##var2##_fnc_##var3 = COMPILE_FILE_SYS(var1,var2,DOUBLES(fnc,var3)) +#define PREP_SYS2(var1,var2,var3,var4) var1##_##var2##_fnc_##var4 = COMPILE_FILE_SYS(var1,var3,DOUBLES(fnc,var4)) + +#define LSTR(var1) TRIPLES(ADDON,STR,var1) + +#ifndef DEBUG_SETTINGS + #define DEBUG_SETTINGS [false, true, false] +#endif + +#define MSG_INIT QUOTE(Initializing: ADDON version: VERSION) + +// ************************************* +// User Functions +#define CFGSETTINGS CFGSETTINGSS(PREFIX,COMPONENT) +#define PATHTO(var1) PATHTO_SYS(PREFIX,COMPONENT_F,var1) +#define PATHTOF(var1) PATHTOF_SYS(PREFIX,COMPONENT,var1) +#define PATHTOEF(var1,var2) PATHTOF_SYS(PREFIX,var1,var2) +#define QPATHTOF(var1) QUOTE(PATHTOF(var1)) +#define QPATHTOEF(var1,var2) QUOTE(PATHTOEF(var1,var2)) + +#define COMPILE_FILE(var1) COMPILE_FILE_SYS(PREFIX,COMPONENT_F,var1) +#define COMPILE_FILE_CFG(var1) COMPILE_FILE_CFG_SYS(PREFIX,COMPONENT_F,var1) +#define COMPILE_FILE2(var1) COMPILE_FILE2_SYS('var1') +#define COMPILE_FILE2_CFG(var1) COMPILE_FILE2_CFG_SYS('var1') + +#define COMPILE_SCRIPT(var1) compileScript ['PATHTO_SYS(PREFIX,COMPONENT_F,var1)'] + + +#define VERSIONING_SYS(var1) class CfgSettings { \ + class CBA { \ + class Versioning { \ + class var1 {}; \ + }; \ + }; \ +}; + +#define VERSIONING VERSIONING_SYS(PREFIX) + +/* ------------------------------------------- +Macro: GVAR() + Get full variable identifier for a global variable owned by this component. + +Parameters: + VARIABLE - Partial name of global variable owned by this component [Any]. + +Example: + (begin example) + GVAR(frog) = 12; + // In SPON_FrogDancing component, equivalent to SPON_FrogDancing_frog = 12 + (end) + +Author: + Sickboy +------------------------------------------- */ +#define GVAR(var1) DOUBLES(ADDON,var1) +#define EGVAR(var1,var2) TRIPLES(PREFIX,var1,var2) +#define QGVAR(var1) QUOTE(GVAR(var1)) +#define QEGVAR(var1,var2) QUOTE(EGVAR(var1,var2)) +#define QQGVAR(var1) QUOTE(QGVAR(var1)) +#define QQEGVAR(var1,var2) QUOTE(QEGVAR(var1,var2)) + +/* ------------------------------------------- +Macro: GVARMAIN() + Get full variable identifier for a global variable owned by this addon. + +Parameters: + VARIABLE - Partial name of global variable owned by this addon [Any]. + +Example: + (begin example) + GVARMAIN(frog) = 12; + // In SPON_FrogDancing component, equivalent to SPON_frog = 12 + (end) + +Author: + Sickboy +------------------------------------------- */ +#define GVARMAIN(var1) GVARMAINS(PREFIX,var1) +#define QGVARMAIN(var1) QUOTE(GVARMAIN(var1)) +#define QQGVARMAIN(var1) QUOTE(QGVARMAIN(var1)) +// TODO: What's this? +#define SETTINGS DOUBLES(PREFIX,settings) +#define CREATELOGIC CREATELOGICS(PREFIX,COMPONENT) +#define CREATELOGICGLOBAL CREATELOGICGLOBALS(PREFIX,COMPONENT) +#define CREATELOGICGLOBALTEST CREATELOGICGLOBALTESTS(PREFIX,COMPONENT) +#define CREATELOGICLOCAL CREATELOGICLOCALS(PREFIX,COMPONENT) +#define CREATELOGICMAIN CREATELOGICS(PREFIX,MAINLOGIC) +#define GETVAR(var1) GETVARS(PREFIX,COMPONENT,var1) +#define SETVAR SETVARS(PREFIX,COMPONENT) +#define SETVARMAIN SETVARMAINS(PREFIX) +#define IFCOUNT(var1,var2,var3) if (count var1 > var2) then { var3 = var1 select var2 }; + +/* ------------------------------------------- +Macro: PREP() + +Description: + Defines a function. + + Full file path: + '\MAINPREFIX\PREFIX\SUBPREFIX\COMPONENT\fnc_.sqf' + + Resulting function name: + 'PREFIX_COMPONENT_' + + The PREP macro should be placed in a script run by a XEH preStart and XEH preInit event. + + The PREP macro allows for CBA function caching, which drastically speeds up load times. + Beware though that function caching is enabled by default and as such to disable it, you need to + #define DISABLE_COMPILE_CACHE above your #include "script_components.hpp" include! + + The function will be defined in ui and mission namespace. It can not be overwritten without + a mission restart. + +Parameters: + FUNCTION NAME - Name of the function, unquoted + +Examples: + (begin example) + PREP(banana); + call FUNC(banana); + (end) + +Author: + dixon13 + ------------------------------------------- */ +//#define PREP(var1) PREP_SYS(PREFIX,COMPONENT_F,var1) + +#ifdef DISABLE_COMPILE_CACHE + #define PREP(var1) TRIPLES(ADDON,fnc,var1) = compile preProcessFileLineNumbers 'PATHTO_SYS(PREFIX,COMPONENT_F,DOUBLES(fnc,var1))' + #define PREPMAIN(var1) TRIPLES(PREFIX,fnc,var1) = compile preProcessFileLineNumbers 'PATHTO_SYS(PREFIX,COMPONENT_F,DOUBLES(fnc,var1))' +#else + #define PREP(var1) ['PATHTO_SYS(PREFIX,COMPONENT_F,DOUBLES(fnc,var1))', 'TRIPLES(ADDON,fnc,var1)'] call SLX_XEH_COMPILE_NEW + #define PREPMAIN(var1) ['PATHTO_SYS(PREFIX,COMPONENT_F,DOUBLES(fnc,var1))', 'TRIPLES(PREFIX,fnc,var1)'] call SLX_XEH_COMPILE_NEW +#endif + +/* ------------------------------------------- +Macro: PATHTO_FNC() + +Description: + Defines a function inside CfgFunctions. + + Full file path in addons: + '\MAINPREFIX\PREFIX\SUBPREFIX\COMPONENT\fnc_.sqf' + Define 'RECOMPILE' to enable recompiling. + Define 'SKIP_FUNCTION_HEADER' to skip adding function header. + +Parameters: + FUNCTION NAME - Name of the function, unquoted + +Examples: + (begin example) + // file name: fnc_addPerFrameHandler.sqf + class CfgFunctions { + class CBA { + class Misc { + PATHTO_FNC(addPerFrameHandler); + }; + }; + }; + // -> CBA_fnc_addPerFrameHandler + (end) + +Author: + dixon13, commy2 + ------------------------------------------- */ +#ifdef RECOMPILE + #undef RECOMPILE + #define RECOMPILE recompile = 1 +#else + #define RECOMPILE recompile = 0 +#endif +// Set function header type: -1 - no header; 0 - default header; 1 - system header. +#ifdef SKIP_FUNCTION_HEADER + #define CFGFUNCTION_HEADER headerType = -1 +#else + #define CFGFUNCTION_HEADER headerType = 0 +#endif + +#define PATHTO_FNC(func) class func {\ + file = QPATHTOF(DOUBLES(fnc,func).sqf);\ + CFGFUNCTION_HEADER;\ + RECOMPILE;\ +} + +#define FUNC(var1) TRIPLES(ADDON,fnc,var1) +#define FUNCMAIN(var1) TRIPLES(PREFIX,fnc,var1) +#define FUNC_INNER(var1,var2) TRIPLES(DOUBLES(PREFIX,var1),fnc,var2) +#define EFUNC(var1,var2) FUNC_INNER(var1,var2) +#define QFUNC(var1) QUOTE(FUNC(var1)) +#define QFUNCMAIN(var1) QUOTE(FUNCMAIN(var1)) +#define QFUNC_INNER(var1,var2) QUOTE(FUNC_INNER(var1,var2)) +#define QEFUNC(var1,var2) QUOTE(EFUNC(var1,var2)) +#define QQFUNC(var1) QUOTE(QFUNC(var1)) +#define QQFUNCMAIN(var1) QUOTE(QFUNCMAIN(var1)) +#define QQFUNC_INNER(var1,var2) QUOTE(QFUNC_INNER(var1,var2)) +#define QQEFUNC(var1,var2) QUOTE(QEFUNC(var1,var2)) + +#ifndef PRELOAD_ADDONS + #define PRELOAD_ADDONS class CfgAddons { \ + class PreloadAddons { \ + class ADDON { \ + list[]={ QUOTE(ADDON) }; \ + }; \ + }; \ +} +#endif + +/* ------------------------------------------- +Macros: ARG_#() + Select from list of array arguments + +Parameters: + VARIABLE(1-8) - elements for the list + +Author: + Rommel +------------------------------------------- */ +#define ARG_1(A,B) ((A) select (B)) +#define ARG_2(A,B,C) (ARG_1(ARG_1(A,B),C)) +#define ARG_3(A,B,C,D) (ARG_1(ARG_2(A,B,C),D)) +#define ARG_4(A,B,C,D,E) (ARG_1(ARG_3(A,B,C,D),E)) +#define ARG_5(A,B,C,D,E,F) (ARG_1(ARG_4(A,B,C,D,E),F)) +#define ARG_6(A,B,C,D,E,F,G) (ARG_1(ARG_5(A,B,C,D,E,F),G)) +#define ARG_7(A,B,C,D,E,F,G,H) (ARG_1(ARG_6(A,B,C,D,E,E,F,G),H)) +#define ARG_8(A,B,C,D,E,F,G,H,I) (ARG_1(ARG_7(A,B,C,D,E,E,F,G,H),I)) + +/* ------------------------------------------- +Macros: ARR_#() + Create list from arguments. Useful for working around , in macro parameters. + 1-8 arguments possible. + +Parameters: + VARIABLE(1-8) - elements for the list + +Author: + Nou +------------------------------------------- */ +#define ARR_1(ARG1) ARG1 +#define ARR_2(ARG1,ARG2) ARG1, ARG2 +#define ARR_3(ARG1,ARG2,ARG3) ARG1, ARG2, ARG3 +#define ARR_4(ARG1,ARG2,ARG3,ARG4) ARG1, ARG2, ARG3, ARG4 +#define ARR_5(ARG1,ARG2,ARG3,ARG4,ARG5) ARG1, ARG2, ARG3, ARG4, ARG5 +#define ARR_6(ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) ARG1, ARG2, ARG3, ARG4, ARG5, ARG6 +#define ARR_7(ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7 +#define ARR_8(ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8 + +/* ------------------------------------------- +Macros: FORMAT_#(STR, ARG1) + Format - Useful for working around , in macro parameters. + 1-8 arguments possible. + +Parameters: + STRING - string used by format + VARIABLE(1-8) - elements for usage in format + +Author: + Nou & Sickboy +------------------------------------------- */ +#define FORMAT_1(STR,ARG1) format[STR, ARG1] +#define FORMAT_2(STR,ARG1,ARG2) format[STR, ARG1, ARG2] +#define FORMAT_3(STR,ARG1,ARG2,ARG3) format[STR, ARG1, ARG2, ARG3] +#define FORMAT_4(STR,ARG1,ARG2,ARG3,ARG4) format[STR, ARG1, ARG2, ARG3, ARG4] +#define FORMAT_5(STR,ARG1,ARG2,ARG3,ARG4,ARG5) format[STR, ARG1, ARG2, ARG3, ARG4, ARG5] +#define FORMAT_6(STR,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6) format[STR, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6] +#define FORMAT_7(STR,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7) format[STR, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7] +#define FORMAT_8(STR,ARG1,ARG2,ARG3,ARG4,ARG5,ARG6,ARG7,ARG8) format[STR, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8] + +// CONTROL(46) 12 +#define DISPLAY(A) (findDisplay A) +#define CONTROL(A) DISPLAY(A) displayCtrl + +/* ------------------------------------------- +Macros: IS_x() + Checking the data types of variables. + + IS_ARRAY() - Array + IS_BOOL() - Boolean + IS_BOOLEAN() - UI display handle(synonym for ) + IS_CODE() - Code block (i.e a compiled function) + IS_CONFIG() - Configuration + IS_CONTROL() - UI control handle. + IS_DISPLAY() - UI display handle. + IS_FUNCTION() - A compiled function (synonym for ) + IS_GROUP() - Group. + IS_INTEGER() - Is a number a whole number? + IS_LOCATION() - World location. + IS_NUMBER() - A floating point number (synonym for ) + IS_OBJECT() - World object. + IS_SCALAR() - Floating point number. + IS_SCRIPT() - A script handle (as returned by execVM and spawn commands). + IS_SIDE() - Game side. + IS_STRING() - World object. + IS_TEXT() - Structured text. + +Parameters: + VARIABLE - Variable to check if it is of a particular type [Any, not nil] + +Author: + Spooner +------------------------------------------- */ +#define IS_META_SYS(VAR,TYPE) (if (isNil {VAR}) then {false} else {(VAR) isEqualType TYPE}) +#define IS_ARRAY(VAR) IS_META_SYS(VAR,[]) +#define IS_BOOL(VAR) IS_META_SYS(VAR,false) +#define IS_CODE(VAR) IS_META_SYS(VAR,{}) +#define IS_CONFIG(VAR) IS_META_SYS(VAR,configNull) +#define IS_CONTROL(VAR) IS_META_SYS(VAR,controlNull) +#define IS_DISPLAY(VAR) IS_META_SYS(VAR,displayNull) +#define IS_GROUP(VAR) IS_META_SYS(VAR,grpNull) +#define IS_OBJECT(VAR) IS_META_SYS(VAR,objNull) +#define IS_SCALAR(VAR) IS_META_SYS(VAR,0) +#define IS_SCRIPT(VAR) IS_META_SYS(VAR,scriptNull) +#define IS_SIDE(VAR) IS_META_SYS(VAR,west) +#define IS_STRING(VAR) IS_META_SYS(VAR,"STRING") +#define IS_TEXT(VAR) IS_META_SYS(VAR,text "") +#define IS_LOCATION(VAR) IS_META_SYS(VAR,locationNull) + +#define IS_BOOLEAN(VAR) IS_BOOL(VAR) +#define IS_FUNCTION(VAR) IS_CODE(VAR) +#define IS_INTEGER(VAR) (if (IS_SCALAR(VAR)) then {floor (VAR) == (VAR)} else {false}) +#define IS_NUMBER(VAR) IS_SCALAR(VAR) + +#define FLOAT_TO_STRING(num) (if (_this == 0) then {"0"} else {str parseNumber (str (_this % _this) + str floor abs _this) + "." + (str (abs _this - floor abs _this) select [2]) + "0"}) + +/* ------------------------------------------- +Macro: SCRIPT() + Sets name of script (relies on PREFIX and COMPONENT values being #defined). + Define 'SKIP_SCRIPT_NAME' to skip adding scriptName. + +Parameters: + NAME - Name of script [Indentifier] + +Example: + (begin example) + SCRIPT(eradicateMuppets); + (end) + +Author: + Spooner +------------------------------------------- */ +#ifndef SKIP_SCRIPT_NAME + #define SCRIPT(NAME) scriptName 'PREFIX\COMPONENT\NAME' +#else + #define SCRIPT(NAME) /* nope */ +#endif + +/* ------------------------------------------- +Macros: EXPLODE_n() + DEPRECATED - Use param/params commands added in Arma 3 1.48 + + Splitting an ARRAY into a number of variables (A, B, C, etc). + + Note that this NOT does make the created variables private. + _PVT variants do. + + EXPLODE_1(ARRAY,A,B) - Split a 1-element array into separate variable. + EXPLODE_2(ARRAY,A,B) - Split a 2-element array into separate variables. + EXPLODE_3(ARRAY,A,B,C) - Split a 3-element array into separate variables. + EXPLODE_4(ARRAY,A,B,C,D) - Split a 4-element array into separate variables. + EXPLODE_5(ARRAY,A,B,C,D,E) - Split a 5-element array into separate variables. + EXPLODE_6(ARRAY,A,B,C,D,E,F) - Split a 6-element array into separate variables. + EXPLODE_7(ARRAY,A,B,C,D,E,F,G) - Split a 7-element array into separate variables. + EXPLODE_8(ARRAY,A,B,C,D,E,F,G,H) - Split a 8-element array into separate variables. + EXPLODE_9(ARRAY,A,B,C,D,E,F,G,H,I) - Split a 9-element array into separate variables. + +Parameters: + ARRAY - Array to read from [Array] + A..H - Names of variables to set from array [Identifier] + +Example: + (begin example) + _array = ["fred", 156.8, 120.9]; + EXPLODE_3(_array,_name,_height,_weight); + (end) + +Author: + Spooner +------------------------------------------- */ +#define EXPLODE_1_SYS(ARRAY,A) A = ARRAY param [0] +#define EXPLODE_1(ARRAY,A) EXPLODE_1_SYS(ARRAY,A); TRACE_1("EXPLODE_1, " + QUOTE(ARRAY),A) +#define EXPLODE_1_PVT(ARRAY,A) ARRAY params [#A]; TRACE_1("EXPLODE_1, " + QUOTE(ARRAY),A) + +#define EXPLODE_2_SYS(ARRAY,A,B) EXPLODE_1_SYS(ARRAY,A); B = ARRAY param [1] +#define EXPLODE_2(ARRAY,A,B) EXPLODE_2_SYS(ARRAY,A,B); TRACE_2("EXPLODE_2, " + QUOTE(ARRAY),A,B) +#define EXPLODE_2_PVT(ARRAY,A,B) ARRAY params [#A,#B]; TRACE_2("EXPLODE_2, " + QUOTE(ARRAY),A,B) + +#define EXPLODE_3_SYS(ARRAY,A,B,C) EXPLODE_2_SYS(ARRAY,A,B); C = ARRAY param [2] +#define EXPLODE_3(ARRAY,A,B,C) EXPLODE_3_SYS(ARRAY,A,B,C); TRACE_3("EXPLODE_3, " + QUOTE(ARRAY),A,B,C) +#define EXPLODE_3_PVT(ARRAY,A,B,C) ARRAY params [#A,#B,#C]; TRACE_3("EXPLODE_3, " + QUOTE(ARRAY),A,B,C) + +#define EXPLODE_4_SYS(ARRAY,A,B,C,D) EXPLODE_3_SYS(ARRAY,A,B,C); D = ARRAY param [3] +#define EXPLODE_4(ARRAY,A,B,C,D) EXPLODE_4_SYS(ARRAY,A,B,C,D); TRACE_4("EXPLODE_4, " + QUOTE(ARRAY),A,B,C,D) +#define EXPLODE_4_PVT(ARRAY,A,B,C,D) ARRAY params [#A,#B,#C,#D]; TRACE_4("EXPLODE_4, " + QUOTE(ARRAY),A,B,C,D) + +#define EXPLODE_5_SYS(ARRAY,A,B,C,D,E) EXPLODE_4_SYS(ARRAY,A,B,C,D); E = ARRAY param [4] +#define EXPLODE_5(ARRAY,A,B,C,D,E) EXPLODE_5_SYS(ARRAY,A,B,C,D,E); TRACE_5("EXPLODE_5, " + QUOTE(ARRAY),A,B,C,D,E) +#define EXPLODE_5_PVT(ARRAY,A,B,C,D,E) ARRAY params [#A,#B,#C,#D,#E]; TRACE_5("EXPLODE_5, " + QUOTE(ARRAY),A,B,C,D,E) + +#define EXPLODE_6_SYS(ARRAY,A,B,C,D,E,F) EXPLODE_5_SYS(ARRAY,A,B,C,D,E); F = ARRAY param [5] +#define EXPLODE_6(ARRAY,A,B,C,D,E,F) EXPLODE_6_SYS(ARRAY,A,B,C,D,E,F); TRACE_6("EXPLODE_6, " + QUOTE(ARRAY),A,B,C,D,E,F) +#define EXPLODE_6_PVT(ARRAY,A,B,C,D,E,F) ARRAY params [#A,#B,#C,#D,#E,#F]; TRACE_6("EXPLODE_6, " + QUOTE(ARRAY),A,B,C,D,E,F) + +#define EXPLODE_7_SYS(ARRAY,A,B,C,D,E,F,G) EXPLODE_6_SYS(ARRAY,A,B,C,D,E,F); G = ARRAY param [6] +#define EXPLODE_7(ARRAY,A,B,C,D,E,F,G) EXPLODE_7_SYS(ARRAY,A,B,C,D,E,F,G); TRACE_7("EXPLODE_7, " + QUOTE(ARRAY),A,B,C,D,E,F,G) +#define EXPLODE_7_PVT(ARRAY,A,B,C,D,E,F,G) ARRAY params [#A,#B,#C,#D,#E,#F,#G]; TRACE_7("EXPLODE_7, " + QUOTE(ARRAY),A,B,C,D,E,F,G) + +#define EXPLODE_8_SYS(ARRAY,A,B,C,D,E,F,G,H) EXPLODE_7_SYS(ARRAY,A,B,C,D,E,F,G); H = ARRAY param [7] +#define EXPLODE_8(ARRAY,A,B,C,D,E,F,G,H) EXPLODE_8_SYS(ARRAY,A,B,C,D,E,F,G,H); TRACE_8("EXPLODE_8, " + QUOTE(ARRAY),A,B,C,D,E,F,G,H) +#define EXPLODE_8_PVT(ARRAY,A,B,C,D,E,F,G,H) ARRAY params [#A,#B,#C,#D,#E,#F,#G,#H]; TRACE_8("EXPLODE_8, " + QUOTE(ARRAY),A,B,C,D,E,F,G,H) + +#define EXPLODE_9_SYS(ARRAY,A,B,C,D,E,F,G,H,I) EXPLODE_8_SYS(ARRAY,A,B,C,D,E,F,G,H); I = ARRAY param [8] +#define EXPLODE_9(ARRAY,A,B,C,D,E,F,G,H,I) EXPLODE_9_SYS(ARRAY,A,B,C,D,E,F,G,H,I); TRACE_9("EXPLODE_9, " + QUOTE(ARRAY),A,B,C,D,E,F,G,H,I) +#define EXPLODE_9_PVT(ARRAY,A,B,C,D,E,F,G,H,I) ARRAY params [#A,#B,#C,#D,#E,#F,#G,#H,#I]; TRACE_9("EXPLODE_9, " + QUOTE(ARRAY),A,B,C,D,E,F,G,H,I) + +/* ------------------------------------------- +Macro: xSTRING() + Get full string identifier from a stringtable owned by this component. + +Parameters: + VARIABLE - Partial name of global variable owned by this component [Any]. + +Example: + ADDON is CBA_Balls. + (begin example) + // Localized String (localize command must still be used with it) + LSTRING(Example); // STR_CBA_Balls_Example; + // Config String (note the $) + CSTRING(Example); // $STR_CBA_Balls_Example; + (end) + +Author: + Jonpas +------------------------------------------- */ +#ifndef STRING_MACROS_GUARD +#define STRING_MACROS_GUARD + #define LSTRING(var1) QUOTE(TRIPLES(STR,ADDON,var1)) + #define ELSTRING(var1,var2) QUOTE(TRIPLES(STR,DOUBLES(PREFIX,var1),var2)) + #define CSTRING(var1) QUOTE(TRIPLES($STR,ADDON,var1)) + #define ECSTRING(var1,var2) QUOTE(TRIPLES($STR,DOUBLES(PREFIX,var1),var2)) + #define SUBCSTRING(var1) QUOTE(TRIPLES($STR,SUBADDON,var1)) + + #define LLSTRING(var1) localize QUOTE(TRIPLES(STR,ADDON,var1)) + #define LELSTRING(var1,var2) localize QUOTE(TRIPLES(STR,DOUBLES(PREFIX,var1),var2)) + #define LSUBLSTRING(var1) localize QUOTE(TRIPLES(STR,SUBADDON,var1)) +#endif + + +/* ------------------------------------------- +Group: Managing Function Parameters +------------------------------------------- */ + +/* ------------------------------------------- +Macros: PARAMS_n() + DEPRECATED - Use param/params commands added in Arma 3 1.48 + + Setting variables based on parameters passed to a function. + + Each parameter is defines as private and set to the appropriate value from _this. + + PARAMS_1(A) - Get 1 parameter from the _this array (or _this if it's not an array). + PARAMS_2(A,B) - Get 2 parameters from the _this array. + PARAMS_3(A,B,C) - Get 3 parameters from the _this array. + PARAMS_4(A,B,C,D) - Get 4 parameters from the _this array. + PARAMS_5(A,B,C,D,E) - Get 5 parameters from the _this array. + PARAMS_6(A,B,C,D,E,F) - Get 6 parameters from the _this array. + PARAMS_7(A,B,C,D,E,F,G) - Get 7 parameters from the _this array. + PARAMS_8(A,B,C,D,E,F,G,H) - Get 8 parameters from the _this array. + +Parameters: + A..H - Name of variable to read from _this [Identifier] + +Example: + A function called like this: + (begin example) + [_name,_address,_telephone] call recordPersonalDetails; + (end) + expects 3 parameters and those variables could be initialised at the start of the function definition with: + (begin example) + recordPersonalDetails = { + PARAMS_3(_name,_address,_telephone); + // Rest of function follows... + }; + (end) + +Author: + Spooner +------------------------------------------- */ +#define PARAMS_1(A) EXPLODE_1_PVT(_this,A) +#define PARAMS_2(A,B) EXPLODE_2_PVT(_this,A,B) +#define PARAMS_3(A,B,C) EXPLODE_3_PVT(_this,A,B,C) +#define PARAMS_4(A,B,C,D) EXPLODE_4_PVT(_this,A,B,C,D) +#define PARAMS_5(A,B,C,D,E) EXPLODE_5_PVT(_this,A,B,C,D,E) +#define PARAMS_6(A,B,C,D,E,F) EXPLODE_6_PVT(_this,A,B,C,D,E,F) +#define PARAMS_7(A,B,C,D,E,F,G) EXPLODE_7_PVT(_this,A,B,C,D,E,F,G) +#define PARAMS_8(A,B,C,D,E,F,G,H) EXPLODE_8_PVT(_this,A,B,C,D,E,F,G,H) +#define PARAMS_9(A,B,C,D,E,F,G,H,I) EXPLODE_9_PVT(_this,A,B,C,D,E,F,G,H,I) + +/* ------------------------------------------- +Macro: DEFAULT_PARAM() + DEPRECATED - Use param/params commands added in Arma 3 1.48 + + Getting a default function parameter. This may be used together with to have a mix of required and + optional parameters. + +Parameters: + INDEX - Index of parameter in _this [Integer, 0+] + NAME - Name of the variable to set [Identifier] + DEF_VALUE - Default value to use in case the array is too short or the value at INDEX is nil [Any] + +Example: + A function called with optional parameters: + (begin example) + [_name] call myFunction; + [_name, _numberOfLegs] call myFunction; + [_name, _numberOfLegs, _hasAHead] call myFunction; + (end) + 1 required parameter and 2 optional parameters. Those variables could be initialised at the start of the function + definition with: + (begin example) + myFunction = { + PARAMS_1(_name); + DEFAULT_PARAM(1,_numberOfLegs,2); + DEFAULT_PARAM(2,_hasAHead,true); + // Rest of function follows... + }; + (end) + +Author: + Spooner +------------------------------------------- */ +#define DEFAULT_PARAM(INDEX,NAME,DEF_VALUE) \ + private [#NAME,"_this"]; \ + ISNILS(_this,[]); \ + NAME = _this param [INDEX, DEF_VALUE]; \ + TRACE_3("DEFAULT_PARAM",INDEX,NAME,DEF_VALUE) + +/* ------------------------------------------- +Macro: KEY_PARAM() + Get value from key in _this list, return default when key is not included in list. + +Parameters: + KEY - Key name [String] + NAME - Name of the variable to set [Identifier] + DEF_VALUE - Default value to use in case key not found [ANY] + +Example: + + +Author: + Muzzleflash +------------------------------------------- */ +#define KEY_PARAM(KEY,NAME,DEF_VALUE) \ + private #NAME; \ + NAME = [toLower KEY, toUpper KEY, DEF_VALUE, RETNIL(_this)] call CBA_fnc_getArg; \ + TRACE_3("KEY_PARAM",KEY,NAME,DEF_VALUE) + +/* ------------------------------------------- +Group: Assertions +------------------------------------------- */ + +#define ASSERTION_ERROR(MESSAGE) ERROR_WITH_TITLE("Assertion failed!",MESSAGE) + +/* ------------------------------------------- +Macro: ASSERT_TRUE() + Asserts that a CONDITION is true. When an assertion fails, an error is raised with the given MESSAGE. + +Parameters: + CONDITION - Condition to assert as true [Boolean] + MESSSAGE - Message to display if (A OPERATOR B) is false [String] + +Example: + (begin example) + ASSERT_TRUE(_frogIsDead,"The frog is alive"); + (end) + +Author: + Spooner +------------------------------------------- */ +#define ASSERT_TRUE(CONDITION,MESSAGE) \ + if (not (CONDITION)) then \ + { \ + ASSERTION_ERROR('Assertion (CONDITION) failed!\n\n' + (MESSAGE)); \ + } + +/* ------------------------------------------- +Macro: ASSERT_FALSE() + Asserts that a CONDITION is false. When an assertion fails, an error is raised with the given MESSAGE. + +Parameters: + CONDITION - Condition to assert as false [Boolean] + MESSSAGE - Message to display if (A OPERATOR B) is true [String] + +Example: + (begin example) + ASSERT_FALSE(_frogIsDead,"The frog died"); + (end) + +Author: + Spooner +------------------------------------------- */ +#define ASSERT_FALSE(CONDITION,MESSAGE) \ + if (CONDITION) then \ + { \ + ASSERTION_ERROR('Assertion (not (CONDITION)) failed!\n\n' + (MESSAGE)) \ + } + +/* ------------------------------------------- +Macro: ASSERT_OP() + Asserts that (A OPERATOR B) is true. When an assertion fails, an error is raised with the given MESSAGE. + +Parameters: + A - First value [Any] + OPERATOR - Binary operator to use [Operator] + B - Second value [Any] + MESSSAGE - Message to display if (A OPERATOR B) is false. [String] + +Example: + (begin example) + ASSERT_OP(_fish,>,5,"Too few fish!"); + (end) + +Author: + Spooner +------------------------------------------- */ +#define ASSERT_OP(A,OPERATOR,B,MESSAGE) \ + if (not ((A) OPERATOR (B))) then \ + { \ + ASSERTION_ERROR('Assertion (A OPERATOR B) failed!\n' + 'A: ' + (str (A)) + '\n' + 'B: ' + (str (B)) + "\n\n" + (MESSAGE)); \ + } + +/* ------------------------------------------- +Macro: ASSERT_DEFINED() + Asserts that a VARIABLE is defined. When an assertion fails, an error is raised with the given MESSAGE.. + +Parameters: + VARIABLE - Variable to test if defined [String or Function]. + MESSAGE - Message to display if variable is undefined [String]. + +Examples: + (begin example) + ASSERT_DEFINED("_anUndefinedVar","Too few fish!"); + ASSERT_DEFINED({ obj getVariable "anUndefinedVar" },"Too many fish!"); + (end) + +Author: + Spooner +------------------------------------------- */ +#define ASSERT_DEFINED(VARIABLE,MESSAGE) \ + if (isNil VARIABLE) then \ + { \ + ASSERTION_ERROR('Assertion (VARIABLE is defined) failed!\n\n' + (MESSAGE)); \ + } + +/* ------------------------------------------- +Group: Unit tests +------------------------------------------- */ +#define TEST_SUCCESS(MESSAGE) MESSAGE_WITH_TITLE("Test OK",MESSAGE) +#define TEST_FAIL(MESSAGE) ERROR_WITH_TITLE("Test FAIL",MESSAGE) + +/* ------------------------------------------- +Macro: TEST_TRUE() + Tests that a CONDITION is true. + If the condition is not true, an error is raised with the given MESSAGE. + +Parameters: + CONDITION - Condition to assert as true [Boolean] + MESSSAGE - Message to display if (A OPERATOR B) is false [String] + +Example: + (begin example) + TEST_TRUE(_frogIsDead,"The frog is alive"); + (end) + +Author: + Killswitch +------------------------------------------- */ +#define TEST_TRUE(CONDITION, MESSAGE) \ + if (CONDITION) then \ + { \ + TEST_SUCCESS('(CONDITION)'); \ + } \ + else \ + { \ + TEST_FAIL('(CONDITION) ' + (MESSAGE)); \ + } + +/* ------------------------------------------- +Macro: TEST_FALSE() + Tests that a CONDITION is false. + If the condition is not false, an error is raised with the given MESSAGE. + +Parameters: + CONDITION - Condition to test as false [Boolean] + MESSSAGE - Message to display if (A OPERATOR B) is true [String] + +Example: + (begin example) + TEST_FALSE(_frogIsDead,"The frog died"); + (end) + +Author: + Killswitch +------------------------------------------- */ +#define TEST_FALSE(CONDITION, MESSAGE) \ + if (not (CONDITION)) then \ + { \ + TEST_SUCCESS('(not (CONDITION))'); \ + } \ + else \ + { \ + TEST_FAIL('(not (CONDITION)) ' + (MESSAGE)); \ + } + +/* ------------------------------------------- +Macro: TEST_OP() + Tests that (A OPERATOR B) is true. + If the test fails, an error is raised with the given MESSAGE. + +Parameters: + A - First value [Any] + OPERATOR - Binary operator to use [Operator] + B - Second value [Any] + MESSSAGE - Message to display if (A OPERATOR B) is false. [String] + +Example: + (begin example) + TEST_OP(_fish,>,5,"Too few fish!"); + (end) + +Author: + Killswitch +------------------------------------------- */ +#define TEST_OP(A,OPERATOR,B,MESSAGE) \ + if ((A) OPERATOR (B)) then \ + { \ + TEST_SUCCESS('(A OPERATOR B)') \ + } \ + else \ + { \ + TEST_FAIL('(A OPERATOR B)') \ + }; + +/* ------------------------------------------- +Macro: TEST_DEFINED_AND_OP() + Tests that A and B are defined and (A OPERATOR B) is true. + If the test fails, an error is raised with the given MESSAGE. + +Parameters: + A - First value [Any] + OPERATOR - Binary operator to use [Operator] + B - Second value [Any] + MESSSAGE - Message to display [String] + +Example: + (begin example) + TEST_OP(_fish,>,5,"Too few fish!"); + (end) + +Author: + Killswitch, PabstMirror +------------------------------------------- */ +#define TEST_DEFINED_AND_OP(A,OPERATOR,B,MESSAGE) \ + if (isNil #A) then { \ + TEST_FAIL('(A is not defined) ' + (MESSAGE)); \ + } else { \ + if (isNil #B) then { \ + TEST_FAIL('(B is not defined) ' + (MESSAGE)); \ + } else { \ + if ((A) OPERATOR (B)) then { \ + TEST_SUCCESS('(A OPERATOR B) ' + (MESSAGE)) \ + } else { \ + TEST_FAIL('(A OPERATOR B) ' + (MESSAGE)) \ + }; }; }; + + +/* ------------------------------------------- +Macro: TEST_DEFINED() + Tests that a VARIABLE is defined. + +Parameters: + VARIABLE - Variable to test if defined [String or Function]. + MESSAGE - Message to display if variable is undefined [String]. + +Examples: + (begin example) + TEST_DEFINED("_anUndefinedVar","Too few fish!"); + TEST_DEFINED({ obj getVariable "anUndefinedVar" },"Too many fish!"); + (end) + +Author: + Killswitch +------------------------------------------- */ +#define TEST_DEFINED(VARIABLE,MESSAGE) \ + if (not isNil VARIABLE) then \ + { \ + TEST_SUCCESS('(' + VARIABLE + ' is defined)'); \ + } \ + else \ + { \ + TEST_FAIL('(' + VARIABLE + ' is not defined)' + (MESSAGE)); \ + } + +/* ------------------------------------------- +Group: Managing Deprecation +------------------------------------------- */ + +/* ------------------------------------------- +Macro: DEPRECATE_SYS() + Allow deprecation of a function that has been renamed. + + Replaces an old OLD_FUNCTION (which will have PREFIX_ prepended) with a NEW_FUNCTION + (PREFIX_ prepended) with the intention that the old function will be disabled in the future. + + Shows a warning in RPT each time the deprecated function is used, but runs the new function. + +Parameters: + OLD_FUNCTION - Full name of old function [Identifier for function that does not exist any more] + NEW_FUNCTION - Full name of new function [Function] + +Example: + (begin example) + // After renaming CBA_fnc_frog as CBA_fnc_fish + DEPRECATE_SYS(CBA_fnc_frog,CBA_fnc_fish); + (end) + +Author: + Sickboy +------------------------------------------- */ +#define DEPRECATE_SYS(OLD_FUNCTION,NEW_FUNCTION) \ + OLD_FUNCTION = { \ + WARNING('Deprecated function used: OLD_FUNCTION (new: NEW_FUNCTION) in ADDON'); \ + if (isNil "_this") then { call NEW_FUNCTION } else { _this call NEW_FUNCTION }; \ + } + +/* ------------------------------------------- +Macro: DEPRECATE() + Allow deprecation of a function, in the current component, that has been renamed. + + Replaces an OLD_FUNCTION (which will have PREFIX_ prepended) with a NEW_FUNCTION + (PREFIX_ prepended) with the intention that the old function will be disabled in the future. + + Shows a warning in RPT each time the deprecated function is used, but runs the new function. + +Parameters: + OLD_FUNCTION - Name of old function, assuming PREFIX [Identifier for function that does not exist any more] + NEW_FUNCTION - Name of new function, assuming PREFIX [Function] + +Example: + (begin example) + // After renaming CBA_fnc_frog as CBA_fnc_fish + DEPRECATE(fnc_frog,fnc_fish); + (end) + +Author: + Sickboy +------------------------------------------- */ +#define DEPRECATE(OLD_FUNCTION,NEW_FUNCTION) \ + DEPRECATE_SYS(DOUBLES(PREFIX,OLD_FUNCTION),DOUBLES(PREFIX,NEW_FUNCTION)) + +/* ------------------------------------------- +Macro: OBSOLETE_SYS() + Replace a function that has become obsolete. + + Replace an obsolete OLD_FUNCTION with a simple COMMAND_FUNCTION, with the intention that anyone + using the function should replace it with the simple command, since the function will be disabled in the future. + + Shows a warning in RPT each time the deprecated function is used, and runs the command function. + +Parameters: + OLD_FUNCTION - Full name of old function [Identifier for function that does not exist any more] + COMMAND_CODE - Code to replace the old function [Function] + +Example: + (begin example) + // In Arma2, currentWeapon command made the CBA_fMyWeapon function obsolete: + OBSOLETE_SYS(CBA_fMyWeapon,{ currentWeapon player }); + (end) + +Author: + Spooner +------------------------------------------- */ +#define OBSOLETE_SYS(OLD_FUNCTION,COMMAND_CODE) \ + OLD_FUNCTION = { \ + WARNING('Obsolete function used: (use: OLD_FUNCTION) in ADDON'); \ + if (isNil "_this") then { call COMMAND_CODE } else { _this call COMMAND_CODE }; \ + } + +/* ------------------------------------------- +Macro: OBSOLETE() + Replace a function, in the current component, that has become obsolete. + + Replace an obsolete OLD_FUNCTION (which will have PREFIX_ prepended) with a simple + COMMAND_CODE, with the intention that anyone using the function should replace it with the simple + command. + + Shows a warning in RPT each time the deprecated function is used. + +Parameters: + OLD_FUNCTION - Name of old function, assuming PREFIX [Identifier for function that does not exist any more] + COMMAND_CODE - Code to replace the old function [Function] + +Example: + (begin example) + // In Arma2, currentWeapon command made the CBA_fMyWeapon function obsolete: + OBSOLETE(fMyWeapon,{ currentWeapon player }); + (end) + +Author: + Spooner +------------------------------------------- */ +#define OBSOLETE(OLD_FUNCTION,COMMAND_CODE) \ + OBSOLETE_SYS(DOUBLES(PREFIX,OLD_FUNCTION),COMMAND_CODE) + +#define BWC_CONFIG(NAME) class NAME { \ + units[] = {}; \ + weapons[] = {}; \ + requiredVersion = REQUIRED_VERSION; \ + requiredAddons[] = {}; \ + version = VERSION; \ +} + +// XEH Specific +#define XEH_CLASS CBA_Extended_EventHandlers +#define XEH_CLASS_BASE DOUBLES(XEH_CLASS,base) +#define XEH_DISABLED class EventHandlers { class XEH_CLASS {}; }; SLX_XEH_DISABLED = 1 +#define XEH_ENABLED class EventHandlers { class XEH_CLASS { EXTENDED_EVENTHANDLERS }; }; SLX_XEH_DISABLED = 0 + +// TODO: These are actually outdated; _Once ? +#define XEH_PRE_INIT QUOTE(call COMPILE_FILE(XEH_PreInit_Once)) +#define XEH_PRE_CINIT QUOTE(call COMPILE_FILE(XEH_PreClientInit_Once)) +#define XEH_PRE_SINIT QUOTE(call COMPILE_FILE(XEH_PreServerInit_Once)) + +#define XEH_POST_INIT QUOTE(call COMPILE_FILE(XEH_PostInit_Once)) +#define XEH_POST_CINIT QUOTE(call COMPILE_FILE(XEH_PostClientInit_Once)) +#define XEH_POST_SINIT QUOTE(call COMPILE_FILE(XEH_PostServerInit_Once)) + +/* ------------------------------------------- +Macro: IS_ADMIN + Check if the local machine is an admin in the multiplayer environment. + + Reports 'true' for logged and voted in admins. + +Parameters: + None + +Example: + (begin example) + // print "true" if player is admin + systemChat str IS_ADMIN; + (end) + +Author: + commy2 +------------------------------------------- */ +#define IS_ADMIN_SYS(x) x##kick +#define IS_ADMIN serverCommandAvailable 'IS_ADMIN_SYS(#)' + +/* ------------------------------------------- +Macro: IS_ADMIN_LOGGED + Check if the local machine is a logged in admin in the multiplayer environment. + + Reports 'false' if the player was voted to be the admin. + +Parameters: + None + +Example: + (begin example) + // print "true" if player is admin and entered in the server password + systemChat str IS_ADMIN_LOGGED; + (end) + +Author: + commy2 +------------------------------------------- */ +#define IS_ADMIN_LOGGED_SYS(x) x##shutdown +#define IS_ADMIN_LOGGED serverCommandAvailable 'IS_ADMIN_LOGGED_SYS(#)' + +/* ------------------------------------------- +Macro: FILE_EXISTS + Check if a file exists + + Reports "false" if the file does not exist. + +Parameters: + FILE - Path to the file + +Example: + (begin example) + // print "true" if file exists + systemChat str FILE_EXISTS("\A3\ui_f\data\igui\cfg\cursors\weapon_ca.paa"); + (end) + +Author: + commy2 +------------------------------------------- */ +#define FILE_EXISTS(FILE) (fileExists (FILE)) diff --git a/include/x/cba/addons/main/script_macros_config.hpp b/include/x/cba/addons/main/script_macros_config.hpp new file mode 100644 index 0000000..6edf5a0 --- /dev/null +++ b/include/x/cba/addons/main/script_macros_config.hpp @@ -0,0 +1,5 @@ +#define false 0 +#define true 1 + +#define private 0 +#define public 2 diff --git a/include/x/cba/addons/main/script_macros_mission.hpp b/include/x/cba/addons/main/script_macros_mission.hpp new file mode 100644 index 0000000..1d59bf0 --- /dev/null +++ b/include/x/cba/addons/main/script_macros_mission.hpp @@ -0,0 +1,85 @@ +#include "\x\cba\addons\main\script_macros_common.hpp" + +/* + Header: script_macros_mission.hpp + + Description: + Modifies script_common_macros.hpp for compatiblity with missions. + Some addon specific functionality might be lost. + + Authors: + Muzzleflash + + Changes from script_macros_mission.hpp: + Follows Standard: + Object variables: PREFIX_COMPONENT + Main-object variables: PREFIX_main + Paths: PREFIX\COMPONENT\SCRIPTNAME.sqf + Or if CUSTOM_FOLDER is defined: + CUSTOM_FOLDER\SCRIPTNAME.sqf + eg. six\sys_menu\fDate.sqf + + Usage: + Define PREFIX and COMPONENT, then include this file: + #include "\x\cba\addons\main\script_macros_mission.hpp" + +*/ + +/* + CUSTOM_FOLDER + + Custom folder to search for files in. Will not change variable names. + Default is PREFIX\COMPONENT + + Example: + (begin example) + #define CUSTOM_FOLDER MyPackage\ScriptA + (end) + + (begin example) + #define CUSTOM_FOLDER COMPONENT\functions + (end) + + +*/ + +#undef PATHTO_SYS +#undef PATHTOF_SYS +#undef PATHTOF2_SYS +#ifdef CUSTOM_FOLDER + #define PATHTO_SYS(var1,var2,var3) ##CUSTOM_FOLDER\##var3.sqf + #define PATHTOF_SYS(var1,var2,var3) ##CUSTOM_FOLDER\##var3 + #define PATHTOF2_SYS(var1,var2,var3) ##CUSTOM_FOLDER\##var3 +#else + #define PATHTO_SYS(var1,var2,var3) ##var1\##var2\##var3.sqf + #define PATHTOF_SYS(var1,var2,var3) ##var1\##var2\##var3 + #define PATHTOF2_SYS(var1,var2,var3) ##var1\##var2\##var3 +#endif + +/************************** REMOVAL OF MACROS ***********************/ + +#undef MAINPREFIX +#undef SUBPREFIX +#undef VERSION_AR +#undef VERSION_CONFIG + +#undef VERSIONING_SYS +#undef VERSIONING + +#undef PRELOAD_ADDONS + +#undef BWC_CONFIG + +#undef XEH_DISABLED +#undef XEH_PRE_INIT +#undef XEH_PRE_CINIT +#undef XEH_PRE_SINIT +#undef XEH_POST_INIT +#undef XEH_POST_CINIT +#undef XEH_POST_SINIT + +#undef PATHTO_FNC +#define PATHTO_FNC(func) class func {\ + file = QUOTE(DOUBLES(fnc,func).sqf);\ + RECOMPILE;\ +} diff --git a/include/x/cba/addons/xeh/$PBOPREFIX$ b/include/x/cba/addons/xeh/$PBOPREFIX$ new file mode 100644 index 0000000..3f514c9 --- /dev/null +++ b/include/x/cba/addons/xeh/$PBOPREFIX$ @@ -0,0 +1 @@ +x\cba\addons\xeh diff --git a/include/x/cba/addons/xeh/script_component.hpp b/include/x/cba/addons/xeh/script_component.hpp new file mode 100644 index 0000000..b938db0 --- /dev/null +++ b/include/x/cba/addons/xeh/script_component.hpp @@ -0,0 +1,103 @@ +#define COMPONENT xeh +#include "\x\cba\addons\main\script_mod.hpp" + +//#define DEBUG_ENABLED_XEH + +#ifdef DEBUG_ENABLED_XEH + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_XEH + #define DEBUG_SETTINGS DEBUG_SETTINGS_XEH +#endif + +#define DEBUG_SYNCHRONOUS +#include "\x\cba\addons\main\script_macros.hpp" + +#define XEH_LOG(msg) if (!SLX_XEH_DisableLogging) then { INFO_2("%1 %2",[ARR_3(diag_frameNo,diag_tickTime,time)],msg); } + +#define SYS_EVENTHANDLERS(type,class) format [QGVAR(%1:%2), type, class] +#define EVENTHANDLERS(type,class) (missionNamespace getVariable [SYS_EVENTHANDLERS(type,class), []]) +#define SETEVENTHANDLERS(type,class,events) (missionNamespace setVariable [SYS_EVENTHANDLERS(type,class), events]) + +// For any class that does not comply with XEH or has at least one incompatible descendant. +#define ISINCOMP(class) !isNil {GVAR(incompatible) getVariable class} +#define SETINCOMP(class) GVAR(incompatible) setVariable [class, true] + +// Event handler variables set. +#define ISPROCESSED(obj) (obj getVariable [QGVAR(isProcessed), false]) +#define SETPROCESSED(obj) obj setVariable [QGVAR(isProcessed), true] + +// Init and InitPost events done. +#define ISINITIALIZED(obj) (obj getVariable [QGVAR(isInitialized), false]) +#define SETINITIALIZED(obj) obj setVariable [QGVAR(isInitialized), true] + +#define XEH_FORMAT_CONFIG_NAME(name) format ["Extended_%1_EventHandlers", name] + +#define ISKINDOF(object,classname,allowInherit,excluded) ((allowInherit || {typeOf object == classname}) && {{object isKindOf _x} count (excluded) == 0}) + +#include "script_xeh.hpp" + +#undef XEH_ENABLED +#define XEH_ENABLED class EventHandlers {class XEH_CLASS: XEH_CLASS_BASE {};}; SLX_XEH_DISABLED = 0 + +#define XEH_EVENTS \ + "AnimChanged", \ + "AnimDone", \ + "AnimStateChanged", \ + "CargoLoaded", \ + "CargoUnloaded", \ + "ContainerClosed", \ + "ContainerOpened", \ + "ControlsShifted", \ + "Dammaged", \ + "Deleted", \ + "Disassembled", \ + "Engine", \ + "EpeContact", \ + "EpeContactEnd", \ + "EpeContactStart", \ + "Explosion", \ + "Fired", \ + "FiredBis", \ + "FiredMan", \ + "FiredNear", \ + "Fuel", \ + "Gear", \ + "GestureChanged", \ + "GestureDone", \ + "GetIn", \ + "GetInMan", \ + "GetOut", \ + "GetOutMan", \ + "Hit", \ + "HitPart", \ + "IncomingMissile", \ + "Init", \ + "InitPost", \ + "InventoryClosed", \ + "InventoryOpened", \ + "Killed", \ + "LandedTouchDown", \ + "LandedStopped", \ + "Local", \ + "OpticsModeChanged", \ + "OpticsSwitch", \ + "Put", \ + "Reloaded", \ + "Respawn", \ + "RopeAttach", \ + "RopeBreak", \ + "SeatSwitched", \ + "SeatSwitchedMan", \ + "SlotItemChanged", \ + "SoundPlayed", \ + "Suppressed", \ + "Take", \ + "TurnIn", \ + "TurnOut", \ + "VisionModeChanged", \ + "WeaponAssembled", \ + "WeaponDisassembled", \ + "WeaponDeployed", \ + "WeaponRested" diff --git a/include/x/cba/addons/xeh/script_macros_common.hpp b/include/x/cba/addons/xeh/script_macros_common.hpp new file mode 100644 index 0000000..b4b116e --- /dev/null +++ b/include/x/cba/addons/xeh/script_macros_common.hpp @@ -0,0 +1,2 @@ +// deprecated - use x\CBA\addons\main\script_macros_common.hpp instead +#include "\x\cba\addons\main\script_macros_common.hpp" diff --git a/include/x/cba/addons/xeh/script_xeh.hpp b/include/x/cba/addons/xeh/script_xeh.hpp new file mode 100644 index 0000000..9b483e8 --- /dev/null +++ b/include/x/cba/addons/xeh/script_xeh.hpp @@ -0,0 +1,132 @@ +/* + Header: script_xeh.hpp + + Description: + Used internally. +*/ +///////////////////////////////////////////////////////////////////////////////// +// MACRO: EXTENDED_EVENTHANDLERS +// Add all XEH event handlers +///////////////////////////////////////////////////////////////////////////////// + +#define EXTENDED_EVENTHANDLERS init = "call cba_xeh_fnc_init"; \ +fired = "call cba_xeh_fnc_fired"; \ +animChanged = "call cba_xeh_fnc_animChanged"; \ +animDone = "call cba_xeh_fnc_animDone"; \ +animStateChanged = "call cba_xeh_fnc_animStateChanged"; \ +cargoLoaded = "call cba_xeh_fnc_cargoLoaded"; \ +cargoUnloaded = "call cba_xeh_fnc_cargoUnloaded"; \ +containerClosed = "call cba_xeh_fnc_containerClosed"; \ +containerOpened = "call cba_xeh_fnc_containerOpened"; \ +controlsShifted = "call cba_xeh_fnc_controlsShifted"; \ +dammaged = "call cba_xeh_fnc_dammaged"; \ +deleted = "call cba_xeh_fnc_deleted"; \ +disassembled = "call cba_xeh_fnc_disassembled"; \ +engine = "call cba_xeh_fnc_engine"; \ +epeContact = "call cba_xeh_fnc_epeContact"; \ +epeContactEnd = "call cba_xeh_fnc_epeContactEnd"; \ +epeContactStart = "call cba_xeh_fnc_epeContactStart"; \ +explosion = "call cba_xeh_fnc_explosion"; \ +firedMan = "call cba_xeh_fnc_firedMan"; \ +firedNear = "call cba_xeh_fnc_firedNear"; \ +fuel = "call cba_xeh_fnc_cba_xeh_fuel"; \ +gear = "call cba_xeh_fnc_gear"; \ +gestureChanged = "call cba_xeh_fnc_gestureChanged"; \ +gestureDone = "call cba_xeh_fnc_gestureDone"; \ +getIn = "call cba_xeh_fnc_getIn"; \ +getInMan = "call cba_xeh_fnc_getInMan"; \ +getOut = "call cba_xeh_fnc_getOut"; \ +getOutMan = "call cba_xeh_fnc_getOutMan"; \ +hit = "call cba_xeh_fnc_hit"; \ +hitPart = "call cba_xeh_fnc_hitPart"; \ +incomingMissile = "call cba_xeh_fnc_incomingMissile"; \ +inventoryClosed = "call cba_xeh_fnc_inventoryClosed"; \ +inventoryOpened = "call cba_xeh_fnc_inventoryOpened"; \ +killed = "call cba_xeh_fnc_killed"; \ +landedTouchDown = "call cba_xeh_fnc_landedTouchDown"; \ +landedStopped = "call cba_xeh_fnc_landedStopped"; \ +local = "call cba_xeh_fnc_local"; \ +opticsModeChanged = "call cba_xeh_fnc_opticsModeChanged"; \ +opticsSwitch = "call cba_xeh_fnc_opticsSwitch"; \ +put = "call cba_xeh_fnc_put"; \ +reloaded = "call cba_xeh_fnc_reloaded"; \ +respawn = "call cba_xeh_fnc_respawn"; \ +ropeAttach = "call cba_xeh_fnc_ropeAttach"; \ +ropeBreak = "call cba_xeh_fnc_ropeBreak"; \ +seatSwitched = "call cba_xeh_fnc_seatSwitched"; \ +seatSwitchedMan = "call cba_xeh_fnc_seatSwitchedMan"; \ +slotItemChanged = "call cba_xeh_fnc_slotItemChanged"; \ +suppressed = "call cba_xeh_fnc_suppressed"; \ +soundPlayed = "call cba_xeh_fnc_soundPlayed"; \ +take = "call cba_xeh_fnc_take"; \ +turnIn = "call cba_xeh_fnc_turnIn"; \ +turnOut = "call cba_xeh_fnc_turnOut"; \ +visionModeChanged = "call cba_xeh_fnc_visionModeChanged"; \ +weaponAssembled = "call cba_xeh_fnc_weaponAssembled"; \ +weaponDisassembled = "call cba_xeh_fnc_weaponDisassembled"; \ +weaponDeployed = "call cba_xeh_fnc_weaponDeployed"; \ +weaponRested = "call cba_xeh_fnc_weaponRested"; + + +/* + MACRO: DELETE_EVENTHANDLERS + + Removes all event handlers. +*/ + +#define DELETE_EVENTHANDLERS init = ""; \ +fired = ""; \ +animChanged = ""; \ +animDone = ""; \ +animStateChanged = ""; \ +cargoLoaded = ""; \ +cargoUnloaded = ""; \ +containerClosed = ""; \ +containerOpened = ""; \ +controlsShifted = ""; \ +dammaged = ""; \ +deleted = ""; \ +disassembled = ""; \ +engine = ""; \ +epeContact = ""; \ +epeContactEnd = ""; \ +epeContactStart = ""; \ +explosion = ""; \ +firedMan = ""; \ +firedNear = ""; \ +fuel = ""; \ +gear = ""; \ +gestureChanged = ""; \ +gestureDone = "" \ +getIn = ""; \ +getInMan = ""; \ +getOut = ""; \ +getOutMan = ""; \ +hit = ""; \ +hitPart = ""; \ +incomingMissile = ""; \ +inventoryClosed = ""; \ +inventoryOpened = ""; \ +killed = ""; \ +landedTouchDown = ""; \ +landedStopped = ""; \ +local = ""; \ +opticsModeChanged = ""; \ +opticsSwitch = ""; \ +put = ""; \ +reloaded = ""; \ +respawn = ""; \ +ropeAttach = ""; \ +ropeBreak = ""; \ +seatSwitched = ""; \ +seatSwitchedMan = ""; \ +soundPlayed = ""; \ +suppressed = ""; \ +take = ""; \ +turnIn = ""; \ +turnOut = ""; \ +visionModeChanged = ""; \ +weaponAssembled = ""; \ +weaponDisassembled = ""; \ +weaponDeployed = ""; \ +weaponRested = ""; diff --git a/include/z/ace/addons/common/$PBOPREFIX$ b/include/z/ace/addons/common/$PBOPREFIX$ new file mode 100644 index 0000000..a119c03 --- /dev/null +++ b/include/z/ace/addons/common/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\common \ No newline at end of file diff --git a/include/z/ace/addons/common/script_component.hpp b/include/z/ace/addons/common/script_component.hpp new file mode 100644 index 0000000..a5c9744 --- /dev/null +++ b/include/z/ace/addons/common/script_component.hpp @@ -0,0 +1,32 @@ +#define COMPONENT common +#define COMPONENT_BEAUTIFIED Common +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_COMMON + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_COMMON + #define DEBUG_SETTINGS DEBUG_SETTINGS_COMMON +#endif + +#include "\z\ace\addons\main\script_macros.hpp" + +// just kept for BWC, canDig now uses GVAR(canDigSurfaces) +#define DIG_SURFACE_BLACKLIST [ \ + "concrete", "concrete_exp", "concrete_int", "int_concrete", "int_concrete_exp", \ + "pavement_exp", "int_pavement_exp", \ + "tiling", "tiles_int", "int_tiles", \ + "roof_tin", "roof_tiles", "rooftiles_exp", \ + "tarmac", "asphalt_exp", \ + "stones_exp", "rock", "stony", \ + "metal", "gridmetal_exp", "metalplate_exp", "int_metalplate_exp", "metal_int", "wavymetal", "wavymetal_exp", "int_metal", "steel_exp", \ + "lino_exp", "int_lino_exp", "int_mat_exp", \ + "wood", "wood_int", "int_wood", "softwood_exp", "int_softwood_exp", "int_solidwood_exp" \ +] + +#define DIG_SURFACE_WHITELIST ["grass", "grasstall_exp", "forest_exp", "snow"] diff --git a/include/z/ace/addons/main/$PBOPREFIX$ b/include/z/ace/addons/main/$PBOPREFIX$ new file mode 100644 index 0000000..f19bbb9 --- /dev/null +++ b/include/z/ace/addons/main/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\main \ No newline at end of file diff --git a/include/z/ace/addons/main/script_component.hpp b/include/z/ace/addons/main/script_component.hpp new file mode 100644 index 0000000..c88928f --- /dev/null +++ b/include/z/ace/addons/main/script_component.hpp @@ -0,0 +1,17 @@ +#define COMPONENT main +#define COMPONENT_BEAUTIFIED Main +#include "\z\ace\addons\main\script_mod.hpp" + +// #define DEBUG_MODE_FULL +// #define DISABLE_COMPILE_CACHE +// #define ENABLE_PERFORMANCE_COUNTERS + +#ifdef DEBUG_ENABLED_MAIN + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_MAIN + #define DEBUG_SETTINGS DEBUG_SETTINGS_MAIN +#endif + +#include "\z\ace\addons\main\script_macros.hpp" diff --git a/include/z/ace/addons/main/script_debug.hpp b/include/z/ace/addons/main/script_debug.hpp new file mode 100644 index 0000000..72b6657 --- /dev/null +++ b/include/z/ace/addons/main/script_debug.hpp @@ -0,0 +1,58 @@ +/** +Fast Recompiling via function +**/ +// #define DISABLE_COMPILE_CACHE +// To Use: [] call ACE_PREP_RECOMPILE; + +#ifdef DISABLE_COMPILE_CACHE + #define LINKFUNC(x) {_this call FUNC(x)} + #define PREP_RECOMPILE_START if (isNil "ACE_PREP_RECOMPILE") then {ACE_RECOMPILES = []; ACE_PREP_RECOMPILE = {{call _x} forEach ACE_RECOMPILES;}}; private _recomp = { + #define PREP_RECOMPILE_END }; call _recomp; ACE_RECOMPILES pushBack _recomp; +#else + #define LINKFUNC(x) FUNC(x) + #define PREP_RECOMPILE_START ; /* disabled */ + #define PREP_RECOMPILE_END ; /* disabled */ +#endif + + +/** +STACK TRACING +**/ +//#define ENABLE_CALLSTACK +//#define ENABLE_PERFORMANCE_COUNTERS +//#define DEBUG_EVENTS + +#ifdef ENABLE_CALLSTACK + #define CALLSTACK(function) {if(ACE_IS_ERRORED) then { ['AUTO','AUTO'] call ACE_DUMPSTACK_FNC; ACE_IS_ERRORED = false; }; ACE_IS_ERRORED = true; ACE_STACK_TRACE set [ACE_STACK_DEPTH, [diag_tickTime, __FILE__, __LINE__, ACE_CURRENT_FUNCTION, 'ANON', _this]]; ACE_STACK_DEPTH = ACE_STACK_DEPTH + 1; ACE_CURRENT_FUNCTION = 'ANON'; private _ret = _this call ##function; ACE_STACK_DEPTH = ACE_STACK_DEPTH - 1; ACE_IS_ERRORED = false; _ret;} + #define CALLSTACK_NAMED(function, functionName) {if(ACE_IS_ERRORED) then { ['AUTO','AUTO'] call ACE_DUMPSTACK_FNC; ACE_IS_ERRORED = false; }; ACE_IS_ERRORED = true; ACE_STACK_TRACE set [ACE_STACK_DEPTH, [diag_tickTime, __FILE__, __LINE__, ACE_CURRENT_FUNCTION, functionName, _this]]; ACE_STACK_DEPTH = ACE_STACK_DEPTH + 1; ACE_CURRENT_FUNCTION = functionName; private _ret = _this call ##function; ACE_STACK_DEPTH = ACE_STACK_DEPTH - 1; ACE_IS_ERRORED = false; _ret;} + #define DUMPSTACK ([__FILE__, __LINE__] call ACE_DUMPSTACK_FNC) + + #define FUNC(var1) {if(ACE_IS_ERRORED) then { ['AUTO','AUTO'] call ACE_DUMPSTACK_FNC; ACE_IS_ERRORED = false; }; ACE_IS_ERRORED = true; ACE_STACK_TRACE set [ACE_STACK_DEPTH, [diag_tickTime, __FILE__, __LINE__, ACE_CURRENT_FUNCTION, 'TRIPLES(ADDON,fnc,var1)', _this]]; ACE_STACK_DEPTH = ACE_STACK_DEPTH + 1; ACE_CURRENT_FUNCTION = 'TRIPLES(ADDON,fnc,var1)'; private _ret = _this call TRIPLES(ADDON,fnc,var1); ACE_STACK_DEPTH = ACE_STACK_DEPTH - 1; ACE_IS_ERRORED = false; _ret;} + #define EFUNC(var1,var2) {if(ACE_IS_ERRORED) then { ['AUTO','AUTO'] call ACE_DUMPSTACK_FNC; ACE_IS_ERRORED = false; }; ACE_IS_ERRORED = true; ACE_STACK_TRACE set [ACE_STACK_DEPTH, [diag_tickTime, __FILE__, __LINE__, ACE_CURRENT_FUNCTION, 'TRIPLES(DOUBLES(PREFIX,var1),fnc,var2)', _this]]; ACE_STACK_DEPTH = ACE_STACK_DEPTH + 1; ACE_CURRENT_FUNCTION = 'TRIPLES(DOUBLES(PREFIX,var1),fnc,var2)'; private _ret = _this call TRIPLES(DOUBLES(PREFIX,var1),fnc,var2); ACE_STACK_DEPTH = ACE_STACK_DEPTH - 1; ACE_IS_ERRORED = false; _ret;} +#else + #define CALLSTACK(function) function + #define CALLSTACK_NAMED(function, functionName) function + #define DUMPSTACK ; /* disabled */ +#endif + + +/** +PERFORMANCE COUNTERS SECTION +**/ +//#define ENABLE_PERFORMANCE_COUNTERS +// To Use: [] call ace_common_fnc_dumpPerformanceCounters; + +#ifdef ENABLE_PERFORMANCE_COUNTERS + #define CBA_fnc_addPerFrameHandler { _ret = [(_this select 0), (_this select 1), (_this select 2), #function] call CBA_fnc_addPerFrameHandler; if(isNil "ACE_PFH_COUNTER" ) then { ACE_PFH_COUNTER=[]; }; ACE_PFH_COUNTER pushBack [[_ret, __FILE__, __LINE__], [(_this select 0), (_this select 1), (_this select 2)]]; _ret } + + #define CREATE_COUNTER(x) if(isNil "ACE_COUNTERS" ) then { ACE_COUNTERS=[]; }; GVAR(DOUBLES(x,counter))=[]; GVAR(DOUBLES(x,counter)) set[0, QUOTE(GVAR(DOUBLES(x,counter)))]; GVAR(DOUBLES(x,counter)) set[1, diag_tickTime]; ACE_COUNTERS pushBack GVAR(DOUBLES(x,counter)); + #define BEGIN_COUNTER(x) if(isNil QUOTE(GVAR(DOUBLES(x,counter)))) then { CREATE_COUNTER(x) }; GVAR(DOUBLES(x,counter)) set[2, diag_tickTime]; + #define END_COUNTER(x) GVAR(DOUBLES(x,counter)) pushBack [(GVAR(DOUBLES(x,counter)) select 2), diag_tickTime]; + + #define DUMP_COUNTERS ([__FILE__, __LINE__] call ACE_DUMPCOUNTERS_FNC) +#else + #define CREATE_COUNTER(x) ; /* disabled */ + #define BEGIN_COUNTER(x) ; /* disabled */ + #define END_COUNTER(x) ; /* disabled */ + #define DUMP_COUNTERS ; /* disabled */ +#endif diff --git a/include/z/ace/addons/main/script_macros.hpp b/include/z/ace/addons/main/script_macros.hpp new file mode 100644 index 0000000..495d592 --- /dev/null +++ b/include/z/ace/addons/main/script_macros.hpp @@ -0,0 +1,179 @@ +#define DEBUG_SYNCHRONOUS +#include "\x\cba\addons\main\script_macros_common.hpp" +#include "\x\cba\addons\xeh\script_xeh.hpp" + +// Default versioning level +#define DEFAULT_VERSIONING_LEVEL 2 + +#define DGVAR(varName) if(isNil "ACE_DEBUG_NAMESPACE") then { ACE_DEBUG_NAMESPACE = []; }; if(!(QUOTE(GVAR(varName)) in ACE_DEBUG_NAMESPACE)) then { PUSH(ACE_DEBUG_NAMESPACE, QUOTE(GVAR(varName))); }; GVAR(varName) +#define DVAR(varName) if(isNil "ACE_DEBUG_NAMESPACE") then { ACE_DEBUG_NAMESPACE = []; }; if(!(QUOTE(varName) in ACE_DEBUG_NAMESPACE)) then { PUSH(ACE_DEBUG_NAMESPACE, QUOTE(varName)); }; varName +#define DFUNC(var1) TRIPLES(ADDON,fnc,var1) +#define DEFUNC(var1,var2) TRIPLES(DOUBLES(PREFIX,var1),fnc,var2) + +#undef QFUNC +#undef QEFUNC +#define QFUNC(var1) QUOTE(DFUNC(var1)) +#define QEFUNC(var1,var2) QUOTE(DEFUNC(var1,var2)) + +#define GETVAR_SYS(var1,var2) getVariable [ARR_2(QUOTE(var1),var2)] +#define SETVAR_SYS(var1,var2) setVariable [ARR_2(QUOTE(var1),var2)] +#define SETPVAR_SYS(var1,var2) setVariable [ARR_3(QUOTE(var1),var2,true)] + +#undef GETVAR +#define GETVAR(var1,var2,var3) (var1 GETVAR_SYS(var2,var3)) +#define GETMVAR(var1,var2) (missionNamespace GETVAR_SYS(var1,var2)) +#define GETUVAR(var1,var2) (uiNamespace GETVAR_SYS(var1,var2)) +#define GETPRVAR(var1,var2) (profileNamespace GETVAR_SYS(var1,var2)) +#define GETPAVAR(var1,var2) (parsingNamespace GETVAR_SYS(var1,var2)) + +#undef SETVAR +#define SETVAR(var1,var2,var3) var1 SETVAR_SYS(var2,var3) +#define SETPVAR(var1,var2,var3) var1 SETPVAR_SYS(var2,var3) +#define SETMVAR(var1,var2) missionNamespace SETVAR_SYS(var1,var2) +#define SETUVAR(var1,var2) uiNamespace SETVAR_SYS(var1,var2) +#define SETPRVAR(var1,var2) profileNamespace SETVAR_SYS(var1,var2) +#define SETPAVAR(var1,var2) parsingNamespace SETVAR_SYS(var1,var2) + +#define GETGVAR(var1,var2) GETMVAR(GVAR(var1),var2) +#define GETEGVAR(var1,var2,var3) GETMVAR(EGVAR(var1,var2),var3) + +#define ARR_SELECT(ARRAY,INDEX,DEFAULT) (if (count ARRAY > INDEX) then {ARRAY select INDEX} else {DEFAULT}) +#define ANY_OF(ARRAY,CONDITION) (ARRAY findIf {CONDITION} != -1) + +// ACEX Merge +#define ACEX_PREFIX acex +#define XADDON DOUBLES(ACEX_PREFIX,COMPONENT) +#define XGVAR(var) DOUBLES(XADDON,var) +#define EXGVAR(var1,var2) TRIPLES(ACEX_PREFIX,var1,var2) +#define QXGVAR(var) QUOTE(XGVAR(var)) +#define QEXGVAR(var1,var2) QUOTE(EXGVAR(var1,var2)) +#define QQXGVAR(var) QUOTE(QXGVAR(var)) +#define QQEXGVAR(var1,var2) QUOTE(QEXGVAR(var1,var2)) +#define ACEX_PREP(func) PREP(func); TRIPLES(XADDON,fnc,func) = DFUNC(func) + + +#define MACRO_ADDWEAPON(WEAPON,COUNT) class _xx_##WEAPON { \ + weapon = #WEAPON; \ + count = COUNT; \ +} + +#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ + name = #ITEM; \ + count = COUNT; \ +} + +#define MACRO_ADDMAGAZINE(MAGAZINE,COUNT) class _xx_##MAGAZINE { \ + magazine = #MAGAZINE; \ + count = COUNT; \ +} + +#define MACRO_ADDBACKPACK(BACKPACK,COUNT) class _xx_##BACKPACK { \ + backpack = #BACKPACK; \ + count = COUNT; \ +} + +// weapon types +#define TYPE_WEAPON_PRIMARY 1 +#define TYPE_WEAPON_HANDGUN 2 +#define TYPE_WEAPON_SECONDARY 4 +// magazine types +#define TYPE_MAGAZINE_HANDGUN_AND_GL 16 // mainly +#define TYPE_MAGAZINE_PRIMARY_AND_THROW 256 +#define TYPE_MAGAZINE_SECONDARY_AND_PUT 512 // mainly +#define TYPE_MAGAZINE_MISSILE 768 +// more types +#define TYPE_BINOCULAR_AND_NVG 4096 +#define TYPE_WEAPON_VEHICLE 65536 +#define TYPE_ITEM 131072 +// item types +#define TYPE_DEFAULT 0 +#define TYPE_MUZZLE 101 +#define TYPE_OPTICS 201 +#define TYPE_FLASHLIGHT 301 +#define TYPE_BIPOD 302 +#define TYPE_FIRST_AID_KIT 401 +#define TYPE_FINS 501 // not implemented +#define TYPE_BREATHING_BOMB 601 // not implemented +#define TYPE_NVG 602 +#define TYPE_GOGGLE 603 +#define TYPE_SCUBA 604 // not implemented +#define TYPE_HEADGEAR 605 +#define TYPE_FACTOR 607 +#define TYPE_MAP 608 +#define TYPE_COMPASS 609 +#define TYPE_WATCH 610 +#define TYPE_RADIO 611 +#define TYPE_GPS 612 +#define TYPE_HMD 616 +#define TYPE_BINOCULAR 617 +#define TYPE_MEDIKIT 619 +#define TYPE_TOOLKIT 620 +#define TYPE_UAV_TERMINAL 621 +#define TYPE_VEST 701 +#define TYPE_UNIFORM 801 +#define TYPE_BACKPACK 901 + +#ifdef DISABLE_COMPILE_CACHE + #undef PREP + #define PREP(fncName) DFUNC(fncName) = compile preprocessFileLineNumbers QPATHTOF(functions\DOUBLES(fnc,fncName).sqf) +#else + #undef PREP + #define PREP(fncName) [QPATHTOF(functions\DOUBLES(fnc,fncName).sqf), QFUNC(fncName)] call CBA_fnc_compileFunction +#endif + +#define PREP_MODULE(folder) [] call compile preprocessFileLineNumbers QPATHTOF(folder\__PREP__.sqf) + +#define ACE_isHC (!hasInterface && !isDedicated) + +#define IDC_STAMINA_BAR 193 + +#define ACE_DEPRECATED(arg1,arg2,arg3) WARNING_3("%1 is deprecated. Support will be dropped in version %2. Replaced by: %3",arg1,arg2,arg3) + +#define PFORMAT_10(MESSAGE,A,B,C,D,E,F,G,H,I,J) \ + format ['%1: A=%2, B=%3, C=%4, D=%5, E=%6, F=%7, G=%8, H=%9, I=%10 J=%11', MESSAGE, RETNIL(A), RETNIL(B), RETNIL(C), RETNIL(D), RETNIL(E), RETNIL(F), RETNIL(G), RETNIL(H), RETNIL(I), RETNIL(J)] +#ifdef DEBUG_MODE_FULL +#define TRACE_10(MESSAGE,A,B,C,D,E,F,G,H,I,J) LOG_SYS_FILELINENUMBERS('TRACE',PFORMAT_10(str diag_frameNo + ' ' + (MESSAGE),A,B,C,D,E,F,G,H,I,J)) +#else + #define TRACE_10(MESSAGE,A,B,C,D,E,F,G,H,I,J) /* disabled */ +#endif + +#define GRAVITY 9.8066 + +#define SD_TO_MIN_MAX(d) ((d) * 3.371) // Standard deviation -> min / max of random [min, mid, max] + +// Angular unit conversion +// 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)) + +#define SUBSKILLS ["aimingAccuracy", "aimingShake", "aimingSpeed", "spotDistance", "spotTime", "courage", "reloadSpeed", "commanding", "general"] + +// macro add a dummy cfgPatch and notLoaded entry +#define ACE_PATCH_NOT_LOADED(NAME,CAUSE) \ +class CfgPatches { \ + class DOUBLES(NAME,notLoaded) { \ + units[] = {}; \ + weapons[] = {}; \ + requiredVersion = REQUIRED_VERSION; \ + requiredAddons[] = {"ace_main"}; \ + VERSION_CONFIG; \ + }; \ +}; \ +class ace_notLoaded { \ + NAME = CAUSE; \ +}; + +#include "script_debug.hpp" diff --git a/include/z/ace/addons/main/script_mod.hpp b/include/z/ace/addons/main/script_mod.hpp new file mode 100644 index 0000000..42d110f --- /dev/null +++ b/include/z/ace/addons/main/script_mod.hpp @@ -0,0 +1,23 @@ +// COMPONENT should be defined in the script_component.hpp and included BEFORE this hpp + +#define MAINPREFIX z +#define PREFIX ace + +#include "script_version.hpp" + +#define VERSION MAJOR.MINOR +#define VERSION_STR MAJOR.MINOR.PATCHLVL.BUILD +#define VERSION_AR MAJOR,MINOR,PATCHLVL,BUILD + +// MINIMAL required version for the Mod. Components can specify others.. +#define REQUIRED_VERSION 2.18 +#define REQUIRED_CBA_VERSION {3,18,0} + +#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/include/z/ace/addons/main/script_version.hpp b/include/z/ace/addons/main/script_version.hpp new file mode 100644 index 0000000..6917de8 --- /dev/null +++ b/include/z/ace/addons/main/script_version.hpp @@ -0,0 +1,4 @@ +#define MAJOR 3 +#define MINOR 18 +#define PATCHLVL 1 +#define BUILD 91 diff --git a/main.go b/main.go new file mode 100644 index 0000000..ba76288 --- /dev/null +++ b/main.go @@ -0,0 +1,92 @@ +package main + +import ( + "encoding/json" + "fmt" + "log" + "os" + "path/filepath" + + "code.gitea.io/sdk/gitea" +) + +type VersionInfo struct { + Version string `json:"version"` +} + +func main() { + client, err := createGiteaClient() + if err != nil { + log.Fatalf("Error creating Gitea client: %v", err) + } + + version := os.Getenv("VERSION") + if version == "" { + log.Fatalf("VERSION environment variable is not set") + } + + if err := updateVersionFile(version); err != nil { + log.Fatalf("Error updating version file: %v", err) + } + + repoOwner := "IDSolutions" + repoName := "client" + + release, err := createRelease(client, repoOwner, repoName, version) + if err != nil { + log.Fatalf("Error creating release: %v", err) + } + + // Construct the filename using the version + artifactFilename := fmt.Sprintf("forge_client-%s.zip", version) + artifactPath := filepath.Join("releases", artifactFilename) + + if err := uploadArtifact(client, repoOwner, repoName, release.ID, artifactPath); err != nil { + log.Fatalf("Error uploading release asset: %v", err) + } + + fmt.Println("Release created, artifact uploaded, and version file updated successfully!") +} + +func updateVersionFile(version string) error { + versionInfo := VersionInfo{Version: version} + jsonData, err := json.MarshalIndent(versionInfo, "", " ") + if err != nil { + return fmt.Errorf("error marshaling version info: %w", err) + } + + err = os.WriteFile("forge_factions_version.json", jsonData, 0644) + if err != nil { + return fmt.Errorf("error writing version file: %w", err) + } + + return nil +} + +func createGiteaClient() (*gitea.Client, error) { + token := os.Getenv("GITHUB_TOKEN") + if token == "" { + return nil, fmt.Errorf("GITHUB_TOKEN environment variable is not set") + } + return gitea.NewClient("https://gitea.innovativedevsolutions.org", gitea.SetToken(token)) +} + +func createRelease(client *gitea.Client, owner, repo, version string) (*gitea.Release, error) { + release, _, err := client.CreateRelease(owner, repo, gitea.CreateReleaseOption{ + TagName: version, + Title: fmt.Sprintf("FORGE Client v%s", version), + Note: fmt.Sprintf("Release notes for version %s", version), + }) + return release, err +} + +func uploadArtifact(client *gitea.Client, owner, repo string, releaseID int64, artifactPath string) error { + file, err := os.Open(artifactPath) + if err != nil { + return fmt.Errorf("error opening artifact file: %w", err) + } + defer file.Close() + + _, _, err = client.CreateReleaseAttachment(owner, repo, releaseID, file, filepath.Base(artifactPath)) + return err +} diff --git a/mod.cpp b/mod.cpp new file mode 100644 index 0000000..874df33 --- /dev/null +++ b/mod.cpp @@ -0,0 +1,12 @@ +name = "FORGE Client"; +author = "IDSolutions"; +picture = "title_co.paa"; +logoSmall = "icon_64_ca.paa"; +logo = "icon_128_ca.paa"; +logoOver = "icon_128_highlight_ca.paa"; +tooltip = "IDS"; +tooltipOwned = "IDS Owned"; +overview = "FORGE Client - Official Modification"; +description = "IDS Client - Version 1.0.0"; +action = "https://innovativedevsolutions.org"; +actionName = "Website"; \ No newline at end of file diff --git a/title_co.paa b/title_co.paa new file mode 100644 index 0000000000000000000000000000000000000000..98456d4dd8fab5f05406ab63f560e3595551d06f GIT binary patch literal 95797 zcmeFZeNa^AA%sf#eXd4qTol4rNO*m1ocC7Yeex~hof-)+|!~(XR1R9fbew%5>=Uwj~ z@Bi;w4{M<(z)EuVeedhO?(4pG5N6dX&AR2Q)@#@RfW@mH&;0k}I?baqj~Vzi^LUl! zk%wj;qwss?@vk3x=vQiZZGqpP{scgDIRYj&Ai&#*fPq#7T-uI+FLxk7@;n0n;{WsO z6~JEc6A%LpVAMeN%b$))|MzlcDgJjIeol!0U5Ec&hyUFSKj*;zKi1*1IiP-$4e9|= z)(@0fKG1(1sn5E77#x!Q=QeDz|6D#l7i3M=wE-aN`f4J3l3^(HZ=+KYhH>g7lM$L> z9J;K@FwFp`u71jhICVNU0ut*dbxr^xbo*4;iGnb_WGc)!oncx+g6JX!@PRBk>9j6p zB9SO%w=ZU9P3ait^(9Q^RFcz4EoLNB&apjcn0|4}=yW<~F@I;;0m=LOlqWfZt;%Hn z$T0N{NJI}%r2_=$&NN*E@&_Y$!qR>uBX&rjJlmQ1{eNy?G=~4@GC>N!oUbObrWl6I zlS~F846#Y~!9-t#Y1HZZB9h6k0B{5%2P4C8xzS9<6A9N+r%eFW(N6AS6T+T!HfB!M zc&d2j6y&oG`0B=4QyL)&7BOf&aOhG%EyGE3t^+Tp=oU@+z~XBlGSLq*C+F)yEWyX& zrzTF}`5GjUg0yVY10)=ww|1uZlI37-U!>hRwljk{6uExdY4y;N2&rP6bxa^qq#M#j zA}=!E+X470Qa8ou?5bH)FRq(|O2G8QA6}fB{hzxVjmdwxyf7EMKRSik%z(@M)-$n$ zVTj|PFA|9`e|UY9Cz8p$$#3~19xE4koX*o8x^$}B>1M+8Gsjmaa@)R&yi^9+gE1Vz zbBGYuKw?}Z*{;*QKOy5WF-#LczyU@#spg`94v|h% z0;)R@b<6Z1AwYf9|6es2NNPxVra{OzfbF9x2pUd7zKS%Y7hrR&k!CDM>o$N_YLXEE zf3t{r;{qQ5-g+iNkMAHYi}Zlw^qjo&2PTuL=jfK;(ynB`^H5~sMVJN`WFL(FG_gTM z|IZ>Sez|;YE_iG7Yn)p8>m8$*v>%|v+sB4khqPws2H11;EJLc@o}9SA1{O%cf*`U$4@@Zu#P#Q>1^X~iXvltl zv|)}%fMl-X0Mv&y>}|xfVMyn7R8A9kXR<#z!E8liOmS*)~9vyuJwzFd&vlH*lE5aK$aWk z8vdDz2zwEEr#fO#fFi6@J*5Y1kQ7)nB|M=eJmlbosx=}W$g9u0L7=43gh#sd7#`(>b-_-}`gOLCecDHnRB08N; zc`yR=p{;ficAPK&zaA!Yhl_Ps$-@e+lO&+gSvJKTQPtX26PXmt5Lx9JkKn==5#uC_R+Od z9nnz1)yRga@FlzDeL3xqU%Gz>!T;Pr&Rno#bSrKmf$+csqrZlzwub+}=+;P*y}2b! zZ<`2*@AURfsJU=gw|VebKYLTH&V3xdw2fF~GcU4L%8K+Ai}aS5V37$_mhY4m+0aT8 zyHX0|F^eIqZVGEq2T~grO=;!QbI89U{LQPEr1IXRGp3ApPA6TBES{nxYT2}S`AQ~s z{{Gw3&->+)15sB|I=XFwp?X@jPdqT%xrYU=Mt(h^3#3{D5exjYVM8XP;o1#49bSTf zb#SRMh#^jyqGD+z-&7$>4VueyfZLW-m)OA7bfR<&;5ND~nPNFnt$@W9oijUqAUXsX zAAksR7#N3uu5u0tS%QkCTci@fXw(&e4vWHZ8* zC+8cGEgk_&DKA%J=7*9zSf%=(&8wGzMBXCi%}5c&d^Kz83>`b4eV8v#adW){ z((QEGD{U}&VuYfz!sP`BJeThCRL-C@=w&C z5d(x3{nq~V#Iz9n{6*V${=67}nG1dxT7*d%z^0ChM|X^pvtM-{j4T`t?3mSiaALG- zH9M*CUlELJX*1{^g8OG(NjW7;B58_p=Lg#rUNhdXG@d)x9CpJPmt#YfD1^nV=1SD+ z1@a>m%tt09wOL5H0O%1m2_X;R4@#^;@kVox&s<7iNyI%=xXsrrY^ZN*@6l%<#*S&1DRcXR!;%U7h+4zlzy&6N z#|SbJQTqb8c}y<}XW3WKiRHK13Aon}c$v&i2|x=El`>}{ zQ#yT9ByxtHMh_k8i_8-L0}TJXLa=qT<^6p5evklS-6%soH%mPF{>00u1wR=1GH}{e zQ2px(4DQ#~^hD!x323=23racWtB znUv2hr<{9meK~g447#x+BO4H! zvKHikn}S5izrw*^R`@ssAM{^Czn-9eHH-7>i64e+?)Ya9 zjNX*t=ZWnTBCAMSTH@FC)sXzfRK#oS8fUet>y^py=P za2U9Qpe_v=ka0w&G}$~Uz`ca%M7+oZKsHqnYHR!IrbKs0&^50{Kb6Zv!K?MR*SdRq zU;1qCOJxjso%5$tJ(Akm+B(xLgzE1<8T zP=NAEcQ9KcVO_2MtBI|VA1<9Z_DIzS2*X8X%fORGWX5en?)ax>|6DXzUpx$s~a(h%^a%CGguU5Yt$z%BO?9yx7p z7N&6AE)#&*DeqhsP@{Qsd;`MV3ew3-0!LxT08}=@nC!eIqu4iPx8T-h;9cP5mAR%$ zl@#Jp)`*NkZb{rnla-h=UkWa+_Jkd>!}vt$Sj-Y(%JWPt4=ph?tlQJzQlM&t|I zU^}d@xOvGb%9J2uH&7~=h)5vJ6e*4nlp99i_ay3EF0pb=DR66G zbIC4Yk6drYrOU7!+T95#9!HhHxhc#Boe*(Ud?2@(8+eT3FyWqOgZEBwu$x7lggaS; zI&bB%vrK3Vf={Jvd&U9-P+|!QI^AKGMErZL4K%P7dQL-@(+2djV(d;3H}mq94Z^c} z7T~fmlF_{t9la&d=>p0>e8t8}Uv1UD@4KiGtJy$&Tk~Ye!abYkY?ykf?2wX&ZkYNi zVls3*zdhpkZ;QXR?qP3pmAHG?+wJTJS?kxWuZ7u>byGGdCzjumo%aI6T#}?@x*fH0 zgT-N27}Oyr8||DI!u(WjYydA;Z{RQ-)^XbdVlA7FDh^wmSdK=U!s9x#{O9FIFVr%$ z{IDg;7V0ao!)k}JQVpMFXm>~`lnt7fAAL@#e;K<#MzG*&z~_|)bZ6)rc@T+seUajb zAcMKSCh|T6tjIU__f#6WFPj6f9(^t%Q=6vrT#y`4?wvh(TLVL+d$s=Uvh71(*Iv{p z@-2DI;tk9@@*!dg79>*amwtcem?Q$p^daTe2@Q8zUntn9xlxQ-?mUi{otLedrj6!o zI#ev}%GF!sLtUs@*)5qDWV4JUc~jV9%PfE}*Xfriq#DH$3mp|VA_&RYEpRP##%NRy z<6x2Z`$KjL=nNrvMbdx`Yc~!|d3c5Tv}8^X@&LUIo2Aa2YUHLN;0;>6Zb2$buqKj9 z`?G()>CK5^C~Eu=z8@H=>gUUKQjmIJ=*J<(IFB!$crFl&{N3mt!k3o&TN9Aa1K5Tr zkfhoxge;3$)Lp64NE^>8`U#&a&FYI&iWt2C<;(SDEM45)CFwq#cpmc-upG;;({86q z)wz_fG?Vc-49bEaA-56vBym&1DUgEsUScLFuvM}VveawDXB~J@oute7X7r}ykg{ty z3og3cL;*zec3Je^)~#Ia%6#Y97S$5wwgwLpyjfG8i0sry&jOG+1s@|CF5D-DAnll} zNmyD@QHYk@$op~2KjV1G`Mg>qnS_^&NX+KwFgxp(>}@qL&y9v=ss_6t2XqTGS-Er6 zQ;ee1Qj3V0T(4hoZP4k+m0rjtEmp~(Qg0D!cSRk!L;hwxg7EoDoq1`5rU
  • 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
  • 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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/no9_sel.paa b/addons/phone/ui/data/no9_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..0e993f6a00973a9848ec78c1abcb483ac589478a GIT binary patch literal 40448 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 b78Us!Ji9qkbM-YSW6wnE>d!BOC%AtAci_?7 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/phone.paa b/addons/phone/ui/data/phone.paa new file mode 100644 index 0000000000000000000000000000000000000000..8a742da52f3279f351930a14d0772d6d3d677ee9 GIT binary patch literal 42599 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 We$n|K>0a8i*V26E(D$h4g7E*1yB47U literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/phone_sel.paa b/addons/phone/ui/data/phone_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..3277a8295de6a442d15dca87245d433ad8099bbf GIT binary patch literal 55807 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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/photos.paa b/addons/phone/ui/data/photos.paa new file mode 100644 index 0000000000000000000000000000000000000000..e3832f4c881114fcf67b41f1df640d8810f2a9da GIT binary patch literal 49288 zcma&Od3Y1m{y%=sOr~v`X6Z&-wmC^#vNbJ>Wu0WEfJj}iK+_gTn}B*RF4dx-ppykq zKjKwZ%OZ3Emx~H62zb#+8t}T{{ai(^b*s>#pa^QqQY&YKN{rp+8 zZWrKn1pY}kBb0V8LdMq+8ulJSqdE{OiX(I{{QH0SS%awZn^6`b|NZQb=>Pii0faOd zRc!4f?jTf(7|Akvn^fLfB_K@={LNEA~;Uy+bKf#?wK zn&{+FV^@mRjWiiFK6$utn#+xJoE!b>N}w*47_$d0(h3W+g>Po|IMQM#w%ECteatlVnX1eDeVhyIJG#0IfvJv8VbqDn;CAd}r5TJkc|X zq3W4t>ve=uVdEw5x$M>`N`sfD4;NXjBBImj%4AouO+=JVQ+ZjjM^T1>ez40fAzH6F z{y^7RyM#3cL@JAR6gk}JZo3DW7(Lr%kC=hH6jOa_p)H0oQ+!6dh=RBqcE?M)zDt4g ztLJ*%jlM5U=#9)U8=arlka~8E)q_@M_>Ad_Vi@@oLSCqfi{ecGmTgneuYU>f_T3^ z@2R;d_vz`@T{I|c_Io~z8!s!TPh%ygK6OjlB#H4EX@bU%SCnXKX9l8j$D;U{1b)?k zhTWp4Cnm7NkA3I_NMp8+%3F*!4lx=OqzV45f^%&Io+{|g#;2OfIbErwb9pj`E!5Ko zK^~QQdTRpjt#6#5rysP(^f{yT^yUPvtzR*Go^f-EHD<{E$Go)4L954@`9uT0`?CKHQ19T#=2X(VY9nEEVc6f_gs^#N%V;^ zq`Pd8mSHcId2AlF@XDzblwQ}T$IognDlNf6vY7^aht4Xow2oHh4;I=)VwMOs&w8JJlQUd#uWsL@ zFvy8=b>yun5(xT)TQknhZ*-*brLyh2K`ZCcq~dGJ&WRs6L=SH5eq@1F_RzV^weWi` zTZsKCvrV7Vt+XxD=j=D&z5hBjQ0)Ip{wk|{--9X2Ri(dMQMDT(t2CN~c{G5iL`y_O zc*I3oIHd{rkfz`m5^(tUX2xrtZa$yWa?P^~r+I4w1*zeA${qS=llu*-U(lpcx1aRf zX)Fno#d9Fg5aRsxPfLSW#m>MuxrA^zLk`P$W!EpdckQZ}1MAC@^}>?MwLAjBkP3rQpN! zyB6yAJKgz$oqJ(yOxRph@)Ri5LlWyqG~lsr{LlR8cHwfM{^#<+n zw(fT>4%>PtTaqdmzd(4L_L4-?yn3$99|dPRth_5@|bJEou#$bWW%sE52LiRMI6uMGQ)q2?@3-e zd<*lZc+p=}nm9y_I=rDTTr94!gcj$2Iu|ixBq7xo7?u_~=2@uUXOr^j{`bFKqJKul z7VdpK?STGsrzAM#06`v(luB$V*J@E3x(?rEjbGHH)5jA#%RX1dH!|&b%X^b-3HA@O zxDTIQw~1=un>9x4I(5En=L}`@bAPgCDaRAug95*e=@7b33!(SlM><^AcT=HQOI0^T z*mR3q*kFyZ22Bg@v`Gc{;px-%5Hyt|(Zt3{A`cW`J$2+UhsbM2rypF0%JuYf$v-z6FNR3F8+~iz_EC~FKKxAZE|Ag!LHcl{e zgqqI3u;FupY#bRYwU)%;n0{XZ4{m$pCs>}XPrL{I@C_RnX=k|}D;;A((bxcN(iUY` z-Gv3v+O>%k++GVWgv0{ub$XEB3*TJXfZM(B%UhE^dWsu8U(Yx)=n^;XcX?2Hr`?T6 zLnd{|=0-d3!Wh=u9M$)Z@sQI4me8@0XG=W9tSgb(qL5(x(#ewp^fwdbsm0uG^0jz$ ztmiZ~m36R{JBKB(u2AH`*hi-N6nlstea(FPO%dvxIDzrz7HhXA|7e4?w}p6nasdiB zL!){ctie&I>hVfDH<}70Na9rikw@INnRu5q+FD>f`!X#=s7u^WMN%uiq5I?RSYqxou=56q z^$$i?*4V;qAmJlV|5t~T%Hl+MX}E&YH^YZk%LY8RTe*~TtZ?#&7Ae4t`UfHiH&KQ1 zKd74Os)95l{o00p8#e;qcg(ZICZDN4wZcjDD?GES{99dGGA@>t#tFBNg8nZol`>yv|RiY4@s7Q^1bF#Bc_Ii&__aUxz< zLq7hKLQ980>zl#<<-lhi<`!#QogICt%C%-3Fh_*c>YUrZw+ag8Cc1{>4`kf*w3i`KMMZYGUTDIz;(z#Zd)mU^#c5a(= z&YI+{zoez%Uj#$a(s5%hql!#)FT2Ghv6PT#^3@Wgl~}+ngccIo;!dwiEQXIf=rI+3 zZJr=>^yOv6?@0Ak1%$%%{}KqbMVYmyA&u22G)?hVjw3{Um88V(F#VCO0C=Z z+_L5@8B=*FM@BqikFfDi&y)g%dPYO@c5+chxDg zj83zBkEfmPw?#)bmPqXrhYI^jy8TWh8LdyQZNf=m^X*t ze%Tsa!{?xX;+pEbltM5pAR-lCosfKC!?hCks5L+YS;z?;;r``-f*)R$ zH-DfH{ARIERBU1gWB*6oaQ4K86=2gZ7J?mf0-a9nn{Yi~6WbXY-*TXM(VAkLG>X)Vk$U|`Q*OkA-^!go z(S+A{vYGnCIPi{mLe8pf4h}KO_{=86j71iA2R0$}WISk&@o~Y*CFw{)NF2&0!DX13i!XTE*V?&&d0e2*ls$dV zY>M0>#j}M|(?_z^{5sJV^0Q5mCLCa)l5o10OiHL62NynwZ2* zRdqgso&xr1l(?QLCR1W*O9x6k8Pj_me1@V_=;?@q%V?l4cp*Vi0AF{gULF?3=#7#v zLMRH39zxR!&x`N(kKqD2(|>3qWz*Q)^)m~gfh|ZPx+6GOhxf2 z5D}_tKvUL9enKm3d2TLA_XOS^DB&`E7o9`rZ%ARmIKsEOTAWjz1rHBa-4<4U0E*FB1X7XnrZ&0pxJjY^;DZpk^ zL)se>r5taf(Nyw=I0VvYMfq*;-~A4ENBf-nX)xfu3M(Ye&v{iiVUtqv55FB-M2`IV zQA@H=-|SKrLq-j0pfrq`e1*T17w+?~z~E9MbXoQudTO1+9l2nn+t-%cqVA<`cSIni z306A|IGjRho2$m<0<)=MX{&PQ+hhFH5%cIv8*LqJTW|o6BR-ZIJdMFOBWIMYG6xq$ ztkLIN8xl>`tJG_o9suE6yj-xra=Y zFstU9b6NqB0a=xX>{Cq4(I;n`Jwyw~B=RuhL!T>`!pb#XQ5JkE#3PZ(1@+2yo7~3a zq+OuF2TVy~hRU3QtEh5PE3>)rR(nU=vfOOD)TT)vej?pvqVrH#znnd?^RXkFMs%G< zsIxgYHy=%pyjvpj;Y5|{1R)@fj;9nA&dA#06?i(QGKL+$^(BcSKvS)Y@ZVR%elU*eT^-w&UA; z$2W}(dS~PUmr#iu!ht%K;^7ht6&#kJCO2`qqVQ$-1sW@}=^dcgH-o z$GUP2ZwY=^Jp+x>eQ%ciHo1dNqn6MU0|0Lexpp!~W=lFcrU27AIxPAr^-3mW$Bbji z3B#{d#&edil3Nba7!jM@JD8c6Qb&*j_8O&bUgaj~u(^X6)ZGP{9m^41(W_-l$brVB zI;-3Iw14kQJ3SyOjIYk3zfkDeV@tB>v>&(A*KOQr;3eS|md3}kR`VG$*61{=nzN^D zQbU)~EQRf$h^}48*zZ$Ti~u6^Qa1oyUkyR&T$tRh(g0hU4<;>%kST$+EeS8lS81tA zvVZAi>YAOQqZPeXod5u(GqmgRzxSnY7`b{+9YS3gbQ}Xz_HQ+ppPj@T!tafLT)oaY-gzY9AY0q2} zcza^LCbC#P45h($ZyGimfq@y!eUK~gCE2?atK7{@x~XSF^85yQ`G`7&To?CdPOp!| ztxQ#5)sky6n{{+olUcG7bY5o326g$D!P~uT4)XKJJ?eRu%WNk1B8JS+M{8R)!1R~Bumw02@x_o*`dKhYKc=! zpry(1xM3wq*d6(pAV%hcicj4EY2gI7tLr}wCwQE!A6hiQ-m^LSxhe-o4C^KcsCPz{km*+~bPk^bx5(w#K-s47(52={JL-4tkD1l!zd;AM)$d3Q6 zx~X1iMu_w!S@+}c-8_}snJGQALsrOLGHU~*GCuE;$*5|TN0G9>10u3#%r?s4R0d&l zsFM6s9w!R=%bd!B|Z=<#{m*G_?` z&`o8gw1Yu`Y!`!1lh{(#WmYYGT(peaMlzcG`tFu5iy$k=+7 z{Hjf@Chw@5tVp(%mz$7w`by6RTY?n?RGMT{Gsy$8A5>-n9IXvF0}_!l5pet#_|7Q^ zpzYTRFT{n7d6DlJbZ++<{3ouyO;wkCP?wdSjbwk4^=!7mX%j%B8wJh0P+J38$SvTC z{|!sbxEwh%e^Iqn;;9>dX+M*jPf>TByP$*0a4q=<2b3>KvgY1=q(}J}pvDceQ9_vj zqJzUS40X?%F-zBsA?Qt+E#%v)ngVcAC-A87f*|y~Y30$G$Qei=T^uUp1uei7^5195eg zJADfFR|6MPVK3_Y_A`!Hyy&9E9jGCDxqzrF*aTsii}GG)2QMq|nvUl21YJwAgUN!( zY^yk2GmyBW=heM?tx}K1DAPTlIVLLJ9>lMb-`vOn&>M9E(m(&R`Pxga1djWDsvMgn zJCf|3m#J|AAaxc{|0^Cfgazo;X8;mv$@2<(PEl;!56p~S>QewcEA4KwegUclfAOl9 zB-|(+dK5FaE&wRsk#%FQJ|8(F??6p9$@c%CW)>Wx4|btQgBQw0k$h_U=~cgG(E0TA zlT?o$FsZav<2_6FfMBgsJJy`1zII62L;+7h_ssY@Vi!}Ge_ld8X|=VrHf|J!dQf_^ zO&NL3+~XZvOjdzZpZGo!kH?`~!;S~WY4v(NSs7-}RXk%(IDJkx>dD6uf&SqG^31!P zCLCWtq4hn_?sdqh9{7SrK$-T!%XmH1u&iR>vH^|1V zZXIdBJqQ!L_3G=4T+E0d(tt>Kj_$T&$%)tjAkRL`3u+q<=$C^Y(;3 z2^f+pcEt!}OL4V7@N|N0y%U3DX`l}MfC4^iZ1TIm5|_x5OgDMS3Ap9ZFLaNIj^q&q z4C$XeRL@=KAk_hd1d0~}l9k26q@XRg^XQJB5iIl^DU(@qa><#S!O=bis&e+AgVTox zBTY3{Nkc8(MIKLr2tDA2fbfdv(0T~h-aj*LqX*6ZjM3z}xQhC_RlSsY>kw%dcN6qz zlHKtu_%7;TR{%;#bwHufjlOib$qIrpp=yJAs;lSDC3#SPb)#cup6JUv?H*FmLtJo* z8Q+6G*k#`0=>d%5Q2ghnKW7$iwMyq0>Xh(Ilh5lVd7^qI=qvEJvsuM<+rfK*_yDMD zi<|9XGXFD_|0+5L$T!Ij|E;uxRm(<@>Ozg3zO(0xE+*F&&AmZ|I#3|NH{O`r3B9` zZV&}WZ1)S7$OtGFJ$||UOl?hVH7Ni?`Th*1X^LoLEd7B)F436J3C~o)p=^Nsp&C;0 zOmn$fDf=3BWmiVgMTEW{InywIk%?gPe&+Om7c4LGC4KZ4axSTu%oTC$ODwp%noNqZ-#4df zyq)D%ZVjH9@3!~Qw|u=XHNEJ0qaQ>u_zBL;+f2zpmx-2=$ZJy;m!Ysf25V)MHZ4Kg=@ zKPMl!qyT7Z?ZSUs-Me2P25$FQkFcc2A&>WfH{-TYcjS!u9})qjy74lE z%cB?mX;zm@kMWuoi<|dC*%hyEz~x$Nh+f+a6c{-_F@sKj@-pajNBg@!Au^9U19>^< z(8RNGLB*b+GX#6c7hR6z{!hOLf4v*iJ&Vg-$w18=R`>Y#-J)t1`LxjQNw7VcN7r`R zp)j~E8UN;$*Y>uX3Wd=)&{S15F~pwTH7>+@i>=Y&X0w}LNv?Ac)C5?b<^&TRzn7pr zs*5>YRY%T?ZDc;EHv}Nn?!bP}nM34Er^~%~C7>6x=H@|jPk(=lm1FUb*W0hvJI@0G z+iMLLBvUlyjLlO(lI9Ou65<5ZZVT!>&?1SLq^Hl>#sT*>KFqA-UB@N(i=pO6m3($8q9;Lp8Afexm3w!A8 z3y>EItnkN|+M(|Cj|J!yxhYAlyKD|FZiX;)8b3976QtMK)Ki1dK(Q(qD&L=OXo^D;igEXtuNG)ugG}tj7}$q=AE^kAoUtl*DY(oRM|zPT{$H$d$jn#| zdOXLA`k|kH8_*GlUN#t#8WhXbf)(1EVBLkWa1G>3OJ#5$KCv;Cr!$8jf6wY2c zPj7#9j|orDw|=9i_dsXl$Gs5Nq*a)1r#3n`lZs7$JfY8X+CzBe*X9Iq**kF0%=QJJ zcf#R6I03q=n5^gpO^dQ_5RA#LJUBwZWF)7jG+)&;#q)%tc->aC-pMT?rsRk_GR(Pa z8i4vG8W40VbvC$I(_@cmUKk0ximUNrO@+q6VUi8l1u#a+lZ>X!9>h49>2f5duWiWH zsZm4oqyqv>lrD@GH$xtdhJp(eBfjgkcp}Z9&v5Lztcnl_?j8VjnrNWe5gOUq1=XdE z4BhkNUWA%{x5~pBu0366>p)byhLp&o$?YEW(#QG<&@A_ZI5perSZlH%>uRA`WDQ2< zX0AzT);nY!ZoW#<#2M3P{T-mwVvM%#f6@_3d1ig6tES1xv#7@hP@$)RxM0ae9z?bp zCb&8sBJqu~hf;ody(LlZ=wQpWK=mr{Hy$+aBXh6^Wc4bL3RNN&|9)}a`*q9m&`!-4 zUF&zmn|yYW#jo$6^x#lAyzdoyd;NYN*(R}N3ATM#fi;==>~0?*c~F;e7aMmtlB335 z%($sK%^rL3_p1fs2;xW{$a({aJxc9=@@W@%mw(gypG;!_&WJZ^DsvZWYU@6+dT490 zDufi$mSjH|3G0R?r!hVZv7Em6aw?-eWDBQ!(t6(PDWU*}AhZyC!>ECSU8-_H^gh@X z{0imaf=(ZXt+wO!yVq}Whz2;|PwjeLt~1f_x;|TPb1(j_FhpwhB=DWli#4QHWMi3L zyG=xXHtzSTrA#l;Ch5;VDUoTwVv{5aYI+Xt3YA+EfplBs@$2i;7!ys0ZOl(jaU`t& z&yji^z$)tI+=g>?Pg_H%a+LV9EtIl0r{!WTsSUEW)=aO{;VJYs+hWw>jCvNfNYGE4 z#Uc>gg_mIv15s+_O;r5Ns`|VFnSs()UF|cWadDQEN7;xo#zNTEN+X8a$M)TC>|h-7 zYKyy~(;)}yvpYa5U*8?-M+h813-gCPigwh~>9!zRTThF2IS+rj`~DrkmwGTLy83N> zo)@qtKJw2=60|q#q|Br94}m?&`yngYMJYazJP!2;iw7OZ0h1V1mdJbl2un!ZTtooT*YD>Ze|XEGy!aMmvHjHlG%Ld#*^I zdcfg^q5=)EK!iBvLAr)g4>=EQi2GCs(}r_%%ge#>DJ=9r2&$A7Pn11K=74W*1Hbh8 zj$0Qv#F?7ccU-JOXr)!wXa-)(SiraSTjkNzS6dD)Txt&$)IF}ckOJoVsPb94JMopmw?;UIfVSpx;Y~DTk5)ho zH_=ww5kkjDXfzJ@2)j8*D7!nl4z#zni41s%>wbbD7K9b8nqt3C2@MLA)R%VyF7wuc zP1rdg5lbxIQMLwvGx|HQEn@)^d?alMh<@s09MDucxa8Iam{K!INP-V8G+0nXu*#zt zgX3gjbzM~etbzTjE}vd~;S*oN!S$35MZuq4BEdHOZ1_WDCjMJV8m#ps>GqJ@9xma@ z#g}aaa$S-|0St3UVf^k-G}Q3FpxO`pP*8Cy0EN^jdp}9WSdb@IZ{hg>fI=V(kgg@l z=Rzb2sQ})M{?njT`Aqm&>*i@{UqLvC-<*265FDwX25VfcX0$-K$Ah%FsTys0XQ_L! zkNo5z_lF2%E+qSXmVp|Ue+Wb+*~z~;663qg0CFMYgHf(1TjG>hP46b%f-1mdwix^A z;!?op7ptJDW0H8QNMWPn*8){^kh*h%odXb(WM=^_c=2n1fCSk3laU$-Cy`h1QXTL? zGN^o5|74k)=*b`mDB<<0Pz2BY2vhm!cbe2S2>>iWI#i7PZMB+oT&!w>>Z*#0C7#wT z$SsD3X`aN33Jz2O3V|g5%7hFZF3$z`0LPuc3sr%*3cbe%1;#E4_?{wlXS2HV8|%k` zBgYK+CETXR6nTIfo{u6ZU=}0z2N)KB_BaRt6vM?KF#+1uorl1Xl2 zw{!p!Z3Ye9{pMD3N$%{z^8Zfnk6VH(5dfsCfL5JaeLzL^(2it>4>RZ0}&V zcdNy}0zhD}mc~@~Fht{ci67!sQIPMnh53UEOUOu7UVi$4@$pDp7^((v z5dds;btDf|a;S|_3piW2VCjgI=XRP9!PF&C3p;rR{^$wAwxNQpkZ6H>Lr=>r$DL8p zwJ!iOE0Z(hs~y~f#1Hv)=MU?5_-ak4=-8-|1rEs6j3P_jy5L_`3KTcK-ExmF0eSH> zs_Mbcc`_LeP#OcDe>2Agf!N^Hl|qAsfn*uf1uROhV)#VFYv=S9$R0V6w3{p~f(qAp zInKMu%cfKcLK#2@vh^z%w~}820T$EtWNuO+TU1J)hr{t`*x5QecW}6H#{9=gEB{>o z56=br%Y))9F<1lwM<#UeD0KclEd-}q z7lDL{)GP45SFHws5VGDNZVwsTQ7W<)Ptrv>qO6`Qff73;OYmhJBECpzaCMJ~iCDnJ zO)8F(q&1xP!|S^V8p-*`xzP>>SIlgBRJWj}rZ%m_)0&O|a8qP~sM;}q`}oZ0EfKW} zVuThAuBw9!3;J1vjsjId{e;5k?mZ9`{#BIuzB#vfs)DV|&(IE$*)s8HnP+zzGgGp9 z?w$Wp%e8WsbPCXy_Yh@QvM;`_C*MKk5uJdwj6B-$>q;k-mzws3|B$V*;dT2m@%DBI z&XfPYIvIpY2nmelz^jvAtn+qSrIpl{C5IL&WUAOec+l)g_dYl;tneMSM5vdH1P1}#GRqtdL;%^OG8tRQH*Pc^ zl7sPLA;8}GbM!Rh6tn0FvtX6dr|&9 zPz8yoi|$Xb9)jT1OsIGAKBzCL*}FZ-mfxGtV01&KAei0XEllE#;{m_Qhq9>%RG{`s ze(+IL{j z_=_w$9)S8Ogq3&zBE&lq80LdXptfLj0uU7X88Bq9Entp&;Z0?dJ#t^hGzgmqnMErO z6nblXkWi!BfX722rPq@W74p}?0+hNn#j{bX+K{;<-DFo-FbTk6z!-I3&ku_l_0!4$ z2_3|btx)5z@QY?=@Z^Z0BDoA=3jpnZY@IL*>K74ZpbkMLB}S@XALY2(+gpysO`asH zp`?py%LDq2h_SUBeN=YfqLvCil#|VsLu0*P3FZ-(DQ))#B8KiY^iaZpuIUc!LBAKEy?D; z2w!ulwh3&5st-O{SQoIl$ycORt$6_-7j=*yLMuHHF3D!5RADHvki`jh3RKjfXXAH^ z^Od2V5<=4P%4%r)w2|9kL8FJfb1Mm|D*{vTS5HoumCqb&Ne-CaLmh-9 z*n6Sz1-&P=gG81ne&`w|VUnXH#zWW3gQhJCD#lZa9y&e3QnmS_wj`kOMIL~)+y1*M zbGmoJtY&D;lU^>LnYJ+8m&aeqmK3U~Y3#6em%{GYs09Wtkl89_N>c6EfdWsx`Qr`A z;smdj7C$FfmF^)dd>)qG084LBm%c064fTsYPyWi!1P z1K@gFmE8GBT$=g>?*s3$f}l8T^agAMQR^_7 zqwcl@;qSD-b%zyCZ7u!3Bmo-Jkur*H)NxhP|M{og65QhIi%fi!=}c z;Qz%tuYUEwJjZdIiwWumF>(8 zZ5#U1-)Kr-jtf58R0k`AOv+^cJmucE)xn0Gh$V?LG?pm8$(r zzoQsN&-$eQF!Cr(w`z}d;Ct45keVI=m-Q7_bj8vOYMLa-Ql^Ou2fAW58l5M^p zu#N_WLEelO`cXPD??s$)s`QT+tdAbB*4Lk_o{ox*CDE|XuXuW1uqG9l35o?49U!yi zj#G*ziPPa$!IWlzLbOFcE_41k8;p~O?J%QqWZQe+ehGlPxl>85piI!{2e%T8G}(iJ zR*Q!~7Z4Qya5kzW%>|MmZ_V2PIfl#z6S*1hlS^Ei$Bhy@FoC%@(cVY%SLXBYsw>vi zTJ(NpPoW3q_HerqhORtAmxx$W0ft?>}4Bxs}#wz0f>_hpj?t!2J_cET(G5>;d%#2$Wl zEax}NPIbg$*o#q@fB#z1ydh(GyvX>O_kctW}CE%@T z$~$I0a*+I65?Wbrvx%B<&yIaB0gO#zu60qPgS(5M_9Xk*ij0Tm0uGZ>=@oyugQk!} z9ARErVue|}2j@(fRnN$#o(j)Tp#&7`I89vw`mLOLirH8BOU91AT~vX*iLRPDqHgUJ zJMeK>T08AX@+s7OdWmJsL~b+z;A01*AYqfXBJi_?i-WFGW!b%b29O8iJ}DTk#tr9- zIXFN%vXOKzK*IzUegX%;n_ zgOee??v>f_l+Mm(lCHcpe~!oJDjCgUXdZtAz=u5A*J@04Q$#qRcN%PEUHaynl| zX=D|T7JkqK@EO^}48j-V_b~wZDd%fu}*&i(l z;zK3|pL3BCiKZ7d)(y4fp{@j7OycO6ySzq4fiPqY$@AE3xzh03!}SLnO++ zCzXTRP>b%;Lci^?q;{Z(pnr;)nktmijtn;G6cZ8VSnG^1Ssvnv&XVBEz>W)J9pAt0 zigm0h0_+Sd-%O^evEJowFLJ`<+_=oz${o)o@vv00TUZ9w5%+K-J%8CYm9&}1&Knbg z;g?4Wp#f(?g%JS)6o<@w0IEii>L=Om0mHq`xiIe%*#Q^^zH-~={3V^S4;M*cO;ugR zsJgQ20GjjD%yJvV_`;61SKl84J`$2nY1DfP1u4TU3c;W`fOamDxjM2OE)AKOOQ!j& zwygw7l$pQ>$!yA*@@t!R9dDDL&yFD6>21F_z4+ROdFb6QSLy&yH73{qz&9Lx9gJ9h z1SkQs3%>qXV@d4YMU5l`=`{MlgWehV3%e1Mo6{OE1lvWb*{fx)x<8DEE!*%YBAPHn{Y3 z>nqnc$R~_vv*?+$nr5K~5to5{Djv7zQ+*3mHoxcbymf&mb7{UmwVf@LbGaxtT0Xu-K##gi;u#NWs4a zZhzPoVuvve$|KvX9x@(~4)~8PCk*yT%4|`g%bUI4;Hfbl!Mh(QdVm)?dIcAhOQ7Zf zfWN)X1=!ocr4Uptze{?dH}U%zi7%8FVu3r-Rw(h7t2_;jMDL_wL8ZeM^{2x6>QM9x zQ}3H@g~5q3D2-4=z1%_mf}p2_DmRYhme@EUE8c^bSMGcfq^Z|T+EjaF+dqI?#k$}6 z<}I`F()_HMwq&)gn(#g~Z4=&sOL9{Wai&4XV!9A!vd{%6{;q*)x=TPmUpvfcRMs zCPVR0O%L%lk!7+||Gp6hp0_9Q#B6BtK4J@_2g*v#+)?9>_e_riT!E{iHNRf#P|h3A zZFRx$G`a(s0W*2fsSh0<(mh}a3ZVa5_1*^0*ggK_hd|wm7`w2~{8MH4s_`JshzGV# ze$&tY{)2V$hX_?SbWY9lCF~)#Af+Df14IJ1a{^@(fB6r23dqZWs-qamIfl002|zNP zI@gnB4@E3mv%;_1_8!>5tPwxG|LQ;kr-V{%>BZpQe&u z+QF-EXFFghXfz{}DOETFb=`_g=v-}_w`zx!#Q8(lK_HA|o`Zfhh>97z@QxSWI+3;% zWOM6>pOl@;pv4I^W^y}~lgp{BH5K)}>QMla@hH?CSL4{UyBZ>;(beq$jJt=`aN5SkrsA*R(U7vZQHEmar2es#WG^kcBa*(D(`9kLFpv5+=% zV!#q@KWLZQLE}bNrI$6s6*6j6>W_U7f@7YR1F8894JB@(iixK6x!yy`JKdIO;9CAu`|y91^PBz0q$ zciE_!ro?~UILwiZQ@=UEF|p~tH9d4>$9L9HO72V3K%1-EKPl_qm}ZRymYpw@0_GZW zaiO{)LLYm`6Bq8nO6IXsS9XaB&76OSuipF|*%hPXRW;s;0U$xc4>LKx+~>D)EHyGM z{`BYe7{uawr5~V1*88KU9lQhR8k>j-rfNvzcDo5CR4lUNYw$xl&6vKdRW=34|IzFr zJHNAqgqM08F*0@$_#Ue2wRwhhc5XLwN3YVRTrid#x{(HMJSQw6Kw6pyHU2OIhXKF9 z#nqWS)ui0C{j)iW)n|^jHkl(a%I7?>x6>{HlX6Yd9KbBI4wx0mu3^uvGwM*;` zT$o$~H7tWMBkEi*(UHWXQd@9$5|?MHRLn2j6_^9wY?Zr>>3aR4B7pnKo%F`^<2#D7 z<4;oBa_`eUW0HX@yHuhOS{f5JeLsfdvm=u=!jiMfmF(Q%!t!dI7WaAAxdZ?D_E0as z{LrF=x4IanEGK0J6Au7?@aXjXX$}r9bZL7P{ELS$!`JXqLqDxlm=%yWW2Vt~Ju}y`8W5d6mUohkq!784BR1 z5vIhI$l=Q8?V+PD_4x*^BB2eMoGJr^$}<*SJp?i(FgbgdQzQ^}v#Wr|Brp}K9w|S1 z`AbS=Yf(r2e3x0W(|`S!(jiBRcO9gtLtf?n5Zd@ix6h?qm*A4a^9UN62myBfVjywN zmpy&gy=Q80cy@8y4UvYwnxhR>V@4j=_SASks%&o@RFopl%hdT^q5M-LFTVw0pmGej zhRMU~6aBD6VS0Vy5d3c%y8BGv4uQ#j_!kG4r0TjRHf}a$#e>iXR9zOFjoa;rp21EL zX;N@Y&;5sYS`&eEbL{Ax`)x5HF9qV+J2swJGj=&Ws64k`fn$Sl`{^S)&w}a)%C}TK z_=rtH^t}~S{I>hy71LAuTc2{gt;o{UiyPQ2TBsL`Hi zK&Euzlp_e{|6IHt+Hf3nz|NSmB1=jo0W!*$dbY0H2{XGHnvqVh)V!2kCm^yH>sqj^ zz~#D~dK&USgeyjEsd9wT9Ba0S)dy`XEX@+`f7ljAi>FcWn-IEZCM0GL-kJqYKlQcw zF9o`kwxY=&7V+kD3$|pgySc3}QG$G!@&8TXCvMiD!b25NbBFnm0=YoW1f&}NmC*Z*(902T@jXPnM1ikK(R7}vsp)x7m1rMBv=^ESMbD_H`b-=v) z);rwjg1##x;?blPhrM?%cgV=M0xw0Rake43;;xUd@?!mC^`}-XHn45a*`vmWj9$!c z-l>W9`(c`)tM0__p(h4UOHbgI`T6&T*1Z#r^*>PA(BGJ_$|E&Pr=x?K-n`yrV52I~{>E<{CaU#dnv z44eM-Flce zRR^5SfLO!q@U$)UxCJ&Nx-6sa;hl?#H54yuM zoHSmd@&3u2p)_V#aD$2y#+G=fc`lV( zBBE}$M{d{*-oLW29v`wtN3$6^2)C09KoE_xE<_;(s!qZ>2RKaaD zXyK)Zw5mep;B=peJ$qR$c>F{s(W5yD1mCIUTxN+yp=vXL_c zHDTc7P}$iRhQFxgZZtlx%me(M0`FvVvS`NGshqx4(wBM+&g=~1 zRF4tro+84<#>h+%j74vt4;;27M~~LQ76oZAp2E_p!|uN2{>|2DUX;n~8nl98>ot)Z zAPM!bCuV1)+MpOEdGPVWhql;*ELsQ*uN* zo?ASbOLt4eoV?ov&Blr@r&wW0kj-|5q)?j;SJt)I*97$mTL-7F`~-&G%;Bz? z2NauH8V#z}waXml8waiSSmw;bc3GfPsEspE&T%BO(3>!&hSA~1Mb20@Dk26qi(Cnh z+E5ih3ZMsQ8mwWLcEpv0MebL+F49o^}MU z9+Lp&5B;1&C=*_+M)*d^8_-ciZbOQo?u^hD05Oofs!xg10G*WjTPXYkqPQ(+)WU(B zAw=WQxC8nGX2SUJZQ2A*g-+UGH?;B7!5v;!9(KaPGANOTPs7_roi&IJ_4HY=ValkZ zD!aB?6RE}_uM8!WQZA*T{BjZ4ZOfGVTs+#ZuXMW88X?*6-AG;L59((-dF?^{Q_c?U zE!2Hhs0W~14m5T>+31X>qtd8p4HR5W(Z@_Sw-GT99mds$1Wxn2uu9;0(okZ^M1 z#3cSgD>}884KZl7Ku$|(Uz|ZNyrM`rjY5WB;EexPlkw9ESAFzME_7zy2OXy3WSDOq z=Jy$&b#R%OKVKP!KwWEeT)AdGmGdvt7Uk3=?R_a&#?a~g1)qfm0h&7W;2}^!D(|!1 z@W7$D0Uta`Yc;CE;j7Z$urGqb;sP9|lve496rT>m^CqquzjP!>aj8tm^AeQljWEK! z^Kj!=*2L)Sj6vM`-8(-6@W@dn(p2Q>;$6i|XE7djt?Dz`AsS)F3eHG)@LU^daZT_m z!G{>ri>L%y`)=A*Pt{b#bE)8JK;0%rgC1To?V$c!@;{sjc7gZnMs*#&JKHK|YYLEN z>50AYSPdrcLJHbj^}2kgmR4_cC~qnQu>lPGyd)VR*Zj|zBR=t}c9PaF|sz($w)b>Bu8i*~k=JOwrh?)+f7zw9=~tPY*y1&lS`P=0~T) zu%{a>G15J?UcgN4UN2b0vZS6q4_L*SLI0ojz6CC-YWx2@W_Sq0859D;u7{T}0|;i2 z+6;_(GwGqI450ED9~EU7JuJtW>F?8V``aR z12rxpGjsmmJ>xkuOt&ABdh7rB{3fAUoPG9dt-bc%Yp?IxarG27yHtU%U$Z{Gfu>-V z2)B8`S$UY;FF&x|$An-6b-X+?!(blBPCNk5;Bd`o=0M6E!2PB*3r5e)oGL_KM=U_k@!5#9(_<35OUjO>u$(4rewxBk##fRb2pMxEy@t zRt;71OmIS-lBVEFh6-0Y0%Qc%d+!y>8akVdlyCouA4L^2T5@oety?7L=n0c!&ak6m zQv=2`;q^0kUR#n_j)Cu$TSC9~LP!V>gXa3AS6TP02MRi>ZUP&A$+E?2+vE$+ENW0a zcO{Vh)FsMPU+&%_;0T+FY#6-F9&St3!MHBS z_R}z;>fzeJMc5%9}PxZM}PQhq9Jd{~0jkJZ_91l#(TI*x3iAPX$* ztFmQuCzOmGGwyCn7N($6v08Zx@~D@8197#N&>ir7&!_uUsI*i>z8`Q}<@No3jI|na zOkUJSO4EUug^OY$(^kS4&HoH*ygBCl;#BM)qIA5kmZyDRQx;NonqxU(emXgdln;E@ z9MBHX_iS%x)QA^svRni-iYpBOVk*@q1ThuV_Pg7EL;XBIx zMk*r*-9gKVXXOiZ9K)gES^RiNZy--!XTBXi~Gx|4<=8fk6 zpjFN&D51>opp2f)|G`<>L!~CT%^K{SKA(flt~(#E8U@BX4%qkc6hte-#4BuEV4RJM zkGFG%dvk><)0*x492-}~|LDkhOoCQ9roJpX*2Yl~9{Jb~%L%I>2s|_qX;4M3iN(+B^ZhqD`x z!B^dvzZDt2XG^Q_5m4i_`|jt2G~q(NsdhU*T;PWKjEu8S6bhqE<$~}PKNr2RuN$!H zCgRn^Rd->@Qk)Zm=@V9Hf`P^&%iqRD^RsM!DvUBNH$GxA4fU}kSkn-BgnNL05`r0q zWp2D_JzVg@Fe!he3rK`K>gOtknH<+h6hB1-DoweJvd5K_FY~{P&qw$ltee@b!W*0V zaq5P5_EyEG?poWLL-CWe`~w67-5RIe-D+BB&dG{xoVcweM`a(i{kVb^RIrP{Xw-3> zu^>!cOewwOTmRM^@0hv_I?4eVrud0kYBBea<@VQOHR&{Op`dxGMdz>}iq@-3l$P)Z z-dDhTp4<6@m!NA(aVVqeWByO#&>i)DI&Wbyss@y;C0Auy1gvdb$&A(9*YGBcfnkFn zhU2ii%}=FHZ<5Idm`7p3K^2=!X2s_7~R|saJQOA5c^)_~7J-0;N zVEFb+uZx-b5e*!*OeP~pRk>qs&mU{#6o2p_H4$#1f8tyLvZv=CY>7q_9f zet@SbBh&cp6?&}EV4=#&MWMmXi6uNe%AS^$72ELmnB)F}+ISm~`pgNMrKq?@j%qU4 zX{K4zz`ar-ljX26S~}baYep;I=vbkI+mbegcg+hX13f~M7@O)lACPW36Z;nU>vBmN zC4?&n;I#&3&oMqvt9&)TZ0fzSTIJ%Zvg~OoTII%Y4L|j+ic!{r@DCo3sUJ#**Co;w z!O`-RhQag^{|j*a&CE)v=QcW&@v_lNrp}@G@9W3_ow5sv;h~L53`XZC7%`3rRQID= zsT6AoK=86yo1zesrhK}f?15l?yot{$=4|w$e7Zs(+c>4V3$lsmr2Ki_99x$hAv}zw zADq%aWXK(8WkF~Z=wnOyypre`tzvY3H=-&1fXy^P9iQHW7+1-p-0-dkviRp5+6Xv6 zWejk>N}9F&WA{|56f4y~_Ad$1v_LYZc&k*%2jFkd(~;ccrPwtlliafxSP@DU;;eY zW#bk^G$z84ntus>u2rtiE5qmySbk_KwGrmy*%u?%)|^(-x?#-g``NYCs`^1s2NbT& zQW+I=R5i0U&d9-aXM?pRV8pYddb1d%zXu>isok0lpPoo*(3tQU!d)_0qBMuZ%my(yK*aA zUi?OEsrS;2+!=kAA+~OY333b&26E6+s(SBa7^d_I&8@OFwehpWMjD`>94bUtEgw<$Ne1WlR~r`WrES5pD7GU8 zD5=KIt&x=3R6w?a6Jprv>Nb;|zQfPI1>q3WXaaJx2Y3hjd#mjWUkf4_90qRhC`ZdK z&IL8*mG1^A*nAbt7DgJQB|U+F?I4<`WE9K4tWic-6LEOX@3nKy$4O%_pm{`n0)k7e z8Oj3qG1Z(Co65vb_4m$OoEBqcm}&k~X*Sk4k+v>Y-kHH-i%DO4dS#^AIF}{xC`7~n zx?=!3BX!a#hX|}}Sey<1SOdsP_krYit@0ConMR4|e53Oe{3rIoaF+oRAY7BAw%*M@ zT+bcg4fUK~UY8-pc$|5Ah2NxHm49_GhvI=JS;-C7=nq?!T&l+7NEWmnM1%? z1y0CTJ$0_2EGsjI=xYaBtAyHtdijpIxv z;-GWLj`?xwT}}KCbsUV|#;5a3re=<8;8u~cZOc|8?tyVH2AXxayn)o~FxvhYfaM%$=XcIH&Q`yjckLGr(?V;PIp=axs4#g^`V&;K6 zYidptoK2f5;YJkZ1Vcgc9=`cNWVXsUZm5<&kZ;P+#nyYZSC#2=p=y7~#pD9G3sKAv zh`;Ljds3D5&Hw~$Rb#)a)HZeV9|-#zg(hMR>o}f`D2G*aseq^!b-su)z{!`r96uFk zAl(S#;L?(4SdY0g8H$lc5-jY|J0H|hm`Wl2^m*V~NMs8XgJ#t0iW5uu95ZTA2oy~g zP(b&mD&NXOXZ&kZxS%5lOJ5@wsZESlms%-Lq}bE5KLKKsofT_;<{X0Es;xTtq__cttah?yb#$0~IB*kK=_kk975!7= zjCK56^y$KV!^f#hn*r4DQ5&229IGEc!Oj&v5ZIa4wOrsI!HP5IE#UDp$odZg3RjFI zK8-ADCt`lqsjUTc6G2*FMF3@ai^(LH%N?^8Y9t85$00`90?Hgn@qzyyd~Prtgt_|* zttRDjOvZ?}!bg4%#57hTi8re?1#;UxclWp11S@~1oePumRhR;IG&GYH_I-u^0&NmH z2j4(tklmHin=;5|+}qVESeGlGXNns;W&72d&w0VlO`oR-3s%+r6E1)bAOBK)@-6;n zCJnIiop!Eb?oe&g`an8~Q5KG=oN+I5Z4^2ND<@LL0702^3UY-?lkyp+yzXd;36L?I zR}f5s+ISfLTDRRBXS@yLr=TnhV|^r`>exOdrSkRP16dx0mic8HjHXf{=ye`jrzuK~ zs%FP!cI^|oO{N#_#Igr_fkXrtg`9p5DdC_Nxin>P{O16#JMv;izCV1NKECd=(1*s% zxqXU4*idB}KPJ$+MLB}1M*Xl?inOMMuom6$DFxmEcBwI2>xDrnn%$T1N)(pVT> zh|J8;#R&2N@dtQ+Wc{i&Ezr6=biQsZqdO;@^Hws9#VdB0oqHvc=d4@^(;nkB#RP9{ zJAK=?Q%nTs@TkDOWlrY8?q39)jbjBcAb)1z8jiGp>X&|K=Jodm1%t%&PP_Ymb=1m{K zonFbEz1LgL&$KQkKI|WUnwYB0!u0<)hZpYDw7(KN2Yu7`Bi_PT87vptxGAl|`F66V zCd0J;`&;5W+hXloj&_z7VHV3pWQt^!Hf{<(&!L`WgFk?m|6khI-;fc`E(u{zvBLS` zX>kGvb4X}3WeBC2Vg1rGS0(tFM^(uH9R$aRAQVdU$6IzFX6VwrP39?>Uz2% zbbZ<1Y#+=+U)2T?m-sKzZfvrKUtH*w#j%C240-IMn9xK7xV*8$z3pLY82A2s;gc_^ac;STS*A~?U^;a{CN>I}TVeCY7=6EFM^xH=Hgp`uv$ z->-~m#1YP(e44n}$z$1DAAwUMTsUPyvZ~xKeMRKqJNa2C_)W}w#FyBB@L0TQV6@yf zlv3;VLkq}N8%-S(mjeu80!l)j8!xNgGV07&s9J=jE8IE+mP{BL26k>3zcMOx*qC={ zCE`(4_h;Y>wddtJu}U~Eqj0YK8&w%uN>me?Pm&a)V&hO*64*@ zLyWqJzw6M1q z>KKmdrk|(05F3t7_irnHa!0I@_Zn7eZM07dNT|vyV*@{~6n?UowF*3iT~Jbe5^?4Z zZ_s92;t)1?UUh;kz;UjSKu#4>>1Mw;Eu9cbB{zM2gtl5ss%Dsn%XZUUPwrbCsVNAo zQ?pt3D00#+sbI@g($(*!!o(B)=tSKjeuQI?%2}%D^Cuoyw+$T>%G|o*CHSeMZdrlE zWes(c-}0|dww&D0jE}J2%=iv0yST?zrs1ieV13Z4re?vK|Q26yK(&>-MfLzW<&P`=ARsJw=jTiAElWj7bY|9{r0SjdRh@U`h$D> zuRGJl4T~`ZLe<0jTBNWM^SC0%_bZG8R`Sc!)9Q|XZkNcM{JvF+3?kIb1J)IIjOWIheQn+ES$?;7bLM<&0a7@Qe6DZ$>5PEi4E zV?U(B9?eZ(zp&6}mDiWC%IPh3Au3PaX2`iqc5iTb%2qhaz#{fXpZ(*%`Zwf=4rf9? zQA4u&(K&fSDMDeh2XSJ*HOgVc3DQi8tK-=t`=2OUR~uU=V>cCl*tH=lR=c$_cQM{( zhsY}}Yr0~sN;bu3)&7+N#{5`Cf8y|jhxY{b*R3RKU`h~$!+IF*azZhQOdp6}xi{ih zUKre6@_8zaeAQ^ZrY1CaWdqveP~`5k(OiNNy8!3G`_MYCypc_q;L5)|6qn{x{^eJA!<%ErwFo#)hx317OI&It zoIi~HW>8TnsLVdiV19}f06pU6Hd;gRZ)rIA5}5HHrK7|Tk1wzn3)h;y?3jT1JM(wa z4j%i#7p1F&wvzsiy9`{V|Z~8Nz?0nDc=`s6%;P3ayoe+YQj3uxCM;hYmuDtf7MAl(}RBPcTRiM z*YD3g+v8|&dbiYG`D8r*;it>}VW7Ns*D6}5^2yHj>dmy$tf2ZUCy4#&=G<&YeJ%Lu%nh5rU&xPE)XreNWbxv2?|-D=2yzR~n!v9L1rycr@m_N9L}*`c6 zSKY|p|Bt@%{s{PLV|(M}{xqQD{F>iMXo5S9qrbC?&2+#!ii1og&EuJ~*YO1(9zWND zrj>->UJ}0pXQw=PVt1>Mhw&T?w=?04$X{F$<|q@t9RGK6`uD?c-iAqUzNB7%s$e17ec~|30kBT`O#qbZ{FTt?EjfI+@h2r z)~`4IUhQ*1m}x^qB19l0z3I}mzcn4Q$8-+PYH4J=k~5gW^h7v&F){q*Iy(97xVF_H z!=TG$zVL^>{CuA*y|Qvo#UQd?L)?|%>(?G~qmsE;%-?at()?^`e0JO0y5Ddcf9r7r zliH0I$c;>X6;k@60&jz3k3?TBe|vkM=mYq#REYH#gfVRhYATg~2sE5XCHjNTF>U?a zXh-@4*KVuEj2_MBgwJ3(n*RbVh(iEMyS4#PY6`9&lfXb!VcriM)r~wQ?A0`qpT~&=UF0Qt2-}p1uO%e4IMWdo`Gk z;6FrOa5Q$!^cxx92oIhq*1xa(?JfP?-PK(XZz+F+t-33^!quOBm4_KN9{i?sVtr@f zsu9aYoK9Yr??pdSxCX$bAN$Jh-qPElKX5%zg;?H|^4l}L_bRy0E^qfC{LH|IrRHpP z-UQ<0H~7CI$c_K~{z4)@1)L=7$!p1fqR$biQyQPW@w2bbJ^5da%evgh<4#;YCJ%O( zhn*h!A)?3lo{5{tuzZyC6S>*TJ-_SC|5cbTg5e3|$og{s#M{@!41Y_Ljak{(H&;1O0#)2oit!vpbJtyu-H(zsbjg-=6gK z=09045Qkl{KEHPS`@QGnKjG(<@ZW#i_2EBRufeBSnm>EvXJ4N`B(1fhL!`g`idyDg|8GC*8-3i7zInTt-(g|TCU(24 zJ%Vt06E0h;5T9SEKKSqPAN)m(aIt>dk8f)sb^IlI$gyoLn2sfWJqkB=y_-A`7k2me zd!xr#;A;F2*LrE^DawNUCHqfx7i9sgMB;CCSM@OQEmR>LQKLr!btk^Ywdh+vX>8FW2G`sl4S|+#PL`fPitYvmJZrG5< z_aAY+5JByV{E4zKYbmB#q9ZMlNY6;`9}$=zDiVC*^GSM-qK*jRo3jB_66s@0XUOnp zNk2Ggmwo5hGvv9eJZjk(&~eS;`)4qoF}|hqgT9V$Pk#4C6McYt{^Vl$*MIzPYso;& zX0g1h<+tbi+gi99^uJEbe>DIQfJ96DT=p`%HhVsid%``6BD7xrMo+rgHC~s!9Jw~y zO}|zN%0~e~llXO{Eq;)>saTSy8vXY&cYWrgm?6_=o2C4HF6J?R8jeQMU=W|d@@ ze4O4Cdy~68syBZ2^*Q0c9Jk?${c-*IuRj6(DYZWf`d_ctOZz)de)dLhYiWBEY}ASM zC;WEbe-luN`+V3dO>W@90g#yAW4NdzU+>yag*>)-SX|BN2gThqDn7)t4X2)ct! z)@Mud;3JP=3G_uw58R2&y*|CsFRt;CyYDw457Ad64@Cci$7y1Hi2es|OXA1%=fAUL zSNXW;3gNg#`oGU_#|15tzFvk~T41e{`e*gDGa1ne*ZfXEGuZxRi1j5mvmgeq^gaRd z0Iw(Y=biy~uvk7w>)ShUlMduXS|9etf6wQCf;`}YPD!7g-jojQ!ASOp-o`)ScSSN_ zpqKTZ$Zt>j`py5&l3e9E&!b&5}BYWUrmR; zbta>rK!EFsV>+N#PxG4;4G@D!ll!gQ$1CAKv4@Dy4*;vl(d&yPG~gv#CPiD*u=G?Rww&?Z3x= zXL+9GyXX;b;T{l4zY=5+X@mIuYH4z}n!Ekqli!{+;XeVUi{+E+YEV6C{_^C%Cw)u) zfiQA0h4?MPx6{$D5iFS#EB_J3(Uy;^>IzW;t7`9FQ$ zwrTGB?`eQv!TuoW15bW?(n0wLBHhn_u9n}P?+*mF%6-2oI6NX<_US8?2me0WfBoLL zKIcDmM@PKnZvXe>-__E+@t@%0-1$AdX!SIAd&|Ok7a|R2mwq+k_8?66()|A4=Kq>f zVC(eFl70dI+ej>ezK(ytH?HXX=W!m>4v{I}mmK`>xYp;tj`5Gc`(pjCmfxQ5d-A_` ze&2SlyS^rP$)5E8E)Umx`~&rei;t2ed&QNGcd>uP^uB8x{O{*F|LuAH2mg<9e>eXR zd9f2QNb&*r)=mDLIeX@R<#Y%TnlAax$Gv3k`$bQF_LXi}y>ePs)|w$=eSSW^J^9;5 z8W(%H>xba`Ezw>9;bkU67v`N*;m@T*n!S;tRn%w&SWWo z{on#1j&}r-E5|>{|IgCg!)RUVr>@eGhKSaFd5tfyhIySxn#ksY5<4 zigYFB5A;u>NDCx=bAns{+*YKAgNyk5=i|AL{Qj9f==pwQ=d>a{4(P=41OdoX7^Fmc z`Ys1Q=Zp0FxN{EmPZnu1zOlZS?9YUD->>{ye!KE_e)IVvFoQ;@4#H2YkFyvmXKOTE zfL#11_dAtK{$R<#x6TLRQ+$3)D-hwAmfMfw{Mdbedadf`S>InzFPxWAtdr#Ddh=fp z7S02t+>L+En*aLxUz_(wScD53gpLp=zs$Ok^r^@g&V0=ZIaFu*`{1Bef z{^prxui30f3;ws357<#rw;ujOB>bFk4heBpGVwph7s+1n`;&+1ML15BY5n;gCai( z_sECGkH|B3+TjljNSFA0B=o^r;Ce;6f4QyE3Y0VH7ep+n5YCggi9C=JNem4_yYl}1 z(CbQa%&zr^AOM+P>Ot4L)9Xsy&kMx9`pw((Z%6ln->syln+6cn_P*7Q`JLReqNPub zjVV1Z@ed(U9oTgqiN!XM9Ilim>%-Y@^58XEIjb;bwuBD}d)*3Td7-WZ`hk%*>nEH< zDK>7{<$jXR)5WrX^ZxtY%BQnu1S{bV8P5*>n(zLG^juiK%l$Tg(3?Wn-IaV(6-Jx6 zI9u;Ec4N}cMT!=YpJaX~u?j?*WJW$bencKz4NcaIh({siA4=W2q7~PUi1|-tUN3$h z*KvsS5uZu}L2!2;g?wNE6k-u2px~RB^)#y{Dmk4TE{gM8mw2y z`D*mXAn;rZ`Et;^e&@7DeLdTAlY4ssaJXTaumSf{Aao&`_mp1$mCycZEx1U8j3*2F zOO~a2AMoHN9*+tCLg?zY7`Ohv+VPES9UmUQuZ?_AiC!FmImfwD< z_CVea&k`&FakLGL7`}QTHs8wnYJ3YVTc_@?a#9ADrq0UwQt3 zEty?zf&|udu}A&ex)YmS?J?Lk0(RgRBj(>b>}Xmit}i!>>4{tLDL2^EQP7D!$^(py zak)84@?)pq{Nj>*-_2X^Irz*?2gx);U|~TAQf5ZtACV9DV-4y3Uyygw-pnkQn?!GJ z+Xle2Lb6@y2~3CVBgFO@Z1h>6tRyqev9t8q5I27G2Aerd+@>pB$LhaS|DeyyZaRp6 zq`l*oN03%Yo_lNmo0odRl*#~033lTjb(a1XyC`W}ee7)CU`7Ns1lT~Y z<0bS^&-M?z;`VQAp$slJ-}z@}A8dcn1*0BzoVC=rxdEl0W-UY^i~L2fVGEV)PS3Eo zo0Tjls*mAL@G>#|x1Z{ksH?WWF4ASSJ>9AoIq3@V`JwNrXA^BA*NMEtEz#Yw zF3BsfOY?zc>1Y`Su5@flEqmn_kWw?XOofmeFEwS4iS|I~tl_umlHZ=1Gx*v>IJok#~nd>-~C^pQy4HQcI7|ftz0+#-`lZ` ze&OmKZW{9+BFD0>V-F4yjB#bN#NXk!!_C4?|MzyRaS1EV;c<(PyNhn=h^B%vb`}mz+1UEE;YrF;BbDp>v1c~W;YrpYp za?DT>ET#v)J8^3KGydOjpr`&qU~c>lwfsah z>s`yRIER$z9tj2m#r$_P_y@V8Cu*ur$$EOX?yVx|7|-(OKJ{6f^}C1vL;u5j zwAh8#^PFZ!6~UX&t$ovqJ`ZdD`f$5gAJ1u%oYpIFJ=nufnXJ3gZ2v>jk@hPN9evm~ zZf+ad7UH%ow`J7YZ9245%uf(<-qL^VPLC?mXS=+`1OeUw%`S8wyg4W6zj9AMC5u@0 zxWj_=6VCb#DGxF0GyGSl%nZYj2y4YOO!^bou+lr$VTd6y^SWNP9D@nw;LG*U%gdc~ z6_I8PDNounJ@TX8=vd{<&pb` ze(U)2WEA@%3>bVEK&PW?NeCPPbnZod_d5teW*yv$YG&$m)X3C}twPrZp-R|#ys62M zA$A*Q{m7Ek{`DG>9@}>8El$z#{>W6}T%&Ly4Iq}c7cY9@nNg{D*|r?-H-D00XlfGE z=e)J$ku|ODNg_RbLUGv8&5D3gspRGE!Gf@K*)uPcmC5!Y7)_ec} literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/photos_sel.paa b/addons/phone/ui/data/photos_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..c5e1d404c468a6d2d3f4fcf33c17b84eee703572 GIT binary patch literal 73121 zcma&Od3YP;wLkv8Gm>}NauUbR=6NOC(JYdkK%8}?kwXHcw6_7`*a@+-np5jo|65pXa%}$WlV%zrJ<|6R{VHddR{ zp84-3t~^|BZNF5v#PwG^EnmiLvbw6EJ^$2Pmk)K61j>p`vvl?ugqoY1>CdLfQ}LUH z$tyh=m8~el{+XAo1!fo@v{gQNYu;y|=Cro_pB5}qtbsC` zpn2DsrkX!ef~bmlXmGBM6QyYSEjD_gj`<)Cpud1OZZ4)OH=q};85#m)D||cx=XwEb zYNB7=|K!$2vAA9-_V`MsueZ^^1%Irv(K~hA*LMH)Hu?u#(l)KyM!%%vmbQmx-d6Tf zo-0{8_3hgVR!zEmW#x~zNaz8@m;LuaG0dF_-;PpFl!-V+I#=H)K>f?tCJtuik+-R zoZ50+`+3*>q(C9pgD+54^LO7+XkVoH>Sd-T?E8$Bebzku>-*pRdSM|eGW5j#hdmz^ za!NgZ>GS#zT_Unf&tLW5?|K%w4D^SxNb$u|bUg9i>(1nS7y*)p;;H6KkCpOAKXTry?pHFG4!`O(eba{mRMCm^tQ=atdC5!w&P93 zE`_0sY4i5U8dfF_g;2M-?z6opM4Rp{etl6C{6u+Dm0h)dg8m?O&G$+#@C8!6#{O&4 zCHgG+c*1;j;fK8J!`;UoUgy$$bcJ;y`mTqKF#jm;u}wQ>_S|8ccCZxp{m&Oy>VkJx zJ>t^t`$3+0*~}a>bJ2~EOQ|MN30*;yzB?u(JnJ0o|H2XqAj^zls@74i_v1)OY{t+g#?3lKZzGa)(J57bZ8)(>e)yRq?Bf zUf{iweV!lnA@tPzRo(B_vp#fmYI3seynL%=#5Ut= zgywxQxud0E+lk-TcK94&Hzshi=tGeqK8W0&Omtj-Z7_hT*}tL23+lp6YaPR6`u?rI zyP2wyiFIvgMqcE$$xW>6x7sY<-6-{!{Tjk955IN$=j&|;1#gv~6Zg(b`d_MbKM6tg zLxth>c0A83eZ-2AL*7MoA8u$VH6WD(lYpN23kpB#Id=Hm^qq&ItC}ljIgZ^MYdu=0 z`I>EiF(!ZU>9w0ftjrL`hq^9;FKcEuS*lh!U4x~5r`BB9vO0$DD_wQ5*4%E^XqPj~`WBbbKE3NlsNhtsC|N74Grt_%V@$kti}gS5MR(@zNkr6~x1Jx5 z*2!JY$cCyv--@hr6@PvpG`%1)>|1YpomHyn%#r`yXnRJ(PVop{_NMIJ_G5>~@;%pTD)mHF(ZaM1Q2e+VDxveX|Qb+Wqb#R%fm{pC9!{jvPV7xMBRJ8o7m9vo*#PIlcbpT}h_YvKx=E z$_)IY<;(UEv{WRj{=yYYbNxlTdd2{P;}|()nv!L$TQfnd`Gvtmt=$gjz1`ef|@ISdq+A zy4{0t%wRyrlP^Df2Hu`&)87R=9AF_yM;dL|OwEm`$t!S?9+jEgg8dM+&lrv^Pq)A~ zw;1bivyP1j4mQKzPPXHCGwVgSwc$RG5An@z6&01xZZFQ1&_WVZBW?+@`w;w!wgm&0 zqnA|M`MExF^olbwJo}W}M;yg&jj4_J%RUt(@+SS+LTzcC*h~H?56$x(#rB32v+C99 zIxen}B}n+$`2mxQNYxXL@7@%nPRrL@n=9%HcN$lF;JsgtNaqc=%(R~!3<%*l9h_Kg z{kFjyeF-DVODJImT~Q<$Tv=Jd2*QyQr~rPz8wKsQgaH*JwNOFH!c@ksVqNf3ye(hn zRmuZ=fokNuw0#T4aFwob>0jUk$tzB6$Vv_)J8Br8>XesQS^}&6)kR@&hD#37h1BKW zWLw$jkOhCo>Fr&}DzoOxL*x(2aff(R&~&G|!oq110Lw?OzRYDfrMul+xW$$1p7G@B zeN>FPAfBmJy77Wzzdx4LZ+!+X{Jg>hkH@yI<-@ZBo+y*ZMqN?q7Nf9?9y3fKS>2cA zyeL1AVZ(?E;=Y9G(iqBRoYfP4q~pS{)hwB{P(<|#3K#NLI(N*JTcY>@Q&6e?l6*m; z2lNr%pzE4>Z_~Yw2(j&e%XVs|_|{|Qg=xbzi$8EGA?uvC5kYt>RinL4tzENvMnM_f z|9plOXW{#XeH&Trc-t3Uye2_S_fxgV{)yjNFGlBS-PEsV-0@b(B{Np*lvv(Ve@V>O zaDJ2hqus~ed9-rD{#x;DAZw2pIoW<|F`tqXFE<OWCo*nI?MaKV_C@8@Yz^leo)Zo#91$s*F7<20G&-_FHdot2pgxreU|n5 zEW0Kl9;jXP;%lBy7G@z-@PO&jNy@E~B6pHd0sw7vPGTShH6Z9H62K%D+&`dZc+rXr z>vlAIf|`eZd95luteN>dzk7F-5~vW!^ip9_EtFjE;g8_~saOcIsdrHB!;I?(cJb(ZwIY zHNGDXY7J3oYwH>~an^_kfQYfttij77?3!5{C#dT^vIw6yFQ~Sg3GrS?)r>sSre$tb6-2$L&I|u z^g=8Q{+)&5F@}Kd(jQmum1LKR*@_vmZyIH@cav`EK$YpJo0b@t1lx@cRL~awUKbOKcElji?Z1V(~sfl-hJd@XZ;^3hErwldK-mdFWJ> zYU>I8xQ*A zf|nG?v=H_Sg=H!)`!QW;ZG^k|fnvAtcTshInsthP%j&Iu|J>rsg2q^jEf4PT#pw*I z&c5HR#IM%|$=#yAR_r0gN$HUpydqgYpS7y{)JH#`E!Q|wQpGc8<|ZZa47}<0Rp~xQ zvfCfhu;sjQi?OD;SrAnmi;t#xb7ndl5o8IEcC@!IRhU<>OPgIEmX6GeGVw$f4$CX? z2sT^TD0N&PZNGy00IhRbT_kw%NXb+|!JOFBQ(lx9SS%B_NXv6xF&jk!XtmB9aYy_I zRY3_k{6xn;Y&R>KJ&_YASBy4BLihh+uH^s4r+$b3xb;^vzkAUY?vkdV_wd>^m3cLQ z0;HCZqEeR8yXFpPKJ_tDPE!7wm|M=Ec>G7go!u2?o%Ic4GA z9xOfem*;oKbBQB|qlQCShgS#IKq7aiuWoZ2k!&P)?rjlwib;=U7pEY2GhUz62iVpV z#?gi_6BqRAcu5&Vbb?g>2f>;j<#`{aXWTMrn@|^u^a7E%!E;4I|3EHTg$DHyuUZ98 zAx_D!su>|VWUIU8RB_14{;hH=RW@Gi6kpA6UA;QQ6rHPq5+(ZSBI@<)vmsWFTWNgD zn{{_|)v?MP(k92+Y%ka=Vm|!qirW|3ahGqZwN0N7$b+w+_Q=cN7^`_*`Br3|hn(IN zwj=b!Q21U!ks|*CXOx3Doz7-?d8T7R>hS21tXtc~N10Q)4nSi$sh`jz!4^TA&1?ST z*C+wncW({vd#FKJ~oijTouG}cd$W9-rJ7=Crqh#&P^p)t+>0aKO;nlr`eMv z#XIU%Vk0P|Rak_-;jNh2TJx_zSl0wvR};v09aWSh*+_`Oc54g~NsiYjK{1kg z`9Th_tJLy9EiByrOIj>3W`fZYb_y?jGk|%K?8XW34@v-L^PD^pE-T`csk_Sk zl#VaTw4GYMK5SYG8U=A$`z*Q+j8IOu#|D?P0FZi|Q^ItiaYoM?th^ha(NF8G6Rwo+ zw0^3T4t2Ox%PCps!l9Ejz94u|nT5Bt2V2AlI16AUYY@h$j^<*!8E!#uCbLvLP#-0U z{?tO*A9Wl&bjanMh1yJWi8$m8AMf{=gF?eWm%fa3MEpfOYsBW6d6tSDc6z8w-;6o= zli=5}tu650t<9crb%KvppEcuLm>G-Gap0g{lx{bn$q-TNCU9SCzDq)9%`<|GRl3=& zq5-##C_Cl9Q!cmD{<&eCdokCUBt`wKdf*#}msHe;Ng=Pgzp3&G(fio{i5a4Uf$=YvE%w!YnNxS#t@Gf3Y*B6jLwICf|-&h>yTvlx@q$( za#csV z{mNJb4x7lb=9D+J2TEuzJoCkzSEtIDmx+wm(Z`_0DoUi5X`m*)v&+UQ6X9~66UnX$ zJ2kZauW|*aEcgPOY}E2A?N6Nc3!K*3$>#g(Se1D{aEUdkFZK5vvX3>rr}QJGG;}j! z(rK*cc{Y5Ma%y3XxDS%7;Uz%5IvRJg;MG06X511lC}zM!D>8X|t^ThRbMf-toSM@z>@V zU|2ErYaLu`a^dQ9+ohnORP!<;<5tWX1?HFS)@&5QyN}bEGhzA~AIUYqrXXRy-}FQ< zG#3VZa{C;7zaTmw{+(e`R2aeUUvL*_$wvG|g7p)xwY`(|JwF}h*u z9(rjj?~RR>(edq#tm?hX>y7zIz0MRagS^b63U{oYUy*C@rWZU?aXXikmd?73zVHH@ z>iH=S;rS%MP?JY7Fjgd}%$kNIvvrLdWR-Y&TRX3cF~~0YG_bF+ZG3bN__$uLjtE*c zBqV-7TdnchJKZ>z$Q3eD>O}x=2$j&hjt4lUy1P7;0aC(q3Uj^a01P^l4Se6F_IwEO zATO}KuYZ|El&uk9piNKnUTHrN^wD& z12}M*7J@b+Vjdb{lRj)%EI1gx@(+7ir_&ms`Eb)817^9pb)}A{0^L5DwO@)}35gif19oEYma z=2PG-NIk8tr=ln|!iqF?#-s$OoP^?8#ZnW6#2ny(G;`kfjRwW>rH97SCuiUtzT#>$HL~8mPt+16!%`8}MqXk+f(`#b7s=>Up4IDyQ^V zie~<$$YZA~QPlPz^UkY}zVqU&&yONBvZJD+3N4TQZeCPcy`}{W9hkIJv30V(PH*8= z2F@n!0>y3u!jXn%gG;^hf_AH8A_`6L^;_Gp!6|Q1Tea)7gvZMyIHfX-bNWU<^uYBg zl;}4(8B@1v1I7SY1Se8ZO=QX~LxHBk7=hw@ARF={XxKi;KAuHFS&ya*Nx_UF9H^*vqqus7}R;V7Q{UHJ|rwHk<3W*GI4{WqsJ2t z@oqW9i8JfnKivGo!ly4;TnTM2c~vBSs05)zVsSLoZybl#yWi*q+&I$K z00?fakKXv6c|MkTu9#n_%=zMi0b!EJUaN2zel=S~(RnA$6I*Z&HF9ELA^~z* zq|j`3OOAv&0x3xW>+Y`XPhD%miv|t}Qj>6Kgira48V*5x^&c#u7v^BnKVY{Uv3_MX z3To&)K^0oe`n$Q0?s0W=NzU-U*4%*R6rXTtK~_uA1=L1*VF+TfMvRmH0_K}aErHZZ zrJS}UZDu*lMXdbBzm$Hxy6m(wYF0Et&dyS9rl;yL|JK#K5lLr(Y{%0bf-ji9%F1Y$ z?$2{a+T(q^Ps|$b@SH5CG2!!B=tP+B!hPqE3a{4YX}mm5#eKP>LN)L6K+%)%JZ*E% zA6v33vQQ|)FK>c~6@TuER&38M4`415oa_RZ^y|69qN`5E`^Vn!{D2f z;2X@tKk$xvA?6NO$K1(kz;F@Bqu&bRKn}?Va*i2*9HJ8SDk%~`7|}g4;gld`g22g) z(?^OuAj`rh_(4O&4_bjp+UP^PL~PayJL1sXd|^$`c;PR{3yxlqO>3alX&bBY?SW!i zL0Y;J$b7=>#;WyFN2)T_q?eRFS{i{g|go#x7cfdNjJh8#)9$Ox-5 zLxRbiFyCuG$0taMT+K(%n8%^OSV@x)oiHD~X<3Bu35f5^h+FgXqSWXmJA|me*mEdn z+5CgN99oADvC;kKOb?*^+?r&J1_;7hoc28S%kiS;XLs&tMTlNqSGuPLM7Ep`Gq%?^ zO8bDB-C@rIUf?&F7fNmh#KsoeUno8qb(OC+b2c`wFMQD+usS10a&1)!Smu&87}~m8 zhz3XR>fj^Ec$$@?PNkcdKMU*I;PNx-#o%t;fRJEF5K6PfWX8tEfZLhTsLQ11X|-_N z+N|Z<|IJ2L)MUTC6?#;>JWFNy=)$I~(_-O#6|t4XCQ1#md!{5T<@R9eV;sEC(S1@K+`@xQGHF;JQ@9ILIDoN@r}f zA5ktla4Qb#v&FXig~FfPiy&Mb*N^_Q%R^R~%x5pyuGz8FGXEhyY4TG%paA(ldZFN{ z7YdF-T`-xcdH@Q@%$lTh6~IGEr#tu*)0a*Qpm)UMeSHhH2*G0TI-eBpBR^J{>kN=? zS@~!f2mNTN!Sq2`l8Bi#S;bhZXZtz*AqN139C8^`{n>m=af9m8nNR?)J3m0)5lOHx z7Eh3T9p42uyDO;QzNUGR!oYk`h9GN?=&H)<$3~%JNO4~OaDy%lHyE=`-3?vlwUloL zC1s>uMrcMB5iacSz%E>EaY^PD3)7L8uu(AMxk;enwm*26NxWS05myA2S{zl*m zwQ|gkif_16YVCq9ubfk&2ig?_WJ$`ac^ybyI3eD{mfZ$?0T zN*&`8XGrd;yI>k|%)02N(dUiy^V);6T1}GGZ~C%0NvuI7h`v{-#Obcj=YPVZ1Zr&(kZd+H7y%3acPP*vgm4<2O2c*Il>0X;WryrIS_ zR5+BkB=5oTsg45j5Z+3o5S$+Vpv<}lbPGg+24e@CFbx%MA6k0nt>*8OCYWSWW6FN^_D8h$Z-%Ce=Y|JZ8BgjQerUe?eOlr7Q!bc zh9>NmSU0e$6h1yNT2jmLF0mvTu$&jQaA7(I z29rx8aj zb1CbIiQK7jD3ajR1)~9a-38!r8>3+M#y=oYT33Z0L#4TUW1`pr}$&!W+P?6*NPd=vqNn&qVuP_&8Ro_dxG*!>5|s! zfw4T)I;Sp0pb>;~L2qF)TebOKO(MF^)B$x;q_DY-)2x7*s`a?6+o?e_ho4zII?+49 z%gxt|gwsaJ4LN{t14ED>fnM7JhqScmw}EM55Ffo!9BpYPRnYgE3~V-$eBg$&AjsE| zzrkgdlf>!`rQFJ(J?{pK=ios>9^^$PY&Lju(e4)G5X3d!cq6%BfZ7IU(wX`2pYrS; zElS$KN#%J%ue3~j^}xV?bR%aB>T zUUxDu$%71I@-mK?rfJ8WdyfZny9GfV0d4L&kw83D5bPra*ih$M3wVhttP|m+isba| z=I=3JP?lqDjK~n6NTf_>;^Z%IQ{dKS0zQEgXwo{9^XiNT@`lyXWrrz^?AT#Ph09yL zkHI}x!q4FlqcpFXWDEQbsJ+)!Ua*(tYJtyGrvA&cqpALz%Td&$N3R0K2%Do&6yf;A zT96zwnR!~7pwXmOW4N$&$m0zSsh}GujG%Y}xC%m=l&c{GgLF2DYC&89Hf|C- zXLn8+3f#kL0ot#RUo}ivR09b*0zDuo_rBNJKrlgIqKi-_vj;`nt+jwl9I6{uouB7YFhHShN9p4cHgSQ7j+#0(CQr z%)l@JnKo!T%$`ul&+DlUjP4SQo@~}*MB{Of-V=v_=^=lIv%wLq1{058i`Lk6Is+Z~ zX`jvvg15AM8Puo4bx_dBEF)ITvC5}F&Oso=iyjBn$XdasKnwe^!}w+2YY<<&97~%0 z1F%Hm1C^#;LNMPXNHin}&{8u9I0FDeQGyl)d)Mhb4R9wmx6xBv{GU&HPh-x59lqyt z71NLE4JN;wd|wL!(q0c9?IEbhVAkm6`1jCBbVj#vKp0K4ef@e)Hy?0#mt~;^PCAy{ z(Jq2bv^#j{lHSr75d9>(J#R27noLdhlpqFukfXlADEJyeD{K~dy=26zhIl|J;312g z5Q~}wpP^KH_JbrBz*v$#{unlzLVD*#409~d8~hORxK<>rJ{Swoq)cPr)D$OIlbYPs zbLI__5(vYA{{DUloOSsbUOU#N_w(klLvJv-K8Md zIUXlAg9!$Ctp^egCCy-Pp~ggY;DxL_6F7@mYGDSom;OD%;e zC66{JJzy;8(rVS7LP3ol^r$_mM@^}MDxGtvJr!hJNdd`z3BZtGowgg6A&97oj)_q{CjsQ5EVSDMg9BnlgH-kiaGR60Y6@_l0rue-bSTI0o;`^K znWZuFy)X|V1Ma8^%bm1D+slu<#I$_La~} zlFa!@pkrkLbKU)e5YRXR!({*fID9;ep=@m!ie3VK4B-Zrf}`^FAbXu~tFeqnKF+GM z9&0y)YgmIN7fWdPqm~-4U#P-O>M%4x-dvOG*Y{1@>A{_{=~mivA)2$bI~)Rlfvq%8 zWcgqQ3esRE@B4iTK(ci&(md>e(8ycs3-u2`-$gaZARu`WPnMX`6Xt*?*+WrowWpZV zYU|XV0SGk@yaX90IODDDJ1V$nk70tXXth!zXhLV&W_I2j0}#A7TlDvPWp8S(ib4foK)Z=RFZnmO-T{%sM9ad!X)vvS=E7 zGMLR);i1jL0nkwg_fLs2aNDHjT8o)GE{xP40~`ztRCbb0ZTebHTtSUqAY*AxNk>g! zu|QqRhhE;#noQG0y6}9V=nDZF!E6GD^mqma;X!NW=|qlHslSXzaesdbFwEejC-<6r zX5yDRSg7I$)}axCQ7>Slj}jiS@(1iW)<<%KUnatFYJ6+i0q_{y_T%%?+epgJ3EHps{ow$`;(^ue#5 zsJrmKpiuB0@1^4jBMPqEm*$mC)ai*m;{||XAgxbyjiaI+&8#Zzff+Yd2O`K2Sq_k? zdFx?>KREH&#TX~vfCn$2G0-~-AWyUpof0fSaFtD!AqO}^`4I~{A^L`kHa~*u1Byry zDe?LJFc|Zq&@LM*-_vG(Eu>K9_`WsBrM?acGRlf~(wmNs?)%+{9S=T&;|F2~c%?Ri zK^xFE17K>8x8ZI+;u|_(v4Ea-48$^Xu@?>HRK-Clf;tZfQo(`V1H5=2gxwItAxt!n zQ$q*#92n!&XO09QsZb2>d*cLXP1yRu8}A)R>G}wm-~+f&ndO<(hi}x`uuCh%7yofE zRb@T$^&2UQQ>_M!Zm2_C1P!EGk^O4yp9F^e%s(#&UIe)kzkNB@!HQF;U+9M~ui@kp z`taq4FN5BaTKDqh7Kju2;mZpzXScE15^CY)>0iO*q?)eMi^gvI7At0OrQUY|=m&k% zg(uIZ23T+FP3?M42Y!^Edm-;^VvG$hn0sxmY;D71c4~Xe{&8#jc{9PvC~&TdT7GHY zcxiES243z4eU*Wg30R7K%p)T}HR^PFUpihz-SF097cMotXde2s@vp&3eysWr+ zM0Y8RE!GQNem-n26E~R z;Enk$BVP9u>;5V!Rmz#+!5>MwV60{Al}U@H-+__8|UuAobnou z9T?mxh&1R)@jx-JV3@?BUQz;|t_NkA^P;`-43}B9_rQ>#Fu3cD_quu0`rd*4g5t3J zB=!CQ*wl3?g}6WU%wZ_!A0Esx`q(Y_VCuOPZ-9HPmRvr4=fXdp6EyVghj5Cj8}Wn* zMFs&k5oiq5+n3Q`t1DG48*d9?=I!=LkS~=b;Yl#FUk6t&x*Y3c^+-!VhZOIzPQSeN ztAYMR5u9rJSG;JWreFT%+!%xauF_vS3%&TK+Fc$W$v>NG1W%8<&O(UV@t5PLM)@c{ zo!;*dy{wAfm%-I&hbhoM@fYjjpbCfAQYmQ zM}gxt{o}FSR=_%RLoO7Czd1EtN`HK&3J)f5XuJt>e=qGA52ej>tZcz#d_$U-ms4bX zPx>C-teo(V+dhE+Aln_0?ji>P9>9f){RjTZ;d>9mW^5v;oB9=(@+5vH^*XGs z;TjN$Q(S~Rdze>F<3Hs>LZj$`)ElXy{whq_zByyDR9Ody9H0W$jquSCZ!RtT3dXvqB4F~7X_-rKaLIN>drE*#`%ig$cFvx6Qe+x(5|yUS^P3~JW|ubdeI6&Z`%%Hl6+ej!(gm)a&zDUpCX&nHNbHe z_>f`pChAKx3qbHVX~Cv+t)OnaA({`1>b!{7;UFs#%8_2P=2q5F#+wAW7Nc>0S}>Q6 zlQgd_hICY?4nr?!19f%=p6DFUIsUg~s?HSg%DYZ8IOzB1;-iWlym=QKE1ucVZrW@) z!Qu=2pN$w^Wrm$fyGuDucYPh-w-qKYbEtjsUGY9njDlC?Gi~P21fAYx%jcnAwZ^)K zc8%<4tYafgXs3{L9EgE~V>v7!{{;vDfCq$nfR~XQMqJ%pf)DNKwpw^DlG@vyZ^`H> zS2+I&gkf^<>BI1ZfXdt>hzvAD2Gf5yCp7lr*K?tvAo%*sVLQG3-e*&z zh4M8RAz{EHh0PV9Y(w)Ldq>61#0J~C@)2B|(D}*$`n;{cf3AH6^uBWj+OQ?;EEg0X{MHnuNc( zG;$J(TD_OJJQ7)OIUoE@eUJ`DjLN3r42NadwR=dadtUTvU3^?RT#PibiN~ zseXN^4Hj&|3r^I8{W~}>*&EhhTPhFn;=-xa379#W$BtiUfo2Nmw_^lz4-++O+k~^1oO*I-S6=QH;wSRdqYrP4bKt4BzXzQZaBzk{SjSH zvFg%MTmH}ZB;MGaU$CRm>WU7Bx?{^yOsG3f+B8P;q75E}xOHX&7;HOud{5Bq+S3P# zJJ1hn%TFJMh2J^#Ci6_{>184Uh0P5OyhQpB-v=wG^AtZHbw86j2nwW2o`(PU;q!;< zwGg<^a7O&r#;R8aF+uBdd~Qak-YQ7JZLs;OKu^9KmR)d`^)e3&Vmn@V`N}yyHM8<^ z1)N|ZJQCv6BI`bZ=7s4`EWQTopPqATBv1(8)nEiKf$RaaE_2RxcD0|4ST0?1!`jN1 z=?~KDJ4RzUL~m*D80CHb2+Zlp<85XXvsa-HsZ9qe1XBvOM+C9j@%DO`iI%4=&~MhJ zsd>4@nM@g)^7ou<@@ZtItGjyN}ZfQ^M1)y+)H+c6lP%;$>^v8aWM&{>QYUUm<0D5k4 z3o6|JAMWi34eGw|LSfz=uo>`++q^W<@5zdJKz{| z76KIzeemEGr|qs+7-iBEl~VnQgyCaOg9PZ1qA#-vciuqmPAPr~N1f`pb z?}9-bw5Y*gi#sfttSr&-U86sPZIVc|b7wQ!%1J#t11+RjWkO)>=R6==mH=*+0lzJS zY(21t%vKm@Sn4O=QJ7o^`>w5;rBWsI;;{cuV4dd#898B6d+-nk(*SSp4&I1eK1Mdl zA#epKSZ4Ru)dAKUeYtJ2Lx2`PorOmXyvYuixxP|c2<{-X!tmM`K9TXkD2Vov>{x?H z7D1d~FZsru^qolO`+V$UIp{(k0+-*jqAhSU@H}wW^dDBDisG&sf8Mj#*E8thk z{mcD>Iqeq0YvfTqy1hYe1fS8v9iOZ`buP)&5GSn#k?)vrFp{(A`e9Y|be zLsD7`NGfdu13P@tGz=Pp4n=~;H5P?+5X6$OJ`6MeEV&8Z7LdJl6Il!oFFCXr?|t{y z`CK8}SO@g<#vmL7k?YQZoljTD=!@&cxn=cHHS7ZPr3}(dzJ3XA-0<&C4 z$6=R_9=GLZ3(5fM@+M&@zHZC=Ua;w%`u>YMD(YMiFHh*3GeExbpU^h}K+xMWr(Z`g z=vT(5mFkgwYx&6XeS4v>4DIR#o^-?h8l~H%J2yo1#zL1`da^+b*62w+7Ye>yv)~qC zrW$yhQvoT?gE3|+Au#R1!#@$Ep=VS5^TMHiUJf}V|Di)W+`0XYA*^3}PBd|?paY8y z@zH3LG}{A!g%3nvhf;El-w{HhXl!;xZ?m55a_FIxF7Y~R?S(z*jIJtRz!hg(n_XIwb!E2pEG{f7bE(y^caS*< z&B2Ed!Xt+oTt4)q2DqWkq5o){zW7={E9T)l^&9HKL!>o|)$zdcLHLQ})c0V-7P;V|dK) zb%WWunpLJa^`oQE!-Q+1(Yrc2!07!#zYsp!?}-FqaO^{4S#mev#Z<7bX&70OFOka2 zBg=f`n{yG`$nwchYp4o$)qH#r)_rnM`owTB8oA0F@$6Now=mgAbCJQ7qY%hDX`qWR z!lt1e0=}g(bU=3}yEcvTiav#Q9y;i8DZVLG-F^@2i`;lN&(f)~Vw2_f7gnAfF&irf zAF}*$@`DR7mUJm|EO$@-INLmuaf!85;pB(e5kN)jQwBQ;S_2K8*po1u`UpR5^uYuG zzWL~zUuFW0E@h3S=*;{3+S|WzL6f=V!0CO>hgc0^%l^&X5QFz@3LhI|%^z>*-stgF zZ`fHyFCX2o6COO4`CTA{&FRJ?&2At8(DQ%_u+yU*Yk-Hocfw!J+29E?8=#%=BuUqE z9{8%0y@HCnJSk?+fxVDX^-1Qb!@xla1L^Psu;^?#R4@AHg^wTfctd||03na_aAJra z_|Rs}Z7{tKL?IAZvxZLvArCnHXiFKr9+qQL!Q6lgLO{+*s{Q@sVR$n}kADMCPz_aj zd_!-Ya~rWQ)1Y!ZckxTW6yvfpU#x`kevLr?c?H*u*7mJKxo2zXIKZhR)AK8L1bzAYR>aV8=XfpPSZ$7r z9{FH%`aP%*Y3PRVCNI=UY(3lP0RUM*e|YxJvxihWj*VD^$@JNZ9Xl#fCGFOVwL@O8 zKG2G9Yw!R%XWAyrW+7VgQ}Z8SFzU(k?OO+7krUr_{(sIu)?@DDA0Ob&`|djMxZSdS z=JxI_K*%;blt+2-NWi3an$fmqC?ieakJy(~Xy@{s6fgOA9%<_+VI!#4yAB26>xl)R zO>NkD9Ik*vJL?)dRztMxdjv+?Drv6QNrsJ(4UkbQHh6S@u0~Lu-CaA+3F1+AD*6}{ zY7_jIE6{SRQ4G0dPIfa^!PXDehYc@moX?nPCb5Ah=e-ek*wYovdM{M*4nh|9r*v{T;Zam55clt zCFMF^6W_yW>+qMq0%s_X;MzXw6<(%5=CkxI2M&&@zS=nNv*dkdn+3xJOm80D97j;a zKy7~C5pmdZQvlaz<=*4HFiQLJ*}Ai;T7{Q4r_Wj~s+}5czvp6} zGk*Y+8(3qpQBR*)1MZOK+6KNCp42pqpFHqHH|Ti#@Z;Spck*V*rtZ!17cQxG(@sm< zg_ujT;f*^_E`a3d?rNKWnZE@$HSTfq+HpLz;DmcMhGn-wXp4bwf>3_EE%zi$*Qzbg z+2{uNAL!r>JE=xKoVTI7qId)ju;n?#sc(0IuEg7^CTACDHhR-O1-rug?^Sig`j}O} zv|Bspd@I+Ej)IFy#n5$;IBZAd$Zbv<9ePsFjS(UGz)J=*%YX+qHEGJA59H7}KZ5s@ z3xJQM{^KUEe+*{uOy;Cpuc=rj`kl#8Fvx1})+iw^I`qxC57u63X=QaL-x2YJ*0K__ zx$kM1)2~|*IL}LW*7Vg0(Q3MHMJ~u{;+8lx4X_9-h`)oCgxWX-{9>LL)d(tD0fLM1 z;bU>oxaj2%zTcPoI=Fzk=`-tVxs^~%fA8$~UV{gQ@X!w*L?cdlze|qMmnONf9X4Jo z#*1`{CPLEovlI-jHc+n}Xy~zl#9%4y`Ehr1^IBK*=$$+B9AV$6Oa2qJc_(bC!2XLw zpAt{H$Fd;zKZ#E+7_J3bu!I_RpQw#-KI^dCmLKQT>Y*Tp$0|sb7v`s!_2Lt4xCk7y zi}F}z!+J@lL%rsSZCwt<$;)}TYbV{fI?okB_vKU_Igh?&VEfL-LRPZgJFu$#Gd{tK zQJ6dF`a+X=J#`N$0UsR)82}Vv{}B+aK{BP^$my!fh0HP81g&3#*;fVZbQ#9AnNsH5 zKhB8;^V^ed1OM=E>+rW&1yLWrHn??-OR1nge(mu-@QAz~zy9kj@wS5jHsxCp2T9Za zLwZHLHV)nkFRiuxJzhTaZf-V0tUgpk2`ZD~ZK#irlcE1lE0kd@D z@4a?9-dgF>sw@qOm9J$E*<1>y{&wlR2^*(f#DAOoZ7Ucg85PAxd%KtHzQ;cp*tx8Vo` zqh+}E$ZUALF{c974$tlzv*XSu_XNRgEfChMXu-p?_sr&%yapM8dr~6+fbjoXfW`wA z_4BZ8+z*fHj@C8;8yR8cz0{M9bYn9LK}*%wSjdI*z7@cZzjLnW`}Yjo68MbuvG)$R zqtd;HpN2)4dk()2X%3Q#CFhI5BQWvTnPVV1uZ2AsBibI}jp!nno5jAU*Mj!^!FDpB z1?34|IpI^7c|MdmSuaYw{3FZ_QP zaQj=Jd1F^YqKp;doVuD%1Ay=Q$_oo+jNW2qh<7NOF?2 zEM+SvIRR0rvQ%i=f@u=aQ5JDuLG85y;X z%I-D{_zDPRDLFa6>vVqK@8|R74}n_JbDrg1uKT*Ld$a3<5v}810axSI%EQG2yef_O zpco&~PG1>uI1g6;{`g>HzAY^7^=E7KO=D&;+BPLK-CT8e1dQ8aBU|a~F;TCMe&^g& z#YZwWxzK8Z>wb8ChdV>pl|*E<;ruhWP~nWbNVg^K&9){-J=JxWD-vDSg_|=CO%q8+ zBKG>9xbtAI6e+%peH}+Px1FL#p|IFTscHcQd_z1+nCW+*ky|)@z?K`!q%o81Yon%jy zN+odC0{wLFGkbZ@qzilXqa6rFlY{I~;Z|lvr|}hhp?4kI_x_g7zU?qs0lJ{?-Ty(o z{lAzBR}!shUv&WNq5-7nkL+zFVWVBsZgEr{;(jm%LI8d&V3d zvDko^DE2X3QgXN$cLUx%sz8in!mbyd2dd}95QvV1n(Z%@%6+RKtw zNyjX%+EfDHb!h&kd}A4dm-+~W7Zb~@+c#dPLm@hm@%x7cEhn?AYoD9g({TJcBsiUi;?x5 z>fG;erIY*jBNgY-8=lxTaE@CocsUDTP_95W!zHXnFy03+#VLuhVoMI~+V^*yi!T2U zyfoFLnxEZ!z@?Do+)TiH3Vj-H`i7zAWteL5)4dtG9EZ(4>_WbAiB^l4p&R|mfrW&u zv8HrvOZVTFh;25BVV3QrWOr_VzOkiI zGwCn>>d~1ldy24+1on^XxQ6SunO!#i+&DspQtw21&atFwzP<%EtzO%(*n>=c*GOnSt#{n-?1fc^ryNZK*?ahGDUuPwBv}Ij5xs&L}Ct7v!wtxx7SXRfO#+3%l6B zXkC6-UL+hN2e;*ee{HH-0@!6Ua7|Pi4m`Ba5%w+vuvzWlX1?Q0jU0n*=z=K3NafVu zMD>)*Ww*=!gWw%)>}bNq)kB3k$GBJA;Yb~iF+4n0&V54)@GQ}eVZp5^u zaLylGd;00aj=Oo;t2?mp!G#W2j}<6M|I*hN>J9KfCz+;4N|q%Nt_}}VC<3gj+n%AT zDzQmKchC05>7fR{RSGbV&a4#>()PB}N2iYy{Fk+lm?s=@G_1htce0;2_Enr+hfn(- zhIe)hFGVL4b7xsc5jwo$w7z6hZu#@Od2}DO=dGULG209^@sWDm@IO^cAfgPyeqpl7 zpXro|Gt4b+)#KldimGT5bO_x1n?1-TdTfH;;_;U3pX}i_<7QZ{-)>E1(2nt&UGQ*! zTUF!c++41k`yDqDJMdg0s;bU-bO6|mDUabgc~ddy@7aS5u$`*;lo~^w*VkO*2I0yR z17Z^vSGz>>#GiOmRxIs|dIxYDW=OHP(g|E+AkEnUlHcs$Zb5eQ=RyBl^=iK#Sn#wj`WNZ4 zEYdM+N@Q#A{q@)eKOAoE=eG_TkniZFX+_9i5MdS77CFx$M5IN|B81DmBlY8)n~ET< zu)>CRCV-K2Q|{tiyn&fMkh_o7M20r!J_$B7@&m{&;PIBwBSl#Ebnjw44y4}ZOnJa! z&2^K_fDD%y79)Fu-QguYkW>e_*dV2wanygyG5Djva2v3|lW04D*)68wq`g2sZ;yy? ze%!LeM80Etho`;OZm+M#?LF%Zx36(ZG3;PD_~@*6hXzC}Uk!p1;P&x&6`gTg-u#BaUZZNHFNTG=cSAzRg#eUZSmKD~yj4YaMqNI^2 za$c@Lxfx}z;i$Z^MU{(ly}dRMV{qoN{*uziGZyD=!lOvEq1hUrwFFDFiG9+MAUS1P zg0!CRs6Y)4#v+NcUgi9g$5Dp>S*yqw` zXP2V|sfIPg{j3&(T7yW}ep7)r zS}B|ws*fGwBMqM>gQy29wnXXCkB9YsJ9JZT`%v-(8-jeENq4BX89%44BGEpGh119Y zYCmDGmh5kxILsU6CG*f+0#w%+R=b8~#PA~C-7x) zG-;D8h&?wWc+qQC7!Pbqt+0ecWk57K;QHYPMz?{9N+yZiG7VTiv+SMyri`hJmT`G_ z$s*Y-NTO55vaunTBgY;wcYQoeo-ve=N*X)iiiEzp()!{GUXIbG1!vo_*&XeCGSnPc z=TKwK5x}4^kf>nm{#+${hni^n1Oy>&)qKAHys3ooT-=9*ef-q`^*2|C6Z;WA!Ze+9 zrIjsvMG;*OF)TJ-w?-f}C`VSyy-ta7#mV0}Q-aHz&nI?0y~M~ip;N(@5Z_)}9toD{ z@u%f5>2tLm(Oq41_uNjNw+eUAhwFZ}fa*xA`HOa5Mi=(j{Bk^Q4PXbNui-COG$F%* zF+-CJ*;mB74P#MK@iornGCkartbt8BqTFIIog#lYQiK3IGJIby0*t0cYy8#+{E8#8 z9@ZB!%{aCM)$An(?apj6)H~8=7MB2uOOUcnj?{O9$&s+tBAuB63j={Mu)22L{U?uy zy9?x(au}iCzw;CV#@_>?zqeXAIU4E3)9>6&tLh{;!iA5@43znr?4Ie1E;YEnc(*> zDTW(Nubww`!U~u=!T!Fm?`YsMNXW>UxK!D~P|z;pn&EJB+hFBJ0Am!6&+Mw%z- zchi_lBX{Mw$;-&!JKDL@2xr`35u^UbrU~&qE?i~JSOG~8Y4@U;^YQuJi+VKR1}mle za_N>j^aoqRi$=SW;>9u5n(>0q0#|12p>h-@qGS{6 zL#C+X%Q{$80o%5!J2WKaT9qvbkWo*hljYeIQ?P2iUV@)HeTS0r%vm`f|ozom2|j64?0zI z^7maxbDSt4r30##V3)j+tWZSWCX#30fxYp%ZlR}rLz$^}rS~X$_;NFMuMiy!={>@k z@^~nuVbV91|GL5pzbX8{5=;*`lHe0`I+PGfh+Z6&b9VU_giHhHc=s9fteJnp9_|j5*{A4gzE9ys&SbU9ixj`|@9bguu`Hj=J2@PjSau{~dFp5)U&9=18^7aoD9O zjJXeiu7^Zbn@~abzVR{`lOJ$z?t25vj`SJ3Bkw8~PNLrtj)g8?c)kJUzjt~Tfe^_& zKIQJES}S5uyCIr2>y1<^=FzUf8;b6^1}}ksG}Fr!MI&5t49o0*jSJIi7aW3TFLujg z=q$=(hplJ7K(hp%qJu4nH~(ytya+3OO*VDfV#A$~%vtJ^JQZ;dg9BT%p2YBte5Wf+ z7@G&zikEUUwkS4}Pt%gk&Inhs#1-L|lsFPh***s%A(RgssAtBqn9Z(zW!TeSw0<9H zAvSn?3-~GK-*kQA5V_@D=i&Mvbh*6`x|H6hL4!acKMMBPL(as>(g%96-v4D7Ra+#xm zbloLy%9NKvPC;V#e!AD!tUA%%0oL?IKth}W&7;^`=`6u$0IEnLxcEQwJe9t1@&+h1_aWLQnb6x7I7rH%mf6 zjV!ge1I_SaVd}$!_G5EE`x&{f1TBVxj8LQubaTm41Ft@|xa=uMO7x?Yhf4H@&H0%n zAbuX+*;$sM^YtNT{0n`ms-q05x~@ze#0u@GBX+uST@WwUed6vM@8~*E>SgG2?|gEb zGvdvgjU?k~#4iZ)8V^`JL0_LuV}qeX!u%}m&Xs@ezFFdQr%@{^eluy{WEoreCMX8O zywjW#S2(r&G`LVv^~Lg(7m))qQL95u{OKQW@gQkT_-X4~e#q_W9)7E#GZ=}K($x*E z>VQ4^%IMCE;Zq&9L~sl?@?oQ&oiW5J3-llRjIZ!YfwrOQI~Vp{a;8S$^jgAGcc2nR zjjtTt%gaUFC?E?wG-l#c3HDGu*UpRO&Cvl@xV+h#D%QWXVdlc7rsgcGP!_ql9empe zJ9A+bnhm%+1cW2-5(k&QS+{hlO})Q{zu=Igh&wDoyE7HFq=J^om43`H5H)U&6TtJh z%8uL?yJXNcI``%JnqC3a#urR38K6$E2uY1FuP&=z`V>)3U7k0Xk zhQAxlwP7*$ySln;Fk7G8_Sf+ymTkQIPv>zZpLypeuy3rMW&Quu>6~%T8?86{oY6=R zLwGmH7smx`(@|`b{SdPTu`M(1?a1|%RWP#e$y?v@wF84-UX~j=efDJG+V0Ufawaa{ zLoV*+?sAj)sB4l7s1mj6d6=d?=+fv~UccOFATg^rxo0Wl_uS7fLbnN87tQ*{Wjzag zeI?s@DT$Ek4mjSRu|~r^$t>=EBsgeRDXNSE;CM|!Y zz&tC=2`#gzLs~$QCOE0-SOee-Mmmr z*U2xv&g00uEU)eM`I>{;ZJ*!W*@4!%07R}}B?jfjxF+ga^iQuUuy2n~{Y6B+8;Im84thE?3|gg4|RYJ^}JA zIkwcK!EpHRQKb(>bRCn*1UFSi5T|J)F~jKZ=fC zf(_}v|1~_^36wcXevRC5^EBfrGIXgo&JnUxHHUvBLv@G09rzIcYc(B^-;;Tvmw8Wq zxf?ju)OUAiHKRkRb*(fB#Arvi1;IvC#UZncMeDk8+RC&bw5^}u#*NVM%kp+E+r#xO z9Txse$gYTs_*5x8fp-D7OiN&>e!?R)JbGN`@{n(q&DMyu7za-CA7_FWD$+{ct=xQM zb!a%G`dYuzdJ|n>X556IYn^kou*CUjC79o_{rcx;KkB5}+1WO?`T4*phXVolY^FMD z?o%MqF+%NvckF~DB0QoNg<<77>qOGjeLGGveLK)M8}+?G7~H+L-@pcVnM3G7dJpS|fAo!f_U!fR=n3txMZ}%mPK~mZ7`{Mu zM!jq09q=deT1S-Z=x%Wcl%pb9+uiI?@n4^29{&GegUgdFu$F%6!nN;T8VcDIbD#DM zWlMXY&V@h_js`#lil*Ssk|9BL>7Ae0lV&3i_^7Fn@%EwPWq6UZfc2ukWN?wl{Sii}}TL46pq#30%u9qXNjd$^-Jkw~iuqH&8f zziN^=ZjPIDqk0=fXy%gcrR}j;46RygYZRdA0=`ES$-$*xm~=GeEAaO6i5GnLTB2f8 zXKay^PX>!Ce=+HLML=&Su7P<(hPz};#6d$(w${h1l_{Cp%EHRd zDQWY(N~n`EYhUbk?$!1q2mjw8`_VP?z~{4jAUe*y0WhQKbC<{4HydfKtQ9jiNLK<{ z2hsXg>{}y+R_0ZU5E>>dv!>gIM4{+aa{z~Y=(3o?#c=36gT23+cE$f`ZRZGszfAdv z#CkQcmMI_I{O~M(VSRWx8dafyV+|+Y3n(a|$nU^iO_9z1e*?)v1~({}#Z_p~lXveJ z!3!mot4q6GI6|6HqCJbgSb$*Zw>_q;-Zp2P>35~h==&GV;n5Bnv#D)G&R)A*Pk(U~ zS31+Dibrs{T8A-5JKAG}8>VR=o7=SB=gEq>67~DP&cjc~Puh=G1O`7uLF~erQ)QLu z)*J#8>5MGwmv^|TiEP#0@ZrN;kN4zJ7)Mu)<-ysv-z@z<( zd>}(YS$kLbvID%<6|kfwmAvvqaY64XF|_RBE^?3&hke=3Qwz=#bjAA~<2n zg%Hij&CSJrR|_!;e#>_5f@dh&<==pgg4(j7Y6jV(39(#~@35=phK3eJ%Dat8tdd)oY1H}^XU1k4Bwv;dRwEIu(6sFu;9DDFpW*UrbI_abI6Q95BlkZMgM zk)69%LKGH`p_}enS?ff#$t;I8U^aGwsdW}R2QcZO-yxd&9phYSICWk=1Hgf!+Qy1; zHI7T!XhBD}v;akHrz;g4lQzQ#*x~X#cov*&swk?;AuQgH!pu`hiTZIpr~^@|TZnJd$7>rpCg1zMzIXjO@3E9G-Ev}Y-OWBjl6iOv6W6~5oZBMVs_ql z+%P!S+1*@g+&r7JXsI6I70m$PjCsG8;30c;_xA;$f3cr;hjL*EXmrTx9tSY2^eF;b z$>~UoXQK^!xfN0#kinQixV1R4W41!g4HWD39LZ8)K>fIG*X>eLQh8xswS0;rTX5uy z!Q>bGQKkRDeyeBIgnKiQ4D?tdD|dy*psr}cyB%M-dnK@6iRFcL)nOt7C~paYE!zkO zuBHcU(SY+x1t0&Ywmb!RKh}ZVl`F*TD%CvBS0m(y!+K6<5lwMHpJ6hwV@#~es+xyfGU2_J zL$O0Uf+zz+TBU%NuA7vK(jDDkB=3Vl#;wpG>)<#<1yEb8mCd%)H*DXc{sn-obCJlNu2)_&pNh_R)DbuV+K%~18x zq;R-JY7pXKX(&@W6C(7DJY>o}Vbyp-HE7Z?i=nQvVnxWInon!$DW?ij?>bVahLP_a z=~DyeCZ$e6dQ_A-lVa|!Q_Wxe<|-Vpx4&R&D2VIT3#E*Xj&_0_CX<9jb<+IhqE4;O zq`+DEZ*ci>vb)B^H3zw2B3Dv7&Lu=G9xjdcUDSi<=J$VBBJGr`~$iiX7--Hc_A?ibdVkX z(Sij~mr&HSNynm;e75xQ-k0TLE>CDjH$n^0I?N_y)NnSZy&;^Zp%=B`(jh7ap-mRE22v;#FhKGF(pG*(9 zTn>kFs*1bh8CqA5q*D=3`RIyahYkO)*46KNT7Cz~T*YkMqn6A|)9PYZO3j`QA->I9 z@=jhOM9-zr_lnSk?Ohp#G7B0MVz7wb)ASo8RoIH6(L#(nfD2zWsLYZHleiQ&&?N^W zN^(E^18(vTDCl)TlGXAqnB)-Fs|J}Ir3B6ZZ;dht(^%^V-!Y=Q-Z;+9MGf=$;TgcHgaAZ_nn9kWl^h|5>IU$Eb3%1exSyYh~lLa(O<`b^?~R* zF$x)V6Up(m>!vp_RSg@eq#y248z6TUHyd}W74VpkPgsomJzFua(q!~1l<1f=brb;) z$e8qrH~)LD@k)XtMXDLP?oM~;Y_&TSb$CMS)**Gr5x|e1>cNY*NimMqOkto^eI1d} zhHAJswAw|zLzeX+l%ZcPExw0O(vo|>#NT!)=+x1QfaP)onsUhtTxr~V!cdA{W30yA zZqBEb(t>&DnIzca_vt)miPNP-;gx!0vZ~SBZ${q~c*WckxZ(4e=m*iBrq4~qy?*UH zhBfu*=@qgF)T$yb0>KrV9Fi9jZSa3k=8Xr{nt1fo(4F20*Wf0TETe-o#EjZ=5(;_F zbX1@3N=NBpZYC}eOQF;F^_D!4t_-?sD~$GpnJ+}drW?1tA^(R4W7|@2r%hxS@G1dr z!#jkgf1dIYFBC(-X8`5V4j$=YFaUKjl>M^=uj!p$ugNgY3#}ZK)$_Ue>>em)`@$ zWC8?#Y-!T8tQE|Lccgts)V%IMS?0iM0}rlv>-S%v8EM{A#l<9G!<`{q9* zHQ3(t#T2Ya6hXcigcstnWpiPy%`Pvkkl2WzDZ3i4Kt#fljH1+Y&{oXyA ze;oHfP=ze5^uw^^tVU}AjJ$3hg+jAU90_et7}q->gGJ#_a&?x=>e{W%Dy_<&=n!I= zXKIdY^&i7TtW)Q_4Qp+y`*&#wbXeRD9H#_vca_g0`fhlt&Y zw~|9#nd~*)fgTr=NV?Z`kC8aLyLSQ(3p-)ikYzYJs=4W2VoxPBaAn$m#lyNhOaODs zN}H1CI){pgmO+c$vnWPtfJ{zJO6Sso2dA5RRL_EYz^vb1tJh)0-do%Dg(Dr^9&oB7 zx|=ZcA=wicE0>uvr|ll-tV1j>M$Bqgbt2KpJ3T>!weaYz`lM3|0$eNDpxzJ6>u{pw zS=0k`BuXbn_1Qy@#P(=jI^#t3^;fOy-mVe+pT!Ra>JN{d1CAXWFPj1 zdjGSUU{^&3(1nHuGLX=eb^z&O ziMgZl-zH<04rG0GH{&H45%t(f)6L!o!1;!xZ8hw&%guFQ=13IL!1{&JY9$8YR9D;^ zn;OmQZ0NB&<)S>P4`PQl}Wo-KY}CPD>JJf zX(?u*rN@Boo!|s5r5KFzIAh#<92mJ=-&(O;kaYq= zj4&t+9G&0VGo2Um=)~0%X5r@3zCcd^LGiA>)*n#5BC#kP=!~Hh2oh@tifX2;X~zRs zFf*Y>7zuV4D#tXi`vyk+h$?_>x7akF?c~*n(&ezFILlyhAQdQ=MEJZ9@l_r-Xb&?a zidGVi6vCm4WG9AlZbx^94SQGAguQ5^ z57~u2RGy>ha}LjXG$zX43W?KvP;{=WMS&p{lM-s~%Qc-A>y*%_FRfdHCd0STNBAbvMX|Lasp6E81myPWRqaA+v6 zhyrTo#1x6=b~#|7d1(W3_hcvTOaT8NqV#t`-9)-sK=<)B>Aq@Da7fhf0fnrpG~^Fd zcjss7wV-;bs5hDsi+R0M%`MN~0E{p!=OqUkXv#&g? z7N==(mPKisZ1Z5|f)h7qx*FP0)xcCrWd+{TLx~;P;xG?M_0^1McZ;%GjG8l$5n>OlWgnStXybH==^2k80FX_Z_?#yurpz(RX z+*M+iBEay6$8p%cwYoFT{Qt9fx`~7pQLay%Ws;l=$)pL&Yh~@!g>8RA95dfo?1T!Q@@LED)bSHw%kBA~U2}82lG095IVCJ!l%12GWC9Q>Wn;Zlc)s#Io^zU+^7mk6cDY|em zA2&+x{>+wT7 zN`)2G3LOmK?k>Clg;Io>9guObP|{*=O@CrPY?*L0~B*XHrFI|VeKkB9z3~Gap1*9{#N@dy=^4) z0vYdz%&7~WXZlQ)AIu-J+V4osjC|*hVGvN?{k*&=`tRUCr!!uLw5Ywrz~1k0dsjj0 z1sb`$q+QfRW*0_)nR)4{!rn4I<&EF$b41L2E4lCqN_&A8n2k#9|P zoI6{cT5nAhn=kC5K%L4?;C#5wZ!x*pa_I z3&h)&7^Z9l5^yse_y-)i@FP93apbBxtt)N{cM7Ig)>RAounU3gj_?>r2pksOFHC3b z@(vVvJkP-Xy~z8J(rARL9WEhWdib#N z>23gX3F_-}YKBHI<0kYl9ChL)*iEj0r`frn;UQf+Ye70I^F4@Myt!tiOi?0psc$lcBm zjL!rqM~D@yk3EVyoJoJlG;i&TYfv_+F~J3=%o%6K-`KkANLy-0Q4DU<*M5Fl)s1K8 zlJ~w`lgknEAcPe(|3<}+JumRW*O5;H>+ERMm+AnT{+22m%@Fr^pUcO7q+*CSp;%8n z0<0HX{eL&7_g=hM&w(z7%biie$1||yx2AS*s)xLD?S6XMoKHsltA!Hkt?PKvlwAa& z^&bhrbVuK~;#L*1q~;=hK3j*hHoC8SEGCkc7E^(D1sGPr56I#e+TZ{v*e2OGX{OYZOm?$KI_1m}wikWJt zRyA6bGw9EuIjd|D^ALSNUHzif!=av~8T{vt=G$W#GbEKAzuo5xpBUxw`VQcAevL+F zjg!}6mD}~67d+2^W_T9nqAu)B@A)o$ZbE9OM}p=BiiuidJFOO&u`)WcW4CyKD}j-3 z?=$IQYXh#5s-XY_@8(F8hrD)mlq^=H7ErJ7ZX3{r@+%?>5eVPJAz>BrHo;6hl0^m%(IpXyY@ne%drnk5kG$9xtKvIaXYLxP{ zSR;(UQLNhiFU+9wDwXn0E(@u&6s~lifD8)pq)3hQLA(HkPo~T17U6ctEj2P5Re02^ zK%I3s-1_Z&!W{gRBaQMm96?z_=Zi6uT3)f1r|L3$(XKJq*5bOlAG=^P7}x<6;$iAi zL7b7ITh(QsjrvbtxPWm*^j|9;5p9xLUzGW$Eg0q2cxG*G;+)FIrFnCDYKOJuF8shX7j$}wh#F=^zxI8|SdY(yd zY*jk7oWmL6IyuQ&9_Jk5iiczcJ* zXpiZN_O7b3L_$mdHFbyt~gtT*h;(9 z_em$+9`ejDqawkBJuNiDtBR+))bwR*xfIN5@HhGD%Z484+dl_Px5}KM0FPLM?xn7} zD>j&XkGlLbSK5#IRb1T0J%;zC0tZd`$_av3r>B1m&HHnSHDWH*1=NQzc_`#G{8%n{ zt;l`nR=jq4HfUG+S-ZbA_Cv9J<+yCiG_E^6DiJ$&5|8z)hf@>IRLGK^;_s~vbC8b_ z?2@?Wd~+HTrtyyCJ+Mbr3>F%kD1vBG1#v-$z!@j;J7Z6YCrVrnH#;8C_g4q;iK|fC zbCd6rmsE9k!Hkoc&~EG#FEIs3%e*%;y^y2wRhjnpy$XA2FR+B8ui_0YLedf!=fS;U zmUhd5ulKi3(O$JWDQbDyOURW`03s$+ruPi&!qfuqA!f_mwJ*zQIy9pK8dIuye8CSE z!HZ*|AHCq-SO0u8YcbBj%>VwR=7&618pl$7NuT=JqfFt3sjV0;MYaGb@Q`aUr|Nws z5Oc-XH&?r-;`%Jyb;+6*&B@)A;HI9?BO0Rp&Is*e@UEteLzA!JAO998o|{}&lv5H# zGIt?*CCjfA_AbbZg<6`%w%VI#?;36OMJ8cq?diaftX2p;g4LYOw8RIl%(H`K4m&i% z8S%sQZI*&sT}Xg5OuW6@F1O=Yk7&rL*=|MSUs>jl7k>laIi(n2Mr{DVkhYiTUM=zU z3^z4{j{1#>kWDd)ha&S)h;l?l@4}yvwKq>#2!w&UZyD-_Au;EKZ$ij~U_siGk z@Io6WYd=`zvbX4_sJ;KYWeB=cn4gj4>diSnuXyC$mycT`86~ex!If!j|D>jWOO`be zdiZRG9I`ZV=ND){kdVK4xQ*w2Mb(1CCob=j6y5BO4ghl@(xC8jAzGN>gNixm;` zbxycRJvF($vCHOKuzzph{MCq@f%zeNJCcdffkf9#D% zD&;eJ^*(k>&XJcZi+X>{WRLefb$V1fba|KdP=qW_c(;B#N)U@;lQO-FzE>|7l@PK= z>dET$`!>5nfBmNCg7|39J&Lcf3Z7tMVOaS!)`yPF89D`yoypY^$5oEpg$Dxp1`~H& zM_1Y95Y1-FP9v!sn$fDhV@rBn`MVtv?hf>-*u|*}C+vbmCoaZ}-S@n)d|Sqha*w^L zFaNn;^;llr)R6D3IJk*1WWVs!s0cUz@Bev9TZG$rEOoOYc_O4PVQI(GZNtgrY!X}J zo6-L1!CB8$Qt8jxEzLgP!U;zwefjzYIM~uw`jag+l2+#*t@E=sA1Zxpz(YV2VB4twO#YZv`DtrExP>xvul5m}rm&uxVhS3{GE zb^*~qlv31yHReKf*qMwUec~mxeotkxb)L&2+t~;HswPvhlF&GY>G7!#MaY)br~EE; zK*lh|9Ym+SkqtbxYsw9O(X?I5&NR{JjHxo+n3)|)k?vq zZ}IPAf_1S!{u#ceeiV@7NkcSX+e0dHT9qFBZqg%k1qmyQG1(77ktofy9GkFwo2jrj z%n@MUnsFX0?B(NUs6!&U47&UDLkD+Sl~9f)acK5KwuHAd0}l8do5)%7b|KFlU(%}L zwQ;$F?7KU^$I%asf3D#-t8E}AE}P2q&Uy%c(w}br`J#HHt+Kp-U#|Zi-J*Z0UE_&P z4o+hp>bHm+j%JYxX(~hPz7@xVzq(;ud}?Wr`sVfp^YYoXf3I*`lu?4^iHyPht@Kzf zrc?bDnPKnFlk2EC-#}g{_juN=h}@WCKmJ?>X}CTsTMqvD0G8(tPP&QTYKwO%NcBhM4m$19 z49y%F80{EqOLFwRzMkcFB|uC$-V=Nn*Z=w6RxpkPZj5}!R2W-SjYif?=C#u=Y~Be{ zZ=P<112?raW7kpM!&L#`NU0b`z7zc&SQ0ET}H@KD5dfB@3r8 z_)3HVUDqk03BU#k;i9M4^DTS4l|DEm zR7zFfgHN~8#-gWz2*|gZ#Evwz*VeBPG7#W(i$djxMVHxSOK_G z&T$F3)rs8YZTP;(uj+HLcn>}U=;EB=SR_odk5d};EqRnr5&ufMm~hKySL<@ zq4lxW6Kfado7YJ1Lyx{vmM)7bm68 z6voP3K&Fo#tlv2i*E)wSYIsO9z(sm&Yt(#8)^n|NH+~qGTWHK(wNq88y`a#6{6ceo zb;DcLgSG^nY6e^pAu}owaL(op>~HJ|(g?74H`bMD8bjV(jwF*V7*BeUVf!aKBP1{x zmpC-V2}w(cnLzT=?bK)*Igs{snvV@V3xg!{=YwWR4ae z-S%fkk~_LBX#)af)Vh?lyRbl$n+r3cY*+ z1t7da)MzchAP<5Hqez@Z1hdsqq>hk5f`T6vXQJ^o$k@^v57v7!s&J)Fa7hW-itHwm zJEpWIo;SKqFjUKiYEQnSD9>2uF`^zR5n5%8O~=NR8}iw=4%*TqN9N*349ki+fbwMy zS#sAy+pJT3q(HyxrWF_4po`VQ*m}%IXXIttgrG(C&?5(Xp0kI?lN@&WF}qMgzdGou zpPcfH1~f~!8KA>{jiTDrFqb`6SU5?@amye@p;6Wmo_Y*D7v&1K&8~78%(nc?n|Iq& zQz>cKw#pVK*@n!ct$NiKwlI=v6)m|sCO=o*ZI9#^9_7Iv~Bi?5kuM( z&VxcsKoo+y}p(4O+L8O)aHpUvje zh2%{qTrD}c{2oW5h*Y9pWd^;)gLgE0u?y8WBxA#zX>{c97Bu%Dv8HYdsTM2_>DBOZ z;)qTg{^oL+LW^hYu@~&={NYFGPdjin)6H z>nSM@_i&t}qlKyX8zFCb$l%u>lM&tz{`!HC0{me;q2=RAAvuIGpG5U)Kber{5X2yH z-&R?_O^4@Xw6A*Icz-f0Y|O?BIUFzY)?56;R~XePLd2i?%;&w)AoMO}rS zAm|-QEWR6mU7l+V(|l+?;|?>%T&Dim3sxo5IB1m{fYS>Zf$_go;@<9_{2)@F1859% zXDvsT;lGXfMeH`raERI6hE0xS_Fc?_R=_9ZuD6yS`|WZ^Jcm@rO&hrDvMK(U$>uf^ z{UZlyW4=POf*|4Fqs3!vaR%{zHeo`VevvIXvVX}>Tq7XW_?YZJ+{!MvtjaWtA^AVy z9sj1Pr*1d;s`3a^@D%AC)tYfqVrS@S@i*kCMDK&wV@fZ8dUt|C$(oL=Zn^vtrK;%( z1%DeSgnmiTwSSN5z0-S7()YfM(%WXtI7yG41i(6@;p5*!w`_=;+-6`e@&e$q>3c8o zvL62|`w}l^jI2I$ioNhyRGLhGCKs(ICO3!OUmI3;+Y^}ukU)9f?#VKqyYueoK>W5A z1IdZh|NF}EdKx2N=ImbEe{xoAh<`H`UpGF@3k6i{G5*6QM^v-$uQo@C>1*T7P|Ke9nDM%KOz~e$OS zWJZv-C2>I9aFJyo@< zO5ayShumoR6f=O0_=!^mqek`~wuO~8g#YRF6TRsV#7V3d@7UGKG&S^=FyZxxx=nf= zS+!_Nx8WP^Nx_7lg1>JrJ9cnMkyR?vq2RsvXvY{pPo?KFNJqmPsr$0o?N!-~`lfm< zagE~Vye1pbcJleCGk(!e(YqWJe#!)obE~~e*_($BO~I*^sg{~ zjh+ZB?*$p#cvo8Y6YUs?1hIMc^bbnMKsu_@%=C8#_8cB310`{615JOgpmkGI+1Lfo zU<9|H-=9=KeZ^Uo3Mk(d?^kHrUqV^K_&$zs@aSNOU%ErR`2zLE@`!$U)|_9g5k@?* zyfN=PcJ^nLk8G%O#Perxc4;)a1dhA_=M&HynIk*btSvC&VbtOy+l$}b!j!A`jn~9z z3gyy?+J@f*XsFPct;?<>O3XwI8EePPlX(8O4#h|UD>2SwdZzwc<%|M-ydXSuhl+GA zj2<6M;~A72gW>#M$;fg*C5K3cR`jB#IQBaQ;_O{~oN+h=6YEH$?Wsz8jVwL)HEyW! zqOm;naHhYZAyh=e(?krs7|l>a{Da$r}3? zf613pZ5*k9?)U99hRDR+h(nPt{V%kQ2O@lA*rv7lZ1J zibR9A*FTMAue|N)G}`0_9i8=AiOI0=_WkQS({s*hI__{odI~k zl)e=eH8=SwgUQ*BNQ^KpZc9ApXIm=N63rloP0`P+k8QA4h}%$O%{$LZW39hD?m-S# z>E*KB(AxQfX)&fe8d;;dre0$P>4*I}mVXh0*YC@u7%ijcHY>W_uGCEb!}j#dm(zLY zd3EMzscnYL4x2jjt<=MT^#iH{CF((uJF7fg_jzh-idQl1oNmp}o?$x= z&tXknym%A0-Sv^fUGqchva{Y852eY|Yy1H|oZnHcEmGLngxRd8asMQgAxRh%kX)zR z^cq%=w@apIL9S~&@Irn1+i*0lP@5%kcg+DC@caBJX+!q2JvL-+|5hRE7^Uacv-#J~ zMd1d{ssGYJt%%_N{HXHsTrg<@(9yvz=AdJiUI-dQwcp_}F$O+t>gS%2%Jrq~r59<} z#VjCZ8K7hv=(1Nl(1&k8kB>N-AzuUUd;tv}x>EMt7w=iS-73$~tCn}SL$tQIGm64U5wd2oGqjcl(`5 zlGB;wJ=zStxUhA%{+xCmR;2!W;HwtD)>86E<--92Kvbn4D2FnSpIsBNCG!s}`zb+l zC!vRw9Nrckd0OcWuVoND8nqZM5`AsEQ@}OC^g%u{8ZEqvxWt0&LUG@AH>}Q&>JQ4q z@#DuU^j~lxsr(3y4cNqrAJy+25Pzbb_T;o5)b9e}PL-EPOV}aOoUT3x0!6luPZs3V z^w_0Q%y|_?(C#)}0ddQuEBlId_p+19Q?s%mY!({ATz=Jaj`i5kIC|_Y*Rc&QE+=i& z=5~WJrK2ij=W2A$1A~*ME7WJQ;SSbG#oFNW6)lYzH3hzx6rLY$=GFZ6j&qKPaX_`j z{dc!g)NB3p?$n$V56T!0Otxwl%IJ#J=+sNmwQb7)$RgK4I+aL_HI+@*KBmA0@A)>5Q~-xGK(qg}@(QQFy6}!5A}Tyj?MVFRivq zMs0ogBnHKI*yB3bS9AjcQcfZP>(m+~qS;JMzawpevBi~*K3)R>CagY&$HR!3XtsX* zcJ9}5uHNyyc&RjcF>@6Sc~R9Gt~>WQipdQ5imG36*(sxrB}-mhwPdT+^K7MlSJav| zk3Y?*>A&Qu<#7u-MAOD1g-^|_7HY!b(=-KrVdL3z13VTdJt=H#2&^RSeArmy!XYqd zOLNXH&e3MUr;N;^fr^1H2yd}x2Br?U`|+IZd6!+Hsa+w}Zqt4a{$RI021kO~Od=hX zZV!a#%u}f~z1JZd*)BpC9hC0YCUbb<|*jg6=0va&(Og9BY#$?PVz!QXRF&qlki9qKvmf zf9}=R=-{bY_V$FukB{fFRU^hIYsY3(#@*^<8{qXzbEAKG_K8exId=JS3d-CqeA;t* z4W1|EqG#c7;LB+wqRpxtS;IkWNQ&aGk-!A313SPBtg%B-dg=g}Aizd$(VrgR21IQt zw##i|5LLyHZ18HRDjjpgjap=oG`1@thujd4c42ZBMvc3)|K_+-M$GNvbRMGgIR!GE zsgq2tmM%WZVTiUhZ2p&jeQP+*tKM7)&dCj|HtfEt1oX1pDHrBNqZiHTC|)Ugnpcc1 z=+HvDnUTq`p-p6Pw*9ShuO}-LzwVryp|UKu3~$r|foaqVPG7&ydpzxD2}&L{(!;bJ zV@tWa(nicaRSQO^Kx8&j9R{wqJZ^;}rP{RhR9MdqoW8+81`Ioa{f==aoXbx9n&81q zLV!@6{L%$BX%0f(*7cfQN@kx@YzmEWd5ZB{|0BGVso9n2V~~HFESkQBv_P24v5;F` zP=Vv)-WpsL#UhT@6njI$XvW*1UW!%-EA$^v_V)Jn+EL%tV(C{Z>e|^lE)z#xN5+&C zjVS=5CDVcb$uB#IJ%OGOE6jgzxKWazNsqv|Gm7Vd-}ps76F^mmTWC8N{dUI7EyoV z0!2t$oNg4v0s>_e*^(v&89`)IiwmW+2nt2$47T8sG=&in{f+2A)M4$gNGy(&(g1B= z^8VkO@LodIaT%SN-{F&o_p@O=X_6N7~O?7mM3F%)oxGFE9`DC62Z;v zS$DFHE!3D6Tfo({AQR)3BQJUm$KINua5)^vZK0zngjkJBgwo~AH_Nex$S(0Md`d$@ zgR;;aZjddz6m+I5!#KytOM-RC1%Dp}372J7%H3=asAdTX9<~Uus8!~54aymAwsDw; z1yZ{wI*SWpoKEF(v~+JrCq6JzApX0NYVL^S>+BI%QBRvI)ufc53Ct#UQ76TyGpd^0 znFaHjI*CBEms-du%mj%xif5b7d(8bZHU7bKUIxM9Y@|!owa)CsQ@kn)% z&Sn;vx7Q`2Q}2L+5Ecg&z@+?xu zW8BrE!nMii81Q6+H$%nkU!&AknQdBgW0Cu{f+*xBHnIrpuB*Gldj}HH z@+{)mh9U(!hUE6`YU@lR-D5#St@2I}Yq#V7&hSC8@hB`r=IwMvXAD0Z!LFLdq<`?r z$&DYEOhX#+Lp;lQV9(iz{Em65^wp<=pJ;~<8uzkn9Cz>%)d}30^vK5|7>)grWbR(b z*dh3lDIql(mOIxmx{_)pSX#QyYPn)uwDi%IUNRq($yOw@DZpU0PRX8uX0D)^XXh>EB z)Ben*+#-uAjix_o`=3j>!78i;LoR*g+zLew;$=%D)5#N^@0{~#CsL6m>M7m;u`K&K zlBtE#^X~hJX6k+C6w+C(lbs*cy`(ZnmbWS+qiefVPX{rZkbzJVuhFmU7+J7HB8P*% zf*IUqX=<`y!X#!!t5+XiIN^h|s_aO4L^r?P5lCkq@Yoign zCD#RQ*`AeckU)CHSI$Tt(BbZxPZ!Ru?p&zK7`eoGcmARrB&I=9KlXA9UkDcS5m!^w zsmb|Ja!v1zf;E4-nhTL_c9Kkf6DO*k2|^A(WHl@(ccy65X5}q0OqZp)*}-{;mWZl| z!Zg!C#OuN#DE67mjG7pt0MM0h+Dto&RMuPQyUtZ_))`ABo10#Qo@q>x6;(BnoP072 z!s>M~x815XMOH<^%8`)H@))0p@1crcuOo{vjski+^iG9jhkfOqT7_h!v@U-MrI2Jw%a$;5MM!xZqx{;#0`&^L zYSNmza;zqmN1xgrd3kG#y6l@Pmm~Oxc5a8Zhs0cvu8zxn&uY^`q^=9WUz0$(bjgE| z@gEeL3(GoH8Dpk6#R+ zAxgu+55?(r0MkB8*{V!RS43${GxlQ5b?g5g0N-c@Oaiz6+`GXZotot_lgRT-+uKsL;xgtD8F0F7v|;jkS{ z!i+6?eG>%XraUtp76uP$E9*;OXQzvCSZ&Bpe@muSeLB4D10A-ndF3=R&^2puTvo8~8eExJnrm%pN;P`7XUx-1iF3|= zNYi3-x$8=++N7MshI>3fip``aIpy){^lxKhGUm8!b*P3^(mAE=&2LVsjIq*DuE`_` z5H@`7$*yrRE_GTGQ?r@mQ&QX5y*P9o+Q>FlMxHOt!^4XT7PNe;PGj;HA=em-Tx0C2 zG?StRllC?ETpCO!t@0)t`(`@F4ojzyzmIy;SgtWE-vlm~m6CjZYNtJFs681rdgaF) z8}m*hwpDs2r+q#Q9a?>ovoit8qPg>Wn~dc&q8nO(*MfugbFB-~ZCx4;xHQQO%` z>vAEpt1_{>jj<*n+z$Qw%{Oc`F z-~p*@YnK+5m(6ch!S#S430!K`oJ4|jI?c5hjr%{HNR>e%-2EX**pg0dVS_D}tLls% zqne-9@N3RFC(FAU)W(I(8(+)5wqb#zq~Y8fm)tw#Q0k=|f4;M#AzXz_%3b^$ZV0`y z3AGm^c{7fIC6aTSA4M`E+f7qqY>9BMmrhzYGRCd1R-4&%XXZ|%^6=VCGqo8^(Yin5 zwB6IgvTm?vs2#af6zCl57>NZrR9X_!lh$cH(&=@{oLa~9o2=X|L(>!*V+e9Ly3XkA)CI?d ziG?kx8H&1=Ejnv5GsXGnR;pP+XAYC>|1z$+Sz{e2nX;9so-m(wFREr4K7&>1X$Bzl zK|lCw)!E@l--U!Hrx6l6s{Hiuebj9l)8xMcw~5C&RoHfP(5O`r zEPQttBee-hi_%n%oEg#- z70SQ3*&I1P;SRDzT&}#EV|8ic;DF5LUQ}@dWR5czx8a;97cW}5O{-7XS;Jm1WEZJC z%#3Xz2XgaOjZ|E9;iB5wt!fV&|1#oEMpXxgn2}7$H1PhiP#gjnS?Raip00Me67f9d ziDTPqQrv28w6u(G-G{?Zc(7`u+{KUYsctS+86`CP(zEGkvvgYG*#tvQDLJbxiT`t4 zUJt-^Gy9Mcp}JFTWa*l?KSw;-Ut30L?P}|6ddMJTKF~9#6M}maka#0Sx2$?B1*y=b z57cc6UY*%_U0(%K~Kip?Gw!tw4S7bT(x!Q2EHz0HZUNP zOp9ujk&x?KYvHVwXVP#p=vzNNv`x!B>`hxxR){$oL-G~WKvp9^!K|A50S_ZtRr5i0 zfu>BlvnFo|_GF-^RKtQmNgmjC=oL<*2dbhhBuvA71f;jWOahw#1NH9z{$m;&ei4T{ zjQ#2ti?E$C?v&cE&Ygf*HkI{J=H;h8(p6WhVKSJW^3kp2o?$e}EC6m#l9mj*Pae{V z>lpeRatUB4)X*jJO%d93<}68)e%Ge|LE?Bg%6mu-f*9^`m31w%EU_dC8w-8N*AL00 z>6)~|^o+XYi4Y3;v+X#P+*n?_y-v9ZJ0P?2BkVY^${lurkI}o5fV}YcR_RwH% zY|J}}Taks0)o}MEH?mjGBmipem8Sp0o~F9eN=0r zO7iHKw>R~b3@eF(`xDw%nwz5>|p^bole~ula{QtrVZw116TN(Q|q4X!G5t2iwm5wmBd7B z^1%C?#rPNsUB6~!Vj7F8K)P3&GKQ5+Fw;Bd!{D=O-6&QJU3fweX`6+qOX$L4F3sw1RS&VxVkEGRM-of@O)AR`<}4BZI~r z843U*qZbT(_P zNF!Rfuv%+RCP9K$r53pi%L!t74ivVF&?D=%9YV^-LlNgCH3bL^hj9YvA{Mw`u+(jy zq&2VTj1&wmL-o|5S0XOcSqKkFv$AU2gAIjl9PEy;v%9D7ig|ma+FB|}(z4n{jWyB> zY7BV2HMht(0B_z)_li3_00#Wav5{RQ&{ttlnb>6o<=CNG@0Duh&v=n@&2p7|n$Df{ z7}V8g@@Y5h0MjCRC72XZLDIwqb^2$^W39>Pwq=RSjpZsXnNFCxEd?3VZ%I=WEylcf z4$3Y3&sg}!PBd*#h2f*XA#EC$~vcb`e^uJMX1}a*QGqAQZ|G z!O@pe0)05SHbI{R^x;NUQ5$p(K|?kL1`zFOsjbFlfah^!VWh`Bfv8XguOX{<29@Kf z)p(RMC&k>hS!Ih(h)GXs2@SSD^;6qc*5}i51Y9Tc?DO|e&!pURGAcOK!zO8^*D%`R zy(qN+%7NZlJegmoB?~^Ct@o2G}XMNLn{Bky3`DpJ+F` zOU}2b`JMn*PHbe^!CEVF=T6X+oxH4r_(3o?#{#%ntA(C32+*M001b-u_~Cn(Gdt>7 zRmNh#SWdhIgl4LKgU=i>2&zae!h^inl~_b5X~D<$R2b|OS*R~R#oM&plldL+UkmNL z*za*_fbvU@MeEF0DTS1JhwgkI8CpE=ylV|^b~Zx^1=0`@^0fN!1@*GCwVE_~1CTP| z4_0e|im?DtmJ@+c=_rP6NsoVItt~j+cND*<9Ehi;Q?3}`pm~-KgTn!oWCDt29jRoj zEb7>6pp;j;b+;ltk`9r>V}YeOJ`UIw&{-n^&bb5ndsza3orKq=izjTg#zSkSVvI`Y z!SEYy1gHj(EV!|1lXPm3)MisRDvzH6J`@g1dA`p)tSb)}|!UeH)+atP^ zeckNvJjm0%gC<~8%Po>sWRFk4=_ztXuo8*dno#xx3>9gSG(Zr?=!}dq+KYmS0e2)@ z8lr7n?gFxAx=lgf)!T(ULJFD0(q|rUxEd9sDP@l<(U+ougTX#l!kHD%NV4wSA9LGh zD*b>?tBiAEXPs$63YE0a^5=nT!C?6-)`jTSyrl#((_}VhQW`h=CZ^w5WfIRe6g#k3 zV{N0Neut%&b``I=MVnSAy*YcwO>Q@@YHaJBAit0!C9tY=ZvYrV$@e1n!OEdk-^oD< z$&kF5Jt2YkLsVYI(vt=EH1;sTd_6Komwq5S9k8lL#%PVJa6qe&?wj3bUW|2Tzxj)M zO)ZJwX)}K{x(}75OyXEYFjXX-^k~N^o?DHy)TIQ4>@$)$_7TKPET{(q^7UXqG;&&V z@aY-`8SNtD4;d^7?v>V*fjqT6u5KJD3Z*la&E7L+#+?E;ihLE5+r25$&RKygqr-qiBttcSS44Ql*Mui6yr%kB50;sbtN~7fk@~e=@FL^ z%(bRL&O8Fm0ZNH&ZWI*E6Q)HjH5cwh6T>j0ft}`_skMVX4mB%DuORStl=MXTR(1Nw z;kw4sCleC*j2E+?M2IGvHxGeEF1Iq=%7WnJ+yjk4&%xXG5`EMqj2mv+Wwgf4G`cEN4Ewb3er6-ofs%K*FWhyc^Rv_S!WC z&8&IFx=5MEu~55|kr*9?W`MoGlt8<7=)#b&n{{CQ(VBLhOf<646tNU<$PeZ<89OTH z_QnD<7fM*~gz-94@`M62VlK-z<~)TnCI_Z{qH&CAPT^1!n}f42hceQ8KQdIb7X(XP z4Gk)H;T4F$9`4~uT0Wy9Dy852%u$leOZ=r^g+$UEq{cDNrdTD*v3(`2s-W>^AlG>4 zJ5P@{6WF>rn0EvA7d5H%_gfuuzA)ktPEU@qycIA$#x=5ctPAUrtrw|{(iBx@j|Vb8 z=Jri6WU^Oq)_P@n7?OSDDX5b`~|&%7XM zgAJNCZI;Pt#eB)}JO7?#?h(;S4k^KiC5l_9<{s^Q{|KDK#>y~2F)D}uiRC>`mNWNz zo>DS*?$6H4DoW5R=U;=bk7QvzvLK+>aX$YUEC7gkO-|ydJoAJub;j@O`^AzOS6`b=)i~ijz5)=v!XH;aJIAsr`}|!N}A+6d(y$XxKQ8@Ks z9m=Z8nWGW&*H$5VjS5BcC1#XS2^25p_IRPc*ZFnUUGN2mr9T1vres5uC4GmiThwJ~+Pqz5X%?Nj=4*M`K z3II7a=jQy!%$kfd+|rXeqg+`Cftev$>NaVO4;S<|*>%Q2lAHe^4-G}8v4wRBX$K1C z+jGIf z-MtCA(cz4nnz$HlMo>1(lx!OE#6DHOB)W*c$z=}hM^kHLA@qW^iFua@?j zQ!&p&-}ASajMC24+)dQO$|-5}%9r(2;TK4t!koIQUu7_;%Nhr*k{vJ8SWOZSP&zQv zDL{xRl5O;fh^v~k+SudwBhyE{ zavN+w`c=85MJnSh68*ZH|4;z5z;dMZ@L-eK8^R;mbn^*Fk__yPk!_bX_JB#AB(iK; zYwSF`AbmZ9;5 zyz|h=dK+huH<$eb3QF1&gSo^QTN-w)0AP90hV-KZLPeJbD+>I0UC^`|po^KK0Fl&h zvE@GHI$%4-6ckbsQPsOcEtyqOTMIK>XH>6#9?=z3_Em41<@N0(Bp04)yYUm>Z&cGo zEkcQ9bm-dL(J#M`eoP7;wszj~SB~SWZqrfr(x;M=n=&``Fu!Hs4-7G9VvK`HnNFDK zPhD(EFe}&P~!kX5M#zo%WOeZ(@-1#WZ2r|%Bek!|0~P6CAiwIZ$Avr zD@2)Xy;U{$v<8tSnTruK5Z7^^I-IW4f6<44b=Fd`LOcq zX-BxuMDQC1S%Xf{9A~PUWVu!PA>A?W(2KEYg*~iVCi@|IZbqjDW)}rr{gxhzM$GTW zW-eCV1}AS45J1iR?5Sz%>(QJ2BqP?obZ|X~8fNz(@wlj=Z1^`H*PZ)Ra^GOjEt1e4 zBhMamm!~PIXrod|J(Ery#bJ#sGj$bz`LT=d!$Bt}w`aff&h|6t3Z_3@WbbsL?lEbr zCGYK?d3Xq%U)WoWFpR~(izao_`af+z$gS)qARw$ixZx~MKg@oWU%no;PARV)QkrAm zFfj8^biBh*bkir{|H}>;_zJx1YT%z9oK6)D4*S4-ZOFj*prYH~Ha~U$3rc#hDXpo; zy;~+IV3CDod4RNfY(`m|28qP0A3C;svPNHsK%F}wL6e|MGt@sm#omnRO@CYZQU_Lg zX-3#rrSm%Qc1rT{kfC$-6fj@d;?l;+_=hE}VF%a8JuUAs^6f`^4mjSy4#V+Xi93)in8o$CzGWr>s)he104yb(KADHT1vxjO>*mMJGBvm*b2Rdp1p^Gs64X zj5JacL`jMsQm(g>t(v0$sK5Sk=0SDZ9BCN+ZR>jnNjzGNaq z>EjL01k27Q`+^DQ4hzrIN$)w}jUTk8_Ppod2`ZT8pAVwqtWVMnhDrOz1wG#9%!gry zX+2+Y&y>c$czchN>u0s+(+B&W`HSI+vL_?TRys!lL96_k4RmTGHSW1GX8CiKbpO){ zhbznI=T@2M)%h8ht7v}Jf{--@G_-W8H&$oOMgRmZ+mN`i$M1`Fy=cOL)UfDC&#*a0 z4;>d%NSkL~o=A^XovJXDoGYLaRM;3i`A?hyt`mGIxi3df(?)FplULNxzS=1!2PI z+wS5S9D%k*{Ozdc1q?AJl9fFW;41J2pgP8$&5ShVBq;Rp!SlN+dd7d2HR| zYV-30)=bfvf8V=kJx+^)>7J1czfr?SJ>R@rV^l~YB+nP^(U=fi)bG=E&>JH2>D^eX zBoY<@VtISrG`0k=s`;XdhFXL2Z*PLX#F`^Vbr~URj(mOVj2nI9f@V}%`_H)QWpH7GAZGs#217c@V_>FJ?aYe_dVZ7 zdjqh%@B9BWiAwuUe?Tz*HvGV2y&olh{~G+3kf^$Y>#%rT=Wk>xzQqj_=#T@uXC9-f zQ%EokBGf3!coZW6o<@oDwL4AAcTZx1qzS_Ng7>GwfxM3M*0(|~iF1AM5eRR4LP?$A z97#Sx-N<$SpZ@9n5&3ydtDSTn`mG2Z7w-6DViRHoz5ShCYM~?lDF0GYNh?w2y9!_M zQR3&{MI6H$}-4e^|DBX;ZuX>xs%+aZ<%>D>cN9*6KeVQ&4$>9!lkgZ$IQgCHNmNxg^- zR7#C0Ry`@XQyIV`!Y_dqqT)q5CP-Rj2@&Tz-#4a|K;fLi^Jp;qKi*!EzrLFI>!b5n zGE1`rT8sGE=4)jI0(}ngsZLL!I37;Bo88s59Gwftc<^1doFX3$EE(~@8YQW{`r~5@8Y&XVHC<6L2CnO9yB7& z#qyK9(~YPkk^Tz&yEfm?f5P8R4__!e4-voa+DH7)_tIPZG`YSGXKcdt!JfanlWaDT z=6RI|K^hf8InRI1Q_Th9``w@sA}`V%pu+-a4?=mUM1MKrY%!7~a{u#u-+ngTb)!7^ zfElw-wQ#YDtk(#{oj_CfEsg_-oWOq)2>v*7R0*_ndQ;>j1mTkRM#aa+|Lphw;Cvwb zZYmO(>&R_uqfk{YIzir5y48z3xq& z=+98$c?e2Hz`1t2pKf+z3W)No8T<~U$#|#;;1`hx4UQ;rzQ^(Jy9f34&yVx`8Q#)q z7VGyF=xUF@euUNr)Yl0*tj_Ha>cjC)KE>g`o+sl276zdlg2~&nKbP(`wJ*0fiEASF zO+bK^g!k{34i-oG4_xz>7d^?=OA7zrMS;QcO^RCj4#< zn4jagu^b5k6w1eON&l42LX>Sw%ff}i^*g#^J2AY)=Qp`WcE*E&LV1(B`bWk?6XC!3 zehR_2sLpiZ{xfci`*d!$_`Jb>5%6Py+A0JP-b_ z?H$1Xus29ToXB%TpZqoXPvrT8?CflzzGObnf22TMpMQ+s-OCC87vdv4Z)F#A1OJr> zHcf1Bi2aY~#ct!F=7#Y=dCCdDTZHE^9*cWnfnWYqga61o>JZ8Y^VK)-|1`gkM{-Sx zP<|Tx4df5uH>S5(A41!aic+{9G46akVmk%;GJl>=NojBi^iSn?_v^!62lMfl@YBbC zF#n(MKm08p|Eqpw{*(0^>=)-J;eP?*QiS?;=kJfvS)78aZD|qtwX*9>N8tQ#MnJCJ z;Sl+yBvH9L8brDn;{nL72I2h{_eiWy6x_TB*PxlWiy#leFr|Go;XfWH-v4v?|9#`Z zjU0Z$^Uq;CB;g~_9as+>6%|ne{Y&{D{+5sbgr7f!{}J`S4gZP01|M^A{hx#Ri%4pb z|71Qx`iuPV@|P?J*ZbdF-r}D>q`al2Q!L-njsJT)nmS4lpDNtn3>xA_eqP`^G;_+MMQUDOu{Er9|dT>t(257P}CiCBIv)P2}iGGk0pBP|o z_?nMOiT{`N!HD|*6#w6D2Rx-H?|DAEy$PNHLVKgyAG@?QCr{k3&FqqWO$@|B`9od% zoj20&-$2hqPT|1vZ@VV7a&G_qdl8BX{Ylhcn>wlypzqf&nmXtfcxYY|-dE&C^lpH@ zTjaL50@sH9qH(dY5`S(FP8ieP$`RD9R zgTFmIBJ(LqULlnKRC)04?&j1$tpEZjc|G*vrY952P7R~@Qw2<3loRXS4)25~>o z)G^YDFrk3)K(`rqAZ!BJipzQ+HOR!gYbS|gtWguNQ7$Oe7b_TX*e2+ z{pGk&@^vPbTH*dDE|A#8!0{04%*iPb#{;5%ooKW7+<~mnv8_zAx4W*7uSqEH`bUb` zU$1pcaz<6SM0tB2uq3Vqc(Go;eu`^JTPPd~1p4$}5RaZ?Xb|Y?%A$2e0InA3BJi77 zj|3Y0UlrKC>Z)SGZ?S#f<@e$n_`QA43?wiNyncIK;Qigl!)FJc+mm7Q%O9Tq(*a6C ze`mk=+wuRU_M%e1y^Wv@vSW_xWZ!8YIx&`QM!;VtvoHMqXg270*Kh}A7H6?L~^oN%=f7-AkQJilcUe#8S7|ICOyZP5` z=H{j*fu2%zW_aLv!K8Kj5-7@V-?3DkPM~0r60R@zmg^h>J)>^%x*O(q-HrT4BzRrm zcqRM~_woErd#GG4$}eGL{&xJ|)1HOQ%EJ2z|MOs95NN{x zK>g|a_>K08@{sT!_Bpe7|AnkwnAVvB?Ko3c1H4DEzjxN$U7Z7*C82y(Os?1)tz@+no33al{iZkpJy%<-?wkzeNlnq zX&*u{@pgZCTuBs$qezEsT$U)u0wlbDM%}^mKzr1RJu3*mMg6inzq`}l$A7S2lxKwh zVE?~y{`Yeg!N4rEkI4U=oI;~OUjae}nujq?q%%c*AOFA0Z%dJIeZ!eUH8{Qz`|r@U zx*BZ9MS9k@x>o|{4`NPV37kKx5PJ&qvM7&Um>xdS^^x31M_T(a6M=lgcX(mU;9d;N@R6*mqVZtfGY>~nn;IlTow@j&E1+G`h{PvpPLWy=s~BL9ImD)NK$4XN30H~)Rl_rHHndo}<&1o|b& zgPelSW`Ry^zjDEB?!=ny>#r-_=J)sVJ3yZxaoD6y!u_8hv^0>e^YXh$)E{?FjF^bw z5+z)Z(A$X!lNS4@{*fdt;M&CfN0Judr4VSs^_OEynB3AP@%oU65+=pr5aq-57+g`_ zJtm(f3#?BG=rC=qIR2N#Pm|;P$R#{KV&ihi2mg3jv8Uys!11sH{C2qA;`}E1A7XdH zh5L#ASAhokY2UZ*^uLe)-QSP#Q0kY@r})%w42A-6e2jQMxi)J;PPI_q&)>ROgYAIW z-@CUT`ls~g-O6vTkC<3k=+_6m{AT>`Zz!&RBv3xoKf-E>Jw$jv;eRPU0)1K6YhWNh zd&OZqH2I%5eoP6|&|uFHt{dHk+*LH+#s{{8o>^$Y5WbQjw5YJF}! z@*KHT=KS##YkKxe(;rj2Tx7TWga#un9n53jS zQC{%8Ybrs36Uv32`MLDZ=KpVG|Ft8n4($J;{3QIp2JAthJ+E39ycyWv-RT9^S8pf> z|K9|}p2+`e>;F0bD~h9j2X#|?U*%j^aiD&_2tk|JZ;J9@ctWo@m=DDB3BrG1If>)% zDeyn={D<%tQIR`@_Bh5I0sjTAQPg+n>?31f{&kDjgNFGxL!j3ma7~S>a6ljk@_>g0 zmlDqxgeM1-d#~(HNBm6tZ}`^V=KSa8i$|@2_Wy;}cj~v}BhS9!ZQA8pwFggXPuznA~vTYu8|&yz}2gFG|zB`^P7zxMg> zDKh_Y03g)&D2X%$sER=UD8IYQ2Os~-g!`|pcikZWe~jNJOef|B+FJuAO z)YJ+8od4iwA?eTn{(8yl^pR}Gy@B$M$p1Rz?-Z_w{GU}(ks{hFgeUpSecyhJ4qfNv zf0+OL_r~)-_kguXXK*j@bQ>umQ ziF~LH@XzwmcCkN?V*SV|BuDPP`4hcm_>AoAbwdQ&X1Z~Hcjxy>)A6~1{eQxAvK#%+ z$HPmr<_?dF>T{FuJ_q=R^qC z4ZKIZAEC`R@b~A_CrpR|7TYy?M4(NpU@%)upfHM>8WBtO*Px1W|-*A!BFY$iw z^@fIk^}Nr#_<;S&uhrinhkInvz0>v*enLOamQcC7;^6`$@Z0PEH+qfe50--9+xZA2 z70QR70**uHYR^fceZau%Z?Es$e-Eu+msOf6j-T{ZCrt%q{`JMW)H9d#sZie^Xs^+Z3Mf)GD} z4jQSLT#`CvfItt}!XdJ}B+~@>Adxu?W6t3wH#_WlKYZsr>NoEnQ9k?L^ndPs#0$;O zU(17kBU~6D$ffxMxA7ehRw|pSFxxDpIfkH7HOYGy%Z~~CAnQ9pED&h&F!E92hdhaV zCm$t#ehE$VMPOox&+kW#SbGXNm4)X`lx!*8gIvP`eIlf?h(vIAoy7Qn0@v5V9~$!4 zAiNtD*kLf-%p)%*66bnpa-JH8ERx8vn+AP_M1aPB00QOd7++rcz<)X2t-jscGbpgV zIIr%rir<#nY*jFf*ytaELn4U_+5JoAr`xAtD?_Qa53e%dT6!?5$cO(c|S`0{=WA4O8vt)q;&Vp0jb4jeeH{q-P5`ISx<-WPH$NA zbwMgT%PYPDp8eD5H3&PUL^BA_d+C&)e!uU^?$?juD%^c}UzmLnUJ$YnVddrSrbaKn zCS>8iydNcglQz&jcTXCSIyF|HdD$=pE&DCP{(?PFQ^fW@=sE3n7Umd)`fEXl+5E?% zJRgj(%lLn}Kl<{^D|?S#x0#4pcr74P@aVR(0RvG_~I zN1$2z$J$TYJ0aWeCeht(-y5bgefo5veoY+H*%y$=0^JNZe6o)aXkQq{^hX4Gv8Tq3 zC@Ya4#BCZ;HDY@Son&{rgzMe>IXJYRnJL^)+?w+O#{1`RbF-7? zUw{6U3tu^rVF~Z`y}##$SZAP_JC?X9Vu=#Ud48YM;c5`aKhHPU=NEeB3*{r>R)}4w zIA6-E2H%7G#ckD!J>^vZ2N&Ph-EEAxjifXL9wY8LgyBX1oc3pCHi^$C?a#^ak9X33 zG~O=M_sRvNlYoF1=ogR8tO*SBjICbviUm2lgmRvrIVZlsHCLc>54_o{mGisZZRz!x zoDVoA_-NIAQSh1(`)|dbpCcbR!ULn!y$Shx|L*ONI{eGzzy0dFR?G*HU*9>##4%-HnBu_a zjuhh{a!eUGe^1OE4(w>Z{CLVRoE$Uu7Op4l4aG;G$*~fV{sL_~g@Z+;_!4Lo zd@oE#pTFKH|K)F`7QdESvM3+=0Nz&-aKCrF{1APLf7hCea~z?(4E+J|ESgzS4!0iv zv5jY?Yq~1j&#&(uyLoOnra7_m$%K=gTCMPWo(J5lAxC^ZX)nY{z_E&JYD$2cpU^Y@ z`+eUc-zv}l^6B(r;<1P_sCaUKS*s^G_V{S^b@vRvTj&oxulw_VnD#8q1A~Qf{W=^| z84AVr_-I!^dpt{1FhGRsf9d;sJ8>*vZfAYZX)2;)=?A|IFdGrGZ{RjFq#|pU8vXGe z%r>$pgW;yH@aB&Nv)-=>i&OP_9u_oz`>I|~xqOnm5tK%K|ms_(qtb$LDnopAq^3zMCEKy=gcIo}_x zGJTJwipTMlP|ou!_9Rwdm@GsJaQyXvAOHOQS1!OCYQAv)l?yvx@q#OnUc~37&lL-! zz(Aq==m(Dv%nP6&s4E#1=up zn!0tweQn-Z%s-21SY)_$#AtLa`A8vmL$@eD{3Affxad=;=7h{l>URCLQ+&rpzLD?U z-qci-B{aK~JMBzv{Q`lJ-s%DbW0H-PyY}3!=P%j$%NacXpndV;(%;0bJi8MCJXl;$u1o*bO#%Gho0Qr6%D7Uvehff%cX~a6rMe66zNvXV4rD|n|c~|i21g|v!;~+bP3L$3Eko6^hCCz{ls)ee) zmKU;qw6~fbe(8Qdvm}OZ^j33-{p#Aqx!0;C;TuUc*7x>YT{S#0G0Y-`L`8p^58byW TqhpEm=+!6JQ$teKzPA5A|0hJt literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/pound.paa b/addons/phone/ui/data/pound.paa new file mode 100644 index 0000000000000000000000000000000000000000..d257115091ae51a4826b23de9155154b33b5e3b8 GIT binary patch literal 37869 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 literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/pound_sel.paa b/addons/phone/ui/data/pound_sel.paa new file mode 100644 index 0000000000000000000000000000000000000000..b1b808ba0190673efc46d7b9aa291f1c4156e6b3 GIT binary patch literal 38530 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 Z_!JHmRC5;}f;CRyLX~m%X@CH({|}K>Ufcix literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/safari.paa b/addons/phone/ui/data/safari.paa new file mode 100644 index 0000000000000000000000000000000000000000..17506629de2b24ec52e7d5686f9e586348c9e2de GIT binary patch literal 56481 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 KcHMzG;q%`ZC;uS; literal 0 HcmV?d00001 diff --git a/addons/phone/ui/data/settings.paa b/addons/phone/ui/data/settings.paa new file mode 100644 index 0000000000000000000000000000000000000000..a33d872a8958d4d0e99f061fc1d52a8f16d04523 GIT binary patch literal 63587 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