Below ICON_MIN_CELL_PX (42px cell width) everything still draws as the plain colored dot it always has, a game icon at that size would just be an illegible smudge. Past that threshold, Nest/Target/Ally markers switch to the game's own unit icon for their type, drawn as a Cairo surface (raw Cairo draw_func, not GTK widgets, so this loads PNGs directly via cairo.ImageSurface.create_from_png(), cached per path so a repeat draw doesn't re-hit disk). icons.py's target_icon_path(type, is_ally) is the TargetType -> icon file mapping, best-effort guesses the same way the Shell descriptions were (flagged for correction): most types map onto the game's own Enemy_*/Friendly_* unit icons (is_ally picks which set, falling back to Enemy_ if a given type has no Friendly_ counterpart), TANK reuses the Armor_Mechanized artwork (no dedicated tank icon exists), and STRIKE gets its own crosshair (assets/icons/misc/Crosshair.png, not a unit icon at all, a planned impact point) rather than a unit icon. An ambiguous candidate (hollow, dashed-ring marker) never switches to the icon regardless of zoom, an icon there would look more confident about an unconfirmed position than the dashed ring is supposed to convey. Verified with rendered screenshots at both zoom levels: plain dots below the threshold, real icons above it (Tank/Infantry/MarineGarrison/ Nest all confirmed showing their correct icons), and the Strike crosshair specifically. |
||
|---|---|---|
| .. | ||
| misc | ||
| nest | ||
| reference_points | ||
| shells | ||
| targets | ||
| README.md | ||
Icons
Extracted from the game's own GameAssets/Assets/Texture2D (gitignored,
not redistributed as a whole), for reuse in FeNigma's UI rather than
redrawing equivalents from scratch. Two source filenames had typos in
the game files themselves ("Frendly_", "Refrence_Point_"), corrected
here on copy; everything else keeps its original name.
targets/enemy/,targets/friendly/- one marker icon per game unit type,Enemy_*.png/Friendly_*.png(originallyFrendly_*.png). Not a strict 1:1 withTargetTypeinmodels.py, the game has more unit types than this app currently tracks as targets, pick whichever fits closest per type.reference_points/-ReferencePoint_A.png.._D.png(originallyRefrence_Point_*.png), the four lettered RP markers.shells/- one icon perShellenum member inshells.py, named to match exactly (AP.png,HE.png, ...), safe to look up byShell.namedirectly. Source filenames for the ones without a game short-code baked in: MSTD <- "Mustard Gas_DemoBlocked.png", TEAR <- "Tear Gas.png", PRPG <- "Propaganda.png", PHGN <- "Phosgene.png", ATMC <- "Nuclear.png".nest/IronNest.png- the Iron Nest / FDC unit icon (originally "IronNest Unit Icon.png").misc/ScoutPlane.png- scout-flight icon (originally "Scout Plane B.png"), fits the app's scout flight planning feature.