diff --git a/README.md b/README.md index 6d5134c..cd7e625 100644 --- a/README.md +++ b/README.md @@ -50,7 +50,7 @@ Bullseye information for the current cursor position is displayed in the bottom ### BRAA -A BRAA line can be drawn by right clicking anywhere on the map and dragging. Additionally if you press the "s" (snap) key while starting the BRAA line on-top of an existing track the starting point will be locked to the tracks position. +A BRAA line can be drawn by right-clicking anywhere on the map and dragging. Additionally if you press the "s" (snap) key while starting the BRAA line on-top of an existing track the starting point will be locked to the tracks position. ### Mission Timer & Hack Timers diff --git a/cmd/sneaker-server/versioninfo.json b/cmd/sneaker-server/versioninfo.json index b93278d..f8697e8 100644 --- a/cmd/sneaker-server/versioninfo.json +++ b/cmd/sneaker-server/versioninfo.json @@ -3,13 +3,13 @@ "FileVersion": { "Major": 0, "Minor": 0, - "Patch": 16, + "Patch": 17, "Build": 0 }, "ProductVersion": { "Major": 0, "Minor": 0, - "Patch": 16, + "Patch": 17, "Build": 0 }, "FileFlagsMask": "3f", @@ -22,14 +22,14 @@ "Comments": "Fork by Special K", "CompanyName": "b1naryth1ef", "FileDescription": "Web-based AEW&C interface for DCS", - "FileVersion": "v0.0.16.0", + "FileVersion": "v0.0.17.0", "InternalName": "sneaker.exe", "LegalCopyright": "Copyright 2021 Andrei Zbikowski", "LegalTrademarks": "", "OriginalFilename": "main.go", "PrivateBuild": "", "ProductName": "Sneaker", - "ProductVersion": "v0.0.16.0", + "ProductVersion": "v0.0.17.0", "SpecialBuild": "" }, "VarFileInfo": { diff --git a/src/App.tsx b/src/App.tsx index 6999127..2476d2f 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -15,6 +15,7 @@ import { Normandy } from "./dcs/maps/Normandy"; import { TheChannel } from "./dcs/maps/TheChannel"; import { Nevada } from "./dcs/maps/Nevada"; import { Kola } from "./dcs/maps/Kola"; +import { Afghanistan } from "./dcs/maps/Afghanistan"; import { Server, serverStore } from "./stores/ServerStore"; import { route } from "./util"; @@ -150,6 +151,8 @@ function ServerContainer({ serverName }: { serverName: string }) { dcsMap = Nevada; } else if (refLat >= 62 && refLat <= 73 && refLng >= -4 && refLng <= 40) { dcsMap = Kola; + } else if (refLat >= 28 && refLat <= 39 && refLng >= 60 && refLng <= 74) { + dcsMap = Afghanistan; } else { console.log(refLat, refLng); return ( diff --git a/src/data/airbases/afghanistan.json b/src/data/airbases/afghanistan.json new file mode 100644 index 0000000..5123464 --- /dev/null +++ b/src/data/airbases/afghanistan.json @@ -0,0 +1 @@ +{"Herat": {"callsign": "Herat", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Herat", "life": 3600, "typeName": "Herat"}, "id": 1, "point": [34.220031212738, 62.230129665702, 969.9853515625], "runways": [{"Name": 18, "course": 3.007217168808, "length": 2718.8166503906, "position": {"x": 25820.93359375, "y": 969.9853515625, "z": -371274.625}, "width": 60}]}, "Farah": {"callsign": "Farah", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Farah", "life": 3600, "typeName": "Farah"}, "id": 2, "point": [32.354876963981, 62.173144056959, 682.77307128906], "runways": [{"Name": 33, "course": 0.51833838224411, "length": 2130.6022949219, "position": {"x": -178644.125, "y": 682.77307128906, "z": -378451.53125}, "width": 45}]}, "Shindand": {"callsign": "Shindand", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Shindand", "life": 3600, "typeName": "Shindand"}, "id": 3, "point": [33.383007536994, 62.260362260821, 1132.6168212891], "runways": [{"Name": 36, "course": -0.040249649435282, "length": 2143.525390625, "position": {"x": -64594.5234375, "y": 1132.6168212891, "z": -368871.46875}, "width": 50}]}, "Maymana Zahiraddin Faryabi": {"callsign": "Maymana Zahiraddin Faryabi", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Maymana Zahiraddin Faryabi", "life": 3600, "typeName": "Maymana Zahiraddin Faryabi"}, "id": 4, "point": [35.924391322221, 64.76619558641, 840.72406005859], "runways": [{"Name": 32, "course": 0.65543735027313, "length": 1689.3109130859, "position": {"x": 218034.484375, "y": 840.72406005859, "z": -141298.265625}, "width": 20}]}, "Chaghcharan": {"callsign": "Chaghcharan", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Chaghcharan", "life": 3600, "typeName": "Chaghcharan"}, "id": 5, "point": [34.529394368153, 65.280155710858, 2271.1975097656], "runways": [{"Name": 25, "course": 2.0022814273834, "length": 1740.2584228516, "position": {"x": 63224.14453125, "y": 2271.1975097656, "z": -91680.8125}, "width": 20}]}, "Qala i Naw": {"callsign": "Qala i Naw", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Qala i Naw", "life": 3600, "typeName": "Qala i Naw"}, "id": 6, "point": [34.992086349078, 63.124538116342, 889.08715820312], "runways": [{"Name": 22, "course": 2.4480218887329, "length": 1863.7202148438, "position": {"x": 111818.1875, "y": 889.08715820312, "z": -289403.375}, "width": 20}]}, "Kandahar": {"callsign": "Kandahar", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Kandahar", "life": 3600, "typeName": "Kandahar"}, "id": 7, "point": [31.513217729616, 65.860714738417, 1016.9556884766], "runways": [{"Name": 23, "course": 2.2040691375732, "length": 2980.9267578125, "position": {"x": -270486.3125, "y": 1016.9556884766, "z": -29690.017578125}, "width": 60}]}, "Bost": {"callsign": "Bost", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Bost", "life": 3600, "typeName": "Bost"}, "id": 8, "point": [31.55201665208, 64.363255135089, 776.12280273438], "runways": [{"Name": 1, "course": -0.1213381960988, "length": 1755.09375, "position": {"x": -267202.0625, "y": 776.12280273438, "z": -170619.5625}, "width": 45}]}, "Tarinkot": {"callsign": "Tarinkot", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Tarinkot", "life": 3600, "typeName": "Tarinkot"}, "id": 9, "point": [32.609904004956, 65.856509652753, 1331.7247314453], "runways": [{"Name": 30, "course": -2.1439402103424, "length": 1799.5621337891, "position": {"x": -148524.9375, "y": 1331.7247314453, "z": -31352.18359375}, "width": 60}]}, "Camp Bastion": {"callsign": "Camp Bastion", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Camp Bastion", "life": 3600, "typeName": "Camp Bastion"}, "id": 10, "point": [31.835819789783, 64.22020303609, 879.70733642578], "runways": [{"Name": 1, "course": -0.17365676164627, "length": 3245.2705078125, "position": {"x": -235177.5625, "y": 879.70733642578, "z": -184376.59375}, "width": 65}]}, "Dwyer": {"callsign": "Dwyer", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Dwyer", "life": 3600, "typeName": "Dwyer"}, "id": 11, "point": [31.098253445118, 64.076360572204, 735.65515136719], "runways": [{"Name": 23, "course": 2.2689085006714, "length": 2273.4562988281, "position": {"x": -319375.65625, "y": 735.65515136719, "z": -198386.84375}, "width": 60}]}, "Nimroz": {"callsign": "Nimroz", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Nimroz", "life": 3600, "typeName": "Nimroz"}, "id": 12, "point": [30.970914944055, 62.053757073272, 483.00051879883], "runways": [{"Name": 14, "course": -2.4408674240112, "length": 2116.6396484375, "position": {"x": -333722.6875, "y": 483.00051879883, "z": -389854}, "width": 45}]}, "Camp Bastion Heliport": {"callsign": "Camp Bastion Heliport", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Camp Bastion Heliport", "life": 3600, "typeName": "Camp Bastion Heliport"}, "id": 13, "point": [31.853777562069, 64.212513895988, 884.36590576172], "runways": [{"Name": 1, "course": -0.17367441952229, "length": 387.45718383789, "position": {"x": -234602.5, "y": 884.36590576172, "z": -185373.34375}, "width": 45}]}, "Shindand Heliport": {"callsign": "Shindand Heliport", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Shindand Heliport", "life": 3600, "typeName": "Shindand Heliport"}, "id": 14, "point": [33.406894837978, 62.267975429692, 1157.8818359375], "runways": [{"Name": 36, "course": -0.040119472891092, "length": 209.60963439941, "position": {"x": -62917.2578125, "y": 1157.8818359375, "z": -368183.625}, "width": 45}]}, "Kandahar Heliport": {"callsign": "Kandahar Heliport", "cat": 4, "desc": {"_origin": "", "attributes": {"Airfields": true}, "category": 0, "displayName": "Kandahar Heliport", "life": 3600, "typeName": "Kandahar Heliport"}, "id": 15, "point": [31.521070343338, 65.84696137969, 1017.0010375977], "runways": [{"Name": 23, "course": 2.2045719623566, "length": 218.94323730469, "position": {"x": -268832.3125, "y": 1017.0010375977, "z": -29906.06640625}, "width": 45}]}} \ No newline at end of file diff --git a/src/dcs/maps/Afghanistan.ts b/src/dcs/maps/Afghanistan.ts new file mode 100644 index 0000000..c1d9ec7 --- /dev/null +++ b/src/dcs/maps/Afghanistan.ts @@ -0,0 +1,9 @@ +import AfghanistanAirBases from "../../data/airbases/afghanistan.json"; +import { convertRawAirBaseData, DCSMap } from "./DCSMap"; + +export const Afghanistan: DCSMap = { + name: "Afghanistan", + center: [33, 64], + magDec: 3, + airports: convertRawAirBaseData(AfghanistanAirBases), +};