|
|
|
@ -46,10 +46,6 @@ namespace Palettizer
@@ -46,10 +46,6 @@ namespace Palettizer
|
|
|
|
|
|
|
|
|
|
console.Out.Write("Parsing: " + gmProject.Name + "\n"); |
|
|
|
|
|
|
|
|
|
if (Directory.Exists("output")) |
|
|
|
|
{ |
|
|
|
|
Directory.Delete("output", true); |
|
|
|
|
} |
|
|
|
|
var outputDir = Directory.CreateDirectory("output"); |
|
|
|
|
|
|
|
|
|
var palette = new Palette(); |
|
|
|
@ -75,9 +71,10 @@ namespace Palettizer
@@ -75,9 +71,10 @@ namespace Palettizer
|
|
|
|
|
{ |
|
|
|
|
console.Out.Write(sprite.Name + "\n"); |
|
|
|
|
|
|
|
|
|
foreach (var spriteFrame in sprite.Frames) |
|
|
|
|
for (var i = 0; i < sprite.Frames.Length; i += 1) |
|
|
|
|
{ |
|
|
|
|
ImageResult image; |
|
|
|
|
var spriteFrame = sprite.Frames[i]; |
|
|
|
|
ImageResult image; |
|
|
|
|
byte[] grayscaleImage; |
|
|
|
|
|
|
|
|
|
var spriteImageFilePath = Path.Combine(spriteDir, spriteFrame.CompositeImage.FrameID.Name + ".png"); |
|
|
|
@ -89,17 +86,24 @@ namespace Palettizer
@@ -89,17 +86,24 @@ namespace Palettizer
|
|
|
|
|
grayscaleImage = AddSpriteToPalette(palette, image, console); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var spriteWriteDir = Path.Combine(outputDir.FullName, Path.GetRelativePath(projectDir.FullName, spriteDir)); |
|
|
|
|
Directory.CreateDirectory(spriteWriteDir); |
|
|
|
|
var spriteWriteDir = Path.Combine(outputDir.FullName, Path.GetRelativePath(projectDir.FullName, spriteDir)); |
|
|
|
|
Directory.CreateDirectory(spriteWriteDir); |
|
|
|
|
|
|
|
|
|
var spriteWritePath = Path.Combine(spriteWriteDir, spriteFrame.CompositeImage.FrameID.Name + ".png"); |
|
|
|
|
// Now write the image to output directory as grayscale
|
|
|
|
|
using (var stream = File.OpenWrite(spriteWritePath)) |
|
|
|
|
var spriteWritePath = Path.Combine(spriteWriteDir, spriteFrame.CompositeImage.FrameID.Name + ".png"); |
|
|
|
|
// Now write the image to output directory as grayscale
|
|
|
|
|
using (var stream = File.OpenWrite(spriteWritePath)) |
|
|
|
|
{ |
|
|
|
|
writer.WritePng(grayscaleImage, image.Width, image.Height, StbImageWriteSharp.ColorComponents.RedGreenBlueAlpha, stream); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Now write out the layer
|
|
|
|
|
// There's just 1 always because nobody uses GM's shit ass sprite editor
|
|
|
|
|
var layerSpriteWriteDir = Path.Combine(spriteWriteDir, "layers", sprite.Frames[i].CompositeImage.FrameID.Name); |
|
|
|
|
Directory.CreateDirectory(layerSpriteWriteDir); |
|
|
|
|
var layerSpriteWritePath = Path.Combine(layerSpriteWriteDir, sprite.Layers[0].Name + ".png"); |
|
|
|
|
File.Copy(spriteWritePath, layerSpriteWritePath); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -136,6 +140,7 @@ namespace Palettizer
@@ -136,6 +140,7 @@ namespace Palettizer
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// build the alternate rows
|
|
|
|
|
for (var j = 1; j < paletteImage.Width; j += 1) |
|
|
|
|
{ |
|
|
|
|
var colorPalette = new Color[256]; |
|
|
|
|