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

589 commits

Author SHA1 Message Date
Matthew Kilgore
5b238467a9 Use hidden input if defaultText is blank
Fairly simple, this sets the ES_PASSWORD flag when the default text is
blank.

Additionally I fixed the dialog callback to correctly call EndDialog()
rather than DestroyWindow().
2022-11-08 00:49:13 -05:00
Matthew Kilgore
7bf68383d5 Fix warnings, remove unused code in tinyfiledialogs.c 2022-11-08 00:49:13 -05:00
Matthew Kilgore
ee9f8e4404 Remove quote checks on Windows
These are the last of the quote checks, these don't require any
associated changes as the underlying Win32 functions already allow
quotes. They were simply added to keep parity with the functionality on
other platforms, that that has since been fixed.
2022-11-08 00:49:13 -05:00
Matthew Kilgore
ec0ec10652 Add missing static to char array in tinyfd_openFileDialog
Fairly simple, lBuff is used to return the resulting filename and has to
be static so that it's still valid when the function exits.
2022-11-08 00:49:13 -05:00
Matthew Kilgore
0115029e5e Implement InputBox using DialogBoxIndirect
This removes the VBS based InputBox for Windows and replaces it with a
version that uses DialogBoxIndirect to create the dialog. While it is a
bit more complicated in some respects, it removes any concerns about the
contents of the strings as they're no longer being inserted into the
generated script.

It also has the advantage that it doesn't spawn another process (which
then shows up in the task bar in some situations).

With this changes quote characters are allowed in all of the parameters.
2022-11-08 00:49:13 -05:00
Samuel Gomes
839e1479a0
Merge branch 'QB64-Phoenix-Edition:main' into miniaudio-fixes 2022-11-08 07:56:40 +05:30
Matthew Kilgore
f73a1da97d Fix osascript escaping on Mac OS
Escaping the osascript commands requires two layers of escaping: One for the
script itself, and one for the sh arguments.

For the script itself, we simply have to escape the " character with \". When
then take the result of that and escape it sutably for sh arguments in single
quotes. We already have a function for that so we simply call that to do the
job.
2022-11-07 02:43:29 -05:00
Samuel Gomes
e9905d6cd0
Merge branch 'QB64-Phoenix-Edition:main' into miniaudio-fixes 2022-11-07 00:16:25 +05:30
Matthew Kilgore
b20aade638 Swap NotifyPopup to use Shell_NotifyIcon
Fairly straight forward, the Powershell code was fundimentally just
calling Shell_NotifyIcon under the covers which we can easily do
ourself. The notification has to be tied to a window, so I simply create
a hidden one to use.

A nice improvement here is that instead of having to use the Powershell
icon we can make use of the EXE icon if one was provided. If one is not
provided then we use the default 'application' icon.
2022-11-06 01:08:36 -04:00
Samuel Gomes
8f405ecde7
Merge branch 'QB64-Phoenix-Edition:main' into miniaudio-fixes 2022-11-05 22:45:41 +05:30
Matthew Kilgore
c945214cb8 Fix quoting of arguments to dialog functions on Linux
tinyfiledialogs had lots of issue surounding the quoting of the
arguments to the dialog functions. The arguments are effectively placed
verbadim into shell commands, and without any proper treatment they
would get accidentally evaluated by the shell, which is a big problem.
Additionally, any arguments containing quotes would just not work since
they would screw up the underlying shell command.

This change fixes all that for Linux. Every argument to the dialog
functions is now surrounded in single quotes, which prevents any
evaluation of the string by the shell. Additionally, because this is
standard the only chracters that need special treatment are the single
quote characters, and proper escaping for them has been added. The
result is that the dialog functions can now accept arguments that hvae
single and double quotes in them (on Linux).
2022-11-05 00:36:48 -04:00
Samuel Gomes
d2cd85825f Update miniaudio to v0.11.11 2022-11-04 22:43:27 +05:30
Samuel Gomes
9a509cab61 Update miniaudio to v0.11.10 2022-11-03 18:11:20 +05:30
Matthew Kilgore
980d646317 Add back internal MessageBox function
Unfortunately InForm code calls this function directly via
`DECLARE LIBRARY`. For the moment we're adding it back in to keep those
programs functioning, in the future it may be removed.
2022-10-31 00:14:20 -04:00
Samuel Gomes
2f84616168 Fix _OPENFILEDIALOG$ to accept -1 for allowMultipleSelects& 2022-10-30 04:35:46 +05:30
Samuel Gomes
5c9766ce97 Update tinyfiledialogs to v3.8.9 2022-10-29 17:18:50 +05:30
Samuel Gomes
7e533a2473 Update test license files 2022-10-25 07:28:35 +05:30
Samuel Gomes
d14d688181 Fix IMAGE_GET_BGRA_... macros 2022-10-25 04:47:27 +05:30
Samuel Gomes
a122331d6d Include stdarg.h in gui.h 2022-10-25 04:34:41 +05:30
Samuel Gomes
56c7936fb4 Address issues mentioned in #216 2022-10-25 04:24:01 +05:30
Samuel Gomes
6b60048d9e Simplify gui_tokenize() 2022-10-24 02:59:51 +05:30
Samuel Gomes
fb00990bab Replace strtok with strtok_r 2022-10-24 02:09:55 +05:30
Samuel Gomes
6a74b3f487 Replace libqb alert, MessageBox & MessageBox2 with tiny file dialogs 2022-10-24 01:24:57 +05:30
Samuel Gomes
98e40c173d Fix common dialogs build.mk bug 2022-10-23 22:44:39 +05:30
Samuel Gomes
327d753206 Move qbs_new_txt_len() declaration to libqb.h 2022-10-23 18:23:35 +05:30
Samuel Gomes
93e58baa1d Common dialogs support 2022-10-23 12:57:02 +05:30
Samuel Gomes
a2e77d7557 Only change _SNDBAL stereo panning if x is passed. Mimic old OpenAL behavior. 2022-10-05 15:28:04 +05:30
Samuel Gomes
7e63a68407 Simplify sub__sndplaycopy 2022-10-05 06:31:46 +05:30
Samuel Gomes
f49f8bdf06 Implement _SNDPLAYCOPY enhancement #185 2022-10-05 02:33:44 +05:30
Samuel Gomes
c0e3f3608c Add O2 to build.mk 2022-09-18 23:46:54 +05:30
Samuel Gomes
fa0ba3e5d8
Merge branch 'main' into main 2022-09-18 14:49:58 +05:30
Samuel Gomes
9681aa1d30 Update code to use C++ unordered_map 2022-09-18 00:03:08 +05:30
Matthew Kilgore
aea4a6058e Fix linking audio when using $CONSOLE:ONLY
A quick fix, but providing `DEPENDENCY_CONSOLE_ONLY` when compiling
audio.cpp tells `common.h` to avoid pulling in `freeglut.h`, which fixes
the linking issue.

Fixes: #172
2022-09-17 03:06:24 -04:00
Samuel Gomes
bb8bd56689 Merge branch 'main' of https://github.com/a740g/QB64PE 2022-09-17 08:53:38 +05:30
Samuel Gomes
a100a434e4 Fix #175 2022-09-17 08:53:32 +05:30
Matthew Kilgore
84f1165776 Fix _MOUSEMOVE when window is resized
`sub__mousemove` is trying to use `x_scale`, `y_scale`, `x_offset`, and
`y_offset` to calculate where the mouse should be in the event the
window coordinates are different from the screen coordinates.

Unfortunately, all four of those variables are actually never set in the
program. The real scale values and offsets (in the event of
letterboxing) are stored in `environment_2d__` values. This change
switches `sub__mousemove` to simply use the correct values when
calculating the mouse position.

Because `x_scale` and `y_scale` are not used anywhere else I just
removed them completely. I wanted to remove `x_offset` and `y_offset` as
well but there are a few spots that make use of it. It must be a bug,
since they are never assigned values other than zero, but I'm not sure
if the correct fix for the other locations is to use the
`environment_2d__` value or do nothing, so I'm leaving them for now and
we can address them later.
2022-09-10 15:31:22 -04:00
Samuel Gomes
8425f117a7 Fix #169 & #170 2022-09-10 04:08:31 +05:30
Matthew Kilgore
cd5e312f5a Revert changes to miniaudio.h, move changes elsewhere
Changing midiaudio.h will make it harder to incorporate new versions
into QB64-PE as they come out. To fix that I have reverted all the
changes to midiaudio.h and moved the few private parts we were using
into a separate 'filepath' API that's part of libqb.
2022-09-08 23:59:19 -04:00
Matthew Kilgore
3e4477521a fix audio midi vtable linking 2022-09-04 23:35:14 -04:00
Matthew Kilgore
2b3403745c Add initial MIDI language support
This adds MIDI support to the language as a new unstable feature. There
are two new metacommands that come with this:

$Unstable: Midi
$MidiSoundFont: [Default|"filename"]

The $Unstable command is required to be able to use any of the other
commands, and just signifies that this is not a full part of the
language yet and may change in breaking ways before the API is
finalized.

The $MidiSoundFont command enables MIDI support in the compiled program,
and also specifies what sound font to use to play MIDI files. "Default"
will make use of the soundfont placed at
'./internal/support/default_soundfont.sf2', and otherwise a filename can
be specified to use any soundfont wanted.

In either case, the selected sound font is compiled into the executable
and then loaded at runtime.

Fixes: #115
2022-09-04 23:35:14 -04:00
Samuel Gomes
d3854630cf Fix usage of mem_block type in _MEMSOUND 2022-09-04 05:16:41 +05:30
Matthew Kilgore
f03b55808b Remove DPI Awareness on Windows
DPI Awareness allows a program to tell Windows that it will handle
properly scaling itself for the screen's DPI. Thus when a program is DPI
Aware, it will always see the actual screen size. When a program is not
DPI Aware, then Windows will scale the program according to the
selection by the user, and the reported screen size will match the
scaled size rather than the actual screen size.

Commit 189cdb8e added logic to enable DPI Awareness on Windows, but it
was hidden behind a `WINVER` check. This meant it was not actually in
use because at the time QB64 did not set a `WINVER` high enough to
actually enable that code. As such all Windows versions of QB64
including v2.0.2 were not DPI Aware.

Much later-on, Commit 869e361e declared a `_WIN32_WINNT` of `0x0600`,
which seems to have also declared `WINVER` as the same and thus enabled
the DPI Awareness logic. As a consequence, QB64-PE programs no longer
get scaled even though they don't have a way to acquire the current DPI
to do proper scaling themselves.

Since the behavior change was unintentional and proper language support
is not there, we're considering the addition of DPI Awareness a bug. It
will be added back some time later with more language support to allow
it to be properly used.
2022-09-02 23:50:23 -04:00
Samuel Gomes
f99eb27717 Remove all _SHR & _SHL changes 2022-09-01 16:15:42 +05:30
Samuel Gomes
5812433b9d Added limits.h to common.h 2022-09-01 07:25:01 +05:30
Samuel Gomes
2ed17f6198 Add _ROR & _ROL support. Fix issues with _SHR & _SHL 2022-09-01 06:51:06 +05:30
Matthew Kilgore
30c0634d20 Fix High-DPI awareness on Windows
We started defining `_WIN32_WINNT` a little while ago to express that we
require Windows Vista or above for support. This enables us to access
some Windows Vista-only APIs. The fact that `WINVER` also needs to be
defined was missed, and it seems that defining one means the other no
longer gets defined automatically as it did before. Thus we're simplying
now also defining `WINVER` the same as `_WIN32_WINNT`.

This fixes High-DPI awareness and a few other things that were gated
behind WINVER checks.
2022-08-28 21:44:07 -04:00
Samuel Gomes
26391445ee Updated comments 2022-08-28 02:16:56 -04:00
Samuel Gomes
124251f8f8 Fixed Linux compile issue - extra space in #include. Doh! 2022-08-28 02:16:56 -04:00
Samuel Gomes
9ed193346a Update QB64-PE image library to convert images to 8bpp 2022-08-28 02:16:56 -04:00
Samuel Gomes
d3da6da2fa Simplified image library. Added PCX support using dr_pcx 2022-08-28 02:16:56 -04:00
Matthew Kilgore
c989be69f6 Disable MIDI support
This will be added back soon with with functionality to be able to
optionally enable it.
2022-08-27 14:27:55 -04:00
Matthew Kilgore
48208e2eda Change miniaudio build logic to always clean all files 2022-08-27 14:27:55 -04:00
Matthew Kilgore
41cc1e6569 Integrate the miniaudio backend into the build
This integrates the miniaudio backend, using a new `DEP_AUDIO_MINIAUDIO`
flag to enable it. This will allow consumers to choose which backend to
use.
2022-08-27 14:27:55 -04:00
Matthew Kilgore
481906977e Add a740g's miniaudio backend
This is a single commit adding all of a740g's audio backend. Later
commits will connect it together with QB64PE itself.
2022-08-27 14:27:55 -04:00
Roland Heyder
2ec897b75d Step 10: Update remaining stuff
- checks all remaining occurrences of the term 'qb64', some remain untouched, some are renamed according to context
- also added new logo for README.md
- this step does finalize the 'Phoenix Edition' re-branding
2022-08-12 02:54:12 +02:00
Roland Heyder
e68582b6f2 Step 7: Rename qb64.exe to qb64pe.exe
- Includes related LNX/OSX files
- Excludes mentions in the help (*.txt) files
2022-08-11 18:07:57 +02:00
Roland Heyder
96fc1eb3a9 Step 5: Update embedded images in libqb.cpp
- replaced default icon image data, which is used, if _ICON is used w/o parameter, but no $EXEICON is specified either (see also Step 1)
- this step completes icon related changes
2022-08-10 20:02:00 +02:00
Matthew Kilgore
94c2b56b69 Use mutex guard in completion implementation 2022-06-14 23:58:04 -04:00
Matthew Kilgore
298331e490 posix mutex shouldn't allow NULL
We shouldn't allow mutex lock/unlock to silently do nothing if NULL is
passed, as that is very likely a bug. Beyond that the Windows version
doesn't do this, so it's inconsistent as well.
2022-06-14 23:56:17 -04:00
Matthew Kilgore
869e361ee4 Move QB64 compiler settings to libqb-common.h
This moves a lot of the preprocessor flags for what compiler/platform
we're using into a libqb-common.h header inside the libqb/include
folder. This gets included at the top of every libqb .cpp file, and is
intended to be fairly small, providing only necessary things like
_WIN32_WINNT (which needs to be defined before including <windows.h> or
friends).
2022-06-12 00:28:16 -04:00
Matthew Kilgore
cde7afef30 Use libqb_mutex in libqb.cpp
libqb_mutex can replace the existing Mutex handling we do in libqb.cpp
2022-06-11 22:47:06 -04:00
Matthew Kilgore
4052b8cc19 Add append-only buffer API
The Buffer API implements an append-only buffer, where you can write to
the end or read from the beginning. Data that is read is discarded from
the buffer, and you can query the buffer to get the current amount of
data inside.

Internally the buffer API is implemented as a chain of separate buffers.
This is done to avoid having to resize the existing buffer, which is
expensive. We keep track of where the reading currently is, and discard
the internal buffers after all the data in them is read.
2022-06-11 22:47:06 -04:00
Matthew Kilgore
ecfc71ef95 Add completion API
Completions are basically a oneshot flag, which provide a `wait()` call
that blocks until 'finish()' has been called on the completion.

The nice aspect of completions is that because it is a oneshot the order
does not matter - if 'finish()' is called before 'wait()' then 'wait()'
returns immediately. It makes the logic for waiting until a thread is
done finishing up some work easy to implement.
2022-06-11 22:47:06 -04:00
Matthew Kilgore
7ef15653fd Add generic thread, mutex, and condvar API
This adds generic APIs to libqb for handling thread's, mutex's, and
condition variables. On Linux and OSX these are implemented via the ones
provided by pthreads. On Windows they're implemented via the ones
provided by the Win32 API.

For compiling, the code itself is not conditional, but the Makefile
includes logic to decide which implementation to pick.

Note that it would have been nice to simply use std::thread and friends
from C++11, however using them on MinGW appears to be a bit messy. Since
using the Windows ones directly isn't that hard this was an easy compromise.
2022-06-11 22:47:06 -04:00
Matthew Kilgore
eb815c4220 Prepare for separate libqb, define C++ standard
This sets up a few different flags we'll need for the conditional
compiling, and also sets the C++ standard to gnu++11, which effectively
just matches what we were implicitly using before.
2022-06-11 22:47:05 -04:00
Matthew Kilgore
76c437288a Remove leftover build file 2022-06-11 20:42:23 -04:00
Matthew Kilgore
f99407f251 Revert existing libqb split 2022-06-11 20:42:23 -04:00
Matthew Kilgore
62ec4ebdbd Fix compilation with DEP_DEVICEINPUT
The Makefile changes broke compiling with device input support. This got
missed because no test case for DEP_DEVICEINPUT got added.

Fixes: #100
2022-06-09 21:30:37 -04:00
Matthew Kilgore
437cfc3ab7 Remove old build system
Mostly old build scripts and helper files that are now covered by the
Makefile.

A notable deletion is the glew dll and lib files. These are unnecessary
because we compile `glew.c` directly rather than link against the dll or
lib copies we have.
2022-05-19 09:17:13 -04:00
Matthew Kilgore
e0ef818522 Change purge scripts to use make clean 2022-05-19 09:17:13 -04:00
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
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
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