Homebrew [Release] Homebrew Launcher with grid layout

  • Thread starter Thread starter mashers
  • Start date Start date
  • Views Views 675,493
  • Replies Replies 4,218
  • Likes Likes 139
I meant having some way to keep them together at the root or something; although that wouldn't automatically detect each folder like it does now unless .hbfolder is kept. I'm probably just used to old ways, but I don't like having to go two/three folders in deep for organization.
I see. Well, the options are:
  • Keep then in root
    • This can get untidy
    • It also requires either an identifying extension, a hidden folder within the file, or a way of selecting the folders to show within the settings
  • Put them in a subfolder
    • This requires deeper navigation to manage the contents as you have said
    • However it requires no configuration whatsoever as the folders get picked up automatically
Each method has a trade off. Overall my feeling is that the current method requires the least setup and is the most foolproof as the only responsibility for the user is to put the folders in /gridlauncher/folders. I will move /3ds into the same location so they're at least all in the same place.

Edit - actually moving /3ds will break compatibility with other launchers, so it will stay where it is in root.
 
  • Like
Reactions: fmkid
I see. Well, the options are:
  • Keep then in root
    • This can get untidy
    • It also requires either an identifying extension, a hidden folder within the file, or a way of selecting the folders to show within the settings
  • Put them in a subfolder
    • This requires deeper navigation to manage the contents as you have said
    • However it requires no configuration whatsoever as the folders get picked up automatically
Each method has a trade off. Overall my feeling is that the current method requires the least setup and is the most foolproof as the only responsibility for the user is to put the folders in /gridlauncher/folders. I will move /3ds into the same location so they're at least all in the same place.
Well, I guess I can play with how it is right now. I'm thinking /hbfolders, but it's up to you.

As for /3ds, it's probably best to keep scanning that location for the best compatibility; for example, homebrew that have hard-coded paths there.
 
Mashers you're a saint.
I've been using - beta 20 up until now I believe. I didn't take the time to update the boot.3dsx until now, and boy oh boy does this look amazing. I'd dare say it looks as good as an official menu would look like. It's super sleek and is also extremely customizable, not to mention the title loader is a godsend.
Outstanding job!
 
  • Like
Reactions: daxtsu
I'll need to make the names shorter. :lol:
gZC7f3w.png
 
Actually I need to add text wrapping and truncation to the buttons too :)
That would be great. Also for now theres an 8 theme limit or we can change pages to choose other themes? Oh and in a future update clould you add a random theme option so it randomly changes the theme for others on the themes folder each time you restart the homebrew launcher?
 
  • Like
Reactions: fmkid
It's working so far. Now all we need is BGM and we're golden for theme content.

EDIT: It looks like I completely forgot about shuffling.
 
Last edited by Arseface_TM,
@mashers Perhaps the alphabetical sorting for apps should also apply to themes? They seem to just show up in FAT order currently.
Oh yes. I forgot about that. I abstracted the directory listing code to a function so once I get the theme list alpha sorted then the folders list will be too.

That would be great. Also for now theres an 8 theme limit or we can change pages to choose other themes? Oh and in a future update clould you add a random theme option so it randomly changes the theme for others on the themes folder each time you restart the homebrew launcher?
Yes there is an 8 theme limit for now. Once I implement paging in the directory list I can remove this limit.

Theme shuffling should be easy - I'll add it to the todo list.
 
Hi,@mashers thank you for your great work!

About the system titles loading, I think the homebrew laucher could just create some kind of caches.
For example, dump out the icons and imformation and store them into the path sd:/gridlauncher/caches.
The icons caches could be saved as .bmp.
When opening the title selector, the hbl read into caches instead of system directly.When we don't want some
titles to show up, we can simplely delete the icons.If we download new titles, we will be able to refresh the cache manually.
In this way,we are hopefully getting:

1. Since we won't need to background thread the system titles each time that we return to hbl anymore,we will save time to
load them,and there won't be lag/lock up.

2. The ignorelist is no more needed, deleting the icon cache is more easily to use.

3.We can even get a system icon dumper now.


And on another hand ,can we get mm/dd/yy to show up on the upper screen anytime soon?
Again,thank you very much!
 
Last edited by pdapanda,
@pdapanda
As I have explained before, a cache of the system titles won't make any difference to the performance. The icon data and descriptions have to be loaded from somewhere, and the files are on the SD card or NAND anyway. Loading them from a cache directory will take the same amount of time as loading them from their original location. Furthermore, the process of saving the cache will be time consuming, since they will have to be read from the original smdh and then written. Saving in an image format is also a bad idea as ctrulib needs raw RGB data, not formatted image files. So saving as bmp would mean an additional step of decoding the image so ctrulib can draw it.

Caching only makes sense if you're caching from a slow read location to a fast read location, like caching from a remote server to a local file. Caching a file stored on an SD card to another place on the same SD card makes no sense at all.
 
  • Like
Reactions: pdapanda
@mashers Would it be possible to update the HBL in the HBL?
Technically yes. It would involve setting up hosting for the update files and then getting the launcher to download the updated 3dsx from the server and write it to the SD card to overwrite the original. I haven't looked into socket programming in ctrulib, but I have written basic socket clients and servers in plain C before. I probably still have the source code so I could try to built it in ctrulib. I've added this feature to the todo list, but don't expect it any time soon ;)
 
  • Like
Reactions: BurningDesire
My 3DS has froze three times with the last beta. Two times while I tried to open FTpony, and one while I tried to open CTRXplorer (these two are the only apps I test since I got the last beta) :unsure:
 
Last edited by MannCo,

Site & Scene News

Popular threads in this forum