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

1458 commits

Author SHA1 Message Date
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
Roland Heyder
1358716115 Fixing tests
forget AddQuotes$(), rather make file.bas self-contained using CHR$(34)
2023-12-13 22:11:14 +01:00
Roland Heyder
38eed18fc4 Implement file embedding
$EMBED:'filename','handle' and _EMBEDDED$("handle")
2023-12-13 20:49:53 +01:00
SteveMcNeill
79d48113f2 IDE Module Error Fix
When loading a font, and that  font wasn't found, we were tossing an IDE Module Error at the users.  This corrects that glitch and even pops up a notification letting them know that the font wasn't found, before reverting back to the old font handle.
2023-12-08 12:48:47 -05:00
SteveMcNeill
442f620dbe Chance IDE save method as discussed on Discord
String manipulation has too much overhead for larger files to write all at once.   The best write speeds, from multiple testing experiments in various conditions, come from simply using PUT to place the data line by line to the drive.

This change reflects that method of file saving.
2023-11-28 16:04:05 -05:00
SteveMcNeill
f5800fe9a7 Move IF outside of loop for efficiency 2023-11-07 16:32:02 -05:00
SteveMcNeill
0ec0dd62f3 Update QB64PE for faster file saving
As per the discussion here: https://qb64phoenix.com/forum/showthread.php?tid=2144
2023-11-07 14:36:34 -05: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
SteveMcNeill
61e0ef72ee swap types to proper order 2023-10-18 19:18:31 -04:00
SteveMcNeill
2a6cc27ee1 rework CLS specialformat so 2nd comma is required if using the 3rd param. 2023-10-18 09:19:54 -04:00
SteveMcNeill
9854955d99 Add Support for optional paramter for an image handle to CLS 2023-10-18 08:01:12 -04:00
Steve McNeill
4138f0a09c
Merge branch 'main' into main 2023-10-15 10:54:10 -04:00
Samuel Gomes
5efe08153f
Merge branch 'main' into versioninfo-enhancement 2023-10-15 19:03:30 +05:30
SteveMcNeill
f27a9129d0 Wait for key release before running
Issue #290
2023-10-15 08:26:16 -04:00
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
087f02bb73 Version 3.9.1 2023-10-08 06:12:30 +05:30
Samuel Gomes
bc8047563e Fix MENU ITEM [Run #Only (No EXE) NOT IMPLEMENTED! 2023-10-05 22:20:38 +05:30
Samuel Gomes
3d85819279 Version 3.9.0 2023-10-04 21:20:24 +05:30
Samuel Gomes
49aeccc486 Initial WoA64 and MingW-LLVM support 2023-10-01 08:08:58 +05:30
Samuel Gomes
87a99c3970 Make _MEMSOUND channel parameter optional 2023-09-22 19:14:30 +05:30
Samuel Gomes
dae6beba08 Few IDE menu cosmetic fixes 2023-09-22 10:28:39 +05:30
Samuel Gomes
28d1bf1aac Remove legacy audio code from the compiler 2023-09-22 10:10:04 +05:30
Roland Heyder
7cd648c143 Feature request
see https://qb64phoenix.com/forum/showthread.php?tid=2017&pid=19971#pid19971
2023-09-22 00:34:19 +02:00
Samuel Gomes
586371dc77 Implement _SAVEIMAGE 2023-09-17 11:52:54 +05:30
SteveMcNeill
73fd7264a5 Patch to CopyFile
Fix to blank file before writing so larger files don't corrupt data when overwritten by smaller ones.
2023-09-03 13:31:53 -04:00
Samuel Gomes
1a43246c65 Add additional case sensitive file filters for *nix 2023-08-24 22:07:13 +05:30
Samuel Gomes
1fc5792d57 Default_StartDir is now shared between SaveFile() & OpenFile() 2023-08-24 21:57:35 +05:30
Samuel Gomes
634bee63eb Fix save dialog filter 2023-08-23 00:51:00 +05:30
Samuel Gomes
3b44191330 Make SaveFile$ return "C" on cancel 2023-08-23 00:01:48 +05:30
SteveMcNeill
adf46cdf62 Add GUI option to #Save
Correct glitch on not canceling properly with GUI input.
2023-07-11 22:05:10 -04:00
SteveMcNeill
00921c6d84 Savefile GUI added to IDE
Added the ability to use the Save Dialogs in the IDE.
2023-07-11 10:49:58 -04:00
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
Roland Heyder
ed9a4f773d Version 3.8.0 2023-06-13 14:45:29 +02:00
Samuel Gomes
90d3be11d3 Merge branch 'audio-enhancements' of https://github.com/a740g/QB64pe into audio-enhancements 2023-06-10 02:35:28 +05:30
Samuel Gomes
40840a236f Fix SOUND specialformat 2023-06-10 02:35:27 +05:30
Samuel Gomes
4a70d88dee
Merge branch 'QB64-Phoenix-Edition:main' into audio-enhancements 2023-06-10 02:28:48 +05:30
Samuel Gomes
3f16e3c9d1 Add volume, panning & waveform support for SOUND 2023-06-10 02:24:05 +05:30
Roland Heyder
3393f899bb Some refactoring
- also fix meta command color in new forum export
2023-06-09 15:58:54 +02:00
Roland Heyder
8eda570604 Improves code export
- added ability to export as new [qb=export] Forum codebox
- Forum/Wiki exports now go to the clipboard and can directly be pasted into the Forum post or Wiki page
2023-06-09 10:37:03 +02:00
Samuel Gomes
381e5ab0e9
Merge branch 'main' into ucharpos-enhancement 2023-05-08 18:04:22 +05:30
Samuel Gomes
47c3cac56a
Merge branch 'QB64-Phoenix-Edition:main' into dialog-fixes 2023-05-08 02:00:22 +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
Samuel Gomes
c6b8524739 Improve dialog functions using #305 & make string options case insensitive 2023-05-02 00:19:33 +05:30
RainRat
3914037c0f fix typos 2023-04-30 15:20:42 -07:00
Matthew Kilgore
35d9808377 Version 3.7.0 2023-04-29 21:02:49 -04:00
Samuel Gomes
9870510b04
Merge branch 'QB64-Phoenix-Edition:main' into font-FreeTypeAmalgam 2023-04-28 20:57:28 +05:30
Samuel Gomes
3dd439e625 Change function names 2023-04-26 22:36:24 +05:30
Samuel Gomes
2d650cf1fe Fix GetStringPixelWidth() 2023-04-26 21:37:36 +05:30
Samuel Gomes
c033c624ac Add support for _UPrint*() 2023-04-26 17:36:09 +05:30
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
e4b36ca8ad Add font load-from-memory support 2023-04-20 09:23:13 +05:30
Roland Heyder
c2df60db6f Fix pre-compiler highlighting
- in pre-compiler lines, the regular keywords such as AND, OR, XOR and the final THEN are rendered with meta command color
2023-03-28 23:43:46 +02:00
Roland Heyder
84e51c20e2 Add link titles in HTML export
- titles are usually shown as tool tip in a browser
- almost useless, but made to be in line with Wiki behavior
2023-03-28 12:43:33 +02:00
Roland Heyder
a34907edef Export finetuning
- strip useless line feeds after last code line
- fix some wrong wiki links
2023-03-28 10:19:17 +02: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
Roland Heyder
da5f789fd3 Fix File menu
Fix a bad interaction between "Export As" and the recent files list.
2023-03-20 01:30:55 +01:00
Roland Heyder
9d9e063b67 Multiple IDE instance fix
When exporting "Untitled" code, then take current IDE instance into account.
2023-03-19 22:56:11 +01:00