Merge branch 'master' into jgrpp

# Conflicts:
#	cmake/CompileFlags.cmake
#	src/3rdparty/squirrel/squirrel/sqclosure.h
#	src/3rdparty/squirrel/squirrel/sqobject.h
#	src/3rdparty/squirrel/squirrel/sqvm.h
#	src/aircraft.h
#	src/airport_gui.cpp
#	src/blitter/32bpp_sse_func.hpp
#	src/blitter/null.hpp
#	src/bridge_gui.cpp
#	src/build_vehicle_gui.cpp
#	src/cargotype.h
#	src/cheat_gui.cpp
#	src/command.cpp
#	src/command_func.h
#	src/company_gui.cpp
#	src/console_gui.cpp
#	src/date_gui.cpp
#	src/depot_gui.cpp
#	src/dock_gui.cpp
#	src/economy.cpp
#	src/error_gui.cpp
#	src/fileio.cpp
#	src/fios.cpp
#	src/fios_gui.cpp
#	src/fontcache/spritefontcache.h
#	src/framerate_gui.cpp
#	src/game/game_text.cpp
#	src/gamelog.cpp
#	src/genworld_gui.cpp
#	src/gfx_layout_fallback.cpp
#	src/group_gui.cpp
#	src/highscore_gui.cpp
#	src/hotkeys.cpp
#	src/industry_cmd.cpp
#	src/industry_gui.cpp
#	src/landscape.cpp
#	src/main_gui.cpp
#	src/misc_cmd.cpp
#	src/misc_gui.cpp
#	src/network/core/tcp_game.cpp
#	src/network/core/udp.cpp
#	src/network/network_chat_gui.cpp
#	src/network/network_content_gui.cpp
#	src/network/network_gui.cpp
#	src/network/network_server.cpp
#	src/network/network_server.h
#	src/newgrf_airport.cpp
#	src/newgrf_airport.h
#	src/newgrf_airporttiles.cpp
#	src/newgrf_airporttiles.h
#	src/newgrf_animation_base.h
#	src/newgrf_canal.cpp
#	src/newgrf_commons.h
#	src/newgrf_config.cpp
#	src/newgrf_debug_gui.cpp
#	src/newgrf_engine.cpp
#	src/newgrf_engine.h
#	src/newgrf_generic.cpp
#	src/newgrf_gui.cpp
#	src/newgrf_house.cpp
#	src/newgrf_house.h
#	src/newgrf_industries.cpp
#	src/newgrf_industries.h
#	src/newgrf_industrytiles.cpp
#	src/newgrf_industrytiles.h
#	src/newgrf_object.cpp
#	src/newgrf_object.h
#	src/newgrf_railtype.cpp
#	src/newgrf_railtype.h
#	src/newgrf_roadstop.cpp
#	src/newgrf_roadstop.h
#	src/newgrf_roadtype.cpp
#	src/newgrf_roadtype.h
#	src/newgrf_spritegroup.cpp
#	src/newgrf_spritegroup.h
#	src/newgrf_station.cpp
#	src/newgrf_station.h
#	src/newgrf_town.cpp
#	src/newgrf_town.h
#	src/news_gui.cpp
#	src/object_gui.cpp
#	src/order_gui.cpp
#	src/os/macosx/crashlog_osx.cpp
#	src/os/unix/crashlog_unix.cpp
#	src/os/windows/crashlog_win.cpp
#	src/os/windows/win32.cpp
#	src/os/windows/win32_main.cpp
#	src/pathfinder/npf/npf.cpp
#	src/pathfinder/npf/queue.cpp
#	src/rail_cmd.cpp
#	src/rail_gui.cpp
#	src/road_gui.cpp
#	src/roadveh.h
#	src/saveload/saveload.cpp
#	src/screenshot.cpp
#	src/script/api/script_text.hpp
#	src/settings.cpp
#	src/settings_gui.cpp
#	src/settings_internal.h
#	src/settings_table.cpp
#	src/signs_cmd.cpp
#	src/signs_gui.cpp
#	src/smallmap_gui.cpp
#	src/smallmap_gui.h
#	src/spriteloader/grf.hpp
#	src/station_cmd.cpp
#	src/station_gui.cpp
#	src/station_map.h
#	src/statusbar_gui.cpp
#	src/stdafx.h
#	src/strgen/strgen.cpp
#	src/table/newgrf_debug_data.h
#	src/terraform_gui.cpp
#	src/timer/timer_game_calendar.cpp
#	src/timer/timer_window.cpp
#	src/town.h
#	src/town_cmd.cpp
#	src/town_gui.cpp
#	src/train_gui.cpp
#	src/transparency_gui.cpp
#	src/vehicle_gui.cpp
#	src/water_cmd.cpp
#	src/waypoint_cmd.cpp
#	src/widget.cpp
#	src/widget_type.h
#	src/widgets/dropdown.cpp
#	src/widgets/rail_widget.h
#	src/widgets/terraform_widget.h
#	src/window.cpp
#	src/window_gui.h
This commit is contained in:
Jonathan G Rennison
2023-11-20 22:26:57 +00:00
278 changed files with 1680 additions and 1495 deletions

View File

@@ -162,7 +162,7 @@ protected:
class SignalSimpleCondition: public SignalCondition {
public:
SignalSimpleCondition(SignalConditionCode code);
virtual bool Evaluate(SignalVM& vm);
bool Evaluate(SignalVM& vm) override;
};
/** Comparator to use for variable conditions. */
@@ -209,7 +209,7 @@ public:
SignalVariableCondition(SignalConditionCode code);
/// Evaluates the condition
virtual bool Evaluate(SignalVM &vm);
bool Evaluate(SignalVM &vm) override;
};
/** A condition which is based upon the state of another signal. */
@@ -222,7 +222,7 @@ class SignalStateCondition: public SignalCondition {
bool CheckSignalValid();
void Invalidate();
virtual bool Evaluate(SignalVM& vm);
bool Evaluate(SignalVM& vm) override;
virtual ~SignalStateCondition();
SignalReference this_sig;
@@ -240,7 +240,7 @@ class SignalSlotCondition: public SignalConditionComparable {
bool CheckSlotValid();
void Invalidate();
virtual bool Evaluate(SignalVM& vm);
bool Evaluate(SignalVM& vm) override;
virtual ~SignalSlotCondition();
SignalReference this_sig;
@@ -257,7 +257,7 @@ class SignalCounterCondition: public SignalConditionComparable {
bool CheckCounterValid();
void Invalidate();
virtual bool Evaluate(SignalVM& vm);
bool Evaluate(SignalVM& vm) override;
virtual ~SignalCounterCondition();
SignalReference this_sig;
@@ -292,7 +292,7 @@ public:
* vectored to the first instruction; if it is an End instruction, the program
* will terminate and the signal will be left red.
*/
virtual void Evaluate(SignalVM &vm);
void Evaluate(SignalVM &vm) override;
/** Links the first and last instructions in the program. Generally only to be
* called from the SignalProgram constructor.
@@ -306,14 +306,14 @@ public:
* This operation, unlike when executed on most instructions, does not destroy
* the instruction.
*/
virtual void Remove();
void Remove() override;
/** The next instruction after this one. On the End instruction, this should
* be nullptr.
*/
SignalInstruction *next;
virtual void SetNext(SignalInstruction *next_insn);
void SetNext(SignalInstruction *next_insn) override;
};
/** If signal instruction. This is perhaps the most important, as without it,
@@ -350,16 +350,16 @@ public:
/** Removes the pseudo instruction. Unless you are also removing the If it
* belongs to, this is nonsense and dangerous.
*/
virtual void Remove();
void Remove() override;
/** Evaluate the pseudo instruction. This involves vectoring execution to
* the instruction after the if.
*/
virtual void Evaluate(SignalVM &vm);
void Evaluate(SignalVM &vm) override;
/** The block to which this instruction belongs */
SignalIf *block;
virtual void SetNext(SignalInstruction *next_insn);
void SetNext(SignalInstruction *next_insn) override;
};
public:
@@ -373,19 +373,19 @@ public:
void SetCondition(SignalCondition *cond);
/** Evaluates the If and takes the appropriate branch */
virtual void Evaluate(SignalVM &vm);
void Evaluate(SignalVM &vm) override;
virtual void Insert(SignalInstruction *before_insn);
void Insert(SignalInstruction *before_insn) override;
/** Removes the If and all of its children */
virtual void Remove();
void Remove() override;
SignalCondition *condition; ///< The if conditon
SignalInstruction *if_true; ///< The branch to take if true
SignalInstruction *if_false; ///< The branch to take if false
SignalInstruction *after; ///< The branch to take after the If
virtual void SetNext(SignalInstruction *next_insn);
void SetNext(SignalInstruction *next_insn) override;
};
/** Set signal instruction. This sets the state of the signal and terminates execution */
@@ -394,8 +394,8 @@ public:
/// Constructs the instruction and sets the state the signal is to be set to
SignalSet(SignalProgram *prog, SignalState = SIGNAL_STATE_RED);
virtual void Evaluate(SignalVM &vm);
virtual void Remove();
void Evaluate(SignalVM &vm) override;
void Remove() override;
/// The state to set the signal to
SignalState to_state;
@@ -403,7 +403,7 @@ public:
/// The instruction following this one (for the editor)
SignalInstruction *next;
virtual void SetNext(SignalInstruction *next_insn);
void SetNext(SignalInstruction *next_insn) override;
};
/// The map type used for looking up signal programs