dxrubynd 1.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CODE_OF_CONDUCT.md +84 -0
- data/Gemfile +8 -0
- data/LICENSE.txt +12 -0
- data/README.md +31 -0
- data/Rakefile +9 -0
- data/dxrubynd.gemspec +41 -0
- data/ext/dxruby/COPYING +13 -0
- data/ext/dxruby/collision.c +1460 -0
- data/ext/dxruby/collision.h +47 -0
- data/ext/dxruby/dxruby-i386-mswin32.def +4 -0
- data/ext/dxruby/dxruby.c +5861 -0
- data/ext/dxruby/dxruby.h +392 -0
- data/ext/dxruby/extconf.rb +29 -0
- data/ext/dxruby/font.c +686 -0
- data/ext/dxruby/font.h +20 -0
- data/ext/dxruby/image.c +3391 -0
- data/ext/dxruby/image.h +22 -0
- data/ext/dxruby/input.c +2522 -0
- data/ext/dxruby/input.h +4 -0
- data/ext/dxruby/matrix.c +1221 -0
- data/ext/dxruby/matrix.h +30 -0
- data/ext/dxruby/messagethread.c +1180 -0
- data/ext/dxruby/messagethread.h +22 -0
- data/ext/dxruby/sound.c +1516 -0
- data/ext/dxruby/sound.h +1 -0
- data/ext/dxruby/sprite.c +1313 -0
- data/ext/dxruby/sprite.h +29 -0
- data/ext/dxruby/version.h +10 -0
- data/lib/dxrubynd/version.rb +5 -0
- data/lib/dxrubynd.rb +4 -0
- data/sig/dxrubynd.rbs +4 -0
- metadata +91 -0
data/ext/dxruby/dxruby.h
ADDED
@@ -0,0 +1,392 @@
|
|
1
|
+
#include "ruby/version.h"
|
2
|
+
#include "ruby/encoding.h"
|
3
|
+
#include <stdlib.h>
|
4
|
+
#include <mmsystem.h>
|
5
|
+
#include <tchar.h>
|
6
|
+
#include <d3d9.h>
|
7
|
+
#include <d3dx9.h>
|
8
|
+
#include <memory.h>
|
9
|
+
#include <math.h>
|
10
|
+
#include <d3d9types.h>
|
11
|
+
#include <WINNLS32.H>
|
12
|
+
//#include <dshow.h>
|
13
|
+
|
14
|
+
#include "version.h"
|
15
|
+
|
16
|
+
/* Ruby1.8�̌Â��ق��Ή� */
|
17
|
+
#ifndef RSTRING_PTR
|
18
|
+
# define RSTRING_PTR(s) (RSTRING(s)->ptr)
|
19
|
+
#endif
|
20
|
+
#ifndef RSTRING_LEN
|
21
|
+
# define RSTRING_LEN(s) (RSTRING(s)->len)
|
22
|
+
#endif
|
23
|
+
|
24
|
+
#ifndef RARRAY_PTR
|
25
|
+
# define RARRAY_PTR(s) (RARRAY(s)->ptr)
|
26
|
+
#endif
|
27
|
+
#ifndef RARRAY_LEN
|
28
|
+
# define RARRAY_LEN(s) (RARRAY(s)->len)
|
29
|
+
#endif
|
30
|
+
|
31
|
+
#ifndef RARRAY_AREF
|
32
|
+
# define RARRAY_AREF(a, i) (RARRAY_PTR(a)[i])
|
33
|
+
#endif
|
34
|
+
|
35
|
+
#ifndef RARRAY_ASET
|
36
|
+
# define RARRAY_ASET(a, i, v) (RARRAY_PTR(a)[i] = v)
|
37
|
+
#endif
|
38
|
+
|
39
|
+
#ifndef RARRAY_PTR_USE_START
|
40
|
+
# define RARRAY_PTR_USE_START(a) /* */
|
41
|
+
#endif
|
42
|
+
|
43
|
+
#ifndef RARRAY_PTR_USE_END
|
44
|
+
# define RARRAY_PTR_USE_END(a) /* */
|
45
|
+
#endif
|
46
|
+
|
47
|
+
#ifndef RARRAY_PTR_USE
|
48
|
+
# define RARRAY_PTR_USE(ary, ptr_name, expr) do { \
|
49
|
+
expr; \
|
50
|
+
} while (0)
|
51
|
+
#endif
|
52
|
+
|
53
|
+
#ifndef OBJ_WRITE
|
54
|
+
# define OBJ_WRITE(obj, slot, data) *slot=data;
|
55
|
+
#endif
|
56
|
+
|
57
|
+
#ifdef RUBY_VERSION_MAJOR
|
58
|
+
# if !(RUBY_VERSION_MAJOR == 1 || RUBY_API_VERSION_MAJOR == 1 || (RUBY_API_VERSION_MAJOR == 2 && RUBY_API_VERSION_MINOR == 0))
|
59
|
+
# define DXRUBY_USE_TYPEDDATA
|
60
|
+
# endif
|
61
|
+
#endif
|
62
|
+
|
63
|
+
#ifdef DXRUBY_USE_TYPEDDATA
|
64
|
+
# define DXRUBY_CHECK_TYPE( a, b ) \
|
65
|
+
if( !RB_TYPE_P(b, T_DATA) || RTYPEDDATA_TYPE(b) != &a##_data_type) {\
|
66
|
+
rb_raise(rb_eTypeError, "wrong argument type %s (expected DXRuby::"#a")", rb_obj_classname( b ));}
|
67
|
+
# define DXRUBY_CHECK_IMAGE( a ) \
|
68
|
+
if( !RB_TYPE_P(a, T_DATA) || (RTYPEDDATA_TYPE(a) != &Image_data_type && RTYPEDDATA_TYPE(a) != &RenderTarget_data_type) ) {\
|
69
|
+
rb_raise(rb_eTypeError, "wrong argument type %s (expected DXRuby::Image or DXRuby::RenderTarget)", rb_obj_classname( a ));}
|
70
|
+
# define DXRUBY_GET_STRUCT( c, v ) ((struct DXRuby##c *)RTYPEDDATA_DATA( v ))
|
71
|
+
# define DXRUBY_CHECK( a, b ) ( RB_TYPE_P(b, T_DATA) && RTYPEDDATA_TYPE(b) == &a##_data_type )
|
72
|
+
#else
|
73
|
+
# define DXRUBY_CHECK_TYPE( a, b ) \
|
74
|
+
{if( TYPE( b ) != T_DATA || RDATA( b )->dfree != (RUBY_DATA_FUNC)a##_release )\
|
75
|
+
rb_raise(rb_eTypeError, "wrong argument type %s (expected DXRuby::"#a")", rb_obj_classname( b ));}
|
76
|
+
# define DXRUBY_CHECK_IMAGE( a ) \
|
77
|
+
{if( TYPE( a ) != T_DATA || (RDATA( a )->dfree != (RUBY_DATA_FUNC)Image_release && RDATA( a )->dfree != (RUBY_DATA_FUNC)RenderTarget_release) )\
|
78
|
+
rb_raise(rb_eTypeError, "wrong argument type %s (expected DXRuby::Image or DXRuby::RenderTarget)", rb_obj_classname( a ));}
|
79
|
+
# define DXRUBY_GET_STRUCT( c, v ) ((struct DXRuby##c *)DATA_PTR( v ))
|
80
|
+
# define DXRUBY_CHECK( a, b ) ( TYPE( b ) == T_DATA && RDATA( b )->dfree == (RUBY_DATA_FUNC)a##_release )
|
81
|
+
#endif
|
82
|
+
|
83
|
+
#define DXRUBY_CHECK_DISPOSE( a, b ) {if( a->b == NULL ) { rb_raise( eDXRubyError, "disposed object" );}}
|
84
|
+
#define NUM2FLOAT( x ) ((float)( FIXNUM_P(x) ? FIX2INT(x) : NUM2DBL(x) ))
|
85
|
+
#define RELEASE( x ) if( x ) { if(FAILED(x->lpVtbl->Release( x )))rb_raise(eDXRubyError,"release error"); x = NULL; }
|
86
|
+
#define DXRUBY_RETRY_START {retry_flag = FALSE;do {
|
87
|
+
#define DXRUBY_RETRY_END if( FAILED( hr ) && !retry_flag ){rb_gc_start();retry_flag = TRUE;}else{retry_flag = FALSE;}} while( retry_flag );}
|
88
|
+
|
89
|
+
#define FORMAT_JPEG D3DXIFF_JPG
|
90
|
+
#define FORMAT_JPG D3DXIFF_JPG
|
91
|
+
#define FORMAT_PNG D3DXIFF_PNG
|
92
|
+
#define FORMAT_BMP D3DXIFF_BMP
|
93
|
+
#define FORMAT_DDS D3DXIFF_DDS
|
94
|
+
|
95
|
+
#define IME_BUF_SIZE 1024
|
96
|
+
#define IME_VK_BUF_SIZE 1024
|
97
|
+
|
98
|
+
struct DXRubyWindowInfo {
|
99
|
+
int x; /* �����W */
|
100
|
+
int y; /* �����W */
|
101
|
+
int width; /* �� */
|
102
|
+
int height; /* ���� */
|
103
|
+
int windowed; /* �E�B���h�E���[�h����true */
|
104
|
+
int created; /* �E�B���h�E���쐬������true */
|
105
|
+
float scale; /* �E�B���h�E�̃T�C�Y�{�� */
|
106
|
+
// int RefreshRate; /* ���t���b�V�����[�g */
|
107
|
+
int enablemouse; /* �}�E�X��\�����邩�ǂ��� */
|
108
|
+
int mousewheelpos; /* �}�E�X�z�C�[���̈ʒu */
|
109
|
+
int fps; /* fps */
|
110
|
+
int fpscheck; /* ���݂�fps */
|
111
|
+
int frameskip; /* �R�}��������t���O */
|
112
|
+
HANDLE hIcon; /* �E�B���h�E�A�C�R���n���h�� */
|
113
|
+
int input_updated; /* ���͍X�V������1 */
|
114
|
+
int requestclose; /* �E�B���h�E������ꂽ��1 */
|
115
|
+
VALUE render_target; /* �X�N���[�������_�[�^�[�Q�b�g */
|
116
|
+
VALUE before_call; /* ���t���[�������ōŏ��ɌĂ�� */
|
117
|
+
VALUE after_call; /* ���t���[�������ōŌ�ɌĂ�� */
|
118
|
+
VALUE image_array; /* DrawFontEx�ɂ�鎩������Image�u���� */
|
119
|
+
int active; /* �Q�[�������p */
|
120
|
+
LPD3DXEFFECT pD3DXEffectCircleShader; /* �~�`��pShader */
|
121
|
+
LPD3DXEFFECT pD3DXEffectCircleFillShader; /* �h��Ԃ��~�`��pShader */
|
122
|
+
};
|
123
|
+
|
124
|
+
/* �s�N�`���z�� */
|
125
|
+
static struct DXRubyPictureList {
|
126
|
+
float z; /* �s�N�`����Z���W */
|
127
|
+
struct DXRubyPicture *picture; /* �s�N�`���\���̂ւ̃|�C���^ */
|
128
|
+
};
|
129
|
+
|
130
|
+
/* �e�N�X�`���f�[�^ */
|
131
|
+
struct DXRubyTexture {
|
132
|
+
LPDIRECT3DTEXTURE9 pD3DTexture; /* �s�N�`���Ɏg���e�N�X�`�� */
|
133
|
+
float width;
|
134
|
+
float height;
|
135
|
+
int refcount;
|
136
|
+
};
|
137
|
+
|
138
|
+
/* RenderTarget�I�u�W�F�N�g�̒��g */
|
139
|
+
struct DXRubyRenderTarget {
|
140
|
+
struct DXRubyTexture *texture;
|
141
|
+
int x; /* x�n�_�ʒu */
|
142
|
+
int y; /* y�n�_�ʒu */
|
143
|
+
int width; /* �C���[�W�̕� */
|
144
|
+
int height;/* �C���[�W�̍��� */
|
145
|
+
// int lockcount; /* ���b�N�J�E���g �����܂�Image�Ƌ��� */
|
146
|
+
IDirect3DSurface9 *surface;
|
147
|
+
|
148
|
+
int PictureCount; /* �s�N�`���̓o�^�� */
|
149
|
+
int PictureAllocateCount; /* �s�N�`���o�^�̃������m�ې� */
|
150
|
+
int PictureSize; /* �s�N�`���f�[�^�̎g�p�ς݃T�C�Y */
|
151
|
+
int PictureAllocateSize; /* �s�N�`���f�[�^�̃������m�ۃT�C�Y */
|
152
|
+
char *PictureStruct;
|
153
|
+
|
154
|
+
struct DXRubyPictureList *PictureList;
|
155
|
+
|
156
|
+
int minfilter; /* �k���t�B���^ */
|
157
|
+
int magfilter; /* �g��t�B���^ */
|
158
|
+
|
159
|
+
int a; /* �w�i�N���A�F ������ */
|
160
|
+
int r; /* �w�i�N���A�F �Ԑ��� */
|
161
|
+
int g; /* �w�i�N���A�F �ΐ��� */
|
162
|
+
int b; /* �w�i�N���A�F ���� */
|
163
|
+
|
164
|
+
#ifdef DXRUBY15
|
165
|
+
VALUE vregenerate_proc;
|
166
|
+
#endif
|
167
|
+
|
168
|
+
int PictureDecideCount; /* �s�N�`���̓o�^�m�萔 */
|
169
|
+
int PictureDecideSize; /* �s�N�`���f�[�^�̓o�^�m��T�C�Y */
|
170
|
+
int clearflag; /* 1�t���[��1��̃N���A��������������ǂ��� */
|
171
|
+
|
172
|
+
int ox; /* �r���[�ϊ��x */
|
173
|
+
int oy; /* �r���[�ϊ��y */
|
174
|
+
};
|
175
|
+
|
176
|
+
struct DXRubyPicture_drawLine {
|
177
|
+
void (*func)(void*);
|
178
|
+
VALUE value;
|
179
|
+
unsigned char blendflag; /* ������(000)�A���Z����1(100)�A���Z����2(101)�A���Z����1(110)�A���Z����2(111)�̃t���O */
|
180
|
+
unsigned char alpha; /* �A���t�@�i�����j�l */
|
181
|
+
char reserve1; /* �\��3 */
|
182
|
+
char reserve2; /* �\��4 */
|
183
|
+
int x1;
|
184
|
+
int y1;
|
185
|
+
int x2;
|
186
|
+
int y2;
|
187
|
+
float z;
|
188
|
+
int col;
|
189
|
+
};
|
190
|
+
|
191
|
+
struct DXRubyPicture_drawCircle {
|
192
|
+
void (*func)(void*);
|
193
|
+
VALUE value;
|
194
|
+
unsigned char blendflag; /* ������(000)�A���Z����1(100)�A���Z����2(101)�A���Z����1(110)�A���Z����2(111)�̃t���O */
|
195
|
+
unsigned char alpha; /* �A���t�@�i�����j�l */
|
196
|
+
char reserve1; /* �\��3 */
|
197
|
+
char reserve2; /* �\��4 */
|
198
|
+
int x;
|
199
|
+
int y;
|
200
|
+
int r;
|
201
|
+
float z;
|
202
|
+
int col;
|
203
|
+
};
|
204
|
+
|
205
|
+
struct DXRubyPicture_draw {
|
206
|
+
void (*func)(void*);
|
207
|
+
VALUE value;
|
208
|
+
unsigned char blendflag; /* ������(000)�A���Z����1(100)�A���Z����2(101)�A���Z����1(110)�A���Z����2(111)�̃t���O */
|
209
|
+
unsigned char alpha; /* �A���t�@�i�����j�l */
|
210
|
+
char reserve1; /* �\��3 */
|
211
|
+
char reserve2; /* �\��4 */
|
212
|
+
int x;
|
213
|
+
int y;
|
214
|
+
float z;
|
215
|
+
};
|
216
|
+
|
217
|
+
struct DXRubyPicture_drawEx {
|
218
|
+
void (*func)(void*);
|
219
|
+
VALUE value;
|
220
|
+
unsigned char blendflag; /* ������(000)�A���Z����1(100)�A���Z����2(101)�A���Z����1(110)�A���Z����2(111)�̃t���O */
|
221
|
+
unsigned char alpha; /* �A���t�@�i�����j�l */
|
222
|
+
char reserve1; /* �\��3 */
|
223
|
+
char reserve2; /* �\��4 */
|
224
|
+
int x;
|
225
|
+
int y;
|
226
|
+
float z;
|
227
|
+
float scalex;
|
228
|
+
float scaley;
|
229
|
+
float centerx;
|
230
|
+
float centery;
|
231
|
+
float angle;
|
232
|
+
};
|
233
|
+
|
234
|
+
struct DXRubyPicture_drawFont {
|
235
|
+
void (*func)(void*);
|
236
|
+
VALUE value;
|
237
|
+
unsigned char blendflag; /* ������(000)�A���Z����1(100)�A���Z����2(101)�A���Z����1(110)�A���Z����2(111)�̃t���O */
|
238
|
+
unsigned char alpha; /* �A���t�@�i�����j�l */
|
239
|
+
char reserve1; /* �\��3 */
|
240
|
+
char reserve2; /* �\��4 */
|
241
|
+
int x;
|
242
|
+
int y;
|
243
|
+
int z;
|
244
|
+
float scalex;
|
245
|
+
float scaley;
|
246
|
+
float centerx;
|
247
|
+
float centery;
|
248
|
+
float angle;
|
249
|
+
int color; /* �t�H���g�̐F */
|
250
|
+
};
|
251
|
+
|
252
|
+
struct DXRubyPicture_drawMorph {
|
253
|
+
void (*func)(void*);
|
254
|
+
VALUE value;
|
255
|
+
unsigned char blendflag; /* ������(000)�A���Z����1(100)�A���Z����2(101)�A���Z����1(110)�A���Z����2(111)�̃t���O */
|
256
|
+
unsigned char alpha; /* �A���t�@�i�����j�l */
|
257
|
+
char reserve1; /* �\��3 */
|
258
|
+
char reserve2; /* �\��4 */
|
259
|
+
float x1;
|
260
|
+
float y1;
|
261
|
+
float x2;
|
262
|
+
float y2;
|
263
|
+
float x3;
|
264
|
+
float y3;
|
265
|
+
float x4;
|
266
|
+
float y4;
|
267
|
+
float z;
|
268
|
+
int dividex;
|
269
|
+
int dividey;
|
270
|
+
char colorflag, r, g, b;
|
271
|
+
};
|
272
|
+
|
273
|
+
struct DXRubyPicture_drawTile {
|
274
|
+
void (*func)(void*);
|
275
|
+
VALUE value;
|
276
|
+
unsigned char blendflag; /* ������(000)�A���Z����1(100)�A���Z����2(101)�A���Z����1(110)�A���Z����2(111)�̃t���O */
|
277
|
+
unsigned char alpha; /* �A���t�@�i�����j�l */
|
278
|
+
char reserve1; /* �\��3 */
|
279
|
+
char reserve2; /* �\��4 */
|
280
|
+
int basex;
|
281
|
+
int basey;
|
282
|
+
int sizex;
|
283
|
+
int sizey;
|
284
|
+
int startx;
|
285
|
+
int starty;
|
286
|
+
float z;
|
287
|
+
};
|
288
|
+
|
289
|
+
/* ShaderCore */
|
290
|
+
struct DXRubyShaderCore {
|
291
|
+
LPD3DXEFFECT pD3DXEffect;
|
292
|
+
VALUE vtype; /* �������ƌ^�̃Z�b�g */
|
293
|
+
};
|
294
|
+
|
295
|
+
/* Shader */
|
296
|
+
struct DXRubyShader {
|
297
|
+
VALUE vcore;
|
298
|
+
VALUE vparam; /* �������ƒ��g�̃Z�b�g*/
|
299
|
+
VALUE vname;
|
300
|
+
};
|
301
|
+
|
302
|
+
|
303
|
+
#ifdef DXRUBY_EXTERN
|
304
|
+
extern HINSTANCE g_hInstance; /* �A�v���P�[�V�����C���X�^���X */
|
305
|
+
extern HANDLE g_hWnd; /* �E�B���h�E�n���h�� */
|
306
|
+
extern int g_iRefAll; /* �C���^�[�t�F�[�X�̎Q�ƃJ�E���g */
|
307
|
+
|
308
|
+
extern LPDIRECT3D9 g_pD3D; /* Direct3D�C���^�[�t�F�C�X */
|
309
|
+
extern LPDIRECT3DDEVICE9 g_pD3DDevice; /* Direct3DDevice�C���^�[�t�F�C�X */
|
310
|
+
extern D3DPRESENT_PARAMETERS g_D3DPP; /* D3DDevice�̐ݒ� */
|
311
|
+
extern LPD3DXSPRITE g_pD3DXSprite; /* D3DXSprite */
|
312
|
+
extern struct DXRubyLostList {
|
313
|
+
void **pointer;
|
314
|
+
int allocate_size;
|
315
|
+
int count;
|
316
|
+
} g_RenderTargetList, g_ShaderCoreList;
|
317
|
+
extern int g_sync; /* �����������[�h = 1 */
|
318
|
+
extern int retry_flag;
|
319
|
+
extern BYTE g_byMouseState_L_buf;
|
320
|
+
extern BYTE g_byMouseState_M_buf;
|
321
|
+
extern BYTE g_byMouseState_R_buf;
|
322
|
+
|
323
|
+
/* �G���R�[�f�B���O��� */
|
324
|
+
extern rb_encoding *g_enc_sys;
|
325
|
+
extern rb_encoding *g_enc_utf16;
|
326
|
+
extern rb_encoding *g_enc_utf8;
|
327
|
+
|
328
|
+
extern struct DXRubyWindowInfo g_WindowInfo;
|
329
|
+
extern char sys_encode[256];
|
330
|
+
|
331
|
+
extern VALUE mDXRuby; /* DXRuby���W���[�� */
|
332
|
+
extern VALUE eDXRubyError; /* ��O */
|
333
|
+
extern VALUE mWindow; /* �E�B���h�E���W���[�� */
|
334
|
+
extern VALUE cRenderTarget; /* �����_�[�^�[�Q�b�g�N���X */
|
335
|
+
extern VALUE cShaderCore; /* �V�F�[�_�R�A�N���X */
|
336
|
+
extern VALUE cShader; /* �V�F�[�_�N���X */
|
337
|
+
|
338
|
+
/* �V���{�� */
|
339
|
+
extern VALUE symbol_blend;
|
340
|
+
extern VALUE symbol_angle;
|
341
|
+
extern VALUE symbol_alpha;
|
342
|
+
extern VALUE symbol_scalex;
|
343
|
+
extern VALUE symbol_scale_x;
|
344
|
+
extern VALUE symbol_scaley;
|
345
|
+
extern VALUE symbol_scale_y;
|
346
|
+
extern VALUE symbol_centerx;
|
347
|
+
extern VALUE symbol_center_x;
|
348
|
+
extern VALUE symbol_centery;
|
349
|
+
extern VALUE symbol_center_y;
|
350
|
+
extern VALUE symbol_z;
|
351
|
+
extern VALUE symbol_color;
|
352
|
+
extern VALUE symbol_add;
|
353
|
+
extern VALUE symbol_add2;
|
354
|
+
extern VALUE symbol_sub;
|
355
|
+
extern VALUE symbol_sub2;
|
356
|
+
extern VALUE symbol_none;
|
357
|
+
extern VALUE symbol_offset_sync;
|
358
|
+
extern VALUE symbol_dividex;
|
359
|
+
extern VALUE symbol_dividey;
|
360
|
+
extern VALUE symbol_edge;
|
361
|
+
extern VALUE symbol_edge_color;
|
362
|
+
extern VALUE symbol_edge_width;
|
363
|
+
extern VALUE symbol_edge_level;
|
364
|
+
extern VALUE symbol_shadow;
|
365
|
+
extern VALUE symbol_shadow_color;
|
366
|
+
extern VALUE symbol_shadow_x;
|
367
|
+
extern VALUE symbol_shadow_y;
|
368
|
+
extern VALUE symbol_shadow_edge;
|
369
|
+
extern VALUE symbol_shader;
|
370
|
+
extern VALUE symbol_int;
|
371
|
+
extern VALUE symbol_float;
|
372
|
+
extern VALUE symbol_texture;
|
373
|
+
extern VALUE symbol_technique;
|
374
|
+
extern VALUE symbol_discard;
|
375
|
+
extern VALUE symbol_aa;
|
376
|
+
extern VALUE symbol_call;
|
377
|
+
|
378
|
+
extern int MainThreadError;
|
379
|
+
#endif
|
380
|
+
|
381
|
+
void *RenderTarget_AllocPictureList( struct DXRubyRenderTarget *rt, int size );
|
382
|
+
void RenderTarget_draw_func( struct DXRubyPicture_draw *picture );
|
383
|
+
void RenderTarget_drawShader_func( struct DXRubyPicture_draw *picture );
|
384
|
+
void RenderTarget_drawEx_func( struct DXRubyPicture_drawEx *picture );
|
385
|
+
void RenderTarget_release( struct DXRubyRenderTarget* rt );
|
386
|
+
void ShaderCore_release( struct DXRubyShaderCore *core );
|
387
|
+
void Shader_release( struct DXRubyShader *shader );
|
388
|
+
VALUE RenderTarget_update( VALUE self );
|
389
|
+
//int Window_drawShader_func_foreach_lock( VALUE key, VALUE value, VALUE obj );
|
390
|
+
|
391
|
+
VALUE hash_lookup(VALUE hash, VALUE key);
|
392
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require "mkmf"
|
2
|
+
|
3
|
+
SYSTEM_LIBRARIES = [
|
4
|
+
"dxguid",
|
5
|
+
"d3d9",
|
6
|
+
["d3dx9_40", "d3dx9"],
|
7
|
+
"dinput8",
|
8
|
+
"dsound",
|
9
|
+
"gdi32",
|
10
|
+
"ole32",
|
11
|
+
"user32",
|
12
|
+
"kernel32",
|
13
|
+
"comdlg32",
|
14
|
+
"winmm",
|
15
|
+
"uuid",
|
16
|
+
"imm32",
|
17
|
+
]
|
18
|
+
|
19
|
+
SYSTEM_LIBRARIES.each do |libs|
|
20
|
+
[*libs].any? {|lib| have_library(lib) }
|
21
|
+
end
|
22
|
+
|
23
|
+
#�w�b�_�t�@�C������Ă܂����ׂ�̖ʓ|��(^-^;
|
24
|
+
|
25
|
+
have_header("d3dx9.h")
|
26
|
+
have_header("dinput.h")
|
27
|
+
have_func("rb_enc_str_new")
|
28
|
+
|
29
|
+
create_makefile("dxruby")
|