From a9c38052481b37b92f6fa8decfe95a2f10b291c8 Mon Sep 17 00:00:00 2001
From: johns <>
Date: Mon, 19 Feb 2001 17:31:30 +0000
Subject: [PATCH] Changed @returns to correct doc++/doxygen keyword @return.
 Removed call to old NearestOfUnit. Improved pathfinder use.

---
 src/action/command.cpp | 61 ++++++++++++++----------------------------
 1 file changed, 20 insertions(+), 41 deletions(-)

diff --git a/src/action/command.cpp b/src/action/command.cpp
index 482dab501..6a0a36b7c 100644
--- a/src/action/command.cpp
+++ b/src/action/command.cpp
@@ -61,7 +61,7 @@ local void ReleaseOrder(Order* order)
 **	@param unit	pointer to unit.
 **	@param flush	if true, flush order queue.
 **
-**	@returns	Pointer to next free order slot.
+**	@return		Pointer to next free order slot.
 */
 local Order* GetNextOrder(Unit* unit,int flush)
 {
@@ -110,7 +110,7 @@ local void ClearSavedAction(Unit* unit)
 **	@param unit	pointer to unit.
 **	@param flush	if true, flush command queue.
 **
-**	@returns	Pointer to next free command.
+**	@return		Pointer to next free command.
 */
 local Command* GetNextCommand(Unit* unit,int flush)
 {
@@ -172,6 +172,7 @@ global void CommandStopUnit(Unit* unit)
     unit->NextFlush=1;
     unit->NextCount=1;
     unit->NextCommand[0].Action=UnitActionStill;
+    unit->NextCommand[0].Data.Move.Goal=NoUnitP;
 
     unit->PendCommand=unit->NextCommand[0];
 
@@ -206,6 +207,7 @@ global void CommandStandGround(Unit* unit,int flush)
     }
 
     command->Action=UnitActionStandGround;
+    command->Data.Move.Goal=NoUnitP;
 
 #endif
     ClearSavedAction(unit);
@@ -233,6 +235,7 @@ global void CommandFollow(Unit* unit,Unit* dest,int flush)
     order->Action=UnitActionFollow;
     ResetPath(*order);
     order->Goal=dest;
+    RefsDebugCheck( !dest->Refs );
     dest->Refs++;
     order->RangeX=order->RangeY=1;
     order->X=-1;
@@ -249,10 +252,11 @@ global void CommandFollow(Unit* unit,Unit* dest,int flush)
     command->Action=UnitActionFollow;
     ResetPath(*command);
     command->Data.Move.Goal=dest;
+    RefsDebugCheck( !dest->Refs );
     dest->Refs++;
     command->Data.Move.Range=1;
-    command->Data.Move.SX=unit->X;
-    command->Data.Move.SY=unit->Y;
+    command->Data.Move.SX=-1;
+    command->Data.Move.SY=-1;
 
 #endif
     ClearSavedAction(unit);
@@ -454,6 +458,7 @@ global void CommandAttackGround(Unit* unit,int x,int y,int flush)
     command->Data.Move.DX=x;
     command->Data.Move.DY=y;
     // FIXME: pathfinder didn't support this kind of target
+    DebugLevel0("Fixme this next\n");
 
 #endif
     ClearSavedAction(unit);
@@ -656,6 +661,8 @@ global void CommandHarvest(Unit* unit,int x,int y,int flush)
 {
 #ifdef NEW_ORDERS
     DebugLevel0Fn("FIXME: not written\n");
+
+    unit->Data.Harvest.WoodToHarvest=CHOP_FOR_WOOD;
 #else
     Command* command;
 
@@ -666,35 +673,20 @@ global void CommandHarvest(Unit* unit,int x,int y,int flush)
 	return;
     }
 
-#ifdef NEW_ORDERS
-    unit->Data.Harvest.WoodToHarvest=CHOP_FOR_WOOD;
-#else
     unit->WoodToHarvest=CHOP_FOR_WOOD;
-#endif
 
     command->Action=UnitActionHarvest;
     ResetPath(*command);
 
-#if 0
-    // FIXME: reimplement this version
-    command->Data.Move.Goal=NoUnitP;
-    command->Data.Move.Range=1;
-    command->Data.Move.SX=unit->X;
-    command->Data.Move.SY=unit->Y;
-    command->Data.Move.DX=x;
-    command->Data.Move.DY=y;
-#endif
-
     command->Data.Move.Goal=NoUnitP;
     command->Data.Move.Range=2;
     command->Data.Move.SX=unit->X;
     command->Data.Move.SY=unit->Y;
-    // FIXME: this hack didn't work correct on map border
-    command->Data.Move.DX=x ? x-1 : x;
-    command->Data.Move.DY=y ? y-1 : y;
+    command->Data.Move.DX=x-1;
+    command->Data.Move.DY=y-1;
 
-#endif
     ClearSavedAction(unit);
+#endif
 }
 
 /**
@@ -721,20 +713,13 @@ global void CommandMineGold(Unit* unit,Unit* dest,int flush)
     command->Action=UnitActionMineGold;
     ResetPath(*command);
     command->Data.Move.Goal=dest;
+    RefsDebugCheck( !dest->Refs );
     dest->Refs++;
     command->Data.Move.Range=1;
     command->Data.Move.SX=unit->X;
     command->Data.Move.SY=unit->Y;
-    DebugLevel3Fn("Mine gold refs %d\n",dest->Refs);
-#if 1
-    // FIXME: move to any point of gold mine.
-    NearestOfUnit(dest,unit->X,unit->Y
-	    ,&command->Data.Move.DX
-	    ,&command->Data.Move.DY);
-#else
-    command->Data.Move.DX=dest->X;
-    command->Data.Move.DY=dest->Y;
-#endif
+    command->Data.Move.DX=-1;
+    command->Data.Move.DY=-1;
 
 #endif
     ClearSavedAction(unit);
@@ -764,19 +749,13 @@ global void CommandHaulOil(Unit* unit,Unit* dest,int flush)
     command->Action=UnitActionHaulOil;
     ResetPath(*command);
     command->Data.Move.Goal=dest;
+    RefsDebugCheck( !dest->Refs );
     dest->Refs++;
     command->Data.Move.Range=1;
     command->Data.Move.SX=unit->X;
     command->Data.Move.SY=unit->Y;
-#if 1
-    // FIXME: move to any point of gold mine.
-    NearestOfUnit(dest,unit->X,unit->Y
-	    ,&command->Data.Move.DX
-	    ,&command->Data.Move.DY);
-#else
-    command->Data.Move.DX=dest->X;
-    command->Data.Move.DY=dest->Y;
-#endif
+    command->Data.Move.DX=-1;
+    command->Data.Move.DY=-1;
 
 #endif
     ClearSavedAction(unit);