//environment.h

#ifndef __ENVIRONMENT
#define __ENVIRONMENT

#include "vectors.h"
#include "fileio.h"
enum{
	kEnvironmentMappingOff,
	kEnvironmentMappingSphereAddSigned,
	kEnvironmentMappingSphereInterpolate
};

typedef struct{
	tFileRef sky0,sky90,sky180,sky270,skytop,skybot,particlesType,surfaceTypes;
	tFileRef spheremap,dirtMap;
	tFileRef soundLoop,soundRandom;
	tVector3 fogColor,ambient,diffuse,specular,shadowColor,spotLightColor,instrumentColor,flashColor;
	tVector3 lightDir,particlesVelo,flareDir;
	tVector2 particlesSize;
	float particlesHeight;
	float shadowIntensity,particlesAmount,particlesVeloSpread,particlesLife,flashIntensity,soundRandomProbility,environmentMapIntensity,dirtIntensity;
	float gravity,airDensity;
	int shadowEnable,spotLightEnable,particlesEnable,screenParticlesEnable,soundLoopEnable,soundRandomEnable,flaresEnable,dirtEnable;
	int environmentMapping;
	int envFlags;
	char name[80];
	int hasAltEnv;
	tFileRef altEnv;
} tEnvironment;

extern tEnvironment *gEnvironment;

void LoadEnvironment(int ref);

#endif