Signals: Add variable for signal context (track, tunnel, bridge, etc)
This commit is contained in:
@@ -20,6 +20,7 @@ struct TraceRestrictProgram;
|
||||
struct RailTypeScopeResolver : public ScopeResolver {
|
||||
TileIndex tile; ///< Tracktile. For track on a bridge this is the southern bridgehead.
|
||||
TileContext context; ///< Are we resolving sprites for the upper halftile, or on a bridge?
|
||||
CustomSignalSpriteContext signal_context;
|
||||
const RailtypeInfo *rti;
|
||||
const TraceRestrictProgram *prog;
|
||||
|
||||
@@ -28,9 +29,10 @@ struct RailTypeScopeResolver : public ScopeResolver {
|
||||
* @param ro Surrounding resolver.
|
||||
* @param tile %Tile containing the track. For track on a bridge this is the southern bridgehead.
|
||||
* @param context Are we resolving sprites for the upper halftile, or on a bridge?
|
||||
* @param signal_context Signal context.
|
||||
*/
|
||||
RailTypeScopeResolver(ResolverObject &ro, const RailtypeInfo *rti, TileIndex tile, TileContext context, const TraceRestrictProgram *prog)
|
||||
: ScopeResolver(ro), tile(tile), context(context), rti(rti), prog(prog)
|
||||
RailTypeScopeResolver(ResolverObject &ro, const RailtypeInfo *rti, TileIndex tile, TileContext context, CustomSignalSpriteContext signal_context, const TraceRestrictProgram *prog)
|
||||
: ScopeResolver(ro), tile(tile), context(context), signal_context(signal_context), rti(rti), prog(prog)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -42,7 +44,7 @@ struct RailTypeScopeResolver : public ScopeResolver {
|
||||
struct RailTypeResolverObject : public ResolverObject {
|
||||
RailTypeScopeResolver railtype_scope; ///< Resolver for the railtype scope.
|
||||
|
||||
RailTypeResolverObject(const RailtypeInfo *rti, TileIndex tile, TileContext context, RailTypeSpriteGroup rtsg, uint32 param1 = 0, uint32 param2 = 0, const TraceRestrictProgram *prog = nullptr);
|
||||
RailTypeResolverObject(const RailtypeInfo *rti, TileIndex tile, TileContext context, RailTypeSpriteGroup rtsg, uint32 param1 = 0, uint32 param2 = 0, CustomSignalSpriteContext signal_context = CSSC_GUI, const TraceRestrictProgram *prog = nullptr);
|
||||
|
||||
ScopeResolver *GetScope(VarSpriteGroupScope scope = VSG_SCOPE_SELF, byte relative = 0) override
|
||||
{
|
||||
@@ -62,7 +64,7 @@ struct CustomSignalSpriteResult {
|
||||
};
|
||||
|
||||
SpriteID GetCustomRailSprite(const RailtypeInfo *rti, TileIndex tile, RailTypeSpriteGroup rtsg, TileContext context = TCX_NORMAL, uint *num_results = nullptr);
|
||||
CustomSignalSpriteResult GetCustomSignalSprite(const RailtypeInfo *rti, TileIndex tile, SignalType type, SignalVariant var, uint8 aspect, bool gui = false, const TraceRestrictProgram *prog = nullptr);
|
||||
CustomSignalSpriteResult GetCustomSignalSprite(const RailtypeInfo *rti, TileIndex tile, SignalType type, SignalVariant var, uint8 aspect, CustomSignalSpriteContext context, const TraceRestrictProgram *prog = nullptr);
|
||||
|
||||
RailType GetRailTypeTranslation(uint8 railtype, const GRFFile *grffile);
|
||||
uint8 GetReverseRailTypeTranslation(RailType railtype, const GRFFile *grffile);
|
||||
|
Reference in New Issue
Block a user