diff --git a/Source/MarioParty10_Resolution/5ce4bcf08c2aa688_0000000000000000_vs.txt b/Source/MarioParty10_Resolution/5ce4bcf08c2aa688_0000000000000000_vs.txt new file mode 100644 index 00000000..1de6a9fa --- /dev/null +++ b/Source/MarioParty10_Resolution/5ce4bcf08c2aa688_0000000000000000_vs.txt @@ -0,0 +1,267 @@ +#version 420 +#extension GL_ARB_texture_gather : enable +#extension GL_ARB_separate_shader_objects : enable +#extension GL_ARB_shading_language_packing : enable +// shader 5ce4bcf08c2aa688 +// Used for: Bloom +const float resXScale = ($width/$gameWidth); +const float resYScale = ($height/$gameHeight); + + +uniform ivec4 uf_remappedVS[6]; +uniform vec2 uf_windowSpaceToClipSpaceTransform; +layout(location = 0) in uvec4 attrDataSem0; +layout(location = 1) in uvec4 attrDataSem1; +out gl_PerVertex +{ + vec4 gl_Position; + float gl_PointSize; +}; +layout(location = 0) noperspective out vec4 passParameterSem1; +layout(location = 1) noperspective out vec4 passParameterSem2; +layout(location = 2) noperspective out vec4 passParameterSem3; +layout(location = 3) noperspective out vec4 passParameterSem4; +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){return mix(0.0, a*b, (a != 0.0) && (b != 0.0));} +void main() +{ +ivec4 R0i = ivec4(0); +ivec4 R1i = ivec4(0); +ivec4 R2i = ivec4(0); +ivec4 R3i = ivec4(0); +ivec4 R4i = ivec4(0); +ivec4 R5i = ivec4(0); +ivec4 R6i = ivec4(0); +ivec4 R7i = ivec4(0); +ivec4 R8i = ivec4(0); +ivec4 R9i = ivec4(0); +ivec4 R10i = ivec4(0); +ivec4 R11i = ivec4(0); +ivec4 R12i = ivec4(0); +ivec4 R13i = ivec4(0); +ivec4 R14i = ivec4(0); +ivec4 R15i = ivec4(0); +ivec4 R16i = ivec4(0); +ivec4 R17i = ivec4(0); +ivec4 R18i = ivec4(0); +ivec4 R19i = ivec4(0); +ivec4 R20i = ivec4(0); +ivec4 R21i = ivec4(0); +ivec4 R22i = ivec4(0); +ivec4 R23i = ivec4(0); +ivec4 R24i = ivec4(0); +ivec4 R25i = ivec4(0); +ivec4 R26i = ivec4(0); +ivec4 R27i = ivec4(0); +ivec4 R28i = ivec4(0); +ivec4 R29i = ivec4(0); +ivec4 R30i = ivec4(0); +ivec4 R31i = ivec4(0); +ivec4 R32i = ivec4(0); +ivec4 R33i = ivec4(0); +ivec4 R34i = ivec4(0); +ivec4 R35i = ivec4(0); +ivec4 R36i = ivec4(0); +ivec4 R37i = ivec4(0); +ivec4 R38i = ivec4(0); +ivec4 R39i = ivec4(0); +ivec4 R40i = ivec4(0); +ivec4 R41i = ivec4(0); +ivec4 R42i = ivec4(0); +ivec4 R43i = ivec4(0); +ivec4 R44i = ivec4(0); +ivec4 R45i = ivec4(0); +ivec4 R46i = ivec4(0); +ivec4 R47i = ivec4(0); +ivec4 R48i = ivec4(0); +ivec4 R49i = ivec4(0); +ivec4 R50i = ivec4(0); +ivec4 R51i = ivec4(0); +ivec4 R52i = ivec4(0); +ivec4 R53i = ivec4(0); +ivec4 R54i = ivec4(0); +ivec4 R55i = ivec4(0); +ivec4 R56i = ivec4(0); +ivec4 R57i = ivec4(0); +ivec4 R58i = ivec4(0); +ivec4 R59i = ivec4(0); +ivec4 R60i = ivec4(0); +ivec4 R61i = ivec4(0); +ivec4 R62i = ivec4(0); +ivec4 R63i = ivec4(0); +ivec4 R64i = ivec4(0); +ivec4 R65i = ivec4(0); +ivec4 R66i = ivec4(0); +ivec4 R67i = ivec4(0); +ivec4 R68i = ivec4(0); +ivec4 R69i = ivec4(0); +ivec4 R70i = ivec4(0); +ivec4 R71i = ivec4(0); +ivec4 R72i = ivec4(0); +ivec4 R73i = ivec4(0); +ivec4 R74i = ivec4(0); +ivec4 R75i = ivec4(0); +ivec4 R76i = ivec4(0); +ivec4 R77i = ivec4(0); +ivec4 R78i = ivec4(0); +ivec4 R79i = ivec4(0); +ivec4 R80i = ivec4(0); +ivec4 R81i = ivec4(0); +ivec4 R82i = ivec4(0); +ivec4 R83i = ivec4(0); +ivec4 R84i = ivec4(0); +ivec4 R85i = ivec4(0); +ivec4 R86i = ivec4(0); +ivec4 R87i = ivec4(0); +ivec4 R88i = ivec4(0); +ivec4 R89i = ivec4(0); +ivec4 R90i = ivec4(0); +ivec4 R91i = ivec4(0); +ivec4 R92i = ivec4(0); +ivec4 R93i = ivec4(0); +ivec4 R94i = ivec4(0); +ivec4 R95i = ivec4(0); +ivec4 R96i = ivec4(0); +ivec4 R97i = ivec4(0); +ivec4 R98i = ivec4(0); +ivec4 R99i = ivec4(0); +ivec4 R100i = ivec4(0); +ivec4 R101i = ivec4(0); +ivec4 R102i = ivec4(0); +ivec4 R103i = ivec4(0); +ivec4 R104i = ivec4(0); +ivec4 R105i = ivec4(0); +ivec4 R106i = ivec4(0); +ivec4 R107i = ivec4(0); +ivec4 R108i = ivec4(0); +ivec4 R109i = ivec4(0); +ivec4 R110i = ivec4(0); +ivec4 R111i = ivec4(0); +ivec4 R112i = ivec4(0); +ivec4 R113i = ivec4(0); +ivec4 R114i = ivec4(0); +ivec4 R115i = ivec4(0); +ivec4 R116i = ivec4(0); +ivec4 R117i = ivec4(0); +ivec4 R118i = ivec4(0); +ivec4 R119i = ivec4(0); +ivec4 R120i = ivec4(0); +ivec4 R121i = ivec4(0); +ivec4 R122i = ivec4(0); +ivec4 R123i = ivec4(0); +ivec4 R124i = ivec4(0); +ivec4 R125i = ivec4(0); +ivec4 R126i = ivec4(0); +ivec4 R127i = ivec4(0); +uvec4 attrDecoder; +int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i; +ivec4 PV0i = ivec4(0), PV1i = ivec4(0); +int PS0i = 0, PS1i = 0; +ivec4 tempi = ivec4(0); +float tempResultf; +int tempResulti; +ivec4 ARi = ivec4(0); +bool predResult = true; +vec3 cubeMapSTM; +int cubeMapFaceId; +R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID); +attrDecoder.xyz = attrDataSem0.xyz; +attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24)); +attrDecoder.w = 0; +R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0)); +attrDecoder = attrDataSem1; +attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24)); +R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w)); +// 0 +PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(uf_remappedVS[0].y))); +PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedVS[0].x))); +R5i.w = 0x3f800000; +R127i.x = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedVS[1].y)); +PS0i = R127i.x; +// 1 +PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.z) + intBitsToFloat(uf_remappedVS[2].x)); +PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(uf_remappedVS[2].y)); +PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_remappedVS[1].x)); +// 2 +R1i.x = uf_remappedVS[3].x; +PV0i.y = floatBitsToInt(intBitsToFloat(PV1i.x) * intBitsToFloat(PS1i)); +PV0i.y = floatBitsToInt(intBitsToFloat(PV0i.y) * 2.0); +R5i.z = uf_remappedVS[2].z; +PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) * intBitsToFloat(R127i.x)); +PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) * 2.0); +R1i.y = uf_remappedVS[3].y; +PS0i = R1i.y; +// 3 +R5i.x = floatBitsToInt(intBitsToFloat(PV0i.y) + -(1.0)); +R0i.y = uf_remappedVS[3].w; +PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + -(1.0)); +R0i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * 1.0); +R0i.x = uf_remappedVS[3].z; +PS1i = R0i.x; +// 4 +R2i.x = uf_remappedVS[5].x; +R5i.y = floatBitsToInt(-(intBitsToFloat(PV1i.z))); +R1i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); +R1i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].w) * -(1.0)); +R2i.y = uf_remappedVS[5].y; +PS0i = R2i.y; +// 5 +R3i.x = uf_remappedVS[5].z; +R3i.y = uf_remappedVS[5].w; +R0i.z = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * 1.0); +R3i.w = floatBitsToInt(intBitsToFloat(uf_remappedVS[4].z) * -(1.0)); +PS1i = int(intBitsToFloat(R2i.w)); +// 6 +R4i.x = PS1i + 0x00000018; +R2i.z = R0i.w; +R2i.w = R1i.w; +// 7 +R33i.x = R1i.x; +R33i.y = R1i.y; +// 8 +R34i.x = R0i.x; +R34i.y = R0i.y; +// 9 +R35i.x = R2i.x; +R35i.y = R2i.y; +// 10 +R36i.x = R3i.x; +R36i.y = R3i.y; +// 11 +tempResulti = R4i.x; +tempResulti = clamp(tempResulti, -256, 255); +ARi.x = tempResulti; +PV1i.x = tempResulti; +// 12 +R4i.x = ((ARi.x==0)?R9i.x:(ARi.x==24)?R33i.x:(ARi.x==25)?R34i.x:(ARi.x==26)?R35i.x:(ARi.x==27)?R36i.x:(ARi.x==118)?R127i.x:0); +R4i.y = ((ARi.x==0)?R9i.y:(ARi.x==24)?R33i.y:(ARi.x==25)?R34i.y:(ARi.x==26)?R35i.y:(ARi.x==27)?R36i.y:(ARi.x==118)?R127i.y:0); +// export +gl_Position = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w)); +// 0 +R5i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.z)/resXScale,intBitsToFloat(uf_remappedVS[4].x)) + intBitsToFloat(R4i.x))); +R5i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R0i.w)/resYScale,intBitsToFloat(uf_remappedVS[4].y)) + intBitsToFloat(R4i.y))); +R0i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.z)/resXScale,intBitsToFloat(uf_remappedVS[4].x)) + intBitsToFloat(R4i.x))); +R0i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.w)/resYScale,intBitsToFloat(uf_remappedVS[4].y)) + intBitsToFloat(R4i.y))); +R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w)/resYScale,intBitsToFloat(uf_remappedVS[4].x)) + intBitsToFloat(R4i.x))); +PS0i = R3i.x; +// 1 +backupReg0i = R2i.z; +R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R3i.w)/resYScale,intBitsToFloat(uf_remappedVS[4].x)) + intBitsToFloat(R4i.x))); +R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.w)/resYScale,intBitsToFloat(uf_remappedVS[4].y)) + intBitsToFloat(R4i.y))); +R2i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i)/resYScale,intBitsToFloat(uf_remappedVS[4].y)) + intBitsToFloat(R4i.y))); +// export +passParameterSem1 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.z)); +// export +passParameterSem2 = vec4(intBitsToFloat(R0i.z), intBitsToFloat(R0i.w), intBitsToFloat(R0i.z), intBitsToFloat(R0i.z)); +// export +passParameterSem3 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.z), intBitsToFloat(R3i.z)); +// export +passParameterSem4 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.z), intBitsToFloat(R2i.z), intBitsToFloat(R2i.z)); +} diff --git a/Source/MarioParty10_Resolution/rules.txt b/Source/MarioParty10_Resolution/rules.txt new file mode 100644 index 00000000..3c2794ee --- /dev/null +++ b/Source/MarioParty10_Resolution/rules.txt @@ -0,0 +1,328 @@ +[Definition] +titleIds = 0005000010162D00,0005000010162E00,0005000E10161F00 +name = Resolution +path = "Mario Party 10/Graphics/Resolution" +description = Changes the resolution of the game. Note: Missing videos in minigame screen is currently a Cemu/Cemuhook issue. +version = 3 + +[Preset] +name = 1280x720 (Default) +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 + +// Performance + +[Preset] +name = 256x144 +$width = 256 +$height = 144 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 427x240 +$width = 427 +$height = 240 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 640x360 +$width = 640 +$height = 360 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 854x480 +$width = 854 +$height = 480 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 960x540 +$width = 960 +$height = 540 +$gameWidth = 1280 +$gameHeight = 720 + +// Quality + +[Preset] +name = 1600x900 +$width = 1600 +$height = 900 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 1920x1080 +$width = 1920 +$height = 1080 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2560x1440 +$width = 2560 +$height = 1440 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 2732x1536 +$width = 2732 +$height = 1536 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3200x1800 +$width = 3200 +$height = 1800 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 3840x2160 +$width = 3840 +$height = 2160 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 5120x2880 +$width = 5120 +$height = 2880 +$gameWidth = 1280 +$gameHeight = 720 + +// Enthusiast + +[Preset] +name = 7680x4320 +$width = 7680 +$height = 4320 +$gameWidth = 1280 +$gameHeight = 720 + +[Preset] +name = 10240x5760 +$width = 10240 +$height = 5760 +$gameWidth = 1280 +$gameHeight = 720 + + +[TextureRedefine] # Game Resolution +width = 1280 +height = 720 +formats = 0x019,0x001,0x80e +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] # Background Rendering +width = 640 +height = 368 +formats = 0x019 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 + + +[TextureRedefine] # Blank Clip Depth Texture +width = 640 +height = 360 +formats = 0x80e,0x019 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 + +[TextureRedefine] # Alt Blank Clip Depth Texture +width = 640 +height = 368 +formats = 0x80e +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 + +[TextureRedefine] # Other Blank Texture +width = 320 +height = 180 +formats = 0x019 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 + + +# Bloom + +[TextureRedefine] # Bloom 1 +width = 320 +height = 192 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + +[TextureRedefine] # Alt Bloom 1 +width = 320 +height = 180 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 + +[TextureRedefine] # Bloom 2, Final Bloom Composition +width = 160 +height = 96 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 96 + +[TextureRedefine] # Alt Bloom 2, Alt Final Bloom Composition +width = 160 +height = 90 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 90 + +[TextureRedefine] # Bloom 3 +width = 96 +height = 48 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 96 +overwriteHeight = ($height/$gameHeight) * 48 + +[TextureRedefine] # Alt Bloom 3 +width = 80 +height = 45 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 80 +overwriteHeight = ($height/$gameHeight) * 45 + + +# Gamepad Browser Rendering + +[TextureRedefine] # Browser Cage Rendering +width = 864 +height = 480 +formats = 0x019,0x80e +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 + +[TextureRedefine] # Browser Cage Rendering +width = 854 +height = 480 +formats = 0x019,0x80e +overwriteWidth = ($width/$gameWidth) * 854 +overwriteHeight = ($height/$gameHeight) * 480 + + +# Main Menu + +[TextureRedefine] # Character selection +width = 224 +height = 208 +formats = 0x019,0x80e,0x005 +overwriteWidth = ($width/$gameWidth) * 224 +overwriteHeight = ($height/$gameHeight) * 208 + +[TextureRedefine] # Alt Character selection +width = 196 +height = 196 +formats = 0x019,0x80e,0x001,0x005 +overwriteWidth = ($width/$gameWidth) * 196 +overwriteHeight = ($height/$gameHeight) * 196 + + +[TextureRedefine] # Character Selection DK's Fur Rendering Blank Clip Map +width = 256 +height = 208 +formats = 0x001,0x005 +overwriteWidth = ($width/$gameWidth) * 256 +overwriteHeight = ($height/$gameHeight) * 208 + +[TextureRedefine] # Bowser Party -> Character selection -> Bowser Rendering +width = 544 +height = 128 +formats = 0x019,0x80e +overwriteWidth = ($width/$gameWidth) * 544 +overwriteHeight = ($height/$gameHeight) * 128 + +[TextureRedefine] # Bowser Party -> Character selection -> Alt Bowser Rendering +width = 536 +height = 126 +formats = 0x019,0x80e +overwriteWidth = ($width/$gameWidth) * 536 +overwriteHeight = ($height/$gameHeight) * 126 + +[TextureRedefine] # Mario Party -> Car Rendering +width = 1024 +height = 512 +formats = 0x019,0x80e +overwriteWidth = ($width/$gameWidth) * 1024 +overwriteHeight = ($height/$gameHeight) * 512 + +[TextureRedefine] # Bowser Party -> Bowser Rendering +width = 480 +height = 464 +formats = 0x019,0x80e +overwriteWidth = ($width/$gameWidth) * 480 +overwriteHeight = ($height/$gameHeight) * 464 + +[TextureRedefine] # Bowser Party -> Alt Bowser Rendering +width = 460 +height = 460 +formats = 0x019,0x80e +overwriteWidth = ($width/$gameWidth) * 460 +overwriteHeight = ($height/$gameHeight) * 460 + +[TextureRedefine] # Bowser Party -> Bigger Bowser Rendering +width = 736 +height = 544 +formats = 0x019,0x80e +overwriteWidth = ($width/$gameWidth) * 736 +overwriteHeight = ($height/$gameHeight) * 544 + +[TextureRedefine] # Bowser Party -> Alt Bigger Bowser Rendering +width = 716 +height = 538 +formats = 0x019,0x80e +overwriteWidth = ($width/$gameWidth) * 716 +overwriteHeight = ($height/$gameHeight) * 538 + +[TextureRedefine] # Bowser Party -> Car Rendering +width = 384 +height = 384 +formats = 0x019,0x80e +overwriteWidth = ($width/$gameWidth) * 384 +overwriteHeight = ($height/$gameHeight) * 384 + +[TextureRedefine] # Bowser Party -> Alt Car Rendering +width = 370 +height = 370 +formats = 0x019,0x80e +overwriteWidth = ($width/$gameWidth) * 370 +overwriteHeight = ($height/$gameHeight) * 370 + +[TextureRedefine] # Bowser Party -> Bigger Car Rendering +width = 576 +height = 416 +formats = 0x019,0x80e +overwriteWidth = ($width/$gameWidth) * 576 +overwriteHeight = ($height/$gameHeight) * 416 + +[TextureRedefine] # Bowser Party -> Alt Bigger Car Rendering +width = 552 +height = 414 +formats = 0x019,0x80e +overwriteWidth = ($width/$gameWidth) * 552 +overwriteHeight = ($height/$gameHeight) * 414 + + +# Pause Menu + +[TextureRedefine] # Background +width = 1280 +height = 720 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 \ No newline at end of file