stratagus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Stratagus-CVS] stratagus doc/ChangeLog.html src/action/action_...


From: Russell Smith
Subject: [Stratagus-CVS] stratagus doc/ChangeLog.html src/action/action_...
Date: Thu, 09 Oct 2003 19:15:30 -0400

CVSROOT:        /cvsroot/stratagus
Module name:    stratagus
Branch:         
Changes by:     Russell Smith <address@hidden>  03/10/09 19:15:29

Modified files:
        doc            : ChangeLog.html 
        src/action     : action_attack.c 
        src/clone      : clone.c unit_find.c 
        src/include    : pathfinder.h 
        src/pathfinder : pathfinder.c 

Log message:
        Finished Support for units with MinAttackRange >1 Moving away to 
attacker

Patches:
Index: stratagus/doc/ChangeLog.html
diff -u stratagus/doc/ChangeLog.html:1.551 stratagus/doc/ChangeLog.html:1.552
--- stratagus/doc/ChangeLog.html:1.551  Tue Oct  7 10:16:24 2003
+++ stratagus/doc/ChangeLog.html        Thu Oct  9 19:15:26 2003
@@ -2,7 +2,7 @@
 <html>
 <head>
 <!--
-----   $Id: ChangeLog.html,v 1.551 2003/10/07 14:16:24 mr-russ Exp $
+----   $Id: ChangeLog.html,v 1.552 2003/10/09 23:15:26 mr-russ Exp $
 
 ----   (c) Copyright 1998-2003 by Lutz Sammer
 
@@ -36,6 +36,7 @@
 <li>Future 2.00 Release<p>
     <ul>
     <li>++
+    <li>Finished Support for units with MinAttackRange &gt;1 Moving away to 
attacker (from Russell Smith).
     <li>Added Patch #1987: Fix for air/ground transporters. (from pludov).
     <li>NEW_UI: Giving it up, removed #ifdef, saved patch in contrib/  (from 
Martin Renold).
     <li>Removed NEW_SHIPS (from Martin Renold).
Index: stratagus/src/action/action_attack.c
diff -u stratagus/src/action/action_attack.c:1.86 
stratagus/src/action/action_attack.c:1.87
--- stratagus/src/action/action_attack.c:1.86   Tue Oct  7 08:03:38 2003
+++ stratagus/src/action/action_attack.c        Thu Oct  9 19:15:27 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: action_attack.c,v 1.86 2003/10/07 12:03:38 martinxyz Exp $
+//     $Id: action_attack.c,v 1.87 2003/10/09 23:15:27 mr-russ Exp $
 
 //@{
 
@@ -128,6 +128,7 @@
            //
            unit->Orders[0].X = goal->X + goal->Type->TileWidth / 2;
            unit->Orders[0].Y = goal->Y + goal->Type->TileHeight / 2;
+           unit->Orders[0].MinRange = 0;
            unit->Orders[0].RangeX = unit->Orders[0].RangeY = 0;
 
            DebugLevel0Fn("destroyed unit %d\n" _C_ UnitNumber(goal));
@@ -144,6 +145,7 @@
            //
            unit->Orders[0].X = goal->X + goal->Type->TileWidth / 2;
            unit->Orders[0].Y = goal->Y + goal->Type->TileHeight / 2;
+           unit->Orders[0].MinRange = 0;
            unit->Orders[0].RangeX = unit->Orders[0].RangeY = 0;
 
            RefsDebugCheck(!goal->Refs);
@@ -210,6 +212,7 @@
            RefsDebugCheck(goal->Destroyed || !goal->Refs);
            goal->Refs++;
            unit->Orders[0].Goal = goal;
+           unit->Orders[0].MinRange = unit->Type->MinAttackRange;
            unit->Orders[0].RangeX = unit->Orders[0].RangeY =
                unit->Stats->AttackRange;
            unit->Orders[0].X = unit->Orders[0].Y = -1;
@@ -238,6 +241,7 @@
                        UnitNumber(goal));
                    unit->SavedOrder.X = goal->X + goal->Type->TileWidth / 2;
                    unit->SavedOrder.Y = goal->Y + goal->Type->TileHeight / 2;
+                   unit->SavedOrder.MinRange = 0;
                    unit->SavedOrder.RangeX = unit->SavedOrder.RangeY = 0;
                    unit->SavedOrder.Goal = NoUnitP;
                }
@@ -457,6 +461,7 @@
                        UnitNumber(temp));
                    unit->SavedOrder.X = temp->X + temp->Type->TileWidth / 2;
                    unit->SavedOrder.Y = temp->Y + temp->Type->TileHeight / 2;
+                   unit->SavedOrder.MinRange = 0;
                    unit->SavedOrder.RangeX = unit->SavedOrder.RangeY = 0;
                    unit->SavedOrder.Goal = NoUnitP;
                }
@@ -468,6 +473,7 @@
                UnitNumber(unit) _C_ UnitNumber(goal));
            unit->Orders[0].Goal = goal;
            unit->Orders[0].X = unit->Orders[0].Y = -1;
+           unit->Orders[0].MinRange = unit->Type->MinAttackRange;
            unit->Orders[0].RangeX = unit->Orders[0].RangeY =
                unit->Stats->AttackRange;
            NewResetPath(unit);
@@ -494,12 +500,15 @@
                            UnitNumber(goal));
                        unit->SavedOrder.X = goal->X + goal->Type->TileWidth / 
2;
                        unit->SavedOrder.Y = goal->Y + goal->Type->TileHeight / 
2;
+                       unit->SavedOrder.MinRange = 0;
                        unit->SavedOrder.RangeX = unit->SavedOrder.RangeY = 0;
                        unit->SavedOrder.Goal = NoUnitP;
                    }
                }
                unit->Orders[0].Goal = goal = temp;
                unit->Orders[0].X = unit->Orders[0].Y = -1;
+               unit->Orders[0].MinRange = unit->Type->MinAttackRange;
+               unit->SubAction = MOVE_TO_TARGET;
                NewResetPath(unit);
            }
        }
@@ -516,6 +525,7 @@
                        UnitNumber(temp));
                    unit->SavedOrder.X = temp->X + temp->Type->TileWidth / 2;
                    unit->SavedOrder.Y = temp->Y + temp->Type->TileHeight / 2;
+                   unit->SavedOrder.MinRange = 0;
                    unit->SavedOrder.RangeX = unit->SavedOrder.RangeY = 0;
                    unit->SavedOrder.Goal = NoUnitP;
                }
@@ -525,6 +535,9 @@
            unit->State = 0;
            unit->SubAction &= WEAK_TARGET;
            unit->SubAction |= MOVE_TO_TARGET;
+       }
+       if (MapDistanceBetweenUnits(unit, goal) < unit->Type->MinAttackRange) {
+           unit->SubAction = MOVE_TO_TARGET;
        }
 
        //
Index: stratagus/src/clone/clone.c
diff -u stratagus/src/clone/clone.c:1.209 stratagus/src/clone/clone.c:1.210
--- stratagus/src/clone/clone.c:1.209   Thu Oct  9 19:04:02 2003
+++ stratagus/src/clone/clone.c Thu Oct  9 19:15:27 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: clone.c,v 1.209 2003/10/09 23:04:02 jsalmon3 Exp $
+//     $Id: clone.c,v 1.210 2003/10/09 23:15:27 mr-russ Exp $
 
 //@{
 
@@ -1305,12 +1305,6 @@
 */
 global volatile void Exit(int err)
 {
-#ifdef DEBUG
-    extern unsigned PfCounterFail;
-    extern unsigned PfCounterOk;
-    extern unsigned PfCounterDepth;
-    extern unsigned PfCounterNotReachable;
-#endif
 
     StopMusic();
     QuitSound();
@@ -1323,11 +1317,6 @@
        FrameCounter _C_ SlowFrameCounter _C_
        (SlowFrameCounter * 100) / (FrameCounter ? FrameCounter : 1));
     UnitCacheStatistic();
-    DebugLevel0("Path: Error: %u Unreachable: %u OK: %u Depth: %u\n" _C_
-       PfCounterFail _C_ PfCounterNotReachable _C_
-       PfCounterOk _C_ PfCounterDepth);
-#endif
-#ifdef DEBUG
     CclUnits();
     CleanModules();
     CleanFonts();
Index: stratagus/src/clone/unit_find.c
diff -u stratagus/src/clone/unit_find.c:1.59 
stratagus/src/clone/unit_find.c:1.60
--- stratagus/src/clone/unit_find.c:1.59        Thu Oct  2 23:03:09 2003
+++ stratagus/src/clone/unit_find.c     Thu Oct  9 19:15:28 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: unit_find.c,v 1.59 2003/10/03 03:03:09 mr-russ Exp $
+//     $Id: unit_find.c,v 1.60 2003/10/09 23:15:28 mr-russ Exp $
 
 //@{
 
@@ -641,8 +641,7 @@
            }
            d=MapDistanceBetweenUnits(u,dest);
 
-            // FIXME: we don't support moving away!
-           
if((d>=type->MinAttackRange)&&(d<=range)&&UnitReachable(u,dest,attackrange)) {
+           if((d<=range)&&UnitReachable(u,dest,attackrange)) {
                enemy_count++;
            } else {
                table[i]=0;
@@ -841,9 +840,7 @@
        //      Unit in attack range?
        //
        d=MapDistanceBetweenUnits(unit,dest);
-       if( d<type->MinAttackRange ) {  // FIXME: we don't support moving away!
-           continue;
-       }
+
        // Use Circle, not square :)
        if( d>range ) {
            continue;
Index: stratagus/src/include/pathfinder.h
diff -u stratagus/src/include/pathfinder.h:1.33 
stratagus/src/include/pathfinder.h:1.34
--- stratagus/src/include/pathfinder.h:1.33     Sun Sep 14 02:53:08 2003
+++ stratagus/src/include/pathfinder.h  Thu Oct  9 19:15:29 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: pathfinder.h,v 1.33 2003/09/14 06:53:08 mr-russ Exp $
+//     $Id: pathfinder.h,v 1.34 2003/10/09 23:15:29 mr-russ Exp $
 
 #ifndef        __PATH_FINDER_H__
 #define        __PATH_FINDER_H__
@@ -97,8 +97,6 @@
 extern unsigned char* MakeMatrix(void);
     /// Get next element of the way to goal.
 extern int NewPath(Unit* unit);
-    /// Return distance to place.
-extern int PlaceReachable(Unit* src,int x,int y,int w, int h, int range);
     /// Return distance to unit.
 extern int UnitReachable(Unit* unit,Unit* dst,int range);
 
Index: stratagus/src/pathfinder/pathfinder.c
diff -u stratagus/src/pathfinder/pathfinder.c:1.55 
stratagus/src/pathfinder/pathfinder.c:1.56
--- stratagus/src/pathfinder/pathfinder.c:1.55  Thu Sep 18 07:59:21 2003
+++ stratagus/src/pathfinder/pathfinder.c       Thu Oct  9 19:15:29 2003
@@ -28,7 +28,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: pathfinder.c,v 1.55 2003/09/18 11:59:21 mr-russ Exp $
+//     $Id: pathfinder.c,v 1.56 2003/10/09 23:15:29 mr-russ Exp $
 
 //@{
 
@@ -74,13 +74,7 @@
 */
 global unsigned char Matrix[(MaxMapWidth+2)*(MaxMapHeight+3)+2];       /// 
Path matrix
 local unsigned int LocalMatrix[MaxMapWidth*MaxMapHeight];
-
-IfDebug(
-global unsigned PfCounterFail;
-global unsigned PfCounterOk;
-global unsigned PfCounterDepth;
-global unsigned PfCounterNotReachable;
-);
+local int PlaceReachable(Unit* src,int x,int y,int w,int h,int range);
 
 /*----------------------------------------------------------------------------
 --     Functions
@@ -386,7 +380,7 @@
 **
 **     @return         Distance to place.
 */
-global int PlaceReachable(Unit* src,int x,int y,int w,int h,int range)
+local int PlaceReachable(Unit* src,int x,int y,int w,int h,int range)
 {
     int depth;
     static unsigned long LastGameCycle;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]