binana/profile/3.3.5a-windows-386/include/gx/d3d9.h

249 lines
5.1 KiB
C

#ifndef GX_D3D9_H
#define GX_D3D9_H
#include "gx/device.h"
#include "external/d3d9/device.h"
#include "storm/array.h"
DECLARE_STRUCT(CGxDeviceD3d);
DECLARE_STRUCT(CGxDeviceD3d__GxVertexDecl);
DECLARE_ENUM(CGxDeviceD3d__EDeviceState);
enum CGxDeviceD3d__EDeviceState {
Ds_SrcBlend,
Ds_DstBlend,
Ds_TssMagFilter0,
Ds_TssMagFilter1,
Ds_TssMagFilter2,
Ds_TssMagFilter3,
Ds_TssMagFilter4,
Ds_TssMagFilter5,
Ds_TssMagFilter6,
Ds_TssMagFilter7,
Ds_TssMagFilter8,
Ds_TssMagFilter9,
Ds_TssMagFilter10,
Ds_TssMagFilter11,
Ds_TssMagFilter12,
Ds_TssMagFilter13,
Ds_TssMagFilter14,
Ds_TssMagFilter15,
Ds_TssMinFilter0,
Ds_TssMinFilter1,
Ds_TssMinFilter2,
Ds_TssMinFilter3,
Ds_TssMinFilter4,
Ds_TssMinFilter5,
Ds_TssMinFilter6,
Ds_TssMinFilter7,
Ds_TssMinFilter8,
Ds_TssMinFilter9,
Ds_TssMinFilter10,
Ds_TssMinFilter11,
Ds_TssMinFilter12,
Ds_TssMinFilter13,
Ds_TssMinFilter14,
Ds_TssMinFilter15,
Ds_TssMipFilter0,
Ds_TssMipFilter1,
Ds_TssMipFilter2,
Ds_TssMipFilter3,
Ds_TssMipFilter4,
Ds_TssMipFilter5,
Ds_TssMipFilter6,
Ds_TssMipFilter7,
Ds_TssMipFilter8,
Ds_TssMipFilter9,
Ds_TssMipFilter10,
Ds_TssMipFilter11,
Ds_TssMipFilter12,
Ds_TssMipFilter13,
Ds_TssMipFilter14,
Ds_TssMipFilter15,
Ds_TssWrapU0,
Ds_TssWrapU1,
Ds_TssWrapU2,
Ds_TssWrapU3,
Ds_TssWrapU4,
Ds_TssWrapU5,
Ds_TssWrapU6,
Ds_TssWrapU7,
Ds_TssWrapU8,
Ds_TssWrapU9,
Ds_TssWrapU10,
Ds_TssWrapU11,
Ds_TssWrapU12,
Ds_TssWrapU13,
Ds_TssWrapU14,
Ds_TssWrapU15,
Ds_TssWrapV0,
Ds_TssWrapV1,
Ds_TssWrapV2,
Ds_TssWrapV3,
Ds_TssWrapV4,
Ds_TssWrapV5,
Ds_TssWrapV6,
Ds_TssWrapV7,
Ds_TssWrapV8,
Ds_TssWrapV9,
Ds_TssWrapV10,
Ds_TssWrapV11,
Ds_TssWrapV12,
Ds_TssWrapV13,
Ds_TssWrapV14,
Ds_TssWrapV15,
Ds_TssTTF0,
Ds_TssTTF1,
Ds_TssTTF2,
Ds_TssTTF3,
Ds_TssTTF4,
Ds_TssTTF5,
Ds_TssTTF6,
Ds_TssTTF7,
Ds_TssMaxAnisotropy0,
Ds_TssMaxAnisotropy1,
Ds_TssMaxAnisotropy2,
Ds_TssMaxAnisotropy3,
Ds_TssMaxAnisotropy4,
Ds_TssMaxAnisotropy5,
Ds_TssMaxAnisotropy6,
Ds_TssMaxAnisotropy7,
Ds_TssMaxAnisotropy8,
Ds_TssMaxAnisotropy9,
Ds_TssMaxAnisotropy10,
Ds_TssMaxAnisotropy11,
Ds_TssMaxAnisotropy12,
Ds_TssMaxAnisotropy13,
Ds_TssMaxAnisotropy14,
Ds_TssMaxAnisotropy15,
Ds_TssTexCoordIndex0,
Ds_TssTexCoordIndex1,
Ds_TssTexCoordIndex2,
Ds_TssTexCoordIndex3,
Ds_TssTexCoordIndex4,
Ds_TssTexCoordIndex5,
Ds_TssTexCoordIndex6,
Ds_TssTexCoordIndex7,
Ds_TssColorOp0,
Ds_TssColorOp1,
Ds_TssColorOp2,
Ds_TssColorOp3,
Ds_TssColorOp4,
Ds_TssColorOp5,
Ds_TssColorOp6,
Ds_TssColorOp7,
Ds_TssAlphaOp0,
Ds_TssAlphaOp1,
Ds_TssAlphaOp2,
Ds_TssAlphaOp3,
Ds_TssAlphaOp4,
Ds_TssAlphaOp5,
Ds_TssAlphaOp6,
Ds_TssAlphaOp7,
Ds_TssColorArg10,
Ds_TssColorArg11,
Ds_TssColorArg12,
Ds_TssColorArg13,
Ds_TssColorArg14,
Ds_TssColorArg15,
Ds_TssColorArg16,
Ds_TssColorArg17,
Ds_TssColorArg20,
Ds_TssColorArg21,
Ds_TssColorArg22,
Ds_TssColorArg23,
Ds_TssColorArg24,
Ds_TssColorArg25,
Ds_TssColorArg26,
Ds_TssColorArg27,
Ds_TssAlphaArg10,
Ds_TssAlphaArg11,
Ds_TssAlphaArg12,
Ds_TssAlphaArg13,
Ds_TssAlphaArg14,
Ds_TssAlphaArg15,
Ds_TssAlphaArg16,
Ds_TssAlphaArg17,
Ds_TssAlphaArg20,
Ds_TssAlphaArg21,
Ds_TssAlphaArg22,
Ds_TssAlphaArg23,
Ds_TssAlphaArg24,
Ds_TssAlphaArg25,
Ds_TssAlphaArg26,
Ds_TssAlphaArg27,
Ds_AmbientMaterialSource,
Ds_DiffuseMaterialSource,
Ds_SpecularMaterialSource,
Ds_EmissiveMaterialSource,
Ds_Ambient,
Ds_AlphaBlendEnable,
Ds_AlphaTestEnable,
Ds_AlphaRef,
Ds_FogEnable,
Ds_ZWriteEnable,
Ds_ColorWriteEnable,
Ds_Lighting,
Ds_SpecularEnable,
Ds_CullMode,
Ds_ClipPlaneEnable,
Ds_ZFunc,
Ds_PointScaleA,
Ds_PointScaleB,
Ds_PointScaleC,
Ds_PointScaleEnable,
DeviceStates_Last
};
struct CGxDeviceD3d__GxVertexDecl {
uint32_t m_unk00;
};
STORM_TS_GROWABLE_ARRAY(CGxDeviceD3d__GxVertexDecl);
struct CGxDeviceD3d {
CGxDevice b_base;
void* m_hwnd;
uint16_t m_hwndClass;
uint16_t unk396E;
int32_t m_ownhwnd;
void* m_d3dLib;
IDirect3D9* m_d3d;
IDirect3DDevice9* m_d3dDevice;
D3DCAPS9 m_d3dCaps;
int32_t m_d3dIsHwDevice;
int32_t m_d3dNVAPI;
uint32_t m_d3dStereoEnabled; // UC
uint32_t unk3ABC;
uint32_t m_d3dStereoHandle; // UC
float m_d3dStereoConvergence; // UC
float m_d3dStereoSeparation; // UC
int32_t unk3ACC;
TSGrowableArray_CGxDeviceD3d__GxVertexDecl m_vertexDecl;
IDirect3DVertexDeclaration9* m_d3dVertexDecl[14];
D3DDISPLAYMODE m_desktopDisplayMode;
int32_t m_inScene;
uint32_t unk3B2C;
D3DFORMAT m_devDepthFormat;
D3DFORMAT m_devAdapterFormat;
uint32_t unk3B38;
IDirect3DSurface9* m_defColorSurface;
IDirect3DSurface9* m_defDepthSurface;
uint32_t unk3B44;
uint32_t unk3B48;
int32_t m_hwCursorNeedsUpdate;
IDirect3DTexture9* m_hwCursorTexture;
IDirect3DSurface9* m_hwCursorBitmap;
uint32_t unk3B58;
IDirect3DVertexDeclaration9* m_d3dCurrentVertexDecl;
IDirect3DIndexBuffer9* m_d3dCurrentIndexBuf;
IDirect3DVertexBuffer9* m_d3dVertexStreamBuf[8];
uint32_t m_d3dVertexStreamOfs[8];
uint32_t m_d3dVertexStreamStride[8];
uint32_t m_deviceStates[182];
bool m_texEnabled[8];
};
#endif