Update : PSP
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 5.8 KiB |
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,197 +1,200 @@
|
|||||||
# Windows - DINPUT
|
# Windows - DINPUT
|
||||||
8f0e1200000000000000504944564944,Acme,platform:Windows,x:b2,a:b0,b:b1,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
|
8f0e1200000000000000504944564944,Acme,platform:Windows,x:b2,a:b0,b:b1,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
|
||||||
341a3608000000000000504944564944,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
|
341a3608000000000000504944564944,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
|
||||||
ffff0000000000000000504944564944,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
|
ffff0000000000000000504944564944,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows,
|
||||||
6d0416c2000000000000504944564944,Generic DirectInput Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
|
6d0416c2000000000000504944564944,Generic DirectInput Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
|
||||||
0d0f6e00000000000000504944564944,HORIPAD 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
0d0f6e00000000000000504944564944,HORIPAD 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
||||||
6d0419c2000000000000504944564944,Logitech F710 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
|
6d0419c2000000000000504944564944,Logitech F710 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows,
|
||||||
88880803000000000000504944564944,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b9,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows,
|
88880803000000000000504944564944,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b9,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows,
|
||||||
4c056802000000000000504944564944,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Windows,
|
4c056802000000000000504944564944,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Windows,
|
||||||
25090500000000000000504944564944,PS3 DualShock,a:b2,b:b1,back:b9,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b0,y:b3,platform:Windows,
|
25090500000000000000504944564944,PS3 DualShock,a:b2,b:b1,back:b9,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b0,y:b3,platform:Windows,
|
||||||
4c05c405000000000000504944564944,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
|
4c05c405000000000000504944564944,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows,
|
||||||
6d0418c2000000000000504944564944,Logitech RumblePad 2 USB,platform:Windows,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
6d0418c2000000000000504944564944,Logitech RumblePad 2 USB,platform:Windows,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
||||||
36280100000000000000504944564944,OUYA Controller,platform:Windows,a:b0,b:b3,y:b2,x:b1,start:b14,guide:b15,leftstick:b6,rightstick:b7,leftshoulder:b4,rightshoulder:b5,dpup:b8,dpleft:b10,dpdown:b9,dpright:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b12,righttrigger:b13,
|
36280100000000000000504944564944,OUYA Controller,platform:Windows,a:b0,b:b3,y:b2,x:b1,start:b14,guide:b15,leftstick:b6,rightstick:b7,leftshoulder:b4,rightshoulder:b5,dpup:b8,dpleft:b10,dpdown:b9,dpright:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b12,righttrigger:b13,
|
||||||
4f0400b3000000000000504944564944,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Windows,
|
4f0400b3000000000000504944564944,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Windows,
|
||||||
00f00300000000000000504944564944,RetroUSB.com RetroPad,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Windows,
|
00f00300000000000000504944564944,RetroUSB.com RetroPad,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Windows,
|
||||||
00f0f100000000000000504944564944,RetroUSB.com Super RetroPort,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Windows,
|
00f0f100000000000000504944564944,RetroUSB.com Super RetroPort,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Windows,
|
||||||
28040140000000000000504944564944,GamePad Pro USB,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,lefttrigger:b6,righttrigger:b7,
|
28040140000000000000504944564944,GamePad Pro USB,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,lefttrigger:b6,righttrigger:b7,
|
||||||
ff113133000000000000504944564944,SVEN X-PAD,platform:Windows,a:b2,b:b3,y:b1,x:b0,start:b5,back:b4,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b8,righttrigger:b9,
|
ff113133000000000000504944564944,SVEN X-PAD,platform:Windows,a:b2,b:b3,y:b1,x:b0,start:b5,back:b4,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b8,righttrigger:b9,
|
||||||
8f0e0300000000000000504944564944,Piranha xtreme,platform:Windows,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
|
8f0e0300000000000000504944564944,Piranha xtreme,platform:Windows,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
|
||||||
8f0e0d31000000000000504944564944,Multilaser JS071 USB,platform:Windows,a:b1,b:b2,y:b3,x:b0,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
8f0e0d31000000000000504944564944,Multilaser JS071 USB,platform:Windows,a:b1,b:b2,y:b3,x:b0,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
||||||
10080300000000000000504944564944,PS2 USB,platform:Windows,a:b2,b:b1,y:b0,x:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a4,righty:a2,lefttrigger:b4,righttrigger:b5,
|
10080300000000000000504944564944,PS2 USB,platform:Windows,a:b2,b:b1,y:b0,x:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a4,righty:a2,lefttrigger:b4,righttrigger:b5,
|
||||||
79000600000000000000504944564944,G-Shark GS-GP702,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
79000600000000000000504944564944,G-Shark GS-GP702,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
||||||
4b12014d000000000000504944564944,NYKO AIRFLO,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b10,start:b9,leftstick:a0,rightstick:a2,leftshoulder:a3,rightshoulder:b5,dpup:h0.1,dpdown:h0.0,dpleft:h0.8,dpright:h0.2,leftx:h0.6,lefty:h0.12,rightx:h0.9,righty:h0.4,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
4b12014d000000000000504944564944,NYKO AIRFLO,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b10,start:b9,leftstick:a0,rightstick:a2,leftshoulder:a3,rightshoulder:b5,dpup:h0.1,dpdown:h0.0,dpleft:h0.8,dpright:h0.2,leftx:h0.6,lefty:h0.12,rightx:h0.9,righty:h0.4,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
||||||
d6206dca000000000000504944564944,PowerA Pro Ex,a:b1,b:b2,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.0,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
d6206dca000000000000504944564944,PowerA Pro Ex,a:b1,b:b2,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.0,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
||||||
a3060cff000000000000504944564944,Saitek P2500,a:b2,b:b3,y:b1,x:b0,start:b4,guide:b10,back:b5,leftstick:b8,rightstick:b9,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,platform:Windows,
|
a3060cff000000000000504944564944,Saitek P2500,a:b2,b:b3,y:b1,x:b0,start:b4,guide:b10,back:b5,leftstick:b8,rightstick:b9,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,platform:Windows,
|
||||||
4f0415b3000000000000504944564944,Thrustmaster Dual Analog 3.2,platform:Windows,x:b1,a:b0,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
4f0415b3000000000000504944564944,Thrustmaster Dual Analog 3.2,platform:Windows,x:b1,a:b0,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
||||||
6f0e1e01000000000000504944564944,Rock Candy Gamepad for PS3,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,guide:b12,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
|
6f0e1e01000000000000504944564944,Rock Candy Gamepad for PS3,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,guide:b12,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
|
||||||
83056020000000000000504944564944,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,y:b2,x:b3,start:b7,back:b6,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Windows,
|
83056020000000000000504944564944,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,y:b2,x:b3,start:b7,back:b6,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Windows,
|
||||||
10080100000000000000504944564944,PS1 USB,platform:Windows,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftshoulder:b6,rightshoulder:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
|
10080100000000000000504944564944,PS1 USB,platform:Windows,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftshoulder:b6,rightshoulder:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
|
||||||
49190204000000000000504944564944,Ipega PG-9023,a:b0,b:b1,x:b3,y:b4,back:b10,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b8,righttrigger:b9,platform:Windows,
|
49190204000000000000504944564944,Ipega PG-9023,a:b0,b:b1,x:b3,y:b4,back:b10,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b8,righttrigger:b9,platform:Windows,
|
||||||
4f0423b3000000000000504944564944,Dual Trigger 3-in-1,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
4f0423b3000000000000504944564944,Dual Trigger 3-in-1,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
||||||
0d0f4900000000000000504944564944,Hatsune Miku Sho Controller,a:b1,b:b2,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
0d0f4900000000000000504944564944,Hatsune Miku Sho Controller,a:b1,b:b2,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
||||||
79004318000000000000504944564944,Mayflash GameCube Controller Adapter,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b0,start:b9,guide:b0,leftshoulder:b4,rightshoulder:b7,leftstick:b0,rightstick:b0,leftx:a0,lefty:a1,rightx:a5,righty:a2,lefttrigger:a3,righttrigger:a4,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
|
79004318000000000000504944564944,Mayflash GameCube Controller Adapter,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b0,start:b9,guide:b0,leftshoulder:b4,rightshoulder:b7,leftstick:b0,rightstick:b0,leftx:a0,lefty:a1,rightx:a5,righty:a2,lefttrigger:a3,righttrigger:a4,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
|
||||||
79000018000000000000504944564944,Mayflash WiiU Pro Game Controller Adapter (DInput),a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
79000018000000000000504944564944,Mayflash WiiU Pro Game Controller Adapter (DInput),a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
||||||
2509e803000000000000504944564944,Mayflash Wii Classic Controller,a:b1,b:b0,x:b3,y:b2,back:b8,guide:b10,start:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:b11,dpdown:b13,dpleft:b12,dpright:b14,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
2509e803000000000000504944564944,Mayflash Wii Classic Controller,a:b1,b:b0,x:b3,y:b2,back:b8,guide:b10,start:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:b11,dpdown:b13,dpleft:b12,dpright:b14,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows,
|
||||||
300f1001000000000000504944564944,Saitek P480 Rumble Pad,a:b2,b:b3,x:b0,y:b1,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b5,righttrigger:b7,platform:Windows,
|
300f1001000000000000504944564944,Saitek P480 Rumble Pad,a:b2,b:b3,x:b0,y:b1,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b5,righttrigger:b7,platform:Windows,
|
||||||
10280900000000000000504944564944,8Bitdo SFC30 GamePad,a:b1,b:b0,y:b3,x:b4,start:b11,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,platform:Windows,
|
10280900000000000000504944564944,8Bitdo SFC30 GamePad,a:b1,b:b0,y:b3,x:b4,start:b11,back:b10,leftshoulder:b6,leftx:a0,lefty:a1,rightshoulder:b7,platform:Windows,
|
||||||
63252305000000000000504944564944,USB Vibration Joystick (BM),platform:Windows,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
63252305000000000000504944564944,USB Vibration Joystick (BM),platform:Windows,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
||||||
20380900000000000000504944564944,8Bitdo NES30 PRO Wireless,platform:Windows,a:b0,b:b1,x:b3,y:b4,leftshoulder:b6,rightshoulder:b7,lefttrigger:b8,righttrigger:b9,back:b10,start:b11,leftstick:b13,rightstick:b14,leftx:a0,lefty:a1,rightx:a3,righty:a4,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,
|
20380900000000000000504944564944,8Bitdo NES30 PRO Wireless,platform:Windows,a:b0,b:b1,x:b3,y:b4,leftshoulder:b6,rightshoulder:b7,lefttrigger:b8,righttrigger:b9,back:b10,start:b11,leftstick:b13,rightstick:b14,leftx:a0,lefty:a1,rightx:a3,righty:a4,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,
|
||||||
02200090000000000000504944564944,8Bitdo NES30 PRO USB,platform:Windows,a:b0,b:b1,x:b3,y:b4,leftshoulder:b6,rightshoulder:b7,lefttrigger:b8,righttrigger:b9,back:b10,start:b11,leftstick:b13,rightstick:b14,leftx:a0,lefty:a1,rightx:a3,righty:a4,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,
|
02200090000000000000504944564944,8Bitdo NES30 PRO USB,platform:Windows,a:b0,b:b1,x:b3,y:b4,leftshoulder:b6,rightshoulder:b7,lefttrigger:b8,righttrigger:b9,back:b10,start:b11,leftstick:b13,rightstick:b14,leftx:a0,lefty:a1,rightx:a3,righty:a4,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8,
|
||||||
ff113133000000000000504944564944,Gembird JPD-DualForce,platform:Windows,a:b2,b:b3,x:b0,y:b1,start:b9,back:b8,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b6,righttrigger:b7,leftstick:b10,rightstick:b11,
|
ff113133000000000000504944564944,Gembird JPD-DualForce,platform:Windows,a:b2,b:b3,x:b0,y:b1,start:b9,back:b8,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b6,righttrigger:b7,leftstick:b10,rightstick:b11,
|
||||||
341a0108000000000000504944564944,EXEQ RF USB Gamepad 8206,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,leftstick:b8,rightstick:b7,back:b8,start:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,platform:Windows,
|
341a0108000000000000504944564944,EXEQ RF USB Gamepad 8206,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,leftstick:b8,rightstick:b7,back:b8,start:b9,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0,lefty:a1,rightx:a2,righty:a3,platform:Windows,
|
||||||
c0111352000000000000504944564944,Battalife Joystick,platform:Windows,x:b4,a:b6,b:b7,y:b5,back:b2,start:b3,leftshoulder:b0,rightshoulder:b1,leftx:a0,lefty:a1,
|
c0111352000000000000504944564944,Battalife Joystick,platform:Windows,x:b4,a:b6,b:b7,y:b5,back:b2,start:b3,leftshoulder:b0,rightshoulder:b1,leftx:a0,lefty:a1,
|
||||||
100801e5000000000000504944564944,NEXT Classic USB Game Controller,a:b0,b:b1,back:b8,start:b9,rightx:a2,righty:a3,leftx:a0,lefty:a1,platform:Windows,
|
100801e5000000000000504944564944,NEXT Classic USB Game Controller,a:b0,b:b1,back:b8,start:b9,rightx:a2,righty:a3,leftx:a0,lefty:a1,platform:Windows,
|
||||||
4c05cc09000000000000504944564944,Sony DualShock 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Windows,
|
4c05cc09000000000000504944564944,Sony DualShock 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Windows,
|
||||||
4c05a00b000000000000504944564944,Sony DualShock 4 Wireless Adaptor,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Windows,
|
4c05a00b000000000000504944564944,Sony DualShock 4 Wireless Adaptor,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Windows,
|
||||||
|
|
||||||
# OS X
|
# OS X
|
||||||
0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,
|
0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X,
|
||||||
6d0400000000000016c2000000000000,Logitech F310 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
|
6d0400000000000016c2000000000000,Logitech F310 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
|
||||||
6d0400000000000018c2000000000000,Logitech F510 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
|
6d0400000000000018c2000000000000,Logitech F510 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
|
||||||
6d040000000000001fc2000000000000,Logitech F710 Gamepad (XInput),a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
|
6d040000000000001fc2000000000000,Logitech F710 Gamepad (XInput),a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
|
||||||
6d0400000000000019c2000000000000,Logitech Wireless Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
|
6d0400000000000019c2000000000000,Logitech Wireless Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X,
|
||||||
4c050000000000006802000000000000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Mac OS X,
|
4c050000000000006802000000000000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Mac OS X,
|
||||||
4c05000000000000c405000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
|
4c05000000000000c405000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X,
|
||||||
5e040000000000008e02000000000000,X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
|
5e040000000000008e02000000000000,X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
|
||||||
891600000000000000fd000000000000,Razer Onza Tournament,a:b0,b:b1,y:b3,x:b2,start:b8,guide:b10,back:b9,leftstick:b6,rightstick:b7,leftshoulder:b4,rightshoulder:b5,dpup:b11,dpleft:b13,dpdown:b12,dpright:b14,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Mac OS X,
|
891600000000000000fd000000000000,Razer Onza Tournament,a:b0,b:b1,y:b3,x:b2,start:b8,guide:b10,back:b9,leftstick:b6,rightstick:b7,leftshoulder:b4,rightshoulder:b5,dpup:b11,dpleft:b13,dpdown:b12,dpright:b14,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Mac OS X,
|
||||||
4f0400000000000000b3000000000000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Mac OS X,
|
4f0400000000000000b3000000000000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Mac OS X,
|
||||||
8f0e0000000000000300000000000000,Piranha xtreme,platform:Mac OS X,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
|
8f0e0000000000000300000000000000,Piranha xtreme,platform:Mac OS X,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
|
||||||
0d0f0000000000004d00000000000000,HORI Gem Pad 3,platform:Mac OS X,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
0d0f0000000000004d00000000000000,HORI Gem Pad 3,platform:Mac OS X,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
||||||
79000000000000000600000000000000,G-Shark GP-702,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b6,righttrigger:b7,platform:Mac OS X,
|
79000000000000000600000000000000,G-Shark GP-702,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b6,righttrigger:b7,platform:Mac OS X,
|
||||||
4f0400000000000015b3000000000000,Thrustmaster Dual Analog 3.2,platform:Mac OS X,x:b1,a:b0,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
4f0400000000000015b3000000000000,Thrustmaster Dual Analog 3.2,platform:Mac OS X,x:b1,a:b0,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
||||||
AD1B00000000000001F9000000000000,Gamestop BB-070 X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
|
AD1B00000000000001F9000000000000,Gamestop BB-070 X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X,
|
||||||
050000005769696d6f74652028303000,Wii Remote,a:b4,b:b5,y:b9,x:b10,start:b6,guide:b8,back:b7,dpup:b2,dpleft:b0,dpdown:b3,dpright:b1,leftx:a0,lefty:a1,lefttrigger:b12,righttrigger:,leftshoulder:b11,platform:Mac OS X,
|
050000005769696d6f74652028303000,Wii Remote,a:b4,b:b5,y:b9,x:b10,start:b6,guide:b8,back:b7,dpup:b2,dpleft:b0,dpdown:b3,dpright:b1,leftx:a0,lefty:a1,lefttrigger:b12,righttrigger:,leftshoulder:b11,platform:Mac OS X,
|
||||||
83050000000000006020000000000000,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,x:b3,y:b2,back:b6,start:b7,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Mac OS X,
|
83050000000000006020000000000000,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,x:b3,y:b2,back:b6,start:b7,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Mac OS X,
|
||||||
5e04000000000000dd02000000000000,Xbox One Wired Controller,platform:Mac OS X,x:b2,a:b0,b:b1,y:b3,back:b9,guide:b10,start:b8,dpleft:b13,dpdown:b12,dpright:b14,dpup:b11,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b6,rightstick:b7,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
5e04000000000000dd02000000000000,Xbox One Wired Controller,platform:Mac OS X,x:b2,a:b0,b:b1,y:b3,back:b9,guide:b10,start:b8,dpleft:b13,dpdown:b12,dpright:b14,dpup:b11,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b6,rightstick:b7,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
050000005769696d6f74652028313800,Wii U Pro Controller,a:b16,b:b15,x:b18,y:b17,back:b7,guide:b8,start:b6,leftstick:b23,rightstick:b24,leftshoulder:b19,rightshoulder:b20,dpup:b11,dpdown:b12,dpleft:b13,dpright:b14,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b21,righttrigger:b22,platform:Mac OS X,
|
050000005769696d6f74652028313800,Wii U Pro Controller,a:b16,b:b15,x:b18,y:b17,back:b7,guide:b8,start:b6,leftstick:b23,rightstick:b24,leftshoulder:b19,rightshoulder:b20,dpup:b11,dpdown:b12,dpleft:b13,dpright:b14,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b21,righttrigger:b22,platform:Mac OS X,
|
||||||
79000000000000000018000000000000,Mayflash WiiU Pro Game Controller Adapter (DInput),a:b4,b:b8,x:b0,y:b12,back:b32,start:b36,leftstick:b40,rightstick:b44,leftshoulder:b16,rightshoulder:b20,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a4,rightx:a8,righty:a12,lefttrigger:b24,righttrigger:b28,platform:Mac OS X,
|
79000000000000000018000000000000,Mayflash WiiU Pro Game Controller Adapter (DInput),a:b4,b:b8,x:b0,y:b12,back:b32,start:b36,leftstick:b40,rightstick:b44,leftshoulder:b16,rightshoulder:b20,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a4,rightx:a8,righty:a12,lefttrigger:b24,righttrigger:b28,platform:Mac OS X,
|
||||||
2509000000000000e803000000000000,Mayflash Wii Classic Controller,a:b1,b:b0,x:b3,y:b2,back:b8,guide:b10,start:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:b11,dpdown:b13,dpleft:b12,dpright:b14,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Mac OS X,
|
2509000000000000e803000000000000,Mayflash Wii Classic Controller,a:b1,b:b0,x:b3,y:b2,back:b8,guide:b10,start:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:b11,dpdown:b13,dpleft:b12,dpright:b14,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Mac OS X,
|
||||||
351200000000000021ab000000000000,SFC30 Joystick,a:b1,b:b0,x:b4,y:b3,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Mac OS X,
|
351200000000000021ab000000000000,SFC30 Joystick,a:b1,b:b0,x:b4,y:b3,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Mac OS X,
|
||||||
b4040000000000000a01000000000000,Sega Saturn USB Gamepad,a:b0,b:b1,x:b3,y:b4,back:b5,guide:b2,start:b8,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Mac OS X,
|
b4040000000000000a01000000000000,Sega Saturn USB Gamepad,a:b0,b:b1,x:b3,y:b4,back:b5,guide:b2,start:b8,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Mac OS X,
|
||||||
10280000000000000900000000000000,8Bitdo SFC30 GamePad,a:b1,b:b0,x:b4,y:b3,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Mac OS X,
|
10280000000000000900000000000000,8Bitdo SFC30 GamePad,a:b1,b:b0,x:b4,y:b3,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Mac OS X,
|
||||||
d814000000000000cecf000000000000,MC Cthulhu,platform:Mac OS X,leftx:,lefty:,rightx:,righty:,lefttrigger:b6,a:b1,b:b2,y:b3,x:b0,start:b9,back:b8,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,righttrigger:b7,
|
d814000000000000cecf000000000000,MC Cthulhu,platform:Mac OS X,leftx:,lefty:,rightx:,righty:,lefttrigger:b6,a:b1,b:b2,y:b3,x:b0,start:b9,back:b8,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,righttrigger:b7,
|
||||||
0d0f0000000000006600000000000000,HORIPAD FPS PLUS 4,platform:Mac OS X,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:a4,
|
0d0f0000000000006600000000000000,HORIPAD FPS PLUS 4,platform:Mac OS X,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:a4,
|
||||||
5e04000000000000e002000000000000,Xbox Wireless Controller,platform:Mac OS X,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b10,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
5e04000000000000e002000000000000,Xbox Wireless Controller,platform:Mac OS X,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b10,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
79000000000000001100000000000000,Retrolink Classic Controller,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a3,lefty:a4,platform:Mac OS X,
|
79000000000000001100000000000000,Retrolink Classic Controller,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a3,lefty:a4,platform:Mac OS X,
|
||||||
4c05000000000000cc09000000000000,Sony DualShock 4 V2,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Mac OS X,
|
4c05000000000000cc09000000000000,Sony DualShock 4 V2,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Mac OS X,
|
||||||
5e04000000000000ea02000000000000,Xbox Wireless Controller,platform:Mac OS X,x:b2,a:b0,b:b1,y:b3,back:b9,guide:b10,start:b8,dpleft:b13,dpdown:b12,dpright:b14,dpup:b11,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b6,rightstick:b7,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
5e04000000000000ea02000000000000,Xbox Wireless Controller,platform:Mac OS X,x:b2,a:b0,b:b1,y:b3,back:b9,guide:b10,start:b8,dpleft:b13,dpdown:b12,dpright:b14,dpup:b11,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b6,rightstick:b7,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
81170000000000007e05000000000000,Sega Saturn,x:b0,a:b2,b:b4,y:b6,start:b13,dpleft:b15,dpdown:b16,dpright:b14,dpup:b17,leftshoulder:b8,lefttrigger:a5,lefttrigger:b10,rightshoulder:b9,righttrigger:a4,righttrigger:b11,leftx:a0,lefty:a2,platform:Mac OS X,
|
81170000000000007e05000000000000,Sega Saturn,x:b0,a:b2,b:b4,y:b6,start:b13,dpleft:b15,dpdown:b16,dpright:b14,dpup:b17,leftshoulder:b8,lefttrigger:a5,lefttrigger:b10,rightshoulder:b9,righttrigger:a4,righttrigger:b11,leftx:a0,lefty:a2,platform:Mac OS X,
|
||||||
bd1200000000000015d0000000000000,Tomee SNES USB Controller,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Mac OS X,
|
bd1200000000000015d0000000000000,Tomee SNES USB Controller,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Mac OS X,
|
||||||
03000000632500002305000000010000,Redragon Saturn,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Mac OS X,
|
03000000632500002305000000010000,Redragon Saturn,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Mac OS X,
|
||||||
|
|
||||||
# Linux
|
# Linux
|
||||||
050000004c0500006802000000000000,Sony PLAYSTATION(R)3 Controller,platform:Linux,a:b14,b:b13,x:b15,y:b12,back:b0,guide:b16,start:b3,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpdown:b6,dpleft:b7,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a12,righttrigger:a13,
|
050000004c0500006802000000000000,Sony PLAYSTATION(R)3 Controller,platform:Linux,a:b14,b:b13,x:b15,y:b12,back:b0,guide:b16,start:b3,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpdown:b6,dpleft:b7,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a12,righttrigger:a13,
|
||||||
03000000ff1100004133000010010000,GreenAsia Inc.USB Joystick,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
|
03000000ff1100004133000010010000,GreenAsia Inc.USB Joystick,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
|
||||||
0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,
|
0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux,
|
||||||
03000000ba2200002010000001010000,Jess Technology USB Game Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux,
|
03000000ba2200002010000001010000,Jess Technology USB Game Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux,
|
||||||
030000006d04000019c2000010010000,Logitech Cordless RumblePad 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,
|
030000006d04000019c2000010010000,Logitech Cordless RumblePad 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,
|
||||||
030000006d0400001dc2000014400000,Logitech F310 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
030000006d0400001dc2000014400000,Logitech F310 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
||||||
030000006d0400001ec2000020200000,Logitech F510 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
030000006d0400001ec2000020200000,Logitech F510 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
||||||
030000006d04000019c2000011010000,Logitech F710 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,
|
030000006d04000019c2000011010000,Logitech F710 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux,
|
||||||
030000006d0400001fc2000005030000,Logitech F710 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
030000006d0400001fc2000005030000,Logitech F710 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
||||||
030000004c0500006802000011010000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Linux,
|
030000004c0500006802000011010000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Linux,
|
||||||
03000000451300000830000010010000,NYKO CORE,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,platform:Linux,
|
03000000451300000830000010010000,NYKO CORE,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,platform:Linux,
|
||||||
030000004c050000c405000011010000,Sony DualShock 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,platform:Linux,
|
030000004c050000c405000011010000,Sony DualShock 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,platform:Linux,
|
||||||
030000006f0e00003001000001010000,EA Sports PS3 Controller,platform:Linux,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
030000006f0e00003001000001010000,EA Sports PS3 Controller,platform:Linux,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
||||||
03000000de280000ff11000001000000,Valve Streaming Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
03000000de280000ff11000001000000,Valve Streaming Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
||||||
030000005e0400008e02000014010000,X360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
030000005e0400008e02000014010000,X360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
||||||
030000005e0400008e02000010010000,X360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
030000005e0400008e02000010010000,X360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
||||||
030000005e0400001907000000010000,X360 Wireless Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
030000005e0400001907000000010000,X360 Wireless Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux,
|
||||||
03000000100800000100000010010000,Twin USB PS2 Adapter,a:b2,b:b1,y:b0,x:b3,start:b9,guide:,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,platform:Linux,
|
03000000100800000100000010010000,Twin USB PS2 Adapter,a:b2,b:b1,y:b0,x:b3,start:b9,guide:,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,platform:Linux,
|
||||||
03000000a306000023f6000011010000,Saitek Cyborg V.1 Game Pad,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b6,righttrigger:b7,platform:Linux,
|
03000000a306000023f6000011010000,Saitek Cyborg V.1 Game Pad,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b6,righttrigger:b7,platform:Linux,
|
||||||
030000004f04000020b3000010010000,Thrustmaster 2 in 1 DT,a:b0,b:b2,y:b3,x:b1,start:b9,guide:,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Linux,
|
030000004f04000020b3000010010000,Thrustmaster 2 in 1 DT,a:b0,b:b2,y:b3,x:b1,start:b9,guide:,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Linux,
|
||||||
030000004f04000023b3000000010000,Thrustmaster Dual Trigger 3-in-1,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a5,
|
030000004f04000023b3000000010000,Thrustmaster Dual Trigger 3-in-1,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a5,
|
||||||
030000008f0e00000300000010010000,GreenAsia Inc. USB Joystick ,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
|
030000008f0e00000300000010010000,GreenAsia Inc. USB Joystick ,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
|
||||||
030000008f0e00001200000010010000,GreenAsia Inc. USB Joystick ,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
|
030000008f0e00001200000010010000,GreenAsia Inc. USB Joystick ,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,
|
||||||
030000005e0400009102000007010000,X360 Wireless Controller,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpleft:b11,dpdown:b14,dpright:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux,
|
030000005e0400009102000007010000,X360 Wireless Controller,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpleft:b11,dpdown:b14,dpright:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux,
|
||||||
030000006d04000016c2000010010000,Logitech Logitech Dual Action,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
030000006d04000016c2000010010000,Logitech Logitech Dual Action,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
||||||
03000000260900008888000000010000,GameCube {WiseGroup USB box},a:b0,b:b2,y:b3,x:b1,start:b7,leftshoulder:,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,rightstick:,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,platform:Linux,
|
03000000260900008888000000010000,GameCube {WiseGroup USB box},a:b0,b:b2,y:b3,x:b1,start:b7,leftshoulder:,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,rightstick:,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,platform:Linux,
|
||||||
030000006d04000011c2000010010000,Logitech WingMan Cordless RumblePad,a:b0,b:b1,y:b4,x:b3,start:b8,guide:b5,back:b2,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b9,righttrigger:b10,platform:Linux,
|
030000006d04000011c2000010010000,Logitech WingMan Cordless RumblePad,a:b0,b:b1,y:b4,x:b3,start:b8,guide:b5,back:b2,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b9,righttrigger:b10,platform:Linux,
|
||||||
030000006d04000018c2000010010000,Logitech Logitech RumblePad 2 USB,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
030000006d04000018c2000010010000,Logitech Logitech RumblePad 2 USB,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
||||||
05000000d6200000ad0d000001000000,Moga Pro,platform:Linux,a:b0,b:b1,y:b3,x:b2,start:b6,leftstick:b7,rightstick:b8,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a5,righttrigger:a4,
|
05000000d6200000ad0d000001000000,Moga Pro,platform:Linux,a:b0,b:b1,y:b3,x:b2,start:b6,leftstick:b7,rightstick:b8,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a5,righttrigger:a4,
|
||||||
030000004f04000009d0000000010000,Thrustmaster Run N Drive Wireless PS3,platform:Linux,a:b1,b:b2,x:b0,y:b3,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
030000004f04000009d0000000010000,Thrustmaster Run N Drive Wireless PS3,platform:Linux,a:b1,b:b2,x:b0,y:b3,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
||||||
030000004f04000008d0000000010000,Thrustmaster Run N Drive Wireless,platform:Linux,a:b1,b:b2,x:b0,y:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,
|
030000004f04000008d0000000010000,Thrustmaster Run N Drive Wireless,platform:Linux,a:b1,b:b2,x:b0,y:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,
|
||||||
0300000000f000000300000000010000,RetroUSB.com RetroPad,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Linux,
|
0300000000f000000300000000010000,RetroUSB.com RetroPad,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Linux,
|
||||||
0300000000f00000f100000000010000,RetroUSB.com Super RetroPort,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Linux,
|
0300000000f00000f100000000010000,RetroUSB.com Super RetroPort,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Linux,
|
||||||
030000006f0e00001f01000000010000,Generic X-Box pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
030000006f0e00001f01000000010000,Generic X-Box pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
03000000280400000140000000010000,Gravis GamePad Pro USB ,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftx:a0,lefty:a1,
|
03000000280400000140000000010000,Gravis GamePad Pro USB ,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftx:a0,lefty:a1,
|
||||||
030000005e0400008902000021010000,Microsoft X-Box pad v2 (US),platform:Linux,x:b3,a:b0,b:b1,y:b4,back:b6,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b5,lefttrigger:a2,rightshoulder:b2,righttrigger:a5,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
030000005e0400008902000021010000,Microsoft X-Box pad v2 (US),platform:Linux,x:b3,a:b0,b:b1,y:b4,back:b6,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b5,lefttrigger:a2,rightshoulder:b2,righttrigger:a5,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
030000005e0400008502000000010000,Microsoft X-Box pad (Japan),platform:Linux,x:b3,a:b0,b:b1,y:b4,back:b6,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b5,lefttrigger:a2,rightshoulder:b2,righttrigger:a5,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
030000005e0400008502000000010000,Microsoft X-Box pad (Japan),platform:Linux,x:b3,a:b0,b:b1,y:b4,back:b6,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b5,lefttrigger:a2,rightshoulder:b2,righttrigger:a5,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
030000006f0e00001e01000011010000,Rock Candy Gamepad for PS3,platform:Linux,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,guide:b12,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
|
030000006f0e00001e01000011010000,Rock Candy Gamepad for PS3,platform:Linux,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,guide:b12,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
|
||||||
03000000250900000500000000010000,Sony PS2 pad with SmartJoy adapter,platform:Linux,a:b2,b:b1,y:b0,x:b3,start:b8,back:b9,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b4,righttrigger:b5,
|
03000000250900000500000000010000,Sony PS2 pad with SmartJoy adapter,platform:Linux,a:b2,b:b1,y:b0,x:b3,start:b8,back:b9,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b4,righttrigger:b5,
|
||||||
030000008916000000fd000024010000,Razer Onza Tournament,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpleft:b11,dpdown:b14,dpright:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux,
|
030000008916000000fd000024010000,Razer Onza Tournament,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpleft:b11,dpdown:b14,dpright:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux,
|
||||||
030000004f04000000b3000010010000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Linux,
|
030000004f04000000b3000010010000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Linux,
|
||||||
03000000ad1b000001f5000033050000,Hori Pad EX Turbo 2,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux,
|
03000000ad1b000001f5000033050000,Hori Pad EX Turbo 2,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux,
|
||||||
050000004c050000c405000000010000,PS4 Controller (Bluetooth),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,
|
050000004c050000c405000000010000,PS4 Controller (Bluetooth),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux,
|
||||||
060000004c0500006802000000010000,PS3 Controller (Bluetooth),a:b14,b:b13,y:b12,x:b15,start:b3,guide:b16,back:b0,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpleft:b7,dpdown:b6,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b8,righttrigger:b9,platform:Linux,
|
060000004c0500006802000000010000,PS3 Controller (Bluetooth),a:b14,b:b13,y:b12,x:b15,start:b3,guide:b16,back:b0,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpleft:b7,dpdown:b6,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b8,righttrigger:b9,platform:Linux,
|
||||||
050000004c0500006802000000010000,PS3 Controller (Bluetooth),a:b14,b:b13,y:b12,x:b15,start:b3,guide:b16,back:b0,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpleft:b7,dpdown:b6,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b8,righttrigger:b9,platform:Linux,
|
050000004c0500006802000000010000,PS3 Controller (Bluetooth),a:b14,b:b13,y:b12,x:b15,start:b3,guide:b16,back:b0,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpleft:b7,dpdown:b6,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b8,righttrigger:b9,platform:Linux,
|
||||||
05000000504c415953544154494f4e00,PS3 Controller (Bluetooth),a:b14,b:b13,y:b12,x:b15,start:b3,guide:b16,back:b0,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpleft:b7,dpdown:b6,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b8,righttrigger:b9,platform:Linux,
|
05000000504c415953544154494f4e00,PS3 Controller (Bluetooth),a:b14,b:b13,y:b12,x:b15,start:b3,guide:b16,back:b0,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpleft:b7,dpdown:b6,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b8,righttrigger:b9,platform:Linux,
|
||||||
03000000790000000600000010010000,DragonRise Inc. Generic USB Joystick ,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
03000000790000000600000010010000,DragonRise Inc. Generic USB Joystick ,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
03000000666600000488000000010000,Super Joy Box 5 Pro,platform:Linux,a:b2,b:b1,x:b3,y:b0,back:b9,start:b8,leftshoulder:b6,rightshoulder:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b4,righttrigger:b5,dpup:b12,dpleft:b15,dpdown:b14,dpright:b13,
|
03000000666600000488000000010000,Super Joy Box 5 Pro,platform:Linux,a:b2,b:b1,x:b3,y:b0,back:b9,start:b8,leftshoulder:b6,rightshoulder:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b4,righttrigger:b5,dpup:b12,dpleft:b15,dpdown:b14,dpright:b13,
|
||||||
05000000362800000100000002010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,platform:Linux,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,
|
05000000362800000100000002010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,platform:Linux,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,
|
||||||
05000000362800000100000003010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,platform:Linux,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,
|
05000000362800000100000003010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,platform:Linux,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2,
|
||||||
030000008916000001fd000024010000,Razer Onza Classic Edition,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:b11,dpdown:b14,dpright:b12,dpup:b13,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
030000008916000001fd000024010000,Razer Onza Classic Edition,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:b11,dpdown:b14,dpright:b12,dpup:b13,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
030000005e040000d102000001010000,Microsoft X-Box One pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
030000005e040000d102000001010000,Microsoft X-Box One pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
030000005e040000dd02000003020000,Microsoft X-Box One pad v2,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,platform:Linux,
|
030000005e040000dd02000003020000,Microsoft X-Box One pad v2,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,platform:Linux,
|
||||||
03000000790000001100000010010000,RetroLink Saturn Classic Controller,platform:Linux,x:b3,a:b0,b:b1,y:b4,back:b5,guide:b2,start:b8,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,
|
03000000790000001100000010010000,RetroLink Saturn Classic Controller,platform:Linux,x:b3,a:b0,b:b1,y:b4,back:b5,guide:b2,start:b8,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,
|
||||||
050000007e0500003003000001000000,Nintendo Wii U Pro Controller,platform:Linux,a:b0,b:b1,x:b3,y:b2,back:b8,start:b9,guide:b10,leftshoulder:b4,rightshoulder:b5,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,dpup:b13,dpleft:b15,dpdown:b14,dpright:b16,
|
050000007e0500003003000001000000,Nintendo Wii U Pro Controller,platform:Linux,a:b0,b:b1,x:b3,y:b2,back:b8,start:b9,guide:b10,leftshoulder:b4,rightshoulder:b5,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,dpup:b13,dpleft:b15,dpdown:b14,dpright:b16,
|
||||||
030000005e0400008e02000004010000,Microsoft X-Box 360 pad,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b6,start:b7,guide:b8,leftshoulder:b4,rightshoulder:b5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
|
030000005e0400008e02000004010000,Microsoft X-Box 360 pad,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b6,start:b7,guide:b8,leftshoulder:b4,rightshoulder:b5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
|
||||||
030000000d0f00002200000011010000,HORI CO. LTD. REAL ARCADE Pro.V3,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,
|
030000000d0f00002200000011010000,HORI CO. LTD. REAL ARCADE Pro.V3,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,
|
||||||
030000000d0f00001000000011010000,HORI CO. LTD. FIGHTING STICK 3,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7
|
030000000d0f00001000000011010000,HORI CO. LTD. FIGHTING STICK 3,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7
|
||||||
03000000f0250000c183000010010000,Goodbetterbest Ltd USB Controller,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
03000000f0250000c183000010010000,Goodbetterbest Ltd USB Controller,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
||||||
03000000f0250000c283000010010000,Goodbetterbest Ltd PC USB Controller,platform:Linux,a:b1,b:b2,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7
|
03000000f0250000c283000010010000,Goodbetterbest Ltd PC USB Controller,platform:Linux,a:b1,b:b2,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7
|
||||||
0000000058626f782047616d65706100,Xbox Gamepad (userspace driver),platform:Linux,a:b0,b:b1,x:b2,y:b3,start:b7,back:b6,guide:b8,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,lefttrigger:a5,righttrigger:a4,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
0000000058626f782047616d65706100,Xbox Gamepad (userspace driver),platform:Linux,a:b0,b:b1,x:b2,y:b3,start:b7,back:b6,guide:b8,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,lefttrigger:a5,righttrigger:a4,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
||||||
03000000ff1100003133000010010000,PC Game Controller,a:b2,b:b1,y:b0,x:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Linux,
|
03000000ff1100003133000010010000,PC Game Controller,a:b2,b:b1,y:b0,x:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Linux,
|
||||||
030000005e0400008e02000020200000,SpeedLink XEOX Pro Analog Gamepad pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
030000005e0400008e02000020200000,SpeedLink XEOX Pro Analog Gamepad pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
030000006f0e00001304000000010000,Generic X-Box pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:a0,rightstick:a3,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
030000006f0e00001304000000010000,Generic X-Box pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:a0,rightstick:a3,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
03000000a306000018f5000010010000,Saitek PLC Saitek P3200 Rumble Pad,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
03000000a306000018f5000010010000,Saitek PLC Saitek P3200 Rumble Pad,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
03000000830500006020000010010000,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,x:b3,y:b2,back:b6,start:b7,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Linux,
|
03000000830500006020000010010000,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,x:b3,y:b2,back:b6,start:b7,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Linux,
|
||||||
03000000c9110000f055000011010000,HJC Game GAMEPAD,leftx:a0,lefty:a1,dpdown:h0.4,rightstick:b11,rightshoulder:b5,rightx:a2,start:b9,righty:a3,dpleft:h0.8,lefttrigger:b6,x:b2,dpup:h0.1,back:b8,leftstick:b10,leftshoulder:b4,y:b3,a:b0,dpright:h0.2,righttrigger:b7,b:b1,platform:Linux,
|
03000000c9110000f055000011010000,HJC Game GAMEPAD,leftx:a0,lefty:a1,dpdown:h0.4,rightstick:b11,rightshoulder:b5,rightx:a2,start:b9,righty:a3,dpleft:h0.8,lefttrigger:b6,x:b2,dpup:h0.1,back:b8,leftstick:b10,leftshoulder:b4,y:b3,a:b0,dpright:h0.2,righttrigger:b7,b:b1,platform:Linux,
|
||||||
03000000a30600000c04000011010000,Saitek P2900 Wireless Pad,a:b1,b:b2,y:b3,x:b0,start:b12,guide:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,platform:Linux,
|
03000000a30600000c04000011010000,Saitek P2900 Wireless Pad,a:b1,b:b2,y:b3,x:b0,start:b12,guide:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,platform:Linux,
|
||||||
03000000341a000005f7000010010000,GameCube {HuiJia USB box},a:b1,b:b2,y:b3,x:b0,start:b9,guide:,back:,leftstick:,rightstick:,leftshoulder:,dpleft:b15,dpdown:b14,dpright:b13,leftx:a0,lefty:a1,rightx:a5,righty:a2,lefttrigger:a3,righttrigger:a4,rightshoulder:b7,dpup:b12,platform:Linux,
|
03000000341a000005f7000010010000,GameCube {HuiJia USB box},a:b1,b:b2,y:b3,x:b0,start:b9,guide:,back:,leftstick:,rightstick:,leftshoulder:,dpleft:b15,dpdown:b14,dpright:b13,leftx:a0,lefty:a1,rightx:a5,righty:a2,lefttrigger:a3,righttrigger:a4,rightshoulder:b7,dpup:b12,platform:Linux,
|
||||||
030000006e0500000320000010010000,JC-U3613M - DirectInput Mode,platform:Linux,x:b0,a:b2,b:b3,y:b1,back:b10,guide:b12,start:b11,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
030000006e0500000320000010010000,JC-U3613M - DirectInput Mode,platform:Linux,x:b0,a:b2,b:b3,y:b1,back:b10,guide:b12,start:b11,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
||||||
030000006f0e00004601000001010000,Rock Candy Wired Controller for Xbox One,platform:Linux,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,guide:b8,leftstick:b9,rightstick:b10,lefttrigger:a2,righttrigger:a5,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
030000006f0e00004601000001010000,Rock Candy Wired Controller for Xbox One,platform:Linux,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,guide:b8,leftstick:b9,rightstick:b10,lefttrigger:a2,righttrigger:a5,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
03000000380700001647000010040000,Mad Catz Wired Xbox 360 Controller,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
03000000380700001647000010040000,Mad Catz Wired Xbox 360 Controller,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
030000006f0e00003901000020060000,Afterglow Wired Controller for Xbox One,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,platform:Linux,
|
030000006f0e00003901000020060000,Afterglow Wired Controller for Xbox One,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,platform:Linux,
|
||||||
030000004f04000015b3000010010000,Thrustmaster Dual Analog 4,platform:Linux,a:b0,b:b2,x:b1,y:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,
|
030000004f04000015b3000010010000,Thrustmaster Dual Analog 4,platform:Linux,a:b0,b:b2,x:b1,y:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,
|
||||||
05000000102800000900000000010000,8Bitdo SFC30 GamePad,platform:Linux,x:b4,a:b1,b:b0,y:b3,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,
|
05000000102800000900000000010000,8Bitdo SFC30 GamePad,platform:Linux,x:b4,a:b1,b:b0,y:b3,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,
|
||||||
03000000d81400000862000011010000,HitBox (PS3/PC) Analog Mode,platform:Linux,a:b1,b:b2,y:b3,x:b0,start:b12,guide:b9,back:b8,leftshoulder:b4,rightshoulder:b5,lefttrigger:b6,righttrigger:b7,leftx:a0,lefty:a1,
|
03000000d81400000862000011010000,HitBox (PS3/PC) Analog Mode,platform:Linux,a:b1,b:b2,y:b3,x:b0,start:b12,guide:b9,back:b8,leftshoulder:b4,rightshoulder:b5,lefttrigger:b6,righttrigger:b7,leftx:a0,lefty:a1,
|
||||||
030000000d0f00000d00000000010000,hori,platform:Linux,a:b0,b:b6,y:b2,x:b1,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,start:b9,guide:b10,back:b8,leftshoulder:b3,rightshoulder:b7,leftx:b4,lefty:b5,
|
030000000d0f00000d00000000010000,hori,platform:Linux,a:b0,b:b6,y:b2,x:b1,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,start:b9,guide:b10,back:b8,leftshoulder:b3,rightshoulder:b7,leftx:b4,lefty:b5,
|
||||||
030000000d0f00006700000001010000,HORIPAD ONE,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b6,start:b7,guide:b8,leftshoulder:b4,rightshoulder:b5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
|
030000000d0f00006700000001010000,HORIPAD ONE,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b6,start:b7,guide:b8,leftshoulder:b4,rightshoulder:b5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,
|
||||||
03000000ad1b000016f0000090040000,Mad Catz Xbox 360 Controller,platform:Linux,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,
|
03000000ad1b000016f0000090040000,Mad Catz Xbox 360 Controller,platform:Linux,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,
|
||||||
03000000d814000007cd000011010000,Toodles 2008 Chimp PC/PS3,platform:Linux,a:b0,b:b1,y:b2,x:b3,start:b9,back:b8,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,lefttrigger:b6,righttrigger:b7,
|
03000000d814000007cd000011010000,Toodles 2008 Chimp PC/PS3,platform:Linux,a:b0,b:b1,y:b2,x:b3,start:b9,back:b8,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,lefttrigger:b6,righttrigger:b7,
|
||||||
03000000fd0500000030000000010000,InterAct GoPad I-73000 (Fighting Game Layout),platform:Linux,a:b3,b:b4,y:b1,x:b0,start:b7,back:b6,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,
|
03000000fd0500000030000000010000,InterAct GoPad I-73000 (Fighting Game Layout),platform:Linux,a:b3,b:b4,y:b1,x:b0,start:b7,back:b6,leftx:a0,lefty:a1,rightshoulder:b2,righttrigger:b5,
|
||||||
05000000010000000100000003000000,Nintendo Wiimote,platform:Linux,a:b0,b:b1,y:b3,x:b2,start:b9,guide:b10,back:b8,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
05000000010000000100000003000000,Nintendo Wiimote,platform:Linux,a:b0,b:b1,y:b3,x:b2,start:b9,guide:b10,back:b8,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
||||||
030000005e0400008e02000062230000,Microsoft X-Box 360 pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
030000005e0400008e02000062230000,Microsoft X-Box 360 pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
03000000a30600000901000000010000,Saitek P880,a:b2,b:b3,y:b1,x:b0,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b6,righttrigger:b7,platform:Linux,
|
03000000a30600000901000000010000,Saitek P880,a:b2,b:b3,y:b1,x:b0,leftstick:b8,rightstick:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b6,righttrigger:b7,platform:Linux,
|
||||||
030000006f0e00000103000000020000,Logic3 Controller,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
030000006f0e00000103000000020000,Logic3 Controller,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
05000000380700006652000025010000,Mad Catz C.T.R.L.R ,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
05000000380700006652000025010000,Mad Catz C.T.R.L.R ,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
||||||
06000000adde0000efbe000002010000,Hidromancer Game Controller,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
06000000adde0000efbe000002010000,Hidromancer Game Controller,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
03000000c01600008704000011010000,Serial/Keyboard/Mouse/Joystick,platform:Linux,a:b12,b:b10,x:b13,y:b11,back:b4,start:b5,leftstick:b14,rightstick:b15,leftshoulder:b9,rightshoulder:b8,dpup:b0,dpdown:b2,dpleft:b3,dpright:b1,leftx:a1,lefty:a0,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
03000000c01600008704000011010000,Serial/Keyboard/Mouse/Joystick,platform:Linux,a:b12,b:b10,x:b13,y:b11,back:b4,start:b5,leftstick:b14,rightstick:b15,leftshoulder:b9,rightshoulder:b8,dpup:b0,dpdown:b2,dpleft:b3,dpright:b1,leftx:a1,lefty:a0,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
||||||
05000000a00500003232000001000000,8Bitdo Zero GamePad,platform:Linux,a:b0,b:b1,x:b3,y:b4,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,
|
05000000a00500003232000001000000,8Bitdo Zero GamePad,platform:Linux,a:b0,b:b1,x:b3,y:b4,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,
|
||||||
03000000780000000600000010010000,Microntek USB Joystick,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftx:a0,lefty:a1,
|
03000000780000000600000010010000,Microntek USB Joystick,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftx:a0,lefty:a1,
|
||||||
03000000ad1b00002ef0000090040000,Mad Catz Fightpad SFxT,platform:Linux,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,lefttrigger:a2,righttrigger:a5,
|
03000000ad1b00002ef0000090040000,Mad Catz Fightpad SFxT,platform:Linux,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,lefttrigger:a2,righttrigger:a5,
|
||||||
03000000100800000300000010010000,USB Gamepad,platform:Linux,a:b2,b:b1,x:b3,y:b0,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,
|
03000000100800000300000010010000,USB Gamepad,platform:Linux,a:b2,b:b1,x:b3,y:b0,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,
|
||||||
030000005e0400008e02000073050000,Speedlink TORID Wireless Gamepad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
030000005e0400008e02000073050000,Speedlink TORID Wireless Gamepad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
030000001008000001e5000010010000,NEXT Classic USB Game Controller,a:b0,b:b1,back:b8,start:b9,rightx:a2,righty:a3,leftx:a0,lefty:a1,platform:Linux,
|
030000001008000001e5000010010000,NEXT Classic USB Game Controller,a:b0,b:b1,back:b8,start:b9,rightx:a2,righty:a3,leftx:a0,lefty:a1,platform:Linux,
|
||||||
030000006d04000016c2000011010000,Logitech F310 Gamepad (DInput),x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,platform:Linux,
|
030000006d04000016c2000011010000,Logitech F310 Gamepad (DInput),x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,platform:Linux,
|
||||||
03000000bd12000015d0000010010000,Tomee SNES USB Controller,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Linux,
|
03000000bd12000015d0000010010000,Tomee SNES USB Controller,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Linux,
|
||||||
050000004c050000cc09000000010000,Sony DualShock 4 V2 BT,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Linux,
|
050000004c050000cc09000000010000,Sony DualShock 4 V2 BT,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Linux,
|
||||||
030000004c050000a00b000011010000,Sony DualShock 4 Wireless Adaptor,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Linux,
|
030000004c050000a00b000011010000,Sony DualShock 4 Wireless Adaptor,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b13,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Linux,
|
||||||
05000000ac0500003232000001000000,VR-BOX,platform:Linux,a:b0,b:b1,x:b2,y:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,
|
05000000ac0500003232000001000000,VR-BOX,platform:Linux,a:b0,b:b1,x:b2,y:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,
|
||||||
030000004c050000cc09000011010000,Sony DualShock 4 V2,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Linux,
|
030000004c050000cc09000011010000,Sony DualShock 4 V2,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Linux,
|
||||||
030000004c050000cc09000011810000,Sony Interactive Entertainment Wireless Controller,platform:Linux,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
030000004c050000cc09000011810000,Sony Interactive Entertainment Wireless Controller,platform:Linux,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
050000004c050000cc09000000810000,Wireless Controller,platform:Linux,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
050000004c050000cc09000000810000,Wireless Controller,platform:Linux,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
030000004c0500006802000011810000,Sony PLAYSTATION(R)3 Controller,platform:Linux,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:b15,dpdown:b14,dpright:b16,dpup:b13,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
030000004c0500006802000011810000,Sony PLAYSTATION(R)3 Controller,platform:Linux,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:b15,dpdown:b14,dpright:b16,dpup:b13,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
050000004c0500006802000000810000,PLAYSTATION(R)3 Controller,platform:Linux,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:b15,dpdown:b14,dpright:b16,dpup:b13,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
050000004c0500006802000000810000,PLAYSTATION(R)3 Controller,platform:Linux,x:b3,a:b0,b:b1,y:b2,back:b8,guide:b10,start:b9,dpleft:b15,dpdown:b14,dpright:b16,dpup:b13,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:a5,leftstick:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,
|
||||||
03000000c82d00000190000011010000,8Bitdo NES30 Pro 8Bitdo NES30 Pro,platform:Linux,a:b1,b:b0,x:b4,y:b3,back:b10,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,
|
03000000c82d00000190000011010000,8Bitdo NES30 Pro 8Bitdo NES30 Pro,platform:Linux,a:b1,b:b0,x:b4,y:b3,back:b10,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,
|
||||||
05000000c82d00002038000000010000,8Bitdo NES30 Pro,platform:Linux,a:b1,b:b0,x:b4,y:b3,back:b10,guide:b2,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a5,righttrigger:a4,
|
05000000c82d00002038000000010000,8Bitdo NES30 Pro,platform:Linux,a:b1,b:b0,x:b4,y:b3,back:b10,guide:b2,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a5,righttrigger:a4,
|
||||||
030000005e040000a102000000010000,Xbox 360 Wireless Receiver,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b8,start:b7,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpdown:b14,dpleft:b11,dpright:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,
|
030000005e040000a102000000010000,Xbox 360 Wireless Receiver,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b6,guide:b8,start:b7,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpdown:b14,dpleft:b11,dpright:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,
|
||||||
050000004c050000cc09000001000000,Sony DualShock 4 V2 BT,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Linux,
|
050000004c050000cc09000001000000,Sony DualShock 4 V2 BT,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:a3,righttrigger:a4,platform:Linux,
|
||||||
03000000bc2000006412000011010000,BETOP CONTROLLER,a:b2,b:b1,y:b0,x:b3,start:b9,guide:b30,back:b8,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Linux,
|
03000000bc2000006412000011010000,BETOP CONTROLLER,a:b2,b:b1,y:b0,x:b3,start:b9,guide:b30,back:b8,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Linux,
|
||||||
05000000c82d00000161000000010000,8Bitdo SN30 Pro,platform:Linux,a:b1,b:b0,x:b4,y:b3,back:b10,guide:b2,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a5,righttrigger:a4,
|
05000000c82d00000161000000010000,8Bitdo SN30 Pro,platform:Linux,a:b1,b:b0,x:b4,y:b3,back:b10,guide:b2,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a5,righttrigger:a4,
|
||||||
03000000380700008532000010010000,MadCatz Madcatz Fightpad,platform:Linux,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,lefttrigger:b5,righttrigger:b7,
|
03000000380700008532000010010000,MadCatz Madcatz Fightpad,platform:Linux,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,lefttrigger:b5,righttrigger:b7,
|
||||||
030000000d0f0000ee00000011010000,HORI CO.,LTD. HORIPAD mini4,platform:Linux,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
030000000d0f0000ee00000011010000,HORI CO.,LTD. HORIPAD mini4,platform:Linux,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
||||||
030000000d0f0000c100000011010000,HORI CO.,LTD. HORIPAD S,platform:Linux,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
030000000d0f0000c100000011010000,HORI CO.,LTD. HORIPAD S,platform:Linux,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,
|
||||||
03000000ad1b000003f5000033050000,Hori Fighting Stick VX,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b10,start:b9,leftshoulder:b4,rightshoulder:b5,-leftx:h0.8,+leftx:h0.2,-lefty:h0.1,+lefty:h0.4,lefttrigger:b6,righttrigger:b7,
|
03000000ad1b000003f5000033050000,Hori Fighting Stick VX,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b10,start:b9,leftshoulder:b4,rightshoulder:b5,-leftx:h0.8,+leftx:h0.2,-lefty:h0.1,+lefty:h0.4,lefttrigger:b6,righttrigger:b7,
|
||||||
|
03000000c82d00000260000011010000,8Bitdo SF30 Pro 8BitDo SN30 Pro+,platform:Linux,a:b1,b:b0,x:b4,y:b3,back:b10,guide:b2,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a5,righttrigger:a4,
|
||||||
|
060000007e0500000820000000000000,Nintendo Switch Combined Joy-Cons,platform:Linux,a:b0,b:b1,x:b3,y:b2,back:b9,guide:b11,start:b10,leftstick:b12,rightstick:b13,leftshoulder:b5,rightshoulder:b6,dpup:b14,dpdown:b15,dpleft:b16,dpright:b17,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b7,righttrigger:b8,
|
||||||
|
05000000491900000204000000000000,PG-9118,platform:Linux,x:b76,a:b73,b:b74,y:b77,back:b83,start:b84,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b79,lefttrigger:b81,rightshoulder:b80,righttrigger:b82,leftstick:b86,rightstick:b87,leftx:a0,lefty:a1,rightx:a2,righty:a3,
|
||||||
|
|||||||
@@ -1,337 +1,337 @@
|
|||||||
006b570008068310:184 = strtok_r
|
006b570008068310:184 = strtok_r
|
||||||
019ba2099fb88f3c:48 = vector_normalize_t
|
019ba2099fb88f3c:48 = vector_normalize_t
|
||||||
0266f96d740c7e03:912 = memcpy
|
0266f96d740c7e03:912 = memcpy
|
||||||
02bd2859045d2383:240 = bcmp
|
02bd2859045d2383:240 = bcmp
|
||||||
030507c9a1f0fc85:92 = matrix_rot_x
|
030507c9a1f0fc85:92 = matrix_rot_x
|
||||||
0483fceefa4557ff:1360 = __udivdi3
|
0483fceefa4557ff:1360 = __udivdi3
|
||||||
0558ad5c5be00ca1:76 = vtfm_t
|
0558ad5c5be00ca1:76 = vtfm_t
|
||||||
05aedd0c04b451a1:356 = sqrt
|
05aedd0c04b451a1:356 = sqrt
|
||||||
0654fc8adbe16ef7:28 = vmul_q
|
0654fc8adbe16ef7:28 = vmul_q
|
||||||
06b243c926fa6ab5:24 = vf2in_q
|
06b243c926fa6ab5:24 = vf2in_q
|
||||||
06e2826e02056114:56 = wcslen
|
06e2826e02056114:56 = wcslen
|
||||||
075fa9b234b41e9b:32 = fmodf
|
075fa9b234b41e9b:32 = fmodf
|
||||||
0a051019bdd786c3:184 = strcasecmp
|
0a051019bdd786c3:184 = strcasecmp
|
||||||
0a46dc426054bb9d:24 = vector_add_t
|
0a46dc426054bb9d:24 = vector_add_t
|
||||||
0c0173ed70f84f66:48 = vnormalize_t
|
0c0173ed70f84f66:48 = vnormalize_t
|
||||||
0c65188f5bfb3915:24 = vsgn_q
|
0c65188f5bfb3915:24 = vsgn_q
|
||||||
0d898513a722ea3c:40 = copysignf
|
0d898513a722ea3c:40 = copysignf
|
||||||
0e99b037b852c8ea:68 = isnan
|
0e99b037b852c8ea:68 = isnan
|
||||||
0eb5f2e95f59276a:40 = dl_write_lightmode
|
0eb5f2e95f59276a:40 = dl_write_lightmode
|
||||||
0f1e7533a546f6a1:228 = dl_write_bone_matrix_4
|
0f1e7533a546f6a1:228 = dl_write_bone_matrix_4
|
||||||
0f2a1106ad84fb74:52 = strcmp
|
0f2a1106ad84fb74:52 = strcmp
|
||||||
0ffa5db8396d4274:64 = memcpy_jak
|
0ffa5db8396d4274:64 = memcpy_jak
|
||||||
1252e902d0b49bfb:44 = vector_sub_q_2
|
1252e902d0b49bfb:44 = vector_sub_q_2
|
||||||
12df3d33a58d0298:52 = vmidt_t
|
12df3d33a58d0298:52 = vmidt_t
|
||||||
12feef7b017d3431:700 = memmove
|
12feef7b017d3431:700 = memmove
|
||||||
1322c7e3fe6dff4d:784 = _free_r
|
1322c7e3fe6dff4d:784 = _free_r
|
||||||
1376c115d5f1d90c:36 = strlen
|
1376c115d5f1d90c:36 = strlen
|
||||||
1448134dd3acd1f9:240 = memchr
|
1448134dd3acd1f9:240 = memchr
|
||||||
14800e59c04968d7:100 = wcsstr
|
14800e59c04968d7:100 = wcsstr
|
||||||
14b56e858a27a8a4:24 = vi2f_q
|
14b56e858a27a8a4:24 = vi2f_q
|
||||||
15c4662d5d3c728e:308 = acosf
|
15c4662d5d3c728e:308 = acosf
|
||||||
1616ee7052542059:48 = vtfm_t
|
1616ee7052542059:48 = vtfm_t
|
||||||
16965ca11a4e7dac:104 = vmmul_q_transp
|
16965ca11a4e7dac:104 = vmmul_q_transp
|
||||||
16afe830a5dd2de2:40 = vdiv_q
|
16afe830a5dd2de2:40 = vdiv_q
|
||||||
184e834a63a79016:32 = isnanf
|
184e834a63a79016:32 = isnanf
|
||||||
189212bda9c94df1:736 = atanf
|
189212bda9c94df1:736 = atanf
|
||||||
199821ce500ef9d2:24 = vocp_t
|
199821ce500ef9d2:24 = vocp_t
|
||||||
1a3c8e9d637ed421:104 = __adddf3
|
1a3c8e9d637ed421:104 = __adddf3
|
||||||
1a7564fa3e25c992:844 = memcpy
|
1a7564fa3e25c992:844 = memcpy
|
||||||
1aad94c0723edfc0:124 = vmmul_t_transp
|
1aad94c0723edfc0:124 = vmmul_t_transp
|
||||||
1ab33b12b3cb8cb0:28 = vqmul_q
|
1ab33b12b3cb8cb0:28 = vqmul_q
|
||||||
1ac05627df1f87f4:112 = memcpy16
|
1ac05627df1f87f4:112 = memcpy16
|
||||||
1bdf3600844373fd:112 = strstr
|
1bdf3600844373fd:112 = strstr
|
||||||
1c967be07917ddc9:92 = strcat
|
1c967be07917ddc9:92 = strcat
|
||||||
1d03fa48334ca966:556 = _strtol_r
|
1d03fa48334ca966:556 = _strtol_r
|
||||||
1e1525e3bc2f6703:676 = rint
|
1e1525e3bc2f6703:676 = rint
|
||||||
1ec055f28bb9f4d1:88 = gu_update_stall
|
1ec055f28bb9f4d1:88 = gu_update_stall
|
||||||
1ef9cfe6afd3c035:180 = memset
|
1ef9cfe6afd3c035:180 = memset
|
||||||
1f53eac122f96b37:224 = cosf
|
1f53eac122f96b37:224 = cosf
|
||||||
2097a8b75c8fe651:436 = atan2
|
2097a8b75c8fe651:436 = atan2
|
||||||
21411b3c860822c0:36 = matrix_scale_q_t
|
21411b3c860822c0:36 = matrix_scale_q_t
|
||||||
24d82a8675800808:220 = ceilf
|
24d82a8675800808:220 = ceilf
|
||||||
26cc90cb25af9d27:476 = log10
|
26cc90cb25af9d27:476 = log10
|
||||||
2774614d57d4baa2:28 = vsub_q
|
2774614d57d4baa2:28 = vsub_q
|
||||||
279c6bf9cf99cc85:436 = strncpy
|
279c6bf9cf99cc85:436 = strncpy
|
||||||
2876ed93c5fd1211:328 = dl_write_matrix_4
|
2876ed93c5fd1211:328 = dl_write_matrix_4
|
||||||
2965b1ad3ca15cc1:44 = vtfm_t
|
2965b1ad3ca15cc1:44 = vtfm_t
|
||||||
299a370587df078f:116 = strange_copy_routine
|
299a370587df078f:116 = strange_copy_routine
|
||||||
2abca53599f09ea7:608 = dl_write_matrix_3
|
2abca53599f09ea7:608 = dl_write_matrix_3
|
||||||
2adb92e8855c454e:48 = vtfm_q
|
2adb92e8855c454e:48 = vtfm_q
|
||||||
2adc229bef7bbc75:40 = isnan
|
2adc229bef7bbc75:40 = isnan
|
||||||
2bcf5268dd26345a:340 = acos
|
2bcf5268dd26345a:340 = acos
|
||||||
2c4cb2028a1735bf:600 = floor
|
2c4cb2028a1735bf:600 = floor
|
||||||
2ca5958bb816c72e:44 = vector_i2f_t
|
2ca5958bb816c72e:44 = vector_i2f_t
|
||||||
2e7022d9767c9018:2100 = atan
|
2e7022d9767c9018:2100 = atan
|
||||||
2f10d3faec84b5bb:276 = sinf
|
2f10d3faec84b5bb:276 = sinf
|
||||||
2f639673670caa0e:772 = dl_write_matrix_2
|
2f639673670caa0e:772 = dl_write_matrix_2
|
||||||
2f718936b371fc44:40 = vcos_s
|
2f718936b371fc44:40 = vcos_s
|
||||||
3024e961d1811dea:396 = fmod
|
3024e961d1811dea:396 = fmod
|
||||||
30c9c4f420573eb6:540 = expf
|
30c9c4f420573eb6:540 = expf
|
||||||
317afeb882ff324a:212 = memcpy
|
317afeb882ff324a:212 = memcpy
|
||||||
31ea2e192f5095a1:52 = vector_add_t
|
31ea2e192f5095a1:52 = vector_add_t
|
||||||
31f523ef18898e0e:420 = logf
|
31f523ef18898e0e:420 = logf
|
||||||
32806967fe81568b:40 = vector_sub_t_2
|
32806967fe81568b:40 = vector_sub_t_2
|
||||||
32ceb9a7f72b9385:440 = _strtoul_r
|
32ceb9a7f72b9385:440 = _strtoul_r
|
||||||
32e6bc7c151491ed:68 = memchr
|
32e6bc7c151491ed:68 = memchr
|
||||||
335df69db1073a8d:96 = wcscpy
|
335df69db1073a8d:96 = wcscpy
|
||||||
33dc6b144cb302c1:304 = memmove
|
33dc6b144cb302c1:304 = memmove
|
||||||
35d3527ff8c22ff2:56 = matrix_scale_q
|
35d3527ff8c22ff2:56 = matrix_scale_q
|
||||||
373ce518eee5a2d2:20 = matrix300_store_q
|
373ce518eee5a2d2:20 = matrix300_store_q
|
||||||
388043e96b0e11fd:144 = dl_write_material_2
|
388043e96b0e11fd:144 = dl_write_material_2
|
||||||
38f19bc3be215acc:388 = log10f
|
38f19bc3be215acc:388 = log10f
|
||||||
393047f06eceaba1:96 = strcspn
|
393047f06eceaba1:96 = strcspn
|
||||||
39a651942a0b3861:204 = tan
|
39a651942a0b3861:204 = tan
|
||||||
3a3bc2b20a55bf02:68 = memchr
|
3a3bc2b20a55bf02:68 = memchr
|
||||||
3ab08b5659de1746:40 = vsin_s
|
3ab08b5659de1746:40 = vsin_s
|
||||||
3c421a9265f37ebc:700 = memmove
|
3c421a9265f37ebc:700 = memmove
|
||||||
3cbc2d50a3db59e9:100 = strncmp
|
3cbc2d50a3db59e9:100 = strncmp
|
||||||
3ce1806699a91d9d:148 = dl_write_light
|
3ce1806699a91d9d:148 = dl_write_light
|
||||||
3d5e914011c181d4:444 = scalbnf
|
3d5e914011c181d4:444 = scalbnf
|
||||||
3ea41eafb53fc99a:388 = logf
|
3ea41eafb53fc99a:388 = logf
|
||||||
3fe38bff09ac3da0:436 = _strtoul_r
|
3fe38bff09ac3da0:436 = _strtoul_r
|
||||||
40a25c7e1fd44fe2:24 = fabsf
|
40a25c7e1fd44fe2:24 = fabsf
|
||||||
410d48d9b6580b4a:36 = dl_write_ztest
|
410d48d9b6580b4a:36 = dl_write_ztest
|
||||||
42dc17c8018f30f2:44 = vtan.s
|
42dc17c8018f30f2:44 = vtan.s
|
||||||
436b07caa2aab931:352 = acos
|
436b07caa2aab931:352 = acos
|
||||||
444472537eedf966:32 = vmzero_q
|
444472537eedf966:32 = vmzero_q
|
||||||
449ff96982626338:28 = vmidt_q
|
449ff96982626338:28 = vmidt_q
|
||||||
44f65b1a72c45703:36 = strlen
|
44f65b1a72c45703:36 = strlen
|
||||||
45528de3948615dc:64 = memcpy
|
45528de3948615dc:64 = memcpy
|
||||||
456a0d78ac318d15:164 = gta_dl_write_matrix
|
456a0d78ac318d15:164 = gta_dl_write_matrix
|
||||||
497248c9d12f44fd:68 = strcpy
|
497248c9d12f44fd:68 = strcpy
|
||||||
4a70207212a4c497:24 = strlen
|
4a70207212a4c497:24 = strlen
|
||||||
4b16a5c602c74c6c:24 = vsub_t
|
4b16a5c602c74c6c:24 = vsub_t
|
||||||
4bb677dace6ca526:184 = memset
|
4bb677dace6ca526:184 = memset
|
||||||
4c4bdedcc13ac77c:624 = dl_write_matrix_5
|
4c4bdedcc13ac77c:624 = dl_write_matrix_5
|
||||||
4c91c556d1aa896b:104 = dl_write_material_3
|
4c91c556d1aa896b:104 = dl_write_material_3
|
||||||
4cf38c368078181e:616 = dl_write_matrix
|
4cf38c368078181e:616 = dl_write_matrix
|
||||||
4d72b294501cddfb:80 = copysign
|
4d72b294501cddfb:80 = copysign
|
||||||
4ddd83b7f4ed8d4e:844 = memcpy
|
4ddd83b7f4ed8d4e:844 = memcpy
|
||||||
4e266783291b0220:28 = vsub_t
|
4e266783291b0220:28 = vsub_t
|
||||||
4e5950928c0bb082:44 = vmmul_q_transp4
|
4e5950928c0bb082:44 = vmmul_q_transp4
|
||||||
4f34fc596ecf5b25:40 = vdiv_t
|
4f34fc596ecf5b25:40 = vdiv_t
|
||||||
500a949afb39133f:24 = vf2iu_q
|
500a949afb39133f:24 = vf2iu_q
|
||||||
50d8f01ea8fa713d:48 = send_commandi
|
50d8f01ea8fa713d:48 = send_commandi
|
||||||
50fa6db2fb14814a:544 = rint
|
50fa6db2fb14814a:544 = rint
|
||||||
513ce13cd7ce97ea:332 = scalbnf
|
513ce13cd7ce97ea:332 = scalbnf
|
||||||
514161da54d37416:1416 = __umoddi3
|
514161da54d37416:1416 = __umoddi3
|
||||||
51c52d7dd4d2191c:360 = cos
|
51c52d7dd4d2191c:360 = cos
|
||||||
5287d4b8abd5806b:768 = _strtoll_r
|
5287d4b8abd5806b:768 = _strtoll_r
|
||||||
52d5141545a75eda:60 = dl_write_clutformat
|
52d5141545a75eda:60 = dl_write_clutformat
|
||||||
530cbe1ce9b45d58:108 = dl_write_light_vector
|
530cbe1ce9b45d58:108 = dl_write_light_vector
|
||||||
53c9aa23504a630f:96 = vmmul_q_5
|
53c9aa23504a630f:96 = vmmul_q_5
|
||||||
54015ccbcbc75374:24 = strlen
|
54015ccbcbc75374:24 = strlen
|
||||||
5550d87a851c218c:168 = dl_write_viewport
|
5550d87a851c218c:168 = dl_write_viewport
|
||||||
55c1294280bfade0:88 = dl_write_blend_fixed
|
55c1294280bfade0:88 = dl_write_blend_fixed
|
||||||
56c9929e8c8c5768:24 = fabsf
|
56c9929e8c8c5768:24 = fabsf
|
||||||
572b2d9e57e6e363:788 = memcpy_thingy
|
572b2d9e57e6e363:788 = memcpy_thingy
|
||||||
580200b840b47c58:1856 = _realloc_r
|
580200b840b47c58:1856 = _realloc_r
|
||||||
5961f681bbd69035:28 = vfad_q
|
5961f681bbd69035:28 = vfad_q
|
||||||
598b91c64cf7e036:2388 = qsort
|
598b91c64cf7e036:2388 = qsort
|
||||||
59a0cb08f5ecf8b6:28 = copysignf
|
59a0cb08f5ecf8b6:28 = copysignf
|
||||||
5ae4ec2a5e133de3:28 = vector_cross_t
|
5ae4ec2a5e133de3:28 = vector_cross_t
|
||||||
5b005f8375d7c364:236 = floorf
|
5b005f8375d7c364:236 = floorf
|
||||||
5b103d973fd1dd94:92 = matrix_rot_y
|
5b103d973fd1dd94:92 = matrix_rot_y
|
||||||
5b9d7e9d4c905694:196 = _calloc_r
|
5b9d7e9d4c905694:196 = _calloc_r
|
||||||
5bf7a77b028e9f66:324 = sqrtf
|
5bf7a77b028e9f66:324 = sqrtf
|
||||||
5c0b3edc0e48852c:148 = memmove
|
5c0b3edc0e48852c:148 = memmove
|
||||||
5e898df42c4af6b8:76 = wcsncmp
|
5e898df42c4af6b8:76 = wcsncmp
|
||||||
5f473780835e3458:52 = vclamp_q
|
5f473780835e3458:52 = vclamp_q
|
||||||
5fc58ed2c4d48b79:40 = vtfm_q_transp
|
5fc58ed2c4d48b79:40 = vtfm_q_transp
|
||||||
6145029ef86f0365:76 = __extendsfdf2
|
6145029ef86f0365:76 = __extendsfdf2
|
||||||
62815f41fa86a131:656 = scalbn
|
62815f41fa86a131:656 = scalbn
|
||||||
6301fa5149bd973a:120 = wcscat
|
6301fa5149bd973a:120 = wcscat
|
||||||
658b07240a690dbd:36 = strlen
|
658b07240a690dbd:36 = strlen
|
||||||
66122f0ab50b2ef9:296 = dl_write_dither_matrix_5
|
66122f0ab50b2ef9:296 = dl_write_dither_matrix_5
|
||||||
66f7f1beccbc104a:256 = memcpy_swizzled
|
66f7f1beccbc104a:256 = memcpy_swizzled
|
||||||
679e647e34ecf7f1:132 = roundf
|
679e647e34ecf7f1:132 = roundf
|
||||||
67afe74d9ec72f52:4380 = _strtod_r
|
67afe74d9ec72f52:4380 = _strtod_r
|
||||||
68b22c2aa4b8b915:400 = sqrt
|
68b22c2aa4b8b915:400 = sqrt
|
||||||
6962da85a6dad937:60 = strrchr
|
6962da85a6dad937:60 = strrchr
|
||||||
69a3c4f774859404:64 = vmmul_q_transp2
|
69a3c4f774859404:64 = vmmul_q_transp2
|
||||||
6b022e20ee3fa733:68 = __negdf2
|
6b022e20ee3fa733:68 = __negdf2
|
||||||
6b2a6347c0dfcb57:152 = strcpy
|
6b2a6347c0dfcb57:152 = strcpy
|
||||||
6b4148322c569cb3:240 = wmemchr
|
6b4148322c569cb3:240 = wmemchr
|
||||||
6c4cb6d25851553a:44 = vtfm_t
|
6c4cb6d25851553a:44 = vtfm_t
|
||||||
6c7b2462b9ec7bc7:56 = vmmul_q
|
6c7b2462b9ec7bc7:56 = vmmul_q
|
||||||
6ca9cc8fa485d096:304 = __ieee754_sqrtf
|
6ca9cc8fa485d096:304 = __ieee754_sqrtf
|
||||||
6ccffc753d2c148e:96 = strlwr
|
6ccffc753d2c148e:96 = strlwr
|
||||||
6e40ec681fb5c571:40 = matrix_copy_q
|
6e40ec681fb5c571:40 = matrix_copy_q
|
||||||
6e9884c842a51142:236 = strncasecmp
|
6e9884c842a51142:236 = strncasecmp
|
||||||
6f101c5c4311c144:276 = floorf
|
6f101c5c4311c144:276 = floorf
|
||||||
6f1731f84bbf76c3:116 = strcmp
|
6f1731f84bbf76c3:116 = strcmp
|
||||||
6f4e1a1a84df1da0:68 = dl_write_texmode
|
6f4e1a1a84df1da0:68 = dl_write_texmode
|
||||||
70649c7211f6a8da:16 = fabsf
|
70649c7211f6a8da:16 = fabsf
|
||||||
7245b74db370ae72:64 = vmmul_q_transp3
|
7245b74db370ae72:64 = vmmul_q_transp3
|
||||||
7259d52b21814a5a:40 = vtfm_t_transp
|
7259d52b21814a5a:40 = vtfm_t_transp
|
||||||
736b34ebc702d873:104 = vmmul_q_transp
|
736b34ebc702d873:104 = vmmul_q_transp
|
||||||
7499a2ce8b60d801:12 = abs
|
7499a2ce8b60d801:12 = abs
|
||||||
74ebbe7d341463f3:72 = dl_write_colortest
|
74ebbe7d341463f3:72 = dl_write_colortest
|
||||||
755a41f9183bb89a:60 = vmmul_q
|
755a41f9183bb89a:60 = vmmul_q
|
||||||
759834c69bb12c12:68 = strcpy
|
759834c69bb12c12:68 = strcpy
|
||||||
75c5a88d62c9c99f:276 = sinf
|
75c5a88d62c9c99f:276 = sinf
|
||||||
76c661fecbb39990:364 = sin
|
76c661fecbb39990:364 = sin
|
||||||
770c9c07bf58fd14:16 = fabsf
|
770c9c07bf58fd14:16 = fabsf
|
||||||
774e479eb9634525:464 = _strtol_r
|
774e479eb9634525:464 = _strtol_r
|
||||||
77aeb1c23f9aa2ad:56 = strchr
|
77aeb1c23f9aa2ad:56 = strchr
|
||||||
78e8c65b5a458f33:148 = memcmp
|
78e8c65b5a458f33:148 = memcmp
|
||||||
794d1b073c183c77:24 = fabsf
|
794d1b073c183c77:24 = fabsf
|
||||||
7978a886cf70b1c9:56 = wcschr
|
7978a886cf70b1c9:56 = wcschr
|
||||||
79faa339fff5a80c:28 = finitef
|
79faa339fff5a80c:28 = finitef
|
||||||
7c50728008c288e3:36 = vector_transform_q_4x4
|
7c50728008c288e3:36 = vector_transform_q_4x4
|
||||||
7f1fc0dce6be120a:404 = fmod
|
7f1fc0dce6be120a:404 = fmod
|
||||||
828b98925af9ff8f:40 = vector_distance_t
|
828b98925af9ff8f:40 = vector_distance_t
|
||||||
83ac39971df4b966:336 = sqrtf
|
83ac39971df4b966:336 = sqrtf
|
||||||
84c6cd47834f4c79:1284 = powf
|
84c6cd47834f4c79:1284 = powf
|
||||||
8734dc1d155ea493:24 = vf2iz_q
|
8734dc1d155ea493:24 = vf2iz_q
|
||||||
87fe3f7e621ddebb:212 = memcpy
|
87fe3f7e621ddebb:212 = memcpy
|
||||||
891ca854e1c664e9:2392 = qsort
|
891ca854e1c664e9:2392 = qsort
|
||||||
8965d4b004adad28:420 = log10f
|
8965d4b004adad28:420 = log10f
|
||||||
89e1858ba11b84e4:52 = memset
|
89e1858ba11b84e4:52 = memset
|
||||||
8a00e7207e7dbc81:232 = _exit
|
8a00e7207e7dbc81:232 = _exit
|
||||||
8a1f9daadecbaf7f:104 = vmmul_q_transp
|
8a1f9daadecbaf7f:104 = vmmul_q_transp
|
||||||
8a610f34078ce360:32 = vector_copy_q_t
|
8a610f34078ce360:32 = vector_copy_q_t
|
||||||
8c3fd997a544d0b1:268 = memcpy
|
8c3fd997a544d0b1:268 = memcpy
|
||||||
8df2928848857e97:164 = strcat
|
8df2928848857e97:164 = strcat
|
||||||
8e48cabd529ca6b5:52 = vector_multiply_t
|
8e48cabd529ca6b5:52 = vector_multiply_t
|
||||||
8e97dcb03fbaba5c:104 = vmmul_q_transp
|
8e97dcb03fbaba5c:104 = vmmul_q_transp
|
||||||
8ee81b03d2eef1e7:28 = vmul_t
|
8ee81b03d2eef1e7:28 = vmul_t
|
||||||
8f19c41e8b987e18:100 = matrix_mogrify
|
8f19c41e8b987e18:100 = matrix_mogrify
|
||||||
8ff11e9bed387401:700 = memmove
|
8ff11e9bed387401:700 = memmove
|
||||||
910140c1a07aa59e:256 = rot_matrix_euler_zyx
|
910140c1a07aa59e:256 = rot_matrix_euler_zyx
|
||||||
91606bd72ae90481:44 = wmemcpy
|
91606bd72ae90481:44 = wmemcpy
|
||||||
92c7d2de74068c9c:32 = vcross_t
|
92c7d2de74068c9c:32 = vcross_t
|
||||||
93d8a275ba288b26:32 = vdot_t
|
93d8a275ba288b26:32 = vdot_t
|
||||||
94c7083b64a946b4:2028 = powf
|
94c7083b64a946b4:2028 = powf
|
||||||
95a52ce1bc460108:2036 = _malloc_r
|
95a52ce1bc460108:2036 = _malloc_r
|
||||||
95bd33ac373c019a:24 = fabsf
|
95bd33ac373c019a:24 = fabsf
|
||||||
9705934b0950d68d:280 = dl_write_framebuffer_ptr
|
9705934b0950d68d:280 = dl_write_framebuffer_ptr
|
||||||
9734cf721bc0f3a1:732 = atanf
|
9734cf721bc0f3a1:732 = atanf
|
||||||
9a06b9d5c16c4c20:76 = dl_write_clut_ptrload
|
9a06b9d5c16c4c20:76 = dl_write_clut_ptrload
|
||||||
9b88b739267d189e:88 = strrchr
|
9b88b739267d189e:88 = strrchr
|
||||||
9ce53975bb88c0e7:96 = strncpy
|
9ce53975bb88c0e7:96 = strncpy
|
||||||
9d4f5f56b52f07f2:808 = memmove
|
9d4f5f56b52f07f2:808 = memmove
|
||||||
9e2941c4a5c5e847:792 = memcpy
|
9e2941c4a5c5e847:792 = memcpy
|
||||||
9e6ce11f9d49f954:292 = memcpy
|
9e6ce11f9d49f954:292 = memcpy
|
||||||
9f269daa6f0da803:128 = dl_write_scissor_region
|
9f269daa6f0da803:128 = dl_write_scissor_region
|
||||||
9f7919eeb43982b0:208 = __fixdfsi
|
9f7919eeb43982b0:208 = __fixdfsi
|
||||||
a1ca0640f11182e7:72 = strcspn
|
a1ca0640f11182e7:72 = strcspn
|
||||||
a243486be51ce224:272 = cosf
|
a243486be51ce224:272 = cosf
|
||||||
a2bcef60a550a3ef:92 = matrix_rot_z
|
a2bcef60a550a3ef:92 = matrix_rot_z
|
||||||
a41989db0f9bf97e:1304 = pow
|
a41989db0f9bf97e:1304 = pow
|
||||||
a44f6227fdbc12b1:132 = memcmp
|
a44f6227fdbc12b1:132 = memcmp
|
||||||
a46cc6ea720d5775:44 = dl_write_cull
|
a46cc6ea720d5775:44 = dl_write_cull
|
||||||
a54967288afe8f26:600 = ceil
|
a54967288afe8f26:600 = ceil
|
||||||
a5ddbbc688e89a4d:56 = isinf
|
a5ddbbc688e89a4d:56 = isinf
|
||||||
a662359e30b829e4:148 = memcmp
|
a662359e30b829e4:148 = memcmp
|
||||||
a8390e65fa087c62:140 = vtfm_t_q
|
a8390e65fa087c62:140 = vtfm_t_q
|
||||||
a85fe8abb88b1c6f:52 = vector_sub_t
|
a85fe8abb88b1c6f:52 = vector_sub_t
|
||||||
a9194e55cc586557:268 = memcpy
|
a9194e55cc586557:268 = memcpy
|
||||||
a91b3d60bd75105b:28 = vadd_t
|
a91b3d60bd75105b:28 = vadd_t
|
||||||
ab97ec58c58a7c75:52 = vector_divide_t
|
ab97ec58c58a7c75:52 = vector_divide_t
|
||||||
acc2c11c3ea28320:268 = ceilf
|
acc2c11c3ea28320:268 = ceilf
|
||||||
ad67add5122b8c64:52 = matrix_q_translate_t
|
ad67add5122b8c64:52 = matrix_q_translate_t
|
||||||
ada952a1adcea4f5:60 = vmmul_q_transp5
|
ada952a1adcea4f5:60 = vmmul_q_transp5
|
||||||
adfbf8fb8c933193:56 = fabs
|
adfbf8fb8c933193:56 = fabs
|
||||||
ae50226363135bdd:24 = vector_sub_t
|
ae50226363135bdd:24 = vector_sub_t
|
||||||
ae6cd7dfac82c244:48 = vpow_s
|
ae6cd7dfac82c244:48 = vpow_s
|
||||||
af85d47f95ad2921:1936 = pow
|
af85d47f95ad2921:1936 = pow
|
||||||
afb2c7e56c04c8e9:48 = vtfm_q
|
afb2c7e56c04c8e9:48 = vtfm_q
|
||||||
afc9968e7d246a5e:1588 = atan
|
afc9968e7d246a5e:1588 = atan
|
||||||
afcb7dfbc4d72588:44 = vector_transform_3x4
|
afcb7dfbc4d72588:44 = vector_transform_3x4
|
||||||
b0db731f27d3aa1b:40 = vmax_s
|
b0db731f27d3aa1b:40 = vmax_s
|
||||||
b0ef265e87899f0a:32 = vector_divide_t_s
|
b0ef265e87899f0a:32 = vector_divide_t_s
|
||||||
b183a37baa12607b:32 = vscl_t
|
b183a37baa12607b:32 = vscl_t
|
||||||
b1a3e60a89af9857:20 = fabs
|
b1a3e60a89af9857:20 = fabs
|
||||||
b3fef47fb27d57c9:44 = vector_scale_t
|
b3fef47fb27d57c9:44 = vector_scale_t
|
||||||
b43fd5078ae78029:84 = send_commandi_stall
|
b43fd5078ae78029:84 = send_commandi_stall
|
||||||
b43ffbd4dc446dd2:324 = atan2f
|
b43ffbd4dc446dd2:324 = atan2f
|
||||||
b5fdb3083e6f4b3f:36 = vhtfm_t
|
b5fdb3083e6f4b3f:36 = vhtfm_t
|
||||||
b6a04277fb1e1a1a:104 = vmmul_q_transp
|
b6a04277fb1e1a1a:104 = vmmul_q_transp
|
||||||
b7448c5ffdd3b0fc:356 = atan2f
|
b7448c5ffdd3b0fc:356 = atan2f
|
||||||
b7d88567dc22aab1:820 = memcpy
|
b7d88567dc22aab1:820 = memcpy
|
||||||
b877d3c37a7aaa5d:60 = vmmul_q_2
|
b877d3c37a7aaa5d:60 = vmmul_q_2
|
||||||
b89aa73b6f94ba95:52 = vclamp_t
|
b89aa73b6f94ba95:52 = vclamp_t
|
||||||
b8bd1f0e02e9ad87:156 = dl_write_light_dir
|
b8bd1f0e02e9ad87:156 = dl_write_light_dir
|
||||||
b8cfaeebfeb2de20:7548 = _vfprintf_r
|
b8cfaeebfeb2de20:7548 = _vfprintf_r
|
||||||
b97f352e85661af6:32 = finitef
|
b97f352e85661af6:32 = finitef
|
||||||
bb3c6592ed319ba4:132 = dl_write_fog_params
|
bb3c6592ed319ba4:132 = dl_write_fog_params
|
||||||
bb7d7c93e4c08577:124 = __truncdfsf2
|
bb7d7c93e4c08577:124 = __truncdfsf2
|
||||||
bdf54d66079afb96:200 = dl_write_bone_matrix_3
|
bdf54d66079afb96:200 = dl_write_bone_matrix_3
|
||||||
be773f78afd1a70f:128 = rand
|
be773f78afd1a70f:128 = rand
|
||||||
bf5d02ccb8514881:108 = strcmp
|
bf5d02ccb8514881:108 = strcmp
|
||||||
bf791954ebef4afb:396 = expf
|
bf791954ebef4afb:396 = expf
|
||||||
bfe07e305abc4cd1:808 = memmove
|
bfe07e305abc4cd1:808 = memmove
|
||||||
c0feb88cc04a1dc7:48 = vector_negate_t
|
c0feb88cc04a1dc7:48 = vector_negate_t
|
||||||
c1f34599d0b9146b:116 = __subdf3
|
c1f34599d0b9146b:116 = __subdf3
|
||||||
c319f0d107dd2f45:888 = __muldf3
|
c319f0d107dd2f45:888 = __muldf3
|
||||||
c35c10300b6b6091:620 = floor
|
c35c10300b6b6091:620 = floor
|
||||||
c3dbf3e6c80a0a51:164 = dl_write_bone_matrix
|
c3dbf3e6c80a0a51:164 = dl_write_bone_matrix
|
||||||
c51519f5dab342d4:224 = cosf
|
c51519f5dab342d4:224 = cosf
|
||||||
c52c14b9af8c3008:76 = memcmp
|
c52c14b9af8c3008:76 = memcmp
|
||||||
c54eae62622f1e11:164 = dl_write_bone_matrix_2
|
c54eae62622f1e11:164 = dl_write_bone_matrix_2
|
||||||
c96e3a087ebf49a9:100 = dl_write_light_color
|
c96e3a087ebf49a9:100 = dl_write_light_color
|
||||||
cb7a2edd603ecfef:48 = vtfm_p
|
cb7a2edd603ecfef:48 = vtfm_p
|
||||||
cdf64d21418b2667:24 = vzero_q
|
cdf64d21418b2667:24 = vzero_q
|
||||||
ce1c95ee25b8e2ea:448 = fmod
|
ce1c95ee25b8e2ea:448 = fmod
|
||||||
ce4d18a75b98859f:40 = vector_add_t_2
|
ce4d18a75b98859f:40 = vector_add_t_2
|
||||||
ceb5372d0003d951:52 = dl_write_stenciltest
|
ceb5372d0003d951:52 = dl_write_stenciltest
|
||||||
cee11483b550ce8f:24 = vocp_q
|
cee11483b550ce8f:24 = vocp_q
|
||||||
cfecf208769ed5fd:272 = cosf
|
cfecf208769ed5fd:272 = cosf
|
||||||
d019b067b58cf6c3:700 = memmove
|
d019b067b58cf6c3:700 = memmove
|
||||||
d12a3a91e0040229:524 = dl_write_enable_disable
|
d12a3a91e0040229:524 = dl_write_enable_disable
|
||||||
d1faacfc711d61e8:68 = __negdf2
|
d1faacfc711d61e8:68 = __negdf2
|
||||||
d207b0650a41dd9c:28 = vmin_q
|
d207b0650a41dd9c:28 = vmin_q
|
||||||
d6d6e0bb21654778:24 = vneg_t
|
d6d6e0bb21654778:24 = vneg_t
|
||||||
d7229fee680e7851:40 = vmin_s
|
d7229fee680e7851:40 = vmin_s
|
||||||
d75670860a7f4b05:144 = wcsncpy
|
d75670860a7f4b05:144 = wcsncpy
|
||||||
d76d1a8804c7ec2c:100 = dl_write_material
|
d76d1a8804c7ec2c:100 = dl_write_material
|
||||||
d7d350c0b33a4662:28 = vadd_q
|
d7d350c0b33a4662:28 = vadd_q
|
||||||
d80051931427dca0:116 = __subdf3
|
d80051931427dca0:116 = __subdf3
|
||||||
da51dab503b06979:32 = vmidt_q
|
da51dab503b06979:32 = vmidt_q
|
||||||
dc0cc8b400ecfbf2:36 = strcmp
|
dc0cc8b400ecfbf2:36 = strcmp
|
||||||
dcab869acf2bacab:292 = strncasecmp
|
dcab869acf2bacab:292 = strncasecmp
|
||||||
dcdf7e1c1a3dc260:372 = strncmp
|
dcdf7e1c1a3dc260:372 = strncmp
|
||||||
dcfc28e624a81bf1:5476 = _dtoa_r
|
dcfc28e624a81bf1:5476 = _dtoa_r
|
||||||
ddfa5a85937aa581:32 = vdot_q
|
ddfa5a85937aa581:32 = vdot_q
|
||||||
e0214719d8a0aa4e:104 = strstr
|
e0214719d8a0aa4e:104 = strstr
|
||||||
e029f0699ca3a886:76 = matrix300_transform_by
|
e029f0699ca3a886:76 = matrix300_transform_by
|
||||||
e1107cf3892724a0:460 = _memalign_r
|
e1107cf3892724a0:460 = _memalign_r
|
||||||
e1724e6e29209d97:24 = vector_length_t_2
|
e1724e6e29209d97:24 = vector_length_t_2
|
||||||
e1a5d939cc308195:68 = wcscmp
|
e1a5d939cc308195:68 = wcscmp
|
||||||
e2d9106e5b9e39e6:80 = strnlen
|
e2d9106e5b9e39e6:80 = strnlen
|
||||||
e32cb5c062d1a1c4:700 = _strtoull_r
|
e32cb5c062d1a1c4:700 = _strtoull_r
|
||||||
e3835fb2c9c04e59:44 = vmmul_q
|
e3835fb2c9c04e59:44 = vmmul_q
|
||||||
e527c62d8613f297:136 = strcpy
|
e527c62d8613f297:136 = strcpy
|
||||||
e7b36c2c1348551d:148 = tan
|
e7b36c2c1348551d:148 = tan
|
||||||
e83a7a9d80a21c11:4448 = _strtod_r
|
e83a7a9d80a21c11:4448 = _strtod_r
|
||||||
e894bda909a8a8f9:1064 = expensive_wipeout_pulse
|
e894bda909a8a8f9:1064 = expensive_wipeout_pulse
|
||||||
e8ad7719be44e7c8:276 = strchr
|
e8ad7719be44e7c8:276 = strchr
|
||||||
eabb9c1b4f83d2b4:52 = memset
|
eabb9c1b4f83d2b4:52 = memset
|
||||||
eb0f7bf63d52ece9:88 = strncat
|
eb0f7bf63d52ece9:88 = strncat
|
||||||
eb8c0834d8bbc28c:416 = fmodf
|
eb8c0834d8bbc28c:416 = fmodf
|
||||||
edbbe9bf9fbceca8:172 = dl_write_viewport2
|
edbbe9bf9fbceca8:172 = dl_write_viewport2
|
||||||
edc3f476221f96e6:148 = tanf
|
edc3f476221f96e6:148 = tanf
|
||||||
f1f660fdf349eac2:1588 = _malloc_r
|
f1f660fdf349eac2:1588 = _malloc_r
|
||||||
f38a356a359dbe06:28 = vmax_q
|
f38a356a359dbe06:28 = vmax_q
|
||||||
f3fc2220ed0f2703:32 = send_commandf
|
f3fc2220ed0f2703:32 = send_commandf
|
||||||
f4d797cef4ac88cd:684 = _free_r
|
f4d797cef4ac88cd:684 = _free_r
|
||||||
f4ea7d2ec943fa02:224 = sinf
|
f4ea7d2ec943fa02:224 = sinf
|
||||||
f4f8cdf479dfc4a4:224 = sinf
|
f4f8cdf479dfc4a4:224 = sinf
|
||||||
f52f993e444b6c52:44 = dl_write_shademode
|
f52f993e444b6c52:44 = dl_write_shademode
|
||||||
f56641884b36c638:468 = scalbn
|
f56641884b36c638:468 = scalbn
|
||||||
f5f7826b4a61767c:40 = matrix_copy_q
|
f5f7826b4a61767c:40 = matrix_copy_q
|
||||||
f73c094e492bc163:396 = hypot
|
f73c094e492bc163:396 = hypot
|
||||||
f7fc691db0147e25:96 = strspn
|
f7fc691db0147e25:96 = strspn
|
||||||
f842aea3baa61f29:32 = vector_length_t
|
f842aea3baa61f29:32 = vector_length_t
|
||||||
f8e0902f4099a9d6:2260 = qsort
|
f8e0902f4099a9d6:2260 = qsort
|
||||||
f972543ab7df071a:32 = vsqrt_s
|
f972543ab7df071a:32 = vsqrt_s
|
||||||
f9b00ef163e8b9d4:32 = vscl_q
|
f9b00ef163e8b9d4:32 = vscl_q
|
||||||
f9ea1bf2a897ef24:588 = ceil
|
f9ea1bf2a897ef24:588 = ceil
|
||||||
fa156c48461eeeb9:24 = vf2id_q
|
fa156c48461eeeb9:24 = vf2id_q
|
||||||
fb4253a1d9d9df9f:20 = isnanf
|
fb4253a1d9d9df9f:20 = isnanf
|
||||||
fd34a9ad94fa6241:76 = __extendsfdf2
|
fd34a9ad94fa6241:76 = __extendsfdf2
|
||||||
fe4f0280240008e9:28 = vavg_q
|
fe4f0280240008e9:28 = vavg_q
|
||||||
fe5dd338ab862291:216 = memset
|
fe5dd338ab862291:216 = memset
|
||||||
ffc8f5f8f946152c:192 = dl_write_light_color
|
ffc8f5f8f946152c:192 = dl_write_light_color
|
||||||
|
|||||||
28
system/PPSSPP/lang/README.md
Normal file
28
system/PPSSPP/lang/README.md
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# lang
|
||||||
|
|
||||||
|
PPSSPP language ini repository
|
||||||
|
|
||||||
|
# Thanks for your interest in translating PPSSPP!
|
||||||
|
|
||||||
|
* Simply copy *en_US.ini* file to a new ini file with your language code, or use it to update an existing file with that name.
|
||||||
|
* To see a list of codes, view [this](http://stackoverflow.com/questions/3191664/list-of-all-locales-and-their-short-codes) page.
|
||||||
|
|
||||||
|
# Please note, while translating:
|
||||||
|
* Ampersands `&` on the *RIGHT* side of an equals sign denote an underlined keyboard hotkey.
|
||||||
|
* The hotkeys are only supported currently in the *DesktopUI* section, however.
|
||||||
|
* Example: `&File`. This will make it so when you press ALT + F on Windows, it'll open the File menu.
|
||||||
|
|
||||||
|
# Tools
|
||||||
|
|
||||||
|
* To remove a translation, use the following (where KeyWord is the key):
|
||||||
|
|
||||||
|
find . -type f -print0 | xargs -0 sed -i /^KeyWord/d
|
||||||
|
|
||||||
|
* To change a translation key, use something like this:
|
||||||
|
|
||||||
|
find . -type f -print0 | xargs -0 sed -i /^Key/NewKey
|
||||||
|
|
||||||
|
* Before you commit, use git diff to check that you don't delete too much
|
||||||
|
or some unrelated key with the same prefix.
|
||||||
|
|
||||||
|
### Happy translating!
|
||||||
1080
system/PPSSPP/lang/ar_AE.ini
Normal file
1080
system/PPSSPP/lang/ar_AE.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/az_AZ.ini
Normal file
1072
system/PPSSPP/lang/az_AZ.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/bg_BG.ini
Normal file
1072
system/PPSSPP/lang/bg_BG.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/ca_ES.ini
Normal file
1072
system/PPSSPP/lang/ca_ES.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/cz_CZ.ini
Normal file
1072
system/PPSSPP/lang/cz_CZ.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/da_DK.ini
Normal file
1072
system/PPSSPP/lang/da_DK.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/de_DE.ini
Normal file
1072
system/PPSSPP/lang/de_DE.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/dr_ID.ini
Normal file
1072
system/PPSSPP/lang/dr_ID.ini
Normal file
File diff suppressed because it is too large
Load Diff
1097
system/PPSSPP/lang/en_US.ini
Normal file
1097
system/PPSSPP/lang/en_US.ini
Normal file
File diff suppressed because it is too large
Load Diff
1066
system/PPSSPP/lang/es_ES.ini
Normal file
1066
system/PPSSPP/lang/es_ES.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/es_LA.ini
Normal file
1072
system/PPSSPP/lang/es_LA.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/fa_IR.ini
Normal file
1072
system/PPSSPP/lang/fa_IR.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/fi_FI.ini
Normal file
1072
system/PPSSPP/lang/fi_FI.ini
Normal file
File diff suppressed because it is too large
Load Diff
1063
system/PPSSPP/lang/fr_FR.ini
Normal file
1063
system/PPSSPP/lang/fr_FR.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/gl_ES.ini
Normal file
1072
system/PPSSPP/lang/gl_ES.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/gr_EL.ini
Normal file
1072
system/PPSSPP/lang/gr_EL.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/he_IL.ini
Normal file
1072
system/PPSSPP/lang/he_IL.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/he_IL_invert.ini
Normal file
1072
system/PPSSPP/lang/he_IL_invert.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/hr_HR.ini
Normal file
1072
system/PPSSPP/lang/hr_HR.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/hu_HU.ini
Normal file
1072
system/PPSSPP/lang/hu_HU.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/id_ID.ini
Normal file
1072
system/PPSSPP/lang/id_ID.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/it_IT.ini
Normal file
1072
system/PPSSPP/lang/it_IT.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/ja_JP.ini
Normal file
1072
system/PPSSPP/lang/ja_JP.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/jv_ID.ini
Normal file
1072
system/PPSSPP/lang/jv_ID.ini
Normal file
File diff suppressed because it is too large
Load Diff
1074
system/PPSSPP/lang/ko_KR.ini
Normal file
1074
system/PPSSPP/lang/ko_KR.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/lo_LA.ini
Normal file
1072
system/PPSSPP/lang/lo_LA.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/lt-LT.ini
Normal file
1072
system/PPSSPP/lang/lt-LT.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/ms_MY.ini
Normal file
1072
system/PPSSPP/lang/ms_MY.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/nl_NL.ini
Normal file
1072
system/PPSSPP/lang/nl_NL.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/no_NO.ini
Normal file
1072
system/PPSSPP/lang/no_NO.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/pl_PL.ini
Normal file
1072
system/PPSSPP/lang/pl_PL.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/pt_BR.ini
Normal file
1072
system/PPSSPP/lang/pt_BR.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/pt_PT.ini
Normal file
1072
system/PPSSPP/lang/pt_PT.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/ro_RO.ini
Normal file
1072
system/PPSSPP/lang/ro_RO.ini
Normal file
File diff suppressed because it is too large
Load Diff
1073
system/PPSSPP/lang/ru_RU.ini
Normal file
1073
system/PPSSPP/lang/ru_RU.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/sv_SE.ini
Normal file
1072
system/PPSSPP/lang/sv_SE.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/tg_PH.ini
Normal file
1072
system/PPSSPP/lang/tg_PH.ini
Normal file
File diff suppressed because it is too large
Load Diff
1073
system/PPSSPP/lang/th_TH.ini
Normal file
1073
system/PPSSPP/lang/th_TH.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/tr_TR.ini
Normal file
1072
system/PPSSPP/lang/tr_TR.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/uk_UA.ini
Normal file
1072
system/PPSSPP/lang/uk_UA.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/vi_VN.ini
Normal file
1072
system/PPSSPP/lang/vi_VN.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/zh_CN.ini
Normal file
1072
system/PPSSPP/lang/zh_CN.ini
Normal file
File diff suppressed because it is too large
Load Diff
1072
system/PPSSPP/lang/zh_TW.ini
Normal file
1072
system/PPSSPP/lang/zh_TW.ini
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,61 +1,61 @@
|
|||||||
[LangRegionNames]
|
[LangRegionNames]
|
||||||
ja_JP = "日本語"
|
ja_JP = "日本語"
|
||||||
en_US = "English"
|
en_US = "English"
|
||||||
fi_FI = "Suomi"
|
fi_FI = "Suomi"
|
||||||
fr_FR = "Français"
|
fr_FR = "Français"
|
||||||
es_ES = "Castellano (España)"
|
es_ES = "Castellano (España)"
|
||||||
es_LA = "Español (América Latina)"
|
es_LA = "Español (América Latina)"
|
||||||
de_DE = "Deutsch"
|
de_DE = "Deutsch"
|
||||||
it_IT = "Italiano"
|
it_IT = "Italiano"
|
||||||
nl_NL = "Nederlands"
|
nl_NL = "Nederlands"
|
||||||
pt_PT = "Português"
|
pt_PT = "Português"
|
||||||
pt_BR = "Português Brasileiro"
|
pt_BR = "Português Brasileiro"
|
||||||
ru_RU = "Русский"
|
ru_RU = "Русский"
|
||||||
ko_KR = "한국어"
|
ko_KR = "한국어"
|
||||||
zh_TW = "繁體中文"
|
zh_TW = "繁體中文"
|
||||||
zh_CN = "简体中文"
|
zh_CN = "简体中文"
|
||||||
ar_AE = "العربية"
|
ar_AE = "العربية"
|
||||||
az_AZ = "Azeri"
|
az_AZ = "Azeri"
|
||||||
ca_ES = "Català"
|
ca_ES = "Català"
|
||||||
gl_ES = "Galego"
|
gl_ES = "Galego"
|
||||||
gr_EL = "Ελληνικά"
|
gr_EL = "Ελληνικά"
|
||||||
he_IL = "עברית"
|
he_IL = "עברית"
|
||||||
hu_HU = "Magyar"
|
hu_HU = "Magyar"
|
||||||
id_ID = "Indonesia"
|
id_ID = "Indonesia"
|
||||||
pl_PL = "Polski"
|
pl_PL = "Polski"
|
||||||
ro_RO = "Român"
|
ro_RO = "Român"
|
||||||
sv_SE = "Svenska"
|
sv_SE = "Svenska"
|
||||||
tr_TR = "Türk"
|
tr_TR = "Türk"
|
||||||
uk_UA = "Українська"
|
uk_UA = "Українська"
|
||||||
vi_VN = "Tiếng Việt"
|
vi_VN = "Tiếng Việt"
|
||||||
cz_CZ = "Česky"
|
cz_CZ = "Česky"
|
||||||
tg_PH = "Tagalog"
|
tg_PH = "Tagalog"
|
||||||
th_TH = "ไทย"
|
th_TH = "ไทย"
|
||||||
dr_ID = "Duri"
|
dr_ID = "Duri"
|
||||||
fa_IR = "فارسی"
|
fa_IR = "فارسی"
|
||||||
ms_MY = "Melayu"
|
ms_MY = "Melayu"
|
||||||
da_DK = "Dansk"
|
da_DK = "Dansk"
|
||||||
no_NO = "Norsk"
|
no_NO = "Norsk"
|
||||||
bg_BG = "български език"
|
bg_BG = "български език"
|
||||||
lt-LT = "Lithuanian"
|
lt-LT = "Lithuanian"
|
||||||
jv_ID = "Jawa"
|
jv_ID = "Jawa"
|
||||||
lo_LA = "ລາວ"
|
lo_LA = "ລາວ"
|
||||||
hr_HR = "Hrvatski"
|
hr_HR = "Hrvatski"
|
||||||
|
|
||||||
[SystemLanguage]
|
[SystemLanguage]
|
||||||
ja_JP = "JAPANESE"
|
ja_JP = "JAPANESE"
|
||||||
en_US = "ENGLISH"
|
en_US = "ENGLISH"
|
||||||
fr_FR = "FRENCH"
|
fr_FR = "FRENCH"
|
||||||
es_ES = "SPANISH"
|
es_ES = "SPANISH"
|
||||||
gl_ES = "SPANISH"
|
gl_ES = "SPANISH"
|
||||||
es_LA = "SPANISH"
|
es_LA = "SPANISH"
|
||||||
de_DE = "GERMAN"
|
de_DE = "GERMAN"
|
||||||
it_IT = "ITALIAN"
|
it_IT = "ITALIAN"
|
||||||
nl_NL = "DUTCH"
|
nl_NL = "DUTCH"
|
||||||
pt_PT = "PORTUGUESE"
|
pt_PT = "PORTUGUESE"
|
||||||
pt_BR = "PORTUGUESE"
|
pt_BR = "PORTUGUESE"
|
||||||
ru_RU = "RUSSIAN"
|
ru_RU = "RUSSIAN"
|
||||||
ko_KR = "KOREAN"
|
ko_KR = "KOREAN"
|
||||||
th_TH = "THAI"
|
th_TH = "THAI"
|
||||||
zh_TW = "CHINESE_TRADITIONAL"
|
zh_TW = "CHINESE_TRADITIONAL"
|
||||||
zh_CN = "CHINESE_SIMPLIFIED"
|
zh_CN = "CHINESE_SIMPLIFIED"
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 9.0 KiB |
BIN
system/PPSSPP/sfx_back.wav
Normal file
BIN
system/PPSSPP/sfx_back.wav
Normal file
Binary file not shown.
BIN
system/PPSSPP/sfx_confirm.wav
Normal file
BIN
system/PPSSPP/sfx_confirm.wav
Normal file
Binary file not shown.
BIN
system/PPSSPP/sfx_select.wav
Normal file
BIN
system/PPSSPP/sfx_select.wav
Normal file
Binary file not shown.
BIN
system/PPSSPP/sfx_toggle_off.wav
Normal file
BIN
system/PPSSPP/sfx_toggle_off.wav
Normal file
Binary file not shown.
BIN
system/PPSSPP/sfx_toggle_on.wav
Normal file
BIN
system/PPSSPP/sfx_toggle_on.wav
Normal file
Binary file not shown.
@@ -1,77 +1,77 @@
|
|||||||
// 4xGLSL HqFilter shader, Modified to use in PPSSPP. Grabbed from:
|
// 4xGLSL HqFilter shader, Modified to use in PPSSPP. Grabbed from:
|
||||||
// http://forums.ngemu.com/showthread.php?t=76098
|
// http://forums.ngemu.com/showthread.php?t=76098
|
||||||
|
|
||||||
// by guest(r) (guest.r@gmail.com)
|
// by guest(r) (guest.r@gmail.com)
|
||||||
// License: GNU-GPL
|
// License: GNU-GPL
|
||||||
|
|
||||||
// Shader notes: looks better with sprite games
|
// Shader notes: looks better with sprite games
|
||||||
|
|
||||||
#ifdef GL_ES
|
#ifdef GL_ES
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
precision mediump int;
|
precision mediump int;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
|
|
||||||
varying vec4 v_texcoord0;
|
varying vec4 v_texcoord0;
|
||||||
varying vec4 v_texcoord1;
|
varying vec4 v_texcoord1;
|
||||||
varying vec4 v_texcoord2;
|
varying vec4 v_texcoord2;
|
||||||
varying vec4 v_texcoord3;
|
varying vec4 v_texcoord3;
|
||||||
varying vec4 v_texcoord4;
|
varying vec4 v_texcoord4;
|
||||||
varying vec4 v_texcoord5;
|
varying vec4 v_texcoord5;
|
||||||
varying vec4 v_texcoord6;
|
varying vec4 v_texcoord6;
|
||||||
|
|
||||||
const float mx = 0.325; // start smoothing factor
|
const float mx = 0.325; // start smoothing factor
|
||||||
const float k = -0.250; // smoothing decrease factor
|
const float k = -0.250; // smoothing decrease factor
|
||||||
const float max_w = 0.25; // max. smoothing weigth
|
const float max_w = 0.25; // max. smoothing weigth
|
||||||
const float min_w =-0.05; // min smoothing/sharpening weigth
|
const float min_w =-0.05; // min smoothing/sharpening weigth
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec3 c = texture2D(sampler0, v_texcoord0.xy).xyz;
|
vec3 c = texture2D(sampler0, v_texcoord0.xy).xyz;
|
||||||
vec3 i1 = texture2D(sampler0, v_texcoord1.xy).xyz;
|
vec3 i1 = texture2D(sampler0, v_texcoord1.xy).xyz;
|
||||||
vec3 i2 = texture2D(sampler0, v_texcoord2.xy).xyz;
|
vec3 i2 = texture2D(sampler0, v_texcoord2.xy).xyz;
|
||||||
vec3 i3 = texture2D(sampler0, v_texcoord3.xy).xyz;
|
vec3 i3 = texture2D(sampler0, v_texcoord3.xy).xyz;
|
||||||
vec3 i4 = texture2D(sampler0, v_texcoord4.xy).xyz;
|
vec3 i4 = texture2D(sampler0, v_texcoord4.xy).xyz;
|
||||||
vec3 o1 = texture2D(sampler0, v_texcoord5.xy).xyz;
|
vec3 o1 = texture2D(sampler0, v_texcoord5.xy).xyz;
|
||||||
vec3 o3 = texture2D(sampler0, v_texcoord6.xy).xyz;
|
vec3 o3 = texture2D(sampler0, v_texcoord6.xy).xyz;
|
||||||
vec3 o2 = texture2D(sampler0, v_texcoord5.zw).xyz;
|
vec3 o2 = texture2D(sampler0, v_texcoord5.zw).xyz;
|
||||||
vec3 o4 = texture2D(sampler0, v_texcoord6.zw).xyz;
|
vec3 o4 = texture2D(sampler0, v_texcoord6.zw).xyz;
|
||||||
|
|
||||||
vec3 dt = vec3(1.0,1.0,1.0);
|
vec3 dt = vec3(1.0,1.0,1.0);
|
||||||
|
|
||||||
float ko1=dot(abs(o1-c),dt);
|
float ko1=dot(abs(o1-c),dt);
|
||||||
float ko2=dot(abs(o2-c),dt);
|
float ko2=dot(abs(o2-c),dt);
|
||||||
float ko3=dot(abs(o3-c),dt);
|
float ko3=dot(abs(o3-c),dt);
|
||||||
float ko4=dot(abs(o4-c),dt);
|
float ko4=dot(abs(o4-c),dt);
|
||||||
|
|
||||||
float sd1 = dot(abs(i1-i3),dt);
|
float sd1 = dot(abs(i1-i3),dt);
|
||||||
float sd2 = dot(abs(i2-i4),dt);
|
float sd2 = dot(abs(i2-i4),dt);
|
||||||
|
|
||||||
float w1 = step(ko1,ko3)*sd2;
|
float w1 = step(ko1,ko3)*sd2;
|
||||||
float w2 = step(ko2,ko4)*sd1;
|
float w2 = step(ko2,ko4)*sd1;
|
||||||
float w3 = step(ko3,ko1)*sd2;
|
float w3 = step(ko3,ko1)*sd2;
|
||||||
float w4 = step(ko4,ko2)*sd1;
|
float w4 = step(ko4,ko2)*sd1;
|
||||||
|
|
||||||
c = (w1*o1+w2*o2+w3*o3+w4*o4+0.1*c)/(w1+w2+w3+w4+0.1);
|
c = (w1*o1+w2*o2+w3*o3+w4*o4+0.1*c)/(w1+w2+w3+w4+0.1);
|
||||||
|
|
||||||
float lc = c.r+c.g+c.b+0.2;
|
float lc = c.r+c.g+c.b+0.2;
|
||||||
|
|
||||||
w1 = (i1.r+i1.g+i1.b+lc)*0.2;
|
w1 = (i1.r+i1.g+i1.b+lc)*0.2;
|
||||||
w1 = clamp(k*dot(abs(c-i1),dt)/w1+mx,min_w,max_w);
|
w1 = clamp(k*dot(abs(c-i1),dt)/w1+mx,min_w,max_w);
|
||||||
|
|
||||||
w2 = (i2.r+i2.g+i2.b+lc)*0.2;
|
w2 = (i2.r+i2.g+i2.b+lc)*0.2;
|
||||||
w2 = clamp(k*dot(abs(c-i2),dt)/w2+mx,min_w,max_w);
|
w2 = clamp(k*dot(abs(c-i2),dt)/w2+mx,min_w,max_w);
|
||||||
|
|
||||||
w3 = (i3.r+i3.g+i3.b+lc)*0.2;
|
w3 = (i3.r+i3.g+i3.b+lc)*0.2;
|
||||||
w3 = clamp(k*dot(abs(c-i3),dt)/w3+mx,min_w,max_w);
|
w3 = clamp(k*dot(abs(c-i3),dt)/w3+mx,min_w,max_w);
|
||||||
|
|
||||||
w4 = (i4.r+i4.g+i4.b+lc)*0.2;
|
w4 = (i4.r+i4.g+i4.b+lc)*0.2;
|
||||||
w4 = clamp(k*dot(abs(c-i4),dt)/w4+mx,min_w,max_w);
|
w4 = clamp(k*dot(abs(c-i4),dt)/w4+mx,min_w,max_w);
|
||||||
|
|
||||||
gl_FragColor.rgb = w1*i1 + w2*i2 + w3*i3 + w4*i4 + (1.0-w1-w2-w3-w4)*c;
|
gl_FragColor.rgb = w1*i1 + w2*i2 + w3*i3 + w4*i4 + (1.0-w1-w2-w3-w4)*c;
|
||||||
gl_FragColor.a = 1.0;
|
gl_FragColor.a = 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,32 +1,37 @@
|
|||||||
attribute vec4 a_position;
|
#ifdef GL_ES
|
||||||
attribute vec2 a_texcoord0;
|
precision mediump float;
|
||||||
uniform vec2 u_texelDelta;
|
precision mediump int;
|
||||||
uniform vec2 u_pixelDelta;
|
#endif
|
||||||
|
|
||||||
varying vec4 v_texcoord0;
|
attribute vec4 a_position;
|
||||||
varying vec4 v_texcoord1;
|
attribute vec2 a_texcoord0;
|
||||||
varying vec4 v_texcoord2;
|
uniform vec2 u_texelDelta;
|
||||||
varying vec4 v_texcoord3;
|
uniform vec2 u_pixelDelta;
|
||||||
varying vec4 v_texcoord4;
|
|
||||||
varying vec4 v_texcoord5;
|
varying vec4 v_texcoord0;
|
||||||
varying vec4 v_texcoord6;
|
varying vec4 v_texcoord1;
|
||||||
|
varying vec4 v_texcoord2;
|
||||||
void main()
|
varying vec4 v_texcoord3;
|
||||||
{
|
varying vec4 v_texcoord4;
|
||||||
float x = u_pixelDelta.x*((u_texelDelta.x/u_pixelDelta.x)/2.0);
|
varying vec4 v_texcoord5;
|
||||||
float y = u_pixelDelta.y*((u_texelDelta.y/u_pixelDelta.y)/2.0);
|
varying vec4 v_texcoord6;
|
||||||
vec2 dg1 = vec2( x,y);
|
|
||||||
vec2 dg2 = vec2(-x,y);
|
void main()
|
||||||
vec2 sd1 = dg1*0.5;
|
{
|
||||||
vec2 sd2 = dg2*0.5;
|
float x = u_pixelDelta.x*((u_texelDelta.x/u_pixelDelta.x)/2.0);
|
||||||
gl_Position = a_position;
|
float y = u_pixelDelta.y*((u_texelDelta.y/u_pixelDelta.y)/2.0);
|
||||||
v_texcoord0=a_texcoord0.xyxy;
|
vec2 dg1 = vec2( x,y);
|
||||||
v_texcoord1.xy = v_texcoord0.xy - sd1;
|
vec2 dg2 = vec2(-x,y);
|
||||||
v_texcoord2.xy = v_texcoord0.xy - sd2;
|
vec2 sd1 = dg1*0.5;
|
||||||
v_texcoord3.xy = v_texcoord0.xy + sd1;
|
vec2 sd2 = dg2*0.5;
|
||||||
v_texcoord4.xy = v_texcoord0.xy + sd2;
|
gl_Position = a_position;
|
||||||
v_texcoord5.xy = v_texcoord0.xy - dg1;
|
v_texcoord0=a_texcoord0.xyxy;
|
||||||
v_texcoord6.xy = v_texcoord0.xy + dg1;
|
v_texcoord1.xy = v_texcoord0.xy - sd1;
|
||||||
v_texcoord5.zw = v_texcoord0.xy - dg2;
|
v_texcoord2.xy = v_texcoord0.xy - sd2;
|
||||||
v_texcoord6.zw = v_texcoord0.xy + dg2;
|
v_texcoord3.xy = v_texcoord0.xy + sd1;
|
||||||
}
|
v_texcoord4.xy = v_texcoord0.xy + sd2;
|
||||||
|
v_texcoord5.xy = v_texcoord0.xy - dg1;
|
||||||
|
v_texcoord6.xy = v_texcoord0.xy + dg1;
|
||||||
|
v_texcoord5.zw = v_texcoord0.xy - dg2;
|
||||||
|
v_texcoord6.zw = v_texcoord0.xy + dg2;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,218 +1,218 @@
|
|||||||
/*
|
/*
|
||||||
Hyllian's xBR-lv2 Shader Accuracy (tweak by guest.r)
|
Hyllian's xBR-lv2 Shader Accuracy (tweak by guest.r)
|
||||||
|
|
||||||
Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
|
Copyright (C) 2011-2015 Hyllian - sergiogdb@gmail.com
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
in the Software without restriction, including without limitation the rights
|
in the Software without restriction, including without limitation the rights
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
furnished to do so, subject to the following conditions:
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
The above copyright notice and this permission notice shall be included in
|
||||||
all copies or substantial portions of the Software.
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
|
|
||||||
Incorporates some of the ideas from SABR shader. Thanks to Joshua Street.
|
Incorporates some of the ideas from SABR shader. Thanks to Joshua Street.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef GL_ES
|
#ifdef GL_ES
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
precision mediump int;
|
precision mediump int;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CornerA 0 //ON:1/OFF:0 / A, B, C, D are just different variants of corner rounding
|
#define CornerA 0 //ON:1/OFF:0 / A, B, C, D are just different variants of corner rounding
|
||||||
#define CornerB 0 //ON:1/OFF:0 / activate only one
|
#define CornerB 0 //ON:1/OFF:0 / activate only one
|
||||||
#define CornerD 0 //ON:1/OFF:0
|
#define CornerD 0 //ON:1/OFF:0
|
||||||
// CornerC //used as default if none of the above is defined
|
// CornerC //used as default if none of the above is defined
|
||||||
|
|
||||||
const float XBR_SCALE = 3.0;
|
const float XBR_SCALE = 3.0;
|
||||||
const float lv2_cf = 2.0;
|
const float lv2_cf = 2.0;
|
||||||
|
|
||||||
const float coef = 2.0;
|
const float coef = 2.0;
|
||||||
const vec3 rgbw = vec3(14.352, 28.176, 5.472);
|
const vec3 rgbw = vec3(14.352, 28.176, 5.472);
|
||||||
const vec4 eq_threshold = vec4(15.0, 15.0, 15.0, 15.0);
|
const vec4 eq_threshold = vec4(15.0, 15.0, 15.0, 15.0);
|
||||||
|
|
||||||
const vec4 Ao = vec4( 1.0, -1.0, -1.0, 1.0 );
|
const vec4 Ao = vec4( 1.0, -1.0, -1.0, 1.0 );
|
||||||
const vec4 Bo = vec4( 1.0, 1.0, -1.0,-1.0 );
|
const vec4 Bo = vec4( 1.0, 1.0, -1.0,-1.0 );
|
||||||
const vec4 Co = vec4( 1.5, 0.5, -0.5, 0.5 );
|
const vec4 Co = vec4( 1.5, 0.5, -0.5, 0.5 );
|
||||||
const vec4 Ax = vec4( 1.0, -1.0, -1.0, 1.0 );
|
const vec4 Ax = vec4( 1.0, -1.0, -1.0, 1.0 );
|
||||||
const vec4 Bx = vec4( 0.5, 2.0, -0.5,-2.0 );
|
const vec4 Bx = vec4( 0.5, 2.0, -0.5,-2.0 );
|
||||||
const vec4 Cx = vec4( 1.0, 1.0, -0.5, 0.0 );
|
const vec4 Cx = vec4( 1.0, 1.0, -0.5, 0.0 );
|
||||||
const vec4 Ay = vec4( 1.0, -1.0, -1.0, 1.0 );
|
const vec4 Ay = vec4( 1.0, -1.0, -1.0, 1.0 );
|
||||||
const vec4 By = vec4( 2.0, 0.5, -2.0,-0.5 );
|
const vec4 By = vec4( 2.0, 0.5, -2.0,-0.5 );
|
||||||
const vec4 Cy = vec4( 2.0, 0.0, -1.0, 0.5 );
|
const vec4 Cy = vec4( 2.0, 0.0, -1.0, 0.5 );
|
||||||
const vec4 Ci = vec4(0.25, 0.25, 0.25, 0.25);
|
const vec4 Ci = vec4(0.25, 0.25, 0.25, 0.25);
|
||||||
|
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
uniform vec2 u_texelDelta;
|
uniform vec2 u_texelDelta;
|
||||||
uniform vec2 u_pixelDelta;
|
uniform vec2 u_pixelDelta;
|
||||||
varying vec2 v_texcoord0;
|
varying vec2 v_texcoord0;
|
||||||
|
|
||||||
// Difference between vector components.
|
// Difference between vector components.
|
||||||
vec4 df(vec4 A, vec4 B) {
|
vec4 df(vec4 A, vec4 B) {
|
||||||
return vec4(abs(A-B));
|
return vec4(abs(A-B));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compare two vectors and return their components are different.
|
// Compare two vectors and return their components are different.
|
||||||
vec4 diff(vec4 A, vec4 B) {
|
vec4 diff(vec4 A, vec4 B) {
|
||||||
return vec4(notEqual(A, B));
|
return vec4(notEqual(A, B));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determine if two vector components are equal based on a threshold.
|
// Determine if two vector components are equal based on a threshold.
|
||||||
vec4 eq(vec4 A, vec4 B) {
|
vec4 eq(vec4 A, vec4 B) {
|
||||||
return (step(df(A, B), eq_threshold));
|
return (step(df(A, B), eq_threshold));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determine if two vector components are NOT equal based on a threshold.
|
// Determine if two vector components are NOT equal based on a threshold.
|
||||||
vec4 neq(vec4 A, vec4 B) {
|
vec4 neq(vec4 A, vec4 B) {
|
||||||
return (vec4(1.0, 1.0, 1.0, 1.0) - eq(A, B));
|
return (vec4(1.0, 1.0, 1.0, 1.0) - eq(A, B));
|
||||||
}
|
}
|
||||||
|
|
||||||
float c_df(vec3 c1, vec3 c2) {
|
float c_df(vec3 c1, vec3 c2) {
|
||||||
vec3 df = abs(c1 - c2);
|
vec3 df = abs(c1 - c2);
|
||||||
return df.r + df.g + df.b;
|
return df.r + df.g + df.b;
|
||||||
}
|
}
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
|
|
||||||
bool upscale = u_texelDelta.x > (1.6 * u_pixelDelta.x);
|
bool upscale = u_texelDelta.x > (1.6 * u_pixelDelta.x);
|
||||||
vec3 res = texture2D(sampler0, v_texcoord0.xy).xyz;
|
vec3 res = texture2D(sampler0, v_texcoord0.xy).xyz;
|
||||||
|
|
||||||
// Let's skip the whole scaling if output size smaller than 1.6x of input size
|
// Let's skip the whole scaling if output size smaller than 1.6x of input size
|
||||||
if (upscale) {
|
if (upscale) {
|
||||||
|
|
||||||
vec4 edri, edr, edr_l, edr_u, px; // px = pixel, edr = edge detection rule
|
vec4 edri, edr, edr_l, edr_u, px; // px = pixel, edr = edge detection rule
|
||||||
vec4 irlv0, irlv1, irlv2l, irlv2u;
|
vec4 irlv0, irlv1, irlv2l, irlv2u;
|
||||||
vec4 fx, fx_l, fx_u; // inequations of straight lines.
|
vec4 fx, fx_l, fx_u; // inequations of straight lines.
|
||||||
|
|
||||||
vec2 pS = 1.0 / u_texelDelta.xy;
|
vec2 pS = 1.0 / u_texelDelta.xy;
|
||||||
vec2 fp = fract(v_texcoord0.xy*pS.xy);
|
vec2 fp = fract(v_texcoord0.xy*pS.xy);
|
||||||
vec2 TexCoord_0 = v_texcoord0.xy-fp*u_pixelDelta.xy;
|
vec2 TexCoord_0 = v_texcoord0.xy-fp*u_pixelDelta.xy;
|
||||||
vec2 dx = vec2(u_texelDelta.x,0.0);
|
vec2 dx = vec2(u_texelDelta.x,0.0);
|
||||||
vec2 dy = vec2(0.0,u_texelDelta.y);
|
vec2 dy = vec2(0.0,u_texelDelta.y);
|
||||||
vec2 y2 = dy + dy; vec2 x2 = dx + dx;
|
vec2 y2 = dy + dy; vec2 x2 = dx + dx;
|
||||||
|
|
||||||
vec4 delta = vec4(1.0/XBR_SCALE, 1.0/XBR_SCALE, 1.0/XBR_SCALE, 1.0/XBR_SCALE);
|
vec4 delta = vec4(1.0/XBR_SCALE, 1.0/XBR_SCALE, 1.0/XBR_SCALE, 1.0/XBR_SCALE);
|
||||||
vec4 delta_l = vec4(0.5/XBR_SCALE, 1.0/XBR_SCALE, 0.5/XBR_SCALE, 1.0/XBR_SCALE);
|
vec4 delta_l = vec4(0.5/XBR_SCALE, 1.0/XBR_SCALE, 0.5/XBR_SCALE, 1.0/XBR_SCALE);
|
||||||
vec4 delta_u = delta_l.yxwz;
|
vec4 delta_u = delta_l.yxwz;
|
||||||
|
|
||||||
vec3 A = texture2D(sampler0, TexCoord_0 -dx -dy ).xyz;
|
vec3 A = texture2D(sampler0, TexCoord_0 -dx -dy ).xyz;
|
||||||
vec3 B = texture2D(sampler0, TexCoord_0 -dy ).xyz;
|
vec3 B = texture2D(sampler0, TexCoord_0 -dy ).xyz;
|
||||||
vec3 C = texture2D(sampler0, TexCoord_0 +dx -dy ).xyz;
|
vec3 C = texture2D(sampler0, TexCoord_0 +dx -dy ).xyz;
|
||||||
vec3 D = texture2D(sampler0, TexCoord_0 -dx ).xyz;
|
vec3 D = texture2D(sampler0, TexCoord_0 -dx ).xyz;
|
||||||
vec3 E = texture2D(sampler0, TexCoord_0 ).xyz;
|
vec3 E = texture2D(sampler0, TexCoord_0 ).xyz;
|
||||||
vec3 F = texture2D(sampler0, TexCoord_0 +dx ).xyz;
|
vec3 F = texture2D(sampler0, TexCoord_0 +dx ).xyz;
|
||||||
vec3 G = texture2D(sampler0, TexCoord_0 -dx +dy ).xyz;
|
vec3 G = texture2D(sampler0, TexCoord_0 -dx +dy ).xyz;
|
||||||
vec3 H = texture2D(sampler0, TexCoord_0 +dy ).xyz;
|
vec3 H = texture2D(sampler0, TexCoord_0 +dy ).xyz;
|
||||||
vec3 I = texture2D(sampler0, TexCoord_0 +dx +dy ).xyz;
|
vec3 I = texture2D(sampler0, TexCoord_0 +dx +dy ).xyz;
|
||||||
vec3 A1 = texture2D(sampler0, TexCoord_0 -dx -y2).xyz;
|
vec3 A1 = texture2D(sampler0, TexCoord_0 -dx -y2).xyz;
|
||||||
vec3 C1 = texture2D(sampler0, TexCoord_0 +dx -y2).xyz;
|
vec3 C1 = texture2D(sampler0, TexCoord_0 +dx -y2).xyz;
|
||||||
vec3 A0 = texture2D(sampler0, TexCoord_0 -x2 -dy).xyz;
|
vec3 A0 = texture2D(sampler0, TexCoord_0 -x2 -dy).xyz;
|
||||||
vec3 G0 = texture2D(sampler0, TexCoord_0 -x2 +dy).xyz;
|
vec3 G0 = texture2D(sampler0, TexCoord_0 -x2 +dy).xyz;
|
||||||
vec3 C4 = texture2D(sampler0, TexCoord_0 +x2 -dy).xyz;
|
vec3 C4 = texture2D(sampler0, TexCoord_0 +x2 -dy).xyz;
|
||||||
vec3 I4 = texture2D(sampler0, TexCoord_0 +x2 +dy).xyz;
|
vec3 I4 = texture2D(sampler0, TexCoord_0 +x2 +dy).xyz;
|
||||||
vec3 G5 = texture2D(sampler0, TexCoord_0 -dx +y2).xyz;
|
vec3 G5 = texture2D(sampler0, TexCoord_0 -dx +y2).xyz;
|
||||||
vec3 I5 = texture2D(sampler0, TexCoord_0 +dx +y2).xyz;
|
vec3 I5 = texture2D(sampler0, TexCoord_0 +dx +y2).xyz;
|
||||||
vec3 B1 = texture2D(sampler0, TexCoord_0 -y2).xyz;
|
vec3 B1 = texture2D(sampler0, TexCoord_0 -y2).xyz;
|
||||||
vec3 D0 = texture2D(sampler0, TexCoord_0 -x2 ).xyz;
|
vec3 D0 = texture2D(sampler0, TexCoord_0 -x2 ).xyz;
|
||||||
vec3 H5 = texture2D(sampler0, TexCoord_0 +y2).xyz;
|
vec3 H5 = texture2D(sampler0, TexCoord_0 +y2).xyz;
|
||||||
vec3 F4 = texture2D(sampler0, TexCoord_0 +x2 ).xyz;
|
vec3 F4 = texture2D(sampler0, TexCoord_0 +x2 ).xyz;
|
||||||
|
|
||||||
vec4 b = vec4(dot(B ,rgbw), dot(D ,rgbw), dot(H ,rgbw), dot(F ,rgbw));
|
vec4 b = vec4(dot(B ,rgbw), dot(D ,rgbw), dot(H ,rgbw), dot(F ,rgbw));
|
||||||
vec4 c = vec4(dot(C ,rgbw), dot(A ,rgbw), dot(G ,rgbw), dot(I ,rgbw));
|
vec4 c = vec4(dot(C ,rgbw), dot(A ,rgbw), dot(G ,rgbw), dot(I ,rgbw));
|
||||||
vec4 d = b.yzwx;
|
vec4 d = b.yzwx;
|
||||||
vec4 e = vec4(dot(E,rgbw));
|
vec4 e = vec4(dot(E,rgbw));
|
||||||
vec4 f = b.wxyz;
|
vec4 f = b.wxyz;
|
||||||
vec4 g = c.zwxy;
|
vec4 g = c.zwxy;
|
||||||
vec4 h = b.zwxy;
|
vec4 h = b.zwxy;
|
||||||
vec4 i = c.wxyz;
|
vec4 i = c.wxyz;
|
||||||
vec4 i4 = vec4(dot(I4,rgbw), dot(C1,rgbw), dot(A0,rgbw), dot(G5,rgbw));
|
vec4 i4 = vec4(dot(I4,rgbw), dot(C1,rgbw), dot(A0,rgbw), dot(G5,rgbw));
|
||||||
vec4 i5 = vec4(dot(I5,rgbw), dot(C4,rgbw), dot(A1,rgbw), dot(G0,rgbw));
|
vec4 i5 = vec4(dot(I5,rgbw), dot(C4,rgbw), dot(A1,rgbw), dot(G0,rgbw));
|
||||||
vec4 h5 = vec4(dot(H5,rgbw), dot(F4,rgbw), dot(B1,rgbw), dot(D0,rgbw));
|
vec4 h5 = vec4(dot(H5,rgbw), dot(F4,rgbw), dot(B1,rgbw), dot(D0,rgbw));
|
||||||
vec4 f4 = h5.yzwx;
|
vec4 f4 = h5.yzwx;
|
||||||
|
|
||||||
// These inequations define the line below which interpolation occurs.
|
// These inequations define the line below which interpolation occurs.
|
||||||
fx = (Ao*fp.y+Bo*fp.x);
|
fx = (Ao*fp.y+Bo*fp.x);
|
||||||
fx_l = (Ax*fp.y+Bx*fp.x);
|
fx_l = (Ax*fp.y+Bx*fp.x);
|
||||||
fx_u = (Ay*fp.y+By*fp.x);
|
fx_u = (Ay*fp.y+By*fp.x);
|
||||||
irlv1 = irlv0 = diff(e,f) * diff(e,h);
|
irlv1 = irlv0 = diff(e,f) * diff(e,h);
|
||||||
#if(CornerA==0) // A takes priority skipping other corners
|
#if(CornerA==0) // A takes priority skipping other corners
|
||||||
#define SMOOTH_TIPS
|
#define SMOOTH_TIPS
|
||||||
// Corner C also default if no other ones used
|
// Corner C also default if no other ones used
|
||||||
irlv1 = (irlv0 * ( neq(f,b) * neq(f,c) + neq(h,d) * neq(h,g) + eq(e,i) * (neq(f,f4) * neq(f,i4) + neq(h,h5) * neq(h,i5)) + eq(e,g) + eq(e,c)) );
|
irlv1 = (irlv0 * ( neq(f,b) * neq(f,c) + neq(h,d) * neq(h,g) + eq(e,i) * (neq(f,f4) * neq(f,i4) + neq(h,h5) * neq(h,i5)) + eq(e,g) + eq(e,c)) );
|
||||||
int select1 = 0;
|
int select1 = 0;
|
||||||
#if(CornerB==1) // Corner B
|
#if(CornerB==1) // Corner B
|
||||||
irlv1 = (irlv0 * ( neq(f,b) * neq(h,d) + eq(e,i) * neq(f,i4) * neq(h,i5) + eq(e,g) + eq(e,c) ) );
|
irlv1 = (irlv0 * ( neq(f,b) * neq(h,d) + eq(e,i) * neq(f,i4) * neq(h,i5) + eq(e,g) + eq(e,c) ) );
|
||||||
select1 = 1;
|
select1 = 1;
|
||||||
#endif
|
#endif
|
||||||
#if(CornerD==1) // Corner D
|
#if(CornerD==1) // Corner D
|
||||||
if (select1==0) {
|
if (select1==0) {
|
||||||
vec4 c1 = i4.yzwx;
|
vec4 c1 = i4.yzwx;
|
||||||
vec4 g0 = i5.wxyz;
|
vec4 g0 = i5.wxyz;
|
||||||
irlv1 = (irlv0 * ( neq(f,b) * neq(h,d) + eq(e,i) * neq(f,i4) * neq(h,i5) + eq(e,g) + eq(e,c) ) * (diff(f,f4) * diff(f,i) + diff(h,h5) * diff(h,i) + diff(h,g) + diff(f,c) + eq(b,c1) * eq(d,g0)));
|
irlv1 = (irlv0 * ( neq(f,b) * neq(h,d) + eq(e,i) * neq(f,i4) * neq(h,i5) + eq(e,g) + eq(e,c) ) * (diff(f,f4) * diff(f,i) + diff(h,h5) * diff(h,i) + diff(h,g) + diff(f,c) + eq(b,c1) * eq(d,g0)));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
irlv2l = diff(e,g) * diff(d,g);
|
irlv2l = diff(e,g) * diff(d,g);
|
||||||
irlv2u = diff(e,c) * diff(b,c);
|
irlv2u = diff(e,c) * diff(b,c);
|
||||||
|
|
||||||
vec4 fx45i = clamp((fx + delta -Co - Ci) / (2.0*delta ), 0.0, 1.0);
|
vec4 fx45i = clamp((fx + delta -Co - Ci) / (2.0*delta ), 0.0, 1.0);
|
||||||
vec4 fx45 = clamp((fx + delta -Co ) / (2.0*delta ), 0.0, 1.0);
|
vec4 fx45 = clamp((fx + delta -Co ) / (2.0*delta ), 0.0, 1.0);
|
||||||
vec4 fx30 = clamp((fx_l + delta_l -Cx ) / (2.0*delta_l), 0.0, 1.0);
|
vec4 fx30 = clamp((fx_l + delta_l -Cx ) / (2.0*delta_l), 0.0, 1.0);
|
||||||
vec4 fx60 = clamp((fx_u + delta_u -Cy ) / (2.0*delta_u), 0.0, 1.0);
|
vec4 fx60 = clamp((fx_u + delta_u -Cy ) / (2.0*delta_u), 0.0, 1.0);
|
||||||
vec4 w1, w2;
|
vec4 w1, w2;
|
||||||
|
|
||||||
w1.x = dot(abs(E-C),rgbw) + dot(abs(E-G),rgbw) + dot(abs(I-H5),rgbw) + dot(abs(I-F4),rgbw) + 4.0*dot(abs(H-F),rgbw);
|
w1.x = dot(abs(E-C),rgbw) + dot(abs(E-G),rgbw) + dot(abs(I-H5),rgbw) + dot(abs(I-F4),rgbw) + 4.0*dot(abs(H-F),rgbw);
|
||||||
w1.y = dot(abs(E-A),rgbw) + dot(abs(E-I),rgbw) + dot(abs(C-F4),rgbw) + dot(abs(C-B1),rgbw) + 4.0*dot(abs(F-B),rgbw);
|
w1.y = dot(abs(E-A),rgbw) + dot(abs(E-I),rgbw) + dot(abs(C-F4),rgbw) + dot(abs(C-B1),rgbw) + 4.0*dot(abs(F-B),rgbw);
|
||||||
w1.z = dot(abs(E-G),rgbw) + dot(abs(E-C),rgbw) + dot(abs(A-B1),rgbw) + dot(abs(A-D0),rgbw) + 4.0*dot(abs(B-D),rgbw);
|
w1.z = dot(abs(E-G),rgbw) + dot(abs(E-C),rgbw) + dot(abs(A-B1),rgbw) + dot(abs(A-D0),rgbw) + 4.0*dot(abs(B-D),rgbw);
|
||||||
w1.w = dot(abs(E-I),rgbw) + dot(abs(E-A),rgbw) + dot(abs(G-D0),rgbw) + dot(abs(G-H5),rgbw) + 4.0*dot(abs(D-H),rgbw);
|
w1.w = dot(abs(E-I),rgbw) + dot(abs(E-A),rgbw) + dot(abs(G-D0),rgbw) + dot(abs(G-H5),rgbw) + 4.0*dot(abs(D-H),rgbw);
|
||||||
w2.x = dot(abs(H-D),rgbw) + dot(abs(H-I5),rgbw) + dot(abs(F-I4),rgbw) + dot(abs(F-B),rgbw) + 4.0*dot(abs(E-I),rgbw);
|
w2.x = dot(abs(H-D),rgbw) + dot(abs(H-I5),rgbw) + dot(abs(F-I4),rgbw) + dot(abs(F-B),rgbw) + 4.0*dot(abs(E-I),rgbw);
|
||||||
w2.y = dot(abs(F-H),rgbw) + dot(abs(F-C4),rgbw) + dot(abs(B-C1),rgbw) + dot(abs(B-D),rgbw) + 4.0*dot(abs(E-C),rgbw);
|
w2.y = dot(abs(F-H),rgbw) + dot(abs(F-C4),rgbw) + dot(abs(B-C1),rgbw) + dot(abs(B-D),rgbw) + 4.0*dot(abs(E-C),rgbw);
|
||||||
w2.z = dot(abs(B-F),rgbw) + dot(abs(B-A1),rgbw) + dot(abs(D-A0),rgbw) + dot(abs(D-H),rgbw) + 4.0*dot(abs(E-A),rgbw);
|
w2.z = dot(abs(B-F),rgbw) + dot(abs(B-A1),rgbw) + dot(abs(D-A0),rgbw) + dot(abs(D-H),rgbw) + 4.0*dot(abs(E-A),rgbw);
|
||||||
w2.w = dot(abs(D-B),rgbw) + dot(abs(D-G0),rgbw) + dot(abs(H-G5),rgbw) + dot(abs(H-F),rgbw) + 4.0*dot(abs(E-G),rgbw);
|
w2.w = dot(abs(D-B),rgbw) + dot(abs(D-G0),rgbw) + dot(abs(H-G5),rgbw) + dot(abs(H-F),rgbw) + 4.0*dot(abs(E-G),rgbw);
|
||||||
|
|
||||||
edri = step(w1, w2) * irlv0;
|
edri = step(w1, w2) * irlv0;
|
||||||
edr = step(w1 + vec4(0.1, 0.1, 0.1, 0.1), w2) * step(vec4(0.5, 0.5, 0.5, 0.5), irlv1);
|
edr = step(w1 + vec4(0.1, 0.1, 0.1, 0.1), w2) * step(vec4(0.5, 0.5, 0.5, 0.5), irlv1);
|
||||||
|
|
||||||
w1.x = dot(abs(F-G),rgbw); w1.y = dot(abs(B-I),rgbw); w1.z = dot(abs(D-C),rgbw); w1.w = dot(abs(H-A),rgbw);
|
w1.x = dot(abs(F-G),rgbw); w1.y = dot(abs(B-I),rgbw); w1.z = dot(abs(D-C),rgbw); w1.w = dot(abs(H-A),rgbw);
|
||||||
w2.x = dot(abs(H-C),rgbw); w2.y = dot(abs(F-A),rgbw); w2.z = dot(abs(B-G),rgbw); w2.w = dot(abs(D-I),rgbw);
|
w2.x = dot(abs(H-C),rgbw); w2.y = dot(abs(F-A),rgbw); w2.z = dot(abs(B-G),rgbw); w2.w = dot(abs(D-I),rgbw);
|
||||||
|
|
||||||
edr_l = step( lv2_cf*w1, w2 ) * irlv2l * edr;
|
edr_l = step( lv2_cf*w1, w2 ) * irlv2l * edr;
|
||||||
edr_u = step( lv2_cf*w2, w1 ) * irlv2u * edr;
|
edr_u = step( lv2_cf*w2, w1 ) * irlv2u * edr;
|
||||||
|
|
||||||
fx45 = edr * fx45;
|
fx45 = edr * fx45;
|
||||||
fx30 = edr_l * fx30;
|
fx30 = edr_l * fx30;
|
||||||
fx60 = edr_u * fx60;
|
fx60 = edr_u * fx60;
|
||||||
fx45i = edri * fx45i;
|
fx45i = edri * fx45i;
|
||||||
|
|
||||||
w1.x = dot(abs(E-F),rgbw); w1.y = dot(abs(E-B),rgbw); w1.z = dot(abs(E-D),rgbw); w1.w = dot(abs(E-H),rgbw);
|
w1.x = dot(abs(E-F),rgbw); w1.y = dot(abs(E-B),rgbw); w1.z = dot(abs(E-D),rgbw); w1.w = dot(abs(E-H),rgbw);
|
||||||
w2.x = dot(abs(E-H),rgbw); w2.y = dot(abs(E-F),rgbw); w2.z = dot(abs(E-B),rgbw); w2.w = dot(abs(E-D),rgbw);
|
w2.x = dot(abs(E-H),rgbw); w2.y = dot(abs(E-F),rgbw); w2.z = dot(abs(E-B),rgbw); w2.w = dot(abs(E-D),rgbw);
|
||||||
|
|
||||||
px = step(w1, w2);
|
px = step(w1, w2);
|
||||||
#ifdef SMOOTH_TIPS
|
#ifdef SMOOTH_TIPS
|
||||||
vec4 maximos = max(max(fx30, fx60), max(fx45, fx45i));
|
vec4 maximos = max(max(fx30, fx60), max(fx45, fx45i));
|
||||||
#else
|
#else
|
||||||
vec4 maximos = max(max(fx30, fx60), fx45);
|
vec4 maximos = max(max(fx30, fx60), fx45);
|
||||||
#endif
|
#endif
|
||||||
vec3 res1 = E;
|
vec3 res1 = E;
|
||||||
res1 = mix(res1, mix(H, F, px.x), maximos.x);
|
res1 = mix(res1, mix(H, F, px.x), maximos.x);
|
||||||
res1 = mix(res1, mix(B, D, px.z), maximos.z);
|
res1 = mix(res1, mix(B, D, px.z), maximos.z);
|
||||||
|
|
||||||
vec3 res2 = E;
|
vec3 res2 = E;
|
||||||
res2 = mix(res2, mix(F, B, px.y), maximos.y);
|
res2 = mix(res2, mix(F, B, px.y), maximos.y);
|
||||||
res2 = mix(res2, mix(D, H, px.w), maximos.w);
|
res2 = mix(res2, mix(D, H, px.w), maximos.w);
|
||||||
|
|
||||||
res = mix(res1, res2, step(c_df(E, res1), c_df(E, res2)));
|
res = mix(res1, res2, step(c_df(E, res1), c_df(E, res2)));
|
||||||
}
|
}
|
||||||
gl_FragColor.xyz = res;
|
gl_FragColor.xyz = res;
|
||||||
gl_FragColor.a = 1.0;
|
gl_FragColor.a = 1.0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,133 +1,133 @@
|
|||||||
/*
|
/*
|
||||||
Hyllian's 5xBR v3.5a Shader
|
Hyllian's 5xBR v3.5a Shader
|
||||||
|
|
||||||
Copyright (C) 2011 Hyllian/Jararaca - sergiogdb@gmail.com
|
Copyright (C) 2011 Hyllian/Jararaca - sergiogdb@gmail.com
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or
|
This program is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU General Public License
|
modify it under the terms of the GNU General Public License
|
||||||
as published by the Free Software Foundation; either version 2
|
as published by the Free Software Foundation; either version 2
|
||||||
of the License, or (at your option) any later version.
|
of the License, or (at your option) any later version.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
#ifdef GL_ES
|
#ifdef GL_ES
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
precision mediump int;
|
precision mediump int;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
uniform vec2 u_texelDelta;
|
uniform vec2 u_texelDelta;
|
||||||
uniform vec2 u_pixelDelta;
|
uniform vec2 u_pixelDelta;
|
||||||
varying vec2 v_texcoord0;
|
varying vec2 v_texcoord0;
|
||||||
|
|
||||||
const float coef = 2.0;
|
const float coef = 2.0;
|
||||||
const vec3 rgbw = vec3(16.163, 23.351, 8.4772);
|
const vec3 rgbw = vec3(16.163, 23.351, 8.4772);
|
||||||
|
|
||||||
const vec4 Ao = vec4( 1.0, -1.0, -1.0, 1.0 );
|
const vec4 Ao = vec4( 1.0, -1.0, -1.0, 1.0 );
|
||||||
const vec4 Bo = vec4( 1.0, 1.0, -1.0,-1.0 );
|
const vec4 Bo = vec4( 1.0, 1.0, -1.0,-1.0 );
|
||||||
const vec4 Co = vec4( 1.5, 0.5, -0.5, 0.5 );
|
const vec4 Co = vec4( 1.5, 0.5, -0.5, 0.5 );
|
||||||
const vec4 Ax = vec4( 1.0, -1.0, -1.0, 1.0 );
|
const vec4 Ax = vec4( 1.0, -1.0, -1.0, 1.0 );
|
||||||
const vec4 Bx = vec4( 0.5, 2.0, -0.5,-2.0 );
|
const vec4 Bx = vec4( 0.5, 2.0, -0.5,-2.0 );
|
||||||
const vec4 Cx = vec4( 1.0, 1.0, -0.5, 0.0 );
|
const vec4 Cx = vec4( 1.0, 1.0, -0.5, 0.0 );
|
||||||
const vec4 Ay = vec4( 1.0, -1.0, -1.0, 1.0 );
|
const vec4 Ay = vec4( 1.0, -1.0, -1.0, 1.0 );
|
||||||
const vec4 By = vec4( 2.0, 0.5, -2.0,-0.5 );
|
const vec4 By = vec4( 2.0, 0.5, -2.0,-0.5 );
|
||||||
const vec4 Cy = vec4( 2.0, 0.0, -1.0, 0.5 );
|
const vec4 Cy = vec4( 2.0, 0.0, -1.0, 0.5 );
|
||||||
|
|
||||||
|
|
||||||
vec4 df(vec4 A, vec4 B) {
|
vec4 df(vec4 A, vec4 B) {
|
||||||
return abs(A-B);
|
return abs(A-B);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) {
|
vec4 weighted_distance(vec4 a, vec4 b, vec4 c, vec4 d, vec4 e, vec4 f, vec4 g, vec4 h) {
|
||||||
return (df(a,b) + df(a,c) + df(d,e) + df(d,f) + 4.0*df(g,h));
|
return (df(a,b) + df(a,c) + df(d,e) + df(d,f) + 4.0*df(g,h));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void main(){
|
void main(){
|
||||||
|
|
||||||
bool upscale = u_texelDelta.x > (1.6 * u_pixelDelta.x);
|
bool upscale = u_texelDelta.x > (1.6 * u_pixelDelta.x);
|
||||||
vec3 res = texture2D(sampler0, v_texcoord0.xy).xyz;
|
vec3 res = texture2D(sampler0, v_texcoord0.xy).xyz;
|
||||||
|
|
||||||
// Let's skip the whole scaling if output size smaller than 1.6x of input size
|
// Let's skip the whole scaling if output size smaller than 1.6x of input size
|
||||||
if (upscale) {
|
if (upscale) {
|
||||||
|
|
||||||
bvec4 edr, edr_left, edr_up, px; // px = pixel, edr = edge detection rule
|
bvec4 edr, edr_left, edr_up, px; // px = pixel, edr = edge detection rule
|
||||||
bvec4 interp_restriction_lv1, interp_restriction_lv2_left, interp_restriction_lv2_up;
|
bvec4 interp_restriction_lv1, interp_restriction_lv2_left, interp_restriction_lv2_up;
|
||||||
bvec4 nc; // new_color
|
bvec4 nc; // new_color
|
||||||
bvec4 fx, fx_left, fx_up; // inequations of straight lines.
|
bvec4 fx, fx_left, fx_up; // inequations of straight lines.
|
||||||
|
|
||||||
vec2 pS = 1.0 / u_texelDelta.xy;
|
vec2 pS = 1.0 / u_texelDelta.xy;
|
||||||
vec2 fp = fract(v_texcoord0.xy*pS.xy);
|
vec2 fp = fract(v_texcoord0.xy*pS.xy);
|
||||||
vec2 TexCoord_0 = v_texcoord0.xy-fp*u_pixelDelta.xy;
|
vec2 TexCoord_0 = v_texcoord0.xy-fp*u_pixelDelta.xy;
|
||||||
vec2 dx = vec2(u_texelDelta.x,0.0);
|
vec2 dx = vec2(u_texelDelta.x,0.0);
|
||||||
vec2 dy = vec2(0.0,u_texelDelta.y);
|
vec2 dy = vec2(0.0,u_texelDelta.y);
|
||||||
vec2 y2 = dy + dy; vec2 x2 = dx + dx;
|
vec2 y2 = dy + dy; vec2 x2 = dx + dx;
|
||||||
|
|
||||||
vec3 A = texture2D(sampler0, TexCoord_0 -dx -dy ).xyz;
|
vec3 A = texture2D(sampler0, TexCoord_0 -dx -dy ).xyz;
|
||||||
vec3 B = texture2D(sampler0, TexCoord_0 -dy ).xyz;
|
vec3 B = texture2D(sampler0, TexCoord_0 -dy ).xyz;
|
||||||
vec3 C = texture2D(sampler0, TexCoord_0 +dx -dy ).xyz;
|
vec3 C = texture2D(sampler0, TexCoord_0 +dx -dy ).xyz;
|
||||||
vec3 D = texture2D(sampler0, TexCoord_0 -dx ).xyz;
|
vec3 D = texture2D(sampler0, TexCoord_0 -dx ).xyz;
|
||||||
vec3 E = texture2D(sampler0, TexCoord_0 ).xyz;
|
vec3 E = texture2D(sampler0, TexCoord_0 ).xyz;
|
||||||
vec3 F = texture2D(sampler0, TexCoord_0 +dx ).xyz;
|
vec3 F = texture2D(sampler0, TexCoord_0 +dx ).xyz;
|
||||||
vec3 G = texture2D(sampler0, TexCoord_0 -dx +dy ).xyz;
|
vec3 G = texture2D(sampler0, TexCoord_0 -dx +dy ).xyz;
|
||||||
vec3 H = texture2D(sampler0, TexCoord_0 +dy ).xyz;
|
vec3 H = texture2D(sampler0, TexCoord_0 +dy ).xyz;
|
||||||
vec3 I = texture2D(sampler0, TexCoord_0 +dx +dy ).xyz;
|
vec3 I = texture2D(sampler0, TexCoord_0 +dx +dy ).xyz;
|
||||||
vec3 A1 = texture2D(sampler0, TexCoord_0 -dx -y2).xyz;
|
vec3 A1 = texture2D(sampler0, TexCoord_0 -dx -y2).xyz;
|
||||||
vec3 C1 = texture2D(sampler0, TexCoord_0 +dx -y2).xyz;
|
vec3 C1 = texture2D(sampler0, TexCoord_0 +dx -y2).xyz;
|
||||||
vec3 A0 = texture2D(sampler0, TexCoord_0 -x2 -dy).xyz;
|
vec3 A0 = texture2D(sampler0, TexCoord_0 -x2 -dy).xyz;
|
||||||
vec3 G0 = texture2D(sampler0, TexCoord_0 -x2 +dy).xyz;
|
vec3 G0 = texture2D(sampler0, TexCoord_0 -x2 +dy).xyz;
|
||||||
vec3 C4 = texture2D(sampler0, TexCoord_0 +x2 -dy).xyz;
|
vec3 C4 = texture2D(sampler0, TexCoord_0 +x2 -dy).xyz;
|
||||||
vec3 I4 = texture2D(sampler0, TexCoord_0 +x2 +dy).xyz;
|
vec3 I4 = texture2D(sampler0, TexCoord_0 +x2 +dy).xyz;
|
||||||
vec3 G5 = texture2D(sampler0, TexCoord_0 -dx +y2).xyz;
|
vec3 G5 = texture2D(sampler0, TexCoord_0 -dx +y2).xyz;
|
||||||
vec3 I5 = texture2D(sampler0, TexCoord_0 +dx +y2).xyz;
|
vec3 I5 = texture2D(sampler0, TexCoord_0 +dx +y2).xyz;
|
||||||
vec3 B1 = texture2D(sampler0, TexCoord_0 -y2).xyz;
|
vec3 B1 = texture2D(sampler0, TexCoord_0 -y2).xyz;
|
||||||
vec3 D0 = texture2D(sampler0, TexCoord_0 -x2 ).xyz;
|
vec3 D0 = texture2D(sampler0, TexCoord_0 -x2 ).xyz;
|
||||||
vec3 H5 = texture2D(sampler0, TexCoord_0 +y2).xyz;
|
vec3 H5 = texture2D(sampler0, TexCoord_0 +y2).xyz;
|
||||||
vec3 F4 = texture2D(sampler0, TexCoord_0 +x2 ).xyz;
|
vec3 F4 = texture2D(sampler0, TexCoord_0 +x2 ).xyz;
|
||||||
|
|
||||||
vec4 b = vec4(dot(B ,rgbw), dot(D ,rgbw), dot(H ,rgbw), dot(F ,rgbw));
|
vec4 b = vec4(dot(B ,rgbw), dot(D ,rgbw), dot(H ,rgbw), dot(F ,rgbw));
|
||||||
vec4 c = vec4(dot(C ,rgbw), dot(A ,rgbw), dot(G ,rgbw), dot(I ,rgbw));
|
vec4 c = vec4(dot(C ,rgbw), dot(A ,rgbw), dot(G ,rgbw), dot(I ,rgbw));
|
||||||
vec4 d = vec4(b.y, b.z, b.w, b.x);
|
vec4 d = vec4(b.y, b.z, b.w, b.x);
|
||||||
vec4 e = vec4(dot(E,rgbw));
|
vec4 e = vec4(dot(E,rgbw));
|
||||||
vec4 f = vec4(b.w, b.x, b.y, b.z);
|
vec4 f = vec4(b.w, b.x, b.y, b.z);
|
||||||
vec4 g = vec4(c.z, c.w, c.x, c.y);
|
vec4 g = vec4(c.z, c.w, c.x, c.y);
|
||||||
vec4 h = vec4(b.z, b.w, b.x, b.y);
|
vec4 h = vec4(b.z, b.w, b.x, b.y);
|
||||||
vec4 i = vec4(c.w, c.x, c.y, c.z);
|
vec4 i = vec4(c.w, c.x, c.y, c.z);
|
||||||
vec4 i4 = vec4(dot(I4,rgbw), dot(C1,rgbw), dot(A0,rgbw), dot(G5,rgbw));
|
vec4 i4 = vec4(dot(I4,rgbw), dot(C1,rgbw), dot(A0,rgbw), dot(G5,rgbw));
|
||||||
vec4 i5 = vec4(dot(I5,rgbw), dot(C4,rgbw), dot(A1,rgbw), dot(G0,rgbw));
|
vec4 i5 = vec4(dot(I5,rgbw), dot(C4,rgbw), dot(A1,rgbw), dot(G0,rgbw));
|
||||||
vec4 h5 = vec4(dot(H5,rgbw), dot(F4,rgbw), dot(B1,rgbw), dot(D0,rgbw));
|
vec4 h5 = vec4(dot(H5,rgbw), dot(F4,rgbw), dot(B1,rgbw), dot(D0,rgbw));
|
||||||
vec4 f4 = vec4(h5.y, h5.z, h5.w, h5.x);
|
vec4 f4 = vec4(h5.y, h5.z, h5.w, h5.x);
|
||||||
|
|
||||||
// These inequations define the line below which interpolation occurs.
|
// These inequations define the line below which interpolation occurs.
|
||||||
fx = greaterThan(Ao*fp.y+Bo*fp.x,Co);
|
fx = greaterThan(Ao*fp.y+Bo*fp.x,Co);
|
||||||
fx_left = greaterThan(Ax*fp.y+Bx*fp.x,Cx);
|
fx_left = greaterThan(Ax*fp.y+Bx*fp.x,Cx);
|
||||||
fx_up = greaterThan(Ay*fp.y+By*fp.x,Cy);
|
fx_up = greaterThan(Ay*fp.y+By*fp.x,Cy);
|
||||||
|
|
||||||
interp_restriction_lv1 = bvec4(vec4(notEqual(e,f))*vec4(notEqual(e,h)));
|
interp_restriction_lv1 = bvec4(vec4(notEqual(e,f))*vec4(notEqual(e,h)));
|
||||||
interp_restriction_lv2_left = bvec4(vec4(notEqual(e,g))*vec4(notEqual(d,g)));
|
interp_restriction_lv2_left = bvec4(vec4(notEqual(e,g))*vec4(notEqual(d,g)));
|
||||||
interp_restriction_lv2_up = bvec4(vec4(notEqual(e,c))*vec4(notEqual(b,c)));
|
interp_restriction_lv2_up = bvec4(vec4(notEqual(e,c))*vec4(notEqual(b,c)));
|
||||||
|
|
||||||
edr = bvec4(vec4(lessThan(weighted_distance( e, c, g, i, h5, f4, h, f), weighted_distance( h, d, i5, f, i4, b, e, i)))*vec4(interp_restriction_lv1));
|
edr = bvec4(vec4(lessThan(weighted_distance( e, c, g, i, h5, f4, h, f), weighted_distance( h, d, i5, f, i4, b, e, i)))*vec4(interp_restriction_lv1));
|
||||||
edr_left = bvec4(vec4(lessThanEqual(coef*df(f,g),df(h,c)))*vec4(interp_restriction_lv2_left));
|
edr_left = bvec4(vec4(lessThanEqual(coef*df(f,g),df(h,c)))*vec4(interp_restriction_lv2_left));
|
||||||
edr_up = bvec4(vec4(greaterThanEqual(df(f,g),coef*df(h,c)))*vec4(interp_restriction_lv2_up));
|
edr_up = bvec4(vec4(greaterThanEqual(df(f,g),coef*df(h,c)))*vec4(interp_restriction_lv2_up));
|
||||||
|
|
||||||
nc.x = ( edr.x && (fx.x || edr_left.x && fx_left.x || edr_up.x && fx_up.x) );
|
nc.x = ( edr.x && (fx.x || edr_left.x && fx_left.x || edr_up.x && fx_up.x) );
|
||||||
nc.y = ( edr.y && (fx.y || edr_left.y && fx_left.y || edr_up.y && fx_up.y) );
|
nc.y = ( edr.y && (fx.y || edr_left.y && fx_left.y || edr_up.y && fx_up.y) );
|
||||||
nc.z = ( edr.z && (fx.z || edr_left.z && fx_left.z || edr_up.z && fx_up.z) );
|
nc.z = ( edr.z && (fx.z || edr_left.z && fx_left.z || edr_up.z && fx_up.z) );
|
||||||
nc.w = ( edr.w && (fx.w || edr_left.w && fx_left.w || edr_up.w && fx_up.w) );
|
nc.w = ( edr.w && (fx.w || edr_left.w && fx_left.w || edr_up.w && fx_up.w) );
|
||||||
|
|
||||||
px = lessThanEqual(df(e,f),df(e,h));
|
px = lessThanEqual(df(e,f),df(e,h));
|
||||||
|
|
||||||
res = nc.x ? px.x ? F : H : nc.y ? px.y ? B : F : nc.z ? px.z ? D : B : nc.w ? px.w ? H : D : E;
|
res = nc.x ? px.x ? F : H : nc.y ? px.y ? B : F : nc.z ? px.z ? D : B : nc.w ? px.w ? H : D : E;
|
||||||
}
|
}
|
||||||
gl_FragColor.rgb = res;
|
gl_FragColor.rgb = res;
|
||||||
gl_FragColor.a = 1.0;
|
gl_FragColor.a = 1.0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,28 +1,34 @@
|
|||||||
/*
|
/*
|
||||||
Hyllian's 5xBR v3.5a Shader
|
Hyllian's 5xBR v3.5a Shader
|
||||||
|
|
||||||
Copyright (C) 2011 Hyllian/Jararaca - sergiogdb@gmail.com
|
Copyright (C) 2011 Hyllian/Jararaca - sergiogdb@gmail.com
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or
|
This program is free software; you can redistribute it and/or
|
||||||
modify it under the terms of the GNU General Public License
|
modify it under the terms of the GNU General Public License
|
||||||
as published by the Free Software Foundation; either version 2
|
as published by the Free Software Foundation; either version 2
|
||||||
of the License, or (at your option) any later version.
|
of the License, or (at your option) any later version.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
attribute vec4 a_position;
|
|
||||||
attribute vec2 a_texcoord0;
|
#ifdef GL_ES
|
||||||
varying vec2 v_texcoord0;
|
precision mediump float;
|
||||||
|
precision mediump int;
|
||||||
void main() {
|
#endif
|
||||||
v_texcoord0 = a_texcoord0;
|
|
||||||
gl_Position = a_position;
|
attribute vec4 a_position;
|
||||||
|
attribute vec2 a_texcoord0;
|
||||||
|
varying vec2 v_texcoord0;
|
||||||
|
|
||||||
|
void main() {
|
||||||
|
v_texcoord0 = a_texcoord0;
|
||||||
|
gl_Position = a_position;
|
||||||
}
|
}
|
||||||
@@ -1,73 +1,73 @@
|
|||||||
// PPSSPP: Simple Gauss filter
|
// PPSSPP: Simple Gauss filter
|
||||||
// Made by Bigpet
|
// Made by Bigpet
|
||||||
|
|
||||||
#ifdef GL_ES
|
#ifdef GL_ES
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
precision mediump int;
|
precision mediump int;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
|
|
||||||
// The inverse of the texture dimensions along X and Y
|
// The inverse of the texture dimensions along X and Y
|
||||||
uniform vec2 u_texelDelta;
|
uniform vec2 u_texelDelta;
|
||||||
uniform vec2 u_pixelDelta;
|
uniform vec2 u_pixelDelta;
|
||||||
varying vec2 v_texcoord0;
|
varying vec2 v_texcoord0;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
// The parameters are hardcoded for now, but could be
|
// The parameters are hardcoded for now, but could be
|
||||||
// made into uniforms to control fromt he program.
|
// made into uniforms to control fromt he program.
|
||||||
float GAUSS_SPAN_MAX = 1.5;
|
float GAUSS_SPAN_MAX = 1.5;
|
||||||
|
|
||||||
//just a variable to describe the maximu
|
//just a variable to describe the maximu
|
||||||
float GAUSS_KERNEL_SIZE = 5.0;
|
float GAUSS_KERNEL_SIZE = 5.0;
|
||||||
//indices
|
//indices
|
||||||
// XX XX 00 XX XX
|
// XX XX 00 XX XX
|
||||||
// XX 01 02 03 XX
|
// XX 01 02 03 XX
|
||||||
// 04 05 06 07 08
|
// 04 05 06 07 08
|
||||||
// XX 09 10 11 XX
|
// XX 09 10 11 XX
|
||||||
// XX XX 12 XX XX
|
// XX XX 12 XX XX
|
||||||
|
|
||||||
//filter strength, rather smooth
|
//filter strength, rather smooth
|
||||||
// XX XX 01 XX XX
|
// XX XX 01 XX XX
|
||||||
// XX 03 08 03 XX
|
// XX 03 08 03 XX
|
||||||
// 01 08 10 08 01
|
// 01 08 10 08 01
|
||||||
// XX 03 08 03 XX
|
// XX 03 08 03 XX
|
||||||
// XX XX 01 XX XX
|
// XX XX 01 XX XX
|
||||||
|
|
||||||
vec2 offset = u_pixelDelta*GAUSS_SPAN_MAX/GAUSS_KERNEL_SIZE;
|
vec2 offset = u_pixelDelta*GAUSS_SPAN_MAX/GAUSS_KERNEL_SIZE;
|
||||||
|
|
||||||
vec3 rgbSimple0 = 1.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 0.0,-2.0)).xyz;
|
vec3 rgbSimple0 = 1.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 0.0,-2.0)).xyz;
|
||||||
vec3 rgbSimple1 = 3.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2(-1.0,-1.0)).xyz;
|
vec3 rgbSimple1 = 3.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2(-1.0,-1.0)).xyz;
|
||||||
vec3 rgbSimple2 = 8.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 0.0,-1.0)).xyz;
|
vec3 rgbSimple2 = 8.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 0.0,-1.0)).xyz;
|
||||||
vec3 rgbSimple3 = 3.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 1.0,-1.0)).xyz;
|
vec3 rgbSimple3 = 3.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 1.0,-1.0)).xyz;
|
||||||
vec3 rgbSimple4 = 1.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2(-2.0, 0.0)).xyz;
|
vec3 rgbSimple4 = 1.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2(-2.0, 0.0)).xyz;
|
||||||
vec3 rgbSimple5 = 8.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2(-1.0, 0.0)).xyz;
|
vec3 rgbSimple5 = 8.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2(-1.0, 0.0)).xyz;
|
||||||
vec3 rgbSimple6 = 10.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 0.0, 0.0)).xyz;
|
vec3 rgbSimple6 = 10.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 0.0, 0.0)).xyz;
|
||||||
vec3 rgbSimple7 = 8.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 1.0, 0.0)).xyz;
|
vec3 rgbSimple7 = 8.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 1.0, 0.0)).xyz;
|
||||||
vec3 rgbSimple8 = 1.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 2.0, 0.0)).xyz;
|
vec3 rgbSimple8 = 1.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 2.0, 0.0)).xyz;
|
||||||
vec3 rgbSimple9 = 3.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2(-1.0, 1.0)).xyz;
|
vec3 rgbSimple9 = 3.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2(-1.0, 1.0)).xyz;
|
||||||
vec3 rgbSimple10= 8.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 0.0, 1.0)).xyz;
|
vec3 rgbSimple10= 8.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 0.0, 1.0)).xyz;
|
||||||
vec3 rgbSimple11= 3.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 1.0, 1.0)).xyz;
|
vec3 rgbSimple11= 3.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 1.0, 1.0)).xyz;
|
||||||
vec3 rgbSimple12= 1.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 0.0, 2.0)).xyz;
|
vec3 rgbSimple12= 1.0 * texture2D(sampler0, v_texcoord0.xy + offset * vec2( 0.0, 2.0)).xyz;
|
||||||
//vec3 rgbSimple10= vec3(1.0,0.0,0.0);
|
//vec3 rgbSimple10= vec3(1.0,0.0,0.0);
|
||||||
//vec3 rgbSimple11= vec3(1.0,0.0,0.0);
|
//vec3 rgbSimple11= vec3(1.0,0.0,0.0);
|
||||||
//vec3 rgbSimple12= vec3(1.0,0.0,0.0);
|
//vec3 rgbSimple12= vec3(1.0,0.0,0.0);
|
||||||
|
|
||||||
vec3 rgb = rgbSimple0 +
|
vec3 rgb = rgbSimple0 +
|
||||||
rgbSimple1 +
|
rgbSimple1 +
|
||||||
rgbSimple2 +
|
rgbSimple2 +
|
||||||
rgbSimple3 +
|
rgbSimple3 +
|
||||||
rgbSimple4 +
|
rgbSimple4 +
|
||||||
rgbSimple5 +
|
rgbSimple5 +
|
||||||
rgbSimple6 +
|
rgbSimple6 +
|
||||||
rgbSimple7 +
|
rgbSimple7 +
|
||||||
rgbSimple8 +
|
rgbSimple8 +
|
||||||
rgbSimple9 +
|
rgbSimple9 +
|
||||||
rgbSimple10 +
|
rgbSimple10 +
|
||||||
rgbSimple11 +
|
rgbSimple11 +
|
||||||
rgbSimple12;
|
rgbSimple12;
|
||||||
rgb = rgb / 58.0;
|
rgb = rgb / 58.0;
|
||||||
gl_FragColor.xyz=rgb;
|
gl_FragColor.xyz=rgb;
|
||||||
gl_FragColor.a = 1.0;
|
gl_FragColor.a = 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,69 +1,69 @@
|
|||||||
// AA-Color shader, Modified to use in PPSSPP. Grabbed from:
|
// AA-Color shader, Modified to use in PPSSPP. Grabbed from:
|
||||||
// http://forums.ngemu.com/showthread.php?t=76098
|
// http://forums.ngemu.com/showthread.php?t=76098
|
||||||
|
|
||||||
// by guest(r) (guest.r@gmail.com)
|
// by guest(r) (guest.r@gmail.com)
|
||||||
// license: GNU-GPL
|
// license: GNU-GPL
|
||||||
|
|
||||||
// Color variables
|
// Color variables
|
||||||
|
|
||||||
#ifdef GL_ES
|
#ifdef GL_ES
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
precision mediump int;
|
precision mediump int;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const vec3 c_ch = vec3(1.0,1.0,1.0); // rgb color channel intensity
|
const vec3 c_ch = vec3(1.0,1.0,1.0); // rgb color channel intensity
|
||||||
const float a = 1.20 ; // saturation
|
const float a = 1.20 ; // saturation
|
||||||
const float b = 1.00 ; // brightness
|
const float b = 1.00 ; // brightness
|
||||||
const float c = 1.25 ; // contrast
|
const float c = 1.25 ; // contrast
|
||||||
|
|
||||||
// you can use contrast1,contrast2...contrast4 (or contrast0 for speedup)
|
// you can use contrast1,contrast2...contrast4 (or contrast0 for speedup)
|
||||||
|
|
||||||
float contrast0(float x)
|
float contrast0(float x)
|
||||||
{ return x; }
|
{ return x; }
|
||||||
|
|
||||||
float contrast1(float x)
|
float contrast1(float x)
|
||||||
{ x = x*1.1547-1.0;
|
{ x = x*1.1547-1.0;
|
||||||
return sign(x)*pow(abs(x),1.0/c)*0.86 + 0.86;}
|
return sign(x)*pow(abs(x),1.0/c)*0.86 + 0.86;}
|
||||||
|
|
||||||
float contrast2(float x)
|
float contrast2(float x)
|
||||||
{ return normalize(vec2(pow(x,c),pow(0.86,c))).x*1.72;}
|
{ return normalize(vec2(pow(x,c),pow(0.86,c))).x*1.72;}
|
||||||
|
|
||||||
float contrast3(float x)
|
float contrast3(float x)
|
||||||
{ return 1.73*pow(0.57735*x,c); }
|
{ return 1.73*pow(0.57735*x,c); }
|
||||||
|
|
||||||
float contrast4(float x)
|
float contrast4(float x)
|
||||||
{ return clamp(0.866 + c*(x-0.866),0.05, 1.73); }
|
{ return clamp(0.866 + c*(x-0.866),0.05, 1.73); }
|
||||||
|
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
|
|
||||||
varying vec4 v_texcoord0;
|
varying vec4 v_texcoord0;
|
||||||
varying vec4 v_texcoord1;
|
varying vec4 v_texcoord1;
|
||||||
varying vec4 v_texcoord2;
|
varying vec4 v_texcoord2;
|
||||||
varying vec4 v_texcoord3;
|
varying vec4 v_texcoord3;
|
||||||
varying vec4 v_texcoord4;
|
varying vec4 v_texcoord4;
|
||||||
varying vec4 v_texcoord5;
|
varying vec4 v_texcoord5;
|
||||||
varying vec4 v_texcoord6;
|
varying vec4 v_texcoord6;
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec3 c10 = texture2D(sampler0, v_texcoord1.xy).xyz;
|
vec3 c10 = texture2D(sampler0, v_texcoord1.xy).xyz;
|
||||||
vec3 c01 = texture2D(sampler0, v_texcoord4.xy).xyz;
|
vec3 c01 = texture2D(sampler0, v_texcoord4.xy).xyz;
|
||||||
vec3 c11 = texture2D(sampler0, v_texcoord0.xy).xyz;
|
vec3 c11 = texture2D(sampler0, v_texcoord0.xy).xyz;
|
||||||
vec3 c21 = texture2D(sampler0, v_texcoord5.xy).xyz;
|
vec3 c21 = texture2D(sampler0, v_texcoord5.xy).xyz;
|
||||||
vec3 c12 = texture2D(sampler0, v_texcoord2.xy).xyz;
|
vec3 c12 = texture2D(sampler0, v_texcoord2.xy).xyz;
|
||||||
|
|
||||||
vec3 dt = vec3(1.0,1.0,1.0);
|
vec3 dt = vec3(1.0,1.0,1.0);
|
||||||
float k1=dot(abs(c01-c21),dt);
|
float k1=dot(abs(c01-c21),dt);
|
||||||
float k2=dot(abs(c10-c12),dt);
|
float k2=dot(abs(c10-c12),dt);
|
||||||
|
|
||||||
vec3 color = (k1*(c10+c12)+k2*(c01+c21)+0.001*c11)/(2.0*(k1+k2)+0.001);
|
vec3 color = (k1*(c10+c12)+k2*(c01+c21)+0.001*c11)/(2.0*(k1+k2)+0.001);
|
||||||
|
|
||||||
float x = sqrt(dot(color,color));
|
float x = sqrt(dot(color,color));
|
||||||
|
|
||||||
color.r = pow(color.r+0.001,a);
|
color.r = pow(color.r+0.001,a);
|
||||||
color.g = pow(color.g+0.001,a);
|
color.g = pow(color.g+0.001,a);
|
||||||
color.b = pow(color.b+0.001,a);
|
color.b = pow(color.b+0.001,a);
|
||||||
|
|
||||||
gl_FragColor.rgb = contrast4(x)*normalize(color*c_ch)*b;
|
gl_FragColor.rgb = contrast4(x)*normalize(color*c_ch)*b;
|
||||||
gl_FragColor.a = 1.0;
|
gl_FragColor.a = 1.0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,33 +1,38 @@
|
|||||||
// by guest(r) - guest.r@gmail.com
|
// by guest(r) - guest.r@gmail.com
|
||||||
// license: GNU-GPL
|
// license: GNU-GPL
|
||||||
|
|
||||||
attribute vec4 a_position;
|
#ifdef GL_ES
|
||||||
attribute vec2 a_texcoord0;
|
precision mediump float;
|
||||||
uniform vec2 u_texelDelta;
|
precision mediump int;
|
||||||
|
#endif
|
||||||
varying vec4 v_texcoord0;
|
|
||||||
varying vec4 v_texcoord1;
|
attribute vec4 a_position;
|
||||||
varying vec4 v_texcoord2;
|
attribute vec2 a_texcoord0;
|
||||||
varying vec4 v_texcoord3;
|
uniform vec2 u_texelDelta;
|
||||||
varying vec4 v_texcoord4;
|
|
||||||
varying vec4 v_texcoord5;
|
varying vec4 v_texcoord0;
|
||||||
varying vec4 v_texcoord6;
|
varying vec4 v_texcoord1;
|
||||||
|
varying vec4 v_texcoord2;
|
||||||
float scaleoffset = 0.8;
|
varying vec4 v_texcoord3;
|
||||||
|
varying vec4 v_texcoord4;
|
||||||
void main()
|
varying vec4 v_texcoord5;
|
||||||
|
varying vec4 v_texcoord6;
|
||||||
{
|
|
||||||
float x = u_texelDelta.x*scaleoffset;
|
float scaleoffset = 0.8;
|
||||||
float y = u_texelDelta.y*scaleoffset;
|
|
||||||
gl_Position = a_position;
|
void main()
|
||||||
v_texcoord0 = a_texcoord0.xyxy;
|
|
||||||
v_texcoord1 = v_texcoord0;
|
{
|
||||||
v_texcoord2 = v_texcoord0;
|
float x = u_texelDelta.x*scaleoffset;
|
||||||
v_texcoord4 = v_texcoord0;
|
float y = u_texelDelta.y*scaleoffset;
|
||||||
v_texcoord5 = v_texcoord0;
|
gl_Position = a_position;
|
||||||
v_texcoord1.y-=y;
|
v_texcoord0 = a_texcoord0.xyxy;
|
||||||
v_texcoord2.y+=y;
|
v_texcoord1 = v_texcoord0;
|
||||||
v_texcoord4.x-=x;
|
v_texcoord2 = v_texcoord0;
|
||||||
v_texcoord5.x+=x;
|
v_texcoord4 = v_texcoord0;
|
||||||
}
|
v_texcoord5 = v_texcoord0;
|
||||||
|
v_texcoord1.y-=y;
|
||||||
|
v_texcoord2.y+=y;
|
||||||
|
v_texcoord4.x-=x;
|
||||||
|
v_texcoord5.x+=x;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,48 +1,47 @@
|
|||||||
// Simple Bloom shader; created to use in PPSSPP.
|
// Simple Bloom shader; created to use in PPSSPP.
|
||||||
// Without excessive samples and complex nested loops
|
// Without excessive samples and complex nested loops
|
||||||
// (to make it compatible with low-end GPUs and to ensure ps_2_0 compatibility).
|
// (to make it compatible with low-end GPUs and to ensure ps_2_0 compatibility).
|
||||||
|
|
||||||
#ifdef GL_ES
|
#ifdef GL_ES
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
precision mediump int;
|
precision mediump int;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
varying vec2 v_texcoord0;
|
varying vec2 v_texcoord0;
|
||||||
|
|
||||||
float amount = 0.60; // suitable range = 0.00 - 1.00
|
uniform vec4 u_setting;
|
||||||
float power = 0.5; // suitable range = 0.0 - 1.0
|
|
||||||
|
void main()
|
||||||
void main()
|
{
|
||||||
{
|
vec3 color = texture2D(sampler0, v_texcoord0.xy).xyz;
|
||||||
vec3 color = texture2D(sampler0, v_texcoord0.xy).xyz;
|
vec4 sum = vec4(0);
|
||||||
vec4 sum = vec4(0);
|
vec3 bloom;
|
||||||
vec3 bloom;
|
|
||||||
|
for(int i= -3 ;i < 3; i++)
|
||||||
for(int i= -3 ;i < 3; i++)
|
{
|
||||||
{
|
sum += texture2D(sampler0, v_texcoord0 + vec2(-1, i)*0.004) * u_setting.x;
|
||||||
sum += texture2D(sampler0, v_texcoord0 + vec2(-1, i)*0.004) * amount;
|
sum += texture2D(sampler0, v_texcoord0 + vec2(0, i)*0.004) * u_setting.x;
|
||||||
sum += texture2D(sampler0, v_texcoord0 + vec2(0, i)*0.004) * amount;
|
sum += texture2D(sampler0, v_texcoord0 + vec2(1, i)*0.004) * u_setting.x;
|
||||||
sum += texture2D(sampler0, v_texcoord0 + vec2(1, i)*0.004) * amount;
|
}
|
||||||
}
|
|
||||||
|
if (color.r < 0.3 && color.g < 0.3 && color.b < 0.3)
|
||||||
if (color.r < 0.3 && color.g < 0.3 && color.b < 0.3)
|
{
|
||||||
{
|
bloom = sum.xyz*sum.xyz*0.012 + color;
|
||||||
bloom = sum.xyz*sum.xyz*0.012 + color;
|
}
|
||||||
}
|
else
|
||||||
else
|
{
|
||||||
{
|
if (color.r < 0.5 && color.g < 0.5 && color.b < 0.5)
|
||||||
if (color.r < 0.5 && color.g < 0.5 && color.b < 0.5)
|
{
|
||||||
{
|
bloom = sum.xyz*sum.xyz*0.009 + color;
|
||||||
bloom = sum.xyz*sum.xyz*0.009 + color;
|
}
|
||||||
}
|
else
|
||||||
else
|
{
|
||||||
{
|
bloom = sum.xyz*sum.xyz*0.0075 + color;
|
||||||
bloom = sum.xyz*sum.xyz*0.0075 + color;
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
bloom = mix(color, bloom, u_setting.y);
|
||||||
bloom = mix(color, bloom, power);
|
gl_FragColor.rgb = bloom;
|
||||||
gl_FragColor.rgb = bloom;
|
gl_FragColor.a = 1.0;
|
||||||
gl_FragColor.a = 1.0;
|
}
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,52 +1,52 @@
|
|||||||
// Modified to use in PPSSPP. Grabbed from:
|
// Modified to use in PPSSPP. Grabbed from:
|
||||||
// http://forums.ngemu.com/showthread.php?t=76098
|
// http://forums.ngemu.com/showthread.php?t=76098
|
||||||
|
|
||||||
// Advanced Cartoon shader I
|
// Advanced Cartoon shader I
|
||||||
// by guest(r) (guest.r@gmail.com)
|
// by guest(r) (guest.r@gmail.com)
|
||||||
// license: GNU-GPL
|
// license: GNU-GPL
|
||||||
|
|
||||||
#ifdef GL_ES
|
#ifdef GL_ES
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
precision mediump int;
|
precision mediump int;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const float bb = 0.5; // effects black border sensitivity; from 0.0 to 1.0
|
uniform vec4 u_setting;
|
||||||
|
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
|
|
||||||
varying vec4 v_texcoord0;
|
varying vec4 v_texcoord0;
|
||||||
varying vec4 v_texcoord1;
|
varying vec4 v_texcoord1;
|
||||||
varying vec4 v_texcoord2;
|
varying vec4 v_texcoord2;
|
||||||
varying vec4 v_texcoord3;
|
varying vec4 v_texcoord3;
|
||||||
varying vec4 v_texcoord4;
|
varying vec4 v_texcoord4;
|
||||||
varying vec4 v_texcoord5;
|
varying vec4 v_texcoord5;
|
||||||
varying vec4 v_texcoord6;
|
varying vec4 v_texcoord6;
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec3 c00 = texture2D(sampler0, v_texcoord5.xy).xyz;
|
vec3 c00 = texture2D(sampler0, v_texcoord5.xy).xyz;
|
||||||
vec3 c10 = texture2D(sampler0, v_texcoord1.xy).xyz;
|
vec3 c10 = texture2D(sampler0, v_texcoord1.xy).xyz;
|
||||||
vec3 c20 = texture2D(sampler0, v_texcoord2.zw).xyz;
|
vec3 c20 = texture2D(sampler0, v_texcoord2.zw).xyz;
|
||||||
vec3 c01 = texture2D(sampler0, v_texcoord3.xy).xyz;
|
vec3 c01 = texture2D(sampler0, v_texcoord3.xy).xyz;
|
||||||
vec3 c11 = texture2D(sampler0, v_texcoord0.xy).xyz;
|
vec3 c11 = texture2D(sampler0, v_texcoord0.xy).xyz;
|
||||||
vec3 c21 = texture2D(sampler0, v_texcoord4.xy).xyz;
|
vec3 c21 = texture2D(sampler0, v_texcoord4.xy).xyz;
|
||||||
vec3 c02 = texture2D(sampler0, v_texcoord1.zw).xyz;
|
vec3 c02 = texture2D(sampler0, v_texcoord1.zw).xyz;
|
||||||
vec3 c12 = texture2D(sampler0, v_texcoord2.xy).xyz;
|
vec3 c12 = texture2D(sampler0, v_texcoord2.xy).xyz;
|
||||||
vec3 c22 = texture2D(sampler0, v_texcoord6.xy).xyz;
|
vec3 c22 = texture2D(sampler0, v_texcoord6.xy).xyz;
|
||||||
vec3 dt = vec3(1.0,1.0,1.0);
|
vec3 dt = vec3(1.0,1.0,1.0);
|
||||||
|
|
||||||
float d1=dot(abs(c00-c22),dt);
|
float d1=dot(abs(c00-c22),dt);
|
||||||
float d2=dot(abs(c20-c02),dt);
|
float d2=dot(abs(c20-c02),dt);
|
||||||
float hl=dot(abs(c01-c21),dt);
|
float hl=dot(abs(c01-c21),dt);
|
||||||
float vl=dot(abs(c10-c12),dt);
|
float vl=dot(abs(c10-c12),dt);
|
||||||
float d = bb*(d1+d2+hl+vl)/(dot(c11,dt)+0.15);
|
float d = u_setting.x*(d1+d2+hl+vl)/(dot(c11,dt)+0.15);
|
||||||
|
|
||||||
float lc = 4.0*length(c11);
|
float lc = 4.0*length(c11);
|
||||||
float f = fract(lc); f*=f;
|
float f = fract(lc); f*=f;
|
||||||
lc = 0.25*(floor(lc) + f*f)+0.05;
|
lc = 0.25*(floor(lc) + f*f)+0.05;
|
||||||
c11 = 4.0*normalize(c11);
|
c11 = 4.0*normalize(c11);
|
||||||
vec3 frct = fract(c11); frct*=frct;
|
vec3 frct = fract(c11); frct*=frct;
|
||||||
c11 = floor(c11)+ 0.05*dt + frct*frct;
|
c11 = floor(c11)+ 0.05*dt + frct*frct;
|
||||||
gl_FragColor.rgb = 0.25*lc*(1.1-d*sqrt(d))*c11;
|
gl_FragColor.rgb = 0.25*lc*(1.1-d*sqrt(d))*c11;
|
||||||
gl_FragColor.a = 1.0;
|
gl_FragColor.a = 1.0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,34 +1,39 @@
|
|||||||
attribute vec4 a_position;
|
#ifdef GL_ES
|
||||||
attribute vec2 a_texcoord0;
|
precision mediump float;
|
||||||
uniform vec2 u_texelDelta;
|
precision mediump int;
|
||||||
|
#endif
|
||||||
varying vec4 v_texcoord0;
|
|
||||||
varying vec4 v_texcoord1;
|
attribute vec4 a_position;
|
||||||
varying vec4 v_texcoord2;
|
attribute vec2 a_texcoord0;
|
||||||
varying vec4 v_texcoord3;
|
uniform vec2 u_texelDelta;
|
||||||
varying vec4 v_texcoord4;
|
|
||||||
varying vec4 v_texcoord5;
|
varying vec4 v_texcoord0;
|
||||||
varying vec4 v_texcoord6;
|
varying vec4 v_texcoord1;
|
||||||
|
varying vec4 v_texcoord2;
|
||||||
float scaleoffset = 0.8; //edge detection offset
|
varying vec4 v_texcoord3;
|
||||||
|
varying vec4 v_texcoord4;
|
||||||
void main()
|
varying vec4 v_texcoord5;
|
||||||
{
|
varying vec4 v_texcoord6;
|
||||||
float x = u_texelDelta.x*scaleoffset;
|
|
||||||
float y = u_texelDelta.y*scaleoffset;
|
float scaleoffset = 0.8; //edge detection offset
|
||||||
vec2 dg1 = vec2( x,y);
|
|
||||||
vec2 dg2 = vec2(-x,y);
|
void main()
|
||||||
vec2 dx = vec2(x,0.0);
|
{
|
||||||
vec2 dy = vec2(0.0,y);
|
float x = u_texelDelta.x*scaleoffset;
|
||||||
gl_Position = a_position;
|
float y = u_texelDelta.y*scaleoffset;
|
||||||
v_texcoord0=a_texcoord0.xyxy;
|
vec2 dg1 = vec2( x,y);
|
||||||
v_texcoord1.xy = v_texcoord0.xy - dy;
|
vec2 dg2 = vec2(-x,y);
|
||||||
v_texcoord2.xy = v_texcoord0.xy + dy;
|
vec2 dx = vec2(x,0.0);
|
||||||
v_texcoord3.xy = v_texcoord0.xy - dx;
|
vec2 dy = vec2(0.0,y);
|
||||||
v_texcoord4.xy = v_texcoord0.xy + dx;
|
gl_Position = a_position;
|
||||||
v_texcoord5.xy = v_texcoord0.xy - dg1;
|
v_texcoord0=a_texcoord0.xyxy;
|
||||||
v_texcoord6.xy = v_texcoord0.xy + dg1;
|
v_texcoord1.xy = v_texcoord0.xy - dy;
|
||||||
v_texcoord1.zw = v_texcoord0.xy - dg2;
|
v_texcoord2.xy = v_texcoord0.xy + dy;
|
||||||
v_texcoord2.zw = v_texcoord0.xy + dg2;
|
v_texcoord3.xy = v_texcoord0.xy - dx;
|
||||||
|
v_texcoord4.xy = v_texcoord0.xy + dx;
|
||||||
}
|
v_texcoord5.xy = v_texcoord0.xy - dg1;
|
||||||
|
v_texcoord6.xy = v_texcoord0.xy + dg1;
|
||||||
|
v_texcoord1.zw = v_texcoord0.xy - dg2;
|
||||||
|
v_texcoord2.zw = v_texcoord0.xy + dg2;
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
20
system/PPSSPP/shaders/colorcorrection.fsh
Normal file
20
system/PPSSPP/shaders/colorcorrection.fsh
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
// Color correction
|
||||||
|
|
||||||
|
#ifdef GL_ES
|
||||||
|
precision mediump float;
|
||||||
|
precision mediump int;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
uniform sampler2D sampler0;
|
||||||
|
varying vec2 v_texcoord0;
|
||||||
|
|
||||||
|
uniform vec4 u_setting;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec3 rgb = texture2D( sampler0, v_texcoord0 ).xyz;
|
||||||
|
rgb = vec3(mix(vec3(dot(rgb, vec3(0.299, 0.587, 0.114))), rgb, u_setting.y));
|
||||||
|
rgb = (rgb-0.5)*u_setting.z+0.5+u_setting.x-1.0;
|
||||||
|
gl_FragColor.rgb = pow(rgb, vec3(1.0/u_setting.w));
|
||||||
|
gl_FragColor.a = 1.0;
|
||||||
|
}
|
||||||
@@ -1,33 +1,33 @@
|
|||||||
// Retro (CRT) shader, created to use in PPSSPP.
|
// Retro (CRT) shader, created to use in PPSSPP.
|
||||||
|
|
||||||
#ifdef GL_ES
|
#ifdef GL_ES
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
precision mediump int;
|
precision mediump int;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
varying vec2 v_texcoord0;
|
varying vec2 v_texcoord0;
|
||||||
uniform vec4 u_time;
|
uniform vec4 u_time;
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
// scanlines
|
// scanlines
|
||||||
int vPos = int( ( v_texcoord0.y + u_time.x * 0.5 ) * 272.0 );
|
int vPos = int( ( v_texcoord0.y + u_time.x * 0.5 ) * 272.0 );
|
||||||
float line_intensity = mod( float(vPos), 2.0 );
|
float line_intensity = mod( float(vPos), 2.0 );
|
||||||
|
|
||||||
// color shift
|
// color shift
|
||||||
float off = line_intensity * 0.0005;
|
float off = line_intensity * 0.0005;
|
||||||
vec2 shift = vec2( off, 0 );
|
vec2 shift = vec2( off, 0 );
|
||||||
|
|
||||||
// shift R and G channels to simulate NTSC color bleed
|
// shift R and G channels to simulate NTSC color bleed
|
||||||
vec2 colorShift = vec2( 0.001, 0 );
|
vec2 colorShift = vec2( 0.001, 0 );
|
||||||
float r = texture2D( sampler0, v_texcoord0 + colorShift + shift ).x;
|
float r = texture2D( sampler0, v_texcoord0 + colorShift + shift ).x;
|
||||||
float g = texture2D( sampler0, v_texcoord0 - colorShift + shift ).y;
|
float g = texture2D( sampler0, v_texcoord0 - colorShift + shift ).y;
|
||||||
float b = texture2D( sampler0, v_texcoord0 ).z;
|
float b = texture2D( sampler0, v_texcoord0 ).z;
|
||||||
|
|
||||||
vec4 c = vec4( r, g * 0.99, b, 1.0 ) * clamp( line_intensity, 0.85, 1.0 );
|
vec4 c = vec4( r, g * 0.99, b, 1.0 ) * clamp( line_intensity, 0.85, 1.0 );
|
||||||
|
|
||||||
float rollbar = sin( ( v_texcoord0.y + u_time.x ) * 4.0 );
|
float rollbar = sin( ( v_texcoord0.y + u_time.x ) * 4.0 );
|
||||||
|
|
||||||
gl_FragColor.rgba = c + (rollbar * 0.02);
|
gl_FragColor.rgba = c + (rollbar * 0.02);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,95 +1,162 @@
|
|||||||
# You can have multiple ini files if you want, it doesn't matter.
|
# You can have multiple ini files if you want, it doesn't matter.
|
||||||
[FXAA]
|
[FXAA]
|
||||||
Name=FXAA Antialiasing
|
Name=FXAA Antialiasing
|
||||||
Author=nVidia
|
Author=nVidia
|
||||||
Fragment=fxaa.fsh
|
Fragment=fxaa.fsh
|
||||||
Vertex=fxaa.vsh
|
Vertex=fxaa.vsh
|
||||||
[CRT]
|
[CRT]
|
||||||
Name=CRT Scanlines
|
Name=CRT Scanlines
|
||||||
Author=KillaMaaki
|
Author=KillaMaaki
|
||||||
Fragment=crt.fsh
|
Fragment=crt.fsh
|
||||||
Vertex=fxaa.vsh
|
Vertex=fxaa.vsh
|
||||||
60fps=True
|
60fps=True
|
||||||
[Natural]
|
[Natural]
|
||||||
Name=Natural Colors
|
Name=Natural Colors
|
||||||
Fragment=natural.fsh
|
Fragment=natural.fsh
|
||||||
Vertex=natural.vsh
|
Vertex=natural.vsh
|
||||||
[NaturalA]
|
[NaturalA]
|
||||||
Name=Natural Colors (No Blur)
|
Name=Natural Colors (No Blur)
|
||||||
Fragment=naturalA.fsh
|
Fragment=naturalA.fsh
|
||||||
Vertex=natural.vsh
|
Vertex=naturalA.vsh
|
||||||
[Vignette]
|
[Vignette]
|
||||||
Name=Vignette
|
Name=Vignette
|
||||||
Author=Henrik
|
Author=Henrik
|
||||||
Fragment=vignette.fsh
|
Fragment=vignette.fsh
|
||||||
Vertex=fxaa.vsh
|
Vertex=fxaa.vsh
|
||||||
[Grayscale]
|
[Grayscale]
|
||||||
Name=Grayscale
|
Name=Grayscale
|
||||||
Author=Henrik
|
Author=Henrik
|
||||||
Fragment=grayscale.fsh
|
Fragment=grayscale.fsh
|
||||||
Vertex=fxaa.vsh
|
Vertex=fxaa.vsh
|
||||||
[Bloom]
|
[Bloom]
|
||||||
Name=Bloom
|
Name=Bloom
|
||||||
Fragment=bloom.fsh
|
Fragment=bloom.fsh
|
||||||
Vertex=fxaa.vsh
|
Vertex=fxaa.vsh
|
||||||
[Sharpen]
|
SettingName1=Amount
|
||||||
Name=Sharpen
|
SettingDefaultValue1=0.6
|
||||||
Fragment=sharpen.fsh
|
SettingMaxValue1=1.0
|
||||||
Vertex=fxaa.vsh
|
SettingMinValue1=0.0
|
||||||
[InverseColors]
|
SettingName2=Power
|
||||||
Name=Inverse Colors
|
SettingDefaultValue2=0.5
|
||||||
Author=Henrik
|
SettingMaxValue2=1.0
|
||||||
Fragment=inversecolors.fsh
|
SettingMinValue2=0.0
|
||||||
Vertex=fxaa.vsh
|
[Sharpen]
|
||||||
[Scanlines]
|
Name=Sharpen
|
||||||
Name=Scanlines (CRT)
|
Fragment=sharpen.fsh
|
||||||
Fragment=scanlines.fsh
|
Vertex=fxaa.vsh
|
||||||
Vertex=fxaa.vsh
|
SettingName1=Amount
|
||||||
OutputResolution=True
|
SettingDefaultValue1=1.5
|
||||||
[Cartoon]
|
SettingMaxValue1=3.0
|
||||||
Name=Cartoon
|
SettingMinValue1=1.0
|
||||||
Fragment=cartoon.fsh
|
SettingStep1=0.1
|
||||||
Vertex=cartoon.vsh
|
[InverseColors]
|
||||||
[4xHqGLSL]
|
Name=Inverse Colors
|
||||||
Name=4xHqGLSL Upscaler
|
Author=Henrik
|
||||||
Fragment=4xhqglsl.fsh
|
Fragment=inversecolors.fsh
|
||||||
Vertex=4xhqglsl.vsh
|
Vertex=fxaa.vsh
|
||||||
OutputResolution=True
|
[Scanlines]
|
||||||
Upscaling=True
|
Name=Scanlines (CRT)
|
||||||
[AAColor]
|
Fragment=scanlines.fsh
|
||||||
Name=AA-Color
|
Vertex=fxaa.vsh
|
||||||
Fragment=aacolor.fsh
|
OutputResolution=True
|
||||||
Vertex=aacolor.vsh
|
SettingName1=Amount
|
||||||
[UpscaleSpline36]
|
SettingDefaultValue1=1.0
|
||||||
Name=Spline36 Upscaler
|
SettingMaxValue1=1.0
|
||||||
Fragment=upscale_spline36.fsh
|
SettingMinValue1=0.0
|
||||||
Vertex=upscale_spline36.vsh
|
SettingStep1=0.1
|
||||||
OutputResolution=True
|
SettingName2=Intensity
|
||||||
RequiresIntSupport=True
|
SettingDefaultValue2=0.5
|
||||||
Upscaling=True
|
SettingMaxValue2=1.0
|
||||||
[5xBR]
|
SettingMinValue2=0.0
|
||||||
Name=5xBR Upscaler
|
SettingStep2=0.05
|
||||||
Author=Hyllian
|
[Cartoon]
|
||||||
Fragment=5xBR.fsh
|
Name=Cartoon
|
||||||
Vertex=5xBR.vsh
|
Fragment=cartoon.fsh
|
||||||
OutputResolution=True
|
Vertex=cartoon.vsh
|
||||||
Upscaling=True
|
SettingName1=Black border
|
||||||
[5xBR-lv2]
|
SettingDefaultValue1=0.5
|
||||||
Name=5xBR lv2 Upscaler
|
SettingMaxValue1=1.0
|
||||||
Author=Hyllian (tweak by guest.r)
|
SettingMinValue1=0.0
|
||||||
Fragment=5xBR-lv2.fsh
|
[4xHqGLSL]
|
||||||
Vertex=5xBR.vsh
|
Name=4xHqGLSL Upscaler
|
||||||
OutputResolution=True
|
Fragment=4xhqglsl.fsh
|
||||||
Upscaling=True
|
Vertex=4xhqglsl.vsh
|
||||||
[VideoSmoothingAA]
|
OutputResolution=True
|
||||||
Name=Video aware guest.r AA 4.o
|
Upscaling=True
|
||||||
Author=guest.r(tweak by LunaMoo)
|
[AAColor]
|
||||||
Fragment=videoAA.fsh
|
Name=AA-Color
|
||||||
Vertex=fxaa.vsh
|
Fragment=aacolor.fsh
|
||||||
OutputResolution=True
|
Vertex=aacolor.vsh
|
||||||
[SSAA(Gauss)]
|
[UpscaleSpline36]
|
||||||
Name=Super Sampling AA(Gauss)
|
Name=Spline36 Upscaler
|
||||||
Fragment=GaussianDownscale.fsh
|
Fragment=upscale_spline36.fsh
|
||||||
Vertex=fxaa.vsh
|
Vertex=upscale_spline36.vsh
|
||||||
OutputResolution=True
|
OutputResolution=True
|
||||||
SSAA=2
|
RequiresIntSupport=True
|
||||||
|
Upscaling=True
|
||||||
|
[5xBR]
|
||||||
|
Name=5xBR Upscaler
|
||||||
|
Author=Hyllian
|
||||||
|
Fragment=5xBR.fsh
|
||||||
|
Vertex=5xBR.vsh
|
||||||
|
OutputResolution=True
|
||||||
|
Upscaling=True
|
||||||
|
[5xBR-lv2]
|
||||||
|
Name=5xBR lv2 Upscaler
|
||||||
|
Author=Hyllian (tweak by guest.r)
|
||||||
|
Fragment=5xBR-lv2.fsh
|
||||||
|
Vertex=5xBR.vsh
|
||||||
|
OutputResolution=True
|
||||||
|
Upscaling=True
|
||||||
|
[VideoSmoothingAA]
|
||||||
|
Name=Video aware guest.r AA 4.o
|
||||||
|
Author=guest.r(tweak by LunaMoo)
|
||||||
|
Fragment=videoAA.fsh
|
||||||
|
Vertex=fxaa.vsh
|
||||||
|
OutputResolution=True
|
||||||
|
[SSAA(Gauss)]
|
||||||
|
Name=Super Sampling AA(Gauss)
|
||||||
|
Fragment=GaussianDownscale.fsh
|
||||||
|
Vertex=fxaa.vsh
|
||||||
|
OutputResolution=True
|
||||||
|
SSAA=2
|
||||||
|
[ColorCorrection]
|
||||||
|
Name=Color correction
|
||||||
|
Fragment=colorcorrection.fsh
|
||||||
|
Vertex=fxaa.vsh
|
||||||
|
SettingName1=Brightness
|
||||||
|
SettingDefaultValue1=1.0
|
||||||
|
SettingMaxValue1=2.0
|
||||||
|
SettingMinValue1=0.1
|
||||||
|
SettingStep1=0.05
|
||||||
|
SettingName2=Saturation
|
||||||
|
SettingDefaultValue2=1.0
|
||||||
|
SettingMaxValue2=2.0
|
||||||
|
SettingMinValue2=0.0
|
||||||
|
SettingStep2=0.1
|
||||||
|
SettingName3=Contrast
|
||||||
|
SettingDefaultValue3=1.0
|
||||||
|
SettingMaxValue3=3.0
|
||||||
|
SettingMinValue3=0.1
|
||||||
|
SettingStep3=0.1
|
||||||
|
SettingName4=Gamma
|
||||||
|
SettingDefaultValue4=1.0
|
||||||
|
SettingMaxValue4=2.0
|
||||||
|
SettingMinValue4=0.1
|
||||||
|
SettingStep4=0.05
|
||||||
|
[PSPColor]
|
||||||
|
Name=PSP Color
|
||||||
|
Author=hunterk, Pokefan531 (ported by jdgleaver)
|
||||||
|
Fragment=psp_color.fsh
|
||||||
|
Vertex=fxaa.vsh
|
||||||
|
[Tex4xBRZ]
|
||||||
|
Type=Texture
|
||||||
|
Name=4xBRZ
|
||||||
|
Author=Hyllian
|
||||||
|
Compute=tex_4xbrz.csh
|
||||||
|
[TexMMPX]
|
||||||
|
Type=Texture
|
||||||
|
Name=MMPX
|
||||||
|
Author=Morgan McGuire and Mara Gagiu
|
||||||
|
Compute=tex_mmpx.csh
|
||||||
|
MaxScale=2
|
||||||
|
|||||||
@@ -1,68 +1,68 @@
|
|||||||
// PPSSPP: Grabbed from Processing and slightly modified.
|
// PPSSPP: Grabbed from Processing and slightly modified.
|
||||||
|
|
||||||
// FXAA shader, GLSL code adapted from:
|
// FXAA shader, GLSL code adapted from:
|
||||||
// http://horde3d.org/wiki/index.php5?title=Shading_Technique_-_FXAA
|
// http://horde3d.org/wiki/index.php5?title=Shading_Technique_-_FXAA
|
||||||
// Whitepaper describing the technique:
|
// Whitepaper describing the technique:
|
||||||
// http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf
|
// http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/FXAA_WhitePaper.pdf
|
||||||
|
|
||||||
#ifdef GL_ES
|
#ifdef GL_ES
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
precision mediump int;
|
precision mediump int;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
|
|
||||||
// The inverse of the texture dimensions along X and Y
|
// The inverse of the texture dimensions along X and Y
|
||||||
uniform vec2 u_texelDelta;
|
uniform vec2 u_texelDelta;
|
||||||
varying vec2 v_texcoord0;
|
varying vec2 v_texcoord0;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
// The parameters are hardcoded for now, but could be
|
// The parameters are hardcoded for now, but could be
|
||||||
// made into uniforms to control fromt he program.
|
// made into uniforms to control fromt he program.
|
||||||
float FXAA_SPAN_MAX = 8.0;
|
float FXAA_SPAN_MAX = 8.0;
|
||||||
float FXAA_REDUCE_MUL = 1.0/8.0;
|
float FXAA_REDUCE_MUL = 1.0/8.0;
|
||||||
float FXAA_REDUCE_MIN = (1.0/128.0);
|
float FXAA_REDUCE_MIN = (1.0/128.0);
|
||||||
|
|
||||||
vec3 rgbNW = texture2D(sampler0, v_texcoord0.xy + (vec2(-1.0, -1.0) * u_texelDelta)).xyz;
|
vec3 rgbNW = texture2D(sampler0, v_texcoord0.xy + (vec2(-1.0, -1.0) * u_texelDelta)).xyz;
|
||||||
vec3 rgbNE = texture2D(sampler0, v_texcoord0.xy + (vec2(+1.0, -1.0) * u_texelDelta)).xyz;
|
vec3 rgbNE = texture2D(sampler0, v_texcoord0.xy + (vec2(+1.0, -1.0) * u_texelDelta)).xyz;
|
||||||
vec3 rgbSW = texture2D(sampler0, v_texcoord0.xy + (vec2(-1.0, +1.0) * u_texelDelta)).xyz;
|
vec3 rgbSW = texture2D(sampler0, v_texcoord0.xy + (vec2(-1.0, +1.0) * u_texelDelta)).xyz;
|
||||||
vec3 rgbSE = texture2D(sampler0, v_texcoord0.xy + (vec2(+1.0, +1.0) * u_texelDelta)).xyz;
|
vec3 rgbSE = texture2D(sampler0, v_texcoord0.xy + (vec2(+1.0, +1.0) * u_texelDelta)).xyz;
|
||||||
vec3 rgbM = texture2D(sampler0, v_texcoord0.xy).xyz;
|
vec3 rgbM = texture2D(sampler0, v_texcoord0.xy).xyz;
|
||||||
|
|
||||||
vec3 luma = vec3(0.299, 0.587, 0.114);
|
vec3 luma = vec3(0.299, 0.587, 0.114);
|
||||||
float lumaNW = dot(rgbNW, luma);
|
float lumaNW = dot(rgbNW, luma);
|
||||||
float lumaNE = dot(rgbNE, luma);
|
float lumaNE = dot(rgbNE, luma);
|
||||||
float lumaSW = dot(rgbSW, luma);
|
float lumaSW = dot(rgbSW, luma);
|
||||||
float lumaSE = dot(rgbSE, luma);
|
float lumaSE = dot(rgbSE, luma);
|
||||||
float lumaM = dot( rgbM, luma);
|
float lumaM = dot( rgbM, luma);
|
||||||
|
|
||||||
float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE)));
|
float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE)));
|
||||||
float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE)));
|
float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE)));
|
||||||
|
|
||||||
vec2 dir;
|
vec2 dir;
|
||||||
dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
|
dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
|
||||||
dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));
|
dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));
|
||||||
|
|
||||||
float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) * (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN);
|
float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) * (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN);
|
||||||
|
|
||||||
float rcpDirMin = 1.0/(min(abs(dir.x), abs(dir.y)) + dirReduce);
|
float rcpDirMin = 1.0/(min(abs(dir.x), abs(dir.y)) + dirReduce);
|
||||||
|
|
||||||
dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX),
|
dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX),
|
||||||
max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX), dir * rcpDirMin)) * u_texelDelta;
|
max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX), dir * rcpDirMin)) * u_texelDelta;
|
||||||
|
|
||||||
vec3 rgbA = (1.0/2.0) * (
|
vec3 rgbA = (1.0/2.0) * (
|
||||||
texture2D(sampler0, v_texcoord0.xy + dir * (1.0/3.0 - 0.5)).xyz +
|
texture2D(sampler0, v_texcoord0.xy + dir * (1.0/3.0 - 0.5)).xyz +
|
||||||
texture2D(sampler0, v_texcoord0.xy + dir * (2.0/3.0 - 0.5)).xyz);
|
texture2D(sampler0, v_texcoord0.xy + dir * (2.0/3.0 - 0.5)).xyz);
|
||||||
vec3 rgbB = rgbA * (1.0/2.0) + (1.0/4.0) * (
|
vec3 rgbB = rgbA * (1.0/2.0) + (1.0/4.0) * (
|
||||||
texture2D(sampler0, v_texcoord0.xy + dir * (0.0/3.0 - 0.5)).xyz +
|
texture2D(sampler0, v_texcoord0.xy + dir * (0.0/3.0 - 0.5)).xyz +
|
||||||
texture2D(sampler0, v_texcoord0.xy + dir * (3.0/3.0 - 0.5)).xyz);
|
texture2D(sampler0, v_texcoord0.xy + dir * (3.0/3.0 - 0.5)).xyz);
|
||||||
float lumaB = dot(rgbB, luma);
|
float lumaB = dot(rgbB, luma);
|
||||||
|
|
||||||
if((lumaB < lumaMin) || (lumaB > lumaMax)){
|
if((lumaB < lumaMin) || (lumaB > lumaMax)){
|
||||||
gl_FragColor.xyz=rgbA;
|
gl_FragColor.xyz=rgbA;
|
||||||
} else {
|
} else {
|
||||||
gl_FragColor.xyz=rgbB;
|
gl_FragColor.xyz=rgbB;
|
||||||
}
|
}
|
||||||
gl_FragColor.a = 1.0;
|
gl_FragColor.a = 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
attribute vec4 a_position;
|
#ifdef GL_ES
|
||||||
attribute vec2 a_texcoord0;
|
precision mediump float;
|
||||||
varying vec2 v_texcoord0;
|
precision mediump int;
|
||||||
void main() {
|
#endif
|
||||||
v_texcoord0 = a_texcoord0;
|
|
||||||
gl_Position = a_position;
|
attribute vec4 a_position;
|
||||||
}
|
attribute vec2 a_texcoord0;
|
||||||
|
varying vec2 v_texcoord0;
|
||||||
|
void main() {
|
||||||
|
v_texcoord0 = a_texcoord0;
|
||||||
|
gl_Position = a_position;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
// Simple grayscale shader
|
// Simple grayscale shader
|
||||||
|
|
||||||
#ifdef GL_ES
|
#ifdef GL_ES
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
precision mediump int;
|
precision mediump int;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
varying vec2 v_texcoord0;
|
varying vec2 v_texcoord0;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
vec3 rgb = texture2D(sampler0, v_texcoord0.xy).xyz;
|
vec3 rgb = texture2D(sampler0, v_texcoord0.xy).xyz;
|
||||||
float luma = dot(rgb, vec3(0.299, 0.587, 0.114));
|
float luma = dot(rgb, vec3(0.299, 0.587, 0.114));
|
||||||
gl_FragColor.rgb = vec3(luma, luma, luma);
|
gl_FragColor.rgb = vec3(luma, luma, luma);
|
||||||
gl_FragColor.a = 1.0;
|
gl_FragColor.a = 1.0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
// Simple false color shader
|
// Simple false color shader
|
||||||
|
|
||||||
#ifdef GL_ES
|
#ifdef GL_ES
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
precision mediump int;
|
precision mediump int;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
varying vec2 v_texcoord0;
|
varying vec2 v_texcoord0;
|
||||||
|
|
||||||
void main() {
|
void main() {
|
||||||
vec3 rgb = texture2D(sampler0, v_texcoord0.xy).xyz;
|
vec3 rgb = texture2D(sampler0, v_texcoord0.xy).xyz;
|
||||||
float luma = dot(rgb, vec3(0.299, 0.587, 0.114));
|
float luma = dot(rgb, vec3(0.299, 0.587, 0.114));
|
||||||
vec3 gray = vec3(luma, luma, luma) - 0.5;
|
vec3 gray = vec3(luma, luma, luma) - 0.5;
|
||||||
rgb -= vec3(0.5, 0.5, 0.5);
|
rgb -= vec3(0.5, 0.5, 0.5);
|
||||||
|
|
||||||
gl_FragColor.rgb = mix(rgb, gray, 2.0) + 0.5;
|
gl_FragColor.rgb = mix(rgb, gray, 2.0) + 0.5;
|
||||||
gl_FragColor.a = 1.0;
|
gl_FragColor.a = 1.0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,58 +1,58 @@
|
|||||||
// Natural Vision Shader, modified to use in PPSSPP.
|
// Natural Vision Shader, modified to use in PPSSPP.
|
||||||
|
|
||||||
// by ShadX (Modded by SimoneT)
|
// by ShadX (Modded by SimoneT)
|
||||||
// http://forums.ngemu.com/showthread.php?t=76098
|
// http://forums.ngemu.com/showthread.php?t=76098
|
||||||
|
|
||||||
#ifdef GL_ES
|
#ifdef GL_ES
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
precision mediump int;
|
precision mediump int;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
varying vec4 v_texcoord0;
|
varying vec4 v_texcoord0;
|
||||||
varying vec4 v_texcoord1;
|
varying vec4 v_texcoord1;
|
||||||
varying vec4 v_texcoord2;
|
varying vec4 v_texcoord2;
|
||||||
varying vec4 v_texcoord3;
|
varying vec4 v_texcoord3;
|
||||||
|
|
||||||
const mat3 RGBtoYIQ = mat3(0.299, 0.596, 0.212,
|
const mat3 RGBtoYIQ = mat3(0.299, 0.596, 0.212,
|
||||||
0.587,-0.275,-0.523,
|
0.587,-0.275,-0.523,
|
||||||
0.114,-0.321, 0.311);
|
0.114,-0.321, 0.311);
|
||||||
|
|
||||||
const mat3 YIQtoRGB = mat3(1.0, 1.0, 1.0,
|
const mat3 YIQtoRGB = mat3(1.0, 1.0, 1.0,
|
||||||
0.95568806036115671171,-0.27158179694405859326,-1.1081773266826619523,
|
0.95568806036115671171,-0.27158179694405859326,-1.1081773266826619523,
|
||||||
0.61985809445637075388,-0.64687381613840131330, 1.7050645599191817149);
|
0.61985809445637075388,-0.64687381613840131330, 1.7050645599191817149);
|
||||||
|
|
||||||
const vec3 val00 = vec3( 1.2, 1.2, 1.2);
|
const vec3 val00 = vec3( 1.2, 1.2, 1.2);
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
vec3 c0,c1;
|
vec3 c0,c1;
|
||||||
|
|
||||||
c0 = texture2D(sampler0,v_texcoord0.xy).xyz;
|
c0 = texture2D(sampler0,v_texcoord0.xy).xyz;
|
||||||
c0+=(texture2D(sampler0,v_texcoord0.zy).xyz)*0.25;
|
c0+=(texture2D(sampler0,v_texcoord0.zy).xyz)*0.25;
|
||||||
c0+=(texture2D(sampler0,v_texcoord0.xw).xyz)*0.25;
|
c0+=(texture2D(sampler0,v_texcoord0.xw).xyz)*0.25;
|
||||||
c0+=(texture2D(sampler0,v_texcoord0.zw).xyz)*0.125;
|
c0+=(texture2D(sampler0,v_texcoord0.zw).xyz)*0.125;
|
||||||
|
|
||||||
c0+= texture2D(sampler0,v_texcoord1.xy).xyz;
|
c0+= texture2D(sampler0,v_texcoord1.xy).xyz;
|
||||||
c0+=(texture2D(sampler0,v_texcoord1.zy).xyz)*0.25;
|
c0+=(texture2D(sampler0,v_texcoord1.zy).xyz)*0.25;
|
||||||
c0+=(texture2D(sampler0,v_texcoord1.xw).xyz)*0.25;
|
c0+=(texture2D(sampler0,v_texcoord1.xw).xyz)*0.25;
|
||||||
c0+=(texture2D(sampler0,v_texcoord1.zw).xyz)*0.125;
|
c0+=(texture2D(sampler0,v_texcoord1.zw).xyz)*0.125;
|
||||||
|
|
||||||
c0+= texture2D(sampler0,v_texcoord2.xy).xyz;
|
c0+= texture2D(sampler0,v_texcoord2.xy).xyz;
|
||||||
c0+=(texture2D(sampler0,v_texcoord2.zy).xyz)*0.25;
|
c0+=(texture2D(sampler0,v_texcoord2.zy).xyz)*0.25;
|
||||||
c0+=(texture2D(sampler0,v_texcoord2.xw).xyz)*0.25;
|
c0+=(texture2D(sampler0,v_texcoord2.xw).xyz)*0.25;
|
||||||
c0+=(texture2D(sampler0,v_texcoord2.zw).xyz)*0.125;
|
c0+=(texture2D(sampler0,v_texcoord2.zw).xyz)*0.125;
|
||||||
|
|
||||||
c0+= texture2D(sampler0,v_texcoord3.xy).xyz;
|
c0+= texture2D(sampler0,v_texcoord3.xy).xyz;
|
||||||
c0+=(texture2D(sampler0,v_texcoord3.zy).xyz)*0.25;
|
c0+=(texture2D(sampler0,v_texcoord3.zy).xyz)*0.25;
|
||||||
c0+=(texture2D(sampler0,v_texcoord3.xw).xyz)*0.25;
|
c0+=(texture2D(sampler0,v_texcoord3.xw).xyz)*0.25;
|
||||||
c0+=(texture2D(sampler0,v_texcoord3.zw).xyz)*0.125;
|
c0+=(texture2D(sampler0,v_texcoord3.zw).xyz)*0.125;
|
||||||
c0*=0.153846153846;
|
c0*=0.153846153846;
|
||||||
|
|
||||||
c1=RGBtoYIQ*c0;
|
c1=RGBtoYIQ*c0;
|
||||||
|
|
||||||
c1=vec3(pow(c1.x,val00.x),c1.yz*val00.yz);
|
c1=vec3(pow(c1.x,val00.x),c1.yz*val00.yz);
|
||||||
|
|
||||||
gl_FragColor.rgb=YIQtoRGB*c1;
|
gl_FragColor.rgb=YIQtoRGB*c1;
|
||||||
gl_FragColor.a = 1.0;
|
gl_FragColor.a = 1.0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +1,24 @@
|
|||||||
uniform vec2 u_texelDelta;
|
#ifdef GL_ES
|
||||||
|
precision mediump float;
|
||||||
attribute vec4 a_position;
|
precision mediump int;
|
||||||
attribute vec2 a_texcoord0;
|
#endif
|
||||||
|
|
||||||
varying vec4 v_texcoord0;
|
uniform vec2 u_texelDelta;
|
||||||
varying vec4 v_texcoord1;
|
|
||||||
varying vec4 v_texcoord2;
|
attribute vec4 a_position;
|
||||||
varying vec4 v_texcoord3;
|
attribute vec2 a_texcoord0;
|
||||||
|
|
||||||
void main()
|
varying vec4 v_texcoord0;
|
||||||
{
|
varying vec4 v_texcoord1;
|
||||||
gl_Position=a_position;
|
varying vec4 v_texcoord2;
|
||||||
|
varying vec4 v_texcoord3;
|
||||||
v_texcoord0=a_texcoord0.xyxy+vec4(-0.5,-0.5,-1.5,-1.5)*u_texelDelta.xyxy;
|
|
||||||
v_texcoord1=a_texcoord0.xyxy+vec4( 0.5,-0.5, 1.5,-1.5)*u_texelDelta.xyxy;
|
void main()
|
||||||
v_texcoord2=a_texcoord0.xyxy+vec4(-0.5, 0.5,-1.5, 1.5)*u_texelDelta.xyxy;
|
{
|
||||||
v_texcoord3=a_texcoord0.xyxy+vec4( 0.5, 0.5, 1.5, 1.5)*u_texelDelta.xyxy;
|
gl_Position=a_position;
|
||||||
}
|
|
||||||
|
v_texcoord0=a_texcoord0.xyxy+vec4(-0.5,-0.5,-1.5,-1.5)*u_texelDelta.xyxy;
|
||||||
|
v_texcoord1=a_texcoord0.xyxy+vec4( 0.5,-0.5, 1.5,-1.5)*u_texelDelta.xyxy;
|
||||||
|
v_texcoord2=a_texcoord0.xyxy+vec4(-0.5, 0.5,-1.5, 1.5)*u_texelDelta.xyxy;
|
||||||
|
v_texcoord3=a_texcoord0.xyxy+vec4( 0.5, 0.5, 1.5, 1.5)*u_texelDelta.xyxy;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,39 +1,36 @@
|
|||||||
// Natural Vision Shader with removed blur.
|
// Natural Vision Shader, modified to use in PPSSPP.
|
||||||
|
|
||||||
// by ShadX (Modded by SimoneT and Leopard20)
|
// by ShadX (Modded by SimoneT)
|
||||||
// http://forums.ngemu.com/showthread.php?t=76098
|
// http://forums.ngemu.com/showthread.php?t=76098
|
||||||
|
|
||||||
#ifdef GL_ES
|
#ifdef GL_ES
|
||||||
precision mediump float;
|
precision mediump float;
|
||||||
precision mediump int;
|
precision mediump int;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
uniform sampler2D sampler0;
|
uniform sampler2D sampler0;
|
||||||
varying vec4 v_texcoord0;
|
varying vec2 v_texcoord0;
|
||||||
varying vec4 v_texcoord1;
|
|
||||||
varying vec4 v_texcoord2;
|
const mat3 RGBtoYIQ = mat3(0.299, 0.596, 0.212,
|
||||||
varying vec4 v_texcoord3;
|
0.587,-0.275,-0.523,
|
||||||
|
0.114,-0.321, 0.311);
|
||||||
const mat3 RGBtoYIQ = mat3(0.299, 0.596, 0.212,
|
|
||||||
0.587,-0.275,-0.523,
|
const mat3 YIQtoRGB = mat3(1.0, 1.0, 1.0,
|
||||||
0.114,-0.321, 0.311);
|
0.95568806036115671171,-0.27158179694405859326,-1.1081773266826619523,
|
||||||
|
0.61985809445637075388,-0.64687381613840131330, 1.7050645599191817149);
|
||||||
const mat3 YIQtoRGB = mat3(1.0, 1.0, 1.0,
|
|
||||||
0.95568806036115671171,-0.27158179694405859326,-1.1081773266826619523,
|
const vec3 val00 = vec3( 1.2, 1.2, 1.2);
|
||||||
0.61985809445637075388,-0.64687381613840131330, 1.7050645599191817149);
|
|
||||||
|
void main()
|
||||||
const vec3 val00 = vec3( 1.2, 1.2, 1.2);
|
{
|
||||||
|
vec3 c0,c1;
|
||||||
void main()
|
|
||||||
{
|
c0 = texture2D(sampler0,v_texcoord0).xyz;
|
||||||
vec3 c0,c1;
|
|
||||||
|
c1=RGBtoYIQ*c0;
|
||||||
c0 = texture2D(sampler0,v_texcoord0.xy).xyz;
|
|
||||||
|
c1=vec3(pow(c1.x,val00.x),c1.yz*val00.yz);
|
||||||
c1=RGBtoYIQ*c0;
|
|
||||||
|
gl_FragColor.rgb=YIQtoRGB*c1;
|
||||||
c1=vec3(pow(c1.x,val00.x),c1.yz*val00.yz);
|
gl_FragColor.a = 1.0;
|
||||||
|
}
|
||||||
gl_FragColor.rgb=YIQtoRGB*c1;
|
|
||||||
gl_FragColor.a = 1.0;
|
|
||||||
}
|
|
||||||
|
|||||||
15
system/PPSSPP/shaders/naturalA.vsh
Normal file
15
system/PPSSPP/shaders/naturalA.vsh
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#ifdef GL_ES
|
||||||
|
precision mediump float;
|
||||||
|
precision mediump int;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
attribute vec4 a_position;
|
||||||
|
attribute vec2 a_texcoord0;
|
||||||
|
|
||||||
|
varying vec2 v_texcoord0;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
gl_Position=a_position;
|
||||||
|
v_texcoord0=a_texcoord0;
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user