diff -Nur -Xfreeciv/diff_ignore freeciv/common/capstr.c test-32timeout/common/capstr.c --- freeciv/common/capstr.c Fri Mar 8 18:26:31 2002 +++ test-32timeout/common/capstr.c Mon Mar 11 23:41:01 2002 @@ -73,7 +73,7 @@ #define CAPABILITY "+1.11.6 conn_info pop_cost +turn +attributes"\ " new_bonus_tech fund_added +processing_packets angrycitizen +tile_trade"\ " init_techs short_worklists tech_cost_style +short_city_tile_trade"\ -" +trade_size" +" +trade_size u32timeout" /* "+1.11.6" is protocol for 1.11.6 beta release. @@ -117,6 +117,9 @@ "trade_size" transfer game.notradesize and game.fulltradesize to the client. + + "u32timeout" designates that game.timeout is packeted as a uint32 + instead of a uint16 */ void init_our_capability(void) diff -Nur -Xfreeciv/diff_ignore freeciv/common/packets.c test-32timeout/common/packets.c --- freeciv/common/packets.c Fri Mar 8 18:26:42 2002 +++ test-32timeout/common/packets.c Mon Mar 11 23:32:31 2002 @@ -2051,9 +2051,12 @@ cptr=put_uint16(cptr, pinfo->gold); cptr=put_uint32(cptr, pinfo->tech); cptr=put_uint8(cptr, pinfo->researchcost); - cptr=put_uint32(cptr, pinfo->skill_level); - cptr=put_uint16(cptr, pinfo->timeout); + if (has_capability("u32timeout", pc->capability)) { + cptr=put_uint32(cptr, pinfo->timeout); + } else { + cptr=put_uint16(cptr, pinfo->timeout); + } cptr=put_uint32(cptr, pinfo->end_year); cptr=put_uint32(cptr, pinfo->year); cptr=put_uint8(cptr, pinfo->min_players); @@ -2110,7 +2113,11 @@ iget_uint32(&iter, &pinfo->tech); iget_uint8(&iter, &pinfo->researchcost); iget_uint32(&iter, &pinfo->skill_level); - iget_uint16(&iter, &pinfo->timeout); + if (has_capability("u32timeout", pc->capability)) { + iget_uint32(&iter, &pinfo->timeout); + } else { + iget_uint16(&iter, &pinfo->timeout); + } iget_uint32(&iter, &pinfo->end_year); iget_uint32(&iter, &pinfo->year); iget_uint8(&iter, &pinfo->min_players);