mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Reordered the map, mapfx and pbos:
- mapfx moved inside map - everything related to map tools and drawing moved to it's own pbo called ace_maptools Also fixed a couple of bugs in BFT - Only a single marker was being drawn - The BFT_HideAi parameter had the opposite effect
This commit is contained in:
parent
c03115b564
commit
518010be36
@ -1,12 +1,11 @@
|
|||||||
class Extended_PreInit_EventHandlers {
|
class Extended_PreInit_EventHandlers {
|
||||||
class ADDON {
|
class ADDON {
|
||||||
init = QUOTE( call COMPILE_FILE(XEH_preInit) );
|
init = QUOTE(call COMPILE_FILE(XEH_preInit) );
|
||||||
serverInit = QUOTE( call COMPILE_FILE(XEH_preInitServer) );
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class Extended_PostInit_EventHandlers {
|
class Extended_PostInit_EventHandlers {
|
||||||
class ADDON {
|
class ADDON {
|
||||||
clientInit = QUOTE( call COMPILE_FILE(XEH_postInitClient) );
|
clientInit = QUOTE(call COMPILE_FILE(XEH_postInitClient) );
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -39,29 +39,4 @@ class CfgMarkers {
|
|||||||
|
|
||||||
// disable quantity indicators (fire team/squad/platoon ...)
|
// disable quantity indicators (fire team/squad/platoon ...)
|
||||||
class group_0: b_unknown {scope = 1;};
|
class group_0: b_unknown {scope = 1;};
|
||||||
|
|
||||||
|
|
||||||
class ACE_MapToolFixed {
|
|
||||||
name = "MapToolFixed";
|
|
||||||
icon = PATHTOF(data\mapToolFixed.paa);
|
|
||||||
scope = 0;
|
|
||||||
color[] = {1,1,1,1};
|
|
||||||
size = 32;
|
|
||||||
};
|
|
||||||
|
|
||||||
class ACE_MapToolRotatingNormal {
|
|
||||||
name = "MapToolRotating";
|
|
||||||
icon = PATHTOF(data\mapToolRotatingNormal.paa);
|
|
||||||
scope = 0;
|
|
||||||
color[] = {1,1,1,1};
|
|
||||||
size = 32;
|
|
||||||
};
|
|
||||||
|
|
||||||
class ACE_MapToolRotatingSmall {
|
|
||||||
name = "MapToolRotating";
|
|
||||||
icon = PATHTOF(data\mapToolRotatingSmall.paa);
|
|
||||||
scope = 0;
|
|
||||||
color[] = {1,1,1,1};
|
|
||||||
size = 32;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
@ -1,136 +1,4 @@
|
|||||||
#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
|
|
||||||
name = #ITEM; \
|
|
||||||
count = COUNT; \
|
|
||||||
};
|
|
||||||
|
|
||||||
class CfgVehicles {
|
class CfgVehicles {
|
||||||
class Man;
|
|
||||||
class CAManBase: Man {
|
|
||||||
class ACE_SelfActions {
|
|
||||||
|
|
||||||
class ACE_MapTools {
|
|
||||||
displayName = "$STR_ACE_Map_MapTools_Menu";
|
|
||||||
condition = QUOTE((call FUNC(canUseMapTools) || {call FUNC(canUseMapGPS)}));
|
|
||||||
statement = "";
|
|
||||||
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
|
||||||
showDisabled = 0;
|
|
||||||
priority = 100;
|
|
||||||
enableInside = 1;
|
|
||||||
|
|
||||||
class ACE_MapToolsHide {
|
|
||||||
displayName = "$STR_ACE_Map_MapToolsHide";
|
|
||||||
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0}));
|
|
||||||
statement = QUOTE(GVAR(mapTool_Shown) = 0; [] call FUNC(updateMapToolMarkers));
|
|
||||||
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 5;
|
|
||||||
enableInside = 1;
|
|
||||||
};
|
|
||||||
class ACE_MapToolsShowNormal {
|
|
||||||
displayName = "$STR_ACE_Map_MapToolsShowNormal";
|
|
||||||
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 1}));
|
|
||||||
statement = QUOTE(GVAR(mapTool_Shown) = 1; [] call FUNC(updateMapToolMarkers));
|
|
||||||
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 4;
|
|
||||||
enableInside = 1;
|
|
||||||
};
|
|
||||||
class ACE_MapToolsShowSmall {
|
|
||||||
displayName = "$STR_ACE_Map_MapToolsShowSmall";
|
|
||||||
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 2}));
|
|
||||||
statement = QUOTE(GVAR(mapTool_Shown) = 2; [] call FUNC(updateMapToolMarkers));
|
|
||||||
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 3;
|
|
||||||
enableInside = 1;
|
|
||||||
};
|
|
||||||
class ACE_MapToolsAlignNorth {
|
|
||||||
displayName = "$STR_ACE_Map_MapToolsAlignNorth";
|
|
||||||
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0}));
|
|
||||||
statement = QUOTE(GVAR(mapTool_angle) = 0; [] call FUNC(updateMapToolMarkers));
|
|
||||||
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 2;
|
|
||||||
enableInside = 1;
|
|
||||||
};
|
|
||||||
class ACE_MapToolsAlignCompass {
|
|
||||||
displayName = "$STR_ACE_Map_MapToolsAlignCompass";
|
|
||||||
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0} && {('ItemCompass' in assigneditems ACE_player) || {'ItemCompass' in assigneditems ACE_player}}));
|
|
||||||
statement = QUOTE(GVAR(mapTool_angle) = getDir ACE_player; [] call FUNC(updateMapToolMarkers));
|
|
||||||
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
|
||||||
showDisabled = 1;
|
|
||||||
priority = 1;
|
|
||||||
enableInside = 1;
|
|
||||||
};
|
|
||||||
class ACE_MapGpsShow {
|
|
||||||
displayName = "$STR_ACE_Map_MapGpsShow";
|
|
||||||
condition = QUOTE((call FUNC(canUseMapGPS) && {!GVAR(mapGpsShow)}));
|
|
||||||
statement = QUOTE(GVAR(mapGpsShow) = true; [GVAR(mapGpsShow)] call FUNC(openMapGps));
|
|
||||||
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
|
||||||
showDisabled = 0;
|
|
||||||
priority = 0;
|
|
||||||
enableInside = 1;
|
|
||||||
};
|
|
||||||
class ACE_MapGpsHide {
|
|
||||||
displayName = "$STR_ACE_Map_MapGpsHide";
|
|
||||||
condition = QUOTE((call FUNC(canUseMapGPS) && {GVAR(mapGpsShow)}));
|
|
||||||
statement = QUOTE(GVAR(mapGpsShow) = false; [GVAR(mapGpsShow)] call FUNC(openMapGps));
|
|
||||||
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
|
||||||
showDisabled = 0;
|
|
||||||
priority = 0;
|
|
||||||
enableInside = 1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class ACE_Actions {
|
|
||||||
class ACE_MainActions {
|
|
||||||
class ACE_CopyMap {
|
|
||||||
displayName = "$STR_ACE_Map_CopyMap";
|
|
||||||
condition = QUOTE(([_target] call EFUNC(common,isPlayer) && {'ItemMap' in assigneditems _player} && {'ACE_MapTools' in items _player} && {'ItemMap' in assignedItems _target}));
|
|
||||||
statement = QUOTE([ARR_2(_player,_target)] call FUNC(copyMapStart));
|
|
||||||
showDisabled = 0;
|
|
||||||
priority = -1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class NATO_Box_Base;
|
|
||||||
class EAST_Box_Base;
|
|
||||||
class IND_Box_Base;
|
|
||||||
class FIA_Box_Base_F;
|
|
||||||
|
|
||||||
class Box_NATO_Support_F: NATO_Box_Base {
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_MapTools,12)
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class Box_East_Support_F: EAST_Box_Base {
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_MapTools,12)
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class Box_IND_Support_F: IND_Box_Base {
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_MapTools,12)
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class Box_FIA_Support_F: FIA_Box_Base_F {
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_MapTools,12)
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class ACE_Box_Misc: Box_NATO_Support_F {
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_MapTools,12)
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class Module_F;
|
class Module_F;
|
||||||
class ACE_ModuleBlueForceTracking: Module_F {
|
class ACE_ModuleBlueForceTracking: Module_F {
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
class CfgWeapons {
|
|
||||||
class ACE_ItemCore;
|
|
||||||
class InventoryItem_Base_F;
|
|
||||||
|
|
||||||
class ACE_MapTools: ACE_ItemCore {
|
|
||||||
displayName = "$STR_ACE_MapTools_Name";
|
|
||||||
descriptionShort = "$STR_ACE_MapTools_Description";
|
|
||||||
model = "\A3\weapons_F\ammo\mag_univ.p3d";
|
|
||||||
picture = PATHTOF(UI\maptool_item.paa);
|
|
||||||
scope = 2;
|
|
||||||
class ItemInfo: InventoryItem_Base_F {
|
|
||||||
mass = 1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -6,88 +6,4 @@ class controls {
|
|||||||
sizeEx = 0;
|
sizeEx = 0;
|
||||||
onButtonClick = "";
|
onButtonClick = "";
|
||||||
};
|
};
|
||||||
class CA_PlayerName: RscText {
|
|
||||||
x = "2 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
};
|
|
||||||
class ProfilePicture: RscPicture {
|
|
||||||
x = "13.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
};
|
|
||||||
class ProfileBackground: RscText {
|
|
||||||
x = "13.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
};
|
|
||||||
class Separator1: RscPicture {
|
|
||||||
x = "14.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
};
|
|
||||||
class ColorBlack: RscButton {
|
|
||||||
idc = 36732;
|
|
||||||
x = "0 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
colorBackground[] = {0.2,0.2,0.2,1};
|
|
||||||
colorBackgroundActive[] = {0,0,0,1};
|
|
||||||
colorFocused[] = {0,0,0,1};
|
|
||||||
onButtonClick = "missionNamespace setVariable [""ACE_Map_drawing_drawColor"", ""ColorBlack""]";
|
|
||||||
// onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QGVAR(drawing_drawColor),"ColorBlack")]);
|
|
||||||
};
|
|
||||||
class ColorRed: RscButton {
|
|
||||||
idc = 36733;
|
|
||||||
x = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
colorBackground[] = {0.8,0.2,0.2,1};
|
|
||||||
colorBackgroundActive[] = {1,0,0,1};
|
|
||||||
colorFocused[] = {1,0,0,1};
|
|
||||||
onButtonClick = "missionNamespace setVariable [""ACE_Map_drawing_drawColor"", ""ColorRed""]";
|
|
||||||
// onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QGVAR(drawing_drawColor),QUOTE(ColorRed))]);
|
|
||||||
};
|
|
||||||
class ColorGreen: RscButton {
|
|
||||||
idc = 36734;
|
|
||||||
x = "0.6 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
colorBackground[] = {0.2,0.8,0.2,1};
|
|
||||||
colorBackgroundActive[] = {0,1,0,1};
|
|
||||||
colorFocused[] = {0,1,0,1};
|
|
||||||
onButtonClick = "missionNamespace setVariable [""ACE_Map_drawing_drawColor"", ""ColorGreen""]";
|
|
||||||
// onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QGVAR(drawing_drawColor),"ColorGreen")]);
|
|
||||||
};
|
|
||||||
class ColorBlue: RscButton {
|
|
||||||
idc = 36735;
|
|
||||||
x = "0.9 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
colorBackground[] = {0.2,0.2,0.8,1};
|
|
||||||
colorBackgroundActive[] = {0,0,1,1};
|
|
||||||
colorFocused[] = {0,0,1,1};
|
|
||||||
onButtonClick = "missionNamespace setVariable [""ACE_Map_drawing_drawColor"", ""ColorBlue""]";
|
|
||||||
// onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QGVAR(drawing_drawColor), "ColorBlue")]);
|
|
||||||
};
|
|
||||||
class ColorYellow: RscButton {
|
|
||||||
idc = 36736;
|
|
||||||
x = "1.2 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
colorBackground[] = {0.8,0.8,0.2,1};
|
|
||||||
colorBackgroundActive[] = {1,1,0,1};
|
|
||||||
colorFocused[] = {1,1,0,1};
|
|
||||||
onButtonClick = "missionNamespace setVariable [""ACE_Map_drawing_drawColor"", ""ColorYellow""]";
|
|
||||||
// onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QGVAR(drawing_drawColor), "ColorYellow")]);
|
|
||||||
};
|
|
||||||
class ColorWhite: RscButton {
|
|
||||||
idc = 36737;
|
|
||||||
x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
colorBackground[] = {0.8,0.8,0.8,1};
|
|
||||||
colorBackgroundActive[] = {1,1,1,1};
|
|
||||||
colorFocused[] = {1,1,1,1};
|
|
||||||
onButtonClick = "missionNamespace setVariable [""ACE_Map_drawing_drawColor"", ""ColorWhite""]";
|
|
||||||
// onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QGVAR(drawing_drawColor), "ColorWhite")]);
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
@ -1,81 +0,0 @@
|
|||||||
#define GUI_GRID_X (0)
|
|
||||||
#define GUI_GRID_Y (0)
|
|
||||||
#define GUI_GRID_W (0.025)
|
|
||||||
#define GUI_GRID_H (0.04)
|
|
||||||
|
|
||||||
#define ST_LEFT 0x00
|
|
||||||
#define ST_RIGHT 0x01
|
|
||||||
#define ST_CENTER 0x02
|
|
||||||
|
|
||||||
#define W_gps 0.4025
|
|
||||||
#define H_gps 0.25
|
|
||||||
#define X_gps safeZoneX + safeZoneW - 1.1 * W_gps
|
|
||||||
#define Y_gps safeZoneY + safeZoneH - 1.2 * H_gps
|
|
||||||
|
|
||||||
class RscTitles {
|
|
||||||
class RscACE_MapGps {
|
|
||||||
idd = 9855;
|
|
||||||
movingEnable = 1;
|
|
||||||
duration = 3600;
|
|
||||||
fadein = 0;
|
|
||||||
fadeout = 0;
|
|
||||||
// onLoad = QUOTE(uiNamespace setVariable [ARR_2(QGVAR(ui_mapGpsDisplay), _this select 0)];);
|
|
||||||
onLoad = "uiNamespace setVariable ['ACE_map_ui_mapGpsDisplay', _this select 0];"; //@todo cbaify this
|
|
||||||
//onUnLoad = "_this call onRscLoad";
|
|
||||||
class controls {
|
|
||||||
class back:RscPicture {
|
|
||||||
x = X_gps;
|
|
||||||
y = Y_gps;
|
|
||||||
w = W_gps;
|
|
||||||
h = H_gps;
|
|
||||||
text = PATHTOF(UI\mapGps.paa);
|
|
||||||
colorBackground[] = {1, 1, 1, 1};
|
|
||||||
};
|
|
||||||
class heading: RscText{
|
|
||||||
idc = 913590;
|
|
||||||
x = X_gps + W_gps * 0.25;
|
|
||||||
y = Y_gps + H_gps * 0.12;
|
|
||||||
w = W_gps * 0.2;
|
|
||||||
h = H_gps * 0.16;
|
|
||||||
style = ST_LEFT;
|
|
||||||
text = "225";
|
|
||||||
colorBackground[] = {0,0,0,0};
|
|
||||||
colorText[] = {0.247,0.251,0.157,1};
|
|
||||||
shadowColo[] = {0,0,0,0};
|
|
||||||
font = "EtelkaNarrowMediumPro";
|
|
||||||
shadow = 0;
|
|
||||||
sizeEx = 0.042;
|
|
||||||
};
|
|
||||||
class altitude: RscText{
|
|
||||||
idc = 913591;
|
|
||||||
x = X_gps + W_gps * 0.55;
|
|
||||||
y = Y_gps + H_gps * 0.12;
|
|
||||||
w = W_gps * 0.2;
|
|
||||||
h = H_gps * 0.16;
|
|
||||||
style = ST_RIGHT;
|
|
||||||
text = "55 m";
|
|
||||||
colorBackground[] = {0,0,0,0};
|
|
||||||
colorText[] = {0.247,0.251,0.157,1};
|
|
||||||
shadowColo[] = {0,0,0,0};
|
|
||||||
font = "EtelkaNarrowMediumPro";
|
|
||||||
shadow = 0;
|
|
||||||
sizeEx = 0.042;
|
|
||||||
};
|
|
||||||
class coordinates: RscText{
|
|
||||||
idc = 913592;
|
|
||||||
x = X_gps + W_gps * 0.2;
|
|
||||||
y = Y_gps + H_gps * 0.33;
|
|
||||||
w = W_gps * 0.6;
|
|
||||||
h = H_gps * 0.35;
|
|
||||||
style = ST_CENTER;
|
|
||||||
text = "012.3 115.1";
|
|
||||||
colorBackground[] = {0,0,0,0};
|
|
||||||
colorText[] = {0.247,0.251,0.157,1};
|
|
||||||
shadowColo[] = {0,0,0,0};
|
|
||||||
font = "EtelkaNarrowMediumPro";
|
|
||||||
shadow = 0;
|
|
||||||
sizeEx = 0.1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -1,7 +1,12 @@
|
|||||||
ace_map
|
ace_map
|
||||||
=======
|
=======
|
||||||
|
|
||||||
Various tweaks to the in-game map.
|
Various tweaks to the in-game map. Including:
|
||||||
|
- Better map styling (countours, legend, hiding bushes and trees, etc).
|
||||||
|
- Max zoom level (optional)
|
||||||
|
- Map shaking while walking (optional)
|
||||||
|
- Map illumination (optional)
|
||||||
|
- Blufor tracker (optional)
|
||||||
|
|
||||||
|
|
||||||
## Maintainers
|
## Maintainers
|
||||||
|
@ -1,71 +1,20 @@
|
|||||||
// by CAA-Picard
|
|
||||||
|
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
if (!hasInterface) exitWith{};
|
ADDON = false;
|
||||||
|
LOG(MSG_INIT);
|
||||||
|
|
||||||
// Init variables
|
// Calculate the maximum zoom allowed for this map
|
||||||
GVAR(mapVisableLastFrame) = false;
|
call FUNC(determineZoom);
|
||||||
GVAR(mapGpsShow) = true;
|
|
||||||
|
|
||||||
GVAR(mapTool_Shown) = 0;
|
|
||||||
GVAR(mapTool_pos) = [0,0];
|
|
||||||
GVAR(mapTool_angle) = 0;
|
|
||||||
GVAR(mapTool_isDragging) = false;
|
|
||||||
GVAR(mapTool_isRotating) = false;
|
|
||||||
|
|
||||||
GVAR(drawing_isDrawing) = false;
|
|
||||||
GVAR(drawing_tempLineMarker) = [];
|
|
||||||
GVAR(drawing_lineMarkers) = [];
|
|
||||||
GVAR(drawing_drawColor) = "ColorBlack";
|
|
||||||
GVAR(drawing_controls) = [36732, 36733, 36734, 36735, 36736, 36737];
|
|
||||||
|
|
||||||
//Probably need this spawn, because CBA_fnc_addPerFrameHandler doesn't work durring breifing.
|
|
||||||
[] spawn {
|
[] spawn {
|
||||||
_fnc_installMapEvents = {
|
// Wait until the map display is detected
|
||||||
_d = _this;
|
waitUntil {(!isNull findDisplay 12)};
|
||||||
diag_log format ["Installing EH in display %1", _d];
|
|
||||||
((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseMoving", {_this call FUNC(handleMouseMove);}];
|
|
||||||
((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseButtonDown", {[1, _this] call FUNC(handleMouseButton);}];
|
|
||||||
((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseButtonUp", {[0, _this] call FUNC(handleMouseButton)}];
|
|
||||||
((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["Draw", {[] call FUNC(updateMapToolMarkers);}];
|
|
||||||
(finddisplay _d) displayAddEventHandler ["KeyDown", {_this call FUNC(handleKeyDown);}];
|
|
||||||
};
|
|
||||||
|
|
||||||
// Wait until the briefing map is detected
|
GVAR(lastStillPosition) = ((findDisplay 12) displayCtrl 51) ctrlMapScreenToWorld [0.5, 0.5];
|
||||||
// display = 37 for SP
|
GVAR(lastStillTime) = time;
|
||||||
// display = 52 for host server on MP;
|
GVAR(isShaking) = false;
|
||||||
// display = 53 for MP clients)
|
|
||||||
waitUntil {(!isNull findDisplay 37) || (!isNull findDisplay 52) || (!isNull findDisplay 53) || (!isNull findDisplay 12)};
|
|
||||||
|
|
||||||
if (isNull findDisplay 12) then {
|
((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ["Draw", {[] call FUNC(updateMapEffects);}];
|
||||||
// Install event handlers on the map control of the briefing screen (control = 51)
|
|
||||||
GVAR(drawing_syncMarkers) = true;
|
|
||||||
if (!isNull findDisplay 52) then {
|
|
||||||
52 call _fnc_installMapEvents;
|
|
||||||
} else {
|
|
||||||
if (!isNull findDisplay 53) then {
|
|
||||||
53 call _fnc_installMapEvents;
|
|
||||||
} else {
|
|
||||||
37 call _fnc_installMapEvents;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
// Briefing screen was skipped; the player is JIP, create the markers defined during the briefing
|
|
||||||
GVAR(drawing_syncMarkers) = false;
|
|
||||||
{
|
|
||||||
_x call FUNC(addLineMarker);
|
|
||||||
} forEach GVAR(drawing_serverLineMarkers);
|
|
||||||
};
|
|
||||||
|
|
||||||
// Wait until the main map display is detected (display = 12)
|
|
||||||
waitUntil { !isNull findDisplay 12 };
|
|
||||||
// Install event handlers on the map control and display (control = 51)
|
|
||||||
GVAR(drawing_syncMarkers) = false;
|
|
||||||
12 call _fnc_installMapEvents;
|
|
||||||
|
|
||||||
// Update the size and rotation of map tools
|
|
||||||
[] call FUNC(updateMapToolMarkers);
|
|
||||||
|
|
||||||
[FUNC(mapStateUpdater), 0, []] call CBA_fnc_addPerFrameHandler;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ADDON = true;
|
||||||
|
@ -1,35 +1,12 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
ADDON = false;
|
ADDON = false;
|
||||||
|
LOG(MSG_INIT);
|
||||||
|
|
||||||
PREP(addLineMarker);
|
|
||||||
PREP(blueForceTrackingModule);
|
PREP(blueForceTrackingModule);
|
||||||
PREP(blueForceTrackingUpdate);
|
PREP(blueForceTrackingUpdate);
|
||||||
PREP(calculateMapScale);
|
PREP(determineMapLight);
|
||||||
PREP(cancelDrawing);
|
PREP(determineZoom);
|
||||||
PREP(canDraw);
|
PREP(updateMapEffects);
|
||||||
PREP(canUseMapTools);
|
|
||||||
PREP(canUseMapGPS);
|
|
||||||
PREP(copyMapReceiveMarkers);
|
|
||||||
PREP(copyMapRemoteSend);
|
|
||||||
PREP(copyMapStart);
|
|
||||||
PREP(handleKeyDown);
|
|
||||||
PREP(handleMouseButton);
|
|
||||||
PREP(handleMouseMove);
|
|
||||||
PREP(handleMouseZChanged);
|
|
||||||
PREP(isInsideMapTool);
|
|
||||||
PREP(mapStateUpdater);
|
|
||||||
PREP(openMapGps);
|
|
||||||
PREP(openMapGpsUpdate);
|
|
||||||
PREP(removeLineMarker);
|
|
||||||
PREP(updateMapToolMarkers);
|
|
||||||
PREP(updateLineMarker);
|
|
||||||
|
|
||||||
//Add Event Handlers:
|
|
||||||
["drawing_removeLineMarker", FUNC(removeLineMarker) ] call EFUNC(common,addEventHandler);
|
|
||||||
["drawing_addLineMarker", FUNC(addLineMarker) ] call EFUNC(common,addEventHandler);
|
|
||||||
|
|
||||||
["drawing_requestMarkers", FUNC(copyMapRemoteSend) ] call EFUNC(common,addEventHandler);
|
|
||||||
["drawing_sendbackMarkers", FUNC(copyMapReceiveMarkers) ] call EFUNC(common,addEventHandler);
|
|
||||||
|
|
||||||
ADDON = true;
|
ADDON = true;
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
// by CAA-Picard
|
|
||||||
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
GVAR(drawing_serverLineMarkers) = [];
|
|
||||||
publicVariable QGVAR(drawing_serverLineMarkers);
|
|
@ -3,10 +3,10 @@
|
|||||||
class CfgPatches {
|
class CfgPatches {
|
||||||
class ADDON {
|
class ADDON {
|
||||||
units[] = {};
|
units[] = {};
|
||||||
weapons[] = {"ACE_MapTools"};
|
weapons[] = {};
|
||||||
requiredVersion = REQUIRED_VERSION;
|
requiredVersion = REQUIRED_VERSION;
|
||||||
requiredAddons[] = {"ace_common", "ace_interaction"};
|
requiredAddons[] = {"ace_common", "ace_interaction"};
|
||||||
author[] = {"KoffeinFlummi","CAA-Picard"};
|
author[] = {"KoffeinFlummi","Rocko","CAA-Picard"};
|
||||||
authorUrl = "https://github.com/KoffeinFlummi/";
|
authorUrl = "https://github.com/KoffeinFlummi/";
|
||||||
VERSION_CONFIG;
|
VERSION_CONFIG;
|
||||||
};
|
};
|
||||||
@ -28,10 +28,6 @@ class ACE_Settings {
|
|||||||
value = 1.0;
|
value = 1.0;
|
||||||
typeName = "SCALAR";
|
typeName = "SCALAR";
|
||||||
};
|
};
|
||||||
class GVAR(EveryoneCanDrawOnBriefing) {
|
|
||||||
value = 1;
|
|
||||||
typeName = "BOOL";
|
|
||||||
};
|
|
||||||
class GVAR(BFT_Enabled) {
|
class GVAR(BFT_Enabled) {
|
||||||
value = 0;
|
value = 0;
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
@ -40,14 +36,23 @@ class ACE_Settings {
|
|||||||
value = 0;
|
value = 0;
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
};
|
};
|
||||||
|
class GVAR(mapIllumination) {
|
||||||
|
value = 1;
|
||||||
|
typeName = "BOOL";
|
||||||
|
};
|
||||||
|
class GVAR(mapShake) {
|
||||||
|
value = 1;
|
||||||
|
typeName = "BOOL";
|
||||||
|
};
|
||||||
|
class GVAR(mapLimitZoom) {
|
||||||
|
value = 0;
|
||||||
|
typeName = "BOOL";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#include "MapGpsUI.hpp"
|
|
||||||
#include "CfgEventHandlers.hpp"
|
#include "CfgEventHandlers.hpp"
|
||||||
#include "CfgMarkers.hpp"
|
#include "CfgMarkers.hpp"
|
||||||
#include "CfgVehicles.hpp"
|
#include "CfgVehicles.hpp"
|
||||||
#include "CfgWeapons.hpp"
|
|
||||||
|
|
||||||
|
|
||||||
class RscMapControl {
|
class RscMapControl {
|
||||||
sizeExGrid = 0.032;
|
sizeExGrid = 0.032;
|
||||||
|
@ -11,7 +11,7 @@ if (GVAR(BFT_Enabled) and {(!isNil "ACE_player") and {alive ACE_player}}) then {
|
|||||||
_groupsToDrawMarkers = [];
|
_groupsToDrawMarkers = [];
|
||||||
_playerSide = call EFUNC(common,playerSide);
|
_playerSide = call EFUNC(common,playerSide);
|
||||||
|
|
||||||
if (GVAR(BFT_HideAiGroups)) then {
|
if !(GVAR(BFT_HideAiGroups)) then {
|
||||||
_groupsToDrawMarkers = [allGroups, {side _this == _playerSide}] call EFUNC(common,filter);
|
_groupsToDrawMarkers = [allGroups, {side _this == _playerSide}] call EFUNC(common,filter);
|
||||||
} else {
|
} else {
|
||||||
_groupsToDrawMarkers = [allGroups, {
|
_groupsToDrawMarkers = [allGroups, {
|
||||||
@ -22,13 +22,13 @@ if (GVAR(BFT_Enabled) and {(!isNil "ACE_player") and {alive ACE_player}}) then {
|
|||||||
}] call EFUNC(common,filter);
|
}] call EFUNC(common,filter);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
_markerType = [_x] call EFUNC(common,getMarkerType);
|
_markerType = [_x] call EFUNC(common,getMarkerType);
|
||||||
|
|
||||||
|
|
||||||
_colour = format ["Color%1", side _x];
|
_colour = format ["Color%1", side _x];
|
||||||
|
|
||||||
_marker = createMarkerLocal [format ["ACE_BFT_%1", _i], [(getPos leader _x) select 0, (getPos leader _x) select 1]];
|
_marker = createMarkerLocal [format ["ACE_BFT_%1", _forEachIndex], [(getPos leader _x) select 0, (getPos leader _x) select 1]];
|
||||||
_marker setMarkerTypeLocal _markerType;
|
_marker setMarkerTypeLocal _markerType;
|
||||||
_marker setMarkerColorLocal _colour;
|
_marker setMarkerColorLocal _colour;
|
||||||
_marker setMarkerTextLocal (groupID _x);
|
_marker setMarkerTextLocal (groupID _x);
|
||||||
|
@ -2,147 +2,6 @@
|
|||||||
<!-- Edited with tabler - 2014-12-22 -->
|
<!-- Edited with tabler - 2014-12-22 -->
|
||||||
<Project name="ACE">
|
<Project name="ACE">
|
||||||
<Package name="Map">
|
<Package name="Map">
|
||||||
<Key ID="STR_ACE_MapTools_Name">
|
|
||||||
<English>Map Tools</English>
|
|
||||||
<Spanish>Herramientas de mapa</Spanish>
|
|
||||||
<French>Outils de navigation</French>
|
|
||||||
<Polish>Narzędzia nawigacyjne</Polish>
|
|
||||||
<German>Kartenwerkzeug</German>
|
|
||||||
<Czech>Pomůcky k Mapě</Czech>
|
|
||||||
<Italian>Strumenti Cartografici</Italian>
|
|
||||||
<Portuguese>Ferramentas de Mapa</Portuguese>
|
|
||||||
<Hungarian>Térképészeti eszközök</Hungarian>
|
|
||||||
<Russian>Инструменты карты</Russian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_MapTools_Description">
|
|
||||||
<English>The Map Tools allow you to measure distances and angles on the map.</English>
|
|
||||||
<Spanish>Las herramientas de mapa permiten medir distancias y ángulos en el mapa.</Spanish>
|
|
||||||
<French>Les outils de navigation permettent de mesurer des distances et des angles sur la carte.</French>
|
|
||||||
<Polish>Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie.</Polish>
|
|
||||||
<German>Das Kartenwerkzeug erlaubt es dir, Distanzen und Winkel zu messen.</German>
|
|
||||||
<Czech>Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě.</Czech>
|
|
||||||
<Italian>Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa.</Italian>
|
|
||||||
<Portuguese>As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa.</Portuguese>
|
|
||||||
<Hungarian>A térképészeti eszközökkel távolságokat és szögeket tud mérni a térképen.</Hungarian>
|
|
||||||
<Russian>Картографические инструменты позволяют измерять расстояния и углы на карте.</Russian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Map_MapTools_Menu">
|
|
||||||
<English>Map Tools >></English>
|
|
||||||
<Spanish>Herramientas de mapa >></Spanish>
|
|
||||||
<French>Outils de navigation >></French>
|
|
||||||
<Polish>Narzędzia nawigacyjne >></Polish>
|
|
||||||
<German>Kartenwerkzeug >></German>
|
|
||||||
<Czech>Pomůcky k Mapě >></Czech>
|
|
||||||
<Italian>Strumenti Cartografici >></Italian>
|
|
||||||
<Portuguese>Ferramentas de Mapa >></Portuguese>
|
|
||||||
<Hungarian>Térképészeti eszközök >></Hungarian>
|
|
||||||
<Russian>Инструменты карты >></Russian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Map_MapToolsHide">
|
|
||||||
<English>Hide Map Tool</English>
|
|
||||||
<German>Verstecke Kartenwerkzeug</German>
|
|
||||||
<Spanish>Ocultar herr. de mapa</Spanish>
|
|
||||||
<French>Ranger les outils</French>
|
|
||||||
<Italian>Nascondi Strumenti Cartografici</Italian>
|
|
||||||
<Portuguese>Ocultar Ferramenta de Mapa</Portuguese>
|
|
||||||
<Hungarian>Térképészeti eszközök elrejtése</Hungarian>
|
|
||||||
<Polish>Ukryj narzędzia nawigacyjne</Polish>
|
|
||||||
<Czech>Schovat pomůcku k mapě</Czech>
|
|
||||||
<Russian>Скрыть инструменты</Russian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Map_MapToolsShowNormal">
|
|
||||||
<English>Show Normal Map Tool</English>
|
|
||||||
<German>Zeige Kartenwerkzeug (normal)</German>
|
|
||||||
<Spanish>Mostrar herr. de mapa normal</Spanish>
|
|
||||||
<French>Montrer outils normaux</French>
|
|
||||||
<Italian>Visualizza Strumenti Cartografici standard</Italian>
|
|
||||||
<Portuguese>Mostrar Ferramenta de Mapa Padrão</Portuguese>
|
|
||||||
<Hungarian>Térképészeti eszköz megjelenítése (normál méret)</Hungarian>
|
|
||||||
<Polish>Pokaż normalne narzędzia nawigacyjne</Polish>
|
|
||||||
<Czech>Zobrazit normální pomůcku k mapě</Czech>
|
|
||||||
<Russian>Показать инструменты (средн. размер)</Russian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Map_MapToolsShowSmall">
|
|
||||||
<English>Show Small Map Tool</English>
|
|
||||||
<German>Zeige Kartenwerkzeug (klein)</German>
|
|
||||||
<Spanish>Mostrar herr. de mapa pequeñas</Spanish>
|
|
||||||
<French>Montrer petits outils</French>
|
|
||||||
<Italian>Visualizza Strumenti Cartografici piccoli</Italian>
|
|
||||||
<Portuguese>Mostrar Ferramenta de Mapa Pequena</Portuguese>
|
|
||||||
<Hungarian>Térképészeti eszköz megjelenítése (kicsinyített)</Hungarian>
|
|
||||||
<Polish>Pokaż pomniejszone narzędzia nawigacyjne</Polish>
|
|
||||||
<Czech>Zobrazit malou pomůcku k mapě</Czech>
|
|
||||||
<Russian>Показать инструменты (малый размер)</Russian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Map_MapToolsAlignNorth">
|
|
||||||
<English>Align Map Tool to North</English>
|
|
||||||
<German>Kartenwerkzeug nach Norden ausrichten</German>
|
|
||||||
<Spanish>Alinear herr. de mapa al norte</Spanish>
|
|
||||||
<French>Aligner au nord</French>
|
|
||||||
<Italian>Allinea gli Strumenti Cartografici con il Nord</Italian>
|
|
||||||
<Portuguese>Alinhar Ferramenta de Mapa com o Norte</Portuguese>
|
|
||||||
<Hungarian>Térképészeti eszköz Északhoz állítása</Hungarian>
|
|
||||||
<Polish>Wyrównaj linijkę do północy</Polish>
|
|
||||||
<Czech>Srovnat pomůcku k mapě na sever</Czech>
|
|
||||||
<Russian>Выровнять инструменты на север</Russian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Map_MapToolsAlignCompass">
|
|
||||||
<English>Align Map Tool to Compass</English>
|
|
||||||
<German>Kartenwerkzeug am Kompass ausrichten</German>
|
|
||||||
<Spanish>Alinear herr. de mapa a la brújula</Spanish>
|
|
||||||
<French>Aligner sur la boussole</French>
|
|
||||||
<Italian>Allinea gli Strumenti Cartografici con la bussola</Italian>
|
|
||||||
<Portuguese>Alinhar Ferramenta de Mapa com a Bússola</Portuguese>
|
|
||||||
<Hungarian>Térképészeti eszköz iránytűhöz állítása</Hungarian>
|
|
||||||
<Polish>Wyrównaj linijkę do kompasu</Polish>
|
|
||||||
<Czech>Srovnat pomůcku k mapě ke kompasu</Czech>
|
|
||||||
<Russian>Выровнять инструменты по компасу</Russian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Map_MapGpsShow">
|
|
||||||
<English>Show GPS on Map</English>
|
|
||||||
<German>Zeige GPS auf der Karte</German>
|
|
||||||
<Spanish>Mostrar el GPS sobre el mapa</Spanish>
|
|
||||||
<French>Ranger le GPS</French>
|
|
||||||
<Italian>Visualizza il GPS sulla mappa</Italian>
|
|
||||||
<Portuguese>Mostrar GPS no Mapa</Portuguese>
|
|
||||||
<Hungarian>GPS megjelnítése a térképen</Hungarian>
|
|
||||||
<Polish>Pokaż GPS na mapie</Polish>
|
|
||||||
<Czech>Zobrazit GPS na mapě</Czech>
|
|
||||||
<Russian>Показать GPS на карте</Russian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Map_MapGpsHide">
|
|
||||||
<English>Hide GPS on Map</English>
|
|
||||||
<German>Verstecke GPS auf der Karte</German>
|
|
||||||
<Spanish>Ocultar el GPS del mapa</Spanish>
|
|
||||||
<French>Montrer le GPS</French>
|
|
||||||
<Italian>Nascondi il GPS sulla mappa</Italian>
|
|
||||||
<Portuguese>Ocultar GPS no Mapa</Portuguese>
|
|
||||||
<Hungarian>GPS elrejtése térképről</Hungarian>
|
|
||||||
<Polish>Ukryj GPS na mapie</Polish>
|
|
||||||
<Czech>Schovat GPS na mapě</Czech>
|
|
||||||
<Russian>Скрыть GPS на карте</Russian>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Map_CopyMap">
|
|
||||||
<English>Copy Map</English>
|
|
||||||
<German>Karte kopieren</German>
|
|
||||||
<Spanish>Copiar mapa</Spanish>
|
|
||||||
<Russian>Скопировать карту</Russian>
|
|
||||||
<Polish>Kopiuj oznaczenia mapy</Polish>
|
|
||||||
<French>Copier la carte</French>
|
|
||||||
<Czech>Zkopírovat mapu</Czech>
|
|
||||||
<Italian>Copiare Carta</Italian>
|
|
||||||
<Hungarian>Térkép másolása</Hungarian>
|
|
||||||
<Portuguese>Copiar Mapa</Portuguese>
|
|
||||||
</Key>
|
|
||||||
<Key ID="STR_ACE_Map_MarkerDirection">
|
|
||||||
<English>Direction: %1°</English>
|
|
||||||
<German>Drehung: %1°</German>
|
|
||||||
<French>Direction: %1°</French>
|
|
||||||
<Czech>Směr: %1°</Czech>
|
|
||||||
<Polish>Kierunek: %1°</Polish>
|
|
||||||
<Spanish>Dirección: %1°</Spanish>
|
|
||||||
<Hungarian>Irány: %1</Hungarian>
|
|
||||||
<Russian>Направление:%1</Russian>
|
|
||||||
</Key>
|
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
@ -1 +0,0 @@
|
|||||||
x\ace\addons\mapfx
|
|
@ -1,21 +0,0 @@
|
|||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
ADDON = false;
|
|
||||||
LOG(MSG_INIT);
|
|
||||||
|
|
||||||
// Calculate the maximum zoom allowed for this map
|
|
||||||
call FUNC(determineZoom);
|
|
||||||
|
|
||||||
[] spawn {
|
|
||||||
// Wait until the map display is detected
|
|
||||||
waitUntil {(!isNull findDisplay 12)};
|
|
||||||
|
|
||||||
GVAR(lastStillPosition) = ((findDisplay 12) displayCtrl 51) ctrlMapScreenToWorld [0.5, 0.5];
|
|
||||||
GVAR(lastStillTime) = time;
|
|
||||||
GVAR(isShaking) = false;
|
|
||||||
|
|
||||||
((findDisplay 12) displayCtrl 51) ctrlAddEventHandler ["Draw", {[] call FUNC(updateMapFx);}];
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
ADDON = true;
|
|
@ -1,11 +0,0 @@
|
|||||||
//#define DEBUG_MODE_FULL
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
ADDON = false;
|
|
||||||
LOG(MSG_INIT);
|
|
||||||
|
|
||||||
PREP(determineMapLight);
|
|
||||||
PREP(determineZoom);
|
|
||||||
PREP(updateMapFx);
|
|
||||||
|
|
||||||
ADDON = true;
|
|
@ -1,28 +0,0 @@
|
|||||||
#include "script_component.hpp"
|
|
||||||
class CfgPatches {
|
|
||||||
class ADDON {
|
|
||||||
units[] = {};
|
|
||||||
weapons[] = {};
|
|
||||||
requiredVersion = REQUIRED_VERSION;
|
|
||||||
requiredAddons[] = {"ace_interaction"};
|
|
||||||
author[] = {"Rocko","CAA-Picard"};
|
|
||||||
VERSION_CONFIG;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
#include "CfgEventHandlers.hpp"
|
|
||||||
|
|
||||||
class ACE_Settings {
|
|
||||||
class GVAR(mapIllumination) {
|
|
||||||
value = 1;
|
|
||||||
typeName = "BOOL";
|
|
||||||
};
|
|
||||||
class GVAR(mapShake) {
|
|
||||||
value = 1;
|
|
||||||
typeName = "BOOL";
|
|
||||||
};
|
|
||||||
class GVAR(mapLimitZoom) {
|
|
||||||
value = 0;
|
|
||||||
typeName = "BOOL";
|
|
||||||
};
|
|
||||||
};
|
|
@ -1 +0,0 @@
|
|||||||
#include "\z\ace\addons\mapfx\script_component.hpp"
|
|
@ -1,12 +0,0 @@
|
|||||||
#define COMPONENT mapfx
|
|
||||||
#include "\z\ace\addons\main\script_mod.hpp"
|
|
||||||
|
|
||||||
#ifdef DEBUG_ENABLED_MAPFX
|
|
||||||
#define DEBUG_MODE_FULL
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef DEBUG_SETTINGS_MAPFX
|
|
||||||
#define DEBUG_SETTINGS DEBUG_SETTINGS_MAPFX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "\z\ace\addons\main\script_macros.hpp"
|
|
1
addons/maptools/$PBOPREFIX$
Normal file
1
addons/maptools/$PBOPREFIX$
Normal file
@ -0,0 +1 @@
|
|||||||
|
z\ace\Addons\map
|
@ -1,11 +1,11 @@
|
|||||||
class Extended_PreInit_EventHandlers {
|
class Extended_PreInit_EventHandlers {
|
||||||
class ADDON {
|
class ADDON {
|
||||||
init = QUOTE(call COMPILE_FILE(XEH_preInit));
|
init = QUOTE( call COMPILE_FILE(XEH_preInit) );
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class Extended_PostInit_EventHandlers {
|
class Extended_PostInit_EventHandlers {
|
||||||
class ADDON {
|
class ADDON {
|
||||||
clientInit = QUOTE(call COMPILE_FILE(XEH_postClientInit));
|
clientInit = QUOTE( call COMPILE_FILE(XEH_postInitClient) );
|
||||||
};
|
};
|
||||||
};
|
};
|
26
addons/maptools/CfgMarkers.hpp
Normal file
26
addons/maptools/CfgMarkers.hpp
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
// MARKERS
|
||||||
|
class CfgMarkers {
|
||||||
|
class ACE_MapToolFixed {
|
||||||
|
name = "MapToolFixed";
|
||||||
|
icon = PATHTOF(data\mapToolFixed.paa);
|
||||||
|
scope = 0;
|
||||||
|
color[] = {1,1,1,1};
|
||||||
|
size = 32;
|
||||||
|
};
|
||||||
|
|
||||||
|
class ACE_MapToolRotatingNormal {
|
||||||
|
name = "MapToolRotating";
|
||||||
|
icon = PATHTOF(data\mapToolRotatingNormal.paa);
|
||||||
|
scope = 0;
|
||||||
|
color[] = {1,1,1,1};
|
||||||
|
size = 32;
|
||||||
|
};
|
||||||
|
|
||||||
|
class ACE_MapToolRotatingSmall {
|
||||||
|
name = "MapToolRotating";
|
||||||
|
icon = PATHTOF(data\mapToolRotatingSmall.paa);
|
||||||
|
scope = 0;
|
||||||
|
color[] = {1,1,1,1};
|
||||||
|
size = 32;
|
||||||
|
};
|
||||||
|
};
|
133
addons/maptools/CfgVehicles.hpp
Normal file
133
addons/maptools/CfgVehicles.hpp
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
|
||||||
|
name = #ITEM; \
|
||||||
|
count = COUNT; \
|
||||||
|
};
|
||||||
|
|
||||||
|
class CfgVehicles {
|
||||||
|
class Man;
|
||||||
|
class CAManBase: Man {
|
||||||
|
class ACE_SelfActions {
|
||||||
|
|
||||||
|
class ACE_MapTools {
|
||||||
|
displayName = "$STR_ACE_MapTools_MapTools_Menu";
|
||||||
|
condition = QUOTE((call FUNC(canUseMapTools) || {call FUNC(canUseMapGPS)}));
|
||||||
|
statement = "";
|
||||||
|
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
||||||
|
showDisabled = 0;
|
||||||
|
priority = 100;
|
||||||
|
enableInside = 1;
|
||||||
|
|
||||||
|
class ACE_MapToolsHide {
|
||||||
|
displayName = "$STR_ACE_MapTools_MapToolsHide";
|
||||||
|
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0}));
|
||||||
|
statement = QUOTE(GVAR(mapTool_Shown) = 0; [] call FUNC(updateMapToolMarkers));
|
||||||
|
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 5;
|
||||||
|
enableInside = 1;
|
||||||
|
};
|
||||||
|
class ACE_MapToolsShowNormal {
|
||||||
|
displayName = "$STR_ACE_MapTools_MapToolsShowNormal";
|
||||||
|
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 1}));
|
||||||
|
statement = QUOTE(GVAR(mapTool_Shown) = 1; [] call FUNC(updateMapToolMarkers));
|
||||||
|
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 4;
|
||||||
|
enableInside = 1;
|
||||||
|
};
|
||||||
|
class ACE_MapToolsShowSmall {
|
||||||
|
displayName = "$STR_ACE_MapTools_MapToolsShowSmall";
|
||||||
|
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 2}));
|
||||||
|
statement = QUOTE(GVAR(mapTool_Shown) = 2; [] call FUNC(updateMapToolMarkers));
|
||||||
|
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 3;
|
||||||
|
enableInside = 1;
|
||||||
|
};
|
||||||
|
class ACE_MapToolsAlignNorth {
|
||||||
|
displayName = "$STR_ACE_MapTools_MapToolsAlignNorth";
|
||||||
|
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0}));
|
||||||
|
statement = QUOTE(GVAR(mapTool_angle) = 0; [] call FUNC(updateMapToolMarkers));
|
||||||
|
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 2;
|
||||||
|
enableInside = 1;
|
||||||
|
};
|
||||||
|
class ACE_MapToolsAlignCompass {
|
||||||
|
displayName = "$STR_ACE_MapTools_MapToolsAlignCompass";
|
||||||
|
condition = QUOTE((call FUNC(canUseMapTools) && {GVAR(mapTool_Shown) != 0} && {('ItemCompass' in assigneditems ACE_player) || {'ItemCompass' in assigneditems ACE_player}}));
|
||||||
|
statement = QUOTE(GVAR(mapTool_angle) = getDir ACE_player; [] call FUNC(updateMapToolMarkers));
|
||||||
|
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
||||||
|
showDisabled = 1;
|
||||||
|
priority = 1;
|
||||||
|
enableInside = 1;
|
||||||
|
};
|
||||||
|
class ACE_MapGpsShow {
|
||||||
|
displayName = "$STR_ACE_MapTools_MapGpsShow";
|
||||||
|
condition = QUOTE((call FUNC(canUseMapGPS) && {!GVAR(mapGpsShow)}));
|
||||||
|
statement = QUOTE(GVAR(mapGpsShow) = true; [GVAR(mapGpsShow)] call FUNC(openMapGps));
|
||||||
|
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
||||||
|
showDisabled = 0;
|
||||||
|
priority = 0;
|
||||||
|
enableInside = 1;
|
||||||
|
};
|
||||||
|
class ACE_MapGpsHide {
|
||||||
|
displayName = "$STR_ACE_MapTools_MapGpsHide";
|
||||||
|
condition = QUOTE((call FUNC(canUseMapGPS) && {GVAR(mapGpsShow)}));
|
||||||
|
statement = QUOTE(GVAR(mapGpsShow) = false; [GVAR(mapGpsShow)] call FUNC(openMapGps));
|
||||||
|
exceptions[] = {"ACE_Drag_isNotDragging", QEGVAR(common,notOnMap)};
|
||||||
|
showDisabled = 0;
|
||||||
|
priority = 0;
|
||||||
|
enableInside = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class ACE_Actions {
|
||||||
|
class ACE_MainActions {
|
||||||
|
class ACE_CopyMap {
|
||||||
|
displayName = "$STR_ACE_MapTools_CopyMap";
|
||||||
|
condition = QUOTE(([_target] call EFUNC(common,isPlayer) && {'ItemMap' in assigneditems _player} && {'ACE_MapTools' in items _player} && {'ItemMap' in assignedItems _target}));
|
||||||
|
statement = QUOTE([ARR_2(_player,_target)] call FUNC(copyMapStart));
|
||||||
|
showDisabled = 0;
|
||||||
|
priority = -1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class NATO_Box_Base;
|
||||||
|
class EAST_Box_Base;
|
||||||
|
class IND_Box_Base;
|
||||||
|
class FIA_Box_Base_F;
|
||||||
|
|
||||||
|
class Box_NATO_Support_F: NATO_Box_Base {
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_MapTools,12)
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class Box_East_Support_F: EAST_Box_Base {
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_MapTools,12)
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class Box_IND_Support_F: IND_Box_Base {
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_MapTools,12)
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class Box_FIA_Support_F: FIA_Box_Base_F {
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_MapTools,12)
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class ACE_Box_Misc: Box_NATO_Support_F {
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_MapTools,12)
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
15
addons/maptools/CfgWeapons.hpp
Normal file
15
addons/maptools/CfgWeapons.hpp
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
class CfgWeapons {
|
||||||
|
class ACE_ItemCore;
|
||||||
|
class InventoryItem_Base_F;
|
||||||
|
|
||||||
|
class ACE_MapTools: ACE_ItemCore {
|
||||||
|
displayName = "$STR_ACE_MapTools_Name";
|
||||||
|
descriptionShort = "$STR_ACE_MapTools_Description";
|
||||||
|
model = "\A3\weapons_F\ammo\mag_univ.p3d";
|
||||||
|
picture = PATHTOF(UI\maptool_item.paa);
|
||||||
|
scope = 2;
|
||||||
|
class ItemInfo: InventoryItem_Base_F {
|
||||||
|
mass = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
80
addons/maptools/MapControls.hpp
Normal file
80
addons/maptools/MapControls.hpp
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
class controls {
|
||||||
|
class CA_PlayerName: RscText {
|
||||||
|
x = "2 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
};
|
||||||
|
class ProfilePicture: RscPicture {
|
||||||
|
x = "13.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
};
|
||||||
|
class ProfileBackground: RscText {
|
||||||
|
x = "13.3 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
};
|
||||||
|
class Separator1: RscPicture {
|
||||||
|
x = "14.5 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
};
|
||||||
|
class ColorBlack: RscButton {
|
||||||
|
idc = 36732;
|
||||||
|
x = "0 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||||
|
w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||||
|
colorBackground[] = {0.2,0.2,0.2,1};
|
||||||
|
colorBackgroundActive[] = {0,0,0,1};
|
||||||
|
colorFocused[] = {0,0,0,1};
|
||||||
|
onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QUOTE(QGVAR(drawing_drawColor)),'ColorBlack')]);
|
||||||
|
};
|
||||||
|
class ColorRed: RscButton {
|
||||||
|
idc = 36733;
|
||||||
|
x = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||||
|
w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||||
|
colorBackground[] = {0.8,0.2,0.2,1};
|
||||||
|
colorBackgroundActive[] = {1,0,0,1};
|
||||||
|
colorFocused[] = {1,0,0,1};
|
||||||
|
onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QUOTE(QGVAR(drawing_drawColor)),'ColorRed')]);
|
||||||
|
};
|
||||||
|
class ColorGreen: RscButton {
|
||||||
|
idc = 36734;
|
||||||
|
x = "0.6 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||||
|
w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||||
|
colorBackground[] = {0.2,0.8,0.2,1};
|
||||||
|
colorBackgroundActive[] = {0,1,0,1};
|
||||||
|
colorFocused[] = {0,1,0,1};
|
||||||
|
onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QUOTE(QGVAR(drawing_drawColor)),'ColorGreen')]);
|
||||||
|
};
|
||||||
|
class ColorBlue: RscButton {
|
||||||
|
idc = 36735;
|
||||||
|
x = "0.9 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||||
|
w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||||
|
colorBackground[] = {0.2,0.2,0.8,1};
|
||||||
|
colorBackgroundActive[] = {0,0,1,1};
|
||||||
|
colorFocused[] = {0,0,1,1};
|
||||||
|
onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QUOTE(QGVAR(drawing_drawColor)),'ColorBlue')]);
|
||||||
|
};
|
||||||
|
class ColorYellow: RscButton {
|
||||||
|
idc = 36736;
|
||||||
|
x = "1.2 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||||
|
w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||||
|
colorBackground[] = {0.8,0.8,0.2,1};
|
||||||
|
colorBackgroundActive[] = {1,1,0,1};
|
||||||
|
colorFocused[] = {1,1,0,1};
|
||||||
|
onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QUOTE(QGVAR(drawing_drawColor)),'ColorYellow')]);
|
||||||
|
};
|
||||||
|
class ColorWhite: RscButton {
|
||||||
|
idc = 36737;
|
||||||
|
x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
y = "0.25 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||||
|
w = "0.3 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||||
|
h = "1.00 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||||
|
colorBackground[] = {0.8,0.8,0.8,1};
|
||||||
|
colorBackgroundActive[] = {1,1,1,1};
|
||||||
|
colorFocused[] = {1,1,1,1};
|
||||||
|
onButtonClick = QUOTE(missionNamespace setVariable [ARR_2(QUOTE(QGVAR(drawing_drawColor)),'ColorWhite')]);
|
||||||
|
};
|
||||||
|
};
|
79
addons/maptools/MapGpsUI.hpp
Normal file
79
addons/maptools/MapGpsUI.hpp
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
#define GUI_GRID_X (0)
|
||||||
|
#define GUI_GRID_Y (0)
|
||||||
|
#define GUI_GRID_W (0.025)
|
||||||
|
#define GUI_GRID_H (0.04)
|
||||||
|
|
||||||
|
#define ST_LEFT 0x00
|
||||||
|
#define ST_RIGHT 0x01
|
||||||
|
#define ST_CENTER 0x02
|
||||||
|
|
||||||
|
#define W_gps 0.4025
|
||||||
|
#define H_gps 0.25
|
||||||
|
#define X_gps safeZoneX + safeZoneW - 1.1 * W_gps
|
||||||
|
#define Y_gps safeZoneY + safeZoneH - 1.2 * H_gps
|
||||||
|
|
||||||
|
class RscTitles {
|
||||||
|
class RscACE_MapGps {
|
||||||
|
idd = 9855;
|
||||||
|
movingEnable = 1;
|
||||||
|
duration = 3600;
|
||||||
|
fadein = 0;
|
||||||
|
fadeout = 0;
|
||||||
|
onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ui_mapGpsDisplay)), _this select 0)];);
|
||||||
|
class controls {
|
||||||
|
class back:RscPicture {
|
||||||
|
x = X_gps;
|
||||||
|
y = Y_gps;
|
||||||
|
w = W_gps;
|
||||||
|
h = H_gps;
|
||||||
|
text = PATHTOF(UI\mapGps.paa);
|
||||||
|
colorBackground[] = {1, 1, 1, 1};
|
||||||
|
};
|
||||||
|
class heading: RscText{
|
||||||
|
idc = 913590;
|
||||||
|
x = X_gps + W_gps * 0.25;
|
||||||
|
y = Y_gps + H_gps * 0.12;
|
||||||
|
w = W_gps * 0.2;
|
||||||
|
h = H_gps * 0.16;
|
||||||
|
style = ST_LEFT;
|
||||||
|
text = "225";
|
||||||
|
colorBackground[] = {0,0,0,0};
|
||||||
|
colorText[] = {0.247,0.251,0.157,1};
|
||||||
|
shadowColo[] = {0,0,0,0};
|
||||||
|
font = "EtelkaNarrowMediumPro";
|
||||||
|
shadow = 0;
|
||||||
|
sizeEx = 0.042;
|
||||||
|
};
|
||||||
|
class altitude: RscText{
|
||||||
|
idc = 913591;
|
||||||
|
x = X_gps + W_gps * 0.55;
|
||||||
|
y = Y_gps + H_gps * 0.12;
|
||||||
|
w = W_gps * 0.2;
|
||||||
|
h = H_gps * 0.16;
|
||||||
|
style = ST_RIGHT;
|
||||||
|
text = "55 m";
|
||||||
|
colorBackground[] = {0,0,0,0};
|
||||||
|
colorText[] = {0.247,0.251,0.157,1};
|
||||||
|
shadowColo[] = {0,0,0,0};
|
||||||
|
font = "EtelkaNarrowMediumPro";
|
||||||
|
shadow = 0;
|
||||||
|
sizeEx = 0.042;
|
||||||
|
};
|
||||||
|
class coordinates: RscText{
|
||||||
|
idc = 913592;
|
||||||
|
x = X_gps + W_gps * 0.2;
|
||||||
|
y = Y_gps + H_gps * 0.33;
|
||||||
|
w = W_gps * 0.6;
|
||||||
|
h = H_gps * 0.35;
|
||||||
|
style = ST_CENTER;
|
||||||
|
text = "012.3 115.1";
|
||||||
|
colorBackground[] = {0,0,0,0};
|
||||||
|
colorText[] = {0.247,0.251,0.157,1};
|
||||||
|
shadowColo[] = {0,0,0,0};
|
||||||
|
font = "EtelkaNarrowMediumPro";
|
||||||
|
shadow = 0;
|
||||||
|
sizeEx = 0.1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
14
addons/maptools/README.md
Normal file
14
addons/maptools/README.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
ace_maptools
|
||||||
|
============
|
||||||
|
|
||||||
|
Map tools:
|
||||||
|
- Roamer
|
||||||
|
- Map drawing
|
||||||
|
- Showing GPS on map
|
||||||
|
|
||||||
|
## Maintainers
|
||||||
|
|
||||||
|
The people responsible for merging changes to this component or answering potential questions.
|
||||||
|
|
||||||
|
- [esteldunedain](https://github.com/esteldunedain)
|
||||||
|
- [NouberNou](https://github.com/NouberNou)
|
BIN
addons/maptools/UI/IconBFTracking_ca.paa
Normal file
BIN
addons/maptools/UI/IconBFTracking_ca.paa
Normal file
Binary file not shown.
70
addons/maptools/XEH_postInitClient.sqf
Normal file
70
addons/maptools/XEH_postInitClient.sqf
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
// by CAA-Picard
|
||||||
|
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
if (!hasInterface) exitWith {};
|
||||||
|
|
||||||
|
// Init variables
|
||||||
|
GVAR(mapVisableLastFrame) = false;
|
||||||
|
GVAR(mapGpsShow) = true;
|
||||||
|
|
||||||
|
GVAR(mapTool_Shown) = 0;
|
||||||
|
GVAR(mapTool_pos) = [0,0];
|
||||||
|
GVAR(mapTool_angle) = 0;
|
||||||
|
GVAR(mapTool_isDragging) = false;
|
||||||
|
GVAR(mapTool_isRotating) = false;
|
||||||
|
|
||||||
|
GVAR(drawing_isDrawing) = false;
|
||||||
|
GVAR(drawing_tempLineMarker) = [];
|
||||||
|
GVAR(drawing_lineMarkers) = [];
|
||||||
|
GVAR(drawing_drawColor) = "ColorBlack";
|
||||||
|
GVAR(drawing_controls) = [36732, 36733, 36734, 36735, 36736, 36737];
|
||||||
|
|
||||||
|
[] spawn {
|
||||||
|
_fnc_installMapEvents = {
|
||||||
|
_d = _this;
|
||||||
|
diag_log format ["Installing EH in display %1", _d];
|
||||||
|
((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseMoving", {_this call FUNC(handleMouseMove);}];
|
||||||
|
((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseButtonDown", {[1, _this] call FUNC(handleMouseButton);}];
|
||||||
|
((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["MouseButtonUp", {[0, _this] call FUNC(handleMouseButton)}];
|
||||||
|
((finddisplay _d) displayctrl 51) ctrlAddEventHandler ["Draw", {[] call FUNC(updateMapToolMarkers);}];
|
||||||
|
(finddisplay _d) displayAddEventHandler ["KeyDown", {_this call FUNC(handleKeyDown);}];
|
||||||
|
};
|
||||||
|
|
||||||
|
// Wait until the briefing map is detected
|
||||||
|
// display = 37 for SP
|
||||||
|
// display = 52 for host server on MP;
|
||||||
|
// display = 53 for MP clients)
|
||||||
|
waitUntil {(!isNull findDisplay 37) || (!isNull findDisplay 52) || (!isNull findDisplay 53) || (!isNull findDisplay 12)};
|
||||||
|
|
||||||
|
if (isNull findDisplay 12) then {
|
||||||
|
// Install event handlers on the map control of the briefing screen (control = 51)
|
||||||
|
GVAR(drawing_syncMarkers) = true;
|
||||||
|
if (!isNull findDisplay 52) then {
|
||||||
|
52 call _fnc_installMapEvents;
|
||||||
|
} else {
|
||||||
|
if (!isNull findDisplay 53) then {
|
||||||
|
53 call _fnc_installMapEvents;
|
||||||
|
} else {
|
||||||
|
37 call _fnc_installMapEvents;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
// Briefing screen was skipped; the player is JIP, create the markers defined during the briefing
|
||||||
|
GVAR(drawing_syncMarkers) = false;
|
||||||
|
{
|
||||||
|
_x call FUNC(addLineMarker);
|
||||||
|
} forEach GVAR(drawing_serverLineMarkers);
|
||||||
|
};
|
||||||
|
|
||||||
|
// Wait until the main map display is detected (display = 12)
|
||||||
|
waitUntil { !isNull findDisplay 12 };
|
||||||
|
// Install event handlers on the map control and display (control = 51)
|
||||||
|
GVAR(drawing_syncMarkers) = false;
|
||||||
|
12 call _fnc_installMapEvents;
|
||||||
|
|
||||||
|
// Update the size and rotation of map tools
|
||||||
|
[] call FUNC(updateMapToolMarkers);
|
||||||
|
|
||||||
|
[FUNC(mapStateUpdater), 0, []] call CBA_fnc_addPerFrameHandler;
|
||||||
|
};
|
38
addons/maptools/XEH_preInit.sqf
Normal file
38
addons/maptools/XEH_preInit.sqf
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
ADDON = false;
|
||||||
|
|
||||||
|
PREP(addLineMarker);
|
||||||
|
PREP(calculateMapScale);
|
||||||
|
PREP(cancelDrawing);
|
||||||
|
PREP(canDraw);
|
||||||
|
PREP(canUseMapTools);
|
||||||
|
PREP(canUseMapGPS);
|
||||||
|
PREP(copyMapReceiveMarkers);
|
||||||
|
PREP(copyMapRemoteSend);
|
||||||
|
PREP(copyMapStart);
|
||||||
|
PREP(handleKeyDown);
|
||||||
|
PREP(handleMouseButton);
|
||||||
|
PREP(handleMouseMove);
|
||||||
|
PREP(handleMouseZChanged);
|
||||||
|
PREP(isInsideMapTool);
|
||||||
|
PREP(mapStateUpdater);
|
||||||
|
PREP(openMapGps);
|
||||||
|
PREP(openMapGpsUpdate);
|
||||||
|
PREP(removeLineMarker);
|
||||||
|
PREP(updateMapToolMarkers);
|
||||||
|
PREP(updateLineMarker);
|
||||||
|
|
||||||
|
if (isServer) then {
|
||||||
|
GVAR(drawing_serverLineMarkers) = [];
|
||||||
|
publicVariable QGVAR(drawing_serverLineMarkers);
|
||||||
|
};
|
||||||
|
|
||||||
|
//Add Event Handlers:
|
||||||
|
["drawing_removeLineMarker", FUNC(removeLineMarker) ] call EFUNC(common,addEventHandler);
|
||||||
|
["drawing_addLineMarker", FUNC(addLineMarker) ] call EFUNC(common,addEventHandler);
|
||||||
|
|
||||||
|
["drawing_requestMarkers", FUNC(copyMapRemoteSend) ] call EFUNC(common,addEventHandler);
|
||||||
|
["drawing_sendbackMarkers", FUNC(copyMapReceiveMarkers) ] call EFUNC(common,addEventHandler);
|
||||||
|
|
||||||
|
ADDON = true;
|
74
addons/maptools/config.cpp
Normal file
74
addons/maptools/config.cpp
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
class CfgPatches {
|
||||||
|
class ADDON {
|
||||||
|
units[] = {};
|
||||||
|
weapons[] = {"ACE_MapTools"};
|
||||||
|
requiredVersion = REQUIRED_VERSION;
|
||||||
|
requiredAddons[] = {"ace_common", "ace_interaction"};
|
||||||
|
author[] = {"CAA-Picard"};
|
||||||
|
authorUrl = "https://github.com/esteldunedain/";
|
||||||
|
VERSION_CONFIG;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class ACE_Settings {
|
||||||
|
class GVAR(EveryoneCanDrawOnBriefing) {
|
||||||
|
value = 1;
|
||||||
|
typeName = "BOOL";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class RscControlsGroup;
|
||||||
|
class RscActiveText;
|
||||||
|
class RscPicture;
|
||||||
|
class RscText;
|
||||||
|
class RscObject;
|
||||||
|
class RscButton;
|
||||||
|
class RscButtonMenuOK;
|
||||||
|
class RscButtonMenuCancel;
|
||||||
|
class RscButtonMenu;
|
||||||
|
class RscEdit;
|
||||||
|
|
||||||
|
#include "MapGpsUI.hpp"
|
||||||
|
#include "CfgEventHandlers.hpp"
|
||||||
|
#include "CfgMarkers.hpp"
|
||||||
|
#include "CfgVehicles.hpp"
|
||||||
|
#include "CfgWeapons.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
// REGULAR MAP
|
||||||
|
class RscDisplayMainMap {
|
||||||
|
// Create the drawing color selector
|
||||||
|
class controls {
|
||||||
|
class TopRight: RscControlsGroup {
|
||||||
|
#include "MapControls.hpp"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// BRIEFING SCREEN
|
||||||
|
class RscDisplayGetReady: RscDisplayMainMap {
|
||||||
|
// Create the drawing color selector
|
||||||
|
class controls {
|
||||||
|
class TopRight: RscControlsGroup {
|
||||||
|
#include "MapControls.hpp"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class RscDisplayClientGetReady: RscDisplayGetReady {
|
||||||
|
// Create the drawing color selector
|
||||||
|
class controls {
|
||||||
|
class TopRight: RscControlsGroup {
|
||||||
|
#include "MapControls.hpp"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class RscDisplayServerGetReady: RscDisplayGetReady {
|
||||||
|
// Create the drawing color selector
|
||||||
|
class controls {
|
||||||
|
class TopRight: RscControlsGroup {
|
||||||
|
#include "MapControls.hpp"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
1
addons/maptools/functions/script_component.hpp
Normal file
1
addons/maptools/functions/script_component.hpp
Normal file
@ -0,0 +1 @@
|
|||||||
|
#include "\z\ace\addons\maptools\script_component.hpp"
|
17
addons/maptools/script_component.hpp
Normal file
17
addons/maptools/script_component.hpp
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#define COMPONENT maptools
|
||||||
|
#include "\z\ace\Addons\main\script_mod.hpp"
|
||||||
|
|
||||||
|
#ifdef DEBUG_ENABLED_MAPTOOLS
|
||||||
|
#define DEBUG_MODE_FULL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef DEBUG_SETTINGS_MAPTOOLS
|
||||||
|
#define DEBUG_SETTINGS DEBUG_SETTINGS_MAPTOOLS
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "\z\ace\Addons\main\script_macros.hpp"
|
||||||
|
|
||||||
|
|
||||||
|
#define MARKERNAME_MAPTOOL_FIXED "ACE_MapToolFixed"
|
||||||
|
#define MARKERNAME_MAPTOOL_ROTATINGNORMAL "ACE_MapToolRotatingNormal"
|
||||||
|
#define MARKERNAME_MAPTOOL_ROTATINGSMALL "ACE_MapToolRotatingSmall"
|
148
addons/maptools/stringtable.xml
Normal file
148
addons/maptools/stringtable.xml
Normal file
@ -0,0 +1,148 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Edited with tabler - 2014-12-22 -->
|
||||||
|
<Project name="ACE">
|
||||||
|
<Package name="Map">
|
||||||
|
<Key ID="STR_ACE_MapTools_Name">
|
||||||
|
<English>Map Tools</English>
|
||||||
|
<Spanish>Herramientas de mapa</Spanish>
|
||||||
|
<French>Outils de navigation</French>
|
||||||
|
<Polish>Narzędzia nawigacyjne</Polish>
|
||||||
|
<German>Kartenwerkzeug</German>
|
||||||
|
<Czech>Pomůcky k Mapě</Czech>
|
||||||
|
<Italian>Strumenti Cartografici</Italian>
|
||||||
|
<Portuguese>Ferramentas de Mapa</Portuguese>
|
||||||
|
<Hungarian>Térképészeti eszközök</Hungarian>
|
||||||
|
<Russian>Инструменты карты</Russian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_MapTools_Description">
|
||||||
|
<English>The Map Tools allow you to measure distances and angles on the map.</English>
|
||||||
|
<Spanish>Las herramientas de mapa permiten medir distancias y ángulos en el mapa.</Spanish>
|
||||||
|
<French>Les outils de navigation permettent de mesurer des distances et des angles sur la carte.</French>
|
||||||
|
<Polish>Narzędzia nawigacyjne pozwalają na mierzenie odległości i kątów na mapie.</Polish>
|
||||||
|
<German>Das Kartenwerkzeug erlaubt es dir, Distanzen und Winkel zu messen.</German>
|
||||||
|
<Czech>Pomůcky k mapě slouží k měření vzdáleností a úhlů na mapě.</Czech>
|
||||||
|
<Italian>Gli Strumenti Cartografici ti consentono di misurare distanze ed angoli sulla mappa.</Italian>
|
||||||
|
<Portuguese>As Ferramentas de Mapa permitem que você meça distâncias e ângulos no mapa.</Portuguese>
|
||||||
|
<Hungarian>A térképészeti eszközökkel távolságokat és szögeket tud mérni a térképen.</Hungarian>
|
||||||
|
<Russian>Картографические инструменты позволяют измерять расстояния и углы на карте.</Russian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_MapTools_MapTools_Menu">
|
||||||
|
<English>Map Tools >></English>
|
||||||
|
<Spanish>Herramientas de mapa >></Spanish>
|
||||||
|
<French>Outils de navigation >></French>
|
||||||
|
<Polish>Narzędzia nawigacyjne >></Polish>
|
||||||
|
<German>Kartenwerkzeug >></German>
|
||||||
|
<Czech>Pomůcky k Mapě >></Czech>
|
||||||
|
<Italian>Strumenti Cartografici >></Italian>
|
||||||
|
<Portuguese>Ferramentas de Mapa >></Portuguese>
|
||||||
|
<Hungarian>Térképészeti eszközök >></Hungarian>
|
||||||
|
<Russian>Инструменты карты >></Russian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_MapTools_MapToolsHide">
|
||||||
|
<English>Hide Map Tool</English>
|
||||||
|
<German>Verstecke Kartenwerkzeug</German>
|
||||||
|
<Spanish>Ocultar herr. de mapa</Spanish>
|
||||||
|
<French>Ranger les outils</French>
|
||||||
|
<Italian>Nascondi Strumenti Cartografici</Italian>
|
||||||
|
<Portuguese>Ocultar Ferramenta de Mapa</Portuguese>
|
||||||
|
<Hungarian>Térképészeti eszközök elrejtése</Hungarian>
|
||||||
|
<Polish>Ukryj narzędzia nawigacyjne</Polish>
|
||||||
|
<Czech>Schovat pomůcku k mapě</Czech>
|
||||||
|
<Russian>Скрыть инструменты</Russian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_MapTools_MapToolsShowNormal">
|
||||||
|
<English>Show Normal Map Tool</English>
|
||||||
|
<German>Zeige Kartenwerkzeug (normal)</German>
|
||||||
|
<Spanish>Mostrar herr. de mapa normal</Spanish>
|
||||||
|
<French>Montrer outils normaux</French>
|
||||||
|
<Italian>Visualizza Strumenti Cartografici standard</Italian>
|
||||||
|
<Portuguese>Mostrar Ferramenta de Mapa Padrão</Portuguese>
|
||||||
|
<Hungarian>Térképészeti eszköz megjelenítése (normál méret)</Hungarian>
|
||||||
|
<Polish>Pokaż normalne narzędzia nawigacyjne</Polish>
|
||||||
|
<Czech>Zobrazit normální pomůcku k mapě</Czech>
|
||||||
|
<Russian>Показать инструменты (средн. размер)</Russian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_MapTools_MapToolsShowSmall">
|
||||||
|
<English>Show Small Map Tool</English>
|
||||||
|
<German>Zeige Kartenwerkzeug (klein)</German>
|
||||||
|
<Spanish>Mostrar herr. de mapa pequeñas</Spanish>
|
||||||
|
<French>Montrer petits outils</French>
|
||||||
|
<Italian>Visualizza Strumenti Cartografici piccoli</Italian>
|
||||||
|
<Portuguese>Mostrar Ferramenta de Mapa Pequena</Portuguese>
|
||||||
|
<Hungarian>Térképészeti eszköz megjelenítése (kicsinyített)</Hungarian>
|
||||||
|
<Polish>Pokaż pomniejszone narzędzia nawigacyjne</Polish>
|
||||||
|
<Czech>Zobrazit malou pomůcku k mapě</Czech>
|
||||||
|
<Russian>Показать инструменты (малый размер)</Russian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_MapTools_MapToolsAlignNorth">
|
||||||
|
<English>Align Map Tool to North</English>
|
||||||
|
<German>Kartenwerkzeug nach Norden ausrichten</German>
|
||||||
|
<Spanish>Alinear herr. de mapa al norte</Spanish>
|
||||||
|
<French>Aligner au nord</French>
|
||||||
|
<Italian>Allinea gli Strumenti Cartografici con il Nord</Italian>
|
||||||
|
<Portuguese>Alinhar Ferramenta de Mapa com o Norte</Portuguese>
|
||||||
|
<Hungarian>Térképészeti eszköz Északhoz állítása</Hungarian>
|
||||||
|
<Polish>Wyrównaj linijkę do północy</Polish>
|
||||||
|
<Czech>Srovnat pomůcku k mapě na sever</Czech>
|
||||||
|
<Russian>Выровнять инструменты на север</Russian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_MapTools_MapToolsAlignCompass">
|
||||||
|
<English>Align Map Tool to Compass</English>
|
||||||
|
<German>Kartenwerkzeug am Kompass ausrichten</German>
|
||||||
|
<Spanish>Alinear herr. de mapa a la brújula</Spanish>
|
||||||
|
<French>Aligner sur la boussole</French>
|
||||||
|
<Italian>Allinea gli Strumenti Cartografici con la bussola</Italian>
|
||||||
|
<Portuguese>Alinhar Ferramenta de Mapa com a Bússola</Portuguese>
|
||||||
|
<Hungarian>Térképészeti eszköz iránytűhöz állítása</Hungarian>
|
||||||
|
<Polish>Wyrównaj linijkę do kompasu</Polish>
|
||||||
|
<Czech>Srovnat pomůcku k mapě ke kompasu</Czech>
|
||||||
|
<Russian>Выровнять инструменты по компасу</Russian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_MapTools_MapGpsShow">
|
||||||
|
<English>Show GPS on Map</English>
|
||||||
|
<German>Zeige GPS auf der Karte</German>
|
||||||
|
<Spanish>Mostrar el GPS sobre el mapa</Spanish>
|
||||||
|
<French>Ranger le GPS</French>
|
||||||
|
<Italian>Visualizza il GPS sulla mappa</Italian>
|
||||||
|
<Portuguese>Mostrar GPS no Mapa</Portuguese>
|
||||||
|
<Hungarian>GPS megjelnítése a térképen</Hungarian>
|
||||||
|
<Polish>Pokaż GPS na mapie</Polish>
|
||||||
|
<Czech>Zobrazit GPS na mapě</Czech>
|
||||||
|
<Russian>Показать GPS на карте</Russian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_MapTools_MapGpsHide">
|
||||||
|
<English>Hide GPS on Map</English>
|
||||||
|
<German>Verstecke GPS auf der Karte</German>
|
||||||
|
<Spanish>Ocultar el GPS del mapa</Spanish>
|
||||||
|
<French>Montrer le GPS</French>
|
||||||
|
<Italian>Nascondi il GPS sulla mappa</Italian>
|
||||||
|
<Portuguese>Ocultar GPS no Mapa</Portuguese>
|
||||||
|
<Hungarian>GPS elrejtése térképről</Hungarian>
|
||||||
|
<Polish>Ukryj GPS na mapie</Polish>
|
||||||
|
<Czech>Schovat GPS na mapě</Czech>
|
||||||
|
<Russian>Скрыть GPS на карте</Russian>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_MapTools_CopyMap">
|
||||||
|
<English>Copy Map</English>
|
||||||
|
<German>Karte kopieren</German>
|
||||||
|
<Spanish>Copiar mapa</Spanish>
|
||||||
|
<Russian>Скопировать карту</Russian>
|
||||||
|
<Polish>Kopiuj oznaczenia mapy</Polish>
|
||||||
|
<French>Copier la carte</French>
|
||||||
|
<Czech>Zkopírovat mapu</Czech>
|
||||||
|
<Italian>Copiare Carta</Italian>
|
||||||
|
<Hungarian>Térkép másolása</Hungarian>
|
||||||
|
<Portuguese>Copiar Mapa</Portuguese>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_MapTools_MarkerDirection">
|
||||||
|
<English>Direction: %1°</English>
|
||||||
|
<German>Drehung: %1°</German>
|
||||||
|
<French>Direction: %1°</French>
|
||||||
|
<Czech>Směr: %1°</Czech>
|
||||||
|
<Polish>Kierunek: %1°</Polish>
|
||||||
|
<Spanish>Dirección: %1°</Spanish>
|
||||||
|
<Hungarian>Irány: %1</Hungarian>
|
||||||
|
<Russian>Направление:%1</Russian>
|
||||||
|
</Key>
|
||||||
|
</Package>
|
||||||
|
</Project>
|
Loading…
Reference in New Issue
Block a user