Final tweaks before release

This commit is contained in:
Pax1601 2025-08-02 12:46:27 +02:00
parent e7845dd356
commit 3ca78d4c7c
8 changed files with 81 additions and 31 deletions

View File

@ -71,7 +71,7 @@ void GroundUnit::setDefaults(bool force)
setState(State::IDLE);
/* Set the default options */
setROE(ROE::WEAPON_FREE, force);
setROE(ROE::OPEN_FIRE_WEAPON_FREE, force);
setOnOff(onOff, force);
setFollowRoads(followRoads, force);
}

View File

@ -68,7 +68,7 @@ void NavyUnit::setDefaults(bool force)
setState(State::IDLE);
/* Set the default options */
setROE(ROE::WEAPON_FREE, force);
setROE(ROE::OPEN_FIRE_WEAPON_FREE, force);
setOnOff(onOff, force);
setFollowRoads(followRoads, force);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

View File

@ -96,7 +96,7 @@ export const states: string[] = [
UnitState.LAND_AT_POINT,
];
export const ROEs: string[] = ["free", "designated", "", "return", "hold"];
export const ROEs: string[] = ["", "free", "designated", "return", "hold"];
export const reactionsToThreat: string[] = ["none", "manoeuvre", "passive", "evade"];
export const emissionsCountermeasures: string[] = ["silent", "attack", "defend", "free"];
@ -220,6 +220,14 @@ export const minimapBoundaries = {
new LatLng(22.5127778, 149.5427778),
new LatLng(22.09, 135.0572222),
],
MarianaIslandsWWII: [
// Marianas
new LatLng(22.09, 135.0572222),
new LatLng(10.5777778, 135.7477778),
new LatLng(10.7725, 149.3918333),
new LatLng(22.5127778, 149.5427778),
new LatLng(22.09, 135.0572222),
],
Falklands: [
// South Atlantic
new LatLng(-49.097217, -79.418267),
@ -252,6 +260,14 @@ export const minimapBoundaries = {
new LatLng(36.22, 68.05),
new LatLng(36.22, 61.21),
],
GermanyCW: [
// Germany Cold War
new LatLng(54.724620, 5.570068),
new LatLng(49.282140, 5.570068),
new LatLng(49.282140, 16.413574),
new LatLng(54.724620, 16.413574),
new LatLng(54.724620, 5.570068),
],
};
export const mapBounds = {
@ -263,6 +279,10 @@ export const mapBounds = {
bounds: new LatLngBounds([10.5777778, 135.7477778], [22.5127778, 149.5427778]),
zoom: 5,
},
MarianaIslandsWWII: {
bounds: new LatLngBounds([10.5777778, 135.7477778], [22.5127778, 149.5427778]),
zoom: 5,
},
Nevada: {
bounds: new LatLngBounds([34.4037128, -119.7806729], [39.7372411, -112.1130805]),
zoom: 5,
@ -285,6 +305,7 @@ export const mapBounds = {
zoom: 4,
},
Afghanistan: { bounds: new LatLngBounds([36.22, 61.21], [30.42, 68.05]), zoom: 5 },
GermanyCW: { bounds: new LatLngBounds([54.724620, 5.570068], [49.282140, 16.413574]), zoom: 4 }
};
export const defaultMapMirrors = {};

View File

@ -283,7 +283,7 @@ export function enumToState(state: number) {
export function enumToROE(ROE: number) {
if (ROE < ROEs.length) return ROEs[ROE];
else return ROEs[0];
else return ROEs[2];
}
export function enumToAlarmState(alarmState: number) {
@ -303,8 +303,8 @@ 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;
else if (idx === 2) roe = 2;
else roe = 1;
return roe;
}

View File

@ -2,9 +2,10 @@ import React from "react";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { faArrowRight } from "@fortawesome/free-solid-svg-icons";
export function Card(props: { children?: JSX.Element | JSX.Element[]; className?: string }) {
export function Card(props: { children?: JSX.Element | JSX.Element[]; className?: string; onClick?: () => void }) {
return (
<div
onClick={props.onClick ? props.onClick : undefined}
className={`
${props.className}
group flex max-h-80 w-full max-w-64 cursor-pointer flex-col

View File

@ -158,9 +158,13 @@ export function LoginModal(props: { open: boolean }) {
<div
className={`
z-40 my-auto w-[50%] text-center
${loginByRole ? "text-white" : `
${
loginByRole
? "text-white"
: `
text-gray-400 transition-colors
`}
`
}
`}
>
Login by role
@ -168,9 +172,13 @@ export function LoginModal(props: { open: boolean }) {
<div
className={`
z-40 my-auto w-[50%] px-2 text-center
${!loginByRole ? "text-white" : `
${
!loginByRole
? "text-white"
: `
text-gray-400 transition-colors
`}
`
}
`}
>
Login by name
@ -180,7 +188,7 @@ export function LoginModal(props: { open: boolean }) {
<div className={`flex flex-col items-start gap-1`}>
{loginByRole ? (
<>
<label
<label
className={`
text-gray-800 text-md
dark:text-white
@ -188,12 +196,29 @@ export function LoginModal(props: { open: boolean }) {
>
Role
</label>
<OlDropdown label={username} className={`w-full`}>
<OlDropdownItem onClick={() => {setUsername("Game master")}}>Game master</OlDropdownItem>
<OlDropdownItem onClick={() => {setUsername("Blue commander")}}>Blue commander</OlDropdownItem>
<OlDropdownItem onClick={() => {setUsername("Red commander")}}>Red commander</OlDropdownItem>
</OlDropdown>
<OlDropdown label={username} className={`w-full`}>
<OlDropdownItem
onClick={() => {
setUsername("Game master");
}}
>
Game master
</OlDropdownItem>
<OlDropdownItem
onClick={() => {
setUsername("Blue commander");
}}
>
Blue commander
</OlDropdownItem>
<OlDropdownItem
onClick={() => {
setUsername("Red commander");
}}
>
Red commander
</OlDropdownItem>
</OlDropdown>
</>
) : (
<>
@ -284,10 +309,9 @@ export function LoginModal(props: { open: boolean }) {
>
Choose your role
</label>
<OlDropdown
label={activeCommandMode ?? ""}
className={`w-48`}
>
<OlDropdown label={activeCommandMode ?? ""} className={`
w-48
`}>
{commandModes?.map((commandMode) => {
return <OlDropdownItem onClick={() => setActiveCommandMode(commandMode)}>{commandMode}</OlDropdownItem>;
})}
@ -389,18 +413,20 @@ export function LoginModal(props: { open: boolean }) {
max-md:flex-col
`}
>
<Card className="flex">
<Card className="flex" onClick={() => window.open("https://www.youtube.com/watch?v=Z7cDVbnRVDc", "_blank")}>
<img
src="images/splash/1.jpg"
src="images/v2-thumbnail.jpg"
className={`
h-[40%] max-h-[120px] contents-center w-full rounded-md
object-cover
`}
></img>
<div className={`
<div
className={`
mt-2 flex content-center items-center gap-2 font-bold
`}>
YouTube Video Guide
`}
>
Olympus v2 trailer
<FontAwesomeIcon className={`my-auto text-xs text-gray-400`} icon={faExternalLink} />
</div>
<div
@ -412,7 +438,7 @@ export function LoginModal(props: { open: boolean }) {
Check out our official video tutorial on how to get started with Olympus - so you can immediately start controlling the battlefield.
</div>
</Card>
<Card className="flex">
<Card className="flex" onClick={() => window.open("https://github.com/Pax1601/DCSOlympus/wiki", "_blank")}>
<img
src="images/splash/1.jpg"
className={`
@ -420,9 +446,11 @@ export function LoginModal(props: { open: boolean }) {
object-cover
`}
></img>
<div className={`
<div
className={`
mt-2 flex content-center items-center gap-2 font-bold
`}>
`}
>
Wiki Guide
<FontAwesomeIcon className={`my-auto text-xs text-gray-400`} icon={faExternalLink} />
</div>

View File

@ -1,3 +1,3 @@
{
"version": "v2.0.2"
"version": "v2.0.3"
}