-
Notifications
You must be signed in to change notification settings - Fork 2
/
API_Specification.txt
225 lines (153 loc) · 8.48 KB
/
API_Specification.txt
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
GSD API Ver.2.1
--------------------------------------------------------------------------------
struct GSD_TextureInfo
{
BOOL active; // テクスチャを表示するか否か (TRUE、FALSE)
DWORD texSize; // テクスチャのピクセル単位のサイズ、GSD_InitTexture() のときに指定した値と一致していなければならない
int x, y; // テクスチャの位置 (alignの値によって基準位置が変わる)
DWORD color; // 基本色 (通常は不透明の白 0xffffffff)
DWORD align; // テクスチャの配置 (DT_LEFT、DT_CENTER、DT_RIGHT、DT_TOP、DT_VCENTER、DT_BOTTOM)
BYTE *data; // テクスチャを格納したバッファへのポインタ 設定のみ変更する場合はNULL
};
・テクスチャデータのカラーフォーマットは32bit(ARGB)です
--------------------------------------------------------------------------------
BOOL GSD_Initialize();
・GSDを初期化します
◆戻り値
・関数が成功するとTRUEを返します
・関数が失敗するとFALSEを返します
◆注意
・GSD_GetVersion()、GSD_GetApiVersion()以外の関数を呼び出す場合は、
その前に必ずこの関数を一度だけ呼び出してください
・この関数が成功した場合、プログラム終了前に必ずGSD_Finalize()を呼び出してください
--------------------------------------------------------------------------------
void GSD_Finalize();
・GSDの終了処理をします
--------------------------------------------------------------------------------
int GSD_GetMaxTextureNum();
・作成できるテクスチャの最大数を取得します
◆戻り値
・作成できるテクスチャの最大数を返します
--------------------------------------------------------------------------------
int GSD_GetMaxTextureSize();
・作成できるテクスチャの最大サイズを取得します
◆戻り値
・作成できるテクスチャの最大サイズをピクセル単位で返します
--------------------------------------------------------------------------------
DWORD GSD_GetLastUpdate();
・最後にゲーム画面が更新された時間を取得します
◆戻り値
・最後にゲーム画面が更新された時間をUNIX時間で返します
◆解説
・GSD_UpdateOnActive(TRUE)とした場合には、
更新されてもゲーム画面が非アクティブの場合、戻り値は変化しません
--------------------------------------------------------------------------------
void GSD_UpdateOnActive(BOOL uoa);
・ゲームがアクティブな時のみGSD_GetLastUpdate()で得られる値を更新するか否かを設定します
◆パラメータ
・uoa : ゲームがアクティブな時のみ更新する場合はTRUEを、そうでない場合はFALSEを指定します
--------------------------------------------------------------------------------
DWORD GSD_GetVersion();
・DLLのバージョンを取得します
◆戻り値
・DLLのバージョンをDWORDにフォーマットした値を返します
◆解説
・戻り値のバージョン情報の形式は、
Ver.a.b.c.d (10進数) → 0xAABBCCDD (16進数) となります
例: Ver.1.3.13.4 → 0x01030d04
--------------------------------------------------------------------------------
DWORD GSD_GetApiVersion();
・APIのバージョンを取得します
◆戻り値
・APIのバージョンをDWORDにフォーマットした値を返します
◆解説
・戻り値のバージョン情報の形式は、
Ver.a.b (10進数) → 0xAAAABBBB (16進数) となります
例: Ver.2.13 → 0x0002000d
--------------------------------------------------------------------------------
BOOL GSD_CheckApiVersion(DWORD ver);
・APIの互換性を検証します
◆パラメータ
・ver : 使用を想定しているAPIのバージョンを指定します
バージョン情報の形式はGSD_GetApiVersion()の戻り値と同じです
◆戻り値
・verで指定したバージョンと互換性があればTRUEを返します
・verで指定したバージョンと互換性がなければFALSEを返します
--------------------------------------------------------------------------------
BOOL GSD_InitTexture(const DWORD *texSize, int num);
・テクスチャを作成するための初期化を行います
◆パラメータ
・texSize : 作成するテクスチャのピクセル単位のサイズを格納した配列を指定します
・num : texSizeで指定した配列のサイズを指定します
配列のサイズはGSD_GetMaxTextureNum()で得られる値以下でなければならない
◆戻り値
・関数が成功するとTRUEを返します
・関数が失敗するとFALSEを返します
◆注意
・この関数を呼び出す前に、必ずGSD_DataLock()を呼び出しておいてください
--------------------------------------------------------------------------------
BOOL GSD_SetTexture(int index, const struct GSD_TextureInfo *info);
・テクスチャの作成、及び設定を行います
◆パラメータ
・index : 0から始まるテクスチャのインデックスを指定します
・info : テクスチャ情報を格納した構造体へのポインタを指定します
◆戻り値
・関数が成功するとTRUEを返します
・関数が失敗するとFALSEを返します
◆解説
・テクスチャの作成・更新をせずに設定のみを変更したい場合は、
GSD_TextureInfo::data にNULLを指定してください
◆注意
・この関数を呼び出す前に、必ずGSD_DataLock()を呼び出しておいてください
--------------------------------------------------------------------------------
BOOL GSD_GetTexture(int index, struct GSD_TextureInfo *info);
・テクスチャの情報を取得します
◆パラメータ
・index : 0から始まるテクスチャのインデックスを指定します
・info : テクスチャ情報を格納する構造体へのポインタを指定します
◆戻り値
・関数が成功するとTRUEを返します
・関数が失敗するとFALSEを返します
◆注意
・この関数を呼び出す前に、必ずGSD_DataLock()を呼び出しておいてください
--------------------------------------------------------------------------------
void GSD_DelTexture(int index);
・指定したテクスチャを開放します
◆パラメータ
・index : 0から始まるテクスチャのインデックスを指定します
◆注意
・この関数を呼び出す前に、必ずGSD_DataLock()を呼び出しておいてください
--------------------------------------------------------------------------------
void GSD_SetFpsLimit(double fps);
・フレームレート制限の値を設定します
◆パラメータ
・fps : 制限したいフレームレート値を実数で指定します
0.0を指定するとフレームレート制限は無効化されます
--------------------------------------------------------------------------------
void GSD_SetTimerOrg(__int64 org);
・フレームレート制限の基準時間を設定します
◆パラメータ
・org : QueryPerformanceCounter()で得られる64bitの値を設定します
--------------------------------------------------------------------------------
void GSD_SetFpsAlign(DWORD align);
・フレームレート表示の位置を設定します
◆パラメータ
・align : フレームレート表示の位置を指定します
以下のフラググループの任意の組み合わせを指定します
DT_LEFT、DT_RIGHT、DT_TOP、DT_BOTTOM
--------------------------------------------------------------------------------
void GSD_ShowFps(BOOL show);
・フレームレートを表示するか否かを設定します
◆パラメータ
・show : 表示する場合はTRUEを、非表示にする場合はFALSEを指定します
--------------------------------------------------------------------------------
void GSD_DataLock();
・他のプロセスからのデータの読み書きをロックします
◆解説
・GSD_InitTexture()、GSD_SetTexture()、GSD_GetTexture()、GSD_DelTexture()
を呼び出す前に必ずこの関数を呼び出してください
・この関数を呼び出した場合は必ずGSD_DataUnlock()を呼び出してください
--------------------------------------------------------------------------------
void GSD_DataUnlock();
・データのロックを解除します
--------------------------------------------------------------------------------