summaryrefslogtreecommitdiff
path: root/Data
diff options
context:
space:
mode:
authorskidau <skidau@gmail.com>2013-03-27 13:19:23 +1100
committerskidau <skidau@gmail.com>2013-03-27 13:19:23 +1100
commit7784fa4c67cc8d2545f45694d83805e7e89cd583 (patch)
tree7724133aabe971ec417d1dea0977a525bb8debfb /Data
parentd33c19b0cd2bae982c8d35e86a9d3551f9e5c72f (diff)
parent5cea0d9defeaa23e7af94adf7615a44fb2c9c173 (diff)
Merge branch 'master' into wii-network
# By Ryan Houdek (185) and others # Via degasus (12) and others * master: (625 commits) Revert "Don't open/close file for every file operation." as it was crashing PokePark in Windows builds. Array overrun fixed in VertexShaderCache for the DX11 plugin. Fixed DSPTool build. Windows build fix Go back to assuming every HID device is a wiimote on Windows. Fixed issue 6117. Unfixed issue 6031. VideoSoftware: Improve fog range adjustment by using less magic and more comments. revert RasterFont for VideoSoftware ogl: fix virtual xfb Windows build fix from web interface... Adjusted the audio loop criteria, using >= on the Wii and == on GC. This fixes the audio static that occurred in Wii games after hours of play. Forced the exception check only for ARAM DMA transfers. Removed the Eternal Darkness boot hack and replaced it with an exception check. VideoSoftware: Implement fog range adjustment, fixing issue 6147. implement 4xSSAA for OGL move ogl-only settings into backend Fix description of disable fog, and move it to enhancements tab. Reverted rd76ca5783743 as it was made obsolete by r1d550f4496e4. Removed the tracking of the FIFO Writes as it was made obsolete by r1d550f4496e4. Forced the external exception check to occur sooner by changing the downcount. Mark the Direct3D9 backend deprecated. Prefer D3D11 and OpenGL over D3D9 by default. ... Conflicts: CMakeLists.txt Source/Core/Common/Common.vcxproj.filters Source/Core/Common/Src/CommonPaths.h Source/Core/Core/Core.vcxproj.filters Source/Core/Core/Src/Core.cpp Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_FileIO.cpp Source/VSProps/Dolphin.Win32.props Source/VSProps/Dolphin.x64.props
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);
+}