Last change
on this file since 919 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 |
|
---|
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 | typedef struct
|
---|
85 | {
|
---|
86 | float x;
|
---|
87 | float y;
|
---|
88 | float z;
|
---|
89 | float invW;
|
---|
90 | } M3tPointScreen;
|
---|
91 |
|
---|
92 | typedef 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 |
|
---|
107 | extern char M3gResolutionSwitch;
|
---|
108 |
|
---|
109 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.