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

312 commits

Author SHA1 Message Date
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
Galleondragon 9758e11417 Merge remote-tracking branch 'origin/master' 2016-03-20 23:25:05 +11:00
Galleondragon 9b17aa8bca Added accidentally removed line #include <fcntl.h> 2016-03-20 23:23:50 +11:00
Galleondragon 1af305e433 (Automated push) Update internal/source/* from qb64.bas 2016-03-20 05:14:41 -07:00
Galleondragon 0ea631d375 Implements the _DIR$("desktop") function which returns OS specific paths.
Implements changes to allow programs to run on ARMBI-v7 Android devices which also provides a massive performance boost to but runtime and startup time.
Implements changes to allow programs to run on x86-based Android devices.
Fix to ensure variables allocated in the "stack" are aligned on appropriate boundaries which would have otherwise crashed on Android.
Fix to _DEVICES to ensure variables are aligned on appropriate boundaries which would have otherwise crashed on Android (includes some refactoring).
Added permissions to allow reading from/writing to external storage. Use the _DIR$(...) function to help locate appropriate paths.
2016-03-20 18:56:10 +11:00
Galleondragon ff2802131a (Automated push) Update internal/source/* from qb64.bas 2016-03-19 05:15:17 -07:00
FellippeHeitor 00b9b6a37f Updated offline wiki. 2016-03-18 08:36:04 -03:00
Galleondragon afc995ddc1 (Automated push) Update internal/source/* from qb64.bas 2016-03-09 05:14:37 -08:00
Galleondragon 384869f0e3 (Automated push) Update internal/source/* from qb64.bas 2016-03-05 05:14:49 -08:00
SteveMcNeill d9aa69afb9 Change to INPUT routine so when reading a byte at a time, we'll find proper EOF markers.
A fix to the issue described here:
http://www.qb64.net/forum/index.php?topic=13195.msg113782#msg113782
2016-03-04 23:06:22 -05:00
SteveMcNeill e9472743e5 Path to IDE Auto-position
Since _SCREENHIDE doesn't currently work on Linux, alterations were made
to the auto-position routine to keep the IDE from storing screen
positions when minimized and closed that would make it reopen off-screen
and impossible to move/position.
2016-03-04 14:51:08 -05:00
FellippeHeitor e26f63f8c1 Fix to PNG import CRC-check returning False failure results sometimes.
Fix by Steve McNeill.
2016-03-04 00:17:02 -03:00
Galleondragon adee4e38af (Automated push) Update internal/source/* from qb64.bas 2016-02-28 05:17:07 -08:00
Galleondragon 32d0811632 (Automated push) Update internal/source/* from qb64.bas 2016-02-27 05:14:57 -08:00
Galleondragon ed03cc992f (Automated push) Update internal/source/* from qb64.bas 2016-02-23 05:14:58 -08:00
Galleondragon fecdbf995f (Automated push) Update internal/source/* from qb64.bas 2016-02-22 05:14:14 -08:00
Galleondragon d0293ca7dc (Automated push) Update internal/source/* from qb64.bas 2016-02-13 06:17:39 -08:00
Luke Ceddia 10ce118bec Extra cast to satisfy compiler on OSX. 2016-02-10 00:26:33 +11:00
Galleondragon adf797014f (Automated push) Update internal/source/* from qb64.bas 2016-02-08 05:19:02 -08:00
Luke Ceddia 46e8ce414b Fix conditional compilation statements in libqb. 2016-02-04 13:58:53 +11:00
Luke Ceddia ff27678f98 Merge branch 'linux_tcpip' 2016-02-03 16:27:58 +11:00
Luke Ceddia 992a74c7ee Implemented a better _CONNECTED
It is no longer confused by buffered data. However, it no longer makes
an explicit call to send()/recv(), so one of those must first fail to
signal the disconnection. This allows _CONNECTED to be used to check
if a GET/PUT succeeded (on the local end, anyway).
2016-02-03 15:42:57 +11:00
Luke Ceddia 264ad29f22 Make tcp_out try harder to send data.
The function now interprets the return value from send() and recalls if
needed to transmit all data.
2016-01-30 19:10:14 +11:00
Luke Ceddia 976f757c2f Fix memory leak in _PRINTSTRING
FontRenderTextUTF32 now frees the 'render' array, which is allocated for multi-character strings.
2016-01-28 13:58:08 +11:00
Luke Ceddia 6d49cff3ee Add preliminary support for tcp/ip on Linux
_OPEN{CONNECTION, HOST, CLIENT}, _CONNECTIONADDRESS$ now do something, as the underlying tcp routines
are implemented (with the exception of tcp_connected and thus _CONNECTED).
2016-01-26 23:11:05 +11:00
Luke Ceddia b0edf45d47 Fix _EXIT race condition that prevents exit; make _EXIT work on Linux. 2016-01-21 00:37:27 +11:00
Galleondragon c84bc3b981 (Automated push) Update internal/source/* from qb64.bas 2016-01-18 05:14:34 -08:00
Galleondragon c9b829baa2 (Automated push) Update internal/source/* from qb64.bas 2016-01-16 05:14:55 -08:00
Galleondragon 7ec9208718 (Automated push) Update internal/source/* from qb64.bas 2016-01-15 05:13:48 -08:00
Galleondragon 85edad6462 (Automated push) Update internal/source/* from qb64.bas 2016-01-14 05:14:54 -08:00
Galleondragon 9cbcd52968 (Automated push) Update internal/source/* from qb64.bas 2016-01-12 05:13:46 -08:00
Galleondragon 9f749b8002 (Automated push) Update internal/source/* from qb64.bas 2016-01-05 05:12:45 -08:00
Galleondragon 8744ec5e57 (Automated push) Update internal/source/* from qb64.bas 2016-01-01 05:13:03 -08:00
Galleondragon ebd74826a0 (Automated push) Update internal/source/* from qb64.bas 2015-12-30 05:14:04 -08:00
Luke Ceddia 9c17efacf5 Removed non-ASCII characters and many hard tabs from source files, making it easier to use other text editors (special characters were being mangled in some cases). 2015-12-30 21:28:13 +11:00
Galleondragon 41a70085f6 (Automated push) Update internal/source/* from qb64.bas 2015-12-29 05:13:21 -08:00
Galleondragon 3739303e5c (Automated push) Update internal/source/* from qb64.bas 2015-12-27 05:12:48 -08:00
Galleondragon febdb30be3 (Automated push) Update internal/source/* from qb64.bas 2015-12-14 05:13:43 -08:00
Luke Ceddia 18a05b79ee Corrected OSX setup script to use OSX folder instead of Linux one.
Probably a copy/paste error when writing the script.
2015-12-14 11:17:09 +11:00
Luke Ceddia 9595dd37e6 Fixed the SHELL() function to return correct values on Linux (and presumably OSX). 2015-12-11 13:02:44 +11:00