diff --git a/ai/ai.c b/ai/ai.c --- a/ai/ai.c +++ b/ai/ai.c @@ -30,7 +30,6 @@ static void AI_DequeueCommands(PlayerID while ((com = entry_com) != NULL) { _current_player = player; - /* Copy the DP back in place */ _cmd_text = com->text; DoCommandP(com->tile, com->p1, com->p2, com->callback, com->procc); diff --git a/ai/default/default.c b/ai/default/default.c --- a/ai/default/default.c +++ b/ai/default/default.c @@ -316,7 +316,7 @@ static void AiHandleReplaceTrain(Player tile = v->tile; if (!CmdFailed(DoCommand(0, v->index, 2, DC_EXEC, CMD_SELL_RAIL_WAGON)) && - !CmdFailed(DoCommand(tile, veh, 0, DC_EXEC, CMD_BUILD_RAIL_VEHICLE)) ) { + !CmdFailed(DoCommand(tile, veh, 0, DC_EXEC, CMD_BUILD_RAIL_VEHICLE))) { VehicleID veh = _new_vehicle_id; AiRestoreVehicleOrders(GetVehicle(veh), orderbak); DoCommand(0, veh, 0, DC_EXEC, CMD_START_STOP_TRAIN); @@ -345,7 +345,7 @@ static void AiHandleReplaceRoadVeh(Playe tile = v->tile; if (!CmdFailed(DoCommand(0, v->index, 0, DC_EXEC, CMD_SELL_ROAD_VEH)) && - !CmdFailed(DoCommand(tile, veh, 0, DC_EXEC, CMD_BUILD_ROAD_VEH))) { + !CmdFailed(DoCommand(tile, veh, 0, DC_EXEC, CMD_BUILD_ROAD_VEH))) { VehicleID veh = _new_vehicle_id; AiRestoreVehicleOrders(GetVehicle(veh), orderbak); @@ -374,7 +374,7 @@ static void AiHandleReplaceAircraft(Play tile = v->tile; if (!CmdFailed(DoCommand(0, v->index, 0, DC_EXEC, CMD_SELL_AIRCRAFT)) && - !CmdFailed(DoCommand(tile, veh, 0, DC_EXEC, CMD_BUILD_AIRCRAFT)) ) { + !CmdFailed(DoCommand(tile, veh, 0, DC_EXEC, CMD_BUILD_AIRCRAFT))) { VehicleID veh = _new_vehicle_id; AiRestoreVehicleOrders(GetVehicle(veh), orderbak); DoCommand(0, veh, 0, DC_EXEC, CMD_START_STOP_AIRCRAFT); diff --git a/ai/trolly/build.c b/ai/trolly/build.c --- a/ai/trolly/build.c +++ b/ai/trolly/build.c @@ -286,14 +286,15 @@ int AiNew_Build_Vehicle(Player *p, TileI int AiNew_Build_Depot(Player* p, TileIndex tile, DiagDirection direction, byte flag) { int ret, ret2; - if (p->ainew.tbt == AI_TRAIN) + if (p->ainew.tbt == AI_TRAIN) { return AI_DoCommand(tile, 0, direction, flag | DC_AUTO | DC_NO_WATER, CMD_BUILD_TRAIN_DEPOT); - - ret = AI_DoCommand(tile, direction, 0, flag | DC_AUTO | DC_NO_WATER, CMD_BUILD_ROAD_DEPOT); - if (CmdFailed(ret)) return ret; - // Try to build the road from the depot - ret2 = AI_DoCommand(tile + TileOffsByDir(direction), DiagDirToRoadBits(ReverseDiagDir(direction)), 0, flag | DC_AUTO | DC_NO_WATER, CMD_BUILD_ROAD); - // If it fails, ignore it.. - if (CmdFailed(ret2)) return ret; - return ret + ret2; + } else { + ret = AI_DoCommand(tile, direction, 0, flag | DC_AUTO | DC_NO_WATER, CMD_BUILD_ROAD_DEPOT); + if (CmdFailed(ret)) return ret; + // Try to build the road from the depot + ret2 = AI_DoCommand(tile + TileOffsByDir(direction), DiagDirToRoadBits(ReverseDiagDir(direction)), 0, flag | DC_AUTO | DC_NO_WATER, CMD_BUILD_ROAD); + // If it fails, ignore it.. + if (CmdFailed(ret2)) return ret; + return ret + ret2; + } } diff --git a/ai/trolly/pathfinder.c b/ai/trolly/pathfinder.c --- a/ai/trolly/pathfinder.c +++ b/ai/trolly/pathfinder.c @@ -425,12 +425,13 @@ static int32 AyStar_AiPathFinder_Calcula res += AI_PATHFINDER_FOUNDATION_PENALTY; } } else { - if (!(IsRoad(parent->path.node.tile) && IsTileType(parent->path.node.tile, MP_TUNNELBRIDGE))) { + if (!IsRoad(parent->path.node.tile) || !IsTileType(parent->path.node.tile, MP_TUNNELBRIDGE)) { r = GetRoadFoundation(parent_tileh, AiNew_GetRoadDirection(parent->path.parent->node.tile, parent->path.node.tile, current->tile)); - if (r >= 15 || r == 0) + if (r >= 15 || r == 0) { res += AI_PATHFINDER_TILE_GOES_UP_PENALTY; - else + } else { res += AI_PATHFINDER_FOUNDATION_PENALTY; + } } } } diff --git a/ai/trolly/shared.c b/ai/trolly/shared.c --- a/ai/trolly/shared.c +++ b/ai/trolly/shared.c @@ -16,35 +16,20 @@ int AiNew_GetRailDirection(TileIndex til // 4 = dig down-left // 5 = dig up-right - int x1, x2, x3; - int y1, y2, y3; + uint x1 = TileX(tile_a); + uint x2 = TileX(tile_b); + uint x3 = TileX(tile_c); - x1 = TileX(tile_a); - x2 = TileX(tile_b); - x3 = TileX(tile_c); - - y1 = TileY(tile_a); - y2 = TileY(tile_b); - y3 = TileY(tile_c); + uint y1 = TileY(tile_a); + uint y2 = TileY(tile_b); + uint y3 = TileY(tile_c); if (y1 == y2 && y2 == y3) return 0; if (x1 == x2 && x2 == x3) return 1; - if (y2 > y1) { - if (x2 > x3) return 2; - else return 4; - } - if (x2 > x1) { - if (y2 > y3) return 2; - else return 5; - } - if (y1 > y2) { - if (x2 > x3) return 5; - else return 3; - } - if (x1 > x2) { - if (y2 > y3) return 4; - else return 3; - } + if (y2 > y1) return x2 > x3 ? 2 : 4; + if (x2 > x1) return y2 > y3 ? 2 : 5; + if (y1 > y2) return x2 > x3 ? 5 : 3; + if (x1 > x2) return y2 > y3 ? 4 : 3; return 0; } @@ -87,11 +72,14 @@ DiagDirection AiNew_GetDirection(TileInd return DIAGDIR_NE; } + // This functions looks up if this vehicle is special for this AI // and returns his flag -uint AiNew_GetSpecialVehicleFlag(Player *p, Vehicle *v) { - int i; - for (i=0;iainew.special_vehicles[i].veh_id == v->index) { return p->ainew.special_vehicles[i].flag; } @@ -101,16 +89,22 @@ uint AiNew_GetSpecialVehicleFlag(Player return 0; } -bool AiNew_SetSpecialVehicleFlag(Player *p, Vehicle *v, uint flag) { - int i, new_id = -1; - for (i=0;iainew.special_vehicles[i].veh_id == v->index) { p->ainew.special_vehicles[i].flag |= flag; return true; } - if (new_id == -1 && p->ainew.special_vehicles[i].veh_id == 0 && - p->ainew.special_vehicles[i].flag == 0) + if (new_id == -1 && + p->ainew.special_vehicles[i].veh_id == 0 && + p->ainew.special_vehicles[i].flag == 0) { new_id = i; + } } // Out of special_vehicle spots :s diff --git a/ai/trolly/trolly.c b/ai/trolly/trolly.c --- a/ai/trolly/trolly.c +++ b/ai/trolly/trolly.c @@ -1244,9 +1244,11 @@ static void AiNew_State_StartVehicle(Pla // Repays money static void AiNew_State_RepayMoney(Player *p) { - int i; - for (i=0;iainew.state = AI_STATE_ACTION_DONE; } diff --git a/aircraft_cmd.c b/aircraft_cmd.c --- a/aircraft_cmd.c +++ b/aircraft_cmd.c @@ -1929,16 +1929,14 @@ static uint GetNumHelipads(const Airport static bool AirportFindFreeHelipad(Vehicle *v, const AirportFTAClass *Airport) { - Station *st; - AirportFTA *temp; - // if an airport doesn't have helipads, use terminals if (Airport->helipads == NULL) return AirportFindFreeTerminal(v, Airport); // if there are more helicoptergroups, pick one, just as in AirportFindFreeTerminal() if (Airport->helipads[0] > 1) { - st = GetStation(v->u.air.targetairport); - temp = Airport->layout[v->u.air.pos].next_in_chain; + const Station* st = GetStation(v->u.air.targetairport); + const AirportFTA* temp = Airport->layout[v->u.air.pos].next_in_chain; + while (temp != NULL) { if (temp->heading == 255) { if (!HASBITS(st->airport_flags, temp->block)) { diff --git a/aircraft_gui.c b/aircraft_gui.c --- a/aircraft_gui.c +++ b/aircraft_gui.c @@ -279,7 +279,7 @@ static void AircraftRefitWndProc(Window if (DoCommandP(v->tile, v->index, WP(w,refit_d).cargo, NULL, CMD_REFIT_AIRCRAFT | CMD_MSG(STR_A042_CAN_T_REFIT_AIRCRAFT))) DeleteWindow(w); } - break; + break; } break; } @@ -695,8 +695,7 @@ static int GetVehicleFromAircraftDepotWn row = (y - 14) / 24; ym = (y - 14) % 24; - if (row >= w->vscroll.cap) - return 1; + if (row >= w->vscroll.cap) return 1; pos = (row + w->vscroll.pos) * w->hscroll.cap + xt; @@ -811,14 +810,14 @@ static void AircraftDepotWndProc(Window } break; - case WE_PLACE_OBJ: { + case WE_PLACE_OBJ: ClonePlaceObj(w); - } break; + break; - case WE_ABORT_PLACE_OBJ: { + case WE_ABORT_PLACE_OBJ: CLRBIT(w->click_state, 8); InvalidateWidget(w, 8); - } break; + break; // check if a vehicle in a depot was clicked.. case WE_MOUSELOOP: { @@ -924,7 +923,8 @@ void ShowAircraftDepotWindow(TileIndex t } } -static void DrawSmallOrderList(const Vehicle *v, int x, int y) { +static void DrawSmallOrderList(const Vehicle* v, int x, int y) +{ const Order *order; int sel, i = 0; @@ -1068,22 +1068,19 @@ static void PlayerAircraftWndProc(Window case 7: { /* Matrix to show vehicles */ uint32 id_v = (e->click.pt.y - PLY_WND_PRC__OFFSET_TOP_WIDGET) / PLY_WND_PRC__SIZE_OF_ROW_BIG; + const Vehicle* v; if (id_v >= w->vscroll.cap) return; // click out of bounds id_v += w->vscroll.pos; - { - Vehicle *v; + if (id_v >= vl->list_length) return; // click out of list bound - if (id_v >= vl->list_length) return; // click out of list bound + v = GetVehicle(vl->sort_list[id_v].index); - v = GetVehicle(vl->sort_list[id_v].index); + assert(v->type == VEH_Aircraft && v->subtype <= 2); - assert(v->type == VEH_Aircraft && v->subtype <= 2); - - ShowAircraftViewWindow(v); - } + ShowAircraftViewWindow(v); } break; case 9: /* Build new Vehicle */ @@ -1092,9 +1089,7 @@ static void PlayerAircraftWndProc(Window break; case 10: - if (!IsWindowOfPrototype(w, _player_aircraft_widgets)) - break; - + if (!IsWindowOfPrototype(w, _player_aircraft_widgets)) break; ShowReplaceVehicleWindow(VEH_Aircraft); break; diff --git a/airport.c b/airport.c --- a/airport.c +++ b/airport.c @@ -32,8 +32,9 @@ static void AirportFTAClass_Destructor(A static uint16 AirportGetNofElements(const AirportFTAbuildup *FA); static void AirportBuildAutomata(AirportFTAClass *Airport, const AirportFTAbuildup *FA); static byte AirportTestFTA(const AirportFTAClass *Airport); -/*static void AirportPrintOut(const AirportFTAClass *Airport, const bool full_report); -static byte AirportBlockToString(uint32 block);*/ +#if 0 +static void AirportPrintOut(const AirportFTAClass *Airport, const bool full_report); +#endif void InitializeAirports(void) { @@ -272,7 +273,9 @@ static void AirportFTAClass_Constructor( // print out full information // true -- full info including heading, block, etc // false -- short info, only position and next position - //AirportPrintOut(Airport, false); +#if 0 + AirportPrintOut(Airport, false); +#endif } static void AirportFTAClass_Destructor(AirportFTAClass *Airport) @@ -393,28 +396,45 @@ static const char* const _airport_headin "DUMMY" // extra heading for 255 }; + +static uint AirportBlockToString(uint32 block) +{ + uint i = 0; + if (block & 0xffff0000) { block >>= 16; i += 16; } + if (block & 0x0000ff00) { block >>= 8; i += 8; } + if (block & 0x000000f0) { block >>= 4; i += 4; } + if (block & 0x0000000c) { block >>= 2; i += 2; } + if (block & 0x00000002) { i += 1; } + return i; +} + + static void AirportPrintOut(const AirportFTAClass *Airport, const bool full_report) { - AirportFTA *temp; - uint16 i; byte heading; + uint i; printf("(P = Current Position; NP = Next Position)\n"); for (i = 0; i < Airport->nofelements; i++) { - temp = &Airport->layout[i]; + const AirportFTA* temp = &Airport->layout[i]; + if (full_report) { - heading = (temp->heading == 255) ? MAX_HEADINGS+1 : temp->heading; - printf("Pos:%2d NPos:%2d Heading:%15s Block:%2d\n", temp->position, temp->next_position, - _airport_heading_strings[heading], AirportBlockToString(temp->block)); + heading = (temp->heading == 255) ? MAX_HEADINGS + 1 : temp->heading; + printf("Pos:%2d NPos:%2d Heading:%15s Block:%2d\n", + temp->position, temp->next_position, + _airport_heading_strings[heading], AirportBlockToString(temp->block) + ); } else { printf("P:%2d NP:%2d", temp->position, temp->next_position); } while (temp->next_in_chain != NULL) { temp = temp->next_in_chain; if (full_report) { - heading = (temp->heading == 255) ? MAX_HEADINGS+1 : temp->heading; - printf("Pos:%2d NPos:%2d Heading:%15s Block:%2d\n", temp->position, temp->next_position, - _airport_heading_strings[heading], AirportBlockToString(temp->block)); + heading = (temp->heading == 255) ? MAX_HEADINGS + 1 : temp->heading; + printf("Pos:%2d NPos:%2d Heading:%15s Block:%2d\n", + temp->position, temp->next_position, + _airport_heading_strings[heading], AirportBlockToString(temp->block) + ); } else { printf("P:%2d NP:%2d", temp->position, temp->next_position); } @@ -422,43 +442,25 @@ static void AirportPrintOut(const Airpor printf("\n"); } } - - -static byte AirportBlockToString(uint32 block) -{ - byte i = 0; - if (block & 0xffff0000) { block >>= 16; i += 16; } - if (block & 0x0000ff00) { block >>= 8; i += 8; } - if (block & 0x000000f0) { block >>= 4; i += 4; } - if (block & 0x0000000c) { block >>= 2; i += 2; } - if (block & 0x00000002) { i += 1; } - return i; -} #endif const AirportFTAClass* GetAirport(const byte airport_type) { - AirportFTAClass *Airport = NULL; //FIXME -- AircraftNextAirportPos_and_Order -> Needs something nicer, don't like this code // needs constant change if more airports are added switch (airport_type) { - case AT_SMALL: Airport = CountryAirport; break; - case AT_LARGE: Airport = CityAirport; break; - case AT_METROPOLITAN: Airport = MetropolitanAirport; break; - case AT_HELIPORT: Airport = Heliport; break; - case AT_OILRIG: Airport = Oilrig; break; - case AT_INTERNATIONAL: Airport = InternationalAirport; break; - case AT_COMMUTER: Airport = CommuterAirport; break; - case AT_HELIDEPOT: Airport = HeliDepot; break; - case AT_INTERCON: Airport = IntercontinentalAirport; break; - case AT_HELISTATION: Airport = HeliStation; break; - default: - #ifdef DEBUG__ - printf("Airport AircraftNextAirportPos_and_Order not yet implemented\n"); - #endif - assert(airport_type <= AT_HELISTATION); + default: NOT_REACHED(); + case AT_SMALL: return CountryAirport; + case AT_LARGE: return CityAirport; + case AT_METROPOLITAN: return MetropolitanAirport; + case AT_HELIPORT: return Heliport; + case AT_OILRIG: return Oilrig; + case AT_INTERNATIONAL: return InternationalAirport; + case AT_COMMUTER: return CommuterAirport; + case AT_HELIDEPOT: return HeliDepot; + case AT_INTERCON: return IntercontinentalAirport; + case AT_HELISTATION: return HeliStation; } - return Airport; } const AirportMovingData *GetAirportMovingData(byte airport_type, byte position) diff --git a/airport_gui.c b/airport_gui.c --- a/airport_gui.c +++ b/airport_gui.c @@ -88,10 +88,9 @@ static void BuildAirToolbWndProc(Window _place_proc(e->place.tile); break; - case WE_PLACE_DRAG: { + case WE_PLACE_DRAG: VpSelectTilesWithMethod(e->place.pt.x, e->place.pt.y, e->place.userdata); - return; - } + break; case WE_PLACE_MOUSEUP: if (e->place.pt.x != -1) { @@ -186,7 +185,7 @@ static void BuildAirportPickerWndProc(Wi if (_station_show_coverage) SetTileSelectBigSize(-rad, -rad, 2 * rad, 2 * rad); DrawWindowWidgets(w); - // strings such as 'Size' and 'Coverage Area' + // strings such as 'Size' and 'Coverage Area' DrawStringCentered(74, 16, STR_SMALL_AIRPORTS, 0); DrawStringCentered(74, 54, STR_LARGE_AIRPORTS, 0); DrawStringCentered(74, 92, STR_HUB_AIRPORTS, 0); diff --git a/console.c b/console.c --- a/console.c +++ b/console.c @@ -109,31 +109,35 @@ static void IConsoleWndProc(Window* w, W SetWindowDirty(w); break; case WKC_SHIFT | WKC_PAGEUP: - if (_iconsole_scroll - (w->height / ICON_LINE_HEIGHT) - 1 < 0) + if (_iconsole_scroll - (w->height / ICON_LINE_HEIGHT) - 1 < 0) { _iconsole_scroll = 0; - else + } else { _iconsole_scroll -= (w->height / ICON_LINE_HEIGHT) - 1; + } SetWindowDirty(w); break; case WKC_SHIFT | WKC_PAGEDOWN: - if (_iconsole_scroll + (w->height / ICON_LINE_HEIGHT) - 1 > ICON_BUFFER) + if (_iconsole_scroll + (w->height / ICON_LINE_HEIGHT) - 1 > ICON_BUFFER) { _iconsole_scroll = ICON_BUFFER; - else + } else { _iconsole_scroll += (w->height / ICON_LINE_HEIGHT) - 1; + } SetWindowDirty(w); break; case WKC_SHIFT | WKC_UP: - if (_iconsole_scroll <= 0) + if (_iconsole_scroll <= 0) { _iconsole_scroll = 0; - else + } else { --_iconsole_scroll; + } SetWindowDirty(w); break; case WKC_SHIFT | WKC_DOWN: - if (_iconsole_scroll >= ICON_BUFFER) + if (_iconsole_scroll >= ICON_BUFFER) { _iconsole_scroll = ICON_BUFFER; - else + } else { ++_iconsole_scroll; + } SetWindowDirty(w); break; case WKC_BACKQUOTE: @@ -182,8 +186,9 @@ static void IConsoleWndProc(Window* w, W InsertTextBufferChar(&_iconsole_cmdline, e->keypress.ascii); IConsoleResetHistoryPos(); SetWindowDirty(w); - } else + } else { e->keypress.cont = true; + } break; } } @@ -565,40 +570,41 @@ void IConsoleVarHookAdd(const char *name * three types, just with different variables. Yes, templates would be handy. It was * either this define or an even more ugly void* magic function */ -#define IConsoleAddSorted(_base, item_new, IConsoleType, type) \ -{ \ - IConsoleType *item, *item_before; \ - /* first command */ \ - if (_base == NULL) { \ - _base = item_new; \ - return; \ - } \ - \ - item_before = NULL; \ - item = _base; \ - \ - /* BEGIN - Alphabetically insert the commands into the linked list */ \ - while (item != NULL) { \ - int i = strcmp(item->name, item_new->name); \ - if (i == 0) { \ - IConsoleError(type " with this name already exists; insertion aborted"); \ - free(item_new); \ - return; \ - } \ - \ - if (i > 0) break; /* insert at this position */ \ - \ - item_before = item; \ - item = item->next; \ - } \ - \ - if (item_before == NULL) { \ - _base = item_new; \ - } else \ - item_before->next = item_new; \ - \ - item_new->next = item; \ - /* END - Alphabetical insert */ \ +#define IConsoleAddSorted(_base, item_new, IConsoleType, type) \ +{ \ + IConsoleType *item, *item_before; \ + /* first command */ \ + if (_base == NULL) { \ + _base = item_new; \ + return; \ + } \ + \ + item_before = NULL; \ + item = _base; \ + \ + /* BEGIN - Alphabetically insert the commands into the linked list */ \ + while (item != NULL) { \ + int i = strcmp(item->name, item_new->name); \ + if (i == 0) { \ + IConsoleError(type " with this name already exists; insertion aborted"); \ + free(item_new); \ + return; \ + } \ + \ + if (i > 0) break; /* insert at this position */ \ + \ + item_before = item; \ + item = item->next; \ + } \ + \ + if (item_before == NULL) { \ + _base = item_new; \ + } else { \ + item_before->next = item_new; \ + } \ + \ + item_new->next = item; \ + /* END - Alphabetical insert */ \ } /** @@ -853,12 +859,12 @@ static void IConsoleVarSetValue(const IC * @param *var the variable in question * @param *value the new value */ -static void IConsoleVarSetStringvalue(const IConsoleVar *var, char *value) +static void IConsoleVarSetStringvalue(const IConsoleVar* var, const char* value) { if (var->type != ICONSOLE_VAR_STRING || var->addr == NULL) return; IConsoleHookHandle(&var->hook, ICONSOLE_HOOK_PRE_ACTION); - ttd_strlcpy((char*)var->addr, (char*)value, var->size); + ttd_strlcpy(var->addr, value, var->size); IConsoleHookHandle(&var->hook, ICONSOLE_HOOK_POST_ACTION); IConsoleVarPrintSetValue(var); // print out the new value, giving feedback return; @@ -1098,8 +1104,10 @@ void IConsoleCmdExec(const char *cmdstr) if (_stdlib_con_developer) { uint i; - for (i = 0; tokens[i] != NULL; i++) + + for (i = 0; tokens[i] != NULL; i++) { IConsolePrintF(_icolour_dbg, "condbg: token %d is: '%s'", i, tokens[i]); + } } if (tokens[0] == '\0') return; // don't execute empty commands @@ -1107,31 +1115,33 @@ void IConsoleCmdExec(const char *cmdstr) * First try commands, then aliases, and finally variables. Execute * the found action taking into account its hooking code */ - cmd = IConsoleCmdGet(tokens[0]); - if (cmd != NULL) { + cmd = IConsoleCmdGet(tokens[0]); + if (cmd != NULL) { if (IConsoleHookHandle(&cmd->hook, ICONSOLE_HOOK_ACCESS)) { IConsoleHookHandle(&cmd->hook, ICONSOLE_HOOK_PRE_ACTION); if (cmd->proc(t_index, tokens)) { // index started with 0 IConsoleHookHandle(&cmd->hook, ICONSOLE_HOOK_POST_ACTION); - } else cmd->proc(0, NULL); // if command failed, give help + } else { + cmd->proc(0, NULL); // if command failed, give help + } } - return; - } + return; + } - t_index--; // ignore the variable-name for comfort for both aliases and variaables - alias = IConsoleAliasGet(tokens[0]); - if (alias != NULL) { - IConsoleAliasExec(alias, t_index, &tokens[1]); - return; - } + t_index--; // ignore the variable-name for comfort for both aliases and variaables + alias = IConsoleAliasGet(tokens[0]); + if (alias != NULL) { + IConsoleAliasExec(alias, t_index, &tokens[1]); + return; + } - var = IConsoleVarGet(tokens[0]); - if (var != NULL) { - if (IConsoleHookHandle(&var->hook, ICONSOLE_HOOK_ACCESS)) - IConsoleVarExec(var, t_index, &tokens[1]); + var = IConsoleVarGet(tokens[0]); + if (var != NULL) { + if (IConsoleHookHandle(&var->hook, ICONSOLE_HOOK_ACCESS)) { + IConsoleVarExec(var, t_index, &tokens[1]); + } + return; + } - return; - } - - IConsoleError("command or variable not found"); + IConsoleError("command or variable not found"); } diff --git a/console_cmds.c b/console_cmds.c --- a/console_cmds.c +++ b/console_cmds.c @@ -191,8 +191,9 @@ DEF_CONSOLE_CMD(ConSave) if (SaveOrLoad(buf, SL_SAVE) != SL_OK) { IConsolePrint(_icolour_err, "SaveMap failed"); - } else + } else { IConsolePrintF(_icolour_def, "Map sucessfully saved to %s", buf); + } return true; } @@ -247,8 +248,9 @@ DEF_CONSOLE_CMD(ConLoad) } break; default: IConsolePrintF(_icolour_err, "%s: Not a savegame.", file); } - } else + } else { IConsolePrintF(_icolour_err, "%s: No such file or directory.", file); + } FiosFreeSavegameList(); return true; @@ -272,8 +274,9 @@ DEF_CONSOLE_CMD(ConRemove) if (item != NULL) { if (!FiosDelete(item->name)) IConsolePrintF(_icolour_err, "%s: Failed to delete file", file); - } else + } else { IConsolePrintF(_icolour_err, "%s: No such file or directory.", file); + } FiosFreeSavegameList(); return true; @@ -323,8 +326,9 @@ DEF_CONSOLE_CMD(ConChangeDirectory) break; default: IConsolePrintF(_icolour_err, "%s: Not a directory.", file); } - } else + } else { IConsolePrintF(_icolour_err, "%s: No such file or directory.", file); + } FiosFreeSavegameList(); return true; @@ -408,8 +412,9 @@ DEF_CONSOLE_CMD(ConBan) banip = inet_ntoa(*(struct in_addr *)&ci->client_ip); SEND_COMMAND(PACKET_SERVER_ERROR)(NetworkFindClientStateFromIndex(index), NETWORK_ERROR_KICKED); IConsolePrint(_icolour_def, "Client banned"); - } else + } else { IConsolePrint(_icolour_def, "Client not online, banned IP"); + } /* Add user to ban-list */ for (index = 0; index < lengthof(_network_ban_list); index++) { @@ -481,8 +486,9 @@ DEF_CONSOLE_CMD(ConPauseGame) if (_pause == 0) { DoCommandP(0, 1, 0, NULL, CMD_PAUSE); IConsolePrint(_icolour_def, "Game paused."); - } else + } else { IConsolePrint(_icolour_def, "Game is already paused."); + } return true; } @@ -497,8 +503,9 @@ DEF_CONSOLE_CMD(ConUnPauseGame) if (_pause != 0) { DoCommandP(0, 0, 0, NULL, CMD_PAUSE); IConsolePrint(_icolour_def, "Game unpaused."); - } else + } else { IConsolePrint(_icolour_def, "Game is already unpaused."); + } return true; } @@ -519,8 +526,16 @@ DEF_CONSOLE_CMD(ConRcon) DEF_CONSOLE_CMD(ConStatus) { - static const char *stat_str[] = {"inactive", "authorized", "waiting", "loading map", "map done", "ready", "active"}; - const char *status; + static const char* const stat_str[] = { + "inactive", + "authorized", + "waiting", + "loading map", + "map done", + "ready", + "active" + }; + const NetworkClientState *cs; if (argc == 0) { @@ -531,8 +546,9 @@ DEF_CONSOLE_CMD(ConStatus) FOR_ALL_CLIENTS(cs) { int lag = NetworkCalculateLag(cs); const NetworkClientInfo *ci = DEREF_CLIENT_INFO(cs); + const char* status; - status = (cs->status <= STATUS_ACTIVE) ? stat_str[cs->status] : "unknown"; + status = (cs->status <= lengthof(stat_str) ? stat_str[cs->status] : "unknown"); IConsolePrintF(8, "Client #%1d name: '%s' status: '%s' frame-lag: %3d company: %1d IP: %s unique-id: '%s'", cs->index, ci->client_name, status, lag, ci->client_playas, GetPlayerIP(ci), ci->unique_id); } @@ -558,7 +574,8 @@ DEF_CONSOLE_CMD(ConServerInfo) return true; } -DEF_CONSOLE_HOOK(ConHookValidateMaxClientsCount) { +DEF_CONSOLE_HOOK(ConHookValidateMaxClientsCount) +{ /* XXX - hardcoded, string limiation -- TrueLight * XXX - also see network.c:NetworkStartup ~1356 */ if (_network_game_info.clients_max > 10) { @@ -569,7 +586,8 @@ DEF_CONSOLE_HOOK(ConHookValidateMaxClien return true; } -DEF_CONSOLE_HOOK(ConHookValidateMaxCompaniesCount) { +DEF_CONSOLE_HOOK(ConHookValidateMaxCompaniesCount) +{ if (_network_game_info.companies_max > MAX_PLAYERS) { _network_game_info.companies_max = MAX_PLAYERS; IConsoleError("Maximum companies out of bounds, truncating to limit."); @@ -578,7 +596,8 @@ DEF_CONSOLE_HOOK(ConHookValidateMaxCompa return true; } -DEF_CONSOLE_HOOK(ConHookValidateMaxSpectatorsCount) { +DEF_CONSOLE_HOOK(ConHookValidateMaxSpectatorsCount) +{ /* XXX @see ConHookValidateMaxClientsCount */ if (_network_game_info.spectators_max > 10) { _network_game_info.spectators_max = 10; @@ -621,8 +640,9 @@ DEF_CONSOLE_CMD(ConKick) if (ci != NULL) { SEND_COMMAND(PACKET_SERVER_ERROR)(NetworkFindClientStateFromIndex(index), NETWORK_ERROR_KICKED); - } else + } else { IConsoleError("Client not found"); + } return true; } @@ -974,7 +994,9 @@ DEF_CONSOLE_CMD(ConDebugLevel) if (argc == 1) { IConsolePrintF(_icolour_def, "Current debug-level: '%s'", GetDebugString()); - } else SetDebugString(argv[1]); + } else { + SetDebugString(argv[1]); + } return true; } @@ -1126,8 +1148,9 @@ DEF_CONSOLE_CMD(ConSay) if (!_network_server) { SEND_COMMAND(PACKET_CLIENT_CHAT)(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0 /* param does not matter */, argv[1]); - } else + } else { NetworkServer_HandleChat(NETWORK_ACTION_CHAT, DESTTYPE_BROADCAST, 0, argv[1], NETWORK_SERVER_INDEX); + } return true; } @@ -1176,8 +1199,9 @@ DEF_CONSOLE_CMD(ConSayPlayer) if (!_network_server) { SEND_COMMAND(PACKET_CLIENT_CHAT)(NETWORK_ACTION_CHAT_PLAYER, DESTTYPE_PLAYER, atoi(argv[1]), argv[2]); - } else + } else { NetworkServer_HandleChat(NETWORK_ACTION_CHAT_PLAYER, DESTTYPE_PLAYER, atoi(argv[1]), argv[2], NETWORK_SERVER_INDEX); + } return true; } @@ -1194,8 +1218,9 @@ DEF_CONSOLE_CMD(ConSayClient) if (!_network_server) { SEND_COMMAND(PACKET_CLIENT_CHAT)(NETWORK_ACTION_CHAT_CLIENT, DESTTYPE_CLIENT, atoi(argv[1]), argv[2]); - } else + } else { NetworkServer_HandleChat(NETWORK_ACTION_CHAT_CLIENT, DESTTYPE_CLIENT, atoi(argv[1]), argv[2], NETWORK_SERVER_INDEX); + } return true; } @@ -1314,8 +1339,9 @@ DEF_CONSOLE_CMD(ConPatch) if (argc == 2) { IConsoleGetPatchSetting(argv[1]); - } else + } else { IConsoleSetPatchSetting(argv[1], argv[2]); + } return true; } diff --git a/depot.c b/depot.c --- a/depot.c +++ b/depot.c @@ -41,8 +41,7 @@ Depot *GetDepotByTile(TileIndex tile) Depot *depot; FOR_ALL_DEPOTS(depot) { - if (depot->xy == tile) - return depot; + if (depot->xy == tile) return depot; } return NULL; @@ -67,8 +66,7 @@ Depot *AllocateDepot(void) } /* Check if we can add a block to the pool */ - if (AddBlockToPool(&_depot_pool)) - return AllocateDepot(); + if (AddBlockToPool(&_depot_pool)) return AllocateDepot(); return NULL; } diff --git a/depot.h b/depot.h --- a/depot.h +++ b/depot.h @@ -90,21 +90,20 @@ static inline bool IsTileDepotType(TileI /** - Find out if the slope of the tile is suitable to build a depot of given direction - @param direction The direction in which the depot's exit points. Starts with 0 as NE and goes Clockwise - @param tileh The slope of the tile in question - @return true if the construction is possible - + * Find out if the slope of the tile is suitable to build a depot of given direction + * @param direction The direction in which the depot's exit points. Starts with 0 as NE and goes Clockwise + * @param tileh The slope of the tile in question + * @return true if the construction is possible - This is checked by the ugly 0x4C >> direction magic, which does the following: - 0x4C is 0100 1100 and tileh has only bits 0..3 set (steep tiles are ruled out) - So: for direction (only the significant bits are shown)

- 00 (exit towards NE) we need either bit 2 or 3 set in tileh: 0x4C >> 0 = 1100

- 01 (exit towards SE) we need either bit 1 or 2 set in tileh: 0x4C >> 1 = 0110

- 02 (exit towards SW) we need either bit 0 or 1 set in tileh: 0x4C >> 2 = 0011

- 03 (exit towards NW) we need either bit 0 or 4 set in tileh: 0x4C >> 3 = 1001

- So ((0x4C >> p2) & tileh) determines whether the depot can be built on the current tileh -*/ + * This is checked by the ugly 0x4C >> direction magic, which does the following: + * 0x4C is 0100 1100 and tileh has only bits 0..3 set (steep tiles are ruled out) + * So: for direction (only the significant bits are shown)

+ * 00 (exit towards NE) we need either bit 2 or 3 set in tileh: 0x4C >> 0 = 1100

+ * 01 (exit towards SE) we need either bit 1 or 2 set in tileh: 0x4C >> 1 = 0110

+ * 02 (exit towards SW) we need either bit 0 or 1 set in tileh: 0x4C >> 2 = 0011

+ * 03 (exit towards NW) we need either bit 0 or 4 set in tileh: 0x4C >> 3 = 1001

+ * So ((0x4C >> direction) & tileh) determines whether the depot can be built on the current tileh + */ static inline bool CanBuildDepotByTileh(uint32 direction, Slope tileh) { return ((0x4C >> direction) & tileh) != 0; diff --git a/disaster_cmd.c b/disaster_cmd.c --- a/disaster_cmd.c +++ b/disaster_cmd.c @@ -599,8 +599,9 @@ static void DisasterTick_4(Vehicle *v) } while (tile != tile_org); v->dest_tile = tile; v->age = 0; - } else + } else { return; + } } // The plane which will shoot down the UFO @@ -664,8 +665,7 @@ static void DisasterTick_5_and_6(Vehicle return; } - if (!(v->tick_counter&1)) - return; + if (!(v->tick_counter & 1)) return; tile = v->tile + TileOffsByDir(DirToDiagDir(v->direction)); if (IsValidTile(tile) && @@ -715,11 +715,9 @@ static void Disaster0_Init(void) Station *st; int x; - if (v == NULL) - return; + if (v == NULL) return; - /* Pick a random place, unless we find - a small airport */ + /* Pick a random place, unless we find a small airport */ x = TileX(Random()) * TILE_SIZE + TILE_SIZE / 2; FOR_ALL_STATIONS(st) { @@ -747,8 +745,7 @@ static void Disaster1_Init(void) Vehicle *v = ForceAllocateSpecialVehicle(), *u; int x; - if (v == NULL) - return; + if (v == NULL) return; x = TileX(Random()) * TILE_SIZE + TILE_SIZE / 2; @@ -776,17 +773,15 @@ static void Disaster2_Init(void) FOR_ALL_INDUSTRIES(i) { if (i->xy != 0 && i->type == IT_OIL_REFINERY && - (found==NULL || CHANCE16(1,2))) { + (found == NULL || CHANCE16(1, 2))) { found = i; } } - if (found == NULL) - return; + if (found == NULL) return; v = ForceAllocateSpecialVehicle(); - if (v == NULL) - return; + if (v == NULL) return; x = (MapSizeX() + 9) * TILE_SIZE - 1; y = TileY(found->xy) * TILE_SIZE + 37; @@ -817,12 +812,10 @@ static void Disaster3_Init(void) } } - if (found == NULL) - return; + if (found == NULL) return; v = ForceAllocateSpecialVehicle(); - if (v == NULL) - return; + if (v == NULL) return; x = -16 * TILE_SIZE; y = TileY(found->xy) * TILE_SIZE + 37; diff --git a/economy.c b/economy.c --- a/economy.c +++ b/economy.c @@ -32,16 +32,16 @@ // Score info const ScoreInfo _score_info[] = { - {SCORE_VEHICLES, 120, 100}, - {SCORE_STATIONS, 80, 100}, - {SCORE_MIN_PROFIT, 10000, 100}, - {SCORE_MIN_INCOME, 50000, 50}, - {SCORE_MAX_INCOME, 100000, 100}, - {SCORE_DELIVERED, 40000, 400}, - {SCORE_CARGO, 8, 50}, - {SCORE_MONEY, 10000000, 50}, - {SCORE_LOAN, 250000, 50}, - {SCORE_TOTAL, 0, 0} + { SCORE_VEHICLES, 120, 100 }, + { SCORE_STATIONS, 80, 100 }, + { SCORE_MIN_PROFIT, 10000, 100 }, + { SCORE_MIN_INCOME, 50000, 50 }, + { SCORE_MAX_INCOME, 100000, 100 }, + { SCORE_DELIVERED, 40000, 400 }, + { SCORE_CARGO, 8, 50 }, + { SCORE_MONEY, 10000000, 50 }, + { SCORE_LOAN, 250000, 50 }, + { SCORE_TOTAL, 0, 0 } }; int _score_part[MAX_PLAYERS][NUM_SCORE]; @@ -102,8 +102,7 @@ int UpdateCompanyRatingAndValue(Player * uint num = 0; FOR_ALL_VEHICLES(v) { - if (v->owner != owner) - continue; + if (v->owner != owner) continue; if ((v->type == VEH_Train && IsFrontEngine(v)) || v->type == VEH_Road || (v->type == VEH_Aircraft && v->subtype <= 2) || @@ -114,8 +113,9 @@ int UpdateCompanyRatingAndValue(Player * if (min_profit_first == true) { min_profit = v->profit_last_year; min_profit_first = false; - } else if (min_profit > v->profit_last_year) + } else if (min_profit > v->profit_last_year) { min_profit = v->profit_last_year; + } } } } @@ -229,10 +229,10 @@ int UpdateCompanyRatingAndValue(Player * } if (update) { - p->old_economy[0].performance_history = score; - UpdateCompanyHQ(p, score); - p->old_economy[0].company_value = CalculateCompanyValue(p); - } + p->old_economy[0].performance_history = score; + UpdateCompanyHQ(p, score); + p->old_economy[0].company_value = CalculateCompanyValue(p); + } InvalidateWindow(WC_PERFORMANCE_DETAIL, 0); return score; @@ -249,8 +249,7 @@ void ChangeOwnershipOfPlayerItems(Player for (s = _subsidies; s != endof(_subsidies); s++) { if (s->cargo_type != CT_INVALID && s->age >= 12) { - if (GetStation(s->to)->owner == old_player) - s->cargo_type = CT_INVALID; + if (GetStation(s->to)->owner == old_player) s->cargo_type = CT_INVALID; } } } @@ -290,18 +289,10 @@ void ChangeOwnershipOfPlayerItems(Player FOR_ALL_VEHICLES(v) { if (v->owner == new_player) { switch (v->type) { - case VEH_Train: - if (IsFrontEngine(v)) num_train++; - break; - case VEH_Road: - num_road++; - break; - case VEH_Ship: - num_ship++; - break; - case VEH_Aircraft: - if (v->subtype <= 2) num_aircraft++; - break; + case VEH_Train: if (IsFrontEngine(v)) num_train++; break; + case VEH_Road: num_road++; break; + case VEH_Ship: num_ship++; break; + case VEH_Aircraft: if (v->subtype <= 2) num_aircraft++; break; default: break; } } @@ -339,8 +330,7 @@ void ChangeOwnershipOfPlayerItems(Player if (new_player != OWNER_SPECTATOR) { Window *w; for (w = _windows; w != _last_window; w++) { - if (w->caption_color == old_player) - w->caption_color = new_player; + if (w->caption_color == old_player) w->caption_color = new_player; } } @@ -352,8 +342,9 @@ void ChangeOwnershipOfPlayerItems(Player FOR_ALL_PLAYERS(p) { for (i = 0; i < 4; i++) { /* 'Sell' the share if this player has any */ - if (p->share_owners[i] == _current_player) + if (p->share_owners[i] == _current_player) { p->share_owners[i] = OWNER_SPECTATOR; + } } } p = GetPlayer(_current_player); @@ -1211,7 +1202,7 @@ static int32 DeliverGoods(int num_pieces Station *s_from, *s_to; int32 profit; - assert(num_pieces > 0); + assert(num_pieces > 0); // Update player statistics { diff --git a/economy.h b/economy.h --- a/economy.h +++ b/economy.h @@ -30,27 +30,27 @@ typedef struct Subsidy { enum { - SCORE_VEHICLES = 0, - SCORE_STATIONS = 1, - SCORE_MIN_PROFIT = 2, - SCORE_MIN_INCOME = 3, - SCORE_MAX_INCOME = 4, - SCORE_DELIVERED = 5, - SCORE_CARGO = 6, - SCORE_MONEY = 7, - SCORE_LOAN = 8, - SCORE_TOTAL = 9, // This must always be the last entry + SCORE_VEHICLES = 0, + SCORE_STATIONS = 1, + SCORE_MIN_PROFIT = 2, + SCORE_MIN_INCOME = 3, + SCORE_MAX_INCOME = 4, + SCORE_DELIVERED = 5, + SCORE_CARGO = 6, + SCORE_MONEY = 7, + SCORE_LOAN = 8, + SCORE_TOTAL = 9, // This must always be the last entry - NUM_SCORE = 10, // How many scores are there.. + NUM_SCORE = 10, // How many scores are there.. - SCORE_MAX = 1000, // The max score that can be in the performance history - // the scores together of score_info is allowed to be more! + SCORE_MAX = 1000 // The max score that can be in the performance history + // the scores together of score_info is allowed to be more! }; typedef struct ScoreInfo { - byte id; // Unique ID of the score - int needed; // How much you need to get the perfect score - int score; // How much score it will give + byte id; // Unique ID of the score + int needed; // How much you need to get the perfect score + int score; // How much score it will give } ScoreInfo; extern const ScoreInfo _score_info[]; diff --git a/elrail.c b/elrail.c --- a/elrail.c +++ b/elrail.c @@ -84,6 +84,7 @@ static TrackBits GetRailTrackBitsUnivers return 0; } break; + case MP_TUNNELBRIDGE: if (IsTunnel(t)) { if (GetRailType(t) != RAILTYPE_ELECTRIC) return 0; @@ -104,15 +105,18 @@ static TrackBits GetRailTrackBitsUnivers return DiagDirToAxis(GetBridgeRampDirection(t)) == AXIS_X ? TRACK_BIT_X : TRACK_BIT_Y; } } + case MP_STREET: if (GetRoadTileType(t) != ROAD_TILE_CROSSING) return 0; if (GetRailTypeCrossing(t) != RAILTYPE_ELECTRIC) return 0; return GetCrossingRailBits(t); + case MP_STATION: if (!IsRailwayStation(t)) return 0; if (GetRailType(t) != RAILTYPE_ELECTRIC) return 0; if (!IsStationTileElectrifiable(t)) return 0; return TrackToTrackBits(GetRailStationTrack(t)); + default: return 0; } @@ -124,17 +128,22 @@ static TrackBits GetRailTrackBitsUnivers */ static void AdjustTileh(TileIndex tile, Slope* tileh) { - if (IsTunnelTile(tile)) *tileh = SLOPE_FLAT; - if (IsBridgeTile(tile) && IsBridgeRamp(tile)) { - if (*tileh != SLOPE_FLAT) { + if (IsTileType(tile, MP_TUNNELBRIDGE)) { + if (IsTunnel(tile)) { *tileh = SLOPE_FLAT; } else { - switch (GetBridgeRampDirection(tile)) { - case DIAGDIR_NE: *tileh = SLOPE_NE; break; - case DIAGDIR_SE: *tileh = SLOPE_SE; break; - case DIAGDIR_SW: *tileh = SLOPE_SW; break; - case DIAGDIR_NW: *tileh = SLOPE_NW; break; - default: break; + if (IsBridgeRamp(tile)) { + if (*tileh != SLOPE_FLAT) { + *tileh = SLOPE_FLAT; + } else { + switch (GetBridgeRampDirection(tile)) { + case DIAGDIR_NE: *tileh = SLOPE_NE; break; + case DIAGDIR_SE: *tileh = SLOPE_SE; break; + case DIAGDIR_SW: *tileh = SLOPE_SW; break; + case DIAGDIR_NW: *tileh = SLOPE_NW; break; + default: break; + } + } } } } @@ -246,11 +255,12 @@ static void DrawCatenaryRailway(const Ti In that case, we try the any of the allowed ones. if they don't exist either, don't draw anything. Note that the preferred PPPs still contain the end-of-line markers. Remove those (simply by ANDing with allowed, since these markers are never allowed) */ - if ( (PPPallowed[i] & PPPpreferred[i]) != 0) PPPallowed[i] &= PPPpreferred[i]; + if ((PPPallowed[i] & PPPpreferred[i]) != 0) PPPallowed[i] &= PPPpreferred[i]; if (PPPallowed[i] != 0 && HASBIT(PCPstatus, i) && !HASBIT(OverridePCP, i)) { for (k = 0; k < DIR_END; k++) { byte temp = PPPorder[i][GetTLG(ti->tile)][k]; + if (HASBIT(PPPallowed[i], temp)) { uint x = ti->x + x_pcp_offsets[i] + x_ppp_offsets[temp]; uint y = ti->y + y_pcp_offsets[i] + y_ppp_offsets[temp]; diff --git a/engine.c b/engine.c --- a/engine.c +++ b/engine.c @@ -249,7 +249,7 @@ void EnginesDailyLoop(void) DeleteWindowById(WC_ENGINE_PREVIEW, i); e->preview_player++; } - } else if (e->preview_player != 0xFF) { + } else if (e->preview_player != 0xFF) { PlayerID best_player = GetBestPlayer(e->preview_player); if (best_player == OWNER_SPECTATOR) { diff --git a/engine.h b/engine.h --- a/engine.h +++ b/engine.h @@ -159,8 +159,8 @@ VARDEF Engine _engines[TOTAL_NUM_ENGINES static inline Engine* GetEngine(EngineID i) { - assert(i < lengthof(_engines)); - return &_engines[i]; + assert(i < lengthof(_engines)); + return &_engines[i]; } VARDEF StringID _engine_name_strings[TOTAL_NUM_ENGINES]; diff --git a/fileio.c b/fileio.c --- a/fileio.c +++ b/fileio.c @@ -133,9 +133,9 @@ bool FiosCheckFileExists(const char *fil } #endif - if (f == NULL) + if (f == NULL) { return false; - else { + } else { fclose(f); return true; } diff --git a/industry_cmd.c b/industry_cmd.c --- a/industry_cmd.c +++ b/industry_cmd.c @@ -315,8 +315,8 @@ static int32 ClearTile_Industry(TileInde */ if ((_current_player != OWNER_WATER && _game_mode != GM_EDITOR && !_cheats.magic_bulldozer.value) || - (_current_player == OWNER_WATER && i->type == IT_OIL_RIG) ) { - SetDParam(0, STR_4802_COAL_MINE + i->type); + (_current_player == OWNER_WATER && i->type == IT_OIL_RIG)) { + SetDParam(0, STR_4802_COAL_MINE + i->type); return_cmd_error(STR_4800_IN_THE_WAY); } diff --git a/industry_map.h b/industry_map.h --- a/industry_map.h +++ b/industry_map.h @@ -146,7 +146,7 @@ static inline void ResetIndustryConstruc typedef struct IndustryTypeSolver { IndustryGfx MinGfx; IndustryGfx MaxGfx; - } IndustryTypeSolver; +} IndustryTypeSolver; static const IndustryTypeSolver industry_gfx_Solver [IT_END] = { { 0, 6}, //IT_COAL_MINE diff --git a/intro_gui.c b/intro_gui.c --- a/intro_gui.c +++ b/intro_gui.c @@ -87,8 +87,9 @@ static void SelectGameWndProc(Window *w, #ifdef ENABLE_NETWORK if (!_network_available) { ShowErrorMessage(INVALID_STRING_ID, STR_NETWORK_ERR_NOTAVAILABLE, 0, 0); - } else + } else { ShowNetworkGameWindow(); + } #else ShowErrorMessage(INVALID_STRING_ID ,STR_NETWORK_ERR_NOTAVAILABLE, 0, 0); #endif diff --git a/main_gui.c b/main_gui.c --- a/main_gui.c +++ b/main_gui.c @@ -90,10 +90,11 @@ void HandleOnEditText(WindowEvent *e) // Inform the player of this action snprintf(msg, sizeof(msg), "%d", money); - if (!_network_server) + if (!_network_server) { SEND_COMMAND(PACKET_CLIENT_CHAT)(NETWORK_ACTION_GIVE_MONEY, DESTTYPE_PLAYER, id + 1, msg); - else + } else { NetworkServer_HandleChat(NETWORK_ACTION_GIVE_MONEY, DESTTYPE_PLAYER, id + 1, msg, NETWORK_SERVER_INDEX); + } break; } case 4: /* Game-Password and Company-Password */ @@ -2273,7 +2274,8 @@ static WindowDesc _main_status_desc = { extern void UpdateAllStationVirtCoord(void); -static void MainWindowWndProc(Window *w, WindowEvent *e) { +static void MainWindowWndProc(Window* w, WindowEvent* e) +{ int off_x; switch (e->event) { diff --git a/misc_cmd.c b/misc_cmd.c --- a/misc_cmd.c +++ b/misc_cmd.c @@ -146,8 +146,9 @@ int32 CmdChangeCompanyName(TileIndex til DeleteName(p->name_1); p->name_1 = str; MarkWholeScreenDirty(); - } else + } else { DeleteName(str); + } return 0; } @@ -180,8 +181,9 @@ int32 CmdChangePresidentName(TileIndex t DoCommand(0, 0, 0, DC_EXEC, CMD_CHANGE_COMPANY_NAME); } MarkWholeScreenDirty(); - } else + } else { DeleteName(str); + } return 0; } @@ -269,8 +271,9 @@ int32 CmdChangeDifficultyLevel(TileIndex if (p1 != (uint32)-1L) { ((int*)&_opt_ptr->diff)[p1] = p2; _opt_ptr->diff_level = 3; // custom difficulty level - } else + } else { _opt_ptr->diff_level = p2; + } /* If we are a network-client, update the difficult setting (if it is open). * Use this instead of just dirtying the window because we need to load in diff --git a/misc_gui.c b/misc_gui.c --- a/misc_gui.c +++ b/misc_gui.c @@ -915,13 +915,14 @@ int HandleEditBoxKey(Window *w, querystr case WKC_LEFT: case WKC_RIGHT: case WKC_END: case WKC_HOME: if (MoveTextBufferPos(&string->text, we->keypress.keycode)) InvalidateWidget(w, wid); - break; + break; default: if (IsValidAsciiChar(we->keypress.ascii)) { if (InsertTextBufferChar(&string->text, we->keypress.ascii)) InvalidateWidget(w, wid); - } else // key wasn't caught + } else { // key wasn't caught we->keypress.cont = true; + } } return 0; @@ -1507,8 +1508,7 @@ static void SelectScenarioWndProc(Window const int list_start = 45; switch (e->event) { - case WE_PAINT: - { + case WE_PAINT: { int y,pos; const FiosItem *item; @@ -1556,15 +1556,14 @@ static void SelectScenarioWndProc(Window break; case 6: /* Click the listbox */ - if (e->click.pt.y < list_start) + if (e->click.pt.y < list_start) { GenRandomNewGame(Random(), InteractiveRandom()); - else { - char *name; + } else { int y = (e->click.pt.y - list_start) / 10; + const char* name; const FiosItem *file; - if (y < 0 || (y += w->vscroll.pos) >= w->vscroll.count) - return; + if (y < 0 || (y += w->vscroll.pos) >= w->vscroll.count) return; file = _fios_list + y; @@ -1578,8 +1577,6 @@ static void SelectScenarioWndProc(Window } break; } - case WE_DESTROY: - break; case WE_RESIZE: { /* Widget 3 and 4 have to go with halve speed, make it so obiwan */ diff --git a/music/qtmidi.h b/music/qtmidi.h --- a/music/qtmidi.h +++ b/music/qtmidi.h @@ -1,8 +1,4 @@ -/* - * qtmidi.h - * - * $Id$ - */ +/* $Id$ */ #ifndef MUSIC_MACOSX_QUICKTIME_H #define MUSIC_MACOSX_QUICKTIME_H diff --git a/namegen.c b/namegen.c --- a/namegen.c +++ b/namegen.c @@ -279,11 +279,10 @@ static byte MakeFinnishTownName(char *bu // Select randomly if town name should consists of one or two parts. if (SeedChance(0, 15, seed) >= 10) { strcat(buf, name_finnish_real[SeedChance( 2, lengthof(name_finnish_real), seed)]); - } - // A two-part name by combining one of name_finnish_1 + "la"/"lä" - // The reason for not having the contents of name_finnish_{1,2} in the same table is - // that the ones in name_finnish_2 are not good for this purpose. - else if (SeedChance(0, 15, seed) >= 5) { + } else if (SeedChance(0, 15, seed) >= 5) { + // A two-part name by combining one of name_finnish_1 + "la"/"lä" + // The reason for not having the contents of name_finnish_{1,2} in the same table is + // that the ones in name_finnish_2 are not good for this purpose. uint sel = SeedChance( 0, lengthof(name_finnish_1), seed); char *last; strcat(buf, name_finnish_1[sel]); @@ -297,10 +296,9 @@ static byte MakeFinnishTownName(char *bu } else { strcat(buf, "lä"); } - } - // A two-part name by combining one of name_finnish_{1,2} + name_finnish_3. - // Why aren't name_finnish_{1,2} just one table? See above. - else { + } else { + // A two-part name by combining one of name_finnish_{1,2} + name_finnish_3. + // Why aren't name_finnish_{1,2} just one table? See above. uint sel = SeedChance(2, lengthof(name_finnish_1) + lengthof(name_finnish_2), seed); if (sel >= lengthof(name_finnish_1)) { @@ -424,10 +422,11 @@ static byte MakeCzechTownName(char *buf, // Always drop a postfix. postfix += lengthof(name_czech_subst_postfix); } - if (postfix < lengthof(name_czech_subst_postfix)) + if (postfix < lengthof(name_czech_subst_postfix)) { choose |= CZC_POSTFIX; - else + } else { choose |= CZC_NOPOSTFIX; + } // Localize the array segment containing a good gender for (ending = 0; ending < (int) lengthof(name_czech_subst_ending); ending++) { diff --git a/network.c b/network.c --- a/network.c +++ b/network.c @@ -54,9 +54,9 @@ NetworkClientInfo *NetworkFindClientInfo { NetworkClientInfo *ci; - for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) - if (ci->client_index == client_index) - return ci; + for (ci = _network_client_info; ci != &_network_client_info[MAX_CLIENT_INFO]; ci++) { + if (ci->client_index == client_index) return ci; + } return NULL; } @@ -81,9 +81,9 @@ NetworkClientState *NetworkFindClientSta { NetworkClientState *cs; - for (cs = _clients; cs != &_clients[MAX_CLIENT_INFO]; cs++) - if (cs->index == client_index) - return cs; + for (cs = _clients; cs != &_clients[MAX_CLIENT_INFO]; cs++) { + if (cs->index == client_index) return cs; + } return NULL; } @@ -93,10 +93,12 @@ NetworkClientState *NetworkFindClientSta void NetworkGetClientName(char *client_name, size_t size, const NetworkClientState *cs) { const NetworkClientInfo *ci = DEREF_CLIENT_INFO(cs); - if (*ci->client_name == '\0') + + if (ci->client_name[0] == '\0') { snprintf(client_name, size, "Client #%4d", cs->index); - else + } else { ttd_strlcpy(client_name, ci->client_name, size); + } } byte NetworkSpectatorCount(void) @@ -218,7 +220,8 @@ static void ServerStartError(const char NetworkError(STR_NETWORK_ERR_SERVER_START); } -static void NetworkClientError(byte res, NetworkClientState *cs) { +static void NetworkClientError(byte res, NetworkClientState* cs) +{ // First, send a CLIENT_ERROR to the server, so he knows we are // disconnection (and why!) NetworkErrorCode errorno; @@ -234,9 +237,9 @@ static void NetworkClientError(byte res, } switch (res) { - case NETWORK_RECV_STATUS_DESYNC: errorno = NETWORK_ERROR_DESYNC; break; + case NETWORK_RECV_STATUS_DESYNC: errorno = NETWORK_ERROR_DESYNC; break; case NETWORK_RECV_STATUS_SAVEGAME: errorno = NETWORK_ERROR_SAVEGAME_FAILED; break; - default: errorno = NETWORK_ERROR_GENERAL; + default: errorno = NETWORK_ERROR_GENERAL; break; } // This means we fucked up and the server closed the connection if (res != NETWORK_RECV_STATUS_SERVER_ERROR && res != NETWORK_RECV_STATUS_SERVER_FULL && @@ -254,7 +257,7 @@ static void NetworkClientError(byte res, /** Retrieve a string representation of an internal error number * @param buf buffer where the error message will be stored - * @param err NetworkErrorCode (integer) + * @param err NetworkErrorCode * @return returns a pointer to the error message (buf) */ char *GetNetworkErrorMsg(char *buf, NetworkErrorCode err) { @@ -274,7 +277,7 @@ char *GetNetworkErrorMsg(char *buf, Netw STR_NETWORK_ERR_CLIENT_PLAYER_MISMATCH, STR_NETWORK_ERR_CLIENT_KICKED, STR_NETWORK_ERR_CLIENT_CHEATER, - STR_NETWORK_ERR_CLIENT_SERVER_FULL, + STR_NETWORK_ERR_CLIENT_SERVER_FULL }; if (err >= lengthof(network_error_strings)) err = 0; @@ -992,10 +995,11 @@ static void NetworkInitGameInfo(void) memset(ci, 0, sizeof(*ci)); ci->client_index = NETWORK_SERVER_INDEX; - if (_network_dedicated) + if (_network_dedicated) { ci->client_playas = OWNER_SPECTATOR; - else + } else { ci->client_playas = _local_player + 1; + } ttd_strlcpy(ci->client_name, _network_player_name, sizeof(ci->client_name)); ttd_strlcpy(ci->unique_id, _network_unique_id, sizeof(ci->unique_id)); } @@ -1127,23 +1131,26 @@ static bool NetworkReceive(void) if (n == -1 && !_network_server) NetworkError(STR_NETWORK_ERR_LOSTCONNECTION); // accept clients.. - if (_network_server && FD_ISSET(_listensocket, &read_fd)) + if (_network_server && FD_ISSET(_listensocket, &read_fd)) { NetworkAcceptClients(); + } // read stuff from clients FOR_ALL_CLIENTS(cs) { cs->writable = !!FD_ISSET(cs->socket, &write_fd); if (FD_ISSET(cs->socket, &read_fd)) { - if (_network_server) + if (_network_server) { NetworkServer_ReadPackets(cs); - else { + } else { byte res; + // The client already was quiting! if (cs->quited) return false; - if ((res = NetworkClient_ReadPackets(cs)) != NETWORK_RECV_STATUS_OKAY) { + + res = NetworkClient_ReadPackets(cs); + if (res != NETWORK_RECV_STATUS_OKAY) { // The client made an error of which we can not recover // close the client and drop back to main menu - NetworkClientError(res, cs); return false; } @@ -1336,38 +1343,40 @@ void NetworkStartUp(void) { DEBUG(net, 3) ("[NET][Core] Starting network..."); - #if defined(__MORPHOS__) || defined(__AMIGA__) +#if defined(__MORPHOS__) || defined(__AMIGA__) /* * IMPORTANT NOTE: SocketBase needs to be initialized before we use _any_ * network related function, else: crash. */ - { - DEBUG(misc,3) ("[NET][Core] Loading bsd socket library"); - if (!(SocketBase = OpenLibrary("bsdsocket.library", 4))) { - DEBUG(net, 0) ("[NET][Core] Error: couldn't open bsdsocket.library version 4. Network not available."); - _network_available = false; - return; - } + DEBUG(misc,3) ("[NET][Core] Loading bsd socket library"); + SocketBase = OpenLibrary("bsdsocket.library", 4); + if (SocketBase == NULL) { + DEBUG(net, 0) ("[NET][Core] Error: couldn't open bsdsocket.library version 4. Network not available."); + _network_available = false; + return; + } - #if defined(__AMIGA__) - // for usleep() implementation (only required for legacy AmigaOS builds) - if ( (TimerPort = CreateMsgPort()) ) { - if ( (TimerRequest = (struct timerequest *) CreateIORequest(TimerPort, sizeof(struct timerequest))) ) { - if ( OpenDevice("timer.device", UNIT_MICROHZ, (struct IORequest *) TimerRequest, 0) == 0 ) { - if ( !(TimerBase = TimerRequest->tr_node.io_Device) ) { - // free ressources... - DEBUG(net, 0) ("[NET][Core] Error: couldn't initialize timer. Network not available."); - _network_available = false; - return; - } +#if defined(__AMIGA__) + // for usleep() implementation (only required for legacy AmigaOS builds) + TimerPort = CreateMsgPort(); + if (TimerPort != NULL) { + TimerRequest = (struct timerequest*)CreateIORequest(TimerPort, sizeof(struct timerequest); + if (TimerRequest != NULL) { + if (OpenDevice("timer.device", UNIT_MICROHZ, (struct IORequest*)TimerRequest, 0) == 0) { + TimerBase = TimerRequest->tr_node.io_Device; + if (TimerBase == NULL) { + // free ressources... + DEBUG(net, 0) ("[NET][Core] Error: couldn't initialize timer. Network not available."); + _network_available = false; + return; } } } - #endif // __AMIGA__ } - #endif // __MORPHOS__ / __AMIGA__ +#endif // __AMIGA__ +#endif // __MORPHOS__ / __AMIGA__ - // Network is available + // Network is available _network_available = true; _network_dedicated = false; _network_last_advertise_frame = 0; @@ -1412,26 +1421,20 @@ void NetworkShutDown(void) _network_available = false; - #if defined(__MORPHOS__) || defined(__AMIGA__) - { - // free allocated ressources - #if defined(__AMIGA__) - if (TimerBase) { CloseDevice((struct IORequest *) TimerRequest); } - if (TimerRequest) { DeleteIORequest(TimerRequest); } - if (TimerPort) { DeleteMsgPort(TimerPort); } - #endif +#if defined(__MORPHOS__) || defined(__AMIGA__) + // free allocated ressources +#if defined(__AMIGA__) + if (TimerBase != NULL) CloseDevice((struct IORequest*)TimerRequest); // XXX This smells wrong + if (TimerRequest != NULL) DeleteIORequest(TimerRequest); + if (TimerPort != NULL) DeleteMsgPort(TimerPort); +#endif - if (SocketBase) { - CloseLibrary(SocketBase); - } - } - #endif + if (SocketBase != NULL) CloseLibrary(SocketBase); +#endif - #if defined(WIN32) - { - WSACleanup(); - } - #endif +#if defined(WIN32) + WSACleanup(); +#endif } #endif /* ENABLE_NETWORK */ diff --git a/network_data.c b/network_data.c --- a/network_data.c +++ b/network_data.c @@ -178,8 +178,9 @@ bool NetworkSend_Packets(NetworkClientSt cs->packet_queue = p->next; free(p); p = cs->packet_queue; - } else + } else { return true; + } } return true; @@ -192,8 +193,7 @@ bool NetworkSend_Packets(NetworkClientSt uint8 NetworkRecv_uint8(NetworkClientState *cs, Packet *packet) { /* Don't allow reading from a closed socket */ - if (cs->quited) - return 0; + if (cs->quited) return 0; /* Check if variable is within packet-size */ if (packet->pos + 1 > packet->size) { @@ -209,8 +209,7 @@ uint16 NetworkRecv_uint16(NetworkClientS uint16 n; /* Don't allow reading from a closed socket */ - if (cs->quited) - return 0; + if (cs->quited) return 0; /* Check if variable is within packet-size */ if (packet->pos + 2 > packet->size) { @@ -228,8 +227,7 @@ uint32 NetworkRecv_uint32(NetworkClientS uint32 n; /* Don't allow reading from a closed socket */ - if (cs->quited) - return 0; + if (cs->quited) return 0; /* Check if variable is within packet-size */ if (packet->pos + 4 > packet->size) { @@ -249,8 +247,7 @@ uint64 NetworkRecv_uint64(NetworkClientS uint64 n; /* Don't allow reading from a closed socket */ - if (cs->quited) - return 0; + if (cs->quited) return 0; /* Check if variable is within packet-size */ if (packet->pos + 8 > packet->size) { @@ -388,13 +385,13 @@ Packet *NetworkRecv_Packet(NetworkClient // Add a command to the local command queue void NetworkAddCommandQueue(NetworkClientState *cs, CommandPacket *cp) { - CommandPacket *new_cp = malloc(sizeof(CommandPacket)); + CommandPacket* new_cp = malloc(sizeof(*new_cp)); *new_cp = *cp; - if (cs->command_queue == NULL) + if (cs->command_queue == NULL) { cs->command_queue = new_cp; - else { + } else { CommandPacket *c = cs->command_queue; while (c->next != NULL) c = c->next; c->next = new_cp; @@ -443,9 +440,7 @@ void NetworkSend_Command(TileIndex tile, // And we queue it for delivery to the clients FOR_ALL_CLIENTS(cs) { - if (cs->status > STATUS_AUTH) { - NetworkAddCommandQueue(cs, c); - } + if (cs->status > STATUS_AUTH) NetworkAddCommandQueue(cs, c); } // Only the server gets the callback, because clients should not get them diff --git a/network_gamelist.c b/network_gamelist.c --- a/network_gamelist.c +++ b/network_gamelist.c @@ -6,7 +6,6 @@ #ifdef ENABLE_NETWORK -// // This file handles the GameList // Also, it handles the request to a server for data about the server @@ -33,8 +32,11 @@ NetworkGameList *NetworkGameListAddItem( item->ip = ip; item->port = port; - if (prev_item == NULL) {_network_game_list = item;} - else {prev_item->next = item;} + if (prev_item == NULL) { + _network_game_list = item; + } else { + prev_item->next = item; + } DEBUG(net, 4) ("[NET][GameList] Added server to list"); UpdateNetworkGameWindow(false); @@ -51,8 +53,11 @@ void NetworkGameListRemoveItem(NetworkGa prev_item = NULL; for (item = _network_game_list; item != NULL; item = item->next) { if (remove == item) { - if (prev_item == NULL) {_network_game_list = remove->next;} - else {prev_item->next = remove->next;} + if (prev_item == NULL) { + _network_game_list = remove->next; + } else { + prev_item->next = remove->next; + } free(remove); DEBUG(net, 4) ("[NET][GameList] Removed server from list"); diff --git a/network_gui.c b/network_gui.c --- a/network_gui.c +++ b/network_gui.c @@ -628,8 +628,11 @@ static void NetworkStartServerWindowWndP if (item == nd->map || (pos == 0 && nd->map == NULL)) GfxFillRect(11, y - 1, 258, y + 10, 155); // show highlighted item with a different colour - if (pos == 0) DrawString(14, y, STR_4010_GENERATE_RANDOM_NEW_GAME, 9); - else DoDrawString(item->title, 14, y, _fios_colors[item->type] ); + if (pos == 0) { + DrawString(14, y, STR_4010_GENERATE_RANDOM_NEW_GAME, 9); + } else { + DoDrawString(item->title, 14, y, _fios_colors[item->type] ); + } pos++; y += NSSWND_ROWSIZE; @@ -1262,7 +1265,9 @@ static void ClientListPopupWndProc(Windo if (sel-- == 0) { // Selected item, highlight it GfxFillRect(1, y, 150 - 2, y + CLNWND_ROWSIZE - 1, 0); colour = 0xC; - } else colour = 0x10; + } else { + colour = 0x10; + } DoDrawString(_clientlist_action[i], 4, y, colour); } @@ -1320,8 +1325,9 @@ static void ClientListWndProc(Window *w, if (_selected_clientlist_item == i++) { // Selected item, highlight it GfxFillRect(1, y, 248, y + CLNWND_ROWSIZE - 1, 0); colour = 0xC; - } else + } else { colour = 0x10; + } if (ci->client_index == NETWORK_SERVER_INDEX) { DrawString(4, y, STR_NETWORK_SERVER, colour); @@ -1362,8 +1368,9 @@ static void ClientListWndProc(Window *w, _selected_clientlist_y = e->mouseover.pt.y; if (e->mouseover.pt.y > CLNWND_OFFSET) { _selected_clientlist_item = (e->mouseover.pt.y - CLNWND_OFFSET) / CLNWND_ROWSIZE; - } else + } else { _selected_clientlist_item = 255; + } // Repaint SetWindowDirty(w); diff --git a/network_server.c b/network_server.c --- a/network_server.c +++ b/network_server.c @@ -84,8 +84,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_CO NetworkPopulateCompanyInfo(); FOR_ALL_PLAYERS(player) { - if (!player->is_active) - continue; + if (!player->is_active) continue; p = NetworkSend_Init(PACKET_SERVER_COMPANY_INFO); @@ -102,21 +101,24 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_CO /* Send 1 if there is a passord for the company else send 0 */ if (_network_player_info[player->index].password[0] != '\0') { - NetworkSend_uint8 (p, 1); + NetworkSend_uint8(p, 1); } else { - NetworkSend_uint8 (p, 0); + NetworkSend_uint8(p, 0); + } + + for (i = 0; i < NETWORK_VEHICLE_TYPES; i++) { + NetworkSend_uint16(p, _network_player_info[player->index].num_vehicle[i]); } - for (i = 0; i < NETWORK_VEHICLE_TYPES; i++) - NetworkSend_uint16(p, _network_player_info[player->index].num_vehicle[i]); - - for (i = 0; i < NETWORK_STATION_TYPES; i++) + for (i = 0; i < NETWORK_STATION_TYPES; i++) { NetworkSend_uint16(p, _network_player_info[player->index].num_station[i]); + } - if (_network_player_info[player->index].players[0] == '\0') + if (_network_player_info[player->index].players[0] == '\0') { NetworkSend_string(p, ""); - else + } else { NetworkSend_string(p, _network_player_info[player->index].players); + } NetworkSend_Packet(p, cs); } @@ -240,8 +242,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_WA // Count how many players are waiting in the queue FOR_ALL_CLIENTS(new_cs) { - if (new_cs->status == STATUS_MAP_WAIT) - waiting++; + if (new_cs->status == STATUS_MAP_WAIT) waiting++; } p = NetworkSend_Init(PACKET_SERVER_WAIT); @@ -578,13 +579,11 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT #if defined(WITH_REV) || defined(WITH_REV_HACK) // Check if the client has revision control enabled - if (strcmp(NOREV_STRING, client_revision) != 0) { - if (strcmp(_network_game_info.server_revision, client_revision) != 0) { - // Different revisions!! - SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_WRONG_REVISION); - - return; - } + if (strcmp(NOREV_STRING, client_revision) != 0 && + strcmp(_network_game_info.server_revision, client_revision) != 0) { + // Different revisions!! + SEND_COMMAND(PACKET_SERVER_ERROR)(cs, NETWORK_ERROR_WRONG_REVISION); + return; } #endif @@ -629,20 +628,20 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT // We now want a password from the client // else we do not allow him in! - if (_network_game_info.use_password) + if (_network_game_info.use_password) { SEND_COMMAND(PACKET_SERVER_NEED_PASSWORD)(cs, NETWORK_GAME_PASSWORD); - else { + } else { if (ci->client_playas > 0 && ci->client_playas <= MAX_PLAYERS && _network_player_info[ci->client_playas - 1].password[0] != '\0') { SEND_COMMAND(PACKET_SERVER_NEED_PASSWORD)(cs, NETWORK_COMPANY_PASSWORD); - } - else { + } else { SEND_COMMAND(PACKET_SERVER_WELCOME)(cs); } } /* Make sure companies to who people try to join are not autocleaned */ - if (playas >= 1 && playas <= MAX_PLAYERS) + if (playas >= 1 && playas <= MAX_PLAYERS) { _network_player_info[playas-1].months_empty = 0; + } } DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_PASSWORD) @@ -1113,8 +1112,7 @@ DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT char pass[NETWORK_PASSWORD_LENGTH]; char command[NETWORK_RCONCOMMAND_LENGTH]; - if (_network_game_info.rcon_password[0] == '\0') - return; + if (_network_game_info.rcon_password[0] == '\0') return; NetworkRecv_string(cs, p, pass, sizeof(pass)); NetworkRecv_string(cs, p, command, sizeof(command)); @@ -1209,13 +1207,16 @@ void NetworkPopulateCompanyInfo(void) GetString(_network_player_info[p->index].company_name, STR_JUST_STRING); // Check the income - if (_cur_year - 1 == p->inaugurated_year) + if (_cur_year - 1 == p->inaugurated_year) { // The player is here just 1 year, so display [2], else display[1] - for (i = 0; i < 13; i++) + for (i = 0; i < 13; i++) { _network_player_info[p->index].income -= p->yearly_expenses[2][i]; - else - for (i = 0; i < 13; i++) + } + } else { + for (i = 0; i < 13; i++) { _network_player_info[p->index].income -= p->yearly_expenses[1][i]; + } + } // Set some general stuff _network_player_info[p->index].inaugurated_year = p->inaugurated_year; @@ -1226,44 +1227,48 @@ void NetworkPopulateCompanyInfo(void) // Go through all vehicles and count the type of vehicles FOR_ALL_VEHICLES(v) { - if (v->owner < MAX_PLAYERS) - switch (v->type) { - case VEH_Train: - if (IsFrontEngine(v)) - _network_player_info[v->owner].num_vehicle[0]++; - break; - case VEH_Road: - if (v->cargo_type != CT_PASSENGERS) - _network_player_info[v->owner].num_vehicle[1]++; - else - _network_player_info[v->owner].num_vehicle[2]++; - break; - case VEH_Aircraft: - if (v->subtype <= 2) - _network_player_info[v->owner].num_vehicle[3]++; - break; - case VEH_Ship: - _network_player_info[v->owner].num_vehicle[4]++; - break; - case VEH_Special: - case VEH_Disaster: - break; - } + if (v->owner >= MAX_PLAYERS) continue; + switch (v->type) { + case VEH_Train: + if (IsFrontEngine(v)) { + _network_player_info[v->owner].num_vehicle[0]++; + } + break; + + case VEH_Road: + if (v->cargo_type != CT_PASSENGERS) { + _network_player_info[v->owner].num_vehicle[1]++; + } else { + _network_player_info[v->owner].num_vehicle[2]++; + } + break; + + case VEH_Aircraft: + if (v->subtype <= 2) { + _network_player_info[v->owner].num_vehicle[3]++; + } + break; + + case VEH_Ship: + _network_player_info[v->owner].num_vehicle[4]++; + break; + + case VEH_Special: + case VEH_Disaster: + break; + } } // Go through all stations and count the types of stations FOR_ALL_STATIONS(s) { if (s->owner < MAX_PLAYERS) { - if ((s->facilities & FACIL_TRAIN)) - _network_player_info[s->owner].num_station[0]++; - if ((s->facilities & FACIL_TRUCK_STOP)) - _network_player_info[s->owner].num_station[1]++; - if ((s->facilities & FACIL_BUS_STOP)) - _network_player_info[s->owner].num_station[2]++; - if ((s->facilities & FACIL_AIRPORT)) - _network_player_info[s->owner].num_station[3]++; - if ((s->facilities & FACIL_DOCK)) - _network_player_info[s->owner].num_station[4]++; + NetworkPlayerInfo* npi = &_network_player_info[s->owner]; + + if (s->facilities & FACIL_TRAIN) npi->num_station[0]++; + if (s->facilities & FACIL_TRUCK_STOP) npi->num_station[1]++; + if (s->facilities & FACIL_BUS_STOP) npi->num_station[2]++; + if (s->facilities & FACIL_AIRPORT) npi->num_station[3]++; + if (s->facilities & FACIL_DOCK) npi->num_station[4]++; } } @@ -1295,8 +1300,7 @@ void NetworkUpdateClientInfo(uint16 clie ci = NetworkFindClientInfoFromIndex(client_index); - if (ci == NULL) - return; + if (ci == NULL) return; FOR_ALL_CLIENTS(cs) { SEND_COMMAND(PACKET_SERVER_CLIENT_INFO)(cs, ci); @@ -1330,8 +1334,7 @@ static void NetworkAutoCleanCompanies(vo Player *p; bool clients_in_company[MAX_PLAYERS]; - if (!_network_autoclean_companies) - return; + if (!_network_autoclean_companies) return; memset(clients_in_company, 0, sizeof(clients_in_company)); @@ -1352,8 +1355,7 @@ static void NetworkAutoCleanCompanies(vo /* Go through all the comapnies */ FOR_ALL_PLAYERS(p) { /* Skip the non-active once */ - if (!p->is_active || p->is_ai) - continue; + if (!p->is_active || p->is_ai) continue; if (!clients_in_company[p->index]) { /* The company is empty for one month more */ @@ -1430,10 +1432,11 @@ bool NetworkServer_ReadPackets(NetworkCl NetworkRecvStatus res; while ((p = NetworkRecv_Packet(cs, &res)) != NULL) { byte type = NetworkRecv_uint8(cs, p); - if (type < PACKET_END && _network_server_packet[type] != NULL && !cs->quited) + if (type < PACKET_END && _network_server_packet[type] != NULL && !cs->quited) { _network_server_packet[type](cs, p); - else + } else { DEBUG(net, 0)("[NET][Server] Received invalid packet type %d", type); + } free(p); } diff --git a/network_udp.c b/network_udp.c --- a/network_udp.c +++ b/network_udp.c @@ -141,10 +141,9 @@ DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_SERVE snprintf(item->info.hostname, sizeof(item->info.hostname), "%s", inet_ntoa(client_addr->sin_addr)); /* Check if we are allowed on this server based on the revision-match */ - item->info.compatible = ( - strcmp(item->info.server_revision, _openttd_revision) == 0 || - strcmp(item->info.server_revision, NOREV_STRING) == 0) ? true : false; - + item->info.compatible = + strcmp(item->info.server_revision, _openttd_revision) == 0 || + strcmp(item->info.server_revision, NOREV_STRING) == 0; break; } @@ -163,8 +162,7 @@ DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_CLIEN int i; // Just a fail-safe.. should never happen - if (!_network_udp_server) - return; + if (!_network_udp_server) return; packet = NetworkSend_Init(PACKET_UDP_SERVER_DETAIL_INFO); @@ -178,13 +176,12 @@ DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_CLIEN /* Go through all the players */ FOR_ALL_PLAYERS(player) { /* Skip non-active players */ - if (!player->is_active) - continue; + if (!player->is_active) continue; current++; /* Send the information */ - NetworkSend_uint8 (packet, current); + NetworkSend_uint8(packet, current); NetworkSend_string(packet, _network_player_info[player->index].company_name); NetworkSend_uint8 (packet, _network_player_info[player->index].inaugurated_year); @@ -193,11 +190,11 @@ DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_CLIEN NetworkSend_uint64(packet, _network_player_info[player->index].income); NetworkSend_uint16(packet, _network_player_info[player->index].performance); - /* Send 1 if there is a passord for the company else send 0 */ + /* Send 1 if there is a passord for the company else send 0 */ if (_network_player_info[player->index].password[0] != '\0') { - NetworkSend_uint8 (packet, 1); + NetworkSend_uint8(packet, 1); } else { - NetworkSend_uint8 (packet, 0); + NetworkSend_uint8(packet, 0); } for (i = 0; i < NETWORK_VEHICLE_TYPES; i++) @@ -209,7 +206,7 @@ DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_CLIEN /* Find the clients that are connected to this player */ FOR_ALL_CLIENTS(cs) { ci = DEREF_CLIENT_INFO(cs); - if ((ci->client_playas - 1) == player->index) { + if (ci->client_playas - 1 == player->index) { /* The uint8 == 1 indicates that a client is following */ NetworkSend_uint8(packet, 1); NetworkSend_string(packet, ci->client_name); @@ -219,7 +216,7 @@ DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_CLIEN } /* Also check for the server itself */ ci = NetworkFindClientInfoFromIndex(NETWORK_SERVER_INDEX); - if ((ci->client_playas - 1) == player->index) { + if (ci->client_playas - 1 == player->index) { /* The uint8 == 1 indicates that a client is following */ NetworkSend_uint8(packet, 1); NetworkSend_string(packet, ci->client_name); @@ -234,7 +231,7 @@ DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_CLIEN /* And check if we have any spectators */ FOR_ALL_CLIENTS(cs) { ci = DEREF_CLIENT_INFO(cs); - if ((ci->client_playas - 1) > MAX_PLAYERS) { + if (ci->client_playas - 1 > MAX_PLAYERS) { /* The uint8 == 1 indicates that a client is following */ NetworkSend_uint8(packet, 1); NetworkSend_string(packet, ci->client_name); @@ -244,7 +241,7 @@ DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_CLIEN } /* Also check for the server itself */ ci = NetworkFindClientInfoFromIndex(NETWORK_SERVER_INDEX); - if ((ci->client_playas - 1) > MAX_PLAYERS) { + if (ci->client_playas - 1 > MAX_PLAYERS) { /* The uint8 == 1 indicates that a client is following */ NetworkSend_uint8(packet, 1); NetworkSend_string(packet, ci->client_name); @@ -260,7 +257,8 @@ DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_CLIEN free(packet); } -DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_MASTER_RESPONSE_LIST) { +DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_MASTER_RESPONSE_LIST) +{ int i; struct in_addr ip; uint16 port; @@ -286,13 +284,15 @@ DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_MASTE } } -DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_MASTER_ACK_REGISTER) { +DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_MASTER_ACK_REGISTER) +{ _network_advertise_retries = 0; DEBUG(net, 2)("[NET][UDP] We are advertised on the master-server!"); - if (!_network_advertise) + if (!_network_advertise) { /* We are advertised, but we don't want to! */ NetworkUDPRemoveAdvertise(); + } } @@ -440,8 +440,7 @@ void NetworkUDPReceive(SOCKET udp) int packet_len; // If p is NULL, malloc him.. this prevents unneeded mallocs - if (p == NULL) - p = malloc(sizeof(Packet)); + if (p == NULL) p = malloc(sizeof(*p)); packet_len = sizeof(p->buffer); client_len = sizeof(client_addr); @@ -470,15 +469,12 @@ void NetworkUDPReceive(SOCKET udp) // Broadcast to all ips static void NetworkUDPBroadCast(SOCKET udp) { - int i; - struct sockaddr_in out_addr; - Packet *p; + Packet* p = NetworkSend_Init(PACKET_UDP_CLIENT_FIND_SERVER); + uint i; - // Init the packet - p = NetworkSend_Init(PACKET_UDP_CLIENT_FIND_SERVER); + for (i = 0; _broadcast_list[i] != 0; i++) { + struct sockaddr_in out_addr; - i = 0; - while (_broadcast_list[i] != 0) { out_addr.sin_family = AF_INET; out_addr.sin_port = htons(_network_server_port); out_addr.sin_addr.s_addr = _broadcast_list[i]; @@ -486,8 +482,6 @@ static void NetworkUDPBroadCast(SOCKET u DEBUG(net, 6)("[NET][UDP] Broadcasting to %s", inet_ntoa(out_addr.sin_addr)); NetworkSendUDP_Packet(udp, p, &out_addr); - - i++; } free(p); diff --git a/newgrf.c b/newgrf.c --- a/newgrf.c +++ b/newgrf.c @@ -2467,17 +2467,19 @@ static void ParamSet(byte *buf, int len) break; case 0x05: - if ((int32)src2 < 0) + if ((int32)src2 < 0) { res = src1 >> -(int32)src2; - else + } else { res = src1 << src2; + } break; case 0x06: - if ((int32)src2 < 0) + if ((int32)src2 < 0) { res = (int32)src1 >> -(int32)src2; - else + } else { res = (int32)src1 << src2; + } break; case 0x07: /* Bitwise AND */ diff --git a/npf.c b/npf.c --- a/npf.c +++ b/npf.c @@ -213,9 +213,7 @@ static uint NPFSlopeCost(AyStarNode* cur */ static void NPFMarkTile(TileIndex tile) { -#ifdef NO_DEBUG_MESSAGES - return; -#else +#ifndef NO_DEBUG_MESSAGES if (_debug_npf_level < 1 || _networking) return; switch (GetTileType(tile)) { case MP_RAILWAY: @@ -806,14 +804,12 @@ NPFFoundTargetData NPFRouteToDepotTrialE _npf_aystar.EndNodeCheck = NPFFindStationOrTile; _npf_aystar.FoundEndNode = NPFSaveTargetData; _npf_aystar.GetNeighbours = NPFFollowTrack; - if (type == TRANSPORT_RAIL) - _npf_aystar.CalculateG = NPFRailPathCost; - else if (type == TRANSPORT_ROAD) - _npf_aystar.CalculateG = NPFRoadPathCost; - else if (type == TRANSPORT_WATER) - _npf_aystar.CalculateG = NPFWaterPathCost; - else - assert(0); + switch (type) { + default: NOT_REACHED(); + case TRANSPORT_RAIL: _npf_aystar.CalculateG = NPFRailPathCost; break; + case TRANSPORT_ROAD: _npf_aystar.CalculateG = NPFRoadPathCost; break; + case TRANSPORT_WATER: _npf_aystar.CalculateG = NPFWaterPathCost; break; + } /* Initialize target */ target.station_index = INVALID_STATION; /* We will initialize dest_coords inside the loop below */ diff --git a/openttd.c b/openttd.c --- a/openttd.c +++ b/openttd.c @@ -148,9 +148,9 @@ static void showhelp(void) " -G seed = Set random seed\n" " -n [ip#player:port] = Start networkgame\n" " -D = Start dedicated server\n" - #if !defined(__MORPHOS__) && !defined(__AMIGA__) && !defined(WIN32) +#if !defined(__MORPHOS__) && !defined(__AMIGA__) && !defined(WIN32) " -f = Fork into the background (dedicated only)\n" - #endif +#endif " -i = Force to use the DOS palette\n" " (use this if you see a lot of pink)\n" " -c config_file = Use 'config_file' instead of 'openttd.cfg'\n" @@ -335,11 +335,11 @@ int ttd_main(int argc, char* argv[]) // a letter means: it accepts that param (e.g.: -h) // a ':' behind it means: it need a param (e.g.: -m) // a '::' behind it means: it can optional have a param (e.g.: -d) - #if !defined(__MORPHOS__) && !defined(__AMIGA__) && !defined(WIN32) - optformat = "bm:s:v:hDfn::eit:d::r:g::G:c:"; - #else - optformat = "bm:s:v:hDn::eit:d::r:g::G:c:"; // no fork option - #endif + optformat = "bm:s:v:hDn::eit:d::r:g::G:c:" +#if !defined(__MORPHOS__) && !defined(__AMIGA__) && !defined(WIN32) + "f" +#endif + ; MyGetOptInit(&mgo, argc-1, argv+1, optformat); while ((i = MyGetOpt(&mgo)) != -1) { @@ -373,8 +373,9 @@ int ttd_main(int argc, char* argv[]) if (mgo.opt != NULL) { strcpy(_file_to_saveload.name, mgo.opt); _switch_mode = SM_LOAD; - } else + } else { _switch_mode = SM_NEWGAME; + } break; case 'G': _random_seeds[0][0] = atoi(mgo.opt); break; case 'c': _config_file = strdup(mgo.opt); break; @@ -1298,7 +1299,7 @@ bool AfterLoadGame(void) break; case MP_STATION: - if (IsRailwayStation(t)) { + if (IsRailwayStation(t)) { SetRailType(t, UpdateRailType(GetRailType(t), min_rail)); } break; @@ -1339,9 +1340,7 @@ bool AfterLoadGame(void) * replaced, shall keep their old length. In all prior versions, just default * to false */ if (CheckSavegameVersionOldStyle(16, 1)) { - FOR_ALL_PLAYERS(p) { - p->renew_keep_length = false; - } + FOR_ALL_PLAYERS(p) p->renew_keep_length = false; } /* In version 17, ground type is moved from m2 to m4 for depots and @@ -1396,10 +1395,11 @@ bool AfterLoadGame(void) } // Clear PBS reservation on track - if (!IsTileDepotType(tile, TRANSPORT_RAIL)) + if (!IsTileDepotType(tile, TRANSPORT_RAIL)) { SB(_m[tile].m4, 4, 4, 0); - else + } else { CLRBIT(_m[tile].m3, 6); + } } // Clear PBS reservation on crossing diff --git a/order.h b/order.h --- a/order.h +++ b/order.h @@ -49,9 +49,9 @@ enum OrderFlagMasks { }; /** Order flags bits - these are for the *BIT macros - * for descrption of flags, see OrderFlagMasks - * @see OrderFlagMasks - */ + * for descrption of flags, see OrderFlagMasks + * @see OrderFlagMasks + */ enum { OFB_TRANSFER = 0, OFB_UNLOAD = 1, @@ -72,9 +72,10 @@ enum { /* If you change this, keep in mind that it is saved on 3 places: - - Load_ORDR, all the global orders - - Vehicle -> current_order - - REF_SHEDULE (all REFs are currently limited to 16 bits!!) */ + * - Load_ORDR, all the global orders + * - Vehicle -> current_order + * - REF_SHEDULE (all REFs are currently limited to 16 bits!!) + */ typedef struct Order { uint8 type; uint8 flags; diff --git a/order_cmd.c b/order_cmd.c --- a/order_cmd.c +++ b/order_cmd.c @@ -568,9 +568,10 @@ int32 CmdModifyOrder(TileIndex tile, uin order = GetVehicleOrder(v, sel_ord); if (order->type != OT_GOTO_STATION && - (order->type != OT_GOTO_DEPOT || p2 == OFB_UNLOAD) && - (order->type != OT_GOTO_WAYPOINT || p2 != OFB_NON_STOP)) + (order->type != OT_GOTO_DEPOT || p2 == OFB_UNLOAD) && + (order->type != OT_GOTO_WAYPOINT || p2 != OFB_NON_STOP)) { return CMD_ERROR; + } if (flags & DC_EXEC) { switch (p2) { @@ -902,11 +903,15 @@ void CheckOrders(const Vehicle* v) } /* Check if the last and the first order are the same */ - if (v->num_orders > 1 && - v->orders->type == GetLastVehicleOrder(v)->type && - v->orders->flags == GetLastVehicleOrder(v)->flags && - v->orders->station == GetLastVehicleOrder(v)->station) - problem_type = 2; + if (v->num_orders > 1) { + const Order* last = GetLastVehicleOrder(v); + + if (v->orders->type == last->type && + v->orders->flags == last->flags && + v->orders->station == last->station) { + problem_type = 2; + } + } /* Do we only have 1 station in our order list? */ if (n_st < 2 && problem_type == -1) problem_type = 0; diff --git a/order_gui.c b/order_gui.c --- a/order_gui.c +++ b/order_gui.c @@ -398,31 +398,24 @@ static void OrdersWndProc(Window *w, Win Vehicle *v = GetVehicle(w->window_number); switch (e->click.widget) { case 2: { /* orders list */ - int sel; - sel = (e->click.pt.y - 15) / 10; + int sel = (e->click.pt.y - 15) / 10; - if ((uint)sel >= w->vscroll.cap) - return; + if ((uint)sel >= w->vscroll.cap) return; sel += w->vscroll.pos; if (_ctrl_pressed && sel < v->num_orders) { const Order *ord = GetVehicleOrder(v, sel); - int xy = 0; + TileIndex xy; + switch (ord->type) { - case OT_GOTO_STATION: /* station order */ - xy = GetStation(ord->station)->xy ; - break; - case OT_GOTO_DEPOT: /* goto depot order */ - xy = GetDepot(ord->station)->xy; - break; - case OT_GOTO_WAYPOINT: /* goto waypoint order */ - xy = GetWaypoint(ord->station)->xy; + case OT_GOTO_STATION: xy = GetStation(ord->station)->xy ; break; + case OT_GOTO_DEPOT: xy = GetDepot(ord->station)->xy; break; + case OT_GOTO_WAYPOINT: xy = GetWaypoint(ord->station)->xy; break; + default: xy = 0; break; } - if (xy) - ScrollMainWindowToTile(xy); - + if (xy != 0) ScrollMainWindowToTile(xy); return; } @@ -518,7 +511,6 @@ static void OrdersWndProc(Window *w, Win w->vscroll.cap = (w->widget[2].bottom - w->widget[2].top) / 10; break; } - } static const Widget _orders_train_widgets[] = { diff --git a/os2.c b/os2.c --- a/os2.c +++ b/os2.c @@ -64,10 +64,11 @@ int compare_FiosItems(const void *a, con static void append_path(char *out, const char *path, const char *file) { - if (path[2] == '\\' && path[3] == '\0') + if (path[2] == '\\' && path[3] == '\0') { sprintf(out, "%s%s", path, file); - else + } else { sprintf(out, "%s\\%s", path, file); + } } // Get a list of savegames @@ -347,10 +348,11 @@ char *FiosBrowseTo(const FiosItem *item) case FIOS_TYPE_PARENT: s = strrchr(path, '\\'); - if (s != path + 2) + if (s != path + 2) { s[0] = '\0'; - else + } else { s[1] = '\0'; + } break; case FIOS_TYPE_DIR: @@ -406,10 +408,7 @@ void FiosMakeSavegameName(char *buf, con const char* extension; const char* period; - if (_game_mode == GM_EDITOR) - extension = ".scn"; - else - extension = ".sav"; + extension = (_game_mode == GM_EDITOR ? ".scn" : ".sav"); // Don't append the extension, if it is already there period = strrchr(name, '.'); diff --git a/player.h b/player.h --- a/player.h +++ b/player.h @@ -238,12 +238,11 @@ static inline bool HasRailtypeAvail(cons static inline bool ValParamRailtype(uint32 rail) { return HASBIT(GetPlayer(_current_player)->avail_railtypes, rail);} /** Returns the "best" railtype a player can build. - * As the AI doesn't know what the BEST one is, we - * have our own priority list here. When adding - * new railtypes, modify this function - * @param p the player "in action" - * @return The "best" railtype a player has available - */ + * As the AI doesn't know what the BEST one is, we have our own priority list + * here. When adding new railtypes, modify this function + * @param p the player "in action" + * @return The "best" railtype a player has available + */ static inline RailType GetBestRailtype(const Player* p) { if (HasRailtypeAvail(p, RAILTYPE_MAGLEV)) return RAILTYPE_MAGLEV; diff --git a/player_gui.c b/player_gui.c --- a/player_gui.c +++ b/player_gui.c @@ -79,9 +79,9 @@ static void DrawPlayerEconomyStats(const // draw max loan aligned to loan below (y += 10) SetDParam64(0, (uint64)_economy.max_loan); DrawString(202, y+10, STR_MAX_LOAN, 0); - - } else + } else { y = 15; + } DrawString(2, y, STR_7026_BANK_BALANCE, 0); SetDParam64(0, p->money64); @@ -524,8 +524,9 @@ static void PlayerCompanyWndProc(Window /* Spectators cannot do anything of course */ if (_local_player == OWNER_SPECTATOR) dis |= (1 << 9) | (1 << 10); - } else /* shares are not allowed, disable buy/sell buttons */ + } else { /* shares are not allowed, disable buy/sell buttons */ dis |= (1 << 9) | (1 << 10); + } } SetDParam(0, p->name_1); diff --git a/players.c b/players.c --- a/players.c +++ b/players.c @@ -220,10 +220,11 @@ static void SubtractMoneyFromAnyPlayer(P p->yearly_expenses[0][_yearly_expenses_type] += cost; - if ( ( 1 << _yearly_expenses_type ) & (1<<7|1<<8|1<<9|1<<10)) + if (HASBIT(1<<7|1<<8|1<<9|1<<10, _yearly_expenses_type)) { p->cur_economy.income -= cost; - else if (( 1 << _yearly_expenses_type ) & (1<<2|1<<3|1<<4|1<<5|1<<6|1<<11)) + } else if (HASBIT(1<<2|1<<3|1<<4|1<<5|1<<6|1<<11, _yearly_expenses_type)) { p->cur_economy.expenses -= cost; + } InvalidatePlayerWindows(p); } @@ -231,31 +232,31 @@ static void SubtractMoneyFromAnyPlayer(P void SubtractMoneyFromPlayer(int32 cost) { PlayerID pid = _current_player; - if (pid < MAX_PLAYERS) - SubtractMoneyFromAnyPlayer(GetPlayer(pid), cost); + + if (pid < MAX_PLAYERS) SubtractMoneyFromAnyPlayer(GetPlayer(pid), cost); } void SubtractMoneyFromPlayerFract(PlayerID player, int32 cost) { Player *p = GetPlayer(player); byte m = p->player_money_fraction; + p->player_money_fraction = m - (byte)cost; cost >>= 8; - if (p->player_money_fraction > m) - cost++; - if (cost != 0) - SubtractMoneyFromAnyPlayer(p, cost); + if (p->player_money_fraction > m) cost++; + if (cost != 0) SubtractMoneyFromAnyPlayer(p, cost); } // the player_money field is kept as it is, but money64 contains the actual amount of money. void UpdatePlayerMoney32(Player *p) { - if (p->money64 < -2000000000) + if (p->money64 < -2000000000) { p->player_money = -2000000000; - else if (p->money64 > 2000000000) + } else if (p->money64 > 2000000000) { p->player_money = 2000000000; - else + } else { p->player_money = (int32)p->money64; + } } void GetNameOfOwner(PlayerID owner, TileIndex tile) @@ -263,15 +264,17 @@ void GetNameOfOwner(PlayerID owner, Tile SetDParam(2, owner); if (owner != OWNER_TOWN) { - if (owner >= 8) + if (owner >= MAX_PLAYERS) { SetDParam(0, STR_0150_SOMEONE); - else { + } else { const Player* p = GetPlayer(owner); + SetDParam(0, p->name_1); SetDParam(1, p->name_2); } } else { - Town *t = ClosestTownFromTile(tile, (uint)-1); + const Town* t = ClosestTownFromTile(tile, (uint)-1); + SetDParam(0, STR_TOWN); SetDParam(1, t->index); } @@ -282,8 +285,7 @@ bool CheckOwnership(PlayerID owner) { assert(owner <= OWNER_WATER); - if (owner == _current_player) - return true; + if (owner == _current_player) return true; _error_message = STR_013B_OWNED_BY; GetNameOfOwner(owner, 0); return false; @@ -295,8 +297,7 @@ bool CheckTileOwnership(TileIndex tile) assert(owner <= OWNER_WATER); - if (owner == _current_player) - return true; + if (owner == _current_player) return true; _error_message = STR_013B_OWNED_BY; // no need to get the name of the owner unless we're the local player (saves some time) @@ -313,12 +314,10 @@ static void GenerateCompanyName(Player * uint32 strp; char buffer[100]; - if (p->name_1 != STR_SV_UNNAMED) - return; + if (p->name_1 != STR_SV_UNNAMED) return; tile = p->last_build_coordinate; - if (tile == 0) - return; + if (tile == 0) return; t = ClosestTownFromTile(tile, (uint)-1); @@ -329,8 +328,7 @@ static void GenerateCompanyName(Player * verify_name:; // No player must have this name already FOR_ALL_PLAYERS(pp) { - if (pp->name_1 == str && pp->name_2 == strp) - goto bad_town_name; + if (pp->name_1 == str && pp->name_2 == strp) goto bad_town_name; } GetString(buffer, str); @@ -423,11 +421,8 @@ static byte GeneratePlayerColor(void) } // Return the first available color - i = 0; - for (;;) { - if (colors[i] != 0xFF) - return colors[i]; - i++; + for (i = 0;; i++) { + if (colors[i] != 0xFF) return colors[i]; } } @@ -851,8 +846,9 @@ int32 CmdPlayerCtrl(TileIndex tile, uint } #ifdef ENABLE_NETWORK if (_network_server) { - /* XXX - UGLY! p2 (pid) is mis-used to fetch the client-id, done at server-side - * in network_server.c:838, function DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMMAND) */ + /* XXX - UGLY! p2 (pid) is mis-used to fetch the client-id, done at + * server-side in network_server.c:838, function + * DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMMAND) */ NetworkClientInfo *ci = &_network_client_info[pid]; ci->client_playas = p->index + 1; NetworkUpdateClientInfo(ci->client_index); @@ -878,16 +874,16 @@ int32 CmdPlayerCtrl(TileIndex tile, uint _local_player = player_backup; } } - } else if (_network_server) { // Creating player failed, defer client to spectator - /* XXX - UGLY! p2 (pid) is mis-used to fetch the client-id, done at server-side - * in network_server.c:838, function DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMMAND) */ + } else if (_network_server) { + // Creating player failed, defer client to spectator + /* XXX - UGLY! p2 (pid) is mis-used to fetch the client-id, done at + * server-side in network_server.c:838, function + * DEF_SERVER_RECEIVE_COMMAND(PACKET_CLIENT_COMMAND) */ NetworkClientInfo *ci = &_network_client_info[pid]; ci->client_playas = OWNER_SPECTATOR; NetworkUpdateClientInfo(ci->client_index); +#endif /* ENABLE_NETWORK */ } -#else - } -#endif /* ENABLE_NETWORK */ } break; case 1: /* Make a new AI player */ @@ -941,7 +937,7 @@ int32 CmdPlayerCtrl(TileIndex tile, uint return 0; } -static const StringID _endgame_perf_titles[16] = { +static const StringID _endgame_perf_titles[] = { STR_0213_BUSINESSMAN, STR_0213_BUSINESSMAN, STR_0213_BUSINESSMAN, @@ -957,13 +953,12 @@ static const StringID _endgame_perf_titl STR_0217_MAGNATE, STR_0218_MOGUL, STR_0218_MOGUL, - STR_0219_TYCOON_OF_THE_CENTURY, + STR_0219_TYCOON_OF_THE_CENTURY }; StringID EndGameGetPerformanceTitleFromValue(uint value) { - value = minu(value, 1000) >> 6; - if (value >= lengthof(_endgame_perf_titles)) value = lengthof(_endgame_perf_titles) - 1; + value = minu(value / 64, lengthof(_endgame_perf_titles) - 1); return _endgame_perf_titles[value]; } @@ -971,12 +966,11 @@ StringID EndGameGetPerformanceTitleFromV /* Return true if any cheat has been used, false otherwise */ static bool CheatHasBeenUsed(void) { - const Cheat* cht = (Cheat*) &_cheats; + const Cheat* cht = (Cheat*)&_cheats; const Cheat* cht_last = &cht[sizeof(_cheats) / sizeof(Cheat)]; for (; cht != cht_last; cht++) { - if (cht->been_used) - return true; + if (cht->been_used) return true; } return false; @@ -1109,7 +1103,7 @@ void LoadFromHighScore(void) } /* Initialize end of game variable (when to show highscore chart) */ - _patches.ending_date = 2051; + _patches.ending_date = 2051; } // Save/load of players diff --git a/rail.h b/rail.h --- a/rail.h +++ b/rail.h @@ -164,8 +164,8 @@ typedef struct RailtypeInfo { SpriteID total_offset; /** - * Bridge offset - */ + * Bridge offset + */ SpriteID bridge_offset; /** @@ -263,20 +263,28 @@ static inline Trackdir TrackToTrackdir(T * Returns a TrackdirBit mask that contains the two TrackdirBits that * correspond with the given Track (one for each direction). */ -static inline TrackdirBits TrackToTrackdirBits(Track track) { Trackdir td = TrackToTrackdir(track); return (TrackdirBits)(TrackdirToTrackdirBits(td) | TrackdirToTrackdirBits(ReverseTrackdir(td)));} +static inline TrackdirBits TrackToTrackdirBits(Track track) +{ + Trackdir td = TrackToTrackdir(track); + return (TrackdirBits)(TrackdirToTrackdirBits(td) | TrackdirToTrackdirBits(ReverseTrackdir(td))); +} /** * Discards all directional information from the given TrackdirBits. Any * Track which is present in either direction will be present in the result. */ -static inline TrackBits TrackdirBitsToTrackBits(TrackdirBits bits) { return (TrackBits)(bits | (bits >> 8)); } +static inline TrackBits TrackdirBitsToTrackBits(TrackdirBits bits) +{ + return (TrackBits)(bits | (bits >> 8)); +} /** * Maps a trackdir to the trackdir that you will end up on if you go straight * ahead. This will be the same trackdir for diagonal trackdirs, but a * different (alternating) one for straight trackdirs */ -static inline Trackdir NextTrackdir(Trackdir trackdir) { +static inline Trackdir NextTrackdir(Trackdir trackdir) +{ extern const Trackdir _next_trackdir[TRACKDIR_END]; return _next_trackdir[trackdir]; } @@ -284,7 +292,8 @@ static inline Trackdir NextTrackdir(Trac /** * Maps a track to all tracks that make 90 deg turns with it. */ -static inline TrackBits TrackCrossesTracks(Track track) { +static inline TrackBits TrackCrossesTracks(Track track) +{ extern const TrackBits _track_crosses_tracks[TRACK_END]; return _track_crosses_tracks[track]; } @@ -293,7 +302,8 @@ static inline TrackBits TrackCrossesTrac * Maps a trackdir to the (4-way) direction the tile is exited when following * that trackdir. */ -static inline DiagDirection TrackdirToExitdir(Trackdir trackdir) { +static inline DiagDirection TrackdirToExitdir(Trackdir trackdir) +{ extern const DiagDirection _trackdir_to_exitdir[TRACKDIR_END]; return _trackdir_to_exitdir[trackdir]; } @@ -302,7 +312,8 @@ static inline DiagDirection TrackdirToEx * Maps a track and an (4-way) dir to the trackdir that represents the track * with the exit in the given direction. */ -static inline Trackdir TrackExitdirToTrackdir(Track track, DiagDirection diagdir) { +static inline Trackdir TrackExitdirToTrackdir(Track track, DiagDirection diagdir) +{ extern const Trackdir _track_exitdir_to_trackdir[TRACK_END][DIAGDIR_END]; return _track_exitdir_to_trackdir[track][diagdir]; } @@ -311,7 +322,8 @@ static inline Trackdir TrackExitdirToTra * Maps a track and an (4-way) dir to the trackdir that represents the track * with the exit in the given direction. */ -static inline Trackdir TrackEnterdirToTrackdir(Track track, DiagDirection diagdir) { +static inline Trackdir TrackEnterdirToTrackdir(Track track, DiagDirection diagdir) +{ extern const Trackdir _track_enterdir_to_trackdir[TRACK_END][DIAGDIR_END]; return _track_enterdir_to_trackdir[track][diagdir]; } @@ -320,7 +332,8 @@ static inline Trackdir TrackEnterdirToTr * Maps a track and a full (8-way) direction to the trackdir that represents * the track running in the given direction. */ -static inline Trackdir TrackDirectionToTrackdir(Track track, Direction dir) { +static inline Trackdir TrackDirectionToTrackdir(Track track, Direction dir) +{ extern const Trackdir _track_direction_to_trackdir[TRACK_END][DIR_END]; return _track_direction_to_trackdir[track][dir]; } @@ -329,7 +342,8 @@ static inline Trackdir TrackDirectionToT * Maps a (4-way) direction to the diagonal trackdir that runs in that * direction. */ -static inline Trackdir DiagdirToDiagTrackdir(DiagDirection diagdir) { +static inline Trackdir DiagdirToDiagTrackdir(DiagDirection diagdir) +{ extern const Trackdir _dir_to_diag_trackdir[DIAGDIR_END]; return _dir_to_diag_trackdir[diagdir]; } @@ -411,11 +425,11 @@ static inline bool HasPowerOnRail(RailTy */ static inline bool TracksOverlap(TrackBits bits) { - /* With no, or only one track, there is no overlap */ - if (bits == 0 || KILL_FIRST_BIT(bits) == 0) return false; - /* We know that there are at least two tracks present. When there are more - * than 2 tracks, they will surely overlap. When there are two, they will - * always overlap unless they are lower & upper or right & left. */ + /* With no, or only one track, there is no overlap */ + if (bits == 0 || KILL_FIRST_BIT(bits) == 0) return false; + /* We know that there are at least two tracks present. When there are more + * than 2 tracks, they will surely overlap. When there are two, they will + * always overlap unless they are lower & upper or right & left. */ return bits != TRACK_BIT_HORZ && bits != TRACK_BIT_VERT; } diff --git a/rail_cmd.c b/rail_cmd.c --- a/rail_cmd.c +++ b/rail_cmd.c @@ -467,8 +467,9 @@ static int32 ValidateAutoDrag(Trackdir * SETBIT(*trackdir, 3); // reverse the direction trdx = -trdx; trdy = -trdy; - } else // other direction is invalid too, invalid drag + } else { // other direction is invalid too, invalid drag return CMD_ERROR; + } } // (for diagonal tracks, this is already made sure of by above test), but: @@ -517,8 +518,9 @@ static int32 CmdRailTrackHelper(TileInde if (CmdFailed(ret)) { if ((_error_message != STR_1007_ALREADY_BUILT) && (mode == 0)) break; _error_message = INVALID_STRING_ID; - } else + } else { total_cost += ret; + } if (tile == end_tile) break; @@ -644,13 +646,13 @@ int32 CmdBuildSingleSignal(TileIndex til _error_message = STR_1005_NO_SUITABLE_RAILROAD_TRACK; { - /* See if this is a valid track combination for signals, (ie, no overlap) */ - TrackBits trackbits = GetTrackBits(tile); + /* See if this is a valid track combination for signals, (ie, no overlap) */ + TrackBits trackbits = GetTrackBits(tile); if (KILL_FIRST_BIT(trackbits) != 0 && /* More than one track present */ trackbits != TRACK_BIT_HORZ && - trackbits != TRACK_BIT_VERT - ) + trackbits != TRACK_BIT_VERT) { return CMD_ERROR; + } } SET_EXPENSES_TYPE(EXPENSES_CONSTRUCTION); @@ -740,8 +742,7 @@ static int32 CmdSignalTrackHelper(TileIn /* for vertical/horizontal tracks, double the given signals density * since the original amount will be too dense (shorter tracks) */ - if (!IsDiagonalTrack(track)) - signal_density *= 2; + if (!IsDiagonalTrack(track)) signal_density *= 2; if (CmdFailed(ValidateAutoDrag(&trackdir, tile, end_tile))) return CMD_ERROR; @@ -754,8 +755,9 @@ static int32 CmdSignalTrackHelper(TileIn // copy signal/semaphores style (independent of CTRL) semaphores = (GetSignalVariant(tile) == SIG_ELECTRIC ? 0 : 8); - } else // no signals exist, drag a two-way signal stretch + } else { // no signals exist, drag a two-way signal stretch signals = SignalOnTrack(track); + } /* signal_ctr - amount of tiles already processed * signals_density - patch setting to put signal on every Nth tile (double space on |, -- tracks) @@ -768,7 +770,7 @@ static int32 CmdSignalTrackHelper(TileIn signal_ctr = total_cost = 0; for (;;) { // only build/remove signals with the specified density - if ((signal_ctr % signal_density) == 0 ) { + if (signal_ctr % signal_density == 0) { ret = DoCommand(tile, TrackdirToTrack(trackdir) | semaphores, signals, flags, (mode == 1) ? CMD_REMOVE_SIGNALS : CMD_BUILD_SIGNALS); /* Abort placement for any other error than NOT_SUITABLE_TRACK @@ -811,11 +813,12 @@ int32 CmdRemoveSingleSignal(TileIndex ti { Track track = (Track)(p1 & 0x7); - if (!ValParamTrackOrientation(track) || !IsTileType(tile, MP_RAILWAY) || !EnsureNoVehicle(tile)) + if (!ValParamTrackOrientation(track) || + !IsTileType(tile, MP_RAILWAY) || + !EnsureNoVehicle(tile) || + !HasSignalOnTrack(tile, track)) { return CMD_ERROR; - - if (!HasSignalOnTrack(tile, track)) // no signals on track? - return CMD_ERROR; + } /* Only water can remove signals from anyone */ if (_current_player != OWNER_WATER && !CheckTileOwnership(tile)) return CMD_ERROR; @@ -1238,8 +1241,7 @@ static void DrawTrackBits(TileInfo* ti, foundation = GetRailFoundation(ti->tileh, track); } - if (foundation != 0) - DrawFoundation(ti, foundation); + if (foundation != 0) DrawFoundation(ti, foundation); // DrawFoundation() modifies ti. // Default sloped sprites.. @@ -1317,7 +1319,6 @@ static void DrawTile_Track(TileInfo *ti) /* draw signals also? */ if (GetRailTileType(ti->tile) == RAIL_TILE_SIGNALS) DrawSignals(ti->tile, rails); - } else { /* draw depots / waypoints */ const DrawTrackSeqStruct *drss; @@ -1531,7 +1532,7 @@ static void *SignalVehicleCheckProc(Vehi if (tile != dest->tile) return NULL; /* Are we on the same piece of track? */ - if (dest->track & (v->u.rail.track + (v->u.rail.track << 8))) return v; + if (dest->track & v->u.rail.track * 0x101) return v; return NULL; } diff --git a/rail_gui.c b/rail_gui.c --- a/rail_gui.c +++ b/rail_gui.c @@ -147,9 +147,9 @@ void CcStation(bool success, TileIndex t static void PlaceRail_Station(TileIndex tile) { - if (_remove_button_clicked) + if (_remove_button_clicked) { DoCommandP(tile, 0, 0, CcPlaySound1E, CMD_REMOVE_FROM_RAILROAD_STATION | CMD_MSG(STR_CANT_REMOVE_PART_OF_STATION)); - else if (_railstation.dragdrop) { + } else if (_railstation.dragdrop) { VpStartPlaceSizing(tile, VPM_X_AND_Y_LIMITED); VpSetPlaceSizingLimit(_patches.station_spread); } else { @@ -470,8 +470,9 @@ static void BuildRailToolbWndProc(Window DoCommandP(end_tile, start_tile, _cur_railtype, CcPlaySound10, CMD_CONVERT_RAIL | CMD_MSG(STR_CANT_CONVERT_RAIL)); } else if (e->place.userdata == VPM_X_AND_Y_LIMITED) { HandleStationPlacement(start_tile, end_tile); - } else + } else { DoRailroadTrack(e->place.userdata & 1); + } } break; diff --git a/rail_map.h b/rail_map.h --- a/rail_map.h +++ b/rail_map.h @@ -272,7 +272,6 @@ RailType GetTileRailType(TileIndex tile, typedef enum RailGroundType { - RAIL_MAP2LO_GROUND_MASK = 0xF, RAIL_GROUND_BARREN = 0, RAIL_GROUND_GRASS = 1, RAIL_GROUND_FENCE_NW = 2, diff --git a/road_cmd.c b/road_cmd.c --- a/road_cmd.c +++ b/road_cmd.c @@ -254,7 +254,7 @@ static uint32 CheckRoadSlope(Slope tileh // foundation is used. Whole tile is leveled up if ((~_valid_tileh_slopes_road[1][tileh] & road_bits) == 0) { - return existing ? 0 : _price.terraform; + return existing != 0 ? 0 : _price.terraform; } // partly leveled up tile, only if there's no road on that tile @@ -802,7 +802,8 @@ static void DrawTile_Road(TileInfo *ti) if (image & PALETTE_MODIFIER_COLOR) image |= ormod; if (_display_opt & DO_TRANS_BUILDINGS) MAKE_TRANSPARENT(image); - AddSortableSpriteToDraw(image, ti->x | drss->subcoord_x, + AddSortableSpriteToDraw( + image, ti->x | drss->subcoord_x, ti->y | drss->subcoord_y, drss->width, drss->height, 0x14, ti->z ); } @@ -894,9 +895,6 @@ static const Roadside _town_road_types_2 static void TileLoop_Road(TileIndex tile) { - Town *t; - int grp; - switch (_opt.landscape) { case LT_HILLY: if (IsOnSnow(tile) != (GetTileZ(tile) > _opt.snow_line)) { @@ -916,15 +914,15 @@ static void TileLoop_Road(TileIndex tile if (GetRoadTileType(tile) == ROAD_TILE_DEPOT) return; if (!HasRoadWorks(tile)) { - t = ClosestTownFromTile(tile, (uint)-1); + const Town* t = ClosestTownFromTile(tile, (uint)-1); + int grp = 0; - grp = 0; if (t != NULL) { grp = GetTownRadiusGroup(t, tile); // Show an animation to indicate road work if (t->road_build_months != 0 && - !(DistanceManhattan(t->xy, tile) >= 8 && grp == 0) && + (DistanceManhattan(t->xy, tile) < 8 || grp != 0) && GetRoadTileType(tile) == ROAD_TILE_NORMAL && (GetRoadBits(tile) == ROAD_X || GetRoadBits(tile) == ROAD_Y)) { if (GetTileSlope(tile, NULL) == SLOPE_FLAT && EnsureNoVehicle(tile) && CHANCE16(1, 20)) { StartRoadWorks(tile); @@ -989,7 +987,7 @@ static uint32 GetTileTrackStatus_Road(Ti case TRANSPORT_ROAD: switch (GetRoadTileType(tile)) { case ROAD_TILE_NORMAL: - return HasRoadWorks(tile) ? 0 : _road_trackbits[GetRoadBits(tile)] * 0x101; + return HasRoadWorks(tile) ? 0 : _road_trackbits[GetRoadBits(tile)] * 0x101; case ROAD_TILE_CROSSING: { uint32 r = (GetCrossingRoadAxis(tile) == AXIS_X ? TRACK_BIT_X : TRACK_BIT_Y) * 0x101; @@ -1001,7 +999,6 @@ static uint32 GetTileTrackStatus_Road(Ti default: case ROAD_TILE_DEPOT: return (DiagDirToAxis(GetRoadDepotDirection(tile)) == AXIS_X ? TRACK_BIT_X : TRACK_BIT_Y) * 0x101; - break; } break; @@ -1048,11 +1045,11 @@ static uint32 VehicleEnter_Road(Vehicle break; case ROAD_TILE_DEPOT: - if (v->type == VEH_Road && v->u.road.frame == 11) { - if (_roadveh_enter_depot_unk0[GetRoadDepotDirection(tile)] == v->u.road.state) { - RoadVehEnterDepot(v); - return 4; - } + if (v->type == VEH_Road && + v->u.road.frame == 11 && + _roadveh_enter_depot_unk0[GetRoadDepotDirection(tile)] == v->u.road.state) { + RoadVehEnterDepot(v); + return 4; } break; diff --git a/road_gui.c b/road_gui.c --- a/road_gui.c +++ b/road_gui.c @@ -418,8 +418,9 @@ static void RoadStationPickerWndProc(Win if (_station_show_coverage) { int rad = _patches.modified_catchment ? CA_TRUCK /* = CA_BUS */ : 4; SetTileSelectBigSize(-rad, -rad, 2 * rad, 2 * rad); - } else + } else { SetTileSelectSize(1, 1); + } image = (w->window_class == WC_BUS_STATION) ? 0x47 : 0x43; diff --git a/roadveh_cmd.c b/roadveh_cmd.c --- a/roadveh_cmd.c +++ b/roadveh_cmd.c @@ -1625,7 +1625,6 @@ static void CheckIfRoadVehNeedsService(V void OnNewDay_RoadVeh(Vehicle *v) { int32 cost; - Station *st; if ((++v->day_counter & 7) == 0) DecreaseVehicleValue(v); if (v->u.road.blocked_ctr == 0) CheckVehicleBreakdown(v); @@ -1646,19 +1645,19 @@ void OnNewDay_RoadVeh(Vehicle *v) /* update destination */ if (v->current_order.type == OT_GOTO_STATION && v->u.road.slot == NULL && !(v->vehstatus & VS_CRASHED)) { - RoadStop *rs; - RoadStop *best = NULL; - - st = GetStation(v->current_order.station); - rs = GetPrimaryRoadStop(st, v->cargo_type == CT_PASSENGERS ? RS_BUS : RS_TRUCK); + Station* st = GetStation(v->current_order.station); + RoadStop* rs = GetPrimaryRoadStop(st, v->cargo_type == CT_PASSENGERS ? RS_BUS : RS_TRUCK); + RoadStop* best = NULL; if (rs != NULL) { if (DistanceManhattan(v->tile, st->xy) < 16) { uint dist, badness; uint minbadness = UINT_MAX; - DEBUG(ms, 2) ("Multistop: Attempting to obtain a slot for vehicle %d (index %d) at station %d (0x%X)", v->unitnumber, - v->index, st->index, st->xy); + DEBUG(ms, 2) ( + "Multistop: Attempting to obtain a slot for vehicle %d (index %d) at station %d (0x%X)", + v->unitnumber, v->index, st->index, st->xy + ); /* Now we find the nearest road stop that has a free slot */ for (; rs != NULL; rs = rs->next) { dist = RoadFindPathToStop(v, rs->xy); diff --git a/roadveh_gui.c b/roadveh_gui.c --- a/roadveh_gui.c +++ b/roadveh_gui.c @@ -109,7 +109,6 @@ static void RoadVehRefitWndProc(Window * WP(w,refit_d).sel = y / 10; SetWindowDirty(w); } - break; } @@ -163,8 +162,8 @@ static void RoadVehDetailsWndProc(Window StringID str; w->disabled_state = v->owner == _local_player ? 0 : (1 << 2); - if (!_patches.servint_roadveh) // disable service-scroller when interval is set to disabled - w->disabled_state |= (1 << 5) | (1 << 6); + // disable service-scroller when interval is set to disabled + if (!_patches.servint_roadveh) w->disabled_state |= (1 << 5) | (1 << 6); SetDParam(0, v->string_id); SetDParam(1, v->unitnumber); @@ -352,8 +351,9 @@ static void RoadVehViewWndProc(Window *w if (v->num_orders == 0) { str = STR_NO_ORDERS + _patches.vehicle_speed; SetDParam(0, v->cur_speed / 2); - } else + } else { str = STR_EMPTY; + } break; } } @@ -565,8 +565,7 @@ static void NewRoadVehWndProc(Window *w, break; case WE_RESIZE: { - if (e->sizing.diff.y == 0) - break; + if (e->sizing.diff.y == 0) break; w->vscroll.cap += e->sizing.diff.y / 14; w->widget[2].unkA = (w->vscroll.cap << 8) + 1; @@ -632,8 +631,7 @@ static void DrawRoadDepotWindow(Window * /* determine amount of items for scroller */ num = 0; FOR_ALL_VEHICLES(v) { - if (v->type == VEH_Road && IsRoadVehInDepot(v) && v->tile == tile) - num++; + if (v->type == VEH_Road && IsRoadVehInDepot(v) && v->tile == tile) num++; } SetVScrollCount(w, (num + w->hscroll.cap - 1) / w->hscroll.cap); @@ -675,12 +673,10 @@ static int GetVehicleFromRoadDepotWndPt( xt = x / 56; xm = x % 56; - if (xt >= w->hscroll.cap) - return 1; + if (xt >= w->hscroll.cap) return 1; row = (y - 14) / 14; - if (row >= w->vscroll.cap) - return 1; + if (row >= w->vscroll.cap) return 1; pos = (row + w->vscroll.pos) * w->hscroll.cap + xt; @@ -707,7 +703,10 @@ static void RoadDepotClickVeh(Window *w, if (mode > 0) return; // share / copy orders - if (_thd.place_mode && mode <= 0) { _place_clicked_vehicle = v; return; } + if (_thd.place_mode && mode <= 0) { + _place_clicked_vehicle = v; + return; + } switch (mode) { case 0: // start dragging of vehicle @@ -791,14 +790,14 @@ static void RoadDepotWndProc(Window *w, } } break; - case WE_PLACE_OBJ: { + case WE_PLACE_OBJ: ClonePlaceObj(w); - } break; + break; - case WE_ABORT_PLACE_OBJ: { + case WE_ABORT_PLACE_OBJ: CLRBIT(w->click_state, 8); InvalidateWidget(w, 8); - } break; + break; // check if a vehicle in a depot was clicked.. case WE_MOUSELOOP: { @@ -833,7 +832,7 @@ static void RoadDepotWndProc(Window *w, case 4: if (!HASBIT(w->disabled_state, 4) && - WP(w,traindepot_d).sel != INVALID_VEHICLE) { + WP(w,traindepot_d).sel != INVALID_VEHICLE) { Vehicle *v; HandleButtonClick(w, 4); @@ -848,22 +847,21 @@ static void RoadDepotWndProc(Window *w, _backup_orders_tile = 0; } break; + default: WP(w,traindepot_d).sel = INVALID_VEHICLE; SetWindowDirty(w); } break; - case WE_RESIZE: { + case WE_RESIZE: /* Update the scroll + matrix */ w->vscroll.cap += e->sizing.diff.y / 14; w->hscroll.cap += e->sizing.diff.x / 56; w->widget[5].unkA = (w->vscroll.cap << 8) + w->hscroll.cap; - - } break; + break; } - } static const Widget _road_depot_widgets[] = { @@ -893,10 +891,9 @@ static const WindowDesc _road_depot_desc void ShowRoadDepotWindow(TileIndex tile) { - Window *w; + Window* w = AllocateWindowDescFront(&_road_depot_desc, tile); - w = AllocateWindowDescFront(&_road_depot_desc, tile); - if (w) { + if (w != NULL) { w->caption_color = GetTileOwner(w->window_number); w->hscroll.cap = 5; w->vscroll.cap = 3; @@ -959,26 +956,24 @@ static void PlayerRoadVehWndProc(Window SetVScrollCount(w, vl->list_length); // disable 'Sort By' tooltip on Unsorted sorting criteria - if (vl->sort_type == SORT_BY_UNSORTED) - w->disabled_state |= (1 << 3); + if (vl->sort_type == SORT_BY_UNSORTED) w->disabled_state |= (1 << 3); /* draw the widgets */ - { - const Player *p = GetPlayer(owner); - if (station == INVALID_STATION) { - /* Company Name -- (###) Road vehicles */ - SetDParam(0, p->name_1); - SetDParam(1, p->name_2); - SetDParam(2, w->vscroll.count); - w->widget[1].unkA = STR_9001_ROAD_VEHICLES; - } else { - /* Station Name -- (###) Road vehicles */ - SetDParam(0, station); - SetDParam(1, w->vscroll.count); - w->widget[1].unkA = STR_SCHEDULED_ROAD_VEHICLES; - } - DrawWindowWidgets(w); + if (station == INVALID_STATION) { + const Player* p = GetPlayer(owner); + + /* Company Name -- (###) Road vehicles */ + SetDParam(0, p->name_1); + SetDParam(1, p->name_2); + SetDParam(2, w->vscroll.count); + w->widget[1].unkA = STR_9001_ROAD_VEHICLES; + } else { + /* Station Name -- (###) Road vehicles */ + SetDParam(0, station); + SetDParam(1, w->vscroll.count); + w->widget[1].unkA = STR_SCHEDULED_ROAD_VEHICLES; } + DrawWindowWidgets(w); /* draw sorting criteria string */ DrawString(85, 15, _vehicle_sort_listing[vl->sort_type], 0x10); /* draw arrow pointing up/down for ascending/descending sorting */ @@ -1029,22 +1024,19 @@ static void PlayerRoadVehWndProc(Window return; case 7: { /* Matrix to show vehicles */ uint32 id_v = (e->click.pt.y - PLY_WND_PRC__OFFSET_TOP_WIDGET) / PLY_WND_PRC__SIZE_OF_ROW_SMALL; + const Vehicle* v; if (id_v >= w->vscroll.cap) return; // click out of bounds id_v += w->vscroll.pos; - { - Vehicle *v; + if (id_v >= vl->list_length) return; // click out of list bound - if (id_v >= vl->list_length) return; // click out of list bound + v = GetVehicle(vl->sort_list[id_v].index); - v = GetVehicle(vl->sort_list[id_v].index); + assert(v->type == VEH_Road && v->owner == owner); - assert(v->type == VEH_Road && v->owner == owner); - - ShowRoadVehViewWindow(v); - } + ShowRoadVehViewWindow(v); } break; case 9: /* Build new Vehicle */ @@ -1053,9 +1045,7 @@ static void PlayerRoadVehWndProc(Window break; case 10: { - if (!IsWindowOfPrototype(w, _player_roadveh_widgets)) - break; - + if (!IsWindowOfPrototype(w, _player_roadveh_widgets)) break; ShowReplaceVehicleWindow(VEH_Road); break; } @@ -1070,8 +1060,7 @@ static void PlayerRoadVehWndProc(Window _sorting.roadveh.criteria = vl->sort_type; // enable 'Sort By' if a sorter criteria is chosen - if (vl->sort_type != SORT_BY_UNSORTED) - CLRBIT(w->disabled_state, 3); + if (vl->sort_type != SORT_BY_UNSORTED) CLRBIT(w->disabled_state, 3); } SetWindowDirty(w); break; diff --git a/saveload.c b/saveload.c --- a/saveload.c +++ b/saveload.c @@ -566,7 +566,7 @@ void SlArray(void *array, uint length, V * as a byte-type. So detect this, and adjust array size accordingly */ if (!_sl.save && _sl_version == 0) { if (conv == SLE_INT16 || conv == SLE_UINT16 || conv == SLE_STRINGID || - conv == SLE_INT32 || conv == SLE_UINT32) { + conv == SLE_INT32 || conv == SLE_UINT32) { length *= SlCalcConvFileLen(conv); conv = SLE_INT8; } @@ -1408,8 +1408,11 @@ static void* SaveFileToDisk(void *arg) _sl.excpt_uninit(); fprintf(stderr, "Save game failed: %s.", _sl.excpt_msg); - if (arg != NULL) OTTD_SendThreadMessage(MSG_OTTD_SAVETHREAD_ERROR); - else SaveFileError(); + if (arg != NULL) { + OTTD_SendThreadMessage(MSG_OTTD_SAVETHREAD_ERROR); + } else { + SaveFileError(); + } return NULL; } @@ -1633,8 +1636,7 @@ int GetSavegameType(char *file) if (fread(&hdr, sizeof(hdr), 1, f) != 1) { printf("Savegame is obsolete or invalid format.\n"); mode = SL_LOAD; // don't try to get filename, just show name as it is written - } - else { + } else { // see if we have any loader for this type. for (fmt = _saveload_formats; fmt != endof(_saveload_formats); fmt++) { if (fmt->tag == hdr) { diff --git a/settings.c b/settings.c --- a/settings.c +++ b/settings.c @@ -238,10 +238,11 @@ static IniFile *ini_load(const char *fil // it's a group? if (s[0] == '[') { - if (e[-1] != ']') + if (e[-1] != ']') { ShowInfoF("ini: invalid group name '%s'\n", buffer); - else + } else { e--; + } s++; // skip [ group = ini_group_alloc(ini, s, e - s); if (comment_size) { @@ -341,8 +342,9 @@ static bool ini_save(const char *filenam //*Don't give an equal sign to list items that don't have a parameter */ if (group->type == IGT_LIST && *item->value == '\0') { fprintf(f, "%s\n", item->name); - } else + } else { fprintf(f, "%s = %s\n", item->name, item->value); + } } } if (ini->comment) fputs(ini->comment, f); @@ -609,8 +611,12 @@ static void Write_ValidateSetting(void * { const SettingDescBase *sdb = &sd->desc; - if (sdb->cmd != SDT_BOOLX && sdb->cmd != SDT_NUMX && - sdb->cmd != SDT_ONEOFMANY && sdb->cmd != SDT_MANYOFMANY) return; + if (sdb->cmd != SDT_BOOLX && + sdb->cmd != SDT_NUMX && + sdb->cmd != SDT_ONEOFMANY && + sdb->cmd != SDT_MANYOFMANY) { + return; + } /* We cannot know the maximum value of a bitset variable, so just have faith */ if (sdb->cmd != SDT_MANYOFMANY) { @@ -1559,8 +1565,8 @@ void SetPatchValue(uint index, const Pat Write_ValidateSetting(var, sd, value); if (_game_mode != GM_MENU) { - void *var2 = ini_get_variable(&sd->save, &_patches_newgame); - Write_ValidateSetting(var2, sd, value); + void* var2 = ini_get_variable(&sd->save, &_patches_newgame); + Write_ValidateSetting(var2, sd, value); } } else { DoCommandP(0, index, value, NULL, CMD_CHANGE_PATCH_SETTING); diff --git a/ship_gui.c b/ship_gui.c --- a/ship_gui.c +++ b/ship_gui.c @@ -114,7 +114,7 @@ static void ShipRefitWndProc(Window *w, if (DoCommandP(v->tile, v->index, WP(w,refit_d).cargo, NULL, CMD_REFIT_SHIP | CMD_MSG(STR_9841_CAN_T_REFIT_SHIP))) DeleteWindow(w); } - break; + break; } break; } @@ -159,8 +159,8 @@ static void ShipDetailsWndProc(Window *w StringID str; w->disabled_state = v->owner == _local_player ? 0 : (1 << 2); - if (!_patches.servint_ships) // disable service-scroller when interval is set to disabled - w->disabled_state |= (1 << 5) | (1 << 6); + // disable service-scroller when interval is set to disabled + if (!_patches.servint_ships) w->disabled_state |= (1 << 5) | (1 << 6); SetDParam(0, v->string_id); SetDParam(1, v->unitnumber); @@ -448,7 +448,8 @@ static void ShowBuildShipWindow(TileInde } -static void ShipViewWndProc(Window *w, WindowEvent *e) { +static void ShipViewWndProc(Window* w, WindowEvent* e) +{ switch (e->event) { case WE_PAINT: { Vehicle *v = GetVehicle(w->window_number); @@ -460,8 +461,7 @@ static void ShipViewWndProc(Window *w, W disabled = 0; } - if (v->owner != _local_player) - disabled |= 1<<8 | 1<<7; + if (v->owner != _local_player) disabled |= 1<<8 | 1<<7; w->disabled_state = disabled; /* draw widgets & caption */ @@ -497,8 +497,9 @@ static void ShipViewWndProc(Window *w, W if (v->num_orders == 0) { str = STR_NO_ORDERS + _patches.vehicle_speed; SetDParam(0, v->cur_speed / 2); - } else + } else { str = STR_EMPTY; + } break; } } @@ -616,8 +617,7 @@ static void DrawShipDepotWindow(Window * /* determine amount of items for scroller */ num = 0; FOR_ALL_VEHICLES(v) { - if (v->type == VEH_Ship && IsShipInDepot(v) && v->tile == tile) - num++; + if (v->type == VEH_Ship && IsShipInDepot(v) && v->tile == tile) num++; } SetVScrollCount(w, (num + w->hscroll.cap - 1) / w->hscroll.cap); @@ -659,13 +659,11 @@ static int GetVehicleFromShipDepotWndPt( xt = x / 90; xm = x % 90; - if (xt >= w->hscroll.cap) - return 1; + if (xt >= w->hscroll.cap) return 1; row = (y - 14) / 24; ym = (y - 14) % 24; - if (row >= w->vscroll.cap) - return 1; + if (row >= w->vscroll.cap) return 1; pos = (row + w->vscroll.pos) * w->hscroll.cap + xt; @@ -681,7 +679,6 @@ static int GetVehicleFromShipDepotWndPt( } return 1; /* outside */ - } static void ShipDepotClick(Window *w, int x, int y) @@ -690,7 +687,10 @@ static void ShipDepotClick(Window *w, in int mode = GetVehicleFromShipDepotWndPt(w, x, y, &v); // share / copy orders - if (_thd.place_mode && mode <= 0) { _place_clicked_vehicle = v; return; } + if (_thd.place_mode && mode <= 0) { + _place_clicked_vehicle = v; + return; + } switch (mode) { case 1: // invalid @@ -1035,22 +1035,19 @@ static void PlayerShipsWndProc(Window *w return; case 7: { /* Matrix to show vehicles */ uint32 id_v = (e->click.pt.y - PLY_WND_PRC__OFFSET_TOP_WIDGET) / PLY_WND_PRC__SIZE_OF_ROW_BIG; + const Vehicle* v; if (id_v >= w->vscroll.cap) return; // click out of bounds id_v += w->vscroll.pos; - { - Vehicle *v; + if (id_v >= vl->list_length) return; // click out of list bound - if (id_v >= vl->list_length) return; // click out of list bound + v = GetVehicle(vl->sort_list[id_v].index); - v = GetVehicle(vl->sort_list[id_v].index); + assert(v->type == VEH_Ship); - assert(v->type == VEH_Ship); - - ShowShipViewWindow(v); - } + ShowShipViewWindow(v); } break; case 9: /* Build new Vehicle */ @@ -1075,8 +1072,7 @@ static void PlayerShipsWndProc(Window *w _sorting.ship.criteria = vl->sort_type; // enable 'Sort By' if a sorter criteria is chosen - if (vl->sort_type != SORT_BY_UNSORTED) - CLRBIT(w->disabled_state, 3); + if (vl->sort_type != SORT_BY_UNSORTED) CLRBIT(w->disabled_state, 3); } SetWindowDirty(w); break; diff --git a/sound/cocoa_s.c b/sound/cocoa_s.c --- a/sound/cocoa_s.c +++ b/sound/cocoa_s.c @@ -83,29 +83,35 @@ static const char *CocoaSoundStart(const desc.componentFlagsMask = 0; comp = FindNextComponent (NULL, &desc); - if (comp == NULL) + if (comp == NULL) { return "cocoa_s: Failed to start CoreAudio: FindNextComponent returned NULL"; + } /* Open & initialize the default output audio unit */ - if (OpenAComponent(comp, &_outputAudioUnit) != noErr) + if (OpenAComponent(comp, &_outputAudioUnit) != noErr) { return "cocoa_s: Failed to start CoreAudio: OpenAComponent"; + } - if (AudioUnitInitialize(_outputAudioUnit) != noErr) + if (AudioUnitInitialize(_outputAudioUnit) != noErr) { return "cocoa_s: Failed to start CoreAudio: AudioUnitInitialize"; + } /* Set the input format of the audio unit. */ - if (AudioUnitSetProperty(_outputAudioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &requestedDesc, sizeof(requestedDesc)) != noErr) + if (AudioUnitSetProperty(_outputAudioUnit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &requestedDesc, sizeof(requestedDesc)) != noErr) { return "cocoa_s: Failed to start CoreAudio: AudioUnitSetProperty (kAudioUnitProperty_StreamFormat)"; + } /* Set the audio callback */ callback.inputProc = audioCallback; callback.inputProcRefCon = NULL; - if (AudioUnitSetProperty(_outputAudioUnit, kAudioUnitProperty_SetInputCallback, kAudioUnitScope_Input, 0, &callback, sizeof(callback)) != noErr) + if (AudioUnitSetProperty(_outputAudioUnit, kAudioUnitProperty_SetInputCallback, kAudioUnitScope_Input, 0, &callback, sizeof(callback)) != noErr) { return "cocoa_s: Failed to start CoreAudio: AudioUnitSetProperty (kAudioUnitProperty_SetInputCallback)"; + } /* Finally, start processing of the audio unit */ - if (AudioOutputUnitStart(_outputAudioUnit) != noErr) + if (AudioOutputUnitStart(_outputAudioUnit) != noErr) { return "cocoa_s: Failed to start CoreAudio: AudioOutputUnitStart"; + } /* We're running! */ return NULL; @@ -119,7 +125,7 @@ static void CocoaSoundStop(void) DEBUG(driver, 1)("cocoa_s: CocoaSoundStop"); /* stop processing the audio unit */ - if(AudioOutputUnitStop(_outputAudioUnit) != noErr) { + if (AudioOutputUnitStop(_outputAudioUnit) != noErr) { DEBUG(driver, 1)("cocoa_s: Core_CloseAudio: AudioOutputUnitStop failed"); return; } diff --git a/station_cmd.c b/station_cmd.c --- a/station_cmd.c +++ b/station_cmd.c @@ -1600,17 +1600,17 @@ static const byte _airport_sections_inte // Intercontinental Airport (vlarge) - 4 runways static const byte _airport_sections_intercontinental[] = { - 102, 120, 89, 89, 89, 89, 89, 89, 118, - 120, 22, 22, 22, 22, 22, 22, 119, 117, - 87, 54, 87, 8, 8, 8, 8, 51, 117, - 87, 162, 87, 85, 116, 116, 8, 9, 10, + 102, 120, 89, 89, 89, 89, 89, 89, 118, + 120, 22, 22, 22, 22, 22, 22, 119, 117, + 87, 54, 87, 8, 8, 8, 8, 51, 117, + 87, 162, 87, 85, 116, 116, 8, 9, 10, 87, 8, 8, 11, 31, 11, 8, 160, 32, 32, 160, 8, 11, 27, 11, 8, 8, 10, 87, 8, 8, 11, 30, 11, 8, 8, 10, 87, 142, 8, 11, 29, 11, 10, 163, 10, 87, 164, 87, 8, 8, 8, 10, 37, 117, - 87, 120, 89, 89, 89, 89, 89, 89, 119, - 121, 22, 22, 22, 22, 22, 22, 119, 37 + 87, 120, 89, 89, 89, 89, 89, 89, 119, + 121, 22, 22, 22, 22, 22, 22, 119, 37 }; @@ -2204,23 +2204,20 @@ static uint32 GetTileTrackStatus_Station { switch (mode) { case TRANSPORT_RAIL: - if (IsRailwayStation(tile)) { - if (IsStationTileBlocked(tile)) return 0; - + if (IsRailwayStation(tile) && !IsStationTileBlocked(tile)) { return TrackToTrackBits(GetRailStationTrack(tile)) * 0x101; } break; case TRANSPORT_WATER: // buoy is coded as a station, it is always on open water - // (0x3F, all tracks available) - if (IsBuoy_(tile)) return 0x3F * 0x101; + if (IsBuoy_(tile)) return TRACK_BIT_ALL * 0x101; break; case TRANSPORT_ROAD: - if (IsRoadStopTile(tile)) + if (IsRoadStopTile(tile)) { return (DiagDirToAxis(GetRoadStopDir(tile)) == AXIS_X ? TRACK_BIT_X : TRACK_BIT_Y) * 0x101; - + } break; default: @@ -2549,10 +2546,11 @@ static void UpdateStationRating(Station index = st->index; - if (waiting_changed) + if (waiting_changed) { InvalidateWindow(WC_STATION_VIEW, index); - else + } else { InvalidateWindowWidget(WC_STATION_VIEW, index, 5); + } } /* called for every station each tick */ diff --git a/strgen/strgen.c b/strgen/strgen.c --- a/strgen/strgen.c +++ b/strgen/strgen.c @@ -890,7 +890,7 @@ static uint32 MyHashStr(uint32 hash, con { for (; *s != '\0'; s++) { hash = ROL(hash, 3) ^ *s; - if (hash & 1) hash = (hash >> 1) ^ 0xDEADBEEF; else hash >>= 1; + hash = (hash & 1 ? hash >> 1 ^ 0xDEADBEEF : hash >> 1); } return hash; } @@ -914,7 +914,7 @@ static void MakeHashOfStrings(void) s = ls->name; hash ^= i * 0x717239; - if (hash & 1) hash = (hash >> 1) ^ 0xDEADBEEF; else hash >>= 1; + hash = (hash & 1 ? hash >> 1 ^ 0xDEADBEEF : hash >> 1); hash = MyHashStr(hash, s + 1); s = ls->english; @@ -922,7 +922,7 @@ static void MakeHashOfStrings(void) if (cs->flags & C_DONTCOUNT) continue; hash ^= (cs - _cmd_structs) * 0x1234567; - if (hash & 1) hash = (hash >> 1) ^ 0xF00BAA4; else hash >>= 1; + hash = (hash & 1 ? hash >> 1 ^ 0xF00BAA4 : hash >> 1); } } } diff --git a/terraform_gui.c b/terraform_gui.c --- a/terraform_gui.c +++ b/terraform_gui.c @@ -235,9 +235,9 @@ static void TerraformToolbWndProc(Window break; case WE_PLACE_MOUSEUP: - if (e->click.pt.x != -1) { - if ((e->place.userdata & 0xF) == VPM_X_AND_Y) // dragged actions - GUIPlaceProcDragXY(e); + if (e->click.pt.x != -1 && + (e->place.userdata & 0xF) == VPM_X_AND_Y) { // dragged actions + GUIPlaceProcDragXY(e); } break; diff --git a/tile.h b/tile.h --- a/tile.h +++ b/tile.h @@ -46,7 +46,7 @@ static inline void SetTileHeight(TileInd static inline uint TilePixelHeight(TileIndex tile) { - return TileHeight(tile) * 8; + return TileHeight(tile) * TILE_HEIGHT; } static inline TileType GetTileType(TileIndex tile) @@ -59,7 +59,7 @@ static inline void SetTileType(TileIndex { assert(tile < MapSize()); /* VOID tiles (and no others) are exactly allowed at the lower left and right - *edges of the map */ + * edges of the map */ assert((TileX(tile) == MapMaxX() || TileY(tile) == MapMaxY()) == (type == MP_VOID)); SB(_m[tile].type_height, 4, 4, type); } diff --git a/town_cmd.c b/town_cmd.c --- a/town_cmd.c +++ b/town_cmd.c @@ -697,9 +697,9 @@ static int GrowTownAtRoad(Town *t, TileI if (IsTileType(tile, MP_STREET)) { /* Don't allow building over roads of other cities */ - if (IsTileOwner(tile, OWNER_TOWN) && GetTownByTile(tile) != t) + if (IsTileOwner(tile, OWNER_TOWN) && GetTownByTile(tile) != t) { _grow_town_result = -1; - else if (_game_mode == GM_EDITOR) { + } else if (_game_mode == GM_EDITOR) { /* If we are in the SE, and this road-piece has no town owner yet, it just found an * owner :) (happy happy happy road now) */ SetTileOwner(tile, OWNER_TOWN); diff --git a/train_gui.c b/train_gui.c --- a/train_gui.c +++ b/train_gui.c @@ -134,8 +134,7 @@ void CcBuildWagon(bool success, TileInde { Vehicle *v,*found; - if (!success) - return; + if (!success) return; // find a locomotive in the depot. found = NULL; @@ -143,8 +142,7 @@ void CcBuildWagon(bool success, TileInde if (v->type == VEH_Train && IsFrontEngine(v) && v->tile == tile && v->u.rail.track == 0x80) { - if (found != NULL) // must be exactly one. - return; + if (found != NULL) return; // must be exactly one. found = v; } } @@ -191,8 +189,7 @@ static void engine_drawing_loop(int *x, !HASBIT(e->player_avail, _local_player)) continue; - if (*sel == 0) - *selected_id = i; + if (*sel == 0) *selected_id = i; if (IS_INT_INSIDE(--*pos, -show_max, 0)) { DrawString(*x + 59, *y + 2, GetCustomEngineName(i), *sel == 0 ? 0xC : 0x10); @@ -208,8 +205,7 @@ static void NewRailVehicleWndProc(Window switch (e->event) { case WE_PAINT: - if (w->window_number == 0) - SETBIT(w->disabled_state, 5); + if (w->window_number == 0) SETBIT(w->disabled_state, 5); { int count = 0; @@ -218,9 +214,10 @@ static void NewRailVehicleWndProc(Window for (i = 0; i < NUM_TRAIN_ENGINES; i++) { const Engine *e = GetEngine(i); - if (HasPowerOnRail(e->railtype, railtype) - && HASBIT(e->player_avail, _local_player)) + if (HasPowerOnRail(e->railtype, railtype) && + HASBIT(e->player_avail, _local_player)) { count++; + } } SetVScrollCount(w, count); } @@ -416,7 +413,7 @@ static void DrawTrainDepotWindow(Window hnum = 8; FOR_ALL_VEHICLES(v) { if (v->type == VEH_Train && - (IsFrontEngine(v) || IsFreeWagon(v)) && + (IsFrontEngine(v) || IsFreeWagon(v)) && v->tile == tile && v->u.rail.track == 0x80) { num++; @@ -562,20 +559,16 @@ static void TrainDepotMoveVehicle(Vehicl v = GetVehicle(sel); - if (v == wagon) - return; + if (v == wagon) return; if (wagon == NULL) { - if (head != NULL) - wagon = GetLastVehicleInChain(head); + if (head != NULL) wagon = GetLastVehicleInChain(head); } else { wagon = GetPrevVehicleInChain(wagon); - if (wagon == NULL) - return; + if (wagon == NULL) return; } - if (wagon == v) - return; + if (wagon == v) return; DoCommandP(v->tile, v->index + ((wagon == NULL ? INVALID_VEHICLE : wagon->index) << 16), _ctrl_pressed ? 1 : 0, NULL, CMD_MOVE_RAIL_VEHICLE | CMD_MSG(STR_8837_CAN_T_MOVE_VEHICLE)); } @@ -589,7 +582,10 @@ static void TrainDepotClickTrain(Window mode = GetVehicleFromTrainDepotWndPt(w, x, y, &gdvp); // share / copy orders - if (_thd.place_mode && mode <= 0) { _place_clicked_vehicle = gdvp.head; return; } + if (_thd.place_mode && mode <= 0) { + _place_clicked_vehicle = gdvp.head; + return; + } v = gdvp.wagon; @@ -680,17 +676,17 @@ static void TrainDepotWndProc(Window *w, } break; - } - } break; - - case WE_PLACE_OBJ: { - ClonePlaceObj(w); + } } break; - case WE_ABORT_PLACE_OBJ: { + case WE_PLACE_OBJ: + ClonePlaceObj(w); + break; + + case WE_ABORT_PLACE_OBJ: CLRBIT(w->click_state, 9); InvalidateWidget(w, 9); - } break; + break; // check if a vehicle in a depot was clicked.. case WE_MOUSELOOP: { @@ -994,8 +990,9 @@ static void TrainViewWndProc(Window *w, if (v->num_orders == 0) { str = STR_NO_ORDERS + _patches.vehicle_speed; SetDParam(0, v->u.rail.last_speed); - } else + } else { str = STR_EMPTY; + } break; } } @@ -1308,8 +1305,7 @@ do_change_service_int: break; case WE_RESIZE: - if (e->sizing.diff.y == 0) - break; + if (e->sizing.diff.y == 0) break; w->vscroll.cap += e->sizing.diff.y / 14; w->widget[4].unkA = (w->vscroll.cap << 8) + 1; @@ -1418,8 +1414,7 @@ static void PlayerTrainsWndProc(Window * SetVScrollCount(w, vl->list_length); // disable 'Sort By' tooltip on Unsorted sorting criteria - if (vl->sort_type == SORT_BY_UNSORTED) - w->disabled_state |= (1 << 3); + if (vl->sort_type == SORT_BY_UNSORTED) w->disabled_state |= (1 << 3); /* draw the widgets */ { @@ -1454,10 +1449,11 @@ static void PlayerTrainsWndProc(Window * DrawVehicleProfitButton(v, x, y + 13); SetDParam(0, v->unitnumber); - if (IsTileDepotType(v->tile, TRANSPORT_RAIL) && (v->vehstatus & VS_HIDDEN)) + if (IsTileDepotType(v->tile, TRANSPORT_RAIL) && (v->vehstatus & VS_HIDDEN)) { str = STR_021F; - else + } else { str = v->age > v->max_age - 366 ? STR_00E3 : STR_00E2; + } DrawString(x, y + 2, str, 0); SetDParam(0, v->profit_this_year); @@ -1489,22 +1485,19 @@ static void PlayerTrainsWndProc(Window * case 7: { /* Matrix to show vehicles */ uint32 id_v = (e->click.pt.y - PLY_WND_PRC__OFFSET_TOP_WIDGET) / PLY_WND_PRC__SIZE_OF_ROW_SMALL; + const Vehicle* v; if (id_v >= w->vscroll.cap) return; // click out of bounds id_v += w->vscroll.pos; - { - Vehicle *v; + if (id_v >= vl->list_length) return; // click out of list bound - if (id_v >= vl->list_length) return; // click out of list bound + v = GetVehicle(vl->sort_list[id_v].index); - v = GetVehicle(vl->sort_list[id_v].index); + assert(v->type == VEH_Train && IsFrontEngine(v) && v->owner == owner); - assert(v->type == VEH_Train && IsFrontEngine(v) && v->owner == owner); - - ShowTrainViewWindow(v); - } + ShowTrainViewWindow(v); } break; case 9: /* Build new Vehicle */ @@ -1512,13 +1505,10 @@ static void PlayerTrainsWndProc(Window * ShowBuildTrainWindow(0); break; - case 10: { - if (!IsWindowOfPrototype(w, _player_trains_widgets)) - break; - + case 10: + if (IsWindowOfPrototype(w, _player_trains_widgets)) break; ShowReplaceVehicleWindow(VEH_Train); break; - } } } break; @@ -1531,8 +1521,7 @@ static void PlayerTrainsWndProc(Window * _sorting.train.criteria = vl->sort_type; // enable 'Sort By' if a sorter criteria is chosen - if (vl->sort_type != SORT_BY_UNSORTED) - CLRBIT(w->disabled_state, 3); + if (vl->sort_type != SORT_BY_UNSORTED) CLRBIT(w->disabled_state, 3); } SetWindowDirty(w); break; @@ -1592,7 +1581,7 @@ void ShowPlayerTrains(PlayerID player, S } else { w = AllocateWindowDescFront(&_other_player_trains_desc, (station << 16) | player); } - if (w) { + if (w != NULL) { w->caption_color = player; w->hscroll.cap = 10 * 29; w->vscroll.cap = 7; // maximum number of vehicles shown diff --git a/tunnelbridge_cmd.c b/tunnelbridge_cmd.c --- a/tunnelbridge_cmd.c +++ b/tunnelbridge_cmd.c @@ -142,8 +142,9 @@ static uint32 CheckBridgeSlope(Axis dire } // slope foundations - if (HASBIT(BRIDGE_FULL_LEVELED_FOUNDATION | BRIDGE_PARTLY_LEVELED_FOUNDATION, tileh)) + if (HASBIT(BRIDGE_FULL_LEVELED_FOUNDATION | BRIDGE_PARTLY_LEVELED_FOUNDATION, tileh)) { return _price.terraform; + } return CMD_ERROR; } diff --git a/unix.c b/unix.c --- a/unix.c +++ b/unix.c @@ -302,10 +302,11 @@ char *FiosBrowseTo(const FiosItem *item) switch (item->type) { case FIOS_TYPE_PARENT: s = strrchr(path, '/'); - if (s != path) + if (s != path) { s[0] = '\0'; - else + } else { s[1] = '\0'; + } break; case FIOS_TYPE_DIR: @@ -351,8 +352,9 @@ StringID FiosGetDescText(const char **pa if (statvfs(*path, &s) == 0) { free = (uint64)s.f_frsize * s.f_bavail >> 20; - } else + } else { return STR_4006_UNABLE_TO_READ_DRIVE; + } } #endif if (tot != NULL) *tot = free; @@ -364,10 +366,7 @@ void FiosMakeSavegameName(char *buf, con const char* extension; const char* period; - if (_game_mode == GM_EDITOR) - extension = ".scn"; - else - extension = ".sav"; + extension = (_game_mode == GM_EDITOR ? ".scn" : ".sav"); // Don't append the extension, if it is already there period = strrchr(name, '.'); @@ -458,8 +457,8 @@ int CDECL main(int argc, char* argv[]) #ifdef WITH_COCOA cocoaSetupAutoreleasePool(); - /* This is passed if we are launched by double-clicking */ - if (argc >= 2 && strncmp (argv[1], "-psn", 4) == 0) { + /* This is passed if we are launched by double-clicking */ + if (argc >= 2 && strncmp(argv[1], "-psn", 4) == 0) { argv[1] = NULL; argc = 1; cocoaSetWorkingDirectory(); diff --git a/unmovable_cmd.c b/unmovable_cmd.c --- a/unmovable_cmd.c +++ b/unmovable_cmd.c @@ -51,8 +51,7 @@ void UpdateCompanyHQ(Player *p, uint sco byte val; TileIndex tile = p->location_of_house; - if (tile == 0) - return; + if (tile == 0) return; (val = 0, score < 170) || (val++, score < 350) || @@ -110,21 +109,24 @@ static void DrawTile_Unmovable(TileInfo switch (GetUnmovableType(ti->tile)) { case UNMOVABLE_TRANSMITTER: - case UNMOVABLE_LIGHTHOUSE: - { - const DrawTileUnmovableStruct *dtus; + case UNMOVABLE_LIGHTHOUSE: { + const DrawTileUnmovableStruct* dtus; - if (ti->tileh != SLOPE_FLAT) DrawFoundation(ti, ti->tileh); - DrawClearLandTile(ti, 2); + if (ti->tileh != SLOPE_FLAT) DrawFoundation(ti, ti->tileh); + DrawClearLandTile(ti, 2); + + dtus = &_draw_tile_unmovable_data[GetUnmovableType(ti->tile)]; - dtus = &_draw_tile_unmovable_data[GetUnmovableType(ti->tile)]; + image = dtus->image; + if (_display_opt & DO_TRANS_BUILDINGS) MAKE_TRANSPARENT(image); - image = dtus->image; - if (_display_opt & DO_TRANS_BUILDINGS) MAKE_TRANSPARENT(image); + AddSortableSpriteToDraw( + image, ti->x | dtus->subcoord_x, ti->y | dtus->subcoord_y, + dtus->width, dtus->height, dtus->z_size, ti->z + ); + break; + } - AddSortableSpriteToDraw(image, ti->x | dtus->subcoord_x, ti->y | dtus->subcoord_y, - dtus->width, dtus->height, dtus->z_size, ti->z); - } break; case UNMOVABLE_STATUE: DrawGroundSprite(SPR_CONCRETE_GROUND); @@ -133,6 +135,7 @@ static void DrawTile_Unmovable(TileInfo if (_display_opt & DO_TRANS_BUILDINGS) MAKE_TRANSPARENT(image); AddSortableSpriteToDraw(image, ti->x, ti->y, 16, 16, 25, ti->z); break; + case UNMOVABLE_OWNED_LAND: DrawClearLandTile(ti, 0); @@ -140,32 +143,34 @@ static void DrawTile_Unmovable(TileInfo PLAYER_SPRITE_COLOR(GetTileOwner(ti->tile)) + PALETTE_MODIFIER_COLOR + SPR_BOUGHT_LAND, ti->x + TILE_SIZE / 2, ti->y + TILE_SIZE / 2, 1, 1, 10, GetSlopeZ(ti->x + TILE_SIZE / 2, ti->y + TILE_SIZE / 2) ); + break; - break; - default: - { - const DrawTileSeqStruct *dtss; - const DrawTileSprites *t; + default: { + const DrawTileSeqStruct* dtss; + const DrawTileSprites* t; - assert(IsCompanyHQ(ti->tile)); - if (ti->tileh != SLOPE_FLAT) DrawFoundation(ti, ti->tileh); + assert(IsCompanyHQ(ti->tile)); + if (ti->tileh != SLOPE_FLAT) DrawFoundation(ti, ti->tileh); - ormod = PLAYER_SPRITE_COLOR(GetTileOwner(ti->tile)); + ormod = PLAYER_SPRITE_COLOR(GetTileOwner(ti->tile)); + + t = &_unmovable_display_datas[GetCompanyHQSection(ti->tile)]; + DrawGroundSprite(t->ground_sprite | ormod); - t = &_unmovable_display_datas[GetCompanyHQSection(ti->tile)]; - DrawGroundSprite(t->ground_sprite | ormod); - - foreach_draw_tile_seq(dtss, t->seq) { - image = dtss->image; - if (_display_opt & DO_TRANS_BUILDINGS) { - MAKE_TRANSPARENT(image); - } else { - image |= ormod; - } - AddSortableSpriteToDraw(image, ti->x + dtss->delta_x, ti->y + dtss->delta_y, - dtss->width, dtss->height, dtss->unk, ti->z + dtss->delta_z); + foreach_draw_tile_seq(dtss, t->seq) { + image = dtss->image; + if (_display_opt & DO_TRANS_BUILDINGS) { + MAKE_TRANSPARENT(image); + } else { + image |= ormod; } - } break; + AddSortableSpriteToDraw( + image, ti->x + dtss->delta_x, ti->y + dtss->delta_y, + dtss->width, dtss->height, dtss->unk, ti->z + dtss->delta_z + ); + } + break; + } } } diff --git a/variables.h b/variables.h --- a/variables.h +++ b/variables.h @@ -202,7 +202,7 @@ typedef struct Patches { uint32 npf_buoy_penalty; /* The penalty for going over (through) a buoy */ uint32 npf_water_curve_penalty; /* The penalty for curves */ uint32 npf_road_curve_penalty; /* The penalty for curves */ - uint32 npf_crossing_penalty; /* The penalty for level crossings */ + uint32 npf_crossing_penalty; /* The penalty for level crossings */ bool population_in_label; // Show the population of a town in his label? diff --git a/vehicle.c b/vehicle.c --- a/vehicle.c +++ b/vehicle.c @@ -481,7 +481,7 @@ Vehicle *GetPrevVehicleInChain(const Veh u = GetFirstVehicleInChain(v); - // Check to see if this is the first + // Check to see if this is the first if (v == u) return NULL; do { @@ -637,7 +637,9 @@ static bool CanFillVehicle_FullLoadAny(V //if the aircraft carries passengers and is NOT full, then //continue loading, no matter how much mail is in - if ((v->type == VEH_Aircraft) && (v->cargo_type == CT_PASSENGERS) && (v->cargo_cap != v->cargo_count)) { + if (v->type == VEH_Aircraft && + v->cargo_type == CT_PASSENGERS && + v->cargo_cap != v->cargo_count) { return true; } @@ -648,9 +650,14 @@ static bool CanFillVehicle_FullLoadAny(V if (v->cargo_cap != 0) { uint32 mask = 1 << v->cargo_type; - if (v->cargo_cap == v->cargo_count) full |= mask; else not_full |= mask; + + if (v->cargo_cap == v->cargo_count) { + full |= mask; + } else { + not_full |= mask; + } } - } while ( (v=v->next) != NULL); + } while ((v = v->next) != NULL); // continue loading if there is a non full cargo type and no cargo type that is full return not_full && (full & ~not_full) == 0; @@ -670,13 +677,11 @@ bool CanFillVehicle(Vehicle *v) ))) { // If patch is active, use alternative CanFillVehicle-function - if (_patches.full_load_any) - return CanFillVehicle_FullLoadAny(v); + if (_patches.full_load_any) return CanFillVehicle_FullLoadAny(v); do { - if (v->cargo_count != v->cargo_cap) - return true; - } while ( (v=v->next) != NULL); + if (v->cargo_count != v->cargo_cap) return true; + } while ((v = v->next) != NULL); } return false; } @@ -754,14 +759,12 @@ void ViewportAddVehicles(DrawPixelInfo * veh = v->next_hash; } - if (x == x2) - break; + if (x == x2) break; x = (x + 1) & 0x3F; } x = xb; - if (y == y2) - break; + if (y == y2) break; y = (y + 0x40) & ((0x3F) << 6); } } diff --git a/vehicle.h b/vehicle.h --- a/vehicle.h +++ b/vehicle.h @@ -97,7 +97,7 @@ enum { typedef struct VehicleAir { uint16 crashed_counter; byte pos; - byte previous_pos; + byte previous_pos; StationID targetairport; byte state; } VehicleAir; diff --git a/video/sdl_v.c b/video/sdl_v.c --- a/video/sdl_v.c +++ b/video/sdl_v.c @@ -362,18 +362,21 @@ static int PollEvent(void) if (_patches.autosave_on_exit) { DoExitSave(); return 0; - } else + } else { AskExitGame(); - } else + } + } else { return 0; + } break; case SDL_KEYDOWN: /* Toggle full-screen on ALT + ENTER/F */ if ((ev.key.keysym.mod & (KMOD_ALT | KMOD_META)) && (ev.key.keysym.sym == SDLK_RETURN || ev.key.keysym.sym == SDLK_f)) { ToggleFullScreen(!_fullscreen); - } else + } else { _pressed_key = ConvertSdlKeyIntoMy(&ev.key.keysym); + } break; diff --git a/video/win32_v.c b/video/win32_v.c --- a/video/win32_v.c +++ b/video/win32_v.c @@ -252,8 +252,7 @@ static LRESULT CALLBACK WndProcGdi(HWND UINT nChanged = RealizePalette(hDC); SelectPalette(hDC, hOldPalette, TRUE); ReleaseDC(hwnd, hDC); - if (nChanged) - InvalidateRect(hwnd, NULL, FALSE); + if (nChanged) InvalidateRect(hwnd, NULL, FALSE); return 0; } @@ -263,9 +262,9 @@ static LRESULT CALLBACK WndProcGdi(HWND } else if (_patches.autosave_on_exit) { DoExitSave(); _exit_game = true; - } else + } else { AskExitGame(); - + } return 0; case WM_LBUTTONDOWN: @@ -787,8 +786,9 @@ static void Win32GdiMainLoop(void) #endif !_networking && _game_mode != GM_MENU) _fast_forward |= 2; - } else if (_fast_forward & 2) + } else if (_fast_forward & 2) { _fast_forward = 0; + } cur_ticks = GetTickCount(); if ((_fast_forward && !_pause) || cur_ticks > next_tick) @@ -809,14 +809,14 @@ static void Win32GdiMainLoop(void) (GetAsyncKeyState(VK_UP) < 0 ? 2 : 0) + (GetAsyncKeyState(VK_RIGHT) < 0 ? 4 : 0) + (GetAsyncKeyState(VK_DOWN) < 0 ? 8 : 0); - } else + } else { _dirkeys = 0; + } GameLoop(); _cursor.delta.x = _cursor.delta.y = 0; - if (_force_full_redraw) - MarkWholeScreenDirty(); + if (_force_full_redraw) MarkWholeScreenDirty(); GdiFlush(); _screen.dst_ptr = _wnd.buffer_bits; diff --git a/viewport.c b/viewport.c --- a/viewport.c +++ b/viewport.c @@ -1660,8 +1660,8 @@ static void CheckClickOnLandscape(const static void SafeShowTrainViewWindow(const Vehicle* v) { - if (!IsFrontEngine(v)) v = GetFirstVehicleInChain(v); - ShowTrainViewWindow(v); + if (!IsFrontEngine(v)) v = GetFirstVehicleInChain(v); + ShowTrainViewWindow(v); } static void Nop(const Vehicle* v) {} @@ -1955,25 +1955,28 @@ static void CalcRaildirsDrawstyle(TileHi h = myabs(dy) + 16; if (TileVirtXY(thd->selstart.x, thd->selstart.y) == TileVirtXY(x, y)) { // check if we're only within one tile - if (method == VPM_RAILDIRS) + if (method == VPM_RAILDIRS) { b = GetAutorailHT(x, y); - else // rect for autosignals on one tile + } else { // rect for autosignals on one tile b = HT_RECT; + } } else if (h == 16) { // Is this in X direction? - if (dx == 16) // 2x1 special handling + if (dx == 16) { // 2x1 special handling b = (Check2x1AutoRail(3)) | HT_LINE; - else if (dx == -16) + } else if (dx == -16) { b = (Check2x1AutoRail(2)) | HT_LINE; - else + } else { b = HT_LINE | HT_DIR_X; + } y = thd->selstart.y; } else if (w == 16) { // Or Y direction? - if (dy == 16) // 2x1 special handling + if (dy == 16) { // 2x1 special handling b = (Check2x1AutoRail(1)) | HT_LINE; - else if (dy == -16) // 2x1 other direction + } else if (dy == -16) { // 2x1 other direction b = (Check2x1AutoRail(0)) | HT_LINE; - else + } else { b = HT_LINE | HT_DIR_Y; + } x = thd->selstart.x; } else if (w > h * 2) { // still count as x dir? b = HT_LINE | HT_DIR_X; @@ -2082,7 +2085,11 @@ void VpSelectTilesWithMethod(int x, int break; case VPM_X_OR_Y: - if (myabs(sy - y) < myabs(sx - x)) y = sy; else x = sx; + if (myabs(sy - y) < myabs(sx - x)) { + y = sy; + } else { + x = sx; + } break; case VPM_X_AND_Y: @@ -2196,5 +2203,5 @@ void SetObjectToPlace(CursorID icon, byt void ResetObjectToPlace(void) { - SetObjectToPlace(SPR_CURSOR_MOUSE, 0, 0, 0); + SetObjectToPlace(SPR_CURSOR_MOUSE, VHM_NONE, 0, 0); } diff --git a/water_cmd.c b/water_cmd.c --- a/water_cmd.c +++ b/water_cmd.c @@ -337,7 +337,6 @@ static int32 ClearTile_Water(TileIndex t case WATER_DEPOT: if (flags & DC_AUTO) return_cmd_error(STR_2004_BUILDING_MUST_BE_DEMOLISHED); - return RemoveShipDepot(tile, flags); default: diff --git a/waypoint.c b/waypoint.c --- a/waypoint.c +++ b/waypoint.c @@ -34,8 +34,7 @@ static void WaypointPoolNewBlock(uint st { Waypoint *wp; - FOR_ALL_WAYPOINTS_FROM(wp, start_item) - wp->index = start_item++; + FOR_ALL_WAYPOINTS_FROM(wp, start_item) wp->index = start_item++; } /* Initialize the town-pool */ @@ -50,7 +49,7 @@ static Waypoint* AllocateWaypoint(void) if (wp->xy == 0) { uint index = wp->index; - memset(wp, 0, sizeof(Waypoint)); + memset(wp, 0, sizeof(*wp)); wp->index = index; return wp; @@ -58,8 +57,7 @@ static Waypoint* AllocateWaypoint(void) } /* Check if we can add a block to the pool */ - if (AddBlockToPool(&_waypoint_pool)) - return AllocateWaypoint(); + if (AddBlockToPool(&_waypoint_pool)) return AllocateWaypoint(); return NULL; } @@ -88,8 +86,7 @@ void UpdateAllWaypointSigns(void) Waypoint *wp; FOR_ALL_WAYPOINTS(wp) { - if (wp->xy) - UpdateWaypointSign(wp); + if (wp->xy != 0) UpdateWaypointSign(wp); } } @@ -106,8 +103,7 @@ static void MakeDefaultWaypointName(Wayp /* Find an unused waypoint number belonging to this town */ FOR_ALL_WAYPOINTS(local_wp) { - if (wp == local_wp) - continue; + if (wp == local_wp) continue; if (local_wp->xy && local_wp->string == STR_NULL && local_wp->town_index == wp->town_index) used_waypoint[local_wp->town_cn] = true; @@ -124,11 +120,12 @@ static void MakeDefaultWaypointName(Wayp static Waypoint *FindDeletedWaypointCloseTo(TileIndex tile) { Waypoint *wp, *best = NULL; - uint thres = 8, cur_dist; + uint thres = 8; FOR_ALL_WAYPOINTS(wp) { - if (wp->deleted && wp->xy) { - cur_dist = DistanceManhattan(tile, wp->xy); + if (wp->deleted && wp->xy != 0) { + uint cur_dist = DistanceManhattan(tile, wp->xy); + if (cur_dist < thres) { thres = cur_dist; best = wp; @@ -190,15 +187,13 @@ int32 CmdBuildTrainWaypoint(TileIndex ti return_cmd_error(STR_1005_NO_SUITABLE_RAILROAD_TRACK); } - if (!CheckTileOwnership(tile)) - return CMD_ERROR; - + if (!CheckTileOwnership(tile)) return CMD_ERROR; if (!EnsureNoVehicle(tile)) return CMD_ERROR; tileh = GetTileSlope(tile, NULL); - if (tileh != SLOPE_FLAT) { - if (!_patches.build_on_slopes || IsSteepSlope(tileh) || !(tileh & (0x3 << axis)) || !(tileh & ~(0x3 << axis))) - return_cmd_error(STR_0007_FLAT_LAND_REQUIRED); + if (tileh != SLOPE_FLAT && + (!_patches.build_on_slopes || IsSteepSlope(tileh) || !(tileh & (0x3 << axis)) || !(tileh & ~(0x3 << axis)))) { + return_cmd_error(STR_0007_FLAT_LAND_REQUIRED); } /* Check if there is an already existing, deleted, waypoint close to us that we can reuse. */ @@ -255,8 +250,7 @@ static void DoDeleteWaypoint(Waypoint *w order.station = wp->index; DeleteDestinationFromVehicleOrder(order); - if (wp->string != STR_NULL) - DeleteName(wp->string); + if (wp->string != STR_NULL) DeleteName(wp->string); RedrawWaypointSign(wp); } @@ -268,9 +262,7 @@ void WaypointsDailyLoop(void) /* Check if we need to delete a waypoint */ FOR_ALL_WAYPOINTS(wp) { - if (wp->deleted && !--wp->deleted) { - DoDeleteWaypoint(wp); - } + if (wp->deleted != 0 && --wp->deleted == 0) DoDeleteWaypoint(wp); } } @@ -280,14 +272,12 @@ int32 RemoveTrainWaypoint(TileIndex tile Waypoint *wp; /* Make sure it's a waypoint */ - if (!IsTileType(tile, MP_RAILWAY) || !IsRailWaypoint(tile)) + if (!IsTileType(tile, MP_RAILWAY) || + !IsRailWaypoint(tile) || + (!CheckTileOwnership(tile) && _current_player != OWNER_WATER) || + !EnsureNoVehicle(tile)) { return CMD_ERROR; - - if (!CheckTileOwnership(tile) && !(_current_player == OWNER_WATER)) - return CMD_ERROR; - - if (!EnsureNoVehicle(tile)) - return CMD_ERROR; + } if (flags & DC_EXEC) { wp = GetWaypointByTile(tile); @@ -327,19 +317,17 @@ int32 CmdRemoveTrainWaypoint(TileIndex t int32 CmdRenameWaypoint(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) { Waypoint *wp; - StringID str; if (!IsWaypointIndex(p1)) return CMD_ERROR; if (_cmd_text[0] != '\0') { - str = AllocateNameUnique(_cmd_text, 0); - if (str == 0) - return CMD_ERROR; + StringID str = AllocateNameUnique(_cmd_text, 0); + + if (str == 0) return CMD_ERROR; if (flags & DC_EXEC) { wp = GetWaypoint(p1); - if (wp->string != STR_NULL) - DeleteName(wp->string); + if (wp->string != STR_NULL) DeleteName(wp->string); wp->string = str; wp->town_cn = 0; @@ -352,8 +340,7 @@ int32 CmdRenameWaypoint(TileIndex tile, } else { if (flags & DC_EXEC) { wp = GetWaypoint(p1); - if (wp->string != STR_NULL) - DeleteName(wp->string); + if (wp->string != STR_NULL) DeleteName(wp->string); MakeDefaultWaypointName(wp); UpdateWaypointSign(wp); @@ -395,8 +382,7 @@ void FixOldWaypoints(void) /* Convert the old 'town_or_string', to 'string' / 'town' / 'town_cn' */ FOR_ALL_WAYPOINTS(wp) { - if (wp->xy == 0) - continue; + if (wp->xy == 0) continue; wp->town_index = ClosestTownFromTile(wp->xy, (uint)-1)->index; wp->town_cn = 0; diff --git a/win32.c b/win32.c --- a/win32.c +++ b/win32.c @@ -50,8 +50,8 @@ bool LoadLibraryList(Function proc[], co HMODULE lib = LoadLibrary(dll); if (lib == NULL) return false; - while (true) { - FARPROC p; + for (;;) { + FARPROC p; while (*dll++ != '\0'); if (*dll == '\0') break; @@ -108,10 +108,7 @@ static void MakeCRCTable(uint32 *table) for (i = 0; i != 256; i++) { crc = i; for (j = 8; j != 0; j--) { - if (crc & 1) - crc = (crc >> 1) ^ poly; - else - crc >>= 1; + src = (crc & 1 ? (crc >> 1) ^ poly : crc >> 1); } table[i] = crc; } @@ -369,10 +366,11 @@ static INT_PTR CALLBACK CrashDialogFunc( case 12: // Close ExitProcess(0); case 13: { // Emergency save - if (DoEmergencySave(wnd)) + if (DoEmergencySave(wnd)) { MessageBoxA(wnd, _save_succeeded, "Save successful", MB_ICONINFORMATION); - else + } else { MessageBoxA(wnd, "Save failed", "Save failed", MB_ICONINFORMATION); + } break; } case 14: { // Submit crash report @@ -904,10 +902,11 @@ char *FiosBrowseTo(const FiosItem *item) case FIOS_TYPE_PARENT: s = strrchr(path, '\\'); - if (s != path + 2) + if (s != path + 2) { s[0] = '\0'; - else + } else { s[1] = '\0'; + } break; case FIOS_TYPE_DIR: @@ -955,8 +954,9 @@ StringID FiosGetDescText(const char **pa if (tot != NULL && GetDiskFreeSpace(root, &spc, &bps, &nfc, &tnc)) { *tot = ((spc * bps) * (uint64)nfc) >> 20; sid = STR_4005_BYTES_FREE; - } else + } else { sid = STR_4006_UNABLE_TO_READ_DRIVE; + } SetErrorMode(sem); // reset previous setting return sid; @@ -967,10 +967,7 @@ void FiosMakeSavegameName(char *buf, con const char* extension; const char* period; - if (_game_mode == GM_EDITOR) - extension = ".scn"; - else - extension = ".sav"; + extension = (_game_mode == GM_EDITOR ? ".scn" : ".sav"); // Don't append the extension, if it is already there period = strrchr(name, '.'); @@ -1091,9 +1088,9 @@ void CreateConsole(void) void ShowInfo(const char *str) { - if (_has_console) + if (_has_console) { puts(str); - else { + } else { bool old; ReleaseCapture(); diff --git a/window.c b/window.c --- a/window.c +++ b/window.c @@ -43,8 +43,7 @@ static void DispatchLeftClickEvent(Windo wi = &w->widget[e.click.widget]; /* don't allow any interaction if the button has been disabled */ - if (HASBIT(w->disabled_state, e.click.widget)) - return; + if (HASBIT(w->disabled_state, e.click.widget)) return; if (wi->type & 0xE0) { /* special widget handling for buttons*/ @@ -230,13 +229,14 @@ void DeleteWindow(Window *w) { WindowClass wc; WindowNumber wn; - ViewPort *vp; Window *v; int count; if (w == NULL) return; - if (_thd.place_mode != 0 && _thd.window_class == w->window_class && _thd.window_number == w->window_number) { + if (_thd.place_mode != VHM_NONE && + _thd.window_class == w->window_class && + _thd.window_number == w->window_number) { ResetObjectToPlace(); } @@ -247,11 +247,10 @@ void DeleteWindow(Window *w) w = FindWindowById(wc, wn); - vp = w->viewport; - w->viewport = NULL; - if (vp != NULL) { - _active_viewports &= ~(1 << (vp - _viewports)); - vp->width = 0; + if (w->viewport != NULL) { + CLRBIT(_active_viewports, w->viewport - _viewports); + w->viewport->width = 0; + w->viewport = NULL; } SetWindowDirty(w); @@ -647,8 +646,11 @@ Window *AllocateWindowDesc(const WindowD pt = GetAutoPlacePosition(desc->width, desc->height); } else { if (pt.x == WDP_CENTER) pt.x = (_screen.width - desc->width) >> 1; - if (pt.y == WDP_CENTER) pt.y = (_screen.height - desc->height) >> 1; - else if(pt.y < 0) pt.y = _screen.height + pt.y; // if y is negative, it's from the bottom of the screen + if (pt.y == WDP_CENTER) { + pt.y = (_screen.height - desc->height) >> 1; + } else if (pt.y < 0) { + pt.y = _screen.height + pt.y; // if y is negative, it's from the bottom of the screen + } } } @@ -1618,8 +1620,9 @@ void DeleteAllNonVitalWindows(void) if (w->flags4 & WF_STICKY) { DeleteWindow(w); w = _windows; - } else + } else { w++; + } } } @@ -1634,8 +1637,9 @@ int PositionMainToolbar(Window *w) { DEBUG(misc, 1) ("Repositioning Main Toolbar..."); - if (w == NULL || w->window_class != WC_MAIN_TOOLBAR) + if (w == NULL || w->window_class != WC_MAIN_TOOLBAR) { w = FindWindowById(WC_MAIN_TOOLBAR, 0); + } switch (_patches.toolbar_pos) { case 1: w->left = (_screen.width - w->width) >> 1; break; diff --git a/window.h b/window.h --- a/window.h +++ b/window.h @@ -293,7 +293,7 @@ struct Window { WindowProc *wndproc; ViewPort *viewport; const Widget *original_widget; - Widget *widget; + Widget *widget; uint32 desc_flags; WindowMessage message;