Last change
on this file since 976 was 894, checked in by alloc, 11 years ago |
Daodan 3.5: Fix displaying screens larger than screen res
|
File size:
2.3 KB
|
Rev | Line | |
---|
[297] | 1 | #ifndef BFW_MOTOKO_DRAW_H
|
---|
| 2 | #define BFW_MOTOKO_DRAW_H
|
---|
| 3 |
|
---|
[705] | 4 | typedef struct M3tDisplayMode
|
---|
[297] | 5 | {
|
---|
[689] | 6 | unsigned short Width;
|
---|
| 7 | unsigned short Height;
|
---|
| 8 | unsigned short Depth;
|
---|
| 9 | unsigned short __unused;
|
---|
[705] | 10 | } M3tDisplayMode; // 0x0010: (size).
|
---|
[297] | 11 |
|
---|
[705] | 12 | typedef struct M3tDisplayDevice
|
---|
[326] | 13 | {
|
---|
[705] | 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).
|
---|
[326] | 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 |
|
---|
[694] | 79 | typedef struct
|
---|
| 80 | {
|
---|
| 81 | WORD data[3][256];
|
---|
| 82 | } M3tWin32GammaRamp;
|
---|
| 83 |
|
---|
[894] | 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 |
|
---|
[326] | 107 | extern char M3gResolutionSwitch;
|
---|
| 108 |
|
---|
[297] | 109 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.