mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r2781) Fix some of the issues with variables in .h files.
This commit is contained in:
parent
91353c841f
commit
29564f9fcf
|
@ -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;
|
||||
|
|
27
economy.c
27
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;
|
||||
|
|
16
economy.h
16
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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -936,8 +936,8 @@ static void PerformanceRatingDetailWndProc(Window *w, WindowEvent *e)
|
|||
for (i=0;i<NUM_SCORE;i++) {
|
||||
y += 20;
|
||||
val = _score_part[owner][i];
|
||||
needed = score_info[i].needed;
|
||||
score = score_info[i].score;
|
||||
needed = _score_info[i].needed;
|
||||
score = _score_info[i].score;
|
||||
// SCORE_TOTAL has his own rulez ;)
|
||||
if (i == SCORE_TOTAL) {
|
||||
needed = total_score;
|
||||
|
|
3
gui.h
3
gui.h
|
@ -121,8 +121,7 @@ void BuildFileList(void);
|
|||
void SetFiosType(const byte fiostype);
|
||||
|
||||
/* FIOS_TYPE_FILE, FIOS_TYPE_OLDFILE etc. different colours */
|
||||
static const byte _fios_colors[] = {13, 9, 9, 6, 5, 6, 5};
|
||||
|
||||
extern const byte _fios_colors[];
|
||||
|
||||
/* network gui */
|
||||
void ShowNetworkGameWindow(void);
|
||||
|
|
|
@ -29,9 +29,6 @@
|
|||
#include "network_client.h"
|
||||
#include "network_server.h"
|
||||
|
||||
#include "table/animcursors.h"
|
||||
|
||||
|
||||
/* Min/Max date for scenario editor */
|
||||
static const uint MinDate = 0; // 1920-01-01 (MAX_YEAR_BEGIN_REAL)
|
||||
static const uint MaxDate = 29220; // 2000-01-01
|
||||
|
|
|
@ -1158,6 +1158,9 @@ static const Widget _save_dialog_scen_widgets[] = {
|
|||
};
|
||||
|
||||
|
||||
// Colors for fios types
|
||||
const byte _fios_colors[] = {13, 9, 9, 6, 5, 6, 5};
|
||||
|
||||
void BuildFileList(void)
|
||||
{
|
||||
_fios_path_changed = true;
|
||||
|
|
|
@ -668,7 +668,7 @@ static void NTPEnum(NewTrackPathFinder *tpf, TileIndex tile, uint direction)
|
|||
FindLengthOfTunnelResult flotr;
|
||||
int estimation;
|
||||
|
||||
|
||||
|
||||
|
||||
// Need to have a special case for the start.
|
||||
// We shouldn't call the callback for the current tile.
|
||||
|
|
25
rail_cmd.c
25
rail_cmd.c
|
@ -26,6 +26,13 @@
|
|||
|
||||
extern uint16 _custom_sprites_base;
|
||||
|
||||
const byte _track_sloped_sprites[14] = {
|
||||
14, 15, 22, 13,
|
||||
0, 21, 17, 12,
|
||||
23, 0, 18, 20,
|
||||
19, 16
|
||||
};
|
||||
|
||||
void ShowTrainDepotWindow(TileIndex tile);
|
||||
|
||||
/* Format of rail map5 byte.
|
||||
|
@ -1587,6 +1594,24 @@ void DrawTrainDepotSprite(int x, int y, int image, int railtype)
|
|||
}
|
||||
}
|
||||
|
||||
void DrawDefaultWaypointSprite(int x, int y, int railtype)
|
||||
{
|
||||
const DrawTrackSeqStruct *dtss = _track_depot_layout_table[4];
|
||||
const RailtypeInfo *rti = GetRailTypeInfo(railtype);
|
||||
uint32 img;
|
||||
|
||||
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 |= PLAYER_SPRITE_COLOR(_local_player);
|
||||
DrawSprite(img, x + pt.x, y + pt.y);
|
||||
}
|
||||
}
|
||||
|
||||
typedef struct SetSignalsData {
|
||||
int cur;
|
||||
int cur_stack;
|
||||
|
|
|
@ -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;
|
||||
|
|
10
ship_gui.c
10
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;
|
||||
|
|
|
@ -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
|
||||
};
|
||||
|
|
|
@ -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
|
||||
};
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
16
waypoint.c
16
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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue