1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-09-04 11:10:15 +00:00
Commit graph

368 commits

Author SHA1 Message Date
FellippeHeitor
e311b9f6ae Fixes bug that would crash the IDE when selecting a disabled menu item.
As discussed in https://www.qb64.org/forum/index.php?topic=738.0
2018-10-30 00:34:23 -03:00
FellippeHeitor
369d522a98 Applies common naming convention and makes _SHL/_SHR functions inline. 2018-10-30 00:32:12 -03:00
Kobolticus
761c34a7f6
Added support for _SHR\_SHL functions 2018-10-29 22:53:36 -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
SteveMcNeill
e2c250a42f Change to _WINDOWSHANDLE to return 64-bit offsets 2018-10-29 08:09:30 -04: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
fc075a5242 Updates WikiParse sub for new wiki formatting (IDE).
Previous wiki software returned html entities instead of actual characters, but the new host has an updated version of mediawiki that does the contrary for some special characters.
2018-09-24 02:29:36 -03:00
FellippeHeitor
fef142085b Minor rewording to Help->About. 2018-09-21 01:33:57 -03:00
FellippeHeitor
071bbad7a6 Merge branch 'development' of https://github.com/Galleondragon/qb64 into development 2018-09-20 12:15:52 -03:00
FellippeHeitor
2d261c8eb1 Removes deprecated Android references from settings. 2018-09-20 12:11:26 -03:00
Fellippe Heitor
c58b5a2800
Update version.bas 2018-09-20 04:31:37 -03:00
FellippeHeitor
fcf68e093b Fixes TAB before ELSE bug for the IDE. 2018-09-18 01:03:55 -03:00
FellippeHeitor
7068ce029e Adds Ctrl+T (toggle comment); Rewords Edit menu options. 2018-09-17 23:46:13 -03:00
FellippeHeitor
d710b9acce Adds "Enable quick navigation" option in the Search menu. +
Allows disabling the Back arrow when navigating a program.
2018-09-17 22:19:10 -03:00
FellippeHeitor
1b7867fd1d Makes ShowLineNumbers default to true when not found in settings. 2018-09-17 21:45:40 -03:00
FellippeHeitor
a4a2b4f6db Fixes $INCLUDE duplication bug when resizing the IDE while compiling. 2018-09-17 21:13:58 -03:00
Fellippe Heitor
1a5a8b97cc
Swap qb64.net and qb64.org as wiki page source.
QB64.net is kept as alternative source for now.

Closes #62.
2018-08-17 18:15:40 -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
5e0ff36205 Adds _ACCEPTFILEDROP as a function to return true (-1) if active/enabled.
Returns 0 otherwise.
2018-07-31 22:23:34 -03:00
FellippeHeitor
ce2d3d4a2f Improves dragging a file onto the IDE when the Open dialog is showing. 2018-07-31 22:08:17 -03:00
FellippeHeitor
9a1b8450aa Enables the IDE to accept files via drag/drop (Windows-only). 2018-07-31 21:59:31 -03:00
FellippeHeitor
975408e2ef _DROPPEDFILE$ now takes an optional index parameter.
- Allows using _DROPPEDFILE as an array ranging from 1 TO _TOTALDROPPEDFILES.
- Using _DROPPEDFILE as an array doesn't reset _TOTALDROPPEDFILES (unlike when reading _DROPPEDFILE$ sequentially with no parameter), so it's necessary to call _FINISHDROP after working with the list of dropped files so it'll be reset.
2018-07-31 10:24:52 -03:00
FellippeHeitor
c83b15eb95 Implements Drag/Drop of files onto a program's window (Windows-only).
New statement:
    _ACCEPTFILEDROP [{ON|OFF}]
    Enables a program to accept files being dropped from a folder.

New functions:
    _TOTALDROPPEDFILES
    Returns the number of files that have been received via drag/drop.

    _DROPPEDFILE$
    Returns the list of files that have been dropped. The function sequentially returns the file list and decreases _TOTALDROPPEDFILES with every read.
2018-07-31 00:23:36 -03:00
FellippeHeitor
ed28f453f0 Adds _TRIM$ (both left and right TRIM). 2018-07-17 02:35:17 -03:00
FellippeHeitor
024f27a5b5 Indentation work (.bas files). No actual code changes. 2018-07-17 00:01:23 -03:00
FellippeHeitor
bc6b427a99 Implements _INSTRREV, to search for the last occurence of a substring.
The statement works as INSTR does but starts from the end of the passed string (or from the specified position) and looks for the passed substring while moving backards.

Takes after VBScript's InStrRev: https://www.w3schools.com/asp/func_instrrev.asp

Closes #51
2018-07-15 16:43:12 -03:00
Fellippe Heitor
a846fdbc4d
OFF/_OFF allowed for _FULLSCREEN and _ALLOWFULLSCREEN (#50)
Closes #49
2018-07-13 18:03:00 -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
FellippeHeitor
4264666130 Adds _SMOOTH function to return current fullscreen antialiasing setting.
Returns true (-1) if enabled.
2018-06-30 17:09:29 -03:00
FellippeHeitor
729a1dd465 Adds new keywords to syntax highlighter. 2018-06-29 12:14:08 -03:00
FellippeHeitor
d911e3d01e Implements _ALLOWFULLSCREEN to set how ALT+ENTER behaves. Closes #22.
Syntax:
    _ALLOWFULLSCREEN [{_STRETCH|_SQUAREPIXELS|_OFF|_ALL}][,{_SMOOTH|_OFF|_ALL}]

Existing _FULLSCREEN statement is not bound by _ALLOWFULLSCREEN's settings, only the ALT+ENTER key combo.
2018-06-29 11:30:14 -03:00
Luke Ceddia
c4674e10eb Make internal/temp if it doesn't exist (closes #45) 2018-06-28 22:17:18 +10:00