(svn r2781) Fix some of the issues with variables in .h files.

This commit is contained in:
ludde 2005-08-01 16:31:19 +00:00
parent 91353c841f
commit 29564f9fcf
21 changed files with 97 additions and 82 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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);

View File

@ -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);

View File

@ -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
View File

@ -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);

View File

@ -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

View File

@ -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;

View File

@ -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.

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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
};

View File

@ -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
};

View File

@ -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();

View File

@ -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) {

View File

@ -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;

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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);
}
}