Remove RenderSprites.Scale.

This commit is contained in:
Paul Chote
2020-12-31 18:03:55 +00:00
committed by teinarss
parent f6b40b2bce
commit 82a9809192
31 changed files with 100 additions and 70 deletions

View File

@@ -52,23 +52,22 @@ namespace OpenRA.Graphics
public int CurrentFrame { get { return backwards ? CurrentSequence.Length - frame - 1 : frame; } }
public Sprite Image { get { return CurrentSequence.GetSprite(CurrentFrame, facingFunc()); } }
public IRenderable[] Render(WPos pos, WVec offset, int zOffset, PaletteReference palette, float scale)
public IRenderable[] Render(WPos pos, WVec offset, int zOffset, PaletteReference palette)
{
scale *= CurrentSequence.Scale;
var tintModifiers = CurrentSequence.IgnoreWorldTint ? TintModifiers.IgnoreWorldTint : TintModifiers.None;
var imageRenderable = new SpriteRenderable(Image, pos, offset, CurrentSequence.ZOffset + zOffset, palette, scale, IsDecoration, tintModifiers);
var imageRenderable = new SpriteRenderable(Image, pos, offset, CurrentSequence.ZOffset + zOffset, palette, CurrentSequence.Scale, IsDecoration, tintModifiers);
if (CurrentSequence.ShadowStart >= 0)
{
var shadow = CurrentSequence.GetShadow(CurrentFrame, facingFunc());
var shadowRenderable = new SpriteRenderable(shadow, pos, offset, CurrentSequence.ShadowZOffset + zOffset, palette, scale, true, tintModifiers);
var shadowRenderable = new SpriteRenderable(shadow, pos, offset, CurrentSequence.ShadowZOffset + zOffset, palette, CurrentSequence.Scale, true, tintModifiers);
return new IRenderable[] { shadowRenderable, imageRenderable };
}
return new IRenderable[] { imageRenderable };
}
public IRenderable[] RenderUI(WorldRenderer wr, int2 pos, WVec offset, int zOffset, PaletteReference palette, float scale)
public IRenderable[] RenderUI(WorldRenderer wr, int2 pos, WVec offset, int zOffset, PaletteReference palette, float scale = 1f)
{
scale *= CurrentSequence.Scale;
var screenOffset = (scale * wr.ScreenVectorComponents(offset)).XY.ToInt2();
@@ -86,9 +85,9 @@ namespace OpenRA.Graphics
return new IRenderable[] { imageRenderable };
}
public Rectangle ScreenBounds(WorldRenderer wr, WPos pos, WVec offset, float scale)
public Rectangle ScreenBounds(WorldRenderer wr, WPos pos, WVec offset)
{
scale *= CurrentSequence.Scale;
var scale = CurrentSequence.Scale;
var xy = wr.ScreenPxPosition(pos) + wr.ScreenPxOffset(offset);
var cb = CurrentSequence.Bounds;
return Rectangle.FromLTRB(
@@ -100,7 +99,7 @@ namespace OpenRA.Graphics
public IRenderable[] Render(WPos pos, PaletteReference palette)
{
return Render(pos, WVec.Zero, 0, palette, 1f);
return Render(pos, WVec.Zero, 0, palette);
}
public void Play(string sequenceName)

View File

@@ -35,21 +35,21 @@ namespace OpenRA.Graphics
ZOffset = zOffset;
}
public IRenderable[] Render(Actor self, WorldRenderer wr, PaletteReference pal, float scale)
public IRenderable[] Render(Actor self, WorldRenderer wr, PaletteReference pal)
{
var center = self.CenterPosition;
var offset = OffsetFunc != null ? OffsetFunc() : WVec.Zero;
var z = (ZOffset != null) ? ZOffset(center + offset) : 0;
return Animation.Render(center, offset, z, pal, scale);
return Animation.Render(center, offset, z, pal);
}
public Rectangle ScreenBounds(Actor self, WorldRenderer wr, float scale)
public Rectangle ScreenBounds(Actor self, WorldRenderer wr)
{
var center = self.CenterPosition;
var offset = OffsetFunc != null ? OffsetFunc() : WVec.Zero;
return Animation.ScreenBounds(wr, center, offset, scale);
return Animation.ScreenBounds(wr, center, offset);
}
public static implicit operator AnimationWithOffset(Animation a)

View File

@@ -107,7 +107,7 @@ namespace OpenRA.Mods.Cnc.Effects
var palette = wr.Palette(info.IndicatorPalettePrefix + effectiveOwner.InternalName);
var screenPos = wr.Viewport.WorldToViewPx(wr.ScreenPxPosition(actor.CenterPosition));
return anim.RenderUI(wr, screenPos, WVec.Zero, 0, palette, 1f);
return anim.RenderUI(wr, screenPos, WVec.Zero, 0, palette);
}
}
}

View File

@@ -30,7 +30,7 @@ namespace OpenRA.Mods.Cnc.Traits
public override object Create(ActorInitializer init) { return new WithBuildingBib(init.Self, this); }
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (init.Contains<HideBibPreviewInit>(this))
yield break;
@@ -69,7 +69,7 @@ namespace OpenRA.Mods.Cnc.Traits
// Z-order is one set to the top of the footprint
var offset = map.CenterOfCell(cell) - map.CenterOfCell(location) - centerOffset;
yield return new SpriteActorPreview(anim, () => offset, () => -(offset.Y + centerOffset.Y + 512), p, rs.Scale);
yield return new SpriteActorPreview(anim, () => offset, () => -(offset.Y + centerOffset.Y + 512), p);
}
}

View File

@@ -28,7 +28,7 @@ namespace OpenRA.Mods.Cnc.Traits.Render
public override object Create(ActorInitializer init) { return new WithEmbeddedTurretSpriteBody(init, this); }
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -40,7 +40,7 @@ namespace OpenRA.Mods.Cnc.Traits.Render
var anim = new Animation(init.World, image, t.WorldFacingFromInit(init));
anim.PlayRepeating(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), wsb.Sequence));
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p, rs.Scale);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p);
}
}

View File

@@ -41,7 +41,7 @@ namespace OpenRA.Mods.Common.Effects
IEnumerable<IRenderable> IEffectAnnotation.RenderAnnotation(WorldRenderer wr)
{
var screenPos = wr.Viewport.WorldToViewPx(wr.ScreenPxPosition(pos));
return anim.RenderUI(wr, screenPos, WVec.Zero, 0, wr.Palette(palette), 1f);
return anim.RenderUI(wr, screenPos, WVec.Zero, 0, wr.Palette(palette));
}
}
}

View File

@@ -22,15 +22,13 @@ namespace OpenRA.Mods.Common.Graphics
readonly Func<WVec> offset;
readonly Func<int> zOffset;
readonly PaletteReference pr;
readonly float scale;
public SpriteActorPreview(Animation animation, Func<WVec> offset, Func<int> zOffset, PaletteReference pr, float scale)
public SpriteActorPreview(Animation animation, Func<WVec> offset, Func<int> zOffset, PaletteReference pr)
{
this.animation = animation;
this.offset = offset;
this.zOffset = zOffset;
this.pr = pr;
this.scale = scale;
}
void IActorPreview.Tick() { animation.Tick(); }
@@ -42,12 +40,12 @@ namespace OpenRA.Mods.Common.Graphics
IEnumerable<IRenderable> IActorPreview.Render(WorldRenderer wr, WPos pos)
{
return animation.Render(pos, offset(), zOffset(), pr, scale);
return animation.Render(pos, offset(), zOffset(), pr);
}
IEnumerable<Rectangle> IActorPreview.ScreenBounds(WorldRenderer wr, WPos pos)
{
yield return animation.ScreenBounds(wr, pos, offset(), scale);
yield return animation.ScreenBounds(wr, pos, offset());
}
}
}

View File

@@ -193,7 +193,7 @@ namespace OpenRA.Mods.Common.Traits
// Display muzzle flashes
foreach (var m in muzzles)
foreach (var r in m.Render(self, wr, pal, 1f))
foreach (var r in m.Render(self, wr, pal))
yield return r;
}

View File

@@ -87,7 +87,7 @@ namespace OpenRA.Mods.Common.Traits
yield return r;
var centerPosition = wr.World.Map.CenterOfCell(topLeft) + centerOffset;
foreach (var r in preview.Render(centerPosition, WVec.Zero, 0, palette, 1.0f))
foreach (var r in preview.Render(centerPosition, WVec.Zero, 0, palette))
yield return r;
if (info.FootprintOverPreview != PlaceBuildingCellType.None)

View File

@@ -21,7 +21,7 @@ namespace OpenRA.Mods.Common.Traits.Render
{
public interface IRenderActorPreviewSpritesInfo : ITraitInfoInterface
{
IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p);
IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p);
}
[Desc("Render trait fundament that won't work without additional With* render traits.")]
@@ -41,9 +41,6 @@ namespace OpenRA.Mods.Common.Traits.Render
[Desc("Custom PlayerColorPalette: BaseName")]
public readonly string PlayerPalette = "player";
[Desc("Change the sprite image size.")]
public readonly float Scale = 1f;
public override object Create(ActorInitializer init) { return new RenderSprites(init, this); }
public IEnumerable<IActorPreview> RenderPreview(ActorPreviewInitializer init)
@@ -68,7 +65,7 @@ namespace OpenRA.Mods.Common.Traits.Render
}
foreach (var spi in init.Actor.TraitInfos<IRenderActorPreviewSpritesInfo>())
foreach (var preview in spi.RenderPreviewSprites(init, this, image, facings, palette))
foreach (var preview in spi.RenderPreviewSprites(init, image, facings, palette))
yield return preview;
}
@@ -198,7 +195,7 @@ namespace OpenRA.Mods.Common.Traits.Render
a.CachePalette(wr, owner);
}
foreach (var r in a.Animation.Render(self, wr, a.PaletteReference, Info.Scale))
foreach (var r in a.Animation.Render(self, wr, a.PaletteReference))
yield return r;
}
}
@@ -207,7 +204,7 @@ namespace OpenRA.Mods.Common.Traits.Render
{
foreach (var a in anims)
if (a.IsVisible)
yield return a.Animation.ScreenBounds(self, wr, Info.Scale);
yield return a.Animation.ScreenBounds(self, wr);
}
void ITick.Tick(Actor self)
@@ -280,7 +277,7 @@ namespace OpenRA.Mods.Common.Traits.Render
{
return anims.Where(b => b.IsVisible
&& b.Animation.Animation.CurrentSequence != null)
.Select(a => (a.Animation.Animation.Image.Size.XY * a.Animation.Animation.CurrentSequence.Scale * Info.Scale).ToInt2())
.Select(a => (a.Animation.Animation.Image.Size.XY * a.Animation.Animation.CurrentSequence.Scale).ToInt2())
.FirstOrDefault();
}

View File

@@ -42,7 +42,7 @@ namespace OpenRA.Mods.Common.Traits.Render
public override object Create(ActorInitializer init) { return new WithBridgeSpriteBody(init, this); }
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -50,7 +50,7 @@ namespace OpenRA.Mods.Common.Traits.Render
var anim = new Animation(init.World, image);
anim.PlayFetchIndex(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), Sequences.First()), () => 0);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p, rs.Scale);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p);
}
}

View File

@@ -21,7 +21,7 @@ namespace OpenRA.Mods.Common.Traits.Render
{
public override object Create(ActorInitializer init) { return new WithChargeSpriteBody(init, this); }
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -29,7 +29,7 @@ namespace OpenRA.Mods.Common.Traits.Render
var anim = new Animation(init.World, image);
anim.PlayFetchIndex(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), Sequence), () => 0);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p, rs.Scale);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p);
}
}

View File

@@ -38,11 +38,11 @@ namespace OpenRA.Mods.Common.Traits.Render
public override object Create(ActorInitializer init) { return new WithCrateBody(init.Self, this); }
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
var anim = new Animation(init.World, image);
anim.PlayRepeating(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), IdleSequence));
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p, rs.Scale);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p);
}
}

View File

@@ -47,7 +47,7 @@ namespace OpenRA.Mods.Common.Traits.Render
public override object Create(ActorInitializer init) { return new WithDeadBridgeSpriteBody(init, this); }
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -56,7 +56,7 @@ namespace OpenRA.Mods.Common.Traits.Render
var sequence = init.World.Type == WorldType.Editor ? EditorSequence : Sequence;
var palette = init.World.Type == WorldType.Editor ? init.WorldRenderer.Palette(EditorPalette) : p;
anim.PlayFetchIndex(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), sequence), () => 0);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, palette, rs.Scale);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, palette);
}
}

View File

@@ -20,7 +20,7 @@ namespace OpenRA.Mods.Common.Traits.Render
{
public override object Create(ActorInitializer init) { return new WithFacingSpriteBody(init, this); }
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -28,7 +28,7 @@ namespace OpenRA.Mods.Common.Traits.Render
var anim = new Animation(init.World, image, init.GetFacing());
anim.PlayRepeating(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), Sequence));
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p, rs.Scale);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p);
}
}

View File

@@ -30,7 +30,7 @@ namespace OpenRA.Mods.Common.Traits.Render
public override object Create(ActorInitializer init) { return new WithGateSpriteBody(init, this); }
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -38,7 +38,7 @@ namespace OpenRA.Mods.Common.Traits.Render
var anim = new Animation(init.World, image);
anim.PlayFetchIndex(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), Sequence), () => 0);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p, rs.Scale);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p);
}
string IWallConnectorInfo.GetWallConnectionType()

View File

@@ -45,7 +45,7 @@ namespace OpenRA.Mods.Common.Traits.Render
public override object Create(ActorInitializer init) { return new WithIdleOverlay(init.Self, this); }
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -76,7 +76,7 @@ namespace OpenRA.Mods.Common.Traits.Render
return tmpOffset.Y + tmpOffset.Z + 1;
};
yield return new SpriteActorPreview(anim, offset, zOffset, p, rs.Scale);
yield return new SpriteActorPreview(anim, offset, zOffset, p);
}
}

View File

@@ -47,7 +47,7 @@ namespace OpenRA.Mods.Common.Traits.Render
public override object Create(ActorInitializer init) { return new WithInfantryBody(init, this); }
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -60,7 +60,7 @@ namespace OpenRA.Mods.Common.Traits.Render
else if (Palette != null)
p = init.WorldRenderer.Palette(Palette);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p, rs.Scale);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p);
}
}

View File

@@ -93,7 +93,7 @@ namespace OpenRA.Mods.Common.Traits.Render
if (anim.DisableFunc != null && anim.DisableFunc())
continue;
foreach (var r in anim.Render(self, wr, palette, 1f))
foreach (var r in anim.Render(self, wr, palette))
yield return r;
}
}

View File

@@ -65,7 +65,7 @@ namespace OpenRA.Mods.Common.Traits.Render
public override object Create(ActorInitializer init) { return new WithParachute(init.Self, this); }
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -99,7 +99,7 @@ namespace OpenRA.Mods.Common.Traits.Render
return tmpOffset.Y + tmpOffset.Z + 1;
};
yield return new SpriteActorPreview(anim, offset, zOffset, p, rs.Scale);
yield return new SpriteActorPreview(anim, offset, zOffset, p);
}
}
@@ -193,7 +193,7 @@ namespace OpenRA.Mods.Common.Traits.Render
var dat = self.World.Map.DistanceAboveTerrain(self.CenterPosition);
var pos = self.CenterPosition - new WVec(0, 0, dat.Length);
return new Rectangle[] { shadow.ScreenBounds(wr, pos, info.ShadowOffset, 1) };
return new Rectangle[] { shadow.ScreenBounds(wr, pos, info.ShadowOffset) };
}
}
}

View File

@@ -22,14 +22,14 @@ namespace OpenRA.Mods.Common.Traits.Render
[SequenceReference]
public readonly string Sequence = "build-door";
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
var anim = new Animation(init.World, image);
anim.PlayFetchIndex(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), Sequence), () => 0);
var bi = init.Actor.TraitInfo<BuildingInfo>();
var offset = bi.CenterOffset(init.World).Y + 512; // Additional 512 units move from center -> top of cell
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => offset, p, rs.Scale);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => offset, p);
}
public override object Create(ActorInitializer init) { return new WithProductionDoorOverlay(init.Self, this); }

View File

@@ -24,7 +24,7 @@ namespace OpenRA.Mods.Common.Traits.Render
public override object Create(ActorInitializer init) { return new WithResourceLevelSpriteBody(init, this); }
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -32,7 +32,7 @@ namespace OpenRA.Mods.Common.Traits.Render
var anim = new Animation(init.World, image);
anim.PlayFetchIndex(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), Sequence), () => 0);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p, rs.Scale);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p);
}
}

View File

@@ -34,7 +34,7 @@ namespace OpenRA.Mods.Common.Traits.Render
public override object Create(ActorInitializer init) { return new WithSpriteBarrel(init.Self, this); }
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -58,7 +58,7 @@ namespace OpenRA.Mods.Common.Traits.Render
return -(tmpOffset.Y + tmpOffset.Z) + 1;
};
yield return new SpriteActorPreview(anim, turretOffset, zOffset, p, rs.Scale);
yield return new SpriteActorPreview(anim, turretOffset, zOffset, p);
}
}

View File

@@ -37,7 +37,7 @@ namespace OpenRA.Mods.Common.Traits.Render
public override object Create(ActorInitializer init) { return new WithSpriteBody(init, this); }
public virtual IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public virtual IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -45,7 +45,7 @@ namespace OpenRA.Mods.Common.Traits.Render
var anim = new Animation(init.World, image);
anim.PlayRepeating(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), Sequence));
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p, rs.Scale);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p);
}
}
@@ -133,7 +133,7 @@ namespace OpenRA.Mods.Common.Traits.Render
Rectangle IAutoMouseBounds.AutoMouseoverBounds(Actor self, WorldRenderer wr)
{
return boundsAnimation.ScreenBounds(wr, self.CenterPosition, WVec.Zero, rs.Info.Scale);
return boundsAnimation.ScreenBounds(wr, self.CenterPosition, WVec.Zero);
}
}
}

View File

@@ -41,7 +41,7 @@ namespace OpenRA.Mods.Common.Traits.Render
public override object Create(ActorInitializer init) { return new WithSpriteTurret(init.Self, this); }
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -68,7 +68,7 @@ namespace OpenRA.Mods.Common.Traits.Render
else if (Palette != null)
p = init.WorldRenderer.Palette(Palette);
yield return new SpriteActorPreview(anim, offset, zOffset, p, rs.Scale);
yield return new SpriteActorPreview(anim, offset, zOffset, p);
}
}

View File

@@ -31,7 +31,7 @@ namespace OpenRA.Mods.Common.Traits.Render
public override object Create(ActorInitializer init) { return new WithWallSpriteBody(init, this); }
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public override IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
if (!EnabledByDefault)
yield break;
@@ -73,7 +73,7 @@ namespace OpenRA.Mods.Common.Traits.Render
var anim = new Animation(init.World, image);
anim.PlayFetchIndex(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), Sequence), () => adjacent);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p, rs.Scale);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p);
}
string IWallConnectorInfo.GetWallConnectionType()

View File

@@ -0,0 +1,36 @@
#region Copyright & License Information
/*
* Copyright 2007-2020 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version. For more
* information, see COPYING.
*/
#endregion
using System.Collections.Generic;
namespace OpenRA.Mods.Common.UpdateRules.Rules
{
public class RemoveRenderSpritesScale : UpdateRule
{
public override string Name { get { return "Remove RenderSprites.Scale."; } }
public override string Description
{
get
{
return "The Scale option was removed from RenderSprites. Scale can now be defined on individual sequence definitions.";
}
}
public override IEnumerable<string> UpdateActorNode(ModData modData, MiniYamlNode actorNode)
{
foreach (var renderSprites in actorNode.ChildrenMatching("RenderSprites"))
if (renderSprites.RemoveNodes("Scale") > 0)
yield return "The actor-level scaling has been removed from {0} ({1}).\n".F(actorNode.Key, actorNode.Location.Filename) +
"You must manually define Scale on its sequences instead.";
}
}
}

View File

@@ -87,6 +87,7 @@ namespace OpenRA.Mods.Common.UpdateRules
new RenameMPTraits(),
new RemovePlayerHighlightPalette(),
new ReplaceWithColoredOverlayPalette(),
new RemoveRenderSpritesScale(),
})
};

View File

@@ -49,12 +49,12 @@ namespace OpenRA.Mods.D2k.Traits
public override object Create(ActorInitializer init) { return new SpiceBloom(init.Self, this); }
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, RenderSpritesInfo rs, string image, int facings, PaletteReference p)
public IEnumerable<IActorPreview> RenderPreviewSprites(ActorPreviewInitializer init, string image, int facings, PaletteReference p)
{
var anim = new Animation(init.World, image);
anim.PlayRepeating(RenderSprites.NormalizeSequence(anim, init.GetDamageState(), GrowthSequences[0]));
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p, rs.Scale);
yield return new SpriteActorPreview(anim, () => WVec.Zero, () => 0, p);
}
}

View File

@@ -918,8 +918,6 @@ SNOWHUT:
Building:
Footprint: x x
Dimensions: 1,2
RenderSprites:
Scale: 0.7
HitShape:
UseTargetableCellsOffsets: false

View File

@@ -959,6 +959,7 @@ v37:
snowhut:
Defaults:
Offset: 0,-5
Scale: 0.7
idle:
Length: 3
Tick: 360