Homebrew [Release] Homebrew Launcher with grid layout

  • Thread starter Thread starter mashers
  • Start date Start date
  • Views Views 675,697
  • Replies Replies 4,218
  • Likes Likes 139
One thing you should change (if possible) is the region free launcher. Instead of showing Region Free it should just show what gamecard is inserted.
 
One thing you should change (if possible) is the region free launcher. Instead of showing Region Free it should just show what gamecard is inserted.
That would be pretty much impossible to do due to the fact of how the region free launcher works.
 
That would be pretty much impossible to do due to the fact of how the region free launcher works.
Actually I think this might be possible. There is an object in the launcher representing the game card and you can access the icon and details from there. I will try changing the drawing code to take the icon and details from that instead of from the region free launcher's entry, as I do like the idea of it showing the actual game in the grid instead of the RFL.

--------------------- MERGED ---------------------------

You can grab the code you need from this tutorial (there is also a .c file to draw rotated string, but you can easily remove the rotation part).
http://www.freetype.org/freetype2/docs/tutorial/step1.html
OK, Freetype is not going to work. Even including the headers and adding a call to Init a font library causes the launcher to hang on startup. I think the same problem experienced with using C++ vectors and maps is occurring with Freetype, i.e. there is some dynamic memory allocation in the Freetype library which is messing with the mapping of memory for the launcher and/or other things which are needed but are being overwritten. Back to trying to convert a ttf to fnt+png and converting to bin format to use natively in ctrulib :/
 
Woah mashers I remember when you first started this thread. Wow this can replace the 3ds home menu now, as the home menu hax had been released and now I can autoboot into this menu! Great improvement looks way better than when you first made this
 
  • Like
Reactions: SLiV3R
Actually I think this might be possible. There is an object in the launcher representing the game card and you can access the icon and details from there. I will try changing the drawing code to take the icon and details from that instead of from the region free launcher's entry, as I do like the idea of it showing the actual game in the grid instead of the RFL.
Yep, it works. @smealum helpfully added the gamecardMenuEntry which extracts the icon, title, author and description from the currently inserted gamecard. He also added a variable which identifies whether or not a gamecard is inserted. So now if you insert a gamecard the region free launcher icon in the grid will change to the icon of the game, and selecting it will show the game details (instead of the RFL) on the top screen. I'll upload this version later.
 
  • Like
Reactions: SLiV3R
OK guys, quick update just attached to the first post in the thread.
  • Improved performance of configuration. Previously, every time a single option was changed the whole config was loaded from SD card, the changed option was applied, and the whole config was then saved back to disk again. Now, the config is loaded from SD once, any changes are applied in memory, and the save routine is called separately so many config options can be changed and then saved once. This improves the performance of exiting the settings, which was previously slow and quite jumpy
  • The grid now displays the icon for the currently selected cart where the region free launcher goes. Selecting the cart's icon now shows the details of the game on the top screen instead of the region free launcher. Changing carts results in this information being refreshed, and if no cart is inserted then the region free logo is displayed
  • The confirmation to launch a cart has been removed. This was inconsistent with the home menu, and also inconsistent with all the other apps in the grid which launch as soon as you select them. So now, selecting to launch a game using the region free loader will make the game start straight away.

I spent ages last night and today trying to get TTF fonts working. It's not going to happen, so I now need to look again into converting TTF fonts so they can be used by ctrulib. This probably won't happen today though, so enjoy the latest update and hopefully fresh fonts will come soon :)
 
OK guys, quick update just attached to the first post in the thread.
  • Improved performance of configuration. Previously, every time a single option was changed the whole config was loaded from SD card, the changed option was applied, and the whole config was then saved back to disk again. Now, the config is loaded from SD once, any changes are applied in memory, and the save routine is called separately so many config options can be changed and then saved once. This improves the performance of exiting the settings, which was previously slow and quite jumpy
  • The grid now displays the icon for the currently selected cart where the region free launcher goes. Selecting the cart's icon now shows the details of the game on the top screen instead of the region free launcher. Changing carts results in this information being refreshed, and if no cart is inserted then the region free logo is displayed
  • The confirmation to launch a cart has been removed. This was inconsistent with the home menu, and also inconsistent with all the other apps in the grid which launch as soon as you select them. So now, selecting to launch a game using the region free loader will make the game start straight away.

I spent ages last night and today trying to get TTF fonts working. It's not going to happen, so I now need to look again into converting TTF fonts so they can be used by ctrulib. This probably won't happen today though, so enjoy the latest update and hopefully fresh fonts will come soon :)

So the only remaining thing is adding a custom font right?
 
Just a small criticism of the GUI, there's a little too much white. Think it would be a little less blinding with more blue, like the original HBL.
 
  • Like
Reactions: SLiV3R
So the only remaining thing is adding a custom font right?
Once I've got new fonts working I can finish the interface. At that point I should be able to release the source code.

Just a small criticism of the GUI, there's a little too much white. Think it would be a little less blinding with more blue, like the original HBL.
Well this is a minimal design, but there will be less white once the interface design is finished. Remember the UI is still WIP. But ultimately I want to add custom backdrop support so you can choose to have more colour if you want.
 
Really nice, time to get a title launcher app coded to boot installed titles from here!

I'll re-suggest increasing font size for upper screen, that should be enough to fill it more.
 
Last edited by suloku,
  • Like
Reactions: fmkid
The grid now displays the icon for the currently selected cart where the region free launcher goes. Selecting the cart's icon now shows the details of the game on the top screen instead of the region free launcher. Changing carts results in this information being refreshed, and if no cart is inserted then the region free logo is displayed
  1. This is probably intentional, but DS(i) games don't show anything or even work for the RFL, but it still briefly freezes when inserting a DS(i) game. I don't think DS(i) games are region locked, but it should allow booting DSi games from there regardless.
  2. I noticed that for Super Mario 3D Land," it shows the name for both the title and the description. If this is simply because of Super Mario 3D's info, it should say Region Free Launcher for the description.
  3. RFL launcher should be hidden (or give the option to hide it) if there's no game inserted.
 
Last edited by bunny365,
  1. This is probably intentional, but DS(i) games don't show anything or even work for the RFL, but it still briefly freezes when inserting a DS(i) game. I don't think DS(i) games are region locked, but it should allow booting DSi games from there regardless.
  2. I noticed that for Super Mario 3D Land," it shows the name for both the title and the description. If this is simply because of Super Mario 3D's info, it should say Region Free Launcher for the description.
  3. RFL launcher should be hidden (or give the option to hide it) if there's no game inserted.
1. No idea about that. I don't own any DS(i) games. I also have no idea how the region free launcher works. I'm just changing the front end, not how the launcher actually functions.

2. That's because the title and description contain the same text. Nothing I can do about that as the information is on the cart. I could check if they're the same and only display them if they don't match, which I may do.

3. I considered that, but I get used to icons being in a certain position so wouldn't want them moving around depending on whether or not a cart is inserted.
 
  1. This is probably intentional, but DS(i) games don't show anything or even work for the RFL, but it still briefly freezes when inserting a DS(i) game. I don't think DS(i) games are region locked, but it should allow booting DSi games from there regardless.
  2. I noticed that for Super Mario 3D Land," it shows the name for both the title and the description. If this is simply because of Super Mario 3D's info, it should say Region Free Launcher for the description.
  3. RFL launcher should be hidden (or give the option to hide it) if there's no game inserted.
Only for the 1: ATM, no DS(i) games or something related are able to load or, at least, to show with RFL (or another "target search" based on homebrew), AFAIK.
 
Last edited by fmkid,

Site & Scene News

Popular threads in this forum