[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = Resolution
path = "The Legend of Zelda: Breath of the Wild/Graphics/Resolution"
description = Changes the games resolution. You cannot change resolutions on the fly.
version = 3

[Preset]
name = 1280x720 (Default)
$width = 1280
$height = 720
$gameWidth = 1280
$gameHeight = 720

// Performance

[Preset]
name = 320x180
$width = 320
$height = 180
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 640x360
$width = 640
$height = 360
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 960x540
$width = 960
$height = 540
$gameWidth = 1280
$gameHeight = 720

// Common HD Resolutions

[Preset]
name = 1920x1080
$width = 1920
$height = 1080
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 2560x1440
$width = 2560
$height = 1440
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 3200x1800
$width = 3200
$height = 1800
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 3840x2160
$width = 3840
$height = 2160
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 5120x2880
$width = 5120
$height = 2880
$gameWidth = 1280
$gameHeight = 720

// Common Ultrawide Resolutions

[Preset]
name = 2560x1080 ("21:9")
$width = 2560
$height = 1080
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 3440x1440 ("21:9")
$width = 3440
$height = 1440
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 4300x1800 ("21:9")
$width = 4300
$height = 1800
$gameWidth = 1280
$gameHeight = 720

// Common 16:10 Resolutions

[Preset]
name = 1440x936 (16:10)
$width = 1440
$height = 936 # 720x1.3
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 1680x1080 (16:10)
$width = 1680
$height = 1080 # 720x1.5
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 1920x1224 (16:10)
$width = 1920
$height = 1224 # 720x1.7
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 2560x1656 (16:10)
$width = 2560
$height = 1656 # 720x2.3
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 2880x1800 (16:10)
$width = 2880
$height = 1800 # 720x2.5
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 3840x2448 (16:10)
$width = 3840
$height = 2448 # 720x3.4
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 5120x3168 (16:10)
$width = 5120
$height = 3168 # 720x4.4
$gameWidth = 1280
$gameHeight = 720

# All 720p textures:
# - 0x001=World Lighting Red8
# - 0x005=Link and Objects Depth
# - 0x007=World Lighting Red-Green Texture
# - 0x019=Menu Interface/GUI
# - 0x01a=Normals
# - 0x41a=Geometry rendering
# - 0x806=Wind/Fog
# - 0x80e=Depth stencil buffer
# - 0x816=Weapon and Objects Bloom
# - 0x820=Field Fog

# Depth/Geometry/Shading Rendering
[TextureRedefine]
width = 1280
height = 720
formats = 0x001,0x005,0x007,0x019,0x01a,0x41a,0x80e,0x806,0x816,0x820
formatsExcluded = 0x008 # Game Load Opening Background Image
tileModesExcluded = 0x001 # For Video Playback
overwriteWidth = ($width/$gameWidth)* 1280
overwriteHeight = ($height/$gameHeight)* 720

# Gamepad - background
[TextureRedefine] 
width = 864
height = 480
formats = 0x019
formatsExcluded = 0x034 # Exclude 0x034 which is used for large album thumbnails
overwriteWidth = ($width/$gameWidth)* 864
overwriteHeight = ($height/$gameHeight)* 480

# Gamepad - game render size
[TextureRedefine]
width = 854
height = 480
formats = 0x019
formatsExcluded = 0x034 # Exclude 0x034 which is used for large album thumbnails
overwriteWidth = ($width/$gameWidth)* 854
overwriteHeight = ($height/$gameHeight)* 480

# All 1/2, 1/4 textures:
# - 0x001=World Lighting - Red
# - 0x005=Depth for Link and Objects
# - 0x019=GUI
# - 0x01a=Blurs and Normals 
# - 0x80e=World and Objects Depth 32bit
# - 0x806=Wind/Fog
# - 0x816=World & Weapon Bloom
# - 0x820=Fog

# Required 1/2 resolutions
[TextureRedefine]
width = 640
height = 368
formats = 0x001,0x005,0x019,0x01a,0x80e,0x806,0x816,0x820
formatsExcluded = 0x431 # Exclude 0x431 which is used for adventure log images
overwriteWidth = ($width/$gameWidth)* 640
overwriteHeight = ($height/$gameHeight)* 368

# Required 1/2 resolutions
[TextureRedefine] 
width = 640
height = 360
formats = 0x001,0x005,0x019,0x01a,0x80e,0x806,0x816,0x820
formatsExcluded = 0x431
tileModesExcluded = 0x001 # For Video Playback
overwriteWidth = ($width/$gameWidth)* 640
overwriteHeight = ($height/$gameHeight)* 360

# Required 1/3 resolutions
[TextureRedefine]
width = 384
height = 192
formats = 0x001 # World lighting - Red
overwriteWidth = ($width/$gameWidth)* 384
overwriteHeight = ($height/$gameHeight)* 192

# Required 1/4 resolutions
[TextureRedefine]
width = 320
height = 192
formats = 0x001,0x005,0x019,0x01a,0x80e,0x816,0x806
overwriteWidth = ($width/$gameWidth)* 320
overwriteHeight = ($height/$gameHeight)* 192

# Required 1/4 resolutions
[TextureRedefine]
width = 320
height = 180
formats = 0x001,0x005,0x019,0x01a,0x80e,0x816,0x806
overwriteWidth = ($width/$gameWidth)* 320
overwriteHeight = ($height/$gameHeight)* 180

# Required 1/6 resolution
[TextureRedefine]
width = 192
height = 96
formats = 0x007,0x806 # Used for Fog
overwriteWidth = ($width/$gameWidth) * 192
overwriteHeight = ($height/$gameHeight) * 96

# Required 1/8 resolution
[TextureRedefine]
width = 160
height = 96
formats = 0x007,0x806,0x80e,0x816 # Used for Fog/Depth/Bloom
overwriteWidth = ($width/$gameWidth)* 160
overwriteHeight = ($height/$gameHeight)* 96

# Required 1/8 resolution
[TextureRedefine]
width = 160
height = 90
formats = 0x007,0x806,0x80e,0x816
overwriteWidth = ($width/$gameWidth)* 160
overwriteHeight = ($height/$gameHeight)* 90

# Required 1/13 resolution
[TextureRedefine]
width = 96
height = 48
formats = 0x816,0x80e # Used for bloom/depth
overwriteWidth = ($width/$gameWidth)* 96
overwriteHeight = ($height/$gameHeight)* 48

# Required 1/16 resolution
[TextureRedefine]
width = 80
height = 45
formats = 0x816,0x806 # Used for bloom/fog
overwriteWidth = ($width/$gameWidth)* 80
overwriteHeight = ($height/$gameHeight)* 45

# 0x01a - Blurs

# Start Menu Screen "Complete" blur
[TextureRedefine]
width = 160
height = 64
formats = 0x01a
overwriteWidth = ($width/$gameWidth) * 160
overwriteHeight = ($height/$gameHeight) * 64

# Start Menu Screen "Complete" blur
[TextureRedefine]
width = 160
height = 50
formats = 0x01a
overwriteWidth = ($width/$gameWidth) * 160
overwriteHeight = ($height/$gameHeight) * 50

# Select Screen - Time and Temp Blur
[TextureRedefine]
width = 128
height = 64
formats = 0x01a
overwriteWidth = ($width/$gameWidth) * 128
overwriteHeight = ($height/$gameHeight) * 64

# Select Screen - Time and Temp Blur
[TextureRedefine]
width = 128
height = 50
formats = 0x01a
overwriteWidth = ($width/$gameWidth) * 128
overwriteHeight = ($height/$gameHeight) * 50

# Select Screen - Time and Temp Blur
[TextureRedefine]
width = 64
height = 32
formats = 0x01a
overwriteWidth = ($width/$gameWidth) * 64
overwriteHeight = ($height/$gameHeight) * 32

# Select Screen - Time and Temp Blur
[TextureRedefine]
width = 64
height = 25
formats = 0x01a
overwriteWidth = ($width/$gameWidth) * 64
overwriteHeight = ($height/$gameHeight) * 25

# Select Screen - Shrine Locator Blur
[TextureRedefine]
width = 288
height = 64
formats = 0x01a
overwriteWidth = ($width/$gameWidth) * 288
overwriteHeight = ($height/$gameHeight) * 64

# Select Screen - Shrine Locator Blur
[TextureRedefine]
width = 266
height = 50
formats = 0x01a
overwriteWidth = ($width/$gameWidth) * 266
overwriteHeight = ($height/$gameHeight) * 50

# Select Screen - Shrine Locator Blur
[TextureRedefine]
width = 160
height = 32
formats = 0x01a
overwriteWidth = ($width/$gameWidth) * 160
overwriteHeight = ($height/$gameHeight) * 32

# Select Screen - Shrine Locator Blur
[TextureRedefine]
width = 133
height = 25
formats = 0x01a
overwriteWidth = ($width/$gameWidth) * 133
overwriteHeight = ($height/$gameHeight) * 25

# Main menu BOTW logo blur
[TextureRedefine]
width = 120
height = 80
formats = 0x01a
overwriteWidth = ($width/$gameWidth)* 120
overwriteHeight = ($height/$gameHeight)* 80

# Main menu BOTW logo blur
[TextureRedefine]
width = 120
height = 75
formats = 0x01a
overwriteWidth = ($width/$gameWidth)* 120
overwriteHeight = ($height/$gameHeight)* 75

# 0x806 - Fogs and Dust
# Required
[TextureRedefine]
width = 128
height = 48
formats = 0x806,0x816,0x005,0x820
overwriteWidth = ($width/$gameWidth) * 128
overwriteHeight = ($height/$gameHeight) * 48

# 0x816 - Blooms & Effects

# Heat wave effect
[TextureRedefine]
width = 1024
height = 512
depth = 1
formats = 0x816
overwriteWidth = ($width/$gameWidth)* 1024
overwriteHeight = ($height/$gameHeight)* 512

# Sheikah slate scope
[TextureRedefine] 
width = 512
height = 256
depth = 1
formats = 0x816
overwriteWidth = ($width/$gameWidth)* 512
overwriteHeight = ($height/$gameHeight)* 256

# World bloom

[TextureRedefine] 
width = 256
height = 128
depth = 1
formats = 0x816
overwriteWidth = ($width/$gameWidth)* 256
overwriteHeight = ($height/$gameHeight)* 128

[TextureRedefine]
width = 128
height = 64
depth = 1
formats = 0x816
overwriteWidth = ($width/$gameWidth)* 128
overwriteHeight = ($height/$gameHeight)* 64

[TextureRedefine]
width = 64
height = 32
depth = 1
formats = 0x816
overwriteWidth = ($width/$gameWidth)* 64
overwriteHeight = ($height/$gameHeight)* 32

[TextureRedefine]
width = 32
height = 16
depth = 1
formats = 0x816
overwriteWidth = ($width/$gameWidth)* 32
overwriteHeight = ($height/$gameHeight)* 16

[TextureRedefine]
width = 40
height = 22
depth = 1
formats = 0x816
overwriteWidth = ($width/$gameWidth)* 40
overwriteHeight = ($height/$gameHeight)* 22

[TextureRedefine]
width = 24
height = 16
depth = 1
formats = 0x816
overwriteWidth = ($width/$gameWidth)* 24
overwriteHeight = ($height/$gameHeight)* 16

[TextureRedefine]
width = 20
height = 11
depth = 1
formats = 0x816
overwriteWidth = ($width/$gameWidth)* 20
overwriteHeight = ($height/$gameHeight)* 11

# Great Fairy / Stable / Stores Viewports

# Required, Great Fairy Full Resolution Viewports
[TextureRedefine] 
width = 960
height = 540
formats = 0x816,0x005,0x007,0x019,0x01a,0x41a,0x80e,0x806
tileModesExcluded = 0x001 # For Video Playback
overwriteWidth = ($width/$gameWidth) * 960
overwriteHeight = ($height/$gameHeight) * 540

# Required, Great Fairy Full Resolution Viewports
[TextureRedefine] 
width = 960
height = 544
formats = 0x816,0x005,0x007,0x019,0x01a,0x41a,0x80e,0x806
overwriteWidth = ($width/$gameWidth) * 960
overwriteHeight = ($height/$gameHeight) * 544

# Required Great Fairy Red Viewport and Depth port of the same size
[TextureRedefine]
width = 512
height = 272
depth = 1
formats = 0x001,0x005 # Red Viewport / Depth
overwriteWidth = ($width/$gameWidth) * 512
overwriteHeight = ($height/$gameHeight) * 272

# Required, Great Fairy Half Resolution Viewports
[TextureRedefine] 
width = 480
height = 272
formats = 0x816,0x01a,0x820,0x001,0x80e,0x820
overwriteWidth = ($width/$gameWidth) * 480
overwriteHeight = ($height/$gameHeight) * 272

# Required, Great Fairy Half Resolution Viewports
[TextureRedefine] 
width = 480
height = 270
formats = 0x816,0x01a,0x820,0x001,0x80e,0x820
overwriteWidth = ($width/$gameWidth) * 480
overwriteHeight = ($height/$gameHeight) * 270

# Required - Great Fairy background heatwave effect
[TextureRedefine]
width = 512
height = 512
depth = 1
formats = 0x816
overwriteWidth = ($width/$gameWidth) * 512
overwriteHeight = ($height/$gameHeight) * 512

# Depth 
[TextureRedefine] # Top-view to bottom Depth
width = 2048
height = 2048
formats = 0x005
overwriteWidth = ($width/$gameWidth) * 2048
overwriteHeight = ($height/$gameHeight) * 2048

# Select-Menu Map
[TextureRedefine]
width = 1504
height = 720
formats = 0x019
overwriteWidth = ($width/$gameWidth) * 1504
overwriteHeight = ($height/$gameHeight) * 720

# Select-Menu Map
[TextureRedefine]
width = 1500
height = 720
formats = 0x019
overwriteWidth = ($width/$gameWidth) * 1500
overwriteHeight = ($height/$gameHeight) * 720

# Select-Menu Map Overlay
[TextureRedefine]
width = 1280
height = 608
formats = 0x019
overwriteWidth = ($width/$gameWidth) * 1280
overwriteHeight = ($height/$gameHeight) * 608

# Mini-map GUI
[TextureRedefine] 
width = 192
height = 192
formats = 0x019
overwriteWidth = ($width/$gameWidth) * 192
overwriteHeight = ($height/$gameHeight) * 192

# Red Viewport
[TextureRedefine]
width = 1920
height = 912
formats = 0x001
overwriteWidth = ($width/$gameWidth) * 1920
overwriteHeight = ($height/$gameHeight) * 912

# Red Viewports Smaller Scales
[TextureRedefine] 
width = 64
height = 45
formats = 0x806
overwriteWidth = ($width/$gameWidth) * 64
overwriteHeight = ($height/$gameHeight) * 45

[TextureRedefine] 
width = 64
height = 48
formats = 0x806
overwriteWidth = ($width/$gameWidth) * 64
overwriteHeight = ($height/$gameHeight) * 48

[TextureRedefine] 
width = 64
height = 32
formats = 0x806
overwriteWidth = ($width/$gameWidth) * 64
overwriteHeight = ($height/$gameHeight) * 32

[TextureRedefine] 
width = 32
height = 23
formats = 0x806
overwriteWidth = ($width/$gameWidth) * 32
overwriteHeight = ($height/$gameHeight) * 23

# Disabled since they break stuff

# Minimap
#[TextureRedefine]
#width = 560
#height = 560
#formats = 0x431
#overwriteWidth = 560
#overwriteHeight = 560

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

# Start Menu Controller Mapping Screen Controller Image - Top
#[TextureRedefine]
#width = 480
#height = 250
#formats = 0x007
#overwriteWidth = ($width/$gameWidth) * 480
#overwriteHeight = ($height/$gameHeight) * 250

# Start Menu Controller Mapping Screen Controller Image - Bottom
#[TextureRedefine]
#width = 480
#height = 125
#formats = 0x007
#overwriteWidth = ($width/$gameWidth) * 480
#overwriteHeight = ($height/$gameHeight) * 125

# Save images
#[TextureRedefine]
#width = 256
#height = 144
#formats = 0x01a,0x41a
#overwriteWidth = ($width/$gameWidth) * 256
#overwriteHeight = ($height/$gameHeight) * 144

# Scope interface; already scaled
#[TextureRedefine] 
#width = 1280
#height = 608
#formats = 0x019
#overwriteWidth = ($width/$gameWidth) * 1280
#overwriteHeight = ($height/$gameHeight) * 608
