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