Complete.Org: Mailing Lists: Archives: freeciv-dev: August 2004:
[Freeciv-Dev] (PR#9637) Ocean numbers
Home

[Freeciv-Dev] (PR#9637) Ocean numbers

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: jdorje@xxxxxxxxxxxxxxxxxxxxx, mburda@xxxxxxxxx
Subject: [Freeciv-Dev] (PR#9637) Ocean numbers
From: "Gregory Berkolaiko" <Gregory.Berkolaiko@xxxxxxxxxxxxx>
Date: Sat, 14 Aug 2004 10:37:47 -0700
Reply-to: rt@xxxxxxxxxxx

<URL: http://rt.freeciv.org/Ticket/Display.html?id=9637 >

> [glip - Fri Aug 13 12:41:09 2004]:
> 
> On Thu, 12 Aug 2004, Marcelo Burda wrote:
> 
> > 2) savegames diverge:
> 
> As I understand you traced it to some unconditional jump somewhere.  Is
> this correct?
> 
> > civgame+0001.sav.gz :
> > civgame+0200.sav.gz :
> > civgame-0250.sav.gz :
> > civgame+0400.sav.gz :
> > civgame-0500.sav.gz :
> > civgame+0600.sav.gz :
> > civgame-0750.sav.gz :
> > civgame+0800.sav.gz : missing
> > civgame-1000.sav.gz : identical
> > civgame-1500.sav.gz : identical
> > civgame-2000.sav.gz : identical
> > civgame-2500.sav.gz : identical
> > civgame-3000.sav.gz : identical
> > civgame-3500.sav.gz : identical
> > set randseed 1234512
> > set seed 1234512
> > cre one
> > cre dos
> > cre tres
> > normal
> > set endyear 1700
> > set timeout 1
> > set timeout -1
> > start

With lots of work I found the divergence point.  But at least this time
it was useful -- it was a bug.  A patch fixing this is attached.

G.
? saves
? t1
? t2
? ttt.gz
Index: ai/aiexplorer.c
===================================================================
RCS file: /home/freeciv/CVS/freeciv/ai/aiexplorer.c,v
retrieving revision 1.2
diff -u -r1.2 aiexplorer.c
--- ai/aiexplorer.c     13 Aug 2004 15:59:11 -0000      1.2
+++ ai/aiexplorer.c     14 Aug 2004 17:34:22 -0000
@@ -185,7 +185,8 @@
   if ((unit_flag(punit, F_TRIREME) && 
        is_likely_trireme_loss(pplayer, x, y))
       || map_get_city(x, y)
-      || map_get_continent(x, y) != continent
+      || (continent != 0 && map_get_continent(x, y) != continent)
+      || (continent == 0 && is_ocean(map_get_terrain(x, y))
       || (is_barbarian(pplayer) && map_has_special(x, y, S_HUT))) {
     return 0;
   }

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