Merge pull request #8725 from reaperrr/bye-rendersimple-pr1
Step towards removing RenderSimple and its derivatives (Part 1)
This commit is contained in:
@@ -404,7 +404,7 @@
|
|||||||
<Compile Include="Traits\Render\RenderBuilding.cs" />
|
<Compile Include="Traits\Render\RenderBuilding.cs" />
|
||||||
<Compile Include="Traits\Render\RenderBuildingCharge.cs" />
|
<Compile Include="Traits\Render\RenderBuildingCharge.cs" />
|
||||||
<Compile Include="Traits\Render\RenderBuildingTurreted.cs" />
|
<Compile Include="Traits\Render\RenderBuildingTurreted.cs" />
|
||||||
<Compile Include="Traits\Render\RenderEditorOnly.cs" />
|
<Compile Include="Traits\Render\RenderSpritesEditorOnly.cs" />
|
||||||
<Compile Include="Traits\Render\RenderNameTag.cs" />
|
<Compile Include="Traits\Render\RenderNameTag.cs" />
|
||||||
<Compile Include="Traits\Render\RenderSimple.cs" />
|
<Compile Include="Traits\Render\RenderSimple.cs" />
|
||||||
<Compile Include="Traits\Render\RenderSprites.cs" />
|
<Compile Include="Traits\Render\RenderSprites.cs" />
|
||||||
|
|||||||
@@ -14,15 +14,15 @@ using OpenRA.Graphics;
|
|||||||
namespace OpenRA.Mods.Common.Traits
|
namespace OpenRA.Mods.Common.Traits
|
||||||
{
|
{
|
||||||
[Desc("Invisible during games.")]
|
[Desc("Invisible during games.")]
|
||||||
class RenderEditorOnlyInfo : RenderSimpleInfo
|
class RenderSpritesEditorOnlyInfo : RenderSpritesInfo
|
||||||
{
|
{
|
||||||
public override object Create(ActorInitializer init) { return new RenderEditorOnly(init, this); }
|
public override object Create(ActorInitializer init) { return new RenderSpritesEditorOnly(init, this); }
|
||||||
}
|
}
|
||||||
|
|
||||||
class RenderEditorOnly : RenderSimple
|
class RenderSpritesEditorOnly : RenderSprites
|
||||||
{
|
{
|
||||||
public RenderEditorOnly(ActorInitializer init, RenderEditorOnlyInfo info)
|
public RenderSpritesEditorOnly(ActorInitializer init, RenderSpritesEditorOnlyInfo info)
|
||||||
: base(init, info, () => 0) { }
|
: base(init, info) { }
|
||||||
|
|
||||||
public override IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr) { return SpriteRenderable.None; }
|
public override IEnumerable<IRenderable> Render(Actor self, WorldRenderer wr) { return SpriteRenderable.None; }
|
||||||
}
|
}
|
||||||
@@ -52,19 +52,20 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
public void Tick(Actor self)
|
public void Tick(Actor self)
|
||||||
{
|
{
|
||||||
if (!IsModifying && !string.IsNullOrEmpty(wsb.Info.Sequence) && wsb.DefaultAnimation.HasSequence(NormalizeHarvesterSequence(self, wsb.Info.Sequence)))
|
var baseSequence = wsb.NormalizeSequence(self, wsb.Info.Sequence);
|
||||||
{
|
var sequence = NormalizeHarvesterSequence(self, baseSequence);
|
||||||
if (wsb.DefaultAnimation.CurrentSequence.Name != NormalizeHarvesterSequence(self, wsb.Info.Sequence))
|
if (!IsModifying && wsb.DefaultAnimation.HasSequence(sequence) && wsb.DefaultAnimation.CurrentSequence.Name != sequence)
|
||||||
wsb.DefaultAnimation.ReplaceAnim(NormalizeHarvesterSequence(self, wsb.Info.Sequence));
|
wsb.DefaultAnimation.ReplaceAnim(sequence);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Harvested(Actor self, ResourceType resource)
|
public void Harvested(Actor self, ResourceType resource)
|
||||||
{
|
{
|
||||||
if (!IsModifying && !string.IsNullOrEmpty(Info.HarvestSequence) && wsb.DefaultAnimation.HasSequence(NormalizeHarvesterSequence(self, Info.HarvestSequence)))
|
var baseSequence = wsb.NormalizeSequence(self, Info.HarvestSequence);
|
||||||
|
var sequence = NormalizeHarvesterSequence(self, baseSequence);
|
||||||
|
if (!IsModifying && wsb.DefaultAnimation.HasSequence(sequence))
|
||||||
{
|
{
|
||||||
IsModifying = true;
|
IsModifying = true;
|
||||||
wsb.PlayCustomAnimation(self, NormalizeHarvesterSequence(self, Info.HarvestSequence), () => IsModifying = false);
|
wsb.PlayCustomAnimation(self, sequence, () => IsModifying = false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,8 +81,8 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
public void PlayCustomAnimationRepeating(Actor self, string name)
|
public void PlayCustomAnimationRepeating(Actor self, string name)
|
||||||
{
|
{
|
||||||
DefaultAnimation.PlayThen(name,
|
var sequence = NormalizeSequence(self, name);
|
||||||
() => PlayCustomAnimationRepeating(self, name));
|
DefaultAnimation.PlayThen(sequence, () => PlayCustomAnimationRepeating(self, sequence));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PlayCustomAnimationBackwards(Actor self, string name, Action after = null)
|
public void PlayCustomAnimationBackwards(Actor self, string name, Action after = null)
|
||||||
|
|||||||
@@ -1637,6 +1637,32 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (engineVersion < 20150720)
|
||||||
|
{
|
||||||
|
// Rename RenderEditorOnly to RenderSpritesEditorOnly
|
||||||
|
if (depth == 0)
|
||||||
|
{
|
||||||
|
var reo = node.Value.Nodes.FirstOrDefault(n => n.Key.StartsWith("RenderEditorOnly"));
|
||||||
|
if (reo != null)
|
||||||
|
{
|
||||||
|
reo.Key = "RenderSpritesEditorOnly";
|
||||||
|
|
||||||
|
var wsbNodes = reo.Value.Nodes.Where(n => n.Key == "Sequence").ToList();
|
||||||
|
|
||||||
|
if (wsbNodes.Any())
|
||||||
|
node.Value.Nodes.Add(new MiniYamlNode("WithSpriteBody", new MiniYaml("", wsbNodes)));
|
||||||
|
else
|
||||||
|
node.Value.Nodes.Add(new MiniYamlNode("WithSpriteBody", ""));
|
||||||
|
|
||||||
|
reo.Value.Nodes.RemoveAll(n => wsbNodes.Contains(n));
|
||||||
|
}
|
||||||
|
|
||||||
|
var rreo = node.Value.Nodes.FirstOrDefault(n => n.Key.StartsWith("-RenderEditorOnly"));
|
||||||
|
if (rreo != null)
|
||||||
|
rreo.Key = "-RenderSpritesEditorOnly";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
UpgradeActorRules(engineVersion, ref node.Value.Nodes, node, depth + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -516,8 +516,10 @@
|
|||||||
Name: Field (Destroyed)
|
Name: Field (Destroyed)
|
||||||
GenericVisibility: None
|
GenericVisibility: None
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
Palette: terrain
|
Palette: terrain
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
FrozenUnderFog:
|
FrozenUnderFog:
|
||||||
StartsRevealed: true
|
StartsRevealed: true
|
||||||
ScriptTriggers:
|
ScriptTriggers:
|
||||||
@@ -555,8 +557,10 @@
|
|||||||
^Tree:
|
^Tree:
|
||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Tree
|
Name: Tree
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
Palette: staticterrain
|
Palette: staticterrain
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
Building:
|
Building:
|
||||||
Footprint: __ x_
|
Footprint: __ x_
|
||||||
Dimensions: 2,2
|
Dimensions: 2,2
|
||||||
@@ -592,8 +596,10 @@
|
|||||||
^Rock:
|
^Rock:
|
||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Rock
|
Name: Rock
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
Palette: staticterrain
|
Palette: staticterrain
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
Building:
|
Building:
|
||||||
Footprint: __ x_
|
Footprint: __ x_
|
||||||
Dimensions: 2,2
|
Dimensions: 2,2
|
||||||
|
|||||||
@@ -34,7 +34,8 @@ mpspawn:
|
|||||||
AlwaysVisible:
|
AlwaysVisible:
|
||||||
Immobile:
|
Immobile:
|
||||||
OccupiesSpace: false
|
OccupiesSpace: false
|
||||||
RenderEditorOnly:
|
WithSpriteBody:
|
||||||
|
RenderSpritesEditorOnly:
|
||||||
Palette: chrome
|
Palette: chrome
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
|
|
||||||
@@ -42,7 +43,8 @@ waypoint:
|
|||||||
AlwaysVisible:
|
AlwaysVisible:
|
||||||
Immobile:
|
Immobile:
|
||||||
OccupiesSpace: false
|
OccupiesSpace: false
|
||||||
RenderEditorOnly:
|
WithSpriteBody:
|
||||||
|
RenderSpritesEditorOnly:
|
||||||
Palette: chrome
|
Palette: chrome
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
|
|
||||||
|
|||||||
@@ -114,22 +114,22 @@ mpspawn:
|
|||||||
AlwaysVisible:
|
AlwaysVisible:
|
||||||
Immobile:
|
Immobile:
|
||||||
OccupiesSpace: false
|
OccupiesSpace: false
|
||||||
RenderEditorOnly:
|
RenderSpritesEditorOnly:
|
||||||
|
WithSpriteBody:
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
|
|
||||||
waypoint:
|
waypoint:
|
||||||
AlwaysVisible:
|
AlwaysVisible:
|
||||||
Immobile:
|
Immobile:
|
||||||
OccupiesSpace: false
|
OccupiesSpace: false
|
||||||
RenderEditorOnly:
|
RenderSpritesEditorOnly:
|
||||||
|
WithSpriteBody:
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
|
|
||||||
^carryall.colorpicker:
|
^carryall.colorpicker:
|
||||||
Inherits: carryall
|
Inherits: carryall
|
||||||
WithFacingSpriteBody:
|
|
||||||
Helicopter:
|
Helicopter:
|
||||||
InitialFacing: 104
|
InitialFacing: 104
|
||||||
AutoSelectionSize:
|
|
||||||
RenderSprites:
|
RenderSprites:
|
||||||
Image: carryall
|
Image: carryall
|
||||||
Palette: colorpicker
|
Palette: colorpicker
|
||||||
@@ -149,7 +149,8 @@ wormspawner:
|
|||||||
AlwaysVisible:
|
AlwaysVisible:
|
||||||
Immobile:
|
Immobile:
|
||||||
OccupiesSpace: false
|
OccupiesSpace: false
|
||||||
RenderEditorOnly:
|
RenderSpritesEditorOnly:
|
||||||
|
WithSpriteBody:
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
WormSpawner:
|
WormSpawner:
|
||||||
|
|
||||||
|
|||||||
@@ -524,8 +524,10 @@
|
|||||||
^Tree:
|
^Tree:
|
||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Tree
|
Name: Tree
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
Palette: terrain
|
Palette: terrain
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
Building:
|
Building:
|
||||||
Footprint: x
|
Footprint: x
|
||||||
Dimensions: 1,1
|
Dimensions: 1,1
|
||||||
@@ -621,8 +623,10 @@
|
|||||||
^Rock:
|
^Rock:
|
||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Rock
|
Name: Rock
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
Palette: terrain
|
Palette: terrain
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
Building:
|
Building:
|
||||||
Footprint: __ x_
|
Footprint: __ x_
|
||||||
Dimensions: 2,2
|
Dimensions: 2,2
|
||||||
|
|||||||
@@ -181,7 +181,8 @@ CAMERA:
|
|||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
DetectCloaked:
|
DetectCloaked:
|
||||||
Range: 10
|
Range: 10
|
||||||
RenderEditorOnly:
|
WithSpriteBody:
|
||||||
|
RenderSpritesEditorOnly:
|
||||||
Image: camera
|
Image: camera
|
||||||
|
|
||||||
camera.paradrop:
|
camera.paradrop:
|
||||||
@@ -234,8 +235,10 @@ MINE:
|
|||||||
HiddenUnderShroud:
|
HiddenUnderShroud:
|
||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Ore Mine
|
Name: Ore Mine
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
Palette: terrain
|
Palette: terrain
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
Building:
|
Building:
|
||||||
Footprint: x
|
Footprint: x
|
||||||
Dimensions: 1,1
|
Dimensions: 1,1
|
||||||
@@ -250,8 +253,10 @@ GMINE:
|
|||||||
HiddenUnderShroud:
|
HiddenUnderShroud:
|
||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Gem Mine
|
Name: Gem Mine
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
Palette: player
|
Palette: player
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
Building:
|
Building:
|
||||||
Footprint: x
|
Footprint: x
|
||||||
Dimensions: 1,1
|
Dimensions: 1,1
|
||||||
@@ -267,8 +272,10 @@ RAILMINE:
|
|||||||
HiddenUnderShroud:
|
HiddenUnderShroud:
|
||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Abandoned Mine
|
Name: Abandoned Mine
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
Palette: player
|
Palette: player
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
Building:
|
Building:
|
||||||
Footprint: xx
|
Footprint: xx
|
||||||
Dimensions: 2,1
|
Dimensions: 2,1
|
||||||
@@ -284,7 +291,9 @@ QUEE:
|
|||||||
Building:
|
Building:
|
||||||
Footprint: xx
|
Footprint: xx
|
||||||
Dimensions: 2,1
|
Dimensions: 2,1
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
EditorTilesetFilter:
|
EditorTilesetFilter:
|
||||||
@@ -297,8 +306,10 @@ LAR1:
|
|||||||
Building:
|
Building:
|
||||||
Footprint: x
|
Footprint: x
|
||||||
Dimensions: 1,1
|
Dimensions: 1,1
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
Palette: terrain
|
Palette: terrain
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
EditorTilesetFilter:
|
EditorTilesetFilter:
|
||||||
@@ -311,8 +322,10 @@ LAR2:
|
|||||||
Building:
|
Building:
|
||||||
Footprint: x
|
Footprint: x
|
||||||
Dimensions: 1,1
|
Dimensions: 1,1
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
Palette: terrain
|
Palette: terrain
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
EditorTilesetFilter:
|
EditorTilesetFilter:
|
||||||
@@ -378,14 +391,16 @@ mpspawn:
|
|||||||
AlwaysVisible:
|
AlwaysVisible:
|
||||||
Immobile:
|
Immobile:
|
||||||
OccupiesSpace: false
|
OccupiesSpace: false
|
||||||
RenderEditorOnly:
|
WithSpriteBody:
|
||||||
|
RenderSpritesEditorOnly:
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
|
|
||||||
waypoint:
|
waypoint:
|
||||||
AlwaysVisible:
|
AlwaysVisible:
|
||||||
Immobile:
|
Immobile:
|
||||||
OccupiesSpace: false
|
OccupiesSpace: false
|
||||||
RenderEditorOnly:
|
WithSpriteBody:
|
||||||
|
RenderSpritesEditorOnly:
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
|
|
||||||
^fact.colorpicker:
|
^fact.colorpicker:
|
||||||
|
|||||||
@@ -528,8 +528,10 @@
|
|||||||
|
|
||||||
^Tree:
|
^Tree:
|
||||||
HiddenUnderShroud:
|
HiddenUnderShroud:
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
Palette: terrain
|
Palette: terrain
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
Building:
|
Building:
|
||||||
Footprint: x
|
Footprint: x
|
||||||
Dimensions: 1, 1
|
Dimensions: 1, 1
|
||||||
@@ -540,8 +542,10 @@
|
|||||||
|
|
||||||
^Rock:
|
^Rock:
|
||||||
HiddenUnderShroud:
|
HiddenUnderShroud:
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
Palette: terrain
|
Palette: terrain
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
Building:
|
Building:
|
||||||
Footprint: x
|
Footprint: x
|
||||||
Dimensions: 1, 1
|
Dimensions: 1, 1
|
||||||
|
|||||||
@@ -2,14 +2,16 @@ mpspawn:
|
|||||||
AlwaysVisible:
|
AlwaysVisible:
|
||||||
Immobile:
|
Immobile:
|
||||||
OccupiesSpace: false
|
OccupiesSpace: false
|
||||||
RenderEditorOnly:
|
RenderSpritesEditorOnly:
|
||||||
|
WithSpriteBody:
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
|
|
||||||
waypoint:
|
waypoint:
|
||||||
AlwaysVisible:
|
AlwaysVisible:
|
||||||
Immobile:
|
Immobile:
|
||||||
OccupiesSpace: false
|
OccupiesSpace: false
|
||||||
RenderEditorOnly:
|
RenderSpritesEditorOnly:
|
||||||
|
WithSpriteBody:
|
||||||
BodyOrientation:
|
BodyOrientation:
|
||||||
|
|
||||||
^mmch.colorpicker:
|
^mmch.colorpicker:
|
||||||
|
|||||||
@@ -108,6 +108,8 @@ VEINHOLE:
|
|||||||
AppearsOnRadar:
|
AppearsOnRadar:
|
||||||
Tooltip:
|
Tooltip:
|
||||||
Name: Veinhole
|
Name: Veinhole
|
||||||
RenderBuilding:
|
RenderSprites:
|
||||||
Palette: player
|
Palette: player
|
||||||
|
WithSpriteBody:
|
||||||
|
AutoSelectionSize:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user