Tweaks
This commit is contained in:
@@ -253,23 +253,28 @@ namespace OpenRA.FileFormats
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public int[,] FrameData()
|
int cachedFrame;
|
||||||
|
public int[,] FrameData { get
|
||||||
{
|
{
|
||||||
for (var y = 0; y < blocks.Y; y++)
|
if (cachedFrame != currentFrame)
|
||||||
for (var x = 0; x < blocks.X; x++)
|
{
|
||||||
{
|
cachedFrame = currentFrame;
|
||||||
var px = origData[x + y*blocks.X];
|
for (var y = 0; y < blocks.Y; y++)
|
||||||
var mod = origData[x + (y + blocks.Y)*blocks.X];
|
for (var x = 0; x < blocks.X; x++)
|
||||||
for (var j = 0; j < blockHeight; j++)
|
{
|
||||||
for (var i = 0; i < blockWidth; i++)
|
var px = origData[x + y*blocks.X];
|
||||||
{
|
var mod = origData[x + (y + blocks.Y)*blocks.X];
|
||||||
var cbfi = (mod*256 + px)*8 + j*blockWidth + i;
|
for (var j = 0; j < blockHeight; j++)
|
||||||
byte color = (mod == 0x0f) ? px : cbf[cbfi];
|
for (var i = 0; i < blockWidth; i++)
|
||||||
frameData[y*blockHeight + j, x*blockWidth + i] = palette[color];
|
{
|
||||||
}
|
var cbfi = (mod*256 + px)*8 + j*blockWidth + i;
|
||||||
}
|
byte color = (mod == 0x0f) ? px : cbf[cbfi];
|
||||||
|
frameData[y*blockHeight + j, x*blockWidth + i] = palette[color];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return frameData;
|
return frameData;
|
||||||
}
|
}}
|
||||||
|
|
||||||
int NextPowerOf2(int v)
|
int NextPowerOf2(int v)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ namespace OpenRA.Widgets
|
|||||||
Sound.PlayRaw(video.AudioData);
|
Sound.PlayRaw(video.AudioData);
|
||||||
|
|
||||||
nextFrame = 0;
|
nextFrame = 0;
|
||||||
videoSprite.sheet.Texture.SetData(video.FrameData());
|
videoSprite.sheet.Texture.SetData(video.FrameData);
|
||||||
first = false;
|
first = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ namespace OpenRA.Widgets
|
|||||||
{
|
{
|
||||||
video.AdvanceFrame();
|
video.AdvanceFrame();
|
||||||
if (nextFrame == video.CurrentFrame)
|
if (nextFrame == video.CurrentFrame)
|
||||||
videoSprite.sheet.Texture.SetData(video.FrameData());
|
videoSprite.sheet.Texture.SetData(video.FrameData);
|
||||||
}
|
}
|
||||||
|
|
||||||
Game.Renderer.RgbaSpriteRenderer.DrawSprite(videoSprite, new int2(RenderBounds.X,RenderBounds.Y), "chrome");
|
Game.Renderer.RgbaSpriteRenderer.DrawSprite(videoSprite, new int2(RenderBounds.X,RenderBounds.Y), "chrome");
|
||||||
|
|||||||
Reference in New Issue
Block a user