From 9a060a0f242eee0b0c95fb21364bce0e790d3528 Mon Sep 17 00:00:00 2001 From: ludde Date: Mon, 1 Aug 2005 16:31:19 +0000 Subject: [PATCH] (svn r2781) Fix some of the issues with variables in .h files. --- aircraft_gui.c | 10 +++++----- economy.c | 27 +++++++++++++++++++++++---- economy.h | 16 ++-------------- functions.h | 1 + graph_gui.c | 4 ++-- gui.h | 3 +-- main_gui.c | 3 --- misc_gui.c | 3 +++ pathfind.c | 2 +- rail_cmd.c | 25 +++++++++++++++++++++++++ roadveh_gui.c | 12 ++++++------ ship_gui.c | 10 +++++----- table/track_land.h | 6 ------ table/water_land.h | 5 ----- train_cmd.c | 4 ++-- train_gui.c | 6 +++--- tunnelbridge_cmd.c | 11 ++++++----- vehicle.c | 8 ++++---- video/dedicated_v.c | 2 +- water_cmd.c | 5 +++++ waypoint.c | 16 ++-------------- 21 files changed, 97 insertions(+), 82 deletions(-) diff --git a/aircraft_gui.c b/aircraft_gui.c index 25e3b89013..41bef1c32d 100644 --- a/aircraft_gui.c +++ b/aircraft_gui.c @@ -613,7 +613,7 @@ static void AircraftViewWndProc(Window *w, WindowEvent *e) DeleteWindowById(WC_VEHICLE_REFIT, w->window_number); DeleteWindowById(WC_VEHICLE_DETAILS, w->window_number); break; - + case WE_MOUSELOOP: { Vehicle *v; @@ -817,11 +817,11 @@ static void AircraftDepotWndProc(Window *w, WindowEvent *e) ResetObjectToPlace(); ShowBuildAircraftWindow(w->window_number); break; - + case 8: /* clone button */ InvalidateWidget(w, 8); TOGGLEBIT(w->click_state, 8); - + if (HASBIT(w->click_state, 8)) { _place_clicked_vehicle = NULL; SetObjectToPlaceWnd(SPR_CURSOR_CLONE, VHM_RECT, w); @@ -845,7 +845,7 @@ case WE_PLACE_OBJ: { CLRBIT(w->click_state, 8); InvalidateWidget(w, 8); } break; - + // check if a vehicle in a depot was clicked.. case WE_MOUSELOOP: { Vehicle *v = _place_clicked_vehicle; @@ -855,7 +855,7 @@ case WE_PLACE_OBJ: { HandleCloneVehClick( v, w); } } break; - + case WE_DESTROY: DeleteWindowById(WC_BUILD_VEHICLE, w->window_number); break; diff --git a/economy.c b/economy.c index 396b9a8a67..8525818ca8 100644 --- a/economy.c +++ b/economy.c @@ -25,6 +25,23 @@ #include "variables.h" #include "vehicle_gui.h" +// 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} +}; + +int _score_part[MAX_PLAYERS][NUM_SCORE]; + + // get a mask of the allowed currencies depending on the year uint GetMaskOfAllowedCurrencies(void) { @@ -129,7 +146,7 @@ int UpdateCompanyRatingAndValue(Player *p, bool update) /* Count vehicles */ { Vehicle *v; - int32 min_profit = score_info[SCORE_MIN_PROFIT].needed; + int32 min_profit = _score_info[SCORE_MIN_PROFIT].needed; uint num = 0; FOR_ALL_VEHICLES(v) { @@ -228,7 +245,7 @@ int UpdateCompanyRatingAndValue(Player *p, bool update) /* Generate score for loan */ { - _score_part[owner][SCORE_LOAN] = score_info[SCORE_LOAN].needed - p->current_loan; + _score_part[owner][SCORE_LOAN] = _score_info[SCORE_LOAN].needed - p->current_loan; } // Now we calculate the score for each item.. @@ -241,10 +258,12 @@ int UpdateCompanyRatingAndValue(Player *p, bool update) // Skip the total if (i == SCORE_TOTAL) continue; // Check the score - s = (_score_part[owner][i] >= score_info[i].needed) ? score_info[i].score : ((_score_part[owner][i] * score_info[i].score) / score_info[i].needed); + s = (_score_part[owner][i] >= _score_info[i].needed) ? + _score_info[i].score : + ((_score_part[owner][i] * _score_info[i].score) / _score_info[i].needed); if (s < 0) s = 0; score += s; - total_score += score_info[i].score; + total_score += _score_info[i].score; } _score_part[owner][SCORE_TOTAL] = score; diff --git a/economy.h b/economy.h index c36a4dca7c..3c893e7421 100644 --- a/economy.h +++ b/economy.h @@ -49,20 +49,8 @@ typedef struct ScoreInfo { int score; // How much score it will give } ScoreInfo; -static 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} -}; - -int _score_part[MAX_PLAYERS][NUM_SCORE]; +extern const ScoreInfo _score_info[]; +extern int _score_part[MAX_PLAYERS][NUM_SCORE]; int UpdateCompanyRatingAndValue(Player *p, bool update); void UpdatePlayerHouse(Player *p, uint score); diff --git a/functions.h b/functions.h index 5ee31e7826..6948a44d85 100644 --- a/functions.h +++ b/functions.h @@ -60,6 +60,7 @@ void StationPickerDrawSprite(int x, int y, int railtype, int image); /* track_land.c */ void DrawTrainDepotSprite(int x, int y, int image, int railtype); +void DrawDefaultWaypointSprite(int x, int y, int railtype); /* road_land.c */ void DrawRoadDepotSprite(int x, int y, int image); diff --git a/graph_gui.c b/graph_gui.c index 48d813aacc..e7b0b21f04 100644 --- a/graph_gui.c +++ b/graph_gui.c @@ -936,8 +936,8 @@ static void PerformanceRatingDetailWndProc(Window *w, WindowEvent *e) for (i=0;iimage; + if (img & PALETTE_MODIFIER_COLOR) img = (img & SPRITE_MASK) + rti->total_offset; + DrawSprite(img, x, y); + + for (; dtss->image != 0; dtss++) { + Point pt = RemapCoords(dtss->subcoord_x, dtss->subcoord_y, 0); + img = dtss->image; + if (img & PALETTE_MODIFIER_COLOR) img |= PLAYER_SPRITE_COLOR(_local_player); + DrawSprite(img, x + pt.x, y + pt.y); + } +} + typedef struct SetSignalsData { int cur; int cur_stack; diff --git a/roadveh_gui.c b/roadveh_gui.c index 20944302f4..378f4e7a8e 100644 --- a/roadveh_gui.c +++ b/roadveh_gui.c @@ -95,7 +95,7 @@ static void RoadVehDetailsWndProc(Window *w, WindowEvent *e) SetDParam(1, year); - SetDParam(0, (v->age + 365 < v->max_age) ? STR_AGE : STR_AGE_RED); + SetDParam(0, (v->age + 365 < v->max_age) ? STR_AGE : STR_AGE_RED); SetDParam(2, v->max_age / 366); SetDParam(3, RoadVehInfo(v->engine_type)->running_cost * _price.roadveh_running >> 8); DrawString(2, 15, STR_900D_AGE_RUNNING_COST_YR, 0); @@ -714,11 +714,11 @@ static void RoadDepotWndProc(Window *w, WindowEvent *e) ResetObjectToPlace(); ShowBuildRoadVehWindow(w->window_number); break; - + case 8: /* clone button */ InvalidateWidget(w, 8); TOGGLEBIT(w->click_state, 8); - + if (HASBIT(w->click_state, 8)) { _place_clicked_vehicle = NULL; SetObjectToPlaceWnd(SPR_CURSOR_CLONE, VHM_RECT, w); @@ -726,14 +726,14 @@ static void RoadDepotWndProc(Window *w, WindowEvent *e) ResetObjectToPlace(); } break; - + case 9: /* scroll to tile */ ResetObjectToPlace(); ScrollMainWindowToTile(w->window_number); break; } } break; - + case WE_PLACE_OBJ: { ClonePlaceObj(e->place.tile, w); } break; @@ -742,7 +742,7 @@ static void RoadDepotWndProc(Window *w, WindowEvent *e) CLRBIT(w->click_state, 8); InvalidateWidget(w, 8); } break; - + // check if a vehicle in a depot was clicked.. case WE_MOUSELOOP: { Vehicle *v = _place_clicked_vehicle; diff --git a/ship_gui.c b/ship_gui.c index 5a5872f285..ecd44cb133 100644 --- a/ship_gui.c +++ b/ship_gui.c @@ -511,7 +511,7 @@ static void ShipViewWndProc(Window *w, WindowEvent *e) { case OT_LEAVESTATION: str = STR_882F_LOADING_UNLOADING; break; - + default: if (v->num_orders == 0) { str = STR_NO_ORDERS + _patches.vehicle_speed; @@ -792,11 +792,11 @@ static void ShipDepotWndProc(Window *w, WindowEvent *e) { ResetObjectToPlace(); ShowBuildShipWindow(w->window_number); break; - + case 8: /* clone button */ InvalidateWidget(w, 8); TOGGLEBIT(w->click_state, 8); - + if (HASBIT(w->click_state, 8)) { _place_clicked_vehicle = NULL; SetObjectToPlaceWnd(SPR_CURSOR_CLONE, VHM_RECT, w); @@ -811,7 +811,7 @@ static void ShipDepotWndProc(Window *w, WindowEvent *e) { break; } break; - + case WE_PLACE_OBJ: { //ClonePlaceObj(e->place.tile, w); ClonePlaceObj(w->window_number, w); @@ -821,7 +821,7 @@ static void ShipDepotWndProc(Window *w, WindowEvent *e) { CLRBIT(w->click_state, 8); InvalidateWidget(w, 8); } break; - + // check if a vehicle in a depot was clicked.. case WE_MOUSELOOP: { Vehicle *v = _place_clicked_vehicle; diff --git a/table/track_land.h b/table/track_land.h index 97573ad4af..4a5a975bce 100644 --- a/table/track_land.h +++ b/table/track_land.h @@ -63,9 +63,3 @@ static const DrawTrackSeqStruct* const _track_depot_layout_table[] = { _track_waypoint_table_1, }; -static const byte _track_sloped_sprites[14] = { - 14, 15, 22, 13, - 0, 21, 17, 12, - 23, 0, 18, 20, - 19, 16 -}; diff --git a/table/water_land.h b/table/water_land.h index d91c0738db..96cef5f392 100644 --- a/table/water_land.h +++ b/table/water_land.h @@ -149,8 +149,3 @@ static const WaterDrawTileStruct* const _shiplift_display_seq[] = { #undef BEGIN #undef END - - -static const SpriteID _water_shore_sprites[15] = { - 0, 0xFDF, 0xFE0, 0xFE4, 0xFDE, 0, 0xFE2, 0, 0xFE1, 0xFE5, 0, 0, 0xFE3, 0, 0 -}; diff --git a/train_cmd.c b/train_cmd.c index 6883293fee..1f8f28a6fc 100644 --- a/train_cmd.c +++ b/train_cmd.c @@ -602,11 +602,11 @@ int32 CmdBuildRailVehicle(int x, int y, uint32 flags, uint32 p1, uint32 p2) if (rvi->flags & RVI_WAGON) return CmdBuildRailWagon(p1, tile, flags); value = EstimateTrainCost(rvi); - + //make sure we only pay for half a dualheaded engine if we only requested half of it if (rvi->flags&RVI_MULTIHEAD && HASBIT(p2,0)) value /= 2; - + if (!(flags & DC_QUERY_COST)) { v = AllocateVehicle(); diff --git a/train_gui.c b/train_gui.c index 2b6e22d5e4..971d1d467d 100644 --- a/train_gui.c +++ b/train_gui.c @@ -666,7 +666,7 @@ static void TrainDepotWndProc(Window *w, WindowEvent *e) } } break; - + case WE_PLACE_OBJ: { ClonePlaceObj(e->place.tile, w); } break; @@ -675,7 +675,7 @@ static void TrainDepotWndProc(Window *w, WindowEvent *e) CLRBIT(w->click_state, 9); InvalidateWidget(w, 9); } break; - + // check if a vehicle in a depot was clicked.. case WE_MOUSELOOP: { Vehicle *v = _place_clicked_vehicle; @@ -924,7 +924,7 @@ static void TrainViewWndProc(Window *w, WindowEvent *e) /* draw widgets & caption */ SetDParam(0, v->string_id); - SetDParam(1, v->unitnumber); + SetDParam(1, v->unitnumber); DrawWindowWidgets(w); if (v->u.rail.crash_anim_pos != 0) { diff --git a/tunnelbridge_cmd.c b/tunnelbridge_cmd.c index 4b1472b19f..2d4647b2a5 100644 --- a/tunnelbridge_cmd.c +++ b/tunnelbridge_cmd.c @@ -17,6 +17,12 @@ #include "debug.h" #include "variables.h" +#include "table/bridge_land.h" +#include "table/tunnel_land.h" + +extern const byte _track_sloped_sprites[14]; +extern const SpriteID _water_shore_sprites[15]; + extern void DrawCanalWater(TileIndex tile); static const byte _bridge_available_year[MAX_BRIDGES] = { @@ -944,11 +950,6 @@ static const byte _bridge_foundations[2][16] = { extern const byte _road_sloped_sprites[14]; -#include "table/track_land.h" -#include "table/bridge_land.h" -#include "table/tunnel_land.h" -#include "table/water_land.h" - static void DrawBridgePillars(TileInfo *ti, int x, int y, int z) { const uint32 *b; diff --git a/vehicle.c b/vehicle.c index 9a6ec8816f..4a0b75122b 100644 --- a/vehicle.c +++ b/vehicle.c @@ -1676,7 +1676,7 @@ int32 CmdBuildRailVehicle(int x, int y, uint32 flags, uint32 p1, uint32 p2); int32 CmdBuildRoadVeh(int x, int y, uint32 flags, uint32 p1, uint32 p2); int32 CmdBuildShip(int x, int y, uint32 flags, uint32 p1, uint32 p2); int32 CmdBuildAircraft(int x, int y, uint32 flags, uint32 p1, uint32 p2); - + typedef int32 VehBuildProc(int x, int y, uint32 flags, uint32 p1, uint32 p2); @@ -1691,7 +1691,7 @@ static VehicleID * _new_vehicle_id_proc_table[] = { &_new_train_id, &_new_roadveh_id, &_new_ship_id, - &_new_aircraft_id, + &_new_aircraft_id, }; /** Clone a vehicle. If it is a train, it will clone all the cars too @@ -1712,7 +1712,7 @@ int32 CmdCloneVehicle(int x, int y, uint32 flags, uint32 p1, uint32 p2) if (!IsVehicleIndex(p1)) return CMD_ERROR; v = GetVehicle(p1); - wfront = v; + wfront = v; w1 = v; vfront = v; @@ -1775,7 +1775,7 @@ int32 CmdCloneVehicle(int x, int y, uint32 flags, uint32 p1, uint32 p2) w1 = w1->next; v = v->next; } - + } } if (flags & DC_EXEC && needs_refitting != 255 && vfront->type != VEH_Road) { // right now we do not refit road vehicles diff --git a/video/dedicated_v.c b/video/dedicated_v.c index f5fb9be0e2..2700ae4cf2 100644 --- a/video/dedicated_v.c +++ b/video/dedicated_v.c @@ -26,7 +26,7 @@ # define STDIN 0 /* file descriptor for standard input */ -/** +/** * Switches OpenTTD to a console app at run-time, instead of a PM app * Necessary to see stdout, etc. */ static void OS2_SwitchToConsoleMode(void) diff --git a/water_cmd.c b/water_cmd.c index 02d004cb4a..e8243dad9e 100644 --- a/water_cmd.c +++ b/water_cmd.c @@ -16,6 +16,11 @@ #include "depot.h" #include "vehicle_gui.h" +const SpriteID _water_shore_sprites[15] = { + 0, 0xFDF, 0xFE0, 0xFE4, 0xFDE, 0, 0xFE2, 0, 0xFE1, 0xFE5, 0, 0, 0xFE3, 0, 0 +}; + + static void FloodVehicle(Vehicle *v); static bool IsClearWaterTile(TileIndex tile) diff --git a/waypoint.c b/waypoint.c index 8fd330e43e..5ffd9791c5 100644 --- a/waypoint.c +++ b/waypoint.c @@ -16,7 +16,6 @@ #include "variables.h" #include "table/sprites.h" #include "table/strings.h" -#include "table/track_land.h" enum { /* Max waypoints: 64000 (8 * 8000) */ @@ -359,6 +358,7 @@ Station *ComposeWaypointStation(TileIndex tile) extern uint16 _custom_sprites_base; + /* Draw a waypoint */ void DrawWaypointSprite(int x, int y, int stat_id, uint railtype) { @@ -376,18 +376,7 @@ void DrawWaypointSprite(int x, int y, int stat_id, uint railtype) /* draw default waypoint graphics of ID 0 */ if (stat_id == 0) { - const DrawTrackSeqStruct *dtss = _track_depot_layout_table[4]; - - img = dtss++->image; - if (img & PALETTE_MODIFIER_COLOR) img = (img & SPRITE_MASK) + rti->total_offset; - DrawSprite(img, x, y); - - for (; dtss->image != 0; dtss++) { - Point pt = RemapCoords(dtss->subcoord_x, dtss->subcoord_y, 0); - img = dtss->image; - if (img & PALETTE_MODIFIER_COLOR) img |= ormod; - DrawSprite(img, x + pt.x, y + pt.y); - } + DrawDefaultWaypointSprite(x, y, railtype); return; } @@ -407,7 +396,6 @@ void DrawWaypointSprite(int x, int y, int stat_id, uint railtype) foreach_draw_tile_seq(seq, cust->seq) { Point pt = RemapCoords(seq->delta_x, seq->delta_y, seq->delta_z); uint32 image = seq->image + relocation; - DrawSprite((image & SPRITE_MASK) | ormod, x + pt.x, y + pt.y); } }