[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = Resolution
path = "Xenoblade Chronicles X/Graphics/Resolution"
description = Changes the resolution of the game. 
version = 3


[Preset]
name = 1280x720 (Default)
$width = 1280
$height = 720
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.01
$scaleShader = 1.0
$scaleBlur = 0.05

// Quality

[Preset]
name = 1600x900
$width = 1600
$height = 900
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.1
$scaleShader = (720.0/900.0) # factor for any shader that can't handle fractional scaling
$scaleBlur = 0.5

[Preset]
name = 1920x1080 (HD)
$width = 1920
$height = 1080
$gameWidth = 1280
$gameHeight = 720
$internalRes = (720.0/1080.0)
$dither = 0.15
$scaleShader = 1.0 #(1440.0/1080.0)
$scaleBlur = 0.5

[Preset]
name = 2560x1080 (21:9 HD)
$width = 2560
$height = 1080
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.15
$scaleShader = (1440.0/1080.0)
$scaleBlur = 0.5

[Preset]
name = 1920x1200 (10:9 HD)
$width = 1920
$height = 1200
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.15
$scaleShader = (1440.0/1200.0)
$scaleBlur = 0.5


[Preset]
name = 2560x1440
$width = 2560
$height = 1440
$gameWidth = 1280
$gameHeight = 720
$internalRes = 0.75
$dither = 0.15
$scaleShader = (1440.0/1080.0)
$scaleBlur = 0.5


[Preset]
name = 3440x1440 (21:9)
$width = 3440
$height = 1440
$gameWidth = 1280
$gameHeight = 720
$internalRes = 1.0
$dither = 0.1
$scaleShader = 1.0
$scaleBlur = 0.5

[Preset]
name = 3840x1620 (21:9 4k panel 1:1 pix mapping, transition fix)
$width = 3840
$height = 1620
$gameWidth = 1280
$gameHeight = 720
$internalRes = 0.5
$dither = 0.25
$scaleShader = (1440.0/1620.0) #round 1. shadow to 2.0
$scaleBlur = 1.0


[Preset]
name = 3200x1800
$width = 3200
$height = 1800
$gameWidth = 1280
$gameHeight = 720
$internalRes = 2.0
$dither = 0.2
$scaleShader = (1440.0/1800.0)
$scaleBlur = 0.5


[Preset]
name = 3840x2160
$width = 3840
$height = 2160
$gameWidth = 1280
$gameHeight = 720
$internalRes = 0.5
$dither = 0.25
$scaleShader = (1440.0/1080.0) #round 1.5 shadow to 2.0
$scaleBlur = 1.0

[Preset]
name = 5120x2160 (4k 21:9)
$width = 5120
$height = 2160
$gameWidth = 1280
$gameHeight = 720
$internalRes = 0.5
$dither = 0.2
$scaleShader = (1440.0/1080.0) #round 1.5 shadow to 2.0
$scaleBlur = 1.0


[Preset]
name = 5120x2880
$width = 5120
$height = 2880
$gameWidth = 1280
$gameHeight = 720
$internalRes = 0.375
$dither = 0.25
$scaleShader = (1440.0/1080.0)
$scaleBlur = 1.0

#[Preset]
#name = 7680x4320
#$width = 7680
#$height = 4320
#$gameWidth = 1280
#$gameHeight = 720
#$internalRes = 0.5
#$dither = 0.25
#$scaleShader = 1.0
#$scaleBlur = 1.0
#
#[Preset]
#name = 10240x5760
#$width = 10240
#$height = 5760
#$gameWidth = 1280
#$gameHeight = 720
#$internalRes = 0.5
#$dither = 0.25
#$scaleShader = 1.0
#$scaleBlur = 1.0

#[TextureRedefine] #moved to fancy gfx for better compatibility
#width = 1280
#height = 720
#formats = 0x816
#overwriteFormat = 0x820


#[TextureRedefine]
#width = 640
#height = 368
#formats = 0x816
#overwriteFormat = 0x820

#[TextureRedefine]
#width = 640
#height = 360
#formats = 0x816
#overwriteFormat = 0x820

#[TextureRedefine] # Bloom, DOF 
#width = 320
#height = 192
#formats = 0x816
#overwriteFormat = 0x820

#[TextureRedefine] # Bloom, DOF 
#width = 320
#height = 180
#formats = 0x816
#overwriteFormat = 0x820

[TextureRedefine]
width = 1280
height = 720
formatsExcluded = 0x031,0x431,0x035,0x034,0x033 #dialog prompt fixes, XCX Logo NLA
tileModesExcluded = 0x001
overwriteWidth = ($width/$gameWidth) * 1280
overwriteHeight = ($height/$gameHeight) * 720

[TextureRedefine] # shadows
width = 1024
height = 1024
formats = 0x005 
overwriteWidth = ($height/$gameHeight)* (1024*$scaleShader*$internalRes)
overwriteHeight = ($height/$gameHeight) * (1024*$scaleShader*$internalRes)

[TextureRedefine] #ingame menu
width = 1024
height = 720
tileModesExcluded = 0x001
overwriteWidth = ($width/$gameWidth) * 1024 
overwriteHeight = ($height/$gameHeight) * 720 

[TextureRedefine]
width = 864
height = 480
#formats = 
formatsExcluded = 0x431,0x035,0x034,0x033,0x031
overwriteWidth = ($width/$gameWidth) * 864
overwriteHeight = ($height/$gameHeight) * 480

[TextureRedefine]
width = 854
height = 480
#formats = 
formatsExcluded = 0x431,0x035,0x034,0x033,0x031
overwriteWidth = ($width/$gameWidth) * 854
overwriteHeight = ($height/$gameHeight) * 480

[TextureRedefine]
width = 640
height = 368
overwriteWidth = ($width/$gameWidth) * (640*$internalRes)
overwriteHeight = ($height/$gameHeight) * (368*$internalRes)

[TextureRedefine]
width = 640
height = 360
formatsExcluded = 0x033,0x031 #dialog prompt fixes, XCX Logo NLA 
tileModesExcluded = 0x001 # fmv sub colour
overwriteWidth = ($width/$gameWidth) * (640*$internalRes)
overwriteHeight = ($height/$gameHeight) * (360*$internalRes)

[TextureRedefine] # shadows 1024 for smoother transition
width = 512
height = 512
formats = 0x005
overwriteWidth = ($height/$gameHeight) * (1024*$scaleShader*$internalRes)
overwriteHeight = ($height/$gameHeight) * (1024*$scaleShader*$internalRes)

[TextureRedefine]
width = 512
height = 288
overwriteWidth = ($width/$gameWidth) * (512*$internalRes)
overwriteHeight = ($height/$gameHeight) * (288*$internalRes)

[TextureRedefine] # fog 1.5 match stencil
width = 448
height = 240
overwriteWidth = ($width/$gameWidth) * (448*$internalRes)
overwriteHeight = ($height/$gameHeight) * (240*$internalRes)

[TextureRedefine] # fog
width = 426
height = 240
overwriteWidth = ($width/$gameWidth) * (426*$internalRes)
overwriteHeight = ($height/$gameHeight) * (240*$internalRes)

[TextureRedefine] # #Bloom, DOF
width = 320
height = 192
overwriteWidth = ($width/$gameWidth) * (320*$internalRes)
overwriteHeight = ($height/$gameHeight) * (192*$internalRes)

[TextureRedefine] # Bloom, DOF 
width = 384
height = 192
#formats = 0x001
overwriteWidth = ($width/$gameWidth) * (384*$internalRes)
overwriteHeight = ($height/$gameHeight) * (192*$internalRes)

[TextureRedefine] # Bloom, DOF 
width = 320
height = 180
overwriteWidth = ($width/$gameWidth) * (320*$internalRes)
overwriteHeight = ($height/$gameHeight) * (180*$internalRes)

[TextureRedefine]
width = 256
height = 144
formatsExcluded = 0x431,0x035,0x034,0x033,0x031
overwriteWidth = ($width/$gameWidth) * (256*$internalRes)
overwriteHeight = ($height/$gameHeight) * (144*$internalRes)

[TextureRedefine] # PR screen
width = 256
height = 256
formats = 0x810,0x01a,0x816,0x011
overwriteWidth = ($width/$gameWidth) * (256*$internalRes)
overwriteHeight = ($height/$gameHeight) * (256*$internalRes)

[TextureRedefine]# sky, pr screen
width = 255
height = 255
formats = 0x810,0x01a,0x41a,0x816,0x011
#formatsExcluded = 0x431,0x035,0x034,0x033,0x031
overwriteWidth = ($width/$gameWidth) * (255*$internalRes)
overwriteHeight = ($height/$gameHeight) * (255*$internalRes)

[TextureRedefine] # skell depth
width = 192
height = 96
overwriteWidth = ($width/$gameWidth) * (192*$internalRes)
overwriteHeight = ($height/$gameHeight) * (96*$internalRes)

[TextureRedefine] # Bloom 2nd 
width = 160
height = 96
formatsExcluded = 0x431,0x035,0x034,0x033,0x031
overwriteWidth = ($width/$gameWidth) * (160*$internalRes)
overwriteHeight = ($height/$gameHeight) * (96*$internalRes)

[TextureRedefine] #bloom 2nd
width = 160
height = 90
###formats = 0x816
formatsExcluded = 0x431,0x035,0x034,0x033,0x031
overwriteWidth = ($width/$gameWidth) * (160*$internalRes)
overwriteHeight = ($height/$gameHeight) * (90*$internalRes)

[TextureRedefine] # 
width = 128
height = 128
formats = 0x806 #,0x035,0x034,0x033,0x031
formatsExcluded = 0x431,0x035,0x034,0x033,0x031
overwriteWidth = ($width/$gameWidth) * 128
overwriteHeight = ($height/$gameHeight) * 128

[TextureRedefine] # skell view 8
width = 128
height = 80
formats = 0x816 #,0x035,0x034,0x033,0x031
formatsExcluded = 0x431,0x035,0x034,0x033,0x031
overwriteWidth = ($width/$gameWidth) * 128
overwriteHeight = ($height/$gameHeight) * 128

[TextureRedefine] # skell view
width = 128
height = 72
formats = 0x816 #,0x035,0x034,0x033,0x031
formatsExcluded = 0x431,0x035,0x034,0x033,0x031
overwriteWidth = ($width/$gameWidth) * 128
overwriteHeight = ($height/$gameHeight) * 128

#[TextureRedefine] 
#width = 127
#height = 127
#formats = 0x80e # 0x820,0x816 #,0x035,0x034,0x033,0x032,0x031
#overwriteWidth = ($width/$gameWidth) * 127
#overwriteHeight = ($height/$gameHeight) * 127

[TextureRedefine] #bloom 3rd level
width = 96
height = 48
overwriteWidth = ($width/$gameWidth) * (96*$internalRes)
overwriteHeight = ($height/$gameHeight) * (48*$internalRes)

[TextureRedefine] #bloom 3rd level
width = 80
height = 46
overwriteWidth = ($width/$gameWidth) * (80*$internalRes)
overwriteHeight = ($height/$gameHeight) * (46*$internalRes)

[TextureRedefine] 
width = 64
height = 64
dept = 1 
formats = 0x820,0x816 #,0x035,0x034,0x033,0x032,0x031
#formatsExcluded = 0x431,0x035,0x034,0x033,0x031
overwriteWidth = ($width/$gameWidth) * (64*$internalRes)
overwriteHeight = ($height/$gameHeight) * (64*$internalRes)

[TextureRedefine] #skell cockpit bloom 3rd level
width = 64
height = 32
formats = 0x816,0x806 #0x820,0x816 #,0x035,0x034,0x033,0x032,0x031
overwriteWidth = ($width/$gameWidth) * (64*$internalRes)
overwriteHeight = ($height/$gameHeight) * (32*$internalRes)

[TextureRedefine] #skell view
width = 40
height = 24
#formats = 
overwriteWidth = ($width/$gameWidth) * (40*$internalRes)
overwriteHeight  = ($height/$gameHeight) * (24*$internalRes)

[TextureRedefine] 
width = 32
height = 32
dept = 1 
formats = 0x806 #,0x035,0x034,0x033,0x032,0x031
#formatsExcluded = 0x431,0x035,0x034,0x033,0x031
overwriteWidth = ($width/$gameWidth) * (32*$internalRes)
overwriteHeight = ($height/$gameHeight) * (32*$internalRes)
#
#[TextureRedefine] #
#width = 32
#height = 16
#formats = 0x816
##formatsExcluded = 0x431,0x035,0x034,0x033,0x031
#overwriteWidth = ($width/$gameWidth) * (32*$internalRes)
#overwriteHeight = ($height/$gameHeight) * (16*$internalRes)
# 
#[TextureRedefine] #don't scale 0x01a
#width = 16
#height = 16
#dept = 1 
#formats = 0x816 #0x008 ,0x431,0x031
###formatsExcluded = 0x431,0x035,0x034,0x033,0x031,0x806
#overwriteWidth = ($width/$gameWidth) * (16*$internalRes)
#overwriteHeight = ($height/$gameHeight) * (8*$internalRes)
#
#[TextureRedefine] # tilemode 2
#width = 16
#height = 8
#formats = 0x81e,0x80e,0x806 0x008 #,0x431,0x031
##formatsExcluded = 0x431,0x035,0x034,0x033,0x031,0x806
#overwriteWidth = ($width/$gameWidth) * (16*$internalRes)
#overwriteHeight = ($height/$gameHeight) * (8*$internalRes)

#[TextureRedefine] # tilemode 2
#width = 8
#height = 8
#formats = 0x806 #,0x81e,0x80e # ,0x431,0x031
###formatsExcluded = 0x431,0x035,0x034,0x033,0x031,0x806
#overwriteWidth = ($width/$gameWidth) * (8*$internalRes)
#overwriteHeight = ($height/$gameHeight) * (8*$internalRes)

#[TextureRedefine] 
#width = 4
#height = 4
####formats = 0x81e,0x80e
#formatsExcluded = 0x431,0x035,0x034,0x033,0x031
#overwriteWidth = ($width/$gameWidth) * (4*$internalRes)
#overwriteHeight = ($height/$gameHeight) * (4*$internalRes)
#
#[TextureRedefine] 
#width = 1
#height = 1
####formats = 0x008,0x81e,0x01a
#formatsExcluded = 0x431,0x035,0x034,0x033,0x031
#overwriteWidth = ($width/$gameWidth) * (1*$internalRes)
#overwriteHeight = ($height/$gameHeight) * (1*$internalRes)