[Definition]
titleIds = 0005000010143400,0005000010143600,0005000010143500
name = Resolution
path = "The Legend of Zelda: The Wind Waker HD/Graphics/Resolution" 
description = Changes the resolution of the game.
version = 3

[Preset]
name = 1920x1080 (HD Default)
$width = 1920
$height = 1080
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 1
$dither = 0.5
$scaleShader = 1.0

// Performance

[Preset]
name = 320x180
$width = 320
$height = 180
$gameWidth = 1920
$gameHeight = 1080
$internalRes = 1
$dither = 0.5
$scaleShader = 1.0

[Preset]
name = 640x360
$width = 640
$height = 360
$gameWidth = 1920
$gameHeight = 1080
$internalRes = 1
$dither = 0.5
$scaleShader = 1.0

[Preset]
name = 960x540
$width = 960
$height = 540
$gameWidth = 1920
$gameHeight = 1080
$internalRes = 1
$dither = 0.5
$scaleShader = 1.0

[Preset]
name = 1280x720
$width = 1280
$height = 720
$gameWidth = 1920
$gameHeight = 1080
$internalRes = 1
$dither = 0.5
$scaleShader = 1.0

[Preset]
name = 1600x900
$width = 1600
$height = 900
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 1
$dither = 0.65
$scaleShader = 1.0

// Common HD Resolutions

[Preset]
name = 1920x1080 (HD) x2 sub scaling
$width = 1920
$height = 1080
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 2
$dither = 0.65
$scaleShader = 1.0

[Preset]
name = 2560x1440 (2k)
$width = 2560
$height = 1440
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 1
$dither = 0.66
$scaleShader = 1.0 #(1920.0/2560.0)

[Preset]
name = 2560x1440 (2k) x2 sub scaling
$width = 2560
$height = 1440
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 2
$dither = 0.75
$scaleShader = (1920.0/2560.0)

[Preset]
name = 3200x1800 (3k)
$width = 3200
$height = 1800
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 1
$dither = 0.75
$scaleShader = 1.0

[Preset]
name = 3840x2160 (4k - Native x2)
$width = 3840
$height = 2160
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 1
$dither = 0.76
$scaleShader = 1.0

[Preset]
name = 3840x2160 (4k - Native x2) x2 sub scaling
$width = 3840
$height = 2160
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 2
$dither = 0.745
$scaleShader = 1.0

[Preset]
name = 5120x2880 (5k)
$width = 5120
$height = 2880
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 1
$dither = 0.95
$scaleShader = 1.0

[Preset]
name = 5120x2880 (5k)x2 sub scaling
$width = 5120
$height = 2880
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 2
$dither = 0.95
$scaleShader = 1.0

// Common Ultrawide Resolutions

[Preset]
name = 2560x1080 (21:9 HD)
$width = 2560
$height = 1080
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 1
$dither = 0.5
$scaleShader = (1920.0/2560.0)

[Preset]
name = 3440x1440 (21:9)
$width = 3440
$height = 1440
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 1
$dither = 0.66
$scaleShader = (2560.0/3440.0)

[Preset]
name = 5160x2160 (4k 21:9)
$width = 5160
$height = 2160
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 1
$dither = 0.76
$scaleShader = (3840.0/5160.0)

// 48:9 Aspect Ratio

#[Preset] ## Too broken, disabled
#name = 7680x1440 (48:9)
#$width = 7680
#$height = 1440
#$gameWidth= 1920
#$gameHeight= 1080
#$internalRes = 1
#$dither = 0.66
#$scaleShader = (2560.0/7680.0)

[Preset]
name = 5760x1080 (48:9 HD)
$width = 5760
$height = 1080
$gameWidth= 1920
$gameHeight= 1080
$internalRes = 1
$dither = 0.5
$scaleShader = (1920.0/5760.0)


[TextureRedefine]
width = 1920
height = 1088
#formats = 0x80e,0x019,0x001
overwriteWidth = ($width/$gameWidth) * 1920
overwriteHeight = ($height/$gameHeight) * 1088

[TextureRedefine]
width = 1920
height = 1080
#formatsExcluded = 0x41A
overwriteWidth = ($width/$gameWidth) * 1920
overwriteHeight = ($height/$gameHeight) * 1080

[TextureRedefine] #Shadows
width = 1024
height = 1024
formats = 0x005 #,0x034,0x431,0x034
overwriteWidth = ($width/$gameWidth) * (1024*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (1024*$internalRes)

[TextureRedefine] #Shadows
width = 1024
height = 544
formats = 0x005,0x80e,0x019,0x001 #,0x034,0x431,0x034
overwriteWidth = ($width/$gameWidth) * (1024*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (544*$internalRes)

[TextureRedefine]
width = 960
height = 540
#formats = 0x816,0x806,0x019,0x01a
overwriteWidth = ($width/$gameWidth) * (960*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (540*$internalRes)

[TextureRedefine]
width = 960
height = 544
#formats = 0x816,0x806,0x019,0x01a
overwriteWidth = ($width/$gameWidth) * (960*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (544*$internalRes)

[TextureRedefine]
width = 864
height = 480
#formats = 
overwriteWidth = ($width/$gameWidth) * 864
overwriteHeight = ($height/$gameHeight) * 480

[TextureRedefine]
width = 854
height = 480
#formats = 
overwriteWidth = ($width/$gameWidth) * 854
overwriteHeight = ($height/$gameHeight) * 480

[TextureRedefine]
width = 512
height = 512
formats = 0x806,0x019,0x01a
overwriteWidth = ($width/$gameWidth) * (512*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (512*$internalRes)

[TextureRedefine]
width = 480
height = 272
#formats = 0x816
overwriteWidth = ($width/$gameWidth) * (480*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (272*$internalRes)

[TextureRedefine]
width = 480
height = 270
#formats = 0x816
overwriteWidth = ($width/$gameWidth) * (480*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (270*$internalRes)

#[TextureRedefine]
#width = 360
#height = 346
##formats = 
#overwriteWidth = ($width/$gameWidth) * (360*$internalRes*$scaleShader)
#overwriteHeight = ($height/$gameHeight) * (346*$internalRes)

[TextureRedefine]
width = 256
height = 144
#formats = 0x816
#formatsExcluded = 0x01a
overwriteWidth = ($width/$gameWidth) * (256*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (144*$internalRes)

[TextureRedefine]
width = 256
height = 256
formats = 0x816
overwriteWidth = ($width/$gameWidth) * (256*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (256*$internalRes)

[TextureRedefine]
width = 256
height = 144
#formats = 0x816
overwriteWidth = ($width/$gameWidth) * (256*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (144*$internalRes)

[TextureRedefine]
width = 240
height = 135
#formats = 0x816
overwriteWidth = ($width/$gameWidth) * (240*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (135*$internalRes)

[TextureRedefine]
width = 128
height = 128
formats = 0x816
overwriteWidth = ($width/$gameWidth) * (128*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (128*$internalRes)

[TextureRedefine]
width = 128
height = 80
#formats = 0x816
overwriteWidth = ($width/$gameWidth) * (128*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (80*$internalRes)

[TextureRedefine]
width = 120
height = 67
#formats = 
overwriteWidth = ($width/$gameWidth) * (120*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (67*$internalRes)

[TextureRedefine]
width = 64
height = 64
formats = 0x816
overwriteWidth = ($width/$gameWidth) * (64*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (64*$internalRes)

[TextureRedefine]
width = 64
height = 48
#formats = 
overwriteWidth = ($width/$gameWidth) * (64*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (48*$internalRes)

[TextureRedefine]
width = 60
height = 33
#formats = 
overwriteWidth = ($width/$gameWidth) * (60*$internalRes*$scaleShader)
overwriteHeight = ($height/$gameHeight) * (33*$internalRes)

#[TextureRedefine]
#width = 4
#height = 4
##formats = 
#overwriteWidth = ($width/$gameWidth) * (4*$internalRes)
#overwriteHeight = ($height/$gameHeight) * (4*$internalRes)
