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

1427 commits

Author SHA1 Message Date
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
Roland Heyder
8bdfc942cc Bump version for release 2024-02-28 10:13:36 +01:00
Matthew Kilgore
871da4fc12 Fix divide in CONST
The regular division symbol always converts its arguments to floating
point before dividing, similar to how integer division converts its
arguments to integers before dividing.
2024-02-25 01:36:56 -05: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
59196ca893 Make _WRITEFILE a statement
- rather than a function as suggested by @a740g
2024-02-16 20:26:55 +01:00
Roland Heyder
f51da87249
Merge branch 'main' into read-write-file 2024-02-16 19:01:01 +01:00
Roland Heyder
7d7a7fe22c New functions
- _READFILE$
- _WRITEFILE
2024-02-16 01:37:39 +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
Matthew Kilgore
ada8255572 Fix unsigned multiplication in CONST
Multiplication wasn't using the ParseNum helper methods and as a result
wasn't setting num.ui, resulting in the wrong answer when using
unsigned.

I additionally switch it to use the proper signed vs unsigned type when
doing the multiplication.
2024-02-13 15:59:38 -05:00
Matthew Kilgore
c0ac4c58d0 Fix math evaluator
The math evaluator was not running the input through lineformat before
evaluation, resulting in Evaluate_Expression$() giving the wrong result
since the input wasn't tokenized.
2024-02-13 15:57:17 -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
a7de88dfee 2.) Steve's fixes
- changes to Open/Save dialogs suggested by Steve to avoid adding a second extension
2024-02-07 20:53:53 +01:00
Roland Heyder
cf71beb796 1.) Some case corrections 2024-02-07 20:45:55 +01:00
Roland Heyder
5c08642b80 Some simple refactoring
- adds some useful info to the test docs
- remove handmade CRC32 function
- use new featured function(s) instead
2024-02-03 21:45:45 +01:00
Roland Heyder
6b3842673f Fix return types and results
- return type is uint32_t in C/C++ and ULONGTYPE in QB64
- adler32 must return one (1) on an empty input
2024-02-03 11:25:48 +01:00
Roland Heyder
a84e174b63 Add new _MD5$ fucntion
- exposing the implementations in freetype for public use
2024-02-02 10:37:32 +01:00
Roland Heyder
131009006e Add new _ADLER32 and _CRC32 function
- exposing the implementations in miniz for public use
2024-02-02 10:32:16 +01:00
Roland Heyder
0ce5a8e56e Refactor GetCRC32 function 2024-01-30 21:15:09 +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
13b5d5672b Removed a unused variable
- this popped up as warning during my tests, it comes from @mkilgore its latest CONST changes
2024-01-26 00:56:44 +01: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
Roland Heyder
9bbd125e45 Refactoring ExportAs function
- reduce memory impact
- fix $NOPREFIX issue
- improved checks to avoid faulty highligting of unquoted text in DATA lines and meta lines such as $VERSIONINFO or $ERROR
- fixed a wrong Wiki link (SHELL fucntion)
2024-01-26 00:15:41 +01:00
Matthew Kilgore
1a087609bf Add support for ASC() and CHR$() 2024-01-18 13:00:13 -05: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
Samuel Gomes
360a317481 Version 3.11.0 2024-01-03 16:18:06 +05:30
Samuel Gomes
b32dedf3f0 Change _FQN$ to _FULLPATH$ 2023-12-30 23:35:06 +05:30
Samuel Gomes
d518c9df02
Merge branch 'QB64-Phoenix-Edition:main' into filesystem-refactor-and-update 2023-12-30 22:49:37 +05:30
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
Samuel Gomes
fa395b7c58 Implement func__FQN() 2023-12-29 02:09:02 +05:30
Samuel Gomes
28c9964d09 Add _FILES$ to syntax_highlighter_list.bas 2023-12-28 00:11:51 +05:30
Samuel Gomes
8c61cac457 Merge branch 'filesystem-refactor-and-update' of https://github.com/a740g/QB64pe into filesystem-refactor-and-update 2023-12-28 00:10:52 +05:30
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
Samuel Gomes
5d037775af Add support for _FILES$() 2023-12-15 20:54:11 +05:30
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