-
-
Notifications
You must be signed in to change notification settings - Fork 95
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft: Add the ability to disable the device selector #825
base: master
Are you sure you want to change the base?
Draft: Add the ability to disable the device selector #825
Conversation
I've set some time aside to review this early next week, sorry about the delay! |
Alright, I've had some time to look over the code and the writeup here as well as re-review what's been asked for in those two feature requests (#719 & #720). What you've done so far is a nice start if we were to move towards a super tailored UI where entire sections could be changed individually. I feel like the simple thing to do here would be to simply add a new higher level style setting that applies to the entirety of Swiss to put it into "Game Mode" (name pending, I don't exactly want to call it "Museum Mode" heh). If this setting is enabled, it's all about the games, with certain things being stripped back and made harder to accidentally access. This setting would apply to either file browser style (carousel, or simple). Things "Game Mode" would do:
Interested in feedback on the above which I'm happy to implement - @Extrems @ziggythehamster |
Bump. I'd love to see this implemented... I see no activity on this PR in a few months. Are you waiting on something or should this be closed out? |
I guess I was waiting on feedback but if there's nothing, perhaps we can just implement it as I'd outlined it. |
If you don't like "Museum" and "Game" modes... which would be kinda fun, but not very self-explanatory... you could just do the standard "Admin" and "User" modes. I really like what you described above. I'm not so sure about flattening out the game directory (I nest my games into buckets... FPS, RPG, Racing, etc.)... but this might push me for a more efficient organizational scheme. |
Sorry for dropping this for so long, got side-tracked with other stuff :).
I'm down with that. I was thinking along the lines of making each option individually configurable originally because it has greater overall utility if there is disagreement over what a "locked down" mode means. Going item by item with your idea:
I could go either way on this since showing the device info is not a huge problem... though it really only has utility for a staffer to help debug things, and I'm really not sure how much utility it actually has unless it showed the volume label or read a file to show in the popup.
I would argue against this. We organize our SD card images with paths like
No complaints here
For the reasons above, I don't know that I would want every GC game to appear in the same screen.
I'm fine with this.
Swiss already does this, but I forget what the option is called. This "lockdown mode" or "game mode" or whatever it's called could forcibly toggle this option on.
I'm OK with this being delegated to the loader (PicoBoot in our case) for the time being.
I'm fine with this too.
Given that our systems are always on and we burn through SD cards with some regularity, I would probably keep the messages as they are, because it's helpful to help diagnose the problem remotely if it keeps getting stuck at the same point while patching the game, vs. if the loading process still fails but it fails at different points. Also, FWIW, we have not yet decided on whether we will go with the file list or the carousel view. I think the carousel view is more likely to appeal to people who don't necessarily know what they're looking for, and be annoying to people who do, and vice-versa. At the risk of making everyone including myself feel old, we get a surprising number of people who vaguely remember a game from their childhood, and don't remember the name of it. The title artwork is helpful because they're likely to remember the shape/colors/etc. of the game logo and maybe what letter it starts with, but nothing else, and the carousel view has bigger logos. Most likely, we'll end up trying both modes out and see what feedback folks have. I can probably contribute some work toward getting this done as well. Maybe for starters I can rework this PR into "Lockdown Mode" or "Game Mode" or whatever we want to call it ("Museum Mode" feels too specific; I could see this being useful for a situation where a parent wants to let a kid play on their GameCube without messing with the settings) and make it just disable the bottom bar for now, since there are a couple of edge cases that this PR handles for when device selection becomes required but the selector isn't enabled. |
9d47705
to
e776a95
Compare
This is a work in progress and I'm seeking feedback on a few things. Before I get to that, a quick explanation. In my feature request #720 (and to an extent some of the things asked for in #719), one of the things that keeps happening to us is that either accidentally or maliciously, someone will change the device off of SP2, and the system becomes "broken" until a staffer can investigate. Because this happens so often, the GameCube got moved as close as possible to the front counter of the museum. My goal is to eventually make all of the advanced features hidden behind a setting of some sort, and have an administrator bypass sort of function using PicoBoot. It turns out that PicoBoot will parse and pass arguments if you have e.g.,
/ipl.cli
, and Swiss accepts all of the configuration options normally read from global.ini as arguments. This means that we could haveipl.dol
andstart.dol
and the only difference be thatipl.dol
has a restricted configuration passed viaipl.cli
. Perfect. Now those options need to exist, and this is the first one I'm working on. This leads me to the things I'm looking for feedback on:MenuItemNext()
ormenu_item_next()
? Both are used a lot in Swiss, and I don't know what the "current" pattern is.Currently identified stuff I still need to do: