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

206 commits

Author SHA1 Message Date
SteveMcNeill ecfa18a109 change numerics to more descriptive constants 2022-05-17 05:04:41 -04:00
SteveMcNeill 8574c1f921 Change to _screenwidth and _screenheight
Having windows call GetSystemMetrics without relying on glutGet, gets rid of the seg fault that can occur at program start up.  screenicon was restored to it's previous state so that larger issues with it can be addressed at a future date.
2022-05-16 11:37:58 -04:00
SteveMcNeill acbeca81b9 Fix to _desktopwidth, _desktopheight, _screenicon
Fixes the issue as brought up on the forums here: https://qb64phoenix.com/forum/showthread.php?tid=408

Also added a small set of logic so we don't end up inside an endless loop if the screen is hidden (via _SCREENHIDE), or if it doesn't exist for whatever reason.
2022-05-16 07:55:08 -04:00
Matthew Kilgore fcec53e55b Fix text wrapping on last column with variable width fonts
Currently there is a bug where if a variable width font is in use and
text printed would exactly fit to the end of the row, it is instead
wrapped and printed on the next line.

Ex. You're printing a character that is 10 pixels wide, starting
from position 90 on an image that is 100 pixels wide. This should fix,
but instead your character will be printed on the next line.

The reason this happens is an off by one error, cursor_x (effectively
the X value passed to LOCATE) is one based even when using a variable
width font where cursor_x represents a pixel location. The location that
check if the next character can fit on the screen never handles the base
one, so it ends up treating the ending Y coordinate as one past where it
will actually end, which makes the code thing the print will go past the
edge of the screen.

To fix we simply subtract one before doing the comparison to give us the
actual ending pixel column.
2022-05-06 17:50:07 -04:00
Matthew Kilgore 1aa8d7a42f Run clang-format on ./internal/c/*cpp files 2022-05-06 13:20:30 -04:00
phillvancejr 8f0c08e2ec Added global scope operator :: to the socket bind call to prevent clashes with <functional> std::bind in some builds 2021-11-01 10:21:16 -04:00
Roland Heyder c48bf6776e Fixed LOC function for files
Will correctly return zero (0) now for just opened but yet untouched files.
2021-10-22 23:51:48 +02:00
Fellippe Heitor 0fac593dd6 Update libqb.cpp to allow manual compilation in WinXP
Oh, well... there's still life for XP.
2021-10-17 03:56:54 -03:00
FellippeHeitor 56aa5e7e53 Try harder to return window_handle 2021-10-16 23:08:13 -03:00
Roland Heyder ce3c459dad Implements the _Bin$ function
Usage is analog to the legacy OCT$ and HEX$ functions.
2021-10-14 00:17:35 +02:00
Fellippe Heitor ab1f20eb3b Allow PRINT to show content in console even without a new line
Closes #74
2021-10-04 00:17:21 -03:00
FellippeHeitor 1a3f3f5ad1 Add binary name to error message dialog; closes #157 2021-09-29 23:25:47 -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 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 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
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
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