mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2026-07-08 12:09:06 +00:00
b72990bf53771c3cfd4250355b16a9b2331114ea
2 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b72990bf53 |
UI: Actions Menu (Part 3 of 4) → Amiibo & Skylanders (#158)
Ayyyy, welcome to the UI: Actions Menu → Amiibo & Skylanders PR!
WOOOOO!!!!
This is the third PR in a series aimed at delivering the largest overhaul and improvements to the `Actions` menu yet.
This PR introduces visual and functionality improvements to the two `Scan Amiibo` options, as well as improving `Scan Skylanders`.
### GENERAL
* **Renamed:** Open Mii Applet → Open Mii Editor in `MainMenuBarView.axaml.cs`
### LOCALISATION
* **Fractured:** More locales
* `Amiibo.json` - all UI-related locales to the `Scan Amiibo` window
* `Common_Buttons.json` - all locales related to buttons
* `Common_FilePicker.json` - all locales related to the file picker that are implemented in many places
* `Dialog_Amiibo.json` - all Amiibo dialogs
* `Dialog_Skylanders.json` - all Skylander dialogs
* **Removed:** Some weird duplicated locales (they appeared after some sort of rebase, but they were few)
**NOTE:** `Common_Buttons.json` and `Common_FilePicker.json` were not fully populated, but many more locales will be added and cleaned up in future PRs.
### SCAN AMIIBO (WINDOW)
* **Improved:** The UI
* The UI now more cleanly utilises both Normal and Flush Controls.
* All buttons have been moved to the top row and features a whole lot more updates (read below).
* **Reworded:** `Hack: Random UUID Tag` → `Use Random UUID`
* The option is inherently already a hack/workaround, therefore, having "Hack" is not necessary. It is also implied that it's a tag.
* **Implemented:** [Feature Request #271](https://github.com/Ryubing/Issues/issues/271)
* The feature request is for the ability to pause emulation while navigating the `Scan Amiibo` window (so as to reduce/remove timeouts) and for an Amiibo "name" sorting feature. You asked, we deliver!
* **Pause Emulation:**
* The top row now features a "setting" button dropdown, which houses `Use Random UUID` and `Pause Emulation While Scanning`
* Note: Both options were moved to a button dropdown so as to not have to increase window size by a 1000x
* `Pause Emulation While Scanning` is a dynamic, real-time implementation.
* By default, the checkbox is not checked.
* When it's checked, emulation _instantly_ pauses for the duration while the window is open. Pressing "Scan Amiibo" or "Cancel" resumes emulation. Reopening the window pauses the emulation instantly as well.
* This setting persists both while in-game and upon restarting Ryujinx, so users don't have to constantly go back and check the option again.
* Additionally, this feature has been propagated to `Scan Amiibo (BIN)`. Perhaps some users would also want emulation to pause while scanning via BIN, so if the checkbox is checked, it'll pause emulation when the file picker is open as well.
* **Sorting & Search:**
* Additionally, implemented a simple "sort by name", in ascending and descending order.
* Added a search bar (related to the change below) to help with searching through the long Amiibo list.
* Search is semi-alphabetical, semi-series based. If I want to search for Samus Amiibo, then if I type "Samus", it'll first show Dark Samus, as it appears in a series earlier in the list. This behaviour can be modified to just be alphabetical, but it is also more categorisation.
* **Modified & Renamed:** `Show Incompatible Amiibo` → `Show All Amiibo`
* Pressing `Show Incompatible Amiibo` would display all Amiibo available, so the option was renamed.
* The option now forces all Amiibo to appear in a list, without a preselected series. Unchecked the option restores original behaviour by breaking down Amiibo by their series (and only those directly compatible with the game).
* **Removed:** Series label
* It's clear that it's an Amiibo series.
* **Fixed:** Amiibo Usage visual structure
* When an Amiibo had multiple in-game usages (multiple purposes), they would all be squished together with no spaces in between them, reducing readability.
* Now, they are all separated and given an extra line between each usage.
* Additionally, fixed "Unknown" text position as well by giving it another extra empty line.
* **Renamed:** Writeable to Usage (Can Save Data)
* Usage and Usage (Can Save Data) are separate strings because some languages must add space before or after the colon
* **Fixed:** Sometimes incorrect Amiibo images could be shown when pressing `Show Incompatible Amiibo`/`Show All Amiibo` in certain instances.
* Sometimes = pressing the checkbox 10 or 20...maybe 30 times in a row (I pressed it a lot!)
* **Reworded:** Cabinet Dialog strings
* Cabinet Dialog is the dialog that appears when you want to rename your Amiibo. Previously, the options didn't reflect the actual window and what they were asking the user, but now clearly tell the user that they are renaming their Amiibo, and when the dialog prompts the user to scan their amiibo again.
### SCAN AMIIBO (BIN)
* **Renamed:** `Scan Amiibo (.BIN)` to `Scan Amiibo (BIN)` to be similar to `Install Keys` > `KEYS` and similar menu items
* **Adjusted:** File picker title when loading Amiibo from BIN to...literally tell the user what to select and what will happen (similar to `Install Firmware` and `Install Keys` file picker titles)
### SCAN/REMOVE SKYLANDER
* **Merged:** `Scan Skylander` and `Remove Skylander`
* Instead of having two separate buttons, let's have one button that actively updates state. Instead of using two shortcuts, it now uses one, and the label updates based on whether the game is asking to `Scan Skylander` or whether you can `Remove Skylander`.
* **Fixed:** `Scan Skylander`/`Remove Skylander` were not visible properly
* Initial implementation only displayed the menu options/buttons when a particular Skylander Imaginators game was being played (i.e. specific ID)
* While there is only one Skylander game on the Switch, the game has been distributed in multiple regions under different game IDs and has different languages. People who owned Skylander Imaginators with a 0100ccc0002e6000 ID could use this feature and _nobody else._
* This has now been fixed by allowing those options to be visible at all times, regardless of the game
* For Skylander games, this is not an issue because the backend implementation for scanning/removing a skylander is the same (tested)
* For other games, then it doesn't matter since the feature is not used, but it will let users know the feature exists, in case they wished to previously play the game, but couldn't due to the missing backend.
* **Renamed:** Skylander functions and methods
* You don't open a window (like Scan Amiibo) but you open a file picker.
* **Fixed:** Inconsistent button state and shortcut update
* This was a bug in the previous implementation as well - you couldn't scan/remove skylander with the keyboard shortcut unless you opened the `Actions` menu (and only then would the shortcut register). This has been fixed.
As such...Skylanders Imaginators are now **Playable**! Updated the entry and added another game ID.
_If there are any features or changes that you wish to be implemented, please comment down below and I'll be happy to accommodate!_
Reviewed-on: https://git.ryujinx.app/projects/Ryubing/pulls/158
|
||
|
|
905a41a643 |
UI: Actions Menu (Part 2 of 4) → XCI Trimmer (#146)
Ayyyy, welcome to the UI: Actions Menu → XCI Trimmer PR!
Let's keep it up!
This is the second PR in a series aimed at delivering the largest overhaul and improvements to the `Actions` menu yet.
This second PR introduces visual improvements to the `XCI Trimmer` and also fixes some bugs.
### GENERAL:
* **Renamed:** `XCI Trimmer` files to use the capitalised XCI instead of Xci
* Files were inconsistently named with either Xci or XCI. As such, they were all renamed to use XCI.
### LOCALISATION:
* **Fractured:** More locales
* `Common_Search.json` - search-related locales
* `Common_Sort.json` - sorting fields, ascending/descending locales
* `Dialog_XCITrimmer.json` - XCI trimmer dialogs
* `GameListContextMenu.json` - all UI dialogs related to the game list menu (right-click game)
* `XCITrimmer.json` - all UI-related locales for the XCI Trimmer window
* **Added:** Additional entry to `StatusBar.json`
* **Added:** `Simulate Wake-Up Message` to `MenuBar_Actions.json` (previously did not exist there, for some reason).
**NOTE:** `Common_Search.json` and `Common_Sort.json` were not fully populated, but many more locales will be added and cleaned up in future PRs.
### XCI TRIMMER:
* **Renamed:** `Trim XCI Files` menu → `XCI Trimmer`
* **XCI Trimmer (Window):**
* **Renamed:** Window title from `XCI File Trimmer` → `XCI Trimmer`
* **Renamed:** `X of Y Title(s) Selected` → `XCI Selected: X/Y`
* `Z Displayed` was renamed to `Displayed: Z` and, as usual, appears only when searching for particular XCIs in the search bar.
* **Fixed:** Counting bug
* Pressing `Select Shown` continuously would increment the amount of XCIs selected to infinity (e.g. if 5 XCIs are in the list, then you could get 1201312 of 5 Title(s) Selected). Furthermore, when you were trimming a specific number of XCIs (not the all XCIs) at once, it would show that its trimming all titles from the list (e.g. "Trimming 5 Titles" when only 1 was being trimmed).
* **Changed:** Button structure
* Previous structure included 2 buttons: `Select Shown` and `Deselect Shown`. Initially, they were renamed to `Select All` and `Deselect All`, as that sounded more natural. However, after further consideration, they were both removed and replaced by a single button, whose action and label would change depending on the state it was in:
* If no XCIs were selected → `Select All`
* If at least one XCI is selected →`Clear Selection`
* `Clear Selection` was used instead of Deselect All, because some translations were quite awkward.
* Furthermore, this reflects the way the button works: you are not "deselecting all" when only 2 out of 5 XCIs are selected - you are clearing that particular selection of XCIs.
* **Improved:** Button and Control Layout (above list)
* Sorting dropdown was expanded a bit further (150 default to 170 width), as some locales would get cutoff. This will be further adjusted in a future PR, which will tackle all of Ryujinx's sorting features.
* Added a new sorting: Trim Status
* See images for visual comparison.
* **Improved:** XCI List Layout
* The entire list was revamped to be more modern and cleaner to look at.
* Instead of displaying the file status (Trimmed, Untrimmed, Partial, Failed, Unknown), it now shows icons: Checkmark (Trimmed), Cross (Untrimmed), Wrench (Partial), Exclamation Mark (Failed), Question mark (everything else/Unknown), No Icon (when it's not XCI).
* Furthermore, it shows a Sync icon when performing the trimming/untrimming operation.
* Additionally, it shows the said status when you hover above the icons.
* Save X MB and Saved Y MB were both removed and replaced with just the amount and a percentage value (how much you save per file).
* See images for visual comparison.
* NOTE: Icons are still under consideration and may be changed in the future.
* **Improved:** Bottom Savings Display
* Instead of showing `Potential Savings`" and `Actual Savings`, the bottom row now shows the amount `Saved` AND the amount `Remaining`.
### GAME LIST CONTEXT MENU (Right-Click Game):
* **Renamed:** `Check & Trim XCI File` → `Trim XCI`
* The option already performs a check regardless.
* **Remove:** `Trim XCI` Tooltip
* The user can press the option and will be confronted with a dialog, which explains what the feature does. Furthermore, the action itself is reversible at any moment (i.e. before trimming and after trimming in the XCI Trimmer).
* It is planned to either add a message that tells the user they can untrim the XCI in the XCI Trimmer, or to make the option work both ways (Trim & Untrim). This is still under consideration, but, if chosen to be implemented, it will be a part of the Game List Context Menu PR.
* **Added:** IsVisible parameter to `Trim XCI`
* Instead of displaying `Trim XCI` for every single game (NSP, NSO, etc.), it will only be displayed for XCIs (as they are the only ones that can be trimmed). It is still _enabled_ only if an XCI is untrimmed.
* **Improved:** `Trim XCI` Dialog
* Some minor visual adjustment and organisation improvements.
* **Changed:** Value formatting for "File Size", "Game Size", and "Space Savings"
* Previously they were very long numbers, expressed in MB, with all the decimals. Instead of displaying them as such, they were shortened to display the same amount as they do in the XCI Trimmer window already.
* All further dialogs will be improved in a separate PR, because they desperately need consistency.
### STATUS BAR:
* **Adjusted:** Formatting of XCI Trimming Status on status bar
* **Forced:** Filename without extension (as we are already trimming an XCI already).
* **Fixed:** Trimming Position when Playtime is not available
* **Fixed:** Progress bar position (will be further adjusted in a Status Bar PR…boy there will be a lot of PRs, which is good)
_If there are any features or changes that you wish to be implemented, please comment down below and I'll be happy to accommodate!_
Reviewed-on: https://git.ryujinx.app/projects/Ryubing/pulls/146
|