| 1 |
#ifndef BFW_MOTOKO_DRAW_H |
| 2 |
#define BFW_MOTOKO_DRAW_H |
| 3 |
|
| 4 |
typedef struct M3tDisplayMode |
| 5 |
{ |
| 6 |
unsigned short Width; |
| 7 |
unsigned short Height; |
| 8 |
unsigned short Depth; |
| 9 |
unsigned short __unused; |
| 10 |
} M3tDisplayMode; // 0x0010: (size). |
| 11 |
|
| 12 |
typedef struct M3tDisplayDevice |
| 13 |
{ |
| 14 |
unsigned int __unknown; // |
| 15 |
unsigned short NumModes; // 0x0004: number of valid display modes on this device. |
| 16 |
M3tDisplayMode Modes[16]; // 0x0006: list of supported display modes. |
| 17 |
unsigned short __padding; // 0x0086: padding (not used). |
| 18 |
} M3tDisplayDevice; // 0x0088: (size). |
| 19 |
|
| 20 |
typedef struct M3tDrawEngineCaps |
| 21 |
{ |
| 22 |
int Type; // 0x0000: |
| 23 |
char Name[64]; // 0x0004: draw engine name (eg. "OpenGL"). |
| 24 |
char Driver[64]; // 0x0044: driver name (always NULL string). |
| 25 |
unsigned int Version; // 0x0084: draw engine version (1 for OpenGL). |
| 26 |
unsigned int NumDevices; // 0x0088: number of valid DisplayDevice-s. |
| 27 |
M3tDisplayDevice DisplayDevices[8]; // 0x008c: 1 or more display devices. |
| 28 |
int __unknown; // 0x04cc: |
| 29 |
} M3tDrawEngineCaps; // 0x04d0: (size). |
| 30 |
|
| 31 |
typedef struct |
| 32 |
{ |
| 33 |
int Context_New; |
| 34 |
int Context_Delete; |
| 35 |
int Texture_ResetAll; |
| 36 |
int PrivateState_Size; |
| 37 |
int PrivateState_New; |
| 38 |
int PrivateState_Delete; |
| 39 |
int State_Update; |
| 40 |
} M3tDrawEngine; |
| 41 |
|
| 42 |
typedef struct |
| 43 |
{ |
| 44 |
int FrameStart; |
| 45 |
int FrameEnd; |
| 46 |
int FrameSync; |
| 47 |
int Triangle; |
| 48 |
int Quad; |
| 49 |
int Pent; |
| 50 |
int Line; |
| 51 |
int Point; |
| 52 |
int TriSprite; |
| 53 |
int Sprite; |
| 54 |
int SpriteArray; |
| 55 |
int ScreenCapture; |
| 56 |
int PointVisible; |
| 57 |
int SupportsPointVisible; |
| 58 |
int TextureFormatAvailable; |
| 59 |
int SetResolution; |
| 60 |
int ResetFog; |
| 61 |
int TextureLoad; |
| 62 |
int TextureUnload; |
| 63 |
int SinglePassMultitextureCapable; |
| 64 |
} M3tDrawContext; |
| 65 |
|
| 66 |
typedef struct |
| 67 |
{ |
| 68 |
float *Position; |
| 69 |
int *Color; |
| 70 |
float *TexCoord0; |
| 71 |
float *TexCoord1; |
| 72 |
void *Texture0; |
| 73 |
void *Texture1; |
| 74 |
void *State6; |
| 75 |
void *State7; |
| 76 |
void *State8; |
| 77 |
} M3tDrawPtrState; |
| 78 |
|
| 79 |
typedef struct |
| 80 |
{ |
| 81 |
WORD data[3][256]; |
| 82 |
} M3tWin32GammaRamp; |
| 83 |
|
| 84 |
extern char M3gResolutionSwitch; |
| 85 |
|
| 86 |
#endif |