//environment.cpp //load a new environment fiel from disk //environments basically control the wheather and //what background images to use and stuff like that #include "fileio.h" #include "environment.h" #include "gamemem.h" #include "parser.h" #include "roads.h" #include "textures.h" #include "gameinitexit.h" tEnvironment *gEnvironment; #define kAirDensity 1.2929 //kg*m^-3 #define kGravitionalAcceleration 9.80665 //m*s^-2 void LoadEnvironment(int ref) { gEnvironment=(tEnvironment*)FileGetParsedDataPtr(ref,kParserTypeEnvironmentDesc,sizeof(tEnvironment)); gSurfaceTypes=(tSurfaceTypeList*)FileGetParsedDataPtr(gEnvironment->surfaceTypes,kParserTypeSurfaceTypeDesc,sizeof(tSurfaceTypeList)); if(gEnvironment->gravity==0) gEnvironment->gravity=kGravitionalAcceleration; if(gEnvironment->airDensity==0) gEnvironment->airDensity=kAirDensity; if(gEnvironment->hasAltEnv&&gMapInfo->useAltEnv) LoadEnvironment(gEnvironment->altEnv); }