- Added
VkResultToStringfunction for pure C string conversions of VKResult - Added the
FiniteRenderLinearAllocatorfor safer memory handling in larger scale projects - Removed validation layer requirements from
finite_render_init
- Added
finite_draw_set_pattern_ditheringto address issues with color banding on some devices. - Added
finite_draw_cached_pngto improve performance for drawing images.finite_draw_pngalso can now return a cached surface through it's cache param. - Added
finite_draw_set_wrapped_text - Added
finite_draw_hex_to_color_group_alphato allow alpha images. - Fixed
finite_button_createso it will now always return the focus event for the first button - Updated
finite_draw_pngto make it so it can use custom error colors - Fixed an issue where
finite_draw_rouned_rectdidn't fill gradients. - Fixed an issue in
finite_draw_linear_gradientthat threw out alpha values when they were full transparent.
- Added
finite_gamepad_key_get_hold_timeto allow devs to read how long a key has been held - Added
finite_input_keyboard_rescanto allow keyboard rescans - Rewrote the entire controller runtime to address the security issues brought up in #12
- Temporarily removed the controller connect popup for reworks
- Added
finite_userFunction Family to allow Infinite developers to get information about who is actively using the console.
- Added the mailroom middleman client that emulates specific console behaviors on non-console systems. It must run as root. See the the
README.mdfor additional notes on usage and installation.
- Improved all examples to be up to date with the common libfinite practices.
- Added an example on how to use the auth API
- Added the FiniteJSON utilities
- Fixed an issue where the protocol required a dependency that wasn't shipped with libfinite
- Added the
finite_input_textboxAPI finite_input_keyboard_initno longer exits if no keyboard is available.- Added
finite_input_keyboard_rescanto allow devs to rescan the wl_seat
- Removed
zwp_text_input_manager_v3
- Added a
wl_seat(shell.seat) andzwp_virtual_keyboard_manager_v1(shell.virtual_manager) struct to FiniteShell. This types are automatically defined by the compositor if they're supported
- Added the new
FiniteTextboxfor input handling - Added
finite_key_is_alpha - Downgraded
finite_gamepad_poll_buttons_async's log level fromLOG_LEVEL_INFOtoLOG_LEVEL_DEBUG - Fixed an issue in
finite_gamepad_poll_buttons_asyncwhere releasing the Down button or Up button the dpad caused the library to report that up was pressed - Added
FINITE_KEY_QOUTEas a secondary reference toFINITE_KEY_APOSTROPHEfor clarity
- Fatal errors now close the File descriptor if its not
stdoutorstderr
- Added the
finite_hex_to_color_groupfunction to support hexadecimals values for colors - Fixed an OOB issue with some finite-buttons
- Fixed a small type conversion issue in
finite_audio_get_audio_duration
- Added the
FiniteGamepadinput family. - Added
FiniteDeviceandFiniteDevicesfor udev-less device polling. - Moved
finite_button_handle_pollto FiniteDraw instead of being FiniteInput.
finite_draw_finishnow calls wl_display_flush after committing to garentee redraw.- Fixed
finite_draw_finishnot using the stride and withAlpha arguments. finite_draw_cleanupnow reports the program closing onLOG_LEVEL_INFOinstead ofLOG_LEVEL_DEBUG- Added
finite_overlay_set_margin - Updated
finite_draw_pngto support dyanmic scaling and image error handling - Fixed
finite_draw_cleanupthrowing segfaults when using a shared memory buffer fromfinite_shm_aloc
finite_render_get_memory_format_debugnow returns 0 on failure to silence errors.
finite_audio_stopnow reports dev.isPlaying is true.finite_audio_playnow checks dev.isPlayer is true before continuing.
New Controller Demo
Developers should never use shell.gamepads[i] at any time as shell.gamepads is not reliably static.