So I'm thinking at a way to enable such possibility, and write here to get some feedback about the interest this feature can generate and about ideas on the implementation.
Here below a possible implementationm, which I think would require a not so high development effort (at least for 2D cabs), is shortly described.
In the cabview control blocks following further fields may be optionally present:
ORTSDisplay ( numeric ), indicating the display ID number to which the control is linked;
ORTSScreenPage ( alphanumeric-string ) indicating the screen ID string to which the control is linked; that means that the control is displayed/may be operated only if its screen is active in that moment; a missing entry indicates that the control is displayed, independently from the selected screen page; at game start such controls are enabled, plus the ones with line ORTSScreenPage ( "default" ); more ORTSScreenPage() entries in a single control are possible.
A new on/off control, called ORTS_SCREEN_SELECT is available, which, in addition to the usual fields and to the optional fields ORTSDisplay and ORTSScreenPage, contains one or more of following fields
ORTSNewScreenPage ( alphanumeric-string numeric ): when the control is clicked, the controls with field ORTSScreenPage equal to the string of this field and with field ORTSDisplay equal to the numeric will be displayed on such display in place of the ones displayed up to that moment. if the numeric is missing within ORTSNewScreenPage, the involved display is the one referenced in field ORTSDisplay of ORTS_SCREEN_SELECT.
A second control has been added, which is specially devoted to load the background of screen pages (their static part). It is ORTS_STATIC_DISPLAY.
Here is an example of usage of it:
MultiStateDisplay ( Type ( ORTS_STATIC_DISPLAY MULTI_STATE_DISPLAY ) Position ( 246 151 105 16 ) Graphic ( semproniostatic.ace ) States ( 1 1 1 State ( Style ( 0 ) SwitchVal ( 0 ) ) ) ORTSScreenPage ( "sempronio" ) )
With this block, the static part of the "sempronio" screen page is loaded when such screen becomes the active one.
Existing .cvf files will continue working as usual, with no changes needed.
This allows to display and to navigate among the various screens available in modern locomotives, although of course using the actually available cabview controls.
Blueprint https://blueprints.l...le-screen-pages .