1) Remove Win SDK headers directory (src/archutils/Win32/ddk)
2) Update files including Win SDK headers to instead use the version installed by Visual Studio Installer
3) Update INSTALL.md
Note: this commit does not enforce using a specific version of the Windows SDK, but does everything needed to use the locally installed Windows SDK instead of files distributed with the source code to enforce using a particular version.
Users attempting to build the beta branch with GCC 12, 13 or 14 have a failure here due to the std::uint_8 data type.
The reason I changed it to an unsigned instead of including <cstdint> is because behavior on versions of GCC 12 and up were not consistent. I changed it to an unsigned because all versions of GCC were happy with that.
bApproximate is left over from long ago when the method to retrieve the system time might be 32-bit only or need correction. This is no longer needed, and already commented out of several sections of the sm5.1 base code. It can't be removed all at once just by deleting every instance of bApproximate, because it often refers to pointers that go elsewhere. so, this is the first part of a multi-stage removal process.
Other changes: remove samplerate() macro from RageSound, change some implicit casts to explicit.
Implements a static boolean to track the CheckGameLoopTimerSkips preference, so that it isn't calling PREFSMAN via CheckGameLoopTimerSkips in a tight loop. Since this setting is rarely used, and isn't expected to be changed while the game is open, it doesn't need to be continuously checked.
Reduce the input device check from every 500 frames to every 255 frames by way of replacing the modulo 500 with a wrapping uint8_t. A bit faster reaction during device plug-in is nice, and using a simple pre-increment instead of doing a modulo is a little more efficient.
This commit removes old translations from Translations.xml which are probably unneeded and unwanted, but also improves commentary so people will be better equipped to write their own translations.
Thanks @bkirz for pointing this out 👍
Attempt to fix the failing CI for the short term.
The existing workflow file still works on my personal fork, but for some reason doesn't on the main project.
Both come out to the same amount of target latency (as does 32x256, etc) however RageSoundDriver.h defines samples_per_block as 512, so this aims to have chunksize_frames equal 512.
It also defines a constant to define the quantity of buffers so it's not hardcoded in various places and puts the variables in an anonymous namespace.
PIU Pro uses blue notes for quarter notes and red notes for eighth
notes, but AFAIK nobody likes this color arrangement. Match all the
other 4 panel noteskins.
Keep around the old one as delta-note-pro.
The warning inside the loop makes the log too messy and is too much of a performance hit on very low end hardware.
I'm changing it to remove the mid-loop logging and only return a logged warning on a failure.
gluGetString, gluBuild2DMipmaps, and gluErrorString are all functions from the GLU library, which is not part of OpenGL.
This lets the game run without libGLU1 (or whatever it's called on a given distro).
Update README.md