Precompute all 16 5-bit RGB palette colours into 8-bit RGBA to avoid
repeated and superfluous calculation within the nested loop at the
point of index lookup.
A speedup was observed, from ~7ms, to a consistent 1ms
(i.e. now practically instantaneous) through timing with
std::chrono::high_resolution_clock.
Also improve comprehensibility, by using meaningful names, where
appropriate, for loop counter variables.
* implement channels
* rework power-down support, fixing bugs
* fix bug when W_BeaconInterval is zero
* fix potential missing IRQs when writing to W_IE
GitHub Actions' macOS runners have Python from homebrew installed and it's used by default instead of the Python that ships with macOS. Apparently Homebrew decided you shouldn't be able to install stuff with `pip3` anymore so our build broke since `setuptools` is no longer included by default and `glib` from vcpkg needs it to build.
Additionally,, the whole liblzma mess ended up breaking our builds too because libarchive (and its dependency libxml2) depends on it and the download is no longer available. The build option changes here should be reverted once this is sorted out because this is probably partially breaking archive support.
PS: Fuck you Jia Tan.
Should remove the artifacts caused by the previous nearest
resampling. May be worth replacing with something better in the
future, but this is an improvement for now.
* check if an nds save file can be opened for writing
also add the ability to open a file in append mode
* fix multi-instance saves
also move the check for file writability into a separate function (probably uneeded?)
* implement check for gba roms
* move rom load error messages into the functions
also finish gba slot (oops)
* improve error string
* check write perms before saving path settings
* fix memory leak
* check for writability of firmware/nand/sds
* add secondary checks for nand/firmware
* add check for config file being writable
* Return the file write error as a QString to avoid the invalid char*
causing a garbled error message.
Qt wants it as QString either way.
* Switch to using Qt 6
* Use Ubuntu 22.04 for newer dependency versions
* Combine AppImage and regular x86_64 builds so it doesn't have to build twice
* Misc cleanup
* Use macOS 14 M1-based runners for macOS CI
* Hopefully make the universal build erroring not fail the build (does sometimes with delete-artifact)
* Update vcpkg version