diff --git a/src/VirtualConsole/VCGBA/Enhancements/Undarken/79ba8affb269f61c_0000000000000079_ps.txt b/src/VirtualConsole/VCGBA/Enhancements/Undarken/79ba8affb269f61c_0000000000000079_ps.txt new file mode 100644 index 00000000..324342a8 --- /dev/null +++ b/src/VirtualConsole/VCGBA/Enhancements/Undarken/79ba8affb269f61c_0000000000000079_ps.txt @@ -0,0 +1,73 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 79ba8affb269f61c +// Checked against output from mGBA (191/255 = Wii U is 74.90196078431373‬% darker) +// verified on Fire Emblem and Minish Cap +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem128; +layout(location = 1) in vec4 passParameterSem129; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +vec4 R1f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem128; +R1f = passParameterSem129; +R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); +// 0 +backupReg0f = R0f.x; +backupReg1f = R0f.y; +backupReg2f = R0f.z; +backupReg3f = R0f.w; +R0f.x = mul_nonIEEE(backupReg0f, R1f.x); +R0f.y = mul_nonIEEE(backupReg1f, R1f.y); +R0f.z = mul_nonIEEE(backupReg2f, R1f.z); +R0f.w = mul_nonIEEE(backupReg3f, R1f.w); +// export +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w)*float(1.335078534031414); +} diff --git a/src/VirtualConsole/VCGBA/Enhancements/Undarken/rules.txt b/src/VirtualConsole/VCGBA/Enhancements/Undarken/rules.txt new file mode 100644 index 00000000..f5d6f832 --- /dev/null +++ b/src/VirtualConsole/VCGBA/Enhancements/Undarken/rules.txt @@ -0,0 +1,7 @@ +[Definition] +titleIds = 5000010173E00,5000010174000,5000010174100,5000010176100,5000010176000,5000010176200,5000010176D00,5000010176C00,5000010176E00,500001017A000,500001017A100,500001017BA00,500001017A200,500001017BB00,500001017BC00,5000010180100,500001017A400,500001017A300,5000010156700,5000010156600,5000010156800,5000010156A00,5000010156900,5000010156B00,5000010156E00,5000010156C00,5000010156F00,5000010157100,5000010157000,5000010157200,5000010157400,5000010157300,5000010157500,500001015D800,500001015D700,500001015D900,500001015DB00,500001015DA00,500001015DC00,500001015DE00,500001015DD00,500001015DF00,500001015E000,500001015E400,500001015E300,500001015E500,500001015E100,500001015E200,500001016CF00,5000010169700,500001016D000,500001016D100,5000010169800,500001016D200,5000010169A00,5000010169900,5000010169B00,5000010169D00,5000010169C00,5000010169E00,500001016A000,5000010169F00,500001016A100,500001016F200,500001016F100,5000010170900,500001016F400,500001016F300,5000010172C00,500001016F600,500001016F500,5000010172D00,500001016F800,500001016F700,5000010172E00,500001016FA00,500001016F900,5000010172F00,5000010173600,5000010173500,5000010173700,5000010173900,5000010173800,5000010173F00,5000010173B00,5000010173A00,5000010173C00 +name = Undarken +path = "Virtual Console/GBA/Enhancements/Undarken" +description = Undarkens the emulator output.|Made by Zalnor. +#Credits: Zanlor +version = 6 diff --git a/src/VirtualConsole/VCGBA/Graphics/rules.txt b/src/VirtualConsole/VCGBA/Graphics/rules.txt new file mode 100644 index 00000000..31993445 --- /dev/null +++ b/src/VirtualConsole/VCGBA/Graphics/rules.txt @@ -0,0 +1,147 @@ +[Definition] +titleIds = 5000010173E00,5000010174000,5000010174100,5000010176100,5000010176000,5000010176200,5000010176D00,5000010176C00,5000010176E00,500001017A000,500001017A100,500001017BA00,500001017A200,500001017BB00,500001017BC00,5000010180100,500001017A400,500001017A300,5000010156700,5000010156600,5000010156800,5000010156A00,5000010156900,5000010156B00,5000010156E00,5000010156C00,5000010156F00,5000010157100,5000010157000,5000010157200,5000010157400,5000010157300,5000010157500,500001015D800,500001015D700,500001015D900,500001015DB00,500001015DA00,500001015DC00,500001015DE00,500001015DD00,500001015DF00,500001015E000,500001015E400,500001015E300,500001015E500,500001015E100,500001015E200,500001016CF00,5000010169700,500001016D000,500001016D100,5000010169800,500001016D200,5000010169A00,5000010169900,5000010169B00,5000010169D00,5000010169C00,5000010169E00,500001016A000,5000010169F00,500001016A100,500001016F200,500001016F100,5000010170900,500001016F400,500001016F300,5000010172C00,500001016F600,500001016F500,5000010172D00,500001016F800,500001016F700,5000010172E00,500001016FA00,500001016F900,5000010172F00,5000010173600,5000010173500,5000010173700,5000010173900,5000010173800,5000010173F00,5000010173B00,5000010173A00,5000010173C00 +name = Graphics Settings +path = "Virtual Console/GBA/Graphics" +description = Changes the resolution of the game.|Made by Zalnor. +#Credits: Zanlor +version = 6 + +[Default] +$width = 1920 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 1920x1080 (Default) + +GBA Resolutions---------------------------- + +[Preset] +name = ~~~Original GBA Resolutions~~~ +$width = 284 +$height = 160 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 240x160 (Original GBA) +$width = 284 +$height = 160 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 480x320 2x +$width = 569 +$height = 320 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 720x480 3x (480p) +$width = 853 +$height = 480 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 960x640 4x +$width = 1138 +$height = 640 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 1200x800 5x (720p) +$width = 1422 +$height = 800 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 1440x960 6x +$width = 1707 +$height = 960 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + + +[Preset] +name = 1680x1120 7x (1080p) +$width = 1991 +$height = 1120 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + + +[Preset] +name = 1920x1280 8x +$width = 2276 +$height = 1280 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 2160x1440 9x (1440p) +$width = 2560 +$height = 1440 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +#TV Viewports------------------------------------- + +[TextureRedefine] +width = 1920 +height = 1080 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 1920 +overwriteHeight = ($height/$gameHeight) * 1080 + +[TextureRedefine] +width = 1920 +height = 1088 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 1920 +overwriteHeight = ($height/$gameHeight) * 1088 + +#Gamepad Viewports--------------------------------- + +[TextureRedefine] +width = 864 +height = 480 +formats = 0x01a +overwriteWidth = ($width/$GPgameWidth) * 864 +overwriteHeight = ($height/$GPgameHeight) * 480 + +[TextureRedefine] +width = 854 +height = 480 +formats = 0x01a +overwriteWidth = ($width/$GPgameWidth) * 854 +overwriteHeight = ($height/$GPgameHeight) * 480 + +#VC Menu------------------------------------------- +#please add it here if you figure out how to scale the menu seperate, so it can look good at low res diff --git a/src/VirtualConsole/VCN64/Enhancements/Undarken/1494f789ce9ac901_000000000000000f_ps.txt b/src/VirtualConsole/VCN64/Enhancements/Undarken/1494f789ce9ac901_000000000000000f_ps.txt new file mode 100644 index 00000000..b4896b2e --- /dev/null +++ b/src/VirtualConsole/VCN64/Enhancements/Undarken/1494f789ce9ac901_000000000000000f_ps.txt @@ -0,0 +1,69 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader 1494f789ce9ac901 +#ifdef VULKAN +layout(set = 1, binding = 0) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[1]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[1]; +uniform vec2 uf_fragCoordScale; +#endif +// uf_fragCoordScale was moved to the ufBlock +layout(location = 0) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +// 0 +backupReg0f = R0f.x; +backupReg1f = R0f.y; +backupReg2f = R0f.z; +backupReg3f = R0f.w; +R0f.x = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[0].x)); +R0f.y = mul_nonIEEE(backupReg1f, intBitsToFloat(uf_remappedPS[0].y)); +R0f.z = mul_nonIEEE(backupReg2f, intBitsToFloat(uf_remappedPS[0].z)); +R0f.w = mul_nonIEEE(backupReg3f, intBitsToFloat(uf_remappedPS[0].w)); +// export +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w)*float(0); +} diff --git a/src/VirtualConsole/VCN64/Enhancements/Undarken/rules.txt b/src/VirtualConsole/VCN64/Enhancements/Undarken/rules.txt new file mode 100644 index 00000000..f75df6f6 --- /dev/null +++ b/src/VirtualConsole/VCN64/Enhancements/Undarken/rules.txt @@ -0,0 +1,7 @@ +[Definition] +titleIds = 50000101FEA00,50000101FE900,5000010199200,5000010199100,5000010199300,5000010199500,5000010199400,5000010199700,5000010199600,5000010199800,5000010199B00,5000010199A00,5000010199C00,50000101A0E00,50000101A0D00,50000101A1000,50000101A5900,50000101A5800,50000101A5B00,50000101A5A00,50000101AC400,50000101AC600,50000101AC500,50000101B4600,50000101B4500,50000101B4800,50000101B4700,50000101BAF00,50000101BAE00,50000101BB000,50000101BB200,50000101BB100,50000101C5D00,50000101C5C00,50000101C5E00,50000101DA800,50000101DA700,50000101DA900,50000101E6500,50000101E6400,50000101E6700,50000101E6600,50000101EBB00,50000101FE800,50000101FE700 +name = Undarken +path = "Virtual Console/N64/Enhancements/Undarken" +description = Undarkens the emulator output.|Made by Zalnor. +#Credits: Zanlor +version = 6 diff --git a/src/VirtualConsole/VCN64/Graphics/rules.txt b/src/VirtualConsole/VCN64/Graphics/rules.txt new file mode 100644 index 00000000..bbf63b25 --- /dev/null +++ b/src/VirtualConsole/VCN64/Graphics/rules.txt @@ -0,0 +1,203 @@ +[Definition] +titleIds = 50000101FEA00,50000101FE900,5000010199200,5000010199100,5000010199300,5000010199500,5000010199400,5000010199700,5000010199600,5000010199800,5000010199B00,5000010199A00,5000010199C00,50000101A0E00,50000101A0D00,50000101A1000,50000101A5900,50000101A5800,50000101A5B00,50000101A5A00,50000101AC400,50000101AC600,50000101AC500,50000101B4600,50000101B4500,50000101B4800,50000101B4700,50000101BAF00,50000101BAE00,50000101BB000,50000101BB200,50000101BB100,50000101C5D00,50000101C5C00,50000101C5E00,50000101DA800,50000101DA700,50000101DA900,50000101E6500,50000101E6400,50000101E6700,50000101E6600,50000101EBB00,50000101FE800,50000101FE700 +name = Graphics Settings +path = "Virtual Console/N64/Graphics" +description = Changes the resolution of the game.|Made by Zalnor. +#Credits: Zanlor +version = 6 + +[Default] +$width = 1920 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 +$VCPgameWidth = 640 + +[Preset] +category = Resolution: +name = 1920x1080 (Default) +default = 1 + +N64 Resolutions---------------------------------- + +[Preset] +category = Resolution: +name = ~~~Original N64 Resolutions~~~ (4:3) +$width = 853 +$height = 480 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 +$VCPgameWidth = 640 + +[Preset] +category = Resolution: +name = 640x480 (Original N64) (480i) +$width = 853 +$height = 480 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 +$VCPgameWidth = 640 + +[Preset] +category = Resolution: +name = 960x720 (720i) +$width = 1280 +$height = 720 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 +$VCPgameWidth = 640 + +[Preset] +category = Resolution: +name = 1280x960 2x +$width = 1707 +$height = 960 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 +$VCPgameWidth = 640 + +[Preset] +category = Resolution: +name = 1536x1152 (1080i) +$width = 2048 +$height = 1152 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 +$VCPgameWidth = 640 + +[Preset] +category = Resolution: +name = 1920x1440 3x (1440i) +$width = 2560 +$height = 1440 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 +$VCPgameWidth = 640 + +[Preset] +category = Resolution: +name = 2048x1536 +$width = 2731 +$height = 1536 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 +$VCPgameWidth = 640 + +[Preset] +category = Resolution: +name = 2560x1920 (1800i) +$width = 3413 +$height = 1920 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 +$VCPgameWidth = 640 + +[Preset] +category = Resolution: +name = 3200x2400 5x +$width = 4267 +$height = 2400 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 +$VCPgameWidth = 640 + +[Preset] +category = Resolution: +name = 3840x2880 6x (4k) +$width = 5120 +$height = 2880 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 +$VCPgameWidth = 640 + +[Preset] +category = Resolution: +name = 5760x4320 9x (8k) +$width = 7680 +$height = 4320 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 +$VCPgameWidth = 640 + + +#Game Viewports------------------------------------------- + +[TextureRedefine] +width = 1280 +height = 720 +formats = 0x01a,0x011 +overwriteWidth = ($width/1280) * 1280 +overwriteHeight = ($height/720) * 720 + +[TextureRedefine] +width = 640 +height = 480 +formats = 0x01a,0x011 +overwriteWidth = ($width/640) * 640 +overwriteHeight = ($height/480) * 480 + +[TextureRedefine] +width = 960 +height = 720 +formats = 0x01a +overwriteWidth = ($width/960) * 960 +overwriteHeight = ($height/720) * 720 + +#TV Viewports--------------------------------------------- + +[TextureRedefine] +width = 1920 +height = 1080 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 1920 +overwriteHeight = ($height/$gameHeight) * 1080 + +[TextureRedefine] +width = 1920 +height = 1088 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 1920 +overwriteHeight = ($height/$gameHeight) * 1088 + +#Gamepad Viewports----------------------------------------- + +[TextureRedefine] +width = 864 +height = 480 +formats = 0x01a +overwriteWidth = ($width/$GPgameWidth) * 864 +overwriteHeight = ($height/$GPgameHeight) * 480 + +[TextureRedefine] +width = 854 +height = 480 +formats = 0x01a +overwriteWidth = ($width/$GPgameWidth) * 854 +overwriteHeight = ($height/$GPgameHeight) * 480 + +#VC Menu------------------------------------------------- +#please add it here if you figure out how to scale the menu seperate, so it can look good at low res diff --git a/src/VirtualConsole/VCNES/Enhancements/Undarken/d2a97b2fb99411a5_0000000000000079_ps.txt b/src/VirtualConsole/VCNES/Enhancements/Undarken/d2a97b2fb99411a5_0000000000000079_ps.txt new file mode 100644 index 00000000..c61b5041 --- /dev/null +++ b/src/VirtualConsole/VCNES/Enhancements/Undarken/d2a97b2fb99411a5_0000000000000079_ps.txt @@ -0,0 +1,59 @@ +#version 450 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#ifdef VULKAN +#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(set = __vkSet, binding = __vkLocation) +#define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) +#define gl_VertexID gl_VertexIndex +#define gl_InstanceID gl_InstanceIndex +#else +#define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) +#define SET_POSITION(_v) gl_Position = _v +#define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) +#endif +// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL. + +// shader d2a97b2fb99411a5 +#ifdef VULKAN +layout(set = 1, binding = 1) uniform ufBlock +{ +uniform vec4 uf_fragCoordScale; +}; +#else +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 0) out vec4 passPixelColor0; +int clampFI32(int v) +{ +if( v == 0x7FFFFFFF ) + return floatBitsToInt(1.0); +else if( v == 0xFFFFFFFF ) + return floatBitsToInt(0.0); +return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0)); +} +float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; } +void main() +{ +vec4 R0f = vec4(0.0); +float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f; +vec4 PV0f = vec4(0.0), PV1f = vec4(0.0); +float PS0f = 0.0, PS1f = 0.0; +vec4 tempf = vec4(0.0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0f = passParameterSem0; +R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw); +// export +passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w)*float(1.420118343195266); +} diff --git a/src/VirtualConsole/VCNES/Enhancements/Undarken/rules.txt b/src/VirtualConsole/VCNES/Enhancements/Undarken/rules.txt new file mode 100644 index 00000000..2465508d --- /dev/null +++ b/src/VirtualConsole/VCNES/Enhancements/Undarken/rules.txt @@ -0,0 +1,7 @@ +[Definition] +titleIds = 500001012A100,500001012DF00,500001012DE00,500001012E000,500001012E100,500001012E300,500001012E200,500001012E400,500001012E700,500001012E600,500001012E800,500001012F400,500001012F300,500001012F500,500001012F700,500001012F600,500001012F800,5000010106D00,5000010106C00,5000010106E00,5000010107000,5000010106F00,5000010107100,5000010107500,5000010107200,5000010107600,5000010107800,5000010107700,5000010107900,5000010107C00,5000010107B00,5000010107D00,5000010107F00,5000010107E00,5000010108000,5000010108200,5000010108100,5000010108300,5000010108500,5000010108400,5000010108600,5000010108800,5000010108700,5000010108900,5000010108B00,5000010108A00,5000010108C00,5000010113F00,5000010113E00,5000010114000,5000010114200,5000010114100,5000010114300,5000010114500,5000010114400,5000010114600,5000010114800,5000010114700,5000010114900,5000010114A00,5000010119200,5000010119100,5000010119300,500001011A900,5000010119400,500001011AA00,500001011AE00,5000010119500,5000010119700,5000010119800,500001011AC00,500001011AB00,500001011AD00,5000010129800,5000010129700,5000010129900,5000010129A00,5000010129C00,5000010129B00,5000010129D00,5000010129F00,5000010129E00,500001012A000 +name = Undarken +path = "Virtual Console/NES/Enhancements/Undarken" +description = Undarkens the emulator output.|Made by Zalnor. +#Credits: Zalnor +version = 6 diff --git a/src/VirtualConsole/VCNES/Graphics/rules.txt b/src/VirtualConsole/VCNES/Graphics/rules.txt new file mode 100644 index 00000000..f292188b --- /dev/null +++ b/src/VirtualConsole/VCNES/Graphics/rules.txt @@ -0,0 +1,148 @@ +[Definition] +titleIds = 500001012A100,500001012DF00,500001012DE00,500001012E000,500001012E100,500001012E300,500001012E200,500001012E400,500001012E700,500001012E600,500001012E800,500001012F400,500001012F300,500001012F500,500001012F700,500001012F600,500001012F800,5000010106D00,5000010106C00,5000010106E00,5000010107000,5000010106F00,5000010107100,5000010107500,5000010107200,5000010107600,5000010107800,5000010107700,5000010107900,5000010107C00,5000010107B00,5000010107D00,5000010107F00,5000010107E00,5000010108000,5000010108200,5000010108100,5000010108300,5000010108500,5000010108400,5000010108600,5000010108800,5000010108700,5000010108900,5000010108B00,5000010108A00,5000010108C00,5000010113F00,5000010113E00,5000010114000,5000010114200,5000010114100,5000010114300,5000010114500,5000010114400,5000010114600,5000010114800,5000010114700,5000010114900,5000010114A00,5000010119200,5000010119100,5000010119300,500001011A900,5000010119400,500001011AA00,500001011AE00,5000010119500,5000010119700,5000010119800,500001011AC00,500001011AB00,500001011AD00,5000010129800,5000010129700,5000010129900,5000010129A00,5000010129C00,5000010129B00,5000010129D00,5000010129F00,5000010129E00,500001012A000 +name = Graphics Settings +path = "Virtual Console/NES/Graphics" +description = Changes the resolution of the game.|Made by Zalnor. +#Credits: Zalnor +version = 6 + +[Default] +$width = 1920 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 1920x1080 (Default) +default = 1 + +SNES Resolutions----------------------------- + +[Preset] +name = ~~~Original NES Resolutions~~~ +$width = 427 +$height = 240 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 256x240 (Original NES) +$width = 427 +$height = 240 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 512x480 2x (480p) +$width = 853 +$height = 480 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 768x720 3x (720p) +$width = 1280 +$height = 720 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 1024x960 4x +$width = 1707 +$height = 960 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 1280x1200 5x (1080p) +$width = 2133 +$height = 1200 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 1536x1440 6x (1440p) +$width = 2560 +$height = 1440 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + + +[Preset] +name = 1792x1680 7x +$width = 2987 +$height = 1680 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + + +[Preset] +name = 2048x1920 8x (1800p) +$width = 3413 +$height = 1920 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 2304x2106 9x +$width = 3840 +$height = 2106 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +#TV Viewports----------------------------------------- + +[TextureRedefine] +width = 1920 +height = 1080 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 1920 +overwriteHeight = ($height/$gameHeight) * 1080 + +[TextureRedefine] +width = 1920 +height = 1088 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 1920 +overwriteHeight = ($height/$gameHeight) * 1088 + +#Gamepad Viewports------------------------------------- + +[TextureRedefine] +width = 864 +height = 480 +formats = 0x01a +overwriteWidth = ($width/$GPgameWidth) * 864 +overwriteHeight = ($height/$GPgameHeight) * 480 + +[TextureRedefine] +width = 854 +height = 480 +formats = 0x01a +overwriteWidth = ($width/$GPgameWidth) * 854 +overwriteHeight = ($height/$GPgameHeight) * 480 + +#VC Menu +#please add it here if you figure out how to scale the menu seperate, so it can look good at low res diff --git a/src/VirtualConsole/VCSNES/Graphics/rules.txt b/src/VirtualConsole/VCSNES/Graphics/rules.txt new file mode 100644 index 00000000..1d8ec60b --- /dev/null +++ b/src/VirtualConsole/VCSNES/Graphics/rules.txt @@ -0,0 +1,148 @@ +[Definition] +titleIds = 500001012A800,500001012E900,500001012EC00,500001012EE00,500001012ED00,500001012EF00,5000010130200,5000010130400,5000010130300,5000010130500,5000010130700,5000010130600,5000010130800,5000010130A00,5000010130900,5000010130B00,5000010108F00,5000010108E00,5000010109000,5000010109200,5000010109100,5000010109300,5000010109500,5000010109400,5000010109600,5000010109800,5000010109700,5000010109900,5000010109D00,5000010109C00,5000010109E00,5000010109F00,500001010A100,500001010A000,500001010A200,500001010A400,500001010A600,500001010A500,500001010A700,500001010A900,500001010A800,500001010AA00,5000010114C00,5000010114B00,5000010114D00,5000010115000,5000010114F00,5000010115100,5000010115300,5000010115200,5000010115400,5000010115A00,5000010115B00,5000010119A00,5000010119900,5000010119B00,5000010119D00,5000010119C00,5000010119E00,500001011A000,5000010119F00,500001011A100,500001011A200,500001011A400,500001011A300,500001011A500,500001012A200,500001012A300,500001012A600,500001012A500,500001012AD00,500001012A700,500001014B300,0500001014B300,5000010151600,5000010153D00,5000010153E00,5000010153F00,5000010154000,5000010159100,5000010159000,5000010159200,5000010159300,5000010130D00,5000010130C00,5000010130E00,5000010133400,5000010133300,5000010133500,5000010134700,5000010134600,5000010136000,5000010134B00,5000010134A00,5000010134C00,5000010134D00,5000010135C00,5000010137300,5000010137400,5000010137500,5000010137600,5000010137700,5000010137A00,5000010138000,5000010137B00,5000010140C00,5000010140E00,5000010140D00,5000010140F00,5000010141200,5000010141100,5000010141300,5000010141400,5000010141500,5000010141700,5000010141600,5000010141800,5000010141A00,5000010141900,5000010141B00,5000010141D00,5000010141C00,5000010141E00,5000010141F00,5000010143700,5000010143C00,500001014B000 +name = Graphics Settings +path = "Virtual Console/SNES/Graphics/Resolution" +description = Changes the resolution of the game.|Made by Zalnor. +#Credits: Zalnor +version = 6 + +[Default] +$width = 1920 +$height = 1080 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 1920x1080 (Default) +default = 1 + +SNES Resolutions----------------------------- + +[Preset] +name = ~~~Original SNES Resolutions~~~ +$width = 796 +$height = 448 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 512x448 (Original SNES) (480p) +$width = 796 +$height = 448 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 1024x896 2x (720p) +$width = 1593 +$height = 896 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 1536x1344 3x (1080p) +$width = 2389 +$height = 1344 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 2048x1792 4x (1800p) +$width = 3186 +$height = 1792 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 2560x2240 5x (4K) +$width = 3982 +$height = 2240 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 3072x2688 6x +$width = 4779 +$height = 2688 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + + +[Preset] +name = 3584x3136 7x (5k) +$width = 5575 +$height = 3136 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + + +[Preset] +name = 4096x3584 8x (6k) +$width = 6371 +$height = 3584 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +[Preset] +name = 4608x4032 9x (7k) +$width = 7168 +$height = 4032 +$gameWidth = 1920 +$gameHeight = 1088 +$GPgameWidth = 864 +$GPgameHeight = 480 + +#TV Viewports----------------------------------------- + +[TextureRedefine] +width = 1920 +height = 1080 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 1920 +overwriteHeight = ($height/$gameHeight) * 1080 + +[TextureRedefine] +width = 1920 +height = 1088 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 1920 +overwriteHeight = ($height/$gameHeight) * 1088 + +#Gamepad Viewports------------------------------------- + +[TextureRedefine] +width = 864 +height = 480 +formats = 0x01a +overwriteWidth = ($width/$GPgameWidth) * 864 +overwriteHeight = ($height/$GPgameHeight) * 480 + +[TextureRedefine] +width = 854 +height = 480 +formats = 0x01a +overwriteWidth = ($width/$GPgameWidth) * 854 +overwriteHeight = ($height/$GPgameHeight) * 480 + +#VC Menu +#please add it here if you figure out how to scale the menu seperate, so it can look good at low res