[Definition]
titleIds = 000500001010ec00,000500001010ed00,000500001010eb00
name = Resolution
path = "Mario Kart 8/Graphics/Resolution"
description = Changes the resolution of the game.
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 = 1600x900
$width = 1600
$height = 900
$gameWidth = 1280
$gameHeight = 720

[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

// 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

// Common HD Resolutions (2 Monitors)

[Preset]
name = 3840x1080 (32:9)
$width = 3840
$height = 1080
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 5120x1440 (32:9)
$width = 5120
$height = 1440
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 6400x1800 (32:9)
$width = 6400
$height = 1800
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 7680x2160 (32:9)
$width = 7680
$height = 2160
$gameWidth = 1280
$gameHeight = 720

[Preset]
name = 10240x2880 (32:9)
$width = 10240
$height = 2880
$gameWidth = 1280
$gameHeight = 720

# Full Res
[TextureRedefine]
width = 1280
height = 720
formatsExcluded =  0x41A,0x431 # exclude the intro background texture, race end background
tileModesExcluded = 0x001
overwriteWidth = ($width/$gameWidth) * 1280
overwriteHeight = ($height/$gameHeight) * 720

# Gamepad
[TextureRedefine]
width = 864
height = 480
formats = 0x816,0x019
overwriteWidth = ($width/$gameWidth) * 864
overwriteHeight = ($height/$gameHeight) * 480

# Gamepad
[TextureRedefine]
width = 854
height = 480
formats = 0x816,0x019
overwriteWidth = ($width/$gameWidth) * 854
overwriteHeight = ($height/$gameHeight) * 480

# 2P Full Res
[TextureRedefine]
width = 640
height = 720
formats = 0x019,0x816,0x806,0x80e
overwriteWidth = ($width/$gameWidth) * 640
overwriteHeight = ($height/$gameHeight) * 720

# 3-4P Full Res
[TextureRedefine]
width = 640
height = 368
formats = 0x019,0x816,0x806,0x80e
overwriteWidth = ($width/$gameWidth) * 640
overwriteHeight = ($height/$gameHeight) * 368

[TextureRedefine]
width = 640
height = 360
formats = 0x19,0x806,0x816,0x80e
tileModesExcluded = 0x001
overwriteWidth = ($width/$gameWidth) * 640
overwriteHeight = ($height/$gameHeight) * 360

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

[TextureRedefine] # MP Selection Menu - Player Alpha Cutout Rendering
width = 640
height = 320
formats = 0x80e,0x01a,0x806,0x816,0x801
overwriteWidth = ($width/$gameWidth) * 640
overwriteHeight = ($height/$gameHeight) * 320

[TextureRedefine] # MP Selection Menu - Depth Map
width = 768
height = 768
formats = 0x80e,0x005
overwriteWidth = ($width/$gameWidth) * 640
overwriteHeight = ($height/$gameHeight) * 320

# Blur in menus
[TextureRedefine]
width = 320
height = 180
formats = 0x816
overwriteWidth = ($width/$gameWidth) * 320
overwriteHeight = ($height/$gameHeight) * 180

[TextureRedefine]
width = 320
height = 192
formats = 0x816
overwriteWidth = ($width/$gameWidth) * 320
overwriteHeight = ($height/$gameHeight) * 192

# Blurred backgrounds in menu
[TextureRedefine]
width = 320
height = 180
formats = 0x1a,0x816
overwriteWidth = ($width/$gameWidth) * 320
overwriteHeight = ($height/$gameHeight) * 180

[TextureRedefine]
width = 320
height = 192
formats = 0x1a,0x816
overwriteWidth = ($width/$gameWidth) * 320
overwriteHeight = ($height/$gameHeight) * 192

# Particles/highlights
[TextureRedefine]
width = 320
height = 192
formats = 0x019
overwriteWidth = ($width/$gameWidth) * 320
overwriteHeight = ($height/$gameHeight) * 192

[TextureRedefine]
width = 320
height = 180
formats = 0x019
overwriteWidth = ($width/$gameWidth) * 320
overwriteHeight = ($height/$gameHeight) * 180

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

[TextureRedefine]
width = 160
height = 90
formats = 0x816
overwriteWidth = ($width/$gameWidth) * 160
overwriteHeight = ($height/$gameHeight) * 90

[TextureRedefine]
width = 160
height = 96
formats = 0x816
overwriteWidth = ($width/$gameWidth) * 160
overwriteHeight = ($height/$gameHeight) * 96

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

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

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

[TextureRedefine]
width = 80
height = 45
formats = 0x816
overwriteWidth = ($width/$gameWidth) * 80
overwriteHeight = ($height/$gameHeight) * 45

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

# Underwater effect
[TextureRedefine] # 1P
width = 640
height = 368
formats = 0x01a
overwriteWidth = ($width/$gameWidth) * 640
overwriteHeight = ($height/$gameHeight) * 368

[TextureRedefine] # 1P
width = 640
height = 360
formats = 0x01a
overwriteWidth = ($width/$gameWidth) * 640
overwriteHeight = ($height/$gameHeight) * 360

[TextureRedefine] # 2P
width = 320
height = 368
formats = 0x19,0x1a,0x806,0x80e,0x816
overwriteWidth = ($width/$gameWidth) * 320
overwriteHeight = ($height/$gameHeight) * 368

[TextureRedefine] # 2P
width = 320
height = 360
formats = 0x19,0x1a,0x806,0x816
overwriteWidth = ($width/$gameWidth) * 320
overwriteHeight = ($height/$gameHeight) * 360
