1.1.1 / 2024-08-27¶ ↑
-
1 minor enhancement:
-
Add basic package manager detection to deps script. (havenwood)
-
-
3 bug fixes:
-
Fixed home link in readme/gemspec.
-
Minor fix in ext/sdl/sge/sge_surface.cpp.
-
Reorder installation instructions & format as code. (havenwood)
-
1.1.0 / 2023-07-26¶ ↑
-
3 minor enhancements:
-
Added anti-aliasing to polygon. Want to add filling at some point.
-
Requiring ruby 2.7+. Too many changes to ruby internals to try to maintain.
-
polygon now takes an array of points.
-
-
4 bug fixes:
-
Fixed a bunch of compiler warnings for ruby struct changes.
-
Fixed font lookup on linux. (presidentbeef)
-
Fixed graphics_setup.sh for obsolete build flag on sdl2_image. (NickSchimek)
-
ruby 3.2: Fixed warning from ruby headers by explicitly removing alloc funcs.
-
1.0.1 / 2018-11-14¶ ↑
-
2 bug fixes:
-
Fixed bug in graphics_setup.rb. (Shashank Date)
-
Minor tweaks to graphics_setup.sh for Shawshank’s lightning talk today.
-
1.0.0 / 2018-11-13¶ ↑
-
4 major enhancements:
-
Everything is passing around Renderer instances now.
-
Moved all drawing primitives to Renderer.
-
Removed rsdl dependency. Plain ruby seems to work fine now.
-
Updated to work with SDL2. This will break some things, but mostly works.
-
-
58 minor enhancements:
-
bezier now takes an array of any number (> 4) of points.
-
blit and put now do everything in one call. Should be more performant.
-
blit and put now use the clear color of their class for the background.
-
clear will now warn and skip if color isn’t known.
-
fps now takes an optional color
-
transform/put now explicitly rotate on their bottom-left corner. Shifting x is no longer necessary.
-
AbstractRenderer#initialize clears and presents so frame 0 is correct color.
-
Added DEBUG_COLOR and use it in debug. Reversed in
WhiteBackground
. -
Added Renderer#copy_texture.
-
Added Renderer#h and w to return the output size.
-
Added Renderer#new_texture
-
Added Renderer#target and Renderer#target=
-
Added Renderer_index to read pixels. Painfully slow in comparison.
-
Added SDL::Screen::H & SDL::Screen::W and made available to your initialize.
-
Added Screen#title=.
-
Added Surface#blit.
-
Added Surface#clear.
-
Added Surface.color_key.
-
Added Window#title and Renderer#title.
-
Added Window#update ? Do I need this?
-
Added caching to texture in Renderer#blit. Massively speeds up boids & walker.
-
Added default (empty) Body#update.
-
Added unary negation to
V
. -
Alpha blending is massively improved. Black on white is black.
-
Blit now ensures blending is on.
-
Check for done before paused so ‘esc` can quit while paused.
-
Extended Renderer#point to optionally read or write a pixel.
-
Improved default window naming to add spaces to the classname.
-
Moved Screen#flip to Renderer#present.
-
Moved Screen#set_title to Window#set_title.
-
Moving everything out of Screen class. Will remove or leave just for constants.
-
Removed KeyEvent#unicode.
-
Removed PixelFormat#colorkey and alpha.
-
Removed SDL::WM and set_caption. Set titles via screen.title=
-
Removed Screen#update.
-
Removed Simulation#alpha, now built into pixels directly.
-
Removed Surface#color_key and Surface#set_color_key.
-
Removed Surface#flags and Surface#set_alpha.
-
Removed Surface.blit class method.
-
Removed Surface.new. You only create surfaces via Font.render_text and sprite.
-
Removed bpp argument to AbstractSimulation#initialize.
-
Removed/changed a lot of constants, mostly around KeyEvent handling.
-
Renamed AbstractSimulation#rgb to rgba. I think this should probably just go?
-
Renamed PixelFormat.get_rgb to get_rgba.
-
Renderer#fast_rect now just calls Renderer#draw_rect w/ true for filled.
-
SDL2 properly supports RGBA. Switched to it entirely.
-
Screen#open now stores off a renderer, window, and texture in the Surface.
-
Screen.open no longer creates or stores a surface. Saves off its own PixelFormat.
-
Search Ubuntu font directories in find_font. (phiggins)
-
Simulation now defaults to half-width and half-height. No more required args to super.
-
Surface#save now saves off PNG.
-
Switched Renderer and Window to subclass Data, not Surface.
-
Switching to SDL2_gfx for primitive drawing and rotozoom.
-
Transforms now default to anti-aliased rotations.
-
Updated graphics_setup.sh to remove SDL1 and install SDL2 (on OSX).
-
V#magnitude
is now cached. -
graphics_setup.sh will install hoe if necessary.
-
-
15 bug fixes:
-
Cleaned some off-by-one drawing bugs. I think it is more pixel perfect now?
-
Cleaned up
Numeric#degrees
. -
Finished getting to 100% rdoc coverage.
-
Fixed a memory leak in PixelFormat. Might remove it entirely.
-
Fixed a memory leak in collision maps.
-
Fixed an off-by-one in blitting.
-
Fixed bugs in hline and vline not using correct defaults. (joshcheek)
-
Fixed circle and ellipse. Filled + anti-aliased wasn’t actually anti-aliased.
-
Fixed examples/boid.rb to rotate bodies again.
-
Fixed examples/canvas.rb to draw in black again.
-
Fixed fps drawing bug in rainbow_fluid.rb
-
Fixed graphics_setup.sh and Rakefile for linux.
-
Functional GoL: use Set vs. Array for faster search. (sotoseattle)
-
Minor fix to examples/bounce.rb for older ruby versions.
-
Removed Graphics::Surface::VideoMemoryLost.
-
1.0.0b6 / 2016-11-17¶ ↑
I’m still not happy with the color system. I’d love some help to make it more usable.
-
1 major enhancement:
-
Added
Graphics::Drawing
: a simulation that doesn’t double buffer or clear each tick.
-
-
20 minor enhancements:
-
Added
DrawGrid
decorator. -
Added Screen#save.
-
Added
ShowFPS
decorator module -
Added Simulation#done that causes soft exit to allow profiling of apps.
-
Added
WhiteBackground
decorator. -
Added cyan and magenta to color dictionary.
-
Added sge_FastFilledRect to sge_primitives.
-
Body#bounce returns true if it did bounce.
-
Defined Graphics::Simulation::CLEAR_COLOR.
-
Graphics::Simulation
now stores a collection of collections of bodies. Those bodies are updated and drawn automatically each tick. -
Graphics::Simulation.clear
defaults to CLEAR_COLOR. -
Improved MVC pattern in Simulation.
-
Pushed Simulation up to AbstractSimulation.
-
Registered more default colors. Should also make arrays of names.
-
Reimplement Body#bounce to use clip & NORMAL. Much cleaner.
-
Split Simulation#draw into pre_draw and post_draw to give overrides more flexibility.
-
Split up Simulation for Drawings.
-
-
4 bug fixes:
-
Fixed a bug in boid refactoring.
-
Fixed bounce math to try to place the body to where it would bounce. (sotoseattle)
-
No more srand in examples.
-
Only apply friction on bounce if greater than 0.
-
1.0.0b5 / 2015-10-31¶ ↑
-
10 minor enhancements:
-
Added Simulation#add_keydown_handler.
-
Added Simulation#keydown_handler, a hash of “key” -> block handlers.
-
Added logging every N ticks for headless simulations or debugging.
-
Switched all default key handlers to keydown handlers.
-
add example: visualization of pi computation
-
Improved key event handling.
-
add example: visualization of pi computation
-
Renamed rubysdl_setup to graphics_setup. rubysdl is out of the picture.
-
Added example rainbow fluid simulation. (litonico)
-
Added rainbows in greyscale, rgb-spectrum, and cubehelix. (litonico)
-
-
2 bug fixes:
-
Fixed build issues with rubygems.
-
Switched brew install to build universal packages so it can work with stock ruby.
-
1.0.0b4 / 2015-09-14¶ ↑
-
1 major enhancement:
-
MAJOR rewrite. Replaced rubysdl with my own C extension.
-
This unencumbers me from rubysdl, which was incomplete, LGPL, and hasn’t had a commit in over a year.
-
-
-
11 minor enhancements:
-
Added Body#angle_to
-
Added Body#distance_to_squared
-
Added Simulation#iter_per_tick and changed update to run that number of
-
Added examples/canvas.rb to show drawing coordinate system.
-
Added maze example from Jamis Buck’s Mazes for Programmers.
-
All blits are antialiased and default to 0deg rotation.
-
Removed TTF.init
-
Shift drawing of nearly all things by 1px in y. Makes drawing hline at 0 visible.
-
Text now uses draw_blended_utf8 for smoother text rendering
-
Updated rubysdl_setup.sh to be more correct. Not quite complete yet.
-
Better math. powered by scotch™
-
-
6 bug fixes:
-
Documented basic attribs of Body.
-
Fixed drawing at y=0. Off by one, yo.
-
Fixed fill_rect for y=0
-
Fixed north/south reporting in clip now that we’re in proper q1
-
Fixed polygon refactor
-
Fixed project url and got rdoc upload url set up correctly.
-
1.0.0b1 / 2015-08-04¶ ↑
-
1 major enhancement
-
Beta Birthday!
-
1.0.0.a1 / 2015-03-31¶ ↑
-
1 major enhancement
-
Alpha Birthday!
-