cerlib 0.7.0 released!

This release focuses on adding small quality-of-life features as well as fixing some minor issues.

  • Improved website and documentation
  • Removed CreateGame.py script
    • Instead, download a Game Template and modify it to your liking.
    • The cerlib package is now fetched automatically by the game.
  • Simplified your game’s CMake script
  • Fixed a compile error when attempting to assign an Option to an existing Option
  • Fixed a CMake error when opening a game in Visual Studio using the Open -> CMake… action
    • This occurred only on AMD64 (i.e. 64-bit x86) machines
  • Improved Window
    • Added Window::centerOnDisplay()
    • Added a recenter parameter to Window::setSize() that automatically recenters the window after it’s resized
    • Added a initialWindowSize parameter to the Game constructor
  • Improved List
    • List::front() renamed to List::first()
    • List::back() renamed to List::last()
    • Added List::removeFirst()
  • Improved the event handling API
    • Removed Game::events()
    • Added Game::nextEvent()
    • Renamed Game::handleEvents() to Game::handleAllEvents()
  • Added new events
    • DisplayOrientationChangedEvent
    • DisplayAddedEvent
    • DisplayRemovedEvent
    • DisplayMovedEvent
    • DisplayDesktopModeChanged
    • DisplayCurrentModeChanged
    • DisplayContentScaleChanged
  • Input API improvements
    • Added cer::wasMouseButtonJustPressed()
    • Added cer::wasMouseButtonJustReleased()
    • Added MouseButton::Extra1
    • Added MouseButton::Extra2
  • Added Game::showMessageBox() and cer::MessageBoxType
  • Added Game::sleep() and Game::sleepMS()
  • Added FrameStats::tickRate, which represents the game’s tick rate (frame rate)
  • Implemented CoreAudio audio backend on Apple platforms

Other

  • Updated ImGui to 1.91.5
  • Internally implemented Metal support in preparation for the upcoming iOS support
  • Internally added Box2D as the physics backend for the upcoming 2D physics support