Homebrew Proposed SD directory restructuring for homebrew

  • Thread starter Thread starter TheCruel
  • Start date Start date
  • Views Views 25,065
  • Replies Replies 243
  • Likes Likes 54
Why not put everything on the ROOT?

That will be the most simple for everybody (users/devs) because devs don't know how to use savedata/extdata. And devs aren't forced to put data in a specific folder (can't use savedata/extdata) so they go with the lowest common denominator.

If people really want to "organize" there's a thing called a "catalog", "file manager", "tags", etc.
 
Last edited by uyjulian,
  • Like
Reactions: gnmmarechal
Having a folder called "homebrew" and within it having "3ds" is kinda dumb because nobody uses the same sd card for more than one system, and if you do, stop being so cheap. 8GB sd cards are ridiculously cheap nowadays.
Wii U & vWii?
They have the vWii folders in root and the Wii U folders under /wiiu on the same card.
 
Why not put everything on the ROOT?

That will be the most simple for everybody (users/devs) because devs don't know how to use savedata/extdata. And devs aren't forced to put data in a specific folder (can't use savedata/extdata) so they go with the lowest common denominator.

If people really want to "organize" there's a thing called a "catalog", "file manager", "xattr", "hardlinks", "tags", etc.
Ii think the point of this is to not have programs put everything at the root, so more organized/less cluttered. I like the idea of having a standard location for saves/configs/etc...
 
Why not put everything on the ROOT?

That will be the most simple for everybody (users/devs) because devs don't know how to use savedata/extdata. And devs aren't forced to put data in a specific folder (can't use savedata/extdata) so they go with the lowest common denominator.

If people really want to "organize" there's a thing called a "catalog", "file manager", "xattr", "hardlinks", "tags", etc.
I'm pretty sure all those changes and additions that, IIRC, steveice10 made to the FS makes it pretty easy. Honestly though, if we went that route, I'd probably just dump all the files out to the SD's route anyway and read them with stdio instead of FS functions. Afterwards I'd delete them and pretend I didn't do that.
extradata.png
 
@julialy that doesn't really contribute to the topic. Just saying "only root nothing else" doesn't help. You don't specify why nor have any other alternate. Even if you have a suggestion at this point smea has made the poll for the current suggestion given and we'll see what happens.
 
You don't specify why nor have any other alternate.

That will be the most simple for everybody (users/devs) because devs don't know how to use savedata/extdata. And devs aren't forced to put data in a specific folder (can't use savedata/extdata) so they go with the lowest common denominator.

If people really want to "organize" there's a thing called a "catalog", "file manager", "xattr", "hardlinks", "tags", etc.
 
That still is beside the point. Devs do use ext/save information, just not in a traditional matter. Most are using C(++) commands like mkdir or fopen to write files to the SD card somewhere which is usually root. It's more organized using a specific folder.
 
While we're trying to change the whole Homebrew scene, is there a reason Homebrew used the same upper Title ID as games? Could we use our own upper ID to make some things easier like filtering out Homebrew from save managers or when looking through Titles?

If we can't and it needs to be that way to show up on the Home Menu, how about a standard product code, like HBW-x-xxx?
 
While we're trying to change the whole Homebrew scene, is there a reason Homebrew used the same upper Title ID as games? Could we use our own upper ID to make some things easier like filtering out Homebrew from save managers or when looking through Titles?

If we can't and it needs to be that way to show up on the Home Menu, how about a standard product code, like HBW-x-xxx?
I don't think we can set any upper TID we want. https://www.3dbrew.org/wiki/Titles#Title_IDs

as for product codes, it can be anything up to 16 characters. I was thinking like CTR-H-XXXX, but I guess that works too.
 
I'm not reading through 11 pages to see if this was mentioned or not but...
The current directory standard is so ubiquitous that changing it would break old tutorials (or confuse some end users). Some could perhaps consider it at a point of no return.

a solution to this could be to have hbl search for files in /3ds/ and ask you if you want to move the files around to new folders on launch (and having no still allow those apps to be functional). It would take some more work, but it would mean that older guides could still be somewhat relevant, and the only real clutter would be on the sd cards that noobs are using.
 
I'm not reading through 11 pages to see if this was mentioned or not but...


a solution to this could be to have hbl search for files in /3ds/ and ask you if you want to move the files around to new folders on launch (and having no still allow those apps to be functional). It would take some more work, but it would mean that older guides could still be somewhat relevant, and the only real clutter would be on the sd cards that noobs are using.
or on the sd cards of people who don't want to change like me.
 
Last edited by gnmmarechal,
To the people who say that it will break backwards compatibility and be too complicated... seriously?

Is that hard to just move everything inside /3ds/ to /3ds/apps/ and then data from the root to /3ds/data/? It takes less than 5 minutes to do that and anyone could do that, it's simple as hell...
Also, tutorials on how to do that will be made, so it's pretty noob proof.

Also, if you don't do that, it will still work. Just open the HBL and your apps would still be there, just with two new folders that you wouldn't use. If it gets updated to load /3ds/apps/, then just press B, or move the files it's not that hard.
 
Last edited by Demirramon,
  • Like
Reactions: Tjessx
To the people who say that it will break backwards compatibility and be too complicated... seriously?

Is that hard to just move everything inside /3ds/ to /3ds/apps/ and then data from the root to /3ds/data/? It takes less than 5 minutes to do that and anyone could do that, it's simple as hell...
Also, tutorials on how to do that will be made, so it's pretty noob proof.

Also, if you don't do that, it will still work. Just open the HBL and your apps would still be there, just with two new folders that you wouldn't use. If it gets updated to load /3ds/apps/, then just press B, or move the files it's not that hard.
I pretty much just stated this...
 
This argument has gotten a bit out of hand... Anyways, my two cents.

I organize my folders by specificity, that is to say, the least specific name (3ds) goes on the root, then I organize further within. This is, IMO, the easiest to navigate. OK so, what would I like to look at (meaning, which game system is the file/folder/data I'm looking for, belong to) then, what next? Is it homebrew? Arm9 apps? App data? From there, I can /quickly/ hone in on what I want... It does take a few clicks, ofc, but it's faster than shitting everything onto the root, and quickly let's you go from general to specific and find exactly what you need
 
I use to set ally my homebrews to specific folders as well, because I was very anal about how my sd card looked. I did it by using a script to replace hardcoded paths with sed: sed -i -e 's|"arm9loaderhax.bin"|"path/to/boot.bin"|g' path/to/source_file

CakeBrah/Makefile
CakeHax/Makefile
Code:
filepath ?= path/to/*.dat

delebile/arm9loaderhax/payload_stage2/source/main.c
Code:
if(f_open(&payload, "/path/to/arm9loaderhax.bin", FA_READ | FA_OPEN_EXISTING) == FR_OK)

delebile/arm9loaderhax/payload_installer/installer/source/main.c
Code:
fsFile *packFile = fsOpen("sdmc:/path/to/arm9loaderhax.pack", 1);

I, for one, hope to see the scene move forward, to a saner and organized standard.
 
If people really want to "organize" there's a thing called a "catalog", "file manager", "xattr", "hardlinks", "tags", etc.

Of those things you've mentioned, FAT doesn't support xattrs, hardlinks or metadata. This isn't a valid suggestion.
 

Site & Scene News

Popular threads in this forum