port from perforce
This commit is contained in:
375
evoke-64k/trunk/ev10/globals.h
Normal file
375
evoke-64k/trunk/ev10/globals.h
Normal file
@@ -0,0 +1,375 @@
|
||||
#pragma once
|
||||
|
||||
#include "defines.h"
|
||||
#include <windows.h>
|
||||
#include <mmsystem.h>
|
||||
#include <d3d9.h>
|
||||
#include <d3dx9math.h>
|
||||
|
||||
#include "VUMeter.h"
|
||||
//#include "ScriptState.h"
|
||||
#include "Renderjob.h"
|
||||
#include "Texture.h"
|
||||
#include "Shader.h"
|
||||
#include "PSSM.h"
|
||||
#include "Water.h"
|
||||
#include "Environment.h"
|
||||
#include "TerrainGrid.h"
|
||||
#include "FluidContext.h"
|
||||
#include "random.h"
|
||||
#include "camera.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Konstanten
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
extern const float c_2PI;
|
||||
extern const float c_PI;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Globale Daten
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
extern LPDIRECT3D9 g_D3D;
|
||||
extern IDirect3DDevice9 *g_d3d_device;
|
||||
|
||||
extern D3DPRESENT_PARAMETERS d3dpp;
|
||||
extern UINT g_nShadowResolution;
|
||||
extern UINT g_nEnvResolution;
|
||||
extern UINT g_nEnvBlurResolution;
|
||||
extern float g_fResolutionFactor;
|
||||
extern int g_iResolutionFactorExp;
|
||||
|
||||
extern D3DLIGHT9 d3dLight[3];
|
||||
|
||||
extern D3DMATERIAL9 d3dMaterial;
|
||||
|
||||
extern D3DXMATRIX g_matView;
|
||||
|
||||
extern D3DXMATRIX g_matProjection;
|
||||
|
||||
enum TextureIndices
|
||||
{
|
||||
TI_RotMatrix= 0,
|
||||
TI_Random= 1,
|
||||
TI_RandomCube= 2,
|
||||
TI_Wave=3,
|
||||
TI_LightSpec1D= 7,
|
||||
TI_First1D= 8,
|
||||
TI_White= 8,
|
||||
TI_Light1D= 9,
|
||||
TI_LightTest= 10,
|
||||
TextureCount= 32,
|
||||
TI_IgnoreSetting= -1,
|
||||
TI_CLAMP= -2,
|
||||
};
|
||||
|
||||
|
||||
extern Texture g_pTextures[ TextureCount ];
|
||||
|
||||
enum RenderTargetIndices
|
||||
{
|
||||
RT_DEPTH,
|
||||
RT_COLOR,
|
||||
|
||||
RT_AUX1,
|
||||
RT_AUX2,
|
||||
|
||||
RT_SHADOW,
|
||||
|
||||
RT_REFLECTION_DEPTH,
|
||||
RT_REFLECTION,
|
||||
|
||||
RT_CUBE_DEPTH,
|
||||
|
||||
RT_COUNT
|
||||
};
|
||||
extern IDirect3DTexture9* g_pFullScreenRT[ RT_COUNT ];
|
||||
|
||||
enum CubeRenderTargetIndices
|
||||
{
|
||||
RT_ENVCUBE,
|
||||
RT_ENVCUBEINT,
|
||||
|
||||
RT_CUBE_COUNT
|
||||
};
|
||||
extern IDirect3DCubeTexture9* g_pCubeRT[RT_CUBE_COUNT];
|
||||
|
||||
enum RenderTargetSurfaceIndices
|
||||
{
|
||||
RTS_DEFAULT_DS,
|
||||
RTS_DEPTH,
|
||||
RTS_DEPTH_MS,
|
||||
RTS_COLOR,
|
||||
RTS_COLOR_MS,
|
||||
|
||||
RTS_AUX1,
|
||||
RTS_AUX2,
|
||||
|
||||
RTS_SHADOW,
|
||||
|
||||
RTS_REFLECTION_DEPTH,
|
||||
RTS_REFLECTION,
|
||||
|
||||
RTS_CUBE_DEPTH,
|
||||
RTS_ENVCUBE1,
|
||||
RTS_ENVCUBE2,
|
||||
RTS_ENVCUBE3,
|
||||
RTS_ENVCUBE4,
|
||||
RTS_ENVCUBE5,
|
||||
RTS_ENVCUBE6,
|
||||
|
||||
RTS_ENVCUBEINT1,
|
||||
RTS_ENVCUBEINT2,
|
||||
RTS_ENVCUBEINT3,
|
||||
RTS_ENVCUBEINT4,
|
||||
RTS_ENVCUBEINT5,
|
||||
RTS_ENVCUBEINT6,
|
||||
|
||||
RTS_AUX_DS,
|
||||
RTS_CUBE_DS,
|
||||
|
||||
RTS_COUNT
|
||||
};
|
||||
extern IDirect3DSurface9* g_pFullScreenRTS[ RTS_COUNT ];
|
||||
extern unsigned int g_nFullScreenResX[ RTS_COUNT ];
|
||||
extern unsigned int g_nFullScreenResY[ RTS_COUNT ];
|
||||
|
||||
extern SCameraDefinition g_Camera;
|
||||
extern D3DXVECTOR3 g_CamFront;
|
||||
|
||||
extern D3DXVECTOR3 g_LightDir;
|
||||
extern float g_fGlow;
|
||||
|
||||
extern float g_fCamTime;
|
||||
extern float g_fShaderBeat;
|
||||
|
||||
extern SCameraDefinition g_CubeMapCamera;
|
||||
extern D3DXVECTOR3 g_CubeMapLightDir;
|
||||
|
||||
extern PSSM g_PSSM;
|
||||
extern Water g_OceanWater;
|
||||
extern Environment g_Environment;
|
||||
extern TerrainGrid g_IsleTerrainGrid;
|
||||
extern TerrainGrid g_CaveTerrainGrid;
|
||||
extern TerrainGrid g_CaveGroundTerrainGrid;
|
||||
|
||||
extern FluidContext g_FluidContext;
|
||||
extern Fluid g_Fluid;
|
||||
|
||||
enum PointMapIndex
|
||||
{
|
||||
PMI_Spike,
|
||||
PMI_Cylinder,
|
||||
PMI_Greeble1,
|
||||
PMI_Greeble2,
|
||||
PMI_Greeble3,
|
||||
PMI_Greeble4,
|
||||
PMI_Count
|
||||
};
|
||||
|
||||
enum FluidIndex
|
||||
{
|
||||
FI_Spike,
|
||||
FI_Cylinder,
|
||||
FI_Greeble1,
|
||||
FI_Greeble2,
|
||||
FI_Greeble3,
|
||||
FI_Greeble4,
|
||||
FI_Flock,
|
||||
FI_Count
|
||||
};
|
||||
|
||||
extern D3DXVECTOR4 g_FluidPointMap[PMI_Count][100000];
|
||||
extern FluidParticleSystem g_FluidParticleSystem[FI_Count];
|
||||
extern float g_FluidParticleSize[FI_Count];
|
||||
extern float g_PointMapDistance[PMI_Count];
|
||||
extern float g_StartMeltTime;
|
||||
extern float g_EndMeltTime;
|
||||
|
||||
float TimeToFrozenObj( float fTime );
|
||||
|
||||
enum ObjectIndices
|
||||
{
|
||||
OI_Test= 0,
|
||||
OI_TextFirst= 0,
|
||||
OI_TextLast= 63,
|
||||
OI_FlockFirst= 64,
|
||||
OI_FlockLast= 127,
|
||||
OI_OBJTEST= 128,
|
||||
OI_OBJTEST_LAST= OI_OBJTEST + 15,
|
||||
OI_CYLINDER,
|
||||
OI_SPIKEBALL,
|
||||
OI_GREEBLE_1,
|
||||
OI_GREEBLE_2,
|
||||
OI_GREEBLE_3,
|
||||
OI_GREEBLE_4,
|
||||
OI_ISLE_FIRST,
|
||||
OI_ISLE_LAST= OI_ISLE_FIRST + 31,
|
||||
OI_ISLE_BASE_FIRST,
|
||||
OI_ISLE_BASE_LAST= OI_ISLE_BASE_FIRST+ 31,
|
||||
OI_CAVE_FIRST,
|
||||
OI_CAVE_LAST= OI_CAVE_FIRST + 1,
|
||||
OI_CAVE_LIGHT_FIRST,
|
||||
OI_CAVE_LIGHT_LAST= OI_CAVE_LIGHT_FIRST + 31,
|
||||
OI_CAVE_GROUND_FIRST,
|
||||
OI_CAVE_GROUND_LAST= OI_CAVE_GROUND_FIRST + 3,
|
||||
OI_SWARM_FIRST,
|
||||
OI_SWARM_LAST= OI_SWARM_FIRST + 95,
|
||||
OI_MAGE,
|
||||
OI_YETI1,
|
||||
OI_YETI2,
|
||||
OI_MAGE2,
|
||||
OI_OUTRO1,
|
||||
OI_OUTRO2,
|
||||
OI_OUTRO3,
|
||||
ObjectCount= 1024,
|
||||
OI_SKY= ObjectCount,
|
||||
OI_SKY_CAVE,
|
||||
OI_SKY_CUBEMAP,
|
||||
OI_OCEAN,
|
||||
OI_FLUIDS,
|
||||
SceneObjCount,
|
||||
};
|
||||
|
||||
static const int g_ObjGroupsDesc[]=
|
||||
{
|
||||
0, SceneObjCount - 1,
|
||||
OI_SKY, OI_SKY,
|
||||
OI_SKY_CAVE, OI_SKY_CAVE,
|
||||
OI_SKY_CUBEMAP, OI_SKY_CUBEMAP,
|
||||
OI_OCEAN, OI_OCEAN,
|
||||
OI_ISLE_FIRST, OI_ISLE_BASE_LAST,
|
||||
OI_CAVE_FIRST, OI_CAVE_LIGHT_LAST,
|
||||
OI_CAVE_GROUND_FIRST, OI_CAVE_GROUND_LAST,
|
||||
OI_CYLINDER, OI_CYLINDER,
|
||||
OI_SPIKEBALL, OI_SPIKEBALL,
|
||||
OI_GREEBLE_1, OI_GREEBLE_1,
|
||||
OI_GREEBLE_2, OI_GREEBLE_2,
|
||||
OI_GREEBLE_3, OI_GREEBLE_3,
|
||||
OI_GREEBLE_4, OI_GREEBLE_4,
|
||||
OI_TextFirst, OI_TextLast,
|
||||
OI_FLUIDS, OI_FLUIDS,
|
||||
OI_SWARM_FIRST, OI_SWARM_LAST,
|
||||
OI_MAGE, OI_YETI2,
|
||||
OI_MAGE2, OI_MAGE2,
|
||||
OI_OUTRO1, OI_OUTRO3,
|
||||
-1
|
||||
};
|
||||
|
||||
extern Renderjob g_Objects[ ObjectCount ];
|
||||
extern Renderjob* g_pEditObject;
|
||||
|
||||
extern int g_ObjGroupIndex[SceneObjCount];
|
||||
const int g_SceneMaskCount= 32;
|
||||
#ifdef EXTRACODE
|
||||
extern DWORD g_SceneMask[g_SceneMaskCount];
|
||||
#else
|
||||
extern DWORD g_SceneMask[];
|
||||
#endif
|
||||
|
||||
extern Renderjob g_SkyBox;
|
||||
extern Renderjob g_Ocean;
|
||||
extern Renderjob g_FullScreenQuad;
|
||||
|
||||
const int g_iShaderCount= 64;
|
||||
extern Shader g_Shaders[ g_iShaderCount ];
|
||||
|
||||
extern DWORD g_dwTimeReplaceStart;
|
||||
|
||||
extern int g_iTempo;
|
||||
const int g_iSampleOffsetGeneral= 2205;
|
||||
extern int g_iSampleOffset;
|
||||
|
||||
extern int g_dwSamplesPassed;
|
||||
extern int g_dwSamples;
|
||||
|
||||
extern SVUMeter g_vuBaseDrum;
|
||||
extern SVUMeter g_vuSnare;
|
||||
|
||||
extern RandomGenerator g_Random;
|
||||
|
||||
enum ShaderIndices
|
||||
{
|
||||
PreDepth,
|
||||
|
||||
PSSM_Proj,
|
||||
SSAO,
|
||||
SSAO_BlurH,
|
||||
SSAO_BlurV,
|
||||
DOF_Intensity,
|
||||
DOF,
|
||||
BlurBilH,
|
||||
BlurBilV,
|
||||
Underwater,
|
||||
Underwater_Filter,
|
||||
Ray_Mask,
|
||||
Ray_Extrude,
|
||||
BlurH,
|
||||
BlurV,
|
||||
Extract_InvAlpha,
|
||||
|
||||
Phong,
|
||||
Sky,
|
||||
CaveSky,
|
||||
EnvSky,
|
||||
SkyDepth,
|
||||
Text,
|
||||
EnvLit,
|
||||
Crystal,
|
||||
Ocean,
|
||||
|
||||
Terrain,
|
||||
Cave,
|
||||
CaveGround,
|
||||
TerrainDepth,
|
||||
|
||||
FluidDepth,
|
||||
FluidPosition,
|
||||
FluidNormal,
|
||||
FluidBlur,
|
||||
FluidCompose,
|
||||
|
||||
TexGen_Perlin,
|
||||
TexGen_Wave,
|
||||
TexGen_Normal,
|
||||
TexGen_CubeBlur,
|
||||
|
||||
Overlay_Logo,
|
||||
Overlay_Fade
|
||||
};
|
||||
|
||||
#ifdef EXTRACODE
|
||||
extern char g_ShaderVSGeneral[ 65536 ];
|
||||
extern char g_ShaderPSPhong[ 65536 ];
|
||||
extern char g_ShaderPSCrystal[ 65536 ];
|
||||
extern char g_ShaderPSDepth[ 65536 ];
|
||||
extern char g_ShaderPSText[ 65536 ];
|
||||
extern char g_ShaderPSEnvLit[ 65536 ];
|
||||
|
||||
extern char g_ShaderVSSky[ 65536 ];
|
||||
extern char g_ShaderPSSky[ 65536 ];
|
||||
|
||||
extern char g_ShaderVSOcean[ 65536 ];
|
||||
extern char g_ShaderPSOcean[ 65536 ];
|
||||
|
||||
extern char g_ShaderVSFSQuad[ 65536 ];
|
||||
extern char g_ShaderPSTexGen[ 65536 ];
|
||||
extern char g_ShaderPSPSSM[ 65536 ];
|
||||
extern char g_ShaderPSAmbOcc[ 65536 ];
|
||||
extern char g_ShaderPSDOF[ 65536 ];
|
||||
extern char g_ShaderPSRay[ 65536 ];
|
||||
extern char g_ShaderPSBlur[ 65536 ];
|
||||
|
||||
extern char g_ShaderPSTerrain[ 65536 ];
|
||||
|
||||
extern char g_ShaderVSFluid[ 65536 ];
|
||||
extern char g_ShaderPSFluid[ 65536 ];
|
||||
|
||||
#else
|
||||
#include "shaderdata.h"
|
||||
#endif
|
||||
|
||||
void InitGlobals();
|
||||
bool IsObjInScene( ObjectIndices oi );
|
||||
Reference in New Issue
Block a user