1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-01 13:50:36 +00:00
Commit graph

2576 commits

Author SHA1 Message Date
Matthew Kilgore 23ef0aeca8 Add more tests and dynamic library support 2022-05-12 00:21:02 -04:00
Matthew Kilgore d18fc78fcd Formatting 2022-05-12 00:21:02 -04:00
Matthew Kilgore 2a4b637412 Separate _ICON usage from icon.rc
The Makefile was incorrectly tying together _ICON and icon.rc, making it
impossible to use one without the other. To fix this we introduce a new
DEP_ICON_RC flag, which indicates we need to use the icon.rc file (in
addition to regular icon support). DEP_ICON now only indicates we need
to support _ICON, and does not attempt to build the resource
information.
2022-05-12 00:21:02 -04:00
Matthew Kilgore 0fa4fc15ea Fix test 2022-05-12 00:21:02 -04:00
Matthew Kilgore b413028619 Retore errocompilelog, put exes in separate directory
The purpose of moving the EXEs is so that they are not captured in the
build artifacts. They would be nice to have, but they end up being a few
hundred MBs in size so much too large to bother saving.
2022-05-12 00:21:02 -04:00
Matthew Kilgore cfb86d2c8f Stop running windres from qb64.bas
Makefile does this
2022-05-12 00:21:02 -04:00
Matthew Kilgore 31783d9ec2 Copy Makefile to distribution 2022-05-12 00:21:02 -04:00
Matthew Kilgore f2c26ac253 Build CI using make 2022-05-12 00:21:02 -04:00
Matthew Kilgore dedda94a78 Capture compilation error log in tests 2022-05-12 00:21:02 -04:00
Matthew Kilgore f8aeb88f97 Change setup scripts to use make 2022-05-12 00:21:02 -04:00
Matthew Kilgore 30c620cfda Initial qb64.bas changes 2022-05-12 00:21:02 -04:00
Matthew Kilgore c1639b3979 Add basic make build system 2022-05-12 00:21:02 -04:00
Roland Heyder da02b2aa61 Ignore custom TOC tables
No info box is generated for manual "TOC only" tables.
2022-05-11 15:49:00 +02:00
Roland Heyder 1babd153ef Fix template handling
Avoid optional template parameters (usually color specs) leaking into the help text.
2022-05-11 02:01:22 +02:00
Roland Heyder 1db84177f6 Add more UTF-8 replacements 2022-05-10 18:32:33 +02:00
Roland Heyder 965cb4de79 Wiki parser overhaul
Turned almost every stone, work still in progress.
2022-05-10 14:43:53 +02:00
github-actions[bot] 7c324a6aec Automatic update of ./internal/source 2022-05-08 00:30:36 +00:00
Matt Kilgore f2b76392df
Merge pull request #42 from mkilgore/use-exeicon-versioninfo
Use $EXEICON and $VERSIONINFO in qb64.bas, replacing the existing icon.rc file
2022-05-07 20:18:05 -04:00
Matthew Kilgore be814036ec Temporarally add build steps back 2022-05-07 19:57:38 -04:00
Matthew Kilgore 5a81e22879 Bump next version to 0.6.0 2022-05-07 19:57:38 -04:00
Matthew Kilgore 7d7d16c4f6 Use $EXEICON and $VERSIONINFO in qb64.bas 2022-05-07 19:57:38 -04:00
Matt Kilgore 253ab98ed8
Merge pull request #41 from mkilgore/fix-variable-width-font-print
Fix text wrapping on last column with variable width fonts
2022-05-07 19:57:10 -04:00
Matthew Kilgore ba90a51f3e Don't archive test exes 2022-05-06 17:50:07 -04:00
Matthew Kilgore fcec53e55b Fix text wrapping on last column with variable width fonts
Currently there is a bug where if a variable width font is in use and
text printed would exactly fit to the end of the row, it is instead
wrapped and printed on the next line.

Ex. You're printing a character that is 10 pixels wide, starting
from position 90 on an image that is 100 pixels wide. This should fix,
but instead your character will be printed on the next line.

The reason this happens is an off by one error, cursor_x (effectively
the X value passed to LOCATE) is one based even when using a variable
width font where cursor_x represents a pixel location. The location that
check if the next character can fit on the screen never handles the base
one, so it ends up treating the ending Y coordinate as one past where it
will actually end, which makes the code thing the print will go past the
edge of the screen.

To fix we simply subtract one before doing the comparison to give us the
actual ending pixel column.
2022-05-06 17:50:07 -04:00
github-actions[bot] 68281608f3 Automatic update of ./internal/source 2022-05-06 20:54:54 +00:00
Matt Kilgore 8c42b16d29
Merge pull request #38 from mkilgore/versioninfo-num-string
Allow numerical $VERSIONINFO values to set corresponding string values
2022-05-06 16:44:55 -04:00
Matthew Kilgore 2d1e4ec761 Add a few more VERSIONINFO tests 2022-05-06 14:29:37 -04:00
Matthew Kilgore a9fd9551af Allow numerical VersionInfo values to set corresponding string values
The resource file we create contains two separate values for FileVersion
and ProductVersion. Currently, they are actually represented by two
separate values in $VERSIONINFO and effectively require duplicating the
information between them.

My understanding is that the string values should always be the same as
the numerical versions, so to make $VERSIONINFO easier to use this
changes the logic so that setting the numerical version will
automatically also set the string version if values for them are not
provided.
2022-05-06 14:29:37 -04:00
github-actions[bot] 25ab5b92f7 Automatic update of ./internal/source 2022-05-06 18:13:57 +00:00
Matt Kilgore 6880a9352f
Merge pull request #36 from mkilgore/fix-icon-2
Generate icon.rc file on all platforms and copy icon file into temp directory
2022-05-06 14:03:58 -04:00
Matthew Kilgore 0930d51b9c Move some file-related functions into utilities/file.bas 2022-05-06 13:42:35 -04:00
Matthew Kilgore 18c4fc5e5e Add test of relative icon path 2022-05-06 13:42:35 -04:00
Matthew Kilgore a66b9c1ca6 Fix run_tests.sh to report error on failed tests 2022-05-06 13:42:35 -04:00
Matthew Kilgore 3acf3759da Add compile test for combined VERSIONINFO and EXEICON 2022-05-06 13:42:35 -04:00
Matthew Kilgore 55a4d1af1c Verify Windows executable has version information
windres has a handy feature of allowing us to feed it an executable and
it will give an error code depending on whether that executable has a
resource section or not. We can use that feature to create a quick test
to verify the distributable has the resource information on it.
2022-05-06 13:42:35 -04:00
Matthew Kilgore c165476838 Create icon.rc file on all platforms, copy ico file into temp
Previously, the creation of the icon.rc file was restricted to be
Windows only because Windows is the only platform with a use for that
file. Unfortunately, this breaks a fundimental assumption about how the
QB64 C++ generation works, because we only have one set of
`./internal/source` files from which we build all versions of QB64 for
all platforms. Due to that, the built version needs to include all files
needed by all platforms, regardless of which one is doing the building.
So to that end, all platforms should produce the icon.rc, even if it
will not be used on that platform.

Additionally, the path to the icon file in `icon.rc` is problimatic
because it is made into an absolute path. This blocks `qb64.bas` from
using `$EXEICON` because the absolute path is not predictable, as
the location we create ./internal/source will be different from the
location we build ./internal/source. Effectively this means that the
`icon.rc` file in `./internal/source` would always be wrong.

The solution is to not use an absolute path, with the other option being
to have the icon in the same directory as the resource file. This is
actually relatively easy to acomplish since icon files are not terribly
large and we can simply copy it into the temp directory.

Thus, that is what this change does - the specified icon file is copied
into the temp directory as `icon.ico`, which allows use to use
`icon.ico` in the `icon.rc` file and have it always work regardless of
directory.

The internal logic was also cleaned up a bit. The creation of these
files is no longer Windows specific, and the $EXEICON parsing no longer
writes to the `icon.rc` file - rather, the entire thing is generated
together, with both the $VERSIONINFo and $EXEICON depending on which
were provided.
2022-05-06 13:42:35 -04:00
Matt Kilgore cc4b7be017
Merge pull request #37 from mkilgore/run-clang-format
Run `clang-format` on all C and C++ files
2022-05-06 13:42:18 -04:00
Matthew Kilgore 55da5f4ce3 Format other various source files 2022-05-06 13:20:30 -04:00
Matthew Kilgore 1aa8d7a42f Run clang-format on ./internal/c/*cpp files 2022-05-06 13:20:30 -04:00
Steve McNeill a822756306
Merge pull request #31 from SteveMcNeill/main
Update more links
2022-05-05 03:07:42 -04:00
SteveMcNeill ec3d242468 Update more links
Remove more references from old .org site to our new site.
2022-05-03 23:49:57 -04:00
Steve McNeill 5c3d52b345
Merge pull request #24 from SteveMcNeill/main
Update LodePNG library
2022-05-03 10:22:32 -04:00
Steve McNeill 7b6b5c4dde
Merge branch 'main' into main 2022-05-03 09:59:47 -04:00
SteveMcNeill 50eb90f885 Update LodePNG library
from 2012 version to 2022 version, which has been quite improved and sped up.
2022-05-03 02:33:45 -04:00
github-actions[bot] 87ee36daf2 Automatic update of ./internal/source 2022-05-03 06:32:16 +00:00
Steve McNeill f57d8a5222
Merge pull request #19 from SteveMcNeill/main
Add option to menu to make temp files
2022-05-03 02:20:21 -04:00
SteveMcNeill e0dea015fc include path in deleted filename 2022-05-01 19:26:48 -04:00
SteveMcNeill 40ed008e9f Fix to Incorrect flag name 2022-05-01 19:11:38 -04:00
SteveMcNeill 9b87eff34b Capitalize Keywords in QB64.bas 2022-05-01 18:02:15 -04:00
Steve McNeill f1a6d09430
Merge branch 'main' into main 2022-05-01 17:37:44 -04:00