? civscore.log ? ddddd ? def_ships_moves2.diff ? fun.leaders ? key.diff ? rep-2250-normalplaying-civscore.log ? rep-2250-normalplaying.gz ? rep-2400-not-normal.civscore.log ? rep-2400-not-normal.gz ? rep-end.diff ? rep-in-27.gz ? republic.gz ? test-ai ? test-rep ? common/.tech.c.swp ? server/.srv_main.c.swp Index: client/gui-gtk/citydlg.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/client/gui-gtk/citydlg.c,v retrieving revision 1.150 diff -u -r1.150 citydlg.c --- client/gui-gtk/citydlg.c 2003/01/01 11:51:32 1.150 +++ client/gui-gtk/citydlg.c 2003/01/03 13:59:31 @@ -1672,6 +1672,7 @@ } else { width = SMALL_TILE_WIDTH; } + freelog(LOG_ERROR,"width= %d", width); pdialog->cwidth = width; gtk_pixcomm_clear(GTK_PIXCOMM(pdialog->citizen_pixmap), TRUE); Index: server/srv_main.c =================================================================== RCS file: /home/freeciv/CVS/freeciv/server/srv_main.c,v retrieving revision 1.110 diff -u -r1.110 srv_main.c --- server/srv_main.c 2002/12/18 17:36:20 1.110 +++ server/srv_main.c 2003/01/03 13:59:32 @@ -195,7 +195,12 @@ int barbs = 0, alive = 0; bool all_allied; struct player *victor = NULL; + const char *end_year_tech = "The Republic" ; + Tech_Type_id tech_id; + + tech_id = find_tech_by_name(end_year_tech); + /* quit if we are past the year limit */ if (game.year > game.end_year) { notify_conn(&game.est_connections, @@ -203,6 +208,17 @@ gamelog(GAMELOG_NORMAL, _("Game ended in a draw as end year exceeded")); return TRUE; } + + /* we end the game after someone has the tech from tech_end */ + players_iterate(pplayer) { + /* tech??? */ + if (base_total_bulbs_required(pplayer,tech_id) <= 0) + { + freelog(LOG_ERROR,"Endyear: %d",game.year); + return TRUE; + } + } players_iterate_end; + /* count barbarians */ players_iterate(pplayer) {