rubygame 2.6.3 → 2.6.4

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/NEWS CHANGED
@@ -1,5 +1,21 @@
1
1
  = NEWS
2
2
 
3
+ == Rubygame 2.6.4
4
+
5
+ Release focus: Bug fix.
6
+
7
+ === Fixes
8
+
9
+ - Fixed: Rubygame's "require_path" setting in the gem spec was
10
+ interfering with ruby-opengl (and potentially others). [#43]
11
+
12
+ If you have problems loading ruby-opengl when Rubygame 2.6.* is
13
+ installed via RubyGems, you should uninstall all versions of the
14
+ Rubygame gem, then reinstall version 2.6.4 (or later).
15
+
16
+
17
+
18
+
3
19
  == Rubygame 2.6.3
4
20
 
5
21
  Release focus: Bug fixes.
@@ -0,0 +1,8 @@
1
+ = Using Surface Palettes in Rubygame
2
+
3
+ This is a guide will explain the concept of Surface palettes, as well
4
+ as the methods available to use them in Rubygame.
5
+
6
+ == About Surface Palettes
7
+
8
+ Surface palettes are a feature in SDL which
@@ -102,19 +102,9 @@ module Rubygame
102
102
  end
103
103
 
104
104
  def self.make_sdl_rgba( color ) # :nodoc:
105
- @rgba_cache ||= {}
106
- @rgba_cache[color] ||=
107
- begin
108
- r,g,b,a = convert_color(color).collect!{ |c| c.to_i }[0,4]
109
- a ||= 255
110
- [r,g,b,a].freeze
111
- end
112
- end
113
-
114
-
115
- def self.remove_from_cache( color_name )
116
- @rgba_cache ||= {}
117
- @rgba_cache.delete( color_name )
105
+ r,g,b,a = convert_color(color).collect!{ |c| c.to_i }[0,4]
106
+ a = 255 if a.nil?
107
+ [r,g,b,a]
118
108
  end
119
109
 
120
110
  end
@@ -59,14 +59,6 @@ module Rubygame
59
59
  end
60
60
  alias :inspect :to_s
61
61
 
62
- def hash
63
- @hash ||= ((@h.hash << 4) +
64
- (@s.hash << 3) +
65
- (@l.hash << 2) +
66
- (@a.hash << 1) +
67
- self.class.hash)
68
- end
69
-
70
62
  class << self
71
63
 
72
64
  def new_from_rgba( rgba )
@@ -59,14 +59,6 @@ module Rubygame
59
59
  end
60
60
  alias :inspect :to_s
61
61
 
62
- def hash
63
- @hash ||= ((@h.hash << 4) +
64
- (@s.hash << 3) +
65
- (@v.hash << 2) +
66
- (@a.hash << 1) +
67
- self.class.hash)
68
- end
69
-
70
62
  class << self
71
63
 
72
64
  def new_from_rgba( rgba )
@@ -63,14 +63,6 @@ module Rubygame
63
63
  end
64
64
  alias :inspect :to_s
65
65
 
66
- def hash
67
- @hash ||= ((@r.hash << 4) +
68
- (@g.hash << 3) +
69
- (@b.hash << 2) +
70
- (@a.hash << 1) +
71
- self.class.hash)
72
- end
73
-
74
66
  class << self
75
67
  def new_from_rgba( rgba )
76
68
  new( rgba )
@@ -48,9 +48,6 @@ class Rubygame::Color::Palette
48
48
 
49
49
  # Store a color by name in this palette. See #sanitize_name
50
50
  def []=( name, color )
51
- # Uncache colors with this name, to avoid using obsolete value.
52
- Rubygame::Color.remove_from_cache( name )
53
-
54
51
  name = sanitize_name( name )
55
52
  @colors[name] = color
56
53
  end
@@ -257,7 +257,7 @@ class Rubygame::Mixer::Sample
257
257
  def self.load_audio( filename )
258
258
  Rubygame.deprecated( "Rubygame::Mixer::Sample", "3.0" )
259
259
 
260
- chunk = SDL::Mixer.LoadWAV( filename.to_s )
260
+ chunk = SDL::Mixer.LoadWAV( filename )
261
261
 
262
262
  if( chunk.pointer.null? )
263
263
  raise( Rubygame::SDLError,
@@ -331,7 +331,7 @@ class Rubygame::Mixer::Music
331
331
  def self.load_audio
332
332
  Rubygame.deprecated( "Rubygame::Mixer::Music", "3.0" )
333
333
 
334
- music = SDL::Mixer.LoadMUS( filename.to_s )
334
+ music = SDL::Mixer.LoadMUS( filename )
335
335
 
336
336
  if( music.pointer.null? )
337
337
  raise( Rubygame::SDLError,
@@ -76,7 +76,7 @@ class Rubygame::Surface
76
76
  # XPM:: "XPixMap" format.
77
77
  #
78
78
  def load( filename )
79
- surf = SDL::Image.Load( filename.to_s )
79
+ surf = SDL::Image.Load( filename )
80
80
 
81
81
  if( surf.pointer.null? )
82
82
  raise( Rubygame::SDLError, "Couldn't load image \"%s\": %s"%\
@@ -25,7 +25,7 @@ require "ruby-sdl-ffi/sdl"
25
25
  module Rubygame
26
26
 
27
27
  VERSIONS = {
28
- :rubygame => [2, 5, 3],
28
+ :rubygame => [2, 6, 4],
29
29
  :sdl => SDL.Linked_Version().to_ary
30
30
  }
31
31
 
@@ -76,7 +76,7 @@ class Rubygame::Music
76
76
  def load( filename )
77
77
  Rubygame.open_audio
78
78
 
79
- music = SDL::Mixer.LoadMUS( filename.to_s )
79
+ music = SDL::Mixer.LoadMUS( filename )
80
80
 
81
81
  if( music.pointer.null? )
82
82
  raise( Rubygame::SDLError, "Could not load Music file '%s': %s"%
@@ -153,73 +153,12 @@ class Rubygame::Screen < Rubygame::Surface
153
153
 
154
154
 
155
155
 
156
- # call-seq:
157
- # new( size, opts={} )
158
- # new( size, depth=0, flags=[] ) # DEPRECATED
159
- #
160
156
  # Create a new Rubygame window if there is none, or modify the
161
157
  # existing one. You cannot create more than one Screen; the existing
162
158
  # one will be replaced. (This is a limitation of SDL.)
163
159
  #
164
160
  # Returns the resulting Screen.
165
161
  #
166
- # size:: Screen size to create, [width, height] (in pixels).
167
- #
168
- # opts::
169
- # Hash of options. The possible options are:
170
- #
171
- # :depth:: Requested color depth (in bits per pixel). If this
172
- # is 0 or unspecified, Rubygame automatically
173
- # chooses the depth based on the system depth.
174
- # Possible values: 0, 8, 15, 16, 24, 32. Default: 0.
175
- #
176
- # :fullscreen:: If true, use fullscreen mode. If a hardware
177
- # resolution change is not possible (for whatever
178
- # reason), the next higher resolution will be used
179
- # and the display window centered on a black
180
- # background. Default: false.
181
- #
182
- # :resizable:: If true, the user will be able to resize the
183
- # Rubygame window. When the window is resized, a
184
- # ResizeEvent or Events::WindowResized event is
185
- # generated. You should then use Screen.open to
186
- # re-create the display surface at the new size.
187
- # Default: false.
188
- #
189
- # :noframe:: If true, try to create a window with no title bar
190
- # or frame decoration. This is automatically true
191
- # when :fullscreen is true. Default: false.
192
- #
193
- # :hardware:: If true, try to create a hardware accelerated
194
- # Surface (using a graphics card), which may be very
195
- # fast to blit onto other hardware accelerated
196
- # Surfaces, but somewhat slower to access in other
197
- # ways. Creates a normal, non-accelerated Surface if
198
- # hardware Surfaces are not available. Default:
199
- # false.
200
- #
201
- # :doublebuf:: If true, enable hardware double buffering; only
202
- # valid when :hardware is true. Calling #flip will
203
- # switch the buffers and update the screen. All
204
- # drawing will take place on the surface that is not
205
- # displayed at the moment. If double buffering could
206
- # not be enabled then #flip will just update the
207
- # entire screen. Default: false.
208
- #
209
- # :opengl:: If true, create an OpenGL rendering context
210
- # instead of a normal SDL display. You must set
211
- # proper OpenGL video attributes with GL#set_attrib
212
- # before calling this method with this flag. You can
213
- # then use an OpenGL library (e.g. ruby-opengl) to
214
- # do all OpenGL-related functions. Please note that
215
- # you can't blit or draw regular SDL Surfaces onto
216
- # an OpenGL-mode screen; you must use OpenGL
217
- # functions. Default: false.
218
- #
219
- # For backwards compatibility, you can provide the following
220
- # arguments instead of the ones above. However, this form is
221
- # DEPRECATED and will be removed in Rubygame 3.0:
222
- #
223
162
  # size:: requested window size (in pixels), in the form [width,height]
224
163
  # depth:: requested color depth (in bits per pixel). If 0 (default), the
225
164
  # current system color depth.
@@ -265,7 +204,7 @@ class Rubygame::Screen < Rubygame::Surface
265
204
  # frame decoration.
266
205
  # Fullscreen modes automatically have this flag set.
267
206
  #
268
- def initialize( size, *args )
207
+ def initialize( size, depth=0, flags=[Rubygame::SWSURFACE] )
269
208
 
270
209
  # Cheating a bit. First arg can be a SDL::Surface to wrap it.
271
210
  #
@@ -281,41 +220,7 @@ class Rubygame::Screen < Rubygame::Surface
281
220
  return
282
221
  end
283
222
 
284
- # Support old argument style for backwards compatibility.
285
- if args.size > 1 or not args[0].is_a? Hash
286
- _initialize_old( size, *args )
287
- return
288
- end
289
-
290
- args = _parse_args( size, args[0] )
291
223
 
292
- @struct = SDL.SetVideoMode( args[:width], args[:height],
293
- args[:depth], args[:flags] )
294
-
295
- if( @struct.pointer.null? )
296
- @struct = nil
297
- raise( Rubygame::SDLError,
298
- "Couldn't set [%d x %d] %d bpp video mode: %s"%\
299
- [args[:width], args[:height], args[:depth], SDL.GetError()] )
300
- end
301
- end
302
-
303
-
304
- def _parse_args( size, options ) # :nodoc:
305
- args = super
306
-
307
- flags = args[:flags]
308
-
309
- flags |= SDL::FULLSCREEN if options[:fullscreen]
310
- flags |= SDL::RESIZABLE if options[:resizable]
311
- flags |= SDL::NOFRAME if options[:noframe]
312
- flags |= SDL::DOUBLEBUF if options[:doublebuf]
313
- flags |= SDL::OPENGL if options[:opengl]
314
-
315
- args.merge( :flags => flags )
316
- end
317
-
318
- def _initialize_old( size, depth=0, flags=[] ) # :nodoc:
319
224
  w,h = size
320
225
  flags = Rubygame.collapse_flags(flags)
321
226
 
@@ -327,6 +232,7 @@ class Rubygame::Screen < Rubygame::Surface
327
232
  "Couldn't set [%d x %d] %d bpp video mode: %s"%\
328
233
  [w, h, depth, SDL.GetError()] )
329
234
  end
235
+
330
236
  end
331
237
 
332
238
 
@@ -73,7 +73,7 @@ class Rubygame::Sound
73
73
  def load( filename )
74
74
  Rubygame.open_audio
75
75
 
76
- sound = SDL::Mixer.LoadWAV( filename.to_s )
76
+ sound = SDL::Mixer.LoadWAV( filename )
77
77
 
78
78
  if( sound.pointer.null? )
79
79
  raise( Rubygame::SDLError, "Could not load Sound file '%s': %s"%
@@ -48,53 +48,18 @@ class Rubygame::Surface
48
48
  protected :struct
49
49
 
50
50
 
51
- # call-seq:
52
- # new( size, opts={} )
53
- # new( size, depth=0, flags=[] ) # DEPRECATED
54
- #
55
- # Create and initialize a new Surface.
51
+ # Create and initialize a new Surface object.
56
52
  #
57
- # A Surface is a grid of image data which you blit (i.e. copy) onto
58
- # other Surfaces. Since the Screen is also a Surface, Surfaces can
59
- # be blit to the screen; this is the most common way to display
60
- # images on the screen.
53
+ # A Surface is a grid of image data which you blit (i.e. copy) onto other
54
+ # Surfaces. Since the Rubygame display is also a Surface (see the Screen
55
+ # class), Surfaces can be blit to the screen; this is the most common way
56
+ # to display images on the screen.
61
57
  #
62
58
  # This method may raise SDLError if the SDL video subsystem could
63
59
  # not be initialized for some reason.
64
60
  #
65
61
  # This function takes these arguments:
66
- #
67
- # size:: Surface size to create, [width, height] (in pixels).
68
- #
69
- # opts::
70
- # Hash of options. The possible options are:
71
- #
72
- # :depth:: Requested color depth (in bits per pixel). If this
73
- # is 0 or unspecified, Rubygame automatically chooses
74
- # the depth based on the Screen mode or system depth.
75
- # Possible values: 0, 8, 15, 16, 24, 32. Default: 0.
76
- #
77
- # :alpha:: If true, Surfaces with depth 32 will have an alpha
78
- # channel (per-pixel transparency). Default: true.
79
- # (Note: Other depths cannot have an alpha channel.)
80
- #
81
- # :hardware:: If true, try to create a hardware accelerated
82
- # Surface (using a graphics card), which may be very
83
- # fast to blit onto other hardware accelerated
84
- # Surfaces, but somewhat slower to access in other
85
- # ways. Creates a normal, non-accelerated Surface if
86
- # hardware Surfaces are not available. Default: false.
87
- #
88
- # :masks:: For advanced users. Set the Surface's color masks
89
- # manually, as [r,g,b,a]. If this is nil or
90
- # unspecified, the color masks are calculated
91
- # automatically.
92
- #
93
- # For backwards compatibility, you can provide the following
94
- # arguments instead of the ones above. However, this form is
95
- # DEPRECATED and will be removed in Rubygame 3.0:
96
- #
97
- # size:: Surface size to create, [width, height] (in pixels).
62
+ # size:: requested surface size; an array of the form [width, height].
98
63
  # depth:: requested color depth (in bits per pixel). If depth is 0 (default),
99
64
  # automatically choose a color depth: either the depth of the Screen
100
65
  # mode (if one has been set), or the greatest color depth available
@@ -115,7 +80,7 @@ class Rubygame::Surface
115
80
  # also enable alpha. as needed. For a description
116
81
  # of alpha, see #alpha.
117
82
  #
118
- def initialize( size, *args )
83
+ def initialize( size, depth=0, flags=[] )
119
84
 
120
85
  # Cheating a bit. First arg can be a SDL::Surface to wrap it.
121
86
  #
@@ -129,85 +94,6 @@ class Rubygame::Surface
129
94
  return
130
95
  end
131
96
 
132
- # Support old argument style for backwards compatibility.
133
- if args.size > 1 or not args[0].is_a? Hash
134
- _initialize_old( size, *args )
135
- return
136
- end
137
-
138
- args = _parse_args( size, args[0] )
139
-
140
- @struct = SDL.CreateRGBSurface( args[:flags],
141
- args[:width], args[:height],
142
- args[:depth], *args[:masks] )
143
- end
144
-
145
-
146
- private
147
-
148
-
149
- def _parse_args( size, options )
150
- unless size.is_a?(Array) and size.size == 2 and
151
- size.all?{ |i| i.is_a?(Integer) and i > 0 }
152
- raise( TypeError, "Invalid size: " + size.inspect +
153
- " (expected [width,height] array of integers >= 0)" )
154
- end
155
-
156
- depth = options[:depth] || 0
157
- unless depth.is_a?(Integer) and depth >= 0
158
- raise( TypeError, "Invalid depth: " + depth.inspect +
159
- " (expected integer >= 0)" )
160
- end
161
-
162
- alpha = options.has_key?(:alpha) ? options[:alpha] : true
163
-
164
- masks = options[:masks]
165
- if masks.nil?
166
- masks = _make_masks( depth, alpha )
167
- else
168
- unless masks.size == 4 and masks.all?{|m| m.is_a?(Integer) and m >= 0}
169
- raise( TypeError, "Invalid masks: " + masks.inspect +
170
- " (expected [r,g,b,a] array of integers >= 0)" )
171
- end
172
- end
173
-
174
- flags = 0
175
- flags |= SDL::HWSURFACE if options[:hardware]
176
-
177
- { :width => size[0],
178
- :height => size[1],
179
- :depth => depth,
180
- :masks => masks,
181
- :flags => flags,
182
- }
183
- end
184
-
185
-
186
- # Calculate color masks based on requested depth and (for 32 bit)
187
- # whether or not to have an alpha channel.
188
- def _make_masks( depth, alpha ) # :nodoc:
189
- a = alpha ? 0xff000000 : 0
190
-
191
- masks = case depth
192
- when 32; [0xff0000, 0x00ff00, 0x0000ff, a]
193
- when 24; [0xff0000, 0x00ff00, 0x0000ff, 0]
194
- when 16; [0x00f800, 0x0007e0, 0x00001f, 0]
195
- when 15; [0x007c00, 0x0003e0, 0x00001f, 0]
196
- else [ 0, 0, 0, 0]
197
- end
198
-
199
- if FFI::Platform::BYTE_ORDER == FFI::Platform::BIG_ENDIAN
200
- masks[0,3] = masks[0,3].reverse
201
- end
202
-
203
- masks
204
- end
205
-
206
-
207
- # Initialize the Surface in the deprecated (pre-2.7) way.
208
- def _initialize_old( size, depth=0, flags=[] ) # :nodoc:
209
- Rubygame.deprecated("Old Surface#new arguments style", "3.0")
210
-
211
97
  unless size.kind_of? Array
212
98
  raise TypeError, "Surface size is not an Array: #{size.inspect}"
213
99
  end
@@ -253,8 +139,6 @@ class Rubygame::Surface
253
139
  end
254
140
 
255
141
 
256
- public
257
-
258
142
 
259
143
  # Return the width (in pixels) of the surface.
260
144
  #
@@ -717,7 +601,7 @@ class Rubygame::Surface
717
601
  # May raise SDLError if a problem occurs.
718
602
  #
719
603
  def savebmp( filename )
720
- result = SDL.SaveBMP( @struct, filename.to_s )
604
+ result = SDL.SaveBMP( @struct, filename )
721
605
  if(result != 0)
722
606
  raise( Rubygame::SDLError, "Couldn't save surface to file %s: %s"%\
723
607
  [filename, SDL.GetError()] )
@@ -75,7 +75,7 @@ class Rubygame::TTF
75
75
  "You must call TTF.setup before opening a font." )
76
76
  end
77
77
 
78
- @struct = SDL::TTF.OpenFont( file.to_s, size )
78
+ @struct = SDL::TTF.OpenFont( file, size )
79
79
 
80
80
  if( @struct.pointer.null? )
81
81
  raise Rubygame::SDLError, "Could not open font: #{SDL.GetError()}"
@@ -0,0 +1,177 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "rubygame"
4
+ require "rubygame/ftor"
5
+
6
+
7
+ include Rubygame
8
+ include Rubygame::Events
9
+ include Rubygame::EventActions
10
+ include Rubygame::EventTriggers
11
+
12
+
13
+ # Represents a modifiable Bézier curve.
14
+ class Curve
15
+
16
+ def initialize( points, color=:white )
17
+ @points = []
18
+ points.each { |point| add_point( point ) }
19
+ @color = :white
20
+ @steps = 10
21
+ end
22
+
23
+
24
+ attr_accessor :points, :color, :steps
25
+
26
+
27
+ # Draw the curve on the given Surface.
28
+ def draw( surface )
29
+ unless @points.empty?
30
+ surface.draw_curve( @points, @color, @steps )
31
+ end
32
+ end
33
+
34
+
35
+ # Draw the curve's control points on the given Surface,
36
+ # as squares of the given color and size (even numbers work best).
37
+ #
38
+ def draw_points( surface, color=:red, size=2 )
39
+ rect = Rect.new(0,0,size,size)
40
+ @points.each do |point|
41
+ rect.center = point.to_a
42
+ surface.fill( color, rect )
43
+ end
44
+ end
45
+
46
+
47
+ # Appends the given point to the list of control points.
48
+ # +point+ must be an [x,y] array, Ftor, vector, or similar.
49
+ #
50
+ def add_point( point )
51
+ @points << _make_point(point)
52
+ end
53
+
54
+
55
+ # Replaces the control point at the given index with the new point.
56
+ # E.g. if index is 2, it sets @points[2] = new_point.
57
+ #
58
+ def replace_point( index, new_point )
59
+ @points[index] = _make_point( new_point )
60
+ end
61
+
62
+
63
+ # Returns the index and coordinates of the control point nearest to
64
+ # +pos+. +pos+ must be an [x,y] array, Ftor, vector, or similar.
65
+ #
66
+ def nearest_point( pos )
67
+ pos = Ftor.new(pos[0], pos[1])
68
+ pts = @points.to_enum(:each_with_index).collect{ |p,i| [i,p] }
69
+ return pts.sort_by{ |index_and_point|
70
+ point = index_and_point[1]
71
+ (pos - point).magnitude
72
+ }.first
73
+ end
74
+
75
+
76
+ private
77
+
78
+
79
+ # Construct an integer Ftor version of the point.
80
+ def _make_point( point )
81
+ begin
82
+ Ftor.new(point[0].round, point[1].round)
83
+ rescue NoMethodError
84
+ raise ArgumentError, "Invalid point: #{point.inspect}"
85
+ end
86
+ end
87
+
88
+ end
89
+
90
+
91
+
92
+ class App
93
+ include EventHandler::HasEventHandler
94
+
95
+ attr_reader :screen, :clock, :queue
96
+
97
+
98
+ def initialize
99
+ @screen = Screen.new([640,480])
100
+
101
+ @queue = EventQueue.new
102
+ @queue.enable_new_style_events
103
+
104
+ setup_clock
105
+ setup_hooks
106
+
107
+ @curve = Curve.new( [[5,5], [320,240], [635,4]], :white )
108
+
109
+ end
110
+
111
+
112
+ def go
113
+ catch(:quit) do
114
+ loop do
115
+ step
116
+ end
117
+ end
118
+ end
119
+
120
+
121
+ private
122
+
123
+
124
+ # Do everything needed for one frame.
125
+ def step
126
+ @queue.fetch_sdl_events
127
+ @queue << @clock.tick
128
+ @queue.each do |event|
129
+ handle( event )
130
+ end
131
+ end
132
+
133
+
134
+ def setup_clock
135
+ @clock = Clock.new
136
+ @clock.target_framerate = 30
137
+ @clock.calibrate
138
+ @clock.enable_tick_events
139
+ end
140
+
141
+
142
+ def setup_hooks
143
+ hooks = {
144
+ :escape => :quit,
145
+ :q => :quit,
146
+ QuitRequested => :quit,
147
+
148
+ InputFocusGained => :update_screen,
149
+ WindowUnminimized => :update_screen,
150
+ WindowExposed => :update_screen,
151
+
152
+ MousePressed => :handle_mouse,
153
+ MouseReleased => :handle_mouse,
154
+ }
155
+
156
+ make_magic_hooks( hooks )
157
+ end
158
+
159
+
160
+ # Quit the app
161
+ def quit
162
+ throw :quit
163
+ end
164
+
165
+
166
+ # Refresh the whole screen.
167
+ def update_screen
168
+ @screen.update()
169
+ end
170
+
171
+
172
+ def handle_mouse( event )
173
+
174
+ end
175
+
176
+
177
+ end
@@ -27,7 +27,7 @@ Rubygame::GL.set_attrib(Rubygame::GL::BLUE_SIZE, 5)
27
27
  Rubygame::GL.set_attrib(Rubygame::GL::DEPTH_SIZE, 16)
28
28
  Rubygame::GL.set_attrib(Rubygame::GL::DOUBLEBUFFER, 1)
29
29
 
30
- Rubygame::Screen.open([WIDE,HIGH], :depth => 16, :opengl => true)
30
+ Rubygame::Screen.open([WIDE,HIGH], 16, [Rubygame::OPENGL])
31
31
  queue = Rubygame::EventQueue.new()
32
32
  clock = Rubygame::Clock.new { |c| c.target_framerate = 60 }
33
33
 
@@ -31,7 +31,7 @@ Rubygame::GL.set_attrib(Rubygame::GL::BLUE_SIZE, 5)
31
31
  Rubygame::GL.set_attrib(Rubygame::GL::DEPTH_SIZE, 16)
32
32
  Rubygame::GL.set_attrib(Rubygame::GL::DOUBLEBUFFER, 1)
33
33
 
34
- Rubygame::Screen.open([WIDE,HIGH], :depth => 16, :opengl => true)
34
+ Rubygame::Screen.open([WIDE,HIGH], 16, [Rubygame::OPENGL])
35
35
  queue = Rubygame::EventQueue.new()
36
36
  clock = Rubygame::Clock.new { |c| c.target_framerate = 60 }
37
37
 
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 2
7
7
  - 6
8
- - 3
9
- version: 2.6.3
8
+ - 4
9
+ version: 2.6.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - John Croisant
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-03-31 00:00:00 -05:00
17
+ date: 2010-04-16 00:00:00 -05:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -57,6 +57,7 @@ extra_rdoc_files:
57
57
  - doc/keyboard_symbols.rdoc
58
58
  - doc/macosx_install.rdoc
59
59
  - doc/managing_framerate.rdoc
60
+ - doc/surface_palettes.rdoc
60
61
  - doc/getting_started.rdoc
61
62
  - README
62
63
  - LICENSE
@@ -133,12 +134,14 @@ files:
133
134
  - samples/demo_gl_tex.rb
134
135
  - samples/ruby.png
135
136
  - samples/load_and_blit.rb
137
+ - samples/demo_curve.rb
136
138
  - samples/fist.bmp
137
139
  - doc/windows_install.rdoc
138
140
  - doc/custom_sdl_load_paths.rdoc
139
141
  - doc/keyboard_symbols.rdoc
140
142
  - doc/macosx_install.rdoc
141
143
  - doc/managing_framerate.rdoc
144
+ - doc/surface_palettes.rdoc
142
145
  - doc/getting_started.rdoc
143
146
  - README
144
147
  - LICENSE
@@ -154,7 +157,6 @@ rdoc_options: []
154
157
 
155
158
  require_paths:
156
159
  - lib
157
- - lib/rubygame/
158
160
  required_ruby_version: !ruby/object:Gem::Requirement
159
161
  requirements:
160
162
  - - ">="