diff --git a/client/demo.js b/client/demo.js
index 8c515a85..ca78a542 100644
--- a/client/demo.js
+++ b/client/demo.js
@@ -48,7 +48,7 @@ const DEMO_UNIT_DATA = {
ammo: [{ quantity: 2, name: "A cool missile", guidance: 0, category: 0, missileCategory: 0 } ],
contacts: [{ID: 1, detectionMethod: 16}],
activePath: [ ]
- }, ["4"]:{ category: "GroundUnit", alive: true, human: false, controlled: false, coalition: 1, country: 0, name: "M-60", unitName: "Cool guy 1-4", groupName: "Cool group 3", state: 1, task: "Being cool",
+ }, ["4"]:{ category: "Helicopter", alive: true, human: false, controlled: false, coalition: 1, country: 0, name: "AH-64D_BLK_II", unitName: "Cool guy 1-4", groupName: "Cool group 3", state: 1, task: "Being cool",
hasTask: false, position: { lat: 37.1, lng: -116.1, alt: 1000 }, speed: 200, heading: 315 * Math.PI / 180, isTanker: false, isAWACS: false, onOff: true, followRoads: false, fuel: 50,
desiredSpeed: 300, desiredSpeedType: 1, desiredAltitude: 1000, desiredAltitudeType: 1, leaderID: 0,
formationOffset: { x: 0, y: 0, z: 0 },
diff --git a/client/public/stylesheets/markers/units.css b/client/public/stylesheets/markers/units.css
index 4cbdcc90..d4f88333 100644
--- a/client/public/stylesheets/markers/units.css
+++ b/client/public/stylesheets/markers/units.css
@@ -14,11 +14,11 @@
background: var(--secondary-gunmetal-grey);
display: flex;
justify-self: center;
- padding-bottom: calc((var(--unit-aircraft-width) / 2) + var(--unit-stroke-width));
+ padding-bottom: calc((var(--unit-width) / 2) + var(--unit-stroke-width));
position: absolute;
transform-origin: bottom;
translate: 0 -50%;
- width: var(--unit-aircraft-vvi-width);
+ width: var(--unit-vvi-width);
}
.unit-hotgroup {
@@ -100,13 +100,13 @@
/*** Fuel indicator ***/
[data-object|="unit"] .unit-fuel {
background: white;
- border: var(--unit-aircraft-fuel-border-width) solid var(--secondary-dark-steel);
+ border: var(--unit-fuel-border-width) solid var(--secondary-dark-steel);
border-radius: var(--border-radius-sm);
display: none;
- height: var(--unit-aircraft-fuel-height);
+ height: var(--unit-fuel-height);
position: absolute;
- translate: var(--unit-aircraft-fuel-x) var(--unit-aircraft-fuel-y);
- width: var(--unit-aircraft-fuel-width);
+ translate: var(--unit-fuel-x) var(--unit-fuel-y);
+ width: var(--unit-fuel-width);
}
[data-object|="unit"] .unit-fuel-level {
@@ -117,19 +117,19 @@
/*** Ammo indicator ***/
[data-object|="unit"] .unit-ammo {
- column-gap: var(--unit-aircraft-ammo-spacing);
+ column-gap: var(--unit-ammo-spacing);
display: none;
height: fit-content;
position: absolute;
- translate: var(--unit-aircraft-ammo-x) var(--unit-aircraft-ammo-y);
+ translate: var(--unit-ammo-x) var(--unit-ammo-y);
width: fit-content;
}
[data-object|="unit"] .unit-ammo>* {
background-color: white;
- border: var(--unit-aircraft-ammo-border-width) solid var(--secondary-dark-steel);
+ border: var(--unit-ammo-border-width) solid var(--secondary-dark-steel);
border-radius: 50%;
- padding: var(--unit-aircraft-ammo-radius);
+ padding: var(--unit-ammo-radius);
}
/*** Unit summary ***/
@@ -292,24 +292,24 @@
}
/*** Dead unit ***/
-[data-object|="unit-aircraft"][data-is-dead] .unit-selected-spotlight,
-[data-object|="unit-aircraft"][data-is-dead] .unit-short-label,
-[data-object|="unit-aircraft"][data-is-dead] .unit-vvi,
-[data-object|="unit-aircraft"][data-is-dead] .unit-hotgroup,
-[data-object|="unit-aircraft"][data-is-dead] .unit-hotgroup-id,
-[data-object|="unit-aircraft"][data-is-dead] .unit-state,
-[data-object|="unit-aircraft"][data-is-dead] .unit-fuel,
-[data-object|="unit-aircraft"][data-is-dead] .unit-ammo,
-[data-object|="unit-aircraft"][data-is-dead]:hover .unit-fuel,
-[data-object|="unit-aircraft"][data-is-dead]:hover .unit-ammo {
+[data-object|="unit"][data-is-dead] .unit-selected-spotlight,
+[data-object|="unit"][data-is-dead] .unit-short-label,
+[data-object|="unit"][data-is-dead] .unit-vvi,
+[data-object|="unit"][data-is-dead] .unit-hotgroup,
+[data-object|="unit"][data-is-dead] .unit-hotgroup-id,
+[data-object|="unit"][data-is-dead] .unit-state,
+[data-object|="unit"][data-is-dead] .unit-fuel,
+[data-object|="unit"][data-is-dead] .unit-ammo,
+[data-object|="unit"][data-is-dead]:hover .unit-fuel,
+[data-object|="unit"][data-is-dead]:hover .unit-ammo {
display: none;
}
-[data-object|="unit-aircraft"][data-is-dead] .unit-summary>* {
+[data-object|="unit"][data-is-dead] .unit-summary>* {
display: none;
}
-[data-object|="unit-aircraft"][data-is-dead] .unit-summary .unit-callsign {
+[data-object|="unit"][data-is-dead] .unit-summary .unit-callsign {
display: block;
}
diff --git a/client/public/stylesheets/other/contextmenus.css b/client/public/stylesheets/other/contextmenus.css
index 91a50f7f..6b691787 100644
--- a/client/public/stylesheets/other/contextmenus.css
+++ b/client/public/stylesheets/other/contextmenus.css
@@ -8,11 +8,10 @@
z-index: 9999;
}
-#aircraft-spawn-menu {
- height: fit-content;
-}
-
-#ground-unit-spawn-menu {
+#aircraft-spawn-menu,
+#helicopter-spawn-menu,
+#groundunit-spawn-menu,
+#navyunit-spawn-menu {
height: fit-content;
}
@@ -35,35 +34,27 @@
width: 50px;
}
-#aircraft-spawn-menu .ol-select.is-open .ol-select-options {
+#aircraft-spawn-menu .ol-select.is-open .ol-select-options,
+#helicopter-spawn-menu .ol-select.is-open .ol-select-options {
max-height: 300px;
}
-#aircraft-spawn-menu>button,
-#ground-unit-spawn-menu>button,
-#iads-menu>button {
+.deploy-unit-button {
text-align: center;
width: 100%;
}
-#aircraft-spawn-button {
- background-image: url("/resources/theme/images/buttons/spawn/aircraft.svg");
- background-size: 48px;
+.upper-bar svg>* {
+ fill: white;
}
-#ground-ol-contexmenu-button {
- background-image: url("/resources/theme/images/buttons/spawn/ground.svg");
- background-size: 48px;
+.upper-bar svg {
+ width: 22px;
+ margin: 0px 5px;
}
-#smoke-spawn-button {
- background-image: url("/resources/theme/images/buttons/spawn/smoke.svg");
- background-size: 48px;
-}
-
-#explosion-spawn-button {
- background-image: url("/resources/theme/images/buttons/spawn/explosion.svg");
- background-size: 48px;
+.upper-bar button:nth-child(2) {
+ margin-left: auto;
}
[data-coalition="blue"]#active-coalition-label,
@@ -117,7 +108,8 @@
content: "Create neutral unit";
}
-#loadout-preview {
+#aircraft-loadout-preview,
+#helicopter-loadout-preview {
align-content: space-between;
align-items: center;
column-gap: 20px;
@@ -126,14 +118,16 @@
width: 100%;
}
-#loadout-list {
+#aircaft-loadout-list,
+#helicopter-loadout-list {
align-content: center;
display: flex;
flex-direction: column;
height: 100%;
}
-#unit-image {
+#aircraft-unit-image,
+#helicopter-unit-image {
filter: invert(100%);
height: 100px;
margin-bottom: 10px;
@@ -186,14 +180,16 @@
background-color: orange;
}
-#aircraft-spawn-menu .ol-slider-value {
+#aircraft-spawn-menu .ol-slider-value,
+#helicopter-spawn-menu .ol-slider-value {
color: var(--accent-light-blue);
cursor: pointer;
font-size: 14px;
font-weight: bold;
}
-#aircraft-spawn-altitude-slider {
+#aircraft-spawn-altitude-slider,
+#helicopter-spawn-altitude-slider {
padding: 0px 10px;
}
@@ -371,26 +367,6 @@
width: 50px;
}
-#iads-button {
- background-image: url("/resources/theme/images/buttons/spawn/sam.svg");
- background-size: 48px;
-}
-
-#cap-button {
- background-image: url("/resources/theme/images/buttons/spawn/aircraft.svg");
- background-size: 48px;
-}
-
-#coalitionarea-back-button {
- background-image: url("/resources/theme/images/buttons/other/back.svg");
- background-size: 48px;
-}
-
-#coalitionarea-delete-button {
- background-image: url("/resources/theme/images/buttons/other/delete.svg");
- background-size: 48px;
-}
-
#coalition-area-contextmenu .ol-checkbox {
align-self: flex-start;
}
diff --git a/client/public/themes/olympus/images/buttons/other/back.svg b/client/public/themes/olympus/images/buttons/other/back.svg
index 52c98f94..0b86d7f1 100644
--- a/client/public/themes/olympus/images/buttons/other/back.svg
+++ b/client/public/themes/olympus/images/buttons/other/back.svg
@@ -23,9 +23,9 @@
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false"
- inkscape:zoom="26.15625"
- inkscape:cx="20.587814"
- inkscape:cy="20.109916"
+ inkscape:zoom="13.078125"
+ inkscape:cx="19.918757"
+ inkscape:cy="17.663082"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="1912"
@@ -34,8 +34,8 @@
inkscape:current-layer="svg4" />
diff --git a/client/public/themes/olympus/images/buttons/other/delete.svg b/client/public/themes/olympus/images/buttons/other/delete.svg
index c290353d..68a91a1a 100644
--- a/client/public/themes/olympus/images/buttons/other/delete.svg
+++ b/client/public/themes/olympus/images/buttons/other/delete.svg
@@ -24,8 +24,8 @@
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="13.078125"
- inkscape:cx="27.794504"
- inkscape:cy="19.192354"
+ inkscape:cx="27.870968"
+ inkscape:cy="20.415771"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="1912"
@@ -34,7 +34,7 @@
inkscape:current-layer="svg1940" />
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.0589579;stroke-opacity:1" />
diff --git a/client/public/themes/olympus/images/buttons/other/edit.svg b/client/public/themes/olympus/images/buttons/other/edit.svg
new file mode 100644
index 00000000..a690992f
--- /dev/null
+++ b/client/public/themes/olympus/images/buttons/other/edit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/public/themes/olympus/images/buttons/spawn/aircraft.svg b/client/public/themes/olympus/images/buttons/spawn/aircraft.svg
index beb45a25..50b02231 100644
--- a/client/public/themes/olympus/images/buttons/spawn/aircraft.svg
+++ b/client/public/themes/olympus/images/buttons/spawn/aircraft.svg
@@ -1,20 +1,19 @@
diff --git a/client/public/themes/olympus/images/buttons/spawn/explosion.svg b/client/public/themes/olympus/images/buttons/spawn/explosion.svg
index 192784b0..b3803f61 100644
--- a/client/public/themes/olympus/images/buttons/spawn/explosion.svg
+++ b/client/public/themes/olympus/images/buttons/spawn/explosion.svg
@@ -24,7 +24,7 @@
inkscape:deskcolor="#d1d1d1"
showgrid="false"
inkscape:zoom="13.078125"
- inkscape:cx="19.53644"
+ inkscape:cx="18.389486"
inkscape:cy="12.157706"
inkscape:window-width="1920"
inkscape:window-height="1017"
@@ -34,9 +34,9 @@
inkscape:current-layer="svg4" />
+ style="fill-opacity:1;stroke-width:0.0537019" />
diff --git a/client/public/themes/olympus/images/buttons/spawn/ground.svg b/client/public/themes/olympus/images/buttons/spawn/ground.svg
deleted file mode 100644
index f0d8bf1c..00000000
--- a/client/public/themes/olympus/images/buttons/spawn/ground.svg
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
diff --git a/client/public/themes/olympus/images/buttons/spawn/groundunit.svg b/client/public/themes/olympus/images/buttons/spawn/groundunit.svg
new file mode 100644
index 00000000..28c22079
--- /dev/null
+++ b/client/public/themes/olympus/images/buttons/spawn/groundunit.svg
@@ -0,0 +1,89 @@
+
+
diff --git a/client/public/themes/olympus/images/buttons/spawn/helicopter.svg b/client/public/themes/olympus/images/buttons/spawn/helicopter.svg
new file mode 100644
index 00000000..585c9678
--- /dev/null
+++ b/client/public/themes/olympus/images/buttons/spawn/helicopter.svg
@@ -0,0 +1,59 @@
+
+
diff --git a/client/public/themes/olympus/images/buttons/spawn/navyunit.svg b/client/public/themes/olympus/images/buttons/spawn/navyunit.svg
new file mode 100644
index 00000000..b5d83ba2
--- /dev/null
+++ b/client/public/themes/olympus/images/buttons/spawn/navyunit.svg
@@ -0,0 +1,59 @@
+
+
diff --git a/client/public/themes/olympus/images/buttons/spawn/sam.svg b/client/public/themes/olympus/images/buttons/spawn/sam.svg
index 0109de6b..bf91d6f5 100644
--- a/client/public/themes/olympus/images/buttons/spawn/sam.svg
+++ b/client/public/themes/olympus/images/buttons/spawn/sam.svg
@@ -1,9 +1,7 @@
-