Rename programmable signals to programmable pre-signals

This is to make it less unclear what they actually are and do
pull/121/head
Jonathan G Rennison 5 years ago
parent 1e03482d30
commit 030e8bf762

@ -27,7 +27,7 @@ See [jgrpp-changelog.md](jgrpp-changelog.md) for changelog.
As of v0.11.0 this includes the Long Reserve feature from [here](http://www.tt-forums.net/viewtopic.php?f=33&t=74365).
A version of this feature rebased onto [Cirdan's new map features branch](http://repo.or.cz/w/openttd/fttd.git) is in the *tracerestrict-cirdan* branch, see [this thread](http://www.tt-forums.net/viewtopic.php?f=33&t=58420)
* Programmable signals: [imported](http://www.tt-forums.net/viewtopic.php?f=33&t=47690)
* Programmable pre-signals: [imported](http://www.tt-forums.net/viewtopic.php?f=33&t=47690)
This includes additions to the patch from the [Spring 2013 Patch Pack](http://www.tt-forums.net/viewtopic.php?f=33&t=66892)
These are not shown in the build signal window by default.

@ -249,13 +249,13 @@
-1 sprites/sample.png 546 8 09 23 33 -26 0
-1 sprites/sample.png 594 8 09 23 33 -5 0
</pre>
<h4>Programmable signal graphics (mappable type: programmable_signals)</h4>
<h4>Programmable pre-signal graphics (mappable type: programmable_signals)</h4>
<p>Signal graphics come in groups of 16. These groups contain sprites in the same order as sprites 1275-1290 in trg1[r].grf and <a href="https://newgrf-specs.tt-wiki.net/wiki/Action5#04_Signal_graphics.">Action 5 type 4 (signals)</a>;
red, then green, for each of: SW-facing, NE-facing, NW-facing, SE-facing, E-facing, W-facing, S-facing, N-facing.
<table>
<tr><th>Group</th><th>Contents</th></tr>
<tr><td>0</td><td>Semaphore programmable signals</td></tr>
<tr><td>1</td><td>Lighted programmable signals</td></tr>
<tr><td>0</td><td>Semaphore programmable pre-signals</td></tr>
<tr><td>1</td><td>Lighted programmable pre-signals</td></tr>
</table>
</p>
<p>This is indicated by the feature name: <font face="monospace">action5_programmable_signals</font>, version 1</p>

@ -184,7 +184,7 @@ static void LoadSpriteTables()
_progsig_grf_file_index = i;
LoadGrfFile("progsignals.grf", SPR_PROGSIGNAL_BASE, i++);
/* Fill duplicate programmable signal graphics sprite block */
/* Fill duplicate programmable pre-signal graphics sprite block */
for (uint i = 0; i < PROGSIGNAL_SPRITE_COUNT; i++) {
DupSprite(SPR_PROGSIGNAL_BASE + i, SPR_DUP_PROGSIGNAL_BASE + i);
}

@ -1354,8 +1354,8 @@ STR_CONFIG_SETTING_SHOW_RESTRICTED_SIG_DEF :Show restricted
STR_CONFIG_SETTING_SHOW_RESTRICTED_SIG_DEF_HELPTEXT :Show electric signals with routing restriction programs using the default signal graphics with a blue signal post, instead of using any NewGRF signal graphics. This is to make it easier to visually distinguish restricted signals.
STR_CONFIG_SETTING_SHOW_ADV_TRACE_RESTRICT_FEATURES :Show advanced routing restriction features: {STRING2}
STR_CONFIG_SETTING_SHOW_ADV_TRACE_RESTRICT_FEATURES_HELPTEXT :Show advanced routing restriction features. When disabled, some advanced features are not shown in the UI, but are still available to all players.
STR_CONFIG_SETTING_SHOW_PROGSIG_FEATURES :Show programmable signal feature: {STRING2}
STR_CONFIG_SETTING_SHOW_PROGSIG_FEATURES_HELPTEXT :Show programmable signal feature. When disabled, the buttons to build and configure programmable signals are not shown in the UI, but are still available to all players.
STR_CONFIG_SETTING_SHOW_PROGSIG_FEATURES :Show programmable pre-signal feature: {STRING2}
STR_CONFIG_SETTING_SHOW_PROGSIG_FEATURES_HELPTEXT :Show programmable pre-signal feature. When disabled, the buttons to build and configure programmable pre-signals are not shown in the UI, but are still available to all players.
STR_CONFIG_SETTING_SHOW_VEH_LIST_CARGO_FILTER :Show cargo type filter in vehicle lists: {STRING2}
STR_CONFIG_SETTING_SHOW_VEH_LIST_CARGO_FILTER_HELPTEXT :Show cargo type filter in vehicle lists. When enabled vehicle list windows include an additional filter dropdown.
STR_CONFIG_SETTING_SHOW_ADV_LOADING_MODE_FEATURES :Show advanced loading mode features: {STRING2}
@ -1374,8 +1374,8 @@ STR_CONFIG_SETTING_LANDSCAPE :Landscape: {STR
STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT :Landscapes define basic gameplay scenarios with different cargos and town growth requirements. NewGRF and Game Scripts allow finer control though
STR_CONFIG_SETTING_LAND_GENERATOR :Land generator: {STRING2}
STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT :The original generator depends on the base graphics set, and composes fixed landscape shapes. TerraGenesis is a Perlin noise based generator with finer control settings
STR_CONFIG_SETTING_MAX_SIGNAL_EVALUATIONS :Maximum number of programmable signal changes permitted at once: {STRING2}
STR_CONFIG_SETTING_MAX_SIGNAL_EVALUATIONS_HELPTEXT :Sets the maximum number of programmable signal changes permitted at once
STR_CONFIG_SETTING_MAX_SIGNAL_EVALUATIONS :Maximum number of programmable pre-signal changes permitted at once: {STRING2}
STR_CONFIG_SETTING_MAX_SIGNAL_EVALUATIONS_HELPTEXT :Sets the maximum number of programmable pre-signal changes permitted at once
STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL :Original
STR_CONFIG_SETTING_LAND_GENERATOR_TERRA_GENESIS :TerraGenesis
STR_CONFIG_SETTING_TERRAIN_TYPE :Terrain type: {STRING2}
@ -2635,14 +2635,14 @@ STR_BUILD_SIGNAL_SEMAPHORE_NORM_TOOLTIP :{BLACK}Block Si
STR_BUILD_SIGNAL_SEMAPHORE_ENTRY_TOOLTIP :{BLACK}Entry Signal (semaphore){}Green as long as there is one or more green exit-signal from the following section of track. Otherwise it shows red
STR_BUILD_SIGNAL_SEMAPHORE_EXIT_TOOLTIP :{BLACK}Exit Signal (semaphore){}Behaves in the same way as a block signal but is necessary to trigger the correct colour on entry & combo pre-signals
STR_BUILD_SIGNAL_SEMAPHORE_COMBO_TOOLTIP :{BLACK}Combo Signal (semaphore){}The combo signal simply acts as both an entry and exit signal. This allows you to build large "trees" of pre-signals
STR_BUILD_SIGNAL_SEMAPHORE_PROG_TOOLTIP :{BLACK}Programmable-Signal (semaphore){}The programmable signal is a combo-signal which can be programmed to behave in complex ways.
STR_BUILD_SIGNAL_SEMAPHORE_PROG_TOOLTIP :{BLACK}Programmable Pre-Signal (semaphore){}The programmable pre-signal is a combo-signal which can be programmed to behave in complex ways.
STR_BUILD_SIGNAL_SEMAPHORE_PBS_TOOLTIP :{BLACK}Path Signal (semaphore){}A path signal allows more than one train to enter a signal block at the same time, if the train can reserve a path to a safe stopping point. Standard path signals can be passed from the back side
STR_BUILD_SIGNAL_SEMAPHORE_PBS_OWAY_TOOLTIP :{BLACK}One-way Path Signal (semaphore){}A path signal allows more than one train to enter a signal block at the same time, if the train can reserve a path to a safe stopping point. One-way path signals can't be passed from the back side
STR_BUILD_SIGNAL_ELECTRIC_NORM_TOOLTIP :{BLACK}Block Signal (electric){}This is the most basic type of signal, allowing only one train to be in the same block at the same time
STR_BUILD_SIGNAL_ELECTRIC_ENTRY_TOOLTIP :{BLACK}Entry Signal (electric){}Green as long as there is one or more green exit-signal from the following section of track. Otherwise it shows red
STR_BUILD_SIGNAL_ELECTRIC_EXIT_TOOLTIP :{BLACK}Exit Signal (electric){}Behaves in the same way as a block signal but is necessary to trigger the correct colour on entry & combo pre-signals
STR_BUILD_SIGNAL_ELECTRIC_COMBO_TOOLTIP :{BLACK}Combo Signal (electric){}The combo signal simply acts as both an entry and exit signal. This allows you to build large "trees" of pre-signals
STR_BUILD_SIGNAL_ELECTRIC_PROG_TOOLTIP :{BLACK}Programmable-Signal (electric){}The programmable signal is a combo-signal which can be programmed to behave in complex ways.
STR_BUILD_SIGNAL_ELECTRIC_PROG_TOOLTIP :{BLACK}Programmable Pre-Signal (electric){}The programmable pre-signal is a combo-signal which can be programmed to behave in complex ways.
STR_BUILD_SIGNAL_ELECTRIC_PBS_TOOLTIP :{BLACK}Path Signal (electric){}A path signal allows more than one train to enter a signal block at the same time, if the train can reserve a path to a safe stopping point. Standard path signals can be passed from the back side
STR_BUILD_SIGNAL_ELECTRIC_PBS_OWAY_TOOLTIP :{BLACK}One-way Path Signal (electric){}A path signal allows more than one train to enter a signal block at the same time, if the train can reserve a path to a safe stopping point. One-way path signals can't be passed from the back side
STR_BUILD_SIGNAL_CONVERT_TOOLTIP :{BLACK}Signal Convert{}When selected, clicking an existing signal will convert it to the selected signal type and variant. Ctrl+Click will toggle the existing variant. Shift+Click shows estimated conversion cost
@ -2847,19 +2847,19 @@ STR_TRACE_RESTRICT_ERROR_SLOT_CAN_T_ADD_VEHICLE :{WHITE}Can't ad
STR_TRACE_RESTRICT_ERROR_SLOT_CAN_T_REMOVE_VEHICLE :{WHITE}Can't remove the vehicle from this slot...
STR_TRACE_RESTRICT_ERROR_SLOT_CAN_T_SET_MAX_OCCUPANCY :{WHITE}Can't set maximum occupancy of this slot...
# Programmable Signals
STR_PROGRAM_SIGNAL_TOOLTIP :{BLACK}Program signal
# Programmable Pre-Signals
STR_PROGRAM_SIGNAL_TOOLTIP :{BLACK}Program pre-signal
STR_ERR_PROGSIG_INVALID_INSTRUCTION :{WHITE}Cannot insert instruction after instruction with invalid ID
STR_ERR_PROGSIG_INVALID_OPCODE :{WHITE}Cannot insert an instruction of that opcode
STR_ERR_PROGSIG_NOT_THERE :{WHITE}There is no programmable signal there
STR_ERR_PROGSIG_NOT_THERE :{WHITE}There is no programmable pre-signal there
STR_ERR_PROGSIG_INVALID_SIGNAL_STATE :{WHITE}That signal state is invalid
STR_ERR_PROGSIG_INVALID_CONDITION :{WHITE}That condition is invalid
STR_ERR_PROGSIG_INVALID_CONDITION_FIELD :{WHITE}That field is not valid for the condition
STR_ERR_PROGSIG_INVALID_COMPARATOR :{WHITE}That comparator is not valid
STR_ERR_PROGSIG_INVALID_SIGNAL :{WHITE}Invalid signal selected
STR_PROGSIG_CAPTION :{WHITE}Signal Program
STR_PROGSIG_CAPTION :{WHITE}Programmable Pre-Signal Program
STR_PROGSIG_COND_VARIABLE_TOOLTIP :{BLACK}Condition to compare upon
STR_PROGSIG_COND_COMPARATOR_TOOLTIP :{BLACK}Operator to use to compare variable
STR_PROGSIG_COND_VALUE_TOOLTIP :{BLACK}Value to compare variable against
@ -2905,7 +2905,7 @@ STR_ERROR_CAN_T_MODIFY_INSTRUCTION :{WHITE}Can't mo
STR_ERROR_CAN_T_REMOVE_INSTRUCTION :{WHITE}Can't remove instruction
STR_ERROR_CAN_T_GOTO_UNDEFINED_SIGNAL :{WHITE}Can't go to undefined signal
STR_ERROR_NOT_AN_EXIT_SIGNAL :{WHITE}Not an exit signal
STR_ERROR_NOT_AN_PROG_SIGNAL :{WHITE}Not an programmable signal
STR_ERROR_NOT_AN_PROG_SIGNAL :{WHITE}Not a programmable pre-signal
STR_ERROR_CANNOT_USE_SELF :{WHITE}Can't copy program from myself
STR_ERROR_CAN_T_DEPEND_UPON_BIDIRECTIONAL_SIGNALS :{WHITE}Cannot conditionally depend upon bidirectional signals
STR_ERROR_INVALID_SIGNAL :{WHITE}Invalid signal
@ -3188,30 +3188,30 @@ STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_SIGNALS :Railway track w
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRESIGNALS :Railway track with pre-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXITSIGNALS :Railway track with exit-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBOSIGNALS :Railway track with combo-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PROGSIGNALS :Railway track with programmable signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PROGSIGNALS :Railway track with programmable pre-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBSSIGNALS :Railway track with path signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRYSIGNALS :Railway track with one-way path signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PRESIGNALS :Railway track with block and pre-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_EXITSIGNALS :Railway track with block and exit-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_COMBOSIGNALS :Railway track with block and combo-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PROGSIGNALS :Railway track with block and programmable signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PROGSIGNALS :Railway track with block and programmable pre-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_PBSSIGNALS :Railway track with block and path signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NORMAL_NOENTRYSIGNALS :Railway track with block and one-way path signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_EXITSIGNALS :Railway track with pre- and exit-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_COMBOSIGNALS :Railway track with pre- and combo-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PROGSIGNALS :Railway track with pre- and programmable signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PROGSIGNALS :Railway track with pre- and programmable pre-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_PBSSIGNALS :Railway track with pre- and path signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PRE_NOENTRYSIGNALS :Railway track with pre- and one-way path signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_COMBOSIGNALS :Railway track with exit- and combo-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PROGSIGNALS :Railway track with exit- and programmable signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PROGSIGNALS :Railway track with exit- and programmable pre-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_PBSSIGNALS :Railway track with exit- and path signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_EXIT_NOENTRYSIGNALS :Railway track with exit- and one-way path signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PROGSIGNALS :Railway track with combo- and programmable signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PROGSIGNALS :Railway track with combo- and programmable pre-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_PBSSIGNALS :Railway track with combo- and path signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_COMBO_NOENTRYSIGNALS :Railway track with combo- and one-way path signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_NOENTRYSIGNALS :Railway track with path and one-way path signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_PROGSIGNALS :Railway track with path and programmable signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRY_PROGSIGNALS :Railway track with one-way path and programmable signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_PBS_PROGSIGNALS :Railway track with path and programmable pre-signals
STR_LAI_RAIL_DESCRIPTION_TRACK_WITH_NOENTRY_PROGSIGNALS :Railway track with one-way path and programmable pre-signals
STR_LAI_RAIL_DESCRIPTION_TRAIN_DEPOT :Railway train depot
STR_LAI_RAIL_DESCRIPTION_RESTRICTED_SIGNAL :{STRING} (restricted)
@ -5348,7 +5348,7 @@ STR_ERROR_THERE_ARE_NO_SIGNALS :{WHITE}... ther
STR_ERROR_CAN_T_CONVERT_RAIL :{WHITE}Can't convert rail type here...
STR_ERROR_SIGNAL_CHANGES :{WHITE}Number of programmable signal evaluations exceeded limit
STR_ERROR_SIGNAL_CHANGES :{WHITE}Number of programmable pre-signal evaluations exceeded limit
# Road construction errors
STR_ERROR_MUST_REMOVE_ROAD_FIRST :{WHITE}Must remove road first

@ -2716,7 +2716,7 @@ STR_TRACE_RESTRICT_ERROR_SLOT_CAN_T_ADD_VEHICLE :{WHITE}Kann das
STR_TRACE_RESTRICT_ERROR_SLOT_CAN_T_REMOVE_VEHICLE :{WHITE}Kann das Fahrzeug nicht aus diesem Slot entfernen...
STR_TRACE_RESTRICT_ERROR_SLOT_CAN_T_SET_MAX_OCCUPANCY :{WHITE}Kann die maximale Auslastung dieses Slots nicht setzen...
# Programmable Signals
# Programmable Pre-Signals
STR_PROGRAM_SIGNAL_TOOLTIP :{BLACK}Programmierbares Signal
STR_ERR_PROGSIG_INVALID_INSTRUCTION :{WHITE}Kann Anweisung nicht nach einer Anweisung mit einer ungültigen ID einfügen

@ -2847,7 +2847,7 @@ STR_TRACE_RESTRICT_ERROR_SLOT_CAN_T_ADD_VEHICLE :{WHITE}차량
STR_TRACE_RESTRICT_ERROR_SLOT_CAN_T_REMOVE_VEHICLE :{WHITE}차량을 이 슬롯에서 제거할 수 없습니다...
STR_TRACE_RESTRICT_ERROR_SLOT_CAN_T_SET_MAX_OCCUPANCY :{WHITE}이 슬롯의 최대 수용량을 설정할 수 없습니다...
# Programmable Signals
# Programmable Pre-Signals
STR_PROGRAM_SIGNAL_TOOLTIP :{BLACK}프로그램 신호기 설정
STR_ERR_PROGSIG_INVALID_INSTRUCTION :{WHITE}유효하지 않은 ID로 구문 뒤에 구문을 삽입할 수 없음

@ -8445,7 +8445,7 @@ static const GRFPropertyMapDefinition _grf_action0_remappable_properties[] = {
/** Action14 Action5 remappable type list */
static const Action5TypeRemapDefinition _grf_action5_remappable_types[] = {
Action5TypeRemapDefinition("programmable_signals", A5BLOCK_ALLOW_OFFSET, SPR_PROGSIGNAL_BASE, 1, 32, "Programmable signal graphics"),
Action5TypeRemapDefinition("programmable_signals", A5BLOCK_ALLOW_OFFSET, SPR_PROGSIGNAL_BASE, 1, 32, "Programmable pre-signal graphics"),
Action5TypeRemapDefinition(),
};

@ -5,7 +5,7 @@
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file programmable_signals.cpp Programmable Signals */
/** @file programmable_signals.cpp Programmable Pre-Signals */
#include "stdafx.h"
#include "programmable_signals.h"
@ -51,7 +51,7 @@ struct SignalVM {
void Execute()
{
DEBUG(misc, 6, "Begining execution of programmable signal on tile %x, track %d",
DEBUG(misc, 6, "Begining execution of programmable pre-signal on tile %x, track %d",
this->program->tile, this->program->track);
do {
DEBUG(misc, 10, " Executing instruction %d, opcode %d", this->instruction->Id(), this->instruction->Opcode());

@ -5,7 +5,7 @@
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file programmable_signals.h Programmable Signals */
/** @file programmable_signals.h Programmable Pre-Signals */
#ifndef PROGRAMMABLE_SIGNALS_H
#define PROGRAMMABLE_SIGNALS_H
@ -13,10 +13,10 @@
#include "core/smallvec_type.hpp"
#include <map>
/** @defgroup progsigs Programmable Signals */
/** @defgroup progsigs Programmable Pre-Signals */
///@{
/** The Programmable Signal virtual machine.
/** The Programmable Pre-Signal virtual machine.
*
* This structure contains the state of the currently executing signal program.
*/
@ -31,7 +31,7 @@ enum SignalProgramMgmtCode {
SPMC_CLONE, ///< Clone program
};
/** The actual programmable signal information */
/** The actual programmable pre-signal information */
struct SignalProgram {
SignalProgram(TileIndex tile, Track track, bool raw = false);
~SignalProgram();
@ -45,7 +45,7 @@ struct SignalProgram {
InstructionList instructions;
};
/** Programmable Signal opcode.
/** Programmable Pre-Signal opcode.
*
* Opcode types are discriminated by this enumeration. It is primarily used for
* code which must be able to inspect the type of a signal operation, rather than
@ -118,7 +118,7 @@ protected:
SignalProgram *program;
};
/** Programmable Signal condition code.
/** Programmable Pre-Signal condition code.
*
* These discriminate conditions in much the same way that SignalOpcode
* discriminates instructions.
@ -270,7 +270,7 @@ public:
};
/** If signal instruction. This is perhaps the most important, as without it,
* programmable signals are pretty useless.
* programmable pre-signals are pretty useless.
*
* It's also the most complex!
*/

@ -1550,7 +1550,7 @@ CommandCost CmdBuildSingleSignal(TileIndex tile, DoCommandFlag flags, uint32 p1,
SetPresentSignals(tile, (GetPresentSignals(tile) & ~SignalOnTrack(track)) | KillFirstBit(SignalOnTrack(track)));
}
} else {
/* programmable signal dependencies are invalidated when the signal direction is changed */
/* programmable pre-signal dependencies are invalidated when the signal direction is changed */
CheckRemoveSignal(tile, track);
/* cycle the signal side: both -> left -> right -> both -> ... */
CycleSignalSide(tile, track);

@ -253,12 +253,12 @@ static void GenericPlaceSignals(TileIndex tile)
if (_program_signal_button) {
if (IsPlainRailTile(tile) && HasTrack(tile, track) && HasSignalOnTrack(tile,track) && IsPresignalProgrammable(tile, track)) {
// Show program gui if there is a programmable signal
// Show program gui if there is a programmable pre-signal
ShowSignalProgramWindow(SignalReference(tile, track));
return;
}
// Don't display error here even though program-button is pressed and there is no programmable signal,
// Don't display error here even though program-button is pressed and there is no programmable pre-signal,
// instead just handle it normally. That way player can keep the program-button pressed all the time
// to build slightly faster.
}
@ -1608,7 +1608,7 @@ struct BuildSignalWindow : public PickerWindowBase {
private:
Dimension sig_sprite_size; ///< Maximum size of signal GUI sprites.
int sig_sprite_bottom_offset; ///< Maximum extent of signal GUI sprite from reference point towards bottom.
bool progsig_ui_shown; ///< Whether programmable signal UI is shown
bool progsig_ui_shown; ///< Whether programmable pre-signal UI is shown
/**
* Draw dynamic a signal-sprite in a button in the signal GUI

@ -26,7 +26,7 @@ enum SlXvFeatureIndex {
XSLFI_TRACE_RESTRICT_ORDRCND, ///< Trace restrict: slot conditional order
XSLFI_TRACE_RESTRICT_STATUSCND, ///< Trace restrict: train status condition
XSLFI_TRACE_RESTRICT_REVERSE, ///< Trace restrict: reverse
XSLFI_PROG_SIGS, ///< programmable signals patch
XSLFI_PROG_SIGS, ///< programmable pre-signals patch
XSLFI_ADJACENT_CROSSINGS, ///< Adjacent level crossings closure patch
XSLFI_SAFER_CROSSINGS, ///< Safer level crossings
XSLFI_DEPARTURE_BOARDS, ///< Departure boards patch, in ticks mode

@ -102,7 +102,7 @@ static void Save_SPRG()
i != e; ++i) {
SignalReference ref = i->first;
if(!HasProgrammableSignals(ref)) {
DEBUG(sl, 0, "Programmable signal information for (%x, %d) has been leaked!",
DEBUG(sl, 0, "Programmable pre-signal information for (%x, %d) has been leaked!",
ref.tile, ref.track);
++i;
FreeSignalProgram(ref);

@ -182,7 +182,7 @@ struct GUISettings {
bool show_vehicle_group_in_details; ///< show vehicle group in vehicle details window top widget
bool show_restricted_signal_default; ///< Show restricted electric signals using the default sprite
bool show_adv_tracerestrict_features; ///< Show advanced trace restrict features in UI
bool show_progsig_ui; ///< Show programmable signals feature in UI
bool show_progsig_ui; ///< Show programmable pre-signals feature in UI
bool show_veh_list_cargo_filter; ///< Show cargo list filter in UI
uint8 osk_activation; ///< Mouse gesture to trigger the OSK.
byte starting_colour; ///< default color scheme for the company to start a new game with
@ -368,7 +368,7 @@ struct ConstructionSettings {
uint8 trees_around_snow_line_range; ///< range around snowline for mixed and arctic forest.
bool trees_around_snow_line_enabled; ///< enable mixed and arctic forest around snowline, and no trees above snowline
uint8 command_pause_level; ///< level/amount of commands that can't be executed while paused
uint16 maximum_signal_evaluations; ///< maximum number of programmable signals which may be evaluated in one pass
uint16 maximum_signal_evaluations; ///< maximum number of programmable pre-signals which may be evaluated in one pass
byte simulated_wormhole_signals; ///< simulate signals in tunnel
bool enable_build_river; ///< enable building rivers in-game
bool enable_remove_water; ///< enable removing sea and rivers in-game

@ -200,7 +200,7 @@ static SmallSet<Trackdir, SIG_TBU_SIZE> _tbuset("_tbuset"); ///< set of
static SmallSet<DiagDirection, SIG_TBD_SIZE> _tbdset("_tbdset"); ///< set of open nodes in current signal block
static SmallSet<DiagDirection, SIG_GLOB_SIZE> _globset("_globset"); ///< set of places to be updated in following runs
static uint _num_signals_evaluated; ///< Number of programmable signals evaluated
static uint _num_signals_evaluated; ///< Number of programmable pre-signals evaluated
/** Check whether there is a train on rail, not in a depot */
static Vehicle *TrainOnTileEnum(Vehicle *v, void *)

@ -71,7 +71,7 @@ static inline bool IsPbsSignal(SignalType type)
return type == SIGTYPE_PBS || type == SIGTYPE_PBS_ONEWAY;
}
/// Is this a programmable signal?
/// Is this a programmable pre-signal?
static inline bool IsProgrammableSignal(SignalType type)
{
return type == SIGTYPE_PROG;

@ -309,7 +309,7 @@ static const uint16 EMPTY_BOUNDING_BOX_SPRITE_COUNT = 1;
static const SpriteID SPR_PALETTE_BASE = SPR_EMPTY_BOUNDING_BOX + EMPTY_BOUNDING_BOX_SPRITE_COUNT;
static const uint16 PALETTE_SPRITE_COUNT = 1;
/* Programmable signal sprites */
/* Programmable pre-signal sprites */
static const SpriteID SPR_PROGSIGNAL_BASE = SPR_PALETTE_BASE + PALETTE_SPRITE_COUNT;
static const uint16 PROGSIGNAL_SPRITE_COUNT = 32;
static const SpriteID SPR_DUP_PROGSIGNAL_BASE = SPR_PROGSIGNAL_BASE + PROGSIGNAL_SPRITE_COUNT;

@ -7,7 +7,7 @@
/** @file tracerestrict_gui.cpp GUI code for Trace Restrict
*
* This is largely based on the programmable signals patch's GUI
* This is largely based on the programmable pre-signals patch's GUI
* */
#include "stdafx.h"

@ -81,14 +81,14 @@ enum BuildSignalWidgets {
WID_BS_SEMAPHORE_ENTRY, ///< Build a semaphore entry block signal
WID_BS_SEMAPHORE_EXIT, ///< Build a semaphore exit block signal
WID_BS_SEMAPHORE_COMBO, ///< Build a semaphore combo block signal
WID_BS_SEMAPHORE_PROG, ///< Build a semahore programmable signal
WID_BS_SEMAPHORE_PROG, ///< Build a semahore programmable pre-signal
WID_BS_SEMAPHORE_PBS, ///< Build a semaphore path signal.
WID_BS_SEMAPHORE_PBS_OWAY, ///< Build a semaphore one way path signal.
WID_BS_ELECTRIC_NORM, ///< Build an electric normal block signal
WID_BS_ELECTRIC_ENTRY, ///< Build an electric entry block signal
WID_BS_ELECTRIC_EXIT, ///< Build an electric exit block signal
WID_BS_ELECTRIC_COMBO, ///< Build an electric combo block signal
WID_BS_ELECTRIC_PROG, ///< Build an electric programmable signal
WID_BS_ELECTRIC_PROG, ///< Build an electric programmable pre-signal
WID_BS_ELECTRIC_PBS, ///< Build an electric path signal.
WID_BS_ELECTRIC_PBS_OWAY, ///< Build an electric one way path signal.
WID_BS_CONVERT, ///< Convert the signal.

@ -729,7 +729,7 @@ enum WindowClass {
WC_TRACE_RESTRICT_SLOTS,
/**
* Programmable signals window
* Programmable pre-signals window
*/
WC_SIGNAL_PROGRAM,

Loading…
Cancel
Save