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

100 commits

Author SHA1 Message Date
Samuel Gomes cde0ec533d Remove duplicate DEP_SCREENIMAGE=y 2024-03-30 01:35:41 +05:30
Samuel Gomes 4d771e3a9a Update to llvm-mingw 20240320 for WoA targets 2024-03-24 23:42:50 +05:30
Samuel Gomes ab56aeff93 Reduce memory usage 2024-03-11 08:35:17 +05:30
Samuel Gomes c8e4098fb2 Optimize inline-data generation logic 2024-03-10 18:56:08 +05:30
Samuel Gomes 49bbe94381 Remove objcopy dependency for DATA 2024-03-07 20:18:20 +05:30
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