mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-01-22 15:11:54 +00:00
(svn r4946) "Feature": Add a cheat that allows running electric engines on normal rail
This commit is contained in:
parent
ba6ea3d359
commit
979b640f19
@ -1111,6 +1111,7 @@ STR_CHEAT_NO_JETCRASH :{LTBLUE}Jetplan
|
||||
STR_CHEAT_SWITCH_CLIMATE :{LTBLUE}Switch climate: {ORANGE} {STRING}
|
||||
STR_CHEAT_CHANGE_DATE :{LTBLUE}Change date: {ORANGE} {DATE_SHORT}
|
||||
STR_CHEAT_SETUP_PROD :{LTBLUE}Enable modifying production values: {ORANGE}{STRING1}
|
||||
STR_CHEAT_ALLOW_CONVRAIL :{LTBLUE}Allow electric engines to run on normal rail
|
||||
|
||||
STR_HEADING_FOR_WAYPOINT :{LTBLUE}Heading for {WAYPOINT}
|
||||
STR_HEADING_FOR_WAYPOINT_VEL :{LTBLUE}Heading for {WAYPOINT}, {VELOCITY}
|
||||
|
21
misc_gui.c
21
misc_gui.c
@ -23,6 +23,8 @@
|
||||
#include "network.h"
|
||||
#include "string.h"
|
||||
#include "variables.h"
|
||||
#include "vehicle.h"
|
||||
#include "train.h"
|
||||
|
||||
#include "hal.h" // for file list
|
||||
|
||||
@ -1682,6 +1684,18 @@ static int32 ClickChangeDateCheat(int32 p1, int32 p2)
|
||||
return _cur_year;
|
||||
}
|
||||
|
||||
static int32 ClickAllowConvrail(int32 p1, int32 p2)
|
||||
{
|
||||
Vehicle *v;
|
||||
SB(_railtypes[RAILTYPE_ELECTRIC].powered_railtypes, RAILTYPE_RAIL, 1, p1);
|
||||
|
||||
FOR_ALL_VEHICLES(v) {
|
||||
if (v->type == VEH_Train && IsFrontEngine(v)) TrainConsistChanged(v);
|
||||
}
|
||||
return p1;
|
||||
}
|
||||
|
||||
|
||||
typedef int32 CheckButtonClick(int32, int32);
|
||||
|
||||
enum ce_flags {CE_CLICK = 1 << 0};
|
||||
@ -1708,14 +1722,15 @@ static const CheatEntry _cheats_ui[] = {
|
||||
{SLE_BOOL, 0, STR_CHEAT_SETUP_PROD, &_cheats.setup_prod.value, &_cheats.setup_prod.been_used, NULL, 0, 0},
|
||||
{SLE_UINT8, 0, STR_CHEAT_SWITCH_CLIMATE, &_opt.landscape, &_cheats.switch_climate.been_used, &ClickChangeClimateCheat,-1, 4},
|
||||
{SLE_UINT8, 0, STR_CHEAT_CHANGE_DATE, &_cur_year, &_cheats.change_date.been_used, &ClickChangeDateCheat, -1, 1},
|
||||
{SLE_BOOL, 0, STR_CHEAT_ALLOW_CONVRAIL, &_cheats.elrail.value, &_cheats.elrail.been_used, &ClickAllowConvrail, 0, 0},
|
||||
};
|
||||
|
||||
|
||||
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, 159, 0x0, STR_NULL},
|
||||
{ WWT_IMGBTN, RESIZE_NONE, 14, 0, 399, 14, 159, 0x0, STR_CHEATS_TIP},
|
||||
{ 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},
|
||||
};
|
||||
|
||||
@ -1845,7 +1860,7 @@ static void CheatsWndProc(Window *w, WindowEvent *e)
|
||||
}
|
||||
|
||||
static const WindowDesc _cheats_desc = {
|
||||
240, 22, 400, 160,
|
||||
240, 22, 400, 170,
|
||||
WC_CHEATS,0,
|
||||
WDF_STD_TOOLTIPS | WDF_STD_BTN | WDF_DEF_WIDGET | WDF_UNCLICK_BUTTONS,
|
||||
_cheat_widgets,
|
||||
|
2
rail.h
2
rail.h
@ -127,7 +127,7 @@ typedef struct RailtypeInfo {
|
||||
byte custom_ground_offset;
|
||||
} RailtypeInfo;
|
||||
|
||||
extern const RailtypeInfo _railtypes[RAILTYPE_END];
|
||||
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 {
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
/** Global Railtype definition
|
||||
*/
|
||||
const RailtypeInfo _railtypes[] = {
|
||||
RailtypeInfo _railtypes[] = {
|
||||
/** Railway */
|
||||
{ /* Main Sprites */
|
||||
{ SPR_RAIL_TRACK_Y, SPR_RAIL_TRACK_N_S, SPR_RAIL_TRACK_BASE, SPR_RAIL_SINGLE_Y, SPR_RAIL_SINGLE_X,
|
||||
|
@ -228,6 +228,7 @@ typedef struct Cheats {
|
||||
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
|
||||
} Cheats;
|
||||
|
||||
VARDEF Cheats _cheats;
|
||||
|
Loading…
Reference in New Issue
Block a user