Matthew Kilgore
7a5ca0c49c
Cleanup unused Makefile stuff
2022-05-14 12:13:00 -04:00
Matthew Kilgore
5c4dcdc8aa
Use dlfcn.h on OSX
2022-05-12 00:21:02 -04:00
Matthew Kilgore
c1639b3979
Add basic make build system
2022-05-12 00:21:02 -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
55da5f4ce3
Format other various source files
2022-05-06 13:20:30 -04:00
Matthew Kilgore
1aa8d7a42f
Run clang-format on ./internal/c/*cpp files
2022-05-06 13:20:30 -04:00
SteveMcNeill
50eb90f885
Update LodePNG library
...
from 2012 version to 2022 version, which has been quite improved and sped up.
2022-05-03 02:33:45 -04:00
Matthew Kilgore
77aced1b1c
Rewrite distribution logic, download mingw*.exe
2022-04-28 17:21:56 -04:00
Matthew Kilgore
9315646e76
setup_win.bat: create internal/c/c_compiler
...
internal/c/c_compiler no longer contains anything, so git will not
create it. This change makes setup_win.bat create the directory if it's
not already there.
2022-04-28 17:15:35 -04:00
Matthew Kilgore
97240a0b46
Add standalone mingw32 and mingw64 installers
2022-04-28 13:43:09 -04:00
Matthew Kilgore
fbc580c9c5
Delete Mingw32 and Mingw64
2022-04-28 13:42:59 -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
8d9cd83f6a
Prevent errors when doing internal lbound/ubound checks
2021-09-30 22:40:57 -03:00
FellippeHeitor
1a3f3f5ad1
Add binary name to error message dialog; closes #157
2021-09-29 23:25:47 -03:00
Fellippe Heitor
4995175a16
Exits if without dev
or ctx
.
2021-09-25 23:15:12 -03:00
KindOne
4e91e559dd
Don't exit if missing speakers when using SOUND/BEEP.
2021-09-23 00:57:49 -04:00
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