Remove GlobalFilesystem.OpenWithExts. Closes #5272.
This commit is contained in:
@@ -47,37 +47,30 @@ namespace OpenRA.Editor
|
|||||||
return bitmap;
|
return bitmap;
|
||||||
}
|
}
|
||||||
|
|
||||||
static string[] SpriteExtensions(TileSet tileSet)
|
static readonly string[] LegacyExtensions = new[] { ".shp", ".tem", "" };
|
||||||
|
|
||||||
|
static string ResolveFilename(string name, TileSet tileSet)
|
||||||
{
|
{
|
||||||
var ssl = Game.ModData.SpriteSequenceLoader as TilesetSpecificSpriteSequenceLoader;
|
var ssl = Game.ModData.SpriteSequenceLoader as TilesetSpecificSpriteSequenceLoader;
|
||||||
if (ssl == null)
|
var extensions = ssl != null ? new[] { ssl.TilesetExtensions[tileSet.Id], ssl.DefaultSpriteExtension }.Append(LegacyExtensions) :
|
||||||
return tileSet.Extensions;
|
LegacyExtensions.AsEnumerable();
|
||||||
|
|
||||||
return tileSet.Extensions.Append(ssl.TilesetExtensions[tileSet.Id], ssl.DefaultSpriteExtension).ToArray();
|
foreach (var e in extensions)
|
||||||
|
if (GlobalFileSystem.Exists(name + e))
|
||||||
|
return name + e;
|
||||||
|
|
||||||
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ActorTemplate RenderActor(ActorInfo info, SequenceProvider sequenceProvider, TileSet tileset, IPalette p, string race)
|
public static ActorTemplate RenderActor(ActorInfo info, SequenceProvider sequenceProvider, TileSet tileset, IPalette p, string race)
|
||||||
{
|
{
|
||||||
var image = info.Traits.Get<ILegacyEditorRenderInfo>().EditorImage(info, sequenceProvider, race);
|
var image = info.Traits.Get<ILegacyEditorRenderInfo>().EditorImage(info, sequenceProvider, race);
|
||||||
var exts = SpriteExtensions(tileset);
|
image = ResolveFilename(image, tileset);
|
||||||
using (var s = GlobalFileSystem.OpenWithExts(image, exts))
|
using (var s = GlobalFileSystem.Open(image))
|
||||||
{
|
{
|
||||||
var shp = new ShpTDSprite(s);
|
var shp = new ShpTDSprite(s);
|
||||||
var bitmap = RenderShp(shp, p);
|
var bitmap = RenderShp(shp, p);
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
using (var s2 = GlobalFileSystem.OpenWithExts(image + "2", exts))
|
|
||||||
{
|
|
||||||
var shp2 = new ShpTDSprite(s2);
|
|
||||||
var roofBitmap = RenderShp(shp2, p);
|
|
||||||
|
|
||||||
using (var g = System.Drawing.Graphics.FromImage(bitmap))
|
|
||||||
g.DrawImage(roofBitmap, 0, 0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch { }
|
|
||||||
|
|
||||||
return new ActorTemplate
|
return new ActorTemplate
|
||||||
{
|
{
|
||||||
Bitmap = bitmap,
|
Bitmap = bitmap,
|
||||||
@@ -89,9 +82,8 @@ namespace OpenRA.Editor
|
|||||||
|
|
||||||
public static ResourceTemplate RenderResourceType(ResourceTypeInfo info, TileSet tileset, IPalette p)
|
public static ResourceTemplate RenderResourceType(ResourceTypeInfo info, TileSet tileset, IPalette p)
|
||||||
{
|
{
|
||||||
var image = info.EditorSprite;
|
var image = ResolveFilename(info.EditorSprite, tileset);
|
||||||
var exts = SpriteExtensions(tileset);
|
using (var s = GlobalFileSystem.Open(image))
|
||||||
using (var s = GlobalFileSystem.OpenWithExts(image, exts))
|
|
||||||
{
|
{
|
||||||
// TODO: Do this properly
|
// TODO: Do this properly
|
||||||
var shp = new ShpTDSprite(s);
|
var shp = new ShpTDSprite(s);
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ namespace OpenRA.Editor
|
|||||||
this.TileSize = Math.Min(tileSize.Width, tileSize.Height);
|
this.TileSize = Math.Min(tileSize.Width, tileSize.Height);
|
||||||
|
|
||||||
templates = new Dictionary<ushort, byte[][]>();
|
templates = new Dictionary<ushort, byte[][]>();
|
||||||
var frameCache = new FrameCache(Game.ModData.SpriteLoaders, tileset.Extensions);
|
var frameCache = new FrameCache(Game.ModData.SpriteLoaders);
|
||||||
foreach (var t in tileset.Templates)
|
foreach (var t in tileset.Templates)
|
||||||
{
|
{
|
||||||
var allFrames = frameCache[t.Value.Image];
|
var allFrames = frameCache[t.Value.Image];
|
||||||
|
|||||||
@@ -164,46 +164,39 @@ namespace OpenRA.FileSystem
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Stream Open(string filename) { return OpenWithExts(filename, ""); }
|
public static Stream Open(string filename)
|
||||||
|
|
||||||
public static Stream OpenWithExts(string filename, params string[] exts)
|
|
||||||
{
|
{
|
||||||
Stream s;
|
Stream s;
|
||||||
if (!TryOpenWithExts(filename, exts, out s))
|
if (!TryOpen(filename, out s))
|
||||||
throw new FileNotFoundException("File not found: {0}".F(filename), filename);
|
throw new FileNotFoundException("File not found: {0}".F(filename), filename);
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool TryOpenWithExts(string filename, string[] exts, out Stream s)
|
public static bool TryOpen(string filename, out Stream s)
|
||||||
{
|
{
|
||||||
|
// Check the cache for a quick lookup
|
||||||
if (filename.IndexOfAny(new char[] { '/', '\\' }) == -1)
|
if (filename.IndexOfAny(new char[] { '/', '\\' }) == -1)
|
||||||
{
|
{
|
||||||
foreach (var ext in exts)
|
s = GetFromCache(PackageHashType.Classic, filename);
|
||||||
{
|
|
||||||
s = GetFromCache(PackageHashType.Classic, filename + ext);
|
|
||||||
if (s != null)
|
if (s != null)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
s = GetFromCache(PackageHashType.CRC32, filename + ext);
|
s = GetFromCache(PackageHashType.CRC32, filename);
|
||||||
if (s != null)
|
if (s != null)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var ext in exts)
|
// Ask each package individually
|
||||||
{
|
|
||||||
var possibleName = filename + ext;
|
|
||||||
var folder = MountedFolders
|
var folder = MountedFolders
|
||||||
.Where(x => x.Exists(possibleName))
|
.Where(x => x.Exists(filename))
|
||||||
.MaxByOrDefault(x => x.Priority);
|
.MaxByOrDefault(x => x.Priority);
|
||||||
|
|
||||||
if (folder != null)
|
if (folder != null)
|
||||||
{
|
{
|
||||||
s = folder.GetContent(possibleName);
|
s = folder.GetContent(filename);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
s = null;
|
s = null;
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ namespace OpenRA.Graphics
|
|||||||
|
|
||||||
Palettes = palettes.AsReadOnly();
|
Palettes = palettes.AsReadOnly();
|
||||||
|
|
||||||
var frameCache = new FrameCache(modData.SpriteLoaders, new string[0]);
|
var frameCache = new FrameCache(modData.SpriteLoaders);
|
||||||
var cursors = new Dictionary<string, CursorSequence>();
|
var cursors = new Dictionary<string, CursorSequence>();
|
||||||
foreach (var s in nodesDict["Cursors"].Nodes)
|
foreach (var s in nodesDict["Cursors"].Nodes)
|
||||||
foreach (var sequence in s.Value.Nodes)
|
foreach (var sequence in s.Value.Nodes)
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ namespace OpenRA.Graphics
|
|||||||
this.tileSet = tileSet;
|
this.tileSet = tileSet;
|
||||||
|
|
||||||
// Every time we load a tile set, we create a sequence cache for it
|
// Every time we load a tile set, we create a sequence cache for it
|
||||||
spriteCache = Exts.Lazy(() => new SpriteCache(modData.SpriteLoaders, tileSet.Extensions, new SheetBuilder(SheetType.Indexed)));
|
spriteCache = Exts.Lazy(() => new SpriteCache(modData.SpriteLoaders, new SheetBuilder(SheetType.Indexed)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Sequences LoadSequences(Map map)
|
public Sequences LoadSequences(Map map)
|
||||||
|
|||||||
@@ -35,13 +35,11 @@ namespace OpenRA.Graphics
|
|||||||
public readonly SheetBuilder SheetBuilder;
|
public readonly SheetBuilder SheetBuilder;
|
||||||
readonly Cache<string, Sprite[]> sprites;
|
readonly Cache<string, Sprite[]> sprites;
|
||||||
|
|
||||||
public SpriteCache(ISpriteLoader[] loaders, string[] exts, SheetBuilder sheetBuilder)
|
public SpriteCache(ISpriteLoader[] loaders, SheetBuilder sheetBuilder)
|
||||||
{
|
{
|
||||||
SheetBuilder = sheetBuilder;
|
SheetBuilder = sheetBuilder;
|
||||||
|
|
||||||
// Include extension-less version
|
sprites = new Cache<string, Sprite[]>(filename => SpriteLoader.GetSprites(filename, loaders, sheetBuilder));
|
||||||
exts = exts.Append("").ToArray();
|
|
||||||
sprites = new Cache<string, Sprite[]>(filename => SpriteLoader.GetSprites(filename, exts, loaders, sheetBuilder));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Sprite[] this[string filename] { get { return sprites[filename]; } }
|
public Sprite[] this[string filename] { get { return sprites[filename]; } }
|
||||||
@@ -51,11 +49,9 @@ namespace OpenRA.Graphics
|
|||||||
{
|
{
|
||||||
readonly Cache<string, ISpriteFrame[]> frames;
|
readonly Cache<string, ISpriteFrame[]> frames;
|
||||||
|
|
||||||
public FrameCache(ISpriteLoader[] loaders, string[] exts)
|
public FrameCache(ISpriteLoader[] loaders)
|
||||||
{
|
{
|
||||||
// Include extension-less version
|
frames = new Cache<string, ISpriteFrame[]>(filename => SpriteLoader.GetFrames(filename, loaders));
|
||||||
exts = exts.Append("").ToArray();
|
|
||||||
frames = new Cache<string, ISpriteFrame[]>(filename => SpriteLoader.GetFrames(filename, exts, loaders));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public ISpriteFrame[] this[string filename] { get { return frames[filename]; } }
|
public ISpriteFrame[] this[string filename] { get { return frames[filename]; } }
|
||||||
@@ -63,14 +59,14 @@ namespace OpenRA.Graphics
|
|||||||
|
|
||||||
public static class SpriteLoader
|
public static class SpriteLoader
|
||||||
{
|
{
|
||||||
public static Sprite[] GetSprites(string filename, string[] exts, ISpriteLoader[] loaders, SheetBuilder sheetBuilder)
|
public static Sprite[] GetSprites(string filename, ISpriteLoader[] loaders, SheetBuilder sheetBuilder)
|
||||||
{
|
{
|
||||||
return GetFrames(filename, exts, loaders).Select(a => sheetBuilder.Add(a)).ToArray();
|
return GetFrames(filename, loaders).Select(a => sheetBuilder.Add(a)).ToArray();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ISpriteFrame[] GetFrames(string filename, string[] exts, ISpriteLoader[] loaders)
|
public static ISpriteFrame[] GetFrames(string filename, ISpriteLoader[] loaders)
|
||||||
{
|
{
|
||||||
using (var stream = GlobalFileSystem.OpenWithExts(filename, exts))
|
using (var stream = GlobalFileSystem.Open(filename))
|
||||||
{
|
{
|
||||||
ISpriteFrame[] frames;
|
ISpriteFrame[] frames;
|
||||||
foreach (var loader in loaders)
|
foreach (var loader in loaders)
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ namespace OpenRA.Graphics
|
|||||||
sheetBuilder = new SheetBuilder(SheetType.Indexed, allocate);
|
sheetBuilder = new SheetBuilder(SheetType.Indexed, allocate);
|
||||||
templates = new Dictionary<ushort, Sprite[]>();
|
templates = new Dictionary<ushort, Sprite[]>();
|
||||||
|
|
||||||
var frameCache = new FrameCache(Game.ModData.SpriteLoaders, tileset.Extensions);
|
var frameCache = new FrameCache(Game.ModData.SpriteLoaders);
|
||||||
foreach (var t in tileset.Templates)
|
foreach (var t in tileset.Templates)
|
||||||
{
|
{
|
||||||
var allFrames = frameCache[t.Value.Image];
|
var allFrames = frameCache[t.Value.Image];
|
||||||
|
|||||||
@@ -217,9 +217,9 @@ namespace OpenRA.Graphics
|
|||||||
{
|
{
|
||||||
VxlReader vxl;
|
VxlReader vxl;
|
||||||
HvaReader hva;
|
HvaReader hva;
|
||||||
using (var s = GlobalFileSystem.OpenWithExts(files.First, ".vxl"))
|
using (var s = GlobalFileSystem.Open(files.First + ".vxl"))
|
||||||
vxl = new VxlReader(s);
|
vxl = new VxlReader(s);
|
||||||
using (var s = GlobalFileSystem.OpenWithExts(files.Second, ".hva"))
|
using (var s = GlobalFileSystem.Open(files.Second + ".hva"))
|
||||||
hva = new HvaReader(s);
|
hva = new HvaReader(s);
|
||||||
return new Voxel(this, vxl, hva);
|
return new Voxel(this, vxl, hva);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,7 +171,6 @@ namespace OpenRA
|
|||||||
public readonly int SheetSize = 512;
|
public readonly int SheetSize = 512;
|
||||||
public readonly string Palette;
|
public readonly string Palette;
|
||||||
public readonly string PlayerPalette;
|
public readonly string PlayerPalette;
|
||||||
public readonly string[] Extensions;
|
|
||||||
public readonly int WaterPaletteRotationBase = 0x60;
|
public readonly int WaterPaletteRotationBase = 0x60;
|
||||||
public readonly byte MaxGroundHeight = 0;
|
public readonly byte MaxGroundHeight = 0;
|
||||||
public readonly Color[] HeightDebugColors = new[] { Color.Red };
|
public readonly Color[] HeightDebugColors = new[] { Color.Red };
|
||||||
@@ -222,12 +221,11 @@ namespace OpenRA
|
|||||||
.Select(y => new TerrainTemplateInfo(this, y)).ToDictionary(t => t.Id);
|
.Select(y => new TerrainTemplateInfo(this, y)).ToDictionary(t => t.Id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public TileSet(string name, string id, string palette, string[] extensions, TerrainTypeInfo[] terrainInfo)
|
public TileSet(string name, string id, string palette, TerrainTypeInfo[] terrainInfo)
|
||||||
{
|
{
|
||||||
Name = name;
|
Name = name;
|
||||||
Id = id;
|
Id = id;
|
||||||
Palette = palette;
|
Palette = palette;
|
||||||
Extensions = extensions;
|
|
||||||
TerrainInfo = terrainInfo;
|
TerrainInfo = terrainInfo;
|
||||||
|
|
||||||
if (TerrainInfo.Length >= byte.MaxValue)
|
if (TerrainInfo.Length >= byte.MaxValue)
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
{
|
{
|
||||||
var ts = new TileSet(Game.ModData, t);
|
var ts = new TileSet(Game.ModData, t);
|
||||||
Console.WriteLine("Tileset: " + ts.Name);
|
Console.WriteLine("Tileset: " + ts.Name);
|
||||||
var sc = new SpriteCache(modData.SpriteLoaders, ts.Extensions, new SheetBuilder(SheetType.Indexed));
|
var sc = new SpriteCache(modData.SpriteLoaders, new SheetBuilder(SheetType.Indexed));
|
||||||
var sequenceFiles = modData.Manifest.Sequences;
|
var sequenceFiles = modData.Manifest.Sequences;
|
||||||
|
|
||||||
var nodes = sequenceFiles
|
var nodes = sequenceFiles
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
|
|
||||||
var palette = new ImmutablePalette(args[2], shadowIndex);
|
var palette = new ImmutablePalette(args[2], shadowIndex);
|
||||||
|
|
||||||
var frames = SpriteLoader.GetFrames(src, new[] { "" }, modData.SpriteLoaders);
|
var frames = SpriteLoader.GetFrames(src, modData.SpriteLoaders);
|
||||||
|
|
||||||
var usePadding = !args.Contains("--nopadding");
|
var usePadding = !args.Contains("--nopadding");
|
||||||
var count = 0;
|
var count = 0;
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
{
|
{
|
||||||
public string Name { get { return "--fix-classic-tilesets"; } }
|
public string Name { get { return "--fix-classic-tilesets"; } }
|
||||||
|
|
||||||
[Desc("Fixes missing template tile definitions and adds filename extensions.")]
|
[Desc("EXTENSIONS", "Fixes missing template tile definitions and adds filename extensions.")]
|
||||||
public void Run(ModData modData, string[] args)
|
public void Run(ModData modData, string[] args)
|
||||||
{
|
{
|
||||||
// HACK: The engine code assumes that Game.modData is set.
|
// HACK: The engine code assumes that Game.modData is set.
|
||||||
@@ -40,12 +40,12 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
var terrainRightColorField = typeof(TerrainTileInfo).GetField("RightColor");
|
var terrainRightColorField = typeof(TerrainTileInfo).GetField("RightColor");
|
||||||
var empty = new Size(0, 0);
|
var empty = new Size(0, 0);
|
||||||
var single = new int2(1, 1);
|
var single = new int2(1, 1);
|
||||||
|
var exts = new[] { "" }.Concat(args[1].Split(','));
|
||||||
|
|
||||||
foreach (var t in Game.ModData.Manifest.TileSets)
|
foreach (var t in Game.ModData.Manifest.TileSets)
|
||||||
{
|
{
|
||||||
var ts = new TileSet(Game.ModData, t);
|
var ts = new TileSet(Game.ModData, t);
|
||||||
var exts = new[] { "" }.Concat(ts.Extensions);
|
var frameCache = new FrameCache(Game.ModData.SpriteLoaders);
|
||||||
var frameCache = new FrameCache(Game.ModData.SpriteLoaders, ts.Extensions);
|
|
||||||
|
|
||||||
Console.WriteLine("Tileset: " + ts.Name);
|
Console.WriteLine("Tileset: " + ts.Name);
|
||||||
foreach (var template in ts.Templates.Values)
|
foreach (var template in ts.Templates.Values)
|
||||||
@@ -54,7 +54,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
foreach (var ext in exts)
|
foreach (var ext in exts)
|
||||||
{
|
{
|
||||||
Stream s;
|
Stream s;
|
||||||
if (!GlobalFileSystem.TryOpenWithExts(template.Image, new[] { ext }, out s))
|
if (!GlobalFileSystem.TryOpen(template.Image + ext, out s))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Rewrite the template image (normally readonly) using reflection
|
// Rewrite the template image (normally readonly) using reflection
|
||||||
|
|||||||
@@ -348,7 +348,7 @@ namespace OpenRA.TilesetBuilder
|
|||||||
if (tilesetName.Length < 1) tilesetName = "Temperat";
|
if (tilesetName.Length < 1) tilesetName = "Temperat";
|
||||||
if (tilesetID.Length < 1) tilesetID = "TEMPERAT";
|
if (tilesetID.Length < 1) tilesetID = "TEMPERAT";
|
||||||
if (tilesetPalette.Length < 1) tilesetPalette = "temperat";
|
if (tilesetPalette.Length < 1) tilesetPalette = "temperat";
|
||||||
if (tilesetExt.Length < 1) tilesetExt = ".tem,.shp";
|
if (tilesetExt.Length < 1) tilesetExt = ".tem";
|
||||||
|
|
||||||
// Create a Tileset definition
|
// Create a Tileset definition
|
||||||
// TODO: Pull this info from the GUI
|
// TODO: Pull this info from the GUI
|
||||||
@@ -359,12 +359,10 @@ namespace OpenRA.TilesetBuilder
|
|||||||
else
|
else
|
||||||
tilesetFile = tilesetName.ToLower().Substring(0, 8) + ".yaml";
|
tilesetFile = tilesetName.ToLower().Substring(0, 8) + ".yaml";
|
||||||
|
|
||||||
var ext = tilesetExt.Split(',');
|
|
||||||
var tileset = new TileSet(
|
var tileset = new TileSet(
|
||||||
name: tilesetName,
|
name: tilesetName,
|
||||||
id: tilesetID.ToUpper(),
|
id: tilesetID.ToUpper(),
|
||||||
palette: tilesetPalette.ToLower(),
|
palette: tilesetPalette.ToLower(),
|
||||||
extensions: new string[] { ext[0], ext[1] },
|
|
||||||
terrainInfo: TerrainType);
|
terrainInfo: TerrainType);
|
||||||
|
|
||||||
// List of files to add to the mix file
|
// List of files to add to the mix file
|
||||||
@@ -376,7 +374,7 @@ namespace OpenRA.TilesetBuilder
|
|||||||
|
|
||||||
// Export tile artwork
|
// Export tile artwork
|
||||||
foreach (var t in surface1.Templates)
|
foreach (var t in surface1.Templates)
|
||||||
fileList.Add(ExportTemplate(t, surface1.Templates.IndexOf(t), tileset.Extensions.First(), dir));
|
fileList.Add(ExportTemplate(t, surface1.Templates.IndexOf(t), tilesetExt, dir));
|
||||||
|
|
||||||
// Add the templates
|
// Add the templates
|
||||||
ushort cur = 0;
|
ushort cur = 0;
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ General:
|
|||||||
Name: Desert
|
Name: Desert
|
||||||
Id: DESERT
|
Id: DESERT
|
||||||
Palette: desert.pal
|
Palette: desert.pal
|
||||||
Extensions: # Obsolete
|
|
||||||
WaterPaletteRotationBase: 32
|
WaterPaletteRotationBase: 32
|
||||||
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
|
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ General:
|
|||||||
Name: Jungle
|
Name: Jungle
|
||||||
Id: JUNGLE
|
Id: JUNGLE
|
||||||
Palette: jungle.pal
|
Palette: jungle.pal
|
||||||
Extensions: # Obsolete
|
|
||||||
WaterPaletteRotationBase: 32
|
WaterPaletteRotationBase: 32
|
||||||
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
|
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ General:
|
|||||||
Name: Snow
|
Name: Snow
|
||||||
Id: SNOW
|
Id: SNOW
|
||||||
Palette: snow.pal
|
Palette: snow.pal
|
||||||
Extensions: # Obsolete
|
|
||||||
WaterPaletteRotationBase: 32
|
WaterPaletteRotationBase: 32
|
||||||
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
|
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ General:
|
|||||||
Name: Temperate
|
Name: Temperate
|
||||||
Id: TEMPERAT
|
Id: TEMPERAT
|
||||||
Palette: temperat.pal
|
Palette: temperat.pal
|
||||||
Extensions: # Obsolete
|
|
||||||
WaterPaletteRotationBase: 32
|
WaterPaletteRotationBase: 32
|
||||||
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
|
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ General:
|
|||||||
Name: Winter
|
Name: Winter
|
||||||
Id: WINTER
|
Id: WINTER
|
||||||
Palette: winter.pal
|
Palette: winter.pal
|
||||||
Extensions: # Obsolete
|
|
||||||
WaterPaletteRotationBase: 32
|
WaterPaletteRotationBase: 32
|
||||||
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
|
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Beach, River, Bridge
|
||||||
|
|
||||||
|
|||||||
@@ -121,7 +121,7 @@ World:
|
|||||||
ResourceType: 1
|
ResourceType: 1
|
||||||
Palette: d2k
|
Palette: d2k
|
||||||
TerrainType: Spice
|
TerrainType: Spice
|
||||||
EditorSprite: spice0
|
EditorSprite: spice0.shp
|
||||||
Variants: spice
|
Variants: spice
|
||||||
MaxDensity: 20
|
MaxDensity: 20
|
||||||
ValuePerUnit: 25
|
ValuePerUnit: 25
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ General:
|
|||||||
Id: ARRAKIS
|
Id: ARRAKIS
|
||||||
SheetSize: 1024
|
SheetSize: 1024
|
||||||
Palette: d2k.pal
|
Palette: d2k.pal
|
||||||
Extensions: # Obsolete
|
|
||||||
EditorTemplateOrder: Basic, Dune, Sand-Detail, Brick, Sand-Cliff, Sand-Smooth, Cliff-Type-Changer, Rock-Sand-Smooth, Rock-Detail, Rock-Cliff, Rock-Cliff-Rock, Rotten-Base, Dead-Worm, Ice, Ice-Detail, Rock-Cliff-Sand, Sand-Platform, Unidentified
|
EditorTemplateOrder: Basic, Dune, Sand-Detail, Brick, Sand-Cliff, Sand-Smooth, Cliff-Type-Changer, Rock-Sand-Smooth, Rock-Detail, Rock-Cliff, Rock-Cliff-Rock, Rotten-Base, Dead-Worm, Ice, Ice-Detail, Rock-Cliff-Sand, Sand-Platform, Unidentified
|
||||||
IgnoreTileSpriteOffsets: True
|
IgnoreTileSpriteOffsets: True
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ General:
|
|||||||
Id: DESERT
|
Id: DESERT
|
||||||
Palette: desert.pal
|
Palette: desert.pal
|
||||||
PlayerPalette: temperat.pal
|
PlayerPalette: temperat.pal
|
||||||
Extensions: # Obsolete
|
|
||||||
WaterPaletteRotationBase: 32
|
WaterPaletteRotationBase: 32
|
||||||
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Water Cliffs, Beach, River, Bridge
|
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Water Cliffs, Beach, River, Bridge
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ General:
|
|||||||
Name: Interior
|
Name: Interior
|
||||||
Id: INTERIOR
|
Id: INTERIOR
|
||||||
Palette: interior.pal
|
Palette: interior.pal
|
||||||
Extensions: # Obsolete
|
|
||||||
EditorTemplateOrder: Floor, Wall
|
EditorTemplateOrder: Floor, Wall
|
||||||
|
|
||||||
Terrain:
|
Terrain:
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ General:
|
|||||||
Name: Snow
|
Name: Snow
|
||||||
Id: SNOW
|
Id: SNOW
|
||||||
Palette: snow.pal
|
Palette: snow.pal
|
||||||
Extensions: # Obsolete
|
|
||||||
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Water Cliffs, Beach, River, Bridge
|
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Water Cliffs, Beach, River, Bridge
|
||||||
|
|
||||||
Terrain:
|
Terrain:
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ General:
|
|||||||
Name: Temperate
|
Name: Temperate
|
||||||
Id: TEMPERAT
|
Id: TEMPERAT
|
||||||
Palette: temperat.pal
|
Palette: temperat.pal
|
||||||
Extensions: # Obsolete
|
|
||||||
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Water Cliffs, Beach, River, Bridge
|
EditorTemplateOrder: Terrain, Debris, Road, Cliffs, Water Cliffs, Beach, River, Bridge
|
||||||
|
|
||||||
Terrain:
|
Terrain:
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
General:
|
General:
|
||||||
Name: Snow
|
Name: Snow
|
||||||
Id: SNOW
|
Id: SNOW
|
||||||
Extensions: .sno, .shp
|
|
||||||
Palette: isosno.pal
|
Palette: isosno.pal
|
||||||
MaxGroundHeight: 16
|
MaxGroundHeight: 16
|
||||||
HeightDebugColors: 128,0,0,0, 128,0,0,68, 128,0,0,136, 128,0,0,204, 128,0,0,255, 128,68,0,204, 128,136,0,136, 128,204,0,68, 128,255,17,0, 128,255,85,0, 128,255,153,0, 128,255,221,0, 128,221,255,0, 128,153,255,0, 128,85,255,0, 128,17,255,0
|
HeightDebugColors: 128,0,0,0, 128,0,0,68, 128,0,0,136, 128,0,0,204, 128,0,0,255, 128,68,0,204, 128,136,0,136, 128,204,0,68, 128,255,17,0, 128,255,85,0, 128,255,153,0, 128,255,221,0, 128,221,255,0, 128,153,255,0, 128,85,255,0, 128,17,255,0
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
General:
|
General:
|
||||||
Name: Temperate
|
Name: Temperate
|
||||||
Id: TEMPERAT
|
Id: TEMPERAT
|
||||||
Extensions: # Obsolete
|
|
||||||
Palette: isotem.pal
|
Palette: isotem.pal
|
||||||
MaxGroundHeight: 16
|
MaxGroundHeight: 16
|
||||||
HeightDebugColors: 128,0,0,0, 128,0,0,68, 128,0,0,136, 128,0,0,204, 128,0,0,255, 128,68,0,204, 128,136,0,136, 128,204,0,68, 128,255,17,0, 128,255,85,0, 128,255,153,0, 128,255,221,0, 128,221,255,0, 128,153,255,0, 128,85,255,0, 128,17,255,0
|
HeightDebugColors: 128,0,0,0, 128,0,0,68, 128,0,0,136, 128,0,0,204, 128,0,0,255, 128,68,0,204, 128,136,0,136, 128,204,0,68, 128,255,17,0, 128,255,85,0, 128,255,153,0, 128,255,221,0, 128,221,255,0, 128,153,255,0, 128,85,255,0, 128,17,255,0
|
||||||
|
|||||||
Reference in New Issue
Block a user