[Top][All Lists]
[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 >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;