[HW] 2p res tweaks

2p res added and tweaked to scale to native res
This commit is contained in:
getdls 2019-03-23 22:22:16 +01:00
parent f05c8408f3
commit 717a144262
3 changed files with 308 additions and 25 deletions

View File

@ -0,0 +1,46 @@
------
### Hyrule Warriors / ゼルダ無双
------
### Graphic options
## 3840x4320 vert x2 SSAA
Runs the game at double vertical res balancing look and performance when super sampling. Aspect is still 16:9 so run full screen scaling in stretched and bilinear when activating this option.
## 3840x2160 (4k - Native x3, 2p x2 res)
Runs 2p game at x2 resolution and match FOV for player 2. Ie restores it to native 4k as the game halves resolution when running 2p mode.
### Nice to know when creating a custom resolution
To mitigate issues with resolutions that aren't an even factor of 720 some “sub” viewports scale evenly. XCX uses a similar approach to get smooth shadow transitions.
Example:
```
[Preset]
name = 3440x1440 (21:9)
$width = 3440
$height = 1440
$gameWidth= 1920
$gameHeight= 1080
$lightSource = 1.5
$scaleShader = (2560.0/3440.0)
$aspectRatio = (43.0/18.0)
```
Base resolution is 2560x1440 -> Uw patch res 3440
AO needs to be 2160 = 1440 * $lightSource = 1.5
We then need to scale back ultrawide to original aspect for all viewports using AO / light sources
2560 = 3440 *$scaleShader (2560.0/3440.0)
```
[TextureRedefine]
width = 1024
height = 544
formats = 0x001
overwriteWidth = ($width/$gameWidth) * (1024*$lightSource*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (544*$lightSource)
```

View File

@ -3,7 +3,7 @@ moduleMatches = 0xE159AE91
#rodata constant changes #rodata constant changes
0x1009609C = .float $width/$height 0x1009609C = .float ($aspectRatio)
0x10096124 = .float $width/$height 0x10096124 = .float ($aspectRatio)
0x10096948 = .float $width/$height 0x10096948 = .float ($aspectRatio)
0x10096974 = .float $width/$height 0x10096974 = .float ($aspectRatio)

View File

@ -2,9 +2,14 @@
titleIds = 000500001017D800,000500001017D900,000500001017CD00 titleIds = 000500001017D800,000500001017D900,000500001017CD00
name = Resolution name = Resolution
path = "Hyrule Warriors/Graphics/Resolution" path = "Hyrule Warriors/Graphics/Resolution"
description = Changes the resolution of the game. 1080 FX scaling runs DoF, fog etc at lower precision for better performance description = Changes the resolution of the game.
version = 3 version = 3
#Resolutions |Aspect ratio
#2560×1080, 5120×2160, 8192×3456 |64:27 (2.370)
#3440×1440 |43:18 (2.38)
#1920×800, 3840×1600, 7680×3200 |12:5 (2.4)
[Preset] [Preset]
name = 1280x720 (Default) name = 1280x720 (Default)
$width = 1280 $width = 1280
@ -15,6 +20,8 @@ $internalRes = 1.0
$dither = 0.01 $dither = 0.01
$scaleShader = 1.0 $scaleShader = 1.0
$scaleBlur = 0.05 $scaleBlur = 0.05
$2pScaling = 1.0
$aspectRatio = (16.0/9.0)
[Preset] [Preset]
name = 640x360 (0.5 x native) name = 640x360 (0.5 x native)
@ -26,6 +33,8 @@ $internalRes = 1.0
$dither = 0.01 $dither = 0.01
$scaleShader = 1.0 $scaleShader = 1.0
$scaleBlur = 0.05 $scaleBlur = 0.05
$2pScaling = 1.0
$aspectRatio = (16.0/9.0)
[Preset] [Preset]
name = 3840x720 (48:9) name = 3840x720 (48:9)
@ -37,9 +46,24 @@ $internalRes = 1.0
$dither = 0.01 $dither = 0.01
$scaleShader = 1.0 $scaleShader = 1.0
$scaleBlur = 0.05 $scaleBlur = 0.05
$2pScaling = 1.0
$aspectRatio = (3840.0/720.0)
# Quality # Quality
[Preset]
name = 1920x800
$width = 1920
$height = 800
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.1
$scaleShader = (720.0/800.0) # factor for any shader that can't handle fractional scaling
$scaleBlur = 0.5
$2pScaling = 1.0
$aspectRatio = (12.0/5.0)
[Preset] [Preset]
name = 1600x900 name = 1600x900
$width = 1600 $width = 1600
@ -50,6 +74,8 @@ $internalRes = 1.0
$dither = 0.1 $dither = 0.1
$scaleShader = (720.0/900.0) # factor for any shader that can't handle fractional scaling $scaleShader = (720.0/900.0) # factor for any shader that can't handle fractional scaling
$scaleBlur = 0.5 $scaleBlur = 0.5
$2pScaling = 1.0
$aspectRatio = (16.0/9.0)
[Preset] [Preset]
name = 1920x1080 (HD) name = 1920x1080 (HD)
@ -61,6 +87,8 @@ $internalRes = 1.0
$dither = 0.15 $dither = 0.15
$scaleShader = (720.0/1080.0) $scaleShader = (720.0/1080.0)
$scaleBlur = 0.5 $scaleBlur = 0.5
$2pScaling = 1.0
$aspectRatio = (16.0/9.0)
[Preset] [Preset]
name = 2560x1080 (21:9 HD) name = 2560x1080 (21:9 HD)
@ -72,6 +100,8 @@ $internalRes = 1.0
$dither = 0.15 $dither = 0.15
$scaleShader = (720.0/1080.0) $scaleShader = (720.0/1080.0)
$scaleBlur = 0.5 $scaleBlur = 0.5
$2pScaling = 2.0
$aspectRatio = (64.0/27.0) #LG
[Preset] [Preset]
name = 5760x1080 (48:9 HD) name = 5760x1080 (48:9 HD)
@ -83,6 +113,8 @@ $internalRes = 1.0
$dither = 0.15 $dither = 0.15
$scaleShader = (720.0/1080.0) $scaleShader = (720.0/1080.0)
$scaleBlur = 0.5 $scaleBlur = 0.5
$2pScaling = 1.0
$aspectRatio = (16.0/9.0)
[Preset] [Preset]
name = 1920x1200 (10:9 HD) name = 1920x1200 (10:9 HD)
@ -94,6 +126,8 @@ $internalRes = 1.0
$dither = 0.15 $dither = 0.15
$scaleShader = (720.0/1200.0) $scaleShader = (720.0/1200.0)
$scaleBlur = 0.5 $scaleBlur = 0.5
$2pScaling = 1.0
$aspectRatio = (16.0/9.0)
[Preset] [Preset]
name = 2560x1440 (Native x2) name = 2560x1440 (Native x2)
@ -105,6 +139,8 @@ $internalRes = 1.0
$dither = 0.1 $dither = 0.1
$scaleShader = 1.0 $scaleShader = 1.0
$scaleBlur = 0.5 $scaleBlur = 0.5
$2pScaling = 1.0
$aspectRatio = (16.0/9.0)
[Preset] [Preset]
name = 3440x1440 (21:9) name = 3440x1440 (21:9)
@ -116,6 +152,8 @@ $internalRes = 1.0
$dither = 0.1 $dither = 0.1
$scaleShader = 1.0 $scaleShader = 1.0
$scaleBlur = 0.5 $scaleBlur = 0.5
$2pScaling = 1.0
$aspectRatio = (43.0/18.0)
[Preset] [Preset]
name = 7680x1440 (48:9) name = 7680x1440 (48:9)
@ -127,6 +165,8 @@ $internalRes = 1.0
$dither = 0.1 $dither = 0.1
$scaleShader = 1.0 $scaleShader = 1.0
$scaleBlur = 0.5 $scaleBlur = 0.5
$2pScaling = 1.0
$aspectRatio = (16.0/9.0)
#[Preset] #[Preset]
#name = 2560x1440 (Native x2) 1080 FX scaling #name = 2560x1440 (Native x2) 1080 FX scaling
@ -138,6 +178,21 @@ $scaleBlur = 0.5
#$dither = 0.15 #$dither = 0.15
#$scaleShader = (720.0/1080.0) #$scaleShader = (720.0/1080.0)
#$scaleBlur = 0.5 #$scaleBlur = 0.5
#$2pScaling = 1.0
#$aspectRatio = (16.0/9.0)
[Preset]
name = 3940x1600
$width = 3200
$height = 1800
$gameWidth = 1280
$gameHeight = 720
$internalRes = 2.0
$dither = 0.2
$scaleShader = (1440.0/1600.0)
$scaleBlur = 0.5
$2pScaling = 1.0
$aspectRatio = (12.0/5.0)
[Preset] [Preset]
name = 3200x1800 name = 3200x1800
@ -149,6 +204,8 @@ $internalRes = 2.0
$dither = 0.2 $dither = 0.2
$scaleShader = (1440.0/1800.0) $scaleShader = (1440.0/1800.0)
$scaleBlur = 0.5 $scaleBlur = 0.5
$2pScaling = 1.0
$aspectRatio = (16.0/9.0)
[Preset] [Preset]
name = 3840x2160 (4k - Native x3) name = 3840x2160 (4k - Native x3)
@ -160,6 +217,8 @@ $internalRes = 1.0
$dither = 0.2 $dither = 0.2
$scaleShader = 1.0 $scaleShader = 1.0
$scaleBlur = 1.0 $scaleBlur = 1.0
$2pScaling = 1.0
$aspectRatio = (16.0/9.0)
[Preset] [Preset]
name = 5120x2160 (4k 21:9) name = 5120x2160 (4k 21:9)
@ -171,6 +230,8 @@ $internalRes = 1.0
$dither = 0.2 $dither = 0.2
$scaleShader = 1.0 $scaleShader = 1.0
$scaleBlur = 1.0 $scaleBlur = 1.0
$2pScaling = 1.0
$aspectRatio = (64.0/27.0)
[Preset] [Preset]
name = 115200x2160 (4k 48:9) name = 115200x2160 (4k 48:9)
@ -182,6 +243,8 @@ $internalRes = 1.0
$dither = 0.2 $dither = 0.2
$scaleShader = 1.0 $scaleShader = 1.0
$scaleBlur = 1.0 $scaleBlur = 1.0
$2pScaling = 1.0
$aspectRatio = (16.0/9.0)
#[Preset] #[Preset]
#name = 3840x2160 (4k - 1080 FX scaling) #name = 3840x2160 (4k - 1080 FX scaling)
@ -193,6 +256,8 @@ $scaleBlur = 1.0
#$dither = 0.25 #$dither = 0.25
#$scaleShader = 1.0 # (1440.0/2160.0) #$scaleShader = 1.0 # (1440.0/2160.0)
#$scaleBlur = 2.0 #$scaleBlur = 2.0
#$2pScaling = 1.0
#$aspectRatio = (16.0/9.0)
[Preset] [Preset]
name = 5120x2880 (Native 4x) name = 5120x2880 (Native 4x)
@ -204,6 +269,8 @@ $internalRes = 1.0
$dither = 0.25 $dither = 0.25
$scaleShader = 1.0 $scaleShader = 1.0
$scaleBlur = 1.0 $scaleBlur = 1.0
$2pScaling = 1.0
$aspectRatio = (16.0/9.0)
#[Preset] #[Preset]
#name = 5120x2880 (1080 FX scaling) #name = 5120x2880 (1080 FX scaling)
@ -215,6 +282,8 @@ $scaleBlur = 1.0
#$dither = 0.25 #$dither = 0.25
#$scaleShader = (720.0/1080.0) #$scaleShader = (720.0/1080.0)
#$scaleBlur = 1.0 #$scaleBlur = 1.0
#$2pScaling = 1.0
#$aspectRatio = (16.0/9.0)
# Enthusiast # Enthusiast
@ -228,6 +297,8 @@ $scaleBlur = 1.0
#$dither = 0.25 #$dither = 0.25
#$scaleShader = 1.0 #$scaleShader = 1.0
#$scaleBlur = 1.0 #$scaleBlur = 1.0
#$2pScaling = 1.0
#$aspectRatio = (16.0/9.0)
#[Preset] #[Preset]
#name = 10240x5760 #name = 10240x5760
@ -239,7 +310,151 @@ $scaleBlur = 1.0
#$dither = 0.25 #$dither = 0.25
#$scaleShader = 1.0 #$scaleShader = 1.0
#$scaleBlur = 1.0 #$scaleBlur = 1.0
#$2pScaling = 1.0
#$aspectRatio = (16.0/9.0)
[Preset]
name = --- 2p x2 res scaling, normally runs at half res ---
$width = 1280
$height = 720
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.01
$scaleShader = 1.0
$scaleBlur = 0.05
$2pScaling = 2.0
$aspectRatio = (16.0/9.0)
[Preset]
name = 1280x720 (2p x2 res)
$width = 1280
$height = 720
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.01
$scaleShader = 1.0
$scaleBlur = 1.0
$2pScaling = 2.0
$aspectRatio = (16.0/9.0)
[Preset]
name = 1920x1080 (HD 2p x2 res)
$width = 1920
$height = 1080
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.15
$scaleShader = (720.0/1080.0)
$scaleBlur = 0.5
$2pScaling = 2.0
$aspectRatio = (16.0/9.0)
[Preset]
name = 2560x1080 (21:9 HD, 2p x2 res)
$width = 2560
$height = 1080
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.15
$scaleShader = 1.0 #(720.0/1080.0)
$scaleBlur = 1.0
$2pScaling = 2.0
$aspectRatio = (16.0/9.0)
[Preset]
name = 2560x1440 (Native x2, 2p x2 res)
$width = 2560
$height = 1440
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.1
$scaleShader = 1.0
$scaleBlur = 1.0
$2pScaling = 2.0
$aspectRatio = (16.0/9.0)
[Preset]
name = 3840x2160 (4k - Native x3, 2p x2 res)
$width = 3840
$height = 2160
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.2
$scaleShader = 1.0
$scaleBlur = 1.0
$2pScaling = 2.0
$aspectRatio = (16.0/9.0)
[Preset]
name = --- Custom - Vertical res x2 "SSAA" ---
$width = 1920
$height = 2160
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.15
$scaleShader = 1.0
$scaleBlur = 0.5
$2pScaling = 2.0
$aspectRatio = (16.0/9.0)
[Preset]
name = 1920x2160 - Use stretch for aspect ratio
$width = 1920
$height = 2160
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.15
$scaleShader = 1.0
$scaleBlur = 0.5
$2pScaling = 2.0
$aspectRatio = (16.0/9.0)
[Preset]
name = 2560x2880 - Use stretch for aspect ratio
$width = 2560
$height = 2880
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.1
$scaleShader = 1.0
$scaleBlur = 1.0
$2pScaling = 2.0
$aspectRatio = (16.0/9.0)
[Preset]
name = 3840x4320 - Use stretch for aspect ratio
$width = 3840
$height = 4320
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.2
$scaleShader = 1.0
$scaleBlur = 1.0
$2pScaling = 2.0
$aspectRatio = (16.0/9.0)
#[TextureRedefine]
#width = 1280
#height = 720
#formats = 0x816
#overwriteFormat = 0x820
#[TextureRedefine]
#width = 1280
#height = 720
#formats = 0x01a
#overwriteFormat = 0x01f
[TextureRedefine] [TextureRedefine]
width = 1280 width = 1280
@ -257,45 +472,67 @@ overwriteHeight = ($height/$gameHeight) * 720
#overwriteWidth = ($height/$gameHeight) * (1024*$scaleShader*$internalRes) #overwriteWidth = ($height/$gameHeight) * (1024*$scaleShader*$internalRes)
#overwriteHeight = ($height/$gameHeight) * (2048*$scaleShader*$internalRes) #overwriteHeight = ($height/$gameHeight) * (2048*$scaleShader*$internalRes)
[TextureRedefine] [TextureRedefine] #2p base res tv, scaled to match main tv to fix multiplayer being half res
width = 864 width = 864
height = 480 height = 480
#formats = #formats = 0x41a
overwriteWidth = ($width/$gameWidth) * 864 overwriteWidth = ($width/$gameWidth) * 1296 # #864
overwriteHeight = ($height/$gameHeight) * 480 overwriteHeight = ($height/$gameHeight) * 720 #480
[TextureRedefine] [TextureRedefine] #2p 3d res
width = 672 width = 672
height = 368 height = 368
overwriteWidth = ($width/$gameWidth) * (672) overwriteWidth = ($width/$gameWidth) * (672*$2pScaling )
overwriteHeight = ($height/$gameHeight) * (368) overwriteHeight = ($height/$gameHeight) * (368*$2pScaling )
[TextureRedefine] [TextureRedefine] #2p and 1p
width = 648
height = 360
overwriteWidth = ($width/$gameWidth) * (648*$2pScaling )
overwriteHeight = ($height/$gameHeight) * (360*$2pScaling )
[TextureRedefine]#rounding
width = 640 width = 640
height = 368 height = 368
#formats = 0x816,0x80e,0x035,0x033,0x007 #formats = 0x816,0x80e,0x035,0x033,0x007
tileModesExcluded = 0x001 tileModesExcluded = 0x001
overwriteWidth = ($width/$gameWidth) * (640) overwriteWidth = ($width/$gameWidth) * (640*$2pScaling )
overwriteHeight = ($height/$gameHeight) * (368) overwriteHeight = ($height/$gameHeight) * (368*$2pScaling )
[TextureRedefine] [TextureRedefine]#2p and 1p
width = 648
height = 360
overwriteWidth = ($width/$gameWidth) * (648)
overwriteHeight = ($height/$gameHeight) * (360)
[TextureRedefine]
width = 640 width = 640
height = 360 height = 360
#formats = 0x816,0x80e,0x035,0x033,0x007 #formats = 0x816,0x80e,0x035,0x033,0x007
tileModesExcluded = 0x001 tileModesExcluded = 0x001
overwriteWidth = ($width/$gameWidth) * (640) overwriteWidth = ($width/$gameWidth) * (640*$2pScaling )
overwriteHeight = ($height/$gameHeight) * (360) overwriteHeight = ($height/$gameHeight) * (360*$2pScaling )
[TextureRedefine] #2p depth 0x41a mp
width = 512
height = 1024
formats = 0x005
#formatsExcluded = 0x433,0x431,0x035,0x033,0x031,0x005
overwriteWidth = ($width/$gameWidth) * (512*$scaleShader*$internalRes)
overwriteHeight = ($height/$gameHeight) * (1024*$scaleShader*$internalRes)
#[TextureRedefine] ##
#width = 583
#height = 320
##formats =
#overwriteWidth = ($width/$gameWidth) * 583
#overwriteHeight = ($height/$gameHeight) * 320
#
#[TextureRedefine] ##
#width = 512
#height = 511
##formats =
#overwriteWidth = ($width/$gameWidth) * 512
#overwriteHeight = ($height/$gameHeight) * 511
[TextureRedefine] [TextureRedefine]
width = 512 width = 512
height = 512 height = 512
formats = 0x005 formats = 0x005,0x41a
#formatsExcluded = 0x433,0x431,0x035,0x033,0x031,0x005 #formatsExcluded = 0x433,0x431,0x035,0x033,0x031,0x005
overwriteWidth = ($width/$gameWidth) * (512*$scaleShader*$internalRes) overwriteWidth = ($width/$gameWidth) * (512*$scaleShader*$internalRes)
overwriteHeight = ($height/$gameHeight) * (512*$scaleShader*$internalRes) overwriteHeight = ($height/$gameHeight) * (512*$scaleShader*$internalRes)