diff -ru -X /home/jjm/cvs/no.freeciv FreecivCVS/client/climisc.c freeciv/client/climisc.c --- FreecivCVS/client/climisc.c Mon Jun 12 10:07:27 2000 +++ freeciv/client/climisc.c Sat Jun 17 12:34:22 2000 @@ -44,6 +44,7 @@ #include "cityrep_g.h" #include "control.h" #include "mapview_g.h" +#include "tilespec.h" #include "climisc.h" @@ -372,4 +373,32 @@ if (bufsiz > 0) *buf = '\0'; break; } +} + +/************************************************************************** +Return the sprite index for the research indicator. +**************************************************************************/ +int client_research_sprite(void) +{ + int index; + index = + (NUM_TILES_PROGRESS * game.player_ptr->research.researched) / + (research_time(game.player_ptr) + 1); + return index; +} + +/************************************************************************** +Return the sprite index for the pollution indicator. +**************************************************************************/ +int client_pollution_sprite(void) +{ + int index; + if (game.heating < (NUM_TILES_PROGRESS / 2)) { + index = MAX(0, game.heating); + } else { + index = MIN(NUM_TILES_PROGRESS, + (MAX(0, 4 + game.globalwarming) / 5) + + ((NUM_TILES_PROGRESS / 2) - 1)); + } + return index; } diff -ru -X /home/jjm/cvs/no.freeciv FreecivCVS/client/climisc.h freeciv/client/climisc.h --- FreecivCVS/client/climisc.h Mon Jun 12 10:07:27 2000 +++ freeciv/client/climisc.h Sat Jun 17 12:15:52 2000 @@ -29,5 +29,8 @@ void client_diplomacy_clause_string(char *buf, int bufsiz, struct Clause *pclause); +int client_research_sprite(void); +int client_pollution_sprite(void); + #endif /* FC__CLIMISC_H */ diff -ru -X /home/jjm/cvs/no.freeciv FreecivCVS/client/gui-gtk/mapview.c freeciv/client/gui-gtk/mapview.c --- FreecivCVS/client/gui-gtk/mapview.c Mon Jun 12 10:07:28 2000 +++ freeciv/client/gui-gtk/mapview.c Sat Jun 17 12:18:25 2000 @@ -293,12 +293,9 @@ gtk_set_label(main_label_info, buffer); - if (game.heating>7) game.heating=7; - set_bulb_sol_government(8*game.player_ptr->research.researched/ - (research_time(game.player_ptr)+1), - game.heating, - game.player_ptr->government); - + set_bulb_sol_government(client_research_sprite(), + client_pollution_sprite(), + game.player_ptr->government); d=0; for(;d<(game.player_ptr->economic.luxury)/10;d++) diff -ru -X /home/jjm/cvs/no.freeciv FreecivCVS/client/gui-mui/mapview.c freeciv/client/gui-mui/mapview.c --- FreecivCVS/client/gui-mui/mapview.c Tue Apr 25 07:42:46 2000 +++ freeciv/client/gui-mui/mapview.c Sat Jun 17 12:18:39 2000 @@ -242,11 +242,8 @@ game.player_ptr->economic.luxury, game.player_ptr->economic.science); - if (game.heating > 7) - game.heating = 7; - set_bulb_sol_government(8 * game.player_ptr->research.researched / - (research_time(game.player_ptr) + 1), - game.heating, + set_bulb_sol_government(client_research_sprite(), + client_pollution_sprite(), game.player_ptr->government); d = 0; diff -ru -X /home/jjm/cvs/no.freeciv FreecivCVS/client/gui-xaw/mapview.c freeciv/client/gui-xaw/mapview.c --- FreecivCVS/client/gui-xaw/mapview.c Mon Jun 12 10:07:28 2000 +++ freeciv/client/gui-xaw/mapview.c Sat Jun 17 12:18:14 2000 @@ -273,12 +273,10 @@ game.player_ptr->economic.luxury, game.player_ptr->economic.science); xaw_set_label(info_command, buffer); - if (game.heating>7) game.heating=7; - set_bulb_sol_government(8*game.player_ptr->research.researched/ - (research_time(game.player_ptr)+1), - game.heating, - game.player_ptr->government); + set_bulb_sol_government(client_research_sprite(), + client_pollution_sprite(), + game.player_ptr->government); d=0; for(;d<(game.player_ptr->economic.luxury)/10;d++) diff -ru -X /home/jjm/cvs/no.freeciv FreecivCVS/server/civserver.c freeciv/server/civserver.c --- FreecivCVS/server/civserver.c Mon Jun 12 10:07:35 2000 +++ freeciv/server/civserver.c Sat Jun 17 12:22:49 2000 @@ -772,6 +772,9 @@ game.warminglevel+=4; } } + freelog(LOG_DEBUG, + "pollution: heating=%d warminglevel=%d globalwarming=%d", + game.heating, game.warminglevel, game.globalwarming); } /**************************************************************************