Files
bluflame/evoke-64k/bp10/globals.h
2026-04-18 22:31:51 +02:00

213 lines
3.6 KiB
C

#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 "random.h"
#include "camera.h"
/////////////////////////////////////////////////////////////////////////////
// Globale Daten
/////////////////////////////////////////////////////////////////////////////
extern IDirect3D9 *g_D3D;
extern IDirect3DDevice9 *g_d3d_device;
extern D3DPRESENT_PARAMETERS d3dpp;
extern UINT g_nShadowResolution;
extern float g_fResolutionFactor;
extern int g_iResolutionFactorExp;
extern D3DLIGHT9 d3dLight[3];
extern D3DMATERIAL9 d3dMaterial;
extern D3DXMATRIX g_matView;
extern D3DXMATRIX g_matProjection;
extern D3DXMATRIX g_matVP;
extern D3DXMATRIX g_matWVP;
enum TextureIndices
{
TI_RotMatrix= 0,
TI_Random= 1,
TI_RandomCube= 2,
TI_LightSpec1D= 7,
TI_First1D= 8,
TI_White= 8,
TI_Light1D= 9,
TI_LightTest= 10,
TI_Rainbow= 11,
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_COUNT
};
extern IDirect3DTexture9* g_pFullScreenRT[ RT_COUNT ];
enum RenderTargetSurfaceIndices
{
RTS_DEFAULT_DS,
RTS_DEPTH,
RTS_DEPTH_MS,
RTS_COLOR,
RTS_COLOR_MS,
RTS_AUX1,
RTS_AUX2,
RTS_SHADOW,
RTS_SHADOW_DS,
RTS_COUNT
};
extern IDirect3DSurface9* g_pFullScreenRTS[ RTS_COUNT ];
extern SCameraDefinition g_Camera;
extern D3DXVECTOR3 g_CamFront;
extern D3DXVECTOR3 g_LightDir;
extern float g_fGlow;
extern float g_fClouds;
extern float g_fPlasmaGrid;
extern PSSM g_PSSM;
enum ObjectIndices
{
Streets= 0,
OI_BuildingFirst= 32,
OI_BuildingLast= 127,
OI_FlockFirst= 128,
OI_FlockLast= 256,
OI_BlockTreeFirst= 256,
OI_BlockTreeLast= 384,
OI_BowFront= 384,
OI_Text= 512,
OI_TextLast= 639,
ObjectCount= 1024
};
extern Renderjob g_Objects[ ObjectCount ];
extern Renderjob* g_pEditObject;
extern Renderjob g_SkyBox;
extern Renderjob g_FullScreenQuad;
const int g_iShaderCount= 64;
extern Shader g_Shaders[ g_iShaderCount ];
#ifndef STARTMUSIC
extern DWORD g_dwTimeReplaceStart;
#endif
extern int g_iTempo;
const int g_iSampleOffsetGeneral= 2205;
extern int g_iSampleOffset;
extern int g_dwSamplesPassed;
extern int g_dwSamples;
extern SVUMeter g_vuLightBeat;
extern SVUMeter g_vuOffBeat;
//extern ScriptState g_ScriptState;
extern RandomGenerator g_Random;
#ifdef EXTRACODE
//extern unsigned char g_Script[ 2048 ];
//extern float g_ScriptParamFloat[ 512 ];
#else
//#include "scriptdata.h"
#endif
enum ShaderIndices
{
PreDepth,
PSSM_Proj,
SSAO,
SSAO_BlurH,
SSAO_BlurV,
DOF_Intensity,
DOF,
BlurBilH,
BlurBilV,
Ray_Mask,
Ray_Extrude,
BlurH,
BlurV,
Extract_InvAlpha,
Phong,
Rainbow,
Tarmac,
Grass,
Wall,
Sky,
SkyDepth,
Text,
};
#ifdef EXTRACODE
extern char g_ShaderVSGeneral[ 65536 ];
extern char g_ShaderPSPhong[ 65536 ];
extern char g_ShaderPSRainbow[ 65536 ];
extern char g_ShaderPSTarmac[ 65536 ];
extern char g_ShaderPSGrass[ 65536 ];
extern char g_ShaderPSWall[ 65536 ];
extern char g_ShaderPSDepth[ 65536 ];
extern char g_ShaderPSText[ 65536 ];
extern char g_ShaderVSSky[ 65536 ];
extern char g_ShaderPSSky[ 65536 ];
extern char g_ShaderVSFSQuad[ 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 ];
#else
#include "shaderdata.h"
#endif
#ifdef EXTRACODE
#include "schmierdat.h"
#else
#include "schmierdat.h"
#endif
void InitGlobals();