diff options
Diffstat (limited to 'Data')
86 files changed, 1004 insertions, 765 deletions
diff --git a/Data/Sys/GC/dsp_coef.bin b/Data/Sys/GC/dsp_coef.bin Binary files differnew file mode 100644 index 0000000000..a276f2cede --- /dev/null +++ b/Data/Sys/GC/dsp_coef.bin diff --git a/Data/Sys/GC/dsp_rom.bin b/Data/Sys/GC/dsp_rom.bin Binary files differnew file mode 100644 index 0000000000..54e03da7c7 --- /dev/null +++ b/Data/Sys/GC/dsp_rom.bin 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); +} |
