source: Daodan/src/BFW_Motoko_Draw.h@ 987

Last change on this file since 987 was 894, checked in by alloc, 11 years ago

Daodan 3.5: Fix displaying screens larger than screen res

File size: 2.3 KB
Line 
1#ifndef BFW_MOTOKO_DRAW_H
2#define BFW_MOTOKO_DRAW_H
3
4typedef struct M3tDisplayMode
5{
6 unsigned short Width;
7 unsigned short Height;
8 unsigned short Depth;
9 unsigned short __unused;
10} M3tDisplayMode; // 0x0010: (size).
11
12typedef 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
20typedef 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
31typedef 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
42typedef 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
66typedef 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
79typedef struct
80{
81 WORD data[3][256];
82} M3tWin32GammaRamp;
83
84typedef struct
85{
86 float x;
87 float y;
88 float z;
89 float invW;
90} M3tPointScreen;
91
92typedef struct
93{
94 char pad[8];
95
96 UUtUns16 width;
97 UUtUns16 height;
98 int texelType; // enum IMtPixelType
99
100 UUtUns16 num_x;
101 UUtUns16 num_y;
102
103 UUtUns32 num_textures;
104 void* textures[1]; // struct M3tTextureMap
105} M3tTextureMap_Big;
106
107extern char M3gResolutionSwitch;
108
109#endif
Note: See TracBrowser for help on using the repository browser.