Skip to content
Compare
Choose a tag to compare
  • Update bundled dependencies: stb_image, stb_image_write, stb_truetype, stb_vorbis, utf8proc, mojoAL, SDL_sound.
  • These updates fix MP3 playback and Gosu::Sample pitch changes. (#592, #623).
  • Introduce optional retro: true option in Font#initialize, thanks to @cyberarm. (#479, #624)
Compare
Choose a tag to compare
  • Fix an audio bug when repeatedly playing a Gosu::Song. (#618 / #619)
  • Fixed Window::tick never waiting for update_interval. (#620 / #621)

Both fixes once again contributed by @cyberarm.

Compare
Choose a tag to compare
  • Windows: Support for Ruby 3.1. (#611/#612)
  • Windows: Update SDL to 2.0.20 (#610), also update SDL_sound on all platforms (#606).
  • Replace OpenAL (usually oal-soft) with mojoAL. (#608)

All three improvements contributed by @cyberarm.

Compare
Choose a tag to compare
  • Add Window#gain_focus callback to mirror Window#lose_focus, which was previously undocumented and only implemented on iOS. (#600) Thanks @cyberarm!
  • Fix Gosu::Window#tick not raising errors from callbacks. (#594) Thanks again, @cyberarm!
  • C++: Refactor the Gosu::Color interface to be less verbose.
Compare
Choose a tag to compare
  • Gosu.language() is deprecated, please use Gosu.user_languages() instead.
  • macOS: Fixed loading of bold/italic system TTF fonts.
Compare
Choose a tag to compare
  • Fix a compilation issue on macOS.
  • Best-looking version number so far.
Compare
Choose a tag to compare
  • Improved accuracy of Gosu.available_width / Gosu.available_height. Thanks @cyberarm!
  • Fixed a bug where macros (images returned by Gosu.record) were deformed when rendered with specific coordinates. Thanks @jsb!
  • macOS: Improved support for ARM-based Macs.
Compare
Choose a tag to compare
  • Gosu::Window can now be created with borderless: true (WF_BORDERLESS in C++) to hide all window chrome. Thanks to @cyberarm for this contribution.
  • Gosu::Window#resizable= and Gosu::Window#borderless= allow changing these properties later.
  • Windows: Pin the main thread to the first processor core during Window::show to avoid timing glitches.
Compare
Choose a tag to compare
  • Breaking change: Image.from_text, Font.draw_text and Font.text_width have stopped parsing pseudo-HTML markup. Replace "text" with "markup" in each method name to get this functionality back.
  • Breaking change: The alternative gosu/zen interface has been removed.
  • Breaking change: Gosu::Window::needs_cursor? now returns true by default, not false.
  • Support for Ruby 3.0. Gosu now requires Ruby 2.5 or later, and can only be used on Windows when the RubyInstaller DevKit has been installed.
  • Support for analog gamepad sticks. Previously, all sticks and D-pads of gamepad 1 were merged into the same constants such as GP_0_LEFT. Now there is a GP_0_DPAD_LEFT button ID for the D-pad, and GP_LEFT_STICK_X_AXIS / GP_RIGHT_STICK_X_AXIS axis IDs that which can be used with Gosu.axis() to query a value between -1 and 1. Thanks to @cyberarm for this contribution. (#524, #540, #542, #543. #546)
  • Replace all audio libraries by a statically bundled copy of SDL_sound. (#539)
  • Added button IDs: KB_PRINT_SCREEN, KB_SCROLL_LOCK, KB_PAUSE, KB_CAPS_LOCK. Thanks to @edwinacunav for this contribution. (#545)
  • Some method arguments have been made optional again, for compatibility with very early Ruby/Gosu projects.
  • C++: Rewrite CMake files for Linux and macOS (#535), clean up MSVC 2019 project.
  • Adds a C API to use Gosu from other languages (using FFI or other mechanisms); this is a work in progress, but there are proof of concept bindings for Crystal and MRuby. Join the Discord server to learn more. Thanks to @cyberarm for this contribution.
  • Update all stb libraries.
  • Windows: Update the bundled versions of SDL 2 (2.0.14) and OpenAL soft (1.21.0).
Compare
Choose a tag to compare
  • Fix compilation errors with gcc 10.