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

95 commits

Author SHA1 Message Date
RainRat
8cecb665a2 fix typos 2024-02-28 19:20:10 -08:00
Matt Kilgore
bc073d5e29
Merge branch 'main' into fix-auto-quote-adding 2024-02-22 19:18:20 -05:00
Rick Christy
45b4011a53
Fixes #461 2024-02-21 00:15:33 -05:00
Matthew Kilgore
ccfd5f53d3 Fix off-by-one error with ending quote addition
The math here is wrong, it accounts for the extra quote when doing `-
2`, but obviously that quote is not there in this situation so it should
just be `- 1`. The result of the current logic is that it cuts off the
last character of the string.
2024-02-19 16:40:53 -05:00
Roland Heyder
dedb94223f Fix layout of legacy metacommands
- adjust the case of legacy metacommands according to IDE layout settings
2024-02-16 20:31:46 +01:00
Roland Heyder
f51da87249
Merge branch 'main' into read-write-file 2024-02-16 19:01:01 +01:00
Roland Heyder
4ad1d0dbf4 Fix wrong indention
- this fixes the wrong (additional) indention of the "false" part in precompiler $IF...$ELSE...$ENDIF blocks
2024-02-16 01:30:44 +01:00
Matthew Kilgore
4f4181fbf2 Separate out qbs, command, and error handling
Moves the qbs, command, and error handling APIs into separate .cpp files
in libqb/src/. This makes only minor changes to the actual code beyond
moving the logic, many global variables are left in place to be dealt
with in further changes.

Fixes: #146
2024-02-14 17:21:14 -05:00
Roland Heyder
75dd697444 Fix external dependencies checks
- exclude DECLARE LIBRARY files loaded w/o path from predefined system locations
2024-02-09 18:29:11 +01:00
Steve McNeill
f67803254a Move lineformat to AFTER $metacommands in prepass loop
As per Discord discussion
2024-02-09 02:46:00 -05:00
Steve McNeill
441e978f74 Fix $IF prioritization 2024-02-08 14:43:27 -05:00
Roland Heyder
7c50499c2f 4.) Implements $INCLUDEONCE handling
- placing $INCLUDEONCE in any line in an include file will prevent including the file multiple times (BAS synonym for #pragma once)
- $INCLUDEONCE must be the only thing in the line
- using it in the main program has no effect and will be ignored without error
2024-02-07 21:17:46 +01:00
Roland Heyder
21b9ad99f7 3.) Refactor external dependencies checks
- adds filetype IDs
- now includes DECLARE LIBRARY files
- allows immediate recompile after error whitout the need to make a "fake" change to the program first
2024-02-07 21:04:39 +01:00
Roland Heyder
cf71beb796 1.) Some case corrections 2024-02-07 20:45:55 +01:00
Roland Heyder
ba90208c27 Add external dependencies checks
- tracks required external files for changes and triggers a rebuild if needed
- $EXEICON file
- $MIDISOUNDFONT (incl. the DEFAULT one)
- $INCLUDE (incl. nested ones)
- $EMBED files
- internal includes as forced by $COLOR or $DEBUG
2024-01-30 13:04:03 +01:00
RainRat
f65a74c22a fix typos 2024-01-28 10:37:47 -08:00
Roland Heyder
d83b6d9557 Rename internal $CHECKING flag
- this completes the previous commit, but as it also swapped the true/false logic, it was made as extra commit
2024-01-26 00:51:29 +01:00
Roland Heyder
f24cabd9ad Rename internal meta flags
- mainly done to avoid faulty highlighting, but also makes more sense IMO
2024-01-26 00:43:38 +01:00
Roland Heyder
b8424f1336 Refactoring $ASSERTS:CONSOLE highlighting
- according to other multipart meta-commands, make the CONSOLE part a regular keyword
- grouping meta handling blocks (removed some blank lines)
2024-01-26 00:32:11 +01:00
Matthew Kilgore
90941fffa7 Replace CONSTs while we have the individual elements
This moves the CONST replacement up before we turn the elements into a
single string. The advantage is that we don't have to worry about
splitting the string properly to find the CONST names as the elements
are already split for us.t
2024-01-18 13:00:13 -05:00
SteveMcNeill
ef19a046be fix for CONST issues
Yet again, here's another patch to the patch which patches a patch....  /sigh
2023-12-29 01:12:01 -05:00
Roland Heyder
c3d12c7d22 Bump Version
- added embed info to docs
- finalizing the new release
2023-12-18 15:25:55 +01:00
Roland Heyder
cf378672e0 Moved handle checks
into FUNCTION evaluatefunc, where we have access to tokenized arguments, which makes checking a lot easier
2023-12-17 10:17:31 +01:00
Roland Heyder
b10a055d28 Finetuned handle checks
- better check if _EMBEDDED$ appears inside a string or after a REM or apostrophe
- make sure REM is a valid command and not just part of a variable name
- better enforcement for 'handle' being a single literal string, i.e. not allowing stuff before or after
2023-12-16 16:38:09 +01:00
Roland Heyder
84c9761d51 Fixed include path separators 2023-12-15 19:01:40 +01:00
Roland Heyder
45ffc8c9e6 Minor flow changes
- As suggested by @mkilgore , moved the embed list array reset out of the $EMBED block
- Imposed a 20% least ratio for compression
- Moved the handle comparison into `func__embedded()` to avoid some unnecessary function calls
2023-12-15 00:22:28 +01:00
Roland Heyder
38eed18fc4 Implement file embedding
$EMBED:'filename','handle' and _EMBEDDED$("handle")
2023-12-13 20:49:53 +01:00
SteveMcNeill
1be3e366ac Final fixes to math stuff (I hope)
Fix to CONST with the math evaluator to toss a message and error with values out of acceptable range for ARCSEC and ARCCSC.

Tweak to _PI to add constexpr for speedier execution.

Fix to the math tests for the new (and unbuggy) values for ARCSEC and ARCCSC.
2023-10-31 11:32:22 -04:00
SteveMcNeill
45bf68fad4 Error Report before REDIM, not after 2023-10-30 10:51:14 -04:00
SteveMcNeill
d7498d173c Increase Sub/Function Id Limit
As per #362, this raises the limit in increments from 1,000 to a maximum of 25,000 subs and functions for a single QB64PE program.  If that number is exceeded, the IDE will give an error message. reporting the issue for the user.
2023-10-30 00:43:20 -04:00
Samuel Gomes
5efe08153f
Merge branch 'main' into versioninfo-enhancement 2023-10-15 19:03:30 +05:30
SteveMcNeill
669e20fdea Fix to IDE blowing up from last fix 2023-10-15 02:43:44 -04:00
Samuel Gomes
f03efa2468
Merge branch 'main' into versioninfo-enhancement 2023-10-15 11:39:02 +05:30
SteveMcNeill
1a7e9dd959 Fix to Mod and \ in CONST
As per the sample code below:

Const a = 5 Mod 2.8
Const b = 5 \ 2.8
Print a; "="; 5 Mod 2.8
Print b; "="; 5 \ 2.8

Old output was wrong.  Patch should make the CONST values the same as what QB64 normally generates for us.
2023-10-15 01:24:34 -04:00
SteveMcNeill
ca38a08ce7 Clean up previous patch 2023-10-15 00:04:32 -04:00
SteveMcNeill
3670825280 Patch to CONST
Should fix both of these issues:
https://github.com/QB64-Phoenix-Edition/QB64pe/issues/193
https://github.com/QB64-Phoenix-Edition/QB64pe/issues/224
2023-10-14 23:00:53 -04:00
Samuel Gomes
5db34487c9 Implement #20 with suggestions from #392 2023-10-14 07:07:11 +05:30
Samuel Gomes
db0a96bd6b Prefix remaining math functions to use std:: 2023-10-08 09:05:26 +05:30
Samuel Gomes
49aeccc486 Initial WoA64 and MingW-LLVM support 2023-10-01 08:08:58 +05:30
Samuel Gomes
28d1bf1aac Remove legacy audio code from the compiler 2023-09-22 10:10:04 +05:30
Samuel Gomes
bdc39f4e65 Fix DECLARE DYNAMIC LIBRARY to load shared libraries relative to source without using absolute paths 2023-06-27 11:21:28 +05:30
Samuel Gomes
514e41bdce Correct error message 2023-05-08 01:46:41 +05:30
Samuel Gomes
290081ddb6 Use LONG array instead of INTEGER 2023-05-08 01:11:01 +05:30
Samuel Gomes
60a448fb54 Add _UCHARPOS() to get individual char pixel position 2023-05-07 22:12:47 +05:30
RainRat
3914037c0f fix typos 2023-04-30 15:20:42 -07:00
Matthew Kilgore
075d5bf157 Fix $MidiSoundFont when compiling from command line 2023-04-25 09:48:08 -04:00
Matthew Kilgore
312e31ab0f Fix .h file resolution when compiling via command line
When compiling via the command line (NoIDEMode) the `idepath$` is blank
and `path.source$` contains the path to the source file.
2023-04-25 09:48:08 -04:00
Samuel Gomes
8a9b8a2f25 Update TSF and add SF3 support. Fix $MIDISOUNDFONT behavior 2023-03-26 11:38:03 +05:30
Samuel Gomes
2b6b04e36c Fix to look for header libs relative to the $INCLUDE file 2023-03-24 06:13:21 +05:30
Samuel Gomes
5bd3192491 Fix #124 2023-03-23 05:33:28 +05:30