1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-09 21:15:12 +00:00
Commit graph

1326 commits

Author SHA1 Message Date
Samuel Gomes 60a448fb54 Add _UCHARPOS() to get individual char pixel position 2023-05-07 22:12:47 +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
Roland Heyder 7038e2527d Fix Wiki downloads (Update all pages)
Better detect deleted/new pages and prevent the problem discussed here: https://qb64phoenix.com/forum/showthread.php?tid=1521
2023-03-19 12:33:24 +01:00
Roland Heyder c52d3bcd28 Add code export abilities
Use File menu > Export As... to export current code as HTML, Rich Text or Wiki example.
2023-03-19 12:27:54 +01:00
Matthew Kilgore 07822586e8 Version 3.6.0 2023-02-19 03:40:00 -05:00
Matthew Kilgore fac5375ea6 Fix DECLARE LIBRARY against stripped .so file
.so files can be stripped such that they contain no "regular" symbol
table but do still contain the "dynamic" symbol table, this is pretty
typical for .so files. QB64-PE is supposed to check both tables when
linking against a .so file, but a bug in ab0c2b18 meant that the second
run of nm with the -D flag to check the dynamic symbol table no longer
happens. The fix is to introduce a new output file for the dynamic run
so that they are handled separately in terms of caching the result.

A new test .so file that only contains a dynamic symbol table was added
to avoid this in the future.

Fixes: #301
2023-02-19 02:10:51 -05:00
Matthew Kilgore 596a8d6092 Fix formatting 2023-02-18 14:50:31 -05:00
Matthew Kilgore df70f7e708 The -o flag should not strip extensions except for .exe
Current the -o flag will strip any "extension" on the provided filename,
which is fairly problimatic on Linux and Mac OS since those executes do
not have other extensions and names like "foobar.v1" will get the ".v1"
stripped off. This can happen on Windows as well if you leave off the
.exe (QB64-PE will add it for you, but also strip off the existing
extension).

QB64-PE stripping off the ".exe" when provided that on Linux and Mac OS
might actually be useful behavior people are relying on (so that they
don't need to provide different names when compiling on Linux/Mac OS) so
we are preserving that and still removing the extension if it is exactly
"EXE", otherwise we now leave it in place.

Fixes: #297
2023-02-18 14:50:31 -05:00
Samuel Gomes e1e6203db9
Merge branch 'QB64-Phoenix-Edition:main' into image-load-from-memory-support 2023-02-13 19:05:48 +05:30
Samuel Gomes e79537e624
Merge branch 'main' into image-load-from-memory-support 2023-02-13 16:24:36 +05:30
Matthew Kilgore e810229d11 Fix _RGB32() optional arguments
The new optional arguments for functions broke _RGB32() because it uses
some custom flags ('overloaded' and 'minargs' on the id Type) to control
its parameter passing. You are allowed passing any number from 1 to 4 args
to `func__rgb32` and there are 4 overloaded C++ functions that will get
picked from. This is different from how this typically would work, with
all 4 parameters always passed and an extra argument to specify the
parameters that were passed.

Rather than change `func__rgb32` I simply adjusted the optional argument
logic to account for the flags used by `_RGB32()` - if the `overloaded`
flag is set, then we don't need to add extra `NULL` parameters for any
parameter that wasn't specified in the argument list. Instead we simply
don't emit anything for those.
2023-02-13 00:25:51 -05:00
Matthew Kilgore 0836cf31eb Format source, apply Option _Explicit in tests 2023-02-12 22:38:50 -05:00
Matthew Kilgore 83533dc319 Add support for optional function arguments
Currently functions only have very limited optional argument support,
this expands it so that we can have more complex sets of optional
arguments for functions, such as multiple arguments where not all need
to be provided. This will be used in the future for some upcoming
functionality.

Note that this does not support any generic optional argument format,
the commas always have to be provided unless an optional argument is at
the end of the parameter list. Thus, if you have a format with two
optional arguments and you want to omit the second, then you need to call
it as 'foo(2, , 3)`, rather than `foo(2, 3)`. This is important for
avoiding ambiguous situations, and is how many SUBs currently function.

The two functions that violate that requirement are INSTR() and
_INSTRREV(), which use the format `[?],?,?` and allow omitting the comma
for the first argument. This format is simply handled as a special case.

Fixes: #303
2023-02-12 22:38:50 -05:00
Samuel Gomes f86d566d7a Merge branch 'image-load-from-memory-support' of https://github.com/a740g/QB64pe into image-load-from-memory-support 2023-02-13 03:52:28 +05:30
Samuel Gomes 52d168ff00 Update to use #305 2023-02-13 03:52:16 +05:30
Roland Heyder 275ca24c9a General refactoring
- things not fitting into the previous commits
2023-02-12 19:47:01 +01:00
Roland Heyder b1c9733420 Removes old code
- unused (commented) code
- no longer needed HTML tag handling (eliminated from Wiki pages)
- #toc/#top link filters removed (those links are supported now)
2023-02-12 19:41:25 +01:00
Roland Heyder dacff9e1b8 Improve local linking for #toc/#top links
- designate the help page header as target for #toc/#top links (Return to Top, Return to Table of Contents in the Wiki)
- include bottom {{PageNavigation}} links
- implement <h4> headings (==== in the Wiki), used as letter anchors in the alphabetic index
2023-02-12 19:32:47 +01:00
Roland Heyder 08b000b71c Skip more useless line feeds
- ignore line feeds after HTML comments and <br> and <br /> tags
2023-02-12 19:20:50 +01:00
Roland Heyder dfa65b8fdd Add more Entities/UTF-8 chars
- adds some 20+ more chars to the list
- re-grouping and some comment changes
2023-02-12 19:13:05 +01:00
Roland Heyder 174a95b052 Change flow logic (Entity/UTF-8 related)
- targets especially links, templates and centered text
- every char must properly run through the Entity/UTF-8 substitution stage
2023-02-12 15:01:21 +01:00
Roland Heyder 6399068293 Change line end detection
- use color bit 7 instead of the CR char to mark the end of a help line
2023-02-12 14:37:51 +01:00
Samuel Gomes 18efb60cc3
Merge branch 'QB64-Phoenix-Edition:main' into image-load-from-memory-support 2023-02-07 18:32:03 +05:30
Samuel Gomes 4c548822d3 Fix arg count for _SNDNEW and type for _COLORCHOOSERDIALOG 2023-02-06 18:50:03 +05:30
Roland Heyder 9c7e067990 Improve Entity/UTF-8 handling
- UTF-8 handling changed to signal missing/unknown chars
- old entity handling (see 1st commit) removed and replaced by a similar method as UTF-8 handling incl. signalling missing/unknown entities
- added dynamic warnings at the top of pages which are using missing/unknown entities or UTF-8
2023-02-02 00:10:31 +01:00
Roland Heyder 01ed59c1d3 Add Interwiki link support
- wikipedia pages can be linked simply as Winkipedia:page instead of the full URL
- advantage: the new syntax can be used in internal links as well and will automatically expanded into external links when clicked
2023-02-02 00:02:05 +01:00
Roland Heyder ceb3d18c1e General refactoring 2023-02-01 23:52:13 +01:00
Roland Heyder 61513cbcd8 Remove obsolete code
- wiki pages have been fixed, so the handling for these old things is no longer required
2023-02-01 23:48:43 +01:00
Roland Heyder 163f6eb6e2 Availability gallery
- add handling for the new separator image
2023-01-19 23:48:22 +01:00
Roland Heyder 12e63da7a4 Fix "Update all pages" process
- ignore local link targets here, only the page name is relevant for download
2023-01-19 23:46:51 +01:00
Roland Heyder 7ad57f5c30 Fix F1 key context help
- fully implements local link targets
2023-01-19 23:45:18 +01:00
Roland Heyder fbc6c128e7 Context work
- rewording of some labels for better spelling and context
2023-01-19 23:41:38 +01:00
Samuel Gomes a62e3cb155
Merge branch 'QB64-Phoenix-Edition:main' into image-load-from-memory-support 2023-01-18 16:57:00 +05:30
Roland Heyder c61757f689 Wiki download refactoring
- removed the old (commented out) curl stuff
- add another note to the error message
- simplified the libcurl download loop to use only EOF and not LOF anymore
- add a hidden external curl fallback option, read comments from line 1140 for more info
2023-01-17 18:41:44 +01:00