Hi there,

i am back and i have another release of FPL for you all, which contains very important bugfixes, some improvements and a couple of new features ;-)

7 months of silence

Since the the corona pandemic my life changed from day one fundamentally, resulting in having no more free time at all - not a single minute!
Working from home, doing homeschooling with my kids and organizing our home was just too much, but i now somehow got situated and feel more motivated to get back to private coding, finally finishing up that beast of a project ;)

Back to the topic, the new version -> 0.9.5-beta

The new version is now released and can be fetched from the github page: https://github.com/f1nalspace/final_game_tech

Btw. all todos and planned things are now ported over to the github repo and was removed from the header file.

This release finally contains the fix for the key-repeating issue on X11 and now supports bad-latency audio devices, such as broadcom (raspberry pi). The support for raspberry pi is still not complete, but works for the most part due to the POSIX sub-platform layer. Also there is now support for RDTSC() for ARM platforms as well.

Below are the full changelog for more details:

The next versions and future plans

For now i am focusing of working on the [to implement] issues: https://github.com/f1nalspace/final_game_tech/labels/to%20implement
Also i am planning to finish up the presentation demo to finally make a introduction video for FPL, which i then will upload to youtube.

- New: Added enum fplAudioDefaultFields
- New: Added field defaultFields to fplAudioDeviceFormat struct
- New: Added C++/11 detection (FPL_IS_CPP11)
- New: Added enum fplAudioLatencyMode to fplAudioTargetFormat
- New: Added function fplSetFileTimestamps()
- New: Added fplAudioDriverType to fplAudioDeviceFormat
- New: Added fplWallClock struct
- New: Added function fplGetWallClock()
- New: Added function fplGetWallDelta()
- New: Support for logging out keyboard button events (FPL_LOG_KEY_EVENTS)
- New: Added support for hard crashing on errors or warnings (define FPL_CRASH_ON_ERROR or FPL_CRASH_ON_WARNING) to enable it

- New: [Win32] Added implementation for fplSetFileTimestamps()
- New: [Win32] Added implementation for fplGetWallClock()
- New: [Win32] Added implementation for fplGetWallDelta()

- New: [POSIX] Added implementation for fplGetWallClock()
- New: [POSIX] Added implementation for fplGetWallDelta()

- Fixed: fplS32ToString() was not returning the last written character
- Fixed: fplStringAppendLen() was not returning the last written character
- Fixed: Fixed several warnings for doxygen

- Fixed: [Core] Added empty functions for fplCPUID(), fplGetXCR0() for non-x86 platforms
- Fixed: [Core] Implemented fplRDTSC() for non-x86 platforms

- Fixed: [POSIX] Fixed several compile errors

- Fixed: [Linux] Fixed non-joystick devices as gamepad detected
- Fixed: [X11] Fixed keyrepeat issue for text input (finally!)
- Fixed: [X11] Fixed duplicated key events in some cases

- Changed: FPL_MAX_THREAD_COUNT and FPL_MAX_SIGNAL_COUNT can now be overridden by the user
- Changed: Removed redundant field bufferSizeInBytes from fplAudioDeviceFormat struct
- Changed: Simplified audio system default values initialization
- Changed: Use default audio buffer size based on set fplAudioLatencyMode in fplAudioTargetFormat

- Changed: [ALSA] Introduced audio buffer scaling for bad latency devices