diff -urd -X freeciv.clean/diff_ignore part_app/server/maphand.c work/server/maphand.c --- part_app/server/maphand.c Mon Feb 18 12:35:02 2002 +++ work/server/maphand.c Sat Feb 23 14:34:33 2002 @@ -74,7 +74,7 @@ freelog(LOG_NORMAL, "Global warming: %d", game.heating); k = map_num_tiles(); - while(effect && k--) { + while(effect > 0 && (k--) > 0) { rand_map_pos(&x, &y); if (map_get_terrain(x, y) != T_OCEAN) { if (is_terrain_ecologically_wet(x, y)) { @@ -130,7 +130,7 @@ freelog(LOG_NORMAL, "Nuclear winter: %d", game.cooling); k = map_num_tiles(); - while(effect && k--) { + while(effect > 0 && (k--) > 0) { rand_map_pos(&x, &y); if (map_get_terrain(x, y) != T_OCEAN) { switch (map_get_terrain(x, y)) { @@ -203,12 +203,22 @@ } /************************************************************************** + Return TRUE iff the player me really gives shared vision to player + them. +**************************************************************************/ +static bool really_gives_vision(struct player *me, + struct player *them) +{ + return TEST_BIT(me->really_gives_vision, them->player_no); +} + +/************************************************************************** ... **************************************************************************/ static void buffer_shared_vision(struct player *pplayer) { players_iterate(pplayer2) { - if (pplayer->really_gives_vision & (1<player_no)) + if (really_gives_vision(pplayer, pplayer2)) conn_list_do_buffer(&pplayer2->connections); } players_iterate_end; conn_list_do_buffer(&pplayer->connections); @@ -220,7 +230,7 @@ static void unbuffer_shared_vision(struct player *pplayer) { players_iterate(pplayer2) { - if (pplayer->really_gives_vision & (1<player_no)) + if (really_gives_vision(pplayer, pplayer2)) conn_list_do_unbuffer(&pplayer2->connections); } players_iterate_end; conn_list_do_unbuffer(&pplayer->connections); @@ -379,7 +389,7 @@ info.special = ptile->special; } else if (map_get_known(x, y, pplayer)) { - if (map_get_seen(x, y, pplayer)) { /* known and seen */ + if (map_get_seen(x, y, pplayer) != 0) { /* known and seen */ update_tile_knowledge(pplayer,x,y); /* visible; update info */ info.known = TILE_KNOWN; } else { /* known but not seen */ @@ -503,8 +513,7 @@ /* players (s)he gives shared vision */ players_iterate(pplayer2) { - int playerid2 = pplayer2->player_no; - if (!(pplayer->really_gives_vision & (1<player_no; - if (!(pplayer->really_gives_vision & (1<player_no; - if (pplayer->really_gives_vision & (1<units, punit) send_unit_info(pplayer, punit); unit_list_iterate_end; @@ -749,7 +756,7 @@ /* players (s)he gives shared vision */ players_iterate(pplayer2) { - if (pplayer->really_gives_vision & (1<player_no)) { + if (really_gives_vision(pplayer, pplayer2)) { really_show_area(pplayer2, abs_x, abs_y); reveal_pending_seen(pplayer2, abs_x, abs_y, 0); } @@ -765,7 +772,7 @@ ***************************************************************/ bool map_get_known(int x, int y, struct player *pplayer) { - return map_get_tile(x, y)->known & (1u<player_no); + return TEST_BIT(map_get_tile(x, y)->known, pplayer->player_no); } /*************************************************************** @@ -775,8 +782,8 @@ { int offset = map_inx(x, y); - return ((map.tiles + offset)->known) & (1u << (pplayer->player_no)) - && (pplayer->private_map + offset)->seen; + return (TEST_BIT((map.tiles + offset)->known, pplayer->player_no) + && ((pplayer->private_map + offset)->seen != 0)); } /*************************************************************** @@ -804,7 +811,7 @@ int map_get_own_seen(int x, int y, struct player *pplayer) { int own_seen = map_get_player_tile(x, y, pplayer)->own_seen; - if (own_seen) + if (own_seen != 0) assert(map_get_known(x, y, pplayer)); return own_seen; } @@ -884,7 +891,7 @@ ***************************************************************/ static bool map_get_sent(int x, int y, struct player *pplayer) { - return map_get_tile(x, y)->sent & (1u<player_no); + return TEST_BIT(map_get_tile(x, y)->sent, pplayer->player_no); } /*************************************************************** @@ -1050,8 +1057,7 @@ really_give_tile_info_from_player_to_player(pfrom, pdest, x, y); players_iterate(pplayer2) { - int playerid2 = pplayer2->player_no; - if (!(pdest->really_gives_vision & (1<really_gives_vision & (1<player_no) + if (really_gives_vision(pplayer, pplayer2) && pplayer != pplayer2) { players_iterate(pplayer3) { - if (pplayer2->really_gives_vision & (1<player_no) - && !(pplayer->really_gives_vision & (1<player_no)) + if (really_gives_vision(pplayer2, pplayer3) + && !really_gives_vision(pplayer,pplayer3) && pplayer != pplayer3) { pplayer->really_gives_vision |= (1<player_no); added++; @@ -1100,7 +1106,7 @@ { int save_vision[MAX_NUM_PLAYERS+MAX_NUM_BARBARIANS]; if (pfrom == pto) return; - if (pfrom->gives_shared_vision & (1<player_no)) { + if (gives_shared_vision(pfrom, pto)) { freelog(LOG_ERROR, "Trying to give shared vision from %s to %s, " "but that vision is already given!", pfrom->name, pto->name); @@ -1119,13 +1125,13 @@ players_iterate(pplayer) { buffer_shared_vision(pplayer); players_iterate(pplayer2) { - if (pplayer->really_gives_vision & (1<player_no) - && !(save_vision[pplayer->player_no] & (1<player_no))) { + if (really_gives_vision(pplayer, pplayer2) + && !TEST_BIT(save_vision[pplayer->player_no], pplayer2->player_no)) { freelog(LOG_DEBUG, "really giving shared vision from %s to %s\n", pplayer->username, pplayer2->username); whole_map_iterate(x, y) { int change = map_get_own_seen(x, y, pplayer); - if (change) { + if (change != 0) { map_change_seen(x, y, pplayer2, change); if (map_get_seen(x, y, pplayer2) == change) { really_unfog_area(pplayer2, x, y); @@ -1153,7 +1159,7 @@ { int save_vision[MAX_NUM_PLAYERS+MAX_NUM_BARBARIANS]; assert(pfrom != pto); - if (!(pfrom->gives_shared_vision & (1<player_no))) { + if (!gives_shared_vision(pfrom, pto)) { freelog(LOG_ERROR, "Tried removing the shared vision from %s to %s, " "but it did not exist in the first place!", pfrom->name, pto->name); @@ -1173,8 +1179,8 @@ players_iterate(pplayer) { buffer_shared_vision(pplayer); players_iterate(pplayer2) { - if (!(pplayer->really_gives_vision & (1<player_no)) - && save_vision[pplayer->player_no] & (1<player_no)) { + if (!really_gives_vision(pplayer, pplayer2) + && TEST_BIT(save_vision[pplayer->player_no], pplayer2->player_no)) { freelog(LOG_DEBUG, "really removing shared vision from %s to %s\n", pplayer->username, pplayer2->username); whole_map_iterate(x, y) { @@ -1204,7 +1210,7 @@ struct player *pplayer2 = get_player(packet->value); if (pplayer == pplayer2) return; if (!pplayer2->is_alive) return; - if (!(pplayer->gives_shared_vision & (1<value))) return; + if (!gives_shared_vision(pplayer, pplayer2)) return; remove_shared_vision(pplayer, pplayer2); notify_player(pplayer2, _("%s no longer gives us shared vision!"), diff -urd -X freeciv.clean/diff_ignore part_app/server/maphand.h work/server/maphand.h --- part_app/server/maphand.h Mon Feb 18 12:35:02 2002 +++ work/server/maphand.h Sat Feb 23 13:29:53 2002 @@ -22,9 +22,9 @@ struct dumb_city{ int id; + bool has_walls; char name[MAX_LEN_NAME]; unsigned short size; - unsigned char has_walls; unsigned char owner; }; diff -urd -X freeciv.clean/diff_ignore part_app/server/meta.c work/server/meta.c --- part_app/server/meta.c Thu Feb 21 11:28:16 2002 +++ work/server/meta.c Sat Feb 23 14:35:18 2002 @@ -108,7 +108,7 @@ if ((metaserver_port_separator = strchr(srvarg.metaserver_addr,':'))) { metaserver_port_separator[0] = '\0'; - if ((specified_port=atoi(&metaserver_port_separator[1]))) { + if ((specified_port=atoi(&metaserver_port_separator[1])) != 0) { srvarg.metaserver_port = (unsigned short int)specified_port; } } diff -urd -X freeciv.clean/diff_ignore part_app/server/plrhand.c work/server/plrhand.c --- part_app/server/plrhand.c Thu Feb 21 15:36:49 2002 +++ work/server/plrhand.c Sat Feb 23 15:46:12 2002 @@ -143,7 +143,7 @@ **************************************************************************/ static void update_revolution(struct player *pplayer) { - if(pplayer->revolution) + if(pplayer->revolution > 0) pplayer->revolution--; } @@ -194,7 +194,7 @@ get_nation_name(pplayer->nation)); } players_iterate(pplayer2) { - if (pplayer->gives_shared_vision & (1<player_no)) + if (gives_shared_vision(pplayer, pplayer2)) remove_shared_vision(pplayer, pplayer2); } players_iterate_end; @@ -221,7 +221,7 @@ plr->got_tech = TRUE; plr->research.techs_researched++; - was_first = !game.global_advances[tech_found]; + was_first = (game.global_advances[tech_found] == 0); if (was_first) { gamelog(GAMELOG_TECH,_("%s are first to learn %s"), @@ -230,7 +230,7 @@ /* Alert the owners of any wonders that have been made obsolete */ for (wonder = 0; wonder < game.num_impr_types; wonder++) { - if (game.global_wonders[wonder] && is_wonder(wonder) && + if (game.global_wonders[wonder] != 0 && is_wonder(wonder) && improvement_types[wonder].obsolete_by == tech_found && (pcity = find_city_by_id(game.global_wonders[wonder]))) { notify_player_ex(city_owner(pcity), -1, -1, E_WONDER_OBSOLETE, @@ -283,7 +283,7 @@ saved_bulbs = plr->research.bulbs_researched; - if (choose_goal_tech(plr)) { + if (choose_goal_tech(plr) != 0) { notify_player(plr, _("Game: Learned %s. " "Our scientists focus on %s, goal is %s."), @@ -403,7 +403,7 @@ ai_next_tech_goal(plr); /* tech-AI has been changed */ sub_goal = get_next_tech(plr, plr->ai.tech_goal); /* should be changed */ } else sub_goal = get_next_tech(plr, plr->ai.tech_goal); - if (!sub_goal) { + if (sub_goal == 0) { if (plr->ai.control || plr->research.techs_researched == 1) { ai_next_tech_goal(plr); sub_goal = get_next_tech(plr, plr->ai.tech_goal); @@ -412,7 +412,7 @@ } } - if (sub_goal) { + if (sub_goal != 0) { plr->research.researching=sub_goal; } return sub_goal; @@ -444,7 +444,7 @@ for (i = 0; i < game.num_tech_types; i++) { if (get_invention(plr, i) == TECH_REACHABLE) { choosen--; - if (!choosen) { + if (choosen == 0) { break; } } @@ -547,7 +547,7 @@ j++; } } - if (!j) { + if (j == 0) { if (target->future_tech > pplayer->future_tech) { found_new_future_tech(pplayer); @@ -568,7 +568,7 @@ if (get_invention(pplayer, i)!=TECH_KNOWN && get_invention(target, i)== TECH_KNOWN) j--; - if (!j) break; + if (j == 0) break; } if (i==game.num_tech_types) { freelog(LOG_ERROR, "Bug in get_a_tech"); @@ -813,7 +813,7 @@ } /* if there's a reason to cancel the pact, do it without penalty */ - if (pplayer->diplstates[pplayer2->player_no].has_reason_to_cancel) { + if (pplayer->diplstates[pplayer2->player_no].has_reason_to_cancel > 0) { pplayer->diplstates[pplayer2->player_no].has_reason_to_cancel = 0; if (has_senate) notify_player(pplayer, _("The senate passes your bill because of the " @@ -1140,7 +1140,7 @@ packet->techs_researched= plr->research.techs_researched; packet->researching = plr->research.researching; packet->future_tech = plr->future_tech; - if (plr->revolution) + if (plr->revolution != 0) packet->revolution = 1; else packet->revolution = 0; @@ -1166,7 +1166,7 @@ packet->embassy = 0; else packet->embassy = 1 << receiver->player_no; - if (!receiver || !(plr->gives_shared_vision & (1<player_no))) + if (!receiver || !gives_shared_vision(plr, receiver)) packet->gives_shared_vision = 0; else packet->gives_shared_vision = 1 << receiver->player_no; @@ -1675,7 +1675,12 @@ /* Now compute the contribution of the cities. */ city_list_iterate(pplayer->cities, pcity) - prob += city_unhappy(pcity) * 5 - city_celebrating(pcity) * 5; + if (city_unhappy(pcity)) { + prob += 5; + } + if (city_celebrating(pcity)) { + prob -= 5; + } city_list_iterate_end; freelog(LOG_VERBOSE, "Civil war chance for %s: prob %d, dice %d", @@ -1743,7 +1748,7 @@ j = city_list_size(&pplayer->cities); /* number left to process */ city_list_iterate(pplayer->cities, pcity) { if (!city_got_building(pcity, B_PALACE)) { - if (i >= j || (i > 0 && myrand(2))) { + if (i >= j || (i > 0 && myrand(2) == 1)) { /* Transfer city and units supported by this city to the new owner We do NOT resolve stack conflicts here, but rather later. diff -urd -X freeciv.clean/diff_ignore part_app/server/ruleset.c work/server/ruleset.c --- part_app/server/ruleset.c Sat Feb 23 10:10:32 2002 +++ work/server/ruleset.c Sat Feb 23 15:49:45 2002 @@ -388,7 +388,7 @@ sval = secfile_lookup_str_default(file, NULL, "%s.%s", prefix, suffix); if (sval) { sval = skip_leading_spaces(sval); - if (strlen(sval)) { + if (strlen(sval) > 0) { return mystrdup(sval); } } @@ -410,7 +410,7 @@ { int i; - if ((!(*name)) || (0 == strcmp(name, "none")) || (0 == strcmp(name, "no"))) + if (*name == '\0' || (0 == strcmp(name, "none")) || (0 == strcmp(name, "no"))) { return (T_LAST); } @@ -675,11 +675,11 @@ u->transport_capacity = secfile_lookup_int(file,"%s.transport_cap", sec[i]); u->hp = secfile_lookup_int(file,"%s.hitpoints", sec[i]); - if( max_hp && u->hp > max_hp ) { + if (max_hp != 0 && u->hp > max_hp) { u->hp = max_hp; } u->firepower = secfile_lookup_int(file,"%s.firepower", sec[i]); - if( max_firepower && u->firepower > max_firepower ) { + if (max_firepower != 0 && u->firepower > max_firepower) { u->firepower = max_firepower; } if (u->firepower <= 0) { @@ -1069,7 +1069,7 @@ item = secfile_lookup_str_default(file, "", "%s.effect%d.cond_bldg", sec[i], j); - if (*item) { + if (*item != '\0') { e->cond_bldg = find_improvement_by_name(item); if (e->cond_bldg == B_LAST) { freelog(LOG_ERROR, @@ -1083,7 +1083,7 @@ item = secfile_lookup_str_default(file, "", "%s.effect%d.cond_gov", sec[i], j); - if (*item) { + if (*item != '\0') { struct government *g = find_government_by_name(item); if (!g) { freelog(LOG_ERROR, @@ -1100,7 +1100,7 @@ item = secfile_lookup_str_default(file, "None", "%s.effect%d.cond_adv", sec[i], j); - if (*item) { + if (*item != '\0') { e->cond_adv = find_tech_by_name(item); if (e->cond_adv == A_LAST) { freelog(LOG_ERROR, @@ -1114,7 +1114,7 @@ item = secfile_lookup_str_default(file, "", "%s.effect%d.cond_eff", sec[i], j); - if (*item) { + if (*item != '\0') { e->cond_eff = effect_type_from_str(item); if (e->cond_eff == EFT_LAST) { freelog(LOG_ERROR, @@ -1128,7 +1128,7 @@ item = secfile_lookup_str_default(file, "", "%s.effect%d.aff_unit", sec[i], j); - if (*item) { + if (*item != '\0') { e->aff_unit = unit_class_from_str(item); if (e->aff_unit == UCL_LAST) { freelog(LOG_ERROR, @@ -1142,7 +1142,7 @@ item = secfile_lookup_str_default(file, "", "%s.effect%d.aff_terr", sec[i], j); - if (*item) { + if (*item != '\0') { if (0 == strcmp("None", item)) { e->aff_terr = T_LAST; } else { @@ -1161,7 +1161,7 @@ item = secfile_lookup_str_default(file, "", "%s.effect%d.aff_spec", sec[i], j); - if (*item) { + if (*item != '\0') { if (0 == strcmp("None", item)) { e->aff_spec = S_NO_SPECIAL; } else { @@ -1311,7 +1311,7 @@ { char *s = secfile_lookup_str_default(file, NULL, "parameters.river_help_text"); - terrain_control.river_help_text = (s && *s) ? mystrdup(s) : NULL; + terrain_control.river_help_text = (s && *s != '\0') ? mystrdup(s) : NULL; } terrain_control.fortress_defense_bonus = secfile_lookup_int_default(file, 100, "parameters.fortress_defense_bonus"); @@ -1866,15 +1866,15 @@ } for (j = 0; j < dim; j++) { if (0 == mystrcasecmp(leaders[j], "Male")) { - pl->leader_is_male[j] = 1; + pl->leader_is_male[j] = TRUE; } else if (0 == mystrcasecmp(leaders[j], "Female")) { - pl->leader_is_male[j] = 0; + pl->leader_is_male[j] = FALSE; } else { freelog(LOG_ERROR, "Nation %s, leader %s: sex must be either Male or Female; " "assuming Male", pl->name, pl->leader_name[j]); - pl->leader_is_male[j] = 1; + pl->leader_is_male[j] = TRUE; } } free(leaders); @@ -2220,7 +2220,7 @@ } game.rgame.pillage_select = - secfile_lookup_int(&file, "civstyle.pillage_select"); + secfile_lookup_bool(&file, "civstyle.pillage_select"); sval = secfile_lookup_str(&file, "civstyle.nuke_contamination" ); if (mystrcasecmp(sval, "Pollution") == 0) { diff -urd -X freeciv.clean/diff_ignore part_app/server/sanitycheck.c work/server/sanitycheck.c --- part_app/server/sanitycheck.c Fri Feb 22 14:07:32 2002 +++ work/server/sanitycheck.c Sat Feb 23 15:51:38 2002 @@ -40,7 +40,7 @@ if (contains_special(special, S_FARMLAND)) assert(special & S_IRRIGATION); if (contains_special(special, S_SPECIAL_1)) - assert(!(special & S_SPECIAL_2)); + assert(!contains_special(special, S_SPECIAL_2)); if (contains_special(special, S_MINE)) assert(get_tile_type(terrain)->mining_result == terrain); @@ -186,7 +186,8 @@ struct tile *ptile = map_get_tile(x, y); if (ptile->worked) { struct city *pcity = ptile->worked; - int city_x, city_y, is_valid; + int city_x, city_y; + bool is_valid; is_valid = map_to_city_map(&city_x, &city_y, pcity, x, y); assert(is_valid); @@ -215,7 +216,7 @@ assert(unit_owner(punit) == pplayer); assert(is_real_tile(x, y)); - if (punit->homecity) { + if (punit->homecity != 0) { pcity = player_find_city_by_id(pplayer, punit->homecity); assert(pcity != NULL); assert(city_owner(pcity) == pplayer);