BlackSheepBoy69 / HexFlow-Launcher-Unofficial-Custom

A 3d cover flow like launcher for PS Vita
MIT License
54 stars 5 forks source link

Feature request - Hide specific categories #10

Open billabongbruno opened 1 year ago

billabongbruno commented 1 year ago

Hey there.

First of all, I would like to thank you for the stellar work that you have acomplished here. A great revival of an already awesome app. Thank you.

Regarding the feature request: Would it be possible to add an option to the configuration menu (the one that pops up with START) to hide specific categories?

I'll try and be clear and give a specific case in which this is useful and be more clear on what is it that I'm asking.

I bought a Vita for my kid and I modded the app.db so that it did not show anything BUT HexFlow Custom. I hid every other bubble. I also edited the Quick launch shortcuts to redirect to: VITASHELL / PKGj / Settings, so as to have a "backdoor" access to the things I need to edit / move / add / delete stuff to my liking.

So, keeping this in mind and the fact that kids are curious by nature and tend to click things they shouldn't, even after be warned not to, I did my best to hide everything.

Alas, HexFlow Custom does have the ALL (and Homebrew) category, which provides my kid with access to stuff he shouldn't have.

Ideally, hiding and password-protecting specific categories (or only these two - ALL & Homebrew) would be awesome, but I assume the password thing might be extremely complicated to code.

Is the hiding the ALL & Homebrew categories in the START menu difficult or impossible to implement?

Thank you again for all your hard work.

Hope to hear from you soon, even the answer is big "NO".

Best regards, Bruno.

BlackSheepBoy69 commented 1 year ago

This was kind of a 'secret' feature, but you can rename (in VitaShell, not within HexFlow Custom) your app folders to anything not 9 letters and they should hide. For example, rename the folder 'ux0:app/AUTOPLUG2/' to 'ux0:app/zAUTOPLUG2/' They will be kind of hard for you to access as you'll have to rename them back to access them, but perhaps this is a good solution for you?

billabongbruno commented 1 year ago

This was kind of a 'secret' feature, but you can rename (in VitaShell, not within HexFlow Custom) your app folders to anything not 9 letters and they should hide. For example, rename the folder 'ux0:app/AUTOPLUG2/' to 'ux0:app/zAUTOPLUG2/' They will be kind of hard for you to access as you'll have to rename them back to access them, but perhaps this is a good solution for you?

Hey there again.

Thank you for your quick reply and my apologies for not having been able to reply sooner.

Well, your solution does indeed sound like it could achieve the end goal for me. However, as I mentioned, I intend to mantain access to VitaShell / PKGj / Settings under the Quick Launch.

That being said and bearing it in mind, I have but two questions:

Is it possible to use your solution (which hides whatever apps I rename under HexFlow Custom) AND simultaneously maintain access to these three apps in Quick Launch (provided I change the shortcut in whatsnew.xml), or will it break this mod's funcionality (using Quick Launch and editing whatsnew.xml)?

Do you think that Quick Launch natively supports launching apps with more than 9 characters?

BlackSheepBoy69 commented 1 year ago

Apps without 9 characters can't launch no matter what, so I guess that might not be a good solution... No worries about your 'late' reply, it wasn't that late at all! It was just really lucky I checked stuff at that time or I might have taken as long! I'm surprised you're okay with having the apps available on quick launch, but not okay with them being in HexFlow Custom? If you're really sure, I could make a little mod to totally remove 'All' and 'Homebrews' for you it would probably only be a few lines of code when I get a second. Maybe an option to replace 'Show Homebrews' with 'Unlock Homebrews/All' and you'd have to enter a password? It would be more of a one-off kind of thing, I might have to consider for a bit if I'd add it outright to all the future versions since I kind of like 'All' being immutable

BlackSheepBoy69 commented 1 year ago

See if this works? https://www.mediafire.com/file/re3072jsdu44h6w/billabongbruno_index.lua/file rename it to just 'index.lua' and make it replace the index.lua inside of ux0:/app/HXLC00001/index.lua

All it does is prevent you from getting to homebrews/all. Kind of just thrown together. You could open the .vpk file in winrar and replace the index.lua right there if you want a .vpk... or if you had further needs you could just open the index.lua in notepad to edit it further... or just ask me and it would only take like a second since I know the code pretty good if you had more of a request

billabongbruno commented 1 year ago

See if this works? https://www.mediafire.com/file/re3072jsdu44h6w/billabongbruno_index.lua/file rename it to just 'index.lua' and make it replace the index.lua inside of ux0:/app/HXLC00001/index.lua

All it does is prevent you from getting to homebrews/all. Kind of just thrown together. You could open the .vpk file in winrar and replace the index.lua right there if you want a .vpk... or if you had further needs you could just open the index.lua in notepad to edit it further... or just ask me and it would only take like a second since I know the code pretty good if you had more of a request

Absolutely stellar work. It runs flawlessly. Thank you for addressing this so quickly.

If I may, I have a few notes for anyone else who wishes to use this and one question to ask you.

Notes: 1 - Using this fix, some game ports obtained via VitaDB Downloader won't show up, which is expected, naturally. As a workaround, I reverted back to the main version, overrid their categories and set them to PS Vita and then proceed to install the modded version (I did what you suggested and made my custom installer).

2 - Using this fix, the option to download ALL covers at once is now lost, which is naturally expected, as you removed / disabled the ALL category, thus probably removing / disabling all references and links to it.

Question: How would I go about editing the index.lua file in future releases of yours (with potential fixes and patches), as to not keep bothering you (Future releases, not this one, I Diff checked your original index.lua and the one you provided for me and saw the changes you made. However, your code might change substantially and I would be at a loss as to where to find it)?

I can't thank you enough for your help.

Hope to hear from you soon again.

Best regards, Bruno.

billabongbruno commented 1 year ago

Apps without 9 characters can't launch no matter what, so I guess that might not be a good solution... No worries about your 'late' reply, it wasn't that late at all! It was just really lucky I checked stuff at that time or I might have taken as long! I'm surprised you're okay with having the apps available on quick launch, but not okay with them being in HexFlow Custom? If you're really sure, I could make a little mod to totally remove 'All' and 'Homebrews' for you it would probably only be a few lines of code when I get a second. Maybe an option to replace 'Show Homebrews' with 'Unlock Homebrews/All' and you'd have to enter a password? It would be more of a one-off kind of thing, I might have to consider for a bit if I'd add it outright to all the future versions since I kind of like 'All' being immutable

I missed this entry and saw only the one below. My apologies.

Regarding the 9 chars limit, I assumed it would be so, sadly. Thank you for the info.

The thing with having them available in Quick Launch and not HexFlow is more to prevent my kid from accidentally or curiously entering them with a misclick or something. It's more of a "out of sight, out of mind" kind of approach. Not 100% fool-proof, but an improvement, regardless.

Quick Launch isn't something he opens up, he mainly stays in the HexFlow Custom menu. By removing it from there, it would greatly decrease the risk of having him open things he shouldn't. I would still need some access, should he actually break something, which is why I needed VITASHELL and SETTINGS access, to the very least.

I understand it's a risk, but I can't really think of another way to access SETTINGS or VITASHELL other than that.

That option you suggested to "Unlock Homebrew/All" with an eventual password would be great and would allow for the Quick Launch shortcuts to be gone, indeed. However, I assume it might be extremely tricky to implement, hence my personal request for help, which you so promptly attended to.

Regarding it being a "one-off" thing, I understand that and truly appreciate your help and the fix provided and I took the liberty of asking you (in my previous reply) how would I go about editing it (what should I look for and remove / disable) in future releases of yours (in case your code changes substantially), should you not outright implement this feature (the one you suggested)?

Thank you again for all your help and work.

See you soon,

Bruno.

BlackSheepBoy69 commented 1 year ago

The fix in the index.lua I just sent you won't be compatible with v3.0 (the spots I editted for you are getting hugely rewritten to fix the random crashing bug).

I think I can come up with a better solution but I'll probably mess with it more Friday or Saturday when I'm not busy, though it wouldn't take too long

billabongbruno commented 1 year ago

Hey there once again.

I see. That's what I suspected might happen at some point: the specific functions that are responsible for the categories being rewritten and me not being able to track down what to edit.

I didn't mean to be a bother and that's why I was willing to go that route for as long as that part of the code remained unaltered. That not being the case anymore, I can only hope that it isn't too much work for you and won't break anything else.

If it's not at all feasible, I will remain in version 2.2 (modded), as I have yet so see any issues, including crashing.

Thank you once again for all your help willingness to implement this feature.

Hopefully it's possible and not much of a hassle.

Best regards, Bruno.

BlackSheepBoy69 commented 1 year ago

It won't really be an issue because the next version (v3.0) will be the final update: I can just make you a special index and post it here again, it'll only take me like 10 minutes tops to make since LUA is super easy to code in. (the 2 empty slots in the settings will likely be taken up so I'm not sure I would add the parental lock to the like... 'mainline releases' since I'd have to find room for the new setting. Especially when Vita has so many 18+ games I never considered someone would give it to their kid to need a parental lock).

If you're going to ONLY want homebrews to show when you're fixing something, I might as well get rid of the "Hide Homebrews" setting and replace it with something that will toggle this whole "Parental Lock Hotfix". It could just copy and paste the code from the individual app renamer thing and it would be like... you could have it disable the parental lock for 'the current session only' by entering a password?

billabongbruno commented 1 year ago

It won't really be an issue because the next version (v3.0) will be the final update: I can just make you a special index and post it here again, it'll only take me like 10 minutes tops to make since LUA is super easy to code in. (the 2 empty slots in the settings will likely be taken up so I'm not sure I would add the parental lock to the like... 'mainline releases' since I'd have to find room for the new setting. Especially when Vita has so many 18+ games I never considered someone would give it to their kid to need a parental lock).

If you're going to ONLY want homebrews to show when you're fixing something, I might as well get rid of the "Hide Homebrews" setting and replace it with something that will toggle this whole "Parental Lock Hotfix". It could just copy and paste the code from the individual app renamer thing and it would be like... you could have it disable the parental lock for 'the current session only' by entering a password?

I see. Well, in that case, I can only thank you for your trouble. There are indeed a lot of +18 games, but I only got the the approriate ones and threw them in there. I also took care to delete Wifi Settings completely and I only re-add my home networks when I am the one using the console (to fix or add something) and the delete them again, as to prevent any unwanted communication via Internet. I just wanted him to have a portable system where he could play a few (and good) games and I couldn't think of a better handheld, seeing as I have had a Vita for more than 8 years and could not be happier with it, especially with the homebrew community being as active as it is.

Yeah, that sounds about the end goal - to only have homebrews / all show when something needs fixing and the method you suggested seems perfect, if it isn't too much trouble to code in.

Thank you once again.

See you soon.

Bruno.

BlackSheepBoy69 commented 1 year ago

I just realized, your issue with "Can't download covers for 'All' " issue can be fixed by just changing a 1 to a 0 somewhere in the code for what category comes up by default to download category covers for. I'll find it this weekend if I can