From f7643e96a423795e01503f68aad99afaeab0f44a Mon Sep 17 00:00:00 2001
From: Leon Styhre <leon@leonstyhre.com>
Date: Tue, 2 Nov 2021 19:01:00 +0100
Subject: [PATCH] Added support for two more controller icons.

---
 es-core/src/components/BadgeComponent.cpp | 62 ++++++++++++-----------
 1 file changed, 32 insertions(+), 30 deletions(-)

diff --git a/es-core/src/components/BadgeComponent.cpp b/es-core/src/components/BadgeComponent.cpp
index ac93c37cb..b7309c9d3 100644
--- a/es-core/src/components/BadgeComponent.cpp
+++ b/es-core/src/components/BadgeComponent.cpp
@@ -26,36 +26,38 @@ std::vector<GameControllers> BadgeComponent::sGameControllers;
 
 // The "unknown" controller entry has to be placed last.
 GameControllers sControllerDefinitions [] = {
-    // shortName                        displayName                          fileName
-    {"gamepad_generic",                 "Gamepad (Generic)",                 ":/graphics/controllers/gamepad_generic.svg"},
-    {"gamepad_xbox",                    "Gamepad (Xbox)",                    ":/graphics/controllers/gamepad_xbox.svg"},
-    {"gamepad_playstation",             "Gamepad (PlayStation)",             ":/graphics/controllers/gamepad_playstation.svg"},
-    {"gamepad_nintendo_nes",            "Gamepad (Nintendo NES)",            ":/graphics/controllers/gamepad_nintendo_nes.svg"},
-    {"gamepad_nintendo_snes",           "Gamepad (Nintendo SNES)",           ":/graphics/controllers/gamepad_nintendo_snes.svg"},
-    {"gamepad_nintendo_64",             "Gamepad (Nintendo 64)",             ":/graphics/controllers/gamepad_nintendo_64.svg"},
-    {"joystick_generic",                "Joystick (Generic)",                ":/graphics/controllers/joystick_generic.svg"},
-    {"joystick_arcade_no_buttons",      "Joystick (Arcade no Buttons)",      ":/graphics/controllers/joystick_arcade_no_buttons.svg"},
-    {"joystick_arcade_1_button",        "Joystick (Arcade 1 Button)",        ":/graphics/controllers/joystick_arcade_1_button.svg"},
-    {"joystick_arcade_2_buttons",       "Joystick (Arcade 2 Buttons)",       ":/graphics/controllers/joystick_arcade_2_buttons.svg"},
-    {"joystick_arcade_3_buttons",       "Joystick (Arcade 3 Buttons)",       ":/graphics/controllers/joystick_arcade_3_buttons.svg"},
-    {"joystick_arcade_4_buttons",       "Joystick (Arcade 4 Buttons)",       ":/graphics/controllers/joystick_arcade_4_buttons.svg"},
-    {"joystick_arcade_5_buttons",       "Joystick (Arcade 5 Buttons)",       ":/graphics/controllers/joystick_arcade_5_buttons.svg"},
-    {"joystick_arcade_6_buttons",       "Joystick (Arcade 6 Buttons)",       ":/graphics/controllers/joystick_arcade_6_buttons.svg"},
-    {"flight_stick_generic",            "Flight Stick (Generic)",            ":/graphics/controllers/flight_stick_generic.svg"},
-    {"spinner_generic",                 "Spinner (Generic)",                 ":/graphics/controllers/spinner_generic.svg"},
-    {"trackball_generic",               "Trackball (Generic)",               ":/graphics/controllers/trackball_generic.svg"},
-    {"lightgun_generic",                "Lightgun (Generic)",                ":/graphics/controllers/lightgun_generic.svg"},
-    {"lightgun_nintendo",               "Lightgun (Nintendo)",               ":/graphics/controllers/lightgun_nintendo.svg"},
-    {"keyboard_generic",                "Keyboard (Generic)",                ":/graphics/controllers/keyboard_generic.svg"},
-    {"mouse_generic",                   "Mouse (Generic)",                   ":/graphics/controllers/mouse_generic.svg"},
-    {"mouse_amiga",                     "Mouse (Amiga)",                     ":/graphics/controllers/mouse_amiga.svg"},
-    {"keyboard_and_mouse_generic",      "Keyboard and Mouse (Generic)",      ":/graphics/controllers/keyboard_and_mouse_generic.svg"},
-    {"steering_wheel_generic",          "Steering Wheel (Generic)",          ":/graphics/controllers/steering_wheel_generic.svg"},
-    {"wii_remote_nintendo",             "Wii Remote (Nintendo)",             ":/graphics/controllers/wii_remote_nintendo.svg"},
-    {"wii_remote_and_nunchuk_nintendo", "Wii Remote and Nunchuk (Nintendo)", ":/graphics/controllers/wii_remote_and_nunchuk_nintendo.svg"},
-    {"joycon_left_or_right_nintendo",   "Joy-Con Left or Right (Nintendo)",  ":/graphics/controllers/joycon_left_or_right_nintendo.svg"},
-    {"joycon_pair_nintendo",            "Joy-Con Pair (Nintendo)",           ":/graphics/controllers/joycon_pair_nintendo.svg"},
-    {"unknown",                         "Unknown Controller",                ":/graphics/controllers/unknown.svg"}
+    // shortName                        displayName                                    fileName
+    {"gamepad_generic",                 "Gamepad (Generic)",                           ":/graphics/controllers/gamepad_generic.svg"},
+    {"gamepad_nintendo_nes",            "Gamepad (Nintendo NES)",                      ":/graphics/controllers/gamepad_nintendo_nes.svg"},
+    {"gamepad_nintendo_snes",           "Gamepad (Nintendo SNES)",                     ":/graphics/controllers/gamepad_nintendo_snes.svg"},
+    {"gamepad_nintendo_64",             "Gamepad (Nintendo 64)",                       ":/graphics/controllers/gamepad_nintendo_64.svg"},
+    {"gamepad_playstation",             "Gamepad (PlayStation)",                       ":/graphics/controllers/gamepad_playstation.svg"},
+    {"gamepad_sega_md_3_buttons",       "Gamepad (Sega Mega Drive/Genesis 3 Buttons)", ":/graphics/controllers/gamepad_sega_md_3_buttons.svg"},
+    {"gamepad_sega_md_6_buttons",       "Gamepad (Sega Mega Drive/Genesis 6 Buttons)", ":/graphics/controllers/gamepad_sega_md_6_buttons.svg"},
+    {"gamepad_xbox",                    "Gamepad (Xbox)",                              ":/graphics/controllers/gamepad_xbox.svg"},
+    {"joystick_generic",                "Joystick (Generic)",                          ":/graphics/controllers/joystick_generic.svg"},
+    {"joystick_arcade_no_buttons",      "Joystick (Arcade No Buttons)",                ":/graphics/controllers/joystick_arcade_no_buttons.svg"},
+    {"joystick_arcade_1_button",        "Joystick (Arcade 1 Button)",                  ":/graphics/controllers/joystick_arcade_1_button.svg"},
+    {"joystick_arcade_2_buttons",       "Joystick (Arcade 2 Buttons)",                 ":/graphics/controllers/joystick_arcade_2_buttons.svg"},
+    {"joystick_arcade_3_buttons",       "Joystick (Arcade 3 Buttons)",                 ":/graphics/controllers/joystick_arcade_3_buttons.svg"},
+    {"joystick_arcade_4_buttons",       "Joystick (Arcade 4 Buttons)",                 ":/graphics/controllers/joystick_arcade_4_buttons.svg"},
+    {"joystick_arcade_5_buttons",       "Joystick (Arcade 5 Buttons)",                 ":/graphics/controllers/joystick_arcade_5_buttons.svg"},
+    {"joystick_arcade_6_buttons",       "Joystick (Arcade 6 Buttons)",                 ":/graphics/controllers/joystick_arcade_6_buttons.svg"},
+    {"keyboard_generic",                "Keyboard (Generic)",                          ":/graphics/controllers/keyboard_generic.svg"},
+    {"keyboard_and_mouse_generic",      "Keyboard and Mouse (Generic)",                ":/graphics/controllers/keyboard_and_mouse_generic.svg"},
+    {"mouse_generic",                   "Mouse (Generic)",                             ":/graphics/controllers/mouse_generic.svg"},
+    {"mouse_amiga",                     "Mouse (Amiga)",                               ":/graphics/controllers/mouse_amiga.svg"},
+    {"lightgun_generic",                "Lightgun (Generic)",                          ":/graphics/controllers/lightgun_generic.svg"},
+    {"lightgun_nintendo",               "Lightgun (Nintendo)",                         ":/graphics/controllers/lightgun_nintendo.svg"},
+    {"steering_wheel_generic",          "Steering Wheel (Generic)",                    ":/graphics/controllers/steering_wheel_generic.svg"},
+    {"flight_stick_generic",            "Flight Stick (Generic)",                      ":/graphics/controllers/flight_stick_generic.svg"},
+    {"spinner_generic",                 "Spinner (Generic)",                           ":/graphics/controllers/spinner_generic.svg"},
+    {"trackball_generic",               "Trackball (Generic)",                         ":/graphics/controllers/trackball_generic.svg"},
+    {"wii_remote_nintendo",             "Wii Remote (Nintendo)",                       ":/graphics/controllers/wii_remote_nintendo.svg"},
+    {"wii_remote_and_nunchuk_nintendo", "Wii Remote and Nunchuk (Nintendo)",           ":/graphics/controllers/wii_remote_and_nunchuk_nintendo.svg"},
+    {"joycon_left_or_right_nintendo",   "Joy-Con Left or Right (Nintendo)",            ":/graphics/controllers/joycon_left_or_right_nintendo.svg"},
+    {"joycon_pair_nintendo",            "Joy-Con Pair (Nintendo)",                     ":/graphics/controllers/joycon_pair_nintendo.svg"},
+    {"unknown",                         "Unknown Controller",                          ":/graphics/controllers/unknown.svg"}
 };
 
 // clang-format on