Homebrew [Release] Homebrew Launcher with grid layout

  • Thread starter Thread starter mashers
  • Start date Start date
  • Views Views 674,979
  • Replies Replies 4,218
  • Likes Likes 139
Yeah! I love this hbl :) Best ever! Pure hb fun :)

One request:

Would it be possible to upscale the 'active' icon on the upper screen? In this case the genesis controller would be upscaled 2x or perhaps 3x as big as the lower screen icon.

20150917_200227.jpg
 
The problem with that is how to store the layout. Allowing the user to drag the icons around would be quite straightforward, but you need to store the current position of every app. That means either having some kind of database which pairs the path to the 3dsx file to a coordinate position on the grid, or putting a file in the same folder as the 3dsx which contains its position. The problem with the former is what happens if the app moves to a different folder? It will no longer match to its coordinates in the database, so how will the launcher know where to put it? The problem with the latter is that if you have more than one 3dsx in a folder then the coordinates of one will overwrite the other.

It's a minefield I don't really want to get in to if I'm honest. Once the source code is up on GitHub then someone else will be able to look into it if they want to take it on.
You can't just make the HBL look for new files when you press a reload button and put them at the end of the database?
 
You could go like the 3DS HOME Menu and have each app keep a fixed position, if custom organization is "on". So if an app disappears, simply don't show anything there.

You can't just make the HBL look for new files when you press a reload button and put them at the end of the database?
Both of those still leave the problem of actually storing and managing the data. As I said that will have to be a feature for someone else to implement once the source is released as I don't have time to get into it.
 
Both of those still leave the problem of actually storing and managing the data. As I said that will have to be a feature for someone else to implement once the source is released as I don't have time to get into it.
You could try storing a list of folder names in a text file somewhere. Blank lines could indicate nothing being in that slot. Just an idea, there could be better ways.
 
Would it be possible to upscale the 'active' icon on the upper screen? In this case the genesis controller would be upscaled 2x or perhaps 3x as big as the lower screen icon.
That's the plan. Not sure how to do that without massively pixelating the image, but the idea is for the icon to be larger on the top screen.
 
  • Like
Reactions: SLiV3R
Both of those still leave the problem of actually storing and managing the data. As I said that will have to be a feature for someone else to implement once the source is released as I don't have time to get into it.
You could save it in the root of the sd tho.
 
You could save it in the root of the sd tho.
Ok, you work out the data structure and the logic behind the content of the data file, the correlation of the icon position with the correct 3dsx path, what should happen if apps are added or deleted, how to manage 3dsx files in conflicting positions, 3dsx files without a valid location etc etc, and I'll deal with saving it in the root of the SD card.
 
Both of those still leave the problem of actually storing and managing the data. As I said that will have to be a feature for someone else to implement once the source is released as I don't have time to get into it.
So, something like a Favourite menu who you can choose to boot from would do the same. Look this (http://gbatemp.net/threads/homebrew-launcher-with-sorting-and-folder-support.396793/), the only difference is that you need to press x every time you want to switch from the normal menu to favourites.
 
Do we need a flashcard to run this?
And also does it work with O3DS 10.0?
It's a replacement for smealum's Homebrew Launcher, which you would run through one of several exploits.

http://smealum.github.io/3ds/

If you don't have Ironfall or Cubic Ninja, use YouTube. It does require an internet connection though.
 
You need a homebrew exploit like Ninjhax, Ironhax or Tubehax, or a CFW which allows homebrew. A flash card is not required. I haven't tested on O3DS or 10.0 as I don't have either.
I've tested it on both N3DS and O3DS, they both work fine, even thought on the o3ds you get kind of a screen glitch when the launcher or some other app starts
 
About icon positioning, there's only one way to do it and that's saving each path in order, but I think it isn't that complicated.

Let's say the grid is in this order:
Code:
01  04  07  10
02  05  08  11
03  06  09  12
And we have 5 homebrew, which by default are added in order (from 1 to 5).

Now, code to generate "empty" entries should be added. Not really difficult (also make some kind of "empty" icon for them). Then we fill the grid with empty entries (so we would add 7 empty entries)
To identify an empty entry just set the executable path as NULL, or any other string of the entry, or name it "EMPTY ASDFJKABE" and use strcmp...whatever..

Since we have 12 entries, to swap them we only need a temporal entry so we can swap two entries. Coding "drag and drop" would be more difficult, but a simple button to enable swapping is way easier, i.e.:

1.- Select a homebrew, press move button. Homebrew is highlighted in some way. And entry stored as temp.
2.- Select where we want to put it. The selected entry is copied as the other entry, then we copy the stored temp entry to this one.
3.- Better if we add some kind of confirmation dialog.

For saving it, it would be just a matter of saving all entries as the path for the homebrew (blank or some kind of magic word for empty entries) in the grid order, then modify the addentry function to use those paths instead of parsing trough the directory.

It's basically what I do for favorites, but then we have the problem of homebrew being removed/added, so parsing the directory while comparing the list should be done in a optimized way to not generate slow boots if there's a lot of homebrew. A way to override this would be to either manually add them to the list, use a pc app as a way to "install" the homebrew (which would be a pain) or only reescan directory to add new entries when the user choses to do so in the config screen. Maybe simultaneously parsing the list and the directory wouldn't make a noticeable slowdown, but I don't know that.

Well, it really is a pain to implement

BTW, I havent tested yet, do pages scroll or just change when button is pressed?

EDIT: Also, why not increase font size for title and description? That would fill the top screen more, but maybe the wordwrapper function needs to be changed to take into account the new font size.

Just tested it, this is really nice, I really want to look if this would be too difficult to be integrated into my mod as an alternate view
 
Last edited by suloku,
Hm, I can't reproduce that. I've got mine set up the same way, with the third row of icons and region free launcher disabled but sorting alphabetically. Can you detail exactly what I need to do to reproduce the problem?
Actually, I'm not sure what to do exactly...
I've been trying to reproduce it for a while, and suddenly, it happened again.
It seems to have to do something with the settings at launch or something, but it actually looks kinda random... I tried to do it more than 10 times, and it "worked" only two times.
Here's a video showing the problem (sorry for the poor quality, you can't really see because of the compression but these clicking sounds are from when I press the left button on the dpad):
 

Site & Scene News

Popular threads in this forum