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/clone/unit_find.c


From: Russell Smith
Subject: [Stratagus-CVS] stratagus doc/ChangeLog.html src/clone/unit_find.c
Date: Thu, 02 Oct 2003 23:03:10 -0400

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

Modified files:
        doc            : ChangeLog.html 
        src/clone      : unit_find.c 

Log message:
        Fixed Sync bug, qsort must return a unique answer, regardless of sort 
order

Patches:
Index: stratagus/doc/ChangeLog.html
diff -u stratagus/doc/ChangeLog.html:1.546 stratagus/doc/ChangeLog.html:1.547
--- stratagus/doc/ChangeLog.html:1.546  Fri Sep 26 16:40:34 2003
+++ stratagus/doc/ChangeLog.html        Thu Oct  2 23:03:09 2003
@@ -2,7 +2,7 @@
 <html>
 <head>
 <!--
-----   $Id: ChangeLog.html,v 1.546 2003/09/26 20:40:34 jsalmon3 Exp $
+----   $Id: ChangeLog.html,v 1.547 2003/10/03 03:03:09 mr-russ Exp $
 
 ----   (c) Copyright 1998-2003 by Lutz Sammer
 
@@ -36,6 +36,7 @@
 <li>Future 2.00 Release<p>
     <ul>
     <li>++
+    <li>Fixed Sync bug, qsort must return a unique answer, regardless of sort 
order (from Russell Smith and Jimmy Salmon).
     <li>Implemented task #2634: Removed Hard Coded Burning (from Jimmy Salmon).
     <li>Removed Mana 255 Limitation (from Russell Smith).
     <li>Fixed Bug #5294: -e switch doesn't work (from Russell Smith).
Index: stratagus/src/clone/unit_find.c
diff -u stratagus/src/clone/unit_find.c:1.58 
stratagus/src/clone/unit_find.c:1.59
--- stratagus/src/clone/unit_find.c:1.58        Sat Sep 20 05:03:40 2003
+++ stratagus/src/clone/unit_find.c     Thu Oct  2 23:03:09 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: unit_find.c,v 1.58 2003/09/20 09:03:40 mr-russ Exp $
+//     $Id: unit_find.c,v 1.59 2003/10/03 03:03:09 mr-russ Exp $
 
 //@{
 
@@ -466,8 +466,20 @@
 **/
 local int InDistanceCompare(const void* v1, const void* v2)
 {
-    return MapDistanceBetweenUnits(*(Unit**)v1,localunit) <
-       MapDistanceBetweenUnits(*(Unit**)v2,localunit);
+    int unit1dist;
+    int unit2dist;
+
+    unit1dist = MapDistanceBetweenUnits(*(Unit**)v1, localunit);
+    unit2dist = MapDistanceBetweenUnits(*(Unit**)v2, localunit);
+
+    if (unit1dist < unit2dist) {
+       return -1;
+    } else if (unit1dist > unit2dist) {
+       return 1;
+    } else {
+       return (*(Unit**)v1)->Slot - (*(Unit**)v2)->Slot;
+    }
+    
 }
                        
 /*----------------------------------------------------------------------------




reply via email to

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