The border color parameter to PAINT is optional, but sub_paint was not handling that case. What it should do in that situation is keep painting until it finds pixels that are not the same color as the original starting pixel was. Instead it would simply assume border color was valid and paint until it finds color zero (the default parameter value when it's not provided). This was originally reported in QB64Official/qb64#2, and Walt (@TheJoyfulProgrammer) fixed it in QB64Official/qb64#38. Functionally this is the same change, however I'm checking `passed & 4` to see whether a border color was provided rather than `bordercol == NULL`. The later has problems if the provided bordercolor is zero, which is allowed since zero is a valid color. The `passed` argument indicates which of the function arguments were actually provided in the QB64 source that called PAINT. Additionally, along with the `while (true)` loop that Walt changed I went ahead and removed the duplication of the sections for each direction. We now just use a couple of arrays to determine which direction we're checking and loop over all 4. |
||
---|---|---|
.ci | ||
.github/workflows | ||
docs | ||
internal | ||
licenses | ||
source | ||
tests | ||
.clang-format | ||
.gitignore | ||
COPYING.txt | ||
Makefile | ||
qb64pe.1 | ||
README.md | ||
SAMPLES.txt | ||
setup_lnx.sh | ||
setup_osx.command | ||
setup_win.bat |
QB64 Phoenix Edition
QB64 is a modern extended BASIC+OpenGL language that retains QB4.5/QBasic compatibility and compiles native binaries for Windows (Vista and up), Linux and macOS.
Table of Contents
Installation
Download the appropriate package for your operating system over at https://github.com/QB64-Phoenix-Edition/QB64pe/releases/latest
Windows
Make sure to extract the package contents to a folder with full write permissions (failing to do so may result in IDE or compilation errors).
- It is advisable to to whitelist the 'qb64pe' folder in your antivirus/antimalware software *
macOS
Before using QB64-PE make sure to install the Xcode command line tools with:
xcode-select --install
Run ./setup_osx.command
to compile QB64-PE for your OS version.
Linux
Compile QB64-PE with ./setup_lnx.sh
.
Dependencies should be automatically installed. Required packages include OpenGL, ALSA and the GNU C++ Compiler.
Usage
Run the qb64pe
executable to launch the IDE, which you can use to edit your .BAS files. From there, hit F5 to compile and run your code.
To generate a binary without running it, hit F11.
Additionally, if you do not wish to use the integrated IDE and to only compile your program, you can use the following command-line calls:
qb64pe -c yourfile.bas
qb64pe -c yourfile.bas -o outputname.exe
Replacing -c
with -x
will compile without opening a separate compiler window.
Additional Information
More about QB64-PE at our wiki: https://qb64phoenix.com/qb64wiki
We have a community forum at: https://qb64phoenix.com/forum
We don't currently tweet. Sorry.
Find us on Discord: https://discord.gg/D2M7hepTSx