mirror of
https://github.com/sampletext32/ParkanPlayground.git
synced 2025-05-18 19:31:17 +03:00
fix color ordering in 4444
fix blur when x2 scale add TFNT texture open support
This commit is contained in:
parent
dd2fce984c
commit
bba3f2a810
@ -59,9 +59,28 @@ namespace NResUI.ImGuiUI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ImGui.MenuItem("Open TFNT TEXM"))
|
||||||
|
{
|
||||||
|
var result = Dialog.FileOpen();
|
||||||
|
|
||||||
|
if (result.IsOk)
|
||||||
|
{
|
||||||
|
var path = result.Path;
|
||||||
|
|
||||||
|
using var fs = new FileStream(path, FileMode.Open);
|
||||||
|
|
||||||
|
fs.Seek(4116, SeekOrigin.Begin);
|
||||||
|
|
||||||
|
var parseResult = TexmParser.ReadFromStream(fs, path);
|
||||||
|
|
||||||
|
_texmExplorerViewModel.SetParseResult(parseResult, path);
|
||||||
|
Console.WriteLine("Read TEXM");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (_nResExplorerViewModel.HasFile)
|
if (_nResExplorerViewModel.HasFile)
|
||||||
{
|
{
|
||||||
if (ImGui.MenuItem("Экспортировать"))
|
if (ImGui.MenuItem("Экспортировать NRes"))
|
||||||
{
|
{
|
||||||
var result = Dialog.FolderPicker();
|
var result = Dialog.FolderPicker();
|
||||||
|
|
||||||
|
@ -68,6 +68,9 @@ namespace NResUI
|
|||||||
SetWrap(TextureCoordinate.S, TextureWrapMode.Repeat);
|
SetWrap(TextureCoordinate.S, TextureWrapMode.Repeat);
|
||||||
SetWrap(TextureCoordinate.T, TextureWrapMode.Repeat);
|
SetWrap(TextureCoordinate.T, TextureWrapMode.Repeat);
|
||||||
|
|
||||||
|
SetMinFilter(TextureMinFilter.Nearest);
|
||||||
|
SetMagFilter(TextureMagFilter.Nearest);
|
||||||
|
|
||||||
_gl.TexParameterI(GLEnum.Texture2D, TextureParameterName.TextureMaxLevel, MipmapLevels - 1);
|
_gl.TexParameterI(GLEnum.Texture2D, TextureParameterName.TextureMaxLevel, MipmapLevels - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -180,14 +180,14 @@ public class TexmFile
|
|||||||
{
|
{
|
||||||
var rawPixel = span.Slice(i, 2);
|
var rawPixel = span.Slice(i, 2);
|
||||||
|
|
||||||
var r = (byte)(((rawPixel[0] >> 3) & 0b11111) / 32 * 255);
|
var g = (byte)(((rawPixel[0] >> 3) & 0b11111) * 255 / 31);
|
||||||
var b = (byte)(((rawPixel[0] & 0b111) << 3) | ((rawPixel[1] >> 5) & 0b111) / 64 * 255);
|
var b = (byte)((((rawPixel[0] & 0b111) << 3) | ((rawPixel[1] >> 5) & 0b111)) * 255 / 63);
|
||||||
var g = (byte)((rawPixel[1] & 0b11111) / 32 * 255);
|
var r = (byte)((rawPixel[1] & 0b11111) * 255 / 31);
|
||||||
|
|
||||||
result[i / 2 * 4 + 0] = r;
|
result[i / 2 * 4 + 0] = r;
|
||||||
result[i / 2 * 4 + 1] = g;
|
result[i / 2 * 4 + 1] = g;
|
||||||
result[i / 2 * 4 + 2] = b;
|
result[i / 2 * 4 + 2] = b;
|
||||||
result[i / 2 * 4 + 3] = 255;
|
result[i / 2 * 4 + 3] = r;
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -202,10 +202,10 @@ public class TexmFile
|
|||||||
{
|
{
|
||||||
var rawPixel = span.Slice(i, 2);
|
var rawPixel = span.Slice(i, 2);
|
||||||
|
|
||||||
var r = (byte)((float)((rawPixel[0] >> 4) & 0b1111) * 17);
|
var a = (byte)(((rawPixel[0] >> 4) & 0b1111) * 17);
|
||||||
var g = (byte)((float)((rawPixel[0] >> 0) & 0b1111) * 17);
|
var b = (byte)(((rawPixel[0] >> 0) & 0b1111) * 17);
|
||||||
var b = (byte)((float)((rawPixel[1] >> 4) & 0b1111) * 17);
|
var g = (byte)(((rawPixel[1] >> 4) & 0b1111) * 17);
|
||||||
var a = (byte)((float)((rawPixel[1] >> 0) & 0b1111) * 17);
|
var r = (byte)(((rawPixel[1] >> 0) & 0b1111) * 17);
|
||||||
|
|
||||||
result[i / 2 * 4 + 0] = r;
|
result[i / 2 * 4 + 0] = r;
|
||||||
result[i / 2 * 4 + 1] = g;
|
result[i / 2 * 4 + 1] = g;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user