TreeCache dies; trees & MINE have unitinfo

This commit is contained in:
Chris Forbes
2009-12-03 18:59:11 +13:00
parent bbbe23ae90
commit cf54a47b0c
9 changed files with 295 additions and 19 deletions

View File

@@ -47,12 +47,12 @@ namespace OpenRa.Game
+ "; add Traits= to units.ini for appropriate unit" );
}
public Actor( TreeReference tree, TreeCache treeRenderer )
{
ActorID = 0xffffffff;
Location = new int2( tree.Location );
traits.Add( new Traits.Tree( treeRenderer.GetImage( tree.Image ) ) );
}
//public Actor( TreeReference tree, TreeCache treeRenderer )
//{
// ActorID = 0xffffffff;
// Location = new int2( tree.Location );
// traits.Add( new Traits.Tree( treeRenderer.GetImage( tree.Image ) ) );
//}
public void Tick()
{

View File

@@ -20,7 +20,6 @@ namespace OpenRa.Game
public static readonly int CellSize = 24;
public static World world;
static TreeCache treeCache;
public static Viewport viewport;
public static PathFinder PathFinder;
public static WorldRenderer worldRenderer;
@@ -75,14 +74,15 @@ namespace OpenRa.Game
viewport = new Viewport( clientSize, Rules.Map.Offset, Rules.Map.Offset + Rules.Map.Size, renderer );
world = new World();
treeCache = new TreeCache(Rules.Map);
foreach (TreeReference treeReference in Rules.Map.Trees)
world.Add(new Actor(treeReference, treeCache));
BuildingInfluence = new BuildingInfluenceMap();
UnitInfluence = new UnitInfluenceMap();
foreach (TreeReference treeReference in Rules.Map.Trees)
world.Add(new Actor(treeReference.Image,
new int2(treeReference.Location),
null));
LoadMapBuildings(Rules.AllRules);
LoadMapUnits(Rules.AllRules);

View File

@@ -31,14 +31,16 @@ namespace OpenRa.Game
FileSystem.Open( "rules.ini" ),
FileSystem.Open( "aftermathUnits.ini" ),
FileSystem.Open( "units.ini" ),
FileSystem.Open( "campaignUnits.ini" ) );
FileSystem.Open("campaignUnits.ini"),
FileSystem.Open("trees.ini"));
else
AllRules = new IniFile(
FileSystem.Open("session.ini"),
FileSystem.Open(mapFileName),
FileSystem.Open("rules.ini"),
FileSystem.Open("units.ini"),
FileSystem.Open("campaignUnits.ini"));
FileSystem.Open("campaignUnits.ini"),
FileSystem.Open("trees.ini"));
General = new GeneralInfo();
FieldLoader.Load(General, AllRules.GetSection("General"));

View File

@@ -24,7 +24,7 @@ namespace OpenRa.Game.Graphics
int low = sprites.Count;
ShpReader reader = new ShpReader( FileSystem.OpenWithExts( name, ".shp", ".tem", ".sno", ".int" ) );
ShpReader reader = new ShpReader( FileSystem.OpenWithExts( name, ".tem", ".sno", ".int", ".shp" ) );
foreach (ImageHeader h in reader)
sprites.Add(SheetBuilder.Add(h.Image, reader.Size));

View File

@@ -137,7 +137,6 @@
<Compile Include="Graphics\SpriteSheetBuilder.cs" />
<Compile Include="TerrainCosts.cs" />
<Compile Include="Graphics\TerrainRenderer.cs" />
<Compile Include="Graphics\TreeCache.cs" />
<Compile Include="Traits\Activities\Harvest.cs" />
<Compile Include="Traits\Activities\Move.cs" />
<Compile Include="Traits\Activities\Follow.cs" />

View File

@@ -26,6 +26,7 @@ namespace OpenRa.Game.Traits
public void BuildingComplete(Actor self)
{
if (self.Owner != null)
self.Owner.ChangePower(unitInfo.Power);
}
}

View File

@@ -66,7 +66,8 @@ namespace OpenRa.Game.Traits
public override IEnumerable<Tuple<Sprite, float2, int>> Render(Actor self)
{
yield return Tuple.New(anim.Image, 24f * (float2)self.Location, self.Owner.Palette);
var pal = self.Owner == null ? 0 : self.Owner.Palette;
yield return Tuple.New(anim.Image, 24f * (float2)self.Location, pal);
}
public virtual void Damaged(Actor self, DamageState state)

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<!-- openra/sequences.xml
this file describes animation sequences for structures and units.
@@ -520,4 +520,87 @@
<sequence name="loop" start="49" length="42" />
<sequence name="end" start="0" length="26" />
</unit>
<unit name="tc04">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="tc05">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="tc03">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="tc02">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="tc01">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="t17">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="t16">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="t15">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="10" />
</unit>
<unit name="t14">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="t13">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="t12">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="t11">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="10" />
</unit>
<unit name="t10">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="t08">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="t07">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="t06">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="t05">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="t03">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="t02">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="t01">
<sequence name="idle" start="0" length="1" />
<sequence name="burn" start="1" length="9" />
</unit>
<unit name="mine">
<sequence name="idle" start="0" length="1" />
</unit>
</sequences>

190
trees.ini Normal file
View File

@@ -0,0 +1,190 @@
[BuildingTypes]
T01
T02
T03
T05
T06
T07
T08
T10
T11
T12
T13
T14
T15
T16
T17
TC01
TC02
TC03
TC04
TC05
MINE
[T01]
Description=Tree
Traits=Building, RenderBuilding
Footprint=x_ x_
Dimensions=2,2
SelectionPriority=-1
Name=T01
[T02]
Description=Tree
Traits=Building, RenderBuilding
Footprint=x_ x_
Dimensions=2,2
SelectionPriority=-1
Name=T02
[T03]
Description=Tree
Traits=Building, RenderBuilding
Footprint=x_ x_
Dimensions=2,2
SelectionPriority=-1
Name=T03
[T05]
Description=Tree
Traits=Building, RenderBuilding
Footprint=x_ x_
Dimensions=2,2
SelectionPriority=-1
Name=T05
[T06]
Description=Tree
Traits=Building, RenderBuilding
Footprint=x_ x_
Dimensions=2,2
SelectionPriority=-1
Name=T06
[T07]
Description=Tree
Traits=Building, RenderBuilding
Footprint=x_ x_
Dimensions=2,2
SelectionPriority=-1
Name=T07
[T08]
Description=Tree
Traits=Building, RenderBuilding
Footprint=x_
Dimensions=2,1
SelectionPriority=-1
Name=T08
[T10]
Description=Tree
Traits=Building, RenderBuilding
Footprint=xx xx
Dimensions=2,2
SelectionPriority=-1
Name=T10
[T11]
Description=Tree
Traits=Building, RenderBuilding
Footprint=xx xx
Dimensions=2,2
SelectionPriority=-1
Name=T11
[T12]
Description=Tree
Traits=Building, RenderBuilding
Footprint=xx xx
Dimensions=2,2
SelectionPriority=-1
Name=T12
[T13]
Description=Tree
Traits=Building, RenderBuilding
Footprint=xx xx
Dimensions=2,2
SelectionPriority=-1
Name=T13
[T14]
Description=Tree
Traits=Building, RenderBuilding
Footprint=xx xx
Dimensions=2,2
SelectionPriority=-1
Name=T14
[T15]
Description=Tree
Traits=Building, RenderBuilding
Footprint=xx xx
Dimensions=2,2
SelectionPriority=-1
Name=T15
[T16]
Description=Tree
Traits=Building, RenderBuilding
Footprint=x_ x_
Dimensions=2,2
SelectionPriority=-1
Name=T16
[T17]
Description=Tree
Traits=Building, RenderBuilding
Footprint=x_ x_
Dimensions=2,2
SelectionPriority=-1
Name=T17
[TC01]
Description=Tree
Traits=Building, RenderBuilding
Footprint=xx xx
Dimensions=2,2
SelectionPriority=-1
Name=TC01
[TC02]
Description=Tree
Traits=Building, RenderBuilding
Footprint=xx xx
Dimensions=2,2
SelectionPriority=-1
Name=TC02
[TC03]
Description=Tree
Traits=Building, RenderBuilding
Footprint=xx xx
Dimensions=2,2
SelectionPriority=-1
Name=TC03
[TC04]
Description=Tree
Traits=Building, RenderBuilding
Footprint=xxx xxx xxx
Dimensions=3,3
SelectionPriority=-1
Name=TC04
[TC05]
Description=Tree
Traits=Building, RenderBuilding
Footprint=xxx xxx xxx
Dimensions=3,3
SelectionPriority=-1
Name=TC05
[MINE]
Description=Ore Pit
Traits=Building, RenderBuilding
Footprint=x
Dimensions=1,1
SelectionPriority=-1
Name=MINE