@@ -57,7 +57,6 @@ public class MSTSSkyDrawer
5757 // Classes reqiring instantiation
5858 public MSTSSkyMesh MSTSSkyMesh ;
5959 WorldLatLon mstsskyworldLoc ; // Access to latitude and longitude calcs (MSTS routes only)
60- SunMoonPos MSTSSkyVectors ;
6160
6261 int mstsskyseasonType ; //still need to remember it as MP now can change it.
6362 #region Class variables
@@ -66,9 +65,9 @@ public class MSTSSkyDrawer
6665 public double mstsskylatitude , mstsskylongitude ;
6766 // Date of activity
6867
69- public Orts . Viewer3D . SkyViewer . Date date ;
68+ public Orts . Viewer3D . SkyViewer . SkyDate date ;
7069
71- private SkySteps skySteps = new SkySteps ( ) ;
70+ private SkyInterpolation skySteps = new SkyInterpolation ( ) ;
7271
7372 // Phase of the moon
7473 public int mstsskymoonPhase ;
@@ -100,7 +99,6 @@ public MSTSSkyDrawer(Viewer viewer)
10099 MSTSSkyMaterial = viewer . MaterialManager . Load ( "MSTSSky" ) ;
101100 // Instantiate classes
102101 MSTSSkyMesh = new MSTSSkyMesh ( MSTSSkyViewer . RenderProcess ) ;
103- MSTSSkyVectors = new SunMoonPos ( ) ;
104102
105103 //viewer.World.MSTSSky.MSTSSkyMaterial.Viewer.MaterialManager.sunDirection.Y < 0
106104 // Set starting value
@@ -134,11 +132,11 @@ public void PrepareFrame(RenderFrame frame, ElapsedTime elapsedTime)
134132 if ( mstsskyseasonType != ( int ) MSTSSkyViewer . Simulator . Season )
135133 {
136134 mstsskyseasonType = ( int ) MSTSSkyViewer . Simulator . Season ;
137- date . ordinalDate = mstsskylatitude >= 0 ? 82 + mstsskyseasonType * 91 : ( 82 + ( mstsskyseasonType + 2 ) * 91 ) % 365 ;
135+ date . OrdinalDate = mstsskylatitude >= 0 ? 82 + mstsskyseasonType * 91 : ( 82 + ( mstsskyseasonType + 2 ) * 91 ) % 365 ;
138136 // TODO: Set the following three externally from ORTS route files (future)
139- date . month = 1 + date . ordinalDate / 30 ;
140- date . day = 21 ;
141- date . year = 2017 ;
137+ date . Month = 1 + date . OrdinalDate / 30 ;
138+ date . Day = 21 ;
139+ date . Year = 2017 ;
142140 }
143141 // Fill in the sun- and moon-position lookup tables
144142 for ( int i = 0 ; i < skySteps . MaxSteps ; i ++ )
@@ -148,7 +146,7 @@ public void PrepareFrame(RenderFrame frame, ElapsedTime elapsedTime)
148146 }
149147 // Phase of the moon is generated at random
150148 mstsskymoonPhase = Viewer . Random . Next ( 8 ) ;
151- if ( mstsskymoonPhase == 6 && date . ordinalDate > 45 && date . ordinalDate < 330 )
149+ if ( mstsskymoonPhase == 6 && date . OrdinalDate > 45 && date . OrdinalDate < 330 )
152150 mstsskymoonPhase = 3 ; // Moon dog only occurs in winter
153151 // Overcast factor: 0.0=almost no clouds; 0.1=wispy clouds; 1.0=total overcast
154152 //mstsskyovercastFactor = MSTSSkyViewer.World.WeatherControl.overcastFactor;
@@ -206,7 +204,7 @@ public void PrepareFrame(RenderFrame frame, ElapsedTime elapsedTime)
206204 }
207205 }
208206
209- skySteps . SetSunAndMoonDirection ( ref mstsskysolarDirection , ref mstsskylunarDirection , ref mstsskysolarPosArray , ref mstsskylunarPosArray ,
207+ skySteps . SetSunAndMoonDirection ( ref mstsskysolarDirection , ref mstsskylunarDirection , mstsskysolarPosArray , mstsskylunarPosArray ,
210208 MSTSSkyViewer . Simulator . ClockTime ) ;
211209
212210 frame . AddPrimitive ( MSTSSkyMaterial , MSTSSkyMesh , RenderPrimitiveGroup . Sky , ref XNASkyWorldLocation ) ;
@@ -218,10 +216,10 @@ public void LoadPrep()
218216 // Get the current latitude and longitude coordinates
219217 mstsskyworldLoc . ConvertWTC ( MSTSSkyViewer . Camera . TileX , MSTSSkyViewer . Camera . TileZ , MSTSSkyViewer . Camera . Location , ref mstsskylatitude , ref mstsskylongitude ) ;
220218 mstsskyseasonType = ( int ) MSTSSkyViewer . Simulator . Season ;
221- date . ordinalDate = mstsskylatitude >= 0 ? 82 + mstsskyseasonType * 91 : ( 82 + ( mstsskyseasonType + 2 ) * 91 ) % 365 ;
222- date . month = 1 + date . ordinalDate / 30 ;
223- date . day = 21 ;
224- date . year = 2017 ;
219+ date . OrdinalDate = mstsskylatitude >= 0 ? 82 + mstsskyseasonType * 91 : ( 82 + ( mstsskyseasonType + 2 ) * 91 ) % 365 ;
220+ date . Month = 1 + date . OrdinalDate / 30 ;
221+ date . Day = 21 ;
222+ date . Year = 2017 ;
225223 float fractClockTime = ( float ) MSTSSkyViewer . Simulator . ClockTime / 86400 ;
226224 mstsskysolarDirection = SunMoonPos . SolarAngle ( mstsskylatitude , mstsskylongitude , fractClockTime , date ) ;
227225 mstsskyworldLoc = null ;
0 commit comments