diff options
author | tron <tron@openttd.org> | 2006-06-27 21:25:53 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2006-06-27 21:25:53 +0000 |
commit | 2b27073156f40df263cf653263488b8d72a76236 (patch) | |
tree | 1bfdb9c99b43fdc3b07ac13cbed4259a06d34f6f | |
parent | c126ce110ee33bffe07dac5283d8a1648dc662b7 (diff) | |
download | openttd-2b27073156f40df263cf653263488b8d72a76236.tar.xz |
(svn r5391) Miscellaneous, mostly bracing and whitespace, nothing spectacular
-rw-r--r-- | ai/ai.c | 1 | ||||
-rw-r--r-- | ai/default/default.c | 6 | ||||
-rw-r--r-- | ai/trolly/build.c | 19 | ||||
-rw-r--r-- | ai/trolly/pathfinder.c | 7 | ||||
-rw-r--r-- | ai/trolly/shared.c | 60 | ||||
-rw-r--r-- | ai/trolly/trolly.c | 6 | ||||
-rw-r--r-- | aircraft_cmd.c | 8 | ||||
-rw-r--r-- | aircraft_gui.c | 33 | ||||
-rw-r--r-- | airport.c | 84 | ||||
-rw-r--r-- | airport_gui.c | 7 | ||||
-rw-r--r-- | console.c | 140 | ||||
-rw-r--r-- | console_cmds.c | 64 | ||||
-rw-r--r-- | depot.c | 6 | ||||
-rw-r--r-- | depot.h | 29 | ||||
-rw-r--r-- | disaster_cmd.c | 29 | ||||
-rw-r--r-- | economy.c | 61 | ||||
-rw-r--r-- | economy.h | 32 | ||||
-rw-r--r-- | elrail.c | 30 | ||||
-rw-r--r-- | engine.c | 2 | ||||
-rw-r--r-- | engine.h | 4 | ||||
-rw-r--r-- | fileio.c | 4 | ||||
-rw-r--r-- | industry_cmd.c | 4 | ||||
-rw-r--r-- | industry_map.h | 2 | ||||
-rw-r--r-- | intro_gui.c | 3 | ||||
-rw-r--r-- | main_gui.c | 8 | ||||
-rw-r--r-- | misc_cmd.c | 9 | ||||
-rw-r--r-- | misc_gui.c | 19 | ||||
-rw-r--r-- | music/qtmidi.h | 6 | ||||
-rw-r--r-- | namegen.c | 21 | ||||
-rw-r--r-- | network.c | 125 | ||||
-rw-r--r-- | network_data.c | 25 | ||||
-rw-r--r-- | network_gamelist.c | 15 | ||||
-rw-r--r-- | network_gui.c | 17 | ||||
-rw-r--r-- | network_server.c | 141 | ||||
-rw-r--r-- | network_udp.c | 54 | ||||
-rw-r--r-- | newgrf.c | 10 | ||||
-rw-r--r-- | npf.c | 18 | ||||
-rw-r--r-- | openttd.c | 28 | ||||
-rw-r--r-- | order.h | 13 | ||||
-rw-r--r-- | order_cmd.c | 19 | ||||
-rw-r--r-- | order_gui.c | 26 | ||||
-rw-r--r-- | os2.c | 15 | ||||
-rw-r--r-- | player.h | 11 | ||||
-rw-r--r-- | player_gui.c | 7 | ||||
-rw-r--r-- | players.c | 84 | ||||
-rw-r--r-- | rail.h | 46 | ||||
-rw-r--r-- | rail_cmd.c | 37 | ||||
-rw-r--r-- | rail_gui.c | 7 | ||||
-rw-r--r-- | rail_map.h | 1 | ||||
-rw-r--r-- | road_cmd.c | 27 | ||||
-rw-r--r-- | road_gui.c | 3 | ||||
-rw-r--r-- | roadveh_cmd.c | 15 | ||||
-rw-r--r-- | roadveh_gui.c | 99 | ||||
-rw-r--r-- | saveload.c | 12 | ||||
-rw-r--r-- | settings.c | 20 | ||||
-rw-r--r-- | ship_gui.c | 46 | ||||
-rw-r--r-- | sound/cocoa_s.c | 20 | ||||
-rw-r--r-- | station_cmd.c | 28 | ||||
-rw-r--r-- | strgen/strgen.c | 6 | ||||
-rw-r--r-- | terraform_gui.c | 6 | ||||
-rw-r--r-- | tile.h | 4 | ||||
-rw-r--r-- | town_cmd.c | 4 | ||||
-rw-r--r-- | train_gui.c | 87 | ||||
-rw-r--r-- | tunnelbridge_cmd.c | 3 | ||||
-rw-r--r-- | unix.c | 17 | ||||
-rw-r--r-- | unmovable_cmd.c | 79 | ||||
-rw-r--r-- | variables.h | 2 | ||||
-rw-r--r-- | vehicle.c | 29 | ||||
-rw-r--r-- | vehicle.h | 2 | ||||
-rw-r--r-- | video/sdl_v.c | 9 | ||||
-rw-r--r-- | video/win32_v.c | 16 | ||||
-rw-r--r-- | viewport.c | 31 | ||||
-rw-r--r-- | water_cmd.c | 1 | ||||
-rw-r--r-- | waypoint.c | 66 | ||||
-rw-r--r-- | win32.c | 31 | ||||
-rw-r--r-- | window.c | 30 | ||||
-rw-r--r-- | window.h | 2 |
77 files changed, 1056 insertions, 1042 deletions
@@ -30,7 +30,6 @@ static void AI_DequeueCommands(PlayerID player) 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 index 5173b0ed2..ea1d208f3 100644 --- a/ai/default/default.c +++ b/ai/default/default.c @@ -316,7 +316,7 @@ static void AiHandleReplaceTrain(Player *p) 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(Player *p) 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(Player *p) 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 index 64339245e..35359016a 100644 --- a/ai/trolly/build.c +++ b/ai/trolly/build.c @@ -286,14 +286,15 @@ int AiNew_Build_Vehicle(Player *p, TileIndex tile, byte flag) 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 index 772ddda46..de3ce2a4e 100644 --- a/ai/trolly/pathfinder.c +++ b/ai/trolly/pathfinder.c @@ -425,12 +425,13 @@ static int32 AyStar_AiPathFinder_CalculateG(AyStar *aystar, AyStarNode *current, 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 index c745f31f6..d41544ef0 100644 --- a/ai/trolly/shared.c +++ b/ai/trolly/shared.c @@ -16,35 +16,20 @@ int AiNew_GetRailDirection(TileIndex tile_a, TileIndex tile_b, TileIndex tile_c) // 4 = dig down-left // 5 = dig up-right - int x1, x2, x3; - int y1, y2, y3; - - x1 = TileX(tile_a); - x2 = TileX(tile_b); - x3 = TileX(tile_c); + uint x1 = TileX(tile_a); + uint x2 = TileX(tile_b); + uint 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(TileIndex tile_a, TileIndex tile_b) 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;i<AI_MAX_SPECIAL_VEHICLES;i++) { +uint AiNew_GetSpecialVehicleFlag(Player* p, Vehicle* v) +{ + uint i; + + for (i = 0; i < AI_MAX_SPECIAL_VEHICLES; i++) { if (p->ainew.special_vehicles[i].veh_id == v->index) { return p->ainew.special_vehicles[i].flag; } @@ -101,16 +89,22 @@ uint AiNew_GetSpecialVehicleFlag(Player *p, Vehicle *v) { return 0; } -bool AiNew_SetSpecialVehicleFlag(Player *p, Vehicle *v, uint flag) { - int i, new_id = -1; - for (i=0;i<AI_MAX_SPECIAL_VEHICLES;i++) { + +bool AiNew_SetSpecialVehicleFlag(Player* p, Vehicle* v, uint flag) +{ + int new_id = -1; + uint i; + + for (i = 0; i < AI_MAX_SPECIAL_VEHICLES; i++) { if (p->ainew.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 index 33ef6020d..26688e965 100644 --- a/ai/trolly/trolly.c +++ b/ai/trolly/trolly.c @@ -1244,9 +1244,11 @@ static void AiNew_State_StartVehicle(Player *p) // Repays money static void AiNew_State_RepayMoney(Player *p) { - int i; - for (i=0;i<AI_LOAN_REPAY;i++) + uint i; + + for (i = 0; i < AI_LOAN_REPAY; i++) { AI_DoCommand(0, 0, 0, DC_EXEC, CMD_DECREASE_LOAN); + } p->ainew.state = AI_STATE_ACTION_DONE; } diff --git a/aircraft_cmd.c b/aircraft_cmd.c index 8d782cffb..37d3ee608 100644 --- a/aircraft_cmd.c +++ b/aircraft_cmd.c @@ -1929,16 +1929,14 @@ static uint GetNumHelipads(const AirportFTAClass *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 index d4ec54d8f..4b988bf8d 100644 --- a/aircraft_gui.c +++ b/aircraft_gui.c @@ -279,7 +279,7 @@ static void AircraftRefitWndProc(Window *w, WindowEvent *e) 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 GetVehicleFromAircraftDepotWndPt(const Window *w, int x, int y, Vehic 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 *w, WindowEvent *e) } 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 tile) } } -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 *w, WindowEvent *e) 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 *w, WindowEvent *e) break; case 10: - if (!IsWindowOfPrototype(w, _player_aircraft_widgets)) - break; - + if (!IsWindowOfPrototype(w, _player_aircraft_widgets)) break; ShowReplaceVehicleWindow(VEH_Aircraft); break; @@ -32,8 +32,9 @@ static void AirportFTAClass_Destructor(AirportFTAClass *Airport); 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(AirportFTAClass *Airport, // 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_heading_strings[] = { "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 AirportFTAClass *Airport, const bool full_repo 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 index 333375409..e150cf6d6 100644 --- a/airport_gui.c +++ b/airport_gui.c @@ -88,10 +88,9 @@ static void BuildAirToolbWndProc(Window *w, WindowEvent *e) _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(Window *w, WindowEvent *e) 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); @@ -109,31 +109,35 @@ static void IConsoleWndProc(Window* w, WindowEvent* e) 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, WindowEvent* e) 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, IConsoleHookTypes type, IConsoleHook * * 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 IConsoleVar *var, uint32 value) * @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; - } - - 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; - } + return; + } - var = IConsoleVarGet(tokens[0]); - if (var != NULL) { - if (IConsoleHookHandle(&var->hook, ICONSOLE_HOOK_ACCESS)) - IConsoleVarExec(var, t_index, &tokens[1]); + 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; + } - return; - } + var = IConsoleVarGet(tokens[0]); + if (var != NULL) { + if (IConsoleHookHandle(&var->hook, ICONSOLE_HOOK_ACCESS)) { + IConsoleVarExec(var, t_index, &tokens[1]); + } + return; + } - IConsoleError("command or variable not found"); + IConsoleError("command or variable not found"); } diff --git a/console_cmds.c b/console_cmds.c index aa7a7d553..e01b9c6b5 100644 --- 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(ConHookValidateMaxClientsCount) { 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(ConHookValidateMaxCompaniesCount) { 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; } @@ -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; } @@ -90,21 +90,20 @@ static inline bool IsTileDepotType(TileIndex tile, TransportType type) /** - 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)<p> - 00 (exit towards NE) we need either bit 2 or 3 set in tileh: 0x4C >> 0 = 1100<p> - 01 (exit towards SE) we need either bit 1 or 2 set in tileh: 0x4C >> 1 = 0110<p> - 02 (exit towards SW) we need either bit 0 or 1 set in tileh: 0x4C >> 2 = 0011<p> - 03 (exit towards NW) we need either bit 0 or 4 set in tileh: 0x4C >> 3 = 1001<p> - So ((0x4C >> p2) & tileh) determines whether the depot can be built on the current tileh -*/ + * 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)<p> + * 00 (exit towards NE) we need either bit 2 or 3 set in tileh: 0x4C >> 0 = 1100<p> + * 01 (exit towards SE) we need either bit 1 or 2 set in tileh: 0x4C >> 1 = 0110<p> + * 02 (exit towards SW) we need either bit 0 or 1 set in tileh: 0x4C >> 2 = 0011<p> + * 03 (exit towards NW) we need either bit 0 or 4 set in tileh: 0x4C >> 3 = 1001<p> + * 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 index e0fc51b04..2b1488bb9 100644 --- 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 *v) 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; @@ -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 *p, bool update) 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 *p, bool update) 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 *p, bool update) } 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(PlayerID old_player, PlayerID new_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(PlayerID old_player, PlayerID new_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(PlayerID old_player, PlayerID new_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(PlayerID old_player, PlayerID new_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, CargoID cargo_type, StationID source, Station *s_from, *s_to; int32 profit; - assert(num_pieces > 0); + assert(num_pieces > 0); // Update player statistics { @@ -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[]; @@ -84,6 +84,7 @@ static TrackBits GetRailTrackBitsUniversal(TileIndex t, byte *override) return 0; } break; + case MP_TUNNELBRIDGE: if (IsTunnel(t)) { if (GetRailType(t) != RAILTYPE_ELECTRIC) return 0; @@ -104,15 +105,18 @@ static TrackBits GetRailTrackBitsUniversal(TileIndex t, byte *override) 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 GetRailTrackBitsUniversal(TileIndex t, byte *override) */ 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 TileInfo *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]; @@ -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) { @@ -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]; @@ -133,9 +133,9 @@ bool FiosCheckFileExists(const char *filename) } #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 index 4525f11ac..fe7e79d45 100644 --- a/industry_cmd.c +++ b/industry_cmd.c @@ -315,8 +315,8 @@ static int32 ClearTile_Industry(TileIndex tile, byte flags) */ 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 index 0ca3f07c8..db9e1a0d3 100644 --- a/industry_map.h +++ b/industry_map.h @@ -146,7 +146,7 @@ static inline void ResetIndustryConstructionStage(TileIndex tile) 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 index 3ebe9b361..9c415d0d8 100644 --- a/intro_gui.c +++ b/intro_gui.c @@ -87,8 +87,9 @@ static void SelectGameWndProc(Window *w, WindowEvent *e) #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 index d2389ec8b..3e63d4144 100644 --- 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 index 5df0e94fb..c2469945f 100644 --- a/misc_cmd.c +++ b/misc_cmd.c @@ -146,8 +146,9 @@ int32 CmdChangeCompanyName(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) DeleteName(p->name_1); p->name_1 = str; MarkWholeScreenDirty(); - } else + } else { DeleteName(str); + } return 0; } @@ -180,8 +181,9 @@ int32 CmdChangePresidentName(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) DoCommand(0, 0, 0, DC_EXEC, CMD_CHANGE_COMPANY_NAME); } MarkWholeScreenDirty(); - } else + } else { DeleteName(str); + } return 0; } @@ -269,8 +271,9 @@ int32 CmdChangeDifficultyLevel(TileIndex tile, uint32 flags, uint32 p1, uint32 p 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 index 1076be819..2ffcbec0e 100644 --- a/misc_gui.c +++ b/misc_gui.c @@ -915,13 +915,14 @@ int HandleEditBoxKey(Window *w, querystr_d *string, int wid, WindowEvent *we) 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* w, WindowEvent* e) 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* w, WindowEvent* e) 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* w, WindowEvent* e) } 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 index ecb7a0b19..727ce25e1 100644 --- 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 @@ -279,11 +279,10 @@ static byte MakeFinnishTownName(char *buf, uint32 seed) // 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 *buf, uint32 seed) } 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, uint32 seed) // 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++) { @@ -54,9 +54,9 @@ NetworkClientInfo *NetworkFindClientInfoFromIndex(uint16 client_index) { 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 *NetworkFindClientStateFromIndex(uint16 client_index) { 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 *NetworkFindClientStateFromIndex(uint16 client_index) 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 *error) 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, NetworkClientState *cs) { } 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, NetworkClientState *cs) { /** 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, NetworkErrorCode err) 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 (SocketBase) { - CloseLibrary(SocketBase); - } - } - #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 defined(WIN32) - { - WSACleanup(); - } - #endif + if (SocketBase != NULL) CloseLibrary(SocketBase); +#endif + +#if defined(WIN32) + WSACleanup(); +#endif } #endif /* ENABLE_NETWORK */ diff --git a/network_data.c b/network_data.c index 43ed7c769..ac011f22a 100644 --- a/network_data.c +++ b/network_data.c @@ -178,8 +178,9 @@ bool NetworkSend_Packets(NetworkClientState *cs) cs->packet_queue = p->next; free(p); p = cs->packet_queue; - } else + } else { return true; + } } return true; @@ -192,8 +193,7 @@ bool NetworkSend_Packets(NetworkClientState *cs) 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(NetworkClientState *cs, Packet *packet) 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(NetworkClientState *cs, Packet *packet) 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(NetworkClientState *cs, Packet *packet) 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(NetworkClientState *cs, NetworkRecvStatus *status) // 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, uint32 p1, uint32 p2, uint32 cmd, Comma // 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 index 0085f0fca..e6e68d122 100644 --- 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(uint32 ip, uint16 port) 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(NetworkGameList *remove) 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 index 79136f8dd..ea7d78f90 100644 --- a/network_gui.c +++ b/network_gui.c @@ -628,8 +628,11 @@ static void NetworkStartServerWindowWndProc(Window *w, WindowEvent *e) 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(Window *w, WindowEvent *e) 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, WindowEvent *e) 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, WindowEvent *e) _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 index 7fa6d027b..11b648d8d 100644 --- a/network_server.c +++ b/network_server.c @@ -84,8 +84,7 @@ DEF_SERVER_SEND_COMMAND(PACKET_SERVER_COMPANY_INFO) 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_COMPANY_INFO) /* 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++) + 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, "<none>"); - 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_WAIT) // 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_JOIN) #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_JOIN) // 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_RCON) 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 client_index) 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(void) 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(void) /* 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(NetworkClientState *cs) 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 index 8d77d6e37..1422d9fe4 100644 --- a/network_udp.c +++ b/network_udp.c @@ -141,10 +141,9 @@ DEF_UDP_RECEIVE_COMMAND(PACKET_UDP_SERVER_RESPONSE) 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_CLIENT_DETAIL_INFO) 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_CLIENT_DETAIL_INFO) /* 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_CLIENT_DETAIL_INFO) 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_CLIENT_DETAIL_INFO) /* 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_CLIENT_DETAIL_INFO) } /* 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_CLIENT_DETAIL_INFO) /* 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_CLIENT_DETAIL_INFO) } /* 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_CLIENT_DETAIL_INFO) 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_MASTER_RESPONSE_LIST) { } } -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 udp) DEBUG(net, 6)("[NET][UDP] Broadcasting to %s", inet_ntoa(out_addr.sin_addr)); NetworkSendUDP_Packet(udp, p, &out_addr); - - i++; } free(p); @@ -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 */ @@ -213,9 +213,7 @@ static uint NPFSlopeCost(AyStarNode* current) */ 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 NPFRouteToDepotTrialError(TileIndex tile, Trackdir trackdir, _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 */ @@ -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<driver>) // a '::' behind it means: it can optional have a param (e.g.: -d<debug>) - #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 @@ -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 index cb524312a..8614961c1 100644 --- a/order_cmd.c +++ b/order_cmd.c @@ -568,9 +568,10 @@ int32 CmdModifyOrder(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) 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 index f8f895288..e7425ad63 100644 --- a/order_gui.c +++ b/order_gui.c @@ -398,31 +398,24 @@ static void OrdersWndProc(Window *w, WindowEvent *e) 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, WindowEvent *e) w->vscroll.cap = (w->widget[2].bottom - w->widget[2].top) / 10; break; } - } static const Widget _orders_train_widgets[] = { @@ -64,10 +64,11 @@ int compare_FiosItems(const void *a, const void *b) 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, const char *name, size_t size) 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, '.'); @@ -238,12 +238,11 @@ static inline bool HasRailtypeAvail(const Player *p, RailType Railtype) 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 index 3a8ce8030..c3deebf98 100644 --- a/player_gui.c +++ b/player_gui.c @@ -79,9 +79,9 @@ static void DrawPlayerEconomyStats(const Player *p, byte mode) // 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 *w, WindowEvent *e) /* 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); @@ -220,10 +220,11 @@ static void SubtractMoneyFromAnyPlayer(Player *p, int32 cost) 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(Player *p, int32 cost) 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, TileIndex 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 *p) 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 *p) 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, uint32 flags, uint32 p1, uint32 p2) } #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, uint32 flags, uint32 p1, uint32 p2) _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); - } -#else - } #endif /* ENABLE_NETWORK */ + } } break; case 1: /* Make a new AI player */ @@ -941,7 +937,7 @@ int32 CmdPlayerCtrl(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) 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_titles[16] = { 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 EndGameGetPerformanceTitleFromValue(uint value) /* 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 @@ -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(Track track) { return (Trackdir)track; } * 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(Trackdir trackdir) { /** * 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 TrackCrossesTracks(Track track) { * 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 TrackdirToExitdir(Trackdir trackdir) { * 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 TrackExitdirToTrackdir(Track track, DiagDirection diagdir * 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 TrackEnterdirToTrackdir(Track track, DiagDirection diagdi * 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 TrackDirectionToTrackdir(Track track, Direction dir) { * 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(RailType enginetype, RailType tiletype) */ 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 index 005072016..ea3e989f1 100644 --- a/rail_cmd.c +++ b/rail_cmd.c @@ -467,8 +467,9 @@ static int32 ValidateAutoDrag(Trackdir *trackdir, TileIndex start, TileIndex end 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(TileIndex tile, uint32 flags, uint32 p1, uint32 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 tile, uint32 flags, uint32 p1, uint32 p2) _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(TileIndex tile, uint32 flags, uint32 p1, uint3 /* 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(TileIndex tile, uint32 flags, uint32 p1, uint3 // 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(TileIndex tile, uint32 flags, uint32 p1, uint3 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 tile, uint32 flags, uint32 p1, uint32 p2) { Track track = (Track)(p1 & 0x7); - if (!ValParamTrackOrientation(track) || !IsTileType(tile, MP_RAILWAY) || !EnsureNoVehicle(tile)) - return CMD_ERROR; - - if (!HasSignalOnTrack(tile, track)) // no signals on track? + if (!ValParamTrackOrientation(track) || + !IsTileType(tile, MP_RAILWAY) || + !EnsureNoVehicle(tile) || + !HasSignalOnTrack(tile, 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, TrackBits track, bool flat) 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(Vehicle *v, void *data) 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 index d260d12f6..1b48db6b8 100644 --- a/rail_gui.c +++ b/rail_gui.c @@ -147,9 +147,9 @@ void CcStation(bool success, TileIndex tile, uint32 p1, uint32 p2) 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 *w, WindowEvent *e) 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 index 7cdd4d42e..23aba71f6 100644 --- a/rail_map.h +++ b/rail_map.h @@ -272,7 +272,6 @@ RailType GetTileRailType(TileIndex tile, Trackdir trackdir); 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 index 0bf2ded25..21c837762 100644 --- a/road_cmd.c +++ b/road_cmd.c @@ -254,7 +254,7 @@ static uint32 CheckRoadSlope(Slope tileh, RoadBits* pieces, RoadBits existing) // 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[][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(TileIndex tile, TransportType mode) 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(TileIndex tile, TransportType mode) 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 *v, TileIndex tile, int x, int y) 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 index 7bf3cfd12..8613916fb 100644 --- a/road_gui.c +++ b/road_gui.c @@ -418,8 +418,9 @@ static void RoadStationPickerWndProc(Window *w, WindowEvent *e) 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 index fc939df19..d0a3c0a93 100644 --- a/roadveh_cmd.c +++ b/roadveh_cmd.c @@ -1625,7 +1625,6 @@ static void CheckIfRoadVehNeedsService(Vehicle *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 index 5dd5cdcc1..df50282e3 100644 --- a/roadveh_gui.c +++ b/roadveh_gui.c @@ -109,7 +109,6 @@ static void RoadVehRefitWndProc(Window *w, WindowEvent *e) WP(w,refit_d).sel = y / 10; SetWindowDirty(w); } - break; } @@ -163,8 +162,8 @@ static void RoadVehDetailsWndProc(Window *w, WindowEvent *e) 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, WindowEvent *e) 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, WindowEvent *e) 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 *w) /* 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(const Window *w, int x, int y, Vehicle * 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, int x, int y) 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, WindowEvent *e) } } 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, WindowEvent *e) 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, WindowEvent *e) _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 *w, WindowEvent *e) 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 *w, WindowEvent *e) 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 *w, WindowEvent *e) 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 *w, WindowEvent *e) _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 index 0b12dde64..59de6f24a 100644 --- a/saveload.c +++ b/saveload.c @@ -566,7 +566,7 @@ void SlArray(void *array, uint length, VarType conv) * 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 index f38124ad1..5df857d10 100644 --- a/settings.c +++ b/settings.c @@ -238,10 +238,11 @@ static IniFile *ini_load(const char *filename) // 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 *filename, IniFile *ini) //*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 *ptr, const SettingDesc *sd, int32 val) { 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 Patches *object, int32 value) 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 index dd88b960b..ed58849ef 100644 --- a/ship_gui.c +++ b/ship_gui.c @@ -114,7 +114,7 @@ static void ShipRefitWndProc(Window *w, WindowEvent *e) 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, WindowEvent *e) 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(TileIndex tile) } -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, WindowEvent *e) { 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, WindowEvent *e) { 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 *w) /* 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(const Window *w, int x, int y, Vehicle * 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(const Window *w, int x, int y, Vehicle * } return 1; /* outside */ - } static void ShipDepotClick(Window *w, int x, int y) @@ -690,7 +687,10 @@ static void ShipDepotClick(Window *w, int x, int y) 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, WindowEvent *e) 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, WindowEvent *e) _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 index 177bce973..b2f2b1f1e 100644 --- a/sound/cocoa_s.c +++ b/sound/cocoa_s.c @@ -83,29 +83,35 @@ static const char *CocoaSoundStart(const char * const *parm) 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 index 27e4ebbf1..edf5aff80 100644 --- a/station_cmd.c +++ b/station_cmd.c @@ -1600,17 +1600,17 @@ static const byte _airport_sections_international[] = { // 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(TileIndex tile, TransportType mode) { 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 *st) 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 index 828f6e2e5..abdcb21bf 100644 --- a/strgen/strgen.c +++ b/strgen/strgen.c @@ -890,7 +890,7 @@ static uint32 MyHashStr(uint32 hash, const char *s) { 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 index 102f6c2e7..55fc8444d 100644 --- a/terraform_gui.c +++ b/terraform_gui.c @@ -235,9 +235,9 @@ static void TerraformToolbWndProc(Window *w, WindowEvent *e) 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; @@ -46,7 +46,7 @@ static inline void SetTileHeight(TileIndex tile, uint height) 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 tile, TileType type) { 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 index ab799f528..720918419 100644 --- a/town_cmd.c +++ b/town_cmd.c @@ -697,9 +697,9 @@ static int GrowTownAtRoad(Town *t, TileIndex tile) 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 index 7cb491666..07aabfdff 100644 --- a/train_gui.c +++ b/train_gui.c @@ -134,8 +134,7 @@ void CcBuildWagon(bool success, TileIndex tile, uint32 p1, uint32 p2) { 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, TileIndex tile, uint32 p1, uint32 p2) 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, int *y, int *pos, int *sel, !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 *w, WindowEvent *e) 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 *w, WindowEvent *e) 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 *w) 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(Vehicle *wagon, VehicleID sel, Vehicle *head) 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 *w, int x, int y) 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, WindowEvent *e) } break; - } - } break; + } + } 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, 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, WindowEvent *e) 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 *w, WindowEvent *e) 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 *w, WindowEvent *e) 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 *w, WindowEvent *e) 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 *w, WindowEvent *e) 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 *w, WindowEvent *e) _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, StationID station) } 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 index b93fd9ed0..079617e4c 100644 --- a/tunnelbridge_cmd.c +++ b/tunnelbridge_cmd.c @@ -142,8 +142,9 @@ static uint32 CheckBridgeSlope(Axis direction, Slope tileh, bool is_start_tile) } // 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; } @@ -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 **path, uint32 *tot) 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, const char *name, size_t size) 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 index 2bfdbe5d7..0493750d5 100644 --- a/unmovable_cmd.c +++ b/unmovable_cmd.c @@ -51,8 +51,7 @@ void UpdateCompanyHQ(Player *p, uint score) 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 *ti) 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 *ti) 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 *ti) 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; - default: - { - const DrawTileSeqStruct *dtss; - const DrawTileSprites *t; - - assert(IsCompanyHQ(ti->tile)); - if (ti->tileh != SLOPE_FLAT) DrawFoundation(ti, ti->tileh); - - ormod = PLAYER_SPRITE_COLOR(GetTileOwner(ti->tile)); - - 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); + + default: { + const DrawTileSeqStruct* dtss; + const DrawTileSprites* t; + + assert(IsCompanyHQ(ti->tile)); + if (ti->tileh != SLOPE_FLAT) DrawFoundation(ti, ti->tileh); + + ormod = PLAYER_SPRITE_COLOR(GetTileOwner(ti->tile)); + + 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; } - } 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 index c42f590c7..bb59575f5 100644 --- 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? @@ -481,7 +481,7 @@ Vehicle *GetPrevVehicleInChain(const Vehicle *v) 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(Vehicle *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(Vehicle *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 *dpi) 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); } } @@ -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 index a90333ae4..373009bc8 100644 --- 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 index 02f75288d..7f05406c3 100644 --- a/video/win32_v.c +++ b/video/win32_v.c @@ -252,8 +252,7 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP 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 hwnd, UINT msg, WPARAM wParam, LPARAM lP } 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 index 272c46f2b..990f58cec 100644 --- a/viewport.c +++ b/viewport.c @@ -1660,8 +1660,8 @@ static void CheckClickOnLandscape(const ViewPort *vp, int x, int y) 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(TileHighlightData *thd, int x, int y, int meth 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 y, int method) 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, byte mode, WindowClass window_class, Window 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 index 26ef26d0c..cd219299d 100644 --- a/water_cmd.c +++ b/water_cmd.c @@ -337,7 +337,6 @@ static int32 ClearTile_Water(TileIndex tile, byte flags) 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 index 78b1386fa..9a44b6e9f 100644 --- a/waypoint.c +++ b/waypoint.c @@ -34,8 +34,7 @@ static void WaypointPoolNewBlock(uint start_item) { 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(Waypoint* wp) /* 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(Waypoint* wp) 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 tile, uint32 flags, uint32 p1, uint32 p2) 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 *wp) 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, uint32 flags, bool justremove) Waypoint *wp; /* Make sure it's a waypoint */ - if (!IsTileType(tile, MP_RAILWAY) || !IsRailWaypoint(tile)) - return CMD_ERROR; - - if (!CheckTileOwnership(tile) && !(_current_player == OWNER_WATER)) - return CMD_ERROR; - - if (!EnsureNoVehicle(tile)) + if (!IsTileType(tile, MP_RAILWAY) || + !IsRailWaypoint(tile) || + (!CheckTileOwnership(tile) && _current_player != OWNER_WATER) || + !EnsureNoVehicle(tile)) { return CMD_ERROR; + } if (flags & DC_EXEC) { wp = GetWaypointByTile(tile); @@ -327,19 +317,17 @@ int32 CmdRemoveTrainWaypoint(TileIndex tile, uint32 flags, uint32 p1, uint32 p2) 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, uint32 flags, uint32 p1, uint32 p2) } 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; @@ -50,8 +50,8 @@ bool LoadLibraryList(Function proc[], const char* dll) 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(HWND wnd,UINT msg,WPARAM wParam,LPARAM l 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 **path, uint32 *tot) 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, const char *name, size_t size) 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(); @@ -43,8 +43,7 @@ static void DispatchLeftClickEvent(Window* w, int x, int y) 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 WindowDesc *desc) 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; @@ -293,7 +293,7 @@ struct Window { WindowProc *wndproc; ViewPort *viewport; const Widget *original_widget; - Widget *widget; + Widget *widget; uint32 desc_flags; WindowMessage message; |