C23 introduced `true` and `false` as language keywords, breaking YQ2s
use of them. The first attempt to get C23 was to use the buildin `bool`
type when building in C23 mode and the classic enum based `qboolean`
in any other mode. This didn't take into acount, that `bool` is 1 byte
long, while the enum based `qboolean` is 4 bytes long. This breaks
savegames and may have impact for mods.
Fix this by always using `int` as `qboolean` and the buildin `true` and
`false` types, either in their C99 or C23 variant. This way `qboolean`
is always 4 bytes long and the newly introduced `true` and `false`
keywords don't clash.
Suggested by @DanielGibson.
xatrix had only one potential problematic use case, putting an int into
qboolean. It would have worked if qboolean is a bool, but better do it
right. No functional change intended.
This is a preparation of an upcoming Linux/aarch64 build. While here
switch back to Ubuntu 22.04 as builder, we should use the same Ubuntu
version everywhere.
This is equivalent to the CI workflows added to the yquake2 main
repository. The workflows are triggered on commit, for new pull
requests and when the pull request branch is updated. The CI is
mostly for providing users with up to date test builds.
This enables the `aimfix` cvar for the super shotgun. While here add the
same fix to the phalanx, which is just a super shotgun with plasma
instead of shells.
This was made possible by id Software rereleasing the unaltered addon
sources codes under GPL2:
https://github.com/id-Software/quake2-rerelease-dll/
All past contributors but one agreed with the relicensing:
* Andrey Nazarov - @skullernet
* Angus Freudenberg - @afreuden
* @BjossiAlfreds
* @DanielGibson
* David Carlier - @devnexen
* Denis Pauk - @0lvin
* @De-Seppe
* Jaime Moreira - @protocultor
* Joshua Scoggins - @DrItanium
* Mitchell Richters - @mjr4077au
* @NeonKnightOA
* Scott - @Pickle
* svdijk - @svdijk
* Yamagi
@Dremor8484 didn't give their permission, their commits were reverted:
* 368df08
* 44e50a1
* 04868b7
Many thanks to all involved with this project!