diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index aaaab7144..47fe98378 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -1,13 +1,16 @@
# DuckStation Contributors List
+
The following people have contributed to the project in some way, and are credited here.
## Code Contributions
+
- Connor McLaughlin - @stenzek
- @ggrtk
- @CookiePLMonster
- @PookaMustard
## Translators
+
- Anderson Cardoso - Portuguese (Br)
- @bajolzas - Portuguese (Pt)
- posix - @Richard-L, blexx - German
@@ -23,57 +26,65 @@ The following people have contributed to the project in some way, and are credit
- Zuzia, Seba, @CookiePLMonster - Polish
- Foxtrot Uniform - Turkish
+## UI Contributions
+
+- @kamfretoz
+- @maxihplay (MBee)
+
## Cheat Database
+
- Pugsy
- Unicorngoulash
## Game Compatibility Database
- - @Zet-sensei
- - @DarkFrost89
- - @macattack222
- - @HeroponRikiBestest
- - @picili
- - @andercard0
- - @Abbanon
- - @Shideravan
- - @mirrornoir
- - @pryon
- - @MojoJojoDojo
- - @heckez-sys
- - @Damaniel
- - @RaydenX93
- - @gp2man
- - @Richard-L
- - @pan2marumie3
- - @CookiePLMonster
- - @LoStraniero91
- - @JFD62780
- - @lmarciano9
- - @Facepalm38
- - @Alien-Grey
- - @dmlipat
- - @Krusher97
- - @AngryScotsmanGaming
- - @PookaMustard
- - @waspennator
- - @Serpentario
- - @QuasarDGames
- - @egamboau
- - @goldstinger
- - @DankRank
- - @Kesnos-ho
- - @Facepalm38
- - @ZL1LAC
- - @cs50-account
- - @nxrighthere
- - @Overload86
- - @landcaster
- - @Sekai9
+
+- @Zet-sensei
+- @DarkFrost89
+- @macattack222
+- @HeroponRikiBestest
+- @picili
+- @andercard0
+- @Abbanon
+- @Shideravan
+- @mirrornoir
+- @pryon
+- @MojoJojoDojo
+- @heckez-sys
+- @Damaniel
+- @RaydenX93
+- @gp2man
+- @Richard-L
+- @pan2marumie3
+- @CookiePLMonster
+- @LoStraniero91
+- @JFD62780
+- @lmarciano9
+- @Facepalm38
+- @Alien-Grey
+- @dmlipat
+- @Krusher97
+- @AngryScotsmanGaming
+- @PookaMustard
+- @waspennator
+- @Serpentario
+- @QuasarDGames
+- @egamboau
+- @goldstinger
+- @DankRank
+- @Kesnos-ho
+- @Facepalm38
+- @ZL1LAC
+- @cs50-account
+- @nxrighthere
+- @Overload86
+- @landcaster
+- @Sekai9
## Special Thanks
-The following people did not directly contribute to the emulator, but it would not be in the state if not for them.
- - nocash (https://problemkaputt.de/) for fantastic documentation.
- - @PeterLemon for great simple test programs.
- - amidog for CPU, GTE and GPU test programs.
- - Jakub Czekański - @JaCzekanski - for collaboration on hardware tests.
+The following people did not directly contribute to the emulator, but it would not be in the state if not for them.
+
+- nocash (https://problemkaputt.de/) for fantastic documentation.
+- @PeterLemon for great simple test programs.
+- amidog for CPU, GTE and GPU test programs.
+- Jakub Czekański - @JaCzekanski - for collaboration on hardware tests.
diff --git a/src/duckstation-qt/controllerbindingwidget.ui b/src/duckstation-qt/controllerbindingwidget.ui
index 918472412..d654f3d5c 100644
--- a/src/duckstation-qt/controllerbindingwidget.ui
+++ b/src/duckstation-qt/controllerbindingwidget.ui
@@ -134,7 +134,7 @@
Clear Mapping
-
+
..
diff --git a/src/duckstation-qt/controllerbindingwidget_analog_controller.ui b/src/duckstation-qt/controllerbindingwidget_analog_controller.ui
index fe05efcf2..aaef9b079 100644
--- a/src/duckstation-qt/controllerbindingwidget_analog_controller.ui
+++ b/src/duckstation-qt/controllerbindingwidget_analog_controller.ui
@@ -6,8 +6,8 @@
0
0
- 1100
- 500
+ 1202
+ 646
@@ -40,19 +40,6 @@
-
-
-
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
@@ -448,109 +435,7 @@
-
-
-
-
-
- Select
-
-
-
- 6
-
-
- 6
-
-
- 6
-
-
- 6
-
-
-
-
-
-
- 100
- 16777215
-
-
-
- PushButton
-
-
-
-
-
-
- -
-
-
- L1
-
-
-
- 6
-
-
- 6
-
-
- 6
-
-
- 6
-
-
-
-
-
-
- 100
- 16777215
-
-
-
- PushButton
-
-
-
-
-
-
- -
-
-
- R1
-
-
-
- 6
-
-
- 6
-
-
- 6
-
-
- 6
-
-
-
-
-
-
- 100
- 16777215
-
-
-
- PushButton
-
-
-
-
-
-
- -
+
-
R2
@@ -584,7 +469,41 @@
- -
+
-
+
+
+ Select
+
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
-
+
+
+
+ 100
+ 16777215
+
+
+
+ PushButton
+
+
+
+
+
+
+ -
L2
@@ -618,7 +537,7 @@
- -
+
-
Start
@@ -652,36 +571,78 @@
- -
-
-
- Qt::Vertical
+
-
+
+
+ R1
-
-
- 20
- 40
-
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
-
+
+
+
+ 100
+ 16777215
+
+
+
+ PushButton
+
+
+
+
+
+
+ -
+
+
+ L1
-
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+ -
+
+
+
+ 100
+ 16777215
+
+
+
+ PushButton
+
+
+
+
+
-
-
-
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
@@ -1265,7 +1226,7 @@
-
+
diff --git a/src/duckstation-qt/controllerbindingwidget_analog_joystick.ui b/src/duckstation-qt/controllerbindingwidget_analog_joystick.ui
index 8f9d62f39..539e88bd1 100644
--- a/src/duckstation-qt/controllerbindingwidget_analog_joystick.ui
+++ b/src/duckstation-qt/controllerbindingwidget_analog_joystick.ui
@@ -6,8 +6,8 @@
0
0
- 1100
- 500
+ 1157
+ 565
@@ -40,19 +40,6 @@
-
-
-
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
@@ -408,143 +395,7 @@
-
-
-
-
-
- L2
-
-
-
- 6
-
-
- 6
-
-
- 6
-
-
- 6
-
-
-
-
-
-
- 100
- 16777215
-
-
-
- PushButton
-
-
-
-
-
-
- -
-
-
- L1
-
-
-
- 6
-
-
- 6
-
-
- 6
-
-
- 6
-
-
-
-
-
-
- 100
- 16777215
-
-
-
- PushButton
-
-
-
-
-
-
-
-
-
- R2
-
-
-
- 6
-
-
- 6
-
-
- 6
-
-
- 6
-
-
-
-
-
-
- 100
- 16777215
-
-
-
- PushButton
-
-
-
-
-
-
- -
-
-
- Start
-
-
-
- 6
-
-
- 6
-
-
- 6
-
-
- 6
-
-
-
-
-
-
- 100
- 16777215
-
-
-
- PushButton
-
-
-
-
-
-
- -
R1
@@ -578,7 +429,143 @@
- -
+
-
+
+
+ L1
+
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
-
+
+
+
+ 100
+ 16777215
+
+
+
+ PushButton
+
+
+
+
+
+
+ -
+
+
+ L2
+
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
-
+
+
+
+ 100
+ 16777215
+
+
+
+ PushButton
+
+
+
+
+
+
+ -
+
+
+ R2
+
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
-
+
+
+
+ 100
+ 16777215
+
+
+
+ PushButton
+
+
+
+
+
+
+ -
+
+
+ Start
+
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
-
+
+
+
+ 100
+ 16777215
+
+
+
+ PushButton
+
+
+
+
+
+
+ -
Select
@@ -612,36 +599,10 @@
- -
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
-
-
-
-
- Qt::Vertical
-
-
-
- 20
- 40
-
-
-
-
-
@@ -1028,7 +989,7 @@
- :/controllers/analog_controller.svg
+ :/controllers/analog_joystick.svg
true
@@ -1180,7 +1141,7 @@
-
+
diff --git a/src/duckstation-qt/controllerbindingwidget_mouse.ui b/src/duckstation-qt/controllerbindingwidget_mouse.ui
index c652a666c..b24384e0d 100644
--- a/src/duckstation-qt/controllerbindingwidget_mouse.ui
+++ b/src/duckstation-qt/controllerbindingwidget_mouse.ui
@@ -7,11 +7,11 @@
0
0
1100
- 500
+ 534
-
+
0
0
@@ -22,82 +22,34 @@
500
+
+
+ 16777215
+ 16777210
+
+
Form
-
-
-
- Qt::Vertical
-
-
-
- 20
- 187
-
-
-
-
- -
-
-
- Qt::Horizontal
-
-
-
- 405
- 20
-
-
-
-
- -
+
+
+ 0
+ 0
+
+
+
+
+ 0
+ 0
+
+
Buttons
-
-
-
-
- Left
-
-
-
- 6
-
-
- 6
-
-
- 6
-
-
- 6
-
-
-
-
-
-
- 100
- 0
-
-
-
-
- 100
- 16777215
-
-
-
- PushButton
-
-
-
-
-
-
-
@@ -138,23 +90,95 @@
+ -
+
+
+ Left
+
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
+ 6
+
+
-
+
+
+
+ 100
+ 0
+
+
+
+
+ 100
+ 16777215
+
+
+
+ PushButton
+
+
+
+
+
+
- -
+
-
Qt::Horizontal
- 405
+ 40
20
- -
+
-
+
+
+
+ 0
+ 0
+
+
+
+
+
+
+ :/controllers/mouse.svg
+
+
+ false
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+
+ 40
+ 20
+
+
+
+
+ -
Qt::Vertical
@@ -162,7 +186,7 @@
20
- 187
+ 40
diff --git a/src/duckstation-qt/controllerbindingwidgets.cpp b/src/duckstation-qt/controllerbindingwidgets.cpp
index 5550da84c..5dd94f501 100644
--- a/src/duckstation-qt/controllerbindingwidgets.cpp
+++ b/src/duckstation-qt/controllerbindingwidgets.cpp
@@ -850,7 +850,7 @@ ControllerBindingWidget_AnalogJoystick::~ControllerBindingWidget_AnalogJoystick(
QIcon ControllerBindingWidget_AnalogJoystick::getIcon() const
{
- return QIcon::fromTheme(QStringLiteral("controller-line"));
+ return QIcon::fromTheme(QStringLiteral("joystick-line"));
}
ControllerBindingWidget_Base* ControllerBindingWidget_AnalogJoystick::createInstance(ControllerBindingWidget* parent)
diff --git a/src/duckstation-qt/controllersettingsdialog.ui b/src/duckstation-qt/controllersettingsdialog.ui
index 16a2d4419..e6f831fc5 100644
--- a/src/duckstation-qt/controllersettingsdialog.ui
+++ b/src/duckstation-qt/controllersettingsdialog.ui
@@ -81,7 +81,7 @@
New Profile
-
+
..
@@ -102,7 +102,7 @@
Delete Profile
-
+
..
diff --git a/src/duckstation-qt/gamelistsettingswidget.ui b/src/duckstation-qt/gamelistsettingswidget.ui
index 7d8e6f2c2..d0fa279c7 100644
--- a/src/duckstation-qt/gamelistsettingswidget.ui
+++ b/src/duckstation-qt/gamelistsettingswidget.ui
@@ -60,7 +60,7 @@
Add
-
+
@@ -76,7 +76,7 @@
Remove
-
+
@@ -119,7 +119,7 @@
Add
-
+
@@ -135,7 +135,7 @@
Remove
-
+
diff --git a/src/duckstation-qt/resources/controllers/analog_joystick.svg b/src/duckstation-qt/resources/controllers/analog_joystick.svg
new file mode 100644
index 000000000..3fed2f31a
--- /dev/null
+++ b/src/duckstation-qt/resources/controllers/analog_joystick.svg
@@ -0,0 +1,403 @@
+
+
+
diff --git a/src/duckstation-qt/resources/controllers/mouse.svg b/src/duckstation-qt/resources/controllers/mouse.svg
new file mode 100644
index 000000000..46f9d2cb4
--- /dev/null
+++ b/src/duckstation-qt/resources/controllers/mouse.svg
@@ -0,0 +1,41 @@
+
+
+
diff --git a/src/duckstation-qt/resources/controllers/negcon.svg b/src/duckstation-qt/resources/controllers/negcon.svg
index d95e816f5..d56b7d1e3 100644
--- a/src/duckstation-qt/resources/controllers/negcon.svg
+++ b/src/duckstation-qt/resources/controllers/negcon.svg
@@ -1,149 +1,112 @@
-
-
+
+
+
diff --git a/src/duckstation-qt/resources/icons/black/svg/joystick-line.svg b/src/duckstation-qt/resources/icons/black/svg/joystick-line.svg
new file mode 100644
index 000000000..278250a15
--- /dev/null
+++ b/src/duckstation-qt/resources/icons/black/svg/joystick-line.svg
@@ -0,0 +1,32 @@
+
+
+
diff --git a/src/duckstation-qt/resources/icons/white/svg/joystick-line.svg b/src/duckstation-qt/resources/icons/white/svg/joystick-line.svg
new file mode 100644
index 000000000..5174783a5
--- /dev/null
+++ b/src/duckstation-qt/resources/icons/white/svg/joystick-line.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/duckstation-qt/resources/resources.qrc b/src/duckstation-qt/resources/resources.qrc
index e0251a6da..56b17bb6e 100644
--- a/src/duckstation-qt/resources/resources.qrc
+++ b/src/duckstation-qt/resources/resources.qrc
@@ -213,6 +213,8 @@
controllers/negcon.svg
controllers/analog_controller.svg
controllers/digital_controller.svg
+ controllers/analog_joystick.svg
+ controllers/mouse.svg
icons/list-add@2x.png
icons/flag-eu.svg
icons/flag-jp.svg
@@ -350,6 +352,7 @@
icons/black/svg/arrow-down-line.svg
icons/black/svg/screenshot-2-line.svg
icons/black/svg/minus-line.svg
+ icons/black/svg/joystick-line.svg
icons/audio-card@2x.png
icons/applications-system-24@2x.png
icons/video-display@2x.png
@@ -504,6 +507,7 @@
icons/white/svg/arrow-down-line.svg
icons/white/svg/screenshot-2-line.svg
icons/white/svg/minus-line.svg
+ icons/white/svg/joystick-line.svg
icons/flag-jp@2x.png
icons/view-fullscreen.png
icons/edit-clear-16.png