cerlib 0.6.0 released!

November 28, 2024 2 minutes

Read more about what's new in this cerlib release.

This release focuses on cleaning up cerlib’s API as well as preparation for the upcoming 1.0 release.

  • Improved website and documentation

  • Replaced several C++ STL types by custom implementations:

    • std::string -> String
    • std::string_view -> StringView
    • std::optional -> Option
    • std::tuple -> Tuple
    • std::pair -> Pair
    • std::span -> Span and MutableSpan
    • The rationale for this is outlined here.
  • Added a new type pint

    • A checked positive-only integer, used as a replacement for size_t
    • Used to index into containers, automatically checks invalid values
    • Simplifies algebra and reduces casting between signed and unsigned integers
  • Added a script NewGame.py that’s able to generate game templates

  • Added entt as an optional component

    • entt is now automatically available in your game
    • Simply #include <entt/entt.hpp> and go
  • Improved the general game architecture

    • You’re now able to write a game loop directly in the main function
    • The Game class is now final
    • Events can now be polled and handled separately
  • Added a new class Camera

    • Can be used to easily implement a 2D observer
  • Added a new class AnimatedImage

    • Allows you to load and play sprite sheets
  • Added types Degrees and Radians

    • Improved type-safety for types and functions that handle rotations
    • Supported by user-defined literals
    • Can be converted to and from
  • cerlib games now link statically with the C++ runtime on Windows and Linux

    • On macOS, dynamic linking is preferred, since the OS guarantees the existence of a C++ runtime
  • Dropped WASM support

    • Low interest in supporting the web platform for now; a focus on desktop, mobile and embedded platforms is preferred.
  • Your game now uses precompiled headers to reduce compilation times

  • Replaced SmallDataArray by List

  • Removed multiwindow support

  • Various build system improvements