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

2803 commits

Author SHA1 Message Date
Samuel Gomes
5c9766ce97 Update tinyfiledialogs to v3.8.9 2022-10-29 17:18:50 +05:30
Matthew Kilgore
37f2ecd4ce Fix setup_osx.command script when run from a different directory
I broke this by accident in 5031de2, likely by misreading the $0.  What
the line was intended to do was change to the directory the script is
located in when the script starts, this allows the script to be started
from any location.

Typically this isn't necessary functionality, but for Mac OS it's
important because if you double-click the script (the typical way to run
it) it is started from the user's home directory. Due to this I also
updated the Mac OS distribution test to run the script in this way so
that it's closer to how a user will run it.

Fixes: #218
2022-10-27 23:26:07 -04:00
github-actions[bot]
47ee4fb1ab Automatic update of ./internal/source 2022-10-25 04:53:56 +00:00
Samuel Gomes
bfec18cd92
Merge pull request #216 from a740g/tfd-support
This implements cross-platform common dialogs for QB64-PE (issue #189)
2022-10-25 10:05:15 +05:30
Samuel Gomes
6b4ad03d1f Remove -lcomdlg32 -lole32 from line Makefile:363 2022-10-25 08:36:06 +05:30
Samuel Gomes
8fa58443b4 Add -lcomdlg32 -lole32 to CXXLIBS always for Windows 2022-10-25 08:12:07 +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
github-actions[bot]
feb2b302d4 Automatic update of ./internal/source 2022-10-10 13:36:10 +00:00
Matt Kilgore
684e15b4d8
Merge pull request #210 from mkilgore/release-3.3.0
Version 3.3.0
2022-10-10 09:17:56 -04:00
Matthew Kilgore
bc6c7ebff8 Version 3.3.0 2022-10-09 22:03:39 -04:00
github-actions[bot]
e6a68b810c Automatic update of ./internal/source 2022-10-05 17:30:47 +00:00
Samuel Gomes
74e7778527
Merge pull request #208 from a740g/main
Implement `_SNDPLAYCOPY` enhancement #185
2022-10-05 22:34:58 +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
github-actions[bot]
bc1567089c Automatic update of ./internal/source 2022-10-02 22:25:45 +00:00
Matt Kilgore
5cb05f0308
Merge pull request #204 from mkilgore/generate-license-file
Add the ability to generate a text file containing all the licenses that apply to a compiled program.
2022-10-02 18:09:40 -04:00
Matt Kilgore
1fa5b8af10
Merge branch 'main' into generate-license-file 2022-10-02 16:25:57 -04:00
Matt Kilgore
38bba69185
Merge pull request #203 from mkilgore/fix-manpage-flags
Add and fix options listed in manpage
2022-10-01 20:55:46 -04:00
Matthew Kilgore
2fc4950d41 Add and fix options list in manpage
Fixes: #199
2022-10-01 20:19:01 -04:00
github-actions[bot]
70b4c1aa5d Automatic update of ./internal/source 2022-10-01 19:14:39 +00:00
Matthew Kilgore
9e4d77d614 Fix license_stbvorbis.txt line endings
This file was checked-in with Windows line endings, but it should have
Unix/Linux ones. Windows will automatically convert it into Windows line
endings when checking the file out, so it's not a problem in that case.
2022-10-01 15:08:01 -04:00
Matthew Kilgore
d876f1bb22 Add license tests
This adds logic for testing the new license generation functionality.
This is done by having the expected license for a variety of
tests that use different dependencies, and then comparing that against
the license QB64-PE actually produces when compiling these test files.

Note that because the actual used dependencies changes depending upon
the OS, we have separate expected licenses for each of Linux, Windows,
and Mac OS. This required some build changes to accomidate, in addition
to the testing logic changes themselves.
2022-10-01 15:08:01 -04:00
Matt Kilgore
085444f9c2
Merge pull request #202 from mkilgore/fix-string-bit-n-length
Fix `String * n` and `Bit * n` when used with `Static` arrays.
2022-10-01 14:58:05 -04:00
Matthew Kilgore
908585aa2e Generate .license.txt file with license information
This gives QB64-PE the ability to automatically generate a text file
comprising all of the licenses that apply to your QB64 program. This
file can then be distributed with your program to meet the requirements
of those licenses, and also examined to understand what licenses apply
to your program.

The generation is controlled via a configuration flag, settable either
via the `Run` dialog, or via a new `-f` setting on the comamnd line.

Fixes: #145
2022-10-01 14:46:00 -04:00
Matthew Kilgore
b4d6f52909 Add testsuite of built-in Types 2022-10-01 14:18:53 -04:00
Matthew Kilgore
335ff451bc Fix 'Bit * n' syntax in some cases.
There's some logic for handling `Bit * n` types that doesn't properly
handle NoPrefix. There's both a faulty error check which only works for
the `_` version (It was using `OR` so it always failed), and then also
the code that pulls out the number only works if the `_` is present.
Both of those are fixed in this commit.
2022-10-01 14:18:53 -04:00
Matthew Kilgore
855b8dfce7 Fix declare Static array as 'String * n'
The original issue comes from b87dde8. Fellippe was fixing using
NoPrefix types with Declare Library, which uses some of the same logic
as Static arrays. Unfortunately, his change broke the `String *n` syntax
and `Bit * n` syntax because he stopped using LEFT$() to check only the
prefix of the type. Cory fixed the issue over in QB64Official/qb64#35
by reverting the code to use LEFT$() again and I pulled some of that
logic in here.

Note that I've modified his solution a bit. During testing of that fix I
noticed that `_Unsigned Integer64` no longer worked, because is because
it aliases with `_Unsigned Integer` and the shorter type gets checked
first. This may have been what Fellippe was trying to fix (since
removing the LEFT$() avoids this issue) but it's hard to say.

I addressed that issue by only applying $LEFT() to the two types that
are allowed to have text after them (`Bit` and `String`). The rest of
the types continue to use the direct string comparison that requires an
exact match. Additionally I reorganized the checks a bit to make them
easier to read and also easier to confirm all combinations are checked.
2022-10-01 14:18:53 -04:00
github-actions[bot]
18f746018b Automatic update of ./internal/source 2022-10-01 17:41:56 +00:00
Matt Kilgore
bdcb8f1b4d
Merge pull request #201 from mkilgore/compile-relative-bas
Fix compiling bas files relative to the CWD
2022-10-01 13:25:01 -04:00
Matthew Kilgore
21b7d60f44 Fix -o to be relative to _STARTDIR$ when source file is
In 094a8c82 we added the ability to compile a source file relative to
_STARTDIR$ instead of the location of the qb64pe executable. This change
fixes `-o` so that it is also treated as relative to _STARTDIR$ when the
provided source file is.

Note that this is not a real behavior change because if the provided
source file is relative to the qb64pe executable then `-o` will be as
well, which matches the previous behavior. The cases where it is made
relative to _STARTDIR$ all produced errors until 094a8c82 was done, so
there was no previous defined behavior.
2022-10-01 04:24:54 -04:00
Matthew Kilgore
094a8c82b2 Fix compiling bas files relative to the CWD
Fix was pulled from QB64Official/qb64#17 by Cory Smith, I just added
tests around it.

Most (all?) compilers allow you to run the compiler from a separate
directory than the compiler itself is located in and compile source
files relative to that directory. QB64-PE however does not allow that,
for a variety of reasons it always search for the provided source file
relative to the location of the QB64-PE compiler rather than the CWD it
was run from. This is pretty unexpected behavior in a lot of cases, and
also doesn't give very helpful error messages either.

This change has us check if the source file exists at the given CWD
location, and if it does we will prepend the CWD to produce the correct
path to the file.

To test that this behavior works as expected I modified
`compile_test.sh` to compile from within the test directories using a
relative path directly to the test file, this fails with current QB64-PE
versions because it can't find the source file.

Additionally, I was unsure of whether this would impact the behavior of
`'$include`, so I added some tests around include that uses various
combinations of paths relative to QB64-PE and relative to the source
file being compiled, and they all find the files as expected so I think
it's fine.
2022-09-30 17:13:43 -04:00
github-actions[bot]
e93e389e03 Automatic update of ./internal/source 2022-09-30 16:21:22 +00:00
Matt Kilgore
78bfe5ca28
Merge pull request #197 from mkilgore/fix-consts
Fix various CONST issues and add CONST testsuite
2022-09-30 12:04:47 -04:00
Matthew Kilgore
a7cd7884a9 Add CONST tests 2022-09-30 11:23:34 -04:00
Matthew Kilgore
59dd8d3c51 Fix undefined variables in CONST expressions to trigger an error
Overall this is fairly straight forward, `evaluateconst$` has type
information on the parameters for its expressions, but it's not actually
checking that both parameters have a proper type. The result is that
expressions with nonsense values such as undefined variable names end up
just trying to use that nonsense value as an integer.

Fixes: #177
2022-09-26 02:47:08 -04:00
Matthew Kilgore
47682e91c3 Fix _BLUE in CONST
_BLUE is one of the few functions that requires multiple parameters, but
it was not included in the list of functions that require them. The
result is that gets get parsed incorrectly and _BLUE did not work.
Adding it to the check of functions that accept multiple parameters
allows it to work as expected.

Fixes: #195
2022-09-26 02:46:37 -04:00
Matthew Kilgore
53dc4e0467 Fix using _RGBA in CONST
Fairly simple, the order of functions meant that `_RGBA` got picked up
as `_RGB` instead, with the `A` then considered invalid syntax. Fixing
the order allows `_RGBA` to work as expected.

Fixes: #194
2022-09-26 02:46:37 -04:00
github-actions[bot]
2f509a192c Automatic update of ./internal/source 2022-09-24 17:47:06 +00:00
Matt Kilgore
56f27557d9
Merge pull request #190 from mkilgore/release-3.2.1
Version 3.2.1
2022-09-24 13:31:07 -04:00
Matthew Kilgore
191db3fb57 Version 3.2.1 2022-09-24 12:17:36 -04:00