1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-07-02 22:21:21 +00:00
Commit graph

2362 commits

Author SHA1 Message Date
Galleon 9b5c4bcc39 (Automated push) Update internal/source/* from qb64.bas 2014-10-06 05:13:28 -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 5158950119 Fix to integer comparison so that (0 > -2147483648) evaluates as a True condition. 2014-10-06 03:21:57 -04:00
Galleon 492484ba84 (Automated push) Update internal/source/* from qb64.bas 2014-10-02 05:14:13 -07: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 a5b0fc7bd5 Merge 2014-09-28 11:30:27 -04:00
SMcNeill eb43ceff23 Change to the STRCMP routine to correct < vs > bug. 2014-09-28 11:27:07 -04:00
Galleon b2c3b0c749 (Automated push) Update internal/source/* from qb64.bas 2014-09-27 05:13:00 -07:00
Luke Ceddia 801ae6ae60 Added a _KEYCLEAR [buffer&] command to clear any characters in input buffers.
Without a parameter, it clears all buffers. A numeric parameter will
clear only a specific buffer: 1 = INKEY$ buffer (and other traditional
QB input commands), 2 = _KEYHIT buffer, 3 = INP(&H60) buffer. The last
one is not actually cleared, but we pretend we've read all the data from
it.

To ensure no stray characters, use this command immediately before the
code you wish to sanitise. You never know when the user might bang on
the keyboard, and this also helps to avoid stray key release values
persisting in the _KEYHIT buffer.
2014-09-27 03:12:54 +10:00
SMcNeill c100a8b8b9 Patch to _PUTIMAGE so STEP will work with it once again in GL. 2014-09-26 12:19:55 -04:00
SMcNeill 2c97e85402 Merge 2014-09-26 12:11:00 -04:00
Luke Ceddia c3c79964cf Fix regression introduced in previous commit in LCASE$ function 2014-09-23 23:39:53 +10:00
SMcNeill 6e01fc8dce Altered string compare routines (<,<=,>,>=) so they don't give false results with CHR$(0).
Added new _STRCMP and _STRICMP commands for quick string comparisons.
Cleaned up QB64 to finish removing the QUI (quick user insert) code and folders.
Altered UCASE and LCASE routines to be faster in some situations for us.
2014-09-22 08:19:03 -04:00
Galleon 14673b41b0 (Automated push) Update internal/source/* from qb64.bas 2014-09-20 05:14:01 -07:00
SMcNeill 35e0ed1dd8 Change to make QB64 more compatible for x64 support on Windows.
Deleted makedat_win.txt, and created makedat_win32.txt and makedat_win64.txt which we toggle between according to compiler now.
Made change inside QB64.bas so it automatically adjusts output for DATA statements according to OS.
2014-09-19 16:20:23 -04:00
Galleon 6fde941844 (Automated push) Update internal/source/* from qb64.bas 2014-09-17 05:14:08 -07:00
Luke Ceddia c7b6f85075 Support internal clipboard on Linux
It's not true cross-program clipboard support, but the clipboard now functions
within a QB64 program. Importantly, this means you can copy/paste code around
in the IDE.
2014-09-17 20:56:55 +10:00
SMcNeill 3aa8bc8a27 Removed non-used string support in the CONST math routines. Added _CONTROLCHR function. Changed _OS$ to detect and report x64 compilers for Windows. 2014-09-17 06:10:11 -04:00
SMcNeill 22e0a75b05 Fix to _PRINTWIDTH so it doesn't interfer with _FREEFONT. 2014-09-06 16:58:11 -04:00
Luke Ceddia d7218cd301 Modify linux setup script to exit if it has root permissions. 2014-08-29 22:57:45 +10:00
Galleon 54a0e14ef5 (Automated push) Update internal/source/* from qb64.bas 2014-08-15 05:19:53 -07:00
SMcNeill 1b7f25aaba Fix to the IDE Resizing and changing fonts. Patch to ELSE allowing invalid syntax in various cases. 2014-08-14 03:55:38 -04:00
Galleon 4e73933e74 Fix bug in sub__depthbuffer where primary depthbuffer could not be turned off 2014-08-09 18:31:08 -07:00
Galleon a73e482de5 (Automated push) Update internal/source/* from qb64.bas 2014-08-09 04:04:35 -07:00
Galleon ba99b3cb97 _MAPTRIANGLE 3D Upgrade:
[{_CLOCKWISE|_ANTICLOCKWISE}][{_SEAMLESS}](?,?)-(?,?)-(?,?)[,?]{TO}(?,?[,?])-(?,?[,?])-(?,?[,?])[,[?][,{_SMOOTH|_SMOOTHSHRUNK|_SMOOTHSTRETCHED}]]

Refactor/rewrite of how OpenGL state is monitored/maintained

Critical fix to stop _MAPTRIANGLE (2D hardware version) not freeing old commands in the pipeline

Critical fix to stop intermittent QB64 crashing in 32-bit mode when screen size expanded
2014-08-09 03:55:53 -07:00
Galleon 8c793da56f (Automated push) Update internal/source/* from qb64.bas 2014-08-04 05:15:48 -07:00
Luke Ceddia a34f40bc74 Changed command-line parsing routine
Removed the ad-hoc system and insert ParseCMDLineArgs$(), which
should be easily extensible. Also supports the -- option for using
a filename that looks like an option (I would have liked to just be
able to use quotes on the command line, but COMMAND$ doesn't preserve
that information unfortunately.
2014-08-03 23:08:05 +10:00
Galleon 7c971c936c (Automated push) Update internal/source/* from qb64.bas 2014-07-29 05:16:19 -07:00
SMcNeill 33f652e0cc Changed QB64.bas to use BINARY for LINE INPUT files fot the performance increase.
Added new _SCREENEXISTS command to see if a screen has been made yet for the user.
Fixed the string < comparison bug.
2014-07-28 08:34:00 -04:00
Galleon d3a9052604 (Automated push) Update internal/source/* from qb64.bas 2014-07-27 05:19:30 -07:00
Luke Ceddia 69598a1a13 Merge 2014-07-27 00:39:23 +10:00
Galleon aa45425139 (Automated push) Update internal/source/* from qb64.bas 2014-07-26 07:12:35 -07:00
Luke Ceddia b586eafd3b Integrated _BLINEINPUT into regular LINE INPUT for BINARY files
LINE INPUT will now use the faster method if passed a file handle
that has been opened FOR BINARY. As such, the _BLINEINPUT command
has been removed.

qb64.bas now takes advantage of this for reading from '$include files,
at least in Include Manager 1. Some tweaking of internal/source/main.txt
was required to get things into a sane state, so I'm holing off changing
the compiler any further so the auto-builder can make sure everything's
smoothed over.

Note: Everything should still compile as normal; I'm just being overcautious.
2014-07-27 00:06:17 +10:00
Galleon 5155570c54 Added missing function hardware_img_tri2d 2014-07-26 07:04:41 -07:00
Galleon 5e2c5acc74 Added support for hardware _MAPTRIANGLE
_SEAMLESS option is not available for hardware yet and will generate an Illegal Func Call error. This is due to it failing to be pixel-perfect with the non-hardware version.
2014-07-26 06:56:15 -07:00
Galleon e593cf5719 (Automated push) Update internal/source/* from qb64.bas 2014-07-24 05:16:40 -07:00
Luke Ceddia fe8f56a7e7 Fix Press any key to continue closing on Alt/Ctrl/Shift
We now call Sleep() instead of sub_sleep()
2014-07-24 21:27:34 +10:00
SMcNeill 83489ad292 [mq]: 2014-07-24_07-03-40_r72+.diff 2014-07-24 07:03:56 -04:00
SMcNeill e149393a93 Deleted unneeded files to keep the repo clean. 2014-07-24 06:10:53 -04:00
Luke Ceddia c460dbb808 Fix glut-calling commands, make IDE use _BLINEINPUT for '$includes (for Steve).
Glut commands _SCREENX, _SCREENY, _SCREENMOVE, _DESKTOPHEIGHT, _DESKTOPWIDTH,
_SCREENICON now wait for the screen to be created before trying to work.
Change to QB64.bas source to use _BLINEINPUT instead of LINE INPUT for INCLUDE$.
This should make the IDE much more responsive when Includes are used from now on.
2014-07-24 19:24:00 +10:00
Luke Ceddia 83681345b2 Fixed GDB Debugging option (broken by qb64.bas split)
idedebuginfo stopped being shared, and thus was not accessible
in the sub that drew the dialog box.
2014-07-23 23:09:56 +10:00
Galleon a39a8d2ae8 (Automated push) Update internal/source/* from qb64.bas 2014-07-21 03:21:48 -07:00
SMcNeill 8f294a82ba Adding _BLINEINPUT for an alternative to LINE INPUT, which seems much faster. 2014-07-20 17:34:28 -04:00
Galleon 0b27c85a6e (Automated push) Update internal/source/* from qb64.bas 2014-07-20 06:23:29 -07:00
Galleon d6d4eb0c28 Moved qb64.bas to source\qb64.bas
Split qb64.bas into $included components: notably settings, version, gloabal, ide (& wiki downloader), subs/functions (and extensions including user mods and opengl)
Moved 'user mods' to source\subs_functions\extensions
Removed legacy functionality of the QB64 update system (including compression functions)
QB64.BAS can be compiled independent of its IDE $includes (just comment them out)
QUI commeted out (needs minor revision)
Updated version to 1.000 (just ran out of numbers)
2014-07-20 06:11:05 -07:00
Galleon b9f23d7a7a (Automated push) Update internal/source/* from qb64.bas 2014-07-15 07:06:09 -07:00
Galleon 4942dd7a9a Added solutions for non-FBO & non-NPOT GL versions
(non-NPOT solution results in blury display at NPOT resolutions but this is better than no display at all!)
2014-07-15 06:45:01 -07:00
SMcNeill 6995827479 Fix for _SCREENX and _SCREENY for Windows Users. 2014-07-12 04:15:07 -04:00
SMcNeill 3941732ed5 Push for Luke that fixes the CLOCK routine to stop massive IDE lag for LINUX users.
Also set name for new commands to _DESKTOPWIDTH, _DESKTOPHEIHT, _SCREENICON as the community seemed to prefer them.
2014-07-11 02:57:14 -04:00