Homebrew Homebrew Launcher with sorting and folder support

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
Folders.xml is now config.xml
Folder must end with /
I guess I'll add a check and append it if it is not there.

About booting system apps, first I want to make passing arguments to booted app, to pass the title ID. Then with a slightly modified applaunch libcitru example boom: boot any title
 

JJTapia19

I fight for my friends.
Member
Joined
May 31, 2015
Messages
2,171
Trophies
1
Age
32
XP
2,438
Country
Puerto Rico
Thanks! Finally fixed my problem thanks to @SomeGamer
Maybe this helps someone so I'll leave it here.
My problem was I thought that I had to put the directories of each app I wanted inside a folder on a specific location of the folders.xml file.
Now I know that theres no folders.xml any more and if you have your folder path on your config.xml folder you just need to create a folder with the same name as the path you added to the config.xml in the 3ds folder of your 3ds sd card and put the apps you want in that folder inside of it.
 

Columbo2811

Well-Known Member
Member
Joined
Jul 19, 2015
Messages
1,399
Trophies
0
XP
1,064
Country
Please could someone tell me how to put apps on folders? I know there are instructions but I can't seem to understand them and it's really frustrating, Thanks in advance! :sad:
The new config.xml is done for you. Open the config you'll see the files. I think it's emulators, utilities and something else. Just make those folders in your 3ds folder in your sd card and place your home brew into the relevant folders you've created. Make sure the config.xml and theme.xml are also in your 3ds folder.
 
  • Like
Reactions: JJTapia19

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
New update, and last for now:
- Append "/" if specified folder path doesn't have it in config.xml (now /3ds/MyFolder works too)
- Added custom background colors for favorites screen
- Added star icon to mark favorites. Need to know how to correctly generate bin files with alpha channel, colors messed up in current method.
- Save last used background
- Max themes set to 50, because, why not.

Remember, favorites limit is 20 (and I think they are too much, but hey, you are free to have that many entries). Notice you can change the order in the xml file (or add them in the order you want). Reordering from inside the homebrew launcher is not happening, not from me at least. Someone can easily code a 3ds app that parses trough the xml file and allows to reorder from inside the 3ds. A text editor for 3ds would work too.

Check favorites with the new xml file and theme #2. I think this is better than adding a "Favorites" tag on top screen. @fmkid

I've been using this to convert png to bin files, works fine for normal images, but when there's an alpha channel, only colors I can get have the B channel fixed to 255
http://xem.github.io/3DShomebrew/tools/image-to-bin.html

Anyone knows how can I generate a bin file with alpha channel with the color I want? I just want white with black border, so it can be seen regardless of the cholor scheme. This is why the favorite star is Blue, not yellow or white. I really want to make it soft yellow with black border.
I've left the * marking for favorites because I don't know how people will feel about a blue favorite star.
UPDATE: realized I could "hide" the "* " favorite marking without actually removing the code, so only the favorites star will show.
I really want to make that star right.
Folder up and down arrows are also messed up, but since they are so small it's hard to notice they are actually purple.

Now priority is argument support

EDIT: OK, the tool I linked to converts bin files with AGRB, while HBL's draw function expects GRBA.
Gonna code a quick tool to convert AGRB to GRBA.

UPDATED with correct icons! Finally! Hope you like them.
 
Last edited by suloku,
  • Like
Reactions: JJTapia19

exelix11

Developer
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
@exelix11 could you take a look at this? I think you are the man for the job. :yay:

And so, here is the theme editor, i would have included a simulator, but i hadn't enough time, so i added a function to start citra (not included, you must download it separately) so you can try the theme in the emulator, and another to upload the theme directly to the 3ds via FTP

Mini guide on how to use it:
Open or create a themes.xml in the file menu, selecting to create will just recreate the default themes.xml of the latest build,

IMPORTANT: IF YOU EDITED YOUR FILE MANUALLY MAKE SURE THAT IN THE XML THE PARAMETERS OF EVERY THEME ARE IN THE SAME ORDER AS THE LISTBOX IN THE EDITOR.

then select a theme in the file with the selector and edit the values, when you changed a color,you must apply that change (it's not the same as saving the theme) with the set value button or your changes to that color won't be saved, you can also decide to automatically save your changes with the checkbox.

when you completed your themes, you save with File -> save

Also, if your pc has switchable graphics cards you must set in the video settings (catalyst control center on my pc) to run both citra.exe and citra-qt.exe with the dedicated card or else citra will crash (tested with the latest nightly build)

this app requires .NET framework 4.5
github: https://github.com/exelix11/HLThemeEditor

EDIT: I forgot that this homebrew launcher is still wip and so that other settings in the xml will be added, so i just updated this application to load the list of the settings from a file "order.txt", you must add the settings in the same order as in the example themes.xml that @suloku releases (and also adapt your themes.xml manually before you can edit it), i had to use this "order" method beacuse this is the first time that i work with xml and i didn't find a quick way to check the tag name
btw, if something involves themes, doesn't mean that i can do it,3ds format is different from simple xml :P
 

Attachments

  • Release.zip
    38.3 KB · Views: 236
Last edited by exelix11,

JJTapia19

I fight for my friends.
Member
Joined
May 31, 2015
Messages
2,171
Trophies
1
Age
32
XP
2,438
Country
Puerto Rico
And so, here is the theme editor, i would have included a simulator, but i hadn't enough time, so i added a function to start citra (not included, you must download it separately) so you can try the theme in the emulator, and another to upload the theme directly to the 3ds via FTP

Mini guide on how to use it:
Open or create a themes.xml in the file menu, selecting to create will just recreate the default themes.xml of the latest build,

IMPORTANT: IF YOU EDITED YOUR FILE MANUALLY MAKE SURE THAT IN THE XML THE PARAMETERS OF EVERY THEME ARE IN THE SAME ORDER AS THE LISTBOX IN THE EDITOR.

then select a theme in the file with the selector and edit the values, when you changed a color,you must apply that change (it's not the same as saving the theme) with the set value button or your changes to that color won't be saved, you can also decide to automatically save your changes with the checkbox.

when you completed your themes, you save with File -> save

Also, if your pc has switchable graphics cards you must set in the video settings (catalyst control center on my pc) to run both citra.exe and citra-qt.exe with the dedicated card or else citra will crash (tested with the latest nightly build)

this app requires .NET framework 4.5
github: https://github.com/exelix11/HLThemeEditor

btw, if something involves themes, doesn't mean that i can do it,3ds format is different from simple xml :P
You are just too awesome.
When I saw that themes are modified by editing a xml I knew it wouldn't be to hard for you with your knowledge but I didn't expect it would only take less than a day! Thanks for taking the time even when you are busy and good luck in school. Can't wait to try this out tonight :yay:
 

exelix11

Developer
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
You are just too awesome.
When I saw that themes are modified by editing a xml I knew it wouldn't be to hard for you with your knowledge but I didn't expect it would only take less than a day! Thanks for taking the time even when you are busy and good luck in school. Can't wait to try this out tonight :yay:

that actually took three hours and half B-) i just hope that there aren't many bugs :unsure:
 
  • Like
Reactions: JJTapia19

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
Wow, that was great! Really good theme editor, thank you!

Abou the fact that it is WIP: actually, if no new bugs are found, I don't think more features will be added. This is more than I expected when I opened HBL's source to implement folders. I really would like to pass the titleid trough argv[1], but I've been trying all afternoon and couldn't make the arguments thing work, and I really don't know why, I'm using the code in netloader, which works fine for arguments.

Why passing tid (title id)? because svdt could autoload the title id from there, knowing which game was boot automatically.

So I'm making a workaroud: create a file in /svdt/tid.bin whenever svdt is launched.

I'll update first post sometime...
 
  • Like
Reactions: SomeGamer

fmkid

Just another GBATemp's random guy
Member
Joined
Apr 23, 2015
Messages
1,911
Trophies
0
XP
1,424
Country
Colombia
Does this work with Ninjhax 1.1? I still wanna keep my ARM9 Hax and CFW's. I know the latest official homebrew launcher, doesn't work with 1.1 .-.
I guess should work fine! (because, AFAIK, latest "boot.3dsx" is compatible with NH1.x)... Try by yourself putting all necessary files on your SD, and let know us if it works.
 

WhoAmI?

PASTA's dirty animal
Member
Joined
Mar 15, 2015
Messages
1,276
Trophies
0
Location
Poké Ball
Website
lavanoid.github.io
XP
1,279
Country
I guess should work fine! (because, AFAIK, latest "boot.3dsx" is compatible with NH1.x)... Try by yourself putting all necessary files on your SD, and let know us if it works.
The latest offical hb launcher by smea, breaks everything on nh 1.1. It boots but apps that use arm9 exploits, just break :/

If this modified launcher is based on the latest launcher, I'll stick with the old one. I can't test as my 3DS is currently busted Dx
 

fmkid

Just another GBATemp's random guy
Member
Joined
Apr 23, 2015
Messages
1,911
Trophies
0
XP
1,424
Country
Colombia
The latest offical hb launcher by smea, breaks everything on nh 1.1. It boots but apps that use arm9 exploits, just break :/
Oh, I don't knew that! I just thinked all the contrary, because someone said to me that it works fine! (By myself, I had tried with "boot.3dsx" for NH1.x on IH, and of course doesn't works!)... Then, of course, this modified launcher wouldn't work on NH1.x!
 
  • Like
Reactions: WhoAmI?

exelix11

Developer
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
Wow, that was great! Really good theme editor, thank you!

Abou the fact that it is WIP: actually, if no new bugs are found, I don't think more features will be added. This is more than I expected when I opened HBL's source to implement folders. I really would like to pass the titleid trough argv[1], but I've been trying all afternoon and couldn't make the arguments thing work, and I really don't know why, I'm using the code in netloader, which works fine for arguments.

Why passing tid (title id)? because svdt could autoload the title id from there, knowing which game was boot automatically.

So I'm making a workaroud: create a file in /svdt/tid.bin whenever svdt is launched.

I'll update first post sometime...

i'm not expert in 3ds developing, but when you put an xml file with this text:
Code:
<targets selectable="true"> </targets>
in the same folder of the homebrew the launcher allows the user to select an installed app in the console as a target and passes it to the launched app, isn't that the kind of arguments you are looking for ?
Could you just do the same thing with region free launcher by giving the choice to select an app from the home menu ?
 

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
i'm not expert in 3ds developing, but when you put an xml file with this text:
Code:
<targets selectable="true"> </targets>
in the same folder of the homebrew the launcher allows the user to select an installed app in the console as a target and passes it to the launched app, isn't that the kind of arguments you are looking for ?
Could you just do the same thing with region free launcher by giving the choice to select an app from the home menu ?
No, that makes the selected app boot under the selected title Id, this is why svdt and savemanager can only access the savedata of the selected title, because they are running as if they where that title.

If you look at ironhax installer's xml file you will see that it has ironfall's tid in there, so it always boots as if it were ironffall, thus being able to edit its savefile.

I modified svdt to load the tid.bin file and made a pull request. Work really good, just boot svdt and it knows which game it is using, great for antisavegame restoee and backing to folders with the game's name.
 

fmkid

Just another GBATemp's random guy
Member
Joined
Apr 23, 2015
Messages
1,911
Trophies
0
XP
1,424
Country
Colombia
I modified svdt to load the tid.bin file and made a pull request.
Excuse me: about that "tid.bin", is implemented on your modified HBL or into "svdt" program? And is avalaible already for everyone or not yet?
 

suloku

Well-Known Member
OP
Member
Joined
Apr 28, 2008
Messages
883
Trophies
0
XP
866
Country
My current mod already creates tid.bin when launching svdt.
Meladroid suggested some changes to the implementation in svdt, when they are made he'll integrate it as it doesn't modify in any way its normal behavior.

What does this acomplish: currently svdt shows a title selector on boot, you have to seelct the title you want to backup manually to have 100% antisavegame restore support (*see note) and to get your saves backed up in a folder named as the game. With this the selector always appears already in the correct title.

*note: svdt has automatic antisavegame restore (ASR) detection, but that relies on what the game's filenames are named, for example for pokemon X/Y and pokemon ORAS the savefile is named "main". svdt still can tell them appart because the ASR value in ORAS is in an offset not present in XY (savegame is bigger in ORAS), but the ORAS demo save is also named "main".
If you select the correct title, you can forget about this problem.
 
  • Like
Reactions: exelix11 and fmkid

fmkid

Just another GBATemp's random guy
Member
Joined
Apr 23, 2015
Messages
1,911
Trophies
0
XP
1,424
Country
Colombia
My current mod already creates tid.bin when launching svdt.
Meladroid suggested some changes to the implementation in svdt, when they are made he'll integrate it as it doesn't modify in any way its normal behavior.

What does this acomplish: currently svdt shows a title selector on boot, you have to seelct the title you want to backup manually to have 100% antisavegame restore support (*see note) and to get your saves backed up in a folder named as the game. With this the selector always appears already in the correct title.

*note: svdt has automatic antisavegame restore (ASR) detection, but that relies on what the game's filenames are named, for example for pokemon X/Y and pokemon ORAS the savefile is named "main". svdt still can tell them appart because the ASR value in ORAS is in an offset not present in XY (savegame is bigger in ORAS), but the ORAS demo save is also named "main".
If you select the correct title, you can forget about this problem.
Cool!... Thank you for the explanation! Keep up the good job!
 

FEAR_1337

Well-Known Member
Member
Joined
Aug 18, 2015
Messages
153
Trophies
0
Age
33
XP
165
Country
Brazil
I found a bug; If you add the region free entry to the favorite list and press x, you will get a error saying you don't have any homebrew on SD and the hbc will crash. Also, there is any way to include a option to just sort files the way we want, without favorites?

Sorry for my bad english :lol:
 
Last edited by FEAR_1337,
  • Like
Reactions: laurocc

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: @Psionic Roshambo, JonTron's back yet again until he disappears into the void for another 6 or...