From 29ffab52f7a9a55c8dfef402baf2a395a02f7cd9 Mon Sep 17 00:00:00 2001 From: Joshua de Reeper Date: Tue, 19 May 2026 23:15:55 +0200 Subject: [PATCH] Add Load Dialog Interface --- bin/Icons/ui/home/256/file-solid.png | Bin 0 -> 3957 bytes bin/Icons/ui/home/256/folder-solid.png | Bin 0 -> 3029 bytes bin/Icons/ui/home/32/file-solid.png | Bin 0 -> 521 bytes bin/Icons/ui/home/32/folder-solid.png | Bin 0 -> 442 bytes .../Overlays/HomeMenu/overlay_home_icons.cpp | 4 + .../Overlays/HomeMenu/overlay_home_icons.h | 2 + .../USBDevices/overlay_skylander_dialog.cpp | 276 ++++++++++++++++++ .../USBDevices/overlay_skylander_dialog.h | 44 +++ 8 files changed, 326 insertions(+) create mode 100644 bin/Icons/ui/home/256/file-solid.png create mode 100644 bin/Icons/ui/home/256/folder-solid.png create mode 100644 bin/Icons/ui/home/32/file-solid.png create mode 100644 bin/Icons/ui/home/32/folder-solid.png diff --git a/bin/Icons/ui/home/256/file-solid.png b/bin/Icons/ui/home/256/file-solid.png new file mode 100644 index 0000000000000000000000000000000000000000..80695e037f893db5a451ffc6a7765410fc37b6f9 GIT binary patch literal 3957 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 literal 0 HcmV?d00001 diff --git a/bin/Icons/ui/home/256/folder-solid.png b/bin/Icons/ui/home/256/folder-solid.png new file mode 100644 index 0000000000000000000000000000000000000000..db081253ddf88e8c6237396e4a91900174ec0502 GIT binary patch literal 3029 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 IDl$Fp-@#lnNB{r; literal 0 HcmV?d00001 diff --git a/bin/Icons/ui/home/32/file-solid.png b/bin/Icons/ui/home/32/file-solid.png new file mode 100644 index 0000000000000000000000000000000000000000..ab788c763d5880eab8d3c54304cc9c076d5f7705 GIT binary patch literal 521 zcmV+k0`~ohP)?M6s#;_CD;Xv6e%pk!eC(xc(;Fwo5OM3x!K(;Yry-P-8XON%{On} zEHg%lBxS%FunJrN`p%VkpA{v~55OHW+bxS*Ns{`KUaPtGC0(mJo|ORH2ktrZ6R-sw zxEYSzv+%kUz!~5!aN4yU0yoX$XWjclGdrxo z|1Gd{;6(}|1n})JU`oT1wh6@bssO%<=fiZ2IVNgC7vsH;@H z%mL5C!fq2_lktye5BLmx0lxBQEnNgIMI%TWc-!boTV#@Md2z4$zBV&3P48olt^lG1 z-R3r&rf96LGVsp zcXD|rsh{qZjG0M#=39s+>{ zN5Ufz8p6d92q72*L6oN3AJLs=3ca^GBlwcZoZZ=-^Y59LSd>pI5 z8L$c5WX24N3RF2a{8>S#Uw^fEv&!?md~L9pHlaE20bR0w8Hm(o4j&{8iFE{5_mj k=^a+eq+@1ZCHt739}A+^9dHh6Q~&?~07*qoM6N<$g1^YP?EnA( literal 0 HcmV?d00001 diff --git a/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_icons.cpp b/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_icons.cpp index 1a734bd974..b41bb0860f 100644 --- a/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_icons.cpp +++ b/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_icons.cpp @@ -53,6 +53,10 @@ namespace rsx::overlays::home_menu return "gauge-solid.png"; case fa_icon::usb: return "usb-solid.png"; + case fa_icon::file: + return "file-solid.png"; + case fa_icon::folder: + return "folder-solid.png"; case fa_icon::bug: return "bug-solid.png"; } diff --git a/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_icons.h b/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_icons.h index 8e1717ca21..fb2475132a 100644 --- a/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_icons.h +++ b/rpcs3/Emu/RSX/Overlays/HomeMenu/overlay_home_icons.h @@ -26,6 +26,8 @@ namespace rsx::overlays::home_menu settings_sliders, settings_gauge, usb, + file, + folder, bug, }; diff --git a/rpcs3/Emu/RSX/Overlays/USBDevices/overlay_skylander_dialog.cpp b/rpcs3/Emu/RSX/Overlays/USBDevices/overlay_skylander_dialog.cpp index 27a207dab2..8b118d5d4c 100644 --- a/rpcs3/Emu/RSX/Overlays/USBDevices/overlay_skylander_dialog.cpp +++ b/rpcs3/Emu/RSX/Overlays/USBDevices/overlay_skylander_dialog.cpp @@ -4,6 +4,7 @@ #include "Emu/Io/Skylander.h" #include "Emu/System.h" #include "Emu/VFS.h" +#include "Utilities/File.h" namespace rsx { @@ -12,6 +13,8 @@ namespace rsx static constexpr u16 sky_list_y = 85; static constexpr u16 sky_list_h = 540; + static std::string last_skylander_path = ""; + skylander_dialog::skylander_list_entry::skylander_list_entry(std::string name) { std::unique_ptr label_text = std::make_unique