@@ -434,16 +434,16 @@ public virtual void LoadFromWagFile(string wagFilePath)
434434 RearCoupler . Closed . ShapeFileName = null ;
435435 }
436436
437- if ( FrontAirHoseShapeFileName != null && ! File . Exists ( wagonFolderSlash + FrontAirHoseShapeFileName ) )
437+ if ( FrontAirHose . Connected . ShapeFileName != null && ! File . Exists ( wagonFolderSlash + FrontAirHose . Connected . ShapeFileName ) )
438438 {
439- Trace . TraceWarning ( "{0} references non-existent shape {1}" , WagFilePath , wagonFolderSlash + FrontAirHoseShapeFileName ) ;
440- FrontAirHoseShapeFileName = null ;
439+ Trace . TraceWarning ( "{0} references non-existent shape {1}" , WagFilePath , wagonFolderSlash + FrontAirHose . Connected . ShapeFileName ) ;
440+ FrontAirHose . Connected . ShapeFileName = null ;
441441 }
442442
443- if ( RearAirHoseShapeFileName != null && ! File . Exists ( wagonFolderSlash + RearAirHoseShapeFileName ) )
443+ if ( RearAirHose . Connected . ShapeFileName != null && ! File . Exists ( wagonFolderSlash + RearAirHose . Connected . ShapeFileName ) )
444444 {
445- Trace . TraceWarning ( "{0} references non-existent shape {1}" , WagFilePath , wagonFolderSlash + RearAirHoseShapeFileName ) ;
446- RearAirHoseShapeFileName = null ;
445+ Trace . TraceWarning ( "{0} references non-existent shape {1}" , WagFilePath , wagonFolderSlash + RearAirHose . Connected . ShapeFileName ) ;
446+ RearAirHose . Connected . ShapeFileName = null ;
447447 }
448448
449449 // If trailing loco resistance constant has not been defined in WAG/ENG file then assign default value based upon orig Davis values
@@ -1229,10 +1229,8 @@ public virtual void Parse(string lowercasetoken, STFReader stf)
12291229
12301230 case "wagon(coupling(frontairhoseanim" :
12311231 stf . MustMatch ( "(" ) ;
1232- FrontAirHoseShapeFileName = stf . ReadString ( ) ;
1233- FrontAirHoseAnimWidthM = stf . ReadFloat ( STFReader . UNITS . Distance , null ) ;
1234- FrontAirHoseAnimHeightM = stf . ReadFloat ( STFReader . UNITS . Distance , null ) ;
1235- FrontAirHoseAnimLengthM = stf . ReadFloat ( STFReader . UNITS . Distance , null ) ;
1232+ FrontAirHose . Connected . ShapeFileName = stf . ReadString ( ) ;
1233+ FrontAirHose . Size = stf . ReadVector3 ( STFReader . UNITS . Distance , Vector3 . Zero ) ;
12361234 stf . SkipRestOfBlock ( ) ;
12371235 break ;
12381236
@@ -1245,10 +1243,8 @@ public virtual void Parse(string lowercasetoken, STFReader stf)
12451243
12461244 case "wagon(coupling(rearairhoseanim" :
12471245 stf . MustMatch ( "(" ) ;
1248- RearAirHoseShapeFileName = stf . ReadString ( ) ;
1249- RearAirHoseAnimWidthM = stf . ReadFloat ( STFReader . UNITS . Distance , null ) ;
1250- RearAirHoseAnimHeightM = stf . ReadFloat ( STFReader . UNITS . Distance , null ) ;
1251- RearAirHoseAnimLengthM = stf . ReadFloat ( STFReader . UNITS . Distance , null ) ;
1246+ RearAirHose . Connected . ShapeFileName = stf . ReadString ( ) ;
1247+ RearAirHose . Size = stf . ReadVector3 ( STFReader . UNITS . Distance , Vector3 . Zero ) ;
12521248 stf . SkipRestOfBlock ( ) ;
12531249 break ;
12541250
@@ -1274,19 +1270,15 @@ public virtual void Parse(string lowercasetoken, STFReader stf)
12741270
12751271 case "wagon(coupling(frontairhosediconnectedanim" :
12761272 stf . MustMatch ( "(" ) ;
1277- FrontAirHoseDisconnectedShapeFileName = stf . ReadString ( ) ;
1278- FrontAirHoseDisconnectedAnimWidthM = stf . ReadFloat ( STFReader . UNITS . Distance , null ) ;
1279- FrontAirHoseDisconnectedAnimHeightM = stf . ReadFloat ( STFReader . UNITS . Distance , null ) ;
1280- FrontAirHoseDisconnectedAnimLengthM = stf . ReadFloat ( STFReader . UNITS . Distance , null ) ;
1273+ FrontAirHose . Disconnected . ShapeFileName = stf . ReadString ( ) ;
1274+ // NOTE: Skip reading the size as it is unused: stf.ReadVector3(STFReader.UNITS.Distance, Vector3.Zero);
12811275 stf . SkipRestOfBlock ( ) ;
12821276 break ;
12831277
12841278 case "wagon(coupling(rearairhosediconnectedanim" :
12851279 stf . MustMatch ( "(" ) ;
1286- RearAirHoseDisconnectedShapeFileName = stf . ReadString ( ) ;
1287- RearAirHoseDisconnectedAnimWidthM = stf . ReadFloat ( STFReader . UNITS . Distance , null ) ;
1288- RearAirHoseDisconnectedAnimHeightM = stf . ReadFloat ( STFReader . UNITS . Distance , null ) ;
1289- RearAirHoseDisconnectedAnimLengthM = stf . ReadFloat ( STFReader . UNITS . Distance , null ) ;
1280+ RearAirHose . Disconnected . ShapeFileName = stf . ReadString ( ) ;
1281+ // NOTE: Skip reading the size as it is unused: stf.ReadVector3(STFReader.UNITS.Distance, Vector3.Zero);
12901282 stf . SkipRestOfBlock ( ) ;
12911283 break ;
12921284
@@ -1445,26 +1437,8 @@ public virtual void Copy(MSTSWagon copy)
14451437 FreightAnimFlag = copy . FreightAnimFlag ;
14461438 FrontCoupler = copy . FrontCoupler ;
14471439 RearCoupler = copy . RearCoupler ;
1448-
1449- FrontAirHoseShapeFileName = copy . FrontAirHoseShapeFileName ;
1450- FrontAirHoseAnimWidthM = copy . FrontAirHoseAnimWidthM ;
1451- FrontAirHoseAnimHeightM = copy . FrontAirHoseAnimHeightM ;
1452- FrontAirHoseAnimLengthM = copy . FrontAirHoseAnimLengthM ;
1453-
1454- FrontAirHoseDisconnectedShapeFileName = copy . FrontAirHoseDisconnectedShapeFileName ;
1455- FrontAirHoseDisconnectedAnimWidthM = copy . FrontAirHoseDisconnectedAnimWidthM ;
1456- FrontAirHoseDisconnectedAnimHeightM = copy . FrontAirHoseDisconnectedAnimHeightM ;
1457- FrontAirHoseDisconnectedAnimLengthM = copy . FrontAirHoseDisconnectedAnimLengthM ;
1458-
1459- RearAirHoseShapeFileName = copy . RearAirHoseShapeFileName ;
1460- RearAirHoseAnimWidthM = copy . RearAirHoseAnimWidthM ;
1461- RearAirHoseAnimHeightM = copy . RearAirHoseAnimHeightM ;
1462- RearAirHoseAnimLengthM = copy . RearAirHoseAnimLengthM ;
1463-
1464- RearAirHoseDisconnectedShapeFileName = copy . RearAirHoseDisconnectedShapeFileName ;
1465- RearAirHoseDisconnectedAnimWidthM = copy . RearAirHoseDisconnectedAnimWidthM ;
1466- RearAirHoseDisconnectedAnimHeightM = copy . RearAirHoseDisconnectedAnimHeightM ;
1467- RearAirHoseDisconnectedAnimLengthM = copy . RearAirHoseDisconnectedAnimLengthM ;
1440+ FrontAirHose = copy . FrontAirHose ;
1441+ RearAirHose = copy . RearAirHose ;
14681442
14691443 CarWidthM = copy . CarWidthM ;
14701444 CarHeightM = copy . CarHeightM ;
0 commit comments