Migrate tileset names to Fluent.

This commit is contained in:
Paul Chote
2025-04-27 14:28:37 +01:00
committed by Gustas Kažukauskas
parent 246a1b9fec
commit 90013bc6d3
17 changed files with 43 additions and 14 deletions

View File

@@ -231,6 +231,9 @@ namespace OpenRA.Mods.Common.Lint
static (Keys UsedKeys, List<FieldInfo> TestedFields) GetUsedFluentKeysInMod(ModData modData)
{
const BindingFlags ConstBinding = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static;
const BindingFlags InstanceBinding = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance;
var usedKeys = GetUsedFluentKeysInRuleset(modData.DefaultRules);
var testedFields = new List<FieldInfo>();
testedFields.AddRange(
@@ -256,15 +259,21 @@ namespace OpenRA.Mods.Common.Lint
[resource.Value],
(obj, field) => $"`ResourceRenderer.ResourceTypes.{resource.Key}.{field.Name}` in rules yaml");
const BindingFlags Binding = BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Static;
var constFields = modData.ObjectCreator.GetTypes().SelectMany(modType => modType.GetFields(Binding)).Where(f => f.IsLiteral);
foreach (var terrainInfo in modData.DefaultTerrainInfo.Values)
GetUsedFluentKeys(
usedKeys, testedFields,
terrainInfo.GetType().GetFields(InstanceBinding),
[terrainInfo],
(obj, field) => $"`{field.ReflectedType.Name}.{field.Name}`");
var constFields = modData.ObjectCreator.GetTypes().SelectMany(modType => modType.GetFields(ConstBinding)).Where(f => f.IsLiteral);
GetUsedFluentKeys(
usedKeys, testedFields,
constFields,
[(object)null],
(obj, field) => $"`{field.ReflectedType.Name}.{field.Name}`");
var modMetadataFields = typeof(ModMetadata).GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
var modMetadataFields = typeof(ModMetadata).GetFields(InstanceBinding);
GetUsedFluentKeys(
usedKeys, testedFields,
modMetadataFields,

View File

@@ -68,6 +68,7 @@ namespace OpenRA.Mods.Common.Terrain
public class DefaultTerrain : ITemplatedTerrainInfo, ITerrainInfoNotifyMapCreated
{
[FluentReference]
public readonly string Name;
public readonly string Id;
public readonly Size TileSize = new(24, 24);

View File

@@ -4,3 +4,9 @@ mod-windowtitle = OpenRA - Tiberian Dawn
## CncLoadScreen
loadscreen-loading = Loading
## Tilesets
tileset-desert = Desert
tileset-snow = Snow
tileset-temperat = Temperate
tileset-winter = Winter

View File

@@ -1,5 +1,5 @@
General:
Name: Desert
Name: tileset-desert
Id: DESERT
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
HeightDebugColors: 880000

View File

@@ -1,5 +1,5 @@
General:
Name: Snow
Name: tileset-snow
Id: SNOW
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
HeightDebugColors: 880000

View File

@@ -1,5 +1,5 @@
General:
Name: Temperate
Name: tileset-temperat
Id: TEMPERAT
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
HeightDebugColors: AA0000

View File

@@ -1,5 +1,5 @@
General:
Name: Winter
Name: tileset-winter
Id: WINTER
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
HeightDebugColors: 880000

View File

@@ -4,3 +4,6 @@ mod-windowtitle = OpenRA - Dune 2000
## LogoStripLoadScreen
loadscreen-loading = Filling Crates..., Breeding Sandworms..., Fuelling carryalls..., Deploying harvesters..., Preparing thopters..., Summoning mentats...
## Tilesets
tileset-arrakis = Arrakis

View File

@@ -1,5 +1,5 @@
General:
Name: Arrakis
Name: tileset-arrakis
Id: ARRAKIS
TileSize: 32, 32
SheetSize: 1024

View File

@@ -4,3 +4,9 @@ mod-windowtitle = OpenRA - Red Alert
## LogoStripeLoadScreen
loadscreen-loading = Filling Crates..., Charging Capacitors..., Reticulating Splines..., Planting Trees..., Building Bridges..., Aging Empires..., Compiling EVA..., Constructing Pylons..., Activating Skynet..., Splitting Atoms...
## Tilesets
tileset-desert = Desert
tileset-snow = Snow
tileset-temperat = Temperate
tileset-interior = Interior

View File

@@ -1,5 +1,5 @@
General:
Name: Desert
Name: tileset-desert
Id: DESERT
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Water Cliffs, Beach, River, Bridge
HeightDebugColors: 880000

View File

@@ -1,5 +1,5 @@
General:
Name: Interior
Name: tileset-interior
Id: INTERIOR
EditorTemplateOrder: Floor, Wall
HeightDebugColors: 880000

View File

@@ -1,5 +1,5 @@
General:
Name: Snow
Name: tileset-snow
Id: SNOW
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Water Cliffs, Beach, River, Bridge
HeightDebugColors: 880000

View File

@@ -1,5 +1,5 @@
General:
Name: Temperate
Name: tileset-temperat
Id: TEMPERAT
SheetSize: 1024
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Water Cliffs, Beach, River, Bridge

View File

@@ -4,3 +4,7 @@ mod-windowtitle = OpenRA - Tiberian Sun
## LogoStripeLoadScreen
loadscreen-loading = Updating EVA installation..., Changing perspective...
## Tilesets
tileset-snow = Snow
tileset-temperate = Temperate

View File

@@ -1,5 +1,5 @@
General:
Name: Snow
Name: tileset-snow
Id: SNOW
TileSize: 48, 24
HeightDebugColors: 00000080, 00004480, 00008880, 0000CC80, 0000FF80, 4400CC80, 88008880, CC004480, FF110080, FF550080, FF990080, FFDD0080, DDFF0080, 99FF0080, 55FF0080, 11FF0080

View File

@@ -1,5 +1,5 @@
General:
Name: Temperate
Name: tileset-temperate
Id: TEMPERATE
TileSize: 48, 24
HeightDebugColors: 00000080, 00004480, 00008880, 0000CC80, 0000FF80, 4400CC80, 88008880, CC004480, FF110080, FF550080, FF990080, FFDD0080, DDFF0080, 99FF0080, 55FF0080, 11FF0080