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

595 commits

Author SHA1 Message Date
FellippeHeitor 5cab1880b5 Uses GetLogicalDrives() in Windows (file dialogs). Closes #183 2021-09-21 02:54:41 -03:00
FellippeHeitor 3e498df414 Fixes watching/sending values for _BIT arrays. 2021-09-20 22:04:24 -03:00
Ashish Kushwaha 8e69e8cf3b allow 'move' to treated as 'cycle' for _mouseshow 2021-09-14 19:37:08 +05:30
Ashish Kushwaha 0f1dbed8e3
Merge branch 'QB64Team:development' into development 2021-09-12 19:21:01 +05:30
FellippeHeitor a02243455b Merge branch 'development' into watch-arrays 2021-09-04 23:57:22 -03:00
FellippeHeitor 7ba11565a5 Adds GetBytes so it's easier to add data to the packet ($DEBUG). 2021-09-03 00:03:28 -03:00
chlorophyll-zz fcb714133b
Update libqb.h
this fixes PR #185
2021-09-02 14:45:10 +02:00
chlorophyll-zz 6c403db7f2
Fix: Ambigous 'data' in global scope
Fixes #184
Probably breaks another thing.
Ambigous 'data' in global scope
https://root-forum.cern.ch/t/ambiguous-data-in-global-scope/41490
2021-09-02 13:52:36 +02:00
FellippeHeitor 9aa166e4de Checks for array's lbound and ubound before fetching data. 2021-08-19 19:10:51 -03:00
FellippeHeitor 3e4d1fc430 Merge branch 'development' into var-export 2021-08-18 21:28:50 -03:00
Luke Ceddia 27e4ee4770
Detect non-x86 based architectures 2021-08-18 22:07:40 +10:00
FellippeHeitor e791ca2001 Ensures _ConsoleTitle has time to do its thing. 2021-08-18 00:26:06 -03:00
FellippeHeitor c2eb3c00bc Merge branch 'development' into var-export 2021-08-18 00:22:55 -03:00
FellippeHeitor 744bd19107 Fixes race condition between vWatch and _CONSOLETITLE
It was a love triangle with _WindowHandle in the end, it's complicated.
2021-08-18 00:21:03 -03:00
Luke Ceddia 30d67825bf
Detect aarch64 as 64 bit 2021-08-18 00:04:24 +10:00
FellippeHeitor 2af2f4e2a1 Improves handling/signaling of INPUT/LINE INPUT in $DEBUG mode. 2021-08-14 21:28:21 -03:00
FellippeHeitor 8dddefd002 Brings debuggee window to foreground when using INPUT. 2021-08-14 17:04:25 -03:00
FellippeHeitor c41af6961f Prevents checking _WINDOWHANDLE from halting a $CONSOLE app.
Would happen when in conjunction with $SCREENHIDE.
2021-08-13 00:51:32 -03:00
FellippeHeitor cca1593f79 Switches focus to IDE automatically when breakpoint is reached.
Windows-only.
2021-08-12 23:00:43 -03:00
FellippeHeitor 0bbc60e73e Allows reading program_stop without using _Exit. 2021-08-04 21:12:33 -03:00
FellippeHeitor 01a3c56685 Allows setting any length string variables from the IDE. 2021-08-03 00:36:21 -03:00
Ashish Kushwaha 7e3a60c50b added 'cycle' style in _mouseshow 2021-07-31 11:22:10 +05:30
Luke Ceddia 1e76f237de
Supress SIGPIPE on tcp send 2021-07-31 00:06:09 +10:00
Fellippe Heitor 7e5710a364 Allows _MK$/_CV to deal with _OFFSET
_UNSIGNED _OFFSET too.
2021-07-28 14:26:32 -03:00
FellippeHeitor 231e28c79b Adds method to allow closing the connection with the IDE.
In order to allow $DEBUG to work with programs that call CLEAR, the connection handle used to connect to the IDE is locked by default and cannot be CLOSEd. With this change, the debuggee itself can now unlock the handle and close the link.
2021-07-22 00:18:34 -03:00
FellippeHeitor 30348dd2db Allows a debuggee to call CLEAR while keeping connected to the IDE. 2021-07-21 23:54:30 -03:00
FellippeHeitor 1fa3781a12 Attempt at fixing ENVIRON for Windows.
'Works on my machine'.
2021-07-17 13:27:35 -03:00
Fellippe Heitor ee4b611056 Adds _EnvironCount 2021-07-17 12:15:00 -03:00
Luke Ceddia a866fec7f0
Rewrite ENVIRON 2021-07-17 17:56:42 +10:00
Fellippe Heitor 90461eb226 Fixes ENVIRON$() in *nix systems when passing a string. 2021-07-17 01:04:27 -03:00
Fellippe Heitor ae887507c2 On error, report back to the IDE. ($DEBUG) 2021-07-16 23:18:46 -03:00
FellippeHeitor af454940e4 Adds TIMER ON control over the debuggee. 2021-07-15 01:13:50 -03:00
Luke Ceddia 0f3909d955
Revert "Prevent zombie processes with Shell _Dontwait"
This reverts commit a94b738407.
It turns out that change stops the SHELL function returning the
child exit code, which is worse than having zombie processes.
2021-07-13 16:20:32 +10:00
Luke Ceddia a94b738407
Prevent zombie processes with Shell _Dontwait 2021-07-13 13:08:27 +10:00
Fellippe Heitor 7b853bf9f2 First attempt at implementing Step. 2021-07-11 12:55:49 -03:00
Fellippe Heitor b59aa4d7af Begins prototyping a $DEBUG metacommand. 2021-07-09 08:08:49 -03:00
what c622ae9592
Remove 255 char limit for INPUT
Also affects `LINE INPUT`
2021-07-05 19:39:24 -04:00
Zachary Spriggs f90a45a2cf Allow $CONSOLE:ONLY programs to return _WINDOWHANDLE
We previously only allowed GUI QB64 programs to return a value in _WINDOWHANDLE. Following Microsoft's recommendation for obtaining a console program's handle, we can now return the handle in a $CONSOLE:ONLY program https://docs.microsoft.com/en-us/troubleshoot/windows-server/performance/obtain-console-window-handle
2021-07-02 11:17:32 -04:00
Zachary Spriggs e799e79012 Add %TEMP% to _DIR$() folder specifications
Adds the %TEMP% directory to `_DIR$()` folder specifications.
2021-06-21 20:25:21 -04:00
Zachary Spriggs 4a66dabf08 Add Program Files & Program Files (x86) to _DIR$()
This change adds the Program Files and Program Files (x86) folder specifications to the `_DIR$()` function.

`Print _Dir$("program files")
Print _Dir$("program files x86")`
2021-06-21 17:01:23 -04:00
Luke Ceddia bf32a6a0fc
Explicitly set x87 fpu to extended precision mode 2021-06-17 23:51:08 +10:00
Fellippe Heitor 5e05664896 Removes Sleep(0) from qbs_inkey
Addresses #166
2021-05-24 16:19:55 -03:00
Fellippe Heitor ec747a53c2
Merge pull request #156 from lstricklan/development
Fix writing to SCRN when opened as a file
2021-03-30 13:49:26 -03:00
Lynn Stricklan 445f11fd4c Update libqb.cpp 2021-03-26 11:51:21 -06:00
Zachary Spriggs 46e24587aa
FreeLibrary in func__newimage
Freeing the runtime linked library in `func__newimage` after the call
2021-03-26 08:34:55 -04:00
Zachary Spriggs 20a61cc474
Fix new bug with _Width and _Height
Where the previous bug would only return the console's image size when an image was passed, the new bug made it only ever return 80 for `_Width` and 25 for `_Height` when it should be returning the console's image size if there is no value passed and it is the `_Source`, which it is if we are in a `$Console:Only`.

Here is a code block that demonstrates the bug being fixed:
```Option _Explicit
$Console
Screen _NewImage(640, 480, 32)
_Dest _Console
Width 120, 5
_Dest 0

Print "Hello world"

Print _DesktopWidth, _DesktopHeight
Dim As Long i: i = _NewImage(1280, 720, 32)
Print _Width, _Height
Print _Width(0), _Height(0)
Print _Width(_Console), _Height(_Console)```
2021-03-24 09:38:44 -04:00
Fellippe Heitor 2a476e19e9
Merge pull request #153 from lstricklan/development
Fixes to libqb.cpp for random file record length and to msbin.c for MBF encoding
2021-03-24 01:28:31 -03:00
Zachary Spriggs ad3afb56b8
Changed #if blocks to be greater than or equal to Vista version 2021-03-24 00:14:19 -04:00
Zachary Spriggs c727abd667
Check for XP using WINVER in func__newimage and sub__consolefont
This can re-enable `_ConsoleFont` by checking if the version of Windows is greater than XP. Also, for the DPI awareness.
2021-03-24 00:09:33 -04:00
Lynn Stricklan 87c01d0bed Update libqb.cpp
When opening a file for random access, if the LEN is not supplied, it defaults the length correctly, but does not allocate the buffer correctly. The code should reference the record_length in the file struct.
2021-03-23 13:41:59 -06:00
Lynn Stricklan 69ab2d3327 Revert "Update libqb.cpp"
This reverts commit c38716f3b7.
2021-03-23 13:41:59 -06:00
Lynn Stricklan f66559eed5 Update msbin.c
The processing for MKDMBF$ fails for numbers smaller than 1.  Basic cause is the check for exponent overflow is incorrect. Changed code to correctly check for exponent overflow
2021-03-23 13:41:59 -06:00
Lynn Stricklan ac9664e312 Update libqb.cpp
2 changes here:
line 13062: When opening a file for random access, if the LEN is not supplied, it defaults the length correctly, but does not allocate the buffer correctly.  The code should reference the record_length in the file struct.

Changes in lines 15798-15853:  When printing text to the screen, carriage returns in the text are ignored.  In sub_file_print, the code for printing to the screen is modified to honor carriage returns.
2021-03-23 13:41:58 -06:00
Zachary Spriggs 189cdb8e39
Fix bug with DPI, Width, and Height (Win)
Fixes a bug that would make QB64 return the incorrect size monitor/desktop size when the resolution is scaled. Also, the last fix I added that set `_Source` to `_Console` automatically caused an issue with `_Width` and `_Height`, causing them to return only the console's image dimensions rather than the image that is passed.
2021-03-22 15:51:54 -04:00
Zachary Spriggs 3c58f611a3
Fixes bug that frees console_image handle in Clear
Fixes a bug that would free the console_image handle in the freeallimages() function
2021-03-16 15:34:43 -04:00
Doug Kearns fee91e8c33 Fixes missing file messages when purging precompiled content 2021-03-11 11:27:56 +11:00
Zachary Spriggs 141d0db085
Fixed indentation of new commits 2021-02-24 17:07:02 -05:00
Zachary Spriggs 66ea2b794d
Removed "SPRAY" from _MOUSESHOW
"SPRAY" gives the same result as "CROSSHAIR" and so is unnecessary
2021-02-24 15:42:05 -05:00
Zachary Spriggs a3141fc425
Adding "WAIT", "HELP", and "SPRAY" to _MOUSESHOW 2021-02-24 15:38:47 -05:00
Fellippe Heitor 0d92432fbf Fixes _SCREENY for the mac. 2021-02-09 13:52:58 -03:00
Fellippe Heitor 37ea325cfa Reenables _SCREENX/SCREENY for macOS only. 2021-02-09 09:08:57 -03:00
Luke Ceddia bb3f5d3712
Revert "Enables _SCREENX/_SCREENY for macOS/Linux."
This reverts commit d4a3d7f721.
2021-02-09 17:34:10 +11:00
Fellippe Heitor 75642c31dc Merge branch 'development' into IdeTweaks 2021-02-07 22:55:58 -03:00
Roland Heyder ac33be345d
Allow type symbols in numeric DATA constants.
Done for the sake of retrocompatibility. Although those symbols are simply ignored, as the type is determined by the variable types given at the respective READ statements.
2021-02-07 22:56:08 +01:00
Fellippe Heitor d4a3d7f721 Enables _SCREENX/_SCREENY for macOS/Linux. 2021-02-07 11:54:52 -03:00
Fellippe Heitor 4824f9c67b Should be the same for Windows. 2021-01-27 22:19:32 -03:00
Fellippe Heitor e273baa0dd Reset EOF when SEEK is used. 2021-01-27 22:17:26 -03:00
Luke Ceddia 3f2f35b546
Fix some error(7) that should be error(6) 2021-01-24 23:41:55 +11:00
FellippeHeitor e45eed894d Indentation only. 2021-01-20 22:24:25 -03:00
FellippeHeitor a75adfe519 Indentation only. 2021-01-20 22:18:08 -03:00
Luke Ceddia c62568008d
Add _ERRORMESSAGE$ 2021-01-17 23:54:15 +11:00
Luke Ceddia 6d4878d643
Make linux installer not affect mingw files 2021-01-14 22:29:19 +11:00
Luke Ceddia a23e8ce212 Use manual delta method for _mouseinputx/y on non-windows 2021-01-12 01:32:01 +11:00
Luke Ceddia 4060f8c046 Fix RAWINPUT struct size on 64 bit windows 2021-01-12 01:27:35 +11:00
Luke Ceddia caa96bd614
Tidy up generation of ansi sequences 2021-01-09 00:07:27 +11:00
Luke Ceddia 9634243b95
Merge branch 'development' into nix-terminal 2021-01-08 23:59:51 +11:00
FellippeHeitor fb2b916602 Frees mem lock for sound handles at _SNDCLOSE. 2021-01-01 23:16:49 -03:00
FellippeHeitor bd54eb0f39 Attempts at implementing _MEMSOUND 2020-12-31 01:40:54 -03:00
Carlos A. Leguizamón a6fcfd51b3 Replaced way to detect macOS version and screen configuration. This way removes any output from console. 2020-12-21 11:03:34 -03:00
Carlos A. Leguizamón 6d3fbe23a4 Fix for UI scale in macOS Catalina, running with 4K/Retina displays. 2020-12-07 00:57:22 -03:00
FellippeHeitor 1d07a3c802 Fixes ENVIRON$() to automatically add CHR$(0) to strings passed.
Closes #79
2020-10-18 01:14:25 -03:00
Luke Ceddia 860e6cad57 $CONSOLE:ONLY on Linux no longer pulls in GL/X11 libs 2020-07-15 22:25:57 +10:00
Luke Ceddia 1fc89fc750 Disable linux clipboard if not in gui mode 2020-07-15 20:36:00 +10:00
SteveMcNeill 5fdcf9f583 Fix to _LOADFONT for Windows
Before we strip off the requirements (like "monospace" and such), we should first see if the font exists on the drive, since we call the routine recursively looking for it.
2020-07-05 09:47:04 -04:00
NEONTEC75 34bac5a168 Added tiling support to PAINT. 2020-05-24 03:53:42 +04:00
Fellippe Heitor 8c19e0b60f
Extend to UHD and 5K test for Mac computers.
Closes #47

Thanks to @familygw for the report/fix.
2020-03-11 23:10:19 -03:00
Fellippe Heitor 5860026d79 Too soon to drop osx... 2020-02-20 22:02:54 -03:00
Fellippe Heitor c22ef3ac96 And clang++ where applicable. 2020-02-20 21:43:23 -03:00
Fellippe Heitor 172583fd17 Replaces g++ with clang for the remaining macOS scripts.
If a user has Homebrew installed, calling g++ won't use Apple's Xcode version of the tool, which is required by QB64. This fix continues on with the patch introduced in 4dbdddc89e.

Extra "osx" references replaced with "macOS", but nothing substantial (almost aesthetic).
2020-02-20 20:52:30 -03:00
Pirachy 4dbdddc89e Updated build.command to specifically work with Apple's Clang
Fixed an issue where Apple's Clang is forcefully used instead of GCC for compiling QB64 applications. (Fixes issues for those using true GCC via Homebrew and not Clang that just has a symlink of GCC).
2020-02-19 12:50:50 +00:00
Fellippe Heitor 997773a1d1 Fixes startup crash on macOS as described on #32 2020-02-18 10:39:31 -03:00
FellippeHeitor 05fdc4b00e Fixes internal calls to WIDTH after WIDTH for $CONSOLE was added.
Parameter 'int32 passed' moved to last position. Also: fixes RUN to (i) restore VIEW PRINT and (ii) clear keyboard buffers.
2020-02-08 18:03:43 -03:00
FellippeHeitor ac268c740b Simplifies usage of zlib across platforms. 2020-01-18 18:48:10 -03:00
Fellippe Heitor 44c80201f2 Gets _DEFLATE$ and _INFLATE$ to work on macOS. 2020-01-18 17:50:24 -03:00
Fellippe Heitor 95664863be
Merge pull request #17 from QB64Team/detect-retina-macos
Detects Retina displays on macOS for proper scaling.
2020-01-15 00:08:38 -03:00
Fellippe Heitor 20b2ec46db Replaces CLS for terminal and enables bg color 2020-01-10 05:59:09 -03:00
Fellippe Heitor 24c2fd8ad8 Adds LOCATE support for *nix terminals 2020-01-10 05:42:22 -03:00
Fellippe Heitor 04d4ad569d Color support for *nix terminals 2020-01-10 05:23:39 -03:00
Fellippe Heitor 21cdb70efe
Trigger recompilation 2020-01-08 09:06:28 -03:00
Fellippe Heitor 0f1f63eda8 Detects Retina displays on macOS for proper scaling. 2020-01-06 12:09:15 -03:00
Fellippe Heitor bcc05e8b15
Merge pull request #118 from Galleondragon/rename-zlib-folder
Renames zlib's folder so it can be updated without the hassle later on.
2020-01-03 02:46:17 -03:00
FellippeHeitor 8708aa73b0 If it looks stupid but works, is it really stupid? Closes #90 2020-01-03 00:36:14 -03:00
FellippeHeitor 51710ddcd3 Renames zlib's folder so it can be updated without the hassle later on. 2020-01-02 23:00:51 -03:00
Fellippe Heitor 9f89e063f7
Trigger recompilation 2020-01-02 20:18:06 -03:00
FellippeHeitor 7c9eafbadb Replaces _TOGGLE_(KEY)LOCK with _(KEY)LOCK ON/OFF/_TOGGLE. Also:
- Changes CFont to sub__consolefont and func_CInp to func_cinp, in alignment with the rest of libqb/qbx.
- Adds stubs to all new console functionality, so we can still ship for other OSes with no bigger issues.
- Adds new keywords to syntax highlighter.
2020-01-02 19:55:58 -03:00
FellippeHeitor 114bd7b5a8 Adds stubs for _INFLATE$ and DEFLATE$ for OSes other than Windows.
These will return the unchanged text$ passed for now.
2020-01-02 17:35:02 -03:00
Fellippe Heitor fdf3fe9a02
Merge pull request #116 from Galleondragon/issue81
Fix issue #81
2020-01-02 13:01:04 -03:00
Luke Ceddia ae379cb29c Fix issue #81 2020-01-03 00:09:21 +11:00
Fellippe Heitor 7bf6dbb6e9
Trigger recompilation 2020-01-02 06:20:08 -03:00
flukiluke fe920f921b
Merge pull request #114 from Galleondragon/add-assert
Adds $ASSERTS, $ASSERTS:CONSOLE and _ASSERT condition[, message$]
2020-01-02 19:55:55 +11:00
flukiluke 37d19a9809
Merge pull request #92 from ghost/x11-clipboard-fix
Fix X11 BadAtom errors that prevent IDE launch
2020-01-02 14:20:22 +11:00
Luke Ceddia 1c365c2bb8 Manually apply PR #93 chmod +x .command files 2020-01-02 14:13:56 +11:00
FellippeHeitor 49f265f1c2 Adds $ASSERTS, $ASSERTS:CONSOLE and _ASSERT condition[, message$] 2020-01-01 18:20:30 -03:00
FellippeHeitor 7262febc94 Fixes _CONNECTIONADDRESS. Closes #100 2019-12-23 01:01:52 -03:00
Fellippe Heitor 60c587386f
Merge pull request #109 from RhoSigma-QB64/development
extended support for &B prefixed number strings
2019-12-08 11:57:18 -03:00
Fellippe Heitor c848e0d40e
Merge pull request #108 from QB64Cobalt/development
Corrections to Bit Routines to allow for unsigned integer64 values
2019-12-08 11:55:14 -03:00
Roland Heyder d40902a1ed
extended support for &B prefixed number strings
Aditonal to VAL, the &B prefixed numbers are now also recognized by INPUT (keyboard and file input) and also by READ, if those numbers are noted in DATA statements.
2019-12-08 01:13:57 +01:00
SteveMcNeill 752a444544 Update to enable SLEEP with a set TIME for use with Windows Console 2019-12-07 08:46:29 -05:00
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
FellippeHeitor 729557fda2 Oh,... and this. The last bit of virtual keyboard vestige. 2019-04-14 22:01:56 -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
FellippeHeitor 18f52b4fa5 Maybe -no-pie will work this time for Linux without breaking autobuilds? 2019-04-04 01:40:14 -03: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
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
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
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
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
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 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
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 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 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
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
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
Luke Ceddia e2bdbc01ad Correctly set speex's output buffer size 2017-10-23 00:51:17 +11: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
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
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
Luke Ceddia 54574c1ca6 Add declaration for sub__keyclear() 2017-09-25 23:03:38 +10: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
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
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
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
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
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
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
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
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
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
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
Luke Ceddia b51f6e4117 Fix comparisons involving empty strings and inequalities. 2016-11-09 16:22:07 +11: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
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 01d207ec7f Reintroduce _MOUSEMOVE (with great power comes great responsibility) 2016-08-23 21:52:57 +10: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
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
Luke Ceddia a6ad741acf Fix scroll wheel on Linux (again). 2016-08-13 00:16:56 +10: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
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
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
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
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 9b17aa8bca Added accidentally removed line #include <fcntl.h> 2016-03-20 23:23:50 +11: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
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
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
Luke Ceddia 10ce118bec Extra cast to satisfy compiler on OSX. 2016-02-10 00:26:33 +11: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
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
Luke Ceddia 9595dd37e6 Fixed the SHELL() function to return correct values on Linux (and presumably OSX). 2015-12-11 13:02:44 +11:00
Galleondragon accdaf1ce0 Added support for Android & Virtual Keyboards 2015-10-30 23:18:44 +11:00
Luke Ceddia 3bfd7a799b Fixed MessageBox implementation on Linux and presumably Mac to actually do something. 2015-08-18 18:55:08 +10:00
Luke Ceddia 8abc34c99e Explicitly declare a large integer in qbr() routines to be unsigned, thus averting compiler warning. 2015-08-17 21:53:35 +10:00
Luke Ceddia d4c0a4c5a1 Optimise func_val, especially for common usecases with small integers. 2015-08-16 23:10:22 +10:00
Luke Ceddia ab99f5f837 Added overflow checks to the portable version of qb(), and corrected some missing negative signs in the other version.
Also patched func_val to behave properly when parsing integers > UINT64_MAX.
2015-08-16 01:59:46 +10:00
SteveMcNeill f917da369a Alteration to common.cpp to allow rounding to _UINT64_MAX limit
Floats previously only rounded to the upper limit of a signed integer64;
this alteration will now round them to the unsigned integer64 limit if
possible, or else toss an "OVERFLOW ERROR" if there's no way to squeeze
the float's value into an integer64.
2015-08-15 10:48:35 -04:00
Luke Ceddia a25cb9a846 Temporaraily commented out Linux version of _SCREENICON function due to compile errors 2015-08-09 21:33:22 +10:00
SMcNeill 7fb1db97f6 Added function _SCREENICON to tell us if the window has been minimized to the taskbar (Iconified) 2015-08-08 12:50:45 -04:00
SMcNeill f9bb83066b Added "&B" support to VAL function.
Added extended math functionality into user mods. (COT, SEC, COT, and their deritives.)
Cleaned up old config setting from config.txt file.
2015-08-08 02:23:15 -04:00
Luke Ceddia 05d0b0a36b Merge 2015-08-06 21:41:16 +10:00
Luke Ceddia c003f0bc20 Fix scroll wheel on Linux; tidy up licensing info; clean up Windows setup; fix OSX script permissions.
The scroll wheel now behaves correctly on Linux. Reports suggest that the fix does not have any effect
on OSX though. The licensing documentation is updated to reflect the fact that there are no GPL components
included in a QB64 program. Some redundant code was removed from the Windows setup script. OSX setup and
run scripts were missing the executable bit - hopefully the repository will preserve that change.
2015-08-06 21:39:16 +10:00
SMcNeill eb69e62827 Fix to custom font error-checking routine which used an invalid variable name and always failed.
Made use of _SCREENHIDE function so we don't update the IDE position when the screen is hidden.
2015-08-05 04:56:49 -04:00
Galleon 91e7ace500 (Automated push) Update internal/source/* from qb64.bas 2015-08-02 05:12:44 -07:00
SMcNeill ea20dad4a9 Fix to PRINT text$; USING format$; values
Added _SCREENHIDE as a FUNCTION to return 0/-1 if the screen is hidden or not.
2015-08-01 22:41:48 -04:00
Luke Ceddia f2bd84b5c5 Updated Ogg Vorbis decoder and fixed some .ogg files not playing at correct speed. 2015-07-26 22:06:52 +10:00
Luke Ceddia beb3f089d8 Removed download archive of Opus tools and updated Opus licence.
This avoids having to distribute opusinfo, which had a GPL licence attached.
A link to the download and the Opus homepage remains in conversion/download.txt.
2015-07-19 15:59:10 +10:00
Luke Ceddia cfc5c90b73 Removed some libresample/libsamplerate files that were still lingering
and corrected #define in speex for Linux.
2015-07-16 00:49:52 +10:00
Luke Ceddia 6f33160368 Add the User Additions module to the QB64 compiler build at setup time. 2015-07-15 19:38:35 +10:00
Luke Ceddia d87657bde3 Replaced libsamplerate with resampler from Opus tools and deleted libresample (which was unused). 2015-07-14 22:14:20 +10:00
SMcNeill bded17cf7a Change to proper 120 value and not 255 for play default value. :P 2015-05-29 13:56:12 -04:00
SMcNeill f5ebfac729 Change to PLAY to default T to 120 instead of error if < 32 or > 255 to match QB45 behavior. 2015-05-29 13:51:25 -04:00
Luke Ceddia bc7fa3539e Add support for COMMAND$(n) returning the nth command line parameter, 1 through
to _COMMANDCOUNT, with 0 being the name of the program. This revision will not
build, since internal/source/ has references to the old COMMAND$ call.
2015-05-23 12:28:45 +10:00
SMcNeill 859a046cfb Fix to the previous fix (151) which quit fixing as soon as it was pushed into the repo. /SIGH 2015-05-04 09:13:32 -04:00
SMcNeill 70a5af095b Fix to OPEN bug which was introduced with "SCRN:" support with false flags being set for screen output. 2015-05-04 02:53:27 -04:00
Luke Ceddia 338a995f61 Improved support for OPEN "SCRN:".
Appropriate errors are raised for attempting to open FOR INPUT,
or calling various file-related functions on the handle (as per QB45).
2015-04-20 17:01:24 +10:00
SMcNeill 4e742a9c32 Support added for "SCRN:" as a file output method to the display. Fix to color bug when resizing the IDE. 2015-04-16 04:26:35 -04:00
Galleon eab00d12e9 Fix for making starting directory exe's path in OSX 2015-03-26 04:37:39 -07:00
Galleon 784ca1f2de Correction for launching in executable's folder for Linux & OSX 2015-03-25 04:56:16 -07:00
Galleon 56228a8c23 Make function _CWD$ part of QB64's core
Implemented _STARTDIR$ function
2015-03-25 03:14:53 -07:00
Galleon 57f6ee159a Forward references for MacOSX Yosemite audio out compatibility 2015-03-22 01:16:50 -07:00
Galleon 5d41e5ec7b Major patch for OSX support
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
2015-03-12 02:06:48 -07:00
Galleon b52cb62c79 MacOSX fixes 2015-03-07 06:31:54 -08:00
Galleon f5285a1a61 (Automated push) Update internal/source/* from qb64.bas 2015-02-20 05:15:27 -08:00