Also, minor bug fixes for WS:
-Fixed tilemap viewer for sometimes using the wrong background color
-Fixed the 4-bit RGB color values in the palette viewer having the R and B values swapped
* Code: Add auto-formatting rules for C++ projects (clang-format) and enforce code style via "clang-format" and "dotnet format"
* fix ui format warnings
Gauntlet sets the attributes of unused sprites to 0xFF, which causes them to use both the "invalid" shape mode and the "invalid" sprite mode (which is the stereoscopic flag), this caused mesen to try to display these as 64x64 sprites (doubled to 128x128) and caused the sprites to appear at the top left on some frames (the sprite tiles were wrapping around and fetching from address 0x10100, which changes from frame to frame)
Forcing shape mode 3 to always be 8x8 fixes the problem, but hasn't been confirmed on hardware.
The glitch appeared because of a previous fix to allow mode 3 (stereo) sprites to be shown on the screen, because the game Guranbo expects these to be visible in its character naming screen)
The game sets the sprites to obj mode 3 (by mistake?), which is an unused "stereoscopic" mode for sprites. Mode 3 seems to behave like mode 0 when the global "stereoscopic" flag is not set (previously "green swap"), so the sprites are meant to display normally in this scenario (instead of being hidden like they were before)