TH1/MD/ChronicIssueList/2026-07-01-hakurei-statue-obsolete-assets.md

3.2 KiB

TH1-CI-2026-07-01-002 Hakurei Statue Obsolete Asset Family

  • Status: Fixed in assets; guardrail added; Unity validation pending
  • First recorded date: 2026-07-01
  • Severity: Critical

Raw Symptom

User report: Hakurei empire statue buildings and build actions still used wrong icons, including the horse statue build action. The five ReimuForces_Norway_Statue_* PNGs were not just assigned to the wrong rows; they were invalid assets that should not exist in the game.

Affected files:

  • Unity/Assets/BundleResources/ArtResources/TH1Buildings/TH1BuildingsReimuForces/Norway/ReimuForces_Norway_Statue_*.png
  • Unity/Assets/BundleResources/DataAssets/ActionDataAssets.asset
  • Unity/Assets/BundleResources/DataAssets/GridAndResourceDataAssets.asset
  • Unity/Assets/BundleResources/DataAssets/CultureCardDataAssets.asset
  • Matching Unity/Assets/BundleResources/Export/* runtime assets

Why This Recurs

The prior fix treated newly introduced statue PNGs as the expected Hakurei/Reimu art instead of comparing against existing civilization temple/statue rows. That also caused the guardrail script to encode the wrong GUIDs as expected values, so future checks would have preserved the bad assets instead of rejecting them.

Root Cause

Two mistakes compounded:

  • The asset family TH1BuildingsReimuForces/Norway/ReimuForces_Norway_Statue_* was introduced even though Hakurei/Reimu already has the correct temple/statue sprite family under TH1BuildingsCommon/Temple/Hakurei.
  • The 1-based enum value CivEnum.Norway = 5 / ForceEnum.Reimu = 5 was confused with DataAsset ids, polluting CivId: 5 / ForceId: 5 rows even though Hakurei/Reimu is CivId: 4 / ForceId: 4.

Root-Cause Fix

  • Removed the invalid ReimuForces_Norway_Statue_Horse/Queen/Chariot/Minister/King PNGs and their .meta files.
  • Repointed Hakurei/Reimu CivId: 4 / ForceId: 4 action, map-resource, and culture-card sprite references to the existing TH1BuildingsCommon/Temple/Hakurei series:
    • Horse statue: NorwayAunn_Temple1..5
    • Queen statue: NorwaySumireko_Temple1..5
    • Chariot statue: NorwaySuika_Temple1..5
    • Minister statue: NorwayKasen_Temple1..5
    • King statue: NorwayReimu_Temple1..5
  • Removed the erroneous CivId: 5 / ForceId: 5 Hakurei temple rows from grid/resource data.

Guardrail Added

Tools/CheckHakureiStatueActionIcons.ps1 now fails if:

  • Any obsolete ReimuForces_Norway_Statue_* file exists.
  • Any DataAssets or Export asset still references the obsolete GUIDs.
  • Hakurei/Reimu statue action, map-resource, or culture-card rows for CivId: 4 / ForceId: 4 do not use the existing TH1BuildingsCommon/Temple/Hakurei GUIDs.
  • Any Hakurei temple GUID leaks into CivId: 5 / ForceId: 5.
  • The hero action hint UI bypasses ActionInfo.GetIcon.

Verification Performed

  • Tools/CheckHakureiStatueActionIcons.ps1
  • Tools/CheckUnityAssetReferenceIntegrity.ps1
  • rg scan for obsolete GUIDs under Unity/Assets/BundleResources
  • git diff --check

Remaining Validation Gaps

  • Unity Editor visual validation is still required to confirm all five Hakurei/Reimu statue build actions, culture-card icons, and completed map resources render with the intended Aunn/Sumireko/Suika/Kasen/Reimu temple series.