Clean up the category property of TGOs.

This really needs to be a proper type, but this is a start: create new
categories for the types of TGOs that are missing. This removes some
icon special cases.
This commit is contained in:
Dan Albert 2021-05-18 22:53:38 -07:00
parent 2769d32c81
commit 4e37666037
5 changed files with 23 additions and 91 deletions

View File

@ -5,9 +5,9 @@ import logging
from typing import Iterator, List, TYPE_CHECKING from typing import Iterator, List, TYPE_CHECKING
from dcs.mapping import Point from dcs.mapping import Point
from dcs.triggers import TriggerZone
from dcs.unit import Unit from dcs.unit import Unit
from dcs.unitgroup import Group from dcs.unitgroup import Group
from dcs.triggers import TriggerZone, Triggers
from .. import db from .. import db
from ..data.radar_db import UNITS_WITH_RADAR from ..data.radar_db import UNITS_WITH_RADAR
@ -20,78 +20,25 @@ if TYPE_CHECKING:
from .missiontarget import MissionTarget from .missiontarget import MissionTarget
NAME_BY_CATEGORY = { NAME_BY_CATEGORY = {
"power": "Power plant", "ewr": "Early Warning Radar",
"ammo": "Ammo depot",
"fuel": "Fuel depot",
"aa": "AA Defense Site", "aa": "AA Defense Site",
"ware": "Warehouse",
"farp": "FARP",
"fob": "FOB",
"factory": "Factory",
"comms": "Comms. tower",
"oil": "Oil platform",
"derrick": "Derrick",
"ww2bunker": "Bunker",
"village": "Village",
"allycamp": "Camp", "allycamp": "Camp",
"EWR": "EWR", "ammo": "Ammo depot",
} "armor": "Armor group",
"coastal": "Coastal defense",
ABBREV_NAME = { "comms": "Communications tower",
"power": "PLANT", "derrick": "Derrick",
"ammo": "AMMO", "factory": "Factory",
"fuel": "FUEL",
"aa": "AA",
"ware": "WARE",
"farp": "FARP", "farp": "FARP",
"fob": "FOB", "fob": "FOB",
"factory": "FACTORY", "fuel": "Fuel depot",
"comms": "COMMST", "missile": "Missile site",
"oil": "OILP", "oil": "Oil platform",
"derrick": "DERK", "power": "Power plant",
"ww2bunker": "BUNK", "ship": "Ship",
"village": "VLG", "village": "Village",
"allycamp": "CMP", "ware": "Warehouse",
} "ww2bunker": "Bunker",
CATEGORY_MAP = {
# Special cases
"CARRIER": ["CARRIER"],
"LHA": ["LHA"],
"aa": ["AA"],
# Buildings
"power": [
"Workshop A",
"Electric power box",
"Garage small A",
"Farm B",
"Repair workshop",
"Garage B",
],
"ware": ["Warehouse", "Hangar A"],
"fuel": ["Tank", "Tank 2", "Tank 3", "Fuel tank"],
"ammo": [".Ammunition depot", "Hangar B"],
"farp": [
"FARP Tent",
"FARP Ammo Dump Coating",
"FARP Fuel Depot",
"FARP Command Post",
"FARP CP Blindage",
],
"fob": ["Bunker 2", "Bunker 1", "Garage small B", ".Command Center", "Barracks 2"],
"factory": ["Tech combine", "Tech hangar A"],
"comms": ["TV tower", "Comms tower M"],
"oil": ["Oil platform"],
"derrick": ["Oil derrick", "Pump station", "Subsidiary structure 2"],
"ww2bunker": [
"Siegfried Line",
"Fire Control Bunker",
"SK_C_28_naval_gun",
"Concertina Wire",
"Czech hedgehogs 1",
],
"village": ["Small house 1B", "Small House 1A", "Small warehouse 1"],
"allycamp": [],
} }
@ -414,7 +361,7 @@ class MissileSiteGroundObject(TheaterGroundObject):
) -> None: ) -> None:
super().__init__( super().__init__(
name=name, name=name,
category="aa", category="missile",
group_id=group_id, group_id=group_id,
position=position, position=position,
heading=0, heading=0,
@ -436,7 +383,7 @@ class CoastalSiteGroundObject(TheaterGroundObject):
) -> None: ) -> None:
super().__init__( super().__init__(
name=name, name=name,
category="aa", category="coastal",
group_id=group_id, group_id=group_id,
position=position, position=position,
heading=heading, heading=heading,
@ -510,7 +457,7 @@ class VehicleGroupGroundObject(BaseDefenseGroundObject):
) -> None: ) -> None:
super().__init__( super().__init__(
name=name, name=name,
category="aa", category="armor",
group_id=group_id, group_id=group_id,
position=position, position=position,
heading=0, heading=0,
@ -532,7 +479,7 @@ class EwrGroundObject(BaseDefenseGroundObject):
) -> None: ) -> None:
super().__init__( super().__init__(
name=name, name=name,
category="EWR", category="ewr",
group_id=group_id, group_id=group_id,
position=position, position=position,
heading=0, heading=0,
@ -565,7 +512,7 @@ class ShipGroundObject(NavalGroundObject):
) -> None: ) -> None:
super().__init__( super().__init__(
name=name, name=name,
category="aa", category="ship",
group_id=group_id, group_id=group_id,
position=position, position=position,
heading=0, heading=0,

View File

@ -3,10 +3,9 @@ from typing import Dict
from PySide2.QtGui import QColor, QFont, QPixmap from PySide2.QtGui import QColor, QFont, QPixmap
from game.theater.theatergroundobject import CATEGORY_MAP from game.theater.theatergroundobject import NAME_BY_CATEGORY
from .liberation_theme import get_theme_icons from .liberation_theme import get_theme_icons
URLS: Dict[str, str] = { URLS: Dict[str, str] = {
"Manual": "https://github.com/dcs-liberation/dcs_liberation/wiki", "Manual": "https://github.com/dcs-liberation/dcs_liberation/wiki",
"Repository": "https://github.com/dcs-liberation/dcs_liberation", "Repository": "https://github.com/dcs-liberation/dcs_liberation",
@ -141,22 +140,14 @@ def load_icons():
ICONS["target"] = QPixmap("./resources/ui/ground_assets/target.png") ICONS["target"] = QPixmap("./resources/ui/ground_assets/target.png")
ICONS["cleared"] = QPixmap("./resources/ui/ground_assets/cleared.png") ICONS["cleared"] = QPixmap("./resources/ui/ground_assets/cleared.png")
for category in CATEGORY_MAP.keys(): for category in NAME_BY_CATEGORY.keys():
ICONS[category] = QPixmap("./resources/ui/ground_assets/" + category + ".png") ICONS[category] = QPixmap("./resources/ui/ground_assets/" + category + ".png")
ICONS[category + "_blue"] = QPixmap( ICONS[category + "_blue"] = QPixmap(
"./resources/ui/ground_assets/" + category + "_blue.png" "./resources/ui/ground_assets/" + category + "_blue.png"
) )
ICONS["destroyed"] = QPixmap("./resources/ui/ground_assets/destroyed.png") ICONS["destroyed"] = QPixmap("./resources/ui/ground_assets/destroyed.png")
ICONS["EWR"] = QPixmap("./resources/ui/ground_assets/ewr.png")
ICONS["EWR_blue"] = QPixmap("./resources/ui/ground_assets/ewr_blue.png")
ICONS["ship"] = QPixmap("./resources/ui/ground_assets/ship.png")
ICONS["ship_blue"] = QPixmap("./resources/ui/ground_assets/ship_blue.png")
ICONS["missile"] = QPixmap("./resources/ui/ground_assets/missile.png")
ICONS["missile_blue"] = QPixmap("./resources/ui/ground_assets/missile_blue.png")
ICONS["nothreat"] = QPixmap("./resources/ui/ground_assets/nothreat.png") ICONS["nothreat"] = QPixmap("./resources/ui/ground_assets/nothreat.png")
ICONS["nothreat_blue"] = QPixmap("./resources/ui/ground_assets/nothreat_blue.png") ICONS["nothreat_blue"] = QPixmap("./resources/ui/ground_assets/nothreat_blue.png")
ICONS["coastal"] = QPixmap("./resources/ui/ground_assets/coastal.png")
ICONS["coastal_blue"] = QPixmap("./resources/ui/ground_assets/coastal_blue.png")
ICONS["Generator"] = QPixmap( ICONS["Generator"] = QPixmap(
"./resources/ui/misc/" + get_theme_icons() + "/generator.png" "./resources/ui/misc/" + get_theme_icons() + "/generator.png"

View File

@ -84,12 +84,6 @@ class QMapGroundObject(QMapObject):
painter.save() painter.save()
cat = self.ground_object.category cat = self.ground_object.category
if cat == "aa" and self.ground_object.sea_object:
cat = "ship"
if isinstance(self.ground_object, MissileSiteGroundObject):
cat = "missile"
if isinstance(self.ground_object, CoastalSiteGroundObject):
cat = "coastal"
rect = QRect( rect = QRect(
option.rect.x() + 2, option.rect.x() + 2,

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B