summaryrefslogtreecommitdiff
path: root/Data
diff options
context:
space:
mode:
Diffstat (limited to 'Data')
-rw-r--r--Data/Sys/GC/dsp_coef.binbin0 -> 4096 bytes
-rw-r--r--Data/Sys/GC/dsp_rom.binbin0 -> 8192 bytes
-rw-r--r--Data/User/GameConfig/GAFE01.ini2
-rw-r--r--Data/User/GameConfig/GAFJ01.ini2
-rw-r--r--Data/User/GameConfig/GAFP01.ini2
-rw-r--r--Data/User/GameConfig/GAFU01.ini2
-rw-r--r--Data/User/GameConfig/GFZE01.ini7
-rw-r--r--Data/User/GameConfig/GFZJ01.ini26
-rw-r--r--Data/User/GameConfig/GFZP01.ini7
-rw-r--r--Data/User/GameConfig/GGZE52.ini5
-rw-r--r--Data/User/GameConfig/GGZX52.ini5
-rw-r--r--Data/User/GameConfig/GJXE51.ini2
-rw-r--r--Data/User/GameConfig/GKBEAF.ini1
-rw-r--r--Data/User/GameConfig/GKBPAF.ini1
-rw-r--r--Data/User/GameConfig/GLSD64.ini20
-rw-r--r--Data/User/GameConfig/GLSE64.ini8
-rw-r--r--Data/User/GameConfig/GLSF64.ini20
-rw-r--r--Data/User/GameConfig/GLSP64.ini20
-rw-r--r--Data/User/GameConfig/GM4E01.ini2
-rw-r--r--Data/User/GameConfig/GM4J01.ini17
-rw-r--r--Data/User/GameConfig/GM4P01.ini2
-rw-r--r--Data/User/GameConfig/GNHE5d.ini4
-rw-r--r--Data/User/GameConfig/GNOE78.ini1
-rw-r--r--Data/User/GameConfig/GOSE41.ini1
-rw-r--r--Data/User/GameConfig/GOSP41.ini1
-rw-r--r--Data/User/GameConfig/GOSX41.ini1
-rw-r--r--Data/User/GameConfig/GSZP41.ini17
-rw-r--r--Data/User/GameConfig/GWAE8P.ini1
-rw-r--r--Data/User/GameConfig/GWAF8P.ini1
-rw-r--r--Data/User/GameConfig/GWAP8P.ini1
-rw-r--r--Data/User/GameConfig/GWKE41.ini16
-rw-r--r--Data/User/GameConfig/GWLE6L.ini18
-rw-r--r--Data/User/GameConfig/GZ2E01.ini1
-rw-r--r--Data/User/GameConfig/GZ2J01.ini1
-rw-r--r--Data/User/GameConfig/GZ2P01.ini1
-rw-r--r--Data/User/GameConfig/RFEE01.ini3
-rw-r--r--Data/User/GameConfig/RFEJ01.ini3
-rw-r--r--Data/User/GameConfig/RFEP01.ini3
-rw-r--r--Data/User/GameConfig/RRBE41.ini6
-rw-r--r--Data/User/GameConfig/RRBJ41.ini4
-rw-r--r--Data/User/GameConfig/RRBP41.ini4
-rw-r--r--Data/User/GameConfig/S72E01.ini37
-rw-r--r--Data/User/GameConfig/S72J01.ini37
-rw-r--r--Data/User/Shaders/16bit.txt152
-rw-r--r--Data/User/Shaders/32bit.txt219
-rw-r--r--Data/User/Shaders/README.txt11
-rw-r--r--Data/User/Shaders/acidmetal.txt31
-rw-r--r--Data/User/Shaders/acidtrip.txt11
-rw-r--r--Data/User/Shaders/acidtrip2.txt13
-rw-r--r--Data/User/Shaders/asciiart.txt95
-rw-r--r--Data/User/Shaders/auto_toon.txt30
-rw-r--r--Data/User/Shaders/auto_toon2.txt41
-rw-r--r--Data/User/Shaders/bad_bloom.txt53
-rw-r--r--Data/User/Shaders/brighten.txt13
-rw-r--r--Data/User/Shaders/chrismas.txt31
-rw-r--r--Data/User/Shaders/cool1.txt40
-rw-r--r--Data/User/Shaders/darkerbrighter.txt19
-rw-r--r--Data/User/Shaders/emboss.txt13
-rw-r--r--Data/User/Shaders/fire.txt71
-rw-r--r--Data/User/Shaders/fire2.txt29
-rw-r--r--Data/User/Shaders/firewater.txt15
-rw-r--r--Data/User/Shaders/grayscale.txt13
-rw-r--r--Data/User/Shaders/grayscale2.txt15
-rw-r--r--Data/User/Shaders/invert.txt10
-rw-r--r--Data/User/Shaders/invert_blue.txt12
-rw-r--r--Data/User/Shaders/invertedoutline.txt13
-rw-r--r--Data/User/Shaders/mad_world.txt15
-rw-r--r--Data/User/Shaders/nightvision.txt9
-rw-r--r--Data/User/Shaders/nightvision2.txt31
-rw-r--r--Data/User/Shaders/nightvision2scanlines.txt35
-rw-r--r--Data/User/Shaders/posterize.txt9
-rw-r--r--Data/User/Shaders/posterize2.txt11
-rw-r--r--Data/User/Shaders/primarycolors.txt125
-rw-r--r--Data/User/Shaders/sepia.txt25
-rw-r--r--Data/User/Shaders/sketchy.txt25
-rw-r--r--Data/User/Shaders/spookey1.txt37
-rw-r--r--Data/User/Shaders/spookey2.txt41
-rw-r--r--Data/User/Shaders/stereoscopic.txt15
-rw-r--r--Data/User/Shaders/stereoscopic2.txt16
-rw-r--r--Data/User/Shaders/sunset.txt13
-rw-r--r--Data/User/Shaders/swap_RGB_BGR.txt10
-rw-r--r--Data/User/Shaders/swap_RGB_BRG.txt12
-rw-r--r--Data/User/Shaders/swap_RGB_GBR.txt12
-rw-r--r--Data/User/Shaders/swap_RGB_GRB.txt12
-rw-r--r--Data/User/Shaders/swap_RGB_RBG.txt12
-rw-r--r--Data/User/Shaders/toxic.txt41
86 files changed, 1004 insertions, 765 deletions
diff --git a/Data/Sys/GC/dsp_coef.bin b/Data/Sys/GC/dsp_coef.bin
new file mode 100644
index 0000000000..a276f2cede
--- /dev/null
+++ b/Data/Sys/GC/dsp_coef.bin
Binary files differ
diff --git a/Data/Sys/GC/dsp_rom.bin b/Data/Sys/GC/dsp_rom.bin
new file mode 100644
index 0000000000..54e03da7c7
--- /dev/null
+++ b/Data/Sys/GC/dsp_rom.bin
Binary files differ
diff --git a/Data/User/GameConfig/GAFE01.ini b/Data/User/GameConfig/GAFE01.ini
index dcef253178..73e01b1138 100644
--- a/Data/User/GameConfig/GAFE01.ini
+++ b/Data/User/GameConfig/GAFE01.ini
@@ -319,4 +319,4 @@ PH_ZFar =
[Video_Settings]
SafeTextureCacheColorSamples = 512
[Core]
-FastDiscSpeed = 1
+
diff --git a/Data/User/GameConfig/GAFJ01.ini b/Data/User/GameConfig/GAFJ01.ini
index b6e93ab361..5e3a64f473 100644
--- a/Data/User/GameConfig/GAFJ01.ini
+++ b/Data/User/GameConfig/GAFJ01.ini
@@ -16,4 +16,4 @@ PH_ZFar =
[Video_Settings]
SafeTextureCacheColorSamples = 512
[Core]
-FastDiscSpeed = 1
+
diff --git a/Data/User/GameConfig/GAFP01.ini b/Data/User/GameConfig/GAFP01.ini
index 7930f58e5f..d3ba2f99fc 100644
--- a/Data/User/GameConfig/GAFP01.ini
+++ b/Data/User/GameConfig/GAFP01.ini
@@ -16,4 +16,4 @@ PH_ZFar =
[Video_Settings]
SafeTextureCacheColorSamples = 512
[Core]
-FastDiscSpeed = 1
+
diff --git a/Data/User/GameConfig/GAFU01.ini b/Data/User/GameConfig/GAFU01.ini
index 273357ddc1..990f09d3cb 100644
--- a/Data/User/GameConfig/GAFU01.ini
+++ b/Data/User/GameConfig/GAFU01.ini
@@ -16,4 +16,4 @@ PH_ZFar =
[Video_Settings]
SafeTextureCacheColorSamples = 512
[Core]
-FastDiscSpeed = 1
+
diff --git a/Data/User/GameConfig/GFZE01.ini b/Data/User/GameConfig/GFZE01.ini
index 450553aa06..d6ffdecdf1 100644
--- a/Data/User/GameConfig/GFZE01.ini
+++ b/Data/User/GameConfig/GFZE01.ini
@@ -2,10 +2,10 @@
[Core] Values set here will override the main dolphin settings.
EnableFPRF = True
TLBHack = 1
-CPUThread = 0
+SyncGPU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
-EmulationIssues = Dual core is very unstable/doesn't even boot with most video plugins. Efb to ram is needed for proper shadows.
+EmulationIssues = Needs Synchronize GPU thread for stability.
[OnFrame] Add memory patches to be applied every frame here.
[Video]
ProjectionHack = 1
@@ -43,7 +43,4 @@ $All Vehicles Unlocked
840030C8 FFDC6F00
[Gecko]
[Video_Hacks]
-EFBCopyEnable = True
-EFBToTextureEnable = False
-EFBCopyCacheEnable = True
[Video_Settings]
diff --git a/Data/User/GameConfig/GFZJ01.ini b/Data/User/GameConfig/GFZJ01.ini
new file mode 100644
index 0000000000..fe25191e22
--- /dev/null
+++ b/Data/User/GameConfig/GFZJ01.ini
@@ -0,0 +1,26 @@
+# GFZJ01 - F-ZERO GX
+[Core] Values set here will override the main dolphin settings.
+EnableFPRF = True
+TLBHack = 1
+SyncGPU = 1
+[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
+EmulationStateId = 4
+EmulationIssues = Needs Synchronize GPU thread for stability.
+[OnFrame] Add memory patches to be applied every frame here.
+[Video]
+ProjectionHack = 1
+PH_SZNear = 1
+PH_SZFar = 1
+PH_ExtraParam = 0
+PH_ZNear = 20
+PH_ZFar = 1.7555555
+[ActionReplay]
+$Make Save Copyable
+0C031514 909C0028
+04031518 48BFFBE8
+04C31100 38000004
+04C31104 981C0034
+04C31108 38000000
+04C3110C 4B400410
+[Gecko]
+
diff --git a/Data/User/GameConfig/GFZP01.ini b/Data/User/GameConfig/GFZP01.ini
index 70c517ef4a..dbae5b6711 100644
--- a/Data/User/GameConfig/GFZP01.ini
+++ b/Data/User/GameConfig/GFZP01.ini
@@ -2,10 +2,10 @@
[Core] Values set here will override the main dolphin settings.
EnableFPRF = True
TLBHack = 1
-CPUThread = 0
+SyncGPU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
-EmulationIssues = Dual core is very unstable/doesn't even boot with most video plugins. Efb to ram is needed for proper shadows.
+EmulationIssues = Needs Synchronize GPU thread for stability.
[OnFrame] Add memory patches to be applied every frame here.
[Video]
ProjectionHack = 1
@@ -24,7 +24,4 @@ $Make Save Copyable
04C3110C 4B400410
[Gecko]
[Video_Hacks]
-EFBCopyEnable = True
-EFBToTextureEnable = False
-EFBCopyCacheEnable = True
[Video_Settings]
diff --git a/Data/User/GameConfig/GGZE52.ini b/Data/User/GameConfig/GGZE52.ini
index 2c3ff91e51..7575ca0da3 100644
--- a/Data/User/GameConfig/GGZE52.ini
+++ b/Data/User/GameConfig/GGZE52.ini
@@ -1,10 +1,9 @@
# GGZE52 - Madagascar
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
-FastDiscSpeed = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
-EmulationIssues = Alot of GFX glitches (black rastering)
-EmulationStateId = 3
+EmulationIssues = GFX glitches.
+EmulationStateId = 4
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video_Hacks]
diff --git a/Data/User/GameConfig/GGZX52.ini b/Data/User/GameConfig/GGZX52.ini
index 7e9682c859..9db929b16b 100644
--- a/Data/User/GameConfig/GGZX52.ini
+++ b/Data/User/GameConfig/GGZX52.ini
@@ -1,10 +1,9 @@
# GGZX52 - Madagascar
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
-FastDiscSpeed = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
-EmulationIssues = Alot of GFX glitches (black rastering)
-EmulationStateId = 3
+EmulationIssues = GFX glitches.
+EmulationStateId = 4
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video_Hacks]
diff --git a/Data/User/GameConfig/GJXE51.ini b/Data/User/GameConfig/GJXE51.ini
index aa031144dd..d503dffbef 100644
--- a/Data/User/GameConfig/GJXE51.ini
+++ b/Data/User/GameConfig/GJXE51.ini
@@ -15,4 +15,4 @@ EmulationIssues = Slow,needs mmu and lle audio plugin for proper audio(r7411).
[Video_Settings]
[Core]
MMU = 1
-FastDiscSpeed = 1
+
diff --git a/Data/User/GameConfig/GKBEAF.ini b/Data/User/GameConfig/GKBEAF.ini
index 9934a2ba80..5e7ee300f9 100644
--- a/Data/User/GameConfig/GKBEAF.ini
+++ b/Data/User/GameConfig/GKBEAF.ini
@@ -1,5 +1,6 @@
# GKBEAF - Baten Kaitos
[Core] Values set here will override the main dolphin settings.
+SyncGPU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
diff --git a/Data/User/GameConfig/GKBPAF.ini b/Data/User/GameConfig/GKBPAF.ini
index 936380ca29..afb3661d63 100644
--- a/Data/User/GameConfig/GKBPAF.ini
+++ b/Data/User/GameConfig/GKBPAF.ini
@@ -1,5 +1,6 @@
# GKBPAF - Baten Kaitos
[Core] Values set here will override the main dolphin settings.
+SyncGPU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
diff --git a/Data/User/GameConfig/GLSD64.ini b/Data/User/GameConfig/GLSD64.ini
new file mode 100644
index 0000000000..e8c47386da
--- /dev/null
+++ b/Data/User/GameConfig/GLSD64.ini
@@ -0,0 +1,20 @@
+# GLSD64 - LucasArts Gladius
+[Core] Values set here will override the main dolphin settings.
+TLBHack = 1
+SyncGPU = 1
+[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
+EmulationStateId = 4
+EmulationIssues = Needs Real Xfb for the videos to display.
+[OnFrame] Add memory patches to be applied every frame here.
+[ActionReplay] Add action replay cheats here.
+[Video]
+ProjectionHack = 0
+PH_SZNear = 0
+PH_SZFar = 0
+PH_ExtraParam = 0
+PH_ZNear =
+PH_ZFar =
+[Gecko]
+[Video_Settings]
+UseXFB = True
+UseRealXFB = True
diff --git a/Data/User/GameConfig/GLSE64.ini b/Data/User/GameConfig/GLSE64.ini
index f9b38b357c..b89a54520a 100644
--- a/Data/User/GameConfig/GLSE64.ini
+++ b/Data/User/GameConfig/GLSE64.ini
@@ -1,9 +1,10 @@
# GLSE64 - LucasArts Gladius
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
+SyncGPU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
-EmulationStateId = 1
-EmulationIssues =
+EmulationStateId = 4
+EmulationIssues = Needs Real Xfb for the videos to display.
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
@@ -14,3 +15,6 @@ PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+[Video_Settings]
+UseXFB = True
+UseRealXFB = True
diff --git a/Data/User/GameConfig/GLSF64.ini b/Data/User/GameConfig/GLSF64.ini
new file mode 100644
index 0000000000..8d00edf0b8
--- /dev/null
+++ b/Data/User/GameConfig/GLSF64.ini
@@ -0,0 +1,20 @@
+# GLSF64 - LucasArts Gladius
+[Core] Values set here will override the main dolphin settings.
+TLBHack = 1
+SyncGPU = 1
+[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
+EmulationStateId = 4
+EmulationIssues = Needs Real Xfb for the videos to display.
+[OnFrame] Add memory patches to be applied every frame here.
+[ActionReplay] Add action replay cheats here.
+[Video]
+ProjectionHack = 0
+PH_SZNear = 0
+PH_SZFar = 0
+PH_ExtraParam = 0
+PH_ZNear =
+PH_ZFar =
+[Gecko]
+[Video_Settings]
+UseXFB = True
+UseRealXFB = True
diff --git a/Data/User/GameConfig/GLSP64.ini b/Data/User/GameConfig/GLSP64.ini
new file mode 100644
index 0000000000..3b8745bd7f
--- /dev/null
+++ b/Data/User/GameConfig/GLSP64.ini
@@ -0,0 +1,20 @@
+# GLSP64 - LucasArts Gladius
+[Core] Values set here will override the main dolphin settings.
+TLBHack = 1
+SyncGPU = 1
+[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
+EmulationStateId = 4
+EmulationIssues = Needs Real Xfb for the videos to display.
+[OnFrame] Add memory patches to be applied every frame here.
+[ActionReplay] Add action replay cheats here.
+[Video]
+ProjectionHack = 0
+PH_SZNear = 0
+PH_SZFar = 0
+PH_ExtraParam = 0
+PH_ZNear =
+PH_ZFar =
+[Gecko]
+[Video_Settings]
+UseXFB = True
+UseRealXFB = True
diff --git a/Data/User/GameConfig/GM4E01.ini b/Data/User/GameConfig/GM4E01.ini
index dcf9ca8a32..c63b0d8a1b 100644
--- a/Data/User/GameConfig/GM4E01.ini
+++ b/Data/User/GameConfig/GM4E01.ini
@@ -127,3 +127,5 @@ PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
+[Core]
+VBeam = 1
diff --git a/Data/User/GameConfig/GM4J01.ini b/Data/User/GameConfig/GM4J01.ini
new file mode 100644
index 0000000000..9431bc933a
--- /dev/null
+++ b/Data/User/GameConfig/GM4J01.ini
@@ -0,0 +1,17 @@
+# GM4J01 - Mario Kart: Double Dash!!
+[EmuState]
+#The Emulation State.
+EmulationStateId = 4
+EmulationIssues = Needs LLE audio to prevent BGM from stopping. Disable "emulate format changes" to increase the game speed.
+[OnFrame]
+[ActionReplay]
+[Video]
+ProjectionHack = 0
+PH_SZNear = 0
+PH_SZFar = 0
+PH_ExtraParam = 0
+PH_ZNear =
+PH_ZFar =
+[Gecko]
+[Core]
+VBeam = 1
diff --git a/Data/User/GameConfig/GM4P01.ini b/Data/User/GameConfig/GM4P01.ini
index 5d3b8c2510..f9cd8b3a71 100644
--- a/Data/User/GameConfig/GM4P01.ini
+++ b/Data/User/GameConfig/GM4P01.ini
@@ -138,3 +138,5 @@ $Goraud Shading
040A9714 4E800020
[Video]
ProjectionHack = 0
+[Core]
+VBeam = 1
diff --git a/Data/User/GameConfig/GNHE5d.ini b/Data/User/GameConfig/GNHE5d.ini
index a9ba54d048..a1c2082fde 100644
--- a/Data/User/GameConfig/GNHE5d.ini
+++ b/Data/User/GameConfig/GNHE5d.ini
@@ -3,8 +3,8 @@
#Values set here will override the main dolphin settings.
[EmuState]
#The Emulation State. 1 is worst, 5 is best, 0 is not set.
-EmulationStateId = 1
-EmulationIssues =
+EmulationStateId = 4
+EmulationIssues = Enable the GameCube BIOS to allow the game to boot.
[OnFrame]
+$Nop Hack
0x80025BA0:dword:0x60000000
diff --git a/Data/User/GameConfig/GNOE78.ini b/Data/User/GameConfig/GNOE78.ini
index ca4bbf12fa..cd43ce75ab 100644
--- a/Data/User/GameConfig/GNOE78.ini
+++ b/Data/User/GameConfig/GNOE78.ini
@@ -1,7 +1,6 @@
# GNOE78 - Nicktoons Unite!
[Core] Values set here will override the main dolphin settings.
TLBHack = 1
-FastDiscSpeed = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
EmulationIssues =
diff --git a/Data/User/GameConfig/GOSE41.ini b/Data/User/GameConfig/GOSE41.ini
index adc124119f..4a9637bf1a 100644
--- a/Data/User/GameConfig/GOSE41.ini
+++ b/Data/User/GameConfig/GOSE41.ini
@@ -1,7 +1,6 @@
# GOSE41 - Open Season
[Core] Values set here will override the main dolphin settings.
MMU = 1
-FastDiscSpeed = 1
BlockMerging = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
diff --git a/Data/User/GameConfig/GOSP41.ini b/Data/User/GameConfig/GOSP41.ini
index cb12055384..9ce80bf3d3 100644
--- a/Data/User/GameConfig/GOSP41.ini
+++ b/Data/User/GameConfig/GOSP41.ini
@@ -1,7 +1,6 @@
# GOSP41 - Open Season
[Core] Values set here will override the main dolphin settings.
MMU = 1
-FastDiscSpeed = 1
BlockMerging = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
diff --git a/Data/User/GameConfig/GOSX41.ini b/Data/User/GameConfig/GOSX41.ini
index 8790cdfd8c..c28b0dbebc 100644
--- a/Data/User/GameConfig/GOSX41.ini
+++ b/Data/User/GameConfig/GOSX41.ini
@@ -1,7 +1,6 @@
# GOSX41 - Open Season
[Core] Values set here will override the main dolphin settings.
MMU = 1
-FastDiscSpeed = 1
BlockMerging = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
diff --git a/Data/User/GameConfig/GSZP41.ini b/Data/User/GameConfig/GSZP41.ini
new file mode 100644
index 0000000000..e60e164899
--- /dev/null
+++ b/Data/User/GameConfig/GSZP41.ini
@@ -0,0 +1,17 @@
+# GSZP41 - SPEED CHALLENGE - Jacques Villeneuve's Racing Vision
+[Core] Values set here will override the main dolphin settings.
+SyncGPU = 1
+[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
+EmulationStateId = 4
+EmulationIssues =
+[OnFrame] Add memory patches to be applied every frame here.
+[ActionReplay] Add action replay cheats here.
+[Video]
+ProjectionHack = 0
+PH_SZNear = 0
+PH_SZFar = 0
+PH_ExtraParam = 0
+PH_ZNear =
+PH_ZFar =
+UseBBox = 1
+[Gecko]
diff --git a/Data/User/GameConfig/GWAE8P.ini b/Data/User/GameConfig/GWAE8P.ini
index b7e3138a49..3163bd601a 100644
--- a/Data/User/GameConfig/GWAE8P.ini
+++ b/Data/User/GameConfig/GWAE8P.ini
@@ -1,6 +1,5 @@
# GWAE8P - Spartan: Total Warrior
[Core] Values set here will override the main dolphin settings.
-FastDiscSpeed = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 0
EmulationIssues =
diff --git a/Data/User/GameConfig/GWAF8P.ini b/Data/User/GameConfig/GWAF8P.ini
index 56be20b81e..53c4baf506 100644
--- a/Data/User/GameConfig/GWAF8P.ini
+++ b/Data/User/GameConfig/GWAF8P.ini
@@ -1,6 +1,5 @@
# GWAF8P - Spartan: Total Warrior
[Core] Values set here will override the main dolphin settings.
-FastDiscSpeed = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 0
EmulationIssues =
diff --git a/Data/User/GameConfig/GWAP8P.ini b/Data/User/GameConfig/GWAP8P.ini
index af91c968bc..5a1bcd81b1 100644
--- a/Data/User/GameConfig/GWAP8P.ini
+++ b/Data/User/GameConfig/GWAP8P.ini
@@ -1,6 +1,5 @@
# GWAP8P - Spartan : Total Warrior (TM)
[Core] Values set here will override the main dolphin settings.
-FastDiscSpeed = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 0
EmulationIssues =
diff --git a/Data/User/GameConfig/GWKE41.ini b/Data/User/GameConfig/GWKE41.ini
new file mode 100644
index 0000000000..6f6033160e
--- /dev/null
+++ b/Data/User/GameConfig/GWKE41.ini
@@ -0,0 +1,16 @@
+# GWKE41 - King Kong
+[Core] Values set here will override the main dolphin settings.
+TLBHack = 1
+[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
+EmulationStateId = 4
+EmulationIssues =
+[OnFrame] Add memory patches to be applied every frame here.
+[ActionReplay] Add action replay cheats here.
+[Video]
+ProjectionHack = 0
+PH_SZNear = 0
+PH_SZFar = 0
+PH_ExtraParam = 0
+PH_ZNear =
+PH_ZFar =
+[Gecko]
diff --git a/Data/User/GameConfig/GWLE6L.ini b/Data/User/GameConfig/GWLE6L.ini
new file mode 100644
index 0000000000..51895b9427
--- /dev/null
+++ b/Data/User/GameConfig/GWLE6L.ini
@@ -0,0 +1,18 @@
+# GWLE6L - Project Zoo
+[Core] Values set here will override the main dolphin settings.
+TLBHack = 1
+[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
+EmulationStateId = 4
+EmulationIssues =
+[OnFrame] Add memory patches to be applied every frame here.
++$Bypass FIFO reset
+0x8028EF00:dword:0x48000638
+[ActionReplay] Add action replay cheats here.
+[Video]
+ProjectionHack = 0
+PH_SZNear = 0
+PH_SZFar = 0
+PH_ExtraParam = 0
+PH_ZNear =
+PH_ZFar =
+[Gecko]
diff --git a/Data/User/GameConfig/GZ2E01.ini b/Data/User/GameConfig/GZ2E01.ini
index f84b0006e7..e4de22aad5 100644
--- a/Data/User/GameConfig/GZ2E01.ini
+++ b/Data/User/GameConfig/GZ2E01.ini
@@ -1,6 +1,5 @@
# GZ2E01 - The Legend of Zelda: Twilight Princess
[Core]
-FastDiscSpeed = 1
[EmuState]
#The Emulation State.
EmulationStateId = 4
diff --git a/Data/User/GameConfig/GZ2J01.ini b/Data/User/GameConfig/GZ2J01.ini
index da0b6ceb42..f2f3b3d48f 100644
--- a/Data/User/GameConfig/GZ2J01.ini
+++ b/Data/User/GameConfig/GZ2J01.ini
@@ -1,6 +1,5 @@
# GZ2J01 - The Legend of Zelda: Twilight Princess
[Core]
-FastDiscSpeed = 1
[EmuState]
#The Emulation State.
EmulationStateId = 4
diff --git a/Data/User/GameConfig/GZ2P01.ini b/Data/User/GameConfig/GZ2P01.ini
index 4ed0b6f6ef..bb6c58e20e 100644
--- a/Data/User/GameConfig/GZ2P01.ini
+++ b/Data/User/GameConfig/GZ2P01.ini
@@ -1,7 +1,6 @@
# GZ2P01 - The Legend of Zelda Twilight Princess
[Core]
#Values set here will override the main dolphin settings.
-FastDiscSpeed = 1
[Speedhacks]
0x803420bc=200
[EmuState]
diff --git a/Data/User/GameConfig/RFEE01.ini b/Data/User/GameConfig/RFEE01.ini
index 2f56c30834..72f3b600f0 100644
--- a/Data/User/GameConfig/RFEE01.ini
+++ b/Data/User/GameConfig/RFEE01.ini
@@ -1,7 +1,7 @@
# RFEE01 - FIRE EMBLEM 10 USA
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
-EmulationIssues = Disable gamecube controller or wiimote to not have conflicts. Fog appears black ingame in recent builds(issue 4475).
+EmulationIssues = Disable gamecube controller or wiimote to not have conflicts.
EmulationStateId = 4
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
@@ -15,4 +15,3 @@ PH_ZNear =
PH_ZFar =
[Gecko]
[Video_Settings]
-DisableFog = True
diff --git a/Data/User/GameConfig/RFEJ01.ini b/Data/User/GameConfig/RFEJ01.ini
index 0158eab486..9aaeb6946c 100644
--- a/Data/User/GameConfig/RFEJ01.ini
+++ b/Data/User/GameConfig/RFEJ01.ini
@@ -1,7 +1,7 @@
# RFEJ01 - Fire Emblem Akatsuki No Megami
[Core] Values set here will override the main dolphin settings.
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
-EmulationIssues = Disable gamecube controller or wiimote to not have conflicts. Fog appears black ingame in recent builds(issue 4475).
+EmulationIssues = Disable gamecube controller or wiimote to not have conflicts.
EmulationStateId = 4
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
@@ -15,4 +15,3 @@ PH_ZNear =
PH_ZFar =
[Gecko]
[Video_Settings]
-DisableFog = True
diff --git a/Data/User/GameConfig/RFEP01.ini b/Data/User/GameConfig/RFEP01.ini
index a854eb9c45..08d60e822b 100644
--- a/Data/User/GameConfig/RFEP01.ini
+++ b/Data/User/GameConfig/RFEP01.ini
@@ -3,7 +3,7 @@
[Speedhacks]
0x80006e00=800
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
-EmulationIssues = Disable gamecube controller or wiimote to not have conflicts. Fog appears black ingame in recent builds(issue 4475).
+EmulationIssues = Disable gamecube controller or wiimote to not have conflicts.
EmulationStateId = 4
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
@@ -17,4 +17,3 @@ PH_ZNear =
PH_ZFar =
[Gecko]
[Video_Settings]
-DisableFog = True
diff --git a/Data/User/GameConfig/RRBE41.ini b/Data/User/GameConfig/RRBE41.ini
index ec6dc890e8..b16ea65aee 100644
--- a/Data/User/GameConfig/RRBE41.ini
+++ b/Data/User/GameConfig/RRBE41.ini
@@ -1,9 +1,9 @@
# RRBE41 - Rayman Raving Rabbids
[Core] Values set here will override the main dolphin settings.
-CPUThread = 0
+SyncGPU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
-EmulationIssues = Dual core is unstable.Use direct3d11 for less glitches. Slow.(r7687)
+EmulationIssues = Needs Synchronise GPU thread for stability. Use direct3d11 for less glitches.
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
@@ -14,4 +14,4 @@ PH_ExtraParam = 0
PH_ZNear =
PH_ZFar =
[Gecko]
-[Wii] \ No newline at end of file
+[Wii]
diff --git a/Data/User/GameConfig/RRBJ41.ini b/Data/User/GameConfig/RRBJ41.ini
index 498d8aca84..64e91abdf4 100644
--- a/Data/User/GameConfig/RRBJ41.ini
+++ b/Data/User/GameConfig/RRBJ41.ini
@@ -1,9 +1,9 @@
# RRBJ41 - Rayman Raving Rabbids
[Core] Values set here will override the main dolphin settings.
-CPUThread = 0
+SyncGPU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
-EmulationIssues = Dual core is unstable.Use direct3d11 for less glitches. Slow.(r7687)
+EmulationIssues = Needs Synchronise GPU thread for stability. Use direct3d11 for less glitches.
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
diff --git a/Data/User/GameConfig/RRBP41.ini b/Data/User/GameConfig/RRBP41.ini
index ae27d7f6db..5305264dc4 100644
--- a/Data/User/GameConfig/RRBP41.ini
+++ b/Data/User/GameConfig/RRBP41.ini
@@ -1,9 +1,9 @@
# RRBP41 - Rayman Raving Rabbids
[Core] Values set here will override the main dolphin settings.
-CPUThread = 0
+SyncGPU = 1
[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
EmulationStateId = 4
-EmulationIssues = Dual core is unstable.Use direct3d11 for less glitches. Slow.(r7687)
+EmulationIssues = Needs Synchronise GPU thread for stability. Use direct3d11 for less glitches.
[OnFrame] Add memory patches to be applied every frame here.
[ActionReplay] Add action replay cheats here.
[Video]
diff --git a/Data/User/GameConfig/S72E01.ini b/Data/User/GameConfig/S72E01.ini
index fba45b8b64..cdacdb835c 100644
--- a/Data/User/GameConfig/S72E01.ini
+++ b/Data/User/GameConfig/S72E01.ini
@@ -1,18 +1,19 @@
-# S72E01 - Kirby's Dream Collection Special Edition
-[Core] Values set here will override the main dolphin settings.
-[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
-EmulationStateId = 3
-EmulationIssues = Classic games are unplayable.
-[OnFrame] Add memory patches to be applied every frame here.
-[ActionReplay] Add action replay cheats here.
-[Video]
-ProjectionHack = 0
-PH_SZNear = 0
-PH_SZFar = 0
-PH_ExtraParam = 0
-PH_ZNear =
-PH_ZFar =
-[Gecko]
-[Video_Settings]
-UseXFB = True
-UseRealXFB = False
+# S72E01 - Kirby's Dream Collection Special Edition
+[Core] Values set here will override the main dolphin settings.
+[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
+EmulationStateId = 4
+EmulationIssues = Kirby's Adventure (Nes classic) has severe graphic glitches.
+[OnFrame] Add memory patches to be applied every frame here.
+[ActionReplay] Add action replay cheats here.
+[Video]
+ProjectionHack = 0
+PH_SZNear = 0
+PH_SZFar = 0
+PH_ExtraParam = 0
+PH_ZNear =
+PH_ZFar =
+[Gecko]
+[Video_Settings]
+UseXFB = True
+UseRealXFB = False
+SafeTextureCacheColorSamples = 0
diff --git a/Data/User/GameConfig/S72J01.ini b/Data/User/GameConfig/S72J01.ini
index 74c8225e3a..240621a848 100644
--- a/Data/User/GameConfig/S72J01.ini
+++ b/Data/User/GameConfig/S72J01.ini
@@ -1,18 +1,19 @@
-# S72J01 - Hoshi No Kirby: 20th Anniversary Edition
-[Core] Values set here will override the main dolphin settings.
-[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
-EmulationStateId = 3
-EmulationIssues = Classic games are unplayable.
-[OnFrame] Add memory patches to be applied every frame here.
-[ActionReplay] Add action replay cheats here.
-[Video]
-ProjectionHack = 0
-PH_SZNear = 0
-PH_SZFar = 0
-PH_ExtraParam = 0
-PH_ZNear =
-PH_ZFar =
-[Gecko]
-[Video_Settings]
-UseXFB = True
-UseRealXFB = False
+# S72J01 - Hoshi No Kirby: 20th Anniversary Edition
+[Core] Values set here will override the main dolphin settings.
+[EmuState] The Emulation State. 1 is worst, 5 is best, 0 is not set.
+EmulationStateId = 4
+EmulationIssues = Kirby's Adventure (Nes classic) has severe graphic glitches.
+[OnFrame] Add memory patches to be applied every frame here.
+[ActionReplay] Add action replay cheats here.
+[Video]
+ProjectionHack = 0
+PH_SZNear = 0
+PH_SZFar = 0
+PH_ExtraParam = 0
+PH_ZNear =
+PH_ZFar =
+[Gecko]
+[Video_Settings]
+UseXFB = True
+UseRealXFB = False
+SafeTextureCacheColorSamples = 0
diff --git a/Data/User/Shaders/16bit.txt b/Data/User/Shaders/16bit.txt
index 4b4e2dfbff..82a00d3d58 100644
--- a/Data/User/Shaders/16bit.txt
+++ b/Data/User/Shaders/16bit.txt
@@ -1,109 +1,61 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
-{
- float4 c0 = texRECT(samp0, uv0).rgba;
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+void main()
+{
//Change this number to increase the pixel size.
- int pixelSize = 3;
+ float pixelSize = 3;
float red = 0.0;
float green = 0.0;
float blue = 0.0;
- int val = uv0[0];
- int val2 = uv0[1];
-
- val = val % pixelSize;
- val2 = val2 % pixelSize;
-
- if(val == 0 && val2 == 0 ){
- if (c0.r < 0.1 && c0.r >= 0)
- red = 0.1;
- if (c0.r < 0.20 && c0.r >= 0.1)
- red = 0.20;
- if (c0.r <0.40 && c0.r >= 0.20)
- red = 0.40;
- if (c0.r <0.60 && c0.r >= 0.40)
- red = 0.60;
- if (c0.r <0.80 && c0.r >= 0.60)
- red = 0.80;
- if (c0.r >= 0.80)
- red = 1;
-
- if (c0.b < 0.1 && c0.b >= 0)
- blue = 0.1;
- if (c0.b < 0.20 && c0.b >= 0.1)
- blue = 0.20;
- if (c0.b <0.40 && c0.b >= 0.20)
- blue = 0.40;
- if (c0.b <0.60 && c0.b >= 0.40)
- blue = 0.60;
- if (c0.b <0.80 && c0.b >= 0.60)
- blue = 0.80;
- if (c0.b >= 0.80)
- blue = 1;
-
-
- if (c0.g < 0.1 && c0.g >= 0)
- green = 0.1;
- if (c0.g < 0.20 && c0.g >= 0.1)
- green = 0.20;
- if (c0.g <0.40 && c0.g >= 0.20)
- green = 0.40;
- if (c0.g <0.60 && c0.g >= 0.40)
- green = 0.60;
- if (c0.g <0.80 && c0.g >= 0.60)
- green = 0.80;
- if (c0.g >= 0.80)
- green = 1;
-
-}
-else{
-float4 c1 = texRECT(samp0, uv0-float2(val, val2)).rgba;
-
- if (c1.r < 0.1 && c1.r >= 0)
- red = 0.1;
- if (c1.r < 0.20 && c1.r >= 0.1)
- red = 0.20;
- if (c1.r <0.40 && c1.r >= 0.20)
- red = 0.40;
- if (c1.r <0.60 && c1.r >= 0.40)
- red = 0.60;
- if (c1.r <0.80 && c1.r >= 0.60)
- red = 0.80;
- if (c1.r >= 0.80)
- red = 1;
-
- if (c1.b < 0.1 && c1.b >= 0)
- blue = 0.1;
- if (c1.b < 0.20 && c1.b >= 0.1)
- blue = 0.20;
- if (c1.b <0.40 && c1.b >= 0.20)
- blue = 0.40;
- if (c1.b <0.60 && c1.b >= 0.40)
- blue = 0.60;
- if (c1.b <0.80 && c1.b >= 0.60)
- blue = 0.80;
- if (c1.b >= 0.80)
- blue = 1;
-
-
- if (c1.g < 0.1 && c1.g >= 0)
- green = 0.1;
- if (c1.g < 0.20 && c1.g >= 0.1)
- green = 0.20;
- if (c1.g <0.40 && c1.g >= 0.20)
- green = 0.40;
- if (c1.g <0.60 && c1.g >= 0.40)
- green = 0.60;
- if (c1.g <0.80 && c1.g >= 0.60)
- green = 0.80;
- if (c1.g >= 0.80)
- green = 1;
-
-}
-
-
- ocol0 = float4(red, green, blue, c0.a);
+ vec2 pos = floor(uv0 * resolution.xy / pixelSize) * pixelSize * resolution.zw;
+
+ vec4 c0 = texture(samp9, pos);
+
+ if (c0.r < 0.1)
+ red = 0.1;
+ else if (c0.r < 0.20)
+ red = 0.20;
+ else if (c0.r < 0.40)
+ red = 0.40;
+ else if (c0.r < 0.60)
+ red = 0.60;
+ else if (c0.r < 0.80)
+ red = 0.80;
+ else
+ red = 1.0;
+
+ if (c0.b < 0.1)
+ blue = 0.1;
+ else if (c0.b < 0.20)
+ blue = 0.20;
+ else if (c0.b < 0.40)
+ blue = 0.40;
+ else if (c0.b < 0.60)
+ blue = 0.60;
+ else if (c0.b < 0.80)
+ blue = 0.80;
+ else
+ blue = 1.0;
+
+ if (c0.g < 0.1)
+ green = 0.1;
+ else if (c0.g < 0.20)
+ green = 0.20;
+ else if (c0.g < 0.40)
+ green = 0.40;
+ else if (c0.g < 0.60)
+ green = 0.60;
+ else if (c0.g < 0.80)
+ green = 0.80;
+ else
+ green = 1.0;
+
+ ocol0 = vec4(red, green, blue, c0.a);
} \ No newline at end of file
diff --git a/Data/User/Shaders/32bit.txt b/Data/User/Shaders/32bit.txt
index e9e0260178..859371171b 100644
--- a/Data/User/Shaders/32bit.txt
+++ b/Data/User/Shaders/32bit.txt
@@ -1,157 +1,86 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
-{
- float4 c0 = texRECT(samp0, uv0).rgba;
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+void main()
+{
//Change this number to increase the pixel size.
- int pixelSize = 2;
+ float pixelSize = 2;
float red = 0.0;
float green = 0.0;
float blue = 0.0;
- int val = uv0[0];
- int val2 = uv0[1];
-
- val = val % pixelSize;
- val2 = val2 % pixelSize;
-
- if(val == 0 && val2 == 0 ){
- if (c0.r < 0.06 && c0.r >= 0)
- red = 0.06;
- if (c0.r < 0.13 && c0.r >= 0.06)
- red = 0.13;
- if (c0.r < 0.26 && c0.r >= 0.13)
- red = 0.26;
- if (c0.r < 0.33 && c0.r >= 0.26)
- red = 0.33;
- if (c0.r <0.46 && c0.r >= 0.33)
- red = 0.46;
- if (c0.r <0.60 && c0.r >= 0.46)
- red = 0.60;
- if (c0.r <0.73 && c0.r >= 0.60)
- red = 0.73;
- if (c0.r <0.80 && c0.r >= 0.73)
- red = 0.80;
- if (c0.r <0.93 && c0.r >= 0.80)
- red = 0.93;
- if (c0.r <=1 && c0.r >= 0.93)
- red = 1;
-
- if (c0.b < 0.06 && c0.b >= 0)
- blue = 0.06;
- if (c0.b < 0.13 && c0.b >= 0.06)
- blue = 0.13;
- if (c0.b < 0.26 && c0.b >= 0.13)
- blue = 0.26;
- if (c0.b < 0.33 && c0.b >= 0.26)
- blue = 0.33;
- if (c0.b <0.46 && c0.b >= 0.33)
- blue = 0.46;
- if (c0.b <0.60 && c0.b >= 0.46)
- blue = 0.60;
- if (c0.b <0.73 && c0.b >= 0.60)
- blue = 0.73;
- if (c0.b <0.80 && c0.b >= 0.73)
- blue = 0.80;
- if( c0.b <0.93 && c0.b >= 0.80)
- blue = 0.93;
- if (c0.b <=1 && c0.b >= 0.93)
- blue = 1;
-
-
- if (c0.g < 0.06 && c0.g >= 0)
- green = 0.06;
- if (c0.g < 0.13 && c0.g >= 0.06)
- green = 0.13;
- if (c0.g < 0.26 && c0.g >= 0.13)
- green = 0.26;
- if (c0.g < 0.33 && c0.g >= 0.26)
- green = 0.33;
- if (c0.g <0.46 && c0.g >= 0.33)
- green = 0.46;
- if (c0.g <0.60 && c0.g >= 0.46)
- green = 0.60;
- if (c0.g <0.73 && c0.g >= 0.60)
- green = 0.73;
- if (c0.g <0.80 && c0.g >= 0.73)
- green = 0.80;
- if( c0.g <0.93 && c0.g >= 0.80)
- green = 0.93;
- if (c0.g <=1 && c0.g >= 0.93)
- green = 1;
-
-}
-else{
-float4 c1 = texRECT(samp0, uv0-float2(val, val2)).rgba;
-
- if (c1.r < 0.06 && c1.r >= 0)
- red = 0.06;
- if (c1.r < 0.13 && c1.r >= 0.06)
- red = 0.13;
- if (c1.r < 0.26 && c1.r >= 0.13)
- red = 0.26;
- if (c1.r < 0.33 && c1.r >= 0.26)
- red = 0.33;
- if (c1.r <0.46 && c1.r >= 0.33)
- red = 0.46;
- if (c1.r <0.60 && c1.r >= 0.46)
- red = 0.60;
- if (c1.r <0.73 && c1.r >= 0.60)
- red = 0.73;
- if (c1.r <0.80 && c1.r >= 0.73)
- red = 0.80;
- if (c1.r <0.93 && c1.r >= 0.80)
- red = 0.93;
- if (c1.r <=1 && c1.r >= 0.93)
- red = 1;
-
- if (c1.b < 0.06 && c1.b >= 0)
- blue = 0.06;
- if (c1.b < 0.13 && c1.b >= 0.06)
- blue = 0.13;
- if (c1.b < 0.26 && c1.b >= 0.13)
- blue = 0.26;
- if (c1.b < 0.33 && c1.b >= 0.26)
- blue = 0.33;
- if (c1.b <0.46 && c1.b >= 0.33)
- blue = 0.46;
- if (c1.b <0.60 && c1.b >= 0.46)
- blue = 0.60;
- if (c1.b <0.73 && c1.b >= 0.60)
- blue = 0.73;
- if (c1.b <0.80 && c1.b >= 0.73)
- blue = 0.80;
- if( c1.b <0.93 && c1.b >= 0.80)
- blue = 0.93;
- if (c1.b <=1 && c1.b >= 0.93)
- blue = 1;
+
+ vec2 pos = floor(uv0 * resolution.xy / pixelSize) * pixelSize * resolution.zw;
+
+ vec4 c0 = texture(samp9, pos);
+
+ if (c0.r < 0.06)
+ red = 0.06;
+ else if (c0.r < 0.13)
+ red = 0.13;
+ else if (c0.r < 0.26)
+ red = 0.26;
+ else if (c0.r < 0.33)
+ red = 0.33;
+ else if (c0.r < 0.46)
+ red = 0.46;
+ else if (c0.r < 0.60)
+ red = 0.60;
+ else if (c0.r < 0.73)
+ red = 0.73;
+ else if (c0.r < 0.80)
+ red = 0.80;
+ else if (c0.r < 0.93)
+ red = 0.93;
+ else
+ red = 1.0;
+ if (c0.b < 0.06)
+ blue = 0.06;
+ else if (c0.b < 0.13)
+ blue = 0.13;
+ else if (c0.b < 0.26)
+ blue = 0.26;
+ else if (c0.b < 0.33)
+ blue = 0.33;
+ else if (c0.b < 0.46)
+ blue = 0.46;
+ else if (c0.b < 0.60)
+ blue = 0.60;
+ else if (c0.b < 0.73)
+ blue = 0.73;
+ else if (c0.b < 0.80)
+ blue = 0.80;
+ else if( c0.b < 0.93)
+ blue = 0.93;
+ else
+ blue = 1.0;
- if (c1.g < 0.06 && c1.g >= 0)
- green = 0.06;
- if (c1.g < 0.13 && c1.g >= 0.06)
- green = 0.13;
- if (c1.g < 0.26 && c1.g >= 0.13)
- green = 0.26;
- if (c1.g < 0.33 && c1.g >= 0.26)
- green = 0.33;
- if (c1.g <0.46 && c1.g >= 0.33)
- green = 0.46;
- if (c1.g <0.60 && c1.g >= 0.46)
- green = 0.60;
- if (c1.g <0.73 && c1.g >= 0.60)
- green = 0.73;
- if (c1.g <0.80 && c1.g >= 0.73)
- green = 0.80;
- if( c1.g <0.93 && c1.g >= 0.80)
- green = 0.93;
- if ( c1.g >= 0.93)
- green = 1;
-
-}
+ if (c0.g < 0.06)
+ green = 0.06;
+ else if (c0.g < 0.13)
+ green = 0.13;
+ else if (c0.g < 0.26)
+ green = 0.26;
+ else if (c0.g < 0.33)
+ green = 0.33;
+ else if (c0.g < 0.46)
+ green = 0.46;
+ else if (c0.g < 0.60)
+ green = 0.60;
+ else if (c0.g < 0.73)
+ green = 0.73;
+ else if (c0.g < 0.80)
+ green = 0.80;
+ else if( c0.g < 0.93)
+ green = 0.93;
+ else
+ green = 1.0;
-
- ocol0 = float4(red, green, blue, c0.a);
+ ocol0 = vec4(red, green, blue, c0.a);
} \ No newline at end of file
diff --git a/Data/User/Shaders/README.txt b/Data/User/Shaders/README.txt
index 9667f2bcef..6913f9d099 100644
--- a/Data/User/Shaders/README.txt
+++ b/Data/User/Shaders/README.txt
@@ -1,11 +1,14 @@
//dummy shader:
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- ocol0 = float4(c0.r, c0.g, c0.b, c0.a);
+ ocol0 = texture(samp9, uv0);
}
+
/*
And now that's over with, the contents of this readme file!
For best results, turn Wordwrap formatting on...
diff --git a/Data/User/Shaders/acidmetal.txt b/Data/User/Shaders/acidmetal.txt
index c3fed07f7c..d52efb35a2 100644
--- a/Data/User/Shaders/acidmetal.txt
+++ b/Data/User/Shaders/acidmetal.txt
@@ -1,18 +1,21 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float red = 0.0;
- float blue = 0.0;
+ vec4 c0 = texture(samp9, uv0);
+ float red = 0.0;
+ float blue = 0.0;
+
+ if (c0.r > 0.15 && c0.b > 0.15)
+ {
+ blue = 0.5;
+ red = 0.5;
+ }
- if (c0.r > 0.15 && c0.b > 0.15)
- {
- blue = 0.5;
- red = 0.5;
- }
-
- float green = max(c0.r + c0.b, c0.g);
+ float green = max(c0.r + c0.b, c0.g);
- ocol0 = float4(red, green, blue, 1.0);
-} \ No newline at end of file
+ ocol0 = vec4(red, green, blue, 1.0);
+}
diff --git a/Data/User/Shaders/acidtrip.txt b/Data/User/Shaders/acidtrip.txt
index 28df921854..f92c85444e 100644
--- a/Data/User/Shaders/acidtrip.txt
+++ b/Data/User/Shaders/acidtrip.txt
@@ -1,6 +1,11 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
- ocol0 = (texRECT(samp0, uv0+1).rgba - texRECT(samp0, uv0-1).rgba)*8;
+ ocol0 = (texture(samp9, uv0+resolution.zw) - texture(samp9, uv0-resolution.zw))*8;
}
diff --git a/Data/User/Shaders/acidtrip2.txt b/Data/User/Shaders/acidtrip2.txt
index c0fda12605..d3de926ff9 100644
--- a/Data/User/Shaders/acidtrip2.txt
+++ b/Data/User/Shaders/acidtrip2.txt
@@ -1,6 +1,13 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
- ocol0 = texRECT(samp0, uv0+1).rgba * 1.3 * abs(texRECT(samp0, uv0+1).rgba - texRECT(samp0, uv0-1).rgba)*8;
+ vec4 a = texture(samp9, uv0+resolution.zw);
+ vec4 b = texture(samp9, uv0-resolution.zw);
+ ocol0 = ( a*a*1.3 - b )*8;
}
diff --git a/Data/User/Shaders/asciiart.txt b/Data/User/Shaders/asciiart.txt
new file mode 100644
index 0000000000..3f9ff03966
--- /dev/null
+++ b/Data/User/Shaders/asciiart.txt
@@ -0,0 +1,95 @@
+uniform sampler2D samp8; // textures
+uniform sampler2D samp9;
+
+const int char_width = 8;
+const int char_height = 13;
+const int char_count = 95;
+const int char_pixels = char_width*char_height;
+const vec2 char_dim = vec2(char_width, char_height);
+const vec2 font_scale = vec2(1.0/char_width/char_count, 1.0/char_height);
+
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
+{
+ vec2 char_pos = floor(uv0*resolution.xy/char_dim);
+ vec2 pixel_offset = floor(uv0*resolution.xy) - char_pos*char_dim;
+
+ float mindiff = char_width*char_height*100; // just a big number
+ float minc = 0.0;
+ vec4 mina = vec4(0.0, 0.0, 0.0, 0.0);
+ vec4 minb = vec4(0.0, 0.0, 0.0, 0.0);
+
+ for(int i=0; i<char_count; i++) {
+ vec4 ff = vec4(0.0, 0.0, 0.0, 0.0);
+ vec4 f = vec4(0.0, 0.0, 0.0, 0.0);
+ vec4 ft = vec4(0.0, 0.0, 0.0, 0.0);
+ vec4 t = vec4(0.0, 0.0, 0.0, 0.0);
+ vec4 tt = vec4(0.0, 0.0, 0.0, 0.0);
+
+ for(int x=0; x<char_width; x++) {
+ for(int y=0; y<char_height; y++) {
+
+ vec2 tex_pos = char_pos*char_dim + vec2(x,y) + 0.5;
+ vec4 tex = texture(samp9, tex_pos * resolution.zw);
+
+ vec2 font_pos = vec2(x+i*char_width, y) + 0.5;
+ vec4 font = texture(samp8, font_pos * font_scale);
+
+ // generates sum of texture and font and their squares
+ ff += font*font;
+ f += font;
+ ft += font*tex;
+ t += tex;
+ tt += tex*tex;
+ }
+ }
+
+ /*
+ The next lines are a bit harder, hf :-)
+
+ The idea is to find the perfect char with the perfect background color and the perfect font color.
+ As this is an equation with three unknowns, we can't just try all chars and color combinations.
+
+ As criterion how "perfect" the selection is, we compare the "mean squared error" of the resulted colors of all chars.
+ So, now the big issue: how to calculate the MSE without knowing the two colors ...
+
+ In the next steps, "a" is the font color, "b" is the background color, "f" is the font value at this pixel, "t" is the texture value
+
+ So the square error of one pixel is:
+ e = ( t - aâ‹…f - bâ‹…(1-f) ) ^ 2
+
+ In longer:
+ e = a^2â‹…f^2 - 2â‹…aâ‹…bâ‹…f^2 + 2â‹…aâ‹…bâ‹…f - 2â‹…aâ‹…fâ‹…t + b^2â‹…f^2 - 2â‹…b^2â‹…f + b^2 + 2â‹…bâ‹…fâ‹…t - 2â‹…bâ‹…t + t^2
+
+ The sum of all errors is: (as shortcut, ff,f,ft,t,tt are now the sums like declared above, sum(1) is the count of pixels)
+ sum(e) = a^2â‹…ff - 2â‹…a^2â‹…ff + 2â‹…aâ‹…bâ‹…f - 2â‹…aâ‹…ft + b^2â‹…ff - 2â‹…b^2â‹…f + b^2â‹…sum(1) + 2â‹…bâ‹…ft - 2â‹…bâ‹…t + tt
+
+ To find the minimum, we have to derive this by "a" and "b":
+ d/da sum(e) = 2â‹…aâ‹…ff + 2â‹…bâ‹…f - 2â‹…bâ‹…ff - 2â‹…ft
+ d/db sum(e) = 2â‹…aâ‹…f - 2â‹…aâ‹…ff - 4â‹…bâ‹…f + 2â‹…bâ‹…ff + 2â‹…bâ‹…sum(1) + 2â‹…ft - 2â‹…t
+
+ So, both equations must be zero at minimum and there is only one solution.
+ */
+ vec4 a = (f*ft - ff*t + f*t - ft*char_pixels) / (f*f - ff*char_pixels);
+ vec4 b = (f*ft - ff*t) / (f*f - ff*char_pixels);
+
+ vec4 diff = a*a*ff + 2.0*a*b*f - 2.0*a*b*ff - 2.0*a*ft + b*b *(-2.0*f + ff + char_pixels) + 2.0*b*ft - 2.0*b*t + tt;
+ float diff_f = dot(diff, vec4(1.0, 1.0, 1.0, 1.0));
+
+ if(diff_f < mindiff) {
+ mindiff = diff_f;
+ minc = i;
+ mina = a;
+ minb = b;
+ }
+ }
+
+ vec2 font_pos_res = vec2(minc*char_width, 0) + pixel_offset + 0.5;
+
+ vec4 col = texture(samp8, font_pos_res * font_scale);
+ ocol0 = mina * col + minb * (vec4(1.0,1.0,1.0,1.0) - col);
+} \ No newline at end of file
diff --git a/Data/User/Shaders/auto_toon.txt b/Data/User/Shaders/auto_toon.txt
index 5639f65372..a3c46730cc 100644
--- a/Data/User/Shaders/auto_toon.txt
+++ b/Data/User/Shaders/auto_toon.txt
@@ -1,16 +1,22 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
- float4 to_gray = float4(0.3,0.59,0.11,0);
- float x1 = dot(to_gray, texRECT(samp0, uv0+float2(1,1)));
- float x0 = dot(to_gray, texRECT(samp0, uv0+float2(-1,-1)));
- float x3 = dot(to_gray, texRECT(samp0, uv0+float2(1,-1)));
- float x2 = dot(to_gray, texRECT(samp0, uv0+float2(-1,1)));
- float edge = (x1 - x0) * (x1 - x0);
- float edge2 = (x3 - x2) * (x3 - x2);
- edge += edge2;
- float4 color = texRECT(samp0, uv0).rgba;
+ vec4 to_gray = vec4(0.3,0.59,0.11,0);
+
+ float x1 = dot(to_gray, texture(samp9, uv0+vec2(1,1)*resolution.zw));
+ float x0 = dot(to_gray, texture(samp9, uv0+vec2(-1,-1)*resolution.zw));
+ float x3 = dot(to_gray, texture(samp9, uv0+vec2(1,-1)*resolution.zw));
+ float x2 = dot(to_gray, texture(samp9, uv0+vec2(-1,1)*resolution.zw));
+
+ float edge = (x1 - x0) * (x1 - x0) + (x3 - x2) * (x3 - x2);
+
+ float4 color = texture(samp9, uv0).rgba;
- ocol0 = max(color - float4(edge, edge, edge, edge) * 12, float4(0,0,0,0));
+ ocol0 = color - vec4(edge, edge, edge, edge) * 12.0;
}
diff --git a/Data/User/Shaders/auto_toon2.txt b/Data/User/Shaders/auto_toon2.txt
index 1ecd7ac981..d548e70a04 100644
--- a/Data/User/Shaders/auto_toon2.txt
+++ b/Data/User/Shaders/auto_toon2.txt
@@ -1,24 +1,25 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
//Changethis to increase the number of colors.
- float numColors =8;
+ int numColors =8;
float4 to_gray = float4(0.3,0.59,0.11,0);
- float x1 = dot(to_gray, texRECT(samp0, uv0+float2(1,1)));
- float x0 = dot(to_gray, texRECT(samp0, uv0+float2(-1,-1)));
- float x3 = dot(to_gray, texRECT(samp0, uv0+float2(1,-1)));
- float x2 = dot(to_gray, texRECT(samp0, uv0+float2(-1,1)));
- float edge = (x1 - x0) * (x1 - x0);
- float edge2 = (x3 - x2) * (x3 - x2);
- edge += edge2;
- float4 color = texRECT(samp0, uv0).rgba;
+ float x1 = dot(to_gray, texture(samp9, uv0+vec2(1,1)*resolution.zw));
+ float x0 = dot(to_gray, texture(samp9, uv0+vec2(-1,-1)*resolution.zw));
+ float x3 = dot(to_gray, texture(samp9, uv0+vec2(1,-1)*resolution.zw));
+ float x2 = dot(to_gray, texture(samp9, uv0+vec2(-1,1)*resolution.zw));
+ float edge = (x1 - x0) * (x1 - x0) + (x3 - x2) * (x3 - x2);
+ float4 color = texture(samp9, uv0).rgba;
- float4 c0 = max(color - float4(edge, edge, edge, edge) * 12, float4(0,0,0,0));
+ float4 c0 = color - float4(edge, edge, edge, edge) * 12;
- //Change this number to increase the pixel size.
- int pixelSize = 1;
float red = 0.0;
@@ -27,19 +28,11 @@ void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
bool rr = false;
bool bb = false;
bool gg = false;
- int val = uv0[0];
- int val2 = uv0[1];
int count = 1;
- double colorN = 0.0;
- double colorB = 0.0;
- val = val % pixelSize;
- val2 = val2 % pixelSize;
+ float colorN = 0.0;
+ float colorB = 0.0;
-//if(val == 0 && val2 == 0 )
- // c0 = texRECT(samp0, uv0).rgba;
-//else
- // c0 = texRECT(samp0, uv0-float2(val, val2)).rgba;
for(count = 1; count <= numColors ; count++){
colorN = count / numColors;
diff --git a/Data/User/Shaders/bad_bloom.txt b/Data/User/Shaders/bad_bloom.txt
index eb01c901f9..79a0b46e4f 100644
--- a/Data/User/Shaders/bad_bloom.txt
+++ b/Data/User/Shaders/bad_bloom.txt
@@ -1,36 +1,41 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0, in float2 uv1 : TEXCOORD1)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
- float4 c_center = texRECT(samp0, uv0.xy).rgba;
+ float4 c_center = texture(samp9, uv0);
float4 bloom_sum = float4(0.0, 0.0, 0.0, 0.0);
- uv0 += float2(0.3, 0.3);
- float radius1 = 1.3;
- bloom_sum += texRECT(samp0, uv0 + float2(-1.5, -1.5) * radius1);
- bloom_sum += texRECT(samp0, uv0 + float2(-2.5, 0) * radius1);
- bloom_sum += texRECT(samp0, uv0 + float2(-1.5, 1.5) * radius1);
- bloom_sum += texRECT(samp0, uv0 + float2(0, 2.5) * radius1);
- bloom_sum += texRECT(samp0, uv0 + float2(1.5, 1.5) * radius1);
- bloom_sum += texRECT(samp0, uv0 + float2(2.5, 0) * radius1);
- bloom_sum += texRECT(samp0, uv0 + float2(1.5, -1.5) * radius1);
- bloom_sum += texRECT(samp0, uv0 + float2(0, -2.5) * radius1);
-
- float radius2 = 4.6;
- bloom_sum += texRECT(samp0, uv0 + float2(-1.5, -1.5) * radius2);
- bloom_sum += texRECT(samp0, uv0 + float2(-2.5, 0) * radius2);
- bloom_sum += texRECT(samp0, uv0 + float2(-1.5, 1.5) * radius2);
- bloom_sum += texRECT(samp0, uv0 + float2(0, 2.5) * radius2);
- bloom_sum += texRECT(samp0, uv0 + float2(1.5, 1.5) * radius2);
- bloom_sum += texRECT(samp0, uv0 + float2(2.5, 0) * radius2);
- bloom_sum += texRECT(samp0, uv0 + float2(1.5, -1.5) * radius2);
- bloom_sum += texRECT(samp0, uv0 + float2(0, -2.5) * radius2);
+ vec2 pos = uv0 + float2(0.3, 0.3) * resolution.zw;
+ float2 radius1 = 1.3 * resolution.zw;
+ bloom_sum += texture(samp9, pos + float2(-1.5, -1.5) * radius1);
+ bloom_sum += texture(samp9, pos + float2(-2.5, 0) * radius1);
+ bloom_sum += texture(samp9, pos + float2(-1.5, 1.5) * radius1);
+ bloom_sum += texture(samp9, pos + float2(0, 2.5) * radius1);
+ bloom_sum += texture(samp9, pos + float2(1.5, 1.5) * radius1);
+ bloom_sum += texture(samp9, pos + float2(2.5, 0) * radius1);
+ bloom_sum += texture(samp9, pos + float2(1.5, -1.5) * radius1);
+ bloom_sum += texture(samp9, pos + float2(0, -2.5) * radius1);
+
+ float2 radius2 = 4.6 * resolution.zw;
+ bloom_sum += texture(samp9, pos + float2(-1.5, -1.5) * radius2);
+ bloom_sum += texture(samp9, pos + float2(-2.5, 0) * radius2);
+ bloom_sum += texture(samp9, pos + float2(-1.5, 1.5) * radius2);
+ bloom_sum += texture(samp9, pos + float2(0, 2.5) * radius2);
+ bloom_sum += texture(samp9, pos + float2(1.5, 1.5) * radius2);
+ bloom_sum += texture(samp9, pos + float2(2.5, 0) * radius2);
+ bloom_sum += texture(samp9, pos + float2(1.5, -1.5) * radius2);
+ bloom_sum += texture(samp9, pos + float2(0, -2.5) * radius2);
bloom_sum *= 0.07;
bloom_sum -= float4(0.3, 0.3, 0.3, 0.3);
bloom_sum = max(bloom_sum, float4(0,0,0,0));
- float2 vpos = (uv1 - float2(.5, .5)) * 2;
+ float2 vpos = (uv0 - float2(.5, .5)) * 2;
float dist = (dot(vpos, vpos));
dist = 1 - 0.4*dist;
diff --git a/Data/User/Shaders/brighten.txt b/Data/User/Shaders/brighten.txt
index ceb877b3b5..120d633f83 100644
--- a/Data/User/Shaders/brighten.txt
+++ b/Data/User/Shaders/brighten.txt
@@ -1,8 +1,9 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- c0 += c0 * 2;
- ocol0 = float4(c0.r, c0.g, c0.b, c0.a);
-} \ No newline at end of file
+ ocol0 = texture(samp9, uv0) * 3;
+}
diff --git a/Data/User/Shaders/chrismas.txt b/Data/User/Shaders/chrismas.txt
index abc8c1a76f..3ae8ba56b3 100644
--- a/Data/User/Shaders/chrismas.txt
+++ b/Data/User/Shaders/chrismas.txt
@@ -1,20 +1,17 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float red = 0.0;
- float green = 0.0;
+ vec4 c0 = texture(samp9, uv0);
+ float red = 0.0;
+ float green = 0.0;
- if (c0.r < 0.35 || c0.b > 0.35)
- {
- green = c0.g + (c0.b / 2);
- }
- else
- {
- //red = 1 - c0.r + (c0.b / 2);
- red = c0.r + 0.4;
- }
-
- ocol0 = float4(red, green, 0.0, 1.0);
-} \ No newline at end of file
+ if (c0.r < 0.35 || c0.b > 0.35)
+ green = c0.g + (c0.b / 2);
+ else
+ red = c0.r + 0.4;
+ ocol0 = vec4(red, green, 0.0, 1.0);
+}
diff --git a/Data/User/Shaders/cool1.txt b/Data/User/Shaders/cool1.txt
index 0a4cd9a65d..22086fe13c 100644
--- a/Data/User/Shaders/cool1.txt
+++ b/Data/User/Shaders/cool1.txt
@@ -1,22 +1,24 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float red = 0.0;
- float green = 0.0;
- float blue = 0.0;
+ vec4 c0 = texture(samp9, uv0);
+ float red = 0.0;
+ float green = 0.0;
+ float blue = 0.0;
- if (c0.r < 0.50 || c0.b > 0.5)
- {
- blue = c0.r;
- red = c0.g;
- }
- else
- {
- blue = c0.r;
- green = c0.r;
- }
-
- ocol0 = float4(red, green, blue, 1.0);
-} \ No newline at end of file
+ if (c0.r < 0.50 || c0.b > 0.5)
+ {
+ blue = c0.r;
+ red = c0.g;
+ }
+ else
+ {
+ blue = c0.r;
+ green = c0.r;
+ }
+ ocol0 = vec4(red, green, blue, 1.0);
+}
diff --git a/Data/User/Shaders/darkerbrighter.txt b/Data/User/Shaders/darkerbrighter.txt
index 55b470a4e5..60acbe0a28 100644
--- a/Data/User/Shaders/darkerbrighter.txt
+++ b/Data/User/Shaders/darkerbrighter.txt
@@ -1,12 +1,17 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float4 c1 = texRECT(samp0, uv0 - float2(1, 0)).rgba;
- float4 c2 = texRECT(samp0, uv0 - float2(0, 1)).rgba;
- float4 c3 = texRECT(samp0, uv0 + float2(1, 0)).rgba;
- float4 c4 = texRECT(samp0, uv0 + float2(0, 1)).rgba;
+ float4 c0 = texture(samp9, uv0);
+ float4 c1 = texture(samp9, uv0 - float2(1, 0)*resolution.zw);
+ float4 c2 = texture(samp9, uv0 - float2(0, 1)*resolution.zw);
+ float4 c3 = texture(samp9, uv0 + float2(1, 0)*resolution.zw);
+ float4 c4 = texture(samp9, uv0 + float2(0, 1)*resolution.zw);
float red = c0.r;
float blue = c0.b;
diff --git a/Data/User/Shaders/emboss.txt b/Data/User/Shaders/emboss.txt
index 94f420056d..cdf3c3c200 100644
--- a/Data/User/Shaders/emboss.txt
+++ b/Data/User/Shaders/emboss.txt
@@ -1,9 +1,14 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float4 c1 = texRECT(samp0, uv0 + float2(5,5)).rgba;
+ float4 c0 = texture(samp9, uv0).rgba;
+ float4 c1 = texture(samp9, uv0 + float2(5,5)*resolution.zw).rgba;
float y = (0.222 * c1.r) + (0.707 * c1.g) + (0.071 * c1.b);
float y2 = ((0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b)) / 3;
float red = c0.r;
diff --git a/Data/User/Shaders/fire.txt b/Data/User/Shaders/fire.txt
index bf96247e46..93bc4ec9db 100644
--- a/Data/User/Shaders/fire.txt
+++ b/Data/User/Shaders/fire.txt
@@ -1,39 +1,36 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float red = 0.0;
- float green = 0.0;
- float blue = 0.0;
-
- red = c0.r;
-
-
- if (c0.r > 0.0)
- {
- if (c0.g > c0.r)
- {
- green = (c0.g - (c0.g - c0.r)) / 3;
- }
- }
-
- if (c0.b > 0.0 && c0.r < 0.25)
- {
- red = c0.b;
- green = c0.b / 3;
- }
-
- if (c0.g > 0.0 && c0.r < 0.25)
- {
- red = c0.g;
- green = c0.g / 3;
- }
-
- if (((c0.r + c0.g + c0.b) / 3) > 0.9)
- {
- green = c0.r / 3;
- }
-
- ocol0 = float4(red, green, blue, 1.0);
-} \ No newline at end of file
+ vec4 c0 = texture(samp9, uv0);
+ float red = 0.0;
+ float green = 0.0;
+ float blue = 0.0;
+
+ red = c0.r;
+
+
+ if (c0.r > 0.0)
+ if (c0.g > c0.r)
+ green = (c0.g - (c0.g - c0.r)) / 3;
+
+ if (c0.b > 0.0 && c0.r < 0.25)
+ {
+ red = c0.b;
+ green = c0.b / 3;
+ }
+
+ if (c0.g > 0.0 && c0.r < 0.25)
+ {
+ red = c0.g;
+ green = c0.g / 3;
+ }
+
+ if (((c0.r + c0.g + c0.b) / 3) > 0.9)
+ green = c0.r / 3;
+
+ ocol0 = vec4(red, green, blue, 1.0);
+}
diff --git a/Data/User/Shaders/fire2.txt b/Data/User/Shaders/fire2.txt
index 899235c326..a6fe76015c 100644
--- a/Data/User/Shaders/fire2.txt
+++ b/Data/User/Shaders/fire2.txt
@@ -1,15 +1,18 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float red = 0.0;
- float green = 0.0;
- float blue = 0.0;
- float avg = (c0.r + c0.g + c0.b) / 3;
-
- red = c0.r + (c0.g / 2) + (c0.b / 3);
- green = c0.r / 3;
-
- ocol0 = float4(red, green, blue, 1.0);
-} \ No newline at end of file
+ vec4 c0 = texture(samp9, uv0);
+ float red = 0.0;
+ float green = 0.0;
+ float blue = 0.0;
+ float avg = (c0.r + c0.g + c0.b) / 3;
+
+ red = c0.r + (c0.g / 2) + (c0.b / 3);
+ green = c0.r / 3;
+
+ ocol0 = vec4(red, green, blue, 1.0);
+}
diff --git a/Data/User/Shaders/firewater.txt b/Data/User/Shaders/firewater.txt
index d8616d6381..add2d54e72 100644
--- a/Data/User/Shaders/firewater.txt
+++ b/Data/User/Shaders/firewater.txt
@@ -1,10 +1,15 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float4 c1 = texRECT(samp0, uv0 + float2(1,1)).rgba;
- float4 c2 = texRECT(samp0, uv0 + float2(-1,-1)).rgba;
+ float4 c0 = texture(samp9, uv0);
+ float4 c1 = texture(samp9, uv0 + float2(1,1)*resolution.zw);
+ float4 c2 = texture(samp9, uv0 + float2(-1,-1)*resolution.zw);
float red = c0.r;
float green = c0.g;
float blue = c0.b;
diff --git a/Data/User/Shaders/grayscale.txt b/Data/User/Shaders/grayscale.txt
index 7a654c3458..7a828f0a11 100644
--- a/Data/User/Shaders/grayscale.txt
+++ b/Data/User/Shaders/grayscale.txt
@@ -1,8 +1,11 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float avg = (c0.r + c0.g + c0.b) / 3.0;
- ocol0 = float4(avg, avg, avg, c0.a);
+ vec4 c0 = texture(samp9, uv0);
+ float avg = (c0.r + c0.g + c0.b) / 3.0;
+ ocol0 = vec4(avg, avg, avg, c0.a);
}
diff --git a/Data/User/Shaders/grayscale2.txt b/Data/User/Shaders/grayscale2.txt
index dd3a891e2b..d9ef25a416 100644
--- a/Data/User/Shaders/grayscale2.txt
+++ b/Data/User/Shaders/grayscale2.txt
@@ -1,9 +1,12 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- // Info: http://www.oreillynet.com/cs/user/view/cs_msg/8691
- float avg = (0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b);
- ocol0 = float4(avg, avg, avg, c0.a);
+ vec4 c0 = texture(samp9, uv0);
+ // Info: http://www.oreillynet.com/cs/user/view/cs_msg/8691
+ float avg = (0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b);
+ ocol0 = vec4(avg, avg, avg, c0.a);
}
diff --git a/Data/User/Shaders/invert.txt b/Data/User/Shaders/invert.txt
index e5f5925fb0..67c5dee997 100644
--- a/Data/User/Shaders/invert.txt
+++ b/Data/User/Shaders/invert.txt
@@ -1,7 +1,9 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- ocol0 = float4(1.0, 1.0, 1.0, 1.0) - c0;
+ ocol0 = vec4(1.0, 1.0, 1.0, 1.0) - texture(samp9, uv0);
}
diff --git a/Data/User/Shaders/invert_blue.txt b/Data/User/Shaders/invert_blue.txt
index c52e69da46..aa4eeea43a 100644
--- a/Data/User/Shaders/invert_blue.txt
+++ b/Data/User/Shaders/invert_blue.txt
@@ -1,7 +1,9 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- ocol0 = float4(0.0, 0.0, 0.7, 1.0) - c0;
-} \ No newline at end of file
+ ocol0 = vec4(0.0, 0.0, 0.7, 1.0) - texture(samp9, uv0);
+}
diff --git a/Data/User/Shaders/invertedoutline.txt b/Data/User/Shaders/invertedoutline.txt
index dbce732a68..66d24fb5ca 100644
--- a/Data/User/Shaders/invertedoutline.txt
+++ b/Data/User/Shaders/invertedoutline.txt
@@ -1,9 +1,14 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float4 c1 = texRECT(samp0, uv0 + float2(5,5)).rgba;
+ float4 c0 = texture(samp9, uv0);
+ float4 c1 = texture(samp9, uv0 + float2(5,5)*resolution.zw);
ocol0 = c0 - c1;
} \ No newline at end of file
diff --git a/Data/User/Shaders/mad_world.txt b/Data/User/Shaders/mad_world.txt
index 4b71c36a2c..2e627abb57 100644
--- a/Data/User/Shaders/mad_world.txt
+++ b/Data/User/Shaders/mad_world.txt
@@ -1,10 +1,15 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
- float4 emboss = (texRECT(samp0, uv0+1).rgba - texRECT(samp0, uv0-1).rgba)*2.0f;
- emboss -= (texRECT(samp0, uv0+float2(1,-1)).rgba - texRECT(samp0, uv0+float2(-1,1)).rgba);
- float4 color = texRECT(samp0, uv0).rgba;
+ float4 emboss = (texture(samp9, uv0+resolution.zw) - texture(samp9, uv0-resolution.zw))*2.0;
+ emboss -= (texture(samp9, uv0+float2(1,-1)*resolution.zw).rgba - texture(samp9, uv0+float2(-1,1)*resolution.zw).rgba);
+ float4 color = texture(samp9, uv0).rgba;
if (color.r > 0.8 && color.b + color.b < 0.2)
ocol0 = float4(1,0,0,0);
else {
diff --git a/Data/User/Shaders/nightvision.txt b/Data/User/Shaders/nightvision.txt
index 995268fc3c..ff98cb03b9 100644
--- a/Data/User/Shaders/nightvision.txt
+++ b/Data/User/Shaders/nightvision.txt
@@ -1,8 +1,11 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
+ float4 c0 = texture(samp9, uv0).rgba;
float green = c0.g;
if (c0.g < 0.50)
diff --git a/Data/User/Shaders/nightvision2.txt b/Data/User/Shaders/nightvision2.txt
index 5f8b19b4ec..4ed61e16a9 100644
--- a/Data/User/Shaders/nightvision2.txt
+++ b/Data/User/Shaders/nightvision2.txt
@@ -1,21 +1,26 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
//variables
int internalresolution = 1278;
- float4 c0 = texRECT(samp0, uv0).rgba;
+ float4 c0 = texture(samp9, uv0).rgba;
//blur
float4 blurtotal = float4(0, 0, 0, 0);
float blursize = 1.5;
- blurtotal += texRECT(samp0, uv0 + float2(-blursize, -blursize));
- blurtotal += texRECT(samp0, uv0 + float2(-blursize, blursize));
- blurtotal += texRECT(samp0, uv0 + float2( blursize, -blursize));
- blurtotal += texRECT(samp0, uv0 + float2( blursize, blursize));
- blurtotal += texRECT(samp0, uv0 + float2(-blursize, 0));
- blurtotal += texRECT(samp0, uv0 + float2( blursize, 0));
- blurtotal += texRECT(samp0, uv0 + float2( 0, -blursize));
- blurtotal += texRECT(samp0, uv0 + float2( 0, blursize));
+ blurtotal += texture(samp9, uv0 + float2(-blursize, -blursize)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2(-blursize, blursize)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2( blursize, -blursize)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2( blursize, blursize)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2(-blursize, 0)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2( blursize, 0)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2( 0, -blursize)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2( 0, blursize)*resolution.zw);
blurtotal *= 0.125;
c0 = blurtotal;
//greyscale
@@ -23,8 +28,8 @@ void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
// brighten
grey = grey * 0.5 + 0.7;
// darken edges
- float x = uv0[0];
- float y = uv0[1];
+ float x = uv0.x * resolution.x;
+ float y = uv0.y * resolution.y;
if (x > internalresolution/2) x = internalresolution-x;
if (y > internalresolution/2) y = internalresolution-y;
if (x > internalresolution/2*0.95) x = internalresolution/2*0.95;
diff --git a/Data/User/Shaders/nightvision2scanlines.txt b/Data/User/Shaders/nightvision2scanlines.txt
index f84d1e9458..df98629443 100644
--- a/Data/User/Shaders/nightvision2scanlines.txt
+++ b/Data/User/Shaders/nightvision2scanlines.txt
@@ -1,21 +1,26 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
//variables
int internalresolution = 1278;
- float4 c0 = texRECT(samp0, uv0).rgba;
+ float4 c0 = texture(samp9, uv0).rgba;
//blur
float4 blurtotal = float4(0, 0, 0, 0);
float blursize = 1.5;
- blurtotal += texRECT(samp0, uv0 + float2(-blursize, -blursize));
- blurtotal += texRECT(samp0, uv0 + float2(-blursize, blursize));
- blurtotal += texRECT(samp0, uv0 + float2( blursize, -blursize));
- blurtotal += texRECT(samp0, uv0 + float2( blursize, blursize));
- blurtotal += texRECT(samp0, uv0 + float2(-blursize, 0));
- blurtotal += texRECT(samp0, uv0 + float2( blursize, 0));
- blurtotal += texRECT(samp0, uv0 + float2( 0, -blursize));
- blurtotal += texRECT(samp0, uv0 + float2( 0, blursize));
+ blurtotal += texture(samp9, uv0 + float2(-blursize, -blursize)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2(-blursize, blursize)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2( blursize, -blursize)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2( blursize, blursize)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2(-blursize, 0)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2( blursize, 0)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2( 0, -blursize)*resolution.zw);
+ blurtotal += texture(samp9, uv0 + float2( 0, blursize)*resolution.zw);
blurtotal *= 0.125;
c0 = blurtotal;
//greyscale
@@ -24,12 +29,12 @@ void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
// This would have been much simpler if I could get the stupid modulo (%) to work
// If anyone who is more well versed in Cg knows how to do this it'd be slightly more efficient
// float lineIntensity = ((uv0[1] % 9) - 4) / 40;
- float vPos = uv0[1] / 9;
- float lineIntensity = (((vPos - (int)vPos) * 9) - 4) / 40;
+ float vPos = uv0.y*resolution.y / 9;
+ float lineIntensity = (((vPos - floor(vPos)) * 9) - 4) / 40;
grey = grey * 0.5 + 0.7 + lineIntensity;
// darken edges
- float x = uv0[0];
- float y = uv0[1];
+ float x = uv0.x * resolution.x;
+ float y = uv0.y * resolution.y;
if (x > internalresolution/2) x = internalresolution-x;
if (y > internalresolution/2) y = internalresolution-y;
if (x > internalresolution/2*0.95) x = internalresolution/2*0.95;
diff --git a/Data/User/Shaders/posterize.txt b/Data/User/Shaders/posterize.txt
index f86fb108d4..602a412929 100644
--- a/Data/User/Shaders/posterize.txt
+++ b/Data/User/Shaders/posterize.txt
@@ -1,8 +1,11 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
+ float4 c0 = texture(samp9, uv0).rgba;
float red = 0.0;
float green = 0.0;
float blue = 0.0;
diff --git a/Data/User/Shaders/posterize2.txt b/Data/User/Shaders/posterize2.txt
index d621449a72..fc6c2ef5c9 100644
--- a/Data/User/Shaders/posterize2.txt
+++ b/Data/User/Shaders/posterize2.txt
@@ -1,6 +1,9 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-inline float bound(float color)
+out vec4 ocol0;
+in vec2 uv0;
+
+float bound(float color)
{
if (color < 0.35)
{
@@ -13,9 +16,9 @@ inline float bound(float color)
return 1.0;
}
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+void main()
{
- float4 c0 = texRECT(samp0, uv0 + float2(0,0)).rgba;
+ float4 c0 = texture(samp9, uv0);
ocol0 = float4(bound(c0.r), bound(c0.g), bound(c0.b), c0.a);
}
diff --git a/Data/User/Shaders/primarycolors.txt b/Data/User/Shaders/primarycolors.txt
index cdbd3cad3e..c54eda5cd4 100644
--- a/Data/User/Shaders/primarycolors.txt
+++ b/Data/User/Shaders/primarycolors.txt
@@ -1,69 +1,70 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float red = c0.r;
- float blue = c0.b;
- float green = c0.g;
- float factor = 2;
- float max = 0.8;
- float min = 0.3;
-
- if(c0.r > c0.g && c0.b > c0.g){
- if(c0.r < c0.b + 0.05 && c0.b < c0.r + 0.05){
- red = 0.7;
- blue = 0.7;
- green = 0.05;
- }
- else if(c0.r > c0.b + 0.05){
- red = 0.7;
- blue = 0.05;
- green = 0.05;
- }
- else if (c0.b > c0.r + 0.05){
- red = 0.05;
- blue = 0.7;
- green = 0.05;
- }
- }
+ vec4 c0 = texture(samp9, uv0);
+ float red = c0.r;
+ float blue = c0.b;
+ float green = c0.g;
+ float factor = 2;
+ float max = 0.8;
+ float min = 0.3;
- if(c0.r > c0.b && c0.g > c0.b){
- if(c0.r < c0.g + 0.05 && c0.g < c0.r + 0.05){
- red = 0.7;
- blue = 0.05;
- green = 0.7;
- }
- else if(c0.r > c0.g + 0.05){
- red = 0.7;
- blue = 0.05;
- green = 0.05;
+ if(c0.r > c0.g && c0.b > c0.g){
+ if(c0.r < c0.b + 0.05 && c0.b < c0.r + 0.05){
+ red = 0.7;
+ blue = 0.7;
+ green = 0.05;
+ }
+ else if(c0.r > c0.b + 0.05){
+ red = 0.7;
+ blue = 0.05;
+ green = 0.05;
+ }
+ else if (c0.b > c0.r + 0.05){
+ red = 0.05;
+ blue = 0.7;
+ green = 0.05;
+ }
}
- else if (c0.g > c0.r + 0.05){
- red = 0.05;
- blue = 0.05;
- green = 0.7;
- }
- }
- if(c0.g > c0.r && c0.b > c0.r){
- if(c0.g < c0.b + 0.05 && c0.b < c0.g + 0.05){
- red = 0.05;
- blue = 0.7;
- green = 0.7;
- }
- else if(c0.g > c0.b + 0.05){
- red = 0.05;
- blue = 0.05;
- green = 0.7;
+ if(c0.r > c0.b && c0.g > c0.b){
+ if(c0.r < c0.g + 0.05 && c0.g < c0.r + 0.05){
+ red = 0.7;
+ blue = 0.05;
+ green = 0.7;
+ }
+ else if(c0.r > c0.g + 0.05){
+ red = 0.7;
+ blue = 0.05;
+ green = 0.05;
+ }
+ else if (c0.g > c0.r + 0.05){
+ red = 0.05;
+ blue = 0.05;
+ green = 0.7;
+ }
}
- else if (c0.b > c0.g + 0.05){
- red = 0.05;
- blue = 0.7;
- green = 0.05;
- }
- }
-
- ocol0 = float4(red, green, blue, c0.a);
-} \ No newline at end of file
+ if(c0.g > c0.r && c0.b > c0.r){
+ if(c0.g < c0.b + 0.05 && c0.b < c0.g + 0.05){
+ red = 0.05;
+ blue = 0.7;
+ green = 0.7;
+ }
+ else if(c0.g > c0.b + 0.05){
+ red = 0.05;
+ blue = 0.05;
+ green = 0.7;
+ }
+ else if (c0.b > c0.g + 0.05){
+ red = 0.05;
+ blue = 0.7;
+ green = 0.05;
+ }
+ }
+ ocol0 = vec4(red, green, blue, c0.a);
+}
diff --git a/Data/User/Shaders/sepia.txt b/Data/User/Shaders/sepia.txt
index eb7222ce3c..88f5c15de7 100644
--- a/Data/User/Shaders/sepia.txt
+++ b/Data/User/Shaders/sepia.txt
@@ -1,13 +1,16 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- // Same coefficients as grayscale2 at this point
- float avg = (0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b);
- float red=avg;
- // Not sure about these coefficients, they just seem to produce the proper yellow
- float green=avg*.75;
- float blue=avg*.5;
- ocol0 = float4(red, green, blue, c0.a);
-} \ No newline at end of file
+ vec4 c0 = texture(samp9, uv0);
+ // Same coefficients as grayscale2 at this point
+ float avg = (0.222 * c0.r) + (0.707 * c0.g) + (0.071 * c0.b);
+ float red=avg;
+ // Not sure about these coefficients, they just seem to produce the proper yellow
+ float green=avg*.75;
+ float blue=avg*.5;
+ ocol0 = vec4(red, green, blue, c0.a);
+}
diff --git a/Data/User/Shaders/sketchy.txt b/Data/User/Shaders/sketchy.txt
index 536baff594..27cadd3f85 100644
--- a/Data/User/Shaders/sketchy.txt
+++ b/Data/User/Shaders/sketchy.txt
@@ -1,17 +1,22 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
+ float4 c0 = texture(samp9, uv0).rgba;
float4 tmp = float4(0, 0, 0, 0);
- tmp += c0 - texRECT(samp0, uv0 + float2(2, 2)).rgba;
- tmp += c0 - texRECT(samp0, uv0 - float2(2, 2)).rgba;
- tmp += c0 - texRECT(samp0, uv0 + float2(2, -2)).rgba;
- tmp += c0 - texRECT(samp0, uv0 - float2(2, -2)).rgba;
+ tmp += c0 - texture(samp9, uv0 + float2(2, 2)*resolution.zw).rgba;
+ tmp += c0 - texture(samp9, uv0 - float2(2, 2)*resolution.zw).rgba;
+ tmp += c0 - texture(samp9, uv0 + float2(2, -2)*resolution.zw).rgba;
+ tmp += c0 - texture(samp9, uv0 - float2(2, -2)*resolution.zw).rgba;
float grey = ((0.222 * tmp.r) + (0.707 * tmp.g) + (0.071 * tmp.b));
// get rid of the bottom line, as it is incorrect.
- if (uv0[1] < 163)
- tmp = 1;
- c0 = c0+1-grey*7;
+ if (uv0.y*resolution.y < 163)
+ tmp = float4(1.0, 1.0, 1.0, 1.0);
+ c0 = c0+1-grey*7.0;
ocol0 = float4(c0.r, c0.g, c0.b, 1);
} \ No newline at end of file
diff --git a/Data/User/Shaders/spookey1.txt b/Data/User/Shaders/spookey1.txt
index 4d9660dcd0..6a25d57e5e 100644
--- a/Data/User/Shaders/spookey1.txt
+++ b/Data/User/Shaders/spookey1.txt
@@ -1,20 +1,23 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float red = 0.0;
- float blue = 0.0;
+ vec4 c0 = texture(samp9, uv0);
+ float red = 0.0;
+ float blue = 0.0;
+
+ if (c0.r < 0.35 || c0.b > 0.5)
+ {
+ red = c0.g + c0.b;
+ }
+ else
+ {
+ red = c0.g + c0.b;
+ blue = c0.r + c0.b;
+ }
- if (c0.r < 0.35 || c0.b > 0.5)
- {
- red = c0.g + c0.b;
- }
- else
- {
- red = c0.g + c0.b;
- blue = c0.r + c0.b;
- }
-
- ocol0 = float4(red, 0.0, blue, 1.0);
-} \ No newline at end of file
+ ocol0 = vec4(red, 0.0, blue, 1.0);
+}
diff --git a/Data/User/Shaders/spookey2.txt b/Data/User/Shaders/spookey2.txt
index 5e2c1b805f..9a56bd21a1 100644
--- a/Data/User/Shaders/spookey2.txt
+++ b/Data/User/Shaders/spookey2.txt
@@ -1,22 +1,25 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float red = 0.0;
- float green = 0.0;
- float blue = 0.0;
+ vec4 c0 = texture(samp9, uv0);
+ float red = 0.0;
+ float green = 0.0;
+ float blue = 0.0;
+
+ if (c0.r < 0.35 || c0.b > 0.5)
+ {
+ red = c0.g + c0.b;
+ }
+ else
+ {
+ red = c0.g + c0.b;
+ blue = c0.r + c0.b;
+ green = c0.r + c0.b;
+ }
- if (c0.r < 0.35 || c0.b > 0.5)
- {
- red = c0.g + c0.b;
- }
- else
- {
- red = c0.g + c0.b;
- blue = c0.r + c0.b;
- green = c0.r + c0.b;
- }
-
- ocol0 = float4(red, green, blue, 1.0);
-} \ No newline at end of file
+ ocol0 = vec4(red, green, blue, 1.0);
+}
diff --git a/Data/User/Shaders/stereoscopic.txt b/Data/User/Shaders/stereoscopic.txt
index c28ca2c093..3bd6021f39 100644
--- a/Data/User/Shaders/stereoscopic.txt
+++ b/Data/User/Shaders/stereoscopic.txt
@@ -1,11 +1,16 @@
// Omega's 3D Stereoscopic filtering
// TODO: Need depth info!
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba; // Source Color
+ float4 c0 = texture(samp9, uv0).rgba; // Source Color
float sep = 5;
float red = c0.r;
float green = c0.g;
@@ -13,11 +18,11 @@ void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
// Left Eye (Red)
- float4 c1 = texRECT(samp0, uv0 + float2(sep,0)).rgba;
+ float4 c1 = texture(samp9, uv0 + float2(sep,0)*resolution.zw).rgba;
red = max(c0.r, c1.r);
// Right Eye (Cyan)
- float4 c2 = texRECT(samp0, uv0 + float2(-sep,0)).rgba;
+ float4 c2 = texture(samp9, uv0 + float2(-sep,0)*resolution.zw).rgba;
float cyan = (c2.g + c2.b) / 2;
green = max(c0.g, cyan);
blue = max(c0.b, cyan);
diff --git a/Data/User/Shaders/stereoscopic2.txt b/Data/User/Shaders/stereoscopic2.txt
index b809146403..2407b03832 100644
--- a/Data/User/Shaders/stereoscopic2.txt
+++ b/Data/User/Shaders/stereoscopic2.txt
@@ -1,24 +1,30 @@
// Omega's 3D Stereoscopic filtering (Amber/Blue)
// TODO: Need depth info!
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+uniform vec4 resolution;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba; // Source Color
+ float4 c0 = texture(samp9, uv0).rgba; // Source Color
float sep = 5;
float red = c0.r;
float green = c0.g;
float blue = c0.b;
+
// Left Eye (Amber)
- float4 c2 = texRECT(samp0, uv0 + float2(sep,0)).rgba;
+ float4 c2 = texture(samp9, uv0 + float2(sep,0)*resolution.zw).rgba;
float amber = (c2.r + c2.g) / 2;
red = max(c0.r, amber);
green = max(c0.g, amber);
// Right Eye (Blue)
- float4 c1 = texRECT(samp0, uv0 + float2(-sep,0)).rgba;
+ float4 c1 = texture(samp9, uv0 + float2(-sep,0)*resolution.zw).rgba;
blue = max(c0.b, c1.b);
diff --git a/Data/User/Shaders/sunset.txt b/Data/User/Shaders/sunset.txt
index c74523543c..4a1eae5a4b 100644
--- a/Data/User/Shaders/sunset.txt
+++ b/Data/User/Shaders/sunset.txt
@@ -1,7 +1,10 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- ocol0 = float4(c0.r*1.5, c0.g*1, c0.b*0.5, c0.a);
-} \ No newline at end of file
+ vec4 c0 = texture(samp9, uv0);
+ ocol0 = vec4(c0.r * 1.5, c0.g * 1, c0.b * 0.5, c0.a);
+}
diff --git a/Data/User/Shaders/swap_RGB_BGR.txt b/Data/User/Shaders/swap_RGB_BGR.txt
index 92b848b333..011411700a 100644
--- a/Data/User/Shaders/swap_RGB_BGR.txt
+++ b/Data/User/Shaders/swap_RGB_BGR.txt
@@ -1,7 +1,9 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- ocol0 = float4(c0.b, c0.g, c0.r, c0.a);
+ ocol0 = texture(samp9, uv0).bgra;
}
diff --git a/Data/User/Shaders/swap_RGB_BRG.txt b/Data/User/Shaders/swap_RGB_BRG.txt
index 3233222d09..82fe665b12 100644
--- a/Data/User/Shaders/swap_RGB_BRG.txt
+++ b/Data/User/Shaders/swap_RGB_BRG.txt
@@ -1,7 +1,9 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- ocol0 = float4(c0.b, c0.r, c0.g, c0.a);
-} \ No newline at end of file
+ ocol0 = texture(samp9, uv0).brga;
+}
diff --git a/Data/User/Shaders/swap_RGB_GBR.txt b/Data/User/Shaders/swap_RGB_GBR.txt
index 5212032252..5884ccd0ab 100644
--- a/Data/User/Shaders/swap_RGB_GBR.txt
+++ b/Data/User/Shaders/swap_RGB_GBR.txt
@@ -1,7 +1,9 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- ocol0 = float4(c0.g, c0.b, c0.r, c0.a);
-} \ No newline at end of file
+ ocol0 = texture(samp9, uv0).gbra;
+}
diff --git a/Data/User/Shaders/swap_RGB_GRB.txt b/Data/User/Shaders/swap_RGB_GRB.txt
index 32d7585801..26a4c14f8d 100644
--- a/Data/User/Shaders/swap_RGB_GRB.txt
+++ b/Data/User/Shaders/swap_RGB_GRB.txt
@@ -1,7 +1,9 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- ocol0 = float4(c0.g, c0.r, c0.b, c0.a);
-} \ No newline at end of file
+ ocol0 = texture(samp9, uv0).grba;
+}
diff --git a/Data/User/Shaders/swap_RGB_RBG.txt b/Data/User/Shaders/swap_RGB_RBG.txt
index 85bd5373cf..8e735a7337 100644
--- a/Data/User/Shaders/swap_RGB_RBG.txt
+++ b/Data/User/Shaders/swap_RGB_RBG.txt
@@ -1,7 +1,9 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- ocol0 = float4(c0.r, c0.b, c0.g, c0.a);
-} \ No newline at end of file
+ ocol0 = texture(samp9, uv0).rbga;
+}
diff --git a/Data/User/Shaders/toxic.txt b/Data/User/Shaders/toxic.txt
index 4cefcb7898..38017c400d 100644
--- a/Data/User/Shaders/toxic.txt
+++ b/Data/User/Shaders/toxic.txt
@@ -1,22 +1,25 @@
-uniform samplerRECT samp0 : register(s0);
+uniform sampler2D samp9;
-void main(out float4 ocol0 : COLOR0, in float2 uv0 : TEXCOORD0)
+out vec4 ocol0;
+in vec2 uv0;
+
+void main()
{
- float4 c0 = texRECT(samp0, uv0).rgba;
- float red = 0.0;
- float green = 0.0;
- float blue = 0.0;
+ vec4 c0 = texture(samp9, uv0);
+ float red = 0.0;
+ float green = 0.0;
+ float blue = 0.0;
+
+ if (c0.r < 0.3 || c0.b > 0.5)
+ {
+ blue = c0.r + c0.b;
+ red = c0.g + c0.b / 2;
+ }
+ else
+ {
+ red = c0.g + c0.b;
+ green = c0.r + c0.b;
+ }
- if (c0.r < 0.3 || c0.b > 0.5)
- {
- blue = c0.r + c0.b;
- red = c0.g + c0.b / 2;
- }
- else
- {
- red = c0.g + c0.b;
- green = c0.r + c0.b;
- }
-
- ocol0 = float4(red, green, blue, 1.0);
-} \ No newline at end of file
+ ocol0 = vec4(red, green, blue, 1.0);
+}