From 25fae5d109aa41ac90444398b570a81dc468b545 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Tue, 17 Jul 2012 22:03:30 +0200 Subject: [PATCH] fixed d2k harvester dock animation --- OpenRA.FileFormats/PlayerColorRemap.cs | 2 +- OpenRA.Mods.RA/Activities/RAHarvesterDockSequence.cs | 6 ++++-- OpenRA.Mods.RA/OreRefinery.cs | 3 ++- mods/d2k/TODO | 3 +-- mods/d2k/rules/structures.yaml | 2 ++ 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/OpenRA.FileFormats/PlayerColorRemap.cs b/OpenRA.FileFormats/PlayerColorRemap.cs index e2387c64b8..34fb706cd9 100755 --- a/OpenRA.FileFormats/PlayerColorRemap.cs +++ b/OpenRA.FileFormats/PlayerColorRemap.cs @@ -29,7 +29,7 @@ namespace OpenRA.FileFormats var c1 = c.GetColor(0); var c2 = c.GetColor(1); // temptemp: this can be expressed better - var baseIndex = Ramp[0]; + var baseIndex = Ramp[0]; var RemapRamp = Ramp.Select(r => r - Ramp[0]).ToArray(); if (Ramp[0] > Ramp[15]) // reversed remapping diff --git a/OpenRA.Mods.RA/Activities/RAHarvesterDockSequence.cs b/OpenRA.Mods.RA/Activities/RAHarvesterDockSequence.cs index 48af370a76..904684ccef 100644 --- a/OpenRA.Mods.RA/Activities/RAHarvesterDockSequence.cs +++ b/OpenRA.Mods.RA/Activities/RAHarvesterDockSequence.cs @@ -21,13 +21,15 @@ namespace OpenRA.Mods.RA enum State { Wait, Turn, Dock, Loop, Undock, Complete }; readonly Actor proc; + readonly int angle; readonly Harvester harv; readonly RenderUnit ru; State state; - public RAHarvesterDockSequence(Actor self, Actor proc) + public RAHarvesterDockSequence(Actor self, Actor proc, int angle) { this.proc = proc; + this.angle = angle; state = State.Turn; harv = self.Trait(); ru = self.Trait(); @@ -41,7 +43,7 @@ namespace OpenRA.Mods.RA return this; case State.Turn: state = State.Dock; - return Util.SequenceActivities(new Turn(64), this); + return Util.SequenceActivities(new Turn(angle), this); case State.Dock: ru.PlayCustomAnimation(self, "dock", () => {ru.PlayCustomAnimRepeating(self, "dock-loop"); state = State.Loop;}); state = State.Wait; diff --git a/OpenRA.Mods.RA/OreRefinery.cs b/OpenRA.Mods.RA/OreRefinery.cs index 5b5d41db7e..b81ea2fb2d 100644 --- a/OpenRA.Mods.RA/OreRefinery.cs +++ b/OpenRA.Mods.RA/OreRefinery.cs @@ -25,6 +25,7 @@ namespace OpenRA.Mods.RA public readonly int TickLifetime = 30; public readonly int TickVelocity = 2; public readonly int TickRate = 10; + public readonly int DockAngle = 64; public virtual object Create(ActorInitializer init) { return new OreRefinery(init.self, this); } } @@ -45,7 +46,7 @@ namespace OpenRA.Mods.RA public bool AllowDocking { get { return !preventDock; } } public CVec DeliverOffset { get { return (CVec)Info.DockOffset; } } - public virtual Activity DockSequence(Actor harv, Actor self) { return new RAHarvesterDockSequence(harv, self); } + public virtual Activity DockSequence(Actor harv, Actor self) { return new RAHarvesterDockSequence(harv, self, Info.DockAngle); } public OreRefinery(Actor self, OreRefineryInfo info) { diff --git a/mods/d2k/TODO b/mods/d2k/TODO index faf7e6c858..eb00880114 100644 --- a/mods/d2k/TODO +++ b/mods/d2k/TODO @@ -8,8 +8,7 @@ # construction yard crane animations missing # welding animation (factories) missing # chimney animation (refinery) missing -# harvest animation missing -# harvester turn and offset wrong while unloading +# harvest animation missing (sand is spit out) # add more spice tiles and make them fit # add game logic for concrete plates (use terrain overlay from bridges/ressources) # allow placing turrets on walls diff --git a/mods/d2k/rules/structures.yaml b/mods/d2k/rules/structures.yaml index 0d074d6c24..55f7badfae 100644 --- a/mods/d2k/rules/structures.yaml +++ b/mods/d2k/rules/structures.yaml @@ -193,6 +193,8 @@ Bib: -RenderBuilding: OreRefinery: + DockOffset: 2,1 + DockAngle: 144 StoresOre: PipColor: Green PipCount: 20