Since I wanted to make sure that I didn't broke the shaders after converting the shaders to Vulkan, we need to check if all the shaders weren't broken. Since we're talking about like 400 shaders checking all of them is pretty much impossible and even then,
So, the obvious solution was to automate the checking. Not as simple as you'd think, because in 300 of our shaders we use preset variables which without replacing the value like Cemu does, will make the shader error regardless. So I also implemented some functionality that would read the preset values and types out of the rules.txt file and replace them in the shaders using that information. And then we use Khronos' glslang to compile the shaders, using both OpenGL and Vulkan.
The result was that glslang found quite a few errors in some of the shaders, which I fixed in this commit. I'm considering adding this rules.txt parsing and automated shader compilation testing to the build process.
Also, I fixed Clarity's name and description since Monochromia isn't available anymore and Xenoblade's resolution pack had a lot of weird blank lines before their #version declaration, which my converter didn't like.
Resolves https://github.com/slashiee/cemu_graphic_packs/pull/400 since this is a self-made addition since I noticed several other things that I'd like to have been tweaked, plus it wasn't symmetrical and had weird names for the added presets.
- Split "Offline Squad" and "more tickets" into 2 separate mods (#389)
- Offline squad now have mission selector presets.
- Fix issue with the "Equipment - Force type" mod not working for ground weapons (#398)
- Fix issue with the "Materials - Drop ratio" mod when 100% preset was selected (#392)
- Fix issue with the "Treasure Quality" mod with regular presets
(#xx) refers to Github issues.
Reverts everything except main viewports. Seems most below 480
eventually gets used and breaks objects later in game. 1280x720 1 -> 5
stable so far.. But keeping an eye on that one.
As of Cemu 1.15.12b, the textureSrcResolution (textureSrc_Resolution not texture_SrcResolution) uniform used by internal/external resize shaders still gives the native resolution of the game even when a resolution gfx pack is active.
We can just ask for texture resolution ourselves in the shaders as a workaround.
With Cemu 1.15.12 's gl_PointCoord support, night stars now have proper (varying) alpha value. Should be no need for workaround anymore, just scale its size accordingly.
Add: Scaling of world map
Add : 16:10 resolutions
Add : x2 SSAA vert res for 21:9, 48x9
Fix : Better alpha for x2 Subres, rounds to native x2 if possible