diff -Nur -X/home/thue/freeciv-dev/no.freeciv freeciv/common/capstr.c 32_players/common/capstr.c --- freeciv/common/capstr.c Sun Apr 30 15:53:33 2000 +++ 32_players/common/capstr.c Sun Apr 30 16:26:52 2000 @@ -71,7 +71,7 @@ */ #define CAPABILITY "+1.10 +fog_of_war +fortify_two_step +get_sabotage_list \ -ocean_reclamation +dipl_cli_pop_dlg advance_focus_packet" +ocean_reclamation +dipl_cli_pop_dlg advance_focus_packet +30players" /* "+1.10" is protocol for 1.10.0 stable release @@ -90,6 +90,8 @@ "advance_focus_packet" is a protocol extension that the server uses to tell the client that the server does not intend to move a unit further. + + "30players" is raising the MAX_NUM_PLAYERS value from 14 to 30. */ void init_our_capability(void) diff -Nur -X/home/thue/freeciv-dev/no.freeciv freeciv/common/map.h 32_players/common/map.h --- freeciv/common/map.h Sun Apr 30 15:53:33 2000 +++ 32_players/common/map.h Sun Apr 30 18:10:49 2000 @@ -56,13 +56,13 @@ enum tile_special_type special; struct city *city; struct unit_list units; - unsigned short known; /* A bitvector on the server side, an - enum known_type on the client side. - Player_no is index */ - unsigned short sent; /* Indicates if the client know the tile - as TILE_KNOWN_NODRAW. A bitvector like known. - Not used on the client side. */ - short assigned; /* these can save a lot of CPU usage -- Syela */ + unsigned int known; /* A bitvector on the server side, an + enum known_type on the client side. + Player_no is index */ + unsigned int sent; /* Indicates if the client know the tile + as TILE_KNOWN_NODRAW. A bitvector like known. + Not used on the client side. */ + int assigned; /* these can save a lot of CPU usage -- Syela */ struct city *worked; /* city working tile, or NULL if none */ signed short continent; signed char move_cost[8]; /* don't know if this helps! */ diff -Nur -X/home/thue/freeciv-dev/no.freeciv freeciv/common/packets.c 32_players/common/packets.c --- freeciv/common/packets.c Sun Apr 30 15:53:34 2000 +++ 32_players/common/packets.c Sun Apr 30 17:56:26 2000 @@ -1640,7 +1640,8 @@ cptr=put_uint8(buffer+2, PACKET_UNIT_INFO); cptr=put_uint16(cptr, req->id); - pack=(req->owner)|(req->veteran?0x10:0)|(req->ai?0x20:0)|(req->paradropped?0x40:0)|(req->connecting?0x80:0); + cptr=put_uint8(cptr, req->owner); + pack=(req->veteran?0x10:0)|(req->ai?0x20:0)|(req->paradropped?0x40:0)|(req->connecting?0x80:0); cptr=put_uint8(cptr, pack); cptr=put_uint8(cptr, req->x); cptr=put_uint8(cptr, req->y); @@ -1817,8 +1818,8 @@ pack_iter_init(&iter, pc); iget_uint16(&iter, &packet->id); + iget_uint8(&iter, &packet->owner); iget_uint8(&iter, &pack); - packet->owner=pack&0x0f; packet->veteran=(pack&0x10)?1:0; packet->ai=(pack&0x20)?1:0; packet->paradropped=(pack&0x40)?1:0; diff -Nur -X/home/thue/freeciv-dev/no.freeciv freeciv/common/shared.h 32_players/common/shared.h --- freeciv/common/shared.h Sun Apr 30 15:53:34 2000 +++ 32_players/common/shared.h Sun Apr 30 15:58:06 2000 @@ -25,7 +25,7 @@ #define BROADCAST_EVENT -2 -#define MAX_NUM_PLAYERS 14 +#define MAX_NUM_PLAYERS 30 #define MAX_NUM_ITEMS 200 /* eg, unit_types */ #define MAX_NUM_TECH_LIST 10 #define MAX_LEN_NAME 32 diff -Nur -X/home/thue/freeciv-dev/no.freeciv freeciv/server/plrhand.c 32_players/server/plrhand.c --- freeciv/server/plrhand.c Sun Apr 30 15:53:41 2000 +++ 32_players/server/plrhand.c Sun Apr 30 16:07:57 2000 @@ -90,10 +90,13 @@ ((const struct player_score_entry *)a)->value); } -static char *greatness[] = { +static char *greatness[MAX_NUM_PLAYERS] = { N_("Magnificent"), N_("Glorious"), N_("Great"), N_("Decent"), N_("Mediocre"), N_("Hilarious"), N_("Worthless"), N_("Pathetic"), - N_("Useless"), "Useless", "Useless", "Useless", "Useless", "Useless" + N_("Useless"), "Useless", "Useless", "Useless", "Useless", "Useless", + "Useless", "Useless", "Useless", "Useless", "Useless", "Useless", + "Useless", "Useless", "Useless", "Useless", "Useless", "Useless", + "Useless", "Useless", "Useless", "Useless" }; static void historian_generic(enum historian_type which_news) diff -Nur -X/home/thue/freeciv-dev/no.freeciv freeciv/server/settlers.c 32_players/server/settlers.c --- freeciv/server/settlers.c Sun Apr 30 19:57:17 2000 +++ 32_players/server/settlers.c Sun Apr 30 20:04:31 2000 @@ -38,8 +38,8 @@ extern struct move_cost_map warmap; -signed short int minimap[MAP_MAX_WIDTH][MAP_MAX_HEIGHT]; -static unsigned short int territory[MAP_MAX_WIDTH][MAP_MAX_HEIGHT]; +signed int minimap[MAP_MAX_WIDTH][MAP_MAX_HEIGHT]; +static unsigned int territory[MAP_MAX_WIDTH][MAP_MAX_HEIGHT]; /* negative: in_city_radius, 0: unassigned, positive: city_des */ /*************************************************************************/ @@ -1372,7 +1372,7 @@ int i, x, y; for (x = 0; x < map.xsize; x++) for (y = 0; y < map.ysize; y++) - territory[x][y] = 65535; + territory[x][y] = 0xFFFFFFFF; for (i = 0; i < game.nplayers; i++) { assign_territory_player(&game.players[i]);