rubygame 2.2.0-i586-linux
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.
- data/CREDITS +60 -0
- data/LICENSE +504 -0
- data/NEWS +201 -0
- data/README +139 -0
- data/ROADMAP +43 -0
- data/Rakefile +409 -0
- data/doc/extended_readme.rdoc +49 -0
- data/doc/getting_started.rdoc +47 -0
- data/doc/macosx_install.rdoc +70 -0
- data/doc/windows_install.rdoc +123 -0
- data/ext/rubygame/MANIFEST +25 -0
- data/ext/rubygame/rubygame_core.so +0 -0
- data/ext/rubygame/rubygame_event.c +644 -0
- data/ext/rubygame/rubygame_event.h +48 -0
- data/ext/rubygame/rubygame_event.o +0 -0
- data/ext/rubygame/rubygame_gfx.c +942 -0
- data/ext/rubygame/rubygame_gfx.h +101 -0
- data/ext/rubygame/rubygame_gfx.o +0 -0
- data/ext/rubygame/rubygame_gfx.so +0 -0
- data/ext/rubygame/rubygame_gl.c +154 -0
- data/ext/rubygame/rubygame_gl.h +32 -0
- data/ext/rubygame/rubygame_gl.o +0 -0
- data/ext/rubygame/rubygame_image.c +108 -0
- data/ext/rubygame/rubygame_image.h +41 -0
- data/ext/rubygame/rubygame_image.o +0 -0
- data/ext/rubygame/rubygame_image.so +0 -0
- data/ext/rubygame/rubygame_joystick.c +247 -0
- data/ext/rubygame/rubygame_joystick.h +41 -0
- data/ext/rubygame/rubygame_joystick.o +0 -0
- data/ext/rubygame/rubygame_main.c +155 -0
- data/ext/rubygame/rubygame_main.h +33 -0
- data/ext/rubygame/rubygame_main.o +0 -0
- data/ext/rubygame/rubygame_mixer.c +764 -0
- data/ext/rubygame/rubygame_mixer.h +62 -0
- data/ext/rubygame/rubygame_mixer.o +0 -0
- data/ext/rubygame/rubygame_mixer.so +0 -0
- data/ext/rubygame/rubygame_screen.c +448 -0
- data/ext/rubygame/rubygame_screen.h +43 -0
- data/ext/rubygame/rubygame_screen.o +0 -0
- data/ext/rubygame/rubygame_shared.c +209 -0
- data/ext/rubygame/rubygame_shared.h +60 -0
- data/ext/rubygame/rubygame_shared.o +0 -0
- data/ext/rubygame/rubygame_surface.c +1147 -0
- data/ext/rubygame/rubygame_surface.h +62 -0
- data/ext/rubygame/rubygame_surface.o +0 -0
- data/ext/rubygame/rubygame_time.c +183 -0
- data/ext/rubygame/rubygame_time.h +32 -0
- data/ext/rubygame/rubygame_time.o +0 -0
- data/ext/rubygame/rubygame_ttf.c +599 -0
- data/ext/rubygame/rubygame_ttf.h +69 -0
- data/ext/rubygame/rubygame_ttf.o +0 -0
- data/ext/rubygame/rubygame_ttf.so +0 -0
- data/lib/rubygame/MANIFEST +12 -0
- data/lib/rubygame/clock.rb +128 -0
- data/lib/rubygame/color/models/base.rb +106 -0
- data/lib/rubygame/color/models/hsl.rb +153 -0
- data/lib/rubygame/color/models/hsv.rb +149 -0
- data/lib/rubygame/color/models/rgb.rb +78 -0
- data/lib/rubygame/color/palettes/css.rb +49 -0
- data/lib/rubygame/color/palettes/palette.rb +100 -0
- data/lib/rubygame/color/palettes/x11.rb +177 -0
- data/lib/rubygame/color.rb +79 -0
- data/lib/rubygame/constants.rb +238 -0
- data/lib/rubygame/event.rb +313 -0
- data/lib/rubygame/ftor.rb +370 -0
- data/lib/rubygame/hotspot.rb +265 -0
- data/lib/rubygame/keyconstants.rb +237 -0
- data/lib/rubygame/mediabag.rb +94 -0
- data/lib/rubygame/queue.rb +288 -0
- data/lib/rubygame/rect.rb +612 -0
- data/lib/rubygame/sfont.rb +223 -0
- data/lib/rubygame/sprite.rb +511 -0
- data/lib/rubygame.rb +41 -0
- data/samples/FreeSans.ttf +0 -0
- data/samples/GPL.txt +340 -0
- data/samples/README +40 -0
- data/samples/chimp.bmp +0 -0
- data/samples/chimp.rb +313 -0
- data/samples/demo_gl.rb +151 -0
- data/samples/demo_gl_tex.rb +197 -0
- data/samples/demo_music.rb +75 -0
- data/samples/demo_rubygame.rb +284 -0
- data/samples/demo_sfont.rb +52 -0
- data/samples/demo_ttf.rb +193 -0
- data/samples/demo_utf8.rb +53 -0
- data/samples/fist.bmp +0 -0
- data/samples/load_and_blit.rb +22 -0
- data/samples/panda.png +0 -0
- data/samples/punch.wav +0 -0
- data/samples/ruby.png +0 -0
- data/samples/song.ogg +0 -0
- data/samples/term16.png +0 -0
- data/samples/whiff.wav +0 -0
- metadata +152 -0
@@ -0,0 +1,41 @@
|
|
1
|
+
/*
|
2
|
+
* Rubygame -- Ruby code and bindings to SDL to facilitate game creation
|
3
|
+
* Copyright (C) 2004-2007 John Croisant
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
18
|
+
*
|
19
|
+
*/
|
20
|
+
|
21
|
+
|
22
|
+
#ifndef _RUBYGAME_JOYSTICK_H
|
23
|
+
#define _RUBYGAME_JOYSTICK_H
|
24
|
+
|
25
|
+
extern void Rubygame_Init_Joystick();
|
26
|
+
|
27
|
+
extern VALUE cJoy;
|
28
|
+
|
29
|
+
extern VALUE rbgm_joy_numjoysticks(VALUE);
|
30
|
+
extern VALUE rbgm_joy_getname(VALUE, VALUE);
|
31
|
+
|
32
|
+
extern VALUE rbgm_joystick_new(VALUE, VALUE);
|
33
|
+
|
34
|
+
extern VALUE rbgm_joystick_index(VALUE);
|
35
|
+
extern VALUE rbgm_joystick_name(VALUE);
|
36
|
+
extern VALUE rbgm_joystick_numaxes(VALUE);
|
37
|
+
extern VALUE rbgm_joystick_numballs(VALUE);
|
38
|
+
extern VALUE rbgm_joystick_numhats(VALUE);
|
39
|
+
extern VALUE rbgm_joystick_numbuttons(VALUE);
|
40
|
+
|
41
|
+
#endif
|
Binary file
|
@@ -0,0 +1,155 @@
|
|
1
|
+
/*
|
2
|
+
*--
|
3
|
+
* Rubygame -- Ruby code and bindings to SDL to facilitate game creation
|
4
|
+
* Copyright (C) 2004-2007 John Croisant
|
5
|
+
*
|
6
|
+
* This library is free software; you can redistribute it and/or
|
7
|
+
* modify it under the terms of the GNU Lesser General Public
|
8
|
+
* License as published by the Free Software Foundation; either
|
9
|
+
* version 2.1 of the License, or (at your option) any later version.
|
10
|
+
*
|
11
|
+
* This library is distributed in the hope that it will be useful,
|
12
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
14
|
+
* Lesser General Public License for more details.
|
15
|
+
*
|
16
|
+
* You should have received a copy of the GNU Lesser General Public
|
17
|
+
* License along with this library; if not, write to the Free Software
|
18
|
+
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
19
|
+
*++
|
20
|
+
*/
|
21
|
+
|
22
|
+
#include "rubygame_shared.h"
|
23
|
+
#include "rubygame_main.h"
|
24
|
+
#include "rubygame_event.h"
|
25
|
+
#include "rubygame_gl.h"
|
26
|
+
#include "rubygame_joystick.h"
|
27
|
+
#include "rubygame_screen.h"
|
28
|
+
#include "rubygame_surface.h"
|
29
|
+
#include "rubygame_time.h"
|
30
|
+
|
31
|
+
VALUE rbgm_init(VALUE);
|
32
|
+
VALUE rbgm_quit(VALUE);
|
33
|
+
void Define_Rubygame_Constants();
|
34
|
+
|
35
|
+
/*
|
36
|
+
* call-seq:
|
37
|
+
* key_name(sym) -> string
|
38
|
+
*
|
39
|
+
* Given the sym of a key, returns a printable representation. This
|
40
|
+
* differs from key2str in that this will return a printable string
|
41
|
+
* for any key, even non-printable keys such as the arrow keys.
|
42
|
+
*
|
43
|
+
* This method may raise SDLError if the SDL video subsystem could
|
44
|
+
* not be initialized for some reason.
|
45
|
+
*
|
46
|
+
* Example:
|
47
|
+
* Rubygame.key_name( Rubygame::K_A ) # => "a"
|
48
|
+
* Rubygame.key_name( Rubygame::K_RETURN ) # => "return"
|
49
|
+
* Rubygame.key_name( Rubygame::K_LEFT ) # => "left"
|
50
|
+
*/
|
51
|
+
VALUE rbgm_keyname(VALUE self, VALUE sym)
|
52
|
+
{
|
53
|
+
/* SDL_GetKeyName only works when video system has been initialized. */
|
54
|
+
if( init_video_system() == 0 )
|
55
|
+
{
|
56
|
+
SDLKey key = NUM2INT(sym);
|
57
|
+
char *result = SDL_GetKeyName(key);
|
58
|
+
return rb_str_new2(result);
|
59
|
+
}
|
60
|
+
else
|
61
|
+
{
|
62
|
+
rb_raise(eSDLError,"Could not initialize SDL video subsystem.");
|
63
|
+
return Qnil;
|
64
|
+
}
|
65
|
+
}
|
66
|
+
|
67
|
+
|
68
|
+
/*
|
69
|
+
* call-seq:
|
70
|
+
* init -> nil
|
71
|
+
*
|
72
|
+
* Initialize Rubygame. This should be called soon after you +require+
|
73
|
+
* Rubygame, so that everything will work properly.
|
74
|
+
*/
|
75
|
+
VALUE rbgm_init(VALUE module)
|
76
|
+
{
|
77
|
+
if(SDL_Init(SDL_INIT_EVERYTHING)==0)
|
78
|
+
{
|
79
|
+
return Qnil;
|
80
|
+
}
|
81
|
+
else
|
82
|
+
{
|
83
|
+
rb_raise(eSDLError,"Could not initialize SDL.");
|
84
|
+
return Qnil; /* should never get here */
|
85
|
+
}
|
86
|
+
}
|
87
|
+
|
88
|
+
/*
|
89
|
+
* call-seq:
|
90
|
+
* quit -> nil
|
91
|
+
*
|
92
|
+
* Quit Rubygame. This should be used before your program terminates,
|
93
|
+
* especially if you have been using a fullscreen Screen! (Otherwise,
|
94
|
+
* the desktop resolution might not revert to its previous setting on
|
95
|
+
* some platforms, and your users will be frustrated and confused!)
|
96
|
+
*/
|
97
|
+
VALUE rbgm_quit(VALUE module)
|
98
|
+
{
|
99
|
+
SDL_Quit();
|
100
|
+
return Qnil;
|
101
|
+
}
|
102
|
+
|
103
|
+
|
104
|
+
void Init_rubygame_core()
|
105
|
+
{
|
106
|
+
Init_rubygame_shared();
|
107
|
+
|
108
|
+
mRubygame = rb_define_module("Rubygame");
|
109
|
+
|
110
|
+
rb_define_module_function(mRubygame,"init",rbgm_init,0);
|
111
|
+
rb_define_module_function(mRubygame,"quit",rbgm_quit,0);
|
112
|
+
rb_define_singleton_method(mRubygame,"key_name",rbgm_keyname, 1);
|
113
|
+
cRect = rb_define_class_under(mRubygame,"Rect",rb_cArray);
|
114
|
+
|
115
|
+
rb_hash_aset(rb_ivar_get(mRubygame,rb_intern("VERSIONS")),
|
116
|
+
ID2SYM(rb_intern("rubygame")),
|
117
|
+
rb_ary_new3(3,
|
118
|
+
INT2NUM(RUBYGAME_MAJOR_VERSION),
|
119
|
+
INT2NUM(RUBYGAME_MINOR_VERSION),
|
120
|
+
INT2NUM(RUBYGAME_PATCHLEVEL)));
|
121
|
+
rb_hash_aset(rb_ivar_get(mRubygame,rb_intern("VERSIONS")),
|
122
|
+
ID2SYM(rb_intern("sdl")),
|
123
|
+
rb_ary_new3(3,
|
124
|
+
INT2NUM(SDL_MAJOR_VERSION),
|
125
|
+
INT2NUM(SDL_MINOR_VERSION),
|
126
|
+
INT2NUM(SDL_PATCHLEVEL)));
|
127
|
+
|
128
|
+
Rubygame_Init_Time();
|
129
|
+
Rubygame_Init_Surface();
|
130
|
+
Rubygame_Init_Screen();
|
131
|
+
Rubygame_Init_Event();
|
132
|
+
Rubygame_Init_Joystick();
|
133
|
+
Rubygame_Init_GL();
|
134
|
+
|
135
|
+
/* Flags for subsystem initialization */
|
136
|
+
rb_define_const(mRubygame,"INIT_TIMER",INT2NUM(SDL_INIT_TIMER));
|
137
|
+
rb_define_const(mRubygame,"INIT_AUDIO",INT2NUM(SDL_INIT_AUDIO));
|
138
|
+
rb_define_const(mRubygame,"INIT_VIDEO",INT2NUM(SDL_INIT_VIDEO));
|
139
|
+
rb_define_const(mRubygame,"INIT_CDROM",INT2NUM(SDL_INIT_CDROM));
|
140
|
+
rb_define_const(mRubygame,"INIT_JOYSTICK",INT2NUM(SDL_INIT_JOYSTICK));
|
141
|
+
rb_define_const(mRubygame,"INIT_NOPARACHUTE",INT2NUM(SDL_INIT_NOPARACHUTE));
|
142
|
+
rb_define_const(mRubygame,"INIT_EVENTTHREAD",UINT2NUM(SDL_INIT_EVENTTHREAD));
|
143
|
+
rb_define_const(mRubygame,"INIT_EVERYTHING",UINT2NUM(SDL_INIT_EVERYTHING));
|
144
|
+
|
145
|
+
|
146
|
+
/* Define fully opaque and full transparent (0 and 255) */
|
147
|
+
rb_define_const(mRubygame,"ALPHA_OPAQUE",UINT2NUM(SDL_ALPHA_OPAQUE));
|
148
|
+
rb_define_const(mRubygame,"ALPHA_TRANSPARENT",
|
149
|
+
UINT2NUM(SDL_ALPHA_TRANSPARENT));
|
150
|
+
|
151
|
+
|
152
|
+
/* Flags for palettes (?) */
|
153
|
+
rb_define_const(mRubygame,"LOGPAL",UINT2NUM(SDL_LOGPAL));
|
154
|
+
rb_define_const(mRubygame,"PHYSPAL",UINT2NUM(SDL_PHYSPAL));
|
155
|
+
}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
/*
|
2
|
+
* Rubygame -- Ruby code and bindings to SDL to facilitate game creation
|
3
|
+
* Copyright (C) 2004-2007 John Croisant
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
18
|
+
*
|
19
|
+
*/
|
20
|
+
|
21
|
+
#ifndef _RUBYGAME_H
|
22
|
+
#define _RUBYGAME_H
|
23
|
+
|
24
|
+
#define RUBYGAME_MAJOR_VERSION 2
|
25
|
+
#define RUBYGAME_MINOR_VERSION 0
|
26
|
+
#define RUBYGAME_PATCHLEVEL 1
|
27
|
+
|
28
|
+
extern VALUE rbgm_keyname(VALUE, VALUE);
|
29
|
+
extern VALUE rbgm_init(VALUE);
|
30
|
+
extern VALUE rbgm_quit(VALUE);
|
31
|
+
extern void Define_Rubygame_Constants();
|
32
|
+
|
33
|
+
#endif
|
Binary file
|