FellippeHeitor
745c5bc77f
Fixes F5 not working in *nix systems.
2018-11-02 19:32:02 -03:00
FellippeHeitor
7fa762750b
Adds support for new _RGB32 syntaxes in CONST statements.
2018-11-02 18:47:55 -03:00
SteveMcNeill
687cced581
Changes to CONST and Math Internals
2018-10-31 07:44:57 -04:00
SteveMcNeill
d9392d842a
Fix for $IF/$LET, without breaking $INCLUDE as previous
2018-10-29 15:53:23 -04:00
FellippeHeitor
ba5292c951
Revert "Fix for $LET/$IF"
...
This reverts commit 4787076573
.
A regression was introduced that caused $IF blocks in $INCLUDE files to be ignored.
2018-10-29 11:17:06 -03:00
Luke Ceddia
19f08b51f3
Merge branch 'varstrings_in_types' into development
2018-10-28 00:01:36 +11:00
Luke Ceddia
b912bf09ee
Disallow GET/PUT for variable UDTs
2018-10-28 00:00:29 +11:00
FellippeHeitor
d01e3666d8
Merge branch 'development' of https://github.com/Galleondragon/qb64 into development
2018-10-25 10:07:09 -03:00
Luke Ceddia
4c94b54f10
redim _preserve
2018-10-23 21:23:13 +11:00
Luke Ceddia
daf5cba518
Dynamic arrays (handles arrays in subs too)
2018-10-23 20:36:32 +11:00
Luke Ceddia
683e4f1920
Global static arrays
2018-10-23 12:53:38 +11:00
Luke Ceddia
0eb2b4307f
Process nested UDT's
2018-10-22 18:35:20 +11:00
SteveMcNeill
67af468b7d
Fix memory leak with PRINT USING
...
When USING follows another print in the same statement (such as PRINT
"123"; USING "###"; 456), it created a memory leak due to the temp
variable being created twice and only freed once. This patch corrects
that issue.
2018-10-22 01:02:48 -04:00
SteveMcNeill
4787076573
Fix for $LET/$IF
...
Fix to the precompiler so $IF/$LET work as expected. Adds ability to
see if a precompiler variable is DEFINED or UNDEFINED, to exclude
duplicate code in libraries and such.
2018-10-21 23:01:22 -04:00
Luke Ceddia
18bab24af1
Do element-wise assignment with string copy when necessary
2018-10-21 01:46:52 +11:00
Luke Ceddia
902868a7ee
Allow assignment and access of variable length strings in TYPEs
...
To do:
- arrays of UDT's
- clone qbs on UDT copy
- check for memory leaks
- UDT's declared in subs/functions
2018-10-20 00:13:24 +11:00
FellippeHeitor
14e5866c4b
Another tweak yo isnumber()
2018-10-02 23:31:43 -03:00
FellippeHeitor
78c4de7f6c
Adapts isnumber() to recognize scientific notation.
2018-10-02 01:38:17 -03:00
FellippeHeitor
b29a46d177
Undoes last commit; fix not as easy as initially thought.
2018-10-01 10:27:30 -03:00
FellippeHeitor
f6c068ba19
Properly warns user when a non-_MEM var is used with _MEM functions.
...
Closes #47
2018-09-30 20:54:59 -03:00
FellippeHeitor
bed68767e6
Detects if the last generated binary still exists at F5 or F11.
...
Closes #63
2018-09-30 19:27:05 -03:00
FellippeHeitor
fcf68e093b
Fixes TAB before ELSE bug for the IDE.
2018-09-18 01:03:55 -03:00
FellippeHeitor
09085b614b
New attempt at adding drag/drop to the IDE.
2018-08-01 02:02:07 -03:00
FellippeHeitor
2b0dfb7381
Reverts last broken commit.
...
Compilation worked fine locally; another attempt will be done later.
2018-08-01 01:52:09 -03:00
FellippeHeitor
9a1b8450aa
Enables the IDE to accept files via drag/drop (Windows-only).
2018-07-31 21:59:31 -03:00
FellippeHeitor
024f27a5b5
Indentation work (.bas files). No actual code changes.
2018-07-17 00:01:23 -03:00
FellippeHeitor
19fda93caf
Adds .overloaded and .minargs to idstruct.
...
Allows more functions to be overloaded in the future, like _RGB32.
2018-07-03 00:33:37 -03:00
FellippeHeitor
6ee70f1afa
Makes _RGB32 more flexible and powerful.
...
Existing syntax:
colour~& = _RGB32(red, green, blue)
New possible uses:
- Instead of passing identical rgb values to achieve a shade of gray, pass only 1 parameter for all color components:
colour~& = _RGB32(51) 'same as _RGB32(51, 51, 51)
- _RGB32 can now take an optional alpha parameter, which makes _RGBA32 obsolete (although it still exists for retrocompatibility):
colour~& = _RGB32(255, 0, 255, 30) 'same as _RGBA32(255, 0, 255, 30)
- If you want a shade of gray and also to specify the alpha level, you can pass just two parameters:
colour~& = _RGB32(51, 30) 'same as _RGBA32(51, 51, 51, 30)
In summary:
- 1 parameter = red, green and blue simultaneously set.
- 2 parameters = red, green and blue simultaneously set plus alpha level.
- 3 parameters = red, green and blue as usual.
- 4 parameters = red, green and blue plus alpha level (same as _RGBA32).
2018-07-01 21:46:08 -03:00
Luke Ceddia
c4674e10eb
Make internal/temp if it doesn't exist ( closes #45 )
2018-06-28 22:17:18 +10:00
FellippeHeitor
688e31c0f3
Introduces _ECHO, which will output a string to the console.
...
_ECHO is more of a macro than a new statement, as it'll perform the following actions:
1- Save current _DEST;
2- Switch to _CONSOLE;
3- Print the passed string (only strings accepted);
4- Switch back to previous _DEST.
None of the PRINT features such as USING, numeric variables, retaining the cursor are implemented/planned for this statement.
Closes #29
2018-06-27 23:51:09 -03:00
Emmanuel Bourg
1253c208c7
Moved the string manipulation functions into a separate source file
2018-05-25 10:47:42 +02:00
Emmanuel Bourg
648d16a2c0
Also support GNU style -h and --help options
2018-05-22 23:48:39 +02:00
Luke Ceddia
a58fb4f824
Fix parsing of some file paths
2018-01-27 01:16:41 +11:00
FellippeHeitor
e02a206a67
Fix: alignment of first comment line of a TYPE or DECLARE LIBRARY block.
...
Addresses issue #25 .
2018-01-23 11:52:00 -02:00
Luke Ceddia
61cb34f635
Remove some SDL stuff that was dead weight
2018-01-16 20:56:45 +11:00
Luke Ceddia
3a0e1ae320
Move all executable code out of common.cpp; rename to common.h
2018-01-05 21:22:36 +11:00
Luke Ceddia
8151a0b8b8
Add -p switch for purging precompiled content
2017-12-31 00:33:36 +11:00
FellippeHeitor
9481dbcd16
$INCLUDE linking now points to the line number that caused the last error.
2017-11-05 17:03:26 -02:00
FellippeHeitor
a4fe64329f
Fixes condition that wouldn't allow "null" as a var name is some cases.
...
Declaring a variable called "null" was ok, but passing it to a sub was not.
2017-10-26 21:36:43 -02:00
FellippeHeitor
5a84de731f
Fix to C++ errors due to empty parameters passed to FUNCTIONS.
...
- QB64 now warns users of syntax errors in cases such as a& = _RGB32(255, , 255)
2017-10-23 10:16:06 -02:00
Luke Ceddia
8956a1ee4f
Merge branch 'errorlogging'
2017-10-23 08:19:26 +11:00
FellippeHeitor
1113a11107
And now we try to please *nix systems.
2017-10-22 17:40:59 -02:00
FellippeHeitor
f223cfe028
Restore SUB Build's "count separators" method to please Windows XP.
2017-10-22 17:16:54 -02:00
FellippeHeitor
959307033e
Avoid moving the IDE window to 0,0 in the first run (Windows).
2017-10-17 02:29:47 -02:00
FellippeHeitor
677f5cd2ea
Adds link to compilelog.txt in the Status area when compfailed = 1.
2017-10-15 19:46:16 -03:00
Luke Ceddia
1eef0d29e5
Add c++ error logging for windows too
2017-10-15 18:56:59 +11:00
FellippeHeitor
b62e39b9f9
Tweak to auto-position (IDE) - allows coordinates (0, 0).
2017-10-14 19:52:32 -03:00
FellippeHeitor
cff8ae7561
Make AutoPosition setting default to true.
2017-10-14 17:34:33 -03:00
Luke Ceddia
ecd1897c44
Log C++ errors to temp/compile.log for Linux/OSX
2017-10-15 01:03:38 +11:00
FellippeHeitor
292dbbf49d
Add "Show compilation errors immediately" to Options menu.
...
By unchecking the new switch in the Options menu, the IDE won't warn and "red-light" every single mistake until you tell it to start compilation with F5.
Signed-off-by: FellippeHeitor <fellippeheitor@gmail.com>
2017-10-14 04:09:54 -03:00