To edit some files, you will need Notepad++. Please download it here.
All editions must be done with game off.
You will need to respect 3 steps.
1 - Editing the .gdb
2 - Editing the .scn
3 - Adding the Sky.mas
------------------------------------------------------------------------------------------------
1 - Editing the .gdb
GSC has several different skies and clouds options. Each track has the right combo between sky and clouds but you can mix things if you want.
The next exemple uses the Interlagos GP parameters.
Let's take an example with the Bahrain GP track. The things you will have to change are in green :
Sakhir_BahrainGP06
{
Filter Properties = StockV8 *
Attrition = 18
TrackName = Bahrain International Circuit
EventName = Gulf Air Bahrain Grand Prix 2006
GrandPrixName = Gulf Air Bahrain Grand Prix 2006 //this must be the same as event name in order to sort circuit info correctly.
VenueName = Bahrain International Circuit
Location = Sakhir, Bahrain
Length = 5.412 km
TrackType = Permanent Road Course
Track Record = Nico Rosberg, 92.406
HeadlightsRequired = true // whether headlights are required at night
TerrainDataFile= ..\Sakhir.tdf
.....
.....
.....
NumStartingLights=6
SkyBlendSunAngles=(-20.5, -1.0, 11.5, 25.5)
ShadowMinSunAngle=15.0
Latitude = 26.03 // degs from Equator (range: -90 to 90, positive is Northern Hemisphere) 50.30
NorthDirection = 26.0 // the direction of North in degrees (range: 0 to 359) 26.01
RaceDate = April 15 // default date for the race
SunriseAmbientRGB = (76,51,51)
SunriseDirectionalRGB = (229,204,178)
SunriseFogRGB = (204,174,240)
// DayAmbientRGB = (80,89,126)
DayAmbientRGB = (139,139,137)
DayDirectionalRGB = (255,255,255)
DayFogRGB = (236,225,203)
SunsetAmbientRGB = (76,51,51)
SunsetDirectionalRGB = (178,178,127)
SunsetFogRGB = (204,196,122)
NightAmbientRGB = (25,25,25)
NightDirectionalRGB = (51,51,51)
NightFogRGB = (0,0,0)
....
Then you will have to copy/paste the elements
in red over the green lines.
Sakhir_BahrainGP06
{
Filter Properties = RoadCourse 2005 SRGrandPrix OWChallenge
Attrition = 18
TrackName = Bahrain International Circuit
EventName = Gulf Air Bahrain Grand Prix 2006
GrandPrixName = Gulf Air Bahrain Grand Prix 2006 //this must be the same as event name in order to sort circuit info correctly.
....
SkyBlendSunAngles=(-20.5,-1.0,11.5,25.5)
ShadowMinSunAngle=15.0
Latitude = -23 // degs from Equator (range: -90 to 90, positive is Northern Hemisphere)
NorthDirection = 0 // the direction of North in degrees (range: 0 to 359)
RaceDate = March 3 // default date for the race
FogIntervals = (330,180,1080,150)
SunriseAmbientRGB = (54,57,84)
SunriseDirectionalRGB = (223,156,96)
SunriseFogRGB = (98,85,85)
SunriseFogin = (0)
SunriseFogout = (1000)
//SunriseFogDensity = (-1.000000)
DayAmbientRGB = (130,130,140)
DayDirectionalRGB = (255,245,230)
DayFogRGB = (74,94,130)
DayFogin = (0)
DayFogout = (2250)
//DayFogDensity = (-1.000000)
SunsetAmbientRGB = (114,119,141)
SunsetDirectionalRGB = (255,173,91)
SunsetFogRGB = (62,69,85)
SunsetFogin = (0)
SunsetFogout = (1000)
//NightFogDensity = (-1.000000)
NightAmbientRGB = (12,16,20)
NightDirectionalRGB = (10,10,12)
NightFogRGB = (0,0,0)
NightFogin = (0)
NightFogout = (1500)
//NightFogDensity = (-1.000000)
Sure that the earth position of Bahrain is not the same as Interlagos and you can try to change some things but some tests need to be done because it is not so simple.
Save your file.
2 - Editing the .scn
The .scn calls all the objects in the scene and sets some parameters. At the beginning of the file, you will find where the .scn asks to GSC to take files (lines "SearchPath") and what files need to be opened (lines "MasFile=...").
As example :
CUBEASF
//-------------------------------------------------------
SearchPath=.
SearchPath=Bahrain
SearchPath=Bahrain\Sakhir_BahrainGP06
//-------------------------------------------------------
MASFile=SAKHIRMAPS_HIRES.mas
MASFile=SAKHIR_GP_06_HIRES.MAS
MASFile=STARTLIGHT.mas
MASFile=SAKHIR_GP_06.MAS
MASFile=SAKHIR.mas
MASFile=SAKHIRMAPS.mas
MASFile=BAHR_COMMONMAPS.MAS
We need to add a new path and some new .mas.
The elements in blue need to be added.
CUBEASF
//-------------------------------------------------------
SearchPath=.
SearchPath=Bahrain
SearchPath=Bahrain\Sakhir_BahrainGP06
SearchPath=Bahrain
SearchPath=ReizaCommon
//-------------------------------------------------------
MASFile=CloudsLight.MAS
MASFile=SkyTropicalHaze.MAS
MASFile=Sky.MAS
MASFile=SAKHIRMAPS_HIRES.mas
MASFile=SAKHIR_GP_06_HIRES.MAS
MASFile=STARTLIGHT.mas
MASFile=SAKHIR_GP_06.MAS
MASFile=SAKHIR.mas
MASFile=SAKHIRMAPS.mas
MASFile=BAHR_COMMONMAPS.MAS
For the MASFile, you can choose between some configurations.
For the clouds, you can use :
- CloudsNone
- CloudsCirrus
- CloudsLight
- CloudsMed
- CloudsHeavy
For the sky, you can use :
- SkyEuroAltHazy
- SkyEuroLowHaze
- SkyTropical
- SkyTropicalHaze
- SkyTropicalHazeFog
- SkyTropicalRed
You can mix each of them according to the geographical position or what you want to produce. Bahrain should use a tropical sky and no clouds or Cirrus clouds.
After that you should adjust the light parameters too.
Bahrain uses this :
View=mainview
{
Clear=False
Color=(0, 0, 0)
Size=(1.0, 1.0) Center=(0.5, 0.5)
FOV=(77.75, 62.50)
ClipPlanes=(1.0, 1250.00)
View=rearview
{
Clear=False
Color=(0, 0, 0)
Size=(1.00, 1.00) Center=(0.50, 0.50)
FOV=(62.5, 62.5)
ClipPlanes=(1.0, 150.00)
}
}
//-------------------------------------------------------
//GroupMethod=LinkSingle
GroupMethod=Dynamic
AmbientColor=(139, 139, 137) //(150, 150, 150)...(176, 153, 124)...(126, 126, 126)
FogMode=LINEAR FogIn=(5.00) FogOut=(2600.00) FogDensity=(0.70) FogColor=(236, 225, 203) //(194, 236, 236)(227, 222, 211)
//-------------------------------------------------------
Light=Direct00
{
Type=Directional Dir=(0.234302,-0.914449,-0.329978) Color=(255, 255, 255) Intensity=(1.000000) //Color=(255, 245, 233)
}
You can leave this like that, or you can put Reiza parameters :
View=mainview
{
Clear=False
Color=(0,0,0)
Size=(1.00, 1.00) Center=(0.5, 0.5)
FOV=(40.75, 50.50)
ClipPlanes=(0.50,1000000.00)
View=rearview
{
Clear=False
Color=(0, 0, 0)
Size=(512.00, 64.00) Center=(256.00, 32.00)
FOV=(50.5, 40.5)
ClipPlanes=(0.50, 300.00)
}
}
//-------------------------------------------------------
GroupMethod=Dynamic
MaxShadowRange(500.00)
AmbientColor=(125,125,130)
FogMode=LINEAR FogIn=(0.00) FogOut=(2250.00) FogDensity=(0.01) FogColor=(74,94,130)
//-------------------------------------------------------
Light=FDirect01
{
Type=Directional Dir=(0.338743,-0.883505,-0.323532) Color=(255, 255,255)
}
Last thing is to declare the new sky.
You need to locate the Skyboxi instance.
For Bahrain :
Instance=skyboxi
{
Moveable=True
MeshFile=skyboxi.gmt CollTarget=False HATTarget=False
Pos=(0.0,-3.3,0.0) Orient=(0.0,0.0,0.0)
Instance=Sky
{
Moveable=True
MeshFile=Sky.gmt CollTarget=False HATTarget=False
Pos=(0.0,-6.5,0.0) Orient=(0.0,0.0,0.0)
}
}
The instance Sky has to be changed according to this :
Instance=skyboxi
{
Moveable=True
MeshFile=skyboxi.gmt CollTarget=False HATTarget=False
Pos=(0.0,-3.3,0.0) Orient=(0.0,0.0,0.0)
Instance=CLOUDS
{
Moveable=True
MeshFile=skyboxi.gmt CollTarget=False HATTarget=False
Instance=Sky
{
Moveable=True
MeshFile=SRPL_sky3_dome1.gmt CollTarget=False HATTarget=False ShadowReceiver=False
MeshFile=SRPL_sky3_sun1.gmt CollTarget=False HATTarget=False ShadowReceiver=False
}
}
}
Keep the position and orientation parameters you can find.
If you have a skyboxi like this :
Instance=skyboxi
{
Moveable=True
MeshFile=skyboxi.gmt CollTarget=False HATTarget=False
Instance=Sky
{
Moveable=True
MeshFile=SRPL_sky3_dome1.gmt CollTarget=False HATTarget=False ShadowReceiver=False
MeshFile=SRPL_sky3_sun1.gmt CollTarget=False HATTarget=False ShadowReceiver=False
MeshFile=SRPL_sky3_moonwithglow1.gmt CollTarget=False HATTarget=False ShadowReceiver=False
}
}
Just remove it and put this one :
Instance=skyboxi
{
Moveable=True
MeshFile=skyboxi.gmt CollTarget=False HATTarget=False Render=False
Instance=CLOUDS
{
Moveable=True
MeshFile=skyboxi.gmt CollTarget=False HATTarget=False
Instance=Sky
{
Moveable=True
MeshFile=SRPL_sky3_dome1.gmt CollTarget=False HATTarget=False ShadowReceiver=False
MeshFile=SRPL_sky3_sun1.gmt CollTarget=False HATTarget=False ShadowReceiver=False
}
}
}
If you have a horizon.gmt declared, you must keep it.
For instance, Peyregrosse rally is like that :
Instance=skyboxi
{
Moveable=True Render=False
MeshFile=skyboxi.gmt CollTarget=False HATTarget=False
Instance=Sky
{
Moveable=True
MeshFile=Sky.gmt CollTarget=False HATTarget=False
Instance=horizon
{
VisGroups=(32)
Moveable=False
MeshFile=horizon.gmt CollTarget=False HATTarget=False
}
Instance=horizonlights
{
VisGroups=(32)
Moveable=False
MeshFile=horizonlights.gmt CollTarget=False HATTarget=False LODIn=(8051.0) LODOut=(1000000000.0)
}
}
}
New one has to be like that, keepeing the horizon.gmt :
Instance=skyboxi
{
Moveable=True
MeshFile=skyboxi.gmt CollTarget=False HATTarget=False Render=False
Instance=CLOUDS
{
Instance=horizon
{
VisGroups=(32)
Moveable=False
MeshFile=horizon.gmt CollTarget=False HATTarget=False
}
MeshFile=skyboxi.gmt CollTarget=False HATTarget=False
Instance=Sky
{
Moveable=True
MeshFile=SRPL_sky3_dome1.gmt CollTarget=False HATTarget=False ShadowReceiver=False
MeshFile=SRPL_sky3_sun1.gmt CollTarget=False HATTarget=False ShadowReceiver=False
}
Instance=horizonlights
{
VisGroups=(32)
Moveable=False
MeshFile=horizonlights.gmt CollTarget=False HATTarget=False LODIn=(8051.0) LODOut=(1000000000.0)
}
}
}
Save the file.
3 - Adding the Sky.MAS file
Pick
this file and put it
in the main directory of your track.
Now you can run the game and test the track.
There are some specific cases and perhaps it will not be ok. So try to test things by yourself because I will probably not help all the guys with a little problem. You have to experience the thing ;-)