diff --git a/client/TODO.txt b/client/TODO.txt index 5b8b49aa..249a6bba 100644 --- a/client/TODO.txt +++ b/client/TODO.txt @@ -4,4 +4,6 @@ scenario dropdown explosion wrong name for ground units improve map zIndex -human symbol if user \ No newline at end of file +human symbol if user + +IF YOU DISCONNECT IT FLAGS YOU DEAD AND YOU DISAPPEAR! \ No newline at end of file diff --git a/client/public/images/units/a-10.png b/client/public/images/units/a-10.png new file mode 100644 index 00000000..643dd5aa Binary files /dev/null and b/client/public/images/units/a-10.png differ diff --git a/client/public/images/units/a-20.png b/client/public/images/units/a-20.png new file mode 100644 index 00000000..4981c90b Binary files /dev/null and b/client/public/images/units/a-20.png differ diff --git a/client/public/images/units/a-29.png b/client/public/images/units/a-29.png new file mode 100644 index 00000000..91ad25f0 Binary files /dev/null and b/client/public/images/units/a-29.png differ diff --git a/client/public/images/units/a-4.png b/client/public/images/units/a-4.png new file mode 100644 index 00000000..499cc11e Binary files /dev/null and b/client/public/images/units/a-4.png differ diff --git a/client/public/images/units/a-400.png b/client/public/images/units/a-400.png new file mode 100644 index 00000000..e76ab232 Binary files /dev/null and b/client/public/images/units/a-400.png differ diff --git a/client/public/images/units/a-50.png b/client/public/images/units/a-50.png new file mode 100644 index 00000000..f08e39a0 Binary files /dev/null and b/client/public/images/units/a-50.png differ diff --git a/client/public/images/units/a-6.png b/client/public/images/units/a-6.png new file mode 100644 index 00000000..d5007ccd Binary files /dev/null and b/client/public/images/units/a-6.png differ diff --git a/client/public/images/units/ah-1.png b/client/public/images/units/ah-1.png new file mode 100644 index 00000000..5da53ddd Binary files /dev/null and b/client/public/images/units/ah-1.png differ diff --git a/client/public/images/units/ah-64.png b/client/public/images/units/ah-64.png new file mode 100644 index 00000000..fa1c98b5 Binary files /dev/null and b/client/public/images/units/ah-64.png differ diff --git a/client/public/images/units/aircraft.png b/client/public/images/units/airUnit.png similarity index 100% rename from client/public/images/units/aircraft.png rename to client/public/images/units/airUnit.png diff --git a/client/public/images/units/airliner2engine.png b/client/public/images/units/airliner2engine.png new file mode 100644 index 00000000..3c8bd4de Binary files /dev/null and b/client/public/images/units/airliner2engine.png differ diff --git a/client/public/images/units/an-26.png b/client/public/images/units/an-26.png new file mode 100644 index 00000000..8b4bd491 Binary files /dev/null and b/client/public/images/units/an-26.png differ diff --git a/client/public/images/units/av8bna.png b/client/public/images/units/av8bna.png new file mode 100644 index 00000000..0bb13672 Binary files /dev/null and b/client/public/images/units/av8bna.png differ diff --git a/client/public/images/units/b-1.png b/client/public/images/units/b-1.png new file mode 100644 index 00000000..05329ddf Binary files /dev/null and b/client/public/images/units/b-1.png differ diff --git a/client/public/images/units/b-17.png b/client/public/images/units/b-17.png new file mode 100644 index 00000000..400dfbc5 Binary files /dev/null and b/client/public/images/units/b-17.png differ diff --git a/client/public/images/units/b-2.png b/client/public/images/units/b-2.png new file mode 100644 index 00000000..3b85f3af Binary files /dev/null and b/client/public/images/units/b-2.png differ diff --git a/client/public/images/units/b-52.png b/client/public/images/units/b-52.png new file mode 100644 index 00000000..34d8840b Binary files /dev/null and b/client/public/images/units/b-52.png differ diff --git a/client/public/images/units/b707.png b/client/public/images/units/b707.png new file mode 100644 index 00000000..3771fc63 Binary files /dev/null and b/client/public/images/units/b707.png differ diff --git a/client/public/images/units/bf109.png b/client/public/images/units/bf109.png new file mode 100644 index 00000000..40da1dfd Binary files /dev/null and b/client/public/images/units/bf109.png differ diff --git a/client/public/images/units/c-101.png b/client/public/images/units/c-101.png new file mode 100644 index 00000000..8b5468b8 Binary files /dev/null and b/client/public/images/units/c-101.png differ diff --git a/client/public/images/units/c-130.png b/client/public/images/units/c-130.png new file mode 100644 index 00000000..f69cb0c2 Binary files /dev/null and b/client/public/images/units/c-130.png differ diff --git a/client/public/images/units/c-17.png b/client/public/images/units/c-17.png new file mode 100644 index 00000000..c2b8855c Binary files /dev/null and b/client/public/images/units/c-17.png differ diff --git a/client/public/images/units/c-5.png b/client/public/images/units/c-5.png new file mode 100644 index 00000000..e2823289 Binary files /dev/null and b/client/public/images/units/c-5.png differ diff --git a/client/public/images/units/ch-47.png b/client/public/images/units/ch-47.png new file mode 100644 index 00000000..16f178ca Binary files /dev/null and b/client/public/images/units/ch-47.png differ diff --git a/client/public/images/units/ch-53.png b/client/public/images/units/ch-53.png new file mode 100644 index 00000000..e67f108c Binary files /dev/null and b/client/public/images/units/ch-53.png differ diff --git a/client/public/images/units/christeneagleii.png b/client/public/images/units/christeneagleii.png new file mode 100644 index 00000000..b1874dd2 Binary files /dev/null and b/client/public/images/units/christeneagleii.png differ diff --git a/client/public/images/units/e-2.png b/client/public/images/units/e-2.png new file mode 100644 index 00000000..fc178272 Binary files /dev/null and b/client/public/images/units/e-2.png differ diff --git a/client/public/images/units/e-3.png b/client/public/images/units/e-3.png new file mode 100644 index 00000000..bcce5b6c Binary files /dev/null and b/client/public/images/units/e-3.png differ diff --git a/client/public/images/units/eurofighter.png b/client/public/images/units/eurofighter.png new file mode 100644 index 00000000..cf39e7f8 Binary files /dev/null and b/client/public/images/units/eurofighter.png differ diff --git a/client/public/images/units/f-111.png b/client/public/images/units/f-111.png new file mode 100644 index 00000000..ae06b171 Binary files /dev/null and b/client/public/images/units/f-111.png differ diff --git a/client/public/images/units/f-117.png b/client/public/images/units/f-117.png new file mode 100644 index 00000000..2f099b28 Binary files /dev/null and b/client/public/images/units/f-117.png differ diff --git a/client/public/images/units/f-14.png b/client/public/images/units/f-14.png new file mode 100644 index 00000000..662def75 Binary files /dev/null and b/client/public/images/units/f-14.png differ diff --git a/client/public/images/units/f-15.png b/client/public/images/units/f-15.png new file mode 100644 index 00000000..a3b56c6c Binary files /dev/null and b/client/public/images/units/f-15.png differ diff --git a/client/public/images/units/f-16.png b/client/public/images/units/f-16.png new file mode 100644 index 00000000..3adbba10 Binary files /dev/null and b/client/public/images/units/f-16.png differ diff --git a/client/public/images/units/f-18.png b/client/public/images/units/f-18.png new file mode 100644 index 00000000..b1f28359 Binary files /dev/null and b/client/public/images/units/f-18.png differ diff --git a/client/public/images/units/f-22.png b/client/public/images/units/f-22.png new file mode 100644 index 00000000..af909ad4 Binary files /dev/null and b/client/public/images/units/f-22.png differ diff --git a/client/public/images/units/f-35.png b/client/public/images/units/f-35.png new file mode 100644 index 00000000..6c9d0909 Binary files /dev/null and b/client/public/images/units/f-35.png differ diff --git a/client/public/images/units/f-4.png b/client/public/images/units/f-4.png new file mode 100644 index 00000000..21cfc750 Binary files /dev/null and b/client/public/images/units/f-4.png differ diff --git a/client/public/images/units/f-5.png b/client/public/images/units/f-5.png new file mode 100644 index 00000000..ef276090 Binary files /dev/null and b/client/public/images/units/f-5.png differ diff --git a/client/public/images/units/f-86.png b/client/public/images/units/f-86.png new file mode 100644 index 00000000..198a968a Binary files /dev/null and b/client/public/images/units/f-86.png differ diff --git a/client/public/images/units/fw190.png b/client/public/images/units/fw190.png new file mode 100644 index 00000000..0020b176 Binary files /dev/null and b/client/public/images/units/fw190.png differ diff --git a/client/public/images/units/general1.png b/client/public/images/units/general1.png new file mode 100644 index 00000000..bf8bf272 Binary files /dev/null and b/client/public/images/units/general1.png differ diff --git a/client/public/images/units/gripen.png b/client/public/images/units/gripen.png new file mode 100644 index 00000000..bd58818e Binary files /dev/null and b/client/public/images/units/gripen.png differ diff --git a/client/public/images/units/ground.png b/client/public/images/units/groundUnit.png similarity index 100% rename from client/public/images/units/ground.png rename to client/public/images/units/groundUnit.png diff --git a/client/public/images/units/h-6.png b/client/public/images/units/h-6.png new file mode 100644 index 00000000..d73b5e3a Binary files /dev/null and b/client/public/images/units/h-6.png differ diff --git a/client/public/images/units/hawk.png b/client/public/images/units/hawk.png new file mode 100644 index 00000000..c1fdd943 Binary files /dev/null and b/client/public/images/units/hawk.png differ diff --git a/client/public/images/units/helicopter1.png b/client/public/images/units/helicopter1.png new file mode 100644 index 00000000..316d3ad9 Binary files /dev/null and b/client/public/images/units/helicopter1.png differ diff --git a/client/public/images/units/i-16.png b/client/public/images/units/i-16.png new file mode 100644 index 00000000..53335809 Binary files /dev/null and b/client/public/images/units/i-16.png differ diff --git a/client/public/images/units/il-76.png b/client/public/images/units/il-76.png new file mode 100644 index 00000000..bcb145a2 Binary files /dev/null and b/client/public/images/units/il-76.png differ diff --git a/client/public/images/units/j-10.png b/client/public/images/units/j-10.png new file mode 100644 index 00000000..1521dbb7 Binary files /dev/null and b/client/public/images/units/j-10.png differ diff --git a/client/public/images/units/j-20.png b/client/public/images/units/j-20.png new file mode 100644 index 00000000..df0b9498 Binary files /dev/null and b/client/public/images/units/j-20.png differ diff --git a/client/public/images/units/j-7.png b/client/public/images/units/j-7.png new file mode 100644 index 00000000..bbf8040a Binary files /dev/null and b/client/public/images/units/j-7.png differ diff --git a/client/public/images/units/jf-17.png b/client/public/images/units/jf-17.png new file mode 100644 index 00000000..3e2e6fab Binary files /dev/null and b/client/public/images/units/jf-17.png differ diff --git a/client/public/images/units/ju-88.png b/client/public/images/units/ju-88.png new file mode 100644 index 00000000..287ca2ce Binary files /dev/null and b/client/public/images/units/ju-88.png differ diff --git a/client/public/images/units/ka-27.png b/client/public/images/units/ka-27.png new file mode 100644 index 00000000..d0ad1c12 Binary files /dev/null and b/client/public/images/units/ka-27.png differ diff --git a/client/public/images/units/ka-50.png b/client/public/images/units/ka-50.png new file mode 100644 index 00000000..a75983e9 Binary files /dev/null and b/client/public/images/units/ka-50.png differ diff --git a/client/public/images/units/kc-10.png b/client/public/images/units/kc-10.png new file mode 100644 index 00000000..7d9e4db9 Binary files /dev/null and b/client/public/images/units/kc-10.png differ diff --git a/client/public/images/units/kc-135.png b/client/public/images/units/kc-135.png new file mode 100644 index 00000000..bbf5ff5b Binary files /dev/null and b/client/public/images/units/kc-135.png differ diff --git a/client/public/images/units/l-159.png b/client/public/images/units/l-159.png new file mode 100644 index 00000000..ba6461f9 Binary files /dev/null and b/client/public/images/units/l-159.png differ diff --git a/client/public/images/units/l-39.png b/client/public/images/units/l-39.png new file mode 100644 index 00000000..c2ef1d07 Binary files /dev/null and b/client/public/images/units/l-39.png differ diff --git a/client/public/images/units/m2000.png b/client/public/images/units/m2000.png new file mode 100644 index 00000000..8a9ffd48 Binary files /dev/null and b/client/public/images/units/m2000.png differ diff --git a/client/public/images/units/mi-24.png b/client/public/images/units/mi-24.png new file mode 100644 index 00000000..9a148550 Binary files /dev/null and b/client/public/images/units/mi-24.png differ diff --git a/client/public/images/units/mi-26.png b/client/public/images/units/mi-26.png new file mode 100644 index 00000000..b59c9b8d Binary files /dev/null and b/client/public/images/units/mi-26.png differ diff --git a/client/public/images/units/mi-28.png b/client/public/images/units/mi-28.png new file mode 100644 index 00000000..9e5db2ca Binary files /dev/null and b/client/public/images/units/mi-28.png differ diff --git a/client/public/images/units/mi-8.png b/client/public/images/units/mi-8.png new file mode 100644 index 00000000..f42706e7 Binary files /dev/null and b/client/public/images/units/mi-8.png differ diff --git a/client/public/images/units/mig-15.png b/client/public/images/units/mig-15.png new file mode 100644 index 00000000..b97ef8c9 Binary files /dev/null and b/client/public/images/units/mig-15.png differ diff --git a/client/public/images/units/mig-19.png b/client/public/images/units/mig-19.png new file mode 100644 index 00000000..046e6a0f Binary files /dev/null and b/client/public/images/units/mig-19.png differ diff --git a/client/public/images/units/mig-21.png b/client/public/images/units/mig-21.png new file mode 100644 index 00000000..12056218 Binary files /dev/null and b/client/public/images/units/mig-21.png differ diff --git a/client/public/images/units/mig-23.png b/client/public/images/units/mig-23.png new file mode 100644 index 00000000..6fabd9c3 Binary files /dev/null and b/client/public/images/units/mig-23.png differ diff --git a/client/public/images/units/mig-25.png b/client/public/images/units/mig-25.png new file mode 100644 index 00000000..cf8c46ca Binary files /dev/null and b/client/public/images/units/mig-25.png differ diff --git a/client/public/images/units/mig-29.png b/client/public/images/units/mig-29.png new file mode 100644 index 00000000..634cbcc7 Binary files /dev/null and b/client/public/images/units/mig-29.png differ diff --git a/client/public/images/units/mosquito.png b/client/public/images/units/mosquito.png new file mode 100644 index 00000000..5d1ed6d0 Binary files /dev/null and b/client/public/images/units/mosquito.png differ diff --git a/client/public/images/units/multiengine.png b/client/public/images/units/multiengine.png new file mode 100644 index 00000000..34eab23a Binary files /dev/null and b/client/public/images/units/multiengine.png differ diff --git a/client/public/images/units/navyUnit.png b/client/public/images/units/navyUnit.png new file mode 100644 index 00000000..8c6ef4ad Binary files /dev/null and b/client/public/images/units/navyUnit.png differ diff --git a/client/public/images/units/oh-58.png b/client/public/images/units/oh-58.png new file mode 100644 index 00000000..50af43c7 Binary files /dev/null and b/client/public/images/units/oh-58.png differ diff --git a/client/public/images/units/p-47.png b/client/public/images/units/p-47.png new file mode 100644 index 00000000..1b5ae7d4 Binary files /dev/null and b/client/public/images/units/p-47.png differ diff --git a/client/public/images/units/p-51.png b/client/public/images/units/p-51.png new file mode 100644 index 00000000..4c7f4986 Binary files /dev/null and b/client/public/images/units/p-51.png differ diff --git a/client/public/images/units/rafale.png b/client/public/images/units/rafale.png new file mode 100644 index 00000000..367190f4 Binary files /dev/null and b/client/public/images/units/rafale.png differ diff --git a/client/public/images/units/rq-1.png b/client/public/images/units/rq-1.png new file mode 100644 index 00000000..6f45ed10 Binary files /dev/null and b/client/public/images/units/rq-1.png differ diff --git a/client/public/images/units/rq-4.png b/client/public/images/units/rq-4.png new file mode 100644 index 00000000..210862ab Binary files /dev/null and b/client/public/images/units/rq-4.png differ diff --git a/client/public/images/units/s-3.png b/client/public/images/units/s-3.png new file mode 100644 index 00000000..7a6feb8d Binary files /dev/null and b/client/public/images/units/s-3.png differ diff --git a/client/public/images/units/sa-342.png b/client/public/images/units/sa-342.png new file mode 100644 index 00000000..f258c184 Binary files /dev/null and b/client/public/images/units/sa-342.png differ diff --git a/client/public/images/units/spitfire.png b/client/public/images/units/spitfire.png new file mode 100644 index 00000000..70e9e082 Binary files /dev/null and b/client/public/images/units/spitfire.png differ diff --git a/client/public/images/units/su-17.png b/client/public/images/units/su-17.png new file mode 100644 index 00000000..2c27b28b Binary files /dev/null and b/client/public/images/units/su-17.png differ diff --git a/client/public/images/units/su-24.png b/client/public/images/units/su-24.png new file mode 100644 index 00000000..134650ec Binary files /dev/null and b/client/public/images/units/su-24.png differ diff --git a/client/public/images/units/su-25.png b/client/public/images/units/su-25.png new file mode 100644 index 00000000..a45fa129 Binary files /dev/null and b/client/public/images/units/su-25.png differ diff --git a/client/public/images/units/su-27.png b/client/public/images/units/su-27.png new file mode 100644 index 00000000..81a2ede8 Binary files /dev/null and b/client/public/images/units/su-27.png differ diff --git a/client/public/images/units/su-34.png b/client/public/images/units/su-34.png new file mode 100644 index 00000000..44bdc779 Binary files /dev/null and b/client/public/images/units/su-34.png differ diff --git a/client/public/images/units/su-57.png b/client/public/images/units/su-57.png new file mode 100644 index 00000000..02dc88a0 Binary files /dev/null and b/client/public/images/units/su-57.png differ diff --git a/client/public/images/units/tornado.png b/client/public/images/units/tornado.png new file mode 100644 index 00000000..54ded406 Binary files /dev/null and b/client/public/images/units/tornado.png differ diff --git a/client/public/images/units/tu-160.png b/client/public/images/units/tu-160.png new file mode 100644 index 00000000..d0292504 Binary files /dev/null and b/client/public/images/units/tu-160.png differ diff --git a/client/public/images/units/tu-22.png b/client/public/images/units/tu-22.png new file mode 100644 index 00000000..61e15edd Binary files /dev/null and b/client/public/images/units/tu-22.png differ diff --git a/client/public/images/units/tu-95.png b/client/public/images/units/tu-95.png new file mode 100644 index 00000000..7ce802b4 Binary files /dev/null and b/client/public/images/units/tu-95.png differ diff --git a/client/public/images/units/u-28.png b/client/public/images/units/u-28.png new file mode 100644 index 00000000..e31aedb7 Binary files /dev/null and b/client/public/images/units/u-28.png differ diff --git a/client/public/images/units/uh-1.png b/client/public/images/units/uh-1.png new file mode 100644 index 00000000..163cac89 Binary files /dev/null and b/client/public/images/units/uh-1.png differ diff --git a/client/public/images/units/uh-60.png b/client/public/images/units/uh-60.png new file mode 100644 index 00000000..7d436c8a Binary files /dev/null and b/client/public/images/units/uh-60.png differ diff --git a/client/public/images/units/unit.png b/client/public/images/units/unit.png new file mode 100644 index 00000000..8c6ef4ad Binary files /dev/null and b/client/public/images/units/unit.png differ diff --git a/client/public/images/units/viggen.png b/client/public/images/units/viggen.png new file mode 100644 index 00000000..47708c3f Binary files /dev/null and b/client/public/images/units/viggen.png differ diff --git a/client/public/images/units/yak-40.png b/client/public/images/units/yak-40.png new file mode 100644 index 00000000..b562fe59 Binary files /dev/null and b/client/public/images/units/yak-40.png differ diff --git a/client/public/images/units/yak-52.png b/client/public/images/units/yak-52.png new file mode 100644 index 00000000..5728f6e8 Binary files /dev/null and b/client/public/images/units/yak-52.png differ diff --git a/client/public/stylesheets/airbasemarker.css b/client/public/stylesheets/airbasemarker.css index e102e3aa..eedff840 100644 --- a/client/public/stylesheets/airbasemarker.css +++ b/client/public/stylesheets/airbasemarker.css @@ -1,4 +1,4 @@ -.airbasemarker-container { +.airbase-marker-container { height: 60px; width: 60px; left: -30px; @@ -7,7 +7,7 @@ position: absolute; } -.airbasemarker-icon { +.airbase-marker-image { height: 60px; width: 60px; left: 0px; @@ -15,17 +15,22 @@ display: block; position: absolute; filter: drop-shadow(1px 1px 0 white) drop-shadow(1px -1px 0 white) drop-shadow(-1px 1px 0 white) drop-shadow(-1px -1px 0 white); + opacity: 0.8; } -.airbasemarker-icon-blue { - filter: invert(69%) sepia(84%) saturate(264%) hue-rotate(162deg) brightness(100%) contrast(102%) drop-shadow(0px 1px 0 #000A) drop-shadow(1px 0px 0 #000A) drop-shadow(-1px 0px 0 #000A) drop-shadow(0px -1px 0 #000A); +.blue.airbase-marker-image { + filter: invert(40%) sepia(94%) saturate(2477%) hue-rotate(197deg) brightness(92%) contrast(91%) drop-shadow(1px 1px #FFFA) drop-shadow(1px -1px #FFFA) drop-shadow(-1px 1px 0px #FFFA) drop-shadow(-1px -1px #FFFA); } -.airbasemarker-icon-red { - filter: invert(68%) sepia(85%) saturate(2385%) hue-rotate(313deg) brightness(108%) contrast(102%) drop-shadow(0px 1px 0 #000A) drop-shadow(1px 0px 0 #000A) drop-shadow(-1px 0px 0 #000A) drop-shadow(0px -1px 0 #000A); +.red.airbase-marker-image { + filter:invert(32%) sepia(91%) saturate(5128%) hue-rotate(349deg) brightness(97%) contrast(97%) drop-shadow(1px 1px #FFFA) drop-shadow(1px -1px #FFFA) drop-shadow(-1px 1px 0px #FFFA) drop-shadow(-1px -1px #FFFA); } -.airbasemarker-name { +.neutral.airbase-marker-image { + filter: invert(71%) sepia(12%) saturate(9%) hue-rotate(319deg) brightness(92%) contrast(96%) drop-shadow(1px 1px #000A) drop-shadow(1px -1px #000A) drop-shadow(-1px 1px 0px #000A) drop-shadow(-1px -1px #000A); +} + +.airbase-marker-name { bottom: -20px; position: absolute; text-align: center; diff --git a/client/public/stylesheets/unitmarker.css b/client/public/stylesheets/unitmarker.css index babbb02b..1884c3cb 100644 --- a/client/public/stylesheets/unitmarker.css +++ b/client/public/stylesheets/unitmarker.css @@ -21,6 +21,23 @@ align-items: center; } +.unit-marker-image { + height: 60px; + width: 60px; +} + +.blue.unit-marker-image { + filter: invert(40%) sepia(94%) saturate(2477%) hue-rotate(197deg) brightness(92%) contrast(91%) drop-shadow(1px 1px #FFFA) drop-shadow(1px -1px #FFFA) drop-shadow(-1px 1px 0px #FFFA) drop-shadow(-1px -1px #FFFA); +} + +.red.unit-marker-image { + filter:invert(32%) sepia(91%) saturate(5128%) hue-rotate(349deg) brightness(97%) contrast(97%) drop-shadow(1px 1px #FFFA) drop-shadow(1px -1px #FFFA) drop-shadow(-1px 1px 0px #FFFA) drop-shadow(-1px -1px #FFFA); +} + +.neutral.unit-marker-image { + filter: invert(71%) sepia(12%) saturate(9%) hue-rotate(319deg) brightness(92%) contrast(96%) drop-shadow(1px 1px #FFFA) drop-shadow(1px -1px #FFFA) drop-shadow(-1px 1px 0px #FFFA) drop-shadow(-1px -1px #FFFA); +} + .unit-marker-selected { width: 100%; height: 100%; @@ -50,7 +67,6 @@ background-color: var(--red-coalition-color); } - .unit-marker-hovered { filter: brightness(130%); } @@ -63,7 +79,7 @@ top: -20px; position: absolute; text-align: center; - font: 800 16px Arial; + font: 800 14px Arial; white-space: nowrap; -webkit-text-fill-color: white; -webkit-text-stroke: 1px; @@ -73,7 +89,7 @@ bottom: -20px; position: absolute; text-align: center; - font: 800 14px Arial; + font: 800 12px Arial; white-space: nowrap; -webkit-text-fill-color: white; -webkit-text-stroke: 1px; diff --git a/client/src/controls/dropdown.ts b/client/src/controls/dropdown.ts index aded3cd6..f4dd66a1 100644 --- a/client/src/controls/dropdown.ts +++ b/client/src/controls/dropdown.ts @@ -28,7 +28,6 @@ export class Dropdown { this.#content.style.left = this.#container.offsetLeft + "px"; this.#content.style.top = this.#container.offsetTop + this.#container.offsetHeight + "px"; - console.log(this.#container); document.body.appendChild(this.#content); var height = 2; diff --git a/client/src/controls/selectionscroll.ts b/client/src/controls/selectionscroll.ts index e4322e73..40f638d2 100644 --- a/client/src/controls/selectionscroll.ts +++ b/client/src/controls/selectionscroll.ts @@ -62,7 +62,6 @@ export class SelectionScroll { else this.#container.style.left = window.innerWidth - this.#container.offsetWidth + "px"; - console.log(y - 20 + this.#container.offsetHeight) if (y - 20 + this.#container.offsetHeight < window.innerHeight) this.#container.style.top = y - 20 + "px"; else diff --git a/client/src/dcs/dcs.ts b/client/src/dcs/dcs.ts index c9ae53f7..393bc198 100644 --- a/client/src/dcs/dcs.ts +++ b/client/src/dcs/dcs.ts @@ -41,7 +41,7 @@ export function spawnSmoke(color: string, latlng: L.LatLng) { xhr.setRequestHeader("Content-Type", "application/json"); xhr.onreadystatechange = () => { if (xhr.readyState === 4) { - console.log("Added " + color + " smoke at " + ConvertDDToDMS(latlng.lat, false) + " " + ConvertDDToDMS(latlng.lng, true)); + //console.log("Added " + color + " smoke at " + ConvertDDToDMS(latlng.lat, false) + " " + ConvertDDToDMS(latlng.lng, true)); } }; @@ -57,7 +57,7 @@ export function spawnGroundUnit(type: string, latlng: L.LatLng, coalition: strin xhr.setRequestHeader("Content-Type", "application/json"); xhr.onreadystatechange = () => { if (xhr.readyState === 4) { - console.log("Added " + coalition + " " + type + " at " + ConvertDDToDMS(latlng.lat, false) + " " + ConvertDDToDMS(latlng.lng, true)); + //console.log("Added " + coalition + " " + type + " at " + ConvertDDToDMS(latlng.lat, false) + " " + ConvertDDToDMS(latlng.lng, true)); } }; @@ -73,7 +73,7 @@ export function spawnAircraft(type: string, latlng: L.LatLng, coalition: string, xhr.setRequestHeader("Content-Type", "application/json"); xhr.onreadystatechange = () => { if (xhr.readyState === 4) { - console.log("Added " + coalition + " " + type + " at " + ConvertDDToDMS(latlng.lat, false) + " " + ConvertDDToDMS(latlng.lng, true)); + //console.log("Added " + coalition + " " + type + " at " + ConvertDDToDMS(latlng.lat, false) + " " + ConvertDDToDMS(latlng.lng, true)); } }; diff --git a/client/src/map/map.ts b/client/src/map/map.ts index 2d561432..27a27da8 100644 --- a/client/src/map/map.ts +++ b/client/src/map/map.ts @@ -120,12 +120,6 @@ export class Map extends L.Map { else if (this.#state === "MOVE_UNIT") { L.DomUtil.addClass(this.getContainer(),'crosshair-cursor-enabled'); } - else if (this.#state === "ATTACK") { - - } - else if (this.#state === "FORMATION") { - - } } getState() { diff --git a/client/src/missiondata/airbasemarker.ts b/client/src/missiondata/airbasemarker.ts index 3f934418..36bd867a 100644 --- a/client/src/missiondata/airbasemarker.ts +++ b/client/src/missiondata/airbasemarker.ts @@ -19,11 +19,11 @@ export class AirbaseMarker extends L.Marker this.#name = options.name; var icon = new L.DivIcon({ - html: ` + html: `
- -
${options.name}
+ +
${options.name}
`, @@ -40,16 +40,9 @@ export class AirbaseMarker extends L.Marker var img = element.querySelector("#icon"); if (img != null) { - img.classList.remove("airbasemarker-icon-blue"); - img.classList.remove("airbasemarker-icon-red"); - if (this.#coalitionID == 2) - { - img.classList.add("airbasemarker-icon-blue"); - } - else if (this.#coalitionID == 1) - { - img.classList.add("airbasemarker-icon-red"); - } + img.classList.toggle("blue", this.#coalitionID == 2); + img.classList.toggle("red", this.#coalitionID == 1); + img.classList.toggle("neutral", this.#coalitionID == 0); } } } diff --git a/client/src/panels/visibilitycontrolpanel.ts b/client/src/panels/visibilitycontrolpanel.ts index e4c6b402..46788bb0 100644 --- a/client/src/panels/visibilitycontrolpanel.ts +++ b/client/src/panels/visibilitycontrolpanel.ts @@ -51,7 +51,7 @@ export class VisibilityControlPanel { var airVisibilityCheckbox = this.#element.querySelector("#air-visibility"); if (airVisibilityCheckbox.checked) - AirUnit.setVisibility({human: activeVisibility, ai: activeVisibility, uncontrolled: uncontrolledVisibility? activeVisibility: "hidden", dead: "hidden"}); + AirUnit.setVisibility({human: "full", ai: activeVisibility, uncontrolled: uncontrolledVisibility? activeVisibility: "hidden", dead: "hidden"}); else AirUnit.setVisibility({human: "hidden", ai: "hidden", uncontrolled: "hidden", dead: "hidden"}); diff --git a/client/src/units/aircraftDatabase.ts b/client/src/units/aircraftDatabase.ts index 9b0eafa4..8fd24109 100644 --- a/client/src/units/aircraftDatabase.ts +++ b/client/src/units/aircraftDatabase.ts @@ -44,6 +44,12 @@ export function getLoadoutsByName(aircraft: string, loadoutName: string) return null; } +export function getUnitLabel(name: string) +{ + //@ts-ignore TODO + return aircraftDatabase[name] === undefined? name: aircraftDatabase[name].label; +} + export var aircraftDatabase = { "A-10C": { "name": "A-10C", @@ -512,8 +518,8 @@ export var aircraftDatabase = { ] }, - "F/A-18C": { - "name": "F/A-18C", + "FA-18C_hornet": { + "name": "FA-18C_hornet", "label": "F/A-18C", "loadouts": [ { diff --git a/client/src/units/unit.ts b/client/src/units/unit.ts index 918967b6..38490982 100644 --- a/client/src/units/unit.ts +++ b/client/src/units/unit.ts @@ -1,9 +1,9 @@ import { Marker, LatLng, Polyline, Icon } from 'leaflet'; import { getMap, getUnitsManager} from '..'; -import { UnitMarker, MarkerOptions, AircraftMarker, HelicopterMarker, GroundUnitMarker, NavyUnitMarker, WeaponMarker } from './unitmarker'; +import { UnitMarker, MarkerOptions, AircraftMarker, HelicopterMarker, GroundUnitMarker, NavyUnitMarker, WeaponMarker, MissileMarker, BombMarker } from './unitmarker'; import { addDestination, attackUnit, changeAltitude, changeSpeed, createFormation as setLeader, landAt, setAltitude, setReactionToThreat, setROE, setSpeed } from '../dcs/dcs'; -interface visibilityOptions { +interface VisibilityOptions { dead: string; ai: string; uncontrolled: string; @@ -393,8 +393,8 @@ export class Unit { } export class AirUnit extends Unit { - static visibility: visibilityOptions = {dead: "hidden", ai: "partial", uncontrolled: "partial", human: "partial"} - static setVisibility(visibility: visibilityOptions) + static visibility: VisibilityOptions = {dead: "hidden", ai: "partial", uncontrolled: "partial", human: "full"} + static setVisibility(visibility: VisibilityOptions) { getUnitsManager().forceUpdate(); AirUnit.visibility = visibility; @@ -438,8 +438,8 @@ export class Helicopter extends AirUnit { } export class GroundUnit extends Unit { - static visibility: visibilityOptions = {dead: "hidden", ai: "partial", uncontrolled: "partial", human: "partial"} - static setVisibility(visibility: visibilityOptions) + static visibility: VisibilityOptions = {dead: "hidden", ai: "partial", uncontrolled: "partial", human: "partial"} + static setVisibility(visibility: VisibilityOptions) { getUnitsManager().forceUpdate(); GroundUnit.visibility = visibility; @@ -474,8 +474,8 @@ export class GroundUnit extends Unit { } export class NavyUnit extends Unit { - static visibility: visibilityOptions = {dead: "hidden", ai: "partial", uncontrolled: "partial", human: "partial"} - static setVisibility(visibility: visibilityOptions) + static visibility: VisibilityOptions = {dead: "hidden", ai: "partial", uncontrolled: "partial", human: "partial"} + static setVisibility(visibility: VisibilityOptions) { getUnitsManager().forceUpdate(); NavyUnit.visibility = visibility; @@ -507,8 +507,8 @@ export class NavyUnit extends Unit { } export class Weapon extends Unit { - static visibility: visibilityOptions = {dead: "hidden", ai: "partial", uncontrolled: "partial", human: "partial"} - static setVisibility(visibility: visibilityOptions) + static visibility: VisibilityOptions = {dead: "hidden", ai: "partial", uncontrolled: "partial", human: "partial"} + static setVisibility(visibility: VisibilityOptions) { getUnitsManager().forceUpdate(); Weapon.visibility = visibility; @@ -535,14 +535,14 @@ export class Weapon extends Unit { export class Missile extends Weapon { constructor(ID: number, options: MarkerOptions) { - var marker = new WeaponMarker(options); + var marker = new MissileMarker(options); super(ID, marker); } } export class Bomb extends Weapon { constructor(ID: number, options: MarkerOptions) { - var marker = new WeaponMarker(options); + var marker = new BombMarker(options); super(ID, marker); } } diff --git a/client/src/units/unitmarker.ts b/client/src/units/unitmarker.ts index 55c2297a..d5f0f9cc 100644 --- a/client/src/units/unitmarker.ts +++ b/client/src/units/unitmarker.ts @@ -1,5 +1,6 @@ import * as L from 'leaflet' -import { Symbol } from 'milsymbol' +import { getMap } from '..' +import { getUnitLabel } from './aircraftDatabase' import { AirUnit, GroundUnit, NavyUnit, Weapon } from './unit' export interface MarkerOptions { @@ -29,12 +30,11 @@ export class UnitMarker extends L.Marker { constructor(options: MarkerOptions) { super(new L.LatLng(0, 0), { riseOnHover: true }); this.#unitName = options.unitName; - this.#name = options.name; + this.#name = getUnitLabel(options.name); this.#human = options.human; this.#AI = options.AI; - var symbol = new Symbol(this.#computeMarkerCode(options), { size: 25 }); - var img = symbol.asCanvas().toDataURL('image/png'); + var img = this.getUnitImage(); var coalition = ""; if (options.coalitionID == 1) @@ -50,7 +50,7 @@ export class UnitMarker extends L.Marker {
-
+
${this.#unitName}
@@ -104,6 +104,9 @@ export class UnitMarker extends L.Marker { altitudeDiv.innerHTML = String(Math.round(data.altitude / 0.3048 / 100) / 10); speedDiv.innerHTML = String(Math.round(data.speed * 1.94384)); + var pos = getMap().latLngToLayerPoint(this.getLatLng()).round(); + this.setZIndexOffset(Math.floor(data.altitude) - pos.y); + if (!this.#alive) { this.getElement()?.querySelector("#icon")?.classList.add("unit-marker-dead"); @@ -142,85 +145,9 @@ export class UnitMarker extends L.Marker { return "full"; } - #computeMarkerCode(options: MarkerOptions) { - var identity = "00"; - var set = "00"; - var entity = "00"; - var entityType = "00"; - var entitySubtype = "00"; - var sectorOneModifier = "00"; - var sectorTwoModifier = "00"; - - /* Identity */ - if (options.coalitionID == 1) - identity = "06" /* Hostile */ - else if (options.coalitionID == 2) - identity = "03" /* Friendly */ - else - identity = "04" /* Neutral */ - - /* Air */ - if (options.type.level1 == 1) { - set = "01" - entity = "11" - if (options.type.level2 == 1) - entityType = "01" - else if (options.type.level2 == 1) - entityType = "02" - - if (options.type.level3 == 1) - entitySubtype = "04"; - else if (options.type.level3 == 2) - entitySubtype = "05"; - else if (options.type.level3 == 3) - entitySubtype = "04"; - else if (options.type.level3 == 4) - entitySubtype = "02"; - else if (options.type.level3 == 5) - entitySubtype = "00"; - else if (options.type.level3 == 6) - entitySubtype = "00"; - } - - /* Ground */ - else if (options.type.level1 == 2) - { - set = "10" - entity = "12" - entityType = "05" - } - /* Navy */ - else if (options.type.level1 == 3) - set = "30" - /* Weapon */ - else if (options.type.level1 == 4) - { - set = "02" - entity = "11" - if (options.type.level3 == 7) - { - sectorOneModifier = "01" - sectorTwoModifier = "01" - } - else if (options.type.level3 == 8) - { - sectorOneModifier = "01" - sectorTwoModifier = "02" - } - else if (options.type.level3 == 34) - { - sectorOneModifier = "02" - sectorTwoModifier = "01" - } - else if (options.type.level3 == 11) - { - sectorOneModifier = "02" - sectorTwoModifier = "02" - } - } - - return `10${identity}${set}0000${entity}${entityType}${entitySubtype}${sectorOneModifier}${sectorTwoModifier}` - } + getUnitImage() { + return new Image().src = "images/units/unit.png" + } } export class AirUnitMarker extends UnitMarker { @@ -239,6 +166,11 @@ export class AirUnitMarker extends UnitMarker { else return "minimal"; } + + getUnitImage() + { + return new Image().src = "images/units/airUnit.png" + } } export class AircraftMarker extends AirUnitMarker { @@ -264,6 +196,11 @@ export class GroundUnitMarker extends UnitMarker { else return "minimal"; } + + getUnitImage() + { + return new Image().src = "images/units/groundUnit.png" + } } export class NavyUnitMarker extends UnitMarker { @@ -282,6 +219,11 @@ export class NavyUnitMarker extends UnitMarker { else return "minimal"; } + + getUnitImage() + { + return new Image().src = "images/units/navyUnit.png" + } } export class WeaponMarker extends UnitMarker { @@ -300,4 +242,18 @@ export class WeaponMarker extends UnitMarker { else return "minimal"; } +} + +export class BombMarker extends WeaponMarker { + getUnitImage() + { + return new Image().src = "images/units/bomb.png" + } +} + +export class MissileMarker extends WeaponMarker { + getUnitImage() + { + return new Image().src = "images/units/missile.png" + } } \ No newline at end of file diff --git a/client/src/units/unitsmanager.ts b/client/src/units/unitsmanager.ts index fe6bec75..ea58ec74 100644 --- a/client/src/units/unitsmanager.ts +++ b/client/src/units/unitsmanager.ts @@ -37,7 +37,7 @@ export class UnitsManager { var options = { unitName: data.unitName, name: data.name, - human: data.human, + human: data.flags.Human, coalitionID: data.coalitionID, type: data.type, AI: data.AI @@ -298,12 +298,12 @@ export class UnitsManager { { if (selectedUnits[idx].isWingman) { - console.log(selectedUnits[idx].unitName + " is already in a formation."); + //console.log(selectedUnits[idx].unitName + " is already in a formation."); return; } else if (selectedUnits[idx].isLeader) { - console.log(selectedUnits[idx].unitName + " is already in a formation."); + //console.log(selectedUnits[idx].unitName + " is already in a formation."); return; } else @@ -326,7 +326,7 @@ export class UnitsManager { } else { - console.log("At least 2 units must be selected to create a formation."); + //console.log("At least 2 units must be selected to create a formation."); } } setTimeout(() => this.#updateUnitControlPanel(), 300); // TODO find better method, may fail diff --git a/img/icon.png b/img/icon.png new file mode 100644 index 00000000..d4b60c09 Binary files /dev/null and b/img/icon.png differ diff --git a/installer/DCSOlympus.iss b/installer/DCSOlympus.iss index 479b72a5..d017f71d 100644 --- a/installer/DCSOlympus.iss +++ b/installer/DCSOlympus.iss @@ -22,7 +22,7 @@ Source: "..\scripts\OlympusCommand.lua"; DestDir: "{app}\Mods\Services\Olympus\S Source: "..\scripts\unitPayloads.lua"; DestDir: "{app}\Mods\Services\Olympus\Scripts"; Flags: ignoreversion Source: "..\scripts\OlympusMission.lua"; DestDir: "{app}\Mods\Services\Olympus\Scripts"; Flags: ignoreversion Source: "..\scripts\mist_4_4_90.lua"; DestDir: "{app}\Mods\Services\Olympus\Scripts"; Flags: ignoreversion -Source: "..\mod\*.*"; DestDir: "{app}\Mods\Services\Olympus"; Flags: ignoreversion; +Source: "..\mod\*"; DestDir: "{app}\Mods\Services\Olympus"; Flags: ignoreversion recursesubdirs; Source: "..\bin\*.dll"; DestDir: "{app}\Mods\Services\Olympus\bin"; Flags: ignoreversion; Source: "..\client\bin\*"; DestDir: "{app}\Mods\Services\Olympus\client\bin"; Flags: ignoreversion; Source: "..\client\node_modules\*"; DestDir: "{app}\Mods\Services\Olympus\client\node_modules"; Flags: ignoreversion recursesubdirs; diff --git a/scripts/OlympusPatcher.spec b/scripts/OlympusPatcher.spec new file mode 100644 index 00000000..59ead9c4 --- /dev/null +++ b/scripts/OlympusPatcher.spec @@ -0,0 +1,44 @@ +# -*- mode: python ; coding: utf-8 -*- + + +block_cipher = None + + +a = Analysis( + ['OlympusPatcher.py'], + pathex=[], + binaries=[], + datas=[], + hiddenimports=[], + hookspath=[], + hooksconfig={}, + runtime_hooks=[], + excludes=[], + win_no_prefer_redirects=False, + win_private_assemblies=False, + cipher=block_cipher, + noarchive=False, +) +pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) + +exe = EXE( + pyz, + a.scripts, + a.binaries, + a.zipfiles, + a.datas, + [], + name='OlympusPatcher', + debug=False, + bootloader_ignore_signals=False, + strip=False, + upx=True, + upx_exclude=[], + runtime_tmpdir=None, + console=True, + disable_windowed_traceback=False, + argv_emulation=False, + target_arch=None, + codesign_identity=None, + entitlements_file=None, +) diff --git a/src/shared/include/defines.h b/src/shared/include/defines.h index ae844c49..a8e42f8f 100644 --- a/src/shared/include/defines.h +++ b/src/shared/include/defines.h @@ -2,6 +2,6 @@ #define VERSION "v0.0.1" #define LOG_NAME "Olympus_log.txt" -#define REST_ADDRESS L"http://localhost:30000/restdemo" +#define REST_ADDRESS L"http://136.243.170.132:30000/restdemo" #define UPDATE_TIME_INTERVAL 0.25 \ No newline at end of file