1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-03 13:31:23 +00:00
Commit graph

551 commits

Author SHA1 Message Date
QB64Cobalt 539a71ef25
Update qbx.cpp 2019-12-05 07:08:31 -08:00
SteveMcNeill 58b82dff13 Minor change to bit routines, added ability to ignore warnings in IDE 2019-12-04 12:30:02 -05:00
SteveMcNeill 472bf29d99 Change to the Console Font routine.
CFont uses a few function calls which aren't supported by anything older than Windows Vista, while QB64 otherwise works all the way back to Windows XP.  Since there's no desire to make us lose functionality with older systems and obsolute them to oblivion, the code has been commented out and replaced with a stub as default.  Users of older machines can simply use it "as is", as can folks who don't care about console functionality.  Users with versions of Windows from Vista up, can simply uncomment the code (comment out the placeholder stub), and then purge libqb so we automatically rebuild our library to make use of the routine.

It seemed the easiest way to keep it in there, more or less, so that people who wanted to use it can, while not bothering the rest of the user base.  There just needs to be  a short note wrote up in the documention on how to "enable the command", but it's not a hard process (uncomment a few lines, comment a few others, and run a batch file -- if a programmer can't handle that much, then they don't need the command to start with...).
2019-11-29 04:01:22 -05:00
SteveMcNeill c1142e67ce Change to _PUTIMAGE so _SOURCE can be the same as _DEST without erroring out. 2019-11-27 03:22:07 -05:00
Fellippe Heitor 5ff044b027
Merge pull request #104 from QB64Cobalt/development
Added 4 New Bit Functions
2019-11-16 22:08:22 -03:00
QB64Cobalt d0935e041e
Update qbx.cpp 2019-11-16 16:20:22 -08:00
SteveMcNeill 0c1dcaf541 Minor patch to SLEEP and the console, so it only responds with keydown events and not key up events. 2019-10-30 17:57:33 -04:00
SteveMcNeill eba05938bb Pushed changes to enhance the Windows Console Experience
Window's CONSOLE support has been extended so that:

CSRLIN support added.
POS(0) support added.
LOCATE support added. (Works with optional parameters.)
COLOR support added.
SCREEN support added to get both character and color information of any point on the console.
tab() glitch fixed. (Which could cause an endless loop when printing with comma spaced text/numbers.)
_WIDTH support added.
_HEIGHT support added.
WIDTH support added, with 2 new parameters added so we can set the buffer width and buffer height also.
CLS support semi-added.  (Doesn't accept colored backgrounds; it clears the screen black.  I'm getting tired of working up console stuff which I probably won't ever use myself...)
SLEEP support added.
END support added so we now end with any keypress and not just enter.

_CONSOLEINPUT added, so we can tell the difference in mouse and keyboard input.
_CINP(toggle) support added, which allows us to get single character keystrokes from the console.
_CONSOLEFONT FontName, FontSize support added, which allows us to change the font and font size we use for the console.
_CONSOLECURSOR _SHOW|_HIDE, cursorsize support added, which allows us to show or hide the cursor in the console, and to change its size (from 0 to 100), as desired.

New keyboard commands added:

_CAPSLOCK -- returns 1 if caps lock is on, 0 if it isn't.
_NUMLOCK -- as above, but for num lock
_SCROLLOCK -- as above, but for scroll lock

_TOGGLE_CAPSLOCK -- toggles the caps lock state for us.
_TOGGLE_NUMLOCK -- same, but for num lock
_TOGGLE_SCROLLOCK -- same, but for scroll lock
2019-08-27 19:52:02 -04:00
SteveMcNeill 449bdecacd Adding ZLIB into the QB64 parts system for windows.
Two new keywords added:
FUNCTION _INFLATE$ (text$)
FUNCTION _DEFLATE$ (text$)

Use of these commands can compress and decompress strings using the ZLIB library.
2019-08-27 18:22:07 -04:00
SteveMcNeill f01d13f957 Quick patch to _STRICMP. Enhancement to $COLOR not affecting line numbers. 2019-08-27 17:27:35 -04:00
Autobuild process 9805accab2 Autobuild update [ci skip] 2019-04-28 11:54:47 +00:00
FellippeHeitor cc00228635 Adds extra help files that were being ignored. [ci skip] 2019-04-14 22:20:04 -03:00
FellippeHeitor a3a1047a8a Updates help files [ci skip] 2019-04-14 22:15:33 -03:00
FellippeHeitor 729557fda2 Oh,... and this. The last bit of virtual keyboard vestige. 2019-04-14 22:01:56 -03:00
FellippeHeitor 4023f7811e Manual update of internal/source [ci skip] 2019-04-14 18:52:07 -03:00
FellippeHeitor 31a855d642 Removes dead Android references. 2019-04-14 15:33:19 -03:00
FellippeHeitor 3918db63cc Removes dead Qloud references. 2019-04-14 14:42:49 -03:00
Autobuild process 4c39729ece Autobuild update [ci skip] 2019-04-07 12:47:56 +00:00
FellippeHeitor 18f52b4fa5 Maybe -no-pie will work this time for Linux without breaking autobuilds? 2019-04-04 01:40:14 -03:00
Autobuild process 105a6ff7d4 Autobuild update [ci skip] 2019-04-01 04:19:05 +00:00
FellippeHeitor f8c989a079 Moves glutSetWindowTitle call to proper place on macOS. Fixes #75 for good. 2019-03-31 23:38:36 -03:00
FellippeHeitor 62acc0710c Revert "Fixes #90"
This reverts commit af0c41316a.
2019-03-31 21:01:59 -03:00
FellippeHeitor 982ea40daf Revert "Minor bugs fixed in clear_console functions"
This reverts commit 877089972b.
2019-03-31 21:00:43 -03:00
Autobuild process 71a7150861 Autobuild update [ci skip] 2019-03-31 23:29:05 +00:00
FellippeHeitor ca446b471d Temporarily disables changing _TITLE on macOS. 2019-03-29 11:59:52 -03:00
Dustin Boyd f01e711525 Fix X11 BadAtom errors that prevent IDE launch 2019-02-22 18:45:36 -06:00
Dustin Boyd 877089972b Minor bugs fixed in clear_console functions
- Windows: cursor returns to top-left of console screen buffer
- Non-Windows: isatty(stdout) check to prevent CLS from working when
               stdout is redirected
2019-02-15 18:20:04 -06:00
Dustin Boyd af0c41316a Fixes #90 2019-02-15 16:34:31 -06:00
Autobuild process f71ca100ed Autobuild update [ci skip] 2019-01-29 12:43:38 +00:00
Autobuild process dbec9fae0d Autobuild update [ci skip] 2019-01-13 18:43:58 +00:00
Luke Ceddia a2bf4afd7a Merge branch 'Mingw-8.10-Compiler' into development 2019-01-04 21:36:43 +11:00
Luke Ceddia ae7e1d46d8 Add binaries 2019-01-02 01:40:26 +11:00
Luke Ceddia eda0c24f50 Add unpacked mingw32 and mingw64 2019-01-01 22:40:38 +11:00
Autobuild process a2da0624fa Autobuild update [ci skip] 2018-12-31 04:22:26 +00:00
Luke Ceddia c329ef85f6 Repair LINE behaviours 2018-12-28 22:01:34 +11:00
Luke Ceddia fac8188bc5 _lrotl -> rotateLeft 2018-12-28 21:57:00 +11:00
Luke Ceddia ddd83c0238 Update to gcc 8.1 2018-12-28 21:33:06 +11:00
SteveMcNeill 035489def6 _lrotl removal in libqb.cpp
_lrotl is defined elsewhere in the graphics routines.  By using a custom
QB64 version, it tosses definition errors with newer compiler versions.
Easiest fix:  Remove the custom _lrotl since it's only used a total of 3
times (all in the LINE routine), and do themath without the function
naturally.
2018-12-22 09:17:45 -05:00
FellippeHeitor 775e99b7ab Removes -no-pie switch as it breaks autobuilds... /sigh 2018-12-02 21:28:39 -02:00
FellippeHeitor 0f6f16e51a Adds -no-pie switch to g++ makeline (Linux). 2018-12-02 21:06:30 -02:00
FellippeHeitor 0ab30d953d Fixes rendering issue that occurred in some Linux distros. 2018-12-02 21:06:11 -02:00
Autobuild process eab36fc4aa Autobuild update [ci skip] 2018-11-02 22:37:50 +00:00
Autobuild process 79f040250b Autobuild update [ci skip] 2018-11-02 21:56:04 +00:00
SteveMcNeill 511aee9d3a Fix to _SCREENMOVE _MIDDLE
Requesting state for an invalid GLUT state name returns negative one...

So, we start with a -1 and wait until GLUT has initialized our window
and registered it with the OS all properly, and then use the proper
return value to move the window to the middle of the screen.
2018-11-02 08:04:39 -04:00
Luke Ceddia 100ecdb957 Remove tempfoldersearch.bin from repo 2018-11-02 21:47:16 +11:00
Autobuild process 2b7e433456 Autobuild update [ci skip] 2018-11-02 10:01:29 +00:00
Autobuild process 0bc2c4717f Autobuild update [ci skip] 2018-11-02 09:54:48 +00:00
Autobuild process afca10cc24 Autobuild update [ci skip] 2018-11-02 09:22:54 +00:00
Autobuild process 4bbecab4c2 Autobuild update [ci skip] 2018-11-01 14:32:47 +00:00
Autobuild process e17213144f Autobuild update [ci skip] 2018-11-01 14:26:08 +00:00
FellippeHeitor 369d522a98 Applies common naming convention and makes _SHL/_SHR functions inline. 2018-10-30 00:32:12 -03:00
Kobolticus f3eba1aee2
Added Functions for _SHR\_SHL 2018-10-29 23:01:04 -04:00
Kobolticus 8202f98e10
Added _SHR\_SHL declarations 2018-10-29 22:56:06 -04:00
SteveMcNeill e2c250a42f Change to _WINDOWSHANDLE to return 64-bit offsets 2018-10-29 08:09:30 -04:00
SteveMcNeill 505556a1c7 Change for 64-bit compatability
change so that the windowhandle will return a 64-bit value for QB64x64
versions, while returning a 32-bit value for QB64.  This allows for
upgrade to 64-bit to be as simple as just swapping compilers and then
rebuilding QB64 with the setup script.
2018-10-17 17:14:19 -04:00
SteveMcNeill 6844913b8e Fix to fix
Forgot to add the goto label...  /blush
2018-10-17 14:09:42 -04:00
SteveMcNeill 9b0ff95b0d Fix to _PRINTSTRING
bug fix so that printstring will work correctly when the optional
imagehandle is used.  _PRINTSTRING (x,y), text$, optional_imagehandle
2018-10-17 14:03:44 -04:00
FellippeHeitor 53d3341ec3 Undoes commit d9b3d7ed69
Fixes #68
2018-09-30 10:42:30 -03:00
FellippeHeitor ed4d91714a Merge branch 'development' of https://github.com/Galleondragon/qb64 into development 2018-09-24 02:49:48 -03:00
FellippeHeitor 2d760b9f29 Switches to www.qb64.org for user's own IP retrieval. 2018-09-23 23:02:47 -03:00
Fellippe Heitor d9b3d7ed69
Fixes sound issue in Linux 64bit distros 2018-09-23 02:50:31 -03:00
FellippeHeitor 9ff026bd5d Prevents hanging when $EXEICON is used with $CONSOLE:ONLY. Fixes #59. 2018-08-05 20:21:10 -03:00
FellippeHeitor 1437dd98c8 Uses GetSystemMetrics to return _DESKTOPWIDTH/HEIGHT in $CONSOLE:ONLY mode.
Windows-only.

Partially addresses and closes #58
2018-08-01 22:38:21 -03:00
FellippeHeitor 97151731b1 Updates internal/source/* 2018-08-01 02:14:35 -03:00
FellippeHeitor 5e0ff36205 Adds _ACCEPTFILEDROP as a function to return true (-1) if active/enabled.
Returns 0 otherwise.
2018-07-31 22:23:34 -03:00
FellippeHeitor 9a1b8450aa Enables the IDE to accept files via drag/drop (Windows-only). 2018-07-31 21:59:31 -03:00
FellippeHeitor 60d6aa7d27 Fixes missing #ifdef for sub__finishdrop(); 2018-07-31 10:30:34 -03:00
FellippeHeitor 975408e2ef _DROPPEDFILE$ now takes an optional index parameter.
- Allows using _DROPPEDFILE as an array ranging from 1 TO _TOTALDROPPEDFILES.
- Using _DROPPEDFILE as an array doesn't reset _TOTALDROPPEDFILES (unlike when reading _DROPPEDFILE$ sequentially with no parameter), so it's necessary to call _FINISHDROP after working with the list of dropped files so it'll be reset.
2018-07-31 10:24:52 -03:00
FellippeHeitor c83b15eb95 Implements Drag/Drop of files onto a program's window (Windows-only).
New statement:
    _ACCEPTFILEDROP [{ON|OFF}]
    Enables a program to accept files being dropped from a folder.

New functions:
    _TOTALDROPPEDFILES
    Returns the number of files that have been received via drag/drop.

    _DROPPEDFILE$
    Returns the list of files that have been dropped. The function sequentially returns the file list and decreases _TOTALDROPPEDFILES with every read.
2018-07-31 00:23:36 -03:00
RhoSigma-QB64 001d461b47
Add files via upload 2018-07-28 18:32:56 +02:00
FellippeHeitor 4ad9738b4d Makes qbs__trim a tad less thoughtful memory-wise. Addresses #56. 2018-07-27 11:09:23 -03:00
FellippeHeitor cdfa7e9cb9 Makes qbs__trim a tad more thoughtful memory-wise. 2018-07-18 00:27:11 -03:00
FellippeHeitor ed28f453f0 Adds _TRIM$ (both left and right TRIM). 2018-07-17 02:35:17 -03:00
FellippeHeitor 37986c978b Removes unused variables from func__instrrev(). 2018-07-16 11:35:53 -03:00
FellippeHeitor 7f0b086b63 Optimizes _INSTRREV - makes it use existing INSTR for searching backwards. 2018-07-16 11:20:47 -03:00
FellippeHeitor bc6b427a99 Implements _INSTRREV, to search for the last occurence of a substring.
The statement works as INSTR does but starts from the end of the passed string (or from the specified position) and looks for the passed substring while moving backards.

Takes after VBScript's InStrRev: https://www.w3schools.com/asp/func_instrrev.asp

Closes #51
2018-07-15 16:43:12 -03:00
Fellippe Heitor a846fdbc4d
OFF/_OFF allowed for _FULLSCREEN and _ALLOWFULLSCREEN (#50)
Closes #49
2018-07-13 18:03:00 -03:00
FellippeHeitor 6ee70f1afa Makes _RGB32 more flexible and powerful.
Existing syntax:
colour~& = _RGB32(red, green, blue)

New possible uses:
- Instead of passing identical rgb values to achieve a shade of gray, pass only 1 parameter for all color components:

    colour~& = _RGB32(51) 'same as _RGB32(51, 51, 51)

- _RGB32 can now take an optional alpha parameter, which makes _RGBA32 obsolete (although it still exists for retrocompatibility):

    colour~& = _RGB32(255, 0, 255, 30) 'same as _RGBA32(255, 0, 255, 30)

- If you want a shade of gray and also to specify the alpha level, you can pass just two parameters:

    colour~& = _RGB32(51, 30) 'same as _RGBA32(51, 51, 51, 30)

In summary:

    - 1 parameter  = red, green and blue simultaneously set.
    - 2 parameters = red, green and blue simultaneously set plus alpha level.
    - 3 parameters = red, green and blue as usual.
    - 4 parameters = red, green and blue plus alpha level (same as _RGBA32).
2018-07-01 21:46:08 -03:00
FellippeHeitor 4264666130 Adds _SMOOTH function to return current fullscreen antialiasing setting.
Returns true (-1) if enabled.
2018-06-30 17:09:29 -03:00
FellippeHeitor 12df99c8da Indentation work. No actual code changes. 2018-06-30 14:23:33 -03:00
FellippeHeitor d911e3d01e Implements _ALLOWFULLSCREEN to set how ALT+ENTER behaves. Closes #22.
Syntax:
    _ALLOWFULLSCREEN [{_STRETCH|_SQUAREPIXELS|_OFF|_ALL}][,{_SMOOTH|_OFF|_ALL}]

Existing _FULLSCREEN statement is not bound by _ALLOWFULLSCREEN's settings, only the ALT+ENTER key combo.
2018-06-29 11:30:14 -03:00
FellippeHeitor 688e31c0f3 Introduces _ECHO, which will output a string to the console.
_ECHO is more of a macro than a new statement, as it'll perform the following actions:

1- Save current _DEST;
2- Switch to _CONSOLE;
3- Print the passed string (only strings accepted);
4- Switch back to previous _DEST.

None of the PRINT features such as USING, numeric variables, retaining the cursor are implemented/planned for this statement.

Closes #29
2018-06-27 23:51:09 -03:00
FellippeHeitor bf99e30c30 Fix detection of title bar height globally.
_SCREENY would return wrong values after the recent commits.
2018-06-27 11:03:33 -03:00
FellippeHeitor 2c81a6d74b Properly calculates window area. 2018-06-26 20:14:48 -03:00
Fellippe Heitor 15958ca4a5
Fixes #24
Disables maximize box when $RESIZE isn't enabled. Windows only.
2018-06-26 16:57:40 -03:00
Fellippe Heitor 68c765db75
Merge pull request #43 from ebourg/development
Update NanoJPEG to the version 1.3.5
2018-06-17 22:11:06 -03:00
AshishKingdom 820d6736f7 Added multisample support (MSAA x4) 2018-06-15 22:27:30 +05:30
Emmanuel Bourg 6be33c0935 Update NanoJPEG to the version 1.3.5 2018-05-22 21:31:49 +02:00
Luke Ceddia ce1a4aa8c8 More dead code removal 2018-02-26 11:30:44 +11:00
Galleondragon 89860032a4 (Automated push) Update internal/source/* from qb64.bas 2018-02-10 05:26:50 -08:00
Galleondragon d23ed5d156 (Automated push) Update internal/source/* from qb64.bas 2018-02-03 05:16:57 -08:00
Luke Ceddia 3a5364e111 _SCREENIMAGE on Linux/OSX returns a blank image instead of an error 2018-01-21 22:24:16 +11:00
Luke Ceddia 06250fed9f Merge branch 'runtime_tidyup' into development 2018-01-18 19:12:10 +11:00
Luke Ceddia 61cb34f635 Remove some SDL stuff that was dead weight 2018-01-16 20:56:45 +11:00
Luke Ceddia 8a5d7e7eea Remove QB64_X11 2018-01-16 20:29:20 +11:00
Luke Ceddia 219bbc27f0 QB64_LINUX is now for linux exclusively 2018-01-16 20:22:32 +11:00
Luke Ceddia 96b40f2634 Hotfix: fix #defines on OSX 2018-01-11 14:20:21 +11:00
Luke Ceddia 1320d7fe52 Introduce QB64_LINUXONLY and _UNIX 2018-01-10 22:50:07 +11:00
Luke Ceddia a1a0536d69 Tidy up parts/core/src.c 2018-01-09 22:38:07 +11:00
Galleondragon efcf66a337 (Automated push) Update internal/source/* from qb64.bas 2018-01-06 05:15:59 -08:00
Luke Ceddia 3a0e1ae320 Move all executable code out of common.cpp; rename to common.h 2018-01-05 21:22:36 +11:00
Luke Ceddia adeda29619 Tidy up some #defines, remove a few Android #ifdefs 2018-01-04 20:20:38 +11:00
Luke Ceddia 7dc0054fa8 Include unistd.h for freeglut 2018-01-02 17:26:16 +11:00
Galleondragon 4873612275 (Automated push) Update internal/source/* from qb64.bas 2017-12-30 05:16:04 -08:00
Luke Ceddia 7655dda762 Unset modifier keys on window defocus 2017-12-30 01:03:47 +11:00
Luke Ceddia 64edcf1b47 Support _WINDOWHASFOCUS on Linux 2017-12-30 00:01:48 +11:00
Galleondragon 5ae6b6fd52 (Automated push) Update internal/source/* from qb64.bas 2017-11-14 05:16:14 -08:00
Galleondragon 2c8e7da05d (Automated push) Update internal/source/* from qb64.bas 2017-11-11 05:16:16 -08:00
Galleondragon 138308bfb0 (Automated push) Update internal/source/* from qb64.bas 2017-11-06 05:18:10 -08:00
Galleondragon c3cfb9a15a (Automated push) Update internal/source/* from qb64.bas 2017-11-05 05:15:20 -08:00
Galleondragon 5296fdd6a8 (Automated push) Update internal/source/* from qb64.bas 2017-10-27 05:15:33 -07:00
Galleondragon 1da1687633 (Automated push) Update internal/source/* from qb64.bas 2017-10-25 05:15:44 -07:00
Luke Ceddia e2bdbc01ad Correctly set speex's output buffer size 2017-10-23 00:51:17 +11:00
Galleondragon 6a7ee90a51 (Automated push) Update internal/source/* from qb64.bas 2017-10-19 05:17:50 -07:00
Fellippe Heitor a5f702eb6f Implements proper error handling for Cliboard routine on macOS. 2017-10-18 20:58:26 -02:00
Fellippe Heitor 50b1002aa4 Remove reference to undeclared identifier preventing compilation (macOS)
Details at http://www.qb64.net/forum/index.php?topic=14553.msg126181#msg126181

Signed-off-by: Fellippe Heitor <fellippeheitor@gmail.com>
2017-10-18 19:48:17 -02:00
Galleondragon 924922c8b8 (Automated push) Update internal/source/* from qb64.bas 2017-10-17 05:18:53 -07:00
FellippeHeitor 6dfbeb2419 Disables 256-color image loading again, until a better solution is found.
Returns -1 if there's an attempt to load an image in 256-color mode.
2017-10-17 03:08:33 -02:00
Galleondragon 3d01e8bcca (Automated push) Update internal/source/* from qb64.bas 2017-10-15 05:17:03 -07:00
Galleondragon 40c2ab73f6 (Automated push) Update internal/source/* from qb64.bas 2017-10-14 05:16:31 -07:00
Fellippe Heitor f7abc0e1fd Update help files. 2017-10-10 11:55:21 -03:00
Galleondragon 2cbd928800 (Automated push) Update internal/source/* from qb64.bas 2017-10-10 05:21:33 -07:00
FellippeHeitor 19917654aa Adds support for Alt+F4 to close a program's window (Windows-only). 2017-10-10 01:41:53 -03:00
Luke Ceddia 86a6646bdb Change freeglut to only look for ctrl/alt/shift down events when window
has focus.

Previously this functionality was in libqb.
2017-10-10 13:47:10 +11:00
Galleondragon 6e0fd03256 (Automated push) Update internal/source/* from qb64.bas 2017-10-09 05:18:54 -07:00
Galleondragon 7db38f2af0 (Automated push) Update internal/source/* from qb64.bas 2017-10-06 05:16:28 -07:00
Galleondragon 0bc77404e0 (Automated push) Update internal/source/* from qb64.bas 2017-10-05 05:16:31 -07:00
Galleondragon ffe2ec56f1 (Automated push) Update internal/source/* from qb64.bas 2017-10-04 05:15:08 -07:00
Galleondragon 17f86ad513 (Automated push) Update internal/source/* from qb64.bas 2017-10-02 05:11:10 -07:00
Galleondragon 181ebeb68c (Automated push) Update internal/source/* from qb64.bas 2017-09-28 05:16:33 -07:00
Galleondragon 6e929a9985 (Automated push) Update internal/source/* from qb64.bas 2017-09-26 05:15:54 -07:00
Luke Ceddia 0f293b9c5e Remove user_mods 2017-09-25 23:05:53 +10:00
Luke Ceddia 54574c1ca6 Add declaration for sub__keyclear() 2017-09-25 23:03:38 +10:00
Galleondragon f309ab7855 (Automated push) Update internal/source/* from qb64.bas 2017-09-25 05:18:26 -07:00
Luke Ceddia bdc3250b89 Resolved the issue of user mods not working for $console:only programs 2017-09-25 21:56:24 +10:00
FellippeHeitor 7998aa89cd Detect focus using GetForegroundWindow instead of GetActiveWindow. 2017-09-25 02:25:53 -03:00
SteveMcNeill 4f23fd9b7b Add function _AUTODISPLAY so user can get display/autodisplay staus 2017-09-24 18:41:00 -04:00
Galleondragon 034027553c (Automated push) Update internal/source/* from qb64.bas 2017-09-24 05:15:44 -07:00
FellippeHeitor 3488bd916b Fix to MessageBox call. 2017-09-24 08:20:18 -03:00
FellippeHeitor 5922d112bf Adds _WINDOWHANDLE, _WINDOWHASFOCUS and _TITLE$ (function).
- _WINDOWHANDLE exposes the current window's handle (Windows-only).
- _WINDOWHASFOCUS returns true (-1) when the program is the foremost window (Windows-only). Always returns -1 in other OSes.
- _TITLE$ (function) returns the last title set using the _TITLE statement.
2017-09-24 08:12:13 -03:00
SteveMcNeill d3a2424b73 Added right and middle button support for _SCREENCLICK with Windows 2017-09-24 01:08:29 -04:00
SteveMcNeill b89ade1c5c Patch to previous patch for Linux/Mac compatability 2017-09-23 20:33:58 -04:00
SteveMcNeill e264458841 Patch to SLEEP, _KEYHIT, INP(&H60), _SCREENEXISTS for WINDOWS
Change so that modifer keypresses will only register when the window has
focus in Windows.  This corrects the issue with SLEEP, KEYHIT, and
INP(&H60) registering SHIFT, CTRL, and ALT keypresses even when the
program is not in focus or is running as a background app.

Also changed _SCREENEXISTS (and a few other window user commands) so
that they require windows to have actually registered a windows handle
for the function to return -1, and not just for glut to have finished
initializing the screen itself.
2017-09-23 20:24:19 -04:00
Galleondragon cc6a5fb40a (Automated push) Update internal/source/* from qb64.bas 2017-09-22 05:15:55 -07:00
FellippeHeitor 13fa2ca4d5 Unnecessary repeated inline functions removed from _loadimage. 2017-09-22 00:29:41 -03:00
FellippeHeitor 5368b9d5d7 Initial attempt to restore _LOADIMAGE's ability to load in 8bit mode.
- When mode = 256, _LOADIMAGE will return an 8bit image with the loaded file's colors matching the default palette.
- Slower for bigger images, because of the call to matchcol();
2017-09-21 23:55:01 -03:00
Galleondragon 11bca56e8d (Automated push) Update internal/source/* from qb64.bas 2017-09-12 05:17:39 -07:00
FellippeHeitor 8fe5804fa2 Sets the proper dependency (DEPENDENCY_SCREENIMAGE) for clipboard features.
Using $CONSOLE:ONLY without the above causes compilation fails.
2017-09-11 10:29:45 -03:00
Galleondragon 532badd4d2 (Automated push) Update internal/source/* from qb64.bas 2017-09-10 05:16:16 -07:00
FellippeHeitor 7d3f1f9833 Temporary hack to reenable _SNDRAWLEN.
_SNDRAWLEN currently gets stuck at .3715192763764172; this reenables it by returning zero when < .375.
2017-09-09 13:17:03 -03:00
Galleondragon 66cb39f036 (Automated push) Update internal/source/* from qb64.bas 2017-09-07 05:17:15 -07:00
FellippeHeitor 90e0b0df16 Minor fix to _SCREENIMAGE (function).
_SETALPHA needs to be called on the resulting image, as some images com with alpha = 0 from the clipboard.
2017-09-06 21:03:41 -03:00
FellippeHeitor e3bb55da1a Add _CLIPBOARDIMAGE (statement and function)
- Fetch an image from the clipboard with handle& = _CLIPBOARDIMAGE
    - If there isn't an image in the clipboard, handle& will be -1.

- Copy a valid image to the clipboard (All screen modes, except 0) with _CLIPBOARDIMAGE = handle&
2017-09-06 11:19:54 -03:00
Galleondragon cb4d8f7c21 (Automated push) Update internal/source/* from qb64.bas 2017-08-22 05:16:03 -07:00
Galleondragon a992d0d2fe (Automated push) Update internal/source/* from qb64.bas 2017-08-18 05:16:42 -07:00
Luke Ceddia 2d651bfa76 Merge branch 'no_teapot' 2017-08-18 22:07:49 +10:00
Luke Ceddia a7a4783650 Remove teapot from setup build files 2017-08-18 21:52:23 +10:00
Luke Ceddia 995f563d0c Remove teapot, decrease executable by 18K 2017-08-18 20:20:42 +10:00
FellippeHeitor b5e2b06ecd Modifies _MOUSEX/_MOUSEY to return an integer value in SCREEN 0. 2017-08-17 23:11:30 -03:00
Galleondragon 58bae219cb (Automated push) Update internal/source/* from qb64.bas 2017-08-16 05:18:11 -07:00
FellippeHeitor 2f217fce6b Function _BLINK returns -1 if blinking is enabled; 0 if disabled. 2017-08-16 00:40:37 -03:00
FellippeHeitor de75b0aa29 Emulates port &H3C0 to disable/enable blinking using OUT.
Again, thanks to _vince for contributing this bit.
2017-08-16 00:24:33 -03:00
FellippeHeitor 2c153b3db0 Adds _BLINK {ON|OFF} to disable blinking in SCREEN 0 for colors 16-31.
Thanks to _vince for finding the right spots where blinking was set. Or flashing, you choose the naming.
2017-08-16 00:11:31 -03:00
Galleondragon b284e36597 (Automated push) Update internal/source/* from qb64.bas 2017-08-11 05:14:29 -07:00
Luke Ceddia 8238feba75 Squash annoying message from openal on quit 2017-08-11 21:47:05 +10:00
Luke Ceddia 8c9390173e Reenable _SNDRAW and _SNDPLAYFILE 2017-08-11 21:19:52 +10:00
Luke Ceddia 237f42799b Fix initial positioning of sound 2017-08-10 22:06:20 +10:00
Luke Ceddia 2089a95b8b Separate left/right audio channels for stereo audio files.
No _SNDRAW or PLAY yet. Also removed need for sound capability strings.
2017-08-10 22:05:16 +10:00
Luke Ceddia 79ffcc50b3 Cosmetic changes to audio source files 2017-08-06 15:06:26 +10:00
Galleondragon b17655fbb7 (Automated push) Update internal/source/* from qb64.bas 2017-08-05 05:15:10 -07:00
Galleondragon 7e4dd01ad1 (Automated push) Update internal/source/* from qb64.bas 2017-08-04 05:15:07 -07:00
Galleondragon e39ee80f4a (Automated push) Update internal/source/* from qb64.bas 2017-08-03 05:20:45 -07:00
Galleondragon dc1fca8e1c (Automated push) Update internal/source/* from qb64.bas 2017-08-02 05:15:02 -07:00
SteveMcNeill 78d4b607bd Minor change to mem structure
Change to mem.TYPE from LONG variable type to OFFSET.  This prevents
4-bytes padding from throwing off values for mem.ELEMENTSIZE and
mem.IMAGE on 64-bit systems.

Patch should work on Mac, Linux, and Windows; both 32-bit and 64-bit
versions, giving the correct results for mem.ELEMENTSIZE and mem.IMAGE
from now on.
2017-08-02 01:00:01 -04:00
Galleondragon f289da3a5a (Automated push) Update internal/source/* from qb64.bas 2017-07-29 05:14:24 -07:00
Galleondragon 4269bbea91 (Automated push) Update internal/source/* from qb64.bas 2017-07-28 05:41:27 -07:00
SteveMcNeill b75eed2784 Patch to Windows LOADFONT
Fix to bug in Loadfont when using the Windows default font folder,
without specifying a drect route to a font.
2017-07-21 11:20:07 -04:00
Galleondragon 237f95989a (Automated push) Update internal/source/* from qb64.bas 2017-05-23 05:18:10 -07:00
Galleondragon aee0d5f564 (Automated push) Update internal/source/* from qb64.bas 2017-05-18 05:17:33 -07:00
Galleondragon b1425334b8 (Automated push) Update internal/source/* from qb64.bas 2017-05-15 05:17:16 -07:00
Galleondragon f5505c5734 (Automated push) Update internal/source/* from qb64.bas 2017-04-30 05:16:07 -07:00
Galleondragon 12a08b39bf (Automated push) Update internal/source/* from qb64.bas 2017-04-29 05:15:43 -07:00
Galleondragon 086787cae4 (Automated push) Update internal/source/* from qb64.bas 2017-02-14 06:22:41 -08:00
Galleondragon 6e8fbb5332 (Automated push) Update internal/source/* from qb64.bas 2017-01-21 05:35:15 -08:00
Galleondragon 45d5fcc5d9 (Automated push) Update internal/source/* from qb64.bas 2016-11-09 05:23:49 -08:00
Luke Ceddia b51f6e4117 Fix comparisons involving empty strings and inequalities. 2016-11-09 16:22:07 +11:00
Galleondragon e9447a1049 (Automated push) Update internal/source/* from qb64.bas 2016-10-11 05:14:30 -07:00
Luke Ceddia 9f7a7a9e79 Tweak image loading code to handle more image types 2016-10-10 23:07:31 +11:00
Luke Ceddia 0f82a86131 Add signal handler to catch SIGFPE (division by 0) on linux. 2016-10-10 20:42:36 +11:00
Galleondragon 22dcf8b799 (Automated push) Update internal/source/* from qb64.bas 2016-09-10 17:35:17 -07:00
FellippeHeitor 713d27fae6 Fix makeline in setup_win.bat.
Previous iterations built qb64.exe without proper access to terminal.
2016-09-06 11:17:12 -03:00
Luke Ceddia 2805e420d2 Revert "(Automated push) Update internal/source/* from qb64.bas"
This reverts commit 5d1a7fac1c.
2016-09-04 23:30:55 +10:00
Luke Ceddia 0cdac95f95 Revert "(Automated push) Update internal/source/* from qb64.bas"
This reverts commit 33b9a870e4.
2016-09-04 23:30:40 +10:00
Galleondragon 33b9a870e4 (Automated push) Update internal/source/* from qb64.bas 2016-09-04 05:14:28 -07:00
Galleondragon 5d1a7fac1c (Automated push) Update internal/source/* from qb64.bas 2016-09-03 05:15:12 -07:00
Galleondragon 3417ac1062 (Automated push) Update internal/source/* from qb64.bas 2016-09-02 05:15:22 -07:00
Galleondragon 4165638303 (Automated push) Update internal/source/* from qb64.bas 2016-08-28 05:15:18 -07:00
Galleondragon 1da1dc5379 (Automated push) Update internal/source/* from qb64.bas 2016-08-24 05:15:05 -07:00
Luke Ceddia 01d207ec7f Reintroduce _MOUSEMOVE (with great power comes great responsibility) 2016-08-23 21:52:57 +10:00
Galleondragon 17acd3ce0e (Automated push) Update internal/source/* from qb64.bas 2016-08-20 05:16:32 -07:00
Galleondragon b65e63cda0 (Automated push) Update internal/source/* from qb64.bas 2016-08-19 05:18:02 -07:00
FellippeHeitor 435861fa49 Change sub__icon to load the proper embedded icon according to size.
Title bar icons are 16x16; 32x32 version is loaded as default.
2016-08-18 23:06:48 -03:00
Galleondragon 5d73a8b655 (Automated push) Update internal/source/* from qb64.bas 2016-08-18 05:23:07 -07:00
FellippeHeitor 441bc134cf Tweaks to $EXEICON implementation (libqb) 2016-08-18 07:28:56 -03:00
FellippeHeitor 127c4acd88 Add $EXEICON, which allows to embed an icon in the exe (Windows only).
Also:
- Revamp _ICON so it'll use the embed icon if it's called without parameters. The default QB64 icon is still used otherwise.
- Fix "Creating .EXE..." being printed in the wrong coordinates (IDE)
- Fix the new error message (when Debug is <> 0) so it'll show properly when compiling with -x.
2016-08-18 01:12:08 -03:00
Galleondragon e86a5b765e (Automated push) Update internal/source/* from qb64.bas 2016-08-15 05:15:32 -07:00
Galleondragon c8d302d1d2 (Automated push) Update internal/source/* from qb64.bas 2016-08-13 05:17:22 -07:00
Luke Ceddia a6ad741acf Fix scroll wheel on Linux (again). 2016-08-13 00:16:56 +10:00
Galleondragon 6d2a94cdf8 (Automated push) Update internal/source/* from qb64.bas 2016-08-12 05:15:14 -07:00
Galleondragon 64b796f1c9 (Automated push) Update internal/source/* from qb64.bas 2016-08-11 05:14:20 -07:00
Galleondragon f85957f84b (Automated push) Update internal/source/* from qb64.bas 2016-08-08 05:15:46 -07:00
Luke Ceddia 2f21ad352c Stop qbr() doing range checking, which is more inline with the rest of QB64. 2016-08-08 09:45:28 +10:00
Galleondragon 5313c87e4d (Automated push) Update internal/source/* from qb64.bas 2016-08-03 05:16:16 -07:00
Luke Ceddia 84e542ef32 Fix evaluation of some boolean conditionals
Commit 7855219 introduced a regression which caused some IF
statements involving boolean operators and strings to
give a C++ compilation error.
2016-08-03 17:18:20 +10:00
Galleondragon 705b48c5c5 (Automated push) Update internal/source/* from qb64.bas 2016-08-02 05:15:06 -07:00
Galleondragon 9eb7c14c38 (Automated push) Update internal/source/* from qb64.bas 2016-08-01 05:15:45 -07:00
Luke Ceddia 785521966e Add floating-point version of qbs_cleanup().
This fixes scenarios like IF VAL("0.9") THEN
2016-07-30 00:17:44 +10:00
Galleondragon c4740572f8 (Automated push) Update internal/source/* from qb64.bas 2016-07-20 05:16:23 -07:00
Galleondragon 3b0b7d0e71 (Automated push) Update internal/source/* from qb64.bas 2016-07-19 05:14:52 -07:00
Galleondragon e63ce28557 (Automated push) Update internal/source/* from qb64.bas 2016-07-18 05:15:13 -07:00
Galleondragon f9735e6785 (Automated push) Update internal/source/* from qb64.bas 2016-07-10 05:14:59 -07:00
Galleondragon d585a05831 (Automated push) Update internal/source/* from qb64.bas 2016-07-09 05:16:05 -07:00
FellippeHeitor 766ded514b Ground changes to allow reporting $INCLUDE file name in error messages.
- Add optional parameter to evnt().
- fix_error() rewrite by flukiluke, in order to allow longer error messages.
2016-07-08 22:42:04 -03:00
Galleondragon b2665d2637 (Automated push) Update internal/source/* from qb64.bas 2016-07-03 05:15:26 -07:00
Galleondragon 17ad769e9a (Automated push) Update internal/source/* from qb64.bas 2016-07-02 05:15:04 -07:00
Galleondragon 46e13e9d1e (Automated push) Update internal/source/* from qb64.bas 2016-07-01 05:31:19 -07:00
Galleondragon 0717b36ce3 (Automated push) Update internal/source/* from qb64.bas 2016-06-30 05:14:27 -07:00
Galleondragon 8b608d3ce9 (Automated push) Update internal/source/* from qb64.bas 2016-06-29 05:15:36 -07:00
Galleondragon 886627d0cf (Automated push) Update internal/source/* from qb64.bas 2016-06-28 05:17:05 -07:00
Galleondragon 5f14bbe513 (Automated push) Update internal/source/* from qb64.bas 2016-06-26 05:16:55 -07:00
Galleondragon a4fc69cdde (Automated push) Update internal/source/* from qb64.bas 2016-06-23 05:17:19 -07:00
Galleondragon 18cf44b7f8 (Automated push) Update internal/source/* from qb64.bas 2016-06-22 05:17:00 -07:00
Galleondragon a9607ff2c6 (Automated push) Update internal/source/* from qb64.bas 2016-06-21 05:15:48 -07:00
Galleondragon f76ff5eb5b (Automated push) Update internal/source/* from qb64.bas 2016-06-14 05:29:36 -07:00
Galleondragon a2de3a986f (Automated push) Update internal/source/* from qb64.bas 2016-06-09 05:15:52 -07:00
Galleondragon 5e4e4e2e33 (Automated push) Update internal/source/* from qb64.bas 2016-05-25 05:46:42 -07:00
Galleondragon e6d11d7820 (Automated push) Update internal/source/* from qb64.bas 2016-05-24 06:17:03 -07:00
Galleondragon 8749b28228 (Automated push) Update internal/source/* from qb64.bas 2016-05-07 05:16:19 -07:00
Galleondragon 2941473ea2 (Automated push) Update internal/source/* from qb64.bas 2016-04-28 05:14:11 -07:00
Galleondragon 9fab4598df (Automated push) Update internal/source/* from qb64.bas 2016-04-22 05:15:10 -07:00
Galleondragon a6471f2bc2 (Automated push) Update internal/source/* from qb64.bas 2016-04-16 05:13:53 -07:00
Galleondragon c2f01da917 (Automated push) Update internal/source/* from qb64.bas 2016-04-15 05:14:31 -07:00
Galleondragon 030504f062 (Automated push) Update internal/source/* from qb64.bas 2016-04-10 05:14:09 -07:00
Galleondragon ef3572c21e (Automated push) Update internal/source/* from qb64.bas 2016-04-07 05:13:06 -07:00
Galleondragon c56d9cbd5d (Automated push) Update internal/source/* from qb64.bas 2016-04-06 05:14:00 -07:00
Galleondragon 66ea905192 (Automated push) Update internal/source/* from qb64.bas 2016-03-24 05:14:56 -07:00
Galleondragon b8ad8987cc (Automated push) Update internal/source/* from qb64.bas 2016-03-23 05:18:29 -07:00
FellippeHeitor fca4a96ef3 Remove unnecessary optional parameter in fix_error().
Also:
- "Unhandled error" message now only shows included line number when it's > 0.
- qb64.bas adds include line number to every evnt() call.
2016-03-23 08:29:32 -03:00
FellippeHeitor e891ce0891 Extended error reporting, pointing to included lines.
The "Unhandled error" message will now display "Line: #### (included line: ####)" with the line number in the included file that generated the error. 0 will be reported if the error wasn't in an included line.

Also:
- Add function _INCLERRORLINE, which returns a value greater than zero when _ERRORLINE points to an $INCLUDEd file.
2016-03-23 07:45:51 -03:00
Galleondragon a23a733bf0 (Automated push) Update internal/source/* from qb64.bas 2016-03-21 05:14:45 -07:00