Update v0.4.0 alpha:
- Changed: All FPL_ENABLE_ defines are internal now, the caller must use FPL_NO_ or FPL_YES_ respectivily.
- Changed: AtomicCompareExchange is now AtomicCompareAndExchange
- Changed: InitFlags::VideoOpenGL is now InitFlags::Video
- Added: Software rendering support
- Added: VideoDriverType enumeration for selecting the active video driver
- Added: video::GetVideoBackBuffer with [Win32] implementation
- Added: video::ResizeVideoBackBuffer with [Win32] implementation
- Added: FPL_PETABYTES macro
- Added: FPL_EXABYTES macro
- Added: FPL_ZETTABYTES macro
- Added: FPL_YOTTABYTES macro
- Added: FPL_MIN macro
- Added: FPL_MAX macro
- Added: MutexCreate with [Win32] implementation
- Added: MutexDestroy with [Win32] implementation
- Added: MutexLock with [Win32] implementation
- Added: MutexUnlock with [Win32] implementation
- Added: SignalCreate with [Win32] implementation
- Added: SignalDestroy with [Win32] implementation
- Added: SignalWait with [Win32] implementation
- Added: SignalWakeUp with [Win32] implementation
- Added: GetClipboardAnsiText with [Win32] implementation
- Added: GetClipboardWideText with [Win32] implementation
- Added: SetClipboardText with [Win32] implementation for ansi and wide strings
- Added [MSVC]: AtomicExchangeS32 (Signed integer)
- Added [MSVC]: AtomicExchangeS64 (Signed integer)
- Added [MSVC]: AtomicAddS32 (Signed integer)
- Added [MSVC]: AtomicAddS64 (Signed integer)
- Added [MSVC]: AtomicCompareExchangeS32 (Signed integer)
- Added [MSVC]: AtomicCompareExchangeS64 (Signed integer)
- Fixed [MSVC]: AtomicExchangeU32 was not using unsigned intrinsic
- Fixed [MSVC]: AtomicExchangeU64 was not using unsigned intrinsic
- Fixed [MSVC]: AtomicAddU32 was not using unsigned intrinsic
- Fixed [MSVC]: AtomicAddU64 was not using unsigned intrinsic
- Fixed [MSVC]: AtomicCompareExchangeU32 was not using unsigned intrinsic
- Fixed [MSVC]: AtomicCompareExchangeU64 was not using unsigned intrinsic
- Implemented [Win32]: GetProcessorCoreCount
- Implemented [Win32]: Main thread infos
- Performance [Win32]: GetProcessorName (3 loop iterations at max)
State:
Its almost feature complete for Win32, only audio output is missing.
Next i will clean up all the ifdef madness to get a more clean code structure - so i have a single ifdef block for each platform/backend. Also i am thinking about removing the sub namespaces, just because its so much useless typing for no reason.