1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-08-05 15:50:25 +00:00
Commit graph

245 commits

Author SHA1 Message Date
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