Homebrew Proposed SD directory restructuring for homebrew

Tjessx

Well-Known Member
Member
Joined
Dec 3, 2014
Messages
1,160
Trophies
0
Age
27
XP
952
Country
Belgium
I'm 100% for a change in the directory structure used by developers, and the sooner the better.

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

Not sure if it's appropriate to suggest here. But it feels related
Maybe developers could also start to release their stuff in the same structures.
On github for example instead of a zip/rar with the executables in folders or however people do it:
- 1 .cia file if it is supported
- 1 .3dsx file
- 1 .sdmh file
- 1 zip/rar with the sd card contents required for this app, starting from root (if you need a png in the same folder as homebrewname then 3ds/apps/homebrewname/image.png)

This way it would be easier for homebrew downloading applications, and for guides to give straightforward and correct guidelines.
 

Drakia

Well-Known Member
Member
Joined
Mar 15, 2008
Messages
1,644
Trophies
2
Age
36
XP
2,596
Country
Canada
I'm 100% for a change in the directory structure used by developers, and the sooner the better.

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

Not sure if it's appropriate to suggest here. But it feels related
Maybe developers could also start to release their stuff in the same structures.
On github for example instead of a zip/rar with the executables in folders or however people do it:
- 1 .cia file if it is supported
- 1 .3dsx file
- 1 .sdmh file
- 1 zip/rar with the sd card contents required for this app, starting from root (if you need a png in the same folder as homebrewname then 3ds/apps/homebrewname/image.png)

This way it would be easier for homebrew downloading applications, and for guides to give straightforward and correct guidelines.
There's not much point in having .3dsx and .smdh uploaded individually. Better to have .cia and .zip, with the file layout of the .zip being from SD root (/3ds/apps/homebrewname/homebrewname.3dsx). Which from my experience is how a lot of homebrew already does it.
 

uyjulian

Homebrewer
Member
Joined
Nov 26, 2012
Messages
2,568
Trophies
2
Location
United States
Website
sites.google.com
XP
3,896
Country
United States
Why don't we just have one file (zip) and you extract that zip to root, so you have /3ds/apps/example/example.3dsx /3ds/apps/example/example.smdh /3ds/cia/example.cia and stuff in /3ds/cia folder gets automatically installed (or maybe we could have ticket and .app in there, then just install ticket and place+encrypt .app in the right spot)
 

Drakia

Well-Known Member
Member
Joined
Mar 15, 2008
Messages
1,644
Trophies
2
Age
36
XP
2,596
Country
Canada
Why don't we just have one file (zip) and you extract that zip to root, so you have /3ds/apps/example/example.3dsx /3ds/apps/example/example.smdh /3ds/cia/example.cia and stuff in /3ds/cia folder gets automatically installed (or maybe we could have ticket and .app in there, then just install ticket and place+encrypt .app in the right spot)
The reason devs release a .cia, and a .zip separately, is because it's extremely rare somebody wants both. Having the .cia standalone means QR codes can be generated to automatically install using FBI or any other homebrew that supports them.
 

Ryuzaki_MrL

Green Thunder
Member
Joined
Jun 23, 2015
Messages
781
Trophies
0
Age
26
XP
2,046
Country
Brazil
There's not much point in having .3dsx and .smdh uploaded individually. Better to have .cia and .zip, with the file layout of the .zip being from SD root (/3ds/apps/homebrewname/homebrewname.3dsx). Which from my experience is how a lot of homebrew already does it.

Uploading individual .3dsx and .smdh alongside the .zip could be useful for 3DSX homebrew to self-update.

Why don't we just have one file (zip) and you extract that zip to root, so you have /3ds/apps/example/example.3dsx /3ds/apps/example/example.smdh /3ds/cia/example.cia and stuff in /3ds/cia folder gets automatically installed (or maybe we could have ticket and .app in there, then just install ticket and place+encrypt .app in the right spot)

The .cia is separated from the .zip so homebrews can be installed via QR code.
Also users don't need to download the whole package just to extract the CIA.

EDIT: Looks like @Drakia was faster than me xD
 
  • Like
Reactions: Drakia

TheCruel

Developer
OP
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
Uploading individual .3dsx and .smdh alongside the .zip could be useful for 3DSX homebrew to self-update.
3dsx/HBL currently supports an embedded smdh, so not really necessary any more.

Though I agree it'd be nice for people to have more predicable release structure. I enforced this with BrewMan lol, though I need to go back and update and revise that, just don't have time.
 

Wolfvak

nyaa~
Member
Joined
Oct 25, 2015
Messages
918
Trophies
1
XP
3,486
Country
Uruguay
I think arm9 devs could see the benefits of using something like /3ds/arm9/<app>, but the current /3ds/ destination just isn't inviting for any non-3dsx devs. In fact, this was almost by design. The devs of the 3dsx launcher/format were largely anti-CFW and really didn't want people using CIA or arm9 software. This should come to no surprise to anyone aware of all the private work that was kept from the public.

That said, wouldn't the HBL show the existing folders too ("arm9", "appdata", etc) and therefore take up space that shouldn't be used?
Or are you planning to change the default dir to sdmc:/3ds/apps or something like that? I'm all up for the change, but it'd be highly appreciated if paths were to be kept short, preferably with each level folder taking up less than 8 chars (so please no "applications" or "homebrew", they're kinda long).

So, as an example, in BootAnim9 instead of using the folder "/anim", I'd use "/3ds/arm9/anim"? Just want to see if I got the point correctly :3
 
  • Like
Reactions: Billy Acuña

Drakia

Well-Known Member
Member
Joined
Mar 15, 2008
Messages
1,644
Trophies
2
Age
36
XP
2,596
Country
Canada
That said, wouldn't the HBL show the existing folders too ("arm9", "appdata", etc) and therefore take up space that shouldn't be used?
Or are you planning to change the default dir to sdmc:/3ds/apps or something like that? I'm all up for the change, but it'd be highly appreciated if paths were to be kept short, preferably with each level folder taking up less than 8 chars (so please no "applications" or "homebrew", they're kinda long).

So, as an example, in BootAnim9 instead of using the folder "/anim", I'd use "/3ds/arm9/anim"? Just want to see if I got the point correctly :3
Sounds like that's what he's proposing. It would be compatible with the current release of HBL off the bat (It would just show an "apps" folder you could navigate in to). And if/when HBL switches to defaulting to "/3ds/apps/", you would still be able to go up one directory if for some reason an app requires itself to be in /3ds/.
 

TheCruel

Developer
OP
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
So, as an example, in BootAnim9 instead of using the folder "/anim", I'd use "/3ds/arm9/anim"? Just want to see if I got the point correctly :3
Yeah. And yes, current HBL would show a few unnecessary directories, but I would open a PR (or fork) for HBL to change it to /3ds/apps/. If people are annoyed by the directories, they could use that, but it won't fundamentally break how people currently load homebrew and will open up the /3ds/ dir for more devs.
I don't see anything wrong with the current folder struct, each app having a folder inside /3ds is enough.
That's only 3dsx homebrew. Anything else has no place in /3ds/ and that's the problem. If all homebrew, including CIA-only and arm9 software or CFWS, all put their stuff in /3ds/ subdirectories, it would be a jumbled mess for the HBL, that's why they're all resorting to make new directories in root.
 

evandixon

PMD Researcher
Developer
Joined
May 29, 2009
Messages
1,725
Trophies
1
Website
projectpokemon.org
XP
2,340
Country
United States
Originally I was opposed to @Shadowhand's proposed /homebrew/3ds/ idea, since it deviated from the norm, but after reading this thread, I would push for it too if we could get more people to do it.

I think the root of any drive should not be cluttered too much. Meanwhile lots of devs, even on Windows, use the root as if the only reason you have the drive is to use their program, or out of sheer laziness.
 
  • Like
Reactions: Shadowhand

Elveman

Just passing by
Member
Joined
Feb 1, 2015
Messages
456
Trophies
0
Age
27
Location
Moscow city
XP
992
Country
Russia
/homebrew/3ds sounds really convenient: using /homebrew/ as a "root" and having just 2 folders on your real root. That's an extra work for a number of devs however
 

Wolfvak

nyaa~
Member
Joined
Oct 25, 2015
Messages
918
Trophies
1
XP
3,486
Country
Uruguay
Meanwhile lots of devs, even on Windows, use the root as if the only reason you have the drive is to use their program, or out of sheer laziness.

Well, if we don't have a standard to follow, everyone would make up their own and we'd all be doomed, basically ^_^

I can already imagine it: "/homebrew/luma", "/3ds/anim", "/hb/decrypt9", etc.
 

uyjulian

Homebrewer
Member
Joined
Nov 26, 2012
Messages
2,568
Trophies
2
Location
United States
Website
sites.google.com
XP
3,896
Country
United States
Why don't we just put everything on the root, like we usually do?
That way, less folders = less inodes = less recursing etc
And then we have plain text with the list of files a homebrew is using...

Root of the drive is easiest for devs. Devs will always stick with the default
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    AncientBoi @ AncientBoi: :tpi::rofl2: +1