Fixes gamepad support dependency / thread of call
Allows libqb.cpp to use Objective C++
Fixes tracking/handling of SHIFT, ALT, CTRL & CAPS LOCK
Fixes serious bug in internal getticks() which caused _LIMIT, _DELAY, SLEEP, TIMER, etc to malfunction and IDE to be unusably slow
In other words, I compiled QB64 with an older working version
and copied that across to internal/source/, then did a few self-compile
runs to ensure sanity.
Removed GIF decoder which I never got working
Added stb_image which can decode GIF (not animated) and some other formats
(stb_image is now used as a fall-back for when no specific image decoder is available for the given format, it is supposed to be able to decode PNG, TGA, BMP, PSD, GIF, HDR, PIC, PNM(PPM/PGM))
Removed some precompiled object files from mini-mp3 which should not have been there in the first place
Fixes a threading issue which caused QB64 to intermittently crash when using hardware commands
(Same threading fix yet to be applied to Linux)
Fixes problem in last update which prevented _OPENHOST/_OPENCLIENT from working (they always returned invalid handle '0')
Fixes 3D perspective issue when 3D rendering into images not the primary display (previuosly the dimensions of the screen/window not the target image were used to determine the aspect ratio)
Corrects dependency detection bug in prev update which rendered _SCREENIMAGE unusable
Implements new command _FPS which limits the maximum hardware fps (primarily for throttling SUB _GL) [default is 60]
Usage example:
_FPS 100
(Can now generate stand-alone executables <1MB)
-g can be specified within code with:
$CONSOLE:ONLY
Note: Programs using this still need to call _DEST _CONSOLE or output will not be visible
Also added dependency rules to remove unrequired static system libs from being linked:
[X] lws2_32 as DEPENDENCY_SOCKETS
_OPENHOST
_OPENCLIENT
[X] -lwinspool as DEPENDENCY_PRINTER
LPRINT
_PRINTIMAGE
[X] -lwinmm & mmsystem.h
Required by:
FreeGlut (GUI)
Audio Out
[X] -lksguid (From the DirectX SDK, Required for Audio)
Required by:
Audio Out
[X] -ldxguid (From the DirectX SDK, Required for Audio)
Required by:
Audio Out
[X] -lole32
Required by:
Audio Out (dsound.c)
[X] -lgdi32
Required by:
void sub__icon(int32 handle_icon, int32 handle_window_icon, int32 passed){
int32 func__screenimage(int32 x1,int32 y1,int32 x2,int32 y2,int32 passed)
Printer
Some code has been moved from inside libqb.cpp into subfolder internal\c\libqb
Added dummy config.h file so libsamplerate could compile in Linux (Need to establish when it was removed)