correct matrix
This commit is contained in:
parent
1aa8027a13
commit
58df89a5af
|
@ -251,15 +251,18 @@ namespace Celeste.Mod.AvaliSkin {
|
|||
// apply the recolor effect to the player
|
||||
spriteRecolor(color, PlayerConfig.LightBody, PlayerConfig.DarkBody);
|
||||
|
||||
DynData<SpriteBatch> spriteData = new DynData<SpriteBatch>(Draw.SpriteBatch);
|
||||
Matrix matrix = (Matrix)spriteData["transformMatrix"];
|
||||
|
||||
Draw.SpriteBatch.End();
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, FxRecolor, (self.Scene as Level).GameplayRenderer.Camera.Matrix);
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, FxRecolor, matrix);
|
||||
|
||||
// render Avali...
|
||||
orig(self);
|
||||
|
||||
// ... and reset rendering to stop using the effect
|
||||
Draw.SpriteBatch.End();
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, null, (self.Scene as Level).GameplayRenderer.Camera.Matrix);
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, null, matrix);
|
||||
} else if (self.Scene != null) {
|
||||
trySpriteSwap(sprite, false);
|
||||
orig(self);
|
||||
|
@ -296,15 +299,18 @@ namespace Celeste.Mod.AvaliSkin {
|
|||
// apply the recolor effect to the sprite
|
||||
spriteRecolor(color, PlayerConfig.LightBody, PlayerConfig.DarkBody);
|
||||
|
||||
DynData<SpriteBatch> spriteData = new DynData<SpriteBatch>(Draw.SpriteBatch);
|
||||
Matrix matrix = (Matrix)spriteData["transformMatrix"];
|
||||
|
||||
Draw.SpriteBatch.End();
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, FxRecolor, (self.Scene as Level).GameplayRenderer.Camera.Matrix);
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, FxRecolor, matrix);
|
||||
|
||||
// render the sprite...
|
||||
orig(self);
|
||||
|
||||
// ... and reset rendering to stop using the effect
|
||||
Draw.SpriteBatch.End();
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, null, (self.Scene as Level).GameplayRenderer.Camera.Matrix);
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, null, matrix);
|
||||
} else {
|
||||
trySpriteSwap(self, false);
|
||||
orig(self);
|
||||
|
@ -376,15 +382,18 @@ namespace Celeste.Mod.AvaliSkin {
|
|||
// apply the recolor effect to the ghost
|
||||
spriteRecolor(config.GetColor(ghost), config.LightBody, config.DarkBody);
|
||||
|
||||
DynData<SpriteBatch> spriteData = new DynData<SpriteBatch>(Draw.SpriteBatch);
|
||||
Matrix matrix = (Matrix)spriteData["transformMatrix"];
|
||||
|
||||
Draw.SpriteBatch.End();
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, FxRecolor, (self.Scene as Level).GameplayRenderer.Camera.Matrix);
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, FxRecolor, matrix);
|
||||
|
||||
// render the ghost...
|
||||
orig(self);
|
||||
|
||||
// ... and reset rendering to stop using the effect
|
||||
Draw.SpriteBatch.End();
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, null, (self.Scene as Level).GameplayRenderer.Camera.Matrix);
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, null, matrix);
|
||||
}
|
||||
|
||||
|
||||
|
@ -404,15 +413,18 @@ namespace Celeste.Mod.AvaliSkin {
|
|||
PlayerConfig.DarkBody
|
||||
);
|
||||
|
||||
DynData<SpriteBatch> spriteData = new DynData<SpriteBatch>(Draw.SpriteBatch);
|
||||
Matrix matrix = (Matrix)spriteData["transformMatrix"];
|
||||
|
||||
Draw.SpriteBatch.End();
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, FxRecolor, (self.Scene as Level).GameplayRenderer.Camera.Matrix);
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, FxRecolor, matrix);
|
||||
|
||||
// render the dead Avali :(
|
||||
orig(self);
|
||||
|
||||
// ... and reset rendering to stop using the effect
|
||||
Draw.SpriteBatch.End();
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, null, (self.Scene as Level).GameplayRenderer.Camera.Matrix);
|
||||
Draw.SpriteBatch.Begin(SpriteSortMode.Deferred, BlendState.AlphaBlend, SamplerState.PointWrap, DepthStencilState.None, RasterizerState.CullNone, null, matrix);
|
||||
} else if (self.Scene != null) {
|
||||
trySpriteSwap(sprite, false);
|
||||
orig(self);
|
||||
|
|
Loading…
Reference in New Issue