-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathfake_dd.h
130 lines (122 loc) · 2.68 KB
/
fake_dd.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*
* ff7_opengl - Complete OpenGL replacement of the Direct3D renderer used in
* the original ports of Final Fantasy VII and Final Fantasy VIII for the PC.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* fake_dd.h - definitions for the fake DirectDraw interface used to intercept
* FF8 movie player output
*/
#ifndef _FAKE_DD_H_
#define _FAKE_DD_H_
#include "types.h"
struct ddsurface
{
void *query_interface;
void *addref;
void *release;
uint field_C;
uint field_10;
uint field_14;
uint field_18;
void *blit_fast;
uint field_20;
uint field_24;
uint field_28;
uint field_2C;
uint field_30;
uint field_34;
uint field_38;
uint field_3C;
uint field_40;
uint field_44;
uint field_48;
uint field_4C;
void *get_palette;
void *get_pixelformat;
void *get_surface_desc;
uint field_5C;
void *islost;
void *lock;
uint field_68;
void *restore;
uint field_70;
uint field_74;
uint field_78;
uint field_7C;
void *unlock;
uint field_84;
uint field_88;
uint field_8C;
void *get_dd_interface;
};
struct dddevice
{
void *query_interface;
void *addref;
void *release;
uint field_C;
void *create_clipper;
void *create_palette;
void *create_surface;
uint field_1C;
uint field_20;
uint field_24;
uint field_28;
void *get_caps;
void *get_display_mode;
uint field_34;
uint field_38;
uint field_3C;
uint field_40;
uint field_44;
uint field_48;
uint field_4C;
void *set_coop_level;
uint field_54;
uint field_58;
uint field_5C;
};
struct d3d2device
{
void *query_interface;
void *addref;
void *release;
void *get_caps;
uint field_10;
uint field_14;
uint field_18;
uint field_1C;
uint field_20;
uint field_24;
uint field_28;
uint field_2C;
uint field_30;
uint field_34;
uint field_38;
uint field_3C;
uint junk[10];
void *set_transform;
uint field_6C;
uint field_70;
uint field_74;
void *draw_indexed_primitive;
};
extern struct ddsurface *_fake_dd_back_surface;
extern struct ddsurface *_fake_dd_temp_surface;
extern struct ddsurface *_fake_dd_front_surface;
extern struct dddevice *_fake_dddevice;
extern struct d3d2device *_fake_d3d2device;
#endif