diff --git a/src/MarioKart8/Cheats/CourseUnlock/patch_CourseUnlock.asm b/src/MarioKart8/Cheats/CourseUnlock/patch_CourseUnlock.asm new file mode 100644 index 00000000..25ce5024 --- /dev/null +++ b/src/MarioKart8/Cheats/CourseUnlock/patch_CourseUnlock.asm @@ -0,0 +1,19 @@ +[MarioKart8_CourseUnlock] +moduleMatches = 0x9F0A90B7, 0xD09700CE ; v4.2(EU/NA/JP), v4.1(EU/NA/JP) +.origin = codecave +UnlockCourses: +lis r30, 0x0303 +ori r30, r30, 0x0303 +stw r30, 0(r11) +stw r30, 4(r11) +lbzx r30, r11, r0 +blr + +[MarioKart8_CourseUnlock_v42] +moduleMatches = 0x9F0A90B7 ; v4.2(EU/NA/JP) +;this mod makes every byte at 0x2e6b6668 = 3 +0x024D74CC = bla UnlockCourses + +[MarioKart8_CourseUnlock_v41] +moduleMatches = 0xD09700CE ; v4.1(EU/NA/JP) +0x024D7148 = bla UnlockCourses diff --git a/src/MarioKart8/Cheats/CourseUnlock/rules.txt b/src/MarioKart8/Cheats/CourseUnlock/rules.txt new file mode 100644 index 00000000..e9fa605f --- /dev/null +++ b/src/MarioKart8/Cheats/CourseUnlock/rules.txt @@ -0,0 +1,7 @@ +[Definition] +titleIds = 000500001010EC00,000500001010ED00,000500001010EB00 +name = Course Unlock +path = "Mario Kart 8/Cheats/Course Unlock" +description = Unlock Every Course + Mirror Mode! +#Credits: Intra +version = 7 diff --git a/src/MarioKart8/Cheats/UnlockVehicleParts/patch_UnlockVehicle.asm b/src/MarioKart8/Cheats/UnlockVehicleParts/patch_UnlockVehicle.asm new file mode 100644 index 00000000..dcec41ae --- /dev/null +++ b/src/MarioKart8/Cheats/UnlockVehicleParts/patch_UnlockVehicle.asm @@ -0,0 +1,21 @@ +[MarioKart8_UnlockVehicle] +moduleMatches = 0x9F0A90B7, 0xD09700CE ; v4.2(EU/NA/JP), v4.1(EU/NA/JP) +.origin = codecave + +CheckandChangeCoinAmmount: +lwz r0, 0x14e0(r26) +cmpwi r0, $coinammount +bge CheckandChangeCoinAmmount_Exit +li r0, $coinammount +stw r0, 0x14e0(r26) +CheckandChangeCoinAmmount_Exit: +blr + +[MarioKart8_UnlockVehicle_v42] +moduleMatches = 0x9F0A90B7 ; v4.2(EU/NA/JP) +;this mod makes 0x2e6b6128 = $coinammount +0x025A4038 = bla CheckandChangeCoinAmmount + +[MarioKart8_UnlockVehicle_v41] +moduleMatches = 0xD09700CE ; v4.1(EU/NA/JP) +0x025A3E84 = bla CheckandChangeCoinAmmount diff --git a/src/MarioKart8/Cheats/UnlockVehicleParts/rules.txt b/src/MarioKart8/Cheats/UnlockVehicleParts/rules.txt new file mode 100644 index 00000000..f8553458 --- /dev/null +++ b/src/MarioKart8/Cheats/UnlockVehicleParts/rules.txt @@ -0,0 +1,18 @@ +[Definition] +titleIds = 000500001010EC00,000500001010ED00,000500001010EB00 +name = Unlock Vehicle Parts! +path = "Mario Kart 8/Mods/Unlock Vehicle Parts" +description = Unlock every non-golden vehicle part!|Must activate by pressing (-) on the main menu to view your playstats.|Then do a race to save the new value. +#Credits: Intra +version = 7 + +[Default] +$coinammount = 0 + +[Preset] +name = Unlock all non-golden parts (sets coins to 2800) +$coinammount = 2800 + +[Preset] +name = Unlock Golden Glider (sets coins to 10000) +$coinammount = 10000 diff --git a/src/MarioKart8/Enhancements/Bloom/e90feef2bca6cb2e_00000000000003c9_ps.txt b/src/MarioKart8/Enhancements/Bloom/e90feef2bca6cb2e_00000000000003c9_ps.txt new file mode 100644 index 00000000..034b863f --- /dev/null +++ b/src/MarioKart8/Enhancements/Bloom/e90feef2bca6cb2e_00000000000003c9_ps.txt @@ -0,0 +1,129 @@ +#version 450 +#extension GL_ARB_texture_gather : 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 shaders was auto-converted from OpenGL to Cemu. + +// shader e90feef2bca6cb2e +const float bloomFactor = $bloom; + +#ifdef VULKAN +layout(set = 1, binding = 2) uniform ufBlock +{ +uniform ivec4 uf_remappedPS[4]; +uniform vec4 uf_fragCoordScale; +}; +#else +uniform ivec4 uf_remappedPS[4]; +uniform vec2 uf_fragCoordScale; +#endif +TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0; +TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1; +layout(location = 0) in vec4 passParameterSem0; +layout(location = 1) in vec4 passParameterSem1; +layout(location = 2) in vec4 passParameterSem2; +layout(location = 0) out vec4 passPixelColor0; +// uf_fragCoordScale was moved to the ufBlock +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); +vec4 R2f = vec4(0.0); +vec4 R3f = vec4(0.0); +vec4 R4f = vec4(0.0); +vec4 R123f = vec4(0.0); +vec4 R126f = vec4(0.0); +vec4 R127f = 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; +R1f = passParameterSem1; +R2f = passParameterSem2; +R3f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw); +R1f.xyzw = (texture(textureUnitPS0, R1f.zw).xyzw); +R4f.xyzw = (texture(textureUnitPS0, R2f.xy).xyzw); +R0f.x = (texture(textureUnitPS1, R0f.xy).x); +R2f.xyzw = (texture(textureUnitPS0, R2f.zw).xyzw); +// 0 +backupReg0f = R0f.x; +PV0f.x = R3f.y + R1f.y; +PV0f.x /= 2.0; +PV0f.y = R3f.x + R1f.x; +PV0f.y /= 2.0; +PV0f.z = R3f.w + R1f.w; +PV0f.z /= 2.0; +PV0f.w = R3f.z + R1f.z; +PV0f.w /= 2.0; +R127f.w = (backupReg0f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w)); +R127f.w = clamp(R127f.w, 0.0, 1.0); +PS0f = R127f.w; +// 1 +R123f.x = (R4f.y * 0.5 + PV0f.x); +PV1f.x = R123f.x; +R123f.y = (R4f.x * 0.5 + PV0f.y); +PV1f.y = R123f.y; +R123f.z = (R4f.w * 0.5 + PV0f.z); +PV1f.z = R123f.z; +R123f.w = (R4f.z * 0.5 + PV0f.w); +PV1f.w = R123f.w; +R127f.z = mul_nonIEEE(PS0f, intBitsToFloat(uf_remappedPS[1].z)); +PS1f = R127f.z; +// 2 +R127f.x = (R2f.x * 0.5 + PV1f.y)/2.0; +PV0f.x = R127f.x; +R127f.y = (R2f.y * 0.5 + PV1f.x)/2.0; +PV0f.y = R127f.y; +R126f.z = (R2f.z * 0.5 + PV1f.w)/2.0; +PV0f.z = R126f.z; +R126f.w = (R2f.w * 0.5 + PV1f.z)/2.0; +PV0f.w = R126f.w; +// 3 +tempf.x = dot(vec4(PV0f.x,PV0f.y,PV0f.z,PV0f.w),vec4(intBitsToFloat(uf_remappedPS[2].x),intBitsToFloat(uf_remappedPS[2].y),intBitsToFloat(uf_remappedPS[2].z),intBitsToFloat(uf_remappedPS[2].w))); +tempf.x = clamp(tempf.x, 0.0, 1.0); +PV1f.x = tempf.x; +PV1f.y = tempf.x; +PV1f.z = tempf.x; +PV1f.w = tempf.x; +// 4 +R123f.y = (R127f.w * R127f.z + PV1f.x); +PV0f.y = R123f.y; +// 5 +PV1f.x = mul_nonIEEE(PV0f.y, intBitsToFloat(uf_remappedPS[3].z)); +// 6 +R2f.x = mul_nonIEEE(R127f.x, PV1f.x * bloomFactor); +R2f.y = mul_nonIEEE(R127f.y, PV1f.x * bloomFactor); +R2f.z = mul_nonIEEE(R126f.z, PV1f.x * bloomFactor); +R2f.w = mul_nonIEEE(R126f.w, PV1f.x * bloomFactor); +// export +passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w); +} diff --git a/src/MarioKart8/Enhancements/Bloom/rules.txt b/src/MarioKart8/Enhancements/Bloom/rules.txt new file mode 100644 index 00000000..eee5a0fd --- /dev/null +++ b/src/MarioKart8/Enhancements/Bloom/rules.txt @@ -0,0 +1,26 @@ +[Definition] +titleIds = 000500001010EC00,000500001010ED00,000500001010EB00 +name = Bloom Adjustment +path = "Mario Kart 8/Enhancements/Bloom Adjustment" +description = Allows you to adjust how strong the bloom is. Full amount is the default intensity of bloom. +#Credits: M&&M +version = 6 + +[Default] +$bloom = 1.0 + +[Preset] +name = Full Amount (Default) +default = 1 + +[Preset] +name = Half Amount +$bloom = 0.5 + +[Preset] +name = Quarter Amount +$bloom = 0.25 + +[Preset] +name = Disabled +$bloom = 0.0 diff --git a/src/MarioKart8/Enhancements/Contrasty/998a9f67e353657b_0000000000001e51_ps.txt b/src/MarioKart8/Enhancements/Contrasty/998a9f67e353657b_0000000000001e51_ps.txt index 134c1755..f722e7fd 100644 --- a/src/MarioKart8/Enhancements/Contrasty/998a9f67e353657b_0000000000001e51_ps.txt +++ b/src/MarioKart8/Enhancements/Contrasty/998a9f67e353657b_0000000000001e51_ps.txt @@ -1,4 +1,4 @@ -#version 420 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN @@ -11,7 +11,7 @@ #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 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) @@ -34,8 +34,8 @@ const float hazeFactor = 0.1; const float gamma = $gamma; // 1.0 is neutral Botw is already colour graded at this stage const float exposure = $exposure; // 1.0 is neutral -const float vibrance = $vibrance; // 0.0 is neutral -const float crushContrast = $crushContrast; // 0.0 is neutral. Use small increments, loss of shadow detail +const float vibrance = $vibrance; // 0.0 is neutral +const float crushContrast = $crushContrast; // 0.0 is neutral. Use small increments, loss of shadow detail const float contrastCurve = $contrastCurve; @@ -44,18 +44,18 @@ vec3 RGB_Gamma = vec3($redMid ,$greenMid, $blueMid); // [0.000 to 2.000] Adju vec3 RGB_Gain = vec3($redHilight, $greenHilight, $blueHilight); // [0.000 to 2.000] Adjust highlights for Red, Green and Blue //lumasharpen const float sharp_mix = $sharp_mix; -const float sharp_strength = 2.0; +const float sharp_strength = 2.0; const float sharp_clamp = 0.75; const float offset_bias = 1.0; float Sigmoid (float x) { - return 1.0 / (1.0 + (exp(-(x - 0.5) * 5.5))); + return 1.0 / (1.0 + (exp(-(x - 0.5) * 5.5))); } #define px (1.0/1920.0*uf_fragCoordScale.x) #define py (1.0/1080.0*uf_fragCoordScale.y) -#define CoefLuma vec3(0.2126, 0.7152, 0.0722) +#define CoefLuma vec3(0.2126, 0.7152, 0.0722) float lumasharping(sampler2D tex, vec2 pos) { vec4 colorInput = texture(tex, pos); @@ -93,8 +93,8 @@ vec3 LiftGammaGainPass(vec3 colorInput) { //reshade BSD https://reshade.me , Alexkiri port vec3 color = colorInput; color = color * (1.5 - 0.5 * RGB_Lift) + 0.5 * RGB_Lift - 0.5; - color = clamp(color, 0.0, 1.0); - color *= RGB_Gain; + color = clamp(color, 0.0, 1.0); + color *= RGB_Gain; color = pow(color, 1.0 / RGB_Gamma); return clamp(color, 0.0, 1.0); } @@ -102,7 +102,7 @@ vec3 LiftGammaGainPass(vec3 colorInput) vec3 contrasty(vec3 colour){ vec3 fColour = (colour.xyz); //fColour = LiftGammaGainPass(fColour); - + fColour = clamp(exposure * fColour, 0.0, 1.0); fColour = pow(fColour, vec3(1.0 / gamma)); float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114; diff --git a/src/MarioKart8/Enhancements/Contrasty/rules.txt b/src/MarioKart8/Enhancements/Contrasty/rules.txt index 0e9ace55..aefa5758 100644 --- a/src/MarioKart8/Enhancements/Contrasty/rules.txt +++ b/src/MarioKart8/Enhancements/Contrasty/rules.txt @@ -3,6 +3,7 @@ titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 name = Contrasty path = "Mario Kart 8/Enhancements/Contrasty" description = This pack tweaks the colors and contrast to whatever preset you set it as.|You can also make your own preset by editing the Default preset in the Contrasty folder from the game's graphic packs.|Made by getdls. +#Credits: getdls version = 6 [Default] diff --git a/src/MarioKart8/Enhancements/Debanding/output.glsl b/src/MarioKart8/Enhancements/Debanding/output.glsl index 48835e77..ea0c2939 100644 --- a/src/MarioKart8/Enhancements/Debanding/output.glsl +++ b/src/MarioKart8/Enhancements/Debanding/output.glsl @@ -1,4 +1,4 @@ -#version 420 +#version 450 #ifdef VULKAN layout(location = 0) in vec2 passUV; @@ -14,9 +14,9 @@ ivec2 resolution = textureSize(textureSrc,0); // Retrieve Texture Dimensions precision highp float; vec2 RcpFrame = vec2(1.0 / float(resolution.x), 1.0 / float(resolution.y)); -/* +/* https://github.com/haasn/gentoo-conf/blob/xor/home/nand/.mpv/shaders/LICENSE - + Copyright (c) 2015 Niklas Haas Permission is hereby granted, free of charge, to any person obtaining a copy @@ -38,7 +38,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/* +/* Ordered dithering reshade https://github.com/crosire/reshade/blob/master/LICENSE.md @@ -121,8 +121,8 @@ vec4 getreader(sampler2D tex, vec2 pos, vec2 tex_size) } // Ordered dithering of output - const float dither_bit = 8.0; //WiiU backbuffer RGBA_8, if used in shader, check if depth is RBG_16_A2 - + const float dither_bit = 8.0; //WiiU backbuffer RGBA_8, if used in shader, check if depth is RBG_16_A2 + float grid_position = fract(dot(passUV, (resolution * vec2(1.0 / 16.0, 10.0 / 36.0)) + 0.25)); float dither_shift = 0.25 * (1.0 / (pow(2, dither_bit) - 1.0)); vec3 dither_shift_RGB = vec3(dither_shift, -dither_shift, dither_shift); //Shift the individual colors, subpixel dithering diff --git a/src/MarioKart8/Enhancements/Debanding/rules.txt b/src/MarioKart8/Enhancements/Debanding/rules.txt index a6c425c3..f2f81f62 100644 --- a/src/MarioKart8/Enhancements/Debanding/rules.txt +++ b/src/MarioKart8/Enhancements/Debanding/rules.txt @@ -1,8 +1,9 @@ [Definition] -titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 +titleIds = 000500001010EC00,000500001010ED00,000500001010EB00 name = Debanding path = "Mario Kart 8/Enhancements/Debanding" description = Adds a debanding post processing shader to the game.|This pack can only be used with OpenGL.|Made by getdls. +#Credits: getdls version = 6 rendererFilter = opengl @@ -34,29 +35,29 @@ $Range:int = 16 $Iterations:int = 8 $Grain:int = 90 -# Original by N Haas GPL +# Original by N Haas GPL # Order dither converted from reshade Crosire et al. # -# Works better when applied to a shader (sky, video..) -# instead of as a post filter. Both for performance and fixing quantization errors. +# Works better when applied to a shader (sky, video..) +# instead of as a post filter. Both for performance and fixing quantization errors. # The threshold of difference below which a pixel is considered to be part of # a gradient. Higher = more debanding, but setting it too high diminishes image # details. # THRESHOLD 64 -# +# # The range (in source pixels) at which to sample for neighbours. Higher values # will find more gradients, but lower values will deband more aggressively. # RANGE 8 -# +# # The number of debanding iterations to perform. Each iteration samples from # random positions, so increasing the number of iterations is likely to # increase the debanding quality. Conversely, it slows the shader down. # (Each iteration will use a multiple of the configured RANGE, and a # successively lower THRESHOLD - so setting it much higher has little effect) # ITERATIONS 4 -# +# # (Optional) Add some extra noise to the image. This significantly helps cover # up remaining banding and blocking artifacts, at comparatively little visual # quality. Higher = more grain. Setting it to 1 disables the effect. diff --git a/src/MarioKart8/Enhancements/RemoveMKTVWatermark/rules.txt b/src/MarioKart8/Enhancements/RemoveMKTVWatermark/rules.txt index aede2761..def81cca 100644 --- a/src/MarioKart8/Enhancements/RemoveMKTVWatermark/rules.txt +++ b/src/MarioKart8/Enhancements/RemoveMKTVWatermark/rules.txt @@ -3,6 +3,7 @@ titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 name = Remove MKTV Watermark path = "Mario Kart 8/Enhancements/Remove MKTV Watermark" description = Removes the MKTV watermark in the replays or highlight reel.|Made by Crementif. +#Credits: Crementif version = 6 [TextureRedefine] diff --git a/src/MarioKart8/Graphics/2e78a0d0a0aa66bb_0000000000000000_vs.txt b/src/MarioKart8/Graphics/2e78a0d0a0aa66bb_0000000000000000_vs.txt index 8c6b3ff6..96cec256 100644 --- a/src/MarioKart8/Graphics/2e78a0d0a0aa66bb_0000000000000000_vs.txt +++ b/src/MarioKart8/Graphics/2e78a0d0a0aa66bb_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 420 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN @@ -11,7 +11,7 @@ #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 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) @@ -20,7 +20,7 @@ // shader 2e78a0d0a0aa66bb // Used for: Horizontal (Menu) Bloom Blur -const float resScale = float($width)/float($gameWidth); +const float resScale = float($width)/float($gameWidth); #ifdef VULKAN layout(set = 0, binding = 0) uniform ufBlock diff --git a/src/MarioKart8/Graphics/408a66d9721b1cec_0000000000000000_vs.txt b/src/MarioKart8/Graphics/408a66d9721b1cec_0000000000000000_vs.txt index 2454f97a..2fa60b34 100644 --- a/src/MarioKart8/Graphics/408a66d9721b1cec_0000000000000000_vs.txt +++ b/src/MarioKart8/Graphics/408a66d9721b1cec_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 430 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 408a66d9721b1cec //Lava bowser castle, point light offset @@ -12,7 +12,7 @@ #define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#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 #endif @@ -48,7 +48,7 @@ layout(location = 3) out vec4 passParameterSem4; layout(location = 4) out vec4 passParameterSem6; layout(location = 5) out vec4 passParameterSem10; // end of shader inputs/outputs -const float resScale = float($width)/float($gameWidth); +const float resScale = float($width)/float($gameWidth); int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/src/MarioKart8/Graphics/74126253134563de_0000000000000000_vs.txt b/src/MarioKart8/Graphics/74126253134563de_0000000000000000_vs.txt index 7c3b19c0..e084efe9 100644 --- a/src/MarioKart8/Graphics/74126253134563de_0000000000000000_vs.txt +++ b/src/MarioKart8/Graphics/74126253134563de_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 430 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 74126253134563de @@ -14,7 +14,7 @@ #define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#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 #endif @@ -33,7 +33,7 @@ out gl_PerVertex }; layout(location = 0) out vec4 passParameterSem0; // end of shader inputs/outputs -const float resScale = float($height)/float($gameHeight); +const float resScale = float($height)/float($gameHeight); int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/src/MarioKart8/Graphics/8e1337dde42fd224_00000000000003c9_ps.txt b/src/MarioKart8/Graphics/8e1337dde42fd224_00000000000003c9_ps.txt index 62bb9023..ba3d8783 100644 --- a/src/MarioKart8/Graphics/8e1337dde42fd224_00000000000003c9_ps.txt +++ b/src/MarioKart8/Graphics/8e1337dde42fd224_00000000000003c9_ps.txt @@ -1,4 +1,4 @@ -#version 430 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader 8e1337dde42fd224 @@ -14,7 +14,7 @@ const float resYScale = float($height)/float($gameHeight); #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif diff --git a/src/MarioKart8/Graphics/ad3014302e0e49bf_0000000000000000_vs.txt b/src/MarioKart8/Graphics/ad3014302e0e49bf_0000000000000000_vs.txt index 57bc1b74..8539d2d7 100644 --- a/src/MarioKart8/Graphics/ad3014302e0e49bf_0000000000000000_vs.txt +++ b/src/MarioKart8/Graphics/ad3014302e0e49bf_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 420 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN @@ -11,7 +11,7 @@ #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 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) @@ -20,7 +20,7 @@ // shader ad3014302e0e49bf // Used for: Stage Select & Menu Background Horizontal Blur -const float resScale = float($width)/float($gameWidth); +const float resScale = float($width)/float($gameWidth); #ifdef VULKAN layout(set = 0, binding = 0) uniform ufBlock diff --git a/src/MarioKart8/Graphics/be99d80628d31127_00000000000003c9_ps.txt b/src/MarioKart8/Graphics/be99d80628d31127_00000000000003c9_ps.txt index b3e955bf..2fa428f4 100644 --- a/src/MarioKart8/Graphics/be99d80628d31127_00000000000003c9_ps.txt +++ b/src/MarioKart8/Graphics/be99d80628d31127_00000000000003c9_ps.txt @@ -1,4 +1,4 @@ -#version 430 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader be99d80628d31127 @@ -14,7 +14,7 @@ const float resYScale = float($height)/float($gameHeight); #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif @@ -219,4 +219,4 @@ activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true; // export passPixelColor0 = vec4(R4f.x, R4f.y, R4f.z, R4f.w); } -#endif \ No newline at end of file +#endif diff --git a/src/MarioKart8/Graphics/c673c0d44f779fc9_0000000000000000_vs.txt b/src/MarioKart8/Graphics/c673c0d44f779fc9_0000000000000000_vs.txt index 07263b16..237e63c9 100644 --- a/src/MarioKart8/Graphics/c673c0d44f779fc9_0000000000000000_vs.txt +++ b/src/MarioKart8/Graphics/c673c0d44f779fc9_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 430 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader c673c0d44f779fc9 // replay DOF box blur @@ -12,7 +12,7 @@ #define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#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 #endif @@ -32,7 +32,7 @@ out gl_PerVertex }; layout(location = 0) out vec4 passParameterSem3; // end of shader inputs/outputs -const float resScale = float($height)/float($gameHeight); +const float resScale = float($height)/float($gameHeight); int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/src/MarioKart8/Graphics/d5d751973ea3d3b4_0000000000000000_vs.txt b/src/MarioKart8/Graphics/d5d751973ea3d3b4_0000000000000000_vs.txt index 4ddbb389..ae0150b4 100644 --- a/src/MarioKart8/Graphics/d5d751973ea3d3b4_0000000000000000_vs.txt +++ b/src/MarioKart8/Graphics/d5d751973ea3d3b4_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 430 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader d5d751973ea3d3b4 // menu background box blur, initial downscaling. @@ -12,7 +12,7 @@ #define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#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 #endif @@ -32,7 +32,7 @@ out gl_PerVertex layout(location = 0) out vec4 passParameterSem1; layout(location = 1) out vec4 passParameterSem3; // end of shader inputs/outputs -const float resScale = float($height)/float($gameHeight); +const float resScale = float($height)/float($gameHeight); int clampFI32(int v) { if( v == 0x7FFFFFFF ) diff --git a/src/MarioKart8/Graphics/dd7a19be01b7b1aa_0000000000000000_vs.txt b/src/MarioKart8/Graphics/dd7a19be01b7b1aa_0000000000000000_vs.txt index 830a3496..d5c3e0ce 100644 --- a/src/MarioKart8/Graphics/dd7a19be01b7b1aa_0000000000000000_vs.txt +++ b/src/MarioKart8/Graphics/dd7a19be01b7b1aa_0000000000000000_vs.txt @@ -1,4 +1,4 @@ -#version 420 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN @@ -11,7 +11,7 @@ #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 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) @@ -20,7 +20,7 @@ // shader dd7a19be01b7b1aa // Used for: Vertical (Menu) Bloom Blur -const float resScale = float($height)/float($gameHeight); +const float resScale = float($height)/float($gameHeight); #ifdef VULKAN layout(set = 0, binding = 0) uniform ufBlock diff --git a/src/MarioKart8/Graphics/e90feef2bca6cb2e_00000000000003c9_ps.txt b/src/MarioKart8/Graphics/e90feef2bca6cb2e_00000000000003c9_ps.txt index d347c067..034b863f 100644 --- a/src/MarioKart8/Graphics/e90feef2bca6cb2e_00000000000003c9_ps.txt +++ b/src/MarioKart8/Graphics/e90feef2bca6cb2e_00000000000003c9_ps.txt @@ -1,4 +1,4 @@ -#version 420 +#version 450 #extension GL_ARB_texture_gather : enable #ifdef VULKAN #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) @@ -10,7 +10,7 @@ #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 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) diff --git a/src/MarioKart8/Graphics/f5274bda2b5e1e9f_0000000000000000_vs.txt b/src/MarioKart8/Graphics/f5274bda2b5e1e9f_0000000000000000_vs.txt index d048c3a0..0b776ec4 100644 --- a/src/MarioKart8/Graphics/f5274bda2b5e1e9f_0000000000000000_vs.txt +++ b/src/MarioKart8/Graphics/f5274bda2b5e1e9f_0000000000000000_vs.txt @@ -1,10 +1,10 @@ -#version 430 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader f5274bda2b5e1e9f // start of shader inputs/outputs, predetermined by Cemu. Do not touch // Used for: reflection highlights -const float resScale = float($width)/float($gameWidth); +const float resScale = float($width)/float($gameWidth); #ifdef VULKAN #define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location) @@ -15,7 +15,7 @@ const float resScale = float($width)/float($gameWidth); #define SET_POSITION(_v) gl_Position = _v; gl_Position.z = (gl_Position.z + gl_Position.w) / 2.0 #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#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 #endif diff --git a/src/MarioKart8/Graphics/fdf33c607cd1d737_0000000000000079_ps.txt b/src/MarioKart8/Graphics/fdf33c607cd1d737_0000000000000079_ps.txt index aa15dc78..825e06a8 100644 --- a/src/MarioKart8/Graphics/fdf33c607cd1d737_0000000000000079_ps.txt +++ b/src/MarioKart8/Graphics/fdf33c607cd1d737_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 430 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable // shader fdf33c607cd1d737 //Radial blur replacement @@ -10,7 +10,7 @@ #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale.xy,gl_FragCoord.zw) #else #define ATTR_LAYOUT(__vkSet, __location) layout(location = __location) -#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) +#define UNIFORM_BUFFER_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation, std140) #define TEXTURE_LAYOUT(__glLocation, __vkSet, __vkLocation) layout(binding = __glLocation) #define GET_FRAGCOORD() vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw) #endif @@ -69,12 +69,12 @@ R0f = passParameterSem0; R1f = passParameterSem1; R2f = passParameterSem2; R3f = passParameterSem3; -vec2 coord = -1.0 + R0f.xy; +vec2 coord = -1.0 + R0f.xy; vec2 ps = vec2(1.0)*uf_fragCoordScale.xy / textureSize(textureUnitPS0, 0); vec2 uv = gl_FragCoord.xy *2.0 / textureSize(textureUnitPS0, 0); //Simle radial blur jcant0n, shadertoy.com uv -= center; -float precompute = blurWidth * (1.0 / float(nsamples - 1)); +float precompute = blurWidth * (1.0 / float(nsamples - 1)); for(int i = 0; i < nsamples; i++) { float scale = blurStart + (float(i)* precompute); diff --git a/src/MarioKart8/Graphics/patch_AspectRatio.asm b/src/MarioKart8/Graphics/patch_AspectRatio.asm index 362ada98..0311158e 100644 --- a/src/MarioKart8/Graphics/patch_AspectRatio.asm +++ b/src/MarioKart8/Graphics/patch_AspectRatio.asm @@ -1,6 +1,5 @@ -[MK8_AspectRatio_Shared] +[MarioKart8_AspectRatio] moduleMatches = 0x9F0A90B7,0xD09700CE,0x1D398493,0xBA6B1E20,0x62A5F023,0x2A2DC82C - .origin = codecave aspectRatio: @@ -13,56 +12,38 @@ lfs f12, aspectRatio@l(r7) fmuls f7, f9, f12 blr - -[MK8_AspectRatio_V42] -moduleMatches = 0x9F0A90B7 - +[MarioKart8_AspectRatio_v42] +moduleMatches = 0x9F0A90B7 ; v4.2(EU/NA/JP) 0x024AEF70 = bla scaleAspectRatioCalc - 0x100C359C = .float ($width/$height) 0x10121E30 = .float ($width/$height) - -[MK8_AspectRatio_V41] -moduleMatches = 0xD09700CE - +[MarioKart8_AspectRatio_v41] +moduleMatches = 0xD09700CE ; v4.1(EU/NA/JP) 0x024AEBEC = bla scaleAspectRatioCalc - 0x100C359C = .float ($width/$height) 0x10121E30 = .float ($width/$height) - -[MK8_AspectRatio_V4] -moduleMatches = 0x1D398493 - +[MarioKart8_AspectRatio_v4] +moduleMatches = 0x1D398493 ; v4.0(EU/NA/JP) 0x024AEBEC = bla scaleAspectRatioCalc - 0x100C359C = .float ($width/$height) 0x10121D30 = .float ($width/$height) - -[MK8_AspectRatio_V3] -moduleMatches = 0xBA6B1E20 - +[MarioKart8_AspectRatio_v3] +moduleMatches = 0xBA6B1E20 ; v3.0(EU/NA/JP) 0x024642E8 = bla scaleAspectRatioCalc - 0x100AC25C = .float ($width/$height) 0x1010A730 = .float ($width/$height) - -[MK8_AspectRatio_V2] -moduleMatches = 0x62A5F023 - +[MarioKart8_AspectRatio_v2] +moduleMatches = 0x62A5F023 ; v2.0(EU/NA/JP) 0x024376D4 = bla scaleAspectRatioCalc - 0x1009E9DC = .float ($width/$height) 0x100FC030 = .float ($width/$height) - -[MK8_AspectRatio_V1] -moduleMatches = 0x2A2DC82C - +[MarioKart8_AspectRatio_v1] +moduleMatches = 0x2A2DC82C ; v1.0(EU/NA/JP) 0x02416760 = bla scaleAspectRatioCalc - 0x10097D94 = .float ($width/$height) 0x100F3430 = .float ($width/$height) diff --git a/src/MarioKart8/Graphics/patch_DisableFXAA.asm b/src/MarioKart8/Graphics/patch_DisableFXAA.asm index 4c4ac62c..a0e68fb3 100644 --- a/src/MarioKart8/Graphics/patch_DisableFXAA.asm +++ b/src/MarioKart8/Graphics/patch_DisableFXAA.asm @@ -1,10 +1,11 @@ -[MK8_DisableFXAA_V42] -moduleMatches = 0x9F0A90B7 - +[MarioKart8_DisableFXAA_v42] +moduleMatches = 0x9F0A90B7 ; v4.2(EU/NA/JP) 0x027DF528 = blr - -[MK8_DisableFXAA_V41] -moduleMatches = 0xD09700CE - +[MarioKart8_DisableFXAA_v41] +moduleMatches = 0xD09700CE ; v4.1(EU/NA/JP) 0x027DF2F4 = blr + +[MarioKart8_DisableFXAA_v1] +moduleMatches = 0x2A2DC82C ; v1.0(EU/NA/JP) +0x0271DE0C = blr diff --git a/src/MarioKart8/Graphics/patch_LevelOfDetail.asm b/src/MarioKart8/Graphics/patch_LevelOfDetail.asm index c3d78dec..7848dbf1 100644 --- a/src/MarioKart8/Graphics/patch_LevelOfDetail.asm +++ b/src/MarioKart8/Graphics/patch_LevelOfDetail.asm @@ -1,4 +1,7 @@ -[MK8_LevelOfDetail_V42_V41] -moduleMatches = 0x9F0A90B7,0xD09700CE +[MarioKart8_LevelOfDetail_v42_v41] +moduleMatches = 0x9F0A90B7, 0xD09700CE ; v4.2(EU/NA/JP), v4.1(EU/NA/JP) +0x10121DF0 = .float $levelOfDetail -0x10121DF0 = .float $levelOfDetail \ No newline at end of file +[MarioKart8_LevelOfDetail_v1] +moduleMatches = 0x2A2DC82C ; v1.0(EU/NA/JP) +0x100F33F0 = .float $levelOfDetail diff --git a/src/MarioKart8/Graphics/rules.txt b/src/MarioKart8/Graphics/rules.txt index 260ec4ba..e76298e7 100644 --- a/src/MarioKart8/Graphics/rules.txt +++ b/src/MarioKart8/Graphics/rules.txt @@ -1,8 +1,9 @@ [Definition] -titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 +titleIds = 000500001010EC00,000500001010ED00,000500001010EB00 name = Graphic Options path = "Mario Kart 8/Graphics" -description = Allows you to change the game's TV resolution, gamepad resolution, shadow quality, anti-aliasing, bloom intensity, motion blur quality, level of detail and anisotropic filtering quality.|Made by Crementif, theboy181 and M&&M. +description = Allows you to change the game's TV resolution, gamepad resolution, shadow quality, anti-aliasing, bloom intensity, motion blur quality, level of detail and anisotropic filtering quality.|Made by Crementif, theboy181, and M&&M. +#Credits: Crementif, theboy181, M&&M version = 6 [Default] @@ -855,6 +856,11 @@ name = 16x category = Anisotropic Filtering $anisotropy = 16 +[Preset] +name = 32x +category = Anisotropic Filtering +$anisotropy = 32 + # Advanced Options diff --git a/src/MarioKart8/Mods/60FPSMultiplayer/patch_60FPSFullDraw.asm b/src/MarioKart8/Mods/60FPSMultiplayer/patch_60FPSFullDraw.asm index c6e5cba3..c1c2c11f 100644 --- a/src/MarioKart8/Mods/60FPSMultiplayer/patch_60FPSFullDraw.asm +++ b/src/MarioKart8/Mods/60FPSMultiplayer/patch_60FPSFullDraw.asm @@ -1,10 +1,11 @@ -[MK8_60FPSFullDraw_V42] -moduleMatches = 0x9F0A90B7 - +[MarioKart8_60FPSFullDraw_v42] +moduleMatches = 0x9F0A90B7 ; v4.2(EU/NA/JP) 0x024AF384 = b .+0x54 - -[MK8_60FPSFullDraw_V41] -moduleMatches = 0xD09700CE - +[MarioKart8_60FPSFullDraw_v41] +moduleMatches = 0xD09700CE ; v4.1(EU/NA/JP) 0x024AF000 = b .+0x54 + +[MarioKart8_60FPSFullDraw_v1] +moduleMatches = 0x2A2DC82C ; v1.0(EU/NA/JP) +0x02416B74 = b .+0x54 diff --git a/src/MarioKart8/Mods/60FPSMultiplayer/rules.txt b/src/MarioKart8/Mods/60FPSMultiplayer/rules.txt index 7c69fa02..84094408 100644 --- a/src/MarioKart8/Mods/60FPSMultiplayer/rules.txt +++ b/src/MarioKart8/Mods/60FPSMultiplayer/rules.txt @@ -3,4 +3,5 @@ titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 name = 60FPS for 3/4 Player Splitscreen path = "Mario Kart 8/Mods/60FPS Splitscreen" description = Forces the game to run at 60FPS instead of 30FPS in 3/4 player splitscreen.|In those splitscreen modes, it normally alternates which screen is being updated each frame. This mod forces it to draw all the screens every frame instead.|Made by theboy181 and Xalphenos. +#Credits: theboy181, Xalphenos version = 6 diff --git a/src/MarioKart8/Mods/NoHUD/0039902b839f2863_00000000000003c9_ps.txt b/src/MarioKart8/Mods/NoHUD/0039902b839f2863_00000000000003c9_ps.txt index 5dfed7d4..76e5f915 100644 --- a/src/MarioKart8/Mods/NoHUD/0039902b839f2863_00000000000003c9_ps.txt +++ b/src/MarioKart8/Mods/NoHUD/0039902b839f2863_00000000000003c9_ps.txt @@ -1,4 +1,4 @@ -#version 420 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN @@ -14,7 +14,7 @@ #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 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) diff --git a/src/MarioKart8/Mods/NoHUD/005826125bfe150a_0000000000000079_ps.txt b/src/MarioKart8/Mods/NoHUD/005826125bfe150a_0000000000000079_ps.txt index 060d992e..760a9950 100644 --- a/src/MarioKart8/Mods/NoHUD/005826125bfe150a_0000000000000079_ps.txt +++ b/src/MarioKart8/Mods/NoHUD/005826125bfe150a_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 420 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN @@ -14,7 +14,7 @@ #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 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) diff --git a/src/MarioKart8/Mods/NoHUD/03c0659aacda420a_00000000000003c9_ps.txt b/src/MarioKart8/Mods/NoHUD/03c0659aacda420a_00000000000003c9_ps.txt index b5824ef9..4288ce85 100644 --- a/src/MarioKart8/Mods/NoHUD/03c0659aacda420a_00000000000003c9_ps.txt +++ b/src/MarioKart8/Mods/NoHUD/03c0659aacda420a_00000000000003c9_ps.txt @@ -1,4 +1,4 @@ -#version 420 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN @@ -14,7 +14,7 @@ #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 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) diff --git a/src/MarioKart8/Mods/NoHUD/2940f7a0fb8ea817_0000000000000079_ps.txt b/src/MarioKart8/Mods/NoHUD/2940f7a0fb8ea817_0000000000000079_ps.txt index 9f1f840b..a97739f0 100644 --- a/src/MarioKart8/Mods/NoHUD/2940f7a0fb8ea817_0000000000000079_ps.txt +++ b/src/MarioKart8/Mods/NoHUD/2940f7a0fb8ea817_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 420 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN @@ -14,7 +14,7 @@ #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 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) diff --git a/src/MarioKart8/Mods/NoHUD/440c49859973a955_00000000000003c9_ps.txt b/src/MarioKart8/Mods/NoHUD/440c49859973a955_00000000000003c9_ps.txt index ed06cf79..b57d809f 100644 --- a/src/MarioKart8/Mods/NoHUD/440c49859973a955_00000000000003c9_ps.txt +++ b/src/MarioKart8/Mods/NoHUD/440c49859973a955_00000000000003c9_ps.txt @@ -1,4 +1,4 @@ -#version 420 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN @@ -14,7 +14,7 @@ #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 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) diff --git a/src/MarioKart8/Mods/NoHUD/50612bab4e50d820_0000000000001e49_ps.txt b/src/MarioKart8/Mods/NoHUD/50612bab4e50d820_0000000000001e49_ps.txt index 517bcd17..bdf8072c 100644 --- a/src/MarioKart8/Mods/NoHUD/50612bab4e50d820_0000000000001e49_ps.txt +++ b/src/MarioKart8/Mods/NoHUD/50612bab4e50d820_0000000000001e49_ps.txt @@ -1,4 +1,4 @@ -#version 420 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN @@ -14,7 +14,7 @@ #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 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) diff --git a/src/MarioKart8/Mods/NoHUD/96440241cc1bf8a4_000000000000007d_ps.txt b/src/MarioKart8/Mods/NoHUD/96440241cc1bf8a4_000000000000007d_ps.txt index 0d99e0fa..241ba18f 100644 --- a/src/MarioKart8/Mods/NoHUD/96440241cc1bf8a4_000000000000007d_ps.txt +++ b/src/MarioKart8/Mods/NoHUD/96440241cc1bf8a4_000000000000007d_ps.txt @@ -1,4 +1,4 @@ -#version 420 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN @@ -14,7 +14,7 @@ #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 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) diff --git a/src/MarioKart8/Mods/NoHUD/a6981858d5437cf7_00000000000003c9_ps.txt b/src/MarioKart8/Mods/NoHUD/a6981858d5437cf7_00000000000003c9_ps.txt index 5bbb2842..72b992f3 100644 --- a/src/MarioKart8/Mods/NoHUD/a6981858d5437cf7_00000000000003c9_ps.txt +++ b/src/MarioKart8/Mods/NoHUD/a6981858d5437cf7_00000000000003c9_ps.txt @@ -1,4 +1,4 @@ -#version 420 +#version 450 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN @@ -14,7 +14,7 @@ #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 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) diff --git a/src/MarioKart8/Mods/NoHUD/rules.txt b/src/MarioKart8/Mods/NoHUD/rules.txt index b7e371c2..c00b61d2 100644 --- a/src/MarioKart8/Mods/NoHUD/rules.txt +++ b/src/MarioKart8/Mods/NoHUD/rules.txt @@ -3,4 +3,5 @@ titleIds = 000500001010ec00,000500001010ed00,000500001010eb00 name = Remove All HUD Elements path = "Mario Kart 8/Mods/No HUD (breaks menus)" description = Disables any HUD while racing.|Breaks many of the menu's so don't use this if you just want to play the game.||Made by Crementif. +#Credits: Crementif version = 6 diff --git a/src/MarioKart8/NetworkPort/patch_port.asm b/src/MarioKart8/NetworkPort/patch_port.asm index eaa0516e..a9238319 100644 --- a/src/MarioKart8/NetworkPort/patch_port.asm +++ b/src/MarioKart8/NetworkPort/patch_port.asm @@ -1,7 +1,6 @@ -[MarioKart8_ForceMultiplayerPortNumber_v81] -moduleMatches = 0x9F0A90B7 - -# min port range +[MarioKart8_ForceMultiplayerPortNumber_v42] +moduleMatches = 0x9F0A90B7 ; v4.2(EU/NA/JP) +; min port range 0x101a9a52 = .short $port -# max port range +; max port range 0x101a9a54 = .short $port