mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r6045) -Cleanup: align all table-like structures using spaces, i.e. whitespace fixes only except for a few comments to make them uniform for the whole enum/struct.
This commit is contained in:
parent
5f4dbbd522
commit
480af9c917
|
@ -34,30 +34,30 @@ static uint _ai_service_interval;
|
|||
typedef void AiStateAction(Player *p);
|
||||
|
||||
enum {
|
||||
AIS_0 = 0,
|
||||
AIS_1 = 1,
|
||||
AIS_VEH_LOOP = 2,
|
||||
AIS_VEH_CHECK_REPLACE_VEHICLE = 3,
|
||||
AIS_VEH_DO_REPLACE_VEHICLE = 4,
|
||||
AIS_WANT_NEW_ROUTE = 5,
|
||||
AIS_BUILD_DEFAULT_RAIL_BLOCKS = 6,
|
||||
AIS_BUILD_RAIL = 7,
|
||||
AIS_BUILD_RAIL_VEH = 8,
|
||||
AIS_DELETE_RAIL_BLOCKS = 9,
|
||||
AIS_BUILD_DEFAULT_ROAD_BLOCKS = 10,
|
||||
AIS_BUILD_ROAD = 11,
|
||||
AIS_BUILD_ROAD_VEHICLES = 12,
|
||||
AIS_DELETE_ROAD_BLOCKS = 13,
|
||||
AIS_AIRPORT_STUFF = 14,
|
||||
AIS_0 = 0,
|
||||
AIS_1 = 1,
|
||||
AIS_VEH_LOOP = 2,
|
||||
AIS_VEH_CHECK_REPLACE_VEHICLE = 3,
|
||||
AIS_VEH_DO_REPLACE_VEHICLE = 4,
|
||||
AIS_WANT_NEW_ROUTE = 5,
|
||||
AIS_BUILD_DEFAULT_RAIL_BLOCKS = 6,
|
||||
AIS_BUILD_RAIL = 7,
|
||||
AIS_BUILD_RAIL_VEH = 8,
|
||||
AIS_DELETE_RAIL_BLOCKS = 9,
|
||||
AIS_BUILD_DEFAULT_ROAD_BLOCKS = 10,
|
||||
AIS_BUILD_ROAD = 11,
|
||||
AIS_BUILD_ROAD_VEHICLES = 12,
|
||||
AIS_DELETE_ROAD_BLOCKS = 13,
|
||||
AIS_AIRPORT_STUFF = 14,
|
||||
AIS_BUILD_DEFAULT_AIRPORT_BLOCKS = 15,
|
||||
AIS_BUILD_AIRCRAFT_VEHICLES = 16,
|
||||
AIS_CHECK_SHIP_STUFF = 17,
|
||||
AIS_BUILD_DEFAULT_SHIP_BLOCKS = 18,
|
||||
AIS_DO_SHIP_STUFF = 19,
|
||||
AIS_SELL_VEHICLE = 20,
|
||||
AIS_REMOVE_STATION = 21,
|
||||
AIS_REMOVE_TRACK = 22,
|
||||
AIS_REMOVE_SINGLE_RAIL_TILE = 23
|
||||
AIS_BUILD_AIRCRAFT_VEHICLES = 16,
|
||||
AIS_CHECK_SHIP_STUFF = 17,
|
||||
AIS_BUILD_DEFAULT_SHIP_BLOCKS = 18,
|
||||
AIS_DO_SHIP_STUFF = 19,
|
||||
AIS_SELL_VEHICLE = 20,
|
||||
AIS_REMOVE_STATION = 21,
|
||||
AIS_REMOVE_TRACK = 22,
|
||||
AIS_REMOVE_SINGLE_RAIL_TILE = 23
|
||||
};
|
||||
|
||||
|
||||
|
@ -1668,24 +1668,24 @@ static int AiBuildDefaultRailTrack(TileIndex tile, byte p0, byte p1, byte p2, by
|
|||
|
||||
static const byte _terraform_up_flags[] = {
|
||||
14, 13, 12, 11,
|
||||
10, 9, 8, 7,
|
||||
6, 5, 4, 3,
|
||||
2, 1, 0, 1,
|
||||
2, 1, 4, 1,
|
||||
2, 1, 8, 1,
|
||||
2, 1, 4, 2,
|
||||
2, 1
|
||||
10, 9, 8, 7,
|
||||
6, 5, 4, 3,
|
||||
2, 1, 0, 1,
|
||||
2, 1, 4, 1,
|
||||
2, 1, 8, 1,
|
||||
2, 1, 4, 2,
|
||||
2, 1
|
||||
};
|
||||
|
||||
static const byte _terraform_down_flags[] = {
|
||||
1, 2, 3, 4,
|
||||
5, 6, 1, 8,
|
||||
1, 2, 3, 4,
|
||||
5, 6, 1, 8,
|
||||
9, 10, 8, 12,
|
||||
4, 2, 0, 0,
|
||||
1, 2, 3, 4,
|
||||
5, 6, 2, 8,
|
||||
4, 2, 0, 0,
|
||||
1, 2, 3, 4,
|
||||
5, 6, 2, 8,
|
||||
9, 10, 1, 12,
|
||||
8, 4
|
||||
8, 4
|
||||
};
|
||||
|
||||
static void AiDoTerraformLand(TileIndex tile, int dir, int unk, int mode)
|
||||
|
@ -1865,14 +1865,14 @@ typedef struct AiRailFinder {
|
|||
} AiRailFinder;
|
||||
|
||||
static const byte _ai_table_15[4][8] = {
|
||||
{0, 0, 4, 3, 3, 1, 128+0, 64},
|
||||
{1, 1, 2, 0, 4, 2, 128+1, 65},
|
||||
{0, 2, 2, 3, 5, 1, 128+2, 66},
|
||||
{1, 3, 5, 0, 3, 2, 128+3, 67}
|
||||
{0, 0, 4, 3, 3, 1, 128 + 0, 64},
|
||||
{1, 1, 2, 0, 4, 2, 128 + 1, 65},
|
||||
{0, 2, 2, 3, 5, 1, 128 + 2, 66},
|
||||
{1, 3, 5, 0, 3, 2, 128 + 3, 67}
|
||||
};
|
||||
|
||||
static const byte _dir_table_1[] = {3, 9, 12, 6};
|
||||
static const byte _dir_table_2[] = {12, 6, 3, 9};
|
||||
static const byte _dir_table_1[] = { 3, 9, 12, 6};
|
||||
static const byte _dir_table_2[] = {12, 6, 3, 9};
|
||||
|
||||
|
||||
static bool AiIsTileBanned(const Player* p, TileIndex tile, byte val)
|
||||
|
@ -2729,8 +2729,9 @@ typedef struct AiRoadEnum {
|
|||
} AiRoadEnum;
|
||||
|
||||
static const byte _dir_by_track[] = {
|
||||
0,1,0,1,2,1, 0,0,
|
||||
2,3,3,2,3,0,
|
||||
0, 1, 0, 1, 2, 1,
|
||||
0, 0,
|
||||
2, 3, 3, 2, 3, 0,
|
||||
};
|
||||
|
||||
static void AiBuildRoadRecursive(AiRoadFinder *arf, TileIndex tile, int dir);
|
||||
|
|
|
@ -1703,36 +1703,36 @@ static void AircraftEventHandler_HeliEndLanding(Vehicle *v, const AirportFTAClas
|
|||
|
||||
typedef void AircraftStateHandler(Vehicle *v, const AirportFTAClass *Airport);
|
||||
static AircraftStateHandler * const _aircraft_state_handlers[] = {
|
||||
AircraftEventHandler_General, // TO_ALL = 0
|
||||
AircraftEventHandler_InHangar, // HANGAR = 1
|
||||
AircraftEventHandler_AtTerminal, // TERM1 = 2
|
||||
AircraftEventHandler_AtTerminal, // TERM2 = 3
|
||||
AircraftEventHandler_AtTerminal, // TERM3 = 4
|
||||
AircraftEventHandler_AtTerminal, // TERM4 = 5
|
||||
AircraftEventHandler_AtTerminal, // TERM5 = 6
|
||||
AircraftEventHandler_AtTerminal, // TERM6 = 7
|
||||
AircraftEventHandler_AtTerminal, // HELIPAD1 = 8
|
||||
AircraftEventHandler_AtTerminal, // HELIPAD2 = 9
|
||||
AircraftEventHandler_TakeOff, // TAKEOFF = 10
|
||||
AircraftEventHandler_StartTakeOff, // STARTTAKEOFF = 11
|
||||
AircraftEventHandler_EndTakeOff, // ENDTAKEOFF = 12
|
||||
AircraftEventHandler_HeliTakeOff, // HELITAKEOFF = 13
|
||||
AircraftEventHandler_Flying, // FLYING = 14
|
||||
AircraftEventHandler_Landing, // LANDING = 15
|
||||
AircraftEventHandler_EndLanding, // ENDLANDING = 16
|
||||
AircraftEventHandler_HeliLanding, // HELILANDING = 17
|
||||
AircraftEventHandler_HeliEndLanding,// HELIENDLANDING = 18
|
||||
AircraftEventHandler_AtTerminal, // TERM7 = 19
|
||||
AircraftEventHandler_AtTerminal, // TERM8 = 20
|
||||
AircraftEventHandler_AtTerminal, // HELIPAD3 = 21
|
||||
AircraftEventHandler_AtTerminal, // HELIPAD4 = 22
|
||||
AircraftEventHandler_General, // TO_ALL = 0
|
||||
AircraftEventHandler_InHangar, // HANGAR = 1
|
||||
AircraftEventHandler_AtTerminal, // TERM1 = 2
|
||||
AircraftEventHandler_AtTerminal, // TERM2 = 3
|
||||
AircraftEventHandler_AtTerminal, // TERM3 = 4
|
||||
AircraftEventHandler_AtTerminal, // TERM4 = 5
|
||||
AircraftEventHandler_AtTerminal, // TERM5 = 6
|
||||
AircraftEventHandler_AtTerminal, // TERM6 = 7
|
||||
AircraftEventHandler_AtTerminal, // HELIPAD1 = 8
|
||||
AircraftEventHandler_AtTerminal, // HELIPAD2 = 9
|
||||
AircraftEventHandler_TakeOff, // TAKEOFF = 10
|
||||
AircraftEventHandler_StartTakeOff, // STARTTAKEOFF = 11
|
||||
AircraftEventHandler_EndTakeOff, // ENDTAKEOFF = 12
|
||||
AircraftEventHandler_HeliTakeOff, // HELITAKEOFF = 13
|
||||
AircraftEventHandler_Flying, // FLYING = 14
|
||||
AircraftEventHandler_Landing, // LANDING = 15
|
||||
AircraftEventHandler_EndLanding, // ENDLANDING = 16
|
||||
AircraftEventHandler_HeliLanding, // HELILANDING = 17
|
||||
AircraftEventHandler_HeliEndLanding, // HELIENDLANDING = 18
|
||||
AircraftEventHandler_AtTerminal, // TERM7 = 19
|
||||
AircraftEventHandler_AtTerminal, // TERM8 = 20
|
||||
AircraftEventHandler_AtTerminal, // HELIPAD3 = 21
|
||||
AircraftEventHandler_AtTerminal, // HELIPAD4 = 22
|
||||
};
|
||||
|
||||
static void AirportClearBlock(const Vehicle* v, const AirportFTAClass* Airport)
|
||||
static void AirportClearBlock(const Vehicle *v, const AirportFTAClass *Airport)
|
||||
{
|
||||
// we have left the previous block, and entered the new one. Free the previous block
|
||||
if (Airport->layout[v->u.air.previous_pos].block != Airport->layout[v->u.air.pos].block) {
|
||||
Station* st = GetStation(v->u.air.targetairport);
|
||||
Station *st = GetStation(v->u.air.targetairport);
|
||||
|
||||
CLRBITS(st->airport_flags, Airport->layout[v->u.air.previous_pos].block);
|
||||
}
|
||||
|
|
148
aircraft_gui.c
148
aircraft_gui.c
|
@ -224,14 +224,14 @@ static void NewAircraftWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _new_aircraft_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 239, 0, 13, STR_A005_NEW_AIRCRAFT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 227, 14, 109, 0x401, STR_A025_AIRCRAFT_SELECTION_LIST},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 228, 239, 14, 109, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_IMGBTN, RESIZE_TB, 14, 0, 239, 110, 181, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 114, 182, 193, STR_A006_BUILD_AIRCRAFT, STR_A026_BUILD_THE_HIGHLIGHTED_AIRCRAFT},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 115, 227, 182, 193, STR_A037_RENAME, STR_A038_RENAME_AIRCRAFT_TYPE},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 14, 228, 239, 182, 193, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 239, 0, 13, STR_A005_NEW_AIRCRAFT, STR_018C_WINDOW_TITLE_DRAG_THIS },
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 227, 14, 109, 0x401, STR_A025_AIRCRAFT_SELECTION_LIST },
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 228, 239, 14, 109, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST },
|
||||
{ WWT_IMGBTN, RESIZE_TB, 14, 0, 239, 110, 181, 0x0, STR_NULL },
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 114, 182, 193, STR_A006_BUILD_AIRCRAFT, STR_A026_BUILD_THE_HIGHLIGHTED_AIRCRAFT },
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 115, 227, 182, 193, STR_A037_RENAME, STR_A038_RENAME_AIRCRAFT_TYPE },
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 14, 228, 239, 182, 193, 0x0, STR_RESIZE_BUTTON },
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -311,11 +311,11 @@ static void AircraftRefitWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _aircraft_refit_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 239, 0, 13, STR_A03C_REFIT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 239, 14, 145, 0x0, STR_A03E_SELECT_TYPE_OF_CARGO_FOR},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 239, 146, 167, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 239, 168, 179, STR_A03D_REFIT_AIRCRAFT, STR_A03F_REFIT_AIRCRAFT_TO_CARRY},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 239, 0, 13, STR_A03C_REFIT, STR_018C_WINDOW_TITLE_DRAG_THIS },
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 239, 14, 145, 0x0, STR_A03E_SELECT_TYPE_OF_CARGO_FOR },
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 239, 146, 167, 0x0, STR_NULL },
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 239, 168, 179, STR_A03D_REFIT_AIRCRAFT, STR_A03F_REFIT_AIRCRAFT_TO_CARRY },
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -467,20 +467,20 @@ do_change_service_int:
|
|||
|
||||
|
||||
static const Widget _aircraft_details_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 349, 0, 13, STR_A00C_DETAILS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 350, 389, 0, 13, STR_01AA_NAME, STR_A032_NAME_AIRCRAFT},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 389, 14, 55, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 389, 56, 101, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 10, 102, 107, STR_0188, STR_884D_INCREASE_SERVICING_INTERVAL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 10, 108, 113, STR_0189, STR_884E_DECREASE_SERVICING_INTERVAL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 11, 389, 102, 113, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 349, 0, 13, STR_A00C_DETAILS, STR_018C_WINDOW_TITLE_DRAG_THIS },
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 350, 389, 0, 13, STR_01AA_NAME, STR_A032_NAME_AIRCRAFT },
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 389, 14, 55, 0x0, STR_NULL },
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 389, 56, 101, 0x0, STR_NULL },
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 10, 102, 107, STR_0188, STR_884D_INCREASE_SERVICING_INTERVAL },
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 10, 108, 113, STR_0189, STR_884E_DECREASE_SERVICING_INTERVAL },
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 11, 389, 102, 113, 0x0, STR_NULL },
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const WindowDesc _aircraft_details_desc = {
|
||||
-1,-1, 390, 114,
|
||||
WC_VEHICLE_DETAILS,WC_VEHICLE_VIEW,
|
||||
-1, -1, 390, 114,
|
||||
WC_VEHICLE_DETAILS, WC_VEHICLE_VIEW,
|
||||
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
|
||||
_aircraft_details_widgets,
|
||||
AircraftDetailsWndProc
|
||||
|
@ -505,21 +505,21 @@ static void ShowAircraftDetailsWindow(const Vehicle *v)
|
|||
|
||||
|
||||
static const Widget _aircraft_view_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 237, 0, 13, STR_A00A, STR_018C_WINDOW_TITLE_DRAG_THIS },
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 238, 249, 0, 13, 0x0, STR_STICKY_BUTTON },
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 231, 14, 103, 0x0, STR_NULL },
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 229, 16, 101, 0x0, STR_NULL },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_RTB, 14, 0, 237, 104, 115, 0x0, STR_A027_CURRENT_AIRCRAFT_ACTION },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 14, 31, 0x2AB, STR_A029_CENTER_MAIN_VIEW_ON_AIRCRAFT },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, 0x2AF, STR_A02A_SEND_AIRCRAFT_TO_HANGAR },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 50, 67, 0x2B4, STR_A03B_REFIT_AIRCRAFT_TO_CARRY },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 68, 85, 0x2B2, STR_A028_SHOW_AIRCRAFT_S_ORDERS },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 86, 103, 0x2B3, STR_A02B_SHOW_AIRCRAFT_DETAILS },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, SPR_CLONE_AIRCRAFT, STR_CLONE_AIRCRAFT_INFO },
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 232, 249, 104, 103, 0x0, STR_NULL },
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 238, 249, 104, 115, 0x0, STR_NULL },
|
||||
{ WIDGETS_END }
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 237, 0, 13, STR_A00A, STR_018C_WINDOW_TITLE_DRAG_THIS },
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 238, 249, 0, 13, 0x0, STR_STICKY_BUTTON },
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 231, 14, 103, 0x0, STR_NULL },
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 229, 16, 101, 0x0, STR_NULL },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_RTB, 14, 0, 237, 104, 115, 0x0, STR_A027_CURRENT_AIRCRAFT_ACTION },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 14, 31, 0x2AB, STR_A029_CENTER_MAIN_VIEW_ON_AIRCRAFT },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, 0x2AF, STR_A02A_SEND_AIRCRAFT_TO_HANGAR },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 50, 67, 0x2B4, STR_A03B_REFIT_AIRCRAFT_TO_CARRY },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 68, 85, 0x2B2, STR_A028_SHOW_AIRCRAFT_S_ORDERS },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 86, 103, 0x2B3, STR_A02B_SHOW_AIRCRAFT_DETAILS },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, SPR_CLONE_AIRCRAFT, STR_CLONE_AIRCRAFT_INFO },
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 232, 249, 104, 103, 0x0, STR_NULL },
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 238, 249, 104, 115, 0x0, STR_NULL },
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
||||
|
@ -907,19 +907,19 @@ static void AircraftDepotWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _aircraft_depot_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 318, 0, 13, STR_A002_AIRCRAFT_HANGAR, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 319, 330, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 296, 318, 14, 13, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_LRTB, 14, 296, 318, 14, 61, 0x2A9, STR_A023_DRAG_AIRCRAFT_TO_HERE_TO},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 318, 0, 13, STR_A002_AIRCRAFT_HANGAR, STR_018C_WINDOW_TITLE_DRAG_THIS },
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 319, 330, 0, 13, 0x0, STR_STICKY_BUTTON },
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 296, 318, 14, 13, 0x0, STR_NULL },
|
||||
{ WWT_IMGBTN, RESIZE_LRTB, 14, 296, 318, 14, 61, 0x2A9, STR_A023_DRAG_AIRCRAFT_TO_HERE_TO },
|
||||
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 295, 14, 61, 0x204, STR_A021_AIRCRAFT_CLICK_ON_AIRCRAFT},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 319, 330, 14, 61, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 105, 62, 73, STR_A003_NEW_AIRCRAFT, STR_A022_BUILD_NEW_AIRCRAFT},
|
||||
{WWT_NODISTXTBTN, RESIZE_TB, 14, 106, 212, 62, 73, STR_CLONE_AIRCRAFT, STR_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 213, 318, 62, 73, STR_00E4_LOCATION, STR_A024_CENTER_MAIN_VIEW_ON_HANGAR},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 319, 318, 62, 73, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 319, 330, 62, 73, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 295, 14, 61, 0x204, STR_A021_AIRCRAFT_CLICK_ON_AIRCRAFT },
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 319, 330, 14, 61, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST },
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 105, 62, 73, STR_A003_NEW_AIRCRAFT, STR_A022_BUILD_NEW_AIRCRAFT },
|
||||
{WWT_NODISTXTBTN, RESIZE_TB, 14, 106, 212, 62, 73, STR_CLONE_AIRCRAFT, STR_CLONE_AIRCRAFT_INFO_HANGAR_WINDOW },
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 213, 318, 62, 73, STR_00E4_LOCATION, STR_A024_CENTER_MAIN_VIEW_ON_HANGAR },
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 319, 318, 62, 73, 0x0, STR_NULL },
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 319, 330, 62, 73, 0x0, STR_RESIZE_BUTTON },
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -971,34 +971,34 @@ static void DrawSmallOrderList(const Vehicle *v, int x, int y)
|
|||
|
||||
|
||||
static const Widget _player_aircraft_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 247, 0, 13, STR_A009_AIRCRAFT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 259, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 247, 26, 169, 0x401, STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 248, 259, 26, 169, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 124, 170, 181, STR_A003_NEW_AIRCRAFT, STR_A020_BUILD_NEW_AIRCRAFT_REQUIRES},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 125, 247, 170, 181, STR_REPLACE_VEHICLES, STR_REPLACE_HELP},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 248, 247, 170, 181, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 248, 259, 170, 181, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 247, 0, 13, STR_A009_AIRCRAFT, STR_018C_WINDOW_TITLE_DRAG_THIS },
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON },
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP },
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP },
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP },
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 259, 14, 25, 0x0, STR_NULL },
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 247, 26, 169, 0x401, STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT },
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 248, 259, 26, 169, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST },
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 124, 170, 181, STR_A003_NEW_AIRCRAFT, STR_A020_BUILD_NEW_AIRCRAFT_REQUIRES },
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 125, 247, 170, 181, STR_REPLACE_VEHICLES, STR_REPLACE_HELP },
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 248, 247, 170, 181, 0x0, STR_NULL },
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 248, 259, 170, 181, 0x0, STR_RESIZE_BUTTON },
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _other_player_aircraft_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 247, 0, 13, STR_A009_AIRCRAFT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 259, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 247, 26, 169, 0x401, STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 248, 259, 26, 169, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 0, 247, 170, 181, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 248, 259, 170, 181, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 247, 0, 13, STR_A009_AIRCRAFT, STR_018C_WINDOW_TITLE_DRAG_THIS },
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON },
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP },
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP },
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP },
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 259, 14, 25, 0x0, STR_NULL },
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 247, 26, 169, 0x401, STR_A01F_AIRCRAFT_CLICK_ON_AIRCRAFT },
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 248, 259, 26, 169, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST },
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 0, 247, 170, 181, 0x0, STR_NULL },
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 248, 259, 170, 181, 0x0, STR_RESIZE_BUTTON },
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
84
airport.h
84
airport.h
|
@ -3,22 +3,22 @@
|
|||
#ifndef AIRPORT_H
|
||||
#define AIRPORT_H
|
||||
|
||||
enum {MAX_TERMINALS = 10};
|
||||
enum {MAX_HELIPADS = 4};
|
||||
enum {MAX_TERMINALS = 10};
|
||||
enum {MAX_HELIPADS = 4};
|
||||
enum {MAX_ELEMENTS = 255};
|
||||
enum {MAX_HEADINGS = 22};
|
||||
enum {MAX_HEADINGS = 22};
|
||||
|
||||
// Airport types
|
||||
enum {
|
||||
AT_SMALL = 0,
|
||||
AT_LARGE = 1,
|
||||
AT_HELIPORT = 2,
|
||||
AT_METROPOLITAN = 3,
|
||||
AT_INTERNATIONAL = 4,
|
||||
AT_COMMUTER = 5,
|
||||
AT_HELIDEPOT = 6,
|
||||
AT_INTERCON = 7,
|
||||
AT_HELISTATION = 8,
|
||||
AT_SMALL = 0,
|
||||
AT_LARGE = 1,
|
||||
AT_HELIPORT = 2,
|
||||
AT_METROPOLITAN = 3,
|
||||
AT_INTERNATIONAL = 4,
|
||||
AT_COMMUTER = 5,
|
||||
AT_HELIDEPOT = 6,
|
||||
AT_INTERCON = 7,
|
||||
AT_HELISTATION = 8,
|
||||
AT_OILRIG = 15
|
||||
};
|
||||
|
||||
|
@ -30,28 +30,28 @@ enum {
|
|||
};
|
||||
|
||||
enum {
|
||||
AMED_NOSPDCLAMP = 1<<0,
|
||||
AMED_TAKEOFF = 1<<1,
|
||||
AMED_SLOWTURN = 1<<2,
|
||||
AMED_LAND = 1<<3,
|
||||
AMED_EXACTPOS = 1<<4,
|
||||
AMED_BRAKE = 1<<5,
|
||||
AMED_HELI_RAISE = 1<<6,
|
||||
AMED_HELI_LOWER = 1<<7,
|
||||
AMED_NOSPDCLAMP = 1 << 0,
|
||||
AMED_TAKEOFF = 1 << 1,
|
||||
AMED_SLOWTURN = 1 << 2,
|
||||
AMED_LAND = 1 << 3,
|
||||
AMED_EXACTPOS = 1 << 4,
|
||||
AMED_BRAKE = 1 << 5,
|
||||
AMED_HELI_RAISE = 1 << 6,
|
||||
AMED_HELI_LOWER = 1 << 7,
|
||||
};
|
||||
|
||||
/* Movement States on Airports (headings target) */
|
||||
enum {
|
||||
TO_ALL = 0,
|
||||
HANGAR = 1,
|
||||
TERM1 = 2,
|
||||
TERM2 = 3,
|
||||
TERM3 = 4,
|
||||
TERM4 = 5,
|
||||
TERM5 = 6,
|
||||
TERM6 = 7,
|
||||
HELIPAD1 = 8,
|
||||
HELIPAD2 = 9,
|
||||
TO_ALL = 0,
|
||||
HANGAR = 1,
|
||||
TERM1 = 2,
|
||||
TERM2 = 3,
|
||||
TERM3 = 4,
|
||||
TERM4 = 5,
|
||||
TERM5 = 6,
|
||||
TERM6 = 7,
|
||||
HELIPAD1 = 8,
|
||||
HELIPAD2 = 9,
|
||||
TAKEOFF = 10,
|
||||
STARTTAKEOFF = 11,
|
||||
ENDTAKEOFF = 12,
|
||||
|
@ -75,18 +75,18 @@ static const byte _airport_terminal_flag[] = {0, 1, 2, 3, 4, 5, 22, 23, 0, 0, 6
|
|||
/* Movement Blocks on Airports */
|
||||
// blocks (eg_airport_flags)
|
||||
enum {
|
||||
TERM1_block = 1 << 0,
|
||||
TERM2_block = 1 << 1,
|
||||
TERM3_block = 1 << 2,
|
||||
TERM4_block = 1 << 3,
|
||||
TERM5_block = 1 << 4,
|
||||
TERM6_block = 1 << 5,
|
||||
HELIPAD1_block = 1 << 6,
|
||||
HELIPAD2_block = 1 << 7,
|
||||
RUNWAY_IN_OUT_block = 1 << 8,
|
||||
RUNWAY_IN_block = 1 << 8,
|
||||
AIRPORT_BUSY_block = 1 << 8,
|
||||
RUNWAY_OUT_block = 1 << 9,
|
||||
TERM1_block = 1 << 0,
|
||||
TERM2_block = 1 << 1,
|
||||
TERM3_block = 1 << 2,
|
||||
TERM4_block = 1 << 3,
|
||||
TERM5_block = 1 << 4,
|
||||
TERM6_block = 1 << 5,
|
||||
HELIPAD1_block = 1 << 6,
|
||||
HELIPAD2_block = 1 << 7,
|
||||
RUNWAY_IN_OUT_block = 1 << 8,
|
||||
RUNWAY_IN_block = 1 << 8,
|
||||
AIRPORT_BUSY_block = 1 << 8,
|
||||
RUNWAY_OUT_block = 1 << 9,
|
||||
TAXIWAY_BUSY_block = 1 << 10,
|
||||
OUT_WAY_block = 1 << 11,
|
||||
IN_WAY_block = 1 << 12,
|
||||
|
|
|
@ -113,12 +113,12 @@ static void BuildAirToolbWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _air_toolbar_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 73, 0, 13, STR_A000_AIRPORTS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 7, 74, 85, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 41, 14, 35, 0x2E8, STR_A01E_BUILD_AIRPORT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 42, 63, 14, 35, 0x2BF, STR_018D_DEMOLISH_BUILDINGS_ETC},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 64, 85, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 73, 0, 13, STR_A000_AIRPORTS, STR_018C_WINDOW_TITLE_DRAG_THIS },
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 7, 74, 85, 0, 13, 0x0, STR_STICKY_BUTTON },
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 41, 14, 35, 0x2E8, STR_A01E_BUILD_AIRPORT },
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 42, 63, 14, 35, 0x2BF, STR_018D_DEMOLISH_BUILDINGS_ETC },
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 64, 85, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP },
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
1276
airport_movement.h
1276
airport_movement.h
File diff suppressed because it is too large
Load Diff
16
bridge_gui.c
16
bridge_gui.c
|
@ -79,10 +79,10 @@ static void BuildBridgeWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _build_bridge_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 199, 0, 13, STR_100D_SELECT_RAIL_BRIDGE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_MATRIX, RESIZE_NONE, 7, 0, 187, 14, 101, 0x401, STR_101F_BRIDGE_SELECTION_CLICK},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, 7, 188, 199, 14, 101, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 199, 0, 13, STR_100D_SELECT_RAIL_BRIDGE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_MATRIX, RESIZE_NONE, 7, 0, 187, 14, 101, 0x401, STR_101F_BRIDGE_SELECTION_CLICK},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, 7, 188, 199, 14, 101, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -96,10 +96,10 @@ static const WindowDesc _build_bridge_desc = {
|
|||
|
||||
|
||||
static const Widget _build_road_bridge_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 199, 0, 13, STR_1803_SELECT_ROAD_BRIDGE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_MATRIX, RESIZE_NONE, 7, 0, 187, 14, 101, 0x401, STR_101F_BRIDGE_SELECTION_CLICK},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, 7, 188, 199, 14, 101, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 199, 0, 13, STR_1803_SELECT_ROAD_BRIDGE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_MATRIX, RESIZE_NONE, 7, 0, 187, 14, 101, 0x401, STR_101F_BRIDGE_SELECTION_CLICK},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, 7, 188, 199, 14, 101, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
26
clear_cmd.c
26
clear_cmd.c
|
@ -778,17 +778,17 @@ void InitializeClearLand(void)
|
|||
}
|
||||
|
||||
const TileTypeProcs _tile_type_clear_procs = {
|
||||
DrawTile_Clear, /* draw_tile_proc */
|
||||
GetSlopeZ_Clear, /* get_slope_z_proc */
|
||||
ClearTile_Clear, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Clear, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Clear, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Clear, /* get_tile_track_status_proc */
|
||||
ClickTile_Clear, /* click_tile_proc */
|
||||
AnimateTile_Clear, /* animate_tile_proc */
|
||||
TileLoop_Clear, /* tile_loop_clear */
|
||||
ChangeTileOwner_Clear, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
NULL, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Clear, /* get_slope_tileh_proc */
|
||||
DrawTile_Clear, /* draw_tile_proc */
|
||||
GetSlopeZ_Clear, /* get_slope_z_proc */
|
||||
ClearTile_Clear, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Clear, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Clear, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Clear, /* get_tile_track_status_proc */
|
||||
ClickTile_Clear, /* click_tile_proc */
|
||||
AnimateTile_Clear, /* animate_tile_proc */
|
||||
TileLoop_Clear, /* tile_loop_clear */
|
||||
ChangeTileOwner_Clear, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
NULL, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Clear, /* get_slope_tileh_proc */
|
||||
};
|
||||
|
|
216
command.h
216
command.h
|
@ -4,150 +4,150 @@
|
|||
#define COMMAND_H
|
||||
|
||||
enum {
|
||||
CMD_BUILD_RAILROAD_TRACK = 0,
|
||||
CMD_REMOVE_RAILROAD_TRACK = 1,
|
||||
CMD_BUILD_SINGLE_RAIL = 2,
|
||||
CMD_REMOVE_SINGLE_RAIL = 3,
|
||||
CMD_LANDSCAPE_CLEAR = 4,
|
||||
CMD_BUILD_BRIDGE = 5,
|
||||
CMD_BUILD_RAILROAD_STATION = 6,
|
||||
CMD_BUILD_TRAIN_DEPOT = 7,
|
||||
CMD_BUILD_SIGNALS = 8,
|
||||
CMD_REMOVE_SIGNALS = 9,
|
||||
CMD_TERRAFORM_LAND = 10,
|
||||
CMD_PURCHASE_LAND_AREA = 11,
|
||||
CMD_SELL_LAND_AREA = 12,
|
||||
CMD_BUILD_TUNNEL = 13,
|
||||
CMD_BUILD_RAILROAD_TRACK = 0,
|
||||
CMD_REMOVE_RAILROAD_TRACK = 1,
|
||||
CMD_BUILD_SINGLE_RAIL = 2,
|
||||
CMD_REMOVE_SINGLE_RAIL = 3,
|
||||
CMD_LANDSCAPE_CLEAR = 4,
|
||||
CMD_BUILD_BRIDGE = 5,
|
||||
CMD_BUILD_RAILROAD_STATION = 6,
|
||||
CMD_BUILD_TRAIN_DEPOT = 7,
|
||||
CMD_BUILD_SIGNALS = 8,
|
||||
CMD_REMOVE_SIGNALS = 9,
|
||||
CMD_TERRAFORM_LAND = 10,
|
||||
CMD_PURCHASE_LAND_AREA = 11,
|
||||
CMD_SELL_LAND_AREA = 12,
|
||||
CMD_BUILD_TUNNEL = 13,
|
||||
|
||||
CMD_REMOVE_FROM_RAILROAD_STATION = 14,
|
||||
CMD_CONVERT_RAIL = 15,
|
||||
CMD_REMOVE_FROM_RAILROAD_STATION = 14,
|
||||
CMD_CONVERT_RAIL = 15,
|
||||
|
||||
CMD_BUILD_TRAIN_WAYPOINT = 16,
|
||||
CMD_RENAME_WAYPOINT = 17,
|
||||
CMD_REMOVE_TRAIN_WAYPOINT = 18,
|
||||
CMD_BUILD_TRAIN_WAYPOINT = 16,
|
||||
CMD_RENAME_WAYPOINT = 17,
|
||||
CMD_REMOVE_TRAIN_WAYPOINT = 18,
|
||||
|
||||
CMD_BUILD_ROAD_STOP = 21,
|
||||
CMD_BUILD_LONG_ROAD = 23,
|
||||
CMD_REMOVE_LONG_ROAD = 24,
|
||||
CMD_BUILD_ROAD = 25,
|
||||
CMD_REMOVE_ROAD = 26,
|
||||
CMD_BUILD_ROAD_DEPOT = 27,
|
||||
CMD_BUILD_ROAD_STOP = 21,
|
||||
CMD_BUILD_LONG_ROAD = 23,
|
||||
CMD_REMOVE_LONG_ROAD = 24,
|
||||
CMD_BUILD_ROAD = 25,
|
||||
CMD_REMOVE_ROAD = 26,
|
||||
CMD_BUILD_ROAD_DEPOT = 27,
|
||||
|
||||
CMD_BUILD_AIRPORT = 29,
|
||||
CMD_BUILD_AIRPORT = 29,
|
||||
|
||||
CMD_BUILD_DOCK = 30,
|
||||
CMD_BUILD_DOCK = 30,
|
||||
|
||||
CMD_BUILD_SHIP_DEPOT = 31,
|
||||
CMD_BUILD_BUOY = 32,
|
||||
CMD_BUILD_SHIP_DEPOT = 31,
|
||||
CMD_BUILD_BUOY = 32,
|
||||
|
||||
CMD_PLANT_TREE = 33,
|
||||
CMD_PLANT_TREE = 33,
|
||||
|
||||
CMD_BUILD_RAIL_VEHICLE = 34,
|
||||
CMD_MOVE_RAIL_VEHICLE = 35,
|
||||
CMD_BUILD_RAIL_VEHICLE = 34,
|
||||
CMD_MOVE_RAIL_VEHICLE = 35,
|
||||
|
||||
CMD_START_STOP_TRAIN = 36,
|
||||
CMD_START_STOP_TRAIN = 36,
|
||||
|
||||
CMD_SELL_RAIL_WAGON = 38,
|
||||
CMD_SELL_RAIL_WAGON = 38,
|
||||
|
||||
CMD_TRAIN_GOTO_DEPOT = 39,
|
||||
CMD_FORCE_TRAIN_PROCEED = 40,
|
||||
CMD_REVERSE_TRAIN_DIRECTION = 41,
|
||||
CMD_TRAIN_GOTO_DEPOT = 39,
|
||||
CMD_FORCE_TRAIN_PROCEED = 40,
|
||||
CMD_REVERSE_TRAIN_DIRECTION = 41,
|
||||
|
||||
CMD_MODIFY_ORDER = 42,
|
||||
CMD_SKIP_ORDER = 43,
|
||||
CMD_DELETE_ORDER = 44,
|
||||
CMD_INSERT_ORDER = 45,
|
||||
CMD_MODIFY_ORDER = 42,
|
||||
CMD_SKIP_ORDER = 43,
|
||||
CMD_DELETE_ORDER = 44,
|
||||
CMD_INSERT_ORDER = 45,
|
||||
|
||||
CMD_CHANGE_SERVICE_INT = 46,
|
||||
CMD_CHANGE_SERVICE_INT = 46,
|
||||
|
||||
CMD_BUILD_INDUSTRY = 47,
|
||||
CMD_BUILD_INDUSTRY = 47,
|
||||
|
||||
CMD_BUILD_COMPANY_HQ = 48,
|
||||
CMD_SET_PLAYER_FACE = 49,
|
||||
CMD_SET_PLAYER_COLOR = 50,
|
||||
CMD_BUILD_COMPANY_HQ = 48,
|
||||
CMD_SET_PLAYER_FACE = 49,
|
||||
CMD_SET_PLAYER_COLOR = 50,
|
||||
|
||||
CMD_INCREASE_LOAN = 51,
|
||||
CMD_DECREASE_LOAN = 52,
|
||||
CMD_INCREASE_LOAN = 51,
|
||||
CMD_DECREASE_LOAN = 52,
|
||||
|
||||
CMD_WANT_ENGINE_PREVIEW = 53,
|
||||
CMD_WANT_ENGINE_PREVIEW = 53,
|
||||
|
||||
CMD_NAME_VEHICLE = 54,
|
||||
CMD_RENAME_ENGINE = 55,
|
||||
CMD_CHANGE_COMPANY_NAME = 56,
|
||||
CMD_CHANGE_PRESIDENT_NAME = 57,
|
||||
CMD_RENAME_STATION = 58,
|
||||
CMD_NAME_VEHICLE = 54,
|
||||
CMD_RENAME_ENGINE = 55,
|
||||
CMD_CHANGE_COMPANY_NAME = 56,
|
||||
CMD_CHANGE_PRESIDENT_NAME = 57,
|
||||
CMD_RENAME_STATION = 58,
|
||||
|
||||
CMD_SELL_AIRCRAFT = 59,
|
||||
CMD_START_STOP_AIRCRAFT = 60,
|
||||
CMD_BUILD_AIRCRAFT = 61,
|
||||
CMD_SEND_AIRCRAFT_TO_HANGAR = 62,
|
||||
CMD_REFIT_AIRCRAFT = 64,
|
||||
CMD_SELL_AIRCRAFT = 59,
|
||||
CMD_START_STOP_AIRCRAFT = 60,
|
||||
CMD_BUILD_AIRCRAFT = 61,
|
||||
CMD_SEND_AIRCRAFT_TO_HANGAR = 62,
|
||||
CMD_REFIT_AIRCRAFT = 64,
|
||||
|
||||
CMD_PLACE_SIGN = 65,
|
||||
CMD_RENAME_SIGN = 66,
|
||||
CMD_PLACE_SIGN = 65,
|
||||
CMD_RENAME_SIGN = 66,
|
||||
|
||||
CMD_BUILD_ROAD_VEH = 67,
|
||||
CMD_START_STOP_ROADVEH = 68,
|
||||
CMD_SELL_ROAD_VEH = 69,
|
||||
CMD_SEND_ROADVEH_TO_DEPOT = 70,
|
||||
CMD_TURN_ROADVEH = 71,
|
||||
CMD_REFIT_ROAD_VEH = 72,
|
||||
CMD_BUILD_ROAD_VEH = 67,
|
||||
CMD_START_STOP_ROADVEH = 68,
|
||||
CMD_SELL_ROAD_VEH = 69,
|
||||
CMD_SEND_ROADVEH_TO_DEPOT = 70,
|
||||
CMD_TURN_ROADVEH = 71,
|
||||
CMD_REFIT_ROAD_VEH = 72,
|
||||
|
||||
CMD_PAUSE = 73,
|
||||
CMD_PAUSE = 73,
|
||||
|
||||
CMD_BUY_SHARE_IN_COMPANY = 74,
|
||||
CMD_SELL_SHARE_IN_COMPANY = 75,
|
||||
CMD_BUY_COMPANY = 76,
|
||||
CMD_BUY_SHARE_IN_COMPANY = 74,
|
||||
CMD_SELL_SHARE_IN_COMPANY = 75,
|
||||
CMD_BUY_COMPANY = 76,
|
||||
|
||||
CMD_BUILD_TOWN = 77,
|
||||
CMD_BUILD_TOWN = 77,
|
||||
|
||||
CMD_RENAME_TOWN = 80,
|
||||
CMD_DO_TOWN_ACTION = 81,
|
||||
CMD_RENAME_TOWN = 80,
|
||||
CMD_DO_TOWN_ACTION = 81,
|
||||
|
||||
CMD_SET_ROAD_DRIVE_SIDE = 82,
|
||||
CMD_SET_ROAD_DRIVE_SIDE = 82,
|
||||
|
||||
CMD_CHANGE_DIFFICULTY_LEVEL = 85,
|
||||
CMD_CHANGE_DIFFICULTY_LEVEL = 85,
|
||||
|
||||
CMD_START_STOP_SHIP = 86,
|
||||
CMD_SELL_SHIP = 87,
|
||||
CMD_BUILD_SHIP = 88,
|
||||
CMD_SEND_SHIP_TO_DEPOT = 89,
|
||||
CMD_REFIT_SHIP = 91,
|
||||
CMD_START_STOP_SHIP = 86,
|
||||
CMD_SELL_SHIP = 87,
|
||||
CMD_BUILD_SHIP = 88,
|
||||
CMD_SEND_SHIP_TO_DEPOT = 89,
|
||||
CMD_REFIT_SHIP = 91,
|
||||
|
||||
CMD_CLONE_ORDER = 99,
|
||||
CMD_CLEAR_AREA = 100,
|
||||
CMD_CLONE_ORDER = 99,
|
||||
CMD_CLEAR_AREA = 100,
|
||||
|
||||
CMD_MONEY_CHEAT = 102,
|
||||
CMD_BUILD_CANAL = 103,
|
||||
CMD_MONEY_CHEAT = 102,
|
||||
CMD_BUILD_CANAL = 103,
|
||||
|
||||
CMD_PLAYER_CTRL = 104, // used in multiplayer to create a new player etc.
|
||||
CMD_LEVEL_LAND = 105, // level land
|
||||
CMD_PLAYER_CTRL = 104, // used in multiplayer to create a new player etc.
|
||||
CMD_LEVEL_LAND = 105, // level land
|
||||
|
||||
CMD_REFIT_RAIL_VEHICLE = 106,
|
||||
CMD_RESTORE_ORDER_INDEX = 107,
|
||||
CMD_BUILD_LOCK = 108,
|
||||
CMD_REFIT_RAIL_VEHICLE = 106,
|
||||
CMD_RESTORE_ORDER_INDEX = 107,
|
||||
CMD_BUILD_LOCK = 108,
|
||||
|
||||
CMD_BUILD_SIGNAL_TRACK = 110,
|
||||
CMD_REMOVE_SIGNAL_TRACK = 111,
|
||||
CMD_BUILD_SIGNAL_TRACK = 110,
|
||||
CMD_REMOVE_SIGNAL_TRACK = 111,
|
||||
|
||||
CMD_GIVE_MONEY = 113,
|
||||
CMD_CHANGE_PATCH_SETTING = 114,
|
||||
CMD_GIVE_MONEY = 113,
|
||||
CMD_CHANGE_PATCH_SETTING = 114,
|
||||
|
||||
CMD_REPLACE_VEHICLE = 115,
|
||||
CMD_REPLACE_VEHICLE = 115,
|
||||
|
||||
CMD_CLONE_VEHICLE = 116,
|
||||
CMD_CLONE_VEHICLE = 116,
|
||||
|
||||
};
|
||||
|
||||
enum {
|
||||
DC_EXEC = 1,
|
||||
DC_AUTO = 2, // don't allow building on structures
|
||||
DC_QUERY_COST = 4, // query cost only, don't build.
|
||||
DC_NO_WATER = 8, // don't allow building on water
|
||||
DC_NO_RAIL_OVERLAP = 0x10, // don't allow overlap of rails (used in buildrail)
|
||||
DC_AI_BUILDING = 0x20, // special building rules for AI
|
||||
DC_NO_TOWN_RATING = 0x40, // town rating does not disallow you from building
|
||||
DC_FORCETEST = 0x80, // force test too.
|
||||
DC_EXEC = 0x01,
|
||||
DC_AUTO = 0x02, // don't allow building on structures
|
||||
DC_QUERY_COST = 0x04, // query cost only, don't build.
|
||||
DC_NO_WATER = 0x08, // don't allow building on water
|
||||
DC_NO_RAIL_OVERLAP = 0x10, // don't allow overlap of rails (used in buildrail)
|
||||
DC_AI_BUILDING = 0x20, // special building rules for AI
|
||||
DC_NO_TOWN_RATING = 0x40, // town rating does not disallow you from building
|
||||
DC_FORCETEST = 0x80, // force test too.
|
||||
|
||||
CMD_ERROR = ((int32)0x80000000),
|
||||
};
|
||||
|
@ -155,11 +155,11 @@ enum {
|
|||
#define CMD_MSG(x) ((x)<<16)
|
||||
|
||||
enum {
|
||||
CMD_AUTO = 0x200,
|
||||
CMD_NO_WATER = 0x400,
|
||||
CMD_NETWORK_COMMAND = 0x800, // execute the command without sending it on the network
|
||||
CMD_AUTO = 0x0200,
|
||||
CMD_NO_WATER = 0x0400,
|
||||
CMD_NETWORK_COMMAND = 0x0800, // execute the command without sending it on the network
|
||||
CMD_NO_TEST_IF_IN_NETWORK = 0x1000, // When enabled, the command will bypass the no-DC_EXEC round if in network
|
||||
CMD_SHOW_NO_ERROR = 0x2000,
|
||||
CMD_SHOW_NO_ERROR = 0x2000,
|
||||
};
|
||||
|
||||
/** Command flags for the command table
|
||||
|
|
24
date.c
24
date.c
|
@ -34,18 +34,18 @@ void SetDate(Date date)
|
|||
|
||||
#define M(a, b) ((a << 5) | b)
|
||||
static const uint16 _month_date_from_year_day[] = {
|
||||
M(0,1),M(0,2),M(0,3),M(0,4),M(0,5),M(0,6),M(0,7),M(0,8),M(0,9),M(0,10),M(0,11),M(0,12),M(0,13),M(0,14),M(0,15),M(0,16),M(0,17),M(0,18),M(0,19),M(0,20),M(0,21),M(0,22),M(0,23),M(0,24),M(0,25),M(0,26),M(0,27),M(0,28),M(0,29),M(0,30),M(0,31),
|
||||
M(1,1),M(1,2),M(1,3),M(1,4),M(1,5),M(1,6),M(1,7),M(1,8),M(1,9),M(1,10),M(1,11),M(1,12),M(1,13),M(1,14),M(1,15),M(1,16),M(1,17),M(1,18),M(1,19),M(1,20),M(1,21),M(1,22),M(1,23),M(1,24),M(1,25),M(1,26),M(1,27),M(1,28),M(1,29),
|
||||
M(2,1),M(2,2),M(2,3),M(2,4),M(2,5),M(2,6),M(2,7),M(2,8),M(2,9),M(2,10),M(2,11),M(2,12),M(2,13),M(2,14),M(2,15),M(2,16),M(2,17),M(2,18),M(2,19),M(2,20),M(2,21),M(2,22),M(2,23),M(2,24),M(2,25),M(2,26),M(2,27),M(2,28),M(2,29),M(2,30),M(2,31),
|
||||
M(3,1),M(3,2),M(3,3),M(3,4),M(3,5),M(3,6),M(3,7),M(3,8),M(3,9),M(3,10),M(3,11),M(3,12),M(3,13),M(3,14),M(3,15),M(3,16),M(3,17),M(3,18),M(3,19),M(3,20),M(3,21),M(3,22),M(3,23),M(3,24),M(3,25),M(3,26),M(3,27),M(3,28),M(3,29),M(3,30),
|
||||
M(4,1),M(4,2),M(4,3),M(4,4),M(4,5),M(4,6),M(4,7),M(4,8),M(4,9),M(4,10),M(4,11),M(4,12),M(4,13),M(4,14),M(4,15),M(4,16),M(4,17),M(4,18),M(4,19),M(4,20),M(4,21),M(4,22),M(4,23),M(4,24),M(4,25),M(4,26),M(4,27),M(4,28),M(4,29),M(4,30),M(4,31),
|
||||
M(5,1),M(5,2),M(5,3),M(5,4),M(5,5),M(5,6),M(5,7),M(5,8),M(5,9),M(5,10),M(5,11),M(5,12),M(5,13),M(5,14),M(5,15),M(5,16),M(5,17),M(5,18),M(5,19),M(5,20),M(5,21),M(5,22),M(5,23),M(5,24),M(5,25),M(5,26),M(5,27),M(5,28),M(5,29),M(5,30),
|
||||
M(6,1),M(6,2),M(6,3),M(6,4),M(6,5),M(6,6),M(6,7),M(6,8),M(6,9),M(6,10),M(6,11),M(6,12),M(6,13),M(6,14),M(6,15),M(6,16),M(6,17),M(6,18),M(6,19),M(6,20),M(6,21),M(6,22),M(6,23),M(6,24),M(6,25),M(6,26),M(6,27),M(6,28),M(6,29),M(6,30),M(6,31),
|
||||
M(7,1),M(7,2),M(7,3),M(7,4),M(7,5),M(7,6),M(7,7),M(7,8),M(7,9),M(7,10),M(7,11),M(7,12),M(7,13),M(7,14),M(7,15),M(7,16),M(7,17),M(7,18),M(7,19),M(7,20),M(7,21),M(7,22),M(7,23),M(7,24),M(7,25),M(7,26),M(7,27),M(7,28),M(7,29),M(7,30),M(7,31),
|
||||
M(8,1),M(8,2),M(8,3),M(8,4),M(8,5),M(8,6),M(8,7),M(8,8),M(8,9),M(8,10),M(8,11),M(8,12),M(8,13),M(8,14),M(8,15),M(8,16),M(8,17),M(8,18),M(8,19),M(8,20),M(8,21),M(8,22),M(8,23),M(8,24),M(8,25),M(8,26),M(8,27),M(8,28),M(8,29),M(8,30),
|
||||
M(9,1),M(9,2),M(9,3),M(9,4),M(9,5),M(9,6),M(9,7),M(9,8),M(9,9),M(9,10),M(9,11),M(9,12),M(9,13),M(9,14),M(9,15),M(9,16),M(9,17),M(9,18),M(9,19),M(9,20),M(9,21),M(9,22),M(9,23),M(9,24),M(9,25),M(9,26),M(9,27),M(9,28),M(9,29),M(9,30),M(9,31),
|
||||
M(10,1),M(10,2),M(10,3),M(10,4),M(10,5),M(10,6),M(10,7),M(10,8),M(10,9),M(10,10),M(10,11),M(10,12),M(10,13),M(10,14),M(10,15),M(10,16),M(10,17),M(10,18),M(10,19),M(10,20),M(10,21),M(10,22),M(10,23),M(10,24),M(10,25),M(10,26),M(10,27),M(10,28),M(10,29),M(10,30),
|
||||
M(11,1),M(11,2),M(11,3),M(11,4),M(11,5),M(11,6),M(11,7),M(11,8),M(11,9),M(11,10),M(11,11),M(11,12),M(11,13),M(11,14),M(11,15),M(11,16),M(11,17),M(11,18),M(11,19),M(11,20),M(11,21),M(11,22),M(11,23),M(11,24),M(11,25),M(11,26),M(11,27),M(11,28),M(11,29),M(11,30),M(11,31),
|
||||
M( 0, 1), M( 0, 2), M( 0, 3), M( 0, 4), M( 0, 5), M( 0, 6), M( 0, 7), M( 0, 8), M( 0, 9), M( 0, 10), M( 0, 11), M( 0, 12), M( 0, 13), M( 0, 14), M( 0, 15), M( 0, 16), M( 0, 17), M( 0, 18), M( 0, 19), M( 0, 20), M( 0, 21), M( 0, 22), M( 0, 23), M( 0, 24), M( 0, 25), M( 0, 26), M( 0, 27), M( 0, 28), M( 0, 29), M( 0, 30), M( 0, 31),
|
||||
M( 1, 1), M( 1, 2), M( 1, 3), M( 1, 4), M( 1, 5), M( 1, 6), M( 1, 7), M( 1, 8), M( 1, 9), M( 1, 10), M( 1, 11), M( 1, 12), M( 1, 13), M( 1, 14), M( 1, 15), M( 1, 16), M( 1, 17), M( 1, 18), M( 1, 19), M( 1, 20), M( 1, 21), M( 1, 22), M( 1, 23), M( 1, 24), M( 1, 25), M( 1, 26), M( 1, 27), M( 1, 28), M( 1, 29),
|
||||
M( 2, 1), M( 2, 2), M( 2, 3), M( 2, 4), M( 2, 5), M( 2, 6), M( 2, 7), M( 2, 8), M( 2, 9), M( 2, 10), M( 2, 11), M( 2, 12), M( 2, 13), M( 2, 14), M( 2, 15), M( 2, 16), M( 2, 17), M( 2, 18), M( 2, 19), M( 2, 20), M( 2, 21), M( 2, 22), M( 2, 23), M( 2, 24), M( 2, 25), M( 2, 26), M( 2, 27), M( 2, 28), M( 2, 29), M( 2, 30), M( 2, 31),
|
||||
M( 3, 1), M( 3, 2), M( 3, 3), M( 3, 4), M( 3, 5), M( 3, 6), M( 3, 7), M( 3, 8), M( 3, 9), M( 3, 10), M( 3, 11), M( 3, 12), M( 3, 13), M( 3, 14), M( 3, 15), M( 3, 16), M( 3, 17), M( 3, 18), M( 3, 19), M( 3, 20), M( 3, 21), M( 3, 22), M( 3, 23), M( 3, 24), M( 3, 25), M( 3, 26), M( 3, 27), M( 3, 28), M( 3, 29), M( 3, 30),
|
||||
M( 4, 1), M( 4, 2), M( 4, 3), M( 4, 4), M( 4, 5), M( 4, 6), M( 4, 7), M( 4, 8), M( 4, 9), M( 4, 10), M( 4, 11), M( 4, 12), M( 4, 13), M( 4, 14), M( 4, 15), M( 4, 16), M( 4, 17), M( 4, 18), M( 4, 19), M( 4, 20), M( 4, 21), M( 4, 22), M( 4, 23), M( 4, 24), M( 4, 25), M( 4, 26), M( 4, 27), M( 4, 28), M( 4, 29), M( 4, 30), M( 4, 31),
|
||||
M( 5, 1), M( 5, 2), M( 5, 3), M( 5, 4), M( 5, 5), M( 5, 6), M( 5, 7), M( 5, 8), M( 5, 9), M( 5, 10), M( 5, 11), M( 5, 12), M( 5, 13), M( 5, 14), M( 5, 15), M( 5, 16), M( 5, 17), M( 5, 18), M( 5, 19), M( 5, 20), M( 5, 21), M( 5, 22), M( 5, 23), M( 5, 24), M( 5, 25), M( 5, 26), M( 5, 27), M( 5, 28), M( 5, 29), M( 5, 30),
|
||||
M( 6, 1), M( 6, 2), M( 6, 3), M( 6, 4), M( 6, 5), M( 6, 6), M( 6, 7), M( 6, 8), M( 6, 9), M( 6, 10), M( 6, 11), M( 6, 12), M( 6, 13), M( 6, 14), M( 6, 15), M( 6, 16), M( 6, 17), M( 6, 18), M( 6, 19), M( 6, 20), M( 6, 21), M( 6, 22), M( 6, 23), M( 6, 24), M( 6, 25), M( 6, 26), M( 6, 27), M( 6, 28), M( 6, 29), M( 6, 30), M( 6, 31),
|
||||
M( 7, 1), M( 7, 2), M( 7, 3), M( 7, 4), M( 7, 5), M( 7, 6), M( 7, 7), M( 7, 8), M( 7, 9), M( 7, 10), M( 7, 11), M( 7, 12), M( 7, 13), M( 7, 14), M( 7, 15), M( 7, 16), M( 7, 17), M( 7, 18), M( 7, 19), M( 7, 20), M( 7, 21), M( 7, 22), M( 7, 23), M( 7, 24), M( 7, 25), M( 7, 26), M( 7, 27), M( 7, 28), M( 7, 29), M( 7, 30), M( 7, 31),
|
||||
M( 8, 1), M( 8, 2), M( 8, 3), M( 8, 4), M( 8, 5), M( 8, 6), M( 8, 7), M( 8, 8), M( 8, 9), M( 8, 10), M( 8, 11), M( 8, 12), M( 8, 13), M( 8, 14), M( 8, 15), M( 8, 16), M( 8, 17), M( 8, 18), M( 8, 19), M( 8, 20), M( 8, 21), M( 8, 22), M( 8, 23), M( 8, 24), M( 8, 25), M( 8, 26), M( 8, 27), M( 8, 28), M( 8, 29), M( 8, 30),
|
||||
M( 9, 1), M( 9, 2), M( 9, 3), M( 9, 4), M( 9, 5), M( 9, 6), M( 9, 7), M( 9, 8), M( 9, 9), M( 9, 10), M( 9, 11), M( 9, 12), M( 9, 13), M( 9, 14), M( 9, 15), M( 9, 16), M( 9, 17), M( 9, 18), M( 9, 19), M( 9, 20), M( 9, 21), M( 9, 22), M( 9, 23), M( 9, 24), M( 9, 25), M( 9, 26), M( 9, 27), M( 9, 28), M( 9, 29), M( 9, 30), M( 9, 31),
|
||||
M(10, 1), M(10, 2), M(10, 3), M(10, 4), M(10, 5), M(10, 6), M(10, 7), M(10, 8), M(10, 9), M(10, 10), M(10, 11), M(10, 12), M(10, 13), M(10, 14), M(10, 15), M(10, 16), M(10, 17), M(10, 18), M(10, 19), M(10, 20), M(10, 21), M(10, 22), M(10, 23), M(10, 24), M(10, 25), M(10, 26), M(10, 27), M(10, 28), M(10, 29), M(10, 30),
|
||||
M(11, 1), M(11, 2), M(11, 3), M(11, 4), M(11, 5), M(11, 6), M(11, 7), M(11, 8), M(11, 9), M(11, 10), M(11, 11), M(11, 12), M(11, 13), M(11, 14), M(11, 15), M(11, 16), M(11, 17), M(11, 18), M(11, 19), M(11, 20), M(11, 21), M(11, 22), M(11, 23), M(11, 24), M(11, 25), M(11, 26), M(11, 27), M(11, 28), M(11, 29), M(11, 30), M(11, 31),
|
||||
};
|
||||
#undef M
|
||||
|
||||
|
|
6
depot.c
6
depot.c
|
@ -105,9 +105,9 @@ void InitializeDepot(void)
|
|||
|
||||
|
||||
static const SaveLoad _depot_desc[] = {
|
||||
SLE_CONDVAR(Depot, xy, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Depot, xy, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(Depot,town_index, SLE_UINT16),
|
||||
SLE_CONDVAR(Depot, xy, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Depot, xy, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(Depot, town_index, SLE_UINT16),
|
||||
SLE_END()
|
||||
};
|
||||
|
||||
|
|
|
@ -54,24 +54,24 @@ static void DisasterClearSquare(TileIndex tile)
|
|||
}
|
||||
}
|
||||
|
||||
static const SpriteID _disaster_images_1[] = {0xF41,0xF41,0xF41,0xF41,0xF41,0xF41,0xF41,0xF41};
|
||||
static const SpriteID _disaster_images_2[] = {0xF44,0xF44,0xF44,0xF44,0xF44,0xF44,0xF44,0xF44};
|
||||
static const SpriteID _disaster_images_3[] = {0xF4E,0xF4E,0xF4E,0xF4E,0xF4E,0xF4E,0xF4E,0xF4E};
|
||||
static const SpriteID _disaster_images_4[] = {0xF46,0xF46,0xF47,0xF47,0xF48,0xF48,0xF49,0xF49};
|
||||
static const SpriteID _disaster_images_5[] = {0xF4A,0xF4A,0xF4B,0xF4B,0xF4C,0xF4C,0xF4D,0xF4D};
|
||||
static const SpriteID _disaster_images_6[] = {0xF50,0xF50,0xF50,0xF50,0xF50,0xF50,0xF50,0xF50};
|
||||
static const SpriteID _disaster_images_7[] = {0xF51,0xF51,0xF51,0xF51,0xF51,0xF51,0xF51,0xF51};
|
||||
static const SpriteID _disaster_images_8[] = {0xF52,0xF52,0xF52,0xF52,0xF52,0xF52,0xF52,0xF52};
|
||||
static const SpriteID _disaster_images_9[] = {0xF3E,0xF3E,0xF3E,0xF3E,0xF3E,0xF3E,0xF3E,0xF3E};
|
||||
static const SpriteID _disaster_images_1[] = {0xF41, 0xF41, 0xF41, 0xF41, 0xF41, 0xF41, 0xF41, 0xF41};
|
||||
static const SpriteID _disaster_images_2[] = {0xF44, 0xF44, 0xF44, 0xF44, 0xF44, 0xF44, 0xF44, 0xF44};
|
||||
static const SpriteID _disaster_images_3[] = {0xF4E, 0xF4E, 0xF4E, 0xF4E, 0xF4E, 0xF4E, 0xF4E, 0xF4E};
|
||||
static const SpriteID _disaster_images_4[] = {0xF46, 0xF46, 0xF47, 0xF47, 0xF48, 0xF48, 0xF49, 0xF49};
|
||||
static const SpriteID _disaster_images_5[] = {0xF4A, 0xF4A, 0xF4B, 0xF4B, 0xF4C, 0xF4C, 0xF4D, 0xF4D};
|
||||
static const SpriteID _disaster_images_6[] = {0xF50, 0xF50, 0xF50, 0xF50, 0xF50, 0xF50, 0xF50, 0xF50};
|
||||
static const SpriteID _disaster_images_7[] = {0xF51, 0xF51, 0xF51, 0xF51, 0xF51, 0xF51, 0xF51, 0xF51};
|
||||
static const SpriteID _disaster_images_8[] = {0xF52, 0xF52, 0xF52, 0xF52, 0xF52, 0xF52, 0xF52, 0xF52};
|
||||
static const SpriteID _disaster_images_9[] = {0xF3E, 0xF3E, 0xF3E, 0xF3E, 0xF3E, 0xF3E, 0xF3E, 0xF3E};
|
||||
|
||||
static const SpriteID * const _disaster_images[] = {
|
||||
_disaster_images_1,_disaster_images_1,
|
||||
_disaster_images_2,_disaster_images_2,
|
||||
_disaster_images_3,_disaster_images_3,
|
||||
_disaster_images_8,_disaster_images_8,_disaster_images_9,
|
||||
_disaster_images_6,_disaster_images_6,
|
||||
_disaster_images_7,_disaster_images_7,
|
||||
_disaster_images_4,_disaster_images_5,
|
||||
_disaster_images_1, _disaster_images_1,
|
||||
_disaster_images_2, _disaster_images_2,
|
||||
_disaster_images_3, _disaster_images_3,
|
||||
_disaster_images_8, _disaster_images_8, _disaster_images_9,
|
||||
_disaster_images_6, _disaster_images_6,
|
||||
_disaster_images_7, _disaster_images_7,
|
||||
_disaster_images_4, _disaster_images_5,
|
||||
};
|
||||
|
||||
static void DisasterVehicleUpdateImage(Vehicle *v)
|
||||
|
|
42
dock_gui.c
42
dock_gui.c
|
@ -189,19 +189,19 @@ static void BuildDocksToolbWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _build_docks_toolb_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 145, 0, 13, STR_9801_DOCK_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 7, 146, 157, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 21, 14, 35, SPR_IMG_BUILD_CANAL, STR_BUILD_CANALS_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 22, 43, 14, 35, SPR_IMG_BUILD_LOCK, STR_BUILD_LOCKS_TIP},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 145, 0, 13, STR_9801_DOCK_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 7, 146, 157, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 21, 14, 35, SPR_IMG_BUILD_CANAL, STR_BUILD_CANALS_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 22, 43, 14, 35, SPR_IMG_BUILD_LOCK, STR_BUILD_LOCKS_TIP},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 44, 47, 14, 35, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 44, 47, 14, 35, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 48, 69, 14, 35, 703, STR_018D_DEMOLISH_BUILDINGS_ETC},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 70, 91, 14, 35, 748, STR_981E_BUILD_SHIP_DEPOT_FOR_BUILDING},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 92, 113, 14, 35, 746, STR_981D_BUILD_SHIP_DOCK},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 114, 135, 14, 35, 693, STR_9834_POSITION_BUOY_WHICH_CAN},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 136, 157, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 48, 69, 14, 35, 703, STR_018D_DEMOLISH_BUILDINGS_ETC},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 70, 91, 14, 35, 748, STR_981E_BUILD_SHIP_DEPOT_FOR_BUILDING},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 92, 113, 14, 35, 746, STR_981D_BUILD_SHIP_DOCK},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 114, 135, 14, 35, 693, STR_9834_POSITION_BUOY_WHICH_CAN},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 136, 157, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -271,11 +271,11 @@ static void BuildDockStationWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _build_dock_station_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 147, 0, 13, STR_3068_DOCK, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 147, 14, 74, 0x0, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 14, 73, 30, 40, STR_02DB_OFF, STR_3065_DON_T_HIGHLIGHT_COVERAGE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 74, 133, 30, 40, STR_02DA_ON, STR_3064_HIGHLIGHT_COVERAGE_AREA},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 147, 0, 13, STR_3068_DOCK, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 147, 14, 74, 0x0, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 14, 73, 30, 40, STR_02DB_OFF, STR_3065_DON_T_HIGHLIGHT_COVERAGE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 74, 133, 30, 40, STR_02DA_ON, STR_3064_HIGHLIGHT_COVERAGE_AREA},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -337,11 +337,11 @@ static void BuildDocksDepotWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _build_docks_depot_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 203, 0, 13, STR_3800_SHIP_DEPOT_ORIENTATION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 203, 14, 85, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 100, 17, 82, 0x0, STR_3803_SELECT_SHIP_DEPOT_ORIENTATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 103, 200, 17, 82, 0x0, STR_3803_SELECT_SHIP_DEPOT_ORIENTATION},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 203, 0, 13, STR_3800_SHIP_DEPOT_ORIENTATION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 203, 14, 85, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 100, 17, 82, 0x0, STR_3803_SELECT_SHIP_DEPOT_ORIENTATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 103, 200, 17, 82, 0x0, STR_3803_SELECT_SHIP_DEPOT_ORIENTATION},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
26
dummy_land.c
26
dummy_land.c
|
@ -67,17 +67,17 @@ static uint32 GetTileTrackStatus_Dummy(TileIndex tile, TransportType mode)
|
|||
}
|
||||
|
||||
const TileTypeProcs _tile_type_dummy_procs = {
|
||||
DrawTile_Dummy, /* draw_tile_proc */
|
||||
GetSlopeZ_Dummy, /* get_slope_z_proc */
|
||||
ClearTile_Dummy, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Dummy, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Dummy, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Dummy, /* get_tile_track_status_proc */
|
||||
ClickTile_Dummy, /* click_tile_proc */
|
||||
AnimateTile_Dummy, /* animate_tile_proc */
|
||||
TileLoop_Dummy, /* tile_loop_clear */
|
||||
ChangeTileOwner_Dummy, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
NULL, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Dummy, /* get_slope_tileh_proc */
|
||||
DrawTile_Dummy, /* draw_tile_proc */
|
||||
GetSlopeZ_Dummy, /* get_slope_z_proc */
|
||||
ClearTile_Dummy, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Dummy, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Dummy, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Dummy, /* get_tile_track_status_proc */
|
||||
ClickTile_Dummy, /* click_tile_proc */
|
||||
AnimateTile_Dummy, /* animate_tile_proc */
|
||||
TileLoop_Dummy, /* tile_loop_clear */
|
||||
ChangeTileOwner_Dummy, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
NULL, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Dummy, /* get_slope_tileh_proc */
|
||||
};
|
||||
|
|
126
economy.c
126
economy.c
|
@ -687,54 +687,54 @@ static byte _price_category[NUM_PRICES] = {
|
|||
};
|
||||
|
||||
static const int32 _price_base[NUM_PRICES] = {
|
||||
100, // station_value
|
||||
100, // build_rail
|
||||
95, // build_road
|
||||
65, // build_signals
|
||||
275, // build_bridge
|
||||
600, // build_train_depot
|
||||
500, // build_road_depot
|
||||
700, // build_ship_depot
|
||||
450, // build_tunnel
|
||||
200, // train_station_track
|
||||
180, // train_station_length
|
||||
600, // build_airport
|
||||
200, // build_bus_station
|
||||
200, // build_truck_station
|
||||
350, // build_dock
|
||||
400000, // build_railvehicle
|
||||
2000, // build_railwagon
|
||||
700000, // aircraft_base
|
||||
14000, // roadveh_base
|
||||
65000, // ship_base
|
||||
20, // build_trees
|
||||
250, // terraform
|
||||
20, // clear_1
|
||||
40, // purchase_land
|
||||
200, // clear_2
|
||||
500, // clear_3
|
||||
20, // remove_trees
|
||||
-70, // remove_rail
|
||||
10, // remove_signals
|
||||
50, // clear_bridge
|
||||
80, // remove_train_depot
|
||||
80, // remove_road_depot
|
||||
90, // remove_ship_depot
|
||||
30, // clear_tunnel
|
||||
10000, // clear_water
|
||||
50, // remove_rail_station
|
||||
30, // remove_airport
|
||||
50, // remove_bus_station
|
||||
50, // remove_truck_station
|
||||
55, // remove_dock
|
||||
1600, // remove_house
|
||||
40, // remove_road
|
||||
5600, // running_rail[0] railroad
|
||||
5200, // running_rail[1] monorail
|
||||
4800, // running_rail[2] maglev
|
||||
9600, // aircraft_running
|
||||
1600, // roadveh_running
|
||||
5600, // ship_running
|
||||
100, // station_value
|
||||
100, // build_rail
|
||||
95, // build_road
|
||||
65, // build_signals
|
||||
275, // build_bridge
|
||||
600, // build_train_depot
|
||||
500, // build_road_depot
|
||||
700, // build_ship_depot
|
||||
450, // build_tunnel
|
||||
200, // train_station_track
|
||||
180, // train_station_length
|
||||
600, // build_airport
|
||||
200, // build_bus_station
|
||||
200, // build_truck_station
|
||||
350, // build_dock
|
||||
400000, // build_railvehicle
|
||||
2000, // build_railwagon
|
||||
700000, // aircraft_base
|
||||
14000, // roadveh_base
|
||||
65000, // ship_base
|
||||
20, // build_trees
|
||||
250, // terraform
|
||||
20, // clear_1
|
||||
40, // purchase_land
|
||||
200, // clear_2
|
||||
500, // clear_3
|
||||
20, // remove_trees
|
||||
-70, // remove_rail
|
||||
10, // remove_signals
|
||||
50, // clear_bridge
|
||||
80, // remove_train_depot
|
||||
80, // remove_road_depot
|
||||
90, // remove_ship_depot
|
||||
30, // clear_tunnel
|
||||
10000, // clear_water
|
||||
50, // remove_rail_station
|
||||
30, // remove_airport
|
||||
50, // remove_bus_station
|
||||
50, // remove_truck_station
|
||||
55, // remove_dock
|
||||
1600, // remove_house
|
||||
40, // remove_road
|
||||
5600, // running_rail[0] railroad
|
||||
5200, // running_rail[1] monorail
|
||||
4800, // running_rail[2] maglev
|
||||
9600, // aircraft_running
|
||||
1600, // roadveh_running
|
||||
5600, // ship_running
|
||||
1000000, // build_industry
|
||||
};
|
||||
|
||||
|
@ -1040,12 +1040,12 @@ no_add:;
|
|||
}
|
||||
|
||||
static const SaveLoad _subsidies_desc[] = {
|
||||
SLE_VAR(Subsidy,cargo_type, SLE_UINT8),
|
||||
SLE_VAR(Subsidy,age, SLE_UINT8),
|
||||
SLE_CONDVAR(Subsidy,from, SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
|
||||
SLE_CONDVAR(Subsidy,from, SLE_UINT16, 5, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Subsidy,to, SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
|
||||
SLE_CONDVAR(Subsidy,to, SLE_UINT16, 5, SL_MAX_VERSION),
|
||||
SLE_VAR(Subsidy, cargo_type, SLE_UINT8),
|
||||
SLE_VAR(Subsidy, age, SLE_UINT8),
|
||||
SLE_CONDVAR(Subsidy, from, SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
|
||||
SLE_CONDVAR(Subsidy, from, SLE_UINT16, 5, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Subsidy, to, SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
|
||||
SLE_CONDVAR(Subsidy, to, SLE_UINT16, 5, SL_MAX_VERSION),
|
||||
SLE_END()
|
||||
};
|
||||
|
||||
|
@ -1635,24 +1635,24 @@ int32 CmdBuyCompany(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
|||
// Prices
|
||||
static void SaveLoad_PRIC(void)
|
||||
{
|
||||
SlArray(&_price, NUM_PRICES, SLE_INT32);
|
||||
SlArray(&_price, NUM_PRICES, SLE_INT32);
|
||||
SlArray(&_price_frac, NUM_PRICES, SLE_UINT16);
|
||||
}
|
||||
|
||||
// Cargo payment rates
|
||||
static void SaveLoad_CAPR(void)
|
||||
{
|
||||
SlArray(&_cargo_payment_rates, NUM_CARGO, SLE_INT32);
|
||||
SlArray(&_cargo_payment_rates, NUM_CARGO, SLE_INT32);
|
||||
SlArray(&_cargo_payment_rates_frac, NUM_CARGO, SLE_UINT16);
|
||||
}
|
||||
|
||||
static const SaveLoad _economy_desc[] = {
|
||||
SLE_VAR(Economy,max_loan, SLE_INT32),
|
||||
SLE_VAR(Economy,max_loan_unround, SLE_INT32),
|
||||
SLE_VAR(Economy,fluct, SLE_FILE_I16 | SLE_VAR_I32),
|
||||
SLE_VAR(Economy,interest_rate, SLE_UINT8),
|
||||
SLE_VAR(Economy,infl_amount, SLE_UINT8),
|
||||
SLE_VAR(Economy,infl_amount_pr, SLE_UINT8),
|
||||
SLE_VAR(Economy, max_loan, SLE_INT32),
|
||||
SLE_VAR(Economy, max_loan_unround, SLE_INT32),
|
||||
SLE_VAR(Economy, fluct, SLE_FILE_I16 | SLE_VAR_I32),
|
||||
SLE_VAR(Economy, interest_rate, SLE_UINT8),
|
||||
SLE_VAR(Economy, infl_amount, SLE_UINT8),
|
||||
SLE_VAR(Economy, infl_amount_pr, SLE_UINT8),
|
||||
SLE_END()
|
||||
};
|
||||
|
||||
|
@ -1665,6 +1665,6 @@ static void SaveLoad_ECMY(void)
|
|||
const ChunkHandler _economy_chunk_handlers[] = {
|
||||
{ 'PRIC', SaveLoad_PRIC, SaveLoad_PRIC, CH_RIFF | CH_AUTO_LENGTH},
|
||||
{ 'CAPR', SaveLoad_CAPR, SaveLoad_CAPR, CH_RIFF | CH_AUTO_LENGTH},
|
||||
{ 'SUBS', Save_SUBS, Load_SUBS, CH_ARRAY},
|
||||
{ 'SUBS', Save_SUBS, Load_SUBS, CH_ARRAY},
|
||||
{ 'ECMY', SaveLoad_ECMY, SaveLoad_ECMY, CH_RIFF | CH_LAST},
|
||||
};
|
||||
|
|
56
engine.c
56
engine.c
|
@ -25,9 +25,9 @@ AircraftVehicleInfo _aircraft_vehicle_info[NUM_AIRCRAFT_ENGINES];
|
|||
RoadVehicleInfo _road_vehicle_info[NUM_ROAD_ENGINES];
|
||||
|
||||
enum {
|
||||
ENGINE_AVAILABLE = 1,
|
||||
ENGINE_AVAILABLE = 1,
|
||||
ENGINE_INTRODUCING = 2,
|
||||
ENGINE_PREVIEWING = 4,
|
||||
ENGINE_PREVIEWING = 4,
|
||||
};
|
||||
|
||||
enum {
|
||||
|
@ -40,18 +40,18 @@ enum {
|
|||
#define MC(cargo) (1 << cargo)
|
||||
const uint32 _default_refitmasks[NUM_VEHICLE_TYPES] = {
|
||||
/* Trains */
|
||||
MC(GC_PASSENGERS)|MC(GC_COAL)|MC(GC_MAIL)|MC(GC_LIVESTOCK)|MC(GC_GOODS)|MC(GC_GRAIN)|MC(GC_WOOD)|MC(GC_IRON_ORE)|
|
||||
MC(GC_STEEL)|MC(GC_VALUABLES)|MC(GC_PAPER)|MC(GC_FOOD)|MC(GC_FRUIT)|MC(GC_COPPER_ORE)|MC(GC_WATER)|MC(GC_SUGAR)|
|
||||
MC(GC_TOYS)|MC(GC_CANDY)|MC(GC_TOFFEE)|MC(GC_COLA)|MC(GC_COTTON_CANDY)|MC(GC_BUBBLES)|MC(GC_PLASTIC)|MC(GC_FIZZY_DRINKS),
|
||||
MC(GC_PASSENGERS) | MC(GC_COAL) | MC(GC_MAIL) | MC(GC_LIVESTOCK) | MC(GC_GOODS) | MC(GC_GRAIN) | MC(GC_WOOD) | MC(GC_IRON_ORE) |
|
||||
MC(GC_STEEL) | MC(GC_VALUABLES) | MC(GC_PAPER) | MC(GC_FOOD) | MC(GC_FRUIT) | MC(GC_COPPER_ORE) | MC(GC_WATER) | MC(GC_SUGAR) |
|
||||
MC(GC_TOYS) | MC(GC_CANDY) | MC(GC_TOFFEE) | MC(GC_COLA) | MC(GC_COTTON_CANDY) | MC(GC_BUBBLES) | MC(GC_PLASTIC) | MC(GC_FIZZY_DRINKS),
|
||||
/* Road vehicles (not refittable by default) */
|
||||
0,
|
||||
/* Ships */
|
||||
MC(GC_COAL)|MC(GC_MAIL)|MC(GC_LIVESTOCK)|MC(GC_GOODS)|MC(GC_GRAIN)|MC(GC_WOOD)|MC(GC_IRON_ORE)|MC(GC_STEEL)|MC(GC_VALUABLES)|
|
||||
MC(GC_PAPER)|MC(GC_FOOD)|MC(GC_FRUIT)|MC(GC_COPPER_ORE)|MC(GC_WATER)|MC(GC_RUBBER)|MC(GC_SUGAR)|MC(GC_TOYS)|MC(GC_BATTERIES)|
|
||||
MC(GC_CANDY)|MC(GC_TOFFEE)|MC(GC_COLA)|MC(GC_COTTON_CANDY)|MC(GC_BUBBLES)|MC(GC_PLASTIC)|MC(GC_FIZZY_DRINKS),
|
||||
MC(GC_COAL) | MC(GC_MAIL) | MC(GC_LIVESTOCK) | MC(GC_GOODS) | MC(GC_GRAIN) | MC(GC_WOOD) | MC(GC_IRON_ORE) | MC(GC_STEEL) | MC(GC_VALUABLES) |
|
||||
MC(GC_PAPER) | MC(GC_FOOD) | MC(GC_FRUIT) | MC(GC_COPPER_ORE) | MC(GC_WATER) | MC(GC_RUBBER) | MC(GC_SUGAR) | MC(GC_TOYS) | MC(GC_BATTERIES) |
|
||||
MC(GC_CANDY) | MC(GC_TOFFEE) | MC(GC_COLA) | MC(GC_COTTON_CANDY) | MC(GC_BUBBLES) | MC(GC_PLASTIC) | MC(GC_FIZZY_DRINKS),
|
||||
/* Aircraft */
|
||||
MC(GC_PASSENGERS)|MC(GC_MAIL)|MC(GC_GOODS)|MC(GC_VALUABLES)|MC(GC_FOOD)|MC(GC_FRUIT)|MC(GC_SUGAR)|MC(GC_TOYS)|
|
||||
MC(GC_BATTERIES)|MC(GC_CANDY)|MC(GC_TOFFEE)|MC(GC_COLA)|MC(GC_COTTON_CANDY)|MC(GC_BUBBLES)|MC(GC_PLASTIC)|MC(GC_FIZZY_DRINKS),
|
||||
MC(GC_PASSENGERS) | MC(GC_MAIL) | MC(GC_GOODS) | MC(GC_VALUABLES) | MC(GC_FOOD) | MC(GC_FRUIT) | MC(GC_SUGAR) | MC(GC_TOYS) |
|
||||
MC(GC_BATTERIES) | MC(GC_CANDY) | MC(GC_TOFFEE) | MC(GC_COLA) | MC(GC_COTTON_CANDY) | MC(GC_BUBBLES) | MC(GC_PLASTIC) | MC(GC_FIZZY_DRINKS),
|
||||
/* Special/Disaster */
|
||||
0,0
|
||||
};
|
||||
|
@ -606,25 +606,25 @@ static void Load_ERNW(void)
|
|||
}
|
||||
|
||||
static const SaveLoad _engine_desc[] = {
|
||||
SLE_CONDVAR(Engine,intro_date, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Engine,intro_date, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Engine,age, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Engine,age, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_VAR(Engine,reliability, SLE_UINT16),
|
||||
SLE_VAR(Engine,reliability_spd_dec, SLE_UINT16),
|
||||
SLE_VAR(Engine,reliability_start, SLE_UINT16),
|
||||
SLE_VAR(Engine,reliability_max, SLE_UINT16),
|
||||
SLE_VAR(Engine,reliability_final, SLE_UINT16),
|
||||
SLE_VAR(Engine,duration_phase_1, SLE_UINT16),
|
||||
SLE_VAR(Engine,duration_phase_2, SLE_UINT16),
|
||||
SLE_VAR(Engine,duration_phase_3, SLE_UINT16),
|
||||
SLE_CONDVAR(Engine, intro_date, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Engine, intro_date, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Engine, age, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Engine, age, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_VAR(Engine, reliability, SLE_UINT16),
|
||||
SLE_VAR(Engine, reliability_spd_dec, SLE_UINT16),
|
||||
SLE_VAR(Engine, reliability_start, SLE_UINT16),
|
||||
SLE_VAR(Engine, reliability_max, SLE_UINT16),
|
||||
SLE_VAR(Engine, reliability_final, SLE_UINT16),
|
||||
SLE_VAR(Engine, duration_phase_1, SLE_UINT16),
|
||||
SLE_VAR(Engine, duration_phase_2, SLE_UINT16),
|
||||
SLE_VAR(Engine, duration_phase_3, SLE_UINT16),
|
||||
|
||||
SLE_VAR(Engine,lifelength, SLE_UINT8),
|
||||
SLE_VAR(Engine,flags, SLE_UINT8),
|
||||
SLE_VAR(Engine,preview_player, SLE_UINT8),
|
||||
SLE_VAR(Engine,preview_wait, SLE_UINT8),
|
||||
SLE_VAR(Engine,railtype, SLE_UINT8),
|
||||
SLE_VAR(Engine,player_avail, SLE_UINT8),
|
||||
SLE_VAR(Engine, lifelength, SLE_UINT8),
|
||||
SLE_VAR(Engine, flags, SLE_UINT8),
|
||||
SLE_VAR(Engine, preview_player, SLE_UINT8),
|
||||
SLE_VAR(Engine, preview_wait, SLE_UINT8),
|
||||
SLE_VAR(Engine, railtype, SLE_UINT8),
|
||||
SLE_VAR(Engine, player_avail, SLE_UINT8),
|
||||
|
||||
// reserve extra space in savegame here. (currently 16 bytes)
|
||||
SLE_CONDNULL(16, 2, SL_MAX_VERSION),
|
||||
|
|
20
engine.h
20
engine.h
|
@ -143,16 +143,16 @@ bool IsEngineBuildable(uint engine, byte type);
|
|||
|
||||
enum {
|
||||
NUM_NORMAL_RAIL_ENGINES = 54,
|
||||
NUM_MONORAIL_ENGINES = 30,
|
||||
NUM_MAGLEV_ENGINES = 32,
|
||||
NUM_TRAIN_ENGINES = NUM_NORMAL_RAIL_ENGINES + NUM_MONORAIL_ENGINES + NUM_MAGLEV_ENGINES,
|
||||
NUM_ROAD_ENGINES = 88,
|
||||
NUM_SHIP_ENGINES = 11,
|
||||
NUM_AIRCRAFT_ENGINES = 41,
|
||||
TOTAL_NUM_ENGINES = NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES + NUM_SHIP_ENGINES + NUM_AIRCRAFT_ENGINES,
|
||||
AIRCRAFT_ENGINES_INDEX = NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES + NUM_SHIP_ENGINES,
|
||||
SHIP_ENGINES_INDEX = NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES,
|
||||
ROAD_ENGINES_INDEX = NUM_TRAIN_ENGINES,
|
||||
NUM_MONORAIL_ENGINES = 30,
|
||||
NUM_MAGLEV_ENGINES = 32,
|
||||
NUM_TRAIN_ENGINES = NUM_NORMAL_RAIL_ENGINES + NUM_MONORAIL_ENGINES + NUM_MAGLEV_ENGINES,
|
||||
NUM_ROAD_ENGINES = 88,
|
||||
NUM_SHIP_ENGINES = 11,
|
||||
NUM_AIRCRAFT_ENGINES = 41,
|
||||
TOTAL_NUM_ENGINES = NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES + NUM_SHIP_ENGINES + NUM_AIRCRAFT_ENGINES,
|
||||
AIRCRAFT_ENGINES_INDEX = NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES + NUM_SHIP_ENGINES,
|
||||
SHIP_ENGINES_INDEX = NUM_TRAIN_ENGINES + NUM_ROAD_ENGINES,
|
||||
ROAD_ENGINES_INDEX = NUM_TRAIN_ENGINES,
|
||||
};
|
||||
VARDEF Engine _engines[TOTAL_NUM_ENGINES];
|
||||
#define FOR_ALL_ENGINES(e) for (e = _engines; e != endof(_engines); e++)
|
||||
|
|
|
@ -37,11 +37,11 @@ static StringID GetEngineCategoryName(EngineID engine)
|
|||
}
|
||||
|
||||
static const Widget _engine_preview_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 5, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 5, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 5, 11, 299, 0, 13, STR_8100_MESSAGE_FROM_VEHICLE_MANUFACTURE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 5, 0, 299, 14, 191, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 5, 85, 144, 172, 183, STR_00C9_NO, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 5, 155, 214, 172, 183, STR_00C8_YES, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 5, 0, 299, 14, 191, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 5, 85, 144, 172, 183, STR_00C9_NO, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 5, 155, 214, 172, 183, STR_00C8_YES, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
22
fios.h
22
fios.h
|
@ -12,17 +12,17 @@ typedef struct {
|
|||
} FiosItem;
|
||||
|
||||
enum {
|
||||
FIOS_TYPE_DRIVE = 0,
|
||||
FIOS_TYPE_PARENT = 1,
|
||||
FIOS_TYPE_DIR = 2,
|
||||
FIOS_TYPE_FILE = 3,
|
||||
FIOS_TYPE_OLDFILE = 4,
|
||||
FIOS_TYPE_SCENARIO = 5,
|
||||
FIOS_TYPE_OLD_SCENARIO = 6,
|
||||
FIOS_TYPE_DIRECT = 7,
|
||||
FIOS_TYPE_PNG = 8,
|
||||
FIOS_TYPE_BMP = 9,
|
||||
FIOS_TYPE_INVALID = 255,
|
||||
FIOS_TYPE_DRIVE = 0,
|
||||
FIOS_TYPE_PARENT = 1,
|
||||
FIOS_TYPE_DIR = 2,
|
||||
FIOS_TYPE_FILE = 3,
|
||||
FIOS_TYPE_OLDFILE = 4,
|
||||
FIOS_TYPE_SCENARIO = 5,
|
||||
FIOS_TYPE_OLD_SCENARIO = 6,
|
||||
FIOS_TYPE_DIRECT = 7,
|
||||
FIOS_TYPE_PNG = 8,
|
||||
FIOS_TYPE_BMP = 9,
|
||||
FIOS_TYPE_INVALID = 255,
|
||||
};
|
||||
|
||||
/* Variables to display file lists */
|
||||
|
|
132
genworld_gui.c
132
genworld_gui.c
|
@ -58,94 +58,94 @@ static inline void SetNewLandscapeType(byte landscape)
|
|||
|
||||
// no longer static to allow calling from outside module
|
||||
const Widget _generate_landscape_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 337, 0, 13, STR_WORLD_GENERATION_CAPTION,STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 337, 14, 267, STR_NULL, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 337, 0, 13, STR_WORLD_GENERATION_CAPTION, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 337, 14, 267, STR_NULL, STR_NULL},
|
||||
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 10, 86, 24, 78, 0x1312, STR_030E_SELECT_TEMPERATE_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 90, 166, 24, 78, 0x1314, STR_030F_SELECT_SUB_ARCTIC_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 170, 246, 24, 78, 0x1316, STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 250, 326, 24, 78, 0x1318, STR_0311_SELECT_TOYLAND_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 10, 86, 24, 78, 0x1312, STR_030E_SELECT_TEMPERATE_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 90, 166, 24, 78, 0x1314, STR_030F_SELECT_SUB_ARCTIC_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 170, 246, 24, 78, 0x1316, STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 250, 326, 24, 78, 0x1318, STR_0311_SELECT_TOYLAND_LANDSCAPE},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 149, 90, 101, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 150, 161, 90, 101, STR_0225, STR_NULL}, // Mapsize X
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 180, 215, 90, 101, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 216, 227, 90, 101, STR_0225, STR_NULL}, // Mapsize Y
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 149, 90, 101, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 150, 161, 90, 101, STR_0225, STR_NULL}, // Mapsize X
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 180, 215, 90, 101, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 216, 227, 90, 101, STR_0225, STR_NULL}, // Mapsize Y
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 163, 112, 123, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 112, 123, STR_0225, STR_NULL}, // Number of towns
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 163, 130, 141, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 130, 141, STR_0225, STR_NULL}, // Number of industries
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 163, 112, 123, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 112, 123, STR_0225, STR_NULL}, // Number of towns
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 163, 130, 141, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 130, 141, STR_0225, STR_NULL}, // Number of industries
|
||||
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 15, 114, 194, 152, 163, STR_NULL, STR_RANDOM_SEED_HELP}, // Edit box for seed
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 203, 285, 152, 163, STR_RANDOM, STR_RANDOM_HELP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 15, 114, 194, 152, 163, STR_NULL, STR_RANDOM_SEED_HELP}, // Edit box for seed
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 203, 285, 152, 163, STR_RANDOM, STR_RANDOM_HELP},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 6, 243, 326, 228, 257, STR_GENERATE, STR_NULL}, // Generate button
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 6, 243, 326, 228, 257, STR_GENERATE, STR_NULL}, // Generate button
|
||||
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 216, 227, 112, 123, SPR_ARROW_DOWN, STR_029E_MOVE_THE_STARTING_DATE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 228, 314, 112, 123, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 112, 123, SPR_ARROW_UP, STR_029F_MOVE_THE_STARTING_DATE},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 216, 227, 112, 123, SPR_ARROW_DOWN, STR_029E_MOVE_THE_STARTING_DATE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 228, 314, 112, 123, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 112, 123, SPR_ARROW_UP, STR_029F_MOVE_THE_STARTING_DATE},
|
||||
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 282, 293, 130, 141, SPR_ARROW_DOWN, STR_SNOW_LINE_DOWN},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 294, 314, 130, 141, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 130, 141, SPR_ARROW_UP, STR_SNOW_LINE_UP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 282, 293, 130, 141, SPR_ARROW_DOWN, STR_SNOW_LINE_DOWN},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 294, 314, 130, 141, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 130, 141, SPR_ARROW_UP, STR_SNOW_LINE_UP},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 219, 192, 203, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 192, 203, STR_0225, STR_NULL}, // Tree placer
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 219, 192, 203, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 192, 203, STR_0225, STR_NULL}, // Tree placer
|
||||
|
||||
{ WWT_EMPTY, RESIZE_NONE, 12, 114, 231, 174, 185, STR_NULL, STR_NULL},
|
||||
//{ WWT_PANEL, RESIZE_NONE, 12, 114, 219, 174, 185, STR_NULL, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 231, 174, 185, STR_NULL, STR_NULL},
|
||||
//{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 174, 185, STR_0225, STR_NULL}, // Landscape generator
|
||||
//{ WWT_PANEL, RESIZE_NONE, 12, 114, 219, 210, 221, STR_NULL, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 231, 210, 221, STR_NULL, STR_NULL},
|
||||
//{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 210, 221, STR_0225, STR_NULL}, // Terrain type
|
||||
//{ WWT_PANEL, RESIZE_NONE, 12, 114, 219, 228, 239, STR_NULL, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 231, 228, 239, STR_NULL, STR_NULL},
|
||||
//{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 228, 239, STR_0225, STR_NULL}, // Water quantity
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 113, 219, 246, 257, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 246, 257, STR_0225, STR_NULL}, // Map smoothness
|
||||
{ WWT_EMPTY, RESIZE_NONE, 12, 114, 231, 174, 185, STR_NULL, STR_NULL},
|
||||
//{ WWT_PANEL, RESIZE_NONE, 12, 114, 219, 174, 185, STR_NULL, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 231, 174, 185, STR_NULL, STR_NULL},
|
||||
//{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 174, 185, STR_0225, STR_NULL}, // Landscape generator
|
||||
//{ WWT_PANEL, RESIZE_NONE, 12, 114, 219, 210, 221, STR_NULL, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 231, 210, 221, STR_NULL, STR_NULL},
|
||||
//{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 210, 221, STR_0225, STR_NULL}, // Terrain type
|
||||
//{ WWT_PANEL, RESIZE_NONE, 12, 114, 219, 228, 239, STR_NULL, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 231, 228, 239, STR_NULL, STR_NULL},
|
||||
//{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 228, 239, STR_0225, STR_NULL}, // Water quantity
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 113, 219, 246, 257, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 246, 257, STR_0225, STR_NULL}, // Map smoothness
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
const Widget _heightmap_load_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 337, 0, 13, STR_WORLD_GENERATION_CAPTION,STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 337, 14, 235, STR_NULL, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 337, 0, 13, STR_WORLD_GENERATION_CAPTION, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 337, 14, 235, STR_NULL, STR_NULL},
|
||||
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 10, 86, 24, 78, 0x1312, STR_030E_SELECT_TEMPERATE_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 90, 166, 24, 78, 0x1314, STR_030F_SELECT_SUB_ARCTIC_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 170, 246, 24, 78, 0x1316, STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 250, 326, 24, 78, 0x1318, STR_0311_SELECT_TOYLAND_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 10, 86, 24, 78, 0x1312, STR_030E_SELECT_TEMPERATE_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 90, 166, 24, 78, 0x1314, STR_030F_SELECT_SUB_ARCTIC_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 170, 246, 24, 78, 0x1316, STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 250, 326, 24, 78, 0x1318, STR_0311_SELECT_TOYLAND_LANDSCAPE},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 149, 112, 123, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 150, 161, 112, 123, STR_0225, STR_NULL}, // Mapsize X
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 180, 215, 112, 123, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 216, 227, 112, 123, STR_0225, STR_NULL}, // Mapsize Y
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 149, 112, 123, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 150, 161, 112, 123, STR_0225, STR_NULL}, // Mapsize X
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 180, 215, 112, 123, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 216, 227, 112, 123, STR_0225, STR_NULL}, // Mapsize Y
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 163, 134, 145, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 134, 145, STR_0225, STR_NULL}, // Number of towns
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 163, 152, 163, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 152, 163, STR_0225, STR_NULL}, // Number of industries
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 163, 134, 145, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 134, 145, STR_0225, STR_NULL}, // Number of towns
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 163, 152, 163, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 164, 175, 152, 163, STR_0225, STR_NULL}, // Number of industries
|
||||
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 15, 114, 194, 174, 185, STR_NULL, STR_RANDOM_SEED_HELP}, // Edit box for seed
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 203, 285, 174, 185, STR_RANDOM, STR_RANDOM_HELP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 15, 114, 194, 174, 185, STR_NULL, STR_RANDOM_SEED_HELP}, // Edit box for seed
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 203, 285, 174, 185, STR_RANDOM, STR_RANDOM_HELP},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 6, 243, 326, 196, 225, STR_GENERATE, STR_NULL}, // Generate button
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 6, 243, 326, 196, 225, STR_GENERATE, STR_NULL}, // Generate button
|
||||
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 216, 227, 134, 145, SPR_ARROW_DOWN, STR_029E_MOVE_THE_STARTING_DATE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 228, 314, 134, 145, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 134, 145, SPR_ARROW_UP, STR_029F_MOVE_THE_STARTING_DATE},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 216, 227, 134, 145, SPR_ARROW_DOWN, STR_029E_MOVE_THE_STARTING_DATE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 228, 314, 134, 145, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 134, 145, SPR_ARROW_UP, STR_029F_MOVE_THE_STARTING_DATE},
|
||||
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 282, 293, 152, 163, SPR_ARROW_DOWN, STR_SNOW_LINE_DOWN},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 294, 314, 152, 163, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 152, 163, SPR_ARROW_UP, STR_SNOW_LINE_UP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 282, 293, 152, 163, SPR_ARROW_DOWN, STR_SNOW_LINE_DOWN},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 294, 314, 152, 163, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 12, 315, 326, 152, 163, SPR_ARROW_UP, STR_SNOW_LINE_UP},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 219, 196, 207, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 196, 207, STR_0225, STR_NULL}, // Tree placer
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 219, 196, 207, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 196, 207, STR_0225, STR_NULL}, // Tree placer
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 219, 214, 225, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 214, 225, STR_0225, STR_NULL}, // Heightmap rotation
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 114, 219, 214, 225, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 12, 220, 231, 214, 225, STR_0225, STR_NULL}, // Heightmap rotation
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
10
gfx.c
10
gfx.c
|
@ -271,12 +271,12 @@ static inline SpriteID GetFontBase(FontSize size)
|
|||
|
||||
|
||||
enum {
|
||||
ASCII_SETX = 1,
|
||||
ASCII_SETXY = 2,
|
||||
ASCII_SETX = 1,
|
||||
ASCII_SETXY = 2,
|
||||
|
||||
ASCII_TINYFONT = 8,
|
||||
ASCII_BIGFONT = 9,
|
||||
ASCII_NL = 10,
|
||||
ASCII_TINYFONT = 8,
|
||||
ASCII_BIGFONT = 9,
|
||||
ASCII_NL = 10,
|
||||
|
||||
ASCII_COLORSTART = 15,
|
||||
};
|
||||
|
|
140
graph_gui.c
140
graph_gui.c
|
@ -257,17 +257,17 @@ static void GraphLegendWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _graph_legend_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 249, 0, 13, STR_704E_KEY_TO_COMPANY_GRAPHS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 249, 14, 113, 0x0,STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 16, 27, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 28, 39, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 40, 51, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 52, 63, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 64, 75, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 76, 87, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 88, 99, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 100, 111, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 249, 14, 113, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 16, 27, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 28, 39, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 40, 51, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 52, 63, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 64, 75, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 76, 87, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 88, 99, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 247, 100, 111, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -365,10 +365,10 @@ static void OperatingProfitWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _operating_profit_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 525, 0, 13, STR_7025_OPERATING_PROFIT_GRAPH, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 575, 14, 173, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 575, 14, 173, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -440,10 +440,10 @@ static void IncomeGraphWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _income_graph_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 525, 0, 13, STR_7022_INCOME_GRAPH, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 575, 14, 141, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 575, 14, 141, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -513,10 +513,10 @@ static void DeliveredCargoGraphWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _delivered_cargo_graph_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 525, 0, 13, STR_7050_UNITS_OF_CARGO_DELIVERED, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 575, 14, 141, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 575, 14, 141, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -588,11 +588,11 @@ static void PerformanceHistoryWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _performance_history_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 475, 0, 13, STR_7051_COMPANY_PERFORMANCE_RATINGS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 476, 525, 0, 13, STR_PERFORMANCE_DETAIL_KEY, STR_704D_SHOW_KEY_TO_GRAPHS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 575, 14, 237, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 475, 0, 13, STR_7051_COMPANY_PERFORMANCE_RATINGS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 476, 525, 0, 13, STR_PERFORMANCE_DETAIL_KEY, STR_704D_SHOW_KEY_TO_GRAPHS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 575, 14, 237, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -662,10 +662,10 @@ static void CompanyValueGraphWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _company_value_graph_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 525, 0, 13, STR_7052_COMPANY_VALUES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 575, 14, 237, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 525, 0, 13, STR_7052_COMPANY_VALUES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 526, 575, 0, 13, STR_704C_KEY, STR_704D_SHOW_KEY_TO_GRAPHS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 575, 14, 237, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -752,21 +752,21 @@ static void CargoPaymentRatesWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _cargo_payment_rates_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 567, 0, 13, STR_7061_CARGO_PAYMENT_RATES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 567, 14, 141, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 24, 31, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 32, 39, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 40, 47, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 48, 55, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 56, 63, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 64, 71, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 72, 79, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 80, 87, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 88, 95, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 96, 103, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 104, 111, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 112, 119, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 567, 0, 13, STR_7061_CARGO_PAYMENT_RATES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 567, 14, 141, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 24, 31, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 32, 39, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 40, 47, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 48, 55, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 56, 63, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 64, 71, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 72, 79, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 80, 87, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 88, 95, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 96, 103, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 104, 111, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 12, 493, 562, 112, 119, 0x0, STR_7064_TOGGLE_GRAPH_FOR_CARGO},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -1055,29 +1055,29 @@ static void PerformanceRatingDetailWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _performance_rating_detail_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 298, 0, 13, STR_PERFORMANCE_DETAIL, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 14, 27, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 298, 0, 13, STR_PERFORMANCE_DETAIL, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 14, 27, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 28, 47, 0x0,STR_PERFORMANCE_DETAIL_VEHICLES_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 48, 67, 0x0,STR_PERFORMANCE_DETAIL_STATIONS_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 68, 87, 0x0,STR_PERFORMANCE_DETAIL_MIN_PROFIT_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 88, 107, 0x0,STR_PERFORMANCE_DETAIL_MIN_INCOME_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 108, 127, 0x0,STR_PERFORMANCE_DETAIL_MAX_INCOME_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 128, 147, 0x0,STR_PERFORMANCE_DETAIL_DELIVERED_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 148, 167, 0x0,STR_PERFORMANCE_DETAIL_CARGO_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 168, 187, 0x0,STR_PERFORMANCE_DETAIL_MONEY_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 188, 207, 0x0,STR_PERFORMANCE_DETAIL_LOAN_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 208, 227, 0x0,STR_PERFORMANCE_DETAIL_TOTAL_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 28, 47, 0x0, STR_PERFORMANCE_DETAIL_VEHICLES_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 48, 67, 0x0, STR_PERFORMANCE_DETAIL_STATIONS_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 68, 87, 0x0, STR_PERFORMANCE_DETAIL_MIN_PROFIT_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 88, 107, 0x0, STR_PERFORMANCE_DETAIL_MIN_INCOME_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 108, 127, 0x0, STR_PERFORMANCE_DETAIL_MAX_INCOME_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 128, 147, 0x0, STR_PERFORMANCE_DETAIL_DELIVERED_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 148, 167, 0x0, STR_PERFORMANCE_DETAIL_CARGO_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 168, 187, 0x0, STR_PERFORMANCE_DETAIL_MONEY_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 188, 207, 0x0, STR_PERFORMANCE_DETAIL_LOAN_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 298, 208, 227, 0x0, STR_PERFORMANCE_DETAIL_TOTAL_TIP},
|
||||
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 38, 14, 26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 39, 75, 14, 26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 76, 112, 14, 26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 113, 149, 14, 26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 150, 186, 14, 26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 187, 223, 14, 26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 224, 260, 14, 26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 261, 297, 14, 26, 0x0,STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 38, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 39, 75, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 76, 112, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 113, 149, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 150, 186, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 187, 223, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 224, 260, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 261, 297, 14, 26, 0x0, STR_704F_CLICK_HERE_TO_TOGGLE_COMPANY},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -1208,12 +1208,12 @@ static void SignListWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _sign_list_widget[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 345, 0, 13, STR_SIGN_LIST_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 346, 357, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_RB, 14, 0, 345, 14, 137, 0x0, STR_NULL},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 346, 357, 14, 125, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 346, 357, 126, 137, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 345, 0, 13, STR_SIGN_LIST_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 346, 357, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_RB, 14, 0, 345, 14, 137, 0x0, STR_NULL},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 346, 357, 14, 125, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 346, 357, 126, 137, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
4
gui.h
4
gui.h
|
@ -133,8 +133,8 @@ void ShowNetworkGameWindow(void);
|
|||
void ShowBuildBridgeWindow(uint start, uint end, byte type);
|
||||
|
||||
enum {
|
||||
ZOOM_IN = 0,
|
||||
ZOOM_OUT = 1,
|
||||
ZOOM_IN = 0,
|
||||
ZOOM_OUT = 1,
|
||||
ZOOM_NONE = 2, // hack, used to update the button status
|
||||
};
|
||||
|
||||
|
|
76
industry.h
76
industry.h
|
@ -108,45 +108,45 @@ void DeleteIndustry(Industry *is);
|
|||
void PlantRandomFarmField(const Industry *i);
|
||||
|
||||
enum {
|
||||
IT_COAL_MINE = 0,
|
||||
IT_POWER_STATION = 1,
|
||||
IT_SAWMILL = 2,
|
||||
IT_FOREST = 3,
|
||||
IT_OIL_REFINERY = 4,
|
||||
IT_OIL_RIG = 5,
|
||||
IT_FACTORY = 6,
|
||||
IT_PRINTING_WORKS = 7,
|
||||
IT_STEEL_MILL = 8,
|
||||
IT_FARM = 9,
|
||||
IT_COPPER_MINE = 10,
|
||||
IT_OIL_WELL = 11,
|
||||
IT_BANK_TEMP = 12,
|
||||
IT_FOOD_PROCESS = 13,
|
||||
IT_PAPER_MILL = 14,
|
||||
IT_GOLD_MINE = 15,
|
||||
IT_BANK_TROPIC_ARCTIC = 16,
|
||||
IT_DIAMOND_MINE = 17,
|
||||
IT_IRON_MINE = 18,
|
||||
IT_FRUIT_PLANTATION = 19,
|
||||
IT_RUBBER_PLANTATION = 20,
|
||||
IT_WATER_SUPPLY = 21,
|
||||
IT_WATER_TOWER = 22,
|
||||
IT_FACTORY_2 = 23,
|
||||
IT_FARM_2 = 24,
|
||||
IT_LUMBER_MILL = 25,
|
||||
IT_COTTON_CANDY = 26,
|
||||
IT_CANDY_FACTORY = 27,
|
||||
IT_BATTERY_FARM = 28,
|
||||
IT_COLA_WELLS = 29,
|
||||
IT_TOY_SHOP = 30,
|
||||
IT_TOY_FACTORY = 31,
|
||||
IT_PLASTIC_FOUNTAINS = 32,
|
||||
IT_FIZZY_DRINK_FACTORY = 33,
|
||||
IT_BUBBLE_GENERATOR = 34,
|
||||
IT_TOFFEE_QUARRY = 35,
|
||||
IT_SUGAR_MINE = 36,
|
||||
IT_COAL_MINE = 0,
|
||||
IT_POWER_STATION = 1,
|
||||
IT_SAWMILL = 2,
|
||||
IT_FOREST = 3,
|
||||
IT_OIL_REFINERY = 4,
|
||||
IT_OIL_RIG = 5,
|
||||
IT_FACTORY = 6,
|
||||
IT_PRINTING_WORKS = 7,
|
||||
IT_STEEL_MILL = 8,
|
||||
IT_FARM = 9,
|
||||
IT_COPPER_MINE = 10,
|
||||
IT_OIL_WELL = 11,
|
||||
IT_BANK_TEMP = 12,
|
||||
IT_FOOD_PROCESS = 13,
|
||||
IT_PAPER_MILL = 14,
|
||||
IT_GOLD_MINE = 15,
|
||||
IT_BANK_TROPIC_ARCTIC = 16,
|
||||
IT_DIAMOND_MINE = 17,
|
||||
IT_IRON_MINE = 18,
|
||||
IT_FRUIT_PLANTATION = 19,
|
||||
IT_RUBBER_PLANTATION = 20,
|
||||
IT_WATER_SUPPLY = 21,
|
||||
IT_WATER_TOWER = 22,
|
||||
IT_FACTORY_2 = 23,
|
||||
IT_FARM_2 = 24,
|
||||
IT_LUMBER_MILL = 25,
|
||||
IT_COTTON_CANDY = 26,
|
||||
IT_CANDY_FACTORY = 27,
|
||||
IT_BATTERY_FARM = 28,
|
||||
IT_COLA_WELLS = 29,
|
||||
IT_TOY_SHOP = 30,
|
||||
IT_TOY_FACTORY = 31,
|
||||
IT_PLASTIC_FOUNTAINS = 32,
|
||||
IT_FIZZY_DRINK_FACTORY = 33,
|
||||
IT_BUBBLE_GENERATOR = 34,
|
||||
IT_TOFFEE_QUARRY = 35,
|
||||
IT_SUGAR_MINE = 36,
|
||||
IT_END,
|
||||
IT_INVALID = 255,
|
||||
IT_INVALID = 255,
|
||||
};
|
||||
|
||||
typedef enum IndustryLifeTypes {
|
||||
|
|
|
@ -594,9 +594,9 @@ static void TileLoopIndustry_BubbleGenerator(TileIndex tile)
|
|||
int dir;
|
||||
Vehicle *v;
|
||||
static const int8 _tileloop_ind_case_161[12] = {
|
||||
11, 0, -4, -14,
|
||||
-4, -10, -4, 1,
|
||||
49, 59, 60, 65,
|
||||
11, 0, -4, -14,
|
||||
-4, -10, -4, 1,
|
||||
49, 59, 60, 65,
|
||||
};
|
||||
|
||||
SndPlayTileFx(SND_2E_EXTRACT_AND_POP, tile);
|
||||
|
@ -1160,11 +1160,11 @@ static const byte _industry_section_bits[] = {
|
|||
16, 16, 16, 16, 16, 16, 16, 16,
|
||||
16, 16, 16, 16, 16, 16, 16, 16,
|
||||
16, 16, 16, 16, 16, 16, 16, 16,
|
||||
16, 16, 4, 2, 16, 16, 16, 16,
|
||||
16, 16, 4, 2, 16, 16, 16, 16,
|
||||
16, 16, 16, 16, 16, 16, 16, 16,
|
||||
16, 16, 16, 16, 16, 16, 16, 16,
|
||||
16, 16, 16, 16, 16, 16, 16, 16,
|
||||
16, 4, 2, 16, 16, 16, 16, 16,
|
||||
16, 4, 2, 16, 16, 16, 16, 16,
|
||||
16, 16, 16, 16, 16, 16, 16, 16,
|
||||
16, 16, 16, 16, 16, 16, 16, 16,
|
||||
16, 16, 16, 16, 16, 16, 16, 16,
|
||||
|
@ -1763,10 +1763,10 @@ static void UpdateIndustryStatistics(Industry *i)
|
|||
}
|
||||
|
||||
static const byte _new_industry_rand[4][32] = {
|
||||
{12,12,12,12,12,12,12, 0, 0, 6, 6, 9, 9, 3, 3, 3,18,18, 4, 4, 2, 2, 5, 5, 5, 5, 5, 5, 1, 1, 8, 8},
|
||||
{16,16,16, 0, 0, 0, 9, 9, 9, 9,13,13, 3, 3, 3, 3,15,15,15, 4, 4,11,11,11,11,11,14,14, 1, 1, 7, 7},
|
||||
{21,21,21,24,22,22,22,22,23,23,16,16,16, 4, 4,19,19,19,13,13,20,20,20,11,11,11,17,17,17,10,10,10},
|
||||
{30,30,30,36,36,31,31,31,27,27,27,28,28,28,26,26,26,34,34,34,35,35,35,29,29,29,32,32,32,33,33,33},
|
||||
{12, 12, 12, 12, 12, 12, 12, 0, 0, 6, 6, 9, 9, 3, 3, 3, 18, 18, 4, 4, 2, 2, 5, 5, 5, 5, 5, 5, 1, 1, 8, 8},
|
||||
{16, 16, 16, 0, 0, 0, 9, 9, 9, 9, 13, 13, 3, 3, 3, 3, 15, 15, 15, 4, 4, 11, 11, 11, 11, 11, 14, 14, 1, 1, 7, 7},
|
||||
{21, 21, 21, 24, 22, 22, 22, 22, 23, 23, 16, 16, 16, 4, 4, 19, 19, 19, 13, 13, 20, 20, 20, 11, 11, 11, 17, 17, 17, 10, 10, 10},
|
||||
{30, 30, 30, 36, 36, 31, 31, 31, 27, 27, 27, 28, 28, 28, 26, 26, 26, 34, 34, 34, 35, 35, 35, 29, 29, 29, 32, 32, 32, 33, 33, 33},
|
||||
};
|
||||
|
||||
static void MaybeNewIndustry(uint32 r)
|
||||
|
@ -1900,46 +1900,46 @@ void InitializeIndustries(void)
|
|||
}
|
||||
|
||||
const TileTypeProcs _tile_type_industry_procs = {
|
||||
DrawTile_Industry, /* draw_tile_proc */
|
||||
GetSlopeZ_Industry, /* get_slope_z_proc */
|
||||
ClearTile_Industry, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Industry, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Industry, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Industry,/* get_tile_track_status_proc */
|
||||
ClickTile_Industry, /* click_tile_proc */
|
||||
AnimateTile_Industry, /* animate_tile_proc */
|
||||
TileLoop_Industry, /* tile_loop_proc */
|
||||
ChangeTileOwner_Industry, /* change_tile_owner_proc */
|
||||
GetProducedCargo_Industry, /* get_produced_cargo_proc */
|
||||
NULL, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Industry, /* get_slope_tileh_proc */
|
||||
DrawTile_Industry, /* draw_tile_proc */
|
||||
GetSlopeZ_Industry, /* get_slope_z_proc */
|
||||
ClearTile_Industry, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Industry, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Industry, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Industry, /* get_tile_track_status_proc */
|
||||
ClickTile_Industry, /* click_tile_proc */
|
||||
AnimateTile_Industry, /* animate_tile_proc */
|
||||
TileLoop_Industry, /* tile_loop_proc */
|
||||
ChangeTileOwner_Industry, /* change_tile_owner_proc */
|
||||
GetProducedCargo_Industry, /* get_produced_cargo_proc */
|
||||
NULL, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Industry, /* get_slope_tileh_proc */
|
||||
};
|
||||
|
||||
static const SaveLoad _industry_desc[] = {
|
||||
SLE_CONDVAR(Industry, xy, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Industry, xy, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(Industry,width, SLE_UINT8),
|
||||
SLE_VAR(Industry,height, SLE_UINT8),
|
||||
SLE_REF(Industry,town, REF_TOWN),
|
||||
SLE_ARR(Industry,produced_cargo, SLE_UINT8, 2),
|
||||
SLE_ARR(Industry,cargo_waiting, SLE_UINT16, 2),
|
||||
SLE_ARR(Industry,production_rate, SLE_UINT8, 2),
|
||||
SLE_ARR(Industry,accepts_cargo, SLE_UINT8, 3),
|
||||
SLE_VAR(Industry,prod_level, SLE_UINT8),
|
||||
SLE_ARR(Industry,last_mo_production,SLE_UINT16, 2),
|
||||
SLE_ARR(Industry,last_mo_transported,SLE_UINT16, 2),
|
||||
SLE_ARR(Industry,pct_transported,SLE_UINT8, 2),
|
||||
SLE_ARR(Industry,total_production,SLE_UINT16, 2),
|
||||
SLE_ARR(Industry,total_transported,SLE_UINT16, 2),
|
||||
SLE_CONDVAR(Industry, xy, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Industry, xy, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(Industry, width, SLE_UINT8),
|
||||
SLE_VAR(Industry, height, SLE_UINT8),
|
||||
SLE_REF(Industry, town, REF_TOWN),
|
||||
SLE_ARR(Industry, produced_cargo, SLE_UINT8, 2),
|
||||
SLE_ARR(Industry, cargo_waiting, SLE_UINT16, 2),
|
||||
SLE_ARR(Industry, production_rate, SLE_UINT8, 2),
|
||||
SLE_ARR(Industry, accepts_cargo, SLE_UINT8, 3),
|
||||
SLE_VAR(Industry, prod_level, SLE_UINT8),
|
||||
SLE_ARR(Industry, last_mo_production, SLE_UINT16, 2),
|
||||
SLE_ARR(Industry, last_mo_transported, SLE_UINT16, 2),
|
||||
SLE_ARR(Industry, pct_transported, SLE_UINT8, 2),
|
||||
SLE_ARR(Industry, total_production, SLE_UINT16, 2),
|
||||
SLE_ARR(Industry, total_transported, SLE_UINT16, 2),
|
||||
|
||||
SLE_VAR(Industry,counter, SLE_UINT16),
|
||||
SLE_VAR(Industry, counter, SLE_UINT16),
|
||||
|
||||
SLE_VAR(Industry,type, SLE_UINT8),
|
||||
SLE_VAR(Industry,owner, SLE_UINT8),
|
||||
SLE_VAR(Industry,color_map, SLE_UINT8),
|
||||
SLE_CONDVAR(Industry, last_prod_year, SLE_FILE_U8 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Industry, last_prod_year, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_VAR(Industry,was_cargo_delivered,SLE_UINT8),
|
||||
SLE_VAR(Industry, type, SLE_UINT8),
|
||||
SLE_VAR(Industry, owner, SLE_UINT8),
|
||||
SLE_VAR(Industry, color_map, SLE_UINT8),
|
||||
SLE_CONDVAR(Industry, last_prod_year, SLE_FILE_U8 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Industry, last_prod_year, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_VAR(Industry, was_cargo_delivered, SLE_UINT8),
|
||||
|
||||
// reserve extra space in savegame here. (currently 32 bytes)
|
||||
SLE_CONDNULL(32, 2, SL_MAX_VERSION),
|
||||
|
|
212
industry_gui.c
212
industry_gui.c
|
@ -57,130 +57,130 @@ static void BuildIndustryWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _build_industry_land0_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 115, 0x0, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0241_POWER_STATION, STR_0263_CONSTRUCT_POWER_STATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_0242_SAWMILL, STR_0264_CONSTRUCT_SAWMILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0246_FACTORY, STR_0268_CONSTRUCT_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0247_STEEL_MILL, STR_0269_CONSTRUCT_STEEL_MILL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 115, 0x0, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0241_POWER_STATION, STR_0263_CONSTRUCT_POWER_STATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_0242_SAWMILL, STR_0264_CONSTRUCT_SAWMILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0246_FACTORY, STR_0268_CONSTRUCT_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0247_STEEL_MILL, STR_0269_CONSTRUCT_STEEL_MILL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _build_industry_land1_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 115, 0x0, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0241_POWER_STATION, STR_0263_CONSTRUCT_POWER_STATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_024C_PAPER_MILL, STR_026E_CONSTRUCT_PAPER_MILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_024D_FOOD_PROCESSING_PLANT,STR_026F_CONSTRUCT_FOOD_PROCESSING},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_024E_PRINTING_WORKS, STR_0270_CONSTRUCT_PRINTING_WORKS},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 115, 0x0, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0241_POWER_STATION, STR_0263_CONSTRUCT_POWER_STATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_024C_PAPER_MILL, STR_026E_CONSTRUCT_PAPER_MILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_024D_FOOD_PROCESSING_PLANT, STR_026F_CONSTRUCT_FOOD_PROCESSING},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_024E_PRINTING_WORKS, STR_0270_CONSTRUCT_PRINTING_WORKS},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _build_industry_land2_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 115, 0x0, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0250_LUMBER_MILL, STR_0273_CONSTRUCT_LUMBER_MILL_TO},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_024D_FOOD_PROCESSING_PLANT,STR_026F_CONSTRUCT_FOOD_PROCESSING},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0246_FACTORY, STR_0268_CONSTRUCT_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0254_WATER_TOWER, STR_0277_CONSTRUCT_WATER_TOWER_CAN},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 115, 0x0, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0250_LUMBER_MILL, STR_0273_CONSTRUCT_LUMBER_MILL_TO},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_024D_FOOD_PROCESSING_PLANT, STR_026F_CONSTRUCT_FOOD_PROCESSING},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0246_FACTORY, STR_0268_CONSTRUCT_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0254_WATER_TOWER, STR_0277_CONSTRUCT_WATER_TOWER_CAN},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _build_industry_land3_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 115, 0x0, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0258_CANDY_FACTORY, STR_027B_CONSTRUCT_CANDY_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_025B_TOY_SHOP, STR_027E_CONSTRUCT_TOY_SHOP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_025C_TOY_FACTORY, STR_027F_CONSTRUCT_TOY_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_025E_FIZZY_DRINK_FACTORY, STR_0281_CONSTRUCT_FIZZY_DRINK_FACTORY},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 115, 0x0, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0258_CANDY_FACTORY, STR_027B_CONSTRUCT_CANDY_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_025B_TOY_SHOP, STR_027E_CONSTRUCT_TOY_SHOP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_025C_TOY_FACTORY, STR_027F_CONSTRUCT_TOY_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_025E_FIZZY_DRINK_FACTORY, STR_0281_CONSTRUCT_FIZZY_DRINK_FACTORY},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _build_industry_land0_widgets_extra[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY,STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 187, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 187, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0241_POWER_STATION,STR_0263_CONSTRUCT_POWER_STATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_0242_SAWMILL, STR_0264_CONSTRUCT_SAWMILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0246_FACTORY, STR_0268_CONSTRUCT_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0247_STEEL_MILL, STR_0269_CONSTRUCT_STEEL_MILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0241_POWER_STATION, STR_0263_CONSTRUCT_POWER_STATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_0242_SAWMILL, STR_0264_CONSTRUCT_SAWMILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0246_FACTORY, STR_0268_CONSTRUCT_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0247_STEEL_MILL, STR_0269_CONSTRUCT_STEEL_MILL},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 84, 95, STR_0240_COAL_MINE, STR_CONSTRUCT_COAL_MINE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 97, 108, STR_0243_FOREST, STR_CONSTRUCT_FOREST_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 110, 121, STR_0245_OIL_RIG, STR_CONSTRUCT_OIL_RIG_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 123, 134, STR_0248_FARM, STR_CONSTRUCT_FARM_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 136, 147, STR_024A_OIL_WELLS, STR_CONSTRUCT_OIL_WELLS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 149, 160, STR_0249_IRON_ORE_MINE, STR_CONSTRUCT_IRON_ORE_MINE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 84, 95, STR_0240_COAL_MINE, STR_CONSTRUCT_COAL_MINE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 97, 108, STR_0243_FOREST, STR_CONSTRUCT_FOREST_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 110, 121, STR_0245_OIL_RIG, STR_CONSTRUCT_OIL_RIG_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 123, 134, STR_0248_FARM, STR_CONSTRUCT_FARM_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 136, 147, STR_024A_OIL_WELLS, STR_CONSTRUCT_OIL_WELLS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 149, 160, STR_0249_IRON_ORE_MINE, STR_CONSTRUCT_IRON_ORE_MINE_TIP},
|
||||
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _build_industry_land1_widgets_extra[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 174, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 174, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0241_POWER_STATION, STR_0263_CONSTRUCT_POWER_STATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_024C_PAPER_MILL, STR_026E_CONSTRUCT_PAPER_MILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_024D_FOOD_PROCESSING_PLANT,STR_026F_CONSTRUCT_FOOD_PROCESSING},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_024E_PRINTING_WORKS, STR_0270_CONSTRUCT_PRINTING_WORKS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0241_POWER_STATION, STR_0263_CONSTRUCT_POWER_STATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_024C_PAPER_MILL, STR_026E_CONSTRUCT_PAPER_MILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_024D_FOOD_PROCESSING_PLANT, STR_026F_CONSTRUCT_FOOD_PROCESSING},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_024E_PRINTING_WORKS, STR_0270_CONSTRUCT_PRINTING_WORKS},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 81+3, 92+3, STR_0240_COAL_MINE, STR_CONSTRUCT_COAL_MINE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 94+3, 105+3, STR_0243_FOREST, STR_CONSTRUCT_FOREST_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 107+3, 118+3, STR_0248_FARM, STR_CONSTRUCT_FARM_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 120+3, 131+3, STR_024A_OIL_WELLS, STR_CONSTRUCT_OIL_WELLS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 133+3, 144+3, STR_024F_GOLD_MINE, STR_CONSTRUCT_GOLD_MINE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 84, 95, STR_0240_COAL_MINE, STR_CONSTRUCT_COAL_MINE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 97, 108, STR_0243_FOREST, STR_CONSTRUCT_FOREST_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 110, 121, STR_0248_FARM, STR_CONSTRUCT_FARM_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 123, 134, STR_024A_OIL_WELLS, STR_CONSTRUCT_OIL_WELLS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 136, 147, STR_024F_GOLD_MINE, STR_CONSTRUCT_GOLD_MINE_TIP},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _build_industry_land2_widgets_extra[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 200, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 200, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0250_LUMBER_MILL, STR_0273_CONSTRUCT_LUMBER_MILL_TO},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_024D_FOOD_PROCESSING_PLANT,STR_026F_CONSTRUCT_FOOD_PROCESSING},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0246_FACTORY, STR_0268_CONSTRUCT_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0254_WATER_TOWER, STR_0277_CONSTRUCT_WATER_TOWER_CAN},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0250_LUMBER_MILL, STR_0273_CONSTRUCT_LUMBER_MILL_TO},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_024D_FOOD_PROCESSING_PLANT, STR_026F_CONSTRUCT_FOOD_PROCESSING},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0246_FACTORY, STR_0268_CONSTRUCT_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0254_WATER_TOWER, STR_0277_CONSTRUCT_WATER_TOWER_CAN},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 81+3, 92+3, STR_024A_OIL_WELLS,STR_CONSTRUCT_OIL_WELLS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 94+3, 105+3, STR_0255_DIAMOND_MINE, STR_CONSTRUCT_DIAMOND_MINE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 107+3, 118+3, STR_0256_COPPER_ORE_MINE, STR_CONSTRUCT_COPPER_ORE_MINE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 120+3, 131+3, STR_0248_FARM, STR_CONSTRUCT_FARM_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 133+3, 144+3, STR_0251_FRUIT_PLANTATION, STR_CONSTRUCT_FRUIT_PLANTATION_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 146+3, 157+3, STR_0252_RUBBER_PLANTATION,STR_CONSTRUCT_RUBBER_PLANTATION_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 159+3, 170+3, STR_0253_WATER_SUPPLY, STR_CONSTRUCT_WATER_SUPPLY_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 84, 95, STR_024A_OIL_WELLS, STR_CONSTRUCT_OIL_WELLS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 97, 108, STR_0255_DIAMOND_MINE, STR_CONSTRUCT_DIAMOND_MINE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 110, 121, STR_0256_COPPER_ORE_MINE, STR_CONSTRUCT_COPPER_ORE_MINE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 123, 134, STR_0248_FARM, STR_CONSTRUCT_FARM_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 136, 147, STR_0251_FRUIT_PLANTATION, STR_CONSTRUCT_FRUIT_PLANTATION_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 149, 160, STR_0252_RUBBER_PLANTATION, STR_CONSTRUCT_RUBBER_PLANTATION_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 162, 173, STR_0253_WATER_SUPPLY, STR_CONSTRUCT_WATER_SUPPLY_TIP},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _build_industry_land3_widgets_extra[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 187, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_0314_FUND_NEW_INDUSTRY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 169, 14, 187, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0258_CANDY_FACTORY, STR_027B_CONSTRUCT_CANDY_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_025B_TOY_SHOP, STR_027E_CONSTRUCT_TOY_SHOP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_025C_TOY_FACTORY, STR_027F_CONSTRUCT_TOY_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_025E_FIZZY_DRINK_FACTORY, STR_0281_CONSTRUCT_FIZZY_DRINK_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_0258_CANDY_FACTORY, STR_027B_CONSTRUCT_CANDY_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 29, 40, STR_025B_TOY_SHOP, STR_027E_CONSTRUCT_TOY_SHOP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_025C_TOY_FACTORY, STR_027F_CONSTRUCT_TOY_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_025E_FIZZY_DRINK_FACTORY, STR_0281_CONSTRUCT_FIZZY_DRINK_FACTORY},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68+3, 79+3, STR_0257_COTTON_CANDY_FOREST,STR_CONSTRUCT_COTTON_CANDY_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 81+3, 92+3, STR_0259_BATTERY_FARM, STR_CONSTRUCT_BATTERY_FARM_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 94+3, 105+3, STR_025A_COLA_WELLS, STR_CONSTRUCT_COLA_WELLS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 107+3, 118+3, STR_025D_PLASTIC_FOUNTAINS,STR_CONSTRUCT_PLASTIC_FOUNTAINS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 120+3, 131+3, STR_025F_BUBBLE_GENERATOR, STR_CONSTRUCT_BUBBLE_GENERATOR_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 133+3, 144+3, STR_0260_TOFFEE_QUARRY, STR_CONSTRUCT_TOFFEE_QUARRY_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 146+3, 157+3, STR_0261_SUGAR_MINE, STR_CONSTRUCT_SUGAR_MINE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 71, 82, STR_0257_COTTON_CANDY_FOREST, STR_CONSTRUCT_COTTON_CANDY_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 84, 95, STR_0259_BATTERY_FARM, STR_CONSTRUCT_BATTERY_FARM_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 97, 108, STR_025A_COLA_WELLS, STR_CONSTRUCT_COLA_WELLS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 110, 121, STR_025D_PLASTIC_FOUNTAINS, STR_CONSTRUCT_PLASTIC_FOUNTAINS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 123, 134, STR_025F_BUBBLE_GENERATOR, STR_CONSTRUCT_BUBBLE_GENERATOR_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 136, 147, STR_0260_TOFFEE_QUARRY, STR_CONSTRUCT_TOFFEE_QUARRY_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 149, 160, STR_0261_SUGAR_MINE, STR_CONSTRUCT_SUGAR_MINE_TIP},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -420,14 +420,14 @@ static void UpdateIndustryProduction(Industry *i)
|
|||
}
|
||||
|
||||
static const Widget _industry_view_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 9, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 9, 11, 247, 0, 13, STR_4801, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 9, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 9, 0, 259, 14, 105, 0x0, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 9, 2, 257, 16, 103, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 9, 0, 259, 106, 147, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 9, 0, 129, 148, 159, STR_00E4_LOCATION, STR_482C_CENTER_THE_MAIN_VIEW_ON},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 9, 130, 259, 148, 159, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 9, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 9, 11, 247, 0, 13, STR_4801, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 9, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 9, 0, 259, 14, 105, 0x0, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 9, 2, 257, 16, 103, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 9, 0, 259, 106, 147, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 9, 0, 129, 148, 159, STR_00E4_LOCATION, STR_482C_CENTER_THE_MAIN_VIEW_ON},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 9, 130, 259, 148, 159, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -453,17 +453,17 @@ void ShowIndustryViewWindow(int industry)
|
|||
}
|
||||
|
||||
static const Widget _industry_directory_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 495, 0, 13, STR_INDUSTRYDIR_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 13, 496, 507, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 0, 100, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 101, 200, 14, 25, STR_SORT_BY_TYPE, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 201, 300, 14, 25, STR_SORT_BY_PRODUCTION, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 301, 400, 14, 25, STR_SORT_BY_TRANSPORTED, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 13, 401, 495, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_BOTTOM, 13, 0, 495, 26, 189, 0x0, STR_200A_TOWN_NAMES_CLICK_ON_NAME},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 13, 496, 507, 14, 177, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 13, 496, 507, 178, 189, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 495, 0, 13, STR_INDUSTRYDIR_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 13, 496, 507, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 0, 100, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 101, 200, 14, 25, STR_SORT_BY_TYPE, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 201, 300, 14, 25, STR_SORT_BY_PRODUCTION, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 301, 400, 14, 25, STR_SORT_BY_TRANSPORTED, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 13, 401, 495, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_BOTTOM, 13, 0, 495, 26, 189, 0x0, STR_200A_TOWN_NAMES_CLICK_ON_NAME},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 13, 496, 507, 14, 177, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 13, 496, 507, 178, 189, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
32
intro_gui.c
32
intro_gui.c
|
@ -15,24 +15,24 @@
|
|||
#include "genworld.h"
|
||||
|
||||
static const Widget _select_game_widgets[] = {
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 0, 335, 0, 13, STR_0307_OPENTTD, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 335, 14, 176, STR_NULL, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 22, 33, STR_0140_NEW_GAME, STR_02FB_START_A_NEW_GAME},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 22, 33, STR_0141_LOAD_GAME, STR_02FC_LOAD_A_SAVED_GAME},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 40, 51, STR_029A_PLAY_SCENARIO, STR_0303_START_A_NEW_GAME_USING},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 40, 51, STR_PLAY_HEIGHTMAP, STR_PLAY_HEIGHTMAP_HINT},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 58, 69, STR_0220_CREATE_SCENARIO,STR_02FE_CREATE_A_CUSTOMIZED_GAME},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 58, 69, STR_MULTIPLAYER, STR_0300_SELECT_MULTIPLAYER_GAME},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 0, 335, 0, 13, STR_0307_OPENTTD, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 335, 14, 176, STR_NULL, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 22, 33, STR_0140_NEW_GAME, STR_02FB_START_A_NEW_GAME},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 22, 33, STR_0141_LOAD_GAME, STR_02FC_LOAD_A_SAVED_GAME},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 40, 51, STR_029A_PLAY_SCENARIO, STR_0303_START_A_NEW_GAME_USING},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 40, 51, STR_PLAY_HEIGHTMAP, STR_PLAY_HEIGHTMAP_HINT},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 58, 69, STR_0220_CREATE_SCENARIO, STR_02FE_CREATE_A_CUSTOMIZED_GAME},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 58, 69, STR_MULTIPLAYER, STR_0300_SELECT_MULTIPLAYER_GAME},
|
||||
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 10, 86, 77, 131, 0x1312, STR_030E_SELECT_TEMPERATE_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 90, 166, 77, 131, 0x1314, STR_030F_SELECT_SUB_ARCTIC_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 170, 246, 77, 131, 0x1316, STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 250, 326, 77, 131, 0x1318, STR_0311_SELECT_TOYLAND_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 10, 86, 77, 131, 0x1312, STR_030E_SELECT_TEMPERATE_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 90, 166, 77, 131, 0x1314, STR_030F_SELECT_SUB_ARCTIC_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 170, 246, 77, 131, 0x1316, STR_0310_SELECT_SUB_TROPICAL_LANDSCAPE},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 12, 250, 326, 77, 131, 0x1318, STR_0311_SELECT_TOYLAND_LANDSCAPE},
|
||||
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 139, 150, STR_0148_GAME_OPTIONS, STR_0301_DISPLAY_GAME_OPTIONS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 139, 150, STR_01FE_DIFFICULTY, STR_0302_DISPLAY_DIFFICULTY_OPTIONS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 157, 168, STR_CONFIG_PATCHES, STR_CONFIG_PATCHES_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 157, 168, STR_0304_QUIT, STR_0305_QUIT_OPENTTD},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 139, 150, STR_0148_GAME_OPTIONS, STR_0301_DISPLAY_GAME_OPTIONS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 139, 150, STR_01FE_DIFFICULTY, STR_0302_DISPLAY_DIFFICULTY_OPTIONS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 10, 167, 157, 168, STR_CONFIG_PATCHES, STR_CONFIG_PATCHES_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 12, 168, 325, 157, 168, STR_0304_QUIT, STR_0305_QUIT_OPENTTD},
|
||||
{ WIDGETS_END },
|
||||
};
|
||||
|
||||
|
|
12
landscape.c
12
landscape.c
|
@ -50,13 +50,13 @@ const TileTypeProcs * const _tile_type_procs[16] = {
|
|||
|
||||
/* landscape slope => sprite */
|
||||
const byte _tileh_to_sprite[32] = {
|
||||
0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,0,
|
||||
0,0,0,0,0,0,0,16,0,0,0,17,0,15,18,0,
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 17, 0, 15, 18, 0,
|
||||
};
|
||||
|
||||
const byte _inclined_tileh[] = {
|
||||
SLOPE_SW, SLOPE_NW, SLOPE_SW, SLOPE_SE, SLOPE_NE, SLOPE_SE, SLOPE_NE, SLOPE_NW,
|
||||
SLOPE_E, SLOPE_N, SLOPE_W, SLOPE_S,
|
||||
SLOPE_SW, SLOPE_NW, SLOPE_SW, SLOPE_SE, SLOPE_NE, SLOPE_SE, SLOPE_NE, SLOPE_NW,
|
||||
SLOPE_E, SLOPE_N, SLOPE_W, SLOPE_S,
|
||||
SLOPE_NWS, SLOPE_WSE, SLOPE_SEN, SLOPE_ENW
|
||||
};
|
||||
|
||||
|
@ -445,8 +445,8 @@ void ConvertGroundTilesIntoWaterTiles(void)
|
|||
}
|
||||
}
|
||||
|
||||
static const byte _genterrain_tbl_1[5] = { 10, 22, 33, 37, 4 };
|
||||
static const byte _genterrain_tbl_2[5] = { 0, 0, 0, 0, 33 };
|
||||
static const byte _genterrain_tbl_1[5] = { 10, 22, 33, 37, 4 };
|
||||
static const byte _genterrain_tbl_2[5] = { 0, 0, 0, 0, 33 };
|
||||
|
||||
static void GenerateTerrain(int type, int flag)
|
||||
{
|
||||
|
|
266
main_gui.c
266
main_gui.c
|
@ -428,33 +428,33 @@ static void MenuClickHelp(int index)
|
|||
typedef void MenuClickedProc(int index);
|
||||
|
||||
static MenuClickedProc * const _menu_clicked_procs[] = {
|
||||
NULL, /* 0 */
|
||||
NULL, /* 1 */
|
||||
MenuClickSettings, /* 2 */
|
||||
MenuClickSaveLoad, /* 3 */
|
||||
MenuClickMap, /* 4 */
|
||||
MenuClickTown, /* 5 */
|
||||
MenuClickSubsidies, /* 6 */
|
||||
MenuClickStations, /* 7 */
|
||||
MenuClickFinances, /* 8 */
|
||||
MenuClickCompany, /* 9 */
|
||||
MenuClickGraphs, /* 10 */
|
||||
MenuClickLeague, /* 11 */
|
||||
MenuClickIndustry, /* 12 */
|
||||
MenuClickShowTrains, /* 13 */
|
||||
MenuClickShowRoad, /* 14 */
|
||||
MenuClickShowShips, /* 15 */
|
||||
MenuClickShowAir, /* 16 */
|
||||
MenuClickScenMap, /* 17 */
|
||||
NULL, /* 18 */
|
||||
MenuClickBuildRail, /* 19 */
|
||||
MenuClickBuildRoad, /* 20 */
|
||||
MenuClickBuildWater, /* 21 */
|
||||
MenuClickBuildAir, /* 22 */
|
||||
MenuClickForest, /* 23 */
|
||||
NULL, /* 0 */
|
||||
NULL, /* 1 */
|
||||
MenuClickSettings, /* 2 */
|
||||
MenuClickSaveLoad, /* 3 */
|
||||
MenuClickMap, /* 4 */
|
||||
MenuClickTown, /* 5 */
|
||||
MenuClickSubsidies, /* 6 */
|
||||
MenuClickStations, /* 7 */
|
||||
MenuClickFinances, /* 8 */
|
||||
MenuClickCompany, /* 9 */
|
||||
MenuClickGraphs, /* 10 */
|
||||
MenuClickLeague, /* 11 */
|
||||
MenuClickIndustry, /* 12 */
|
||||
MenuClickShowTrains, /* 13 */
|
||||
MenuClickShowRoad, /* 14 */
|
||||
MenuClickShowShips, /* 15 */
|
||||
MenuClickShowAir, /* 16 */
|
||||
MenuClickScenMap, /* 17 */
|
||||
NULL, /* 18 */
|
||||
MenuClickBuildRail, /* 19 */
|
||||
MenuClickBuildRoad, /* 20 */
|
||||
MenuClickBuildWater, /* 21 */
|
||||
MenuClickBuildAir, /* 22 */
|
||||
MenuClickForest, /* 23 */
|
||||
MenuClickMusicWindow, /* 24 */
|
||||
MenuClickNewspaper, /* 25 */
|
||||
MenuClickHelp, /* 26 */
|
||||
MenuClickNewspaper, /* 25 */
|
||||
MenuClickHelp, /* 26 */
|
||||
};
|
||||
|
||||
static void MenuWndProc(Window *w, WindowEvent *e)
|
||||
|
@ -533,13 +533,13 @@ static void MenuWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _menu_widgets[] = {
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 159, 0, 65535, 0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 159, 0, 65535, 0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
||||
static const Widget _player_menu_widgets[] = {
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 240, 0, 81, 0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 240, 0, 81, 0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -1187,13 +1187,13 @@ static const Widget _scen_edit_land_gen_widgets[] = {
|
|||
|
||||
static const int8 _multi_terraform_coords[][2] = {
|
||||
{ 0, -2},
|
||||
{ 4, 0},{ -4, 0},{ 0, 2},
|
||||
{ -8, 2},{ -4, 4},{ 0, 6},{ 4, 4},{ 8, 2},
|
||||
{-12, 0},{ -8, -2},{ -4, -4},{ 0, -6},{ 4, -4},{ 8, -2},{ 12, 0},
|
||||
{-16, 2},{-12, 4},{ -8, 6},{ -4, 8},{ 0, 10},{ 4, 8},{ 8, 6},{ 12, 4},{ 16, 2},
|
||||
{-20, 0},{-16, -2},{-12, -4},{ -8, -6},{ -4, -8},{ 0,-10},{ 4, -8},{ 8, -6},{ 12, -4},{ 16, -2},{ 20, 0},
|
||||
{-24, 2},{-20, 4},{-16, 6},{-12, 8},{ -8, 10},{ -4, 12},{ 0, 14},{ 4, 12},{ 8, 10},{ 12, 8},{ 16, 6},{ 20, 4},{ 24, 2},
|
||||
{-28, 0},{-24, -2},{-20, -4},{-16, -6},{-12, -8},{ -8,-10},{ -4,-12},{ 0,-14},{ 4,-12},{ 8,-10},{ 12, -8},{ 16, -6},{ 20, -4},{ 24, -2},{ 28, 0},
|
||||
{ 4, 0}, { -4, 0}, { 0, 2},
|
||||
{ -8, 2}, { -4, 4}, { 0, 6}, { 4, 4}, { 8, 2},
|
||||
{-12, 0}, { -8, -2}, { -4, -4}, { 0, -6}, { 4, -4}, { 8, -2}, { 12, 0},
|
||||
{-16, 2}, {-12, 4}, { -8, 6}, { -4, 8}, { 0, 10}, { 4, 8}, { 8, 6}, { 12, 4}, { 16, 2},
|
||||
{-20, 0}, {-16, -2}, {-12, -4}, { -8, -6}, { -4, -8}, { 0,-10}, { 4, -8}, { 8, -6}, { 12, -4}, { 16, -2}, { 20, 0},
|
||||
{-24, 2}, {-20, 4}, {-16, 6}, {-12, 8}, { -8, 10}, { -4, 12}, { 0, 14}, { 4, 12}, { 8, 10}, { 12, 8}, { 16, 6}, { 20, 4}, { 24, 2},
|
||||
{-28, 0}, {-24, -2}, {-20, -4}, {-16, -6}, {-12, -8}, { -8,-10}, { -4,-12}, { 0,-14}, { 4,-12}, { 8,-10}, { 12, -8}, { 16, -6}, { 20, -4}, { 24, -2}, { 28, 0},
|
||||
};
|
||||
|
||||
// TODO - Merge with terraform_gui.c (move there) after I have cooled down at its braindeadness
|
||||
|
@ -1477,90 +1477,90 @@ static void ToolbarScenGenTown(Window *w)
|
|||
|
||||
|
||||
static const Widget _scenedit_industry_normal_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_023F_INDUSTRY_GENERATION, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 0, 169, 14, 224, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_023F_INDUSTRY_GENERATION, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 0, 169, 14, 224, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_MANY_RANDOM_INDUSTRIES, STR_RANDOM_INDUSTRIES_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_MANY_RANDOM_INDUSTRIES, STR_RANDOM_INDUSTRIES_TIP},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0240_COAL_MINE, STR_0262_CONSTRUCT_COAL_MINE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0241_POWER_STATION, STR_0263_CONSTRUCT_POWER_STATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0242_SAWMILL, STR_0264_CONSTRUCT_SAWMILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 81, 92, STR_0243_FOREST, STR_0265_PLANT_FOREST},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 94, 105, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 107, 118, STR_0245_OIL_RIG, STR_0267_CONSTRUCT_OIL_RIG_CAN_ONLY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 120, 131, STR_0246_FACTORY, STR_0268_CONSTRUCT_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 133, 144, STR_0247_STEEL_MILL, STR_0269_CONSTRUCT_STEEL_MILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 146, 157, STR_0248_FARM, STR_026A_CONSTRUCT_FARM},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 159, 170, STR_0249_IRON_ORE_MINE, STR_026B_CONSTRUCT_IRON_ORE_MINE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 172, 183, STR_024A_OIL_WELLS, STR_026C_CONSTRUCT_OIL_WELLS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 185, 196, STR_024B_BANK, STR_026D_CONSTRUCT_BANK_CAN_ONLY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0240_COAL_MINE, STR_0262_CONSTRUCT_COAL_MINE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0241_POWER_STATION, STR_0263_CONSTRUCT_POWER_STATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0242_SAWMILL, STR_0264_CONSTRUCT_SAWMILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 81, 92, STR_0243_FOREST, STR_0265_PLANT_FOREST},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 94, 105, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 107, 118, STR_0245_OIL_RIG, STR_0267_CONSTRUCT_OIL_RIG_CAN_ONLY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 120, 131, STR_0246_FACTORY, STR_0268_CONSTRUCT_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 133, 144, STR_0247_STEEL_MILL, STR_0269_CONSTRUCT_STEEL_MILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 146, 157, STR_0248_FARM, STR_026A_CONSTRUCT_FARM},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 159, 170, STR_0249_IRON_ORE_MINE, STR_026B_CONSTRUCT_IRON_ORE_MINE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 172, 183, STR_024A_OIL_WELLS, STR_026C_CONSTRUCT_OIL_WELLS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 185, 196, STR_024B_BANK, STR_026D_CONSTRUCT_BANK_CAN_ONLY},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
||||
static const Widget _scenedit_industry_hilly_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_023F_INDUSTRY_GENERATION, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 0, 169, 14, 224, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_023F_INDUSTRY_GENERATION, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 0, 169, 14, 224, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_MANY_RANDOM_INDUSTRIES, STR_RANDOM_INDUSTRIES_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_MANY_RANDOM_INDUSTRIES, STR_RANDOM_INDUSTRIES_TIP},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0240_COAL_MINE, STR_0262_CONSTRUCT_COAL_MINE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0241_POWER_STATION, STR_0263_CONSTRUCT_POWER_STATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_024C_PAPER_MILL, STR_026E_CONSTRUCT_PAPER_MILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 81, 92, STR_0243_FOREST, STR_0265_PLANT_FOREST},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 94, 105, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 107, 118, STR_024D_FOOD_PROCESSING_PLANT, STR_026F_CONSTRUCT_FOOD_PROCESSING},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 120, 131, STR_024E_PRINTING_WORKS, STR_0270_CONSTRUCT_PRINTING_WORKS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 133, 144, STR_024F_GOLD_MINE, STR_0271_CONSTRUCT_GOLD_MINE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 146, 157, STR_0248_FARM, STR_026A_CONSTRUCT_FARM},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 159, 170, STR_024B_BANK, STR_0272_CONSTRUCT_BANK_CAN_ONLY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 172, 183, STR_024A_OIL_WELLS, STR_026C_CONSTRUCT_OIL_WELLS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0240_COAL_MINE, STR_0262_CONSTRUCT_COAL_MINE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0241_POWER_STATION, STR_0263_CONSTRUCT_POWER_STATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_024C_PAPER_MILL, STR_026E_CONSTRUCT_PAPER_MILL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 81, 92, STR_0243_FOREST, STR_0265_PLANT_FOREST},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 94, 105, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 107, 118, STR_024D_FOOD_PROCESSING_PLANT, STR_026F_CONSTRUCT_FOOD_PROCESSING},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 120, 131, STR_024E_PRINTING_WORKS, STR_0270_CONSTRUCT_PRINTING_WORKS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 133, 144, STR_024F_GOLD_MINE, STR_0271_CONSTRUCT_GOLD_MINE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 146, 157, STR_0248_FARM, STR_026A_CONSTRUCT_FARM},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 159, 170, STR_024B_BANK, STR_0272_CONSTRUCT_BANK_CAN_ONLY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 172, 183, STR_024A_OIL_WELLS, STR_026C_CONSTRUCT_OIL_WELLS},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _scenedit_industry_desert_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_023F_INDUSTRY_GENERATION, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 0, 169, 14, 224, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_023F_INDUSTRY_GENERATION, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 0, 169, 14, 224, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_MANY_RANDOM_INDUSTRIES, STR_RANDOM_INDUSTRIES_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_MANY_RANDOM_INDUSTRIES, STR_RANDOM_INDUSTRIES_TIP},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0250_LUMBER_MILL, STR_0273_CONSTRUCT_LUMBER_MILL_TO},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0251_FRUIT_PLANTATION, STR_0274_PLANT_FRUIT_PLANTATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0252_RUBBER_PLANTATION,STR_0275_PLANT_RUBBER_PLANTATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 81, 92, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 94, 105, STR_024D_FOOD_PROCESSING_PLANT, STR_026F_CONSTRUCT_FOOD_PROCESSING},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 107, 118, STR_0246_FACTORY, STR_0268_CONSTRUCT_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 120, 131, STR_0253_WATER_SUPPLY, STR_0276_CONSTRUCT_WATER_SUPPLY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 133, 144, STR_0248_FARM, STR_026A_CONSTRUCT_FARM},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 146, 157, STR_0254_WATER_TOWER, STR_0277_CONSTRUCT_WATER_TOWER_CAN},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 159, 170, STR_024A_OIL_WELLS, STR_026C_CONSTRUCT_OIL_WELLS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 172, 183, STR_024B_BANK, STR_0272_CONSTRUCT_BANK_CAN_ONLY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 185, 196, STR_0255_DIAMOND_MINE, STR_0278_CONSTRUCT_DIAMOND_MINE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 198, 209, STR_0256_COPPER_ORE_MINE, STR_0279_CONSTRUCT_COPPER_ORE_MINE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0250_LUMBER_MILL, STR_0273_CONSTRUCT_LUMBER_MILL_TO},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0251_FRUIT_PLANTATION, STR_0274_PLANT_FRUIT_PLANTATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0252_RUBBER_PLANTATION, STR_0275_PLANT_RUBBER_PLANTATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 81, 92, STR_0244_OIL_REFINERY, STR_0266_CONSTRUCT_OIL_REFINERY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 94, 105, STR_024D_FOOD_PROCESSING_PLANT, STR_026F_CONSTRUCT_FOOD_PROCESSING},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 107, 118, STR_0246_FACTORY, STR_0268_CONSTRUCT_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 120, 131, STR_0253_WATER_SUPPLY, STR_0276_CONSTRUCT_WATER_SUPPLY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 133, 144, STR_0248_FARM, STR_026A_CONSTRUCT_FARM},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 146, 157, STR_0254_WATER_TOWER, STR_0277_CONSTRUCT_WATER_TOWER_CAN},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 159, 170, STR_024A_OIL_WELLS, STR_026C_CONSTRUCT_OIL_WELLS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 172, 183, STR_024B_BANK, STR_0272_CONSTRUCT_BANK_CAN_ONLY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 185, 196, STR_0255_DIAMOND_MINE, STR_0278_CONSTRUCT_DIAMOND_MINE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 198, 209, STR_0256_COPPER_ORE_MINE, STR_0279_CONSTRUCT_COPPER_ORE_MINE},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _scenedit_industry_candy_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_023F_INDUSTRY_GENERATION,STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 0, 169, 14, 224, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 169, 0, 13, STR_023F_INDUSTRY_GENERATION, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 0, 169, 14, 224, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_MANY_RANDOM_INDUSTRIES, STR_RANDOM_INDUSTRIES_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 16, 27, STR_MANY_RANDOM_INDUSTRIES, STR_RANDOM_INDUSTRIES_TIP},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0257_COTTON_CANDY_FOREST,STR_027A_PLANT_COTTON_CANDY_FOREST},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0258_CANDY_FACTORY, STR_027B_CONSTRUCT_CANDY_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0259_BATTERY_FARM, STR_027C_CONSTRUCT_BATTERY_FARM},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 81, 92, STR_025A_COLA_WELLS, STR_027D_CONSTRUCT_COLA_WELLS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 94, 105, STR_025B_TOY_SHOP, STR_027E_CONSTRUCT_TOY_SHOP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 107, 118, STR_025C_TOY_FACTORY, STR_027F_CONSTRUCT_TOY_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 120, 131, STR_025D_PLASTIC_FOUNTAINS, STR_0280_CONSTRUCT_PLASTIC_FOUNTAINS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 133, 144, STR_025E_FIZZY_DRINK_FACTORY,STR_0281_CONSTRUCT_FIZZY_DRINK_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 146, 157, STR_025F_BUBBLE_GENERATOR, STR_0282_CONSTRUCT_BUBBLE_GENERATOR},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 159, 170, STR_0260_TOFFEE_QUARRY, STR_0283_CONSTRUCT_TOFFEE_QUARRY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 172, 183, STR_0261_SUGAR_MINE, STR_0284_CONSTRUCT_SUGAR_MINE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 42, 53, STR_0257_COTTON_CANDY_FOREST, STR_027A_PLANT_COTTON_CANDY_FOREST},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 55, 66, STR_0258_CANDY_FACTORY, STR_027B_CONSTRUCT_CANDY_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 68, 79, STR_0259_BATTERY_FARM, STR_027C_CONSTRUCT_BATTERY_FARM},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 81, 92, STR_025A_COLA_WELLS, STR_027D_CONSTRUCT_COLA_WELLS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 94, 105, STR_025B_TOY_SHOP, STR_027E_CONSTRUCT_TOY_SHOP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 107, 118, STR_025C_TOY_FACTORY, STR_027F_CONSTRUCT_TOY_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 120, 131, STR_025D_PLASTIC_FOUNTAINS, STR_0280_CONSTRUCT_PLASTIC_FOUNTAINS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 133, 144, STR_025E_FIZZY_DRINK_FACTORY, STR_0281_CONSTRUCT_FIZZY_DRINK_FACTORY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 146, 157, STR_025F_BUBBLE_GENERATOR, STR_0282_CONSTRUCT_BUBBLE_GENERATOR},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 159, 170, STR_0260_TOFFEE_QUARRY, STR_0283_CONSTRUCT_TOFFEE_QUARRY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 167, 172, 183, STR_0261_SUGAR_MINE, STR_0284_CONSTRUCT_SUGAR_MINE},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -1603,9 +1603,9 @@ static bool TryBuildIndustry(TileIndex tile, int type)
|
|||
|
||||
|
||||
static const byte _industry_type_list[4][16] = {
|
||||
{0, 1, 2, 3, 4, 5, 6, 8, 9, 18, 11, 12},
|
||||
{0, 1, 14, 3, 4, 13, 7, 15, 9, 16, 11, 12},
|
||||
{25, 19, 20, 4, 13, 23, 21, 24, 22, 11, 16, 17, 10},
|
||||
{ 0, 1, 2, 3, 4, 5, 6, 8, 9, 18, 11, 12},
|
||||
{ 0, 1, 14, 3, 4, 13, 7, 15, 9, 16, 11, 12},
|
||||
{25, 19, 20, 4, 13, 23, 21, 24, 22, 11, 16, 17, 10},
|
||||
{26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36},
|
||||
};
|
||||
|
||||
|
@ -1874,15 +1874,15 @@ static void MainToolbarWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _toolb_normal_widgets[] = {
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 21, 0, 21, SPR_IMG_PAUSE, STR_0171_PAUSE_GAME},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 22, 43, 0, 21, SPR_IMG_FASTFORWARD, STR_FAST_FORWARD},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 44, 65, 0, 21, SPR_IMG_SETTINGS, STR_0187_OPTIONS},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 14, 66, 87, 0, 21, SPR_IMG_SAVE, STR_0172_SAVE_GAME_ABANDON_GAME},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 21, 0, 21, SPR_IMG_PAUSE, STR_0171_PAUSE_GAME},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 22, 43, 0, 21, SPR_IMG_FASTFORWARD, STR_FAST_FORWARD},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 44, 65, 0, 21, SPR_IMG_SETTINGS, STR_0187_OPTIONS},
|
||||
{ WWT_PANEL_2, RESIZE_NONE, 14, 66, 87, 0, 21, SPR_IMG_SAVE, STR_0172_SAVE_GAME_ABANDON_GAME},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 96, 117, 0, 21, SPR_IMG_SMALLMAP, STR_0174_DISPLAY_MAP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 118, 139, 0, 21, SPR_IMG_TOWN, STR_0176_DISPLAY_TOWN_DIRECTORY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 140, 161, 0, 21, SPR_IMG_SUBSIDIES, STR_02DC_DISPLAY_SUBSIDIES},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 162, 183, 0, 21, SPR_IMG_COMPANY_LIST, STR_0173_DISPLAY_LIST_OF_COMPANY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 96, 117, 0, 21, SPR_IMG_SMALLMAP, STR_0174_DISPLAY_MAP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 118, 139, 0, 21, SPR_IMG_TOWN, STR_0176_DISPLAY_TOWN_DIRECTORY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 140, 161, 0, 21, SPR_IMG_SUBSIDIES, STR_02DC_DISPLAY_SUBSIDIES},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 162, 183, 0, 21, SPR_IMG_COMPANY_LIST, STR_0173_DISPLAY_LIST_OF_COMPANY},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 191, 212, 0, 21, SPR_IMG_COMPANY_FINANCE, STR_0177_DISPLAY_COMPANY_FINANCES},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 213, 235, 0, 21, SPR_IMG_COMPANY_GENERAL, STR_0178_DISPLAY_COMPANY_GENERAL},
|
||||
|
@ -1890,23 +1890,23 @@ static const Widget _toolb_normal_widgets[] = {
|
|||
{ WWT_PANEL, RESIZE_NONE, 14, 258, 279, 0, 21, SPR_IMG_COMPANY_LEAGUE, STR_017A_DISPLAY_COMPANY_LEAGUE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 280, 301, 0, 21, SPR_IMG_INDUSTRY, STR_0312_FUND_CONSTRUCTION_OF_NEW},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 310, 331, 0, 21, SPR_IMG_TRAINLIST, STR_017B_DISPLAY_LIST_OF_COMPANY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 332, 353, 0, 21, SPR_IMG_TRUCKLIST, STR_017C_DISPLAY_LIST_OF_COMPANY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 354, 375, 0, 21, SPR_IMG_SHIPLIST, STR_017D_DISPLAY_LIST_OF_COMPANY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 376, 397, 0, 21, SPR_IMG_AIRPLANESLIST, STR_017E_DISPLAY_LIST_OF_COMPANY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 310, 331, 0, 21, SPR_IMG_TRAINLIST, STR_017B_DISPLAY_LIST_OF_COMPANY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 332, 353, 0, 21, SPR_IMG_TRUCKLIST, STR_017C_DISPLAY_LIST_OF_COMPANY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 354, 375, 0, 21, SPR_IMG_SHIPLIST, STR_017D_DISPLAY_LIST_OF_COMPANY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 376, 397, 0, 21, SPR_IMG_AIRPLANESLIST, STR_017E_DISPLAY_LIST_OF_COMPANY},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 406, 427, 0, 21, SPR_IMG_ZOOMIN, STR_017F_ZOOM_THE_VIEW_IN},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 428, 449, 0, 21, SPR_IMG_ZOOMOUT, STR_0180_ZOOM_THE_VIEW_OUT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 406, 427, 0, 21, SPR_IMG_ZOOMIN, STR_017F_ZOOM_THE_VIEW_IN},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 428, 449, 0, 21, SPR_IMG_ZOOMOUT, STR_0180_ZOOM_THE_VIEW_OUT},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 457, 478, 0, 21, SPR_IMG_BUILDRAIL, STR_0181_BUILD_RAILROAD_TRACK},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 479, 500, 0, 21, SPR_IMG_BUILDROAD, STR_0182_BUILD_ROADS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 501, 522, 0, 21, SPR_IMG_BUILDWATER, STR_0183_BUILD_SHIP_DOCKS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 523, 544, 0, 21, SPR_IMG_BUILDAIR, STR_0184_BUILD_AIRPORTS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 545, 566, 0, 21, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP}, // tree icon is 0x2E6
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 457, 478, 0, 21, SPR_IMG_BUILDRAIL, STR_0181_BUILD_RAILROAD_TRACK},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 479, 500, 0, 21, SPR_IMG_BUILDROAD, STR_0182_BUILD_ROADS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 501, 522, 0, 21, SPR_IMG_BUILDWATER, STR_0183_BUILD_SHIP_DOCKS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 523, 544, 0, 21, SPR_IMG_BUILDAIR, STR_0184_BUILD_AIRPORTS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 545, 566, 0, 21, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP}, // tree icon is 0x2E6
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 574, 595, 0, 21, SPR_IMG_MUSIC, STR_01D4_SHOW_SOUND_MUSIC_WINDOW},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 596, 617, 0, 21, SPR_IMG_MESSAGES, STR_0203_SHOW_LAST_MESSAGE_NEWS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 618, 639, 0, 21, SPR_IMG_QUERY, STR_0186_LAND_BLOCK_INFORMATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 574, 595, 0, 21, SPR_IMG_MUSIC, STR_01D4_SHOW_SOUND_MUSIC_WINDOW},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 596, 617, 0, 21, SPR_IMG_MESSAGES, STR_0203_SHOW_LAST_MESSAGE_NEWS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 618, 639, 0, 21, SPR_IMG_QUERY, STR_0186_LAND_BLOCK_INFORMATION},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -1943,16 +1943,16 @@ static const Widget _toolb_scen_widgets[] = {
|
|||
{ WWT_PANEL, RESIZE_NONE, 14, 540, 561, 0, 21, SPR_IMG_PLANTTREES, STR_0288_PLANT_TREES},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 562, 583, 0, 21, SPR_IMG_SIGN, STR_0289_PLACE_SIGN},
|
||||
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 596, 617, 0, 21, SPR_IMG_MUSIC, STR_01D4_SHOW_SOUND_MUSIC_WINDOW},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 618, 639, 0, 21, SPR_IMG_QUERY, STR_0186_LAND_BLOCK_INFORMATION},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 596, 617, 0, 21, SPR_IMG_MUSIC, STR_01D4_SHOW_SOUND_MUSIC_WINDOW},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 618, 639, 0, 21, SPR_IMG_QUERY, STR_0186_LAND_BLOCK_INFORMATION},
|
||||
{WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
2
map.h
2
map.h
|
@ -81,7 +81,7 @@ enum {
|
|||
enum {
|
||||
TILE_SIZE = 16, /* Tiles are 16x16 "units" in size */
|
||||
TILE_PIXELS = 32, /* a tile is 32x32 pixels */
|
||||
TILE_HEIGHT = 8, /* The standard height-difference between tiles on two levels is 8 (z-diff 8) */
|
||||
TILE_HEIGHT = 8, /* The standard height-difference between tiles on two levels is 8 (z-diff 8) */
|
||||
};
|
||||
|
||||
|
||||
|
|
70
misc.c
70
misc.c
|
@ -268,26 +268,26 @@ static void Load_NAME(void)
|
|||
}
|
||||
|
||||
static const SaveLoadGlobVarList _date_desc[] = {
|
||||
SLEG_CONDVAR(_date, SLE_FILE_U16 | SLE_VAR_U32, 0, 30),
|
||||
SLEG_CONDVAR(_date, SLE_UINT32, 31, SL_MAX_VERSION),
|
||||
SLEG_VAR(_date_fract, SLE_UINT16),
|
||||
SLEG_VAR(_tick_counter, SLE_UINT16),
|
||||
SLEG_VAR(_vehicle_id_ctr_day, SLE_UINT16),
|
||||
SLEG_VAR(_age_cargo_skip_counter,SLE_UINT8),
|
||||
SLEG_VAR(_avail_aircraft, SLE_UINT8),
|
||||
SLEG_CONDVAR(_cur_tileloop_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLEG_CONDVAR(_cur_tileloop_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLEG_VAR(_disaster_delay, SLE_UINT16),
|
||||
SLEG_VAR(_station_tick_ctr, SLE_UINT16),
|
||||
SLEG_VAR(_random_seeds[0][0], SLE_UINT32),
|
||||
SLEG_VAR(_random_seeds[0][1], SLE_UINT32),
|
||||
SLEG_CONDVAR(_cur_town_ctr, SLE_FILE_U8 | SLE_VAR_U32, 0, 9),
|
||||
SLEG_CONDVAR(_cur_town_ctr, SLE_UINT32, 10, SL_MAX_VERSION),
|
||||
SLEG_VAR(_cur_player_tick_index, SLE_FILE_U8 | SLE_VAR_U32),
|
||||
SLEG_VAR(_next_competitor_start, SLE_FILE_U16 | SLE_VAR_U32),
|
||||
SLEG_VAR(_trees_tick_ctr, SLE_UINT8),
|
||||
SLEG_CONDVAR(_pause, SLE_UINT8, 4, SL_MAX_VERSION),
|
||||
SLEG_CONDVAR(_cur_town_iter, SLE_UINT32, 11, SL_MAX_VERSION),
|
||||
SLEG_CONDVAR(_date, SLE_FILE_U16 | SLE_VAR_U32, 0, 30),
|
||||
SLEG_CONDVAR(_date, SLE_UINT32, 31, SL_MAX_VERSION),
|
||||
SLEG_VAR(_date_fract, SLE_UINT16),
|
||||
SLEG_VAR(_tick_counter, SLE_UINT16),
|
||||
SLEG_VAR(_vehicle_id_ctr_day, SLE_UINT16),
|
||||
SLEG_VAR(_age_cargo_skip_counter, SLE_UINT8),
|
||||
SLEG_VAR(_avail_aircraft, SLE_UINT8),
|
||||
SLEG_CONDVAR(_cur_tileloop_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLEG_CONDVAR(_cur_tileloop_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLEG_VAR(_disaster_delay, SLE_UINT16),
|
||||
SLEG_VAR(_station_tick_ctr, SLE_UINT16),
|
||||
SLEG_VAR(_random_seeds[0][0], SLE_UINT32),
|
||||
SLEG_VAR(_random_seeds[0][1], SLE_UINT32),
|
||||
SLEG_CONDVAR(_cur_town_ctr, SLE_FILE_U8 | SLE_VAR_U32, 0, 9),
|
||||
SLEG_CONDVAR(_cur_town_ctr, SLE_UINT32, 10, SL_MAX_VERSION),
|
||||
SLEG_VAR(_cur_player_tick_index, SLE_FILE_U8 | SLE_VAR_U32),
|
||||
SLEG_VAR(_next_competitor_start, SLE_FILE_U16 | SLE_VAR_U32),
|
||||
SLEG_VAR(_trees_tick_ctr, SLE_UINT8),
|
||||
SLEG_CONDVAR(_pause, SLE_UINT8, 4, SL_MAX_VERSION),
|
||||
SLEG_CONDVAR(_cur_town_iter, SLE_UINT32, 11, SL_MAX_VERSION),
|
||||
SLEG_END()
|
||||
};
|
||||
|
||||
|
@ -300,11 +300,11 @@ static void SaveLoad_DATE(void)
|
|||
|
||||
|
||||
static const SaveLoadGlobVarList _view_desc[] = {
|
||||
SLEG_CONDVAR(_saved_scrollpos_x, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||
SLEG_CONDVAR(_saved_scrollpos_x, SLE_INT32, 6, SL_MAX_VERSION),
|
||||
SLEG_CONDVAR(_saved_scrollpos_y, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||
SLEG_CONDVAR(_saved_scrollpos_y, SLE_INT32, 6, SL_MAX_VERSION),
|
||||
SLEG_VAR(_saved_scrollpos_zoom,SLE_UINT8),
|
||||
SLEG_CONDVAR(_saved_scrollpos_x, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||
SLEG_CONDVAR(_saved_scrollpos_x, SLE_INT32, 6, SL_MAX_VERSION),
|
||||
SLEG_CONDVAR(_saved_scrollpos_y, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||
SLEG_CONDVAR(_saved_scrollpos_y, SLE_INT32, 6, SL_MAX_VERSION),
|
||||
SLEG_VAR(_saved_scrollpos_zoom, SLE_UINT8),
|
||||
SLEG_END()
|
||||
};
|
||||
|
||||
|
@ -579,17 +579,17 @@ static void Load_CHTS(void)
|
|||
|
||||
|
||||
const ChunkHandler _misc_chunk_handlers[] = {
|
||||
{ 'MAPS', Save_MAPS, Load_MAPS, CH_RIFF },
|
||||
{ 'MAPT', Save_MAPT, Load_MAPT, CH_RIFF },
|
||||
{ 'MAPO', Save_MAP1, Load_MAP1, CH_RIFF },
|
||||
{ 'MAP2', Save_MAP2, Load_MAP2, CH_RIFF },
|
||||
{ 'M3LO', Save_MAP3, Load_MAP3, CH_RIFF },
|
||||
{ 'M3HI', Save_MAP4, Load_MAP4, CH_RIFF },
|
||||
{ 'MAP5', Save_MAP5, Load_MAP5, CH_RIFF },
|
||||
{ 'MAPE', Save_MAPE, Load_MAPE, CH_RIFF },
|
||||
{ 'MAPS', Save_MAPS, Load_MAPS, CH_RIFF },
|
||||
{ 'MAPT', Save_MAPT, Load_MAPT, CH_RIFF },
|
||||
{ 'MAPO', Save_MAP1, Load_MAP1, CH_RIFF },
|
||||
{ 'MAP2', Save_MAP2, Load_MAP2, CH_RIFF },
|
||||
{ 'M3LO', Save_MAP3, Load_MAP3, CH_RIFF },
|
||||
{ 'M3HI', Save_MAP4, Load_MAP4, CH_RIFF },
|
||||
{ 'MAP5', Save_MAP5, Load_MAP5, CH_RIFF },
|
||||
{ 'MAPE', Save_MAPE, Load_MAPE, CH_RIFF },
|
||||
|
||||
{ 'NAME', Save_NAME, Load_NAME, CH_ARRAY},
|
||||
{ 'NAME', Save_NAME, Load_NAME, CH_ARRAY},
|
||||
{ 'DATE', SaveLoad_DATE, SaveLoad_DATE, CH_RIFF},
|
||||
{ 'VIEW', SaveLoad_VIEW, SaveLoad_VIEW, CH_RIFF},
|
||||
{ 'CHTS', Save_CHTS, Load_CHTS, CH_RIFF | CH_LAST}
|
||||
{ 'CHTS', Save_CHTS, Load_CHTS, CH_RIFF | CH_LAST}
|
||||
};
|
||||
|
|
232
misc_gui.c
232
misc_gui.c
|
@ -126,9 +126,9 @@ static void LandInfoWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _land_info_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 279, 0, 13, STR_01A3_LAND_AREA_INFORMATION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 279, 14, 92, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 279, 14, 92, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -277,10 +277,10 @@ static void AboutWindowProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _about_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 419, 0, 13, STR_015B_OPENTTD, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 419, 14, 271, 0x0, STR_NULL},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 5, 414, 40, 245, STR_NULL, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 419, 0, 13, STR_015B_OPENTTD, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 419, 14, 271, 0x0, STR_NULL},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 5, 414, 40, 245, STR_NULL, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -302,10 +302,10 @@ void ShowAboutWindow(void)
|
|||
static int _tree_to_plant;
|
||||
|
||||
static const uint32 _tree_sprites[] = {
|
||||
0x655,0x663,0x678,0x62B,0x647,0x639,0x64E,0x632,0x67F,0x68D,0x69B,0x6A9,
|
||||
0x6AF,0x6D2,0x6D9,0x6C4,0x6CB,0x6B6,0x6BD,0x6E0,
|
||||
0x72E,0x734,0x74A,0x74F,0x76B,0x78F,0x788,0x77B,0x75F,0x774,0x720,0x797,
|
||||
0x79E,0x7A5 | PALETTE_TO_GREEN,0x7AC | PALETTE_TO_RED,0x7B3,0x7BA,0x7C1 | PALETTE_TO_RED,0x7C8 | PALETTE_TO_PALE_GREEN,0x7CF | PALETTE_TO_YELLOW,0x7D6 | PALETTE_TO_RED
|
||||
0x655, 0x663, 0x678, 0x62B, 0x647, 0x639, 0x64E, 0x632, 0x67F, 0x68D, 0x69B, 0x6A9,
|
||||
0x6AF, 0x6D2, 0x6D9, 0x6C4, 0x6CB, 0x6B6, 0x6BD, 0x6E0,
|
||||
0x72E, 0x734, 0x74A, 0x74F, 0x76B, 0x78F, 0x788, 0x77B, 0x75F, 0x774, 0x720, 0x797,
|
||||
0x79E, 0x7A5 | PALETTE_TO_GREEN, 0x7AC | PALETTE_TO_RED, 0x7B3, 0x7BA, 0x7C1 | PALETTE_TO_RED, 0x7C8 | PALETTE_TO_PALE_GREEN, 0x7CF | PALETTE_TO_YELLOW, 0x7D6 | PALETTE_TO_RED
|
||||
};
|
||||
|
||||
static void BuildTreesWndProc(Window *w, WindowEvent *e)
|
||||
|
@ -392,22 +392,22 @@ static void BuildTreesWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _build_trees_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 142, 0, 13, STR_2802_TREES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 142, 14, 170, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 2, 35, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 37, 70, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 72, 105, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 107, 140, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 2, 35, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 37, 70, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 72, 105, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 107, 140, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 2, 35, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 37, 70, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 72, 105, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 107, 140, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 140, 157, 168, STR_TREES_RANDOM_TYPE, STR_TREES_RANDOM_TYPE_TIP},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 142, 0, 13, STR_2802_TREES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 142, 14, 170, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 2, 35, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 37, 70, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 72, 105, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 107, 140, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 2, 35, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 37, 70, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 72, 105, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 107, 140, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 2, 35, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 37, 70, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 72, 105, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 107, 140, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 140, 157, 168, STR_TREES_RANDOM_TYPE, STR_TREES_RANDOM_TYPE_TIP},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -420,23 +420,23 @@ static const WindowDesc _build_trees_desc = {
|
|||
};
|
||||
|
||||
static const Widget _build_trees_scen_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 142, 0, 13, STR_2802_TREES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 142, 14, 183, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 2, 35, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 37, 70, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 72, 105, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 107, 140, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 2, 35, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 37, 70, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 72, 105, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 107, 140, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 2, 35, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 37, 70, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 72, 105, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 107, 140, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 140, 157, 168, STR_TREES_RANDOM_TYPE, STR_TREES_RANDOM_TYPE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 140, 170, 181, STR_028A_RANDOM_TREES, STR_028B_PLANT_TREES_RANDOMLY_OVER},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 142, 0, 13, STR_2802_TREES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 142, 14, 183, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 2, 35, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 37, 70, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 72, 105, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 107, 140, 16, 61, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 2, 35, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 37, 70, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 72, 105, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 107, 140, 63, 108, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 2, 35, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 37, 70, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 72, 105, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 107, 140, 110, 155, 0x0, STR_280D_SELECT_TREE_TYPE_TO_PLANT},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 140, 157, 168, STR_TREES_RANDOM_TYPE, STR_TREES_RANDOM_TYPE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 2, 140, 170, 181, STR_028A_RANDOM_TREES, STR_028B_PLANT_TREES_RANDOMLY_OVER},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -465,16 +465,16 @@ static uint _errmsg_duration;
|
|||
|
||||
|
||||
static const Widget _errmsg_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 4, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 4, 11, 239, 0, 13, STR_00B2_MESSAGE, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 4, 0, 239, 14, 45, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 4, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 4, 11, 239, 0, 13, STR_00B2_MESSAGE, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 4, 0, 239, 14, 45, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _errmsg_face_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 4, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 4, 11, 333, 0, 13, STR_00B3_MESSAGE_FROM, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 4, 0, 333, 14, 136, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 4, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 4, 11, 333, 0, 13, STR_00B3_MESSAGE_FROM, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 4, 0, 333, 14, 136, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -1046,12 +1046,12 @@ press_ok:;
|
|||
}
|
||||
|
||||
static const Widget _query_string_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 259, 0, 13, STR_012D, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 259, 14, 29, 0x0, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 0, 129, 30, 41, STR_012E_CANCEL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 130, 259, 30, 41, STR_012F_OK, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 257, 16, 27, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 259, 0, 13, STR_012D, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 259, 14, 29, 0x0, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 0, 129, 30, 41, STR_012E_CANCEL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 130, 259, 30, 41, STR_012F_OK, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 257, 16, 27, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -1167,80 +1167,80 @@ void ShowQuery(StringID caption, StringID message, void (*ok_cancel_callback)(bo
|
|||
|
||||
|
||||
static const Widget _load_dialog_1_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 256, 0, 13, STR_4001_LOAD_GAME, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 127, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 128, 256, 14, 25, STR_SORT_BY_DATE, STR_SORT_ORDER_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_RIGHT, 14, 0, 256, 26, 47, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 256, 48, 293, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 245, 256, 48, 59, SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 243, 50, 291, 0x0, STR_400A_LIST_OF_DRIVES_DIRECTORIES},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 245, 256, 60, 281, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 245, 256, 282, 293, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 256, 0, 13, STR_4001_LOAD_GAME, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 127, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 128, 256, 14, 25, STR_SORT_BY_DATE, STR_SORT_ORDER_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_RIGHT, 14, 0, 256, 26, 47, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 256, 48, 293, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 245, 256, 48, 59, SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 243, 50, 291, 0x0, STR_400A_LIST_OF_DRIVES_DIRECTORIES},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 245, 256, 60, 281, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 245, 256, 282, 293, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _load_dialog_2_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 256, 0, 13, STR_0298_LOAD_SCENARIO, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 127, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 128, 256, 14, 25, STR_SORT_BY_DATE, STR_SORT_ORDER_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_RIGHT, 14, 0, 256, 26, 47, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 256, 48, 293, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 245, 256, 48, 59, SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 243, 50, 291, 0x0, STR_400A_LIST_OF_DRIVES_DIRECTORIES},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 245, 256, 60, 281, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 245, 256, 282, 293, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 256, 0, 13, STR_0298_LOAD_SCENARIO, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 127, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 128, 256, 14, 25, STR_SORT_BY_DATE, STR_SORT_ORDER_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_RIGHT, 14, 0, 256, 26, 47, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 256, 48, 293, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 245, 256, 48, 59, SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 243, 50, 291, 0x0, STR_400A_LIST_OF_DRIVES_DIRECTORIES},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 245, 256, 60, 281, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 245, 256, 282, 293, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _load_dialog_3_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 256, 0, 13, STR_4011_LOAD_HEIGHTMAP,STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 127, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 128, 256, 14, 25, STR_SORT_BY_DATE, STR_SORT_ORDER_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_RIGHT, 14, 0, 256, 26, 47, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 256, 48, 293, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 245, 256, 48, 59, SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 243, 50, 291, 0x0, STR_400A_LIST_OF_DRIVES_DIRECTORIES},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 245, 256, 60, 281, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 245, 256, 282, 293, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 256, 0, 13, STR_4011_LOAD_HEIGHTMAP, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 127, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 128, 256, 14, 25, STR_SORT_BY_DATE, STR_SORT_ORDER_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_RIGHT, 14, 0, 256, 26, 47, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 256, 48, 293, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 245, 256, 48, 59, SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 243, 50, 291, 0x0, STR_400A_LIST_OF_DRIVES_DIRECTORIES},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 245, 256, 60, 281, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 245, 256, 282, 293, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _save_dialog_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 256, 0, 13, STR_4000_SAVE_GAME, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 127, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 128, 256, 14, 25, STR_SORT_BY_DATE, STR_SORT_ORDER_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_RIGHT, 14, 0, 256, 26, 47, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 256, 48, 291, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 245, 256, 48, 59, SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 243, 50, 290, 0x0, STR_400A_LIST_OF_DRIVES_DIRECTORIES},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 245, 256, 60, 291, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_IMGBTN, RESIZE_RTB, 14, 0, 256, 292, 307, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RTB, 14, 2, 254, 294, 305, 0x0, STR_400B_CURRENTLY_SELECTED_NAME},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 127, 308, 319, STR_4003_DELETE, STR_400C_DELETE_THE_CURRENTLY_SELECTED},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 128, 244, 308, 319, STR_4002_SAVE, STR_400D_SAVE_THE_CURRENT_GAME_USING},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 245, 256, 308, 319, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 256, 0, 13, STR_4000_SAVE_GAME, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 127, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 128, 256, 14, 25, STR_SORT_BY_DATE, STR_SORT_ORDER_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_RIGHT, 14, 0, 256, 26, 47, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 256, 48, 291, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 245, 256, 48, 59, SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 243, 50, 290, 0x0, STR_400A_LIST_OF_DRIVES_DIRECTORIES},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 245, 256, 60, 291, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_IMGBTN, RESIZE_RTB, 14, 0, 256, 292, 307, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RTB, 14, 2, 254, 294, 305, 0x0, STR_400B_CURRENTLY_SELECTED_NAME},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 127, 308, 319, STR_4003_DELETE, STR_400C_DELETE_THE_CURRENTLY_SELECTED},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 128, 244, 308, 319, STR_4002_SAVE, STR_400D_SAVE_THE_CURRENT_GAME_USING},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 245, 256, 308, 319, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _save_dialog_scen_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 256, 0, 13, STR_0299_SAVE_SCENARIO, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 127, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 128, 256, 14, 25, STR_SORT_BY_DATE, STR_SORT_ORDER_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_RIGHT, 14, 0, 256, 26, 47, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 256, 48, 291, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 245, 256, 48, 59, SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 243, 50, 290, 0x0, STR_400A_LIST_OF_DRIVES_DIRECTORIES},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 245, 256, 60, 291, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_IMGBTN, RESIZE_RTB, 14, 0, 256, 292, 307, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RTB, 14, 2, 254, 294, 305, 0x0, STR_400B_CURRENTLY_SELECTED_NAME},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 127, 308, 319, STR_4003_DELETE, STR_400C_DELETE_THE_CURRENTLY_SELECTED},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 128, 244, 308, 319, STR_4002_SAVE, STR_400D_SAVE_THE_CURRENT_GAME_USING},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 245, 256, 308, 319, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 127, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 128, 256, 14, 25, STR_SORT_BY_DATE, STR_SORT_ORDER_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_RIGHT, 14, 0, 256, 26, 47, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 256, 48, 291, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 245, 256, 48, 59, SPR_HOUSE_ICON, STR_SAVELOAD_HOME_BUTTON},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 243, 50, 290, 0x0, STR_400A_LIST_OF_DRIVES_DIRECTORIES},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 245, 256, 60, 291, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_IMGBTN, RESIZE_RTB, 14, 0, 256, 292, 307, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_RTB, 14, 2, 254, 294, 305, 0x0, STR_400B_CURRENTLY_SELECTED_NAME},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 127, 308, 319, STR_4003_DELETE, STR_400C_DELETE_THE_CURRENTLY_SELECTED},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 128, 244, 308, 319, STR_4002_SAVE, STR_400D_SAVE_THE_CURRENT_GAME_USING},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 245, 256, 308, 319, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -1720,10 +1720,10 @@ static const CheatEntry _cheats_ui[] = {
|
|||
|
||||
|
||||
static const Widget _cheat_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 399, 0, 13, STR_CHEATS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 399, 14, 169, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 399, 14, 169, 0x0, STR_CHEATS_TIP},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 399, 0, 13, STR_CHEATS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 399, 14, 169, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 399, 14, 169, 0x0, STR_CHEATS_TIP},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
58
music_gui.c
58
music_gui.c
|
@ -299,19 +299,19 @@ static void MusicTrackSelectionWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _music_track_selection_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5,STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 431, 0, 13, STR_01EB_MUSIC_PROGRAM_SELECTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 431, 14, 217, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 181, 22, 215, 0x0, STR_01FA_CLICK_ON_MUSIC_TRACK_TO},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 250, 429, 22, 215, 0x0, STR_CLICK_ON_TRACK_TO_REMOVE},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 44, 51, 0x0, STR_01F3_SELECT_ALL_TRACKS_PROGRAM},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 52, 59, 0x0, STR_01F4_SELECT_OLD_STYLE_MUSIC},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 60, 67, 0x0, STR_01F5_SELECT_NEW_STYLE_MUSIC},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 68, 75, 0x0, STR_0330_SELECT_EZY_STREET_STYLE},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 76, 83, 0x0, STR_01F6_SELECT_CUSTOM_1_USER_DEFINED},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 84, 91, 0x0, STR_01F7_SELECT_CUSTOM_2_USER_DEFINED},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 108, 115, 0x0, STR_01F8_CLEAR_CURRENT_PROGRAM_CUSTOM1},
|
||||
//{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 124, 131, 0x0, STR_01F9_SAVE_MUSIC_SETTINGS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 431, 14, 217, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 2, 181, 22, 215, 0x0, STR_01FA_CLICK_ON_MUSIC_TRACK_TO},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 250, 429, 22, 215, 0x0, STR_CLICK_ON_TRACK_TO_REMOVE},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 44, 51, 0x0, STR_01F3_SELECT_ALL_TRACKS_PROGRAM},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 52, 59, 0x0, STR_01F4_SELECT_OLD_STYLE_MUSIC},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 60, 67, 0x0, STR_01F5_SELECT_NEW_STYLE_MUSIC},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 68, 75, 0x0, STR_0330_SELECT_EZY_STREET_STYLE},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 76, 83, 0x0, STR_01F6_SELECT_CUSTOM_1_USER_DEFINED},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 84, 91, 0x0, STR_01F7_SELECT_CUSTOM_2_USER_DEFINED},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 108, 115, 0x0, STR_01F8_CLEAR_CURRENT_PROGRAM_CUSTOM1},
|
||||
//{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 186, 245, 124, 131, 0x0, STR_01F9_SAVE_MUSIC_SETTINGS},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -468,24 +468,24 @@ static void MusicWindowWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _music_window_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 299, 0, 13, STR_01D2_JAZZ_JUKEBOX, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 0, 21, 14, 35, 0x2C5, STR_01DE_SKIP_TO_PREVIOUS_TRACK},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 22, 43, 14, 35, 0x2C6, STR_01DF_SKIP_TO_NEXT_TRACK_IN_SELECTION},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 44, 65, 14, 35, 0x2C7, STR_01E0_STOP_PLAYING_MUSIC},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 66, 87, 14, 35, 0x2C8, STR_01E1_START_PLAYING_MUSIC},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 88, 299, 14, 35, 0x0, STR_01E2_DRAG_SLIDERS_TO_SET_MUSIC},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 186, 201, 15, 34, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 299, 36, 57, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 59, 240, 45, 53, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 6, 55, 42, 49, 0x0, STR_01FB_TOGGLE_PROGRAM_SHUFFLE},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 244, 293, 42, 49, 0x0, STR_01FC_SHOW_MUSIC_TRACK_SELECTION},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 0, 49, 58, 65, 0x0, STR_01F3_SELECT_ALL_TRACKS_PROGRAM},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 50, 99, 58, 65, 0x0, STR_01F4_SELECT_OLD_STYLE_MUSIC},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 100, 149, 58, 65, 0x0, STR_01F5_SELECT_NEW_STYLE_MUSIC},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 150, 199, 58, 65, 0x0, STR_0330_SELECT_EZY_STREET_STYLE},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 200, 249, 58, 65, 0x0, STR_01F6_SELECT_CUSTOM_1_USER_DEFINED},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 250, 299, 58, 65, 0x0, STR_01F7_SELECT_CUSTOM_2_USER_DEFINED},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 0, 21, 14, 35, 0x2C5, STR_01DE_SKIP_TO_PREVIOUS_TRACK},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 22, 43, 14, 35, 0x2C6, STR_01DF_SKIP_TO_NEXT_TRACK_IN_SELECTION},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 44, 65, 14, 35, 0x2C7, STR_01E0_STOP_PLAYING_MUSIC},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 66, 87, 14, 35, 0x2C8, STR_01E1_START_PLAYING_MUSIC},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 88, 299, 14, 35, 0x0, STR_01E2_DRAG_SLIDERS_TO_SET_MUSIC},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 186, 201, 15, 34, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 299, 36, 57, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 59, 240, 45, 53, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 6, 55, 42, 49, 0x0, STR_01FB_TOGGLE_PROGRAM_SHUFFLE},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 244, 293, 42, 49, 0x0, STR_01FC_SHOW_MUSIC_TRACK_SELECTION},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 0, 49, 58, 65, 0x0, STR_01F3_SELECT_ALL_TRACKS_PROGRAM},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 50, 99, 58, 65, 0x0, STR_01F4_SELECT_OLD_STYLE_MUSIC},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 100, 149, 58, 65, 0x0, STR_01F5_SELECT_NEW_STYLE_MUSIC},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 150, 199, 58, 65, 0x0, STR_0330_SELECT_EZY_STREET_STYLE},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 200, 249, 58, 65, 0x0, STR_01F6_SELECT_CUSTOM_1_USER_DEFINED},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 14, 250, 299, 58, 65, 0x0, STR_01F7_SELECT_CUSTOM_2_USER_DEFINED},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
60
network.h
60
network.h
|
@ -46,15 +46,15 @@
|
|||
#define NETWORK_STATION_TYPES 5
|
||||
|
||||
enum {
|
||||
NETWORK_NAME_LENGTH = 80,
|
||||
NETWORK_HOSTNAME_LENGTH = 80,
|
||||
NETWORK_REVISION_LENGTH = 15,
|
||||
NETWORK_PASSWORD_LENGTH = 20,
|
||||
NETWORK_NAME_LENGTH = 80,
|
||||
NETWORK_HOSTNAME_LENGTH = 80,
|
||||
NETWORK_REVISION_LENGTH = 15,
|
||||
NETWORK_PASSWORD_LENGTH = 20,
|
||||
NETWORK_PLAYERS_LENGTH = 200,
|
||||
NETWORK_CLIENT_NAME_LENGTH = 25,
|
||||
NETWORK_CLIENT_NAME_LENGTH = 25,
|
||||
NETWORK_RCONCOMMAND_LENGTH = 500,
|
||||
|
||||
NETWORK_NUM_LANGUAGES = 4,
|
||||
NETWORK_NUM_LANGUAGES = 4,
|
||||
};
|
||||
|
||||
// This is the struct used by both client and server
|
||||
|
@ -87,36 +87,36 @@ typedef struct NetworkGameInfo {
|
|||
} NetworkGameInfo;
|
||||
|
||||
typedef struct NetworkPlayerInfo {
|
||||
char company_name[NETWORK_NAME_LENGTH]; // Company name
|
||||
char password[NETWORK_PASSWORD_LENGTH]; // The password for the player
|
||||
Year inaugurated_year; // What year the company started in
|
||||
int64 company_value; // The company value
|
||||
int64 money; // The amount of money the company has
|
||||
int64 income; // How much did the company earned last year
|
||||
uint16 performance; // What was his performance last month?
|
||||
byte use_password; // 0: No password 1: There is a password
|
||||
uint16 num_vehicle[NETWORK_VEHICLE_TYPES]; // How many vehicles are there of this type?
|
||||
uint16 num_station[NETWORK_STATION_TYPES]; // How many stations are there of this type?
|
||||
char players[NETWORK_PLAYERS_LENGTH]; // The players that control this company (Name1, name2, ..)
|
||||
uint16 months_empty; // How many months the company is empty
|
||||
char company_name[NETWORK_NAME_LENGTH]; // Company name
|
||||
char password[NETWORK_PASSWORD_LENGTH]; // The password for the player
|
||||
Year inaugurated_year; // What year the company started in
|
||||
int64 company_value; // The company value
|
||||
int64 money; // The amount of money the company has
|
||||
int64 income; // How much did the company earned last year
|
||||
uint16 performance; // What was his performance last month?
|
||||
byte use_password; // 0: No password 1: There is a password
|
||||
uint16 num_vehicle[NETWORK_VEHICLE_TYPES]; // How many vehicles are there of this type?
|
||||
uint16 num_station[NETWORK_STATION_TYPES]; // How many stations are there of this type?
|
||||
char players[NETWORK_PLAYERS_LENGTH]; // The players that control this company (Name1, name2, ..)
|
||||
uint16 months_empty; // How many months the company is empty
|
||||
} NetworkPlayerInfo;
|
||||
|
||||
typedef struct NetworkClientInfo {
|
||||
uint16 client_index; /// Index of the client (same as ClientState->index)
|
||||
char client_name[NETWORK_CLIENT_NAME_LENGTH]; /// Name of the client
|
||||
byte client_lang; /// The language of the client
|
||||
byte client_playas; /// As which player is this client playing (PlayerID)
|
||||
uint32 client_ip; /// IP-address of the client (so he can be banned)
|
||||
Date join_date; /// Gamedate the player has joined
|
||||
char unique_id[NETWORK_NAME_LENGTH]; /// Every play sends an unique id so we can indentify him
|
||||
uint16 client_index; // Index of the client (same as ClientState->index)
|
||||
char client_name[NETWORK_CLIENT_NAME_LENGTH]; // Name of the client
|
||||
byte client_lang; // The language of the client
|
||||
byte client_playas; // As which player is this client playing (PlayerID)
|
||||
uint32 client_ip; // IP-address of the client (so he can be banned)
|
||||
Date join_date; // Gamedate the player has joined
|
||||
char unique_id[NETWORK_NAME_LENGTH]; // Every play sends an unique id so we can indentify him
|
||||
} NetworkClientInfo;
|
||||
|
||||
typedef struct NetworkGameList {
|
||||
NetworkGameInfo info;
|
||||
uint32 ip;
|
||||
uint16 port;
|
||||
bool online; // False if the server did not respond (default status)
|
||||
bool manually; // True if the server was added manually
|
||||
bool online; // False if the server did not respond (default status)
|
||||
bool manually; // True if the server was added manually
|
||||
struct NetworkGameList *next;
|
||||
} NetworkGameList;
|
||||
|
||||
|
@ -133,10 +133,10 @@ typedef enum {
|
|||
|
||||
// language ids for server_lang and client_lang
|
||||
typedef enum {
|
||||
NETLANG_ANY = 0,
|
||||
NETLANG_ANY = 0,
|
||||
NETLANG_ENGLISH = 1,
|
||||
NETLANG_GERMAN = 2,
|
||||
NETLANG_FRENCH = 3,
|
||||
NETLANG_GERMAN = 2,
|
||||
NETLANG_FRENCH = 3,
|
||||
} NetworkLanguage;
|
||||
|
||||
VARDEF NetworkGameList *_network_game_list;
|
||||
|
|
106
network_gui.c
106
network_gui.c
|
@ -508,34 +508,34 @@ static void NetworkGameWindowWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _network_game_window_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, BGC, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, BGC, 11, 549, 0, 13, STR_NETWORK_MULTIPLAYER, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, BGC, 0, 549, 14, 249, STR_NULL, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, BGC, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, BGC, 11, 549, 0, 13, STR_NETWORK_MULTIPLAYER, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, BGC, 0, 549, 14, 249, STR_NULL, STR_NULL},
|
||||
|
||||
/* LEFT SIDE */
|
||||
{ WWT_IMGBTN, RESIZE_NONE, BGC, 310, 461, 22, 33, STR_NULL, STR_NETWORK_ENTER_NAME_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, BGC, 310, 461, 22, 33, STR_NULL, STR_NETWORK_ENTER_NAME_TIP},
|
||||
|
||||
{ WWT_6, RESIZE_NONE, BGC, 90, 181, 22, 33, STR_NETWORK_COMBO1, STR_NETWORK_CONNECTION_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, BGC, 170, 180, 23, 32, STR_0225, STR_NETWORK_CONNECTION_TIP},
|
||||
{ WWT_6, RESIZE_NONE, BGC, 90, 181, 22, 33, STR_NETWORK_COMBO1, STR_NETWORK_CONNECTION_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, BGC, 170, 180, 23, 32, STR_0225, STR_NETWORK_CONNECTION_TIP},
|
||||
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 10, 170, 42, 53, STR_NETWORK_GAME_NAME, STR_NETWORK_GAME_NAME_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 171, 250, 42, 53, STR_NETWORK_CLIENTS_CAPTION,STR_NETWORK_CLIENTS_CAPTION_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 251, 290, 42, 53, STR_EMPTY, STR_NETWORK_INFO_ICONS_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 10, 170, 42, 53, STR_NETWORK_GAME_NAME, STR_NETWORK_GAME_NAME_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 171, 250, 42, 53, STR_NETWORK_CLIENTS_CAPTION, STR_NETWORK_CLIENTS_CAPTION_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 251, 290, 42, 53, STR_EMPTY, STR_NETWORK_INFO_ICONS_TIP},
|
||||
|
||||
{ WWT_MATRIX, RESIZE_NONE, BGC, 10, 290, 54, 222, (12 << 8) + 1, STR_NETWORK_CLICK_GAME_TO_SELECT},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, BGC, 291, 302, 42, 222, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_MATRIX, RESIZE_NONE, BGC, 10, 290, 54, 222, (12 << 8) + 1, STR_NETWORK_CLICK_GAME_TO_SELECT},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, BGC, 291, 302, 42, 222, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 30, 130, 232, 243, STR_NETWORK_FIND_SERVER, STR_NETWORK_FIND_SERVER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 180, 280, 232, 243, STR_NETWORK_ADD_SERVER, STR_NETWORK_ADD_SERVER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 30, 130, 232, 243, STR_NETWORK_FIND_SERVER, STR_NETWORK_FIND_SERVER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 180, 280, 232, 243, STR_NETWORK_ADD_SERVER, STR_NETWORK_ADD_SERVER_TIP},
|
||||
|
||||
/* RIGHT SIDE */
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 315, 415, 232, 243, STR_NETWORK_START_SERVER, STR_NETWORK_START_SERVER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 430, 535, 232, 243, STR_012E_CANCEL, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 315, 415, 232, 243, STR_NETWORK_START_SERVER, STR_NETWORK_START_SERVER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 430, 535, 232, 243, STR_012E_CANCEL, STR_NULL},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, BGC, 310, 540, 42, 222, STR_NULL, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, BGC, 310, 540, 42, 222, STR_NULL, STR_NULL},
|
||||
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 315, 415, 201, 212, STR_NETWORK_JOIN_GAME, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 430, 535, 201, 212, STR_NETWORK_REFRESH, STR_NETWORK_REFRESH_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 315, 415, 201, 212, STR_NETWORK_JOIN_GAME, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 430, 535, 201, 212, STR_NETWORK_REFRESH, STR_NETWORK_REFRESH_TIP},
|
||||
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
@ -744,30 +744,30 @@ static void NetworkStartServerWindowWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _network_start_server_window_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, BGC, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_NONE, BGC, 11, 419, 0, 13, STR_NETWORK_START_GAME_WINDOW, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, BGC, 0, 419, 14, 243, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, BGC, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_NONE, BGC, 11, 419, 0, 13, STR_NETWORK_START_GAME_WINDOW, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, BGC, 0, 419, 14, 243, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_IMGBTN, RESIZE_NONE, BGC, 100, 272, 22, 33, 0x0, STR_NETWORK_NEW_GAME_NAME_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 285, 405, 22, 33, STR_NETWORK_SET_PASSWORD, STR_NETWORK_PASSWORD_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, BGC, 100, 272, 22, 33, 0x0, STR_NETWORK_NEW_GAME_NAME_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 285, 405, 22, 33, STR_NETWORK_SET_PASSWORD, STR_NETWORK_PASSWORD_TIP},
|
||||
|
||||
{ WWT_6, RESIZE_NONE, BGC, 10, 271, 62, 216, 0x0, STR_NETWORK_SELECT_MAP_TIP},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, BGC, 259, 270, 63, 215, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_6, RESIZE_NONE, BGC, 10, 271, 62, 216, 0x0, STR_NETWORK_SELECT_MAP_TIP},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, BGC, 259, 270, 63, 215, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
/* Combo boxes to control Connection Type / Max Clients / Max Companies / Max Observers / Language */
|
||||
{ WWT_6, RESIZE_NONE, BGC, 280, 410, 77, 88, STR_NETWORK_COMBO1, STR_NETWORK_CONNECTION_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, BGC, 399, 409, 78, 87, STR_0225, STR_NETWORK_CONNECTION_TIP},
|
||||
{ WWT_6, RESIZE_NONE, BGC, 280, 410, 109, 120, STR_NETWORK_COMBO2, STR_NETWORK_NUMBER_OF_CLIENTS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, BGC, 399, 409, 110, 119, STR_0225, STR_NETWORK_NUMBER_OF_CLIENTS_TIP},
|
||||
{ WWT_6, RESIZE_NONE, BGC, 280, 410, 141, 152, STR_NETWORK_COMBO3, STR_NETWORK_NUMBER_OF_COMPANIES_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, BGC, 399, 409, 142, 151, STR_0225, STR_NETWORK_NUMBER_OF_COMPANIES_TIP},
|
||||
{ WWT_6, RESIZE_NONE, BGC, 280, 410, 173, 184, STR_NETWORK_COMBO4, STR_NETWORK_NUMBER_OF_SPECTATORS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, BGC, 399, 409, 174, 183, STR_0225, STR_NETWORK_NUMBER_OF_SPECTATORS_TIP},
|
||||
{ WWT_6, RESIZE_NONE, BGC, 280, 410, 205, 216, STR_NETWORK_COMBO5, STR_NETWORK_LANGUAGE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, BGC, 399, 409, 206, 215, STR_0225, STR_NETWORK_LANGUAGE_TIP},
|
||||
{ WWT_6, RESIZE_NONE, BGC, 280, 410, 77, 88, STR_NETWORK_COMBO1, STR_NETWORK_CONNECTION_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, BGC, 399, 409, 78, 87, STR_0225, STR_NETWORK_CONNECTION_TIP},
|
||||
{ WWT_6, RESIZE_NONE, BGC, 280, 410, 109, 120, STR_NETWORK_COMBO2, STR_NETWORK_NUMBER_OF_CLIENTS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, BGC, 399, 409, 110, 119, STR_0225, STR_NETWORK_NUMBER_OF_CLIENTS_TIP},
|
||||
{ WWT_6, RESIZE_NONE, BGC, 280, 410, 141, 152, STR_NETWORK_COMBO3, STR_NETWORK_NUMBER_OF_COMPANIES_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, BGC, 399, 409, 142, 151, STR_0225, STR_NETWORK_NUMBER_OF_COMPANIES_TIP},
|
||||
{ WWT_6, RESIZE_NONE, BGC, 280, 410, 173, 184, STR_NETWORK_COMBO4, STR_NETWORK_NUMBER_OF_SPECTATORS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, BGC, 399, 409, 174, 183, STR_0225, STR_NETWORK_NUMBER_OF_SPECTATORS_TIP},
|
||||
{ WWT_6, RESIZE_NONE, BGC, 280, 410, 205, 216, STR_NETWORK_COMBO5, STR_NETWORK_LANGUAGE_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, BGC, 399, 409, 206, 215, STR_0225, STR_NETWORK_LANGUAGE_TIP},
|
||||
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 40, 140, 224, 235, STR_NETWORK_START_GAME, STR_NETWORK_START_GAME_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 150, 250, 224, 235, STR_NETWORK_LOAD_GAME, STR_NETWORK_LOAD_GAME_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 260, 360, 224, 235, STR_012E_CANCEL, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 40, 140, 224, 235, STR_NETWORK_START_GAME, STR_NETWORK_START_GAME_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 150, 250, 224, 235, STR_NETWORK_LOAD_GAME, STR_NETWORK_LOAD_GAME_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 260, 360, 224, 235, STR_012E_CANCEL, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -963,24 +963,24 @@ static void NetworkLobbyWindowWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _network_lobby_window_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, BGC, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_NONE, BGC, 11, 419, 0, 13, STR_NETWORK_GAME_LOBBY, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, BGC, 0, 419, 14, 234, STR_NULL, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, BGC, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_NONE, BGC, 11, 419, 0, 13, STR_NETWORK_GAME_LOBBY, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, BGC, 0, 419, 14, 234, STR_NULL, STR_NULL},
|
||||
|
||||
// company list
|
||||
{ WWT_PANEL, RESIZE_NONE, BTC, 10, 155, 38, 49, STR_NULL, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_NONE, BGC, 10, 155, 50, 190, (10 << 8) + 1, STR_NETWORK_COMPANY_LIST_TIP},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, BGC, 156, 167, 38, 190, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_NONE, BTC, 10, 155, 38, 49, STR_NULL, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_NONE, BGC, 10, 155, 50, 190, (10 << 8) + 1, STR_NETWORK_COMPANY_LIST_TIP},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, BGC, 156, 167, 38, 190, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
|
||||
// company/player info
|
||||
{ WWT_PANEL, RESIZE_NONE, BGC, 173, 404, 38, 190, STR_NULL, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, BGC, 173, 404, 38, 190, STR_NULL, STR_NULL},
|
||||
|
||||
// buttons
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 10, 151, 200, 211, STR_NETWORK_JOIN_COMPANY, STR_NETWORK_JOIN_COMPANY_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 10, 151, 215, 226, STR_NETWORK_NEW_COMPANY, STR_NETWORK_NEW_COMPANY_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 158, 268, 200, 211, STR_NETWORK_SPECTATE_GAME,STR_NETWORK_SPECTATE_GAME_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 158, 268, 215, 226, STR_NETWORK_REFRESH, STR_NETWORK_REFRESH_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 278, 388, 200, 211, STR_012E_CANCEL, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 10, 151, 200, 211, STR_NETWORK_JOIN_COMPANY, STR_NETWORK_JOIN_COMPANY_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 10, 151, 215, 226, STR_NETWORK_NEW_COMPANY, STR_NETWORK_NEW_COMPANY_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 158, 268, 200, 211, STR_NETWORK_SPECTATE_GAME, STR_NETWORK_SPECTATE_GAME_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 158, 268, 215, 226, STR_NETWORK_REFRESH, STR_NETWORK_REFRESH_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 278, 388, 200, 211, STR_012E_CANCEL, STR_NULL},
|
||||
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
@ -1045,7 +1045,7 @@ static const Widget _client_list_widgets[] = {
|
|||
};
|
||||
|
||||
static const Widget _client_list_popup_widgets[] = {
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 99, 0, 0, 0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 99, 0, 0, 0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -1443,9 +1443,9 @@ static void NetworkJoinStatusWindowWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _network_join_status_window_widget[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 249, 0, 13, STR_NETWORK_CONNECTING, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 249, 14, 84, 0x0,STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 249, 14, 84, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, BTC, 75, 175, 69, 80, STR_NETWORK_DISCONNECT, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
|
|
@ -26,19 +26,19 @@ typedef enum {
|
|||
PACKET_UDP_CLIENT_FIND_SERVER,
|
||||
PACKET_UDP_SERVER_RESPONSE,
|
||||
PACKET_UDP_CLIENT_DETAIL_INFO,
|
||||
PACKET_UDP_SERVER_DETAIL_INFO, // Is not used in OpenTTD itself, only for external querying
|
||||
PACKET_UDP_SERVER_REGISTER, // Packet to register itself to the master server
|
||||
PACKET_UDP_MASTER_ACK_REGISTER, // Packet indicating registration has succedeed
|
||||
PACKET_UDP_CLIENT_GET_LIST, // Request for serverlist from master server
|
||||
PACKET_UDP_SERVER_DETAIL_INFO, // Is not used in OpenTTD itself, only for external querying
|
||||
PACKET_UDP_SERVER_REGISTER, // Packet to register itself to the master server
|
||||
PACKET_UDP_MASTER_ACK_REGISTER, // Packet indicating registration has succedeed
|
||||
PACKET_UDP_CLIENT_GET_LIST, // Request for serverlist from master server
|
||||
PACKET_UDP_MASTER_RESPONSE_LIST, // Response from master server with server ip's + port's
|
||||
PACKET_UDP_SERVER_UNREGISTER, // Request to be removed from the server-list
|
||||
PACKET_UDP_SERVER_UNREGISTER, // Request to be removed from the server-list
|
||||
PACKET_UDP_END
|
||||
} PacketUDPType;
|
||||
|
||||
enum {
|
||||
ADVERTISE_NORMAL_INTERVAL = 30000, // interval between advertising in ticks (15 minutes)
|
||||
ADVERTISE_RETRY_INTERVAL = 300, // readvertise when no response after this many ticks (9 seconds)
|
||||
ADVERTISE_RETRY_TIMES = 3 // give up readvertising after this much failed retries
|
||||
ADVERTISE_RETRY_INTERVAL = 300, // readvertise when no response after this many ticks (9 seconds)
|
||||
ADVERTISE_RETRY_TIMES = 3 // give up readvertising after this much failed retries
|
||||
};
|
||||
|
||||
#define DEF_UDP_RECEIVE_COMMAND(type) void NetworkPacketReceive_ ## type ## _command(Packet *p, struct sockaddr_in *client_addr)
|
||||
|
|
|
@ -9,10 +9,10 @@
|
|||
* the custom GRF files. It is basically just a transcribed table from TTDPatch's newgrf.txt.
|
||||
*/
|
||||
const CargoID _global_cargo_id[NUM_LANDSCAPE][NUM_CARGO] = {
|
||||
/* LT_NORMAL */ {GC_PASSENGERS, GC_COAL, GC_MAIL, GC_OIL, GC_LIVESTOCK, GC_GOODS, GC_GRAIN, GC_WOOD, GC_IRON_ORE, GC_STEEL, GC_VALUABLES, GC_PAPER_TEMP},
|
||||
/* LT_HILLY */ {GC_PASSENGERS, GC_COAL, GC_MAIL, GC_OIL, GC_LIVESTOCK, GC_GOODS, GC_GRAIN, GC_WOOD, GC_INVALID, GC_PAPER, GC_VALUABLES, GC_FOOD },
|
||||
/* LT_DESERT */ {GC_PASSENGERS, GC_RUBBER,GC_MAIL, GC_OIL, GC_FRUIT, GC_GOODS, GC_GRAIN, GC_WOOD, GC_COPPER_ORE, GC_WATER, GC_VALUABLES, GC_FOOD },
|
||||
/* LT_CANDY */ {GC_PASSENGERS, GC_SUGAR, GC_MAIL, GC_TOYS,GC_BATTERIES, GC_CANDY, GC_TOFFEE,GC_COLA, GC_COTTON_CANDY,GC_BUBBLES,GC_PLASTIC, GC_FIZZY_DRINKS },
|
||||
/* LT_NORMAL */ {GC_PASSENGERS, GC_COAL, GC_MAIL, GC_OIL, GC_LIVESTOCK, GC_GOODS, GC_GRAIN, GC_WOOD, GC_IRON_ORE, GC_STEEL, GC_VALUABLES, GC_PAPER_TEMP},
|
||||
/* LT_HILLY */ {GC_PASSENGERS, GC_COAL, GC_MAIL, GC_OIL, GC_LIVESTOCK, GC_GOODS, GC_GRAIN, GC_WOOD, GC_INVALID, GC_PAPER, GC_VALUABLES, GC_FOOD },
|
||||
/* LT_DESERT */ {GC_PASSENGERS, GC_RUBBER, GC_MAIL, GC_OIL, GC_FRUIT, GC_GOODS, GC_GRAIN, GC_WOOD, GC_COPPER_ORE, GC_WATER, GC_VALUABLES, GC_FOOD },
|
||||
/* LT_CANDY */ {GC_PASSENGERS, GC_SUGAR, GC_MAIL, GC_TOYS, GC_BATTERIES, GC_CANDY, GC_TOFFEE, GC_COLA, GC_COTTON_CANDY, GC_BUBBLES, GC_PLASTIC, GC_FIZZY_DRINKS },
|
||||
/**
|
||||
* - GC_INVALID (255) means that cargo is not available for that climate
|
||||
* - GC_PAPER_TEMP (27) is paper in temperate climate in TTDPatch
|
||||
|
@ -25,11 +25,11 @@ const CargoID _global_cargo_id[NUM_LANDSCAPE][NUM_CARGO] = {
|
|||
/** BEGIN --- TRANSLATE FROM GLOBAL CARGO TO LOCAL CARGO ID'S **/
|
||||
/** Map global cargo ID's to local-cargo ID's */
|
||||
const CargoID _local_cargo_id_ctype[NUM_GLOBAL_CID] = {
|
||||
CT_PASSENGERS,CT_COAL, CT_MAIL, CT_OIL, CT_LIVESTOCK,CT_GOODS, CT_GRAIN, CT_WOOD, /* 0- 7 */
|
||||
CT_IRON_ORE, CT_STEEL, CT_VALUABLES, CT_PAPER, CT_FOOD, CT_FRUIT, CT_COPPER_ORE, CT_WATER, /* 8-15 */
|
||||
CT_RUBBER, CT_SUGAR, CT_TOYS, CT_BATTERIES,CT_CANDY, CT_TOFFEE, CT_COLA, CT_COTTON_CANDY, /* 16-23 */
|
||||
CT_BUBBLES, CT_PLASTIC,CT_FIZZY_DRINKS,CT_PAPER /* unsup. */,CT_HILLY_UNUSED, /* 24-28 */
|
||||
CT_INVALID, CT_INVALID /* 29-30 */
|
||||
CT_PASSENGERS, CT_COAL, CT_MAIL, CT_OIL, CT_LIVESTOCK, CT_GOODS, CT_GRAIN, CT_WOOD, /* 0- 7 */
|
||||
CT_IRON_ORE, CT_STEEL, CT_VALUABLES, CT_PAPER, CT_FOOD, CT_FRUIT, CT_COPPER_ORE, CT_WATER, /* 8-15 */
|
||||
CT_RUBBER, CT_SUGAR, CT_TOYS, CT_BATTERIES, CT_CANDY, CT_TOFFEE, CT_COLA, CT_COTTON_CANDY, /* 16-23 */
|
||||
CT_BUBBLES, CT_PLASTIC, CT_FIZZY_DRINKS, CT_PAPER /* unsup. */, CT_HILLY_UNUSED, /* 24-28 */
|
||||
CT_INVALID, CT_INVALID /* 29-30 */
|
||||
};
|
||||
|
||||
/** Bitmasked value where the global cargo ID is available in landscape
|
||||
|
@ -37,17 +37,13 @@ const CargoID _local_cargo_id_ctype[NUM_GLOBAL_CID] = {
|
|||
#define MC(cargo) (1 << cargo)
|
||||
const uint32 _landscape_global_cargo_mask[NUM_LANDSCAPE] =
|
||||
{ /* LT_NORMAL: temperate */
|
||||
MC(GC_PASSENGERS)|MC(GC_COAL)|MC(GC_MAIL)|MC(GC_OIL)|MC(GC_LIVESTOCK)|MC(GC_GOODS)|MC(GC_GRAIN)|MC(GC_WOOD)|
|
||||
MC(GC_IRON_ORE)|MC(GC_STEEL)|MC(GC_VALUABLES),
|
||||
MC(GC_PASSENGERS) | MC(GC_COAL) | MC(GC_MAIL) | MC(GC_OIL) | MC(GC_LIVESTOCK) | MC(GC_GOODS) | MC(GC_GRAIN) | MC(GC_WOOD) | MC(GC_IRON_ORE) | MC(GC_STEEL) | MC(GC_VALUABLES),
|
||||
/* LT_HILLY: arctic */
|
||||
MC(GC_PASSENGERS)|MC(GC_COAL)|MC(GC_MAIL)|MC(GC_OIL)|MC(GC_LIVESTOCK)|MC(GC_GOODS)|
|
||||
MC(GC_GRAIN)|MC(GC_WOOD)|MC(GC_VALUABLES)|MC(GC_PAPER)|MC(GC_FOOD),
|
||||
MC(GC_PASSENGERS) | MC(GC_COAL) | MC(GC_MAIL) | MC(GC_OIL) | MC(GC_LIVESTOCK) | MC(GC_GOODS) | MC(GC_GRAIN) | MC(GC_WOOD) | MC(GC_VALUABLES) | MC(GC_PAPER) | MC(GC_FOOD),
|
||||
/* LT_DESERT: rainforest/desert */
|
||||
MC(GC_PASSENGERS)|MC(GC_MAIL)|MC(GC_OIL)|MC(GC_GOODS)|MC(GC_GRAIN)|MC(GC_WOOD)|
|
||||
MC(GC_VALUABLES)|MC(GC_FOOD)|MC(GC_FRUIT)|MC(GC_COPPER_ORE)|MC(GC_WATER)|MC(GC_RUBBER),
|
||||
MC(GC_PASSENGERS) | MC(GC_MAIL) | MC(GC_OIL) | MC(GC_GOODS) | MC(GC_GRAIN) | MC(GC_WOOD) | MC(GC_VALUABLES) | MC(GC_FOOD) | MC(GC_FRUIT) | MC(GC_COPPER_ORE) | MC(GC_WATER) | MC(GC_RUBBER),
|
||||
/* LT_CANDY: toyland */
|
||||
MC(GC_PASSENGERS)|MC(GC_MAIL)|MC(GC_SUGAR)|MC(GC_TOYS)|MC(GC_BATTERIES)|MC(GC_CANDY)|
|
||||
MC(GC_TOFFEE)|MC(GC_COLA)|MC(GC_COTTON_CANDY)|MC(GC_BUBBLES)|MC(GC_PLASTIC)|MC(GC_FIZZY_DRINKS)
|
||||
MC(GC_PASSENGERS) | MC(GC_MAIL) | MC(GC_SUGAR) | MC(GC_TOYS) | MC(GC_BATTERIES) | MC(GC_CANDY) | MC(GC_TOFFEE) | MC(GC_COLA) | MC(GC_COTTON_CANDY) | MC(GC_BUBBLES) | MC(GC_PLASTIC) | MC(GC_FIZZY_DRINKS)
|
||||
};
|
||||
/** END --- TRANSLATE FROM GLOBAL CARGO TO LOCAL CARGO ID'S **/
|
||||
|
||||
|
@ -57,12 +53,12 @@ const uint32 _landscape_global_cargo_mask[NUM_LANDSCAPE] =
|
|||
const uint32 cargo_classes[16] = {
|
||||
/* Passengers */ MC(GC_PASSENGERS),
|
||||
/* Mail */ MC(GC_MAIL),
|
||||
/* Express */ MC(GC_GOODS)|MC(GC_FOOD)|MC(GC_CANDY),
|
||||
/* Express */ MC(GC_GOODS) | MC(GC_FOOD) | MC(GC_CANDY),
|
||||
/* Armoured */ MC(GC_VALUABLES),
|
||||
/* Bulk */ MC(GC_COAL)|MC(GC_GRAIN)|MC(GC_IRON_ORE)|MC(GC_COPPER_ORE)|MC(GC_FRUIT)|MC(GC_SUGAR)|MC(GC_TOFFEE)|MC(GC_COTTON_CANDY),
|
||||
/* Piece */ MC(GC_LIVESTOCK)|MC(GC_WOOD)|MC(GC_STEEL)|MC(GC_PAPER)|MC(GC_TOYS)|MC(GC_BATTERIES)|MC(GC_BUBBLES)|MC(GC_FIZZY_DRINKS),
|
||||
/* Liquids */ MC(GC_OIL)|MC(GC_WATER)|MC(GC_RUBBER)|MC(GC_COLA)|MC(GC_PLASTIC),
|
||||
/* Chilled */ MC(GC_FOOD)|MC(GC_FRUIT),
|
||||
/* Bulk */ MC(GC_COAL) | MC(GC_GRAIN) | MC(GC_IRON_ORE) | MC(GC_COPPER_ORE) | MC(GC_FRUIT) | MC(GC_SUGAR) | MC(GC_TOFFEE) | MC(GC_COTTON_CANDY),
|
||||
/* Piece */ MC(GC_LIVESTOCK) | MC(GC_WOOD) | MC(GC_STEEL) | MC(GC_PAPER) | MC(GC_TOYS) | MC(GC_BATTERIES) | MC(GC_BUBBLES) | MC(GC_FIZZY_DRINKS),
|
||||
/* Liquids */ MC(GC_OIL) | MC(GC_WATER) | MC(GC_RUBBER) | MC(GC_COLA) | MC(GC_PLASTIC),
|
||||
/* Chilled */ MC(GC_FOOD) | MC(GC_FRUIT),
|
||||
/* Undefined */ 0, 0, 0, 0, 0, 0, 0, 0
|
||||
};
|
||||
#undef MC
|
||||
|
|
|
@ -41,11 +41,11 @@ bool UsesWagonOverride(const Vehicle *v);
|
|||
#define GetCustomVehicleIcon(et, direction) GetCustomEngineSprite(et, NULL, direction)
|
||||
|
||||
typedef enum VehicleTrigger {
|
||||
VEHICLE_TRIGGER_NEW_CARGO = 1,
|
||||
VEHICLE_TRIGGER_NEW_CARGO = 1,
|
||||
// Externally triggered only for the first vehicle in chain
|
||||
VEHICLE_TRIGGER_DEPOT = 2,
|
||||
VEHICLE_TRIGGER_DEPOT = 2,
|
||||
// Externally triggered only for the first vehicle in chain, only if whole chain is empty
|
||||
VEHICLE_TRIGGER_EMPTY = 4,
|
||||
VEHICLE_TRIGGER_EMPTY = 4,
|
||||
// Not triggered externally (called for the whole chain if we got NEW_CARGO)
|
||||
VEHICLE_TRIGGER_ANY_NEW_CARGO = 8,
|
||||
} VehicleTrigger;
|
||||
|
|
42
news.h
42
news.h
|
@ -32,39 +32,39 @@ VARDEF NewsItem _statusbar_news_item;
|
|||
|
||||
enum {
|
||||
NT_ARRIVAL_PLAYER = 0,
|
||||
NT_ARRIVAL_OTHER = 1,
|
||||
NT_ACCIDENT = 2,
|
||||
NT_COMPANY_INFO = 3,
|
||||
NT_ECONOMY = 4,
|
||||
NT_ADVICE = 5,
|
||||
NT_NEW_VEHICLES = 6,
|
||||
NT_ACCEPTANCE = 7,
|
||||
NT_SUBSIDIES = 8,
|
||||
NT_GENERAL = 9,
|
||||
NT_ARRIVAL_OTHER = 1,
|
||||
NT_ACCIDENT = 2,
|
||||
NT_COMPANY_INFO = 3,
|
||||
NT_ECONOMY = 4,
|
||||
NT_ADVICE = 5,
|
||||
NT_NEW_VEHICLES = 6,
|
||||
NT_ACCEPTANCE = 7,
|
||||
NT_SUBSIDIES = 8,
|
||||
NT_GENERAL = 9,
|
||||
};
|
||||
|
||||
enum NewsMode {
|
||||
NM_SMALL = 0,
|
||||
NM_NORMAL = 1,
|
||||
NM_THIN = 2,
|
||||
NM_SMALL = 0,
|
||||
NM_NORMAL = 1,
|
||||
NM_THIN = 2,
|
||||
NM_CALLBACK = 3,
|
||||
};
|
||||
|
||||
enum NewsFlags {
|
||||
NF_VIEWPORT = 1,
|
||||
NF_TILE = 4,
|
||||
NF_VEHICLE = 8,
|
||||
NF_VIEWPORT = 0x01,
|
||||
NF_TILE = 0x04,
|
||||
NF_VEHICLE = 0x08,
|
||||
NF_FORCE_BIG = 0x10,
|
||||
NF_NOEXPIRE = 0x20,
|
||||
NF_INCOLOR = 0x40,
|
||||
NF_NOEXPIRE = 0x20,
|
||||
NF_INCOLOR = 0x40,
|
||||
};
|
||||
|
||||
enum {
|
||||
DNC_TRAINAVAIL = 0,
|
||||
DNC_ROADAVAIL = 1,
|
||||
DNC_SHIPAVAIL = 2,
|
||||
DNC_TRAINAVAIL = 0,
|
||||
DNC_ROADAVAIL = 1,
|
||||
DNC_SHIPAVAIL = 2,
|
||||
DNC_AIRCRAFTAVAIL = 3,
|
||||
DNC_BANKRUPCY = 4,
|
||||
DNC_BANKRUPCY = 4,
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
70
news_gui.c
70
news_gui.c
|
@ -307,10 +307,10 @@ static WindowDesc _news_type2_desc = {
|
|||
};
|
||||
|
||||
static const Widget _news_type0_widgets[] = {
|
||||
{ WWT_PANEL, RESIZE_NONE, 5, 0, 279, 14, 86, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 5, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 5, 11, 279, 0, 13, STR_012C_MESSAGE, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 5, 2, 277, 16, 64, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 5, 0, 279, 14, 86, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 5, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 5, 11, 279, 0, 13, STR_012C_MESSAGE, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 5, 2, 277, 16, 64, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -642,12 +642,12 @@ static void MessageHistoryWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _message_history_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 13, 11, 387, 0, 13, STR_MESSAGE_HISTORY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 13, 388, 399, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 13, 0, 387, 14, 139, 0x0, STR_MESSAGE_HISTORY_TIP},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 13, 388, 399, 14, 127, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 13, 388, 399, 128, 139, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 13, 11, 387, 0, 13, STR_MESSAGE_HISTORY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 13, 388, 399, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 13, 0, 387, 14, 139, 0x0, STR_MESSAGE_HISTORY_TIP},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 13, 388, 399, 14, 127, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 13, 388, 399, 128, 139, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -801,43 +801,43 @@ static void MessageOptionsWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _message_options_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 409, 0, 13, STR_0204_MESSAGE_OPTIONS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 13, 0, 409, 14, 184, STR_NULL, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 13, 0, 409, 14, 184, STR_NULL, STR_NULL},
|
||||
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 26, 37, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 26, 37, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 26, 37, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 26, 37, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 38, 49, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 38, 49, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 38, 49, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 38, 49, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 50, 61, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 50, 61, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 50, 61, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 50, 61, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 62, 73, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 62, 73, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 62, 73, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 62, 73, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 74, 85, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 74, 85, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 74, 85, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 74, 85, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 86, 97, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 86, 97, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 86, 97, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 86, 97, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 98, 109, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 98, 109, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 98, 109, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 98, 109, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 110, 121, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 110, 121, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 110, 121, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 110, 121, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 122, 133, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 122, 133, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 122, 133, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 122, 133, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 134, 145, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 134, 145, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 4, 12, 134, 145, SPR_ARROW_LEFT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_NONE, 3, 90, 98, 134, 145, SPR_ARROW_RIGHT, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 3, 4, 86, 154, 165, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 87, 98, 154, 165, STR_0225, STR_NULL},
|
||||
{ WWT_4, RESIZE_NONE, 3, 4, 98, 166, 177, STR_02DB_OFF, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 3, 4, 86, 154, 165, STR_NULL, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 87, 98, 154, 165, STR_0225, STR_NULL},
|
||||
{ WWT_4, RESIZE_NONE, 3, 4, 98, 166, 177, STR_02DB_OFF, STR_NULL},
|
||||
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
|
32
openttd.c
32
openttd.c
|
@ -909,22 +909,22 @@ static void ScrollMainViewport(int x, int y)
|
|||
}
|
||||
|
||||
static const int8 scrollamt[16][2] = {
|
||||
{ 0, 0},
|
||||
{-2, 0}, // 1:left
|
||||
{ 0,-2}, // 2:up
|
||||
{-2,-1}, // 3:left + up
|
||||
{ 2, 0}, // 4:right
|
||||
{ 0, 0}, // 5:left + right
|
||||
{ 2,-1}, // 6:right + up
|
||||
{ 0,-2}, // 7:left + right + up = up
|
||||
{ 0 ,2}, // 8:down
|
||||
{-2 ,1}, // 9:down+left
|
||||
{ 0, 0}, // 10:impossible
|
||||
{-2, 0}, // 11:left + up + down = left
|
||||
{ 2, 1}, // 12:down+right
|
||||
{ 0, 2}, // 13:left + right + down = down
|
||||
{ 0,-2}, // 14:left + right + up = up
|
||||
{ 0, 0}, // 15:impossible
|
||||
{ 0, 0},
|
||||
{-2, 0}, // 1 : left
|
||||
{ 0, -2}, // 2 : up
|
||||
{-2, -1}, // 3 : left + up
|
||||
{ 2, 0}, // 4 : right
|
||||
{ 0, 0}, // 5 : left + right
|
||||
{ 2, -1}, // 6 : right + up
|
||||
{ 0, -2}, // 7 : left + right + up = up
|
||||
{ 0 ,2}, // 8 : down
|
||||
{-2 ,1}, // 9 : down+left
|
||||
{ 0, 0}, // 10 : impossible
|
||||
{-2, 0}, // 11 : left + up + down = left
|
||||
{ 2, 1}, // 12 : down+right
|
||||
{ 0, 2}, // 13 : left + right + down = down
|
||||
{ 0, -2}, // 14 : left + right + up = up
|
||||
{ 0, 0}, // 15 : impossible
|
||||
};
|
||||
|
||||
static void HandleKeyScrolling(void)
|
||||
|
|
328
openttd.h
328
openttd.h
|
@ -69,17 +69,17 @@ enum GameModes {
|
|||
};
|
||||
|
||||
enum SwitchModes {
|
||||
SM_NONE = 0,
|
||||
SM_NEWGAME = 1,
|
||||
SM_EDITOR = 2,
|
||||
SM_LOAD = 3,
|
||||
SM_MENU = 4,
|
||||
SM_SAVE = 5,
|
||||
SM_GENRANDLAND = 6,
|
||||
SM_LOAD_SCENARIO = 9,
|
||||
SM_START_SCENARIO = 10,
|
||||
SM_NONE = 0,
|
||||
SM_NEWGAME = 1,
|
||||
SM_EDITOR = 2,
|
||||
SM_LOAD = 3,
|
||||
SM_MENU = 4,
|
||||
SM_SAVE = 5,
|
||||
SM_GENRANDLAND = 6,
|
||||
SM_LOAD_SCENARIO = 9,
|
||||
SM_START_SCENARIO = 10,
|
||||
SM_START_HEIGHTMAP = 11,
|
||||
SM_LOAD_HEIGHTMAP = 12,
|
||||
SM_LOAD_HEIGHTMAP = 12,
|
||||
};
|
||||
|
||||
|
||||
|
@ -123,22 +123,22 @@ typedef struct TileInfo {
|
|||
|
||||
/* Display Options */
|
||||
enum {
|
||||
DO_SHOW_TOWN_NAMES = 1 << 0,
|
||||
DO_SHOW_TOWN_NAMES = 1 << 0,
|
||||
DO_SHOW_STATION_NAMES = 1 << 1,
|
||||
DO_SHOW_SIGNS = 1 << 2,
|
||||
DO_FULL_ANIMATION = 1 << 3,
|
||||
DO_TRANS_BUILDINGS = 1 << 4,
|
||||
DO_FULL_DETAIL = 1 << 5,
|
||||
DO_WAYPOINTS = 1 << 6,
|
||||
DO_TRANS_SIGNS = 1 << 7,
|
||||
DO_SHOW_SIGNS = 1 << 2,
|
||||
DO_FULL_ANIMATION = 1 << 3,
|
||||
DO_TRANS_BUILDINGS = 1 << 4,
|
||||
DO_FULL_DETAIL = 1 << 5,
|
||||
DO_WAYPOINTS = 1 << 6,
|
||||
DO_TRANS_SIGNS = 1 << 7,
|
||||
};
|
||||
|
||||
/* Landscape types */
|
||||
enum {
|
||||
LT_NORMAL = 0,
|
||||
LT_HILLY = 1,
|
||||
LT_DESERT = 2,
|
||||
LT_CANDY = 3,
|
||||
LT_NORMAL = 0,
|
||||
LT_HILLY = 1,
|
||||
LT_DESERT = 2,
|
||||
LT_CANDY = 3,
|
||||
|
||||
NUM_LANDSCAPE = 4,
|
||||
};
|
||||
|
@ -222,48 +222,48 @@ typedef struct GameDifficulty {
|
|||
|
||||
enum {
|
||||
// Temperate
|
||||
CT_PASSENGERS = 0,
|
||||
CT_COAL = 1,
|
||||
CT_MAIL = 2,
|
||||
CT_OIL = 3,
|
||||
CT_LIVESTOCK = 4,
|
||||
CT_GOODS = 5,
|
||||
CT_GRAIN = 6,
|
||||
CT_WOOD = 7,
|
||||
CT_IRON_ORE = 8,
|
||||
CT_STEEL = 9,
|
||||
CT_VALUABLES = 10,
|
||||
CT_FOOD = 11,
|
||||
CT_PASSENGERS = 0,
|
||||
CT_COAL = 1,
|
||||
CT_MAIL = 2,
|
||||
CT_OIL = 3,
|
||||
CT_LIVESTOCK = 4,
|
||||
CT_GOODS = 5,
|
||||
CT_GRAIN = 6,
|
||||
CT_WOOD = 7,
|
||||
CT_IRON_ORE = 8,
|
||||
CT_STEEL = 9,
|
||||
CT_VALUABLES = 10,
|
||||
CT_FOOD = 11,
|
||||
|
||||
// Arctic
|
||||
CT_WHEAT = 6,
|
||||
CT_HILLY_UNUSED = 8,
|
||||
CT_PAPER = 9,
|
||||
CT_GOLD = 10,
|
||||
CT_WHEAT = 6,
|
||||
CT_HILLY_UNUSED = 8,
|
||||
CT_PAPER = 9,
|
||||
CT_GOLD = 10,
|
||||
|
||||
// Tropic
|
||||
CT_RUBBER = 1,
|
||||
CT_FRUIT = 4,
|
||||
CT_MAIZE = 6,
|
||||
CT_COPPER_ORE = 8,
|
||||
CT_WATER = 9,
|
||||
CT_DIAMONDS = 10,
|
||||
CT_RUBBER = 1,
|
||||
CT_FRUIT = 4,
|
||||
CT_MAIZE = 6,
|
||||
CT_COPPER_ORE = 8,
|
||||
CT_WATER = 9,
|
||||
CT_DIAMONDS = 10,
|
||||
|
||||
// Toyland
|
||||
CT_SUGAR = 1,
|
||||
CT_TOYS = 3,
|
||||
CT_BATTERIES = 4,
|
||||
CT_CANDY = 5,
|
||||
CT_TOFFEE = 6,
|
||||
CT_COLA = 7,
|
||||
CT_COTTON_CANDY = 8,
|
||||
CT_BUBBLES = 9,
|
||||
CT_PLASTIC = 10,
|
||||
CT_SUGAR = 1,
|
||||
CT_TOYS = 3,
|
||||
CT_BATTERIES = 4,
|
||||
CT_CANDY = 5,
|
||||
CT_TOFFEE = 6,
|
||||
CT_COLA = 7,
|
||||
CT_COTTON_CANDY = 8,
|
||||
CT_BUBBLES = 9,
|
||||
CT_PLASTIC = 10,
|
||||
CT_FIZZY_DRINKS = 11,
|
||||
|
||||
NUM_CARGO = 12,
|
||||
NUM_CARGO = 12,
|
||||
|
||||
CT_INVALID = 0xFF
|
||||
CT_INVALID = 0xFF
|
||||
};
|
||||
|
||||
typedef uint AcceptedCargo[NUM_CARGO];
|
||||
|
@ -337,111 +337,111 @@ typedef struct {
|
|||
|
||||
|
||||
enum {
|
||||
WC_MAIN_WINDOW = 0x0,
|
||||
WC_MAIN_TOOLBAR = 0x1,
|
||||
WC_STATUS_BAR = 0x2,
|
||||
WC_BUILD_TOOLBAR = 0x3,
|
||||
WC_NEWS_WINDOW = 0x4,
|
||||
WC_TOWN_DIRECTORY = 0x5,
|
||||
WC_STATION_LIST = 0x6,
|
||||
WC_TOWN_VIEW = 0x7,
|
||||
WC_SMALLMAP = 0x8,
|
||||
WC_TRAINS_LIST = 0x9,
|
||||
WC_ROADVEH_LIST = 0xA,
|
||||
WC_SHIPS_LIST = 0xB,
|
||||
WC_AIRCRAFT_LIST = 0xC,
|
||||
WC_VEHICLE_VIEW = 0xD,
|
||||
WC_VEHICLE_DETAILS = 0xE,
|
||||
WC_VEHICLE_REFIT = 0xF,
|
||||
WC_VEHICLE_ORDERS = 0x10,
|
||||
WC_STATION_VIEW = 0x11,
|
||||
WC_VEHICLE_DEPOT = 0x12,
|
||||
WC_BUILD_VEHICLE = 0x13,
|
||||
WC_BUILD_BRIDGE = 0x14,
|
||||
WC_ERRMSG = 0x15,
|
||||
WC_ASK_ABANDON_GAME = 0x16,
|
||||
WC_QUIT_GAME = 0x17,
|
||||
WC_BUILD_STATION = 0x18,
|
||||
WC_BUS_STATION = 0x19,
|
||||
WC_TRUCK_STATION = 0x1A,
|
||||
WC_BUILD_DEPOT = 0x1B,
|
||||
WC_COMPANY = 0x1D,
|
||||
WC_FINANCES = 0x1E,
|
||||
WC_PLAYER_COLOR = 0x1F,
|
||||
WC_QUERY_STRING = 0x20,
|
||||
WC_SAVELOAD = 0x21,
|
||||
WC_SELECT_GAME = 0x22,
|
||||
WC_TOOLBAR_MENU = 0x24,
|
||||
WC_INCOME_GRAPH = 0x25,
|
||||
WC_OPERATING_PROFIT = 0x26,
|
||||
WC_TOOLTIPS = 0x27,
|
||||
WC_INDUSTRY_VIEW = 0x28,
|
||||
WC_PLAYER_FACE = 0x29,
|
||||
WC_LAND_INFO = 0x2A,
|
||||
WC_TOWN_AUTHORITY = 0x2B,
|
||||
WC_SUBSIDIES_LIST = 0x2C,
|
||||
WC_GRAPH_LEGEND = 0x2D,
|
||||
WC_DELIVERED_CARGO = 0x2E,
|
||||
WC_PERFORMANCE_HISTORY = 0x2F,
|
||||
WC_COMPANY_VALUE = 0x30,
|
||||
WC_COMPANY_LEAGUE = 0x31,
|
||||
WC_BUY_COMPANY = 0x32,
|
||||
WC_PAYMENT_RATES = 0x33,
|
||||
WC_ENGINE_PREVIEW = 0x35,
|
||||
WC_MUSIC_WINDOW = 0x36,
|
||||
WC_MUSIC_TRACK_SELECTION = 0x37,
|
||||
WC_SCEN_LAND_GEN = 0x38, // also used for landscaping toolbar
|
||||
WC_ASK_RESET_LANDSCAPE = 0x39,
|
||||
WC_SCEN_TOWN_GEN = 0x3A,
|
||||
WC_SCEN_INDUSTRY = 0x3B,
|
||||
WC_SCEN_BUILD_ROAD = 0x3C,
|
||||
WC_BUILD_TREES = 0x3D,
|
||||
WC_SEND_NETWORK_MSG = 0x3E,
|
||||
WC_DROPDOWN_MENU = 0x3F,
|
||||
WC_BUILD_INDUSTRY = 0x40,
|
||||
WC_GAME_OPTIONS = 0x41,
|
||||
WC_NETWORK_WINDOW = 0x42,
|
||||
WC_INDUSTRY_DIRECTORY = 0x43,
|
||||
WC_MESSAGE_HISTORY = 0x44,
|
||||
WC_CHEATS = 0x45,
|
||||
WC_PERFORMANCE_DETAIL = 0x46,
|
||||
WC_CONSOLE = 0x47,
|
||||
WC_EXTRA_VIEW_PORT = 0x48,
|
||||
WC_CLIENT_LIST = 0x49,
|
||||
WC_NETWORK_STATUS_WINDOW = 0x4A,
|
||||
WC_CUSTOM_CURRENCY = 0x4B,
|
||||
WC_REPLACE_VEHICLE = 0x4C,
|
||||
WC_HIGHSCORE = 0x4D,
|
||||
WC_ENDSCREEN = 0x4E,
|
||||
WC_SIGN_LIST = 0x4F,
|
||||
WC_GENERATE_LANDSCAPE = 0x50,
|
||||
WC_MAIN_WINDOW = 0x00,
|
||||
WC_MAIN_TOOLBAR = 0x01,
|
||||
WC_STATUS_BAR = 0x02,
|
||||
WC_BUILD_TOOLBAR = 0x03,
|
||||
WC_NEWS_WINDOW = 0x04,
|
||||
WC_TOWN_DIRECTORY = 0x05,
|
||||
WC_STATION_LIST = 0x06,
|
||||
WC_TOWN_VIEW = 0x07,
|
||||
WC_SMALLMAP = 0x08,
|
||||
WC_TRAINS_LIST = 0x09,
|
||||
WC_ROADVEH_LIST = 0x0A,
|
||||
WC_SHIPS_LIST = 0x0B,
|
||||
WC_AIRCRAFT_LIST = 0x0C,
|
||||
WC_VEHICLE_VIEW = 0x0D,
|
||||
WC_VEHICLE_DETAILS = 0x0E,
|
||||
WC_VEHICLE_REFIT = 0x0F,
|
||||
WC_VEHICLE_ORDERS = 0x10,
|
||||
WC_STATION_VIEW = 0x11,
|
||||
WC_VEHICLE_DEPOT = 0x12,
|
||||
WC_BUILD_VEHICLE = 0x13,
|
||||
WC_BUILD_BRIDGE = 0x14,
|
||||
WC_ERRMSG = 0x15,
|
||||
WC_ASK_ABANDON_GAME = 0x16,
|
||||
WC_QUIT_GAME = 0x17,
|
||||
WC_BUILD_STATION = 0x18,
|
||||
WC_BUS_STATION = 0x19,
|
||||
WC_TRUCK_STATION = 0x1A,
|
||||
WC_BUILD_DEPOT = 0x1B,
|
||||
WC_COMPANY = 0x1D,
|
||||
WC_FINANCES = 0x1E,
|
||||
WC_PLAYER_COLOR = 0x1F,
|
||||
WC_QUERY_STRING = 0x20,
|
||||
WC_SAVELOAD = 0x21,
|
||||
WC_SELECT_GAME = 0x22,
|
||||
WC_TOOLBAR_MENU = 0x24,
|
||||
WC_INCOME_GRAPH = 0x25,
|
||||
WC_OPERATING_PROFIT = 0x26,
|
||||
WC_TOOLTIPS = 0x27,
|
||||
WC_INDUSTRY_VIEW = 0x28,
|
||||
WC_PLAYER_FACE = 0x29,
|
||||
WC_LAND_INFO = 0x2A,
|
||||
WC_TOWN_AUTHORITY = 0x2B,
|
||||
WC_SUBSIDIES_LIST = 0x2C,
|
||||
WC_GRAPH_LEGEND = 0x2D,
|
||||
WC_DELIVERED_CARGO = 0x2E,
|
||||
WC_PERFORMANCE_HISTORY = 0x2F,
|
||||
WC_COMPANY_VALUE = 0x30,
|
||||
WC_COMPANY_LEAGUE = 0x31,
|
||||
WC_BUY_COMPANY = 0x32,
|
||||
WC_PAYMENT_RATES = 0x33,
|
||||
WC_ENGINE_PREVIEW = 0x35,
|
||||
WC_MUSIC_WINDOW = 0x36,
|
||||
WC_MUSIC_TRACK_SELECTION = 0x37,
|
||||
WC_SCEN_LAND_GEN = 0x38, // also used for landscaping toolbar
|
||||
WC_ASK_RESET_LANDSCAPE = 0x39,
|
||||
WC_SCEN_TOWN_GEN = 0x3A,
|
||||
WC_SCEN_INDUSTRY = 0x3B,
|
||||
WC_SCEN_BUILD_ROAD = 0x3C,
|
||||
WC_BUILD_TREES = 0x3D,
|
||||
WC_SEND_NETWORK_MSG = 0x3E,
|
||||
WC_DROPDOWN_MENU = 0x3F,
|
||||
WC_BUILD_INDUSTRY = 0x40,
|
||||
WC_GAME_OPTIONS = 0x41,
|
||||
WC_NETWORK_WINDOW = 0x42,
|
||||
WC_INDUSTRY_DIRECTORY = 0x43,
|
||||
WC_MESSAGE_HISTORY = 0x44,
|
||||
WC_CHEATS = 0x45,
|
||||
WC_PERFORMANCE_DETAIL = 0x46,
|
||||
WC_CONSOLE = 0x47,
|
||||
WC_EXTRA_VIEW_PORT = 0x48,
|
||||
WC_CLIENT_LIST = 0x49,
|
||||
WC_NETWORK_STATUS_WINDOW = 0x4A,
|
||||
WC_CUSTOM_CURRENCY = 0x4B,
|
||||
WC_REPLACE_VEHICLE = 0x4C,
|
||||
WC_HIGHSCORE = 0x4D,
|
||||
WC_ENDSCREEN = 0x4E,
|
||||
WC_SIGN_LIST = 0x4F,
|
||||
WC_GENERATE_LANDSCAPE = 0x50,
|
||||
WC_GENERATE_PROGRESS_WINDOW = 0x51,
|
||||
WC_OK_CANCEL_QUERY = 0x52,
|
||||
WC_OK_CANCEL_QUERY = 0x52,
|
||||
};
|
||||
|
||||
|
||||
enum {
|
||||
EXPENSES_CONSTRUCTION = 0,
|
||||
EXPENSES_NEW_VEHICLES = 1,
|
||||
EXPENSES_TRAIN_RUN = 2,
|
||||
EXPENSES_ROADVEH_RUN = 3,
|
||||
EXPENSES_AIRCRAFT_RUN = 4,
|
||||
EXPENSES_SHIP_RUN = 5,
|
||||
EXPENSES_PROPERTY = 6,
|
||||
EXPENSES_TRAIN_INC = 7,
|
||||
EXPENSES_ROADVEH_INC = 8,
|
||||
EXPENSES_AIRCRAFT_INC = 9,
|
||||
EXPENSES_SHIP_INC = 10,
|
||||
EXPENSES_LOAN_INT = 11,
|
||||
EXPENSES_OTHER = 12,
|
||||
EXPENSES_CONSTRUCTION = 0,
|
||||
EXPENSES_NEW_VEHICLES = 1,
|
||||
EXPENSES_TRAIN_RUN = 2,
|
||||
EXPENSES_ROADVEH_RUN = 3,
|
||||
EXPENSES_AIRCRAFT_RUN = 4,
|
||||
EXPENSES_SHIP_RUN = 5,
|
||||
EXPENSES_PROPERTY = 6,
|
||||
EXPENSES_TRAIN_INC = 7,
|
||||
EXPENSES_ROADVEH_INC = 8,
|
||||
EXPENSES_AIRCRAFT_INC = 9,
|
||||
EXPENSES_SHIP_INC = 10,
|
||||
EXPENSES_LOAN_INT = 11,
|
||||
EXPENSES_OTHER = 12,
|
||||
};
|
||||
|
||||
// special string constants
|
||||
enum SpecialStrings {
|
||||
|
||||
// special strings for town names. the town name is generated dynamically on request.
|
||||
SPECSTR_TOWNNAME_START = 0x20C0,
|
||||
SPECSTR_TOWNNAME_ENGLISH = SPECSTR_TOWNNAME_START,
|
||||
SPECSTR_TOWNNAME_START = 0x20C0,
|
||||
SPECSTR_TOWNNAME_ENGLISH = SPECSTR_TOWNNAME_START,
|
||||
SPECSTR_TOWNNAME_FRENCH,
|
||||
SPECSTR_TOWNNAME_GERMAN,
|
||||
SPECSTR_TOWNNAME_AMERICAN,
|
||||
|
@ -462,37 +462,37 @@ enum SpecialStrings {
|
|||
SPECSTR_TOWNNAME_TURKISH,
|
||||
SPECSTR_TOWNNAME_ITALIAN,
|
||||
SPECSTR_TOWNNAME_CATALAN,
|
||||
SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_CATALAN,
|
||||
SPECSTR_TOWNNAME_LAST = SPECSTR_TOWNNAME_CATALAN,
|
||||
|
||||
// special strings for player names on the form "TownName transport".
|
||||
SPECSTR_PLAYERNAME_START = 0x70EA,
|
||||
SPECSTR_PLAYERNAME_START = 0x70EA,
|
||||
SPECSTR_PLAYERNAME_ENGLISH = SPECSTR_PLAYERNAME_START,
|
||||
SPECSTR_PLAYERNAME_FRENCH,
|
||||
SPECSTR_PLAYERNAME_GERMAN,
|
||||
SPECSTR_PLAYERNAME_AMERICAN,
|
||||
SPECSTR_PLAYERNAME_LATIN,
|
||||
SPECSTR_PLAYERNAME_SILLY,
|
||||
SPECSTR_PLAYERNAME_LAST = SPECSTR_PLAYERNAME_SILLY,
|
||||
SPECSTR_PLAYERNAME_LAST = SPECSTR_PLAYERNAME_SILLY,
|
||||
|
||||
SPECSTR_ANDCO_NAME = 0x70E6,
|
||||
SPECSTR_PRESIDENT_NAME = 0x70E7,
|
||||
SPECSTR_SONGNAME = 0x70E8,
|
||||
SPECSTR_ANDCO_NAME = 0x70E6,
|
||||
SPECSTR_PRESIDENT_NAME = 0x70E7,
|
||||
SPECSTR_SONGNAME = 0x70E8,
|
||||
|
||||
// reserve 32 strings for the *.lng files
|
||||
SPECSTR_LANGUAGE_START = 0x7100,
|
||||
SPECSTR_LANGUAGE_END = 0x711f,
|
||||
SPECSTR_LANGUAGE_START = 0x7100,
|
||||
SPECSTR_LANGUAGE_END = 0x711f,
|
||||
|
||||
// reserve 32 strings for various screen resolutions
|
||||
SPECSTR_RESOLUTION_START = 0x7120,
|
||||
SPECSTR_RESOLUTION_END = 0x713f,
|
||||
SPECSTR_RESOLUTION_START = 0x7120,
|
||||
SPECSTR_RESOLUTION_END = 0x713f,
|
||||
|
||||
// reserve 32 strings for screenshot formats
|
||||
SPECSTR_SCREENSHOT_START = 0x7140,
|
||||
SPECSTR_SCREENSHOT_END = 0x715F,
|
||||
SPECSTR_SCREENSHOT_START = 0x7140,
|
||||
SPECSTR_SCREENSHOT_END = 0x715F,
|
||||
|
||||
// Used to implement SetDParamStr
|
||||
STR_SPEC_DYNSTRING = 0xF800,
|
||||
STR_SPEC_USERSTRING = 0xF808,
|
||||
STR_SPEC_DYNSTRING = 0xF800,
|
||||
STR_SPEC_USERSTRING = 0xF808,
|
||||
};
|
||||
|
||||
typedef void PlaceProc(TileIndex tile);
|
||||
|
@ -509,7 +509,7 @@ VARDEF byte _savegame_sort_order;
|
|||
#define INVALID_STRING_ID 0xFFFF
|
||||
|
||||
enum {
|
||||
MAX_SCREEN_WIDTH = 2048,
|
||||
MAX_SCREEN_WIDTH = 2048,
|
||||
MAX_SCREEN_HEIGHT = 1200,
|
||||
};
|
||||
|
||||
|
@ -517,7 +517,7 @@ enum {
|
|||
* gameview when here. Bitencoded variable that only allows scrolling if all
|
||||
* elements are zero */
|
||||
enum {
|
||||
SCROLL_CON = 0,
|
||||
SCROLL_CON = 0,
|
||||
SCROLL_EDIT = 1,
|
||||
SCROLL_SAVE = 2,
|
||||
SCROLL_CHAT = 4,
|
||||
|
|
2
order.h
2
order.h
|
@ -36,7 +36,7 @@ enum OrderFlagMasks {
|
|||
|
||||
//Flags for depots:
|
||||
/** The current depot-order was initiated because it was in the vehicle's order list */
|
||||
OF_PART_OF_ORDERS = 0x2,
|
||||
OF_PART_OF_ORDERS = 0x2,
|
||||
/** if OF_PART_OF_ORDERS is not set, this will cause the vehicle to be stopped in the depot */
|
||||
OF_HALT_IN_DEPOT = 0x4,
|
||||
/** if OF_PART_OF_ORDERS is set, this will cause the order only be come active if the vehicle needs servicing */
|
||||
|
|
|
@ -1115,10 +1115,10 @@ void InitializeOrders(void)
|
|||
}
|
||||
|
||||
static const SaveLoad _order_desc[] = {
|
||||
SLE_VAR(Order,type, SLE_UINT8),
|
||||
SLE_VAR(Order,flags, SLE_UINT8),
|
||||
SLE_VAR(Order,station, SLE_UINT16),
|
||||
SLE_REF(Order,next, REF_ORDER),
|
||||
SLE_VAR(Order, type, SLE_UINT8),
|
||||
SLE_VAR(Order, flags, SLE_UINT8),
|
||||
SLE_VAR(Order, station, SLE_UINT16),
|
||||
SLE_REF(Order, next, REF_ORDER),
|
||||
|
||||
// reserve extra space in savegame here. (currently 10 bytes)
|
||||
SLE_CONDNULL(10, 5, SL_MAX_VERSION),
|
||||
|
|
76
order_gui.c
76
order_gui.c
|
@ -513,19 +513,19 @@ static void OrdersWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _orders_train_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 384, 0, 13, STR_8829_ORDERS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_RB, 14, 0, 372, 14, 75, 0x0, STR_8852_ORDERS_LIST_CLICK_ON_ORDER},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 373, 384, 14, 75, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 52, 76, 87, STR_8823_SKIP, STR_8853_SKIP_THE_CURRENT_ORDER},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 53, 105, 76, 87, STR_8824_DELETE, STR_8854_DELETE_THE_HIGHLIGHTED},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 106, 158, 76, 87, STR_8825_NON_STOP, STR_8855_MAKE_THE_HIGHLIGHTED_ORDER},
|
||||
{WWT_NODISTXTBTN, RESIZE_TB, 14, 159, 211, 76, 87, STR_8826_GO_TO, STR_8856_INSERT_A_NEW_ORDER_BEFORE},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 212, 264, 76, 87, STR_FULLLOAD_OR_SERVICE, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 265, 319, 76, 87, STR_8828_UNLOAD, STR_8858_MAKE_THE_HIGHLIGHTED_ORDER},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 320, 372, 76, 87, STR_886F_TRANSFER, STR_886D_MAKE_THE_HIGHLIGHTED_ORDER},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 373, 372, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 373, 384, 76, 87, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 384, 0, 13, STR_8829_ORDERS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_RB, 14, 0, 372, 14, 75, 0x0, STR_8852_ORDERS_LIST_CLICK_ON_ORDER},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 373, 384, 14, 75, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 52, 76, 87, STR_8823_SKIP, STR_8853_SKIP_THE_CURRENT_ORDER},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 53, 105, 76, 87, STR_8824_DELETE, STR_8854_DELETE_THE_HIGHLIGHTED},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 106, 158, 76, 87, STR_8825_NON_STOP, STR_8855_MAKE_THE_HIGHLIGHTED_ORDER},
|
||||
{WWT_NODISTXTBTN, RESIZE_TB, 14, 159, 211, 76, 87, STR_8826_GO_TO, STR_8856_INSERT_A_NEW_ORDER_BEFORE},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 212, 264, 76, 87, STR_FULLLOAD_OR_SERVICE, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 265, 319, 76, 87, STR_8828_UNLOAD, STR_8858_MAKE_THE_HIGHLIGHTED_ORDER},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 320, 372, 76, 87, STR_886F_TRANSFER, STR_886D_MAKE_THE_HIGHLIGHTED_ORDER},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 373, 372, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 373, 384, 76, 87, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -538,19 +538,19 @@ static const WindowDesc _orders_train_desc = {
|
|||
};
|
||||
|
||||
static const Widget _orders_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 395, 0, 13, STR_8829_ORDERS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_RB, 14, 0, 383, 14, 75, 0x0, STR_8852_ORDERS_LIST_CLICK_ON_ORDER},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 384, 395, 14, 75, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 63, 76, 87, STR_8823_SKIP, STR_8853_SKIP_THE_CURRENT_ORDER},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 64, 128, 76, 87, STR_8824_DELETE, STR_8854_DELETE_THE_HIGHLIGHTED},
|
||||
{ WWT_EMPTY, RESIZE_TB, 14, 0, 0, 76, 87, 0x0, 0x0},
|
||||
{WWT_NODISTXTBTN, RESIZE_TB, 14, 129, 192, 76, 87, STR_8826_GO_TO, STR_8856_INSERT_A_NEW_ORDER_BEFORE},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 193, 256, 76, 87, STR_FULLLOAD_OR_SERVICE, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 257, 319, 76, 87, STR_8828_UNLOAD, STR_8858_MAKE_THE_HIGHLIGHTED_ORDER},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 320, 383, 76, 87, STR_886F_TRANSFER, STR_886D_MAKE_THE_HIGHLIGHTED_ORDER},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 384, 383, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 384, 395, 76, 87, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 395, 0, 13, STR_8829_ORDERS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_RB, 14, 0, 383, 14, 75, 0x0, STR_8852_ORDERS_LIST_CLICK_ON_ORDER},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 384, 395, 14, 75, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 63, 76, 87, STR_8823_SKIP, STR_8853_SKIP_THE_CURRENT_ORDER},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 64, 128, 76, 87, STR_8824_DELETE, STR_8854_DELETE_THE_HIGHLIGHTED},
|
||||
{ WWT_EMPTY, RESIZE_TB, 14, 0, 0, 76, 87, 0x0, 0x0},
|
||||
{WWT_NODISTXTBTN, RESIZE_TB, 14, 129, 192, 76, 87, STR_8826_GO_TO, STR_8856_INSERT_A_NEW_ORDER_BEFORE},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 193, 256, 76, 87, STR_FULLLOAD_OR_SERVICE, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 257, 319, 76, 87, STR_8828_UNLOAD, STR_8858_MAKE_THE_HIGHLIGHTED_ORDER},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 320, 383, 76, 87, STR_886F_TRANSFER, STR_886D_MAKE_THE_HIGHLIGHTED_ORDER},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 384, 383, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 384, 395, 76, 87, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -563,18 +563,18 @@ static const WindowDesc _orders_desc = {
|
|||
};
|
||||
|
||||
static const Widget _other_orders_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 331, 0, 13, STR_A00B_ORDERS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_RB, 14, 0, 319, 14, 75, 0x0, STR_8852_ORDERS_LIST_CLICK_ON_ORDER},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 320, 331, 14, 75, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 320, 331, 76, 87, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 331, 0, 13, STR_A00B_ORDERS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_RB, 14, 0, 319, 14, 75, 0x0, STR_8852_ORDERS_LIST_CLICK_ON_ORDER},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 320, 331, 14, 75, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 0, 319, 76, 87, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 320, 331, 76, 87, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
58
pathfind.c
58
pathfind.c
|
@ -115,13 +115,15 @@ static const byte _bits_mask[4] = {
|
|||
};
|
||||
|
||||
static const byte _tpf_new_direction[14] = {
|
||||
0,1,0,1,2,1, 0,0,
|
||||
2,3,3,2,3,0,
|
||||
0, 1, 0, 1, 2, 1,
|
||||
0, 0,
|
||||
2, 3, 3, 2, 3, 0,
|
||||
};
|
||||
|
||||
static const byte _tpf_prev_direction[14] = {
|
||||
0,1,1,0,1,2, 0,0,
|
||||
2,3,2,3,0,3,
|
||||
0, 1, 1, 0, 1, 2,
|
||||
0, 0,
|
||||
2, 3, 2, 3, 0, 3,
|
||||
};
|
||||
|
||||
|
||||
|
@ -230,23 +232,23 @@ static uint SkipToEndOfTunnel(TrackPathFinder* tpf, TileIndex tile, DiagDirectio
|
|||
}
|
||||
|
||||
const byte _ffb_64[128] = {
|
||||
0,0,1,0,2,0,1,0,
|
||||
3,0,1,0,2,0,1,0,
|
||||
4,0,1,0,2,0,1,0,
|
||||
3,0,1,0,2,0,1,0,
|
||||
5,0,1,0,2,0,1,0,
|
||||
3,0,1,0,2,0,1,0,
|
||||
4,0,1,0,2,0,1,0,
|
||||
3,0,1,0,2,0,1,0,
|
||||
0, 0, 1, 0, 2, 0, 1, 0,
|
||||
3, 0, 1, 0, 2, 0, 1, 0,
|
||||
4, 0, 1, 0, 2, 0, 1, 0,
|
||||
3, 0, 1, 0, 2, 0, 1, 0,
|
||||
5, 0, 1, 0, 2, 0, 1, 0,
|
||||
3, 0, 1, 0, 2, 0, 1, 0,
|
||||
4, 0, 1, 0, 2, 0, 1, 0,
|
||||
3, 0, 1, 0, 2, 0, 1, 0,
|
||||
|
||||
0,0,0,2,0,4,4,6,
|
||||
0,8,8,10,8,12,12,14,
|
||||
0,16,16,18,16,20,20,22,
|
||||
16,24,24,26,24,28,28,30,
|
||||
0,32,32,34,32,36,36,38,
|
||||
32,40,40,42,40,44,44,46,
|
||||
32,48,48,50,48,52,52,54,
|
||||
48,56,56,58,56,60,60,62,
|
||||
0, 0, 0, 2, 0, 4, 4, 6,
|
||||
0, 8, 8, 10, 8, 12, 12, 14,
|
||||
0, 16, 16, 18, 16, 20, 20, 22,
|
||||
16, 24, 24, 26, 24, 28, 28, 30,
|
||||
0, 32, 32, 34, 32, 36, 36, 38,
|
||||
32, 40, 40, 42, 40, 44, 44, 46,
|
||||
32, 48, 48, 50, 48, 52, 52, 54,
|
||||
48, 56, 56, 58, 56, 60, 60, 62,
|
||||
};
|
||||
|
||||
static void TPFMode1(TrackPathFinder* tpf, TileIndex tile, DiagDirection direction)
|
||||
|
@ -414,12 +416,12 @@ typedef struct {
|
|||
} StackedItem;
|
||||
|
||||
static const byte _new_track[6][4] = {
|
||||
{0,0xff,8,0xff,},
|
||||
{0xff,1,0xff,9,},
|
||||
{0xff,2,10,0xff,},
|
||||
{3,0xff,0xff,11,},
|
||||
{12,4,0xff,0xff,},
|
||||
{0xff,0xff,5,13,},
|
||||
{0, 0xff, 8, 0xff,},
|
||||
{0xff, 1, 0xff, 9,},
|
||||
{0xff, 2, 10, 0xff,},
|
||||
{3, 0xff, 0xff, 11,},
|
||||
{12, 4, 0xff, 0xff,},
|
||||
{0xff, 0xff, 5, 13,},
|
||||
};
|
||||
|
||||
typedef struct HashLink {
|
||||
|
@ -659,8 +661,8 @@ static uint DistanceMoo(TileIndex t0, TileIndex t1)
|
|||
// is currently limited to 16384
|
||||
|
||||
static const byte _length_of_track[16] = {
|
||||
DIAG_FACTOR,DIAG_FACTOR,STR_FACTOR,STR_FACTOR,STR_FACTOR,STR_FACTOR,0,0,
|
||||
DIAG_FACTOR,DIAG_FACTOR,STR_FACTOR,STR_FACTOR,STR_FACTOR,STR_FACTOR,0,0
|
||||
DIAG_FACTOR, DIAG_FACTOR, STR_FACTOR, STR_FACTOR, STR_FACTOR, STR_FACTOR, 0, 0,
|
||||
DIAG_FACTOR, DIAG_FACTOR, STR_FACTOR, STR_FACTOR, STR_FACTOR, STR_FACTOR, 0, 0
|
||||
};
|
||||
|
||||
// new more optimized pathfinder for trains...
|
||||
|
|
40
player.h
40
player.h
|
@ -12,7 +12,7 @@ typedef struct PlayerEconomyEntry {
|
|||
int32 income;
|
||||
int32 expenses;
|
||||
int32 delivered_cargo;
|
||||
int32 performance_history; // player score (scale 0-1000)
|
||||
int32 performance_history; // player score (scale 0-1000)
|
||||
int64 company_value;
|
||||
} PlayerEconomyEntry;
|
||||
|
||||
|
@ -31,7 +31,7 @@ typedef struct AiBuildRec {
|
|||
|
||||
typedef struct PlayerAI {
|
||||
byte state;
|
||||
byte tick; // Used to determine how often to move
|
||||
byte tick; // Used to determine how often to move
|
||||
uint32 state_counter; // Can hold tile index!
|
||||
uint16 timeout_counter;
|
||||
|
||||
|
@ -72,17 +72,17 @@ typedef struct PlayerAI {
|
|||
typedef struct Ai_PathFinderInfo {
|
||||
TileIndex start_tile_tl; // tl = top-left
|
||||
TileIndex start_tile_br; // br = bottom-right
|
||||
TileIndex end_tile_tl; // tl = top-left
|
||||
TileIndex end_tile_br; // br = bottom-right
|
||||
byte start_direction; // 0 to 3 or AI_PATHFINDER_NO_DIRECTION
|
||||
byte end_direction; // 0 to 3 or AI_PATHFINDER_NO_DIRECTION
|
||||
TileIndex end_tile_tl; // tl = top-left
|
||||
TileIndex end_tile_br; // br = bottom-right
|
||||
byte start_direction; // 0 to 3 or AI_PATHFINDER_NO_DIRECTION
|
||||
byte end_direction; // 0 to 3 or AI_PATHFINDER_NO_DIRECTION
|
||||
|
||||
TileIndex route[500];
|
||||
byte route_extra[500]; // Some extra information about the route like bridge/tunnel
|
||||
byte route_extra[500]; // Some extra information about the route like bridge/tunnel
|
||||
int route_length;
|
||||
int position; // Current position in the build-path, needed to build the path
|
||||
int position; // Current position in the build-path, needed to build the path
|
||||
|
||||
bool rail_or_road; // true = rail, false = road
|
||||
bool rail_or_road; // true = rail, false = road
|
||||
} Ai_PathFinderInfo;
|
||||
|
||||
// The amount of memory reserved for the AI-special-vehicles
|
||||
|
@ -98,12 +98,12 @@ typedef struct PlayerAiNew {
|
|||
uint tick;
|
||||
uint idle;
|
||||
|
||||
int temp; // A value used in more than one function, but it just temporary
|
||||
// The use is pretty simple: with this we can 'think' about stuff
|
||||
// in more than one tick, and more than one AI. A static will not
|
||||
// do, because they are not saved. This way, the AI is almost human ;)
|
||||
int counter; // For the same reason as temp, we have counter. It can count how
|
||||
// long we are trying something, and just abort if it takes too long
|
||||
int temp; // A value used in more than one function, but it just temporary
|
||||
// The use is pretty simple: with this we can 'think' about stuff
|
||||
// in more than one tick, and more than one AI. A static will not
|
||||
// do, because they are not saved. This way, the AI is almost human ;)
|
||||
int counter; // For the same reason as temp, we have counter. It can count how
|
||||
// long we are trying something, and just abort if it takes too long
|
||||
|
||||
// Pathfinder stuff
|
||||
Ai_PathFinderInfo path_info;
|
||||
|
@ -133,13 +133,13 @@ typedef struct PlayerAiNew {
|
|||
TileIndex depot_tile;
|
||||
byte depot_direction;
|
||||
|
||||
byte amount_veh; // How many vehicles we are going to build in this route
|
||||
byte cur_veh; // How many vehicles did we bought?
|
||||
VehicleID veh_id; // Used when bought a vehicle
|
||||
byte amount_veh; // How many vehicles we are going to build in this route
|
||||
byte cur_veh; // How many vehicles did we bought?
|
||||
VehicleID veh_id; // Used when bought a vehicle
|
||||
VehicleID veh_main_id; // The ID of the first vehicle, for shared copy
|
||||
|
||||
int from_ic; // ic = industry/city. This is the ID of them
|
||||
byte from_type; // AI_NO_TYPE/AI_CITY/AI_INDUSTRY
|
||||
int from_ic; // ic = industry/city. This is the ID of them
|
||||
byte from_type; // AI_NO_TYPE/AI_CITY/AI_INDUSTRY
|
||||
int to_ic;
|
||||
byte to_type;
|
||||
|
||||
|
|
100
player_gui.c
100
player_gui.c
|
@ -103,46 +103,46 @@ static void DrawPlayerEconomyStats(const Player *p, byte mode)
|
|||
}
|
||||
|
||||
static const Widget _player_finances_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 379, 0, 13, STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 380, 394, 0, 13, 0x2AA, STR_7075_TOGGLE_LARGE_SMALL_WINDOW},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 14, 395, 406, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 406, 14, 169, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 406, 170, 203, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 202, 204, 215, STR_7029_BORROW, STR_7035_INCREASE_SIZE_OF_LOAN},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 203, 406, 204, 215, STR_702A_REPAY, STR_7036_REPAY_PART_OF_LOAN},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 379, 0, 13, STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 380, 394, 0, 13, 0x2AA, STR_7075_TOGGLE_LARGE_SMALL_WINDOW},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 14, 395, 406, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 406, 14, 169, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 406, 170, 203, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 202, 204, 215, STR_7029_BORROW, STR_7035_INCREASE_SIZE_OF_LOAN},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 203, 406, 204, 215, STR_702A_REPAY, STR_7036_REPAY_PART_OF_LOAN},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _other_player_finances_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 379, 0, 13, STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 380, 394, 0, 13, 0x2AA, STR_7075_TOGGLE_LARGE_SMALL_WINDOW},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 14, 395, 406, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 406, 14, 169, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 406, 170, 203, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 379, 0, 13, STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 380, 394, 0, 13, 0x2AA, STR_7075_TOGGLE_LARGE_SMALL_WINDOW},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 14, 395, 406, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 406, 14, 169, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 406, 170, 203, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _other_player_finances_small_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 253, 0, 13, STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 254, 267, 0, 13, 0x2AA, STR_7075_TOGGLE_LARGE_SMALL_WINDOW},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 14, 268, 279, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 279, 14, 47, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 253, 0, 13, STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 254, 267, 0, 13, 0x2AA, STR_7075_TOGGLE_LARGE_SMALL_WINDOW},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 14, 268, 279, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 279, 14, 47, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _player_finances_small_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 253, 0, 13, STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 254, 267, 0, 13, 0x2AA, STR_7075_TOGGLE_LARGE_SMALL_WINDOW},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 14, 268, 279, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 279, 14, 47, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 139, 48, 59, STR_7029_BORROW, STR_7035_INCREASE_SIZE_OF_LOAN},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 140, 279, 48, 59, STR_702A_REPAY, STR_7036_REPAY_PART_OF_LOAN},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 253, 0, 13, STR_700E_FINANCES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 254, 267, 0, 13, 0x2AA, STR_7075_TOGGLE_LARGE_SMALL_WINDOW},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 14, 268, 279, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 279, 14, 47, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 139, 48, 59, STR_7029_BORROW, STR_7035_INCREASE_SIZE_OF_LOAN},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 140, 279, 48, 59, STR_702A_REPAY, STR_7036_REPAY_PART_OF_LOAN},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -304,10 +304,10 @@ static void SelectPlayerColorWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _select_player_color_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5,STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 149, 0, 13, STR_7007_NEW_COLOR_SCHEME, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 137, 14, 127, 0x0, STR_7034_CLICK_ON_SELECTED_NEW_COLOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, 14, 138, 149, 14, 127, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 137, 14, 127, 0x0, STR_7034_CLICK_ON_SELECTED_NEW_COLOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, 14, 138, 149, 14, 127, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -352,14 +352,14 @@ static void SelectPlayerFaceWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _select_player_face_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 189, 0, 13, STR_7043_FACE_SELECTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 189, 14, 136, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 94, 137, 148, STR_012E_CANCEL, STR_7047_CANCEL_NEW_FACE_SELECTION},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 95, 189, 137, 148, STR_012F_OK, STR_7048_ACCEPT_NEW_FACE_SELECTION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 95, 187, 25, 36, STR_7044_MALE, STR_7049_SELECT_MALE_FACES},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 95, 187, 37, 48, STR_7045_FEMALE, STR_704A_SELECT_FEMALE_FACES},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 95, 187, 79, 90, STR_7046_NEW_FACE, STR_704B_GENERATE_RANDOM_NEW_FACE},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 189, 0, 13, STR_7043_FACE_SELECTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 189, 14, 136, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 94, 137, 148, STR_012E_CANCEL, STR_7047_CANCEL_NEW_FACE_SELECTION},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 95, 189, 137, 148, STR_012F_OK, STR_7048_ACCEPT_NEW_FACE_SELECTION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 95, 187, 25, 36, STR_7044_MALE, STR_7049_SELECT_MALE_FACES},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 95, 187, 37, 48, STR_7045_FEMALE, STR_704A_SELECT_FEMALE_FACES},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 95, 187, 79, 90, STR_7046_NEW_FACE, STR_704B_GENERATE_RANDOM_NEW_FACE},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -388,17 +388,17 @@ static const Widget _my_player_company_widgets[] = {
|
|||
};
|
||||
|
||||
static const Widget _other_player_company_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 359, 0, 13, STR_7001, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 359, 14, 157, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 266, 355, 18, 29, STR_7072_VIEW_HQ, STR_7070_BUILD_COMPANY_HEADQUARTERS},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 179, 158, 169, STR_7077_BUY_25_SHARE_IN_COMPANY, STR_7079_BUY_25_SHARE_IN_THIS_COMPANY},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 180, 359, 158, 169, STR_7078_SELL_25_SHARE_IN_COMPANY, STR_707A_SELL_25_SHARE_IN_THIS_COMPANY},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 359, 0, 13, STR_7001, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 359, 14, 157, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 266, 355, 18, 29, STR_7072_VIEW_HQ, STR_7070_BUILD_COMPANY_HEADQUARTERS},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 179, 158, 169, STR_7077_BUY_25_SHARE_IN_COMPANY, STR_7079_BUY_25_SHARE_IN_THIS_COMPANY},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 180, 359, 158, 169, STR_7078_SELL_25_SHARE_IN_COMPANY, STR_707A_SELL_25_SHARE_IN_THIS_COMPANY},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
170
players.c
170
players.c
|
@ -1108,56 +1108,56 @@ void LoadFromHighScore(void)
|
|||
|
||||
// Save/load of players
|
||||
static const SaveLoad _player_desc[] = {
|
||||
SLE_VAR(Player,name_2, SLE_UINT32),
|
||||
SLE_VAR(Player,name_1, SLE_STRINGID),
|
||||
SLE_VAR(Player, name_2, SLE_UINT32),
|
||||
SLE_VAR(Player, name_1, SLE_STRINGID),
|
||||
|
||||
SLE_VAR(Player,president_name_1,SLE_UINT16),
|
||||
SLE_VAR(Player,president_name_2,SLE_UINT32),
|
||||
SLE_VAR(Player, president_name_1,SLE_UINT16),
|
||||
SLE_VAR(Player, president_name_2,SLE_UINT32),
|
||||
|
||||
SLE_VAR(Player,face, SLE_UINT32),
|
||||
SLE_VAR(Player, face, SLE_UINT32),
|
||||
|
||||
// money was changed to a 64 bit field in savegame version 1.
|
||||
SLE_CONDVAR(Player,money64, SLE_VAR_I64 | SLE_FILE_I32, 0, 0),
|
||||
SLE_CONDVAR(Player,money64, SLE_INT64, 1, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player, money64, SLE_VAR_I64 | SLE_FILE_I32, 0, 0),
|
||||
SLE_CONDVAR(Player, money64, SLE_INT64, 1, SL_MAX_VERSION),
|
||||
|
||||
SLE_VAR(Player,current_loan, SLE_INT32),
|
||||
SLE_VAR(Player, current_loan, SLE_INT32),
|
||||
|
||||
SLE_VAR(Player,player_color, SLE_UINT8),
|
||||
SLE_VAR(Player,player_money_fraction,SLE_UINT8),
|
||||
SLE_VAR(Player,avail_railtypes, SLE_UINT8),
|
||||
SLE_VAR(Player,block_preview, SLE_UINT8),
|
||||
SLE_VAR(Player, player_color, SLE_UINT8),
|
||||
SLE_VAR(Player, player_money_fraction, SLE_UINT8),
|
||||
SLE_VAR(Player, avail_railtypes, SLE_UINT8),
|
||||
SLE_VAR(Player, block_preview, SLE_UINT8),
|
||||
|
||||
SLE_VAR(Player,cargo_types, SLE_UINT16),
|
||||
SLE_CONDVAR(Player, location_of_house, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Player, location_of_house, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player, last_build_coordinate, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Player, last_build_coordinate, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player, inaugurated_year, SLE_FILE_U8 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Player, inaugurated_year, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_VAR(Player, cargo_types, SLE_UINT16),
|
||||
SLE_CONDVAR(Player, location_of_house, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Player, location_of_house, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player, last_build_coordinate, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Player, last_build_coordinate, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player, inaugurated_year, SLE_FILE_U8 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Player, inaugurated_year, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
|
||||
SLE_ARR(Player,share_owners, SLE_UINT8, 4),
|
||||
SLE_ARR(Player, share_owners, SLE_UINT8, 4),
|
||||
|
||||
SLE_VAR(Player,num_valid_stat_ent,SLE_UINT8),
|
||||
SLE_VAR(Player, num_valid_stat_ent, SLE_UINT8),
|
||||
|
||||
SLE_VAR(Player,quarters_of_bankrupcy,SLE_UINT8),
|
||||
SLE_VAR(Player,bankrupt_asked, SLE_UINT8),
|
||||
SLE_VAR(Player,bankrupt_timeout,SLE_INT16),
|
||||
SLE_VAR(Player,bankrupt_value, SLE_INT32),
|
||||
SLE_VAR(Player, quarters_of_bankrupcy, SLE_UINT8),
|
||||
SLE_VAR(Player, bankrupt_asked, SLE_UINT8),
|
||||
SLE_VAR(Player, bankrupt_timeout, SLE_INT16),
|
||||
SLE_VAR(Player, bankrupt_value, SLE_INT32),
|
||||
|
||||
// yearly expenses was changed to 64-bit in savegame version 2.
|
||||
SLE_CONDARR(Player,yearly_expenses, SLE_FILE_I32|SLE_VAR_I64, 3*13, 0, 1),
|
||||
SLE_CONDARR(Player,yearly_expenses, SLE_INT64, 3*13, 2, SL_MAX_VERSION),
|
||||
SLE_CONDARR(Player, yearly_expenses, SLE_FILE_I32 | SLE_VAR_I64, 3 * 13, 0, 1),
|
||||
SLE_CONDARR(Player, yearly_expenses, SLE_INT64, 3 * 13, 2, SL_MAX_VERSION),
|
||||
|
||||
SLE_CONDVAR(Player,is_ai, SLE_BOOL, 2, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player,is_active, SLE_BOOL, 4, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player, is_ai, SLE_BOOL, 2, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player, is_active, SLE_BOOL, 4, SL_MAX_VERSION),
|
||||
|
||||
// Engine renewal settings
|
||||
SLE_CONDNULL(512, 16, 18),
|
||||
SLE_CONDREF(Player,engine_renew_list, REF_ENGINE_RENEWS, 19, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player,engine_renew, SLE_BOOL, 16, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player,engine_renew_months, SLE_INT16, 16, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player,engine_renew_money, SLE_UINT32, 16, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player,renew_keep_length, SLE_BOOL, 2, SL_MAX_VERSION), // added with 16.1, but was blank since 2
|
||||
SLE_CONDREF(Player, engine_renew_list, REF_ENGINE_RENEWS, 19, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player, engine_renew, SLE_BOOL, 16, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player, engine_renew_months, SLE_INT16, 16, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player, engine_renew_money, SLE_UINT32, 16, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Player, renew_keep_length, SLE_BOOL, 2, SL_MAX_VERSION), // added with 16.1, but was blank since 2
|
||||
|
||||
// reserve extra space in savegame here. (currently 63 bytes)
|
||||
SLE_CONDNULL(63, 2, SL_MAX_VERSION),
|
||||
|
@ -1167,76 +1167,76 @@ static const SaveLoad _player_desc[] = {
|
|||
|
||||
static const SaveLoad _player_economy_desc[] = {
|
||||
// these were changed to 64-bit in savegame format 2
|
||||
SLE_CONDVAR(PlayerEconomyEntry,income, SLE_INT32, 0, 1),
|
||||
SLE_CONDVAR(PlayerEconomyEntry,expenses, SLE_INT32, 0, 1),
|
||||
SLE_CONDVAR(PlayerEconomyEntry,company_value, SLE_FILE_I32 | SLE_VAR_I64, 0, 1),
|
||||
SLE_CONDVAR(PlayerEconomyEntry,income, SLE_FILE_I64 | SLE_VAR_I32, 2, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(PlayerEconomyEntry,expenses,SLE_FILE_I64 | SLE_VAR_I32, 2, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(PlayerEconomyEntry,company_value, SLE_INT64, 2, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(PlayerEconomyEntry, income, SLE_INT32, 0, 1),
|
||||
SLE_CONDVAR(PlayerEconomyEntry, expenses, SLE_INT32, 0, 1),
|
||||
SLE_CONDVAR(PlayerEconomyEntry, company_value, SLE_FILE_I32 | SLE_VAR_I64, 0, 1),
|
||||
SLE_CONDVAR(PlayerEconomyEntry, income, SLE_FILE_I64 | SLE_VAR_I32, 2, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(PlayerEconomyEntry, expenses, SLE_FILE_I64 | SLE_VAR_I32, 2, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(PlayerEconomyEntry, company_value, SLE_INT64, 2, SL_MAX_VERSION),
|
||||
|
||||
SLE_VAR(PlayerEconomyEntry,delivered_cargo, SLE_INT32),
|
||||
SLE_VAR(PlayerEconomyEntry,performance_history, SLE_INT32),
|
||||
SLE_VAR(PlayerEconomyEntry, delivered_cargo, SLE_INT32),
|
||||
SLE_VAR(PlayerEconomyEntry, performance_history, SLE_INT32),
|
||||
|
||||
SLE_END()
|
||||
};
|
||||
|
||||
static const SaveLoad _player_ai_desc[] = {
|
||||
SLE_VAR(PlayerAI,state, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI,tick, SLE_UINT8),
|
||||
SLE_CONDVAR(PlayerAI,state_counter, SLE_FILE_U16 | SLE_VAR_U32, 0, 12),
|
||||
SLE_CONDVAR(PlayerAI,state_counter, SLE_UINT32, 13, SL_MAX_VERSION),
|
||||
SLE_VAR(PlayerAI,timeout_counter, SLE_UINT16),
|
||||
SLE_VAR(PlayerAI, state, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI, tick, SLE_UINT8),
|
||||
SLE_CONDVAR(PlayerAI, state_counter, SLE_FILE_U16 | SLE_VAR_U32, 0, 12),
|
||||
SLE_CONDVAR(PlayerAI, state_counter, SLE_UINT32, 13, SL_MAX_VERSION),
|
||||
SLE_VAR(PlayerAI, timeout_counter, SLE_UINT16),
|
||||
|
||||
SLE_VAR(PlayerAI,state_mode, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI,banned_tile_count, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI,railtype_to_use, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI, state_mode, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI, banned_tile_count, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI, railtype_to_use, SLE_UINT8),
|
||||
|
||||
SLE_VAR(PlayerAI,cargo_type, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI,num_wagons, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI,build_kind, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI,num_build_rec, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI,num_loco_to_build, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI,num_want_fullload, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI, cargo_type, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI, num_wagons, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI, build_kind, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI, num_build_rec, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI, num_loco_to_build, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI, num_want_fullload, SLE_UINT8),
|
||||
|
||||
SLE_VAR(PlayerAI,route_type_mask, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI, route_type_mask, SLE_UINT8),
|
||||
|
||||
SLE_CONDVAR(PlayerAI, start_tile_a, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(PlayerAI, start_tile_a, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(PlayerAI, cur_tile_a, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(PlayerAI, cur_tile_a, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(PlayerAI,start_dir_a, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI,cur_dir_a, SLE_UINT8),
|
||||
SLE_CONDVAR(PlayerAI, start_tile_a, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(PlayerAI, start_tile_a, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(PlayerAI, cur_tile_a, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(PlayerAI, cur_tile_a, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(PlayerAI, start_dir_a, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI, cur_dir_a, SLE_UINT8),
|
||||
|
||||
SLE_CONDVAR(PlayerAI, start_tile_b, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(PlayerAI, start_tile_b, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(PlayerAI, cur_tile_b, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(PlayerAI, cur_tile_b, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(PlayerAI,start_dir_b, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI,cur_dir_b, SLE_UINT8),
|
||||
SLE_CONDVAR(PlayerAI, start_tile_b, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(PlayerAI, start_tile_b, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(PlayerAI, cur_tile_b, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(PlayerAI, cur_tile_b, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(PlayerAI, start_dir_b, SLE_UINT8),
|
||||
SLE_VAR(PlayerAI, cur_dir_b, SLE_UINT8),
|
||||
|
||||
SLE_REF(PlayerAI,cur_veh, REF_VEHICLE),
|
||||
SLE_REF(PlayerAI, cur_veh, REF_VEHICLE),
|
||||
|
||||
SLE_ARR(PlayerAI,wagon_list, SLE_UINT16, 9),
|
||||
SLE_ARR(PlayerAI,order_list_blocks, SLE_UINT8, 20),
|
||||
SLE_ARR(PlayerAI,banned_tiles, SLE_UINT16, 16),
|
||||
SLE_ARR(PlayerAI, wagon_list, SLE_UINT16, 9),
|
||||
SLE_ARR(PlayerAI, order_list_blocks, SLE_UINT8, 20),
|
||||
SLE_ARR(PlayerAI, banned_tiles, SLE_UINT16, 16),
|
||||
|
||||
SLE_CONDNULL(64, 2, SL_MAX_VERSION),
|
||||
SLE_END()
|
||||
};
|
||||
|
||||
static const SaveLoad _player_ai_build_rec_desc[] = {
|
||||
SLE_CONDVAR(AiBuildRec,spec_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(AiBuildRec,spec_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(AiBuildRec,use_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(AiBuildRec,use_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(AiBuildRec,rand_rng, SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec,cur_building_rule,SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec,unk6, SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec,unk7, SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec,buildcmd_a, SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec,buildcmd_b, SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec,direction, SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec,cargo, SLE_UINT8),
|
||||
SLE_CONDVAR(AiBuildRec, spec_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(AiBuildRec, spec_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(AiBuildRec, use_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(AiBuildRec, use_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(AiBuildRec, rand_rng, SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec, cur_building_rule, SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec, unk6, SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec, unk7, SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec, buildcmd_a, SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec, buildcmd_b, SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec, direction, SLE_UINT8),
|
||||
SLE_VAR(AiBuildRec, cargo, SLE_UINT8),
|
||||
SLE_END()
|
||||
};
|
||||
|
||||
|
|
66
rail.h
66
rail.h
|
@ -14,7 +14,7 @@ typedef enum RailTypes {
|
|||
RAILTYPE_MONO = 2,
|
||||
RAILTYPE_MAGLEV = 3,
|
||||
RAILTYPE_END,
|
||||
INVALID_RAILTYPE = 0xFF
|
||||
INVALID_RAILTYPE = 0xFF
|
||||
} RailType;
|
||||
|
||||
typedef byte RailTypeMask;
|
||||
|
@ -47,22 +47,22 @@ static inline Track AxisToTrack(Axis a)
|
|||
|
||||
/** Bitfield corresponding to Track */
|
||||
typedef enum TrackBits {
|
||||
TRACK_BIT_NONE = 0U,
|
||||
TRACK_BIT_X = 1U << TRACK_X,
|
||||
TRACK_BIT_Y = 1U << TRACK_Y,
|
||||
TRACK_BIT_UPPER = 1U << TRACK_UPPER,
|
||||
TRACK_BIT_LOWER = 1U << TRACK_LOWER,
|
||||
TRACK_BIT_LEFT = 1U << TRACK_LEFT,
|
||||
TRACK_BIT_RIGHT = 1U << TRACK_RIGHT,
|
||||
TRACK_BIT_CROSS = TRACK_BIT_X | TRACK_BIT_Y,
|
||||
TRACK_BIT_HORZ = TRACK_BIT_UPPER | TRACK_BIT_LOWER,
|
||||
TRACK_BIT_VERT = TRACK_BIT_LEFT | TRACK_BIT_RIGHT,
|
||||
TRACK_BIT_3WAY_NE = TRACK_BIT_X | TRACK_BIT_UPPER | TRACK_BIT_RIGHT,
|
||||
TRACK_BIT_3WAY_SE = TRACK_BIT_Y | TRACK_BIT_LOWER | TRACK_BIT_RIGHT,
|
||||
TRACK_BIT_3WAY_SW = TRACK_BIT_X | TRACK_BIT_LOWER | TRACK_BIT_LEFT,
|
||||
TRACK_BIT_3WAY_NW = TRACK_BIT_Y | TRACK_BIT_UPPER | TRACK_BIT_LEFT,
|
||||
TRACK_BIT_ALL = TRACK_BIT_CROSS | TRACK_BIT_HORZ | TRACK_BIT_VERT,
|
||||
TRACK_BIT_MASK = 0x3FU
|
||||
TRACK_BIT_NONE = 0U,
|
||||
TRACK_BIT_X = 1U << TRACK_X,
|
||||
TRACK_BIT_Y = 1U << TRACK_Y,
|
||||
TRACK_BIT_UPPER = 1U << TRACK_UPPER,
|
||||
TRACK_BIT_LOWER = 1U << TRACK_LOWER,
|
||||
TRACK_BIT_LEFT = 1U << TRACK_LEFT,
|
||||
TRACK_BIT_RIGHT = 1U << TRACK_RIGHT,
|
||||
TRACK_BIT_CROSS = TRACK_BIT_X | TRACK_BIT_Y,
|
||||
TRACK_BIT_HORZ = TRACK_BIT_UPPER | TRACK_BIT_LOWER,
|
||||
TRACK_BIT_VERT = TRACK_BIT_LEFT | TRACK_BIT_RIGHT,
|
||||
TRACK_BIT_3WAY_NE = TRACK_BIT_X | TRACK_BIT_UPPER | TRACK_BIT_RIGHT,
|
||||
TRACK_BIT_3WAY_SE = TRACK_BIT_Y | TRACK_BIT_LOWER | TRACK_BIT_RIGHT,
|
||||
TRACK_BIT_3WAY_SW = TRACK_BIT_X | TRACK_BIT_LOWER | TRACK_BIT_LEFT,
|
||||
TRACK_BIT_3WAY_NW = TRACK_BIT_Y | TRACK_BIT_UPPER | TRACK_BIT_LEFT,
|
||||
TRACK_BIT_ALL = TRACK_BIT_CROSS | TRACK_BIT_HORZ | TRACK_BIT_VERT,
|
||||
TRACK_BIT_MASK = 0x3FU
|
||||
} TrackBits;
|
||||
|
||||
|
||||
|
@ -84,16 +84,16 @@ static inline TrackBits AxisToTrackBits(Axis a)
|
|||
/** These are a combination of tracks and directions. Values are 0-5 in one
|
||||
direction (corresponding to the Track enum) and 8-13 in the other direction. */
|
||||
typedef enum Trackdirs {
|
||||
TRACKDIR_X_NE = 0,
|
||||
TRACKDIR_Y_SE = 1,
|
||||
TRACKDIR_UPPER_E = 2,
|
||||
TRACKDIR_LOWER_E = 3,
|
||||
TRACKDIR_LEFT_S = 4,
|
||||
TRACKDIR_RIGHT_S = 5,
|
||||
TRACKDIR_X_NE = 0,
|
||||
TRACKDIR_Y_SE = 1,
|
||||
TRACKDIR_UPPER_E = 2,
|
||||
TRACKDIR_LOWER_E = 3,
|
||||
TRACKDIR_LEFT_S = 4,
|
||||
TRACKDIR_RIGHT_S = 5,
|
||||
/* Note the two missing values here. This enables trackdir -> track
|
||||
* conversion by doing (trackdir & 7) */
|
||||
TRACKDIR_X_SW = 8,
|
||||
TRACKDIR_Y_NW = 9,
|
||||
TRACKDIR_X_SW = 8,
|
||||
TRACKDIR_Y_NW = 9,
|
||||
TRACKDIR_UPPER_W = 10,
|
||||
TRACKDIR_LOWER_W = 11,
|
||||
TRACKDIR_LEFT_N = 12,
|
||||
|
@ -105,13 +105,13 @@ typedef enum Trackdirs {
|
|||
/** These are a combination of tracks and directions. Values are 0-5 in one
|
||||
direction (corresponding to the Track enum) and 8-13 in the other direction. */
|
||||
typedef enum TrackdirBits {
|
||||
TRACKDIR_BIT_NONE = 0x0,
|
||||
TRACKDIR_BIT_X_NE = 0x1,
|
||||
TRACKDIR_BIT_Y_SE = 0x2,
|
||||
TRACKDIR_BIT_UPPER_E = 0x4,
|
||||
TRACKDIR_BIT_LOWER_E = 0x8,
|
||||
TRACKDIR_BIT_LEFT_S = 0x10,
|
||||
TRACKDIR_BIT_RIGHT_S = 0x20,
|
||||
TRACKDIR_BIT_NONE = 0x0000,
|
||||
TRACKDIR_BIT_X_NE = 0x0001,
|
||||
TRACKDIR_BIT_Y_SE = 0x0002,
|
||||
TRACKDIR_BIT_UPPER_E = 0x0004,
|
||||
TRACKDIR_BIT_LOWER_E = 0x0008,
|
||||
TRACKDIR_BIT_LEFT_S = 0x0010,
|
||||
TRACKDIR_BIT_RIGHT_S = 0x0020,
|
||||
/* Again, note the two missing values here. This enables trackdir -> track conversion by doing (trackdir & 0xFF) */
|
||||
TRACKDIR_BIT_X_SW = 0x0100,
|
||||
TRACKDIR_BIT_Y_NW = 0x0200,
|
||||
|
@ -205,7 +205,7 @@ extern RailtypeInfo _railtypes[RAILTYPE_END];
|
|||
// these are the maximums used for updating signal blocks, and checking if a depot is in a pbs block
|
||||
enum {
|
||||
NUM_SSD_ENTRY = 256, // max amount of blocks
|
||||
NUM_SSD_STACK = 32 ,// max amount of blocks to check recursively
|
||||
NUM_SSD_STACK = 32, // max amount of blocks to check recursively
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
26
rail_cmd.c
26
rail_cmd.c
|
@ -2023,17 +2023,17 @@ static uint32 VehicleEnter_Track(Vehicle *v, TileIndex tile, int x, int y)
|
|||
|
||||
|
||||
const TileTypeProcs _tile_type_rail_procs = {
|
||||
DrawTile_Track, /* draw_tile_proc */
|
||||
GetSlopeZ_Track, /* get_slope_z_proc */
|
||||
ClearTile_Track, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Track, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Track, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Track, /* get_tile_track_status_proc */
|
||||
ClickTile_Track, /* click_tile_proc */
|
||||
AnimateTile_Track, /* animate_tile_proc */
|
||||
TileLoop_Track, /* tile_loop_clear */
|
||||
ChangeTileOwner_Track, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
VehicleEnter_Track, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Track, /* get_slope_tileh_proc */
|
||||
DrawTile_Track, /* draw_tile_proc */
|
||||
GetSlopeZ_Track, /* get_slope_z_proc */
|
||||
ClearTile_Track, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Track, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Track, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Track, /* get_tile_track_status_proc */
|
||||
ClickTile_Track, /* click_tile_proc */
|
||||
AnimateTile_Track, /* animate_tile_proc */
|
||||
TileLoop_Track, /* tile_loop_clear */
|
||||
ChangeTileOwner_Track, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
VehicleEnter_Track, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Track, /* get_slope_tileh_proc */
|
||||
};
|
||||
|
|
164
rail_gui.c
164
rail_gui.c
|
@ -97,9 +97,9 @@ static void PlaceExtraDepotRail(TileIndex tile, uint16 extra)
|
|||
}
|
||||
|
||||
static const uint16 _place_depot_extra[12] = {
|
||||
0x604, 0x2102, 0x1202, 0x505,
|
||||
0x2400, 0x2801, 0x1800, 0x1401,
|
||||
0x2203, 0x904, 0x0A05, 0x1103,
|
||||
0x0604, 0x2102, 0x1202, 0x0505,
|
||||
0x2400, 0x2801, 0x1800, 0x1401,
|
||||
0x2203, 0x0904, 0x0A05, 0x1103,
|
||||
};
|
||||
|
||||
|
||||
|
@ -501,30 +501,30 @@ static void BuildRailToolbWndProc(Window *w, WindowEvent *e)
|
|||
|
||||
|
||||
static const Widget _build_rail_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5,STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 359, 0, 13, STR_100A_RAILROAD_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 7, 360, 371, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 7, 360, 371, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 110, 113, 14, 35, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 110, 113, 14, 35, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 21, 14, 35, 0x4E3, STR_1018_BUILD_RAILROAD_TRACK},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 22, 43, 14, 35, 0x4E4, STR_1018_BUILD_RAILROAD_TRACK},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 44, 65, 14, 35, 0x4E5, STR_1018_BUILD_RAILROAD_TRACK},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 66, 87, 14, 35, 0x4E6, STR_1018_BUILD_RAILROAD_TRACK},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 88, 109, 14, 35, SPR_IMG_AUTORAIL, STR_BUILD_AUTORAIL_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 21, 14, 35, 0x4E3, STR_1018_BUILD_RAILROAD_TRACK},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 22, 43, 14, 35, 0x4E4, STR_1018_BUILD_RAILROAD_TRACK},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 44, 65, 14, 35, 0x4E5, STR_1018_BUILD_RAILROAD_TRACK},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 66, 87, 14, 35, 0x4E6, STR_1018_BUILD_RAILROAD_TRACK},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 88, 109, 14, 35, SPR_IMG_AUTORAIL, STR_BUILD_AUTORAIL_TIP},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 114, 135, 14, 35, 0x2BF, STR_018D_DEMOLISH_BUILDINGS_ETC},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 136, 157, 14, 35, 0x50E, STR_1019_BUILD_TRAIN_DEPOT_FOR_BUILDING},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 158, 179, 14, 35, SPR_IMG_WAYPOINT, STR_CONVERT_RAIL_TO_WAYPOINT_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 114, 135, 14, 35, 0x2BF, STR_018D_DEMOLISH_BUILDINGS_ETC},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 136, 157, 14, 35, 0x50E, STR_1019_BUILD_TRAIN_DEPOT_FOR_BUILDING},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 158, 179, 14, 35, SPR_IMG_WAYPOINT, STR_CONVERT_RAIL_TO_WAYPOINT_TIP},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 180, 221, 14, 35, 0x512, STR_101A_BUILD_RAILROAD_STATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 222, 243, 14, 35, 0x50B, STR_101B_BUILD_RAILROAD_SIGNALS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 244, 285, 14, 35, 0xA22, STR_101C_BUILD_RAILROAD_BRIDGE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 286, 305, 14, 35, SPR_IMG_TUNNEL_RAIL, STR_101D_BUILD_RAILROAD_TUNNEL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 306, 327, 14, 35, 0x2CA, STR_101E_TOGGLE_BUILD_REMOVE_FOR},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 328, 349, 14, 35, SPR_IMG_CONVERT_RAIL, STR_CONVERT_RAIL_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 180, 221, 14, 35, 0x512, STR_101A_BUILD_RAILROAD_STATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 222, 243, 14, 35, 0x50B, STR_101B_BUILD_RAILROAD_SIGNALS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 244, 285, 14, 35, 0xA22, STR_101C_BUILD_RAILROAD_BRIDGE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 286, 305, 14, 35, SPR_IMG_TUNNEL_RAIL, STR_101D_BUILD_RAILROAD_TUNNEL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 306, 327, 14, 35, 0x2CA, STR_101E_TOGGLE_BUILD_REMOVE_FOR},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 328, 349, 14, 35, SPR_IMG_CONVERT_RAIL, STR_CONVERT_RAIL_TIP},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 350, 371, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 350, 371, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP},
|
||||
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
@ -826,66 +826,66 @@ static void StationBuildWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _station_builder_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 147, 0, 13, STR_3000_RAIL_STATION_SELECTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 147, 14, 199, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 7, 72, 26, 73, 0x0, STR_304E_SELECT_RAILROAD_STATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 75, 140, 26, 73, 0x0, STR_304E_SELECT_RAILROAD_STATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 147, 14, 199, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 7, 72, 26, 73, 0x0, STR_304E_SELECT_RAILROAD_STATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 75, 140, 26, 73, 0x0, STR_304E_SELECT_RAILROAD_STATION},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 22, 36, 87, 98, STR_00CB_1, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 37, 51, 87, 98, STR_00CC_2, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 52, 66, 87, 98, STR_00CD_3, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 67, 81, 87, 98, STR_00CE_4, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 82, 96, 87, 98, STR_00CF_5, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 97, 111, 87, 98, STR_0335_6, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 112, 126, 87, 98, STR_0336_7, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 22, 36, 87, 98, STR_00CB_1, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 37, 51, 87, 98, STR_00CC_2, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 52, 66, 87, 98, STR_00CD_3, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 67, 81, 87, 98, STR_00CE_4, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 82, 96, 87, 98, STR_00CF_5, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 97, 111, 87, 98, STR_0335_6, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 112, 126, 87, 98, STR_0336_7, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 22, 36, 112, 123, STR_00CB_1, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 37, 51, 112, 123, STR_00CC_2, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 52, 66, 112, 123, STR_00CD_3, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 67, 81, 112, 123, STR_00CE_4, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 82, 96, 112, 123, STR_00CF_5, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 97, 111, 112, 123, STR_0335_6, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 112, 126, 112, 123, STR_0336_7, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 22, 36, 112, 123, STR_00CB_1, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 37, 51, 112, 123, STR_00CC_2, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 52, 66, 112, 123, STR_00CD_3, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 67, 81, 112, 123, STR_00CE_4, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 82, 96, 112, 123, STR_00CF_5, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 97, 111, 112, 123, STR_0335_6, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 112, 126, 112, 123, STR_0336_7, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 37, 111, 126, 137, STR_DRAG_DROP, STR_STATION_DRAG_DROP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 14, 73, 152, 163, STR_02DB_OFF, STR_3065_DON_T_HIGHLIGHT_COVERAGE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 74, 133, 152, 163, STR_02DA_ON, STR_3064_HIGHLIGHT_COVERAGE_AREA},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 37, 111, 126, 137, STR_DRAG_DROP, STR_STATION_DRAG_DROP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 14, 73, 152, 163, STR_02DB_OFF, STR_3065_DON_T_HIGHLIGHT_COVERAGE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 74, 133, 152, 163, STR_02DA_ON, STR_3064_HIGHLIGHT_COVERAGE_AREA},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _newstation_builder_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 147, 0, 13, STR_3000_RAIL_STATION_SELECTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 147, 14, 289, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 7, 72, 116, 163, 0x0, STR_304E_SELECT_RAILROAD_STATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 75, 140, 116, 163, 0x0, STR_304E_SELECT_RAILROAD_STATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 147, 14, 289, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 7, 72, 116, 163, 0x0, STR_304E_SELECT_RAILROAD_STATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 75, 140, 116, 163, 0x0, STR_304E_SELECT_RAILROAD_STATION},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 22, 36, 177, 188, STR_00CB_1, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 37, 51, 177, 188, STR_00CC_2, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 52, 66, 177, 188, STR_00CD_3, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 67, 81, 177, 188, STR_00CE_4, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 82, 96, 177, 188, STR_00CF_5, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 97, 111, 177, 188, STR_0335_6, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 112, 126, 177, 188, STR_0336_7, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 22, 36, 177, 188, STR_00CB_1, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 37, 51, 177, 188, STR_00CC_2, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 52, 66, 177, 188, STR_00CD_3, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 67, 81, 177, 188, STR_00CE_4, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 82, 96, 177, 188, STR_00CF_5, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 97, 111, 177, 188, STR_0335_6, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 112, 126, 177, 188, STR_0336_7, STR_304F_SELECT_NUMBER_OF_PLATFORMS},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 22, 36, 202, 213, STR_00CB_1, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 37, 51, 202, 213, STR_00CC_2, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 52, 66, 202, 213, STR_00CD_3, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 67, 81, 202, 213, STR_00CE_4, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 82, 96, 202, 213, STR_00CF_5, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 97, 111, 202, 213, STR_0335_6, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 112, 126, 202, 213, STR_0336_7, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 22, 36, 202, 213, STR_00CB_1, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 37, 51, 202, 213, STR_00CC_2, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 52, 66, 202, 213, STR_00CD_3, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 67, 81, 202, 213, STR_00CE_4, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 82, 96, 202, 213, STR_00CF_5, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 97, 111, 202, 213, STR_0335_6, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 112, 126, 202, 213, STR_0336_7, STR_3050_SELECT_LENGTH_OF_RAILROAD},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 37, 111, 216, 227, STR_DRAG_DROP, STR_STATION_DRAG_DROP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 14, 73, 242, 253, STR_02DB_OFF, STR_3065_DON_T_HIGHLIGHT_COVERAGE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 74, 133, 242, 253, STR_02DA_ON, STR_3064_HIGHLIGHT_COVERAGE_AREA},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 37, 111, 216, 227, STR_DRAG_DROP, STR_STATION_DRAG_DROP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 14, 73, 242, 253, STR_02DB_OFF, STR_3065_DON_T_HIGHLIGHT_COVERAGE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 74, 133, 242, 253, STR_02DA_ON, STR_3064_HIGHLIGHT_COVERAGE_AREA},
|
||||
|
||||
/* newstations gui additions */
|
||||
{ WWT_6, RESIZE_NONE, 14, 7, 140, 17, 28, STR_02BD, STR_SELECT_STATION_CLASS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 129, 139, 18, 27, STR_0225, STR_SELECT_STATION_CLASS_TIP},
|
||||
{ WWT_MATRIX, RESIZE_NONE, 14, 7, 128, 32, 102, 0x501, STR_SELECT_STATION_TYPE_TIP},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, 14, 129, 140, 32, 102, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_6, RESIZE_NONE, 14, 7, 140, 17, 28, STR_02BD, STR_SELECT_STATION_CLASS_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 129, 139, 18, 27, STR_0225, STR_SELECT_STATION_CLASS_TIP},
|
||||
{ WWT_MATRIX, RESIZE_NONE, 14, 7, 128, 32, 102, 0x501, STR_SELECT_STATION_TYPE_TIP},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, 14, 129, 140, 32, 102, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -963,13 +963,13 @@ static void BuildTrainDepotWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _build_depot_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5,STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 139, 0, 13, STR_1014_TRAIN_DEPOT_ORIENTATION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 139, 14, 121, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 17, 66, 0x0, STR_1020_SELECT_RAILROAD_DEPOT_ORIENTATIO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 69, 118, 0x0, STR_1020_SELECT_RAILROAD_DEPOT_ORIENTATIO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 69, 118, 0x0, STR_1020_SELECT_RAILROAD_DEPOT_ORIENTATIO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 17, 66, 0x0, STR_1020_SELECT_RAILROAD_DEPOT_ORIENTATIO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 139, 14, 121, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 17, 66, 0x0, STR_1020_SELECT_RAILROAD_DEPOT_ORIENTATIO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 69, 118, 0x0, STR_1020_SELECT_RAILROAD_DEPOT_ORIENTATIO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 69, 118, 0x0, STR_1020_SELECT_RAILROAD_DEPOT_ORIENTATIO},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 17, 66, 0x0, STR_1020_SELECT_RAILROAD_DEPOT_ORIENTATIO},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -1042,17 +1042,17 @@ static void BuildWaypointWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _build_waypoint_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 343, 0, 13, STR_WAYPOINT,STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 343, 14, 91, 0x0, 0},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 343, 0, 13, STR_WAYPOINT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 343, 14, 91, 0x0, 0},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 3, 68, 17, 76, 0x0, STR_WAYPOINT_GRAPHICS_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 71, 136, 17, 76, 0x0, STR_WAYPOINT_GRAPHICS_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 139, 204, 17, 76, 0x0, STR_WAYPOINT_GRAPHICS_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 207, 272, 17, 76, 0x0, STR_WAYPOINT_GRAPHICS_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 275, 340, 17, 76, 0x0, STR_WAYPOINT_GRAPHICS_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 3, 68, 17, 76, 0x0, STR_WAYPOINT_GRAPHICS_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 71, 136, 17, 76, 0x0, STR_WAYPOINT_GRAPHICS_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 139, 204, 17, 76, 0x0, STR_WAYPOINT_GRAPHICS_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 207, 272, 17, 76, 0x0, STR_WAYPOINT_GRAPHICS_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 275, 340, 17, 76, 0x0, STR_WAYPOINT_GRAPHICS_TIP},
|
||||
|
||||
{ WWT_HSCROLLBAR, RESIZE_NONE, 7, 1, 343, 80, 91, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_HSCROLLBAR, RESIZE_NONE, 7, 1, 343, 80, 91, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
24
rail_map.h
24
rail_map.h
|
@ -217,7 +217,7 @@ static inline bool IsSignalPresent(TileIndex t, byte signalbit)
|
|||
* normal boolean evaluation, since that will make future additions easier.
|
||||
*/
|
||||
typedef enum SignalStates {
|
||||
SIGNAL_STATE_RED = 0,
|
||||
SIGNAL_STATE_RED = 0,
|
||||
SIGNAL_STATE_GREEN = 1,
|
||||
} SignalState;
|
||||
|
||||
|
@ -280,19 +280,19 @@ RailType GetTileRailType(TileIndex tile, Trackdir trackdir);
|
|||
|
||||
|
||||
typedef enum RailGroundType {
|
||||
RAIL_GROUND_BARREN = 0,
|
||||
RAIL_GROUND_GRASS = 1,
|
||||
RAIL_GROUND_FENCE_NW = 2,
|
||||
RAIL_GROUND_FENCE_SE = 3,
|
||||
RAIL_GROUND_FENCE_SENW = 4,
|
||||
RAIL_GROUND_FENCE_NE = 5,
|
||||
RAIL_GROUND_FENCE_SW = 6,
|
||||
RAIL_GROUND_FENCE_NESW = 7,
|
||||
RAIL_GROUND_FENCE_VERT1 = 8,
|
||||
RAIL_GROUND_FENCE_VERT2 = 9,
|
||||
RAIL_GROUND_BARREN = 0,
|
||||
RAIL_GROUND_GRASS = 1,
|
||||
RAIL_GROUND_FENCE_NW = 2,
|
||||
RAIL_GROUND_FENCE_SE = 3,
|
||||
RAIL_GROUND_FENCE_SENW = 4,
|
||||
RAIL_GROUND_FENCE_NE = 5,
|
||||
RAIL_GROUND_FENCE_SW = 6,
|
||||
RAIL_GROUND_FENCE_NESW = 7,
|
||||
RAIL_GROUND_FENCE_VERT1 = 8,
|
||||
RAIL_GROUND_FENCE_VERT2 = 9,
|
||||
RAIL_GROUND_FENCE_HORIZ1 = 10,
|
||||
RAIL_GROUND_FENCE_HORIZ2 = 11,
|
||||
RAIL_GROUND_ICE_DESERT = 12,
|
||||
RAIL_GROUND_ICE_DESERT = 12,
|
||||
} RailGroundType;
|
||||
|
||||
static inline void SetRailGroundType(TileIndex t, RailGroundType rgt)
|
||||
|
|
26
road_cmd.c
26
road_cmd.c
|
@ -1100,17 +1100,17 @@ static void ChangeTileOwner_Road(TileIndex tile, PlayerID old_player, PlayerID n
|
|||
|
||||
|
||||
const TileTypeProcs _tile_type_road_procs = {
|
||||
DrawTile_Road, /* draw_tile_proc */
|
||||
GetSlopeZ_Road, /* get_slope_z_proc */
|
||||
ClearTile_Road, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Road, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Road, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Road, /* get_tile_track_status_proc */
|
||||
ClickTile_Road, /* click_tile_proc */
|
||||
AnimateTile_Road, /* animate_tile_proc */
|
||||
TileLoop_Road, /* tile_loop_clear */
|
||||
ChangeTileOwner_Road, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
VehicleEnter_Road, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Road, /* get_slope_tileh_proc */
|
||||
DrawTile_Road, /* draw_tile_proc */
|
||||
GetSlopeZ_Road, /* get_slope_z_proc */
|
||||
ClearTile_Road, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Road, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Road, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Road, /* get_tile_track_status_proc */
|
||||
ClickTile_Road, /* click_tile_proc */
|
||||
AnimateTile_Road, /* animate_tile_proc */
|
||||
TileLoop_Road, /* tile_loop_clear */
|
||||
ChangeTileOwner_Road, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
VehicleEnter_Road, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Road, /* get_slope_tileh_proc */
|
||||
};
|
||||
|
|
92
road_gui.c
92
road_gui.c
|
@ -283,20 +283,20 @@ static void BuildRoadToolbWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _build_road_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 227, 0, 13, STR_1802_ROAD_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 7, 228, 239, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 7, 228, 239, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 21, 14, 35, SPR_IMG_ROAD_NW, STR_180B_BUILD_ROAD_SECTION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 22, 43, 14, 35, SPR_IMG_ROAD_NE, STR_180B_BUILD_ROAD_SECTION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 44, 65, 14, 35, SPR_IMG_DYNAMITE, STR_018D_DEMOLISH_BUILDINGS_ETC},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 66, 87, 14, 35, SPR_IMG_ROAD_DEPOT, STR_180C_BUILD_ROAD_VEHICLE_DEPOT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 88, 109, 14, 35, SPR_IMG_BUS_STATION, STR_180D_BUILD_BUS_STATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 110, 131, 14, 35, SPR_IMG_TRUCK_BAY, STR_180E_BUILD_TRUCK_LOADING_BAY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 132, 173, 14, 35, SPR_IMG_BRIDGE, STR_180F_BUILD_ROAD_BRIDGE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 174, 195, 14, 35, SPR_IMG_ROAD_TUNNEL, STR_1810_BUILD_ROAD_TUNNEL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 196, 217, 14, 35, SPR_IMG_REMOVE, STR_1811_TOGGLE_BUILD_REMOVE_FOR},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 218, 239, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 21, 14, 35, SPR_IMG_ROAD_NW, STR_180B_BUILD_ROAD_SECTION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 22, 43, 14, 35, SPR_IMG_ROAD_NE, STR_180B_BUILD_ROAD_SECTION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 44, 65, 14, 35, SPR_IMG_DYNAMITE, STR_018D_DEMOLISH_BUILDINGS_ETC},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 66, 87, 14, 35, SPR_IMG_ROAD_DEPOT, STR_180C_BUILD_ROAD_VEHICLE_DEPOT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 88, 109, 14, 35, SPR_IMG_BUS_STATION, STR_180D_BUILD_BUS_STATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 110, 131, 14, 35, SPR_IMG_TRUCK_BAY, STR_180E_BUILD_TRUCK_LOADING_BAY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 132, 173, 14, 35, SPR_IMG_BRIDGE, STR_180F_BUILD_ROAD_BRIDGE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 174, 195, 14, 35, SPR_IMG_ROAD_TUNNEL, STR_1810_BUILD_ROAD_TUNNEL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 196, 217, 14, 35, SPR_IMG_REMOVE, STR_1811_TOGGLE_BUILD_REMOVE_FOR},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 218, 239, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -317,20 +317,20 @@ void ShowBuildRoadToolbar(void)
|
|||
}
|
||||
|
||||
static const Widget _build_road_scen_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 161, 0, 13, STR_1802_ROAD_CONSTRUCTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 7, 162, 173, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 7, 162, 173, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 0, 21, 14, 35, 0x51D, STR_180B_BUILD_ROAD_SECTION},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 22, 43, 14, 35, 0x51E, STR_180B_BUILD_ROAD_SECTION},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 44, 65, 14, 35, 0x2BF, STR_018D_DEMOLISH_BUILDINGS_ETC},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 66, 107, 14, 35, 0xA22, STR_180F_BUILD_ROAD_BRIDGE},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 108, 129, 14, 35, 0x97D, STR_1810_BUILD_ROAD_TUNNEL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 130, 151, 14, 35, 0x2CA, STR_1811_TOGGLE_BUILD_REMOVE_FOR},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 152, 173, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 0, 21, 14, 35, 0x51D, STR_180B_BUILD_ROAD_SECTION},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 22, 43, 14, 35, 0x51E, STR_180B_BUILD_ROAD_SECTION},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 44, 65, 14, 35, 0x2BF, STR_018D_DEMOLISH_BUILDINGS_ETC},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 66, 107, 14, 35, 0xA22, STR_180F_BUILD_ROAD_BRIDGE},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 108, 129, 14, 35, 0x97D, STR_1810_BUILD_ROAD_TUNNEL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 7, 130, 151, 14, 35, 0x2CA, STR_1811_TOGGLE_BUILD_REMOVE_FOR},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 152, 173, 14, 35, SPR_IMG_LANDSCAPING, STR_LANDSCAPING_TOOLBAR_TIP},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -381,13 +381,13 @@ static void BuildRoadDepotWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _build_road_depot_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5,STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 139, 0, 13, STR_1806_ROAD_DEPOT_ORIENTATION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 139, 14, 121, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 17, 66, 0x0, STR_1813_SELECT_ROAD_VEHICLE_DEPOT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 69, 118, 0x0, STR_1813_SELECT_ROAD_VEHICLE_DEPOT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 69, 118, 0x0, STR_1813_SELECT_ROAD_VEHICLE_DEPOT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 17, 66, 0x0, STR_1813_SELECT_ROAD_VEHICLE_DEPOT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 139, 14, 121, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 17, 66, 0x0, STR_1813_SELECT_ROAD_VEHICLE_DEPOT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 69, 118, 0x0, STR_1813_SELECT_ROAD_VEHICLE_DEPOT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 69, 118, 0x0, STR_1813_SELECT_ROAD_VEHICLE_DEPOT},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 17, 66, 0x0, STR_1813_SELECT_ROAD_VEHICLE_DEPOT},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -468,15 +468,15 @@ static void RoadStationPickerWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _bus_station_picker_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 139, 0, 13, STR_3042_BUS_STATION_ORIENTATION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 139, 14, 176, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 17, 66, 0x0, STR_3051_SELECT_BUS_STATION_ORIENTATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 69, 118, 0x0, STR_3051_SELECT_BUS_STATION_ORIENTATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 69, 118, 0x0, STR_3051_SELECT_BUS_STATION_ORIENTATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 17, 66, 0x0, STR_3051_SELECT_BUS_STATION_ORIENTATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 10, 69, 133, 144, STR_02DB_OFF,STR_3065_DON_T_HIGHLIGHT_COVERAGE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 70, 129, 133, 144, STR_02DA_ON, STR_3064_HIGHLIGHT_COVERAGE_AREA},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 139, 14, 176, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 17, 66, 0x0, STR_3051_SELECT_BUS_STATION_ORIENTATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 69, 118, 0x0, STR_3051_SELECT_BUS_STATION_ORIENTATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 69, 118, 0x0, STR_3051_SELECT_BUS_STATION_ORIENTATION},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 17, 66, 0x0, STR_3051_SELECT_BUS_STATION_ORIENTATION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 10, 69, 133, 144, STR_02DB_OFF, STR_3065_DON_T_HIGHLIGHT_COVERAGE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 70, 129, 133, 144, STR_02DA_ON, STR_3064_HIGHLIGHT_COVERAGE_AREA},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -494,15 +494,15 @@ static void ShowBusStationPicker(void)
|
|||
}
|
||||
|
||||
static const Widget _truck_station_picker_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 7, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 7, 11, 139, 0, 13, STR_3043_TRUCK_STATION_ORIENT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 139, 14, 176, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 17, 66, 0x0, STR_3052_SELECT_TRUCK_LOADING_BAY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 69, 118, 0x0, STR_3052_SELECT_TRUCK_LOADING_BAY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 69, 118, 0x0, STR_3052_SELECT_TRUCK_LOADING_BAY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 17, 66, 0x0, STR_3052_SELECT_TRUCK_LOADING_BAY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 10, 69, 133, 144, STR_02DB_OFF, STR_3065_DON_T_HIGHLIGHT_COVERAGE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 70, 129, 133, 144, STR_02DA_ON, STR_3064_HIGHLIGHT_COVERAGE_AREA},
|
||||
{ WWT_PANEL, RESIZE_NONE, 7, 0, 139, 14, 176, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 17, 66, 0x0, STR_3052_SELECT_TRUCK_LOADING_BAY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 71, 136, 69, 118, 0x0, STR_3052_SELECT_TRUCK_LOADING_BAY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 69, 118, 0x0, STR_3052_SELECT_TRUCK_LOADING_BAY},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 3, 68, 17, 66, 0x0, STR_3052_SELECT_TRUCK_LOADING_BAY},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 10, 69, 133, 144, STR_02DB_OFF, STR_3065_DON_T_HIGHLIGHT_COVERAGE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 70, 129, 133, 144, STR_02DA_ON, STR_3064_HIGHLIGHT_COVERAGE_AREA},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
|
@ -1204,7 +1204,7 @@ static const byte _road_veh_data_1[] = {
|
|||
15, 15, 11, 11
|
||||
};
|
||||
|
||||
static const byte _roadveh_data_2[4] = { 0,1,8,9 };
|
||||
static const byte _roadveh_data_2[4] = { 0, 1, 8, 9 };
|
||||
|
||||
static void RoadVehController(Vehicle *v)
|
||||
{
|
||||
|
|
132
roadveh_gui.c
132
roadveh_gui.c
|
@ -272,14 +272,14 @@ do_change_service_int:
|
|||
}
|
||||
|
||||
static const Widget _roadveh_details_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 339, 0, 13, STR_900C_DETAILS,STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 340, 379, 0, 13, STR_01AA_NAME, STR_902E_NAME_ROAD_VEHICLE},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 379, 14, 55, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 379, 56, 88, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 10, 89, 94, STR_0188, STR_884D_INCREASE_SERVICING_INTERVAL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 10, 95, 100, STR_0189, STR_884E_DECREASE_SERVICING_INTERVAL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 11, 379, 89, 100, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 339, 0, 13, STR_900C_DETAILS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 340, 379, 0, 13, STR_01AA_NAME, STR_902E_NAME_ROAD_VEHICLE},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 379, 14, 55, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 379, 56, 88, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 10, 89, 94, STR_0188, STR_884D_INCREASE_SERVICING_INTERVAL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 10, 95, 100, STR_0189, STR_884E_DECREASE_SERVICING_INTERVAL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 11, 379, 89, 100, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -427,21 +427,21 @@ static void RoadVehViewWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _roadveh_view_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 237, 0, 13, STR_9002, STR_018C_WINDOW_TITLE_DRAG_THIS },
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 238, 249, 0, 13, 0x0, STR_STICKY_BUTTON },
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 231, 14, 103, 0x0, STR_NULL },
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 229, 16, 101, 0x0, STR_NULL },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_RTB, 14, 0, 237, 104, 115, 0x0, STR_901C_CURRENT_VEHICLE_ACTION },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 14, 31, 0x2AB, STR_901E_CENTER_MAIN_VIEW_ON_VEHICLE },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, 0x2AE, STR_901F_SEND_VEHICLE_TO_DEPOT },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 50, 67, 0x2CB, STR_9020_FORCE_VEHICLE_TO_TURN_AROUND },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 68, 85, 0x2B2, STR_901D_SHOW_VEHICLE_S_ORDERS },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 86, 103, 0x2B3, STR_9021_SHOW_ROAD_VEHICLE_DETAILS },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, SPR_CLONE_ROADVEH, STR_CLONE_ROAD_VEHICLE_INFO },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 50, 67, 0x2B4, STR_REFIT_ROAD_VEHICLE_TO_CARRY },
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 232, 249, 104, 103, 0x0, STR_NULL },
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 238, 249, 104, 115, 0x0, STR_NULL },
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 237, 0, 13, STR_9002, STR_018C_WINDOW_TITLE_DRAG_THIS },
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 238, 249, 0, 13, 0x0, STR_STICKY_BUTTON },
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 231, 14, 103, 0x0, STR_NULL },
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 229, 16, 101, 0x0, STR_NULL },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_RTB, 14, 0, 237, 104, 115, 0x0, STR_901C_CURRENT_VEHICLE_ACTION },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 14, 31, 0x2AB, STR_901E_CENTER_MAIN_VIEW_ON_VEHICLE },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, 0x2AE, STR_901F_SEND_VEHICLE_TO_DEPOT },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 50, 67, 0x2CB, STR_9020_FORCE_VEHICLE_TO_TURN_AROUND },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 68, 85, 0x2B2, STR_901D_SHOW_VEHICLE_S_ORDERS },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 86, 103, 0x2B3, STR_9021_SHOW_ROAD_VEHICLE_DETAILS },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, SPR_CLONE_ROADVEH, STR_CLONE_ROAD_VEHICLE_INFO },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 50, 67, 0x2B4, STR_REFIT_ROAD_VEHICLE_TO_CARRY },
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 232, 249, 104, 103, 0x0, STR_NULL },
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 238, 249, 104, 115, 0x0, STR_NULL },
|
||||
{ WIDGETS_END }
|
||||
};
|
||||
|
||||
|
@ -580,14 +580,14 @@ static void NewRoadVehWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _new_road_veh_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 247, 0, 13, STR_9006_NEW_ROAD_VEHICLES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 235, 14, 125, 0x801, STR_9026_ROAD_VEHICLE_SELECTION},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 236, 247, 14, 125, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_IMGBTN, RESIZE_TB, 14, 0, 247, 126, 197, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 117, 198, 209, STR_9007_BUILD_VEHICLE,STR_9027_BUILD_THE_HIGHLIGHTED_ROAD},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 118, 235, 198, 209, STR_9034_RENAME, STR_9035_RENAME_ROAD_VEHICLE_TYPE},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 14, 236, 247, 198, 209, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 235, 14, 125, 0x801, STR_9026_ROAD_VEHICLE_SELECTION},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 236, 247, 14, 125, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_IMGBTN, RESIZE_TB, 14, 0, 247, 126, 197, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 117, 198, 209, STR_9007_BUILD_VEHICLE, STR_9027_BUILD_THE_HIGHLIGHTED_ROAD},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 118, 235, 198, 209, STR_9034_RENAME, STR_9035_RENAME_ROAD_VEHICLE_TYPE},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 14, 236, 247, 198, 209, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -870,19 +870,19 @@ static void RoadDepotWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _road_depot_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 302, 0, 13, STR_9003_ROAD_VEHICLE_DEPOT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 303, 314, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 280, 302, 14, 13, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_LRTB, 14, 280, 302, 14, 55, 0x2A9, STR_9024_DRAG_ROAD_VEHICLE_TO_HERE},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 302, 0, 13, STR_9003_ROAD_VEHICLE_DEPOT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 303, 314, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 280, 302, 14, 13, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_LRTB, 14, 280, 302, 14, 55, 0x2A9, STR_9024_DRAG_ROAD_VEHICLE_TO_HERE},
|
||||
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 279, 14, 55, 0x305, STR_9022_VEHICLES_CLICK_ON_VEHICLE},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 303, 314, 14, 55, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 100, 56, 67, STR_9004_NEW_VEHICLES, STR_9023_BUILD_NEW_ROAD_VEHICLE},
|
||||
{WWT_NODISTXTBTN, RESIZE_TB, 14, 101, 200, 56, 67, STR_CLONE_ROAD_VEHICLE, STR_CLONE_ROAD_VEHICLE_DEPOT_INFO},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 201, 302, 56, 67, STR_00E4_LOCATION, STR_9025_CENTER_MAIN_VIEW_ON_ROAD},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 303, 302, 56, 67, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 303, 314, 56, 67, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 279, 14, 55, 0x305, STR_9022_VEHICLES_CLICK_ON_VEHICLE},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 303, 314, 14, 55, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 100, 56, 67, STR_9004_NEW_VEHICLES, STR_9023_BUILD_NEW_ROAD_VEHICLE},
|
||||
{WWT_NODISTXTBTN, RESIZE_TB, 14, 101, 200, 56, 67, STR_CLONE_ROAD_VEHICLE, STR_CLONE_ROAD_VEHICLE_DEPOT_INFO},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 201, 302, 56, 67, STR_00E4_LOCATION, STR_9025_CENTER_MAIN_VIEW_ON_ROAD},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 303, 302, 56, 67, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 303, 314, 56, 67, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -910,35 +910,35 @@ void ShowRoadDepotWindow(TileIndex tile)
|
|||
}
|
||||
|
||||
static const Widget _player_roadveh_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 247, 0, 13, STR_9001_ROAD_VEHICLES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 259, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 247, 26, 207, 0x701, STR_901A_ROAD_VEHICLES_CLICK_ON},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 248, 259, 26, 207, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 247, 0, 13, STR_9001_ROAD_VEHICLES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 259, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 247, 26, 207, 0x701, STR_901A_ROAD_VEHICLES_CLICK_ON},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 248, 259, 26, 207, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
/* only for our road list, a 'Build Vehicle' button that opens the depot of the last built depot */
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 124, 208, 219, STR_8815_NEW_VEHICLES, STR_901B_BUILD_NEW_ROAD_VEHICLES},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 125, 247, 208, 219, STR_REPLACE_VEHICLES, STR_REPLACE_HELP},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 248, 247, 208, 219, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 248, 259, 208, 219, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 124, 208, 219, STR_8815_NEW_VEHICLES, STR_901B_BUILD_NEW_ROAD_VEHICLES},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 125, 247, 208, 219, STR_REPLACE_VEHICLES, STR_REPLACE_HELP},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 248, 247, 208, 219, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 248, 259, 208, 219, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _other_player_roadveh_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 247, 0, 13, STR_9001_ROAD_VEHICLES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 259, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 247, 26, 207, 0x701, STR_901A_ROAD_VEHICLES_CLICK_ON},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 248, 259, 26, 207, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 0, 247, 208, 219, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 248, 259, 208, 219, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 247, 0, 13, STR_9001_ROAD_VEHICLES, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 259, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 247, 26, 207, 0x701, STR_901A_ROAD_VEHICLES_CLICK_ON},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 248, 259, 26, 207, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 0, 247, 208, 219, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 248, 259, 208, 219, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
104
saveload.h
104
saveload.h
|
@ -37,12 +37,12 @@ typedef struct {
|
|||
} NullStruct;
|
||||
|
||||
typedef enum SLRefType {
|
||||
REF_ORDER = 0,
|
||||
REF_VEHICLE = 1,
|
||||
REF_STATION = 2,
|
||||
REF_TOWN = 3,
|
||||
REF_VEHICLE_OLD = 4,
|
||||
REF_ROADSTOPS = 5,
|
||||
REF_ORDER = 0,
|
||||
REF_VEHICLE = 1,
|
||||
REF_STATION = 2,
|
||||
REF_TOWN = 3,
|
||||
REF_VEHICLE_OLD = 4,
|
||||
REF_ROADSTOPS = 5,
|
||||
REF_ENGINE_RENEWS = 6,
|
||||
} SLRefType;
|
||||
|
||||
|
@ -53,11 +53,11 @@ enum {
|
|||
};
|
||||
|
||||
enum {
|
||||
CH_RIFF = 0,
|
||||
CH_ARRAY = 1,
|
||||
CH_SPARSE_ARRAY = 2,
|
||||
CH_TYPE_MASK = 3,
|
||||
CH_LAST = 8,
|
||||
CH_RIFF = 0,
|
||||
CH_ARRAY = 1,
|
||||
CH_SPARSE_ARRAY = 2,
|
||||
CH_TYPE_MASK = 3,
|
||||
CH_LAST = 8,
|
||||
CH_AUTO_LENGTH = 16,
|
||||
|
||||
CH_PRI_0 = 0 << 4,
|
||||
|
@ -89,20 +89,20 @@ enum VarTypes {
|
|||
/* 6 more possible file-primitives */
|
||||
|
||||
/* 4 bytes allocated a maximum of 16 types for NumberType */
|
||||
SLE_VAR_BL = 0 << 4,
|
||||
SLE_VAR_I8 = 1 << 4,
|
||||
SLE_VAR_U8 = 2 << 4,
|
||||
SLE_VAR_I16 = 3 << 4,
|
||||
SLE_VAR_U16 = 4 << 4,
|
||||
SLE_VAR_I32 = 5 << 4,
|
||||
SLE_VAR_U32 = 6 << 4,
|
||||
SLE_VAR_I64 = 7 << 4,
|
||||
SLE_VAR_U64 = 8 << 4,
|
||||
SLE_VAR_NULL = 9 << 4, ///< useful to write zeros in savegame.
|
||||
SLE_VAR_STRB = 10 << 4, ///< normal string (with pre-allocated buffer)
|
||||
SLE_VAR_STRBQ= 11 << 4, ///< string enclosed in quotes (with pre-allocated buffer)
|
||||
SLE_VAR_STR = 12 << 4, ///< string pointer
|
||||
SLE_VAR_STRQ = 13 << 4, ///< string enclosed in quotes
|
||||
SLE_VAR_BL = 0 << 4,
|
||||
SLE_VAR_I8 = 1 << 4,
|
||||
SLE_VAR_U8 = 2 << 4,
|
||||
SLE_VAR_I16 = 3 << 4,
|
||||
SLE_VAR_U16 = 4 << 4,
|
||||
SLE_VAR_I32 = 5 << 4,
|
||||
SLE_VAR_U32 = 6 << 4,
|
||||
SLE_VAR_I64 = 7 << 4,
|
||||
SLE_VAR_U64 = 8 << 4,
|
||||
SLE_VAR_NULL = 9 << 4, ///< useful to write zeros in savegame.
|
||||
SLE_VAR_STRB = 10 << 4, ///< normal string (with pre-allocated buffer)
|
||||
SLE_VAR_STRBQ = 11 << 4, ///< string enclosed in quotes (with pre-allocated buffer)
|
||||
SLE_VAR_STR = 12 << 4, ///< string pointer
|
||||
SLE_VAR_STRQ = 13 << 4, ///< string enclosed in quotes
|
||||
/* 2 more possible memory-primitives */
|
||||
|
||||
/* Shortcut values */
|
||||
|
@ -111,29 +111,29 @@ enum VarTypes {
|
|||
/* Default combinations of variables. As savegames change, so can variables
|
||||
* and thus it is possible that the saved value and internal size do not
|
||||
* match and you need to specify custom combo. The defaults are listed here */
|
||||
SLE_BOOL = SLE_FILE_I8 | SLE_VAR_BL,
|
||||
SLE_INT8 = SLE_FILE_I8 | SLE_VAR_I8,
|
||||
SLE_UINT8 = SLE_FILE_U8 | SLE_VAR_U8,
|
||||
SLE_INT16 = SLE_FILE_I16 | SLE_VAR_I16,
|
||||
SLE_UINT16 = SLE_FILE_U16 | SLE_VAR_U16,
|
||||
SLE_INT32 = SLE_FILE_I32 | SLE_VAR_I32,
|
||||
SLE_UINT32 = SLE_FILE_U32 | SLE_VAR_U32,
|
||||
SLE_INT64 = SLE_FILE_I64 | SLE_VAR_I64,
|
||||
SLE_UINT64 = SLE_FILE_U64 | SLE_VAR_U64,
|
||||
SLE_CHAR = SLE_FILE_I8 | SLE_VAR_CHAR,
|
||||
SLE_STRINGID = SLE_FILE_STRINGID | SLE_VAR_U16,
|
||||
SLE_STRINGBUF = SLE_FILE_STRING | SLE_VAR_STRB,
|
||||
SLE_STRINGBQUOTE= SLE_FILE_STRING | SLE_VAR_STRBQ,
|
||||
SLE_STRING = SLE_FILE_STRING | SLE_VAR_STR,
|
||||
SLE_STRINGQUOTE = SLE_FILE_STRING | SLE_VAR_STRQ,
|
||||
SLE_BOOL = SLE_FILE_I8 | SLE_VAR_BL,
|
||||
SLE_INT8 = SLE_FILE_I8 | SLE_VAR_I8,
|
||||
SLE_UINT8 = SLE_FILE_U8 | SLE_VAR_U8,
|
||||
SLE_INT16 = SLE_FILE_I16 | SLE_VAR_I16,
|
||||
SLE_UINT16 = SLE_FILE_U16 | SLE_VAR_U16,
|
||||
SLE_INT32 = SLE_FILE_I32 | SLE_VAR_I32,
|
||||
SLE_UINT32 = SLE_FILE_U32 | SLE_VAR_U32,
|
||||
SLE_INT64 = SLE_FILE_I64 | SLE_VAR_I64,
|
||||
SLE_UINT64 = SLE_FILE_U64 | SLE_VAR_U64,
|
||||
SLE_CHAR = SLE_FILE_I8 | SLE_VAR_CHAR,
|
||||
SLE_STRINGID = SLE_FILE_STRINGID | SLE_VAR_U16,
|
||||
SLE_STRINGBUF = SLE_FILE_STRING | SLE_VAR_STRB,
|
||||
SLE_STRINGBQUOTE = SLE_FILE_STRING | SLE_VAR_STRBQ,
|
||||
SLE_STRING = SLE_FILE_STRING | SLE_VAR_STR,
|
||||
SLE_STRINGQUOTE = SLE_FILE_STRING | SLE_VAR_STRQ,
|
||||
|
||||
/* Shortcut values */
|
||||
SLE_UINT = SLE_UINT32,
|
||||
SLE_INT = SLE_INT32,
|
||||
SLE_STRB = SLE_STRINGBUF,
|
||||
SLE_STRBQ= SLE_STRINGBQUOTE,
|
||||
SLE_STR = SLE_STRING,
|
||||
SLE_STRQ = SLE_STRINGQUOTE,
|
||||
SLE_UINT = SLE_UINT32,
|
||||
SLE_INT = SLE_INT32,
|
||||
SLE_STRB = SLE_STRINGBUF,
|
||||
SLE_STRBQ = SLE_STRINGBQUOTE,
|
||||
SLE_STR = SLE_STRING,
|
||||
SLE_STRQ = SLE_STRINGQUOTE,
|
||||
|
||||
/* 8 bytes allocated for a maximum of 8 flags
|
||||
* Flags directing saving/loading of a variable */
|
||||
|
@ -146,13 +146,13 @@ enum VarTypes {
|
|||
typedef uint32 VarType;
|
||||
|
||||
enum SaveLoadTypes {
|
||||
SL_VAR = 0,
|
||||
SL_REF = 1,
|
||||
SL_ARR = 2,
|
||||
SL_STR = 3,
|
||||
SL_VAR = 0,
|
||||
SL_REF = 1,
|
||||
SL_ARR = 2,
|
||||
SL_STR = 3,
|
||||
// non-normal save-load types
|
||||
SL_WRITEBYTE = 8,
|
||||
SL_INCLUDE = 9,
|
||||
SL_WRITEBYTE = 8,
|
||||
SL_INCLUDE = 9,
|
||||
SL_END = 15
|
||||
};
|
||||
|
||||
|
|
16
settings.c
16
settings.c
|
@ -1146,14 +1146,14 @@ static int32 EngineRenewMoneyUpdate(int32 p1)
|
|||
#endif
|
||||
|
||||
static const SettingDesc _music_settings[] = {
|
||||
SDT_VAR(MusicFileSettings, playlist, SLE_UINT8, S, 0, 0, 0, 5, STR_NULL, NULL),
|
||||
SDT_VAR(MusicFileSettings, music_vol, SLE_UINT8, S, 0, 128, 0, 100, STR_NULL, NULL),
|
||||
SDT_VAR(MusicFileSettings, effect_vol,SLE_UINT8, S, 0, 128, 0, 100, STR_NULL, NULL),
|
||||
SDT_LIST(MusicFileSettings, custom_1, SLE_UINT8, S, 0, NULL, STR_NULL, NULL),
|
||||
SDT_LIST(MusicFileSettings, custom_2, SLE_UINT8, S, 0, NULL, STR_NULL, NULL),
|
||||
SDT_BOOL(MusicFileSettings, playing, S, 0, true, STR_NULL, NULL),
|
||||
SDT_BOOL(MusicFileSettings, shuffle, S, 0,false, STR_NULL, NULL),
|
||||
SDT_STR(MusicFileSettings, extmidi, SLE_STRB, S, 0, EXTERNAL_PLAYER,STR_NULL, NULL),
|
||||
SDT_VAR(MusicFileSettings, playlist, SLE_UINT8, S, 0, 0, 0, 5, STR_NULL, NULL),
|
||||
SDT_VAR(MusicFileSettings, music_vol, SLE_UINT8, S, 0, 128, 0, 100, STR_NULL, NULL),
|
||||
SDT_VAR(MusicFileSettings, effect_vol, SLE_UINT8, S, 0, 128, 0, 100, STR_NULL, NULL),
|
||||
SDT_LIST(MusicFileSettings, custom_1, SLE_UINT8, S, 0, NULL, STR_NULL, NULL),
|
||||
SDT_LIST(MusicFileSettings, custom_2, SLE_UINT8, S, 0, NULL, STR_NULL, NULL),
|
||||
SDT_BOOL(MusicFileSettings, playing, S, 0, true, STR_NULL, NULL),
|
||||
SDT_BOOL(MusicFileSettings, shuffle, S, 0, false, STR_NULL, NULL),
|
||||
SDT_STR(MusicFileSettings, extmidi, SLE_STRB, S, 0, EXTERNAL_PLAYER, STR_NULL, NULL),
|
||||
SDT_END()
|
||||
};
|
||||
|
||||
|
|
|
@ -62,7 +62,7 @@ typedef SettingDesc SettingDescGlobVarList;
|
|||
|
||||
typedef enum {
|
||||
IGT_VARIABLES = 0, ///< values of the form "landscape = hilly"
|
||||
IGT_LIST = 1, ///< a list of values, seperated by \n and terminated by the next group block
|
||||
IGT_LIST = 1, ///< a list of values, seperated by \n and terminated by the next group block
|
||||
} IniGroupType;
|
||||
|
||||
/** Get the address of the variable. Which one to pick depends on the object
|
||||
|
|
140
settings_gui.c
140
settings_gui.c
|
@ -237,42 +237,42 @@ int32 CmdSetRoadDriveSide(TileIndex tile, uint32 flags, uint32 p1, uint32 p2)
|
|||
}
|
||||
|
||||
static const Widget _game_options_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 369, 0, 13, STR_00B1_GAME_OPTIONS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 369, 14, 238, 0x0, STR_NULL},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 10, 179, 20, 55, STR_02E0_CURRENCY_UNITS, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 20, 169, 34, 45, STR_02E1, STR_02E2_CURRENCY_UNITS_SELECTION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 158, 168, 35, 44, STR_0225, STR_02E2_CURRENCY_UNITS_SELECTION},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 190, 359, 20, 55, STR_MEASURING_UNITS, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 200, 349, 34, 45, STR_02E4, STR_MEASURING_UNITS_SELECTION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 338, 348, 35, 44, STR_0225, STR_MEASURING_UNITS_SELECTION},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 10, 179, 62, 97, STR_02E6_ROAD_VEHICLES, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 20, 169, 76, 87, STR_02E7, STR_02E8_SELECT_SIDE_OF_ROAD_FOR},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 158, 168, 77, 86, STR_0225, STR_02E8_SELECT_SIDE_OF_ROAD_FOR},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 190, 359, 62, 97, STR_02EB_TOWN_NAMES, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 200, 349, 76, 87, STR_02EC, STR_02ED_SELECT_STYLE_OF_TOWN_NAMES},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 338, 348, 77, 86, STR_0225, STR_02ED_SELECT_STYLE_OF_TOWN_NAMES},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 10, 179, 104, 139, STR_02F4_AUTOSAVE, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 20, 169, 118, 129, STR_02F5, STR_02F6_SELECT_INTERVAL_BETWEEN},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 158, 168, 119, 128, STR_0225, STR_02F6_SELECT_INTERVAL_BETWEEN},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 369, 0, 13, STR_00B1_GAME_OPTIONS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 369, 14, 238, 0x0, STR_NULL},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 10, 179, 20, 55, STR_02E0_CURRENCY_UNITS, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 20, 169, 34, 45, STR_02E1, STR_02E2_CURRENCY_UNITS_SELECTION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 158, 168, 35, 44, STR_0225, STR_02E2_CURRENCY_UNITS_SELECTION},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 190, 359, 20, 55, STR_MEASURING_UNITS, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 200, 349, 34, 45, STR_02E4, STR_MEASURING_UNITS_SELECTION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 338, 348, 35, 44, STR_0225, STR_MEASURING_UNITS_SELECTION},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 10, 179, 62, 97, STR_02E6_ROAD_VEHICLES, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 20, 169, 76, 87, STR_02E7, STR_02E8_SELECT_SIDE_OF_ROAD_FOR},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 158, 168, 77, 86, STR_0225, STR_02E8_SELECT_SIDE_OF_ROAD_FOR},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 190, 359, 62, 97, STR_02EB_TOWN_NAMES, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 200, 349, 76, 87, STR_02EC, STR_02ED_SELECT_STYLE_OF_TOWN_NAMES},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 338, 348, 77, 86, STR_0225, STR_02ED_SELECT_STYLE_OF_TOWN_NAMES},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 10, 179, 104, 139, STR_02F4_AUTOSAVE, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 20, 169, 118, 129, STR_02F5, STR_02F6_SELECT_INTERVAL_BETWEEN},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 158, 168, 119, 128, STR_0225, STR_02F6_SELECT_INTERVAL_BETWEEN},
|
||||
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 10, 359, 194, 228, STR_02BC_VEHICLE_DESIGN_NAMES, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 20, 119, 207, 218, STR_02BD, STR_02C1_VEHICLE_DESIGN_NAMES_SELECTION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 108, 118, 208, 217, STR_0225, STR_02C1_VEHICLE_DESIGN_NAMES_SELECTION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 130, 349, 207, 218, STR_02C0_SAVE_CUSTOM_NAMES, STR_02C2_SAVE_CUSTOMIZED_VEHICLE},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 10, 359, 194, 228, STR_02BC_VEHICLE_DESIGN_NAMES, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 20, 119, 207, 218, STR_02BD, STR_02C1_VEHICLE_DESIGN_NAMES_SELECTION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 108, 118, 208, 217, STR_0225, STR_02C1_VEHICLE_DESIGN_NAMES_SELECTION},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 130, 349, 207, 218, STR_02C0_SAVE_CUSTOM_NAMES, STR_02C2_SAVE_CUSTOMIZED_VEHICLE},
|
||||
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 190, 359, 104, 139, STR_OPTIONS_LANG, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 200, 349, 118, 129, STR_OPTIONS_LANG_CBO, STR_OPTIONS_LANG_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 338, 348, 119, 128, STR_0225, STR_OPTIONS_LANG_TIP},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 190, 359, 104, 139, STR_OPTIONS_LANG, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 200, 349, 118, 129, STR_OPTIONS_LANG_CBO, STR_OPTIONS_LANG_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 338, 348, 119, 128, STR_0225, STR_OPTIONS_LANG_TIP},
|
||||
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 10, 179, 146, 190, STR_OPTIONS_RES, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 20, 169, 160, 171, STR_OPTIONS_RES_CBO, STR_OPTIONS_RES_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 158, 168, 161, 170, STR_0225, STR_OPTIONS_RES_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 149, 169, 176, 184, STR_EMPTY, STR_OPTIONS_FULLSCREEN_TIP},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 10, 179, 146, 190, STR_OPTIONS_RES, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 20, 169, 160, 171, STR_OPTIONS_RES_CBO, STR_OPTIONS_RES_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 158, 168, 161, 170, STR_0225, STR_OPTIONS_RES_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 149, 169, 176, 184, STR_EMPTY, STR_OPTIONS_FULLSCREEN_TIP},
|
||||
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 190, 359, 146, 190, STR_OPTIONS_SCREENSHOT_FORMAT, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 200, 349, 160, 171, STR_OPTIONS_SCREENSHOT_FORMAT_CBO, STR_OPTIONS_SCREENSHOT_FORMAT_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 338, 348, 161, 170, STR_0225, STR_OPTIONS_SCREENSHOT_FORMAT_TIP},
|
||||
{ WWT_FRAME, RESIZE_NONE, 14, 190, 359, 146, 190, STR_OPTIONS_SCREENSHOT_FORMAT, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 14, 200, 349, 160, 171, STR_OPTIONS_SCREENSHOT_FORMAT_CBO, STR_OPTIONS_SCREENSHOT_FORMAT_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 338, 348, 161, 170, STR_0225, STR_OPTIONS_SCREENSHOT_FORMAT_TIP},
|
||||
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
@ -349,9 +349,9 @@ static inline bool GetBitAndShift(uint32 *b)
|
|||
*/
|
||||
static const int16 _default_game_diff[3][GAME_DIFFICULTY_NUM] = { /*
|
||||
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R*/
|
||||
{2, 2, 1, 3, 300, 2, 0, 2, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0}, //easy
|
||||
{4, 1, 1, 2, 150, 3, 1, 3, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1}, //medium
|
||||
{7, 0, 2, 2, 100, 4, 1, 3, 2, 2, 0, 2, 3, 2, 1, 1, 1, 2}, //hard
|
||||
{2, 2, 1, 3, 300, 2, 0, 2, 0, 1, 2, 0, 1, 0, 0, 0, 0, 0}, //easy
|
||||
{4, 1, 1, 2, 150, 3, 1, 3, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1}, //medium
|
||||
{7, 0, 2, 2, 100, 4, 1, 3, 2, 2, 0, 2, 3, 2, 1, 1, 1, 2}, //hard
|
||||
};
|
||||
|
||||
void SetDifficultyLevel(int mode, GameOptions *gm_opt)
|
||||
|
@ -525,18 +525,18 @@ static void GameDifficultyWndProc(Window *w, WindowEvent *e)
|
|||
#undef DIFF_INGAME_DISABLED_BUTTONS
|
||||
|
||||
static const Widget _game_difficulty_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 10, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 10, 11, 369, 0, 13, STR_6800_DIFFICULTY_LEVEL, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 14, 29, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 10, 96, 16, 27, STR_6801_EASY, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 97, 183, 16, 27, STR_6802_MEDIUM, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 184, 270, 16, 27, STR_6803_HARD, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 271, 357, 16, 27, STR_6804_CUSTOM, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 10, 0, 369, 30, 41, STR_6838_SHOW_HI_SCORE_CHART,STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 42, 262, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 263, 278, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 105, 185, 265, 276, STR_OPTIONS_SAVE_CHANGES, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 186, 266, 265, 276, STR_012E_CANCEL, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 10, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 10, 11, 369, 0, 13, STR_6800_DIFFICULTY_LEVEL, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 14, 29, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 10, 96, 16, 27, STR_6801_EASY, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 97, 183, 16, 27, STR_6802_MEDIUM, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 184, 270, 16, 27, STR_6803_HARD, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 271, 357, 16, 27, STR_6804_CUSTOM, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 10, 0, 369, 30, 41, STR_6838_SHOW_HI_SCORE_CHART, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 42, 262, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 263, 278, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 105, 185, 265, 276, STR_OPTIONS_SAVE_CHANGES, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 186, 266, 265, 276, STR_012E_CANCEL, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -882,17 +882,17 @@ static void PatchesSelectionWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _patches_selection_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 10, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 10, 11, 369, 0, 13, STR_CONFIG_PATCHES_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 14, 41, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 42, 360, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 10, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 10, 11, 369, 0, 13, STR_CONFIG_PATCHES_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 14, 41, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 10, 0, 369, 42, 360, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 10, 96, 16, 27, STR_CONFIG_PATCHES_GUI, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 97, 183, 16, 27, STR_CONFIG_PATCHES_CONSTRUCTION, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 184, 270, 16, 27, STR_CONFIG_PATCHES_VEHICLES, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 271, 357, 16, 27, STR_CONFIG_PATCHES_STATIONS, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 10, 96, 28, 39, STR_CONFIG_PATCHES_ECONOMY, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 97, 183, 28, 39, STR_CONFIG_PATCHES_AI, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 10, 96, 16, 27, STR_CONFIG_PATCHES_GUI, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 97, 183, 16, 27, STR_CONFIG_PATCHES_CONSTRUCTION, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 184, 270, 16, 27, STR_CONFIG_PATCHES_VEHICLES, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 271, 357, 16, 27, STR_CONFIG_PATCHES_STATIONS, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 10, 96, 28, 39, STR_CONFIG_PATCHES_ECONOMY, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 3, 97, 183, 28, 39, STR_CONFIG_PATCHES_AI, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -1006,19 +1006,19 @@ static void NewgrfWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _newgrf_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 279, 0, 13, STR_NEWGRF_SETTINGS_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 279, 183, 276, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 279, 0, 13, STR_NEWGRF_SETTINGS_CAPTION, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 279, 183, 276, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_MATRIX, RESIZE_NONE, 14, 0, 267, 14, 182, 0xC01,/*small rows*/ STR_NEWGRF_TIP},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, 14, 268, 279, 14, 182, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_MATRIX, RESIZE_NONE, 14, 0, 267, 14, 182, 0xC01, /*small rows*/ STR_NEWGRF_TIP},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, 14, 268, 279, 14, 182, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 147, 158, 244, 255, STR_0188, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 159, 170, 244, 255, STR_0189, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 175, 274, 244, 255, STR_NEWGRF_SET_PARAMETERS, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 147, 158, 244, 255, STR_0188, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 159, 170, 244, 255, STR_0189, STR_NULL},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 175, 274, 244, 255, STR_NEWGRF_SET_PARAMETERS, STR_NULL},
|
||||
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 5, 138, 261, 272, STR_NEWGRF_APPLY_CHANGES, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 142, 274, 261, 272, STR_012E_CANCEL, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 5, 138, 261, 272, STR_NEWGRF_APPLY_CHANGES, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 3, 142, 274, 261, 272, STR_012E_CANCEL, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -1261,9 +1261,9 @@ static void CustCurrencyWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _cust_currency_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 229, 0, 13, STR_CURRENCY_WINDOW, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 229, 14, 119, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 229, 0, 13, STR_CURRENCY_WINDOW, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 0, 229, 14, 119, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
16
ship_cmd.c
16
ship_cmd.c
|
@ -287,14 +287,14 @@ static void UpdateShipDeltaXY(Vehicle *v, int dir)
|
|||
{
|
||||
#define MKIT(d,c,b,a) ((a&0xFF)<<24) | ((b&0xFF)<<16) | ((c&0xFF)<<8) | ((d&0xFF)<<0)
|
||||
static const uint32 _delta_xy_table[8] = {
|
||||
MKIT( -3, -3, 6, 6),
|
||||
MKIT(-16, -3, 32, 6),
|
||||
MKIT( -3, -3, 6, 6),
|
||||
MKIT( -3,-16, 6, 32),
|
||||
MKIT( -3, -3, 6, 6),
|
||||
MKIT(-16, -3, 32, 6),
|
||||
MKIT( -3, -3, 6, 6),
|
||||
MKIT( -3,-16, 6, 32),
|
||||
MKIT( -3, -3, 6, 6),
|
||||
MKIT(-16, -3, 32, 6),
|
||||
MKIT( -3, -3, 6, 6),
|
||||
MKIT( -3, -16, 6, 32),
|
||||
MKIT( -3, -3, 6, 6),
|
||||
MKIT(-16, -3, 32, 6),
|
||||
MKIT( -3, -3, 6, 6),
|
||||
MKIT( -3, -16, 6, 32),
|
||||
};
|
||||
#undef MKIT
|
||||
uint32 x = _delta_xy_table[dir];
|
||||
|
|
142
ship_gui.c
142
ship_gui.c
|
@ -127,11 +127,11 @@ static void ShipRefitWndProc(Window *w, WindowEvent *e)
|
|||
|
||||
|
||||
static const Widget _ship_refit_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 239, 0, 13, STR_983B_REFIT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 239, 14, 135, 0x0, STR_983D_SELECT_TYPE_OF_CARGO_FOR},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 239, 136, 157, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 239, 158, 169, STR_983C_REFIT_SHIP, STR_983E_REFIT_SHIP_TO_CARRY_HIGHLIGHTED},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 239, 0, 13, STR_983B_REFIT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 239, 14, 135, 0x0, STR_983D_SELECT_TYPE_OF_CARGO_FOR},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 239, 136, 157, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 239, 158, 169, STR_983C_REFIT_SHIP, STR_983E_REFIT_SHIP_TO_CARRY_HIGHLIGHTED},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -268,14 +268,14 @@ do_change_service_int:
|
|||
|
||||
|
||||
static const Widget _ship_details_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 364, 0, 13, STR_9811_DETAILS,STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 365, 404, 0, 13, STR_01AA_NAME, STR_982F_NAME_SHIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 404, 14, 55, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 404, 56, 88, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 10, 89, 94, STR_0188, STR_884D_INCREASE_SERVICING_INTERVAL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 10, 95, 100, STR_0189, STR_884E_DECREASE_SERVICING_INTERVAL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 11, 404, 89, 100, 0x0, STR_NULL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 364, 0, 13, STR_9811_DETAILS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 365, 404, 0, 13, STR_01AA_NAME, STR_982F_NAME_SHIP},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 404, 14, 55, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 404, 56, 88, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 10, 89, 94, STR_0188, STR_884D_INCREASE_SERVICING_INTERVAL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 10, 95, 100, STR_0189, STR_884E_DECREASE_SERVICING_INTERVAL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 11, 404, 89, 100, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -411,14 +411,14 @@ static void NewShipWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _new_ship_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 254, 0, 13, STR_9808_NEW_SHIPS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 242, 14, 109, 0x401, STR_9825_SHIP_SELECTION_LIST_CLICK},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 243, 254, 14, 109, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_IMGBTN, RESIZE_TB, 14, 0, 254, 110, 161, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 121, 162, 173, STR_9809_BUILD_SHIP, STR_9826_BUILD_THE_HIGHLIGHTED_SHIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 122, 242, 162, 173, STR_9836_RENAME, STR_9837_RENAME_SHIP_TYPE},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 14, 243, 254, 162, 173, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 254, 0, 13, STR_9808_NEW_SHIPS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 242, 14, 109, 0x401, STR_9825_SHIP_SELECTION_LIST_CLICK},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 243, 254, 14, 109, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_IMGBTN, RESIZE_TB, 14, 0, 254, 110, 161, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 121, 162, 173, STR_9809_BUILD_SHIP, STR_9826_BUILD_THE_HIGHLIGHTED_SHIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 122, 242, 162, 173, STR_9836_RENAME, STR_9837_RENAME_SHIP_TYPE},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 14, 243, 254, 162, 173, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -571,20 +571,20 @@ static void ShipViewWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _ship_view_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 237, 0, 13, STR_980F, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 238, 249, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 231, 14, 103, 0x0, STR_NULL},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 229, 16, 101, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_RTB, 14, 0, 237, 104, 115, 0x0, STR_9827_CURRENT_SHIP_ACTION_CLICK},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 14, 31, 0x2AB, STR_9829_CENTER_MAIN_VIEW_ON_SHIP},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, 0x2B0, STR_982A_SEND_SHIP_TO_DEPOT},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 50, 67, 0x2B4, STR_983A_REFIT_CARGO_SHIP_TO_CARRY},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 68, 85, 0x2B2, STR_9828_SHOW_SHIP_S_ORDERS},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 86, 103, 0x2B3, STR_982B_SHOW_SHIP_DETAILS},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, SPR_CLONE_SHIP, STR_CLONE_SHIP_INFO},
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 232, 249, 104, 103, 0x0, STR_NULL },
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 238, 249, 104, 115, 0x0, STR_NULL },
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 237, 0, 13, STR_980F, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 238, 249, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_IMGBTN, RESIZE_RB, 14, 0, 231, 14, 103, 0x0, STR_NULL},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 229, 16, 101, 0x0, STR_NULL},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_RTB, 14, 0, 237, 104, 115, 0x0, STR_9827_CURRENT_SHIP_ACTION_CLICK},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 14, 31, 0x2AB, STR_9829_CENTER_MAIN_VIEW_ON_SHIP},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, 0x2B0, STR_982A_SEND_SHIP_TO_DEPOT},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 50, 67, 0x2B4, STR_983A_REFIT_CARGO_SHIP_TO_CARRY},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 68, 85, 0x2B2, STR_9828_SHOW_SHIP_S_ORDERS},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 86, 103, 0x2B3, STR_982B_SHOW_SHIP_DETAILS},
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, SPR_CLONE_SHIP, STR_CLONE_SHIP_INFO},
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 232, 249, 104, 103, 0x0, STR_NULL },
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 238, 249, 104, 115, 0x0, STR_NULL },
|
||||
{ WIDGETS_END }
|
||||
};
|
||||
|
||||
|
@ -854,19 +854,19 @@ static void ShipDepotWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _ship_depot_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 292, 0, 13, STR_9803_SHIP_DEPOT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 293, 304, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 270, 292, 14, 13, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_LRTB, 14, 270, 292, 14, 61, 0x2A9, STR_9821_DRAG_SHIP_TO_HERE_TO_SELL},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 292, 0, 13, STR_9803_SHIP_DEPOT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 293, 304, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 270, 292, 14, 13, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_LRTB, 14, 270, 292, 14, 61, 0x2A9, STR_9821_DRAG_SHIP_TO_HERE_TO_SELL},
|
||||
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 269, 14, 61, 0x203, STR_981F_SHIPS_CLICK_ON_SHIP_FOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 293, 304, 14, 61, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 96, 62, 73, STR_9804_NEW_SHIPS, STR_9820_BUILD_NEW_SHIP},
|
||||
{WWT_NODISTXTBTN, RESIZE_TB, 14, 97, 194, 62, 73, STR_CLONE_SHIP, STR_CLONE_SHIP_DEPOT_INFO},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 195, 292, 62, 73, STR_00E4_LOCATION, STR_9822_CENTER_MAIN_VIEW_ON_SHIP},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 293, 292, 62, 73, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 293, 304, 62, 73, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 269, 14, 61, 0x203, STR_981F_SHIPS_CLICK_ON_SHIP_FOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 293, 304, 14, 61, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 96, 62, 73, STR_9804_NEW_SHIPS, STR_9820_BUILD_NEW_SHIP},
|
||||
{WWT_NODISTXTBTN, RESIZE_TB, 14, 97, 194, 62, 73, STR_CLONE_SHIP, STR_CLONE_SHIP_DEPOT_INFO},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 195, 292, 62, 73, STR_00E4_LOCATION, STR_9822_CENTER_MAIN_VIEW_ON_SHIP},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 293, 292, 62, 73, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 293, 304, 62, 73, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -919,34 +919,34 @@ static void DrawSmallOrderList(const Vehicle *v, int x, int y)
|
|||
|
||||
|
||||
static const Widget _player_ships_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 247, 0, 13, STR_9805_SHIPS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 259, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 247, 26, 169, 0x401, STR_9823_SHIPS_CLICK_ON_SHIP_FOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 248, 259, 26, 169, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 124, 170, 181, STR_9804_NEW_SHIPS, STR_9824_BUILD_NEW_SHIPS_REQUIRES},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 125, 247, 170, 181, STR_REPLACE_VEHICLES, STR_REPLACE_HELP},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 248, 247, 170, 181, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 248, 259, 170, 181, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 247, 0, 13, STR_9805_SHIPS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 259, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 247, 26, 169, 0x401, STR_9823_SHIPS_CLICK_ON_SHIP_FOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 248, 259, 26, 169, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 124, 170, 181, STR_9804_NEW_SHIPS, STR_9824_BUILD_NEW_SHIPS_REQUIRES},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 125, 247, 170, 181, STR_REPLACE_VEHICLES, STR_REPLACE_HELP},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 248, 247, 170, 181, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 248, 259, 170, 181, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _other_player_ships_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 247, 0, 13, STR_9805_SHIPS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 259, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 247, 26, 169, 0x401, STR_9823_SHIPS_CLICK_ON_SHIP_FOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 248, 259, 26, 169, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 0, 247, 170, 181, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 248, 259, 170, 181, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 247, 0, 13, STR_9805_SHIPS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 259, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 247, 26, 169, 0x401, STR_9823_SHIPS_CLICK_ON_SHIP_FOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 248, 259, 26, 169, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 0, 247, 170, 181, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 248, 259, 170, 181, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
14
signs.c
14
signs.c
|
@ -226,13 +226,13 @@ void InitializeSigns(void)
|
|||
}
|
||||
|
||||
static const SaveLoad _sign_desc[] = {
|
||||
SLE_VAR(SignStruct,str, SLE_UINT16),
|
||||
SLE_CONDVAR(SignStruct,x, SLE_FILE_I16 | SLE_VAR_I32, 0, 4),
|
||||
SLE_CONDVAR(SignStruct,y, SLE_FILE_I16 | SLE_VAR_I32, 0, 4),
|
||||
SLE_CONDVAR(SignStruct,x, SLE_INT32, 5, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(SignStruct,y, SLE_INT32, 5, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(SignStruct,owner, SLE_UINT8, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(SignStruct,z, SLE_UINT8),
|
||||
SLE_VAR(SignStruct, str, SLE_UINT16),
|
||||
SLE_CONDVAR(SignStruct, x, SLE_FILE_I16 | SLE_VAR_I32, 0, 4),
|
||||
SLE_CONDVAR(SignStruct, y, SLE_FILE_I16 | SLE_VAR_I32, 0, 4),
|
||||
SLE_CONDVAR(SignStruct, x, SLE_INT32, 5, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(SignStruct, y, SLE_INT32, 5, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(SignStruct, owner, SLE_UINT8, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(SignStruct, z, SLE_UINT8),
|
||||
SLE_END()
|
||||
};
|
||||
|
||||
|
|
40
slope.h
40
slope.h
|
@ -4,27 +4,27 @@
|
|||
#define SLOPE_H
|
||||
|
||||
typedef enum Slope {
|
||||
SLOPE_FLAT = 0x00,
|
||||
SLOPE_W = 0x01,
|
||||
SLOPE_S = 0x02,
|
||||
SLOPE_E = 0x04,
|
||||
SLOPE_N = 0x08,
|
||||
SLOPE_STEEP = 0x10,
|
||||
SLOPE_NW = SLOPE_N | SLOPE_W,
|
||||
SLOPE_SW = SLOPE_S | SLOPE_W,
|
||||
SLOPE_SE = SLOPE_S | SLOPE_E,
|
||||
SLOPE_NE = SLOPE_N | SLOPE_E,
|
||||
SLOPE_EW = SLOPE_E | SLOPE_W,
|
||||
SLOPE_NS = SLOPE_N | SLOPE_S,
|
||||
SLOPE_FLAT = 0x00,
|
||||
SLOPE_W = 0x01,
|
||||
SLOPE_S = 0x02,
|
||||
SLOPE_E = 0x04,
|
||||
SLOPE_N = 0x08,
|
||||
SLOPE_STEEP = 0x10,
|
||||
SLOPE_NW = SLOPE_N | SLOPE_W,
|
||||
SLOPE_SW = SLOPE_S | SLOPE_W,
|
||||
SLOPE_SE = SLOPE_S | SLOPE_E,
|
||||
SLOPE_NE = SLOPE_N | SLOPE_E,
|
||||
SLOPE_EW = SLOPE_E | SLOPE_W,
|
||||
SLOPE_NS = SLOPE_N | SLOPE_S,
|
||||
SLOPE_ELEVATED = SLOPE_N | SLOPE_E | SLOPE_S | SLOPE_W,
|
||||
SLOPE_NWS = SLOPE_N | SLOPE_W | SLOPE_S,
|
||||
SLOPE_WSE = SLOPE_W | SLOPE_S | SLOPE_E,
|
||||
SLOPE_SEN = SLOPE_S | SLOPE_E | SLOPE_N,
|
||||
SLOPE_ENW = SLOPE_E | SLOPE_N | SLOPE_W,
|
||||
SLOPE_STEEP_W = SLOPE_STEEP | SLOPE_NWS,
|
||||
SLOPE_STEEP_S = SLOPE_STEEP | SLOPE_WSE,
|
||||
SLOPE_STEEP_E = SLOPE_STEEP | SLOPE_SEN,
|
||||
SLOPE_STEEP_N = SLOPE_STEEP | SLOPE_ENW
|
||||
SLOPE_NWS = SLOPE_N | SLOPE_W | SLOPE_S,
|
||||
SLOPE_WSE = SLOPE_W | SLOPE_S | SLOPE_E,
|
||||
SLOPE_SEN = SLOPE_S | SLOPE_E | SLOPE_N,
|
||||
SLOPE_ENW = SLOPE_E | SLOPE_N | SLOPE_W,
|
||||
SLOPE_STEEP_W = SLOPE_STEEP | SLOPE_NWS,
|
||||
SLOPE_STEEP_S = SLOPE_STEEP | SLOPE_WSE,
|
||||
SLOPE_STEEP_E = SLOPE_STEEP | SLOPE_SEN,
|
||||
SLOPE_STEEP_N = SLOPE_STEEP | SLOPE_ENW
|
||||
} Slope;
|
||||
|
||||
static inline bool IsSteepSlope(Slope s)
|
||||
|
|
310
smallmap_gui.c
310
smallmap_gui.c
|
@ -53,130 +53,130 @@ static bool _smallmap_show_towns = true;
|
|||
|
||||
/* Legend text giving the colours to look for on the minimap */
|
||||
static const uint16 _legend_land_contours[] = {
|
||||
MK(0x5A,STR_00F0_100M),
|
||||
MK(0x5C,STR_00F1_200M),
|
||||
MK(0x5E,STR_00F2_300M),
|
||||
MK(0x1F,STR_00F3_400M),
|
||||
MK(0x27,STR_00F4_500M),
|
||||
MK(0x5A, STR_00F0_100M),
|
||||
MK(0x5C, STR_00F1_200M),
|
||||
MK(0x5E, STR_00F2_300M),
|
||||
MK(0x1F, STR_00F3_400M),
|
||||
MK(0x27, STR_00F4_500M),
|
||||
|
||||
MS(0xD7,STR_00EB_ROADS),
|
||||
MK(0x0A,STR_00EC_RAILROADS),
|
||||
MK(0x98,STR_00ED_STATIONS_AIRPORTS_DOCKS),
|
||||
MK(0xB5,STR_00EE_BUILDINGS_INDUSTRIES),
|
||||
MK(0x0F,STR_00EF_VEHICLES),
|
||||
MS(0xD7, STR_00EB_ROADS),
|
||||
MK(0x0A, STR_00EC_RAILROADS),
|
||||
MK(0x98, STR_00ED_STATIONS_AIRPORTS_DOCKS),
|
||||
MK(0xB5, STR_00EE_BUILDINGS_INDUSTRIES),
|
||||
MK(0x0F, STR_00EF_VEHICLES),
|
||||
MKEND()
|
||||
};
|
||||
|
||||
static const uint16 _legend_vehicles[] = {
|
||||
MK(0xB8,STR_00F5_TRAINS),
|
||||
MK(0xBF,STR_00F6_ROAD_VEHICLES),
|
||||
MK(0x98,STR_00F7_SHIPS),
|
||||
MK(0x0F,STR_00F8_AIRCRAFT),
|
||||
MS(0xD7,STR_00F9_TRANSPORT_ROUTES),
|
||||
MK(0xB5,STR_00EE_BUILDINGS_INDUSTRIES),
|
||||
MK(0xB8, STR_00F5_TRAINS),
|
||||
MK(0xBF, STR_00F6_ROAD_VEHICLES),
|
||||
MK(0x98, STR_00F7_SHIPS),
|
||||
MK(0x0F, STR_00F8_AIRCRAFT),
|
||||
MS(0xD7, STR_00F9_TRANSPORT_ROUTES),
|
||||
MK(0xB5, STR_00EE_BUILDINGS_INDUSTRIES),
|
||||
MKEND()
|
||||
};
|
||||
|
||||
static const uint16 _legend_industries_normal[] = {
|
||||
MK(0xD7,STR_00FA_COAL_MINE),
|
||||
MK(0xB8,STR_00FB_POWER_STATION),
|
||||
MK(0x56,STR_00FC_FOREST),
|
||||
MK(0xC2,STR_00FD_SAWMILL),
|
||||
MK(0xBF,STR_00FE_OIL_REFINERY),
|
||||
MK(0x0F,STR_0105_BANK),
|
||||
MK(0xD7, STR_00FA_COAL_MINE),
|
||||
MK(0xB8, STR_00FB_POWER_STATION),
|
||||
MK(0x56, STR_00FC_FOREST),
|
||||
MK(0xC2, STR_00FD_SAWMILL),
|
||||
MK(0xBF, STR_00FE_OIL_REFINERY),
|
||||
MK(0x0F, STR_0105_BANK),
|
||||
|
||||
MS(0x30,STR_00FF_FARM),
|
||||
MK(0xAE,STR_0100_FACTORY),
|
||||
MK(0x98,STR_0102_OIL_WELLS),
|
||||
MK(0x37,STR_0103_IRON_ORE_MINE),
|
||||
MK(0x0A,STR_0104_STEEL_MILL),
|
||||
MS(0x30, STR_00FF_FARM),
|
||||
MK(0xAE, STR_0100_FACTORY),
|
||||
MK(0x98, STR_0102_OIL_WELLS),
|
||||
MK(0x37, STR_0103_IRON_ORE_MINE),
|
||||
MK(0x0A, STR_0104_STEEL_MILL),
|
||||
MKEND()
|
||||
};
|
||||
|
||||
static const uint16 _legend_industries_hilly[] = {
|
||||
MK(0xD7,STR_00FA_COAL_MINE),
|
||||
MK(0xB8,STR_00FB_POWER_STATION),
|
||||
MK(0x56,STR_00FC_FOREST),
|
||||
MK(0x0A,STR_0106_PAPER_MILL),
|
||||
MK(0xBF,STR_00FE_OIL_REFINERY),
|
||||
MK(0x37,STR_0108_FOOD_PROCESSING_PLANT),
|
||||
MS(0x30,STR_00FF_FARM),
|
||||
MK(0xD7, STR_00FA_COAL_MINE),
|
||||
MK(0xB8, STR_00FB_POWER_STATION),
|
||||
MK(0x56, STR_00FC_FOREST),
|
||||
MK(0x0A, STR_0106_PAPER_MILL),
|
||||
MK(0xBF, STR_00FE_OIL_REFINERY),
|
||||
MK(0x37, STR_0108_FOOD_PROCESSING_PLANT),
|
||||
MS(0x30, STR_00FF_FARM),
|
||||
|
||||
MK(0xAE,STR_0101_PRINTING_WORKS),
|
||||
MK(0x98,STR_0102_OIL_WELLS),
|
||||
MK(0xC2,STR_0107_GOLD_MINE),
|
||||
MK(0x0F,STR_0105_BANK),
|
||||
MK(0xAE, STR_0101_PRINTING_WORKS),
|
||||
MK(0x98, STR_0102_OIL_WELLS),
|
||||
MK(0xC2, STR_0107_GOLD_MINE),
|
||||
MK(0x0F, STR_0105_BANK),
|
||||
MKEND()
|
||||
};
|
||||
|
||||
static const uint16 _legend_industries_desert[] = {
|
||||
MK(0xBF,STR_00FE_OIL_REFINERY),
|
||||
MK(0x98,STR_0102_OIL_WELLS),
|
||||
MK(0x0F,STR_0105_BANK),
|
||||
MK(0xB8,STR_0109_DIAMOND_MINE),
|
||||
MK(0x37,STR_0108_FOOD_PROCESSING_PLANT),
|
||||
MK(0x0A,STR_010A_COPPER_ORE_MINE),
|
||||
MK(0x30,STR_00FF_FARM),
|
||||
MS(0x56,STR_010B_FRUIT_PLANTATION),
|
||||
MK(0xBF, STR_00FE_OIL_REFINERY),
|
||||
MK(0x98, STR_0102_OIL_WELLS),
|
||||
MK(0x0F, STR_0105_BANK),
|
||||
MK(0xB8, STR_0109_DIAMOND_MINE),
|
||||
MK(0x37, STR_0108_FOOD_PROCESSING_PLANT),
|
||||
MK(0x0A, STR_010A_COPPER_ORE_MINE),
|
||||
MK(0x30, STR_00FF_FARM),
|
||||
MS(0x56, STR_010B_FRUIT_PLANTATION),
|
||||
|
||||
MK(0x27,STR_010C_RUBBER_PLANTATION),
|
||||
MK(0x25,STR_010D_WATER_SUPPLY),
|
||||
MK(0xD0,STR_010E_WATER_TOWER),
|
||||
MK(0xAE,STR_0100_FACTORY),
|
||||
MK(0xC2,STR_010F_LUMBER_MILL),
|
||||
MK(0x27, STR_010C_RUBBER_PLANTATION),
|
||||
MK(0x25, STR_010D_WATER_SUPPLY),
|
||||
MK(0xD0, STR_010E_WATER_TOWER),
|
||||
MK(0xAE, STR_0100_FACTORY),
|
||||
MK(0xC2, STR_010F_LUMBER_MILL),
|
||||
MKEND()
|
||||
};
|
||||
|
||||
static const uint16 _legend_industries_candy[] = {
|
||||
MK(0x30,STR_0110_COTTON_CANDY_FOREST),
|
||||
MK(0xAE,STR_0111_CANDY_FACTORY),
|
||||
MK(0x27,STR_0112_BATTERY_FARM),
|
||||
MK(0x37,STR_0113_COLA_WELLS),
|
||||
MK(0xD0,STR_0114_TOY_SHOP),
|
||||
MK(0x0A,STR_0115_TOY_FACTORY),
|
||||
MS(0x25,STR_0116_PLASTIC_FOUNTAINS),
|
||||
MK(0x30, STR_0110_COTTON_CANDY_FOREST),
|
||||
MK(0xAE, STR_0111_CANDY_FACTORY),
|
||||
MK(0x27, STR_0112_BATTERY_FARM),
|
||||
MK(0x37, STR_0113_COLA_WELLS),
|
||||
MK(0xD0, STR_0114_TOY_SHOP),
|
||||
MK(0x0A, STR_0115_TOY_FACTORY),
|
||||
MS(0x25, STR_0116_PLASTIC_FOUNTAINS),
|
||||
|
||||
MK(0xB8,STR_0117_FIZZY_DRINK_FACTORY),
|
||||
MK(0x98,STR_0118_BUBBLE_GENERATOR),
|
||||
MK(0xC2,STR_0119_TOFFEE_QUARRY),
|
||||
MK(0x0F,STR_011A_SUGAR_MINE),
|
||||
MK(0xB8, STR_0117_FIZZY_DRINK_FACTORY),
|
||||
MK(0x98, STR_0118_BUBBLE_GENERATOR),
|
||||
MK(0xC2, STR_0119_TOFFEE_QUARRY),
|
||||
MK(0x0F, STR_011A_SUGAR_MINE),
|
||||
MKEND()
|
||||
};
|
||||
|
||||
static const uint16 _legend_routes[] = {
|
||||
MK(0xD7,STR_00EB_ROADS),
|
||||
MK(0x0A,STR_00EC_RAILROADS),
|
||||
MK(0xB5,STR_00EE_BUILDINGS_INDUSTRIES),
|
||||
MS(0x56,STR_011B_RAILROAD_STATION),
|
||||
MK(0xD7, STR_00EB_ROADS),
|
||||
MK(0x0A, STR_00EC_RAILROADS),
|
||||
MK(0xB5, STR_00EE_BUILDINGS_INDUSTRIES),
|
||||
MS(0x56, STR_011B_RAILROAD_STATION),
|
||||
|
||||
MK(0xC2,STR_011C_TRUCK_LOADING_BAY),
|
||||
MK(0xBF,STR_011D_BUS_STATION),
|
||||
MK(0xB8,STR_011E_AIRPORT_HELIPORT),
|
||||
MK(0x98,STR_011F_DOCK),
|
||||
MK(0xC2, STR_011C_TRUCK_LOADING_BAY),
|
||||
MK(0xBF, STR_011D_BUS_STATION),
|
||||
MK(0xB8, STR_011E_AIRPORT_HELIPORT),
|
||||
MK(0x98, STR_011F_DOCK),
|
||||
MKEND()
|
||||
};
|
||||
|
||||
static const uint16 _legend_vegetation[] = {
|
||||
MK(0x52,STR_0120_ROUGH_LAND),
|
||||
MK(0x54,STR_0121_GRASS_LAND),
|
||||
MK(0x37,STR_0122_BARE_LAND),
|
||||
MK(0x25,STR_0123_FIELDS),
|
||||
MK(0x57,STR_0124_TREES),
|
||||
MK(0xD0,STR_00FC_FOREST),
|
||||
MS(0x0A,STR_0125_ROCKS),
|
||||
MK(0x52, STR_0120_ROUGH_LAND),
|
||||
MK(0x54, STR_0121_GRASS_LAND),
|
||||
MK(0x37, STR_0122_BARE_LAND),
|
||||
MK(0x25, STR_0123_FIELDS),
|
||||
MK(0x57, STR_0124_TREES),
|
||||
MK(0xD0, STR_00FC_FOREST),
|
||||
MS(0x0A, STR_0125_ROCKS),
|
||||
|
||||
MK(0xC2,STR_012A_DESERT),
|
||||
MK(0x98,STR_012B_SNOW),
|
||||
MK(0xD7,STR_00F9_TRANSPORT_ROUTES),
|
||||
MK(0xB5,STR_00EE_BUILDINGS_INDUSTRIES),
|
||||
MK(0xC2, STR_012A_DESERT),
|
||||
MK(0x98, STR_012B_SNOW),
|
||||
MK(0xD7, STR_00F9_TRANSPORT_ROUTES),
|
||||
MK(0xB5, STR_00EE_BUILDINGS_INDUSTRIES),
|
||||
MKEND()
|
||||
};
|
||||
|
||||
static const uint16 _legend_land_owners[] = {
|
||||
MK(0xCA,STR_0126_WATER),
|
||||
MK(0x54,STR_0127_NO_OWNER),
|
||||
MK(0xB4,STR_0128_TOWNS),
|
||||
MK(0x20,STR_0129_INDUSTRIES),
|
||||
MK(0xCA, STR_0126_WATER),
|
||||
MK(0x54, STR_0127_NO_OWNER),
|
||||
MK(0xB4, STR_0128_TOWNS),
|
||||
MK(0x20, STR_0129_INDUSTRIES),
|
||||
MKEND()
|
||||
};
|
||||
#undef MK
|
||||
|
@ -269,48 +269,48 @@ static inline uint32 ApplyMask(uint32 colour, const AndOr *mask)
|
|||
|
||||
|
||||
static const AndOr _smallmap_contours_andor[] = {
|
||||
{MKCOLOR(0x00000000),MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x000A0A00),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00D7D700),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00B5B500),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00000000),MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x98989898),MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0xCACACACA),MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0x00000000),MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0xB5B5B5B5),MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0x00000000),MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x00B5B500),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x000A0A00),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00000000), MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x000A0A00), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00D7D700), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00B5B500), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00000000), MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x98989898), MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0xCACACACA), MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0x00000000), MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0xB5B5B5B5), MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0x00000000), MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x00B5B500), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x000A0A00), MKCOLOR(0xFF0000FF)},
|
||||
};
|
||||
|
||||
static const AndOr _smallmap_vehicles_andor[] = {
|
||||
{MKCOLOR(0x00000000),MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x00D7D700),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00D7D700),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00B5B500),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00000000),MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x00D7D700),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0xCACACACA),MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0x00000000),MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0xB5B5B5B5),MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0x00000000),MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x00B5B500),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00D7D700),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00000000), MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x00D7D700), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00D7D700), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00B5B500), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00000000), MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x00D7D700), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0xCACACACA), MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0x00000000), MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0xB5B5B5B5), MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0x00000000), MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x00B5B500), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00D7D700), MKCOLOR(0xFF0000FF)},
|
||||
};
|
||||
|
||||
static const AndOr _smallmap_vegetation_andor[] = {
|
||||
{MKCOLOR(0x00000000),MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x00D7D700),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00D7D700),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00B5B500),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00575700),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00D7D700),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0xCACACACA),MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0x00000000),MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0xB5B5B5B5),MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0x00000000),MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x00B5B500),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00D7D700),MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00000000), MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x00D7D700), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00D7D700), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00B5B500), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00575700), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00D7D700), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0xCACACACA), MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0x00000000), MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0xB5B5B5B5), MKCOLOR(0x00000000)},
|
||||
{MKCOLOR(0x00000000), MKCOLOR(0xFFFFFFFF)},
|
||||
{MKCOLOR(0x00B5B500), MKCOLOR(0xFF0000FF)},
|
||||
{MKCOLOR(0x00D7D700), MKCOLOR(0xFF0000FF)},
|
||||
};
|
||||
|
||||
typedef uint32 GetSmallMapPixels(TileIndex tile); // typedef callthrough function
|
||||
|
@ -393,28 +393,28 @@ static inline uint32 GetSmallMapVehiclesPixels(TileIndex tile)
|
|||
|
||||
/* Industry colours... a total of 175 gfx - XXX - increase if more industries */
|
||||
static const byte _industry_smallmap_colors[175] = {
|
||||
215,215,215,215,215,215,215,184,
|
||||
184,184,184,194,194,194,194,194,
|
||||
86, 86,191,191,191,191,191,191,
|
||||
152,152,152,152,152,152,152,152,
|
||||
152, 48, 48, 48, 48, 48, 48,174,
|
||||
174,174,174,174,174,174,174, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 15, 15, 55, 55, 55, 55,
|
||||
10, 10, 10, 10, 10, 10, 10, 10,
|
||||
194,194,194,194,194,194,194,194,
|
||||
194,194,194,194,194,194,194,194,
|
||||
194, 15, 15,184,184,184,184,184,
|
||||
184,184,184,184, 55, 55, 55, 55,
|
||||
55, 55, 55, 55, 55, 55, 55, 55,
|
||||
55, 55, 55, 55, 86, 39, 37, 37,
|
||||
208,174,174,174,174,194,194,194,
|
||||
194, 48, 48,174,174,174,174, 39,
|
||||
39, 55,208,208,208,208, 10, 10,
|
||||
10, 10, 10, 10, 37, 37, 37, 37,
|
||||
37, 37, 37, 37,184,184,184,184,
|
||||
152,152,152,152,194,194,194, 15,
|
||||
15, 15, 15, 15, 15, 15, 15,
|
||||
215, 215, 215, 215, 215, 215, 215, 184,
|
||||
184, 184, 184, 194, 194, 194, 194, 194,
|
||||
86, 86, 191, 191, 191, 191, 191, 191,
|
||||
152, 152, 152, 152, 152, 152, 152, 152,
|
||||
152, 48, 48, 48, 48, 48, 48, 174,
|
||||
174, 174, 174, 174, 174, 174, 174, 10,
|
||||
10, 10, 10, 10, 10, 10, 10, 10,
|
||||
10, 10, 15, 15, 55, 55, 55, 55,
|
||||
10, 10, 10, 10, 10, 10, 10, 10,
|
||||
194, 194, 194, 194, 194, 194, 194, 194,
|
||||
194, 194, 194, 194, 194, 194, 194, 194,
|
||||
194, 15, 15, 184, 184, 184, 184, 184,
|
||||
184, 184, 184, 184, 55, 55, 55, 55,
|
||||
55, 55, 55, 55, 55, 55, 55, 55,
|
||||
55, 55, 55, 55, 86, 39, 37, 37,
|
||||
208, 174, 174, 174, 174, 194, 194, 194,
|
||||
194, 48, 48, 174, 174, 174, 174, 39,
|
||||
39, 55, 208, 208, 208, 208, 10, 10,
|
||||
10, 10, 10, 10, 37, 37, 37, 37,
|
||||
37, 37, 37, 37, 184, 184, 184, 184,
|
||||
152, 152, 152, 152, 194, 194, 194, 15,
|
||||
15, 15, 15, 15, 15, 15, 15,
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -998,18 +998,18 @@ void ShowSmallMap(void)
|
|||
|
||||
/* Extra ViewPort Window Stuff */
|
||||
static const Widget _extra_view_port_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 287, 0, 13, STR_EXTRA_VIEW_PORT_TITLE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 288, 299, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_RB, 14, 0, 299, 14, 233, 0x0, STR_NULL},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 297, 16, 231, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 0, 21, 234, 255, 0x2DF, STR_017F_ZOOM_THE_VIEW_IN},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 22, 43, 234, 255, 0x2E0, STR_0180_ZOOM_THE_VIEW_OUT},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 44, 171, 234, 255, STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW,STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 172, 298, 234, 255, STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN,STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 299, 299, 234, 255, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 0, 287, 256, 267, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 288, 299, 256, 267, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 287, 0, 13, STR_EXTRA_VIEW_PORT_TITLE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 288, 299, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_RB, 14, 0, 299, 14, 233, 0x0, STR_NULL},
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 297, 16, 231, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 0, 21, 234, 255, 0x2DF, STR_017F_ZOOM_THE_VIEW_IN},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 22, 43, 234, 255, 0x2E0, STR_0180_ZOOM_THE_VIEW_OUT},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 44, 171, 234, 255, STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW, STR_EXTRA_VIEW_MOVE_MAIN_TO_VIEW_TT},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 172, 298, 234, 255, STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN, STR_EXTRA_VIEW_MOVE_VIEW_TO_MAIN_TT},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 299, 299, 234, 255, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 0, 287, 256, 267, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 288, 299, 256, 267, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
|
@ -385,7 +385,7 @@ static void* AllocSprite(size_t mem_req)
|
|||
|
||||
static uint RotateSprite(uint s)
|
||||
{
|
||||
static const byte _rotate_tile_sprite[19] = { 0,2,4,6,8,10,12,14,1,3,5,7,9,11,13,17,18,16,15 };
|
||||
static const byte _rotate_tile_sprite[19] = { 0, 2, 4, 6, 8, 10, 12, 14, 1, 3, 5, 7, 9, 11, 13, 17, 18, 16, 15 };
|
||||
static const byte _coast_map[9] = {0, 4, 3, 1, 2, 6, 8, 5, 7};
|
||||
static const byte _fence_map[6] = {1, 0, 5, 4, 3, 2};
|
||||
|
||||
|
@ -399,7 +399,7 @@ static uint RotateSprite(uint s)
|
|||
X19(4000)
|
||||
X19(4023)
|
||||
X19(4042)
|
||||
MAP(4061,4069,_coast_map)
|
||||
MAP(4061, 4069, _coast_map)
|
||||
X19(4126)
|
||||
X19(4145)
|
||||
X19(4164)
|
||||
|
|
38
station.h
38
station.h
|
@ -98,15 +98,15 @@ struct Station {
|
|||
};
|
||||
|
||||
enum {
|
||||
FACIL_TRAIN = 1,
|
||||
FACIL_TRUCK_STOP = 2,
|
||||
FACIL_BUS_STOP = 4,
|
||||
FACIL_AIRPORT = 8,
|
||||
FACIL_DOCK = 0x10,
|
||||
FACIL_TRAIN = 0x01,
|
||||
FACIL_TRUCK_STOP = 0x02,
|
||||
FACIL_BUS_STOP = 0x04,
|
||||
FACIL_AIRPORT = 0x08,
|
||||
FACIL_DOCK = 0x10,
|
||||
};
|
||||
|
||||
enum {
|
||||
// HVOT_PENDING_DELETE = 1<<0, // not needed anymore
|
||||
// HVOT_PENDING_DELETE = 1 << 0, // not needed anymore
|
||||
HVOT_TRAIN = 1 << 1,
|
||||
HVOT_BUS = 1 << 2,
|
||||
HVOT_TRUCK = 1 << 3,
|
||||
|
@ -118,20 +118,20 @@ enum {
|
|||
};
|
||||
|
||||
enum {
|
||||
CA_BUS = 3,
|
||||
CA_TRUCK = 3,
|
||||
CA_AIR_OILPAD = 3,
|
||||
CA_TRAIN = 4,
|
||||
CA_AIR_HELIPORT = 4,
|
||||
CA_AIR_SMALL = 4,
|
||||
CA_AIR_LARGE = 5,
|
||||
CA_DOCK = 5,
|
||||
CA_AIR_METRO = 6,
|
||||
CA_AIR_INTER = 8,
|
||||
CA_AIR_COMMUTER = 4,
|
||||
CA_AIR_HELIDEPOT = 4,
|
||||
CA_BUS = 3,
|
||||
CA_TRUCK = 3,
|
||||
CA_AIR_OILPAD = 3,
|
||||
CA_TRAIN = 4,
|
||||
CA_AIR_HELIPORT = 4,
|
||||
CA_AIR_SMALL = 4,
|
||||
CA_AIR_LARGE = 5,
|
||||
CA_DOCK = 5,
|
||||
CA_AIR_METRO = 6,
|
||||
CA_AIR_INTER = 8,
|
||||
CA_AIR_COMMUTER = 4,
|
||||
CA_AIR_HELIDEPOT = 4,
|
||||
CA_AIR_INTERCON = 10,
|
||||
CA_AIR_HELISTATION = 4,
|
||||
CA_AIR_HELISTATION = 4,
|
||||
};
|
||||
|
||||
void ModifyStationRatingAround(TileIndex tile, PlayerID owner, int amount, uint radius);
|
||||
|
|
|
@ -1901,8 +1901,8 @@ static const TileIndexDiffC _dock_tileoffs_chkaround[] = {
|
|||
{ 0, 0},
|
||||
{ 0, -1}
|
||||
};
|
||||
static const byte _dock_w_chk[4] = { 2,1,2,1 };
|
||||
static const byte _dock_h_chk[4] = { 1,2,1,2 };
|
||||
static const byte _dock_w_chk[4] = { 2, 1, 2, 1 };
|
||||
static const byte _dock_h_chk[4] = { 1, 2, 1, 2 };
|
||||
|
||||
/** Build a dock/haven.
|
||||
* @param tile tile where dock will be built
|
||||
|
@ -2961,58 +2961,58 @@ static const SaveLoad _roadstop_desc[] = {
|
|||
};
|
||||
|
||||
static const SaveLoad _station_desc[] = {
|
||||
SLE_CONDVAR(Station, xy, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Station, xy, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station, bus_tile_obsolete, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Station, lorry_tile_obsolete, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Station, train_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Station, train_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station, airport_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Station, airport_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station, dock_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Station, dock_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_REF(Station, town, REF_TOWN),
|
||||
SLE_VAR(Station, trainst_w, SLE_UINT8),
|
||||
SLE_CONDVAR(Station, trainst_h, SLE_UINT8, 2, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station, xy, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Station, xy, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station, bus_tile_obsolete, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Station, lorry_tile_obsolete, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Station, train_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Station, train_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station, airport_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Station, airport_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station, dock_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Station, dock_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_REF(Station, town, REF_TOWN),
|
||||
SLE_VAR(Station, trainst_w, SLE_UINT8),
|
||||
SLE_CONDVAR(Station, trainst_h, SLE_UINT8, 2, SL_MAX_VERSION),
|
||||
|
||||
// alpha_order was stored here in savegame format 0 - 3
|
||||
SLE_CONDNULL(1, 0, 3),
|
||||
|
||||
SLE_VAR(Station,string_id, SLE_STRINGID),
|
||||
SLE_VAR(Station,had_vehicle_of_type,SLE_UINT16),
|
||||
SLE_VAR(Station, string_id, SLE_STRINGID),
|
||||
SLE_VAR(Station, had_vehicle_of_type, SLE_UINT16),
|
||||
|
||||
SLE_VAR(Station,time_since_load, SLE_UINT8),
|
||||
SLE_VAR(Station,time_since_unload, SLE_UINT8),
|
||||
SLE_VAR(Station,delete_ctr, SLE_UINT8),
|
||||
SLE_VAR(Station,owner, SLE_UINT8),
|
||||
SLE_VAR(Station,facilities, SLE_UINT8),
|
||||
SLE_VAR(Station,airport_type, SLE_UINT8),
|
||||
SLE_VAR(Station, time_since_load, SLE_UINT8),
|
||||
SLE_VAR(Station, time_since_unload, SLE_UINT8),
|
||||
SLE_VAR(Station, delete_ctr, SLE_UINT8),
|
||||
SLE_VAR(Station, owner, SLE_UINT8),
|
||||
SLE_VAR(Station, facilities, SLE_UINT8),
|
||||
SLE_VAR(Station, airport_type, SLE_UINT8),
|
||||
|
||||
// truck/bus_stop_status was stored here in savegame format 0 - 6
|
||||
SLE_CONDVAR(Station,truck_stop_status_obsolete, SLE_UINT8, 0, 5),
|
||||
SLE_CONDVAR(Station,bus_stop_status_obsolete, SLE_UINT8, 0, 5),
|
||||
SLE_CONDVAR(Station, truck_stop_status_obsolete, SLE_UINT8, 0, 5),
|
||||
SLE_CONDVAR(Station, bus_stop_status_obsolete, SLE_UINT8, 0, 5),
|
||||
|
||||
// blocked_months was stored here in savegame format 0 - 4.0
|
||||
SLE_CONDVAR(Station,blocked_months_obsolete, SLE_UINT8, 0, 4),
|
||||
SLE_CONDVAR(Station, blocked_months_obsolete, SLE_UINT8, 0, 4),
|
||||
|
||||
SLE_CONDVAR(Station,airport_flags, SLE_VAR_U32 | SLE_FILE_U16, 0, 2),
|
||||
SLE_CONDVAR(Station,airport_flags, SLE_UINT32, 3, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station, airport_flags, SLE_VAR_U32 | SLE_FILE_U16, 0, 2),
|
||||
SLE_CONDVAR(Station, airport_flags, SLE_UINT32, 3, SL_MAX_VERSION),
|
||||
|
||||
SLE_CONDNULL(2, 0, 25), /* Ex last-vehicle */
|
||||
SLE_CONDVAR(Station,last_vehicle_type, SLE_UINT8 , 26, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station, last_vehicle_type, SLE_UINT8, 26, SL_MAX_VERSION),
|
||||
|
||||
// Was custom station class and id
|
||||
SLE_CONDNULL(2, 3, 25),
|
||||
SLE_CONDVAR(Station,build_date, SLE_FILE_U16 | SLE_VAR_I32, 3, 30),
|
||||
SLE_CONDVAR(Station,build_date, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station, build_date, SLE_FILE_U16 | SLE_VAR_I32, 3, 30),
|
||||
SLE_CONDVAR(Station, build_date, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
|
||||
SLE_CONDREF(Station,bus_stops, REF_ROADSTOPS, 6, SL_MAX_VERSION),
|
||||
SLE_CONDREF(Station,truck_stops, REF_ROADSTOPS, 6, SL_MAX_VERSION),
|
||||
SLE_CONDREF(Station, bus_stops, REF_ROADSTOPS, 6, SL_MAX_VERSION),
|
||||
SLE_CONDREF(Station, truck_stops, REF_ROADSTOPS, 6, SL_MAX_VERSION),
|
||||
|
||||
/* Used by newstations for graphic variations */
|
||||
SLE_CONDVAR(Station,random_bits, SLE_UINT16, 27, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station,waiting_triggers, SLE_UINT8, 27, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station,num_specs, SLE_UINT8, 27, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station, random_bits, SLE_UINT16, 27, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station, waiting_triggers, SLE_UINT8, 27, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Station, num_specs, SLE_UINT8, 27, SL_MAX_VERSION),
|
||||
|
||||
// reserve extra space in savegame here. (currently 32 bytes)
|
||||
SLE_CONDNULL(32, 2, SL_MAX_VERSION),
|
||||
|
@ -3021,15 +3021,15 @@ static const SaveLoad _station_desc[] = {
|
|||
};
|
||||
|
||||
static const SaveLoad _goods_desc[] = {
|
||||
SLE_VAR(GoodsEntry,waiting_acceptance, SLE_UINT16),
|
||||
SLE_VAR(GoodsEntry,days_since_pickup, SLE_UINT8),
|
||||
SLE_VAR(GoodsEntry,rating, SLE_UINT8),
|
||||
SLE_CONDVAR(GoodsEntry,enroute_from, SLE_FILE_U8 | SLE_VAR_U16, 0, 6),
|
||||
SLE_CONDVAR(GoodsEntry,enroute_from, SLE_UINT16, 7, SL_MAX_VERSION),
|
||||
SLE_VAR(GoodsEntry,enroute_time, SLE_UINT8),
|
||||
SLE_VAR(GoodsEntry,last_speed, SLE_UINT8),
|
||||
SLE_VAR(GoodsEntry,last_age, SLE_UINT8),
|
||||
SLE_CONDVAR(GoodsEntry,feeder_profit, SLE_INT32, 14, SL_MAX_VERSION),
|
||||
SLE_VAR(GoodsEntry, waiting_acceptance, SLE_UINT16),
|
||||
SLE_VAR(GoodsEntry, days_since_pickup, SLE_UINT8),
|
||||
SLE_VAR(GoodsEntry, rating, SLE_UINT8),
|
||||
SLE_CONDVAR(GoodsEntry, enroute_from, SLE_FILE_U8 | SLE_VAR_U16, 0, 6),
|
||||
SLE_CONDVAR(GoodsEntry, enroute_from, SLE_UINT16, 7, SL_MAX_VERSION),
|
||||
SLE_VAR(GoodsEntry, enroute_time, SLE_UINT8),
|
||||
SLE_VAR(GoodsEntry, last_speed, SLE_UINT8),
|
||||
SLE_VAR(GoodsEntry, last_age, SLE_UINT8),
|
||||
SLE_CONDVAR(GoodsEntry, feeder_profit, SLE_INT32, 14, SL_MAX_VERSION),
|
||||
|
||||
SLE_END()
|
||||
};
|
||||
|
|
|
@ -430,37 +430,37 @@ static const Widget _player_stations_widgets[] = {
|
|||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 346, 357, 25, 149, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 346, 357, 150, 161, 0x0, STR_RESIZE_BUTTON},
|
||||
//Index 6
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 0, 13, 14, 24, STR_TRAIN, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 14, 27, 14, 24, STR_LORRY, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 28, 41, 14, 24, STR_BUS, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 42, 55, 14, 24, STR_PLANE, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 56, 69, 14, 24, STR_SHIP, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 0, 13, 14, 24, STR_TRAIN, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 14, 27, 14, 24, STR_LORRY, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 28, 41, 14, 24, STR_BUS, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 42, 55, 14, 24, STR_PLANE, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 56, 69, 14, 24, STR_SHIP, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
//Index 11
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 83, 88, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 89, 102, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 103, 116, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 117, 130, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 131, 144, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 145, 158, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 159, 172, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 173, 186, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 187, 200, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 201, 214, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 215, 228, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 229, 242, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 243, 256, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 257, 270, 14, 24, 0x0, STR_NO_WAITING_CARGO},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 285, 357, 14, 24, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 83, 88, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 89, 102, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 103, 116, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 117, 130, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 131, 144, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 145, 158, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 159, 172, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 173, 186, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 187, 200, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 201, 214, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 215, 228, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 229, 242, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 243, 256, 14, 24, 0x0, STR_USE_CTRL_TO_SELECT_MORE},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 257, 270, 14, 24, 0x0, STR_NO_WAITING_CARGO},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 285, 357, 14, 24, 0x0, STR_NULL},
|
||||
|
||||
//26
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 70, 83, 14, 24, 0x0, STR_SELECT_ALL_FACILITIES},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 271, 284, 14, 24, 0x0, STR_SELECT_ALL_TYPES},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 70, 83, 14, 24, 0x0, STR_SELECT_ALL_FACILITIES},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 271, 284, 14, 24, 0x0, STR_SELECT_ALL_TYPES},
|
||||
|
||||
//28
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 25, 36, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 232, 25, 36, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 233, 243, 25, 36, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 244, 345, 25, 36, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 25, 36, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 232, 25, 36, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 233, 243, 25, 36, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 244, 345, 25, 36, 0x0, STR_NULL},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
|
@ -34,13 +34,13 @@ typedef void (*ParseCmdProc)(char *buf, int value);
|
|||
|
||||
typedef struct LanguagePackHeader {
|
||||
uint32 ident;
|
||||
uint32 version; // 32-bits of auto generated version info which is basically a hash of strings.h
|
||||
char name[32]; // the international name of this language
|
||||
uint32 version; // 32-bits of auto generated version info which is basically a hash of strings.h
|
||||
char name[32]; // the international name of this language
|
||||
char own_name[32]; // the localized name of this language
|
||||
char isocode[16]; // the ISO code for the language (not country code)
|
||||
uint16 offsets[32]; // the offsets
|
||||
byte plural_form; // plural form index
|
||||
byte pad[3]; // pad header to be a multiple of 4
|
||||
char isocode[16]; // the ISO code for the language (not country code)
|
||||
uint16 offsets[32]; // the offsets
|
||||
byte plural_form; // plural form index
|
||||
byte pad[3]; // pad header to be a multiple of 4
|
||||
} LanguagePackHeader;
|
||||
|
||||
typedef struct CmdStruct {
|
||||
|
@ -53,7 +53,7 @@ typedef struct CmdStruct {
|
|||
|
||||
enum {
|
||||
C_DONTCOUNT = 1,
|
||||
C_CASE = 2,
|
||||
C_CASE = 2,
|
||||
};
|
||||
|
||||
|
||||
|
@ -70,14 +70,14 @@ static int _cur_line;
|
|||
static int _errors, _warnings;
|
||||
|
||||
typedef struct LangString {
|
||||
char *name; // Name of the string
|
||||
char *english; // English text
|
||||
char *translated; // Translated text
|
||||
uint16 hash_next; // next hash entry
|
||||
char *name; // Name of the string
|
||||
char *english; // English text
|
||||
char *translated; // Translated text
|
||||
uint16 hash_next; // next hash entry
|
||||
uint16 index;
|
||||
int line; // line of string in source-file
|
||||
Case *english_case; // cases for english
|
||||
Case *translated_case; // cases for foreign
|
||||
int line; // line of string in source-file
|
||||
Case *english_case; // cases for english
|
||||
Case *translated_case; // cases for foreign
|
||||
} LangString;
|
||||
|
||||
static LangString *_strings[65536];
|
||||
|
@ -103,7 +103,7 @@ static char _cases[MAX_NUM_CASES][16];
|
|||
static int _numcases;
|
||||
|
||||
// for each plural value, this is the number of plural forms.
|
||||
static const byte _plural_form_counts[] = { 2,1,2,3,3,3,3,3,4 };
|
||||
static const byte _plural_form_counts[] = { 2, 1, 2, 3, 3, 3, 3, 3, 4 };
|
||||
|
||||
static const char *_cur_ident;
|
||||
|
||||
|
|
396
table/ai_rail.h
396
table/ai_rail.h
|
@ -29,296 +29,296 @@ typedef struct {
|
|||
#define MKEND {4, 0, {0, 0}}}
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_0 = {
|
||||
MKHDR(1,2,1,0,1)
|
||||
MKDEPOT(2, -1,1),
|
||||
MKSTATION(0x15, 0,-1),
|
||||
MKRAIL(0x26, 0,1),
|
||||
MKCLRRAIL(1, 0,2),
|
||||
MKHDR(1, 2, 1, 0, 1)
|
||||
MKDEPOT(2, -1, 1),
|
||||
MKSTATION(0x15, 0, -1),
|
||||
MKRAIL(0x26, 0, 1),
|
||||
MKCLRRAIL(1, 0, 2),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_1 = {
|
||||
MKHDR(1,2,1,0,3)
|
||||
MKDEPOT(2, -1,-1),
|
||||
MKRAIL(0x26, 0,-1),
|
||||
MKSTATION(0x15, 0,0),
|
||||
MKCLRRAIL(3, 0,-2),
|
||||
MKHDR(1, 2, 1, 0, 3)
|
||||
MKDEPOT(2, -1, -1),
|
||||
MKRAIL(0x26, 0, -1),
|
||||
MKSTATION(0x15, 0, 0),
|
||||
MKCLRRAIL(3, 0, -2),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_2 = {
|
||||
MKHDR(1,2,1,0,0)
|
||||
MKDEPOT(1, -1,-1),
|
||||
MKRAIL(0x15, -1,0),
|
||||
MKSTATION(0x14, 0,0),
|
||||
MKCLRRAIL(0, -2,0),
|
||||
MKHDR(1, 2, 1, 0, 0)
|
||||
MKDEPOT(1, -1, -1),
|
||||
MKRAIL(0x15, -1, 0),
|
||||
MKSTATION(0x14, 0, 0),
|
||||
MKCLRRAIL(0, -2, 0),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_3 = {
|
||||
MKHDR(1,2,1,0,2)
|
||||
MKDEPOT(1, 1,-1),
|
||||
MKRAIL(0x15, 1,0),
|
||||
MKSTATION(0x14, -1,0),
|
||||
MKCLRRAIL(2, 2,0),
|
||||
MKHDR(1, 2, 1, 0, 2)
|
||||
MKDEPOT(1, 1, -1),
|
||||
MKRAIL(0x15, 1, 0),
|
||||
MKSTATION(0x14, -1, 0),
|
||||
MKCLRRAIL(2, 2, 0),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_4 = {
|
||||
MKHDR(1,2,2,0,255)
|
||||
MKSTATION(0x15, 0,0),
|
||||
MKCLRRAIL(3, 0,-1),
|
||||
MKCLRRAIL(1, 0,2),
|
||||
MKHDR(1, 2, 2, 0, 255)
|
||||
MKSTATION(0x15, 0, 0),
|
||||
MKCLRRAIL(3, 0, -1),
|
||||
MKCLRRAIL(1, 0, 2),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_5 = {
|
||||
MKHDR(1,2,2,0,255)
|
||||
MKSTATION(0x14, 0,0),
|
||||
MKCLRRAIL(0, -1,0),
|
||||
MKCLRRAIL(2, 2,0),
|
||||
MKHDR(1, 2, 2, 0, 255)
|
||||
MKSTATION(0x14, 0, 0),
|
||||
MKCLRRAIL(0, -1, 0),
|
||||
MKCLRRAIL(2, 2, 0),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_6 = {
|
||||
MKHDR(2,3,1,0,1)
|
||||
MKSTATION(0x27, 0,-2),
|
||||
MKRAIL(0xC2, 0,1),
|
||||
MKRAIL(0xC2, 1,1),
|
||||
MKRAIL(0x1A, 0,2),
|
||||
MKRAIL(0x26, 1,2),
|
||||
MKDEPOT(3, 1,3),
|
||||
MKCLRRAIL(1, 0,3),
|
||||
MKHDR(2, 3, 1, 0, 1)
|
||||
MKSTATION(0x27, 0, -2),
|
||||
MKRAIL(0xC2, 0, 1),
|
||||
MKRAIL(0xC2, 1, 1),
|
||||
MKRAIL(0x1A, 0, 2),
|
||||
MKRAIL(0x26, 1, 2),
|
||||
MKDEPOT(3, 1, 3),
|
||||
MKCLRRAIL(1, 0, 3),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_7 = {
|
||||
MKHDR(2,3,1,0,3)
|
||||
MKDEPOT(1, 0,-3),
|
||||
MKRAIL(0x1A, 0,-2),
|
||||
MKRAIL(0x26, 1,-2),
|
||||
MKRAIL(0xC2, 0,-1),
|
||||
MKRAIL(0xC2, 1,-1),
|
||||
MKSTATION(0x27, 0,0),
|
||||
MKCLRRAIL(3, 1,-3),
|
||||
MKHDR(2, 3, 1, 0, 3)
|
||||
MKDEPOT(1, 0, -3),
|
||||
MKRAIL(0x1A, 0, -2),
|
||||
MKRAIL(0x26, 1, -2),
|
||||
MKRAIL(0xC2, 0, -1),
|
||||
MKRAIL(0xC2, 1, -1),
|
||||
MKSTATION(0x27, 0, 0),
|
||||
MKCLRRAIL(3, 1, -3),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_8 = {
|
||||
MKHDR(2,3,1,0,2)
|
||||
MKSTATION(0x26, -2,0),
|
||||
MKRAIL(0xC1, 1,0),
|
||||
MKRAIL(0xC1, 1,1),
|
||||
MKRAIL(0x29, 2,0),
|
||||
MKRAIL(0x15, 2,1),
|
||||
MKDEPOT(0, 3,0),
|
||||
MKCLRRAIL(2, 3,1),
|
||||
MKHDR(2, 3, 1, 0, 2)
|
||||
MKSTATION(0x26, -2, 0),
|
||||
MKRAIL(0xC1, 1, 0),
|
||||
MKRAIL(0xC1, 1, 1),
|
||||
MKRAIL(0x29, 2, 0),
|
||||
MKRAIL(0x15, 2, 1),
|
||||
MKDEPOT(0, 3, 0),
|
||||
MKCLRRAIL(2, 3, 1),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_9 = {
|
||||
MKHDR(2,3,1,0,0)
|
||||
MKDEPOT(2, -3,-1),
|
||||
MKRAIL(0x29, -2,-1),
|
||||
MKRAIL(0x15, -2,0),
|
||||
MKRAIL(0xC1, -1,-1),
|
||||
MKRAIL(0xC1, -1,0),
|
||||
MKSTATION(0x26, 0,-1),
|
||||
MKCLRRAIL(0, -3,0),
|
||||
MKHDR(2, 3, 1, 0, 0)
|
||||
MKDEPOT(2, -3, -1),
|
||||
MKRAIL(0x29, -2, -1),
|
||||
MKRAIL(0x15, -2, 0),
|
||||
MKRAIL(0xC1, -1, -1),
|
||||
MKRAIL(0xC1, -1, 0),
|
||||
MKSTATION(0x26, 0, -1),
|
||||
MKCLRRAIL(0, -3, 0),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_10 = {
|
||||
MKHDR(2,3,2,0,255)
|
||||
MKRAIL(0x1A, 0,-3),
|
||||
MKRAIL(0x20, 1,-3),
|
||||
MKRAIL(0xC2, 0,-2),
|
||||
MKRAIL(0xC2, 1,-2),
|
||||
MKSTATION(0x27, 0,-1),
|
||||
MKRAIL(0xC2, 0,2),
|
||||
MKRAIL(0xC2, 1,2),
|
||||
MKRAIL(0x1A, 0,3),
|
||||
MKRAIL(0x4, 1,3),
|
||||
MKCLRRAIL(3, 0,-4),
|
||||
MKCLRRAIL(1, 0,4),
|
||||
MKHDR(2, 3, 2, 0, 255)
|
||||
MKRAIL(0x1A, 0, -3),
|
||||
MKRAIL(0x20, 1, -3),
|
||||
MKRAIL(0xC2, 0, -2),
|
||||
MKRAIL(0xC2, 1, -2),
|
||||
MKSTATION(0x27, 0, -1),
|
||||
MKRAIL(0xC2, 0, 2),
|
||||
MKRAIL(0xC2, 1, 2),
|
||||
MKRAIL(0x1A, 0, 3),
|
||||
MKRAIL(0x4, 1, 3),
|
||||
MKCLRRAIL(3, 0, -4),
|
||||
MKCLRRAIL(1, 0, 4),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_11 = {
|
||||
MKHDR(2,3,2,0,255)
|
||||
MKRAIL(0x29, -3,0),
|
||||
MKRAIL(0x10, -3,1),
|
||||
MKRAIL(0xC1, -2,0),
|
||||
MKRAIL(0xC1, -2,1),
|
||||
MKSTATION(0x26, -1,0),
|
||||
MKRAIL(0xC1, 2,0),
|
||||
MKRAIL(0xC1, 2,1),
|
||||
MKRAIL(0x29, 3,0),
|
||||
MKRAIL(0x4, 3,1),
|
||||
MKCLRRAIL(0, -4,0),
|
||||
MKCLRRAIL(2, 4,0),
|
||||
MKHDR(2, 3, 2, 0, 255)
|
||||
MKRAIL(0x29, -3, 0),
|
||||
MKRAIL(0x10, -3, 1),
|
||||
MKRAIL(0xC1, -2, 0),
|
||||
MKRAIL(0xC1, -2, 1),
|
||||
MKSTATION(0x26, -1, 0),
|
||||
MKRAIL(0xC1, 2, 0),
|
||||
MKRAIL(0xC1, 2, 1),
|
||||
MKRAIL(0x29, 3, 0),
|
||||
MKRAIL(0x4, 3, 1),
|
||||
MKCLRRAIL(0, -4, 0),
|
||||
MKCLRRAIL(2, 4, 0),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_12 = {
|
||||
MKHDR(2,3,2,1,3)
|
||||
MKRAIL(0x88, -1,-3),
|
||||
MKRAIL(0x6, 0,-3),
|
||||
MKRAIL(0x2, -1,-2),
|
||||
MKRAIL(0x42, 0,-2),
|
||||
MKRAIL(0x2, -1,-1),
|
||||
MKRAIL(0x2, 0,-1),
|
||||
MKRAIL(0x2, -1,0),
|
||||
MKRAIL(0x2, 0,0),
|
||||
MKRAIL(0x82, -1,1),
|
||||
MKRAIL(0x2, 0,1),
|
||||
MKRAIL(0xA, -1,2),
|
||||
MKRAIL(0x44, 0,2),
|
||||
MKCLRRAIL(3, 0,-4),
|
||||
MKCLRRAIL(1, -1,3),
|
||||
MKHDR(2, 3, 2, 1, 3)
|
||||
MKRAIL(0x88, -1, -3),
|
||||
MKRAIL(0x6, 0, -3),
|
||||
MKRAIL(0x2, -1, -2),
|
||||
MKRAIL(0x42, 0, -2),
|
||||
MKRAIL(0x2, -1, -1),
|
||||
MKRAIL(0x2, 0, -1),
|
||||
MKRAIL(0x2, -1, 0),
|
||||
MKRAIL(0x2, 0, 0),
|
||||
MKRAIL(0x82, -1, 1),
|
||||
MKRAIL(0x2, 0, 1),
|
||||
MKRAIL(0xA, -1, 2),
|
||||
MKRAIL(0x44, 0, 2),
|
||||
MKCLRRAIL(3, 0, -4),
|
||||
MKCLRRAIL(1, -1, 3),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_13 = {
|
||||
MKHDR(2,3,2,1,0)
|
||||
MKRAIL(0x21, -3,0),
|
||||
MKRAIL(0x50, -3,1),
|
||||
MKRAIL(0x81, -2,0),
|
||||
MKRAIL(0x1, -2,1),
|
||||
MKRAIL(0x1, -1,0),
|
||||
MKRAIL(0x1, -1,1),
|
||||
MKRAIL(0x1, 0,0),
|
||||
MKRAIL(0x1, 0,1),
|
||||
MKRAIL(0x1, 1,0),
|
||||
MKRAIL(0x41, 1,1),
|
||||
MKRAIL(0xA0, 2,0),
|
||||
MKRAIL(0x11, 2,1),
|
||||
MKCLRRAIL(0, -4,0),
|
||||
MKCLRRAIL(2, 3,1),
|
||||
MKHDR(2, 3, 2, 1, 0)
|
||||
MKRAIL(0x21, -3, 0),
|
||||
MKRAIL(0x50, -3, 1),
|
||||
MKRAIL(0x81, -2, 0),
|
||||
MKRAIL(0x1, -2, 1),
|
||||
MKRAIL(0x1, -1, 0),
|
||||
MKRAIL(0x1, -1, 1),
|
||||
MKRAIL(0x1, 0, 0),
|
||||
MKRAIL(0x1, 0, 1),
|
||||
MKRAIL(0x1, 1, 0),
|
||||
MKRAIL(0x41, 1, 1),
|
||||
MKRAIL(0xA0, 2, 0),
|
||||
MKRAIL(0x11, 2, 1),
|
||||
MKCLRRAIL(0, -4, 0),
|
||||
MKCLRRAIL(2, 3, 1),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_14 = {
|
||||
MKHDR(2,3,2,1,1)
|
||||
MKRAIL(0x88, -1,-3),
|
||||
MKRAIL(0x6, 0,-3),
|
||||
MKRAIL(0x2, -1,-2),
|
||||
MKRAIL(0x42, 0,-2),
|
||||
MKRAIL(0x2, -1,-1),
|
||||
MKRAIL(0x2, 0,-1),
|
||||
MKRAIL(0x2, -1,0),
|
||||
MKRAIL(0x2, 0,0),
|
||||
MKRAIL(0x82, -1,1),
|
||||
MKRAIL(0x2, 0,1),
|
||||
MKRAIL(0xA, -1,2),
|
||||
MKRAIL(0x44, 0,2),
|
||||
MKCLRRAIL(1, -1,3),
|
||||
MKCLRRAIL(3, 0,-4),
|
||||
MKHDR(2, 3, 2, 1, 1)
|
||||
MKRAIL(0x88, -1, -3),
|
||||
MKRAIL(0x6, 0, -3),
|
||||
MKRAIL(0x2, -1, -2),
|
||||
MKRAIL(0x42, 0, -2),
|
||||
MKRAIL(0x2, -1, -1),
|
||||
MKRAIL(0x2, 0, -1),
|
||||
MKRAIL(0x2, -1, 0),
|
||||
MKRAIL(0x2, 0, 0),
|
||||
MKRAIL(0x82, -1, 1),
|
||||
MKRAIL(0x2, 0, 1),
|
||||
MKRAIL(0xA, -1, 2),
|
||||
MKRAIL(0x44, 0, 2),
|
||||
MKCLRRAIL(1, -1, 3),
|
||||
MKCLRRAIL(3, 0, -4),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_15 = {
|
||||
MKHDR(2,3,2,1,2)
|
||||
MKRAIL(0x21, -3,0),
|
||||
MKRAIL(0x50, -3,1),
|
||||
MKRAIL(0x81, -2,0),
|
||||
MKRAIL(0x1, -2,1),
|
||||
MKRAIL(0x1, -1,0),
|
||||
MKRAIL(0x1, -1,1),
|
||||
MKRAIL(0x1, 0,0),
|
||||
MKRAIL(0x1, 0,1),
|
||||
MKRAIL(0x1, 1,0),
|
||||
MKRAIL(0x41, 1,1),
|
||||
MKRAIL(0xA0, 2,0),
|
||||
MKRAIL(0x11, 2,1),
|
||||
MKCLRRAIL(2, 3,1),
|
||||
MKCLRRAIL(0, -4,0),
|
||||
MKHDR(2, 3, 2, 1, 2)
|
||||
MKRAIL(0x21, -3, 0),
|
||||
MKRAIL(0x50, -3, 1),
|
||||
MKRAIL(0x81, -2, 0),
|
||||
MKRAIL(0x1, -2, 1),
|
||||
MKRAIL(0x1, -1, 0),
|
||||
MKRAIL(0x1, -1, 1),
|
||||
MKRAIL(0x1, 0, 0),
|
||||
MKRAIL(0x1, 0, 1),
|
||||
MKRAIL(0x1, 1, 0),
|
||||
MKRAIL(0x41, 1, 1),
|
||||
MKRAIL(0xA0, 2, 0),
|
||||
MKRAIL(0x11, 2, 1),
|
||||
MKCLRRAIL(2, 3, 1),
|
||||
MKCLRRAIL(0, -4, 0),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_16 = {
|
||||
MKHDR(1,3,1,0,1)
|
||||
MKSTATION(0x17, 0,-2),
|
||||
MKRAIL(0x1A, 0,1),
|
||||
MKCLRRAIL(1, 0,2),
|
||||
MKDEPOT(0, 1,1),
|
||||
MKHDR(1, 3, 1, 0, 1)
|
||||
MKSTATION(0x17, 0, -2),
|
||||
MKRAIL(0x1A, 0, 1),
|
||||
MKCLRRAIL(1, 0, 2),
|
||||
MKDEPOT(0, 1, 1),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_17 = {
|
||||
MKHDR(1,3,1,0,3)
|
||||
MKCLRRAIL(3, 0,-2),
|
||||
MKRAIL(0x26, 0,-1),
|
||||
MKDEPOT(2, -1,-1),
|
||||
MKSTATION(0x17, 0,0),
|
||||
MKHDR(1, 3, 1, 0, 3)
|
||||
MKCLRRAIL(3, 0, -2),
|
||||
MKRAIL(0x26, 0, -1),
|
||||
MKDEPOT(2, -1, -1),
|
||||
MKSTATION(0x17, 0, 0),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_18 = {
|
||||
MKHDR(1,3,1,0,0)
|
||||
MKCLRRAIL(0, -2,0),
|
||||
MKRAIL(0x29, -1,0),
|
||||
MKDEPOT(3, -1,1),
|
||||
MKSTATION(0x16, 0,0),
|
||||
MKHDR(1, 3, 1, 0, 0)
|
||||
MKCLRRAIL(0, -2, 0),
|
||||
MKRAIL(0x29, -1, 0),
|
||||
MKDEPOT(3, -1, 1),
|
||||
MKSTATION(0x16, 0, 0),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_19 = {
|
||||
MKHDR(1,3,1,0,2)
|
||||
MKSTATION(0x16, -2,0),
|
||||
MKDEPOT(2, 0,-1),
|
||||
MKRAIL(0x20, 1,-1),
|
||||
MKRAIL(0x15, 1,0),
|
||||
MKCLRRAIL(2, 2,0),
|
||||
MKHDR(1, 3, 1, 0, 2)
|
||||
MKSTATION(0x16, -2, 0),
|
||||
MKDEPOT(2, 0, -1),
|
||||
MKRAIL(0x20, 1, -1),
|
||||
MKRAIL(0x15, 1, 0),
|
||||
MKCLRRAIL(2, 2, 0),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_20 = {
|
||||
MKHDR(2,3,1,0,1)
|
||||
MKSTATION(0x26, -2,0),
|
||||
MKRAIL(0xC1, 1,0),
|
||||
MKRAIL(0xC1, 1,1),
|
||||
MKRAIL(0x26, 2,0),
|
||||
MKRAIL(0x26, 2,1),
|
||||
MKDEPOT(1, 2,-1),
|
||||
MKCLRRAIL(1, 2,2),
|
||||
MKHDR(2, 3, 1, 0, 1)
|
||||
MKSTATION(0x26, -2, 0),
|
||||
MKRAIL(0xC1, 1, 0),
|
||||
MKRAIL(0xC1, 1, 1),
|
||||
MKRAIL(0x26, 2, 0),
|
||||
MKRAIL(0x26, 2, 1),
|
||||
MKDEPOT(1, 2, -1),
|
||||
MKCLRRAIL(1, 2, 2),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_21 = {
|
||||
MKHDR(2,3,1,0,3)
|
||||
MKDEPOT(2, -3,-1),
|
||||
MKRAIL(0x3F, -2,-1),
|
||||
MKRAIL(0x10, -2,0),
|
||||
MKRAIL(0xC1, -1,-1),
|
||||
MKRAIL(0xC1, -1,0),
|
||||
MKSTATION(0x26, 0,-1),
|
||||
MKCLRRAIL(3, -2,-2),
|
||||
MKHDR(2, 3, 1, 0, 3)
|
||||
MKDEPOT(2, -3, -1),
|
||||
MKRAIL(0x3F, -2, -1),
|
||||
MKRAIL(0x10, -2, 0),
|
||||
MKRAIL(0xC1, -1, -1),
|
||||
MKRAIL(0xC1, -1, 0),
|
||||
MKSTATION(0x26, 0, -1),
|
||||
MKCLRRAIL(3, -2, -2),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_22 = {
|
||||
MKHDR(2,3,1,0,0)
|
||||
MKSTATION(0x27, 0,-2),
|
||||
MKRAIL(0xC2, 0,1),
|
||||
MKRAIL(0xC2, 1,1),
|
||||
MKRAIL(0x15, 0,2),
|
||||
MKRAIL(0x4, 1,2),
|
||||
MKRAIL(0x15, -1,2),
|
||||
MKDEPOT(1, -1,1),
|
||||
MKCLRRAIL(0, -2,2),
|
||||
MKHDR(2, 3, 1, 0, 0)
|
||||
MKSTATION(0x27, 0, -2),
|
||||
MKRAIL(0xC2, 0, 1),
|
||||
MKRAIL(0xC2, 1, 1),
|
||||
MKRAIL(0x15, 0, 2),
|
||||
MKRAIL(0x4, 1, 2),
|
||||
MKRAIL(0x15, -1, 2),
|
||||
MKDEPOT(1, -1, 1),
|
||||
MKCLRRAIL(0, -2, 2),
|
||||
MKEND
|
||||
};
|
||||
|
||||
static const AiDefaultRailBlock _raildata_ai_23 = {
|
||||
MKHDR(2,3,1,0,2)
|
||||
MKDEPOT(1, 0,-3),
|
||||
MKRAIL(0x1A, 0,-2),
|
||||
MKRAIL(0x29, 1,-2),
|
||||
MKRAIL(0xC2, 0,-1),
|
||||
MKRAIL(0xC2, 1,-1),
|
||||
MKSTATION(0x27, 0,0),
|
||||
MKCLRRAIL(2, 2,-2),
|
||||
MKHDR(2, 3, 1, 0, 2)
|
||||
MKDEPOT(1, 0, -3),
|
||||
MKRAIL(0x1A, 0, -2),
|
||||
MKRAIL(0x29, 1, -2),
|
||||
MKRAIL(0xC2, 0, -1),
|
||||
MKRAIL(0xC2, 1, -1),
|
||||
MKSTATION(0x27, 0, 0),
|
||||
MKCLRRAIL(2, 2, -2),
|
||||
MKEND
|
||||
};
|
||||
|
||||
|
|
|
@ -12,17 +12,17 @@ static const SpriteID _landscape_clear_sprites[8] = {
|
|||
};
|
||||
|
||||
static const byte _fence_mod_by_tileh[32] = {
|
||||
0,2,4,0,0,2,4,0,
|
||||
0,2,4,0,0,2,4,0,
|
||||
0,2,4,0,0,2,4,4,
|
||||
0,2,4,2,0,2,4,0,
|
||||
0, 2, 4, 0, 0, 2, 4, 0,
|
||||
0, 2, 4, 0, 0, 2, 4, 0,
|
||||
0, 2, 4, 0, 0, 2, 4, 4,
|
||||
0, 2, 4, 2, 0, 2, 4, 0,
|
||||
};
|
||||
|
||||
static const byte _fence_mod_by_tileh_2[32] = {
|
||||
1,1,5,5,3,3,1,1,
|
||||
1,1,5,5,3,3,1,1,
|
||||
1,1,5,5,3,3,1,5,
|
||||
1,1,5,5,3,3,3,1,
|
||||
1, 1, 5, 5, 3, 3, 1, 1,
|
||||
1, 1, 5, 5, 3, 3, 1, 1,
|
||||
1, 1, 5, 5, 3, 3, 1, 5,
|
||||
1, 1, 5, 5, 3, 3, 3, 1,
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -409,14 +409,14 @@ typedef enum {
|
|||
PCP exists.*/
|
||||
static const CatenarySprite Wires[5][TRACK_END][4] = {
|
||||
{ /* Tileh == 0 */
|
||||
{INVALID_CATENARY, WIRE_X_FLAT_NE, WIRE_X_FLAT_SW, WIRE_X_FLAT_BOTH},
|
||||
{INVALID_CATENARY, WIRE_Y_FLAT_SE, WIRE_Y_FLAT_NW, WIRE_Y_FLAT_BOTH},
|
||||
{INVALID_CATENARY, WIRE_EW_N_W, WIRE_EW_N_E, WIRE_EW_N_BOTH},
|
||||
{INVALID_CATENARY, WIRE_EW_S_E, WIRE_EW_S_W, WIRE_EW_S_BOTH},
|
||||
{INVALID_CATENARY, WIRE_NS_W_S, WIRE_NS_W_N, WIRE_NS_W_BOTH},
|
||||
{INVALID_CATENARY, WIRE_NS_E_N, WIRE_NS_E_S, WIRE_NS_E_BOTH},
|
||||
{INVALID_CATENARY, WIRE_X_FLAT_NE, WIRE_X_FLAT_SW, WIRE_X_FLAT_BOTH},
|
||||
{INVALID_CATENARY, WIRE_Y_FLAT_SE, WIRE_Y_FLAT_NW, WIRE_Y_FLAT_BOTH},
|
||||
{INVALID_CATENARY, WIRE_EW_N_W, WIRE_EW_N_E, WIRE_EW_N_BOTH},
|
||||
{INVALID_CATENARY, WIRE_EW_S_E, WIRE_EW_S_W, WIRE_EW_S_BOTH},
|
||||
{INVALID_CATENARY, WIRE_NS_W_S, WIRE_NS_W_N, WIRE_NS_W_BOTH},
|
||||
{INVALID_CATENARY, WIRE_NS_E_N, WIRE_NS_E_S, WIRE_NS_E_BOTH},
|
||||
}, { /* Tileh == 3 */
|
||||
{INVALID_CATENARY, WIRE_X_UP_NE, WIRE_X_UP_SW, WIRE_X_UP_BOTH},
|
||||
{INVALID_CATENARY, WIRE_X_UP_NE, WIRE_X_UP_SW, WIRE_X_UP_BOTH},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
|
@ -424,20 +424,20 @@ static const CatenarySprite Wires[5][TRACK_END][4] = {
|
|||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
}, { /* Tileh == 6 */
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
{INVALID_CATENARY, WIRE_Y_UP_SE, WIRE_Y_UP_NW, WIRE_Y_UP_BOTH},
|
||||
{INVALID_CATENARY, WIRE_Y_UP_SE, WIRE_Y_UP_NW, WIRE_Y_UP_BOTH},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
}, { /* Tileh == 9 */
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
{INVALID_CATENARY, WIRE_Y_DOWN_SE, WIRE_Y_DOWN_NW, WIRE_Y_DOWN_BOTH},
|
||||
{INVALID_CATENARY, WIRE_Y_DOWN_SE, WIRE_Y_DOWN_NW, WIRE_Y_DOWN_BOTH},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
}, { /* Tileh == 12 */
|
||||
{INVALID_CATENARY, WIRE_X_DOWN_NE, WIRE_X_DOWN_SW, WIRE_X_DOWN_BOTH},
|
||||
{INVALID_CATENARY, WIRE_X_DOWN_NE, WIRE_X_DOWN_SW, WIRE_X_DOWN_BOTH},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
{INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY, INVALID_CATENARY},
|
||||
|
|
|
@ -25,31 +25,31 @@
|
|||
|
||||
static FileList files_dos = {
|
||||
{
|
||||
{ "TRG1.GRF", {0x93,0x11,0x67,0x62,0x80,0xe5,0xb1,0x40,0x77,0xa8,0xee,0x41,0xc1,0xb4,0x21,0x92} }, // 0 - 4792 inclusive
|
||||
{ "TRGI.GRF", {0xda,0x6a,0x6c,0x9d,0xcc,0x45,0x1e,0xec,0x88,0xd7,0x92,0x11,0x43,0x7b,0x76,0xa8} }, // 4793 - 4889 inclusive
|
||||
{ "dosdummy.grf", {0x07,0x01,0xe6,0xc4,0x07,0x6a,0x5b,0xc3,0xf4,0x9f,0x01,0xad,0x21,0x6c,0xa0,0xc2} }, // 4890 - 4895 inclusive
|
||||
{ "nsignalsw.grf", {0x65,0xb9,0xd7,0x30,0x56,0x06,0xcc,0x9e,0x27,0x57,0xc8,0xe4,0x9b,0xb3,0x66,0x81} }, // 4896 - 5381 inclusive
|
||||
{ "TRG1.GRF", {0x93, 0x11, 0x67, 0x62, 0x80, 0xe5, 0xb1, 0x40, 0x77, 0xa8, 0xee, 0x41, 0xc1, 0xb4, 0x21, 0x92} }, // 0 - 4792 inclusive
|
||||
{ "TRGI.GRF", {0xda, 0x6a, 0x6c, 0x9d, 0xcc, 0x45, 0x1e, 0xec, 0x88, 0xd7, 0x92, 0x11, 0x43, 0x7b, 0x76, 0xa8} }, // 4793 - 4889 inclusive
|
||||
{ "dosdummy.grf", {0x07, 0x01, 0xe6, 0xc4, 0x07, 0x6a, 0x5b, 0xc3, 0xf4, 0x9f, 0x01, 0xad, 0x21, 0x6c, 0xa0, 0xc2} }, // 4890 - 4895 inclusive
|
||||
{ "nsignalsw.grf", {0x65, 0xb9, 0xd7, 0x30, 0x56, 0x06, 0xcc, 0x9e, 0x27, 0x57, 0xc8, 0xe4, 0x9b, 0xb3, 0x66, 0x81} }, // 4896 - 5381 inclusive
|
||||
{ NULL, { 0 } }
|
||||
},
|
||||
{ { "TRGC.GRF", {0xed,0x44,0x66,0x37,0xe0,0x34,0x10,0x4c,0x55,0x59,0xb3,0x2c,0x18,0xaf,0xe7,0x8d} },
|
||||
{ "TRGH.GRF", {0xee,0x66,0x16,0xfb,0x0e,0x6e,0xf6,0xb2,0x48,0x92,0xc5,0x8c,0x93,0xd8,0x6f,0xc9} },
|
||||
{ "TRGT.GRF", {0xfc,0xde,0x1d,0x7e,0x8a,0x74,0x19,0x7d,0x72,0xa6,0x26,0x95,0x88,0x4b,0x90,0x9e} }
|
||||
{ { "TRGC.GRF", {0xed, 0x44, 0x66, 0x37, 0xe0, 0x34, 0x10, 0x4c, 0x55, 0x59, 0xb3, 0x2c, 0x18, 0xaf, 0xe7, 0x8d} },
|
||||
{ "TRGH.GRF", {0xee, 0x66, 0x16, 0xfb, 0x0e, 0x6e, 0xf6, 0xb2, 0x48, 0x92, 0xc5, 0x8c, 0x93, 0xd8, 0x6f, 0xc9} },
|
||||
{ "TRGT.GRF", {0xfc, 0xde, 0x1d, 0x7e, 0x8a, 0x74, 0x19, 0x7d, 0x72, 0xa6, 0x26, 0x95, 0x88, 0x4b, 0x90, 0x9e} }
|
||||
}
|
||||
};
|
||||
|
||||
static FileList files_win = {
|
||||
{
|
||||
{ "TRG1R.GRF", {0xb0,0x4c,0xe5,0x93,0xd8,0xc5,0x01,0x6e,0x07,0x47,0x3a,0x74,0x3d,0x7d,0x33,0x58} }, // 0 - 4792 inclusive
|
||||
{ "TRGIR.GRF", {0x0c,0x24,0x84,0xff,0x6b,0xe4,0x9f,0xc6,0x3a,0x83,0xbe,0x6a,0xb5,0xc3,0x8f,0x32} }, // 4793 - 4895 inclusive
|
||||
{ "nsignalsw.grf", {0x65,0xb9,0xd7,0x30,0x56,0x06,0xcc,0x9e,0x27,0x57,0xc8,0xe4,0x9b,0xb3,0x66,0x81} }, // 4896 - 5381 inclusive
|
||||
{ "TRG1R.GRF", {0xb0, 0x4c, 0xe5, 0x93, 0xd8, 0xc5, 0x01, 0x6e, 0x07, 0x47, 0x3a, 0x74, 0x3d, 0x7d, 0x33, 0x58} }, // 0 - 4792 inclusive
|
||||
{ "TRGIR.GRF", {0x0c, 0x24, 0x84, 0xff, 0x6b, 0xe4, 0x9f, 0xc6, 0x3a, 0x83, 0xbe, 0x6a, 0xb5, 0xc3, 0x8f, 0x32} }, // 4793 - 4895 inclusive
|
||||
{ "nsignalsw.grf", {0x65, 0xb9, 0xd7, 0x30, 0x56, 0x06, 0xcc, 0x9e, 0x27, 0x57, 0xc8, 0xe4, 0x9b, 0xb3, 0x66, 0x81} }, // 4896 - 5381 inclusive
|
||||
{ NULL, { 0 } },
|
||||
{ NULL, { 0 } }
|
||||
},
|
||||
{ { "TRGCR.GRF", {0x36,0x68,0xf4,0x10,0xc7,0x61,0xa0,0x50,0xb5,0xe7,0x09,0x5a,0x2b,0x14,0x87,0x9b} },
|
||||
{ "TRGHR.GRF", {0x06,0xbf,0x2b,0x7a,0x31,0x76,0x6f,0x04,0x8b,0xaa,0xc2,0xeb,0xe4,0x34,0x57,0xb1} },
|
||||
{ "TRGTR.GRF", {0xde,0x53,0x65,0x05,0x17,0xfe,0x66,0x1c,0xea,0xa3,0x13,0x8c,0x6e,0xdb,0x0e,0xb8} }
|
||||
{ { "TRGCR.GRF", {0x36, 0x68, 0xf4, 0x10, 0xc7, 0x61, 0xa0, 0x50, 0xb5, 0xe7, 0x09, 0x5a, 0x2b, 0x14, 0x87, 0x9b} },
|
||||
{ "TRGHR.GRF", {0x06, 0xbf, 0x2b, 0x7a, 0x31, 0x76, 0x6f, 0x04, 0x8b, 0xaa, 0xc2, 0xeb, 0xe4, 0x34, 0x57, 0xb1} },
|
||||
{ "TRGTR.GRF", {0xde, 0x53, 0x65, 0x05, 0x17, 0xfe, 0x66, 0x1c, 0xea, 0xa3, 0x13, 0x8c, 0x6e, 0xdb, 0x0e, 0xb8} }
|
||||
}
|
||||
};
|
||||
|
||||
static MD5File sample_cat_win = { "SAMPLE.CAT", {0x92,0x12,0xe8,0x1e,0x72,0xba,0xdd,0x4b,0xbe,0x1e,0xae,0xae,0x66,0x45,0x8e,0x10} };
|
||||
static MD5File sample_cat_dos = { "SAMPLE.CAT", {0x42,0x2e,0xa3,0xdd,0x07,0x4d,0x28,0x59,0xbb,0x51,0x63,0x9a,0x6e,0x0e,0x85,0xda} };
|
||||
static MD5File sample_cat_win = { "SAMPLE.CAT", {0x92, 0x12, 0xe8, 0x1e, 0x72, 0xba, 0xdd, 0x4b, 0xbe, 0x1e, 0xae, 0xae, 0x66, 0x45, 0x8e, 0x10} };
|
||||
static MD5File sample_cat_dos = { "SAMPLE.CAT", {0x42, 0x2e, 0xa3, 0xdd, 0x07, 0x4d, 0x28, 0x59, 0xbb, 0x51, 0x63, 0x9a, 0x6e, 0x0e, 0x85, 0xda} };
|
||||
|
|
300
table/genland.h
300
table/genland.h
|
@ -1,157 +1,157 @@
|
|||
/* $Id$ */
|
||||
|
||||
#define M(x,y) {x, y}
|
||||
#define M(x, y) {x, y}
|
||||
|
||||
static const TileIndexDiffC _make_desert_or_rainforest_data[] = {
|
||||
M(-5,-6),
|
||||
M(-4,-6),
|
||||
M(-3,-6),
|
||||
M(-2,-6),
|
||||
M(-1,-6),
|
||||
M(0,-5),
|
||||
M(1,-5),
|
||||
M(2,-5),
|
||||
M(3,-5),
|
||||
M(4,-5),
|
||||
M(5,-5),
|
||||
M(-5,-5),
|
||||
M(-4,-5),
|
||||
M(-3,-5),
|
||||
M(-2,-5),
|
||||
M(-1,-5),
|
||||
M(0,-4),
|
||||
M(1,-4),
|
||||
M(2,-4),
|
||||
M(3,-4),
|
||||
M(4,-4),
|
||||
M(5,-4),
|
||||
M(-5,-4),
|
||||
M(-4,-4),
|
||||
M(-3,-4),
|
||||
M(-2,-4),
|
||||
M(-1,-4),
|
||||
M(0,-3),
|
||||
M(1,-3),
|
||||
M(2,-3),
|
||||
M(3,-3),
|
||||
M(4,-3),
|
||||
M(5,-3),
|
||||
M(-5,-3),
|
||||
M(-4,-3),
|
||||
M(-3,-3),
|
||||
M(-2,-3),
|
||||
M(-1,-3),
|
||||
M(0,-2),
|
||||
M(1,-2),
|
||||
M(2,-2),
|
||||
M(3,-2),
|
||||
M(4,-2),
|
||||
M(5,-2),
|
||||
M(-5,-2),
|
||||
M(-4,-2),
|
||||
M(-3,-2),
|
||||
M(-2,-2),
|
||||
M(-1,-2),
|
||||
M(0,-1),
|
||||
M(1,-1),
|
||||
M(2,-1),
|
||||
M(3,-1),
|
||||
M(4,-1),
|
||||
M(5,-1),
|
||||
M(-5,-1),
|
||||
M(-4,-1),
|
||||
M(-3,-1),
|
||||
M(-2,-1),
|
||||
M(-1,-1),
|
||||
M(0,0),
|
||||
M(1,0),
|
||||
M(2,0),
|
||||
M(3,0),
|
||||
M(4,0),
|
||||
M(5,0),
|
||||
M(-5,0),
|
||||
M(-4,0),
|
||||
M(-3,0),
|
||||
M(-2,0),
|
||||
M(-1,0),
|
||||
M(0,1),
|
||||
M(1,1),
|
||||
M(2,1),
|
||||
M(3,1),
|
||||
M(4,1),
|
||||
M(5,1),
|
||||
M(-5,1),
|
||||
M(-4,1),
|
||||
M(-3,1),
|
||||
M(-2,1),
|
||||
M(-1,1),
|
||||
M(0,2),
|
||||
M(1,2),
|
||||
M(2,2),
|
||||
M(3,2),
|
||||
M(4,2),
|
||||
M(5,2),
|
||||
M(-5,2),
|
||||
M(-4,2),
|
||||
M(-3,2),
|
||||
M(-2,2),
|
||||
M(-1,2),
|
||||
M(0,3),
|
||||
M(1,3),
|
||||
M(2,3),
|
||||
M(3,3),
|
||||
M(4,3),
|
||||
M(5,3),
|
||||
M(-5,3),
|
||||
M(-4,3),
|
||||
M(-3,3),
|
||||
M(-2,3),
|
||||
M(-1,3),
|
||||
M(0,4),
|
||||
M(1,4),
|
||||
M(2,4),
|
||||
M(3,4),
|
||||
M(4,4),
|
||||
M(5,4),
|
||||
M(-5,4),
|
||||
M(-4,4),
|
||||
M(-3,4),
|
||||
M(-2,4),
|
||||
M(-1,4),
|
||||
M(0,5),
|
||||
M(1,5),
|
||||
M(2,5),
|
||||
M(3,5),
|
||||
M(4,5),
|
||||
M(5,5),
|
||||
M(6,-3),
|
||||
M(-6,-4),
|
||||
M(-3,5),
|
||||
M(-3,-7),
|
||||
M(6,-2),
|
||||
M(-6,-3),
|
||||
M(-2,5),
|
||||
M(-2,-7),
|
||||
M(6,-1),
|
||||
M(-6,-2),
|
||||
M(-1,5),
|
||||
M(-1,-7),
|
||||
M(6,0),
|
||||
M(-6,-1),
|
||||
M(0,6),
|
||||
M(0,-6),
|
||||
M(6,1),
|
||||
M(-6,0),
|
||||
M(1,6),
|
||||
M(1,-6),
|
||||
M(6,2),
|
||||
M(-6,1),
|
||||
M(2,6),
|
||||
M(2,-6),
|
||||
M(6,3),
|
||||
M(-6,2),
|
||||
M(3,6),
|
||||
M(3,-6)
|
||||
M(-5, -6),
|
||||
M(-4, -6),
|
||||
M(-3, -6),
|
||||
M(-2, -6),
|
||||
M(-1, -6),
|
||||
M( 0, -5),
|
||||
M( 1, -5),
|
||||
M( 2, -5),
|
||||
M( 3, -5),
|
||||
M( 4, -5),
|
||||
M( 5, -5),
|
||||
M(-5, -5),
|
||||
M(-4, -5),
|
||||
M(-3, -5),
|
||||
M(-2, -5),
|
||||
M(-1, -5),
|
||||
M( 0, -4),
|
||||
M( 1, -4),
|
||||
M( 2, -4),
|
||||
M( 3, -4),
|
||||
M( 4, -4),
|
||||
M( 5, -4),
|
||||
M(-5, -4),
|
||||
M(-4, -4),
|
||||
M(-3, -4),
|
||||
M(-2, -4),
|
||||
M(-1, -4),
|
||||
M( 0, -3),
|
||||
M( 1, -3),
|
||||
M( 2, -3),
|
||||
M( 3, -3),
|
||||
M( 4, -3),
|
||||
M( 5, -3),
|
||||
M(-5, -3),
|
||||
M(-4, -3),
|
||||
M(-3, -3),
|
||||
M(-2, -3),
|
||||
M(-1, -3),
|
||||
M( 0, -2),
|
||||
M( 1, -2),
|
||||
M( 2, -2),
|
||||
M( 3, -2),
|
||||
M( 4, -2),
|
||||
M( 5, -2),
|
||||
M(-5, -2),
|
||||
M(-4, -2),
|
||||
M(-3, -2),
|
||||
M(-2, -2),
|
||||
M(-1, -2),
|
||||
M( 0, -1),
|
||||
M( 1, -1),
|
||||
M( 2, -1),
|
||||
M( 3, -1),
|
||||
M( 4, -1),
|
||||
M( 5, -1),
|
||||
M(-5, -1),
|
||||
M(-4, -1),
|
||||
M(-3, -1),
|
||||
M(-2, -1),
|
||||
M(-1, -1),
|
||||
M( 0, 0),
|
||||
M( 1, 0),
|
||||
M( 2, 0),
|
||||
M( 3, 0),
|
||||
M( 4, 0),
|
||||
M( 5, 0),
|
||||
M(-5, 0),
|
||||
M(-4, 0),
|
||||
M(-3, 0),
|
||||
M(-2, 0),
|
||||
M(-1, 0),
|
||||
M( 0, 1),
|
||||
M( 1, 1),
|
||||
M( 2, 1),
|
||||
M( 3, 1),
|
||||
M( 4, 1),
|
||||
M( 5, 1),
|
||||
M(-5, 1),
|
||||
M(-4, 1),
|
||||
M(-3, 1),
|
||||
M(-2, 1),
|
||||
M(-1, 1),
|
||||
M( 0, 2),
|
||||
M( 1, 2),
|
||||
M( 2, 2),
|
||||
M( 3, 2),
|
||||
M( 4, 2),
|
||||
M( 5, 2),
|
||||
M(-5, 2),
|
||||
M(-4, 2),
|
||||
M(-3, 2),
|
||||
M(-2, 2),
|
||||
M(-1, 2),
|
||||
M( 0, 3),
|
||||
M( 1, 3),
|
||||
M( 2, 3),
|
||||
M( 3, 3),
|
||||
M( 4, 3),
|
||||
M( 5, 3),
|
||||
M(-5, 3),
|
||||
M(-4, 3),
|
||||
M(-3, 3),
|
||||
M(-2, 3),
|
||||
M(-1, 3),
|
||||
M( 0, 4),
|
||||
M( 1, 4),
|
||||
M( 2, 4),
|
||||
M( 3, 4),
|
||||
M( 4, 4),
|
||||
M( 5, 4),
|
||||
M(-5, 4),
|
||||
M(-4, 4),
|
||||
M(-3, 4),
|
||||
M(-2, 4),
|
||||
M(-1, 4),
|
||||
M( 0, 5),
|
||||
M( 1, 5),
|
||||
M( 2, 5),
|
||||
M( 3, 5),
|
||||
M( 4, 5),
|
||||
M( 5, 5),
|
||||
M( 6, -3),
|
||||
M(-6, -4),
|
||||
M(-3, 5),
|
||||
M(-3, -7),
|
||||
M( 6, -2),
|
||||
M(-6, -3),
|
||||
M(-2, 5),
|
||||
M(-2, -7),
|
||||
M( 6, -1),
|
||||
M(-6, -2),
|
||||
M(-1, 5),
|
||||
M(-1, -7),
|
||||
M( 6, 0),
|
||||
M(-6, -1),
|
||||
M( 0, 6),
|
||||
M( 0, -6),
|
||||
M( 6, 1),
|
||||
M(-6, 0),
|
||||
M( 1, 6),
|
||||
M( 1, -6),
|
||||
M( 6, 2),
|
||||
M(-6, 1),
|
||||
M( 2, 6),
|
||||
M( 2, -6),
|
||||
M( 6, 3),
|
||||
M(-6, 2),
|
||||
M( 3, 6),
|
||||
M( 3, -6)
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -879,13 +879,13 @@ static const DrawIndustrySpec4Struct _industry_anim_offs_3[] = {
|
|||
};
|
||||
|
||||
static const byte _industry_anim_offs[] = {
|
||||
255, 0, 0, 0, 2, 4, 6, 8, 10, 9,
|
||||
7, 5, 3, 1, 255, 0, 0, 0, 2, 4,
|
||||
6, 8, 10, 9, 7, 5, 3, 1, 255, 0,
|
||||
0, 0, 2, 4, 6, 8, 10, 9, 7, 5,
|
||||
3, 1, 255, 0, 0, 0, 2, 4, 6, 8,
|
||||
10, 9, 7, 5, 3, 1, 255, 0, 0, 0,
|
||||
2, 4, 6, 8, 10, 9, 7, 5, 3, 1
|
||||
255, 0, 0, 0, 2, 4, 6, 8, 10, 9,
|
||||
7, 5, 3, 1, 255, 0, 0, 0, 2, 4,
|
||||
6, 8, 10, 9, 7, 5, 3, 1, 255, 0,
|
||||
0, 0, 2, 4, 6, 8, 10, 9, 7, 5,
|
||||
3, 1, 255, 0, 0, 0, 2, 4, 6, 8,
|
||||
10, 9, 7, 5, 3, 1, 255, 0, 0, 0,
|
||||
2, 4, 6, 8, 10, 9, 7, 5, 3, 1
|
||||
};
|
||||
|
||||
static const byte _industry_anim_offs_2[] = {
|
||||
|
@ -896,59 +896,59 @@ static const byte _industry_anim_offs_2[] = {
|
|||
};
|
||||
|
||||
static const byte _coal_plant_sparks_x[] = {11, 11, 14, 13, 18, 15};
|
||||
static const byte _coal_plant_sparks_y[] = {23, 11, 6, 3, 1, 0};
|
||||
static const byte _coal_plant_sparks_y[] = {23, 11, 6, 3, 1, 0};
|
||||
|
||||
/* next frame in an animation */
|
||||
#define N 255
|
||||
static const byte _industry_section_animation_next[] = {
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, 16, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, 129, N, N, N, N, N,
|
||||
135, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, 16, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, 129, N, N, N, N, N,
|
||||
135, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N,
|
||||
};
|
||||
|
||||
/* animation to start when goods is produced */
|
||||
static const byte _industry_produce_section[] = {
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
17, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, 130, N, N, N, N, N, 136,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
17, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, 130, N, N, N, N, N, 136,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N, N,
|
||||
N, N, N, N, N, N, N,
|
||||
};
|
||||
|
||||
#undef N
|
||||
|
|
|
@ -38,7 +38,7 @@ static const DrawTileSprites _road_depot[] = {
|
|||
|
||||
|
||||
static const SpriteID _road_tile_sprites_1[16] = {
|
||||
0, 0x546, 0x545, 0x53B, 0x544, 0x534, 0x53E, 0x539,
|
||||
0, 0x546, 0x545, 0x53B, 0x544, 0x534, 0x53E, 0x539,
|
||||
0x543, 0x53C, 0x535, 0x538, 0x53D, 0x537, 0x53A, 0x536
|
||||
};
|
||||
|
||||
|
@ -59,7 +59,7 @@ static const DrawRoadTileStruct _road_display_datas2_2[] = {
|
|||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_3[] = {
|
||||
MAKELINE(0x57f,1,8)
|
||||
MAKELINE(0x57f, 1, 8)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
|
@ -68,18 +68,18 @@ static const DrawRoadTileStruct _road_display_datas2_4[] = {
|
|||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_5[] = {
|
||||
MAKELINE(0x57f,1,8)
|
||||
MAKELINE(0x57e,14,8)
|
||||
MAKELINE(0x57f, 1, 8)
|
||||
MAKELINE(0x57e, 14, 8)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_6[] = {
|
||||
MAKELINE(0x57e,8,1)
|
||||
MAKELINE(0x57e, 8, 1)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_7[] = {
|
||||
MAKELINE(0x57f,1,8)
|
||||
MAKELINE(0x57f, 1, 8)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
|
@ -88,33 +88,33 @@ static const DrawRoadTileStruct _road_display_datas2_8[] = {
|
|||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_9[] = {
|
||||
MAKELINE(0x57f,8,14)
|
||||
MAKELINE(0x57f, 8, 14)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_10[] = {
|
||||
MAKELINE(0x57f,8,14)
|
||||
MAKELINE(0x57e,8,1)
|
||||
MAKELINE(0x57f, 8, 14)
|
||||
MAKELINE(0x57e, 8, 1)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_11[] = {
|
||||
MAKELINE(0x57f,8,14)
|
||||
MAKELINE(0x57f, 8, 14)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_12[] = {
|
||||
MAKELINE(0x57e,8,1)
|
||||
MAKELINE(0x57e, 8, 1)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_13[] = {
|
||||
MAKELINE(0x57e,14,8)
|
||||
MAKELINE(0x57e, 14, 8)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_14[] = {
|
||||
MAKELINE(0x57e,8,1)
|
||||
MAKELINE(0x57e, 8, 1)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
|
@ -135,9 +135,9 @@ static const DrawRoadTileStruct _road_display_datas2_18[] = {
|
|||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_19[] = {
|
||||
MAKELINE(0x1212,0,2)
|
||||
MAKELINE(0x1212,3,9)
|
||||
MAKELINE(0x1212,10,12)
|
||||
MAKELINE(0x1212, 0, 2)
|
||||
MAKELINE(0x1212, 3, 9)
|
||||
MAKELINE(0x1212, 10, 12)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
|
@ -146,23 +146,23 @@ static const DrawRoadTileStruct _road_display_datas2_20[] = {
|
|||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_21[] = {
|
||||
MAKELINE(0x1212,0,2)
|
||||
MAKELINE(0x1212,0,10)
|
||||
MAKELINE(0x1212,12,2)
|
||||
MAKELINE(0x1212,12,10)
|
||||
MAKELINE(0x1212, 0, 2)
|
||||
MAKELINE(0x1212, 0, 10)
|
||||
MAKELINE(0x1212, 12, 2)
|
||||
MAKELINE(0x1212, 12, 10)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_22[] = {
|
||||
MAKELINE(0x1212,10,0)
|
||||
MAKELINE(0x1212,3,3)
|
||||
MAKELINE(0x1212,0,10)
|
||||
MAKELINE(0x1212, 10, 0)
|
||||
MAKELINE(0x1212, 3, 3)
|
||||
MAKELINE(0x1212, 0, 10)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_23[] = {
|
||||
MAKELINE(0x1212,0,2)
|
||||
MAKELINE(0x1212,0,10)
|
||||
MAKELINE(0x1212, 0, 2)
|
||||
MAKELINE(0x1212, 0, 10)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
|
@ -171,42 +171,42 @@ static const DrawRoadTileStruct _road_display_datas2_24[] = {
|
|||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_25[] = {
|
||||
MAKELINE(0x1212,12,2)
|
||||
MAKELINE(0x1212,9,9)
|
||||
MAKELINE(0x1212,2,12)
|
||||
MAKELINE(0x1212, 12, 2)
|
||||
MAKELINE(0x1212, 9, 9)
|
||||
MAKELINE(0x1212, 2, 12)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_26[] = {
|
||||
MAKELINE(0x1212,2,0)
|
||||
MAKELINE(0x1212,10,0)
|
||||
MAKELINE(0x1212,2,12)
|
||||
MAKELINE(0x1212,10,12)
|
||||
MAKELINE(0x1212, 2, 0)
|
||||
MAKELINE(0x1212, 10, 0)
|
||||
MAKELINE(0x1212, 2, 12)
|
||||
MAKELINE(0x1212, 10, 12)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_27[] = {
|
||||
MAKELINE(0x1212,2,12)
|
||||
MAKELINE(0x1212,10,12)
|
||||
MAKELINE(0x1212, 2, 12)
|
||||
MAKELINE(0x1212, 10, 12)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_28[] = {
|
||||
MAKELINE(0x1212,2,0)
|
||||
MAKELINE(0x1212,9,3)
|
||||
MAKELINE(0x1212,12,10)
|
||||
MAKELINE(0x1212, 2, 0)
|
||||
MAKELINE(0x1212, 9, 3)
|
||||
MAKELINE(0x1212, 12, 10)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_29[] = {
|
||||
MAKELINE(0x1212,12,2)
|
||||
MAKELINE(0x1212,12,10)
|
||||
MAKELINE(0x1212, 12, 2)
|
||||
MAKELINE(0x1212, 12, 10)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
static const DrawRoadTileStruct _road_display_datas2_30[] = {
|
||||
MAKELINE(0x1212,2,0)
|
||||
MAKELINE(0x1212,10,0)
|
||||
MAKELINE(0x1212, 2, 0)
|
||||
MAKELINE(0x1212, 10, 0)
|
||||
ENDLINE
|
||||
};
|
||||
|
||||
|
|
1824
table/roadveh.h
1824
table/roadveh.h
File diff suppressed because it is too large
Load Diff
|
@ -44,14 +44,14 @@ static const byte _engine_sprite_add[] = {
|
|||
|
||||
|
||||
static const byte _wagon_full_adder[] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 44, 0, 0, 0, 0, 24,
|
||||
24, 24, 24, 0, 0, 32, 32, 0,
|
||||
4, 4, 4, 4, 4, 4, 4, 0,
|
||||
0, 4, 4, 4, 0, 44, 0, 0,
|
||||
0, 0, 24, 24, 24, 24, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 44, 0, 0, 0, 0, 24,
|
||||
24, 24, 24, 0, 0, 32, 32, 0,
|
||||
4, 4, 4, 4, 4, 4, 4, 0,
|
||||
0, 4, 4, 4, 0, 44, 0, 0,
|
||||
0, 0, 24, 24, 24, 24, 0, 0,
|
||||
32, 32
|
||||
};
|
||||
|
|
|
@ -13,8 +13,8 @@ typedef struct DrawTileUnmovableStruct {
|
|||
#define TILE_SEQ_END() { 0x80, 0, 0, 0, 0, 0, 0 }
|
||||
|
||||
static const DrawTileUnmovableStruct _draw_tile_unmovable_data[] = {
|
||||
{0xA29, 7,7, 2,2, 70, 0},
|
||||
{0xA2A, 4,4, 7,7, 61, 0},
|
||||
{0xA29, 7, 7, 2, 2, 70, 0},
|
||||
{0xA2A, 4, 4, 7, 7, 61, 0},
|
||||
};
|
||||
|
||||
|
||||
|
|
4
tile.h
4
tile.h
|
@ -22,8 +22,8 @@ typedef enum TileTypes {
|
|||
} TileType;
|
||||
|
||||
typedef enum TropicZones {
|
||||
TROPICZONE_INVALID = 0,
|
||||
TROPICZONE_DESERT = 1,
|
||||
TROPICZONE_INVALID = 0,
|
||||
TROPICZONE_DESERT = 1,
|
||||
TROPICZONE_RAINFOREST = 2,
|
||||
} TropicZone;
|
||||
|
||||
|
|
34
town.h
34
town.h
|
@ -96,32 +96,32 @@ enum {
|
|||
// These refer to the maximums, so Appalling is -1000 to -400
|
||||
// MAXIMUM RATINGS BOUNDARIES
|
||||
RATING_MINIMUM = -1000,
|
||||
RATING_APPALLING = -400,
|
||||
RATING_VERYPOOR = -200,
|
||||
RATING_POOR = 0,
|
||||
RATING_MEDIOCRE = 200,
|
||||
RATING_GOOD = 400,
|
||||
RATING_VERYGOOD = 600,
|
||||
RATING_EXCELLENT = 800,
|
||||
RATING_OUTSTANDING = 1000, // OUTSTANDING
|
||||
RATING_APPALLING = -400,
|
||||
RATING_VERYPOOR = -200,
|
||||
RATING_POOR = 0,
|
||||
RATING_MEDIOCRE = 200,
|
||||
RATING_GOOD = 400,
|
||||
RATING_VERYGOOD = 600,
|
||||
RATING_EXCELLENT = 800,
|
||||
RATING_OUTSTANDING = 1000, // OUTSTANDING
|
||||
|
||||
RATING_MAXIMUM = RATING_OUTSTANDING,
|
||||
|
||||
// RATINGS AFFECTING NUMBERS
|
||||
RATING_TREE_DOWN_STEP = -35,
|
||||
RATING_TREE_MINIMUM = RATING_MINIMUM,
|
||||
RATING_TREE_UP_STEP = 7,
|
||||
RATING_TREE_MAXIMUM = 220,
|
||||
RATING_TREE_MINIMUM = RATING_MINIMUM,
|
||||
RATING_TREE_UP_STEP = 7,
|
||||
RATING_TREE_MAXIMUM = 220,
|
||||
|
||||
RATING_TUNNEL_BRIDGE_DOWN_STEP = -250,
|
||||
RATING_TUNNEL_BRIDGE_MINIMUM = 0,
|
||||
RATING_TUNNEL_BRIDGE_MINIMUM = 0,
|
||||
|
||||
RATING_INDUSTRY_DOWN_STEP = -1500,
|
||||
RATING_INDUSTRY_MINIMUM = RATING_MINIMUM,
|
||||
RATING_INDUSTRY_MINIMUM = RATING_MINIMUM,
|
||||
|
||||
RATING_ROAD_DOWN_STEP = -50,
|
||||
RATING_ROAD_MINIMUM = -100,
|
||||
RATING_HOUSE_MINIMUM = RATING_MINIMUM,
|
||||
RATING_ROAD_MINIMUM = -100,
|
||||
RATING_HOUSE_MINIMUM = RATING_MINIMUM,
|
||||
|
||||
RATING_BRIBE_UP_STEP = 200,
|
||||
RATING_BRIBE_MAXIMUM = 800,
|
||||
|
@ -132,9 +132,9 @@ enum {
|
|||
/* This is the base "normal" number of towns on the 8x8 map, when
|
||||
* one town should get grown per tick. The other numbers of towns
|
||||
* are then scaled based on that. */
|
||||
TOWN_GROWTH_FREQUENCY = 23,
|
||||
TOWN_GROWTH_FREQUENCY = 23,
|
||||
/* Simple value that indicates the house has reached final stage of construction*/
|
||||
TOWN_HOUSE_COMPLETED = 3,
|
||||
TOWN_HOUSE_COMPLETED = 3,
|
||||
};
|
||||
|
||||
/* This enum is used in conjonction with town->flags12.
|
||||
|
|
150
town_cmd.c
150
town_cmd.c
|
@ -788,24 +788,24 @@ static bool GrowTown(Town *t)
|
|||
static void UpdateTownRadius(Town *t)
|
||||
{
|
||||
static const uint16 _town_radius_data[23][5] = {
|
||||
{ 4, 0, 0, 0, 0}, // 0
|
||||
{16, 0, 0, 0, 0},
|
||||
{25, 0, 0, 0, 0},
|
||||
{36, 0, 0, 0, 0},
|
||||
{49, 0, 4, 0, 0},
|
||||
{64, 0, 4, 0, 0}, // 20
|
||||
{64, 0, 9, 0, 1},
|
||||
{64, 0, 9, 0, 4},
|
||||
{64, 0, 16, 0, 4},
|
||||
{81, 0, 16, 0, 4},
|
||||
{81, 0, 16, 0, 4}, // 40
|
||||
{81, 0, 25, 0, 9},
|
||||
{81, 36, 25, 0, 9},
|
||||
{81, 36, 25, 16, 9},
|
||||
{81, 49, 0, 25, 9},
|
||||
{81, 64, 0, 25, 9}, // 60
|
||||
{81, 64, 0, 36, 9},
|
||||
{81, 64, 0, 36, 16},
|
||||
{ 4, 0, 0, 0, 0}, // 0
|
||||
{ 16, 0, 0, 0, 0},
|
||||
{ 25, 0, 0, 0, 0},
|
||||
{ 36, 0, 0, 0, 0},
|
||||
{ 49, 0, 4, 0, 0},
|
||||
{ 64, 0, 4, 0, 0}, // 20
|
||||
{ 64, 0, 9, 0, 1},
|
||||
{ 64, 0, 9, 0, 4},
|
||||
{ 64, 0, 16, 0, 4},
|
||||
{ 81, 0, 16, 0, 4},
|
||||
{ 81, 0, 16, 0, 4}, // 40
|
||||
{ 81, 0, 25, 0, 9},
|
||||
{ 81, 36, 25, 0, 9},
|
||||
{ 81, 36, 25, 16, 9},
|
||||
{ 81, 49, 0, 25, 9},
|
||||
{ 81, 64, 0, 25, 9}, // 60
|
||||
{ 81, 64, 0, 36, 9},
|
||||
{ 81, 64, 0, 36, 16},
|
||||
{100, 81, 0, 49, 16},
|
||||
{100, 81, 0, 49, 25},
|
||||
{121, 81, 0, 49, 25}, // 80
|
||||
|
@ -1794,9 +1794,9 @@ void ChangeTownRating(Town *t, int add, int max)
|
|||
/* penalty for removing town-owned stuff */
|
||||
static const int _default_rating_settings [3][3] = {
|
||||
// ROAD_REMOVE, TUNNELBRIDGE_REMOVE, INDUSTRY_REMOVE
|
||||
{ 0, 128, 384}, // Permissive
|
||||
{ 48, 192, 480}, // Neutral
|
||||
{ 96, 384, 768}, // Hostile
|
||||
{ 0, 128, 384}, // Permissive
|
||||
{ 48, 192, 480}, // Neutral
|
||||
{ 96, 384, 768}, // Hostile
|
||||
};
|
||||
|
||||
bool CheckforTownRating(uint32 flags, Town *t, byte type)
|
||||
|
@ -1857,80 +1857,80 @@ void InitializeTowns(void)
|
|||
}
|
||||
|
||||
const TileTypeProcs _tile_type_town_procs = {
|
||||
DrawTile_Town, /* draw_tile_proc */
|
||||
GetSlopeZ_Town, /* get_slope_z_proc */
|
||||
ClearTile_Town, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Town, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Town, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Town, /* get_tile_track_status_proc */
|
||||
ClickTile_Town, /* click_tile_proc */
|
||||
AnimateTile_Town, /* animate_tile_proc */
|
||||
TileLoop_Town, /* tile_loop_clear */
|
||||
ChangeTileOwner_Town, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
NULL, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Town, /* get_slope_tileh_proc */
|
||||
DrawTile_Town, /* draw_tile_proc */
|
||||
GetSlopeZ_Town, /* get_slope_z_proc */
|
||||
ClearTile_Town, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Town, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Town, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Town, /* get_tile_track_status_proc */
|
||||
ClickTile_Town, /* click_tile_proc */
|
||||
AnimateTile_Town, /* animate_tile_proc */
|
||||
TileLoop_Town, /* tile_loop_clear */
|
||||
ChangeTileOwner_Town, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
NULL, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Town, /* get_slope_tileh_proc */
|
||||
};
|
||||
|
||||
|
||||
// Save and load of towns.
|
||||
static const SaveLoad _town_desc[] = {
|
||||
SLE_CONDVAR(Town, xy, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Town, xy, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town, xy, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Town, xy, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
|
||||
SLE_CONDVAR(Town,population, SLE_FILE_U16 | SLE_VAR_U32, 0, 2),
|
||||
SLE_CONDVAR(Town,population, SLE_UINT32, 3, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town, population, SLE_FILE_U16 | SLE_VAR_U32, 0, 2),
|
||||
SLE_CONDVAR(Town, population, SLE_UINT32, 3, SL_MAX_VERSION),
|
||||
|
||||
|
||||
SLE_VAR(Town,num_houses, SLE_UINT16),
|
||||
SLE_VAR(Town,townnametype,SLE_UINT16),
|
||||
SLE_VAR(Town,townnameparts,SLE_UINT32),
|
||||
SLE_VAR(Town, num_houses, SLE_UINT16),
|
||||
SLE_VAR(Town, townnametype, SLE_UINT16),
|
||||
SLE_VAR(Town, townnameparts, SLE_UINT32),
|
||||
|
||||
SLE_VAR(Town,flags12, SLE_UINT8),
|
||||
SLE_VAR(Town,statues, SLE_UINT8),
|
||||
SLE_VAR(Town, flags12, SLE_UINT8),
|
||||
SLE_VAR(Town, statues, SLE_UINT8),
|
||||
|
||||
// sort_index_obsolete was stored here in savegame format 0 - 1
|
||||
SLE_CONDNULL(1, 0, 1),
|
||||
|
||||
SLE_VAR(Town,have_ratings,SLE_UINT8),
|
||||
SLE_ARR(Town,ratings, SLE_INT16, 8),
|
||||
SLE_VAR(Town, have_ratings, SLE_UINT8),
|
||||
SLE_ARR(Town, ratings, SLE_INT16, 8),
|
||||
// failed bribe attempts are stored since savegame format 4
|
||||
SLE_CONDARR(Town,unwanted, SLE_INT8, 8, 4,SL_MAX_VERSION),
|
||||
SLE_CONDARR(Town, unwanted, SLE_INT8, 8, 4,SL_MAX_VERSION),
|
||||
|
||||
SLE_CONDVAR(Town,max_pass, SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town,max_mail, SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town,new_max_pass,SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town,new_max_mail,SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town,act_pass, SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town,act_mail, SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town,new_act_pass,SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town,new_act_mail,SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town, max_pass, SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town, max_mail, SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town, new_max_pass, SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town, new_max_mail, SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town, act_pass, SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town, act_mail, SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town, new_act_pass, SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
SLE_CONDVAR(Town, new_act_mail, SLE_FILE_U16 | SLE_VAR_U32, 0, 8),
|
||||
|
||||
SLE_CONDVAR(Town,max_pass, SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town,max_mail, SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town,new_max_pass,SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town,new_max_mail,SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town,act_pass, SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town,act_mail, SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town,new_act_pass,SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town,new_act_mail,SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town, max_pass, SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town, max_mail, SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town, new_max_pass, SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town, new_max_mail, SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town, act_pass, SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town, act_mail, SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town, new_act_pass, SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Town, new_act_mail, SLE_UINT32, 9, SL_MAX_VERSION),
|
||||
|
||||
SLE_VAR(Town,pct_pass_transported,SLE_UINT8),
|
||||
SLE_VAR(Town,pct_mail_transported,SLE_UINT8),
|
||||
SLE_VAR(Town, pct_pass_transported, SLE_UINT8),
|
||||
SLE_VAR(Town, pct_mail_transported, SLE_UINT8),
|
||||
|
||||
SLE_VAR(Town,act_food, SLE_UINT16),
|
||||
SLE_VAR(Town,act_water, SLE_UINT16),
|
||||
SLE_VAR(Town,new_act_food,SLE_UINT16),
|
||||
SLE_VAR(Town,new_act_water,SLE_UINT16),
|
||||
SLE_VAR(Town, act_food, SLE_UINT16),
|
||||
SLE_VAR(Town, act_water, SLE_UINT16),
|
||||
SLE_VAR(Town, new_act_food, SLE_UINT16),
|
||||
SLE_VAR(Town, new_act_water, SLE_UINT16),
|
||||
|
||||
SLE_VAR(Town,time_until_rebuild, SLE_UINT8),
|
||||
SLE_VAR(Town,grow_counter, SLE_UINT8),
|
||||
SLE_VAR(Town,growth_rate, SLE_UINT8),
|
||||
SLE_VAR(Town,fund_buildings_months, SLE_UINT8),
|
||||
SLE_VAR(Town,road_build_months, SLE_UINT8),
|
||||
SLE_VAR(Town, time_until_rebuild, SLE_UINT8),
|
||||
SLE_VAR(Town, grow_counter, SLE_UINT8),
|
||||
SLE_VAR(Town, growth_rate, SLE_UINT8),
|
||||
SLE_VAR(Town, fund_buildings_months, SLE_UINT8),
|
||||
SLE_VAR(Town, road_build_months, SLE_UINT8),
|
||||
|
||||
SLE_VAR(Town,exclusivity, SLE_UINT8),
|
||||
SLE_VAR(Town,exclusive_counter, SLE_UINT8),
|
||||
SLE_VAR(Town, exclusivity, SLE_UINT8),
|
||||
SLE_VAR(Town, exclusive_counter, SLE_UINT8),
|
||||
// reserve extra space in savegame here. (currently 30 bytes)
|
||||
SLE_CONDNULL(30, 2, SL_MAX_VERSION),
|
||||
|
||||
|
|
68
town_gui.c
68
town_gui.c
|
@ -18,13 +18,13 @@
|
|||
#include "variables.h"
|
||||
|
||||
static const Widget _town_authority_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 316, 0, 13, STR_2022_LOCAL_AUTHORITY, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 316, 14, 105, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 306, 106, 157, 0x0, STR_2043_LIST_OF_THINGS_TO_DO_AT},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, 13, 305, 316, 106, 157, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 316, 158, 209, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 0, 316, 210, 221, STR_2042_DO_IT, STR_2044_CARRY_OUT_THE_HIGHLIGHTED},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 316, 14, 105, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 306, 106, 157, 0x0, STR_2043_LIST_OF_THINGS_TO_DO_AT},
|
||||
{ WWT_SCROLLBAR, RESIZE_NONE, 13, 305, 316, 106, 157, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 316, 158, 209, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 0, 316, 210, 221, STR_2042_DO_IT, STR_2044_CARRY_OUT_THE_HIGHLIGHTED},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -291,15 +291,15 @@ static void TownViewWndProc(Window *w, WindowEvent *e)
|
|||
|
||||
|
||||
static const Widget _town_view_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 247, 0, 13, STR_2005, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 13, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 259, 14, 105, 0x0, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 13, 2, 257, 16, 103, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 259, 106, 137, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 0, 85, 138, 149, STR_00E4_LOCATION, STR_200B_CENTER_THE_MAIN_VIEW_ON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 86, 171, 138, 149, STR_2020_LOCAL_AUTHORITY,STR_2021_SHOW_INFORMATION_ON_LOCAL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 172, 259, 138, 149, STR_0130_RENAME, STR_200C_CHANGE_TOWN_NAME},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 247, 0, 13, STR_2005, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 13, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 259, 14, 105, 0x0, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 13, 2, 257, 16, 103, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 259, 106, 137, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 0, 85, 138, 149, STR_00E4_LOCATION, STR_200B_CENTER_THE_MAIN_VIEW_ON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 86, 171, 138, 149, STR_2020_LOCAL_AUTHORITY, STR_2021_SHOW_INFORMATION_ON_LOCAL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 172, 259, 138, 149, STR_0130_RENAME, STR_200C_CHANGE_TOWN_NAME},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -312,17 +312,17 @@ static const WindowDesc _town_view_desc = {
|
|||
};
|
||||
|
||||
static const Widget _town_view_scen_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 172, 0, 13, STR_2005, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 172, 0, 13, STR_2005, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 13, 248, 259, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 259, 14, 105, 0x0, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 13, 2, 257, 16, 103, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 259, 106, 137, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 0, 85, 138, 149, STR_00E4_LOCATION, STR_200B_CENTER_THE_MAIN_VIEW_ON},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 173, 247, 0, 13, STR_0130_RENAME, STR_200C_CHANGE_TOWN_NAME},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 86, 171, 138, 149, STR_023C_EXPAND, STR_023B_INCREASE_SIZE_OF_TOWN},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 172, 259, 138, 149, STR_0290_DELETE, STR_0291_DELETE_THIS_TOWN_COMPLETELY},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 259, 14, 105, 0x0, STR_NULL},
|
||||
{ WWT_6, RESIZE_NONE, 13, 2, 257, 16, 103, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 13, 0, 259, 106, 137, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 0, 85, 138, 149, STR_00E4_LOCATION, STR_200B_CENTER_THE_MAIN_VIEW_ON},
|
||||
{ WWT_EMPTY, RESIZE_NONE, 0, 0, 0, 0, 0, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 173, 247, 0, 13, STR_0130_RENAME, STR_200C_CHANGE_TOWN_NAME},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 86, 171, 138, 149, STR_023C_EXPAND, STR_023B_INCREASE_SIZE_OF_TOWN},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 172, 259, 138, 149, STR_0290_DELETE, STR_0291_DELETE_THIS_TOWN_COMPLETELY},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -351,15 +351,15 @@ void ShowTownViewWindow(TownID town)
|
|||
}
|
||||
|
||||
static const Widget _town_directory_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 195, 0, 13, STR_2000_TOWNS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 13, 196, 207, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 0, 98, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 99, 195, 14, 25, STR_SORT_BY_POPULATION, STR_SORT_ORDER_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_BOTTOM, 13, 0, 195, 26, 189, 0x0, STR_200A_TOWN_NAMES_CLICK_ON_NAME},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 13, 196, 207, 14, 189, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_TB, 13, 0, 195, 190, 201, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 13, 196, 207, 190, 201, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 13, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 13, 11, 195, 0, 13, STR_2000_TOWNS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 13, 196, 207, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 0, 98, 14, 25, STR_SORT_BY_NAME, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 13, 99, 195, 14, 25, STR_SORT_BY_POPULATION, STR_SORT_ORDER_TIP},
|
||||
{ WWT_IMGBTN, RESIZE_BOTTOM, 13, 0, 195, 26, 189, 0x0, STR_200A_TOWN_NAMES_CLICK_ON_NAME},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 13, 196, 207, 14, 189, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_TB, 13, 0, 195, 190, 201, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 13, 196, 207, 190, 201, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
24
train_cmd.c
24
train_cmd.c
|
@ -35,8 +35,8 @@
|
|||
static bool TrainCheckIfLineEnds(Vehicle *v);
|
||||
static void TrainController(Vehicle *v);
|
||||
|
||||
static const byte _vehicle_initial_x_fract[4] = {10,8,4,8};
|
||||
static const byte _vehicle_initial_y_fract[4] = {8,4,8,10};
|
||||
static const byte _vehicle_initial_x_fract[4] = {10, 8, 4, 8};
|
||||
static const byte _vehicle_initial_y_fract[4] = { 8, 4, 8, 10};
|
||||
static const byte _state_dir_table[4] = { 0x20, 8, 0x10, 4 };
|
||||
|
||||
/**
|
||||
|
@ -2171,12 +2171,12 @@ static void FillWithStationData(TrainTrackFollowerData* fd, const Vehicle* v)
|
|||
}
|
||||
|
||||
static const byte _initial_tile_subcoord[6][4][3] = {
|
||||
{{ 15, 8, 1 },{ 0, 0, 0 },{ 0, 8, 5 },{ 0, 0, 0 }},
|
||||
{{ 0, 0, 0 },{ 8, 0, 3 },{ 0, 0, 0 },{ 8,15, 7 }},
|
||||
{{ 0, 0, 0 },{ 7, 0, 2 },{ 0, 7, 6 },{ 0, 0, 0 }},
|
||||
{{ 15, 8, 2 },{ 0, 0, 0 },{ 0, 0, 0 },{ 8,15, 6 }},
|
||||
{{ 15, 7, 0 },{ 8, 0, 4 },{ 0, 0, 0 },{ 0, 0, 0 }},
|
||||
{{ 0, 0, 0 },{ 0, 0, 0 },{ 0, 8, 4 },{ 7,15, 0 }},
|
||||
{{ 15, 8, 1 }, { 0, 0, 0 }, { 0, 8, 5 }, { 0, 0, 0 }},
|
||||
{{ 0, 0, 0 }, { 8, 0, 3 }, { 0, 0, 0 }, { 8, 15, 7 }},
|
||||
{{ 0, 0, 0 }, { 7, 0, 2 }, { 0, 7, 6 }, { 0, 0, 0 }},
|
||||
{{ 15, 8, 2 }, { 0, 0, 0 }, { 0, 0, 0 }, { 8, 15, 6 }},
|
||||
{{ 15, 7, 0 }, { 8, 0, 4 }, { 0, 0, 0 }, { 0, 0, 0 }},
|
||||
{{ 0, 0, 0 }, { 0, 0, 0 }, { 0, 8, 4 }, { 7, 15, 0 }},
|
||||
};
|
||||
|
||||
static const uint32 _reachable_tracks[4] = {
|
||||
|
@ -2712,10 +2712,10 @@ typedef struct {
|
|||
|
||||
static const RailtypeSlowdownParams _railtype_slowdown[] = {
|
||||
// normal accel
|
||||
{256/4, 256/2, 256/4, 2}, // normal
|
||||
{256/4, 256/2, 256/4, 2}, // electrified
|
||||
{256/4, 256/2, 256/4, 2}, // monorail
|
||||
{0, 256/2, 256/4, 2}, // maglev
|
||||
{256 / 4, 256 / 2, 256 / 4, 2}, // normal
|
||||
{256 / 4, 256 / 2, 256 / 4, 2}, // electrified
|
||||
{256 / 4, 256 / 2, 256 / 4, 2}, // monorail
|
||||
{0, 256 / 2, 256 / 4, 2}, // maglev
|
||||
};
|
||||
|
||||
/* Modify the speed of the vehicle due to a turn */
|
||||
|
|
134
train_gui.c
134
train_gui.c
|
@ -302,14 +302,14 @@ static void NewRailVehicleWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _new_rail_vehicle_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 227, 0, 13, STR_JUST_STRING, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 215, 14, 125, 0x801, STR_8843_TRAIN_VEHICLE_SELECTION},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 216, 227, 14, 125, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 0, 227, 126, 197, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 107, 198, 209, STR_881F_BUILD_VEHICLE, STR_8844_BUILD_THE_HIGHLIGHTED_TRAIN},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 108, 215, 198, 209, STR_8820_RENAME, STR_8845_RENAME_TRAIN_VEHICLE_TYPE},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 14, 216, 227, 198, 209, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 227, 0, 13, STR_JUST_STRING, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 215, 14, 125, 0x801, STR_8843_TRAIN_VEHICLE_SELECTION},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 216, 227, 14, 125, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 0, 227, 126, 197, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 107, 198, 209, STR_881F_BUILD_VEHICLE, STR_8844_BUILD_THE_HIGHLIGHTED_TRAIN},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 108, 215, 198, 209, STR_8820_RENAME, STR_8845_RENAME_TRAIN_VEHICLE_TYPE},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 14, 216, 227, 198, 209, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -772,25 +772,25 @@ static void TrainDepotWndProc(Window *w, WindowEvent *e)
|
|||
}
|
||||
|
||||
static const Widget _train_depot_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 348, 0, 13, STR_8800_TRAIN_DEPOT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 349, 360, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 348, 0, 13, STR_8800_TRAIN_DEPOT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 349, 360, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 326, 348, 14, 13, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_LRTB, 14, 326, 348, 14, 54, 0x2A9, STR_8841_DRAG_TRAIN_VEHICLE_TO_HERE},
|
||||
{ WWT_PANEL, RESIZE_LRTB, 14, 326, 348, 55, 109, 0x2BF, STR_DRAG_WHOLE_TRAIN_TO_SELL_TIP},
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 326, 348, 14, 13, 0x0, STR_NULL},
|
||||
{ WWT_PANEL, RESIZE_LRTB, 14, 326, 348, 14, 54, 0x2A9, STR_8841_DRAG_TRAIN_VEHICLE_TO_HERE},
|
||||
{ WWT_PANEL, RESIZE_LRTB, 14, 326, 348, 55, 109, 0x2BF, STR_DRAG_WHOLE_TRAIN_TO_SELL_TIP},
|
||||
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 325, 14, 97, 0x601, STR_883F_TRAINS_CLICK_ON_TRAIN_FOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 349, 360, 14, 109, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 116, 110, 121, STR_8815_NEW_VEHICLES, STR_8840_BUILD_NEW_TRAIN_VEHICLE},
|
||||
{WWT_NODISTXTBTN, RESIZE_TB, 14, 117, 232, 110, 121, STR_CLONE_TRAIN, STR_CLONE_TRAIN_DEPOT_INFO},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 233, 348, 110, 121, STR_00E4_LOCATION, STR_8842_CENTER_MAIN_VIEW_ON_TRAIN},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 325, 14, 97, 0x601, STR_883F_TRAINS_CLICK_ON_TRAIN_FOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 349, 360, 14, 109, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 116, 110, 121, STR_8815_NEW_VEHICLES, STR_8840_BUILD_NEW_TRAIN_VEHICLE},
|
||||
{WWT_NODISTXTBTN, RESIZE_TB, 14, 117, 232, 110, 121, STR_CLONE_TRAIN, STR_CLONE_TRAIN_DEPOT_INFO},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 233, 348, 110, 121, STR_00E4_LOCATION, STR_8842_CENTER_MAIN_VIEW_ON_TRAIN},
|
||||
|
||||
|
||||
{ WWT_HSCROLLBAR, RESIZE_RTB, 14, 0, 325, 98, 109, 0x0, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 349, 348, 110, 121, 0x0, STR_NULL},
|
||||
{ WWT_HSCROLLBAR, RESIZE_RTB, 14, 0, 325, 98, 109, 0x0, STR_HSCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 349, 348, 110, 121, 0x0, STR_NULL},
|
||||
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 349, 360, 110, 121, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 349, 360, 110, 121, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -868,11 +868,11 @@ static void RailVehicleRefitWndProc(Window *w, WindowEvent *e)
|
|||
|
||||
|
||||
static const Widget _rail_vehicle_refit_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 239, 0, 13, STR_983B_REFIT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 239, 14, 135, 0x0, STR_RAIL_SELECT_TYPE_OF_CARGO_FOR},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 239, 136, 157, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 239, 158, 169, STR_RAIL_REFIT_VEHICLE,STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 239, 0, 13, STR_983B_REFIT, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 239, 14, 135, 0x0, STR_RAIL_SELECT_TYPE_OF_CARGO_FOR},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 239, 136, 157, 0x0, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 239, 158, 169, STR_RAIL_REFIT_VEHICLE, STR_RAIL_REFIT_TO_CARRY_HIGHLIGHTED},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
@ -896,22 +896,22 @@ static void ShowRailVehicleRefitWindow(Vehicle *v)
|
|||
}
|
||||
|
||||
static const Widget _train_view_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 237, 0, 13, STR_882E, STR_018C_WINDOW_TITLE_DRAG_THIS },
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 238, 249, 0, 13, 0x0, STR_STICKY_BUTTON },
|
||||
{ WWT_PANEL, RESIZE_RB, 14, 0, 231, 14, 121, 0x0, STR_NULL },
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 229, 16, 119, 0x0, STR_NULL },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_RTB, 14, 0, 237, 122, 133, 0x0, STR_8846_CURRENT_TRAIN_ACTION_CLICK },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 14, 31, 0x2AB, STR_8848_CENTER_MAIN_VIEW_ON_TRAIN },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, 0x2AD, STR_8849_SEND_TRAIN_TO_DEPOT },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 50, 67, 0x2B1, STR_884A_FORCE_TRAIN_TO_PROCEED },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 68, 85, 0x2CB, STR_884B_REVERSE_DIRECTION_OF_TRAIN },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 86, 103, 0x2B2, STR_8847_SHOW_TRAIN_S_ORDERS },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 104, 121, 0x2B3, STR_884C_SHOW_TRAIN_DETAILS },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 68, 85, 0x2B4, STR_RAIL_REFIT_VEHICLE_TO_CARRY },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, SPR_CLONE_TRAIN, STR_CLONE_TRAIN_INFO },
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 232, 249, 122, 121, 0x0, STR_NULL },
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 238, 249, 122, 133, 0x0, STR_NULL },
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW },
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 237, 0, 13, STR_882E, STR_018C_WINDOW_TITLE_DRAG_THIS },
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 238, 249, 0, 13, 0x0, STR_STICKY_BUTTON },
|
||||
{ WWT_PANEL, RESIZE_RB, 14, 0, 231, 14, 121, 0x0, STR_NULL },
|
||||
{ WWT_6, RESIZE_RB, 14, 2, 229, 16, 119, 0x0, STR_NULL },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_RTB, 14, 0, 237, 122, 133, 0x0, STR_8846_CURRENT_TRAIN_ACTION_CLICK },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 14, 31, 0x2AB, STR_8848_CENTER_MAIN_VIEW_ON_TRAIN },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, 0x2AD, STR_8849_SEND_TRAIN_TO_DEPOT },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 50, 67, 0x2B1, STR_884A_FORCE_TRAIN_TO_PROCEED },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 68, 85, 0x2CB, STR_884B_REVERSE_DIRECTION_OF_TRAIN },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 86, 103, 0x2B2, STR_8847_SHOW_TRAIN_S_ORDERS },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 104, 121, 0x2B3, STR_884C_SHOW_TRAIN_DETAILS },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 68, 85, 0x2B4, STR_RAIL_REFIT_VEHICLE_TO_CARRY },
|
||||
{ WWT_PUSHIMGBTN, RESIZE_LR, 14, 232, 249, 32, 49, SPR_CLONE_TRAIN, STR_CLONE_TRAIN_INFO },
|
||||
{ WWT_PANEL, RESIZE_LRB, 14, 232, 249, 122, 121, 0x0, STR_NULL },
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 238, 249, 122, 133, 0x0, STR_NULL },
|
||||
{ WIDGETS_END }
|
||||
};
|
||||
|
||||
|
@ -1369,34 +1369,34 @@ static void ShowTrainDetailsWindow(const Vehicle *v)
|
|||
}
|
||||
|
||||
static const Widget _player_trains_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 312, 0, 13, STR_881B_TRAINS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 313, 324, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 324, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 312, 26, 207, 0x701, STR_883D_TRAINS_CLICK_ON_TRAIN_FOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 313, 324, 26, 207, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 156, 208, 219, STR_8815_NEW_VEHICLES, STR_883E_BUILD_NEW_TRAINS_REQUIRES},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 157, 312, 208, 219, STR_REPLACE_VEHICLES, STR_REPLACE_HELP},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 313, 312, 208, 219, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 313, 324, 208, 219, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 312, 0, 13, STR_881B_TRAINS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 313, 324, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 324, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 312, 26, 207, 0x701, STR_883D_TRAINS_CLICK_ON_TRAIN_FOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 313, 324, 26, 207, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 156, 208, 219, STR_8815_NEW_VEHICLES, STR_883E_BUILD_NEW_TRAINS_REQUIRES},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 157, 312, 208, 219, STR_REPLACE_VEHICLES, STR_REPLACE_HELP},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 313, 312, 208, 219, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 313, 324, 208, 219, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _other_player_trains_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 312, 0, 13, STR_881B_TRAINS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 313, 324, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 324, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 312, 26, 207, 0x701, STR_883D_TRAINS_CLICK_ON_TRAIN_FOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 313, 324, 26, 207, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 0, 312, 208, 219, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 313, 324, 208, 219, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_RIGHT, 14, 11, 312, 0, 13, STR_881B_TRAINS, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_LR, 14, 313, 324, 0, 13, 0x0, STR_STICKY_BUTTON},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_NONE, 14, 0, 80, 14, 25, STR_SORT_BY, STR_SORT_ORDER_TIP},
|
||||
{ WWT_PANEL, RESIZE_NONE, 14, 81, 235, 14, 25, 0x0, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_TEXTBTN, RESIZE_NONE, 14, 236, 247, 14, 25, STR_0225, STR_SORT_CRITERIA_TIP},
|
||||
{ WWT_PANEL, RESIZE_RIGHT, 14, 248, 324, 14, 25, 0x0, STR_NULL},
|
||||
{ WWT_MATRIX, RESIZE_RB, 14, 0, 312, 26, 207, 0x701, STR_883D_TRAINS_CLICK_ON_TRAIN_FOR},
|
||||
{ WWT_SCROLLBAR, RESIZE_LRB, 14, 313, 324, 26, 207, 0x0, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_RTB, 14, 0, 312, 208, 219, 0x0, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_LRTB, 14, 313, 324, 208, 219, 0x0, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
26
tree_cmd.c
26
tree_cmd.c
|
@ -657,17 +657,17 @@ void InitializeTrees(void)
|
|||
|
||||
|
||||
const TileTypeProcs _tile_type_trees_procs = {
|
||||
DrawTile_Trees, /* draw_tile_proc */
|
||||
GetSlopeZ_Trees, /* get_slope_z_proc */
|
||||
ClearTile_Trees, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Trees, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Trees, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Trees, /* get_tile_track_status_proc */
|
||||
ClickTile_Trees, /* click_tile_proc */
|
||||
AnimateTile_Trees, /* animate_tile_proc */
|
||||
TileLoop_Trees, /* tile_loop_clear */
|
||||
ChangeTileOwner_Trees, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
NULL, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Trees, /* get_slope_tileh_proc */
|
||||
DrawTile_Trees, /* draw_tile_proc */
|
||||
GetSlopeZ_Trees, /* get_slope_z_proc */
|
||||
ClearTile_Trees, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Trees, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Trees, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Trees, /* get_tile_track_status_proc */
|
||||
ClickTile_Trees, /* click_tile_proc */
|
||||
AnimateTile_Trees, /* animate_tile_proc */
|
||||
TileLoop_Trees, /* tile_loop_clear */
|
||||
ChangeTileOwner_Trees, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
NULL, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Trees, /* get_slope_tileh_proc */
|
||||
};
|
||||
|
|
|
@ -846,9 +846,9 @@ uint GetBridgeHeight(TileIndex t)
|
|||
}
|
||||
|
||||
static const byte _bridge_foundations[][31] = {
|
||||
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 _S _W _N _E
|
||||
{ 0,16,18, 3,20, 5, 0, 7,22, 0,10,11,12,13,14, 0, 0, 0, 0, 0, 0, 0, 0,18, 0, 0, 0,16, 0,22,20 },
|
||||
{ 0,15,17, 0,19, 5, 6, 7,21, 9,10,11, 0,13,14, 0, 0, 0, 0, 0, 0, 0, 0,17, 0, 0, 0,15, 0,21,19 }
|
||||
// 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 _S _W _N _E
|
||||
{ 0, 16, 18, 3, 20, 5, 0, 7, 22, 0, 10, 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 16, 0, 22, 20 },
|
||||
{ 0, 15, 17, 0, 19, 5, 6, 7, 21, 9, 10, 11, 0, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 15, 0, 21, 19 }
|
||||
};
|
||||
|
||||
extern const byte _road_sloped_sprites[14];
|
||||
|
@ -1218,7 +1218,7 @@ static const StringID _bridge_tile_str[(MAX_BRIDGES + 3) + (MAX_BRIDGES + 3)] =
|
|||
STR_5027_TUBULAR_RAIL_BRIDGE,
|
||||
STR_5027_TUBULAR_RAIL_BRIDGE,
|
||||
STR_5027_TUBULAR_RAIL_BRIDGE,
|
||||
0,0,0,
|
||||
0, 0, 0,
|
||||
|
||||
STR_5025_WOODEN_ROAD_BRIDGE,
|
||||
STR_5026_CONCRETE_ROAD_BRIDGE,
|
||||
|
@ -1233,7 +1233,7 @@ static const StringID _bridge_tile_str[(MAX_BRIDGES + 3) + (MAX_BRIDGES + 3)] =
|
|||
STR_5028_TUBULAR_ROAD_BRIDGE,
|
||||
STR_5028_TUBULAR_ROAD_BRIDGE,
|
||||
STR_5028_TUBULAR_ROAD_BRIDGE,
|
||||
0,0,0,
|
||||
0, 0, 0,
|
||||
};
|
||||
|
||||
static void GetTileDesc_TunnelBridge(TileIndex tile, TileDesc *td)
|
||||
|
@ -1330,18 +1330,18 @@ static void ChangeTileOwner_TunnelBridge(TileIndex tile, PlayerID old_player, Pl
|
|||
}
|
||||
|
||||
|
||||
static const byte _tunnel_fractcoord_1[4] = {0x8E,0x18,0x81,0xE8};
|
||||
static const byte _tunnel_fractcoord_2[4] = {0x81,0x98,0x87,0x38};
|
||||
static const byte _tunnel_fractcoord_3[4] = {0x82,0x88,0x86,0x48};
|
||||
static const byte _exit_tunnel_track[4] = {1,2,1,2};
|
||||
static const byte _tunnel_fractcoord_1[4] = {0x8E, 0x18, 0x81, 0xE8};
|
||||
static const byte _tunnel_fractcoord_2[4] = {0x81, 0x98, 0x87, 0x38};
|
||||
static const byte _tunnel_fractcoord_3[4] = {0x82, 0x88, 0x86, 0x48};
|
||||
static const byte _exit_tunnel_track[4] = {1, 2, 1, 2};
|
||||
|
||||
static const byte _road_exit_tunnel_state[4] = {8, 9, 0, 1};
|
||||
static const byte _road_exit_tunnel_frame[4] = {2, 7, 9, 4};
|
||||
|
||||
static const byte _tunnel_fractcoord_4[4] = {0x52, 0x85, 0x98, 0x29};
|
||||
static const byte _tunnel_fractcoord_5[4] = {0x92, 0x89, 0x58, 0x25};
|
||||
static const byte _tunnel_fractcoord_6[4] = {0x92, 0x89, 0x56, 0x45};
|
||||
static const byte _tunnel_fractcoord_7[4] = {0x52, 0x85, 0x96, 0x49};
|
||||
static const byte _tunnel_fractcoord_4[4] = {0x52, 0x85, 0x98, 0x29};
|
||||
static const byte _tunnel_fractcoord_5[4] = {0x92, 0x89, 0x58, 0x25};
|
||||
static const byte _tunnel_fractcoord_6[4] = {0x92, 0x89, 0x56, 0x45};
|
||||
static const byte _tunnel_fractcoord_7[4] = {0x52, 0x85, 0x96, 0x49};
|
||||
|
||||
static uint32 VehicleEnter_TunnelBridge(Vehicle *v, TileIndex tile, int x, int y)
|
||||
{
|
||||
|
@ -1454,17 +1454,17 @@ TileIndex GetVehicleOutOfTunnelTile(const Vehicle *v)
|
|||
}
|
||||
|
||||
const TileTypeProcs _tile_type_tunnelbridge_procs = {
|
||||
DrawTile_TunnelBridge, /* draw_tile_proc */
|
||||
GetSlopeZ_TunnelBridge, /* get_slope_z_proc */
|
||||
ClearTile_TunnelBridge, /* clear_tile_proc */
|
||||
GetAcceptedCargo_TunnelBridge, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_TunnelBridge, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_TunnelBridge,/* get_tile_track_status_proc */
|
||||
ClickTile_TunnelBridge, /* click_tile_proc */
|
||||
AnimateTile_TunnelBridge, /* animate_tile_proc */
|
||||
TileLoop_TunnelBridge, /* tile_loop_clear */
|
||||
ChangeTileOwner_TunnelBridge, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
VehicleEnter_TunnelBridge, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_TunnelBridge, /* get_slope_tileh_proc */
|
||||
DrawTile_TunnelBridge, /* draw_tile_proc */
|
||||
GetSlopeZ_TunnelBridge, /* get_slope_z_proc */
|
||||
ClearTile_TunnelBridge, /* clear_tile_proc */
|
||||
GetAcceptedCargo_TunnelBridge, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_TunnelBridge, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_TunnelBridge, /* get_tile_track_status_proc */
|
||||
ClickTile_TunnelBridge, /* click_tile_proc */
|
||||
AnimateTile_TunnelBridge, /* animate_tile_proc */
|
||||
TileLoop_TunnelBridge, /* tile_loop_clear */
|
||||
ChangeTileOwner_TunnelBridge, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
VehicleEnter_TunnelBridge, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_TunnelBridge, /* get_slope_tileh_proc */
|
||||
};
|
||||
|
|
216
variables.h
216
variables.h
|
@ -82,131 +82,131 @@ VARDEF byte _saved_scrollpos_zoom;
|
|||
// ********* END OF SAVE REGION
|
||||
|
||||
typedef struct Patches {
|
||||
bool modified_catchment; //different-size catchment areas
|
||||
bool vehicle_speed; // show vehicle speed
|
||||
bool build_on_slopes; // allow building on slopes
|
||||
bool mammoth_trains; // allow very long trains
|
||||
bool join_stations; // allow joining of train stations
|
||||
bool full_load_any; // new full load calculation, any cargo must be full
|
||||
bool improved_load; // improved loading algorithm
|
||||
byte station_spread; // amount a station may spread
|
||||
bool inflation; // disable inflation
|
||||
bool selectgoods; // only send the goods to station if a train has been there
|
||||
bool longbridges; // allow 100 tile long bridges
|
||||
bool gotodepot; // allow goto depot in orders
|
||||
bool build_rawmaterial_ind; // allow building raw material industries
|
||||
bool multiple_industry_per_town; // allow many industries of the same type per town
|
||||
bool same_industry_close; // allow same type industries to be built close to each other
|
||||
uint16 lost_train_days; // if a train doesn't switch order in this amount of days, a train is lost warning is shown
|
||||
bool modified_catchment; // different-size catchment areas
|
||||
bool vehicle_speed; // show vehicle speed
|
||||
bool build_on_slopes; // allow building on slopes
|
||||
bool mammoth_trains; // allow very long trains
|
||||
bool join_stations; // allow joining of train stations
|
||||
bool full_load_any; // new full load calculation, any cargo must be full
|
||||
bool improved_load; // improved loading algorithm
|
||||
byte station_spread; // amount a station may spread
|
||||
bool inflation; // disable inflation
|
||||
bool selectgoods; // only send the goods to station if a train has been there
|
||||
bool longbridges; // allow 100 tile long bridges
|
||||
bool gotodepot; // allow goto depot in orders
|
||||
bool build_rawmaterial_ind; // allow building raw material industries
|
||||
bool multiple_industry_per_town; // allow many industries of the same type per town
|
||||
bool same_industry_close; // allow same type industries to be built close to each other
|
||||
uint16 lost_train_days; // if a train doesn't switch order in this amount of days, a train is lost warning is shown
|
||||
uint8 order_review_system;
|
||||
bool train_income_warn; // if train is generating little income, show a warning
|
||||
bool status_long_date; // always show long date in status bar
|
||||
bool signal_side; // show signals on right side
|
||||
bool show_finances; // show finances at end of year
|
||||
bool new_nonstop; // ttdpatch compatible nonstop handling
|
||||
bool roadveh_queue; // buggy road vehicle queueing
|
||||
bool autoscroll; // scroll when moving mouse to the edge.
|
||||
byte errmsg_duration; // duration of error message
|
||||
byte land_generator; // the landscape generator
|
||||
byte oil_refinery_limit; // distance oil refineries allowed from map edge
|
||||
byte snow_line_height; // a number 0-15 that configured snow line height
|
||||
byte tgen_smoothness; // how rough is the terrain from 0-3
|
||||
uint32 generation_seed; // noise seed for world generation
|
||||
byte tree_placer; // the tree placer algorithm
|
||||
byte heightmap_rotation;// rotation director for the heightmap
|
||||
uint16 progress_update_interval;// interval between two updates of the progress in hundreds of milliseconds
|
||||
byte se_flat_world_height; // land height a flat world gets in SE
|
||||
bool bribe; // enable bribing the local authority
|
||||
bool nonuniform_stations;// allow nonuniform train stations
|
||||
bool always_small_airport; // always allow small airports
|
||||
bool realistic_acceleration; // realistic acceleration for trains
|
||||
bool wagon_speed_limits; // enable wagon speed limits
|
||||
bool forbid_90_deg; // forbid trains to make 90 deg turns
|
||||
bool invisible_trees; // don't show trees when buildings are transparent
|
||||
bool train_income_warn; // if train is generating little income, show a warning
|
||||
bool status_long_date; // always show long date in status bar
|
||||
bool signal_side; // show signals on right side
|
||||
bool show_finances; // show finances at end of year
|
||||
bool new_nonstop; // ttdpatch compatible nonstop handling
|
||||
bool roadveh_queue; // buggy road vehicle queueing
|
||||
bool autoscroll; // scroll when moving mouse to the edge.
|
||||
byte errmsg_duration; // duration of error message
|
||||
byte land_generator; // the landscape generator
|
||||
byte oil_refinery_limit; // distance oil refineries allowed from map edge
|
||||
byte snow_line_height; // a number 0-15 that configured snow line height
|
||||
byte tgen_smoothness; // how rough is the terrain from 0-3
|
||||
uint32 generation_seed; // noise seed for world generation
|
||||
byte tree_placer; // the tree placer algorithm
|
||||
byte heightmap_rotation; // rotation director for the heightmap
|
||||
uint16 progress_update_interval; // interval between two updates of the progress in hundreds of milliseconds
|
||||
byte se_flat_world_height; // land height a flat world gets in SE
|
||||
bool bribe; // enable bribing the local authority
|
||||
bool nonuniform_stations; // allow nonuniform train stations
|
||||
bool always_small_airport; // always allow small airports
|
||||
bool realistic_acceleration; // realistic acceleration for trains
|
||||
bool wagon_speed_limits; // enable wagon speed limits
|
||||
bool forbid_90_deg; // forbid trains to make 90 deg turns
|
||||
bool invisible_trees; // don't show trees when buildings are transparent
|
||||
bool no_servicing_if_no_breakdowns; // dont send vehicles to depot when breakdowns are disabled
|
||||
bool link_terraform_toolbar; // display terraform toolbar when displaying rail, road, water and airport toolbars
|
||||
bool reverse_scroll; // Right-Click-Scrolling scrolls in the opposite direction
|
||||
bool link_terraform_toolbar; // display terraform toolbar when displaying rail, road, water and airport toolbars
|
||||
bool reverse_scroll; // Right-Click-Scrolling scrolls in the opposite direction
|
||||
|
||||
uint8 toolbar_pos; // position of toolbars, 0=left, 1=center, 2=right
|
||||
uint8 window_snap_radius; // Windows snap at each other if closer than this
|
||||
uint8 toolbar_pos; // position of toolbars, 0=left, 1=center, 2=right
|
||||
uint8 window_snap_radius; // Windows snap at each other if closer than this
|
||||
|
||||
UnitID max_trains; //max trains in game per player (these are 16bit because the unitnumber field can't hold more)
|
||||
UnitID max_roadveh; //max trucks in game per player
|
||||
UnitID max_aircraft; //max planes in game per player
|
||||
UnitID max_ships; //max ships in game per player
|
||||
UnitID max_trains; // max trains in game per player (these are 16bit because the unitnumber field can't hold more)
|
||||
UnitID max_roadveh; // max trucks in game per player
|
||||
UnitID max_aircraft; // max planes in game per player
|
||||
UnitID max_ships; // max ships in game per player
|
||||
|
||||
bool servint_ispercent; // service intervals are in percents
|
||||
uint16 servint_trains; // service interval for trains
|
||||
uint16 servint_roadveh; // service interval for road vehicles
|
||||
uint16 servint_aircraft;// service interval for aircraft
|
||||
uint16 servint_ships; // service interval for ships
|
||||
bool servint_ispercent; // service intervals are in percents
|
||||
uint16 servint_trains; // service interval for trains
|
||||
uint16 servint_roadveh; // service interval for road vehicles
|
||||
uint16 servint_aircraft; // service interval for aircraft
|
||||
uint16 servint_ships; // service interval for ships
|
||||
|
||||
bool autorenew;
|
||||
int16 autorenew_months;
|
||||
int32 autorenew_money;
|
||||
|
||||
byte pf_maxdepth; // maximum recursion depth when searching for a train route for new pathfinder
|
||||
uint16 pf_maxlength; // maximum length when searching for a train route for new pathfinder
|
||||
byte pf_maxdepth; // maximum recursion depth when searching for a train route for new pathfinder
|
||||
uint16 pf_maxlength; // maximum length when searching for a train route for new pathfinder
|
||||
|
||||
|
||||
bool bridge_pillars; // show bridge pillars for high bridges
|
||||
bool bridge_pillars; // show bridge pillars for high bridges
|
||||
|
||||
bool ai_disable_veh_train; // disable types for AI
|
||||
bool ai_disable_veh_roadveh; // disable types for AI
|
||||
bool ai_disable_veh_aircraft; // disable types for AI
|
||||
bool ai_disable_veh_ship; // disable types for AI
|
||||
Year starting_year; // starting date
|
||||
Year ending_year; // end of the game (just show highscore)
|
||||
Year colored_news_year; // when does newspaper become colored?
|
||||
bool ai_disable_veh_train; // disable types for AI
|
||||
bool ai_disable_veh_roadveh; // disable types for AI
|
||||
bool ai_disable_veh_aircraft; // disable types for AI
|
||||
bool ai_disable_veh_ship; // disable types for AI
|
||||
Year starting_year; // starting date
|
||||
Year ending_year; // end of the game (just show highscore)
|
||||
Year colored_news_year; // when does newspaper become colored?
|
||||
|
||||
bool keep_all_autosave; // name the autosave in a different way.
|
||||
bool autosave_on_exit; // save an autosave when you quit the game, but do not ask "Do you really want to quit?"
|
||||
byte max_num_autosaves; // controls how many autosavegames are made before the game starts to overwrite (names them 0 to max_num_autosaves - 1)
|
||||
bool extra_dynamite; // extra dynamite
|
||||
bool keep_all_autosave; // name the autosave in a different way.
|
||||
bool autosave_on_exit; // save an autosave when you quit the game, but do not ask "Do you really want to quit?"
|
||||
byte max_num_autosaves; // controls how many autosavegames are made before the game starts to overwrite (names them 0 to max_num_autosaves - 1)
|
||||
bool extra_dynamite; // extra dynamite
|
||||
|
||||
bool never_expire_vehicles; // never expire vehicles
|
||||
byte extend_vehicle_life; // extend vehicle life by this many years
|
||||
bool never_expire_vehicles; // never expire vehicles
|
||||
byte extend_vehicle_life; // extend vehicle life by this many years
|
||||
|
||||
bool auto_euro; // automatically switch to euro in 2002
|
||||
bool serviceathelipad; // service helicopters at helipads automatically (no need to send to depot)
|
||||
bool smooth_economy; // smooth economy
|
||||
bool allow_shares; // allow the buying/selling of shares
|
||||
byte dist_local_authority; // distance for town local authority, default 20
|
||||
bool auto_euro; // automatically switch to euro in 2002
|
||||
bool serviceathelipad; // service helicopters at helipads automatically (no need to send to depot)
|
||||
bool smooth_economy; // smooth economy
|
||||
bool allow_shares; // allow the buying/selling of shares
|
||||
byte dist_local_authority; // distance for town local authority, default 20
|
||||
|
||||
byte wait_oneway_signal; //waitingtime in days before a oneway signal
|
||||
byte wait_twoway_signal; //waitingtime in days before a twoway signal
|
||||
byte wait_oneway_signal; // waitingtime in days before a oneway signal
|
||||
byte wait_twoway_signal; // waitingtime in days before a twoway signal
|
||||
|
||||
uint8 map_x; // Size of map
|
||||
uint8 map_x; // Size of map
|
||||
uint8 map_y;
|
||||
|
||||
byte drag_signals_density; // many signals density
|
||||
bool ainew_active; // Is the new AI active?
|
||||
bool ai_in_multiplayer; // Do we allow AIs in multiplayer
|
||||
byte drag_signals_density; // many signals density
|
||||
bool ainew_active; // Is the new AI active?
|
||||
bool ai_in_multiplayer; // Do we allow AIs in multiplayer
|
||||
|
||||
/*
|
||||
* New Path Finding
|
||||
*/
|
||||
* New Path Finding
|
||||
*/
|
||||
bool new_pathfinding_all; /* Use the newest pathfinding algorithm for all */
|
||||
|
||||
/**
|
||||
* The maximum amount of search nodes a single NPF run should take. This
|
||||
* limit should make sure performance stays at acceptable levels at the cost
|
||||
* of not being perfect anymore. This will probably be fixed in a more
|
||||
* sophisticated way sometime soon
|
||||
*/
|
||||
* The maximum amount of search nodes a single NPF run should take. This
|
||||
* limit should make sure performance stays at acceptable levels at the cost
|
||||
* of not being perfect anymore. This will probably be fixed in a more
|
||||
* sophisticated way sometime soon
|
||||
*/
|
||||
uint32 npf_max_search_nodes;
|
||||
|
||||
uint32 npf_rail_firstred_penalty; /* The penalty for when the first signal is red (and it is not an exit or combo signal) */
|
||||
uint32 npf_rail_firstred_penalty; /* The penalty for when the first signal is red (and it is not an exit or combo signal) */
|
||||
uint32 npf_rail_firstred_exit_penalty; /* The penalty for when the first signal is red (and it is an exit or combo signal) */
|
||||
uint32 npf_rail_lastred_penalty; /* The penalty for when the last signal is red */
|
||||
uint32 npf_rail_station_penalty; /* The penalty for station tiles */
|
||||
uint32 npf_rail_slope_penalty; /* The penalty for sloping upwards */
|
||||
uint32 npf_rail_curve_penalty; /* The penalty for curves */
|
||||
uint32 npf_rail_lastred_penalty; /* The penalty for when the last signal is red */
|
||||
uint32 npf_rail_station_penalty; /* The penalty for station tiles */
|
||||
uint32 npf_rail_slope_penalty; /* The penalty for sloping upwards */
|
||||
uint32 npf_rail_curve_penalty; /* The penalty for curves */
|
||||
uint32 npf_rail_depot_reverse_penalty; /* The penalty for reversing in depots */
|
||||
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_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 */
|
||||
|
||||
bool population_in_label; // Show the population of a town in his label?
|
||||
|
||||
|
@ -229,16 +229,16 @@ typedef struct Cheat {
|
|||
// Only add new entries at the end of the struct!
|
||||
|
||||
typedef struct Cheats {
|
||||
Cheat magic_bulldozer; // dynamite industries, unmovables
|
||||
Cheat switch_player; // change to another player
|
||||
Cheat money; // get rich
|
||||
Cheat crossing_tunnels; // allow tunnels that cross each other
|
||||
Cheat build_in_pause; // build while in pause mode
|
||||
Cheat no_jetcrash; // no jet will crash on small airports anymore
|
||||
Cheat magic_bulldozer; // dynamite industries, unmovables
|
||||
Cheat switch_player; // change to another player
|
||||
Cheat money; // get rich
|
||||
Cheat crossing_tunnels; // allow tunnels that cross each other
|
||||
Cheat build_in_pause; // build while in pause mode
|
||||
Cheat no_jetcrash; // no jet will crash on small airports anymore
|
||||
Cheat switch_climate;
|
||||
Cheat change_date; //changes date ingame
|
||||
Cheat setup_prod; //setup raw-material production in game
|
||||
Cheat elrail; //allow electric engines to be powered on conventional rail
|
||||
Cheat change_date; // changes date ingame
|
||||
Cheat setup_prod; // setup raw-material production in game
|
||||
Cheat elrail; // allow electric engines to be powered on conventional rail
|
||||
} Cheats;
|
||||
|
||||
VARDEF Cheats _cheats;
|
||||
|
@ -281,10 +281,10 @@ VARDEF int32 _additional_cash_required;
|
|||
|
||||
VARDEF uint32 _decode_parameters[20];
|
||||
|
||||
VARDEF uint32 _pressed_key; // Low 8 bits = ASCII, High 16 bits = keycode
|
||||
VARDEF bool _ctrl_pressed; // Is Ctrl pressed?
|
||||
VARDEF uint32 _pressed_key; // Low 8 bits = ASCII, High 16 bits = keycode
|
||||
VARDEF bool _ctrl_pressed; // Is Ctrl pressed?
|
||||
VARDEF bool _shift_pressed; // Is Alt pressed?
|
||||
VARDEF byte _dirkeys; // 1=left, 2=up, 4=right, 8=down
|
||||
VARDEF byte _dirkeys; // 1 = left, 2 = up, 4 = right, 8 = down
|
||||
|
||||
VARDEF bool _fullscreen;
|
||||
VARDEF bool _fast_forward;
|
||||
|
|
516
vehicle.c
516
vehicle.c
|
@ -1100,131 +1100,131 @@ typedef struct BubbleMovement {
|
|||
#define ME(i) { i, 4, 0, 0 }
|
||||
|
||||
static const BubbleMovement _bubble_float_sw[] = {
|
||||
MK(0,0,1,0),
|
||||
MK(1,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(1,0,1,2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(1, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(1, 0, 1, 2),
|
||||
ME(1)
|
||||
};
|
||||
|
||||
|
||||
static const BubbleMovement _bubble_float_ne[] = {
|
||||
MK(0,0,1,0),
|
||||
MK(-1,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(-1,0,1,2),
|
||||
MK( 0, 0, 1, 0),
|
||||
MK(-1, 0, 1, 1),
|
||||
MK( 0, 0, 1, 0),
|
||||
MK(-1, 0, 1, 2),
|
||||
ME(1)
|
||||
};
|
||||
|
||||
static const BubbleMovement _bubble_float_se[] = {
|
||||
MK(0,0,1,0),
|
||||
MK(0,1,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,1,1,2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 1, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 1, 1, 2),
|
||||
ME(1)
|
||||
};
|
||||
|
||||
static const BubbleMovement _bubble_float_nw[] = {
|
||||
MK(0,0,1,0),
|
||||
MK(0,-1,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,-1,1,2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, -1, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, -1, 1, 2),
|
||||
ME(1)
|
||||
};
|
||||
|
||||
static const BubbleMovement _bubble_burst[] = {
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,7),
|
||||
MK(0,0,1,8),
|
||||
MK(0,0,1,9),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 7),
|
||||
MK(0, 0, 1, 8),
|
||||
MK(0, 0, 1, 9),
|
||||
ME(0)
|
||||
};
|
||||
|
||||
static const BubbleMovement _bubble_absorb[] = {
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(0,0,1,1),
|
||||
MK(2,1,3,0),
|
||||
MK(1,1,3,1),
|
||||
MK(2,1,3,0),
|
||||
MK(1,1,3,2),
|
||||
MK(2,1,3,0),
|
||||
MK(1,1,3,1),
|
||||
MK(2,1,3,0),
|
||||
MK(1,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(1,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(1,0,1,2),
|
||||
MK(0,0,1,0),
|
||||
MK(1,0,1,1),
|
||||
MK(0,0,1,0),
|
||||
MK(1,0,1,2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(0, 0, 1, 1),
|
||||
MK(2, 1, 3, 0),
|
||||
MK(1, 1, 3, 1),
|
||||
MK(2, 1, 3, 0),
|
||||
MK(1, 1, 3, 2),
|
||||
MK(2, 1, 3, 0),
|
||||
MK(1, 1, 3, 1),
|
||||
MK(2, 1, 3, 0),
|
||||
MK(1, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(1, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(1, 0, 1, 2),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(1, 0, 1, 1),
|
||||
MK(0, 0, 1, 0),
|
||||
MK(1, 0, 1, 2),
|
||||
ME(2),
|
||||
MK(0,0,0,0xA),
|
||||
MK(0,0,0,0xB),
|
||||
MK(0,0,0,0xC),
|
||||
MK(0,0,0,0xD),
|
||||
MK(0,0,0,0xE),
|
||||
MK(0, 0, 0, 0xA),
|
||||
MK(0, 0, 0, 0xB),
|
||||
MK(0, 0, 0, 0xC),
|
||||
MK(0, 0, 0, 0xD),
|
||||
MK(0, 0, 0, 0xE),
|
||||
ME(0)
|
||||
};
|
||||
#undef ME
|
||||
|
@ -1422,13 +1422,13 @@ void DecreaseVehicleValue(Vehicle *v)
|
|||
}
|
||||
|
||||
static const byte _breakdown_chance[64] = {
|
||||
3, 3, 3, 3, 3, 3, 3, 3,
|
||||
4, 4, 5, 5, 6, 6, 7, 7,
|
||||
8, 8, 9, 9, 10, 10, 11, 11,
|
||||
12, 13, 13, 13, 13, 14, 15, 16,
|
||||
17, 19, 21, 25, 28, 31, 34, 37,
|
||||
40, 44, 48, 52, 56, 60, 64, 68,
|
||||
72, 80, 90, 100, 110, 120, 130, 140,
|
||||
3, 3, 3, 3, 3, 3, 3, 3,
|
||||
4, 4, 5, 5, 6, 6, 7, 7,
|
||||
8, 8, 9, 9, 10, 10, 11, 11,
|
||||
12, 13, 13, 13, 13, 14, 15, 16,
|
||||
17, 19, 21, 25, 28, 31, 34, 37,
|
||||
40, 44, 48, 52, 56, 60, 64, 68,
|
||||
72, 80, 90, 100, 110, 120, 130, 140,
|
||||
150, 170, 190, 210, 230, 250, 250, 250,
|
||||
};
|
||||
|
||||
|
@ -2138,116 +2138,116 @@ PalSpriteID GetVehiclePalette(const Vehicle *v)
|
|||
|
||||
// Save and load of vehicles
|
||||
const SaveLoad _common_veh_desc[] = {
|
||||
SLE_VAR(Vehicle,subtype, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, subtype, SLE_UINT8),
|
||||
|
||||
SLE_REF(Vehicle,next, REF_VEHICLE_OLD),
|
||||
SLE_VAR(Vehicle,string_id, SLE_STRINGID),
|
||||
SLE_CONDVAR(Vehicle,unitnumber, SLE_FILE_U8 | SLE_VAR_U16, 0, 7),
|
||||
SLE_CONDVAR(Vehicle,unitnumber, SLE_UINT16, 8, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle,owner, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle,tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle,tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle,dest_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle,dest_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_REF(Vehicle, next, REF_VEHICLE_OLD),
|
||||
SLE_VAR(Vehicle, string_id, SLE_STRINGID),
|
||||
SLE_CONDVAR(Vehicle, unitnumber, SLE_FILE_U8 | SLE_VAR_U16, 0, 7),
|
||||
SLE_CONDVAR(Vehicle, unitnumber, SLE_UINT16, 8, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle, owner, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle, tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle, tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle, dest_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle, dest_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
|
||||
SLE_CONDVAR(Vehicle,x_pos, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle,x_pos, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle,y_pos, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle,y_pos, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle,z_pos, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,direction, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle, x_pos, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle, x_pos, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle, y_pos, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle, y_pos, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle, z_pos, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, direction, SLE_UINT8),
|
||||
|
||||
SLE_VAR(Vehicle,cur_image, SLE_UINT16),
|
||||
SLE_VAR(Vehicle,spritenum, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,sprite_width, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,sprite_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,z_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,x_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle,y_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle,engine_type, SLE_UINT16),
|
||||
SLE_VAR(Vehicle, cur_image, SLE_UINT16),
|
||||
SLE_VAR(Vehicle, spritenum, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, sprite_width, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, sprite_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, z_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, x_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle, y_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle, engine_type, SLE_UINT16),
|
||||
|
||||
SLE_VAR(Vehicle,max_speed, SLE_UINT16),
|
||||
SLE_VAR(Vehicle,cur_speed, SLE_UINT16),
|
||||
SLE_VAR(Vehicle,subspeed, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,acceleration, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,progress, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, max_speed, SLE_UINT16),
|
||||
SLE_VAR(Vehicle, cur_speed, SLE_UINT16),
|
||||
SLE_VAR(Vehicle, subspeed, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, acceleration, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, progress, SLE_UINT8),
|
||||
|
||||
SLE_VAR(Vehicle,vehstatus, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle,last_station_visited, SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
|
||||
SLE_CONDVAR(Vehicle,last_station_visited, SLE_UINT16, 5, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle, vehstatus, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle, last_station_visited, SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
|
||||
SLE_CONDVAR(Vehicle, last_station_visited, SLE_UINT16, 5, SL_MAX_VERSION),
|
||||
|
||||
SLE_VAR(Vehicle,cargo_type, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,cargo_days, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle,cargo_source, SLE_FILE_U8 | SLE_VAR_U16, 0, 6),
|
||||
SLE_CONDVAR(Vehicle,cargo_source, SLE_UINT16, 7, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle,cargo_cap, SLE_UINT16),
|
||||
SLE_VAR(Vehicle,cargo_count, SLE_UINT16),
|
||||
SLE_VAR(Vehicle, cargo_type, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, cargo_days, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle, cargo_source, SLE_FILE_U8 | SLE_VAR_U16, 0, 6),
|
||||
SLE_CONDVAR(Vehicle, cargo_source, SLE_UINT16, 7, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle, cargo_cap, SLE_UINT16),
|
||||
SLE_VAR(Vehicle, cargo_count, SLE_UINT16),
|
||||
|
||||
SLE_VAR(Vehicle,day_counter, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,tick_counter, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, day_counter, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, tick_counter, SLE_UINT8),
|
||||
|
||||
SLE_VAR(Vehicle,cur_order_index, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,num_orders, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, cur_order_index, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, num_orders, SLE_UINT8),
|
||||
|
||||
/* This next line is for version 4 and prior compatibility.. it temporarily reads
|
||||
type and flags (which were both 4 bits) into type. Later on this is
|
||||
converted correctly */
|
||||
SLE_CONDVARX(offsetof(Vehicle, current_order) + offsetof(Order, type), SLE_UINT8, 0, 4),
|
||||
SLE_CONDVARX(offsetof(Vehicle, current_order) + offsetof(Order, type), SLE_UINT8, 0, 4),
|
||||
SLE_CONDVARX(offsetof(Vehicle, current_order) + offsetof(Order, station), SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
|
||||
|
||||
/* Orders for version 5 and on */
|
||||
SLE_CONDVARX(offsetof(Vehicle, current_order) + offsetof(Order, type), SLE_UINT8, 5, SL_MAX_VERSION),
|
||||
SLE_CONDVARX(offsetof(Vehicle, current_order) + offsetof(Order, flags), SLE_UINT8, 5, SL_MAX_VERSION),
|
||||
SLE_CONDVARX(offsetof(Vehicle, current_order) + offsetof(Order, station), SLE_UINT16, 5, SL_MAX_VERSION),
|
||||
SLE_CONDVARX(offsetof(Vehicle, current_order) + offsetof(Order, type), SLE_UINT8, 5, SL_MAX_VERSION),
|
||||
SLE_CONDVARX(offsetof(Vehicle, current_order) + offsetof(Order, flags), SLE_UINT8, 5, SL_MAX_VERSION),
|
||||
SLE_CONDVARX(offsetof(Vehicle, current_order) + offsetof(Order, station), SLE_UINT16, 5, SL_MAX_VERSION),
|
||||
|
||||
SLE_REF(Vehicle,orders, REF_ORDER),
|
||||
SLE_REF(Vehicle, orders, REF_ORDER),
|
||||
|
||||
SLE_CONDVAR(Vehicle,age, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Vehicle,age, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle,max_age, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Vehicle,max_age, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle,date_of_last_service, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Vehicle,date_of_last_service, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle,service_interval, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Vehicle,service_interval, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle,reliability, SLE_UINT16),
|
||||
SLE_VAR(Vehicle,reliability_spd_dec,SLE_UINT16),
|
||||
SLE_VAR(Vehicle,breakdown_ctr, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,breakdown_delay, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,breakdowns_since_last_service, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,breakdown_chance, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle,build_year, SLE_FILE_U8 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Vehicle,build_year, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle, age, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Vehicle, age, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle, max_age, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Vehicle, max_age, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle, date_of_last_service, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Vehicle, date_of_last_service, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle, service_interval, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Vehicle, service_interval, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle, reliability, SLE_UINT16),
|
||||
SLE_VAR(Vehicle, reliability_spd_dec, SLE_UINT16),
|
||||
SLE_VAR(Vehicle, breakdown_ctr, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, breakdown_delay, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, breakdowns_since_last_service, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, breakdown_chance, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle, build_year, SLE_FILE_U8 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Vehicle, build_year, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
|
||||
SLE_VAR(Vehicle,load_unload_time_rem, SLE_UINT16),
|
||||
SLE_VAR(Vehicle, load_unload_time_rem, SLE_UINT16),
|
||||
|
||||
SLE_VAR(Vehicle,profit_this_year, SLE_INT32),
|
||||
SLE_VAR(Vehicle,profit_last_year, SLE_INT32),
|
||||
SLE_VAR(Vehicle,value, SLE_UINT32),
|
||||
SLE_VAR(Vehicle, profit_this_year, SLE_INT32),
|
||||
SLE_VAR(Vehicle, profit_last_year, SLE_INT32),
|
||||
SLE_VAR(Vehicle, value, SLE_UINT32),
|
||||
|
||||
SLE_VAR(Vehicle,random_bits, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,waiting_triggers, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, random_bits, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, waiting_triggers, SLE_UINT8),
|
||||
|
||||
SLE_REF(Vehicle,next_shared, REF_VEHICLE),
|
||||
SLE_REF(Vehicle,prev_shared, REF_VEHICLE),
|
||||
SLE_REF(Vehicle, next_shared, REF_VEHICLE),
|
||||
SLE_REF(Vehicle, prev_shared, REF_VEHICLE),
|
||||
|
||||
// reserve extra space in savegame here. (currently 10 bytes)
|
||||
SLE_CONDNULL(10, 2, SL_MAX_VERSION),
|
||||
SLE_CONDNULL(10, 2, SL_MAX_VERSION),
|
||||
|
||||
SLE_END()
|
||||
};
|
||||
|
||||
|
||||
static const SaveLoad _train_desc[] = {
|
||||
SLE_WRITEBYTE(Vehicle,type,VEH_Train, 0), // Train type. VEH_Train in mem, 0 in file.
|
||||
SLE_WRITEBYTE(Vehicle, type, VEH_Train, 0), // Train type. VEH_Train in mem, 0 in file.
|
||||
SLE_INCLUDEX(0, INC_VEHICLE_COMMON),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleRail,crash_anim_pos), SLE_UINT16),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleRail,force_proceed), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleRail,railtype), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleRail,track), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleRail, crash_anim_pos), SLE_UINT16),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleRail, force_proceed), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleRail, railtype), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleRail, track), SLE_UINT8),
|
||||
|
||||
SLE_CONDVARX(offsetof(Vehicle,u)+offsetof(VehicleRail,flags), SLE_UINT8, 2, SL_MAX_VERSION),
|
||||
SLE_CONDVARX(offsetof(Vehicle,u)+offsetof(VehicleRail,days_since_order_progr), SLE_UINT16, 2, SL_MAX_VERSION),
|
||||
SLE_CONDVARX(offsetof(Vehicle, u) + offsetof(VehicleRail, flags), SLE_UINT8, 2, SL_MAX_VERSION),
|
||||
SLE_CONDVARX(offsetof(Vehicle, u) + offsetof(VehicleRail, days_since_order_progr), SLE_UINT16, 2, SL_MAX_VERSION),
|
||||
|
||||
SLE_CONDNULL(2, 2, 19),
|
||||
// reserve extra space in savegame here. (currently 11 bytes)
|
||||
|
@ -2257,29 +2257,29 @@ static const SaveLoad _train_desc[] = {
|
|||
};
|
||||
|
||||
static const SaveLoad _roadveh_desc[] = {
|
||||
SLE_WRITEBYTE(Vehicle,type,VEH_Road, 1), // Road type. VEH_Road in mem, 1 in file.
|
||||
SLE_WRITEBYTE(Vehicle, type, VEH_Road, 1), // Road type. VEH_Road in mem, 1 in file.
|
||||
SLE_INCLUDEX(0, INC_VEHICLE_COMMON),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleRoad,state), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleRoad,frame), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleRoad,blocked_ctr), SLE_UINT16),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleRoad,overtaking), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleRoad,overtaking_ctr),SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleRoad,crashed_ctr), SLE_UINT16),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleRoad,reverse_ctr), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleRoad, state), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleRoad, frame), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleRoad, blocked_ctr), SLE_UINT16),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleRoad, overtaking), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleRoad, overtaking_ctr), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleRoad, crashed_ctr), SLE_UINT16),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleRoad, reverse_ctr), SLE_UINT8),
|
||||
|
||||
SLE_CONDREFX(offsetof(Vehicle,u)+offsetof(VehicleRoad,slot), REF_ROADSTOPS, 6, SL_MAX_VERSION),
|
||||
SLE_CONDNULL(1, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVARX(offsetof(Vehicle,u)+offsetof(VehicleRoad,slot_age), SLE_UINT8, 6, SL_MAX_VERSION),
|
||||
SLE_CONDREFX(offsetof(Vehicle, u) + offsetof(VehicleRoad, slot), REF_ROADSTOPS, 6, SL_MAX_VERSION),
|
||||
SLE_CONDNULL(1, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVARX(offsetof(Vehicle, u) + offsetof(VehicleRoad, slot_age), SLE_UINT8, 6, SL_MAX_VERSION),
|
||||
// reserve extra space in savegame here. (currently 16 bytes)
|
||||
SLE_CONDNULL(16, 2, SL_MAX_VERSION),
|
||||
SLE_CONDNULL(16, 2, SL_MAX_VERSION),
|
||||
|
||||
SLE_END()
|
||||
};
|
||||
|
||||
static const SaveLoad _ship_desc[] = {
|
||||
SLE_WRITEBYTE(Vehicle,type,VEH_Ship, 2), // Ship type. VEH_Ship in mem, 2 in file.
|
||||
SLE_WRITEBYTE(Vehicle, type, VEH_Ship, 2), // Ship type. VEH_Ship in mem, 2 in file.
|
||||
SLE_INCLUDEX(0, INC_VEHICLE_COMMON),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleShip,state), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleShip, state), SLE_UINT8),
|
||||
|
||||
// reserve extra space in savegame here. (currently 16 bytes)
|
||||
SLE_CONDNULL(16, 2, SL_MAX_VERSION),
|
||||
|
@ -2288,20 +2288,20 @@ static const SaveLoad _ship_desc[] = {
|
|||
};
|
||||
|
||||
static const SaveLoad _aircraft_desc[] = {
|
||||
SLE_WRITEBYTE(Vehicle,type,VEH_Aircraft, 3), // Aircraft type. VEH_Aircraft in mem, 3 in file.
|
||||
SLE_WRITEBYTE(Vehicle, type, VEH_Aircraft, 3), // Aircraft type. VEH_Aircraft in mem, 3 in file.
|
||||
SLE_INCLUDEX(0, INC_VEHICLE_COMMON),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleAir,crashed_counter), SLE_UINT16),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleAir,pos), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleAir, crashed_counter), SLE_UINT16),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleAir, pos), SLE_UINT8),
|
||||
|
||||
SLE_CONDVARX(offsetof(Vehicle,u)+offsetof(VehicleAir,targetairport), SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
|
||||
SLE_CONDVARX(offsetof(Vehicle,u)+offsetof(VehicleAir,targetairport), SLE_UINT16, 5, SL_MAX_VERSION),
|
||||
SLE_CONDVARX(offsetof(Vehicle, u) + offsetof(VehicleAir, targetairport), SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
|
||||
SLE_CONDVARX(offsetof(Vehicle, u) + offsetof(VehicleAir, targetairport), SLE_UINT16, 5, SL_MAX_VERSION),
|
||||
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleAir,state), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleAir, state), SLE_UINT8),
|
||||
|
||||
SLE_CONDVARX(offsetof(Vehicle,u)+offsetof(VehicleAir,previous_pos), SLE_UINT8, 2, SL_MAX_VERSION),
|
||||
SLE_CONDVARX(offsetof(Vehicle, u) + offsetof(VehicleAir, previous_pos), SLE_UINT8, 2, SL_MAX_VERSION),
|
||||
|
||||
// reserve extra space in savegame here. (currently 15 bytes)
|
||||
SLE_CONDNULL(15, 2, SL_MAX_VERSION),
|
||||
SLE_CONDNULL(15, 2, SL_MAX_VERSION),
|
||||
|
||||
SLE_END()
|
||||
};
|
||||
|
@ -2309,28 +2309,28 @@ static const SaveLoad _aircraft_desc[] = {
|
|||
static const SaveLoad _special_desc[] = {
|
||||
SLE_WRITEBYTE(Vehicle,type,VEH_Special, 4),
|
||||
|
||||
SLE_VAR(Vehicle,subtype, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, subtype, SLE_UINT8),
|
||||
|
||||
SLE_CONDVAR(Vehicle,tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle,tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle, tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle, tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
|
||||
SLE_CONDVAR(Vehicle,x_pos, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle,x_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle,y_pos, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle,y_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle,z_pos, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle, x_pos, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle, x_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle, y_pos, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle, y_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle, z_pos, SLE_UINT8),
|
||||
|
||||
SLE_VAR(Vehicle,cur_image, SLE_UINT16),
|
||||
SLE_VAR(Vehicle,sprite_width, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,sprite_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,z_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,x_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle,y_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle,progress, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,vehstatus, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, cur_image, SLE_UINT16),
|
||||
SLE_VAR(Vehicle, sprite_width, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, sprite_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, z_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, x_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle, y_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle, progress, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, vehstatus, SLE_UINT8),
|
||||
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleSpecial,unk0), SLE_UINT16),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleSpecial,unk2), SLE_UINT8),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleSpecial, unk0), SLE_UINT16),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleSpecial, unk2), SLE_UINT8),
|
||||
|
||||
// reserve extra space in savegame here. (currently 16 bytes)
|
||||
SLE_CONDNULL(16, 2, SL_MAX_VERSION),
|
||||
|
@ -2339,43 +2339,43 @@ static const SaveLoad _special_desc[] = {
|
|||
};
|
||||
|
||||
static const SaveLoad _disaster_desc[] = {
|
||||
SLE_WRITEBYTE(Vehicle,type,VEH_Disaster, 5),
|
||||
SLE_WRITEBYTE(Vehicle, type, VEH_Disaster, 5),
|
||||
|
||||
SLE_REF(Vehicle,next, REF_VEHICLE_OLD),
|
||||
SLE_REF(Vehicle, next, REF_VEHICLE_OLD),
|
||||
|
||||
SLE_VAR(Vehicle,subtype, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle,tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle,tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle,dest_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle,dest_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle, subtype, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle, tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle, tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle, dest_tile, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle, dest_tile, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
|
||||
SLE_CONDVAR(Vehicle,x_pos, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle,x_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle,y_pos, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle,y_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle,z_pos, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,direction, SLE_UINT8),
|
||||
SLE_CONDVAR(Vehicle, x_pos, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle, x_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Vehicle, y_pos, SLE_FILE_I16 | SLE_VAR_I32, 0, 5),
|
||||
SLE_CONDVAR(Vehicle, y_pos, SLE_INT32, 6, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle, z_pos, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, direction, SLE_UINT8),
|
||||
|
||||
SLE_VAR(Vehicle,x_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle,y_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle,sprite_width, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,sprite_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,z_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,owner, SLE_UINT8),
|
||||
SLE_VAR(Vehicle,vehstatus, SLE_UINT8),
|
||||
SLE_CONDVARX(offsetof(Vehicle, current_order) + offsetof(Order, station), SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
|
||||
SLE_CONDVARX(offsetof(Vehicle, current_order) + offsetof(Order, station), SLE_UINT16, 5, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle, x_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle, y_offs, SLE_INT8),
|
||||
SLE_VAR(Vehicle, sprite_width, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, sprite_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, z_height, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, owner, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, vehstatus, SLE_UINT8),
|
||||
SLE_CONDVARX(offsetof(Vehicle, current_order) + offsetof(Order, station), SLE_FILE_U8 | SLE_VAR_U16, 0, 4),
|
||||
SLE_CONDVARX(offsetof(Vehicle, current_order) + offsetof(Order, station), SLE_UINT16, 5, SL_MAX_VERSION),
|
||||
|
||||
SLE_VAR(Vehicle,cur_image, SLE_UINT16),
|
||||
SLE_CONDVAR(Vehicle,age, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Vehicle,age, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle,tick_counter, SLE_UINT8),
|
||||
SLE_VAR(Vehicle, cur_image, SLE_UINT16),
|
||||
SLE_CONDVAR(Vehicle, age, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
|
||||
SLE_CONDVAR(Vehicle, age, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_VAR(Vehicle, tick_counter, SLE_UINT8),
|
||||
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleDisaster,image_override), SLE_UINT16),
|
||||
SLE_VARX(offsetof(Vehicle,u)+offsetof(VehicleDisaster,unk2), SLE_UINT16),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleDisaster, image_override), SLE_UINT16),
|
||||
SLE_VARX(offsetof(Vehicle, u) + offsetof(VehicleDisaster, unk2), SLE_UINT16),
|
||||
|
||||
// reserve extra space in savegame here. (currently 16 bytes)
|
||||
SLE_CONDNULL(16, 2, SL_MAX_VERSION),
|
||||
SLE_CONDNULL(16, 2, SL_MAX_VERSION),
|
||||
|
||||
SLE_END()
|
||||
};
|
||||
|
|
104
vehicle.h
104
vehicle.h
|
@ -8,24 +8,24 @@
|
|||
#include "rail.h"
|
||||
|
||||
enum {
|
||||
VEH_Invalid = 0,
|
||||
VEH_Train = 0x10,
|
||||
VEH_Road = 0x11,
|
||||
VEH_Ship = 0x12,
|
||||
VEH_Invalid = 0x00,
|
||||
VEH_Train = 0x10,
|
||||
VEH_Road = 0x11,
|
||||
VEH_Ship = 0x12,
|
||||
VEH_Aircraft = 0x13,
|
||||
VEH_Special = 0x14,
|
||||
VEH_Special = 0x14,
|
||||
VEH_Disaster = 0x15,
|
||||
} ;
|
||||
|
||||
enum VehStatus {
|
||||
VS_HIDDEN = 1,
|
||||
VS_STOPPED = 2,
|
||||
VS_UNCLICKABLE = 4,
|
||||
VS_DEFPAL = 0x8,
|
||||
VS_TRAIN_SLOWING = 0x10,
|
||||
VS_SHADOW = 0x20,
|
||||
VS_HIDDEN = 0x01,
|
||||
VS_STOPPED = 0x02,
|
||||
VS_UNCLICKABLE = 0x04,
|
||||
VS_DEFPAL = 0x08,
|
||||
VS_TRAIN_SLOWING = 0x10,
|
||||
VS_SHADOW = 0x20,
|
||||
VS_AIRCRAFT_BROKEN = 0x40,
|
||||
VS_CRASHED = 0x80,
|
||||
VS_CRASHED = 0x80,
|
||||
};
|
||||
|
||||
/* Effect vehicle types */
|
||||
|
@ -81,14 +81,14 @@ typedef struct VehicleRail {
|
|||
} VehicleRail;
|
||||
|
||||
enum {
|
||||
VRF_REVERSING = 0,
|
||||
VRF_REVERSING = 0,
|
||||
|
||||
// used to calculate if train is going up or down
|
||||
VRF_GOINGUP = 1,
|
||||
VRF_GOINGDOWN = 2,
|
||||
VRF_GOINGUP = 1,
|
||||
VRF_GOINGDOWN = 2,
|
||||
|
||||
// used to store if a wagon is powered or not
|
||||
VRF_POWEREDWAGON = 3,
|
||||
VRF_POWEREDWAGON = 3,
|
||||
|
||||
// used to reverse the visible direction of the vehicle
|
||||
VRF_REVERSE_DIRECTION = 4,
|
||||
|
@ -130,63 +130,63 @@ typedef struct VehicleShip {
|
|||
|
||||
|
||||
struct Vehicle {
|
||||
byte type; // type, ie roadven,train,ship,aircraft,special
|
||||
byte subtype; // subtype (Filled with values from EffectVehicles or TrainSubTypes)
|
||||
byte type; // type, ie roadven,train,ship,aircraft,special
|
||||
byte subtype; // subtype (Filled with values from EffectVehicles or TrainSubTypes)
|
||||
|
||||
VehicleID index; // NOSAVE: Index in vehicle array
|
||||
VehicleID index; // NOSAVE: Index in vehicle array
|
||||
|
||||
Vehicle *next; // next
|
||||
Vehicle *first; // NOSAVE: pointer to the first vehicle in the chain
|
||||
Vehicle *depot_list; //NOSAVE: linked list to tell what vehicles entered a depot during the last tick. Used by autoreplace
|
||||
Vehicle *next; // next
|
||||
Vehicle *first; // NOSAVE: pointer to the first vehicle in the chain
|
||||
Vehicle *depot_list; //NOSAVE: linked list to tell what vehicles entered a depot during the last tick. Used by autoreplace
|
||||
|
||||
StringID string_id; // Displayed string
|
||||
StringID string_id; // Displayed string
|
||||
|
||||
UnitID unitnumber; // unit number, for display purposes only
|
||||
PlayerID owner; // which player owns the vehicle?
|
||||
UnitID unitnumber; // unit number, for display purposes only
|
||||
PlayerID owner; // which player owns the vehicle?
|
||||
|
||||
TileIndex tile; // Current tile index
|
||||
TileIndex dest_tile; // Heading for this tile
|
||||
TileIndex tile; // Current tile index
|
||||
TileIndex dest_tile; // Heading for this tile
|
||||
|
||||
int32 x_pos; // coordinates
|
||||
int32 x_pos; // coordinates
|
||||
int32 y_pos;
|
||||
byte z_pos;
|
||||
byte direction; // facing
|
||||
byte direction; // facing
|
||||
|
||||
byte spritenum; // currently displayed sprite index
|
||||
// 0xfd == custom sprite, 0xfe == custom second head sprite
|
||||
// 0xff == reserved for another custom sprite
|
||||
uint16 cur_image; // sprite number for this vehicle
|
||||
byte sprite_width;// width of vehicle sprite
|
||||
byte sprite_height;// height of vehicle sprite
|
||||
byte z_height; // z-height of vehicle sprite
|
||||
int8 x_offs; // x offset for vehicle sprite
|
||||
int8 y_offs; // y offset for vehicle sprite
|
||||
byte spritenum; // currently displayed sprite index
|
||||
// 0xfd == custom sprite, 0xfe == custom second head sprite
|
||||
// 0xff == reserved for another custom sprite
|
||||
uint16 cur_image; // sprite number for this vehicle
|
||||
byte sprite_width; // width of vehicle sprite
|
||||
byte sprite_height; // height of vehicle sprite
|
||||
byte z_height; // z-height of vehicle sprite
|
||||
int8 x_offs; // x offset for vehicle sprite
|
||||
int8 y_offs; // y offset for vehicle sprite
|
||||
EngineID engine_type;
|
||||
|
||||
// for randomized variational spritegroups
|
||||
// bitmask used to resolve them; parts of it get reseeded when triggers
|
||||
// of corresponding spritegroups get matched
|
||||
byte random_bits;
|
||||
byte waiting_triggers; // triggers to be yet matched
|
||||
byte waiting_triggers; // triggers to be yet matched
|
||||
|
||||
uint16 max_speed; // maximum speed
|
||||
uint16 cur_speed; // current speed
|
||||
byte subspeed; // fractional speed
|
||||
byte acceleration; // used by train & aircraft
|
||||
uint16 max_speed; // maximum speed
|
||||
uint16 cur_speed; // current speed
|
||||
byte subspeed; // fractional speed
|
||||
byte acceleration; // used by train & aircraft
|
||||
byte progress;
|
||||
|
||||
byte vehstatus; // Status
|
||||
byte vehstatus; // Status
|
||||
StationID last_station_visited;
|
||||
|
||||
CargoID cargo_type; // type of cargo this vehicle is carrying
|
||||
byte cargo_days; // how many days have the pieces been in transit
|
||||
StationID cargo_source;// source of cargo
|
||||
uint16 cargo_cap; // total capacity
|
||||
uint16 cargo_count;// how many pieces are used
|
||||
CargoID cargo_type; // type of cargo this vehicle is carrying
|
||||
byte cargo_days; // how many days have the pieces been in transit
|
||||
StationID cargo_source; // source of cargo
|
||||
uint16 cargo_cap; // total capacity
|
||||
uint16 cargo_count; // how many pieces are used
|
||||
byte cargo_subtype; ///< Used for livery refits (NewGRF variations)
|
||||
|
||||
byte day_counter; // increased by one for each day
|
||||
byte tick_counter;// increased by one for each tick
|
||||
byte day_counter; // increased by one for each day
|
||||
byte tick_counter; // increased by one for each tick
|
||||
|
||||
/* Begin Order-stuff */
|
||||
Order current_order; ///< The current order (+ status, like: loading)
|
||||
|
@ -220,7 +220,7 @@ struct Vehicle {
|
|||
byte breakdown_chance;
|
||||
Year build_year;
|
||||
|
||||
bool leave_depot_instantly; // NOSAVE: stores if the vehicle needs to leave the depot it just entered. Used by autoreplace
|
||||
bool leave_depot_instantly; // NOSAVE: stores if the vehicle needs to leave the depot it just entered. Used by autoreplace
|
||||
|
||||
uint16 load_unload_time_rem;
|
||||
|
||||
|
|
|
@ -1051,36 +1051,36 @@ static const Widget _replace_rail_vehicle_widgets[] = {
|
|||
};
|
||||
|
||||
static const Widget _replace_road_vehicle_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 443, 0, 13, STR_REPLACE_VEHICLES_WHITE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 14, 444, 455, 0, 13, STR_NULL, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 0, 227, 126, 197, STR_NULL, STR_NULL},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 14, 444, 455, 0, 13, STR_NULL, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 0, 227, 126, 197, STR_NULL, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 138, 198, 209, STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 139, 305, 198, 209, STR_NULL, STR_REPLACE_HELP_REPLACE_INFO_TAB},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 139, 305, 198, 209, STR_NULL, STR_REPLACE_HELP_REPLACE_INFO_TAB},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 306, 443, 198, 209, STR_REPLACE_VEHICLES_STOP, STR_REPLACE_HELP_STOP_BUTTON},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 215, 14, 125, 0x801, STR_REPLACE_HELP_LEFT_ARRAY},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 216, 227, 14, 125, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 228, 443, 14, 125, 0x801, STR_REPLACE_HELP_RIGHT_ARRAY},
|
||||
{ WWT_SCROLL2BAR, RESIZE_BOTTOM, 14, 444, 455, 14, 125, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 228, 455, 126, 197, STR_NULL, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 14, 444, 455, 198, 209, STR_NULL, STR_RESIZE_BUTTON},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 215, 14, 125, 0x801, STR_REPLACE_HELP_LEFT_ARRAY},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 216, 227, 14, 125, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 228, 443, 14, 125, 0x801, STR_REPLACE_HELP_RIGHT_ARRAY},
|
||||
{ WWT_SCROLL2BAR, RESIZE_BOTTOM, 14, 444, 455, 14, 125, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 228, 455, 126, 197, STR_NULL, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 14, 444, 455, 198, 209, STR_NULL, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
static const Widget _replace_ship_aircraft_vehicle_widgets[] = {
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CLOSEBOX, RESIZE_NONE, 14, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
|
||||
{ WWT_CAPTION, RESIZE_NONE, 14, 11, 443, 0, 13, STR_REPLACE_VEHICLES_WHITE, STR_018C_WINDOW_TITLE_DRAG_THIS},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 14, 444, 455, 0, 13, STR_NULL, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 0, 227, 110, 181, STR_NULL, STR_NULL},
|
||||
{ WWT_STICKYBOX, RESIZE_NONE, 14, 444, 455, 0, 13, STR_NULL, STR_STICKY_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 0, 227, 110, 181, STR_NULL, STR_NULL},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 0, 138, 182, 193, STR_REPLACE_VEHICLES_START, STR_REPLACE_HELP_START_BUTTON},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 139, 305, 182, 193, STR_NULL, STR_REPLACE_HELP_REPLACE_INFO_TAB},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 139, 305, 182, 193, STR_NULL, STR_REPLACE_HELP_REPLACE_INFO_TAB},
|
||||
{ WWT_PUSHTXTBTN, RESIZE_TB, 14, 306, 443, 182, 193, STR_REPLACE_VEHICLES_STOP, STR_REPLACE_HELP_STOP_BUTTON},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 215, 14, 109, 0x401, STR_REPLACE_HELP_LEFT_ARRAY},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 216, 227, 14, 109, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 228, 443, 14, 109, 0x401, STR_REPLACE_HELP_RIGHT_ARRAY},
|
||||
{ WWT_SCROLL2BAR, RESIZE_BOTTOM, 14, 444, 455, 14, 109, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 228, 455, 110, 181, STR_NULL, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 14, 444, 455, 182, 193, STR_NULL, STR_RESIZE_BUTTON},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 0, 215, 14, 109, 0x401, STR_REPLACE_HELP_LEFT_ARRAY},
|
||||
{ WWT_SCROLLBAR, RESIZE_BOTTOM, 14, 216, 227, 14, 109, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_MATRIX, RESIZE_BOTTOM, 14, 228, 443, 14, 109, 0x401, STR_REPLACE_HELP_RIGHT_ARRAY},
|
||||
{ WWT_SCROLL2BAR, RESIZE_BOTTOM, 14, 444, 455, 14, 109, STR_NULL, STR_0190_SCROLL_BAR_SCROLLS_LIST},
|
||||
{ WWT_PANEL, RESIZE_TB, 14, 228, 455, 110, 181, STR_NULL, STR_NULL},
|
||||
{ WWT_RESIZEBOX, RESIZE_TB, 14, 444, 455, 182, 193, STR_NULL, STR_RESIZE_BUTTON},
|
||||
{ WIDGETS_END},
|
||||
};
|
||||
|
||||
|
|
48
viewport.h
48
viewport.h
|
@ -4,11 +4,11 @@
|
|||
#define VIEWPORT_H
|
||||
|
||||
struct ViewPort {
|
||||
int left,top; // screen coordinates for the viewport
|
||||
int width, height; // screen width/height for the viewport
|
||||
int left,top; // screen coordinates for the viewport
|
||||
int width, height; // screen width/height for the viewport
|
||||
|
||||
int virtual_left, virtual_top; // virtual coordinates
|
||||
int virtual_width, virtual_height; // these are just width << zoom, height << zoom
|
||||
int virtual_left, virtual_top; // virtual coordinates
|
||||
int virtual_width, virtual_height; // these are just width << zoom, height << zoom
|
||||
|
||||
byte zoom;
|
||||
};
|
||||
|
@ -49,41 +49,41 @@ void VpSetPlaceSizingLimit(int limit);
|
|||
Vehicle *CheckMouseOverVehicle(void);
|
||||
|
||||
enum {
|
||||
VPM_X_OR_Y = 0,
|
||||
VPM_FIX_X = 1,
|
||||
VPM_FIX_Y = 2,
|
||||
VPM_RAILDIRS = 3,
|
||||
VPM_X_AND_Y = 4,
|
||||
VPM_X_OR_Y = 0,
|
||||
VPM_FIX_X = 1,
|
||||
VPM_FIX_Y = 2,
|
||||
VPM_RAILDIRS = 3,
|
||||
VPM_X_AND_Y = 4,
|
||||
VPM_X_AND_Y_LIMITED = 5,
|
||||
VPM_SIGNALDIRS = 6
|
||||
VPM_SIGNALDIRS = 6
|
||||
};
|
||||
|
||||
// viewport highlight mode (for highlighting tiles below cursor)
|
||||
enum {
|
||||
VHM_NONE = 0, // default
|
||||
VHM_RECT = 1, // rectangle (stations, depots, ...)
|
||||
VHM_POINT = 2, // point (lower land, raise land, level land, ...)
|
||||
VHM_NONE = 0, // default
|
||||
VHM_RECT = 1, // rectangle (stations, depots, ...)
|
||||
VHM_POINT = 2, // point (lower land, raise land, level land, ...)
|
||||
VHM_SPECIAL = 3, // special mode used for highlighting while dragging (and for tunnels/docks)
|
||||
VHM_DRAG = 4, // dragging items in the depot windows
|
||||
VHM_RAIL = 5, // rail pieces
|
||||
VHM_DRAG = 4, // dragging items in the depot windows
|
||||
VHM_RAIL = 5, // rail pieces
|
||||
};
|
||||
|
||||
void VpSelectTilesWithMethod(int x, int y, int method);
|
||||
|
||||
// highlighting draw styles
|
||||
enum {
|
||||
HT_NONE = 0,
|
||||
HT_RECT = 0x80,
|
||||
HT_POINT = 0x40,
|
||||
HT_LINE = 0x20, /* used for autorail highlighting (longer streches)
|
||||
* (uses lower bits to indicate direction) */
|
||||
HT_RAIL = 0x10, /* autorail (one piece)
|
||||
* (uses lower bits to indicate direction) */
|
||||
HT_NONE = 0x00,
|
||||
HT_RECT = 0x80,
|
||||
HT_POINT = 0x40,
|
||||
HT_LINE = 0x20, /* used for autorail highlighting (longer streches)
|
||||
* (uses lower bits to indicate direction) */
|
||||
HT_RAIL = 0x10, /* autorail (one piece)
|
||||
* (uses lower bits to indicate direction) */
|
||||
|
||||
/* lower bits (used with HT_LINE and HT_RAIL):
|
||||
* (see ASCII art in autorail.h for a visual interpretation) */
|
||||
HT_DIR_X = 0, // X direction
|
||||
HT_DIR_Y = 1, // Y direction
|
||||
HT_DIR_X = 0, // X direction
|
||||
HT_DIR_Y = 1, // Y direction
|
||||
HT_DIR_HU = 2, // horizontal upper
|
||||
HT_DIR_HL = 3, // horizontal lower
|
||||
HT_DIR_VL = 4, // vertical left
|
||||
|
|
28
water_cmd.c
28
water_cmd.c
|
@ -649,7 +649,7 @@ static void FloodVehicle(Vehicle *v)
|
|||
void TileLoop_Water(TileIndex tile)
|
||||
{
|
||||
static const TileIndexDiffC _tile_loop_offs_array[][5] = {
|
||||
// tile to mod shore? shore?
|
||||
// tile to mod shore? shore?
|
||||
{{-1, 0}, {0, 0}, {0, 1}, {-1, 0}, {-1, 1}},
|
||||
{{ 0, 1}, {0, 1}, {1, 1}, { 0, 2}, { 1, 2}},
|
||||
{{ 1, 0}, {1, 0}, {1, 1}, { 2, 0}, { 2, 1}},
|
||||
|
@ -745,17 +745,17 @@ static uint32 VehicleEnter_Water(Vehicle *v, TileIndex tile, int x, int y)
|
|||
|
||||
|
||||
const TileTypeProcs _tile_type_water_procs = {
|
||||
DrawTile_Water, /* draw_tile_proc */
|
||||
GetSlopeZ_Water, /* get_slope_z_proc */
|
||||
ClearTile_Water, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Water, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Water, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Water,/* get_tile_track_status_proc */
|
||||
ClickTile_Water, /* click_tile_proc */
|
||||
AnimateTile_Water, /* animate_tile_proc */
|
||||
TileLoop_Water, /* tile_loop_clear */
|
||||
ChangeTileOwner_Water, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
VehicleEnter_Water, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Water, /* get_slope_tileh_proc */
|
||||
DrawTile_Water, /* draw_tile_proc */
|
||||
GetSlopeZ_Water, /* get_slope_z_proc */
|
||||
ClearTile_Water, /* clear_tile_proc */
|
||||
GetAcceptedCargo_Water, /* get_accepted_cargo_proc */
|
||||
GetTileDesc_Water, /* get_tile_desc_proc */
|
||||
GetTileTrackStatus_Water, /* get_tile_track_status_proc */
|
||||
ClickTile_Water, /* click_tile_proc */
|
||||
AnimateTile_Water, /* animate_tile_proc */
|
||||
TileLoop_Water, /* tile_loop_clear */
|
||||
ChangeTileOwner_Water, /* change_tile_owner_clear */
|
||||
NULL, /* get_produced_cargo_proc */
|
||||
VehicleEnter_Water, /* vehicle_enter_tile_proc */
|
||||
GetSlopeTileh_Water, /* get_slope_tileh_proc */
|
||||
};
|
||||
|
|
20
waypoint.c
20
waypoint.c
|
@ -401,17 +401,17 @@ void InitializeWaypoints(void)
|
|||
}
|
||||
|
||||
static const SaveLoad _waypoint_desc[] = {
|
||||
SLE_CONDVAR(Waypoint, xy, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Waypoint, xy, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, town_index, SLE_UINT16, 12, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, town_cn, SLE_UINT8, 12, SL_MAX_VERSION),
|
||||
SLE_VAR(Waypoint, string, SLE_UINT16),
|
||||
SLE_VAR(Waypoint, deleted, SLE_UINT8),
|
||||
SLE_CONDVAR(Waypoint, xy, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||
SLE_CONDVAR(Waypoint, xy, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, town_index, SLE_UINT16, 12, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, town_cn, SLE_UINT8, 12, SL_MAX_VERSION),
|
||||
SLE_VAR(Waypoint, string, SLE_UINT16),
|
||||
SLE_VAR(Waypoint, deleted, SLE_UINT8),
|
||||
|
||||
SLE_CONDVAR(Waypoint, build_date, SLE_FILE_U16 | SLE_VAR_I32, 3, 30),
|
||||
SLE_CONDVAR(Waypoint, build_date, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, localidx, SLE_UINT8, 3, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, grfid, SLE_UINT32, 17, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, build_date, SLE_FILE_U16 | SLE_VAR_I32, 3, 30),
|
||||
SLE_CONDVAR(Waypoint, build_date, SLE_INT32, 31, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, localidx, SLE_UINT8, 3, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, grfid, SLE_UINT32, 17, SL_MAX_VERSION),
|
||||
|
||||
SLE_END()
|
||||
};
|
||||
|
|
218
window.h
218
window.h
|
@ -155,67 +155,67 @@ enum WindowKeyCodes {
|
|||
WKC_META = 0x1000,
|
||||
|
||||
// Special ones
|
||||
WKC_NONE = 0,
|
||||
WKC_ESC=1,
|
||||
WKC_BACKSPACE = 2,
|
||||
WKC_INSERT = 3,
|
||||
WKC_DELETE = 4,
|
||||
WKC_NONE = 0,
|
||||
WKC_ESC = 1,
|
||||
WKC_BACKSPACE = 2,
|
||||
WKC_INSERT = 3,
|
||||
WKC_DELETE = 4,
|
||||
|
||||
WKC_PAGEUP = 5,
|
||||
WKC_PAGEDOWN = 6,
|
||||
WKC_END = 7,
|
||||
WKC_HOME = 8,
|
||||
WKC_PAGEUP = 5,
|
||||
WKC_PAGEDOWN = 6,
|
||||
WKC_END = 7,
|
||||
WKC_HOME = 8,
|
||||
|
||||
// Arrow keys
|
||||
WKC_LEFT = 9,
|
||||
WKC_UP = 10,
|
||||
WKC_RIGHT = 11,
|
||||
WKC_DOWN = 12,
|
||||
WKC_LEFT = 9,
|
||||
WKC_UP = 10,
|
||||
WKC_RIGHT = 11,
|
||||
WKC_DOWN = 12,
|
||||
|
||||
// Return & tab
|
||||
WKC_RETURN = 13,
|
||||
WKC_TAB = 14,
|
||||
WKC_RETURN = 13,
|
||||
WKC_TAB = 14,
|
||||
|
||||
// Numerical keyboard
|
||||
WKC_NUM_0 = 16,
|
||||
WKC_NUM_1 = 17,
|
||||
WKC_NUM_2 = 18,
|
||||
WKC_NUM_3 = 19,
|
||||
WKC_NUM_4 = 20,
|
||||
WKC_NUM_5 = 21,
|
||||
WKC_NUM_6 = 22,
|
||||
WKC_NUM_7 = 23,
|
||||
WKC_NUM_8 = 24,
|
||||
WKC_NUM_9 = 25,
|
||||
WKC_NUM_DIV = 26,
|
||||
WKC_NUM_MUL = 27,
|
||||
WKC_NUM_MINUS = 28,
|
||||
WKC_NUM_PLUS = 29,
|
||||
WKC_NUM_ENTER = 30,
|
||||
WKC_NUM_0 = 16,
|
||||
WKC_NUM_1 = 17,
|
||||
WKC_NUM_2 = 18,
|
||||
WKC_NUM_3 = 19,
|
||||
WKC_NUM_4 = 20,
|
||||
WKC_NUM_5 = 21,
|
||||
WKC_NUM_6 = 22,
|
||||
WKC_NUM_7 = 23,
|
||||
WKC_NUM_8 = 24,
|
||||
WKC_NUM_9 = 25,
|
||||
WKC_NUM_DIV = 26,
|
||||
WKC_NUM_MUL = 27,
|
||||
WKC_NUM_MINUS = 28,
|
||||
WKC_NUM_PLUS = 29,
|
||||
WKC_NUM_ENTER = 30,
|
||||
WKC_NUM_DECIMAL = 31,
|
||||
|
||||
// Space
|
||||
WKC_SPACE = 32,
|
||||
WKC_SPACE = 32,
|
||||
|
||||
// Function keys
|
||||
WKC_F1 = 33,
|
||||
WKC_F2 = 34,
|
||||
WKC_F3 = 35,
|
||||
WKC_F4 = 36,
|
||||
WKC_F5 = 37,
|
||||
WKC_F6 = 38,
|
||||
WKC_F7 = 39,
|
||||
WKC_F8 = 40,
|
||||
WKC_F9 = 41,
|
||||
WKC_F10 = 42,
|
||||
WKC_F11 = 43,
|
||||
WKC_F12 = 44,
|
||||
WKC_F1 = 33,
|
||||
WKC_F2 = 34,
|
||||
WKC_F3 = 35,
|
||||
WKC_F4 = 36,
|
||||
WKC_F5 = 37,
|
||||
WKC_F6 = 38,
|
||||
WKC_F7 = 39,
|
||||
WKC_F8 = 40,
|
||||
WKC_F9 = 41,
|
||||
WKC_F10 = 42,
|
||||
WKC_F11 = 43,
|
||||
WKC_F12 = 44,
|
||||
|
||||
// backquote is the key left of "1"
|
||||
// we only store this key here, no matter what character is really mapped to it
|
||||
// on a particular keyboard. (US keyboard: ` and ~ ; German keyboard: ^ and °)
|
||||
WKC_BACKQUOTE = 45,
|
||||
WKC_PAUSE = 46,
|
||||
WKC_BACKQUOTE = 45,
|
||||
WKC_PAUSE = 46,
|
||||
|
||||
// 0-9 are mapped to 48-57
|
||||
// A-Z are mapped to 65-90
|
||||
|
@ -232,18 +232,18 @@ typedef struct WindowDesc {
|
|||
} WindowDesc;
|
||||
|
||||
enum {
|
||||
WDF_STD_TOOLTIPS = 1, /* use standard routine when displaying tooltips */
|
||||
WDF_DEF_WIDGET = 2, /* default widget control for some widgets in the on click event */
|
||||
WDF_STD_BTN = 4, /* default handling for close and drag widgets (widget no 0 and 1) */
|
||||
WDF_STD_TOOLTIPS = 1, /* use standard routine when displaying tooltips */
|
||||
WDF_DEF_WIDGET = 2, /* default widget control for some widgets in the on click event */
|
||||
WDF_STD_BTN = 4, /* default handling for close and drag widgets (widget no 0 and 1) */
|
||||
|
||||
WDF_UNCLICK_BUTTONS=16, /* Unclick buttons when the window event times out */
|
||||
WDF_STICKY_BUTTON =32, /* Set window to sticky mode; they are not closed unless closed with 'X' (widget 2) */
|
||||
WDF_RESIZABLE =64, /* A window can be resized */
|
||||
WDF_UNCLICK_BUTTONS = 16, /* Unclick buttons when the window event times out */
|
||||
WDF_STICKY_BUTTON = 32, /* Set window to sticky mode; they are not closed unless closed with 'X' (widget 2) */
|
||||
WDF_RESIZABLE = 64, /* A window can be resized */
|
||||
};
|
||||
|
||||
/* can be used as x or y coordinates to cause a specific placement */
|
||||
enum {
|
||||
WDP_AUTO = -1,
|
||||
WDP_AUTO = -1,
|
||||
WDP_CENTER = -2,
|
||||
};
|
||||
|
||||
|
@ -493,38 +493,38 @@ typedef struct dropdown_d {
|
|||
assert_compile(WINDOW_CUSTOM_SIZE >= sizeof(dropdown_d));
|
||||
|
||||
enum WindowEvents {
|
||||
WE_CLICK = 0,
|
||||
WE_PAINT = 1,
|
||||
WE_MOUSELOOP = 2,
|
||||
WE_TICK = 3,
|
||||
WE_4 = 4,
|
||||
WE_TIMEOUT = 5,
|
||||
WE_PLACE_OBJ = 6,
|
||||
WE_ABORT_PLACE_OBJ = 7,
|
||||
WE_DESTROY = 8,
|
||||
WE_ON_EDIT_TEXT = 9,
|
||||
WE_POPUPMENU_SELECT = 10,
|
||||
WE_POPUPMENU_OVER = 11,
|
||||
WE_DRAGDROP = 12,
|
||||
WE_PLACE_DRAG = 13,
|
||||
WE_PLACE_MOUSEUP = 14,
|
||||
WE_PLACE_PRESIZE = 15,
|
||||
WE_DROPDOWN_SELECT = 16,
|
||||
WE_RCLICK = 17,
|
||||
WE_KEYPRESS = 18,
|
||||
WE_CREATE = 19,
|
||||
WE_MOUSEOVER = 20,
|
||||
WE_CLICK = 0,
|
||||
WE_PAINT = 1,
|
||||
WE_MOUSELOOP = 2,
|
||||
WE_TICK = 3,
|
||||
WE_4 = 4,
|
||||
WE_TIMEOUT = 5,
|
||||
WE_PLACE_OBJ = 6,
|
||||
WE_ABORT_PLACE_OBJ = 7,
|
||||
WE_DESTROY = 8,
|
||||
WE_ON_EDIT_TEXT = 9,
|
||||
WE_POPUPMENU_SELECT = 10,
|
||||
WE_POPUPMENU_OVER = 11,
|
||||
WE_DRAGDROP = 12,
|
||||
WE_PLACE_DRAG = 13,
|
||||
WE_PLACE_MOUSEUP = 14,
|
||||
WE_PLACE_PRESIZE = 15,
|
||||
WE_DROPDOWN_SELECT = 16,
|
||||
WE_RCLICK = 17,
|
||||
WE_KEYPRESS = 18,
|
||||
WE_CREATE = 19,
|
||||
WE_MOUSEOVER = 20,
|
||||
WE_ON_EDIT_TEXT_CANCEL = 21,
|
||||
WE_RESIZE = 22,
|
||||
WE_MESSAGE = 23,
|
||||
WE_SCROLL = 24,
|
||||
WE_MOUSEWHEEL = 25,
|
||||
WE_RESIZE = 22,
|
||||
WE_MESSAGE = 23,
|
||||
WE_SCROLL = 24,
|
||||
WE_MOUSEWHEEL = 25,
|
||||
};
|
||||
|
||||
|
||||
/****************** THESE ARE NOT WIDGET TYPES!!!!! *******************/
|
||||
enum WindowWidgetBehaviours {
|
||||
WWB_PUSHBUTTON = 1 << 5,
|
||||
WWB_PUSHBUTTON = 1 << 5,
|
||||
WWB_NODISBUTTON = 2 << 5,
|
||||
};
|
||||
|
||||
|
@ -532,27 +532,27 @@ enum WindowWidgetBehaviours {
|
|||
enum WindowWidgetTypes {
|
||||
WWT_EMPTY = 0,
|
||||
|
||||
WWT_IMGBTN = 1, /* button with image */
|
||||
WWT_PANEL = WWT_IMGBTN,
|
||||
WWT_PANEL_2 = 2, /* button with diff image when clicked */
|
||||
WWT_IMGBTN = 1, /* button with image */
|
||||
WWT_PANEL = WWT_IMGBTN,
|
||||
WWT_PANEL_2 = 2, /* button with diff image when clicked */
|
||||
|
||||
WWT_TEXTBTN = 3, /* button with text */
|
||||
WWT_4 = 4, /* button with diff text when clicked */
|
||||
WWT_5 = 5, /* label */
|
||||
WWT_6 = 6, /* combo box text area */
|
||||
WWT_MATRIX = 7,
|
||||
WWT_SCROLLBAR = 8,
|
||||
WWT_FRAME = 9, /* frame */
|
||||
WWT_CAPTION = 10,
|
||||
WWT_TEXTBTN = 3, /* button with text */
|
||||
WWT_4 = 4, /* button with diff text when clicked */
|
||||
WWT_5 = 5, /* label */
|
||||
WWT_6 = 6, /* combo box text area */
|
||||
WWT_MATRIX = 7,
|
||||
WWT_SCROLLBAR = 8,
|
||||
WWT_FRAME = 9, /* frame */
|
||||
WWT_CAPTION = 10,
|
||||
|
||||
WWT_HSCROLLBAR = 11,
|
||||
WWT_STICKYBOX = 12,
|
||||
WWT_SCROLL2BAR = 13, /* 2nd vertical scrollbar*/
|
||||
WWT_RESIZEBOX = 14,
|
||||
WWT_CLOSEBOX = 15,
|
||||
WWT_LAST = 16, /* Last Item. use WIDGETS_END to fill up padding!! */
|
||||
WWT_STICKYBOX = 12,
|
||||
WWT_SCROLL2BAR = 13, /* 2nd vertical scrollbar*/
|
||||
WWT_RESIZEBOX = 14,
|
||||
WWT_CLOSEBOX = 15,
|
||||
WWT_LAST = 16, /* Last Item. use WIDGETS_END to fill up padding!! */
|
||||
|
||||
WWT_MASK = 31,
|
||||
WWT_MASK = 31,
|
||||
|
||||
WWT_PUSHTXTBTN = WWT_TEXTBTN | WWB_PUSHBUTTON,
|
||||
WWT_PUSHIMGBTN = WWT_IMGBTN | WWB_PUSHBUTTON,
|
||||
|
@ -562,21 +562,21 @@ enum WindowWidgetTypes {
|
|||
#define WIDGETS_END WWT_LAST, RESIZE_NONE, 0, 0, 0, 0, 0, 0, STR_NULL
|
||||
|
||||
enum WindowFlags {
|
||||
WF_TIMEOUT_SHL = 0,
|
||||
WF_TIMEOUT_MASK = 7,
|
||||
WF_DRAGGING = 1 << 3,
|
||||
WF_SCROLL_UP = 1 << 4,
|
||||
WF_SCROLL_DOWN = 1 << 5,
|
||||
WF_SCROLL_MIDDLE = 1 << 6,
|
||||
WF_HSCROLL = 1 << 7,
|
||||
WF_SIZING = 1 << 8,
|
||||
WF_STICKY = 1 << 9,
|
||||
WF_TIMEOUT_SHL = 0,
|
||||
WF_TIMEOUT_MASK = 7,
|
||||
WF_DRAGGING = 1 << 3,
|
||||
WF_SCROLL_UP = 1 << 4,
|
||||
WF_SCROLL_DOWN = 1 << 5,
|
||||
WF_SCROLL_MIDDLE = 1 << 6,
|
||||
WF_HSCROLL = 1 << 7,
|
||||
WF_SIZING = 1 << 8,
|
||||
WF_STICKY = 1 << 9,
|
||||
|
||||
WF_DISABLE_VP_SCROLL = 1 << 10,
|
||||
|
||||
WF_WHITE_BORDER_ONE = 1 << 11,
|
||||
WF_WHITE_BORDER_ONE = 1 << 11,
|
||||
WF_WHITE_BORDER_MASK = 3 << 11,
|
||||
WF_SCROLL2 = 1 << 13,
|
||||
WF_SCROLL2 = 1 << 13,
|
||||
};
|
||||
|
||||
/* window.c */
|
||||
|
@ -658,10 +658,10 @@ VARDEF bool _popup_menu_active;
|
|||
|
||||
VARDEF byte _special_mouse_mode;
|
||||
enum SpecialMouseMode {
|
||||
WSM_NONE = 0,
|
||||
WSM_NONE = 0,
|
||||
WSM_DRAGDROP = 1,
|
||||
WSM_SIZING = 2,
|
||||
WSM_PRESIZE = 3,
|
||||
WSM_SIZING = 2,
|
||||
WSM_PRESIZE = 3,
|
||||
};
|
||||
|
||||
void ScrollbarClickHandler(Window *w, const Widget *wi, int x, int y);
|
||||
|
|
Loading…
Reference in New Issue