Centurion 6.2.0
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 forfade_status
incorrectly taking twoMix_Fading
values as arguments - [+] Added overloads of
to_string()
andoperator<<
forfade_status
- [+] Added overloads of
to_string()
andoperator<<
formusic_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 forconst 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()
andoperator<<
forlog_category
- [+] Added overloads of
to_string()
andoperator<<
forlog_priority
Events
- [+] Added overloads of
to_string()
andoperator<<
forevent_type
- [+] Added overloads of
to_string()
andoperator<<
formouse_wheel_direction
- [+] Added overloads of
to_string()
andoperator<<
forwindow_event_id
Filesystem
- [+] Added overloads of
to_string()
andoperator<<
forfile_mode
- [+] Added overloads of
to_string()
andoperator<<
forfile_type
- [+] Added overloads of
to_string()
andoperator<<
forseek_mode
Hints
- [+]
hint::audio_include_monitors
- [+]
hint::audio_device_stream_role
- [~]
get_hint()
is no longer incorrectly marked asnoexcept
- [~]
get_hint()
now has an explicit return type - [~] Replaced
hint::joystick::hidapi_correlate_xinput
withhint::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 usesuint
as underlying type - [~]
haptic_direction_type
enum now usesu8
as underlying type - [~]
mouse_wheel_direction
enum now usesu32
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 fortouch::device_type
- [+] Added
touch_finger_state
alias fortouch::finger_state
- [+] Added overloads of
to_string()
andoperator<<
forbutton_state
- [+] Added overloads of
to_string()
andoperator<<
forkeyboard
- [+] Added overloads of
to_string()
andoperator<<
formouse
- [+] Added overloads of
to_string()
andoperator<<
formouse_button
- [+] Added overloads of
to_string()
andoperator<<
forcontroller_type
- [+] Added overloads of
to_string()
andoperator<<
forcontroller_axis
- [+] Added overloads of
to_string()
andoperator<<
forcontroller_button
- [+] Added overloads of
to_string()
andoperator<<
forcontroller_bind_type
- [+] Added overloads of
to_string()
andoperator<<
forjoy_hat_position
- [+] Added overloads of
to_string()
andoperator<<
forjoystick_power
- [+] Added overloads of
to_string()
andoperator<<
forjoystick_type
- [+] Added overloads of
to_string()
andoperator<<
forhat_state
- [+] Added overloads of
to_string()
andoperator<<
forsensor_type
- [+] Added overloads of
to_string()
andoperator<<
fortouch_device_type
- [+] Added overloads of
to_string()
andoperator<<
forbutton_order
- [+] Added overloads of
to_string()
andoperator<<
forhaptic_direction_type
- [+] Added overloads of
to_string()
andoperator<<
forhaptic_feature
- [+] Added overloads of
to_string()
andoperator<<
forkey_modifier
- [+] Added overloads of
to_string()
andoperator<<
forbasic_controller::mapping_result
Math
- [~] Added
operator<=>
tovector3
(C++20 only) - [~] Added defaulted
operator==
forbasic_area
(C++20 only) - [~] Made
operator==
andoperator!=
overloads forbasic_point
templated
System
- [+] Added overloads of
to_string()
andoperator<<
forplatform_id
- [+] Added overloads of
to_string()
andoperator<<
forpower_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
, usethread_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()
andoperator<<
forlock_status
- [+] Added overloads of
to_string()
andoperator<<
forthread_priority
Video
- [+]
flash_op
enum - [+]
basic_window::flash()
- [+]
basic_window::set_always_on_top()
- [+] Additional overload of
blend()
function for colors that accepts afloat
bias - [~] Deprecated
double
bias overload ofblend()
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()
andoperator<<
forbasic_pixel_format_info
- [+] Added overloads of
to_string()
andoperator<<
forgl_attribute
- [+] Added overloads of
to_string()
andoperator<<
forgl_swap_interval
- [+] Added overloads of
to_string()
andoperator<<
forblend_mode
- [+] Added overloads of
to_string()
andoperator<<
forfont_hint
- [+] Added overloads of
to_string()
andoperator<<
formessage_box::color_id
- [+] Added overloads of
to_string()
andoperator<<
formessage_box::default_button
- [+] Added overloads of
to_string()
andoperator<<
formessage_box_type
- [+] Added overloads of
to_string()
andoperator<<
forpixel_format
- [+] Added overloads of
to_string()
andoperator<<
forscale_mode
- [+] Added overloads of
to_string()
andoperator<<
forscreen_orientation
- [+] Added overloads of
to_string()
andoperator<<
forsystem_cursor
- [+] Added overloads of
to_string()
andoperator<<
fortexture_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
into_string()
overloads (C++20 only)