Skip to content

Centurion 6.2.0

Compare
Choose a tag to compare
@albin-johansson albin-johansson released this 14 Aug 15:26

Release notes

The major features of this release includes adding support for SDL 2.0.16 and using C++20 facilities wherever possible, whilst still remaining compatible with C++17.

Audio

  • [~] Fixed one of the operator!= overloads for fade_status incorrectly taking two Mix_Fading values as arguments
  • [+] Added overloads of to_string() and operator<< for fade_status
  • [+] Added overloads of to_string() and operator<< for music_type

Compiler

  • [+] CENTURION_NODISCARD_CTOR
  • [+] CENTURION_HAS_FEATURE_CPP20
  • [+] CENTURION_HAS_FEATURE_FORMAT
  • [+] CENTURION_HAS_FEATURE_CONCEPTS
  • [+] CENTURION_HAS_FEATURE_MEMORY_RESOURCE
  • [+] CENTURION_HAS_FEATURE_LERP
  • [+] CENTURION_HAS_FEATURE_SPACESHIP
  • [+] CENTURION_HAS_FEATURE_CHRONO_TIME_ZONES

Core

  • [+] Added str alias for const char*
  • [+] log_priority_count()
  • [+] log::set_output_function() (C++20 only)
  • [+] log::use_preset_output_function() (C++20 only)
  • [~] Deprecated czstring alias
  • [~] Deprecated zstring alias
  • [~] Marked library constructors as nodiscard (C++20 only)
  • [~] Deprecated CENTURION_HAS_STD_MEMORY_RESOURCE macro
  • [+] Concept is_stateless_callable (C++20 only)
  • [+] Added overloads of to_string() and operator<< for log_category
  • [+] Added overloads of to_string() and operator<< for log_priority

Events

  • [+] Added overloads of to_string() and operator<< for event_type
  • [+] Added overloads of to_string() and operator<< for mouse_wheel_direction
  • [+] Added overloads of to_string() and operator<< for window_event_id

Filesystem

  • [+] Added overloads of to_string() and operator<< for file_mode
  • [+] Added overloads of to_string() and operator<< for file_type
  • [+] Added overloads of to_string() and operator<< for seek_mode

Hints

  • [+] hint::audio_include_monitors
  • [+] hint::audio_device_stream_role
  • [~] get_hint() is no longer incorrectly marked as noexcept
  • [~] get_hint() now has an explicit return type
  • [~] Replaced hint::joystick::hidapi_correlate_xinput with hint::joystick::rawinput_correlate_xinput on SDL 2.0.16 or later
  • [+] Concept is_hint_callback (C++20 only)
  • [+] add_hint_callback_ex() (C++20 only)

Input

  • [-] Removed deprecated key_state alias
  • [-] Removed deprecated mouse_state alias
  • [~] haptic_feature enum now uses uint as underlying type
  • [~] haptic_direction_type enum now uses u8 as underlying type
  • [~] mouse_wheel_direction enum now uses u32 as underlying type
  • [+] controller_type::amazon_luna
  • [+] controller_type::google_stadia
  • [+] basic_controller::get_sensor_data_rate()
  • [+] basic_controller::send_effect()
  • [+] basic_joystick::send_effect()
  • [+] set_modifiers()
  • [+] get_modifiers()
  • [+] keyboard::is_only_active(key_mod)
  • [+] keyboard::is_only_any_of_active(key_mod)
  • [+] Added touch_device_type alias for touch::device_type
  • [+] Added touch_finger_state alias for touch::finger_state
  • [+] Added overloads of to_string() and operator<< for button_state
  • [+] Added overloads of to_string() and operator<< for keyboard
  • [+] Added overloads of to_string() and operator<< for mouse
  • [+] Added overloads of to_string() and operator<< for mouse_button
  • [+] Added overloads of to_string() and operator<< for controller_type
  • [+] Added overloads of to_string() and operator<< for controller_axis
  • [+] Added overloads of to_string() and operator<< for controller_button
  • [+] Added overloads of to_string() and operator<< for controller_bind_type
  • [+] Added overloads of to_string() and operator<< for joy_hat_position
  • [+] Added overloads of to_string() and operator<< for joystick_power
  • [+] Added overloads of to_string() and operator<< for joystick_type
  • [+] Added overloads of to_string() and operator<< for hat_state
  • [+] Added overloads of to_string() and operator<< for sensor_type
  • [+] Added overloads of to_string() and operator<< for touch_device_type
  • [+] Added overloads of to_string() and operator<< for button_order
  • [+] Added overloads of to_string() and operator<< for haptic_direction_type
  • [+] Added overloads of to_string() and operator<< for haptic_feature
  • [+] Added overloads of to_string() and operator<< for key_modifier
  • [+] Added overloads of to_string() and operator<< for basic_controller::mapping_result

Math

  • [~] Added operator<=> to vector3 (C++20 only)
  • [~] Added defaulted operator== for basic_area (C++20 only)
  • [~] Made operator== and operator!= overloads for basic_point templated

System

  • [+] Added overloads of to_string() and operator<< for platform_id
  • [+] Added overloads of to_string() and operator<< for power_state

Threads

  • [+] thread::init(): Constrained factory functions, supporting non-void user data or no user data at all (along with optional return values) (C++20 only)
  • [~] Deprecated thread::id, use thread_id instead
  • [~] Marked thread constructor as nodiscard (C++20 only)
  • [~] Marked scoped_lock constructors as nodiscard (C++20 only)
  • [~] Marked try_lock constructor as nodiscard (C++20 only)
  • [+] Added overloads of to_string() and operator<< for lock_status
  • [+] Added overloads of to_string() and operator<< for thread_priority

Video

  • [+] flash_op enum
  • [+] basic_window::flash()
  • [+] basic_window::set_always_on_top()
  • [+] Additional overload of blend() function for colors that accepts a float bias
  • [~] Deprecated double bias overload of blend() for colors
  • [~] Marked gl_library constructor as nodiscard (C++20 only)
  • [~] Marked vk_library constructor as nodiscard (C++20 only)
  • [+] system_cursor_count()
  • [+] Added overloads of to_string() and operator<< for basic_pixel_format_info
  • [+] Added overloads of to_string() and operator<< for gl_attribute
  • [+] Added overloads of to_string() and operator<< for gl_swap_interval
  • [+] Added overloads of to_string() and operator<< for blend_mode
  • [+] Added overloads of to_string() and operator<< for font_hint
  • [+] Added overloads of to_string() and operator<< for message_box::color_id
  • [+] Added overloads of to_string() and operator<< for message_box::default_button
  • [+] Added overloads of to_string() and operator<< for message_box_type
  • [+] Added overloads of to_string() and operator<< for pixel_format
  • [+] Added overloads of to_string() and operator<< for scale_mode
  • [+] Added overloads of to_string() and operator<< for screen_orientation
  • [+] Added overloads of to_string() and operator<< for system_cursor
  • [+] Added overloads of to_string() and operator<< for texture_access

Miscellaneous

  • [~] Switched to using a doxygen-awesome theme
  • [~] Replaced the wiki with new Doxygen pages
  • [+] The CI test suites are now run using both C++17 and C++20
  • [~] Use std::format in to_string() overloads (C++20 only)