This commit is contained in:
Intra 2025-04-23 13:55:22 +02:00 committed by GitHub
commit 088685fc05
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
29 changed files with 200 additions and 156 deletions

View file

@ -1,30 +0,0 @@
[Definition]
titleIds = 0005000010145D00,0005000010145C00,0005000010106100
name = Anisotropic Filtering
path = "Super Mario 3D World/Enhancements/Anisotropic Filtering"
description = Anisotropic Filtering for smoother mipmaps.
version = 4
[Preset]
name = 1x (Default)
$anisoLevel = 1
[Preset]
name = 2x
$anisoLevel = 2
[Preset]
name = 4x
$anisoLevel = 4
[Preset]
name = 8x
$anisoLevel = 8
[Preset]
name = 16x
$anisoLevel = 16
[TextureRedefine]
formats = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435
overwriteAnisotropy = $anisoLevel

View file

@ -1,33 +0,0 @@
[Definition]
titleIds = 0005000010145D00,0005000010145C00,0005000010106100
name = Shadow Resolution
path = "Super Mario 3D World/Graphics/Shadow Resolution"
description = Note: Increasing shadow resolution is known to increase VRAM usage directly. Lowering this might give you a good boost in performance if you're limited on VRAM but makes shadows blockier. Medium is the original resolution.
version = 4
[Preset]
name = Medium (100%, Default)
$shadowRes = 1
[Preset]
name = Low (50%)
$shadowRes = 0.5
[Preset]
name = High (200%)
$shadowRes = 2
[Preset]
name = Ultra (300%)
$shadowRes = 3
[Preset]
name = Extreme (400%, Unstable)
$shadowRes = 4
[TextureRedefine] # Shadows
width = 1024
height = 1024
formats = 0x005
overwriteWidth = $shadowRes * 1024
overwriteHeight = $shadowRes * 1024

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
@ -36,8 +36,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;
@ -46,18 +46,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/1280.0*uf_fragCoordScale.x)
#define py (1.0/720.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);
@ -95,8 +95,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);
}
@ -104,7 +104,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;

View file

@ -2,11 +2,11 @@
titleIds = 0005000010145D00,0005000010145C00,0005000010106100
name = Contrasty
path = "Super Mario 3D World/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. Doesn't work if you also upscale or downscale the resolution. Made by getdls.
version = 4
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. Doesn't work if you also upscale or downscale the resolution.|Made by getdls.
#Credits: getdls
version = 6
[Preset]
name = Default
[Default]
$redShadows = 1.0
$greenShadows = 1.0
$blueSadows = 1.0
@ -27,6 +27,9 @@ $crushContrast = 0.0
$bleach = 1.0
$sharp_mix = 0.0
[Preset]
name = Default
[Preset]
name = debug
$redShadows = 1.0

View file

@ -1,17 +1,20 @@
[Definition]
titleIds = 0005000010145D00,0005000010145C00,0005000010106100
name = Negative texture LOD bias
path = "Super Mario 3D World/Enhancements/Texture LOD"
description = Texture LOD override, possible shimmer but sharper textures. Made by Ryce-Fast.
version = 4
path = "Super Mario 3D World/Enhancements/Texture LOD"
description = Texture LOD override, possible shimmer but sharper textures.|Made by Ryce-Fast.
#Credits: Ryce-Fast
version = 6
[Preset]
name = Default LOD
[Default]
$0x431 = 0
$0x432 = 0
$0x433 = 0
$0x434 = 0
[Preset]
name = Default LOD
[Preset]
name = Slightly higher LOD
$0x431 = -.5
@ -48,4 +51,4 @@ overwriteRelativeLodBias = $0x433
[TextureRedefine]
formats = 0x434
overwriteRelativeLodBias = $0x434
overwriteRelativeLodBias = $0x434

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
@ -20,7 +20,7 @@
// shader 1f83c0d47b1c4c34
// Used for: Background Blur
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 0, binding = 0) uniform ufBlock

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
@ -21,7 +21,7 @@
// shader 280351fcf8e5949f
// Used for: Another vertical blur
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 0, binding = 0) uniform ufBlock

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
@ -26,9 +26,9 @@
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// shader 470eee1bb25ab50d
// low res reflection
// low res reflection
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 0, binding = 0) uniform ufBlock

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
@ -28,7 +28,7 @@
// shader 4c426260188ace42
//switch palace reflection vertical
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 0, binding = 0) uniform ufBlock

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
@ -20,7 +20,7 @@
// shader 5661793d88425685
// Used for: First glitter bloom pass
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 1, binding = 1) uniform ufBlock

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
@ -21,7 +21,7 @@
// shader 6d9067fd20086bc0
// Used for: Vertical blur
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 0, binding = 0) uniform ufBlock

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
@ -20,7 +20,7 @@
// shader 842a19b509f8b91a
// Used for: General Blur vertical
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 0, binding = 0) uniform ufBlock

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
@ -20,7 +20,7 @@
// shader 8d68a0e3561ff525
// Used for: Horizontal Gameplay Blur
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 0, binding = 0) uniform ufBlock

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#ifdef VULKAN
#define ATTR_LAYOUT(__vkSet, __location) layout(set = __vkSet, location = __location)
@ -20,7 +20,7 @@
// shader b727c08e3b534992
// Used for: Second glitter bloom pass
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 1, binding = 1) uniform ufBlock

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
@ -18,11 +18,6 @@
#endif
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// shader be99d80628d31127 //AA PS
// Used for: Another vertical blur
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 1, binding = 2) uniform ufBlock
{
@ -33,6 +28,14 @@ uniform vec4 uf_fragCoordScale;
uniform ivec4 uf_remappedPS[4];
uniform vec2 uf_fragCoordScale;
#endif
// shader be99d80628d31127 //AA PS
// Used for: Another vertical blur
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
#define AAENABLE $AAEnable
#if (AAENABLE == 1)
TEXTURE_LAYOUT(0, 1, 0) uniform sampler2D textureUnitPS0;
TEXTURE_LAYOUT(1, 1, 1) uniform sampler2D textureUnitPS1;
layout(location = 0) in vec4 passParameterSem2;
@ -216,3 +219,4 @@ activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
// export
passPixelColor0 = vec4(R4f.x, R4f.y, R4f.z, R4f.w);
}
#endif

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
@ -28,7 +28,7 @@
// shader c27612e2f7126ebf
//switch palace low res reflection 256x240 / 240x240 hz
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 0, binding = 0) uniform ufBlock

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
@ -19,9 +19,9 @@
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// shader c4eaec09897d525e
//reflection
//reflection
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 0, binding = 0) uniform ufBlock

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
@ -28,7 +28,7 @@
// shader d9c81460d6984bb2
//switch palace reflection hz
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 0, binding = 0) uniform ufBlock

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
@ -26,9 +26,9 @@
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// shader e4e4a60266119f75
//reflection
//reflection
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN

View file

@ -1,4 +1,4 @@
#version 420
#version 430
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#ifdef VULKAN
@ -26,9 +26,9 @@
// This shader was automatically converted to be cross-compatible with Vulkan and OpenGL.
// shader fa47a4b5f1304f51
// low res reflection
// low res reflection
const float resXScale = float($width)/float($gameWidth);
const float resYScale = float($height)/float($gameHeight);
const float resYScale = float($height)/float($gameHeight);
#ifdef VULKAN
layout(set = 0, binding = 0) uniform ufBlock

View file

@ -1,14 +1,14 @@
[RedCarpetAspectUW]
moduleMatches = 0xBBAF1908, 0xD2308838, 0xEB70C731
# rodata constants
[SuperMario3DWorld_AspectRatio]
moduleMatches = 0xD2308838, 0xBBAF1908, 0xEB70C731 ; (EU), (NA), (JP)
; rodata constants
0x10363ED4 = .float $width/$height
0x1036A688 = .float $width/$height
_aspectAddr = 0x10363ED4
# Aspect calculation
; Aspect calculation
0x0241D9B4 = lis r8, _aspectAddr@ha
0x0241D9B8 = lfs f0, _aspectAddr@l(r8)
# touch position fix
; touch position fix
0x0241D9D4 = lis r8, _aspectAddr@ha
0x0241D9D8 = lfs f0, _aspectAddr@l(r8)

View file

@ -1,99 +1,179 @@
[Definition]
titleIds = 0005000010145D00,0005000010145C00,0005000010106100
name = Resolution
path = "Super Mario 3D World/Graphics/Resolution"
description = Changes the resolution of the game. Made by Crementif and getdls.
version = 4
name = Graphics Settings
path = "Super Mario 3D World/Graphics"
description = Changes the resolution of the game and the quality of shadows.|Made by Crementif and getdls.
#Credits: Crementif, getdls, Ryce-Fast
version = 6
[Preset]
name = 1280x720 (Default)
[Default]
$width = 1280
$height = 720
$gameWidth = 1280
$gameHeight = 720
$shadowRes = 1
$anisoLevel = 1
$AAEnable:int = 1
# Performance
[Preset]
category = Resolution
name = 640x360
$width = 640
$height = 360
$gameWidth = 1280
$gameHeight = 720
[Preset]
category = Resolution
name = 960x540
$width = 960
$height = 540
$gameWidth = 1280
$gameHeight = 720
[Preset]
category = Resolution
name = 1280x720 (Default)
default = 1
# Common HD Resolutions
[Preset]
category = Resolution
name = 1600x900
$width = 1600
$height = 900
$gameWidth = 1280
$gameHeight = 720
[Preset]
category = Resolution
name = 1920x1080
$width = 1920
$height = 1080
$gameWidth = 1280
$gameHeight = 720
[Preset]
category = Resolution
name = 2560x1440
$width = 2560
$height = 1440
$gameWidth = 1280
$gameHeight = 720
[Preset]
category = Resolution
name = 3200x1800
$width = 3200
$height = 1800
$gameWidth = 1280
$gameHeight = 720
[Preset]
category = Resolution
name = 3840x2160
$width = 3840
$height = 2160
$gameWidth = 1280
$gameHeight = 720
[Preset]
category = Resolution
name = 5120x2880
$width = 5120
$height = 2880
$gameWidth = 1280
$gameHeight = 720
[Preset]
category = Resolution
name = 7680x4320
$width = 7680
$height = 4320
$gameWidth = 1280
$gameHeight = 720
# Common Ultrawide Resolutions
[Preset]
category = Resolution
name = 2560x1080 (Ultrawide)
$width = 2560
$height = 1080
$gameWidth = 1280
$gameHeight = 720
[Preset]
category = Resolution
name = 3440x1440 (Ultrawide)
$width = 3440
$height = 1440
$gameWidth = 1280
$gameHeight = 720
[Preset]
category = Shadows
name = Low (50%)
$shadowRes = 0.5
[Preset]
category = Shadows
name = Medium (100%, Default)
default = 1
[Preset]
category = Shadows
name = High (200%)
$shadowRes = 2
[Preset]
category = Shadows
name = Ultra (300%)
$shadowRes = 3
[Preset]
category = Shadows
name = Extreme (400%, Unstable)
$shadowRes = 4
[Preset]
category = Anisotropic Filtering
name = 1x (Default)
[Preset]
category = Anisotropic Filtering
name = 2x
$anisoLevel = 2
[Preset]
category = Anisotropic Filtering
name = 4x
$anisoLevel = 4
[Preset]
category = Anisotropic Filtering
name = 8x
$anisoLevel = 8
[Preset]
category = Anisotropic Filtering
name = 16x (Recommended)
$anisoLevel = 16
[Preset]
category = Anisotropic Filtering
name = 32x (Overkill)
$anisoLevel = 32
[Preset]
category = Anti-Aliasing
name = Enable
$AAEnable:int = 1
[Preset]
category = Anti-Aliasing
name = Disable
$AAEnable:int = 0
#ansio
[TextureRedefine]
formats = 0x31,0x32,0x33,0x34,0x35,0x431,0x432,0x433,0x434,0x435
overwriteAnisotropy = $anisoLevel
#Shadows
[TextureRedefine]
width = 1024
height = 1024
formats = 0x005
overwriteWidth = $shadowRes * 1024
overwriteHeight = $shadowRes * 1024
#Resolution
[TextureRedefine]
width = 1280
@ -2111,7 +2191,7 @@ overwriteHeight = ($height/$gameHeight) * 360
[TextureRedefine] # circus
width = 512
height = 360
formatsExcluded = 0x034,0x033,0x031 # rain vulkan
formatsExcluded = 0x034,0x033,0x031 # rain vulkan
overwriteWidth = ($width/$gameWidth) * 512
overwriteHeight = ($height/$gameHeight) * 360

View file

@ -0,0 +1,9 @@
[SuperMario3DWorld_DrawDistance]
moduleMatches = 0xD2308838, 0xBBAF1908, 0xEB70C731 ; (EU), (NA), (JP)
; patch object clip
0x103693D8 = .float 700000.0 ; Distant clip (coins, boxes, enemies)
0x103693DC = .float 4000.0 ; Lev obj draw
0x10290DA4 = .float 200000.0 ; Passive movement patterns
;0x103852B8 = .float 10000.0 ; map dist mtx?? ;trace
;0x10368418 = .float 1500.0 ; plussy levels, glitches camera, glitches overworld ;trace
0x1036886C = .float 1000000.0 ; World draw, check reasonable includes unintended areas.

View file

@ -0,0 +1,7 @@
[Definition]
titleIds = 0005000010145D00,0005000010145C00,0005000010106100
name = Draw Distance
path = "Super Mario 3D World/Mods/Draw Distance"
description = Increases the draw distance of the game.|Has no effect on Plussy levels.|May load undesired objects in Bowser car fight levels.
#Credits: getdls
version = 6

View file

@ -1,6 +1,7 @@
[Definition]
titleIds = 5000010145d00,5000010145c00
titleIds = 0005000010145D00,0005000010145C00,0005000010106100
name = Remove All HUD Elements
path = "Super Mario 3D World/Mods/No HUD (breaks menus)"
description = Disable most of the UI while playing.|Use it only for screenshots as it breaks some menus.||Made by @etra0.
description = Disable most of the UI while playing.|Use it only for screenshots as it breaks some menus.|Made by @etra0.
#Credits: @etra0
version = 6