diff -ruN -Xclean-cvs/diff_ignore clean-cvs/common/map.h cvs/common/map.h --- clean-cvs/common/map.h Wed May 3 14:43:59 2000 +++ cvs/common/map.h Fri May 12 01:26:57 2000 @@ -312,6 +312,6 @@ #define MAP_DEFAULT_GENERATOR 1 #define MAP_MIN_GENERATOR 1 -#define MAP_MAX_GENERATOR 4 +#define MAP_MAX_GENERATOR 5 #endif /* FC__MAP_H */ diff -ruN -Xclean-cvs/diff_ignore clean-cvs/server/mapgen.c cvs/server/mapgen.c --- clean-cvs/server/mapgen.c Mon Jan 31 18:04:36 2000 +++ cvs/server/mapgen.c Fri May 12 01:55:39 2000 @@ -38,6 +38,7 @@ static void mapgenerator2(void); static void mapgenerator3(void); static void mapgenerator4(void); +static void mapgenerator5(void); static void smooth_map(void); static void adjust_map(int minval); @@ -799,6 +800,8 @@ map_allocate(); /* if one mapgenerator fails, it will choose another mapgenerator */ /* with a lower number to try again */ + if (map.generator == 5 ) + mapgenerator5(); if (map.generator == 4 ) mapgenerator4(); if (map.generator == 3 ) @@ -1597,3 +1600,34 @@ freelog(LOG_VERBOSE, "%ld mass left unplaced", checkmass); } } + + +/************************************************************************** + one big continent +**************************************************************************/ +static void mapgenerator5(void) +{ + int spares= 1; + /* constant that makes up that an island actually needs additional space */ + + if (map.landpercent > 85) { + map.generator = 1; + return; + } + + adjust_terrain_param(); + totalmass = ( (map.ysize-6-spares) * map.landpercent * (map.xsize-spares) ) / 100; + + initworld(); + + makeisland(totalmass, game.nplayers); + + make_plains(); + free(height_map); + + if(checkmass>map.xsize+map.ysize+totalweight) { + freelog(LOG_VERBOSE, "%ld mass left unplaced", checkmass); + } +} + + diff -ruN -Xclean-cvs/diff_ignore clean-cvs/server/stdinhand.c cvs/server/stdinhand.c --- clean-cvs/server/stdinhand.c Fri Apr 7 23:37:50 2000 +++ cvs/server/stdinhand.c Fri May 12 01:25:26 2000 @@ -157,6 +157,7 @@ "4 = equally sized large islands with two players on every island (or one\n" " with three players for an odd number of players), and additional\n" " smaller islands.\n" + "5 = one big continent (if You prefer trenches to boats)\n" "Note: values 2,3 and 4 generate \"fairer\" (but more boring) maps.\n" "(Zero indicates a scenario map.)") },