merging bob's changes

This commit is contained in:
Chris Forbes
2009-10-09 19:19:39 +13:00
4 changed files with 85 additions and 15 deletions

View File

@@ -58,8 +58,11 @@ namespace OpenRa.Game
} }
if (mi.Button == MouseButtons.Right && mi.Event == MouseInputEvent.Down) if (mi.Button == MouseButtons.Right && mi.Event == MouseInputEvent.Down)
if (orderGenerator != null) if (orderGenerator != null)
orderGenerator.Order(game, new int2((int)xy.X, (int)xy.Y)).Apply(game); {
var order = orderGenerator.Order(game, new int2((int)xy.X, (int)xy.Y));
if (order != null) order.Apply(game);
}
} }
public Unit FindUnit(float2 a, float2 b) public Unit FindUnit(float2 a, float2 b)

View File

@@ -32,7 +32,7 @@ namespace OpenRa.Game.Graphics
public Sprite GetSprite(int frame) public Sprite GetSprite(int frame)
{ {
return UnitSheetBuilder.sprites[frame + start]; return UnitSheetBuilder.sprites[ ( frame % length ) + start ];
} }
} }
} }

View File

@@ -38,24 +38,20 @@ namespace OpenRa.Game
bool windowed = !settings.GetValue("fullscreen", false); bool windowed = !settings.GetValue("fullscreen", false);
renderer = new Renderer(this, GetResolution(settings), windowed); renderer = new Renderer(this, GetResolution(settings), windowed);
SheetBuilder.Initialize( renderer ); SheetBuilder.Initialize(renderer);
game = new Game( settings.GetValue( "map", "scm12ea.ini" ), renderer, new int2( ClientSize ) ); game = new Game(settings.GetValue("map", "scg11eb.ini"), renderer, new int2(ClientSize));
SequenceProvider.ForcePrecache(); SequenceProvider.ForcePrecache();
Unit controlled; game.world.Add(new Unit("mcv", new int2(5, 5), game.players[3], game));
game.world.Add(new Unit("mcv", new int2(7, 5), game.players[2], game));
game.world.Add( new Unit( "mcv", new int2( 5, 5 ), game.players[ 3 ], game ) ); game.world.Add(new Unit("mcv", new int2(9, 5), game.players[1], game));
game.world.Add( new Unit( "mcv", new int2( 7, 5 ), game.players[ 2 ], game ) ); game.world.Add(new TurretedUnit("jeep", new int2(9, 7), game.players[1], game));
game.world.Add(controlled = new Unit("mcv", new int2(9, 5), game.players[1], game));
game.controller.orderGenerator = controlled;
sidebar = new Sidebar(Race.Soviet, renderer, game); sidebar = new Sidebar(Race.Soviet, renderer, game);
renderer.SetPalette( new HardwarePalette( renderer, game.map ) ); renderer.SetPalette(new HardwarePalette(renderer, game.map));
} }
internal void Run() internal void Run()

View File

@@ -13,7 +13,7 @@
also, <sequence length="*"> creates a sequence that includes all frames also, <sequence length="*"> creates a sequence that includes all frames
after `start`. after `start`.
one day, we might support inheritance here too. one day, we might support inheritance here too.
standard sequence names: standard sequence names:
@@ -108,6 +108,14 @@
<sequence name="damaged-idle_top" start="4" length="1" src="weap2" /> <sequence name="damaged-idle_top" start="4" length="1" src="weap2" />
</unit> </unit>
<!-- allied gun turret -->
<unit name="gun">
<sequence name="idle" start="0" length="32"/>
<sequence name="damaged-idle" start="1" length="32"/>
<sequence name="make" start="0" length="*" src="gunmake" />
</unit>
<!-- mcv --> <!-- mcv -->
<unit name="mcv"> <unit name="mcv">
@@ -132,14 +140,50 @@
<sequence name="harvest5" start="72" length="8"/> <sequence name="harvest5" start="72" length="8"/>
<sequence name="harvest6" start="80" length="8"/> <sequence name="harvest6" start="80" length="8"/>
<sequence name="harvest7" start="88" length="8"/> <sequence name="harvest7" start="88" length="8"/>
<sequence name="empty" start="96" length="15"/>
</unit> </unit>
<!-- light tank -->
<unit name="1tnk">
<sequence name="idle" start="0" length="32"/>
<sequence name="turret" start="32" length="32"/>
</unit>
<!-- medium tank -->
<unit name="2tnk">
<sequence name="idle" start="0" length="32"/>
<sequence name="turret" start="32" length="32"/>
</unit>
<!-- heavy tank --> <!-- heavy tank -->
<unit name="3tnk"> <unit name="3tnk">
<sequence name="idle" start="0" length="32"/> <sequence name="idle" start="0" length="32"/>
<sequence name="turret" start="32" length="32"/> <sequence name="turret" start="32" length="32"/>
</unit> </unit>
<!-- mammoth tank -->
<unit name="4tnk">
<sequence name="idle" start="0" length="32"/>
<sequence name="turret" start="32" length="32"/>
</unit>
<!-- v2 rocket launcher -->
<unit name="v2rl">
<sequence name="idle" start="0" length="32"/>
<sequence name="reloading" start="32" length="32"/>
<sequence name="aiming" start="64" length="16"/>
</unit>
<!-- artillery -->
<unit name="arty">
<sequence name="idle" start="0" length="32"/>
</unit>
<!-- jeep --> <!-- jeep -->
@@ -148,6 +192,33 @@
<sequence name="turret" start="32" length="32"/> <sequence name="turret" start="32" length="32"/>
</unit> </unit>
<!-- apc -->
<unit name="apc">
<sequence name="idle" start="0" length="32"/>
</unit>
<!-- mine layer -->
<unit name="mnly">
<sequence name="idle" start="0" length="32"/>
<!-- and 16 "lay mine" sprites, not used in real-ra -->
</unit>
<!-- radar jammer -->
<unit name="mrj">
<sequence name="idle" start="0" length="32"/>
<sequence name="turret" start="32" length="32"/>
</unit>
<!-- mobile gap generator -->
<unit name="mgg">
<sequence name="idle" start="0" length="32"/>
<sequence name="turret" start="32" length="8"/>
</unit>
<!-- build clock - hacked in --> <!-- build clock - hacked in -->
<unit name="clock"> <unit name="clock">