1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-09-04 11:10:15 +00:00
Commit graph

10 commits

Author SHA1 Message Date
Galleon
edb7ddc584 Swapped out old MP3 decoder for MINI-MP3
(see bugs/incompatibilities forum for more details)
2015-02-07 19:40:21 -08:00
Galleon
67e08be312 Re-implements clipboard support for Linux
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)
2015-02-03 02:09:17 -08:00
Galleon
dcaf43a493 Fix for Linux (running setup fails on prev dirty build) 2015-01-18 05:55:56 -08:00
Galleon
3928325615 Primarily implements gamepad support (via _DEVICES, STICK/STRIG)
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
2015-01-18 04:20:57 -08:00
Galleon
2af8c7399c Implements -g switch to compile with no graphical dependencies
(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)
2015-01-06 03:55:55 -08:00
Galleon
2ffc8fcbca Fixes severe bug in TTF usage which caused programs crash intermittently/always due to non-zero initialized memory
Fixes bug (add clipping) which causes rendering of TTF fonts outside screen boundaries to wrap/crash
2014-10-12 00:45:02 -07:00
Luke Ceddia
160624a2b5 Reimplemented the _FREEFONT command
A new function has been added to parts/video/fonts/ttf/src.c, FontFree().
This takes an index into the fonts array, and calls FT_Done_Face() on the
handle, free() on the ttf_data then sets in_use to 0.

The sub__freefont() function calls FontFree(), and sets the appropriate font[]
element to NULL (after checking the passed font handle is valid, of course.
2014-10-06 19:05:05 +11:00
SMcNeill
d7c5484036 Replacement to stringcomp routine for less OS specific code, which executes faster overall for us anyway. 2014-10-02 04:32:07 -04:00
Luke Ceddia
b9a52e9600 Incorporated the User Mods into the parts system.
This way, we only include that code if its commands are called upon.
In order to do this, some other areas had to be changed as well:
  - There is now a libqb.h file, which declares some routines in libqb.cpp,
    in order to allow them to be called from a separately compiled unit, i.e,
    the user mods part.
  - common.cpp now has an #include guard, just to be on the safe side.
  - The library purge routines know about the new part.
  - qb64.bas is modified to handle the new part; this area is just modeled
    off the code for the other parts.
  - Appropriate flags were set in the hash table entires for the commands.
  - The user mods, now being a separate compilation unit, #include common.cpp
    and libqb.h. The former is required for important type declarations and
    access to glut commmands, the latter for access to libqb routines.
  - qbx.cpp #includes the src.cpp file in the user mods part, which declares the
    routines.
Something to ponder: libqb does not include or rely on any of the user mod routines,
so it's probably not necessary to rebuild it like with the other parts. That exploration
is for another day, however.
2014-10-02 17:54:52 +10:00
SMcNeill
eb43ceff23 Change to the STRCMP routine to correct < vs > bug. 2014-09-28 11:27:07 -04:00