@@ -1218,6 +1218,8 @@ public override void Save(BinaryWriter outf)
12181218 outf . Write ( IsWaterScoopDown ) ;
12191219 outf . Write ( CurrentTrackSandBoxCapacityM3 ) ;
12201220 outf . Write ( SaveAdhesionFilter ) ;
1221+ outf . Write ( GenericItem1 ) ;
1222+ outf . Write ( GenericItem2 ) ;
12211223 outf . Write ( RemoteControlGroup ) ;
12221224 outf . Write ( DPUnitID ) ;
12231225
@@ -1268,6 +1270,9 @@ public override void Restore(BinaryReader inf)
12681270 SaveAdhesionFilter = inf . ReadSingle ( ) ;
12691271
12701272 AdhesionFilter . Reset ( SaveAdhesionFilter ) ;
1273+
1274+ GenericItem1 = inf . ReadBoolean ( ) ;
1275+ GenericItem2 = inf . ReadBoolean ( ) ;
12711276 RemoteControlGroup = inf . ReadInt32 ( ) ;
12721277 DPUnitID = inf . ReadInt32 ( ) ;
12731278
@@ -4236,6 +4241,18 @@ public void OdometerToggleDirection()
42364241 Simulator . Confirmer . Confirm ( CabControl . Odometer , OdometerCountingUp ? CabSetting . Increase : CabSetting . Decrease ) ;
42374242 }
42384243
4244+ public void GenericItem1Toggle ( )
4245+ {
4246+ GenericItem1 = ! GenericItem1 ;
4247+ SignalEvent ( GenericItem1 ? Event . GenericItem1On : Event . GenericItem1Off ) ; // hook for sound trigger
4248+ }
4249+
4250+ public void GenericItem2Toggle ( )
4251+ {
4252+ GenericItem2 = ! GenericItem2 ;
4253+ SignalEvent ( GenericItem2 ? Event . GenericItem2On : Event . GenericItem2Off ) ; // hook for sound trigger
4254+ }
4255+
42394256 public override bool GetCabFlipped ( )
42404257 {
42414258 return UsingRearCab ;
@@ -5119,6 +5136,16 @@ public virtual float GetDataOf(CabViewControl cvc)
51195136 seconds += 60 ;
51205137 data = seconds ;
51215138 break ;
5139+ case CABViewControlTypes . ORTS_GENERIC_ITEM1 :
5140+ {
5141+ data = GenericItem1 ? 1 : 0 ;
5142+ break ;
5143+ }
5144+ case CABViewControlTypes . ORTS_GENERIC_ITEM2 :
5145+ {
5146+ data = GenericItem2 ? 1 : 0 ;
5147+ break ;
5148+ }
51225149
51235150 // Train Control System controls
51245151 case CABViewControlTypes . ORTS_TCS1 :
0 commit comments