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

1125 commits

Author SHA1 Message Date
github-actions[bot]
4c8dbec69c Automatic update of ./internal/source 2022-09-11 17:00:19 +00:00
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
73f1b37c82
Merge branch 'QB64-Phoenix-Edition:main' into main 2022-09-10 09:51:51 +05:30
github-actions[bot]
39cd2bf3cf Automatic update of ./internal/source 2022-09-10 02:11:00 +00:00
Samuel Gomes
8425f117a7 Fix #169 & #170 2022-09-10 04:08:31 +05:30
github-actions[bot]
ee00ce6a7f Automatic update of ./internal/source 2022-09-09 12:19:17 +00:00
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
184db340dc Merge branch 'main' of https://github.com/a740g/QB64PE 2022-09-04 05:16:45 +05:30
Samuel Gomes
d3854630cf Fix usage of mem_block type in _MEMSOUND 2022-09-04 05:16:41 +05:30
github-actions[bot]
dc0cf1e3d2 Automatic update of ./internal/source 2022-09-03 19:36:01 +00:00
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
github-actions[bot]
480e3c3d6e Automatic update of ./internal/source 2022-09-03 02:27:00 +00: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
Matthew Kilgore
5bae6dadc4 Remove unnecessary help file 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
github-actions[bot]
09f2546e35 Automatic update of ./internal/source 2022-08-27 20:50:21 +00: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
github-actions[bot]
1de7d29ba6 Automatic update of ./internal/source 2022-08-27 14:55:26 +00:00
github-actions[bot]
619f15157b Automatic update of ./internal/source 2022-08-26 14:13:09 +00:00
github-actions[bot]
b453426b6b Automatic update of ./internal/source 2022-08-26 12:44:07 +00:00
github-actions[bot]
2de5fc24e0 Automatic update of ./internal/source 2022-08-18 23:36:41 +00:00
Roland Heyder
123f3d80ae Step 20: Lets try this...
- update make_dist.sh to download files from Phoenix homepage and moved befor clean as suggested.
- get rid of internal/help
2022-08-18 19:13:40 +02:00
Roland Heyder
38bb259c4c Step 19: Add more static _GL help pages 2022-08-17 00:33:42 +02:00
Roland Heyder
756eb6ac68 Step 12: Implement automatic help file update
- changes to update code (ignore static _GL pages as mentioned at Discord https://discord.com/channels/975381912350752819/975389657212805160/1007683254792507412 )
- dist script changes
- update internal/help to contain static _GL pages only
2022-08-12 22:54:59 +02: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
Roland Heyder
4dd8d8f5ec Step 4: Update Windows icon & resource file
- int/src/icon.ico (replaced image but same name, dynamically created from given $EXEICON)
- int/src/icon.rc (updated but same name, dynamically created from given $VERSIONINFO)
- int/src/qb64.ico and src/icon.rc removed (not used anymore since dynamic creation was implemented)
- src/qb64.bas updated (rename comes in a later step)
- src/qb64.ico replaced and renamed
2022-08-10 02:03:12 +02:00
Roland Heyder
9b4b7992d4 Step 2: Update Linux icon file
Replaced and renamed icon file and moved it into the regular source folder, adjusted references in setup_lnx.sh
2022-08-10 00:48:56 +02:00
Roland Heyder
d1664a059a Step 1: Remove unused icon images
These two are not referenced/used anywhere in the source and/or make files. However, they are embedded in libqb.cpp, which comes later.
2022-08-09 23:55:15 +02:00
github-actions[bot]
edd5867875 Automatic update of ./internal/source 2022-08-03 05:25:10 +00:00
Roland Heyder
d01c8ed71b Updated plugin templates 2022-08-02 23:02:18 +02:00
Roland Heyder
6912727753 Update help files
Help file snapshot as of 07/31/2022.
2022-07-31 23:57:56 +02:00
github-actions[bot]
1efbfd03fe Automatic update of ./internal/source 2022-07-24 07:45:23 +00:00
github-actions[bot]
0a30c91d55 Automatic update of ./internal/source 2022-07-09 21:11:50 +00:00
github-actions[bot]
4e3873f420 Automatic update of ./internal/source 2022-07-09 18:48:23 +00:00
github-actions[bot]
9162e91ba6 Automatic update of ./internal/source 2022-07-06 16:10:33 +00:00
github-actions[bot]
7f14714b02 Automatic update of ./internal/source 2022-06-23 22:45:10 +00:00
github-actions[bot]
802f67d6cf Automatic update of ./internal/source 2022-06-15 05:28:32 +00: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
github-actions[bot]
df24714a49 Automatic update of ./internal/source 2022-06-12 02:46:10 +00: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
github-actions[bot]
e6a5d4744c Automatic update of ./internal/source 2022-06-11 16:32:22 +00:00
github-actions[bot]
7d06ff2400 Automatic update of ./internal/source 2022-06-10 21:39:18 +00:00
github-actions[bot]
85cdcb2249 Automatic update of ./internal/source 2022-06-10 20:16:55 +00:00
github-actions[bot]
3057adf4dd Automatic update of ./internal/source 2022-06-10 15:12:32 +00: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
github-actions[bot]
578268e3a5 Automatic update of ./internal/source 2022-06-08 14:08:37 +00:00
github-actions[bot]
2be869c263 Automatic update of ./internal/source 2022-06-07 21:38:41 +00:00
github-actions[bot]
931d3f5f24 Automatic update of ./internal/source 2022-06-07 16:46:41 +00:00
github-actions[bot]
3816f39bb9 Automatic update of ./internal/source 2022-06-04 10:44:40 +00:00
github-actions[bot]
54f77c2884 Automatic update of ./internal/source 2022-06-01 00:20:31 +00:00
github-actions[bot]
c240a71186 Automatic update of ./internal/source 2022-05-31 03:52:23 +00:00
github-actions[bot]
fd3cf1ab9f Automatic update of ./internal/source 2022-05-23 04:59:49 +00:00
github-actions[bot]
b2226bfe4d Automatic update of ./internal/source 2022-05-22 10:09:52 +00:00
Roland Heyder
77642ba91b Merge branch 'main' into wiki-dev 2022-05-22 01:04:02 +02:00
github-actions[bot]
88ff173309 Automatic update of ./internal/source 2022-05-21 23:02:30 +00:00
Roland Heyder
bec7e9cdf4 Merge branch 'main' into wiki-dev 2022-05-21 00:23:32 +02:00
Roland Heyder
aeb9c0668b Updates help files for use with new Wiki parser (2nd try)
Note: Many files were removed (not yet existing/empty pages). The parser will try to download them on demand and will auto-generate text for missing pages (eg. most _gl pages).
2022-05-21 00:18:31 +02:00
Roland Heyder
df867d5654 Updates help files for use with new Wiki parser
Note: Many files were removed (not yet existing/empty pages). The parser will try to download them on demand and will auto-generate text for missing pages (eg. most _gl pages).
2022-05-20 23:56:53 +02:00
github-actions[bot]
15622d1f0c Automatic update of ./internal/source 2022-05-20 21:50:26 +00:00
Matthew Kilgore
fc7c48bb29 Remove unnecessary files from ./internal/source
searched.bin was added in error and should not show up when updating
./internal/source.

The symbol files are useless since the coresponding executable is not
something we preserve, and due to them changing practically every build
they result in unnecessary updates of ./internal/source
2022-05-20 16:58:18 -04:00
Matthew Kilgore
95c57c182c Supply a default version label when no version has been calculated
When building directly from the repo (either from a git clone or a
download of the zip of the repository) the version reported is very
misleading because it will not have a version label, suggesting it is
actually a 'release' version when in fact it could be anything.

The ./.ci/calculate-version.sh logic is already setup to delete an
existing ./internal/version.txt during a detected release build, so we
can just place one in the repositroy and it won't impact the versioning
of CI and release builds, but will show up when building locally.

Fixes: #63
2022-05-20 16:57:45 -04:00
github-actions[bot]
6fde9c6b5f Automatic update of ./internal/source 2022-05-19 13:49:23 +00: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
github-actions[bot]
b7f05e73ff Automatic update of ./internal/source 2022-05-18 16:50:57 +00:00
Steve McNeill
da1978915a
Merge branch 'main' into main 2022-05-18 12:14:17 -04:00
github-actions[bot]
306994663e Automatic update of ./internal/source 2022-05-18 14:36:18 +00:00
SteveMcNeill
bd3b673996 test change to IdeAddSearched 2022-05-18 07:10:59 -04:00
github-actions[bot]
0c19b70a1b Automatic update of ./internal/source 2022-05-18 09:42:56 +00:00
github-actions[bot]
b44bd54db9 Automatic update of ./internal/source 2022-05-17 11:59:50 +00: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
github-actions[bot]
4ad1816507 Automatic update of ./internal/source 2022-05-15 20:28:21 +00:00
Matthew Kilgore
8c0fc1b3d2 Fix quoting in Windows-specific files
This issue was fixed in 4d61ff79, but due to how ./internal/source is
updated the new ./internal/source files were compiled using a QB64
without the fix, producing files with the wrong quoting. Previously this
was worked around because the build process overwrote these files, but
the `Makefile` build requires them to be fixed.

./internal/source itself is fine, so it's easy enough to simply fix the
files by hand. Since ./internal/source now contains a compiled QB64 that
contains the fix from 4d61ff79 it's generated files will have proper
quoting and won't need to be manually updated.
2022-05-14 17:09:02 -04:00
github-actions[bot]
c3cd310f72 Automatic update of ./internal/source 2022-05-14 20:59:49 +00:00
Matthew Kilgore
7a5ca0c49c Cleanup unused Makefile stuff 2022-05-14 12:13:00 -04:00
Matthew Kilgore
75e96dba8d Fix quoting in ./internal/source/ files 2022-05-12 00:54:24 -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
github-actions[bot]
7c324a6aec Automatic update of ./internal/source 2022-05-08 00:30:36 +00: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
github-actions[bot]
68281608f3 Automatic update of ./internal/source 2022-05-06 20:54:54 +00:00
github-actions[bot]
25ab5b92f7 Automatic update of ./internal/source 2022-05-06 18:13:57 +00: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
Steve McNeill
7b6b5c4dde
Merge branch 'main' into main 2022-05-03 09:59:47 -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
github-actions[bot]
87ee36daf2 Automatic update of ./internal/source 2022-05-03 06:32:16 +00:00
github-actions[bot]
9daea697b6 Automatic update of ./internal/source 2022-04-28 17:22:32 -04:00
Matthew Kilgore
77aced1b1c Rewrite distribution logic, download mingw*.exe 2022-04-28 17:21:56 -04:00
SteveMcNeill
aed82b4979 $Color fix with $NoPrefix
There's no need for all colors to end up with a new prefix for use between $COLOR and $NOPREFIX.
The only conflicts we have are with _Red, _Green, _Blue, so this fix appends a NP_ to the front of the those three color names so they won't conflict with the command names.  (NP_ for NoPrefix_)
2022-04-28 17:20:45 -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
6568de7895 Remove unnecessary source files 2022-04-28 17:05:43 -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
SteveMcNeill
75a3eeec45 add default QB64_Help_Menu.txt 2022-04-28 13:42:00 -04:00
SteveMcNeill
420b45892b Adding more missing files back 2022-04-28 13:40:28 -04:00
SteveMcNeill
33adc04fc4 Add temp folder to repo. It's necessary as well!
Just more initial setting on... nothing much to see here.
2022-04-28 13:39:56 -04:00
SteveMcNeill
218c6124a5 Update QB64 to use new wiki
Along with a few files which may not be necessary, and should be excluded from the automated build process once its set up later.
2022-04-28 13:39:27 -04:00
Autobuild Process
242f8747de Update internal/source 2022-03-10 16:07:42 +00:00
Autobuild Process
88505bea87 Update internal/source 2022-03-10 13:33:35 +00:00
Autobuild Process
2a48f3c7e0 Update internal/source 2022-03-10 04:52:17 +00:00
Fellippe Heitor
dfa4998b6b Revert "Update internal/source"
This reverts commit 8f9856705d.
2022-03-01 22:46:23 -03:00
Autobuild Process
8f9856705d Update internal/source 2022-03-02 01:41:40 +00:00
Fellippe Heitor
6f9059d6fb Revert "Update internal/source"
This reverts commit 9f095a1224.
2022-03-01 22:37:54 -03:00
Autobuild Process
9f095a1224 Update internal/source 2022-03-02 01:13:03 +00:00
Autobuild Process
78e6f4a788 Update internal/source 2022-03-01 23:52:55 +00:00
Autobuild Process
a6fafc49bc Update internal/source 2022-02-25 02:00:27 +00:00
Autobuild Process
ab5b96cc7a Update internal/source 2022-02-24 21:45:34 +00:00
Autobuild Process
cd78160b44 Update internal/source 2022-02-23 04:34:23 +00:00
Autobuild Process
617bedb3b9 Update internal/source 2022-02-23 02:55:26 +00:00
Fellippe Heitor
7bad19cb94 Update vwatch.bm so qb64.bas can be debugged 2022-02-22 23:39:00 -03:00
Autobuild Process
38c5fcc83d Update internal/source 2022-02-13 12:57:23 +00:00
Autobuild Process
d397cf69d9 Update internal/source 2022-01-24 01:29:53 +00:00
Autobuild Process
dc92378825 Update internal/source 2022-01-24 01:16:21 +00:00
Autobuild Process
ad9255a5c9 Update internal/source 2022-01-20 23:16:13 +00:00
Autobuild Process
c69160584b Update internal/source 2022-01-19 00:31:52 +00:00
Autobuild Process
4afb8f7531 Update internal/source 2021-11-06 20:58:58 +00:00
Autobuild Process
81da1b9beb Update internal/source 2021-11-05 04:51:26 +00:00
Kit
72126a1289
Make $NOPREFIX-friendly versions of $COLOR includes (#206)
* Create `$NOPREFIX`-friendly version of `color0.bi`

* Create color32_noprefix.bi

* add conditional for noprefix $color

* oh. it was that easy?

* Update CHANGELOG.md

* Update help files [ci-skip]

Co-authored-by: all-other-usernames-were-taken <74026992+all-other-usernames-were-taken@users.noreply.github.com>
2021-11-05 01:46:28 -03: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
Autobuild Process
a97311bfbc Update internal/source 2021-10-18 03:13:30 +00: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
Autobuild Process
4268f4457e Update internal/source 2021-10-17 04:34:48 +00:00
FellippeHeitor
45fed463da Fix $Debug in Windows versions prior to 10 2021-10-17 01:51:28 -02:00
FellippeHeitor
56aa5e7e53 Try harder to return window_handle 2021-10-16 23:08:13 -03:00
Autobuild Process
f1e4265d6c Update internal/source 2021-10-14 05:32:36 +00: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
Autobuild Process
6c79051d46 Update internal/source 2021-10-13 13:52:12 +00:00
Autobuild Process
bf6376457d Update internal/source 2021-10-12 04:47:19 +00:00
Autobuild Process
5d925d508a Update internal/source 2021-10-10 02:16:15 +00:00
FellippeHeitor
2974a94cff Update help page for [ci-skip] 2021-10-09 22:22:12 -03:00
FellippeHeitor
0c99b7ddc4 Update help files [ci-skip] 2021-10-09 14:39:20 -03:00
FellippeHeitor
ba9f0ec3c6 Update help files [ci-skip]
Removed broken _GL command list
2021-10-09 14:29:36 -03:00
FellippeHeitor
11a6422926 Update help file [ci-skip] 2021-10-09 14:06:54 -03:00
Autobuild Process
85f4701737 Update internal/source 2021-10-04 03:27:49 +00: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
Autobuild Process
efd6d41ac1 Update internal/source 2021-10-02 07:24:31 +00:00
Autobuild Process
df4dbb2b33 Update internal/source 2021-10-01 01:44:16 +00:00
FellippeHeitor
8d9cd83f6a Prevent errors when doing internal lbound/ubound checks 2021-09-30 22:40:57 -03:00
Autobuild Process
ab17b336d9 Update internal/source 2021-09-30 04:25:24 +00:00
FellippeHeitor
1a3f3f5ad1 Add binary name to error message dialog; closes #157 2021-09-29 23:25:47 -03:00
FellippeHeitor
69444a6864 Allow "quotes" around watchpoint string conditions 2021-09-29 22:08:02 -03:00
Autobuild Process
d525c5b751 Update internal/source 2021-09-28 07:20:23 +00:00
Fellippe Heitor
049499c333
Update clear.txt to fix compilation on macOS 2021-09-28 04:17:02 -03:00
Autobuild Process
fd741ec203 Update internal/source 2021-09-28 07:06:00 +00:00
Autobuild Process
7d9b73a5df Update internal/source 2021-09-28 06:42:05 +00:00
FellippeHeitor
6befb6faa0 Fix how _FLOAT is dealt with ($Debug).
Turns out QB64 promises to store all _FLOATs using 32 bytes.
I imagine that is how Galleon planned for eventually storing
larger floating point numbers, but, as it's been observed,
_FLOAT are actually `long double` variables, so they take up
16 bytes. This not a problem for regular variables, but it
does take a toll for arrays, as values are actually stored
as a sequence of 16-byte numbers.

This patch is a hack. But so is FLOAT right now.
2021-09-28 03:38:24 -03:00
Autobuild Process
5d480b631d Update internal/source 2021-09-28 05:43:25 +00:00
FellippeHeitor
765b77c9bb Fix watchpoints for fixed-length strings in UDTs. 2021-09-28 01:52:16 -03:00
FellippeHeitor
602a32d3ba Fix watchpoints for strings in UDTs. 2021-09-28 01:24:30 -03:00
Autobuild Process
8723f87ff3 Update internal/source 2021-09-26 02:23:37 +00:00
Fellippe Heitor
8096dff858
Fixes #187. [ci-skip]
Don't exit if missing speakers when using SOUND/BEEP.
2021-09-25 23:18:28 -03:00
Fellippe Heitor
4995175a16
Exits if without dev or ctx. 2021-09-25 23:15:12 -03:00
Autobuild Process
e187336713 Update internal/source 2021-09-25 03:41:17 +00:00
FellippeHeitor
a157eb5f30 Switches focus to the IDE when an error is trapped. 2021-09-24 00:59:11 -03:00
KindOne
4e91e559dd
Don't exit if missing speakers when using SOUND/BEEP. 2021-09-23 00:57:49 -04:00
Autobuild Process
0888c26bd0 Update internal/source 2021-09-22 02:21:43 +00:00
FellippeHeitor
5cab1880b5 Uses GetLogicalDrives() in Windows (file dialogs). Closes #183 2021-09-21 02:54:41 -03:00
FellippeHeitor
f680e6bda0 Minor fix in vwatch.bm (signed vs unsigned) 2021-09-20 22:52:19 -03:00
Autobuild Process
c205a9776d Update internal/source 2021-09-21 01:09:49 +00:00
FellippeHeitor
3e498df414 Fixes watching/sending values for _BIT arrays. 2021-09-20 22:04:24 -03:00
Autobuild Process
caca440492 Update internal/source 2021-09-20 01:33:34 +00:00
Autobuild Process
9916c370f7 Update internal/source 2021-09-19 23:10:34 +00:00
Autobuild Process
4d94cc56d8 Update internal/source 2021-09-19 02:35:44 +00:00
Fellippe Heitor
d651f37bc2
Implements Watchpoints
Merges Debug mode branch
2021-09-18 23:32:33 -03:00
FellippeHeitor
3be8a806f8 Fixes watchpoints for strings 2021-09-18 19:30:55 -03:00
FellippeHeitor
ce16f79f04 Improves visual indication of existing watchpoints. 2021-09-18 16:35:14 -03:00
FellippeHeitor
a67dccae5b Allows setting watchpoints regardless of scope.
Adds "Clear Watchpoint" functionality.
Allows watching more than one array index/element.
2021-09-16 22:49:43 -03:00
FellippeHeitor
833e28aaf3 Removes test print lines. 2021-09-16 00:40:07 -03:00
FellippeHeitor
926b631f3b Implements watchpoints. 2021-09-16 00:04:20 -03:00
Autobuild Process
1d5d2e8f3f Update internal/source 2021-09-14 14:15:34 +00: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
Autobuild Process
ffd5f9a795 Update internal/source 2021-09-12 02:03:33 +00:00
Autobuild Process
1a92e9b318 Update internal/source 2021-09-11 01:22:31 +00:00
Autobuild Process
59dd67c74d Update internal/source 2021-09-10 04:26:50 +00:00
FellippeHeitor
17a116b19d Adapts "Send Value" to work with multiple array dimensions. 2021-09-09 20:34:04 -03:00
FellippeHeitor
357178652b Calls _KEYCLEAR before moving on with the debuggee.
In order to prevent unwanted keypresses eventually entered while in pause mode.
2021-09-09 00:35:51 -03:00
FellippeHeitor
a37e3801d8 Adds support to watching arrays with multiple dimensions. 2021-09-08 22:48:03 -03:00
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
Autobuild Process
97b5a34b32 Update internal/source 2021-08-30 04:47:27 +00:00
FellippeHeitor
d62e307126 Implements setting value of arrays/UDTs. 2021-08-30 00:47:30 -03:00
FellippeHeitor
276536d467 Merges set address and set string address.
Next step is making arrays and UDTs work.
2021-08-28 16:54:16 -03:00
Fellippe Heitor
1ad0cfa114 Updates help files. 2021-08-28 01:56:00 -03:00
FellippeHeitor
b8d50b09d2 Prevents errors with arrays in SUBs. 2021-08-25 21:34:36 -03:00
FellippeHeitor
13a9d4e8be Fixes bug watching variable-length strings in UDTs. 2021-08-24 23:48:22 -03:00
FellippeHeitor
3aff84bba8 Fixes STRING type detection in vwatch.bm 2021-08-24 15:56:19 -03:00
Autobuild Process
cb91b6fea1 Update internal/source 2021-08-24 15:08:10 +00:00
Autobuild Process
e5e353b262 Update internal/source 2021-08-24 07:04:43 +00:00
FellippeHeitor
38fe93a6cf Adds support for watching multiple indexes arrays of UDTs.
Not multiple dimensions yet tho.
2021-08-24 02:13:42 -03:00
FellippeHeitor
62f3496c36 Adds ability to fetch data from arrays of UDTs. 2021-08-23 18:02:22 -03:00
FellippeHeitor
687276bccd Adds support to STRING elements in UDTs. 2021-08-22 22:47:48 -03:00
FellippeHeitor
bf9ab3458c Allows outputting the watch list to the console. 2021-08-22 11:49:48 -03:00
FellippeHeitor
9423080f6b Allows watching one element of UDTs (no strings yet). 2021-08-22 00:12:01 -03:00
FellippeHeitor
5a40ebd15b Attempt at pointing properly to the element offset. 2021-08-21 19:21:33 -03:00
Autobuild Process
cc92a8f868 Update internal/source 2021-08-20 22:21:12 +00:00
FellippeHeitor
2fc7380fa6 Begins implementing ways to watch UDTs.
Still in a non-working state.
2021-08-20 16:10:28 -03:00
Autobuild Process
96a8d40227 Update internal/source 2021-08-20 15:05:12 +00:00
FellippeHeitor
9aa166e4de Checks for array's lbound and ubound before fetching data. 2021-08-19 19:10:51 -03:00
FellippeHeitor
e311e2ee35 Optimizes $Debug internal protocol.
Less back-and-forth of commands to get variable data. Moves processing/address fetching almost entirely to `vwatch.bm`.
2021-08-19 01:05:47 -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
Autobuild Process
f9c35a57d3 Update internal/source 2021-08-17 13:00:16 +00:00
FellippeHeitor
589357e472 Merge branch 'var-export' of https://github.com/QB64Team/qb64 into var-export 2021-08-17 00:47:56 -03:00
FellippeHeitor
f279839a7b Reduces number of commands to get a variable's value. 2021-08-17 00:47:13 -03:00
Fellippe Heitor
25f53e032c Prevents crashing when using INPUT and 2021-08-16 11:52:45 -03:00
FellippeHeitor
eeff3207d6 Preliminary work to watch arrays (native types).
Strings not working yet.
2021-08-16 01:32:07 -03:00
FellippeHeitor
ecfb439ff0 Changes communication protocol so it doesn't rely on end markers.
The message length precedes the message, so no <END> marker is required anymore.
2021-08-15 13:56:22 -03:00
Autobuild Process
f9d62de9cb Update internal/source 2021-08-15 06:00:33 +00:00
FellippeHeitor
b1f53bedf3 Allows QB64 to be used to debug itself again. 2021-08-15 00:49:06 -03:00
FellippeHeitor
2af2f4e2a1 Improves handling/signaling of INPUT/LINE INPUT in $DEBUG mode. 2021-08-14 21:28:21 -03:00
FellippeHeitor
d2cf042c45 Makes vwatch.bm try harder to send its own hWnd. 2021-08-14 21:27:57 -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
85c1e79997 Prevents endless loop when quitting the debuggee. 2021-08-04 21:23:59 -03:00
FellippeHeitor
0bbc60e73e Allows reading program_stop without using _Exit. 2021-08-04 21:12:33 -03:00
FellippeHeitor
600fa69786 Allows setting fixed-length strings from the IDE.
Displaying them was buggy too, due to them having CHR$(0) before being initialized.
2021-08-03 15:14:18 -03:00
Autobuild Process
7f0649aa33 Update internal/source 2021-08-03 07:23:15 +00:00