1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-09 22:25:12 +00:00
Commit graph

335 commits

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