From 73c8ce2fe742dd36bf73a377c2278fc523e92eec Mon Sep 17 00:00:00 2001 From: Pax1601 Date: Wed, 20 Nov 2024 08:09:00 +0100 Subject: [PATCH] Minor bugfixes --- frontend/react/src/audio/audiomanager.ts | 2 +- frontend/react/src/other/utils.ts | 9 ++ .../react/src/ui/panels/coordinatespanel.tsx | 11 ++- .../react/src/ui/panels/unitcontrolmenu.tsx | 98 ++++++++++--------- frontend/react/src/ui/ui.tsx | 2 +- 5 files changed, 68 insertions(+), 54 deletions(-) diff --git a/frontend/react/src/audio/audiomanager.ts b/frontend/react/src/audio/audiomanager.ts index 12b73bb2..7a9f5018 100644 --- a/frontend/react/src/audio/audiomanager.ts +++ b/frontend/react/src/audio/audiomanager.ts @@ -76,7 +76,7 @@ export class AudioManager { if (!this.#socket) return; - //this.#socket = new WebSocket(`wss://refugees.dcsolympus.com/audio`); // TODO: remove, used for testing! + this.#socket = new WebSocket(`wss://refugees.dcsolympus.com/audio`); // TODO: remove, used for testing! /* Log the opening of the connection */ this.#socket.addEventListener("open", (event) => { diff --git a/frontend/react/src/other/utils.ts b/frontend/react/src/other/utils.ts index 573acef3..02675a46 100644 --- a/frontend/react/src/other/utils.ts +++ b/frontend/react/src/other/utils.ts @@ -243,6 +243,15 @@ export function enumToROE(ROE: number) { else return ROEs[0]; } +export function convertROE(idx: number) { + let roe = 0; + if (idx === 0) roe = 4; + else if (idx === 1) roe = 3; + else if (idx === 2) roe = 1; + else roe = 0; + return roe; +} + export function enumToReactionToThreat(reactionToThreat: number) { if (reactionToThreat < reactionsToThreat.length) return reactionsToThreat[reactionToThreat]; else return reactionsToThreat[0]; diff --git a/frontend/react/src/ui/panels/coordinatespanel.tsx b/frontend/react/src/ui/panels/coordinatespanel.tsx index 58b2c6d4..0c034c55 100644 --- a/frontend/react/src/ui/panels/coordinatespanel.tsx +++ b/frontend/react/src/ui/panels/coordinatespanel.tsx @@ -48,9 +48,9 @@ export function CoordinatesPanel(props: {}) { `} > - - {(bullseyes[2].getLatLng().distanceTo(latlng) / 1852).toFixed(0)} /{" "} - {bearing(bullseyes[2].getLatLng().lat, bullseyes[2].getLatLng().lng, latlng.lat, latlng.lng).toFixed()}° + {bearing(bullseyes[2].getLatLng().lat, bullseyes[2].getLatLng().lng, latlng.lat, latlng.lng).toFixed()}° / {" "} + {(bullseyes[2].getLatLng().distanceTo(latlng) / 1852).toFixed(0)} +
- {(bullseyes[1].getLatLng().distanceTo(latlng) / 1852).toFixed(0)} /{" "} - {bearing(bullseyes[1].getLatLng().lat, bullseyes[1].getLatLng().lng, latlng.lat, latlng.lng).toFixed()}° + {bearing(bullseyes[1].getLatLng().lat, bullseyes[1].getLatLng().lng, latlng.lat, latlng.lng).toFixed()}° / {" "} + {(bullseyes[1].getLatLng().distanceTo(latlng) / 1852).toFixed(0)} +
{/*}
diff --git a/frontend/react/src/ui/panels/unitcontrolmenu.tsx b/frontend/react/src/ui/panels/unitcontrolmenu.tsx index fb1ce8e2..e6531466 100644 --- a/frontend/react/src/ui/panels/unitcontrolmenu.tsx +++ b/frontend/react/src/ui/panels/unitcontrolmenu.tsx @@ -6,7 +6,16 @@ import { OlRangeSlider } from "../components/olrangeslider"; import { getApp } from "../../olympusapp"; import { OlButtonGroup, OlButtonGroupItem } from "../components/olbuttongroup"; import { OlCheckbox } from "../components/olcheckbox"; -import { ROEs, altitudeIncrements, emissionsCountermeasures, maxAltitudeValues, maxSpeedValues, minAltitudeValues, reactionsToThreat, speedIncrements } from "../../constants/constants"; +import { + ROEs, + altitudeIncrements, + emissionsCountermeasures, + maxAltitudeValues, + maxSpeedValues, + minAltitudeValues, + reactionsToThreat, + speedIncrements, +} from "../../constants/constants"; import { OlToggle } from "../components/oltoggle"; import { OlCoalitionToggle } from "../components/olcoalitiontoggle"; import { @@ -38,7 +47,7 @@ import { olButtonsVisibilityOlympus, } from "../components/olicons"; import { Coalition } from "../../types/types"; -import { ftToM, knotsToMs, mToFt, msToKnots } from "../../other/utils"; +import { convertROE, ftToM, knotsToMs, mToFt, msToKnots } from "../../other/utils"; import { FaCog, FaGasPump, FaSignal, FaTag } from "react-icons/fa"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { OlSearchBar } from "../components/olsearchbar"; @@ -216,12 +225,10 @@ export function UnitControlMenu(props: { open: boolean; onClose: () => void }) { maxSpeed = maxSpeedValues.helicopter; speedStep = speedIncrements.helicopter; altitudeStep = altitudeIncrements.helicopter; - } - else if (everyUnitIsGround) { + } else if (everyUnitIsGround) { maxSpeed = maxSpeedValues.groundunit; speedStep = speedIncrements.groundunit; - } - else if (everyUnitIsNavy) { + } else if (everyUnitIsNavy) { maxSpeed = maxSpeedValues.navyunit; speedStep = speedIncrements.navyunit; } @@ -622,39 +629,39 @@ export function UnitControlMenu(props: { open: boolean; onClose: () => void }) {
{/* ============== Airspeed selector END ============== */} {/* ============== Rules of Engagement START ============== */} - {!(selectedUnits.length === 1 && selectedUnits[0].isTanker()) && - !(selectedUnits.length === 1 && selectedUnits[0].isAWACS()) && ( -
- - Rules of engagement - - - {[olButtonsRoeHold, olButtonsRoeReturn, olButtonsRoeDesignated, olButtonsRoeFree].map((icon, idx) => { - return ( - { - selectedUnits.forEach((unit) => { - unit.setROE(ROEs[idx]); - setSelectedUnitsData({ - ...selectedUnitsData, - ROE: ROEs[idx], - }); + {!(selectedUnits.length === 1 && selectedUnits[0].isTanker()) && !(selectedUnits.length === 1 && selectedUnits[0].isAWACS()) && ( +
+ + Rules of engagement + + + {[olButtonsRoeHold, olButtonsRoeReturn, olButtonsRoeDesignated, olButtonsRoeFree].map((icon, idx) => { + return ( + { + + selectedUnits.forEach((unit) => { + unit.setROE(ROEs[convertROE(idx)]); + setSelectedUnitsData({ + ...selectedUnitsData, + ROE: ROEs[convertROE(idx)], }); - }} - active={selectedUnitsData.ROE === ROEs[idx]} - icon={icon} - /> - ); - })} - -
- )} + }); + }} + active={selectedUnitsData.ROE === ROEs[convertROE(idx)]} + icon={icon} + /> + ); + })} +
+
+ )} {/* ============== Rules of Engagement END ============== */} {selectedCategories.every((category) => { return ["Aircraft", "Helicopter"].includes(category); @@ -1174,10 +1181,9 @@ export function UnitControlMenu(props: { open: boolean; onClose: () => void }) { value={activeAdvancedSettings ? activeAdvancedSettings.TACAN.channel : 1} > - + { @@ -1296,11 +1302,9 @@ export function UnitControlMenu(props: { open: boolean; onClose: () => void }) { className={` flex content-center gap-2 rounded-full ${selectedUnits[0].getFuel() > 40 && `bg-green-700`} - ${ - selectedUnits[0].getFuel() > 10 && - selectedUnits[0].getFuel() <= 40 && - `bg-yellow-700` - } + ${selectedUnits[0].getFuel() > 10 && selectedUnits[0].getFuel() <= 40 && ` + bg-yellow-700 + `} ${selectedUnits[0].getFuel() <= 10 && `bg-red-700`} px-2 py-1 text-sm font-bold text-white `} diff --git a/frontend/react/src/ui/ui.tsx b/frontend/react/src/ui/ui.tsx index 0665481b..94c9bb07 100644 --- a/frontend/react/src/ui/ui.tsx +++ b/frontend/react/src/ui/ui.tsx @@ -28,7 +28,7 @@ import { AppStateChangedEvent, MapOptionsChangedEvent } from "../events"; import { GameMasterMenu } from "./panels/gamemastermenu"; import { InfoBar } from "./panels/infobar"; import { HotGroupBar } from "./panels/hotgroupsbar"; -import { SpawnContextMenu } from "./contextmenus/SpawnContextmenu"; +import { SpawnContextMenu } from "./contextmenus/spawncontextmenu"; import { CoordinatesPanel } from "./panels/coordinatespanel"; export type OlympusUIState = {