diff --git a/frontend/react/public/images/markers/bullseye.svg b/frontend/react/public/images/markers/bullseye.svg
index 7e86f68e..25569f21 100644
--- a/frontend/react/public/images/markers/bullseye.svg
+++ b/frontend/react/public/images/markers/bullseye.svg
@@ -1,45 +1,49 @@
+
+
\ No newline at end of file
+ xmlns:svg="http://www.w3.org/2000/svg">
diff --git a/frontend/react/public/images/units/map/awacs/blue/aircraft.svg b/frontend/react/public/images/units/map/awacs/blue/aircraft.svg
new file mode 100644
index 00000000..ee759104
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/blue/aircraft.svg
@@ -0,0 +1,47 @@
+
+
diff --git a/frontend/react/public/images/units/bomb.svg b/frontend/react/public/images/units/map/awacs/blue/bomb.svg
similarity index 100%
rename from frontend/react/public/images/units/bomb.svg
rename to frontend/react/public/images/units/map/awacs/blue/bomb.svg
diff --git a/frontend/react/public/images/units/death.svg b/frontend/react/public/images/units/map/awacs/blue/death.svg
similarity index 100%
rename from frontend/react/public/images/units/death.svg
rename to frontend/react/public/images/units/map/awacs/blue/death.svg
diff --git a/frontend/react/public/images/units/groundunit-aaa.svg b/frontend/react/public/images/units/map/awacs/blue/groundunit-aaa.svg
similarity index 100%
rename from frontend/react/public/images/units/groundunit-aaa.svg
rename to frontend/react/public/images/units/map/awacs/blue/groundunit-aaa.svg
diff --git a/frontend/react/public/images/units/groundunit-apc.svg b/frontend/react/public/images/units/map/awacs/blue/groundunit-apc.svg
similarity index 100%
rename from frontend/react/public/images/units/groundunit-apc.svg
rename to frontend/react/public/images/units/map/awacs/blue/groundunit-apc.svg
diff --git a/frontend/react/public/images/units/groundunit-artillery.svg b/frontend/react/public/images/units/map/awacs/blue/groundunit-artillery.svg
similarity index 100%
rename from frontend/react/public/images/units/groundunit-artillery.svg
rename to frontend/react/public/images/units/map/awacs/blue/groundunit-artillery.svg
diff --git a/frontend/react/public/images/units/groundunit-ewr.svg b/frontend/react/public/images/units/map/awacs/blue/groundunit-ewr.svg
similarity index 100%
rename from frontend/react/public/images/units/groundunit-ewr.svg
rename to frontend/react/public/images/units/map/awacs/blue/groundunit-ewr.svg
diff --git a/frontend/react/public/images/units/groundunit-infantry.svg b/frontend/react/public/images/units/map/awacs/blue/groundunit-infantry.svg
similarity index 100%
rename from frontend/react/public/images/units/groundunit-infantry.svg
rename to frontend/react/public/images/units/map/awacs/blue/groundunit-infantry.svg
diff --git a/frontend/react/public/images/units/groundunit-sam-launcher.svg b/frontend/react/public/images/units/map/awacs/blue/groundunit-sam-launcher.svg
similarity index 100%
rename from frontend/react/public/images/units/groundunit-sam-launcher.svg
rename to frontend/react/public/images/units/map/awacs/blue/groundunit-sam-launcher.svg
diff --git a/frontend/react/public/images/units/groundunit-sam-radar.svg b/frontend/react/public/images/units/map/awacs/blue/groundunit-sam-radar.svg
similarity index 100%
rename from frontend/react/public/images/units/groundunit-sam-radar.svg
rename to frontend/react/public/images/units/map/awacs/blue/groundunit-sam-radar.svg
diff --git a/frontend/react/public/images/units/groundunit-sam.svg b/frontend/react/public/images/units/map/awacs/blue/groundunit-sam.svg
similarity index 100%
rename from frontend/react/public/images/units/groundunit-sam.svg
rename to frontend/react/public/images/units/map/awacs/blue/groundunit-sam.svg
diff --git a/frontend/react/public/images/units/groundunit-tactical.svg b/frontend/react/public/images/units/map/awacs/blue/groundunit-tactical.svg
similarity index 100%
rename from frontend/react/public/images/units/groundunit-tactical.svg
rename to frontend/react/public/images/units/map/awacs/blue/groundunit-tactical.svg
diff --git a/frontend/react/public/images/units/groundunit-tank.svg b/frontend/react/public/images/units/map/awacs/blue/groundunit-tank.svg
similarity index 100%
rename from frontend/react/public/images/units/groundunit-tank.svg
rename to frontend/react/public/images/units/map/awacs/blue/groundunit-tank.svg
diff --git a/frontend/react/public/images/units/groundunit-truck.svg b/frontend/react/public/images/units/map/awacs/blue/groundunit-truck.svg
similarity index 100%
rename from frontend/react/public/images/units/groundunit-truck.svg
rename to frontend/react/public/images/units/map/awacs/blue/groundunit-truck.svg
diff --git a/frontend/react/public/images/units/groundunit.svg b/frontend/react/public/images/units/map/awacs/blue/groundunit.svg
similarity index 100%
rename from frontend/react/public/images/units/groundunit.svg
rename to frontend/react/public/images/units/map/awacs/blue/groundunit.svg
diff --git a/frontend/react/public/images/units/helicopter.svg b/frontend/react/public/images/units/map/awacs/blue/helicopter.svg
similarity index 100%
rename from frontend/react/public/images/units/helicopter.svg
rename to frontend/react/public/images/units/map/awacs/blue/helicopter.svg
diff --git a/frontend/react/public/images/units/missile.svg b/frontend/react/public/images/units/map/awacs/blue/missile.svg
similarity index 100%
rename from frontend/react/public/images/units/missile.svg
rename to frontend/react/public/images/units/map/awacs/blue/missile.svg
diff --git a/frontend/react/public/images/units/navyunit.svg b/frontend/react/public/images/units/map/awacs/blue/navyunit.svg
similarity index 100%
rename from frontend/react/public/images/units/navyunit.svg
rename to frontend/react/public/images/units/map/awacs/blue/navyunit.svg
diff --git a/frontend/react/public/images/units/static.svg b/frontend/react/public/images/units/map/awacs/blue/static.svg
similarity index 100%
rename from frontend/react/public/images/units/static.svg
rename to frontend/react/public/images/units/map/awacs/blue/static.svg
diff --git a/frontend/react/public/images/units/map/awacs/neutral/aircraft.svg b/frontend/react/public/images/units/map/awacs/neutral/aircraft.svg
new file mode 100644
index 00000000..e1c1931f
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/aircraft.svg
@@ -0,0 +1,47 @@
+
+
diff --git a/frontend/react/public/images/units/map/awacs/neutral/bomb.svg b/frontend/react/public/images/units/map/awacs/neutral/bomb.svg
new file mode 100644
index 00000000..d13bad6a
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/bomb.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/death.svg b/frontend/react/public/images/units/map/awacs/neutral/death.svg
new file mode 100644
index 00000000..fb680f06
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/death.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/groundunit-aaa.svg b/frontend/react/public/images/units/map/awacs/neutral/groundunit-aaa.svg
new file mode 100644
index 00000000..beeb5fa6
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/groundunit-aaa.svg
@@ -0,0 +1,17 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/groundunit-apc.svg b/frontend/react/public/images/units/map/awacs/neutral/groundunit-apc.svg
new file mode 100644
index 00000000..9f227819
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/groundunit-apc.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/groundunit-artillery.svg b/frontend/react/public/images/units/map/awacs/neutral/groundunit-artillery.svg
new file mode 100644
index 00000000..78a5be80
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/groundunit-artillery.svg
@@ -0,0 +1,3 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/groundunit-ewr.svg b/frontend/react/public/images/units/map/awacs/neutral/groundunit-ewr.svg
new file mode 100644
index 00000000..fa2775fc
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/groundunit-ewr.svg
@@ -0,0 +1,60 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/groundunit-infantry.svg b/frontend/react/public/images/units/map/awacs/neutral/groundunit-infantry.svg
new file mode 100644
index 00000000..92268c40
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/groundunit-infantry.svg
@@ -0,0 +1,10 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/groundunit-sam-launcher.svg b/frontend/react/public/images/units/map/awacs/neutral/groundunit-sam-launcher.svg
new file mode 100644
index 00000000..ebe2ff8f
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/groundunit-sam-launcher.svg
@@ -0,0 +1,51 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/groundunit-sam-radar.svg b/frontend/react/public/images/units/map/awacs/neutral/groundunit-sam-radar.svg
new file mode 100644
index 00000000..18c3f6a5
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/groundunit-sam-radar.svg
@@ -0,0 +1,50 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/groundunit-sam.svg b/frontend/react/public/images/units/map/awacs/neutral/groundunit-sam.svg
new file mode 100644
index 00000000..1f0e68f1
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/groundunit-sam.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/groundunit-tactical.svg b/frontend/react/public/images/units/map/awacs/neutral/groundunit-tactical.svg
new file mode 100644
index 00000000..40bdae5f
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/groundunit-tactical.svg
@@ -0,0 +1,3 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/groundunit-tank.svg b/frontend/react/public/images/units/map/awacs/neutral/groundunit-tank.svg
new file mode 100644
index 00000000..272113e3
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/groundunit-tank.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/groundunit-truck.svg b/frontend/react/public/images/units/map/awacs/neutral/groundunit-truck.svg
new file mode 100644
index 00000000..aa581462
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/groundunit-truck.svg
@@ -0,0 +1,10 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/groundunit.svg b/frontend/react/public/images/units/map/awacs/neutral/groundunit.svg
new file mode 100644
index 00000000..8d74c672
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/groundunit.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/helicopter.svg b/frontend/react/public/images/units/map/awacs/neutral/helicopter.svg
new file mode 100644
index 00000000..cb79e8cc
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/helicopter.svg
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/missile.svg b/frontend/react/public/images/units/map/awacs/neutral/missile.svg
new file mode 100644
index 00000000..0593f71d
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/missile.svg
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/navyunit.svg b/frontend/react/public/images/units/map/awacs/neutral/navyunit.svg
new file mode 100644
index 00000000..2584f42b
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/navyunit.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/neutral/static.svg b/frontend/react/public/images/units/map/awacs/neutral/static.svg
new file mode 100644
index 00000000..a5511a12
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/neutral/static.svg
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/aircraft.svg b/frontend/react/public/images/units/map/awacs/red/aircraft.svg
new file mode 100644
index 00000000..f40d1898
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/aircraft.svg
@@ -0,0 +1,47 @@
+
+
diff --git a/frontend/react/public/images/units/map/awacs/red/bomb.svg b/frontend/react/public/images/units/map/awacs/red/bomb.svg
new file mode 100644
index 00000000..d13bad6a
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/bomb.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/death.svg b/frontend/react/public/images/units/map/awacs/red/death.svg
new file mode 100644
index 00000000..fb680f06
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/death.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/groundunit-aaa.svg b/frontend/react/public/images/units/map/awacs/red/groundunit-aaa.svg
new file mode 100644
index 00000000..beeb5fa6
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/groundunit-aaa.svg
@@ -0,0 +1,17 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/groundunit-apc.svg b/frontend/react/public/images/units/map/awacs/red/groundunit-apc.svg
new file mode 100644
index 00000000..9f227819
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/groundunit-apc.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/groundunit-artillery.svg b/frontend/react/public/images/units/map/awacs/red/groundunit-artillery.svg
new file mode 100644
index 00000000..78a5be80
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/groundunit-artillery.svg
@@ -0,0 +1,3 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/groundunit-ewr.svg b/frontend/react/public/images/units/map/awacs/red/groundunit-ewr.svg
new file mode 100644
index 00000000..fa2775fc
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/groundunit-ewr.svg
@@ -0,0 +1,60 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/groundunit-infantry.svg b/frontend/react/public/images/units/map/awacs/red/groundunit-infantry.svg
new file mode 100644
index 00000000..92268c40
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/groundunit-infantry.svg
@@ -0,0 +1,10 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/groundunit-sam-launcher.svg b/frontend/react/public/images/units/map/awacs/red/groundunit-sam-launcher.svg
new file mode 100644
index 00000000..ebe2ff8f
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/groundunit-sam-launcher.svg
@@ -0,0 +1,51 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/groundunit-sam-radar.svg b/frontend/react/public/images/units/map/awacs/red/groundunit-sam-radar.svg
new file mode 100644
index 00000000..18c3f6a5
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/groundunit-sam-radar.svg
@@ -0,0 +1,50 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/groundunit-sam.svg b/frontend/react/public/images/units/map/awacs/red/groundunit-sam.svg
new file mode 100644
index 00000000..1f0e68f1
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/groundunit-sam.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/groundunit-tactical.svg b/frontend/react/public/images/units/map/awacs/red/groundunit-tactical.svg
new file mode 100644
index 00000000..40bdae5f
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/groundunit-tactical.svg
@@ -0,0 +1,3 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/groundunit-tank.svg b/frontend/react/public/images/units/map/awacs/red/groundunit-tank.svg
new file mode 100644
index 00000000..272113e3
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/groundunit-tank.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/groundunit-truck.svg b/frontend/react/public/images/units/map/awacs/red/groundunit-truck.svg
new file mode 100644
index 00000000..aa581462
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/groundunit-truck.svg
@@ -0,0 +1,10 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/groundunit.svg b/frontend/react/public/images/units/map/awacs/red/groundunit.svg
new file mode 100644
index 00000000..8d74c672
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/groundunit.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/helicopter.svg b/frontend/react/public/images/units/map/awacs/red/helicopter.svg
new file mode 100644
index 00000000..cb79e8cc
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/helicopter.svg
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/missile.svg b/frontend/react/public/images/units/map/awacs/red/missile.svg
new file mode 100644
index 00000000..0593f71d
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/missile.svg
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/navyunit.svg b/frontend/react/public/images/units/map/awacs/red/navyunit.svg
new file mode 100644
index 00000000..2584f42b
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/navyunit.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/awacs/red/static.svg b/frontend/react/public/images/units/map/awacs/red/static.svg
new file mode 100644
index 00000000..a5511a12
--- /dev/null
+++ b/frontend/react/public/images/units/map/awacs/red/static.svg
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/aircraft.svg b/frontend/react/public/images/units/map/normal/blue/aircraft.svg
similarity index 100%
rename from frontend/react/public/images/units/aircraft.svg
rename to frontend/react/public/images/units/map/normal/blue/aircraft.svg
diff --git a/frontend/react/public/images/units/map/normal/blue/bomb.svg b/frontend/react/public/images/units/map/normal/blue/bomb.svg
new file mode 100644
index 00000000..d13bad6a
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/bomb.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/death.svg b/frontend/react/public/images/units/map/normal/blue/death.svg
new file mode 100644
index 00000000..fb680f06
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/death.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/groundunit-aaa.svg b/frontend/react/public/images/units/map/normal/blue/groundunit-aaa.svg
new file mode 100644
index 00000000..beeb5fa6
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/groundunit-aaa.svg
@@ -0,0 +1,17 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/groundunit-apc.svg b/frontend/react/public/images/units/map/normal/blue/groundunit-apc.svg
new file mode 100644
index 00000000..9f227819
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/groundunit-apc.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/groundunit-artillery.svg b/frontend/react/public/images/units/map/normal/blue/groundunit-artillery.svg
new file mode 100644
index 00000000..78a5be80
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/groundunit-artillery.svg
@@ -0,0 +1,3 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/groundunit-ewr.svg b/frontend/react/public/images/units/map/normal/blue/groundunit-ewr.svg
new file mode 100644
index 00000000..fa2775fc
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/groundunit-ewr.svg
@@ -0,0 +1,60 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/groundunit-infantry.svg b/frontend/react/public/images/units/map/normal/blue/groundunit-infantry.svg
new file mode 100644
index 00000000..92268c40
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/groundunit-infantry.svg
@@ -0,0 +1,10 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/groundunit-sam-launcher.svg b/frontend/react/public/images/units/map/normal/blue/groundunit-sam-launcher.svg
new file mode 100644
index 00000000..ebe2ff8f
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/groundunit-sam-launcher.svg
@@ -0,0 +1,51 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/groundunit-sam-radar.svg b/frontend/react/public/images/units/map/normal/blue/groundunit-sam-radar.svg
new file mode 100644
index 00000000..18c3f6a5
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/groundunit-sam-radar.svg
@@ -0,0 +1,50 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/groundunit-sam.svg b/frontend/react/public/images/units/map/normal/blue/groundunit-sam.svg
new file mode 100644
index 00000000..1f0e68f1
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/groundunit-sam.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/groundunit-tactical.svg b/frontend/react/public/images/units/map/normal/blue/groundunit-tactical.svg
new file mode 100644
index 00000000..40bdae5f
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/groundunit-tactical.svg
@@ -0,0 +1,3 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/groundunit-tank.svg b/frontend/react/public/images/units/map/normal/blue/groundunit-tank.svg
new file mode 100644
index 00000000..272113e3
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/groundunit-tank.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/groundunit-truck.svg b/frontend/react/public/images/units/map/normal/blue/groundunit-truck.svg
new file mode 100644
index 00000000..aa581462
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/groundunit-truck.svg
@@ -0,0 +1,10 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/groundunit.svg b/frontend/react/public/images/units/map/normal/blue/groundunit.svg
new file mode 100644
index 00000000..8d74c672
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/groundunit.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/helicopter.svg b/frontend/react/public/images/units/map/normal/blue/helicopter.svg
new file mode 100644
index 00000000..cb79e8cc
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/helicopter.svg
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/missile.svg b/frontend/react/public/images/units/map/normal/blue/missile.svg
new file mode 100644
index 00000000..0593f71d
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/missile.svg
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/navyunit.svg b/frontend/react/public/images/units/map/normal/blue/navyunit.svg
new file mode 100644
index 00000000..2584f42b
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/navyunit.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/blue/static.svg b/frontend/react/public/images/units/map/normal/blue/static.svg
new file mode 100644
index 00000000..a5511a12
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/blue/static.svg
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/aircraft.svg b/frontend/react/public/images/units/map/normal/neutral/aircraft.svg
new file mode 100644
index 00000000..eefd55d1
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/aircraft.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/bomb.svg b/frontend/react/public/images/units/map/normal/neutral/bomb.svg
new file mode 100644
index 00000000..d13bad6a
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/bomb.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/death.svg b/frontend/react/public/images/units/map/normal/neutral/death.svg
new file mode 100644
index 00000000..fb680f06
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/death.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/groundunit-aaa.svg b/frontend/react/public/images/units/map/normal/neutral/groundunit-aaa.svg
new file mode 100644
index 00000000..beeb5fa6
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/groundunit-aaa.svg
@@ -0,0 +1,17 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/groundunit-apc.svg b/frontend/react/public/images/units/map/normal/neutral/groundunit-apc.svg
new file mode 100644
index 00000000..9f227819
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/groundunit-apc.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/groundunit-artillery.svg b/frontend/react/public/images/units/map/normal/neutral/groundunit-artillery.svg
new file mode 100644
index 00000000..78a5be80
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/groundunit-artillery.svg
@@ -0,0 +1,3 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/groundunit-ewr.svg b/frontend/react/public/images/units/map/normal/neutral/groundunit-ewr.svg
new file mode 100644
index 00000000..fa2775fc
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/groundunit-ewr.svg
@@ -0,0 +1,60 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/groundunit-infantry.svg b/frontend/react/public/images/units/map/normal/neutral/groundunit-infantry.svg
new file mode 100644
index 00000000..92268c40
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/groundunit-infantry.svg
@@ -0,0 +1,10 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/groundunit-sam-launcher.svg b/frontend/react/public/images/units/map/normal/neutral/groundunit-sam-launcher.svg
new file mode 100644
index 00000000..ebe2ff8f
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/groundunit-sam-launcher.svg
@@ -0,0 +1,51 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/groundunit-sam-radar.svg b/frontend/react/public/images/units/map/normal/neutral/groundunit-sam-radar.svg
new file mode 100644
index 00000000..18c3f6a5
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/groundunit-sam-radar.svg
@@ -0,0 +1,50 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/groundunit-sam.svg b/frontend/react/public/images/units/map/normal/neutral/groundunit-sam.svg
new file mode 100644
index 00000000..1f0e68f1
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/groundunit-sam.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/groundunit-tactical.svg b/frontend/react/public/images/units/map/normal/neutral/groundunit-tactical.svg
new file mode 100644
index 00000000..40bdae5f
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/groundunit-tactical.svg
@@ -0,0 +1,3 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/groundunit-tank.svg b/frontend/react/public/images/units/map/normal/neutral/groundunit-tank.svg
new file mode 100644
index 00000000..272113e3
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/groundunit-tank.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/groundunit-truck.svg b/frontend/react/public/images/units/map/normal/neutral/groundunit-truck.svg
new file mode 100644
index 00000000..aa581462
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/groundunit-truck.svg
@@ -0,0 +1,10 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/groundunit.svg b/frontend/react/public/images/units/map/normal/neutral/groundunit.svg
new file mode 100644
index 00000000..8d74c672
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/groundunit.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/helicopter.svg b/frontend/react/public/images/units/map/normal/neutral/helicopter.svg
new file mode 100644
index 00000000..cb79e8cc
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/helicopter.svg
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/missile.svg b/frontend/react/public/images/units/map/normal/neutral/missile.svg
new file mode 100644
index 00000000..0593f71d
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/missile.svg
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/navyunit.svg b/frontend/react/public/images/units/map/normal/neutral/navyunit.svg
new file mode 100644
index 00000000..2584f42b
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/navyunit.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/neutral/static.svg b/frontend/react/public/images/units/map/normal/neutral/static.svg
new file mode 100644
index 00000000..a5511a12
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/neutral/static.svg
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/aircraft.svg b/frontend/react/public/images/units/map/normal/red/aircraft.svg
new file mode 100644
index 00000000..eefd55d1
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/aircraft.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/bomb.svg b/frontend/react/public/images/units/map/normal/red/bomb.svg
new file mode 100644
index 00000000..d13bad6a
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/bomb.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/death.svg b/frontend/react/public/images/units/map/normal/red/death.svg
new file mode 100644
index 00000000..fb680f06
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/death.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/groundunit-aaa.svg b/frontend/react/public/images/units/map/normal/red/groundunit-aaa.svg
new file mode 100644
index 00000000..beeb5fa6
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/groundunit-aaa.svg
@@ -0,0 +1,17 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/groundunit-apc.svg b/frontend/react/public/images/units/map/normal/red/groundunit-apc.svg
new file mode 100644
index 00000000..9f227819
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/groundunit-apc.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/groundunit-artillery.svg b/frontend/react/public/images/units/map/normal/red/groundunit-artillery.svg
new file mode 100644
index 00000000..78a5be80
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/groundunit-artillery.svg
@@ -0,0 +1,3 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/groundunit-ewr.svg b/frontend/react/public/images/units/map/normal/red/groundunit-ewr.svg
new file mode 100644
index 00000000..fa2775fc
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/groundunit-ewr.svg
@@ -0,0 +1,60 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/groundunit-infantry.svg b/frontend/react/public/images/units/map/normal/red/groundunit-infantry.svg
new file mode 100644
index 00000000..92268c40
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/groundunit-infantry.svg
@@ -0,0 +1,10 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/groundunit-sam-launcher.svg b/frontend/react/public/images/units/map/normal/red/groundunit-sam-launcher.svg
new file mode 100644
index 00000000..ebe2ff8f
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/groundunit-sam-launcher.svg
@@ -0,0 +1,51 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/groundunit-sam-radar.svg b/frontend/react/public/images/units/map/normal/red/groundunit-sam-radar.svg
new file mode 100644
index 00000000..18c3f6a5
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/groundunit-sam-radar.svg
@@ -0,0 +1,50 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/groundunit-sam.svg b/frontend/react/public/images/units/map/normal/red/groundunit-sam.svg
new file mode 100644
index 00000000..1f0e68f1
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/groundunit-sam.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/groundunit-tactical.svg b/frontend/react/public/images/units/map/normal/red/groundunit-tactical.svg
new file mode 100644
index 00000000..40bdae5f
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/groundunit-tactical.svg
@@ -0,0 +1,3 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/groundunit-tank.svg b/frontend/react/public/images/units/map/normal/red/groundunit-tank.svg
new file mode 100644
index 00000000..272113e3
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/groundunit-tank.svg
@@ -0,0 +1,15 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/groundunit-truck.svg b/frontend/react/public/images/units/map/normal/red/groundunit-truck.svg
new file mode 100644
index 00000000..aa581462
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/groundunit-truck.svg
@@ -0,0 +1,10 @@
+
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/groundunit.svg b/frontend/react/public/images/units/map/normal/red/groundunit.svg
new file mode 100644
index 00000000..8d74c672
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/groundunit.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/helicopter.svg b/frontend/react/public/images/units/map/normal/red/helicopter.svg
new file mode 100644
index 00000000..cb79e8cc
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/helicopter.svg
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/missile.svg b/frontend/react/public/images/units/map/normal/red/missile.svg
new file mode 100644
index 00000000..0593f71d
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/missile.svg
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/navyunit.svg b/frontend/react/public/images/units/map/normal/red/navyunit.svg
new file mode 100644
index 00000000..2584f42b
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/navyunit.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/frontend/react/public/images/units/map/normal/red/static.svg b/frontend/react/public/images/units/map/normal/red/static.svg
new file mode 100644
index 00000000..a5511a12
--- /dev/null
+++ b/frontend/react/public/images/units/map/normal/red/static.svg
@@ -0,0 +1,11 @@
+
\ No newline at end of file
diff --git a/frontend/react/src/map/map.ts b/frontend/react/src/map/map.ts
index 1e9b56b0..130fb92c 100644
--- a/frontend/react/src/map/map.ts
+++ b/frontend/react/src/map/map.ts
@@ -226,6 +226,7 @@ export class Map extends L.Map {
});
MapOptionsChangedEvent.on((options: MapOptions) => {
+ this.getContainer().toggleAttribute("data-awacs-mode", options.AWACSMode);
this.getContainer().toggleAttribute("data-hide-labels", !options.showUnitLabels);
this.getContainer().toggleAttribute("data-hide-bullseyes", !options.showUnitBullseyes);
this.getContainer().toggleAttribute("data-hide-BRAA", !options.showUnitBRAA);
diff --git a/frontend/react/src/map/markers/stylesheets/airbase.css b/frontend/react/src/map/markers/stylesheets/airbase.css
index 8096e797..6b7a6f7d 100644
--- a/frontend/react/src/map/markers/stylesheets/airbase.css
+++ b/frontend/react/src/map/markers/stylesheets/airbase.css
@@ -28,3 +28,7 @@
.airbase-icon[data-selected="true"] {
filter: drop-shadow(0px 2px 0px white) drop-shadow(0px -2px 0px white) drop-shadow(2px 0px 0px white) drop-shadow(-2px 0px 0px white);
}
+
+[data-awacs-mode] .airbase-icon svg * {
+ fill: transparent !important;
+}
diff --git a/frontend/react/src/map/markers/stylesheets/bullseye.css b/frontend/react/src/map/markers/stylesheets/bullseye.css
index 37b458e3..f26302ac 100644
--- a/frontend/react/src/map/markers/stylesheets/bullseye.css
+++ b/frontend/react/src/map/markers/stylesheets/bullseye.css
@@ -6,19 +6,21 @@
position: relative;
width: 100%;
height: 100%;
+ fill: white;
}
.bullseye-icon[data-coalition="red"] svg * {
stroke: var(--unit-background-red);
- fill: var(--unit-background-red);
}
.bullseye-icon[data-coalition="blue"] svg * {
stroke: var(--unit-background-blue);
- fill: var(--unit-background-blue);
}
.bullseye-icon[data-coalition="neutral"] svg * {
stroke: var(--unit-background-neutral);
- fill: var(--unit-background-neutral);
+}
+
+[data-awacs-mode] .bullseye-icon svg * {
+ fill: transparent !important;
}
diff --git a/frontend/react/src/map/markers/stylesheets/units.css b/frontend/react/src/map/markers/stylesheets/units.css
index 94a65ba4..bb27d037 100644
--- a/frontend/react/src/map/markers/stylesheets/units.css
+++ b/frontend/react/src/map/markers/stylesheets/units.css
@@ -9,6 +9,14 @@
width: 100%;
}
+[data-awacs-mode] .unit-short-label {
+ color: transparent !important;
+}
+
+[data-awacs-mode] [data-object|="unit"] svg {
+ scale: 0.5;
+}
+
.unit-vvi {
align-self: center;
background: var(--secondary-gunmetal-grey);
@@ -21,6 +29,22 @@
width: var(--unit-vvi-width);
}
+[data-awacs-mode] .unit-vvi {
+ width: var(--unit-vvi-width-awacs);
+}
+
+[data-awacs-mode] [data-coalition="blue"] .unit-vvi {
+ background: var(--unit-background-blue) !important;
+}
+
+[data-awacs-mode] [data-coalition="red"] .unit-vvi {
+ background: var(--unit-background-red) !important;
+}
+
+[data-awacs-mode] [data-coalition="neutral"] .unit-vvi {
+ background: var(--unit-background-neutral) !important;
+}
+
.unit-hotgroup {
align-content: center;
background-color: var(--background-steel);
@@ -65,6 +89,21 @@
z-index: -1;
}
+[data-awacs-mode] [data-is-selected] .unit-icon::before {
+ display: none;
+}
+
+[data-awacs-mode] [data-is-selected] {
+ animation: blinker 0.5s linear infinite;
+}
+
+@keyframes blinker {
+ 50% {
+ opacity: 30%;
+ }
+}
+
+
/*** Basic colours ***/
[data-coalition="blue"] .unit-icon svg > *:first-child {
fill: var(--unit-background-blue);
@@ -86,6 +125,21 @@
stroke: white;
}
+[data-awacs-mode] [data-coalition="blue"] .unit-icon svg {
+ fill: transparent !important;
+ stroke: var(--unit-background-blue) !important;
+}
+
+[data-awacs-mode] [data-coalition="red"] .unit-icon svg {
+ fill: transparent !important;
+ stroke: var(--unit-background-red) !important;
+}
+
+[data-awacs-mode] [data-coalition="neutral"] .unit-icon svg {
+ fill: transparent !important;
+ stroke: var(--unit-background-neutral) !important;
+}
+
/*** Cursors ***/
[data-is-dead],
[data-object|="unit-missile"],
@@ -173,10 +227,26 @@
1px -1px 0 #000,
-1px 1px 0 #000,
1px 1px 0 #000;
- right: 100%;
+ right: 120%;
width: fit-content;
}
+[data-awacs-mode] [data-object|="unit"] .unit-summary {
+ top: -40px;
+}
+
+[data-awacs-mode] .unit-summary::before {
+ content: " ";
+ background-color: white;
+ width: 40px;
+ height: 1px;
+ transform: rotate(45deg);
+ left: 40px;
+ top: 50px;
+ position: relative;
+ z-index: -1;
+}
+
[data-hide-labels] [data-object|="unit"] .unit-summary {
display: none;
}
@@ -414,10 +484,22 @@
position: absolute;
row-gap: 1px;
- left: 100%;
+ right: 120%;
+ top: -7px;
width: fit-content;
}
+[data-object|="unit"] .unit-bullseyes {
+ display: flex;
+ line-height: 12px;
+ flex-wrap: wrap;
+ row-gap: 2px;
+}
+
+[data-hide-labels] [data-object|="unit"] .unit-tactical {
+ display: none;
+}
+
[data-hide-bullseyes] [data-object|="unit"] .unit-bullseyes {
display: none;
}
@@ -426,20 +508,12 @@
display: none;
}
-[data-object|="unit"] .unit-blue-bullseye {
+[data-object|="unit"] .unit-bullseyes {
text-shadow:
- -1px -1px 0 #00F,
- 1px -1px 0 #00F,
- -1px 1px 0 #00F,
- 1px 1px 0 #00F;
-}
-
-[data-object|="unit"] .unit-red-bullseye {
- text-shadow:
- -1px -1px 0 #F00,
- 1px -1px 0 #F00,
- -1px 1px 0 #F00,
- 1px 1px 0 #F00;
+ -1px -1px 0 #000,
+ 1px -1px 0 #000,
+ -1px 1px 0 #000,
+ 1px 1px 0 #000;
}
[data-object|="unit"] .unit-braa {
@@ -449,3 +523,14 @@
-1px 1px 0 #000,
1px 1px 0 #000;
}
+
+[data-awacs-mode] [data-object|="unit"] .unit-selected-spotlight,
+[data-awacs-mode] [data-object|="unit"] .unit-short-label,
+[data-awacs-mode] [data-object|="unit"] .unit-state,
+[data-awacs-mode] [data-object|="unit"] .unit-fuel,
+[data-awacs-mode] [data-object|="unit"] .unit-health,
+[data-awacs-mode] [data-object|="unit"] .unit-ammo,
+[data-awacs-mode] [data-object|="unit"]:hover .unit-fuel,
+[data-awacs-mode] [data-object|="unit"]:hover .unit-ammo {
+ display: none;
+}
diff --git a/frontend/react/src/map/stylesheets/map.css b/frontend/react/src/map/stylesheets/map.css
index d6bf3be6..a843ac24 100644
--- a/frontend/react/src/map/stylesheets/map.css
+++ b/frontend/react/src/map/stylesheets/map.css
@@ -91,6 +91,7 @@
--unit-fuel-x: 0px;
--unit-fuel-y: 22px;
--unit-vvi-width: 4px;
+ --unit-vvi-width-awacs: 2px;
}
* {
diff --git a/frontend/react/src/types/types.ts b/frontend/react/src/types/types.ts
index 45eb78ed..cbf03f81 100644
--- a/frontend/react/src/types/types.ts
+++ b/frontend/react/src/types/types.ts
@@ -26,9 +26,9 @@ export type MapOptions = {
cameraPluginEnabled: boolean;
cameraPluginMode: string;
tabletMode: boolean;
- showUnitBullseyes: false;
- showUnitBRAA: false;
- AWACSMode: false;
+ showUnitBullseyes: boolean;
+ showUnitBRAA: boolean;
+ AWACSMode: boolean;
};
export type MapHiddenTypes = {
diff --git a/frontend/react/src/ui/panels/awacsmenu.tsx b/frontend/react/src/ui/panels/awacsmenu.tsx
index 8d9fcbd4..f820d1d6 100644
--- a/frontend/react/src/ui/panels/awacsmenu.tsx
+++ b/frontend/react/src/ui/panels/awacsmenu.tsx
@@ -69,6 +69,15 @@ export function AWACSMenu(props: { open: boolean; onClose: () => void; children?
/>
+
+
{
+ getApp().getMap().setOption("AWACSMode", !mapOptions.AWACSMode);
+ }}
+ toggled={mapOptions.AWACSMode}
+ />{" "}
+ Enable AWACS map mode
+
{
diff --git a/frontend/react/src/ui/panels/sidebar.tsx b/frontend/react/src/ui/panels/sidebar.tsx
index 17f63cdf..0e87c1a0 100644
--- a/frontend/react/src/ui/panels/sidebar.tsx
+++ b/frontend/react/src/ui/panels/sidebar.tsx
@@ -72,7 +72,7 @@ export function SideBar() {
checked={appState === OlympusState.JTAC}
icon={faJ}
tooltip="Hide/show JTAC menu"
- >
+ >{*/}
{
getApp().setState(appState !== OlympusState.AWACS ? OlympusState.AWACS : OlympusState.IDLE);
@@ -80,7 +80,7 @@ export function SideBar() {
checked={appState === OlympusState.AWACS}
icon={faA}
tooltip="Hide/show AWACS menu"
- >{*/}
+ >
{
getApp().setState(appState !== OlympusState.GAME_MASTER ? OlympusState.GAME_MASTER : OlympusState.IDLE);
diff --git a/frontend/react/src/unit/unit.ts b/frontend/react/src/unit/unit.ts
index 4e4bf28b..3def0663 100644
--- a/frontend/react/src/unit/unit.ts
+++ b/frontend/react/src/unit/unit.ts
@@ -15,6 +15,7 @@ import {
coalitionToEnum,
nmToM,
zeroAppend,
+ computeBearingRangeString,
} from "../other/utils";
import { CustomMarker } from "../map/markers/custommarker";
import { SVGInjector } from "@tanem/svg-injector";
@@ -368,7 +369,7 @@ export abstract class Unit extends CustomMarker {
/* Update the marker when the options change */
MapOptionsChangedEvent.on(() => {
- this.#updateMarker();
+ this.#redrawMarker();
/* Circles don't like to be updated when the map is zooming */
if (!getApp().getMap().isZooming()) this.#drawRanges();
@@ -901,7 +902,7 @@ export abstract class Unit extends CustomMarker {
if (this.belongsToCommandedCoalition() || this.getDetectionMethods().some((value) => [VISUAL, OPTIC].includes(value)))
marker = this.getBlueprint()?.markerFile ?? this.getDefaultMarker();
else marker = "aircraft";
- img.src = `/vite/images/units/${marker}.svg`;
+ img.src = `/vite/images/units/map/${getApp().getMap().getOptions().AWACSMode? 'awacs': 'normal'}/${this.getCoalition()}/${marker}.svg`;
img.onload = () => SVGInjector(img);
unitIcon.appendChild(img);
@@ -988,7 +989,7 @@ export abstract class Unit extends CustomMarker {
BRAA.classList.add("unit-braa");
tactical.appendChild(BRAA);
}
- el.appendChild(tactical)
+ el.appendChild(tactical);
this.getElement()?.appendChild(el);
}
@@ -1514,18 +1515,20 @@ export abstract class Unit extends CustomMarker {
/* Set bullseyes positions */
const bullseyes = getApp().getMissionManager().getBullseyes();
- const blueBullseye = `${bearing(bullseyes[2].getLatLng().lat, bullseyes[2].getLatLng().lng, this.getLatLng().lat, this.getLatLng().lng).toFixed()}/${(bullseyes[2].getLatLng().distanceTo(this.getLatLng()) / 1852).toFixed(0)}`
- const redBullseye = `${bearing(bullseyes[1].getLatLng().lat, bullseyes[1].getLatLng().lng, this.getLatLng().lat, this.getLatLng().lng).toFixed()}/${(bullseyes[1].getLatLng().distanceTo(this.getLatLng()) / 1852).toFixed(0)}`
- if (element.querySelector(".unit-blue-bullseye")) (element.querySelector(".unit-blue-bullseye")).innerText = `${blueBullseye}`;
- if (element.querySelector(".unit-red-bullseye")) (element.querySelector(".unit-red-bullseye")).innerText = `${redBullseye}`;
+ if (Object.keys(bullseyes).length > 0) {
+ computeBearingRangeString
+ const blueBullseye = `${computeBearingRangeString(bullseyes[2].getLatLng(), this.getPosition())}`;
+ const redBullseye = `${computeBearingRangeString(bullseyes[1].getLatLng(), this.getPosition())}`;
+ if (element.querySelector(".unit-blue-bullseye")) (element.querySelector(".unit-blue-bullseye")).innerText = `${blueBullseye}`;
+ if (element.querySelector(".unit-red-bullseye")) (element.querySelector(".unit-red-bullseye")).innerText = `${redBullseye}`;
+ }
/* Set BRAA */
const reference = getApp().getUnitsManager().getAWACSReference();
if (reference && reference !== this) {
- const BRAA = `${bearing(reference.getLatLng().lat, reference.getLatLng().lng, this.getLatLng().lat, this.getLatLng().lng).toFixed()}/${(reference.getLatLng().distanceTo(this.getLatLng()) / 1852).toFixed(0)}`
+ const BRAA = `${computeBearingRangeString(reference.getPosition(), this.getPosition())}`;
if (element.querySelector(".unit-braa")) (element.querySelector(".unit-braa")).innerText = `${BRAA}`;
- }
- else if (element.querySelector(".unit-braa")) (element.querySelector(".unit-braa")).innerText = ``;
+ } else if (element.querySelector(".unit-braa")) (element.querySelector(".unit-braa")).innerText = ``;
}
/* Set vertical offset for altitude stacking */
@@ -1821,7 +1824,7 @@ export abstract class AirUnit extends Unit {
/* Context actions that require a target unit */
contextActionSet.addContextAction(this, ContextActions.ATTACK);
contextActionSet.addContextAction(this, ContextActions.FOLLOW);
- contextActionSet.addContextAction(this, ContextActions.SET_AWACS_REFERENCE)
+ contextActionSet.addContextAction(this, ContextActions.SET_AWACS_REFERENCE);
if (this.canTargetPoint()) {
/* Context actions that require a target position */