diff --git a/Mods/YoshisWoollyWorld_60fpsMap/patches.txt b/Mods/YoshisWoollyWorld_60fpsMap/patches.txt deleted file mode 100644 index 4d73e167..00000000 --- a/Mods/YoshisWoollyWorld_60fpsMap/patches.txt +++ /dev/null @@ -1,5 +0,0 @@ -[pj023USv32] -moduleMatches = 0x6AEF65E7 - -#prevent going to 30 fps mode -0x02B38D7C = b .+0x20 \ No newline at end of file diff --git a/Resolutions/YoshisWoollyWorld_Resolution/patches.txt b/Resolutions/YoshisWoollyWorld_Resolution/patches.txt deleted file mode 100644 index eaea8b38..00000000 --- a/Resolutions/YoshisWoollyWorld_Resolution/patches.txt +++ /dev/null @@ -1,11 +0,0 @@ -[pj023USv32] -moduleMatches = 0x6AEF65E7 -# rodata constants -0x10001A44 = .float $width/$height -0x10101398 = .float $width/$height -0x10247D7C = .float $width/$height -0x1024E7E4 = .float $width/$height -0x102740B0 = .float $width/$height -0x102740D8 = .float $width/$height -0x102A4A70 = .float $width/$height -0x1025EB2C = .float ($gameWidth/$gameHeight)/($width/$height) diff --git a/Resolutions/YoshisWoollyWorld_Resolution/rules.txt b/Resolutions/YoshisWoollyWorld_Resolution/rules.txt deleted file mode 100644 index 501c0eaa..00000000 --- a/Resolutions/YoshisWoollyWorld_Resolution/rules.txt +++ /dev/null @@ -1,252 +0,0 @@ -[Definition] -titleIds = 0005000010131F00,0005000010184E00,0005000010184D00 -name = Resolution -path = "Yoshi's Woolly World/Graphics/Resolution" -description = Changes the resolution of the game. Made by M&&M and getdls. -version = 4 - -[Preset] -name = 1280x720 (Default) -$width = 1280 -$height = 720 -$gameWidth = 1280 -$gameHeight = 720 -$dither = 0.1 -$scaleShader = 1.0 - -# Performance - -[Preset] -name = 640x360 -$width = 640 -$height = 360 -$gameWidth = 1280 -$gameHeight = 720 -$dither = 0.1 -$scaleShader = 1.0 - -[Preset] -name = 960x540 -$width = 960 -$height = 540 -$gameWidth = 1280 -$gameHeight = 720 -$dither = 0.1 -$scaleShader = (720.0/540.0) - -# Common HD Resolutions - -[Preset] -name = 1600x900 -$width = 1600 -$height = 900 -$gameWidth = 1280 -$gameHeight = 720 -$dither = 0.1 -$scaleShader = (720.0/900.0) - -[Preset] -name = 1920x1080 -$width = 1920 -$height = 1080 -$gameWidth = 1280 -$gameHeight = 720 -$dither = 0.1 -$scaleShader = (1440.0/1080.0) # Don't scale shadows to 150% - -[Preset] -name = 2560x1440 -$width = 2560 -$height = 1440 -$gameWidth = 1280 -$gameHeight = 720 -$dither = 0.5 -$scaleShader = 1.0 - -[Preset] -name = 3200x1800 -$width = 3200 -$height = 1800 -$gameWidth = 1280 -$gameHeight = 720 -$dither = 0.75 -$scaleShader = (1440.0/1800.0) - -[Preset] -name = 3840x2160 -$width = 3840 -$height = 2160 -$gameWidth = 1280 -$gameHeight = 720 -$dither = 0.85 -$scaleShader = 1.0 - -# Common Ultrawide Resolutions - -[Preset] -name = 2560x1080 (Ultrawide) -$width = 2560 -$height = 1080 -$gameWidth = 1280 -$gameHeight = 720 -$dither = 0.1 -$scaleShader = (1440.0/1080.0) # Don't scale shadows to 150% - -[Preset] -name = 3440x1440 (Ultrawide) -$width = 3440 -$height = 1440 -$gameWidth = 1280 -$gameHeight = 720 -$dither = 0.5 -$scaleShader = 1.0 - -[Preset] -name = 5120x1440 (Superwide) -$width = 5120 -$height = 1440 -$gameWidth = 1280 -$gameHeight = 720 -$dither = 0.5 -$scaleShader = 1.0 - -[Preset] -name = 7680x2160 (Superwide) -$width = 7680 -$height = 2160 -$gameWidth = 1280 -$gameHeight = 720 -$dither = 0.85 -$scaleShader = 1.0 - -[TextureRedefine] -width = 1280 -height = 720 -#formats = 0x033,0x007,0x01a -formatsExcluded = 0x033 -tileModesExcluded = 0x001 -overwriteWidth = ($width/$gameWidth) * 1280 -overwriteHeight = ($height/$gameHeight) * 720 - -[TextureRedefine] # Shadows -width = 1024 -height = 1024 -#formatsExcluded = 0x431,0x005,0x433,0x431,0x235,0x035,0x034,0x033,0x031,0x005,0x01a -formats = 0x005 -overwriteWidth = ($width/$gameWidth) * (1024*$scaleShader) -overwriteHeight = ($height/$gameHeight) * (1024*$scaleShader) - - -[TextureRedefine] #Curtains / Shadows -width = 864 -height = 480 -#formats = 0x034 -overwriteWidth = ($width/$gameWidth) * 864 -overwriteHeight = ($height/$gameHeight) * 480 - -[TextureRedefine] #Curtains / Shadows -width = 854 -height = 480 -#formats = 0x034 -overwriteWidth = ($width/$gameWidth) * 854 -overwriteHeight = ($height/$gameHeight) * 480 - - -[TextureRedefine] # 360 rounding -width = 640 -height = 368 -#formats = 0x816,0x820,0x816,0x80e,0x019,0x001,0x01a -tileModesExcluded = 0x001 -overwriteWidth = ($width/$gameWidth) * 640 -overwriteHeight = ($height/$gameHeight) * 368 - -[TextureRedefine] -width = 640 -height = 360 -#formats = 0x816,0x820,0x816,0x80e,0x019,0x001,0x01a -tileModesExcluded = 0x001 -overwriteWidth = ($width/$gameWidth) * 640 -overwriteHeight = ($height/$gameHeight) * 360 - - -[TextureRedefine] #180 rounding -width = 320 -height = 192 -#formats = 0x816,0x019,0x01a,0x001 -overwriteWidth = ($width/$gameWidth) * 320 -overwriteHeight = ($height/$gameHeight) * 192 - -[TextureRedefine] -width = 320 -height = 180 -#formats = 0x816,0x019,0x01a,0x001 -overwriteWidth = ($width/$gameWidth) * 320 -overwriteHeight = ($height/$gameHeight) * 180 - - -#[TextureRedefine] #skybox? -#width = 256 -#height = 256 -#depth = 1 -#formats = 0x008 -#overwriteWidth = ($width/$gameWidth) * 256 -#overwriteHeight = ($height/$gameHeight) * 256 -# -#[TextureRedefine] # haze? -#width = 160 -#height = 208 -##formats = 0x806,0x007,0x01a -#overwriteWidth = ($width/$gameWidth) * 160 -#overwriteHeight = ($height/$gameHeight) * 208 -# -#[TextureRedefine] # haze? -#width = 150 -#height = 200 -##formats = 0x806,0x007,0x01a -#overwriteWidth = ($width/$gameWidth) * 150 -#overwriteHeight = ($height/$gameHeight) * 200 - - -[TextureRedefine] #90 rounding -width = 160 -height = 96 -#formats = 0x806,0x007,0x01a -overwriteWidth = ($width/$gameWidth) * 160 -overwriteHeight = ($height/$gameHeight) * 96 - -[TextureRedefine] -width = 160 -height = 90 -#formats = 0x806,0x007,0x01a -overwriteWidth = ($width/$gameWidth) * 160 -overwriteHeight = ($height/$gameHeight) * 90 - - -[TextureRedefine] #45 rounding -width = 96 -height = 48 -#formats = 0x806,0x01a -overwriteWidth = ($width/$gameWidth) * 96 -overwriteHeight = ($height/$gameHeight) * 48 - -[TextureRedefine] -width = 80 -height = 45 -#formats = 0x806,0x01a -overwriteWidth = ($width/$gameWidth) * 80 -overwriteHeight = ($height/$gameHeight) * 45 - - -[TextureRedefine] # 22 rounding -width = 64 -height = 32 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 64 -overwriteHeight = ($height/$gameHeight) * 32 - -[TextureRedefine] -width = 40 -height = 22 -formats = 0x01a -overwriteWidth = ($width/$gameWidth) * 40 -overwriteHeight = ($height/$gameHeight) * 22 diff --git a/Resolutions/YoshisWoollyWorld_Resolution/b5082db8c1a44514_0000000000000079_ps.txt b/src/YoshiWoolyWorld/Graphics/b5082db8c1a44514_0000000000000079_ps.txt similarity index 99% rename from Resolutions/YoshisWoollyWorld_Resolution/b5082db8c1a44514_0000000000000079_ps.txt rename to src/YoshiWoolyWorld/Graphics/b5082db8c1a44514_0000000000000079_ps.txt index e81239be..86cbbb1e 100644 --- a/Resolutions/YoshisWoollyWorld_Resolution/b5082db8c1a44514_0000000000000079_ps.txt +++ b/src/YoshiWoolyWorld/Graphics/b5082db8c1a44514_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 420 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/Resolutions/YoshisWoollyWorld_Resolution/f1f99f18ae69719b_0000000000000079_ps.txt b/src/YoshiWoolyWorld/Graphics/f1f99f18ae69719b_0000000000000079_ps.txt similarity index 99% rename from Resolutions/YoshisWoollyWorld_Resolution/f1f99f18ae69719b_0000000000000079_ps.txt rename to src/YoshiWoolyWorld/Graphics/f1f99f18ae69719b_0000000000000079_ps.txt index e7d152b5..ce95779d 100644 --- a/Resolutions/YoshisWoollyWorld_Resolution/f1f99f18ae69719b_0000000000000079_ps.txt +++ b/src/YoshiWoolyWorld/Graphics/f1f99f18ae69719b_0000000000000079_ps.txt @@ -1,4 +1,4 @@ -#version 420 +#version 430 #extension GL_ARB_texture_gather : enable #extension GL_ARB_separate_shader_objects : enable #ifdef VULKAN diff --git a/src/YoshiWoolyWorld/Graphics/patch_resolution.asm b/src/YoshiWoolyWorld/Graphics/patch_resolution.asm new file mode 100644 index 00000000..e88e84f5 --- /dev/null +++ b/src/YoshiWoolyWorld/Graphics/patch_resolution.asm @@ -0,0 +1,23 @@ +[YoshiWoolyWorld_Resolution_v110] +moduleMatches = 0x6AEF65E7 ; v1.1.0(EU/NA/JP) +; rodata constants +0x10001A44 = .float $width/$height +0x10101398 = .float $width/$height +0x10247D7C = .float $width/$height +0x1024E7E4 = .float $width/$height +0x102740B0 = .float $width/$height +0x102740D8 = .float $width/$height +0x102A4A70 = .float $width/$height +0x1025EB2C = .float ($gameWidth/$gameHeight)/($width/$height) + +[YoshiWoolyWorld_Resolution_v100] +moduleMatches = 0x363CA665 ; v1.0.0(EU/NA/JP) +; rodata constants +0x10001A44 = .float $width/$height +0x10101398 = .float $width/$height +0x10247D7C = .float $width/$height +0x1024E7E4 = .float $width/$height +0x10274058 = .float $width/$height +0x10274080 = .float $width/$height +0x102A4970 = .float $width/$height +0x1025EAD4 = .float ($gameWidth/$gameHeight)/($width/$height) diff --git a/src/YoshiWoolyWorld/Graphics/rules.txt b/src/YoshiWoolyWorld/Graphics/rules.txt new file mode 100644 index 00000000..06a0f4d8 --- /dev/null +++ b/src/YoshiWoolyWorld/Graphics/rules.txt @@ -0,0 +1,385 @@ +[Definition] +titleIds = 0005000010131F00,0005000010184E00,0005000010184D00 +name = Graphics Settings +path = "Yoshi's Woolly World/Graphics" +description = Changes the resolution of the game, quality of the shadows and the amount of dithering for the background blur.|Using a higher amount of dithering removes the banding (stripes) that the background blur has.|Made by M&&M and getdls. +#Credits: M&&M, getdls +version = 6 + +[Default] +$width = 1280 +$height = 720 +$gameWidth = 1280 +$gameHeight = 720 +$shadowRes = 1 + +$ditherRecommended = 1 +$dither = 0.1 + + +# Resolution + +[Preset] +category = Resolution +name = 640x360 +$width = 640 +$height = 360 +$ditherRecommended = 1 + +[Preset] +category = Resolution +name = 960x540 +$width = 960 +$height = 540 +$ditherRecommended = 1 + +[Preset] +category = Resolution +name = 1280x720 (Default) +default = 1 +$ditherRecommended = 1 + +[Preset] +category = Resolution +name = 1600x900 +$width = 1600 +$height = 900 +$ditherRecommended = 1 + +[Preset] +category = Resolution +name = 1920x1080 +$width = 1920 +$height = 1080 +$ditherRecommended = 2 + +[Preset] +category = Resolution +name = 2560x1440 +$width = 2560 +$height = 1440 +$ditherRecommended = 3 + +[Preset] +category = Resolution +name = 3200x1800 +$width = 3200 +$height = 1800 +$ditherRecommended = 3 + +[Preset] +category = Resolution +name = 3840x2160 +$width = 3840 +$height = 2160 +$ditherRecommended = 4 + +[Preset] +category = Resolution +name = 5120x2880 +$width = 5120 +$height = 2880 +$ditherRecommended = 5 + +[Preset] +category = Resolution +name = 7680x4320 +$width = 7680 +$height = 4320 +$ditherRecommended = 5 + +[Preset] +category = Resolution +name = 1680x1050 (16:10) +$width = 1680 +$height = 1050 +$ditherRecommended = 1 + +[Preset] +category = Resolution +name = 1920x1200 (16:10) +$width = 1920 +$height = 1200 +$ditherRecommended = 2 + +[Preset] +category = Resolution +name = 2560x1080 (21:9) +$width = 2560 +$height = 1080 +$ditherRecommended = 2 + +[Preset] +category = Resolution +name = 3440x1440 (21:9) +$width = 3440 +$height = 1440 +$ditherRecommended = 3 + +[Preset] +category = Resolution +name = 5120x2160 (21:9) +$width = 5120 +$height = 2160 +$ditherRecommended = 4 + +[Preset] +category = Resolution +name = 3840x1080 (32:9) +$width = 3840 +$height = 1080 +$ditherRecommended = 5 + +[Preset] +category = Resolution +name = 5120×1440 (32:9) +$width = 5120 +$height = 1440 +$ditherRecommended = 5 + +[Preset] +category = Resolution +name = 7680x2160 (32:9) +$width = 7680 +$height = 2160 +$ditherRecommended = 5 + + +# Shadow Quality + +[Preset] +category = Shadow Quality +name = Low (50%) +$shadowRes = 0.5 + +[Preset] +category = Shadow Quality +name = Medium (100%, Default) +default = 1 + +[Preset] +category = Shadow Quality +name = High (200%) +$shadowRes = 2 + +[Preset] +category = Shadow Quality +name = Ultra (300%) +$shadowRes = 3 + +[Preset] +category = Shadow Quality +name = Extreme (400%, Unstable) +$shadowRes = 4 + + +# Blur Dithering + +[Preset] +category = Blur Dithering +name = Low (Recommended) +condition = $ditherRecommended == 1 +default = 1 +$dither = 0.1 + +[Preset] +category = Blur Dithering +name = Low (for 900p and lower) +condition = $ditherRecommended != 1 +$dither = 0.1 + +[Preset] +category = Blur Dithering +name = Medium (Recommended) +condition = $ditherRecommended == 2 +default = 1 +$dither = 0.25 + +[Preset] +category = Blur Dithering +name = Medium (for 1080p and higher) +condition = $ditherRecommended != 2 +$dither = 0.5 + +[Preset] +category = Blur Dithering +name = High (Recommended) +condition = $ditherRecommended == 3 +default = 1 +$dither = 0.75 + +[Preset] +category = Blur Dithering +name = High (for 1440p and higher) +condition = $ditherRecommended != 3 +$dither = 0.75 + +[Preset] +category = Blur Dithering +name = Ultra (Recommended) +condition = $ditherRecommended == 4 +default = 1 +$dither = 0.85 + +[Preset] +category = Blur Dithering +name = Ultra (for 2160p and higher) +condition = $ditherRecommended != 4 +$dither = 0.85 + +[Preset] +category = Blur Dithering +name = Extreme (for 2880p and higher) +condition = $ditherRecommended != 5 +$dither = 0.95 + +[Preset] +category = Blur Dithering +name = Extreme (Recommended) +condition = $ditherRecommended == 5 +default = 1 +$dither = 0.95 + + +# Texture Redefines + +[TextureRedefine] # TV Resolution +width = 1280 +height = 720 +#formats = 0x033,0x007,0x01a +formatsExcluded = 0x033 +tileModesExcluded = 0x1 +overwriteWidth = ($width/$gameWidth) * 1280 +overwriteHeight = ($height/$gameHeight) * 720 + +[TextureRedefine] # Shadows +width = 1024 +height = 1024 +formats = 0x005 +overwriteWidth = $shadowRes * 1024 +overwriteHeight = $shadowRes * 1024 + +[TextureRedefine] # Curtains, Shadows +width = 864 +height = 480 +#formats = 0x034 +overwriteWidth = ($width/$gameWidth) * 864 +overwriteHeight = ($height/$gameHeight) * 480 + +[TextureRedefine] # Curtains, Shadows +width = 854 +height = 480 +#formats = 0x034 +overwriteWidth = ($width/$gameWidth) * 854 +overwriteHeight = ($height/$gameHeight) * 480 + + +# 1/2 res + +[TextureRedefine] +width = 640 +height = 368 +#formats = 0x816,0x820,0x816,0x80e,0x019,0x001,0x01a +tileModesExcluded = 0x001 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 368 + +[TextureRedefine] +width = 640 +height = 360 +#formats = 0x816,0x820,0x816,0x80e,0x019,0x001,0x01a +tileModesExcluded = 0x001 +overwriteWidth = ($width/$gameWidth) * 640 +overwriteHeight = ($height/$gameHeight) * 360 + + +# 1/4 res + +[TextureRedefine] +width = 320 +height = 192 +#formats = 0x816,0x019,0x01a,0x001 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 192 + +[TextureRedefine] +width = 320 +height = 180 +#formats = 0x816,0x019,0x01a,0x001 +overwriteWidth = ($width/$gameWidth) * 320 +overwriteHeight = ($height/$gameHeight) * 180 + + +# 1/8 res + +[TextureRedefine] +width = 160 +height = 96 +#formats = 0x806,0x007,0x01a +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 96 + +[TextureRedefine] +width = 160 +height = 90 +#formats = 0x806,0x007,0x01a +overwriteWidth = ($width/$gameWidth) * 160 +overwriteHeight = ($height/$gameHeight) * 90 + + +# 1/16 res + +[TextureRedefine] +width = 96 +height = 48 +#formats = 0x806,0x01a +overwriteWidth = ($width/$gameWidth) * 96 +overwriteHeight = ($height/$gameHeight) * 48 + +[TextureRedefine] +width = 80 +height = 45 +#formats = 0x806,0x01a +overwriteWidth = ($width/$gameWidth) * 80 +overwriteHeight = ($height/$gameHeight) * 45 + +# 1/32 res + +[TextureRedefine] +width = 64 +height = 32 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 64 +overwriteHeight = ($height/$gameHeight) * 32 + +[TextureRedefine] +width = 40 +height = 22 +formats = 0x01a +overwriteWidth = ($width/$gameWidth) * 40 +overwriteHeight = ($height/$gameHeight) * 22 + + +# These cause unwanted textures to be upscaled and cause issues. + +#[TextureRedefine] #skybox? +#width = 256 +#height = 256 +#depth = 1 +#formats = 0x008 +#overwriteWidth = ($width/$gameWidth) * 256 +#overwriteHeight = ($height/$gameHeight) * 256 +# +#[TextureRedefine] # haze? +#width = 160 +#height = 208 +##formats = 0x806,0x007,0x01a +#overwriteWidth = ($width/$gameWidth) * 160 +#overwriteHeight = ($height/$gameHeight) * 208 +# +#[TextureRedefine] # haze? +#width = 150 +#height = 200 +##formats = 0x806,0x007,0x01a +#overwriteWidth = ($width/$gameWidth) * 150 +#overwriteHeight = ($height/$gameHeight) * 200 diff --git a/src/YoshiWoolyWorld/Mods/60fpsMap/patch_FPSWorldMap.asm b/src/YoshiWoolyWorld/Mods/60fpsMap/patch_FPSWorldMap.asm new file mode 100644 index 00000000..2681ce8d --- /dev/null +++ b/src/YoshiWoolyWorld/Mods/60fpsMap/patch_FPSWorldMap.asm @@ -0,0 +1,9 @@ +[YoshiWoolyWorld_FPSWorldMap_v110] +moduleMatches = 0x6AEF65E7 ; v1.1.0(EU/NA/JP) +;prevent going to 30 fps mode +0x02B38D7C = b .+0x20 + +[YoshiWoolyWorld_FPSWorldMap_v100] +moduleMatches = 0x363CA665 ; v1.0.0(EU/NA/JP) +;prevent going to 30 fps mode +0x02B38940 = b .+0x20 diff --git a/Mods/YoshisWoollyWorld_60fpsMap/rules.txt b/src/YoshiWoolyWorld/Mods/60fpsMap/rules.txt similarity index 86% rename from Mods/YoshisWoollyWorld_60fpsMap/rules.txt rename to src/YoshiWoolyWorld/Mods/60fpsMap/rules.txt index df3b9f3b..7929f4b9 100644 --- a/Mods/YoshisWoollyWorld_60fpsMap/rules.txt +++ b/src/YoshiWoolyWorld/Mods/60fpsMap/rules.txt @@ -3,4 +3,5 @@ titleIds = 0005000010131F00,0005000010184E00,0005000010184D00 name = 60 FPS World Map path = "Yoshi's Woolly World/Mods/60FPS World Map" description = Prevents 30 fps mode in the world map. -version = 4 +#Credits: Xalphenos +version = 6