Homebrew Proposed SD directory restructuring for homebrew

Shadowhand

Slim, Alternative Dev.
Member
Joined
Feb 27, 2016
Messages
522
Trophies
0
Age
31
XP
1,958
Country
United Kingdom
I wasn't implying JK_ thought it was a bad location, but that users were unhappy because it was a bad location. That should be considered when trying to come up with a solution that end users will accept.
He was kind enough to ask me before reverting the change, and I love him for it. He made it very clear that it wasn't the path that was the issue, it was the change.

@Shadowhand I dunno. It just seems very repetitive to have /3DS/ inside of /Homebrew/ and then the application's name. You could also argue /3DS/ is repetitive for the /Nintendo 3DS/ folder existing, but. . it's a lengthy debate.
Tell that to @Gelex
 

Ryuzaki_MrL

Green Thunder
Member
Joined
Jun 23, 2015
Messages
781
Trophies
0
Age
26
XP
2,040
Country
Brazil
@Shadowhand I like the idea of having a "root" directory for 3ds-related stuff, but I think this can be accomplished by just moving homebrew to "/3ds/apps/" and using "/3ds/" as the root directory, which imo is less confusing than moving everything to a "/homebrew/3ds/" folder.
 

Suiginou

(null)
Member
Joined
Jun 26, 2012
Messages
565
Trophies
0
Location
pc + 8
XP
738
Country
Gambia, The
  1. /homebrew/ is a good idea(TM) because /3ds/ is a bit ambiguous to users, doubly so with /Nintendo 3DS/ being already in use by the 3DS itself.
  2. /homebrew/3ds/ is a very good idea if this convention is carried to other platforms. I share my SD card across three different platforms, we'd just move the clutter elsewhere instead.
 
  • Like
Reactions: Shadowhand

Shadowhand

Slim, Alternative Dev.
Member
Joined
Feb 27, 2016
Messages
522
Trophies
0
Age
31
XP
1,958
Country
United Kingdom
@Shadowhand I like the idea of having a "root" directory for 3ds-related stuff, but I think this can be accomplished by just moving homebrew to "/3ds/apps/" and using "/3ds/" as the root directory, which imo is less confusing than moving everything to a "/homebrew/3ds/" folder.
As I said, I think /homebrew/ is a better folder than /3ds/ because if people use--

  1. /homebrew/ is a good idea(TM) because /3ds/ is a bit ambiguous to users, doubly so with /Nintendo 3DS/ being already in use by the 3DS itself.
  2. /homebrew/3ds/ is a very good idea if this convention is carried to other platforms. I share my SD card across three different platforms, we'd just move the clutter elsewhere instead.

This guy literally explained my point.
 
D

Deleted User

Guest
  1. /homebrew/ is a good idea(TM) because /3ds/ is a bit ambiguous to users, doubly so with /Nintendo 3DS/ being already in use by the 3DS itself.
  2. /homebrew/3ds/ is a very good idea if this convention is carried to other platforms. I share my SD card across three different platforms, we'd just move the clutter elsewhere instead.
1. How is "3ds" ambiguous when it's what people *already use*, and the name clearly suggests "3DS stuff is in here"?
2. How do you plan to carry this over to other platforms, when they've already standardized on having system directories in the root for years?
 

TurtleP

Well-Known Member
Member
Joined
Oct 7, 2015
Messages
140
Trophies
0
Age
28
Website
TurtleP.github.io
XP
308
Country
United States
However, I don't think a lot of people do share their SD cards across systems. That's just taboo because it's more of a cluster than just handling one SD per system.
 

Wolfvak

nyaa~
Member
Joined
Oct 25, 2015
Messages
918
Trophies
1
XP
3,386
Country
Uruguay
I think this is a great idea, but there's one teeny tiny problem: you're assuming all devs would want to follow the standard.

I feel xkcd is perfect for this moment
standards.png

Especially with ARM9 homebrew, given how every single chainloader and such has a different configuration format and directories.
 
Last edited by Wolfvak,

zoogie

playing around in the end of life
Developer
Joined
Nov 30, 2014
Messages
8,560
Trophies
2
XP
15,000
Country
Micronesia, Federated States of
  1. /homebrew/ is a good idea(TM) because /3ds/ is a bit ambiguous to users, doubly so with /Nintendo 3DS/ being already in use by the 3DS itself.
  2. /homebrew/3ds/ is a very good idea if this convention is carried to other platforms. I share my SD card across three different platforms, we'd just move the clutter elsewhere instead.
ambiguous? The 3ds homebrew scene has been using that directory for homebrew since Nov. 2014!
And I like it because it starts with a "3", putting it at the top of my sd's directories list. Makes it easy to find.
 
  • Like
Reactions: klear

Sono

cripple piss
Developer
Joined
Oct 16, 2015
Messages
2,821
Trophies
2
Location
home
XP
9,321
Country
Hungary
It's weird. My version of hblauncher doesn't set the current working directory correctly, so `getcwd` returns "/", but if I launch the 3dsx normally, it's set to "sdmc:/3ds/", which is correct (considering the 3dsx is directly in /3ds/.

But otherwise, since Ninjhax2.x, something (most possibly the homebrew launcher) sets the current working directory to the directory the 3dsx file is in, so I don't get why some people still hardcode their paths.

Okay, to be fair, you OBVIOUSLY won't get "sdmc:/3ds/" as your working directory if the homebrew is installed as a .cia, but c'mon, it's like a feature that only a few select people know about (and even less use it):P
 
Last edited by Sono,

TheCruel

Developer
OP
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
No :( `getcwd` returns "/" :( I thought the current working directory is set to /3ds/appname :cry:
That doesn't seem right. Unless something was changed recently in HBL, it should definitely be /3ds/<app>, I know WinterMute was sure strongly in favor of that being the expected state.

Regardless, the apps will still work even if devs don't want to use any appdata directory. So there will be little in terms of transition pains.

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

But otherwise, since Ninjhax2.x, something (most possibly the homebrew launcher) sets the current working directory to the directory the 3dsx file is in, so I don't get why some people still hardcode their paths.
I know I do because I release homebrew as both 3dsx and CIA (when possible).
 
  • Like
Reactions: Drakia

Kirtai

Well-Known Member
Member
Joined
May 6, 2016
Messages
237
Trophies
0
XP
245
Country
United Kingdom
What makes "/homebrew/" any better than the SD root for these directories? Also, considering both the Wii and Wii U scene currently put their system directories in the root, you'll have a difficult time getting everybody to change over.
Except that they don't. Wii folders go in the root, WiiU folders go under /wiiu, showing there's some need for namespacing.

However, I don't think a lot of people do share their SD cards across systems. That's just taboo because it's more of a cluster than just handling one SD per system.
What about people who've hacked their Wii U and its virtual Wii? They pretty much have to.

I think this is a great idea, but there's one teeny tiny problem: you're assuming all devs would want to follow the standard.
It could be a standard for going forward with.
 

YayIguess

Well-Known Member
Newcomer
Joined
Jul 23, 2015
Messages
66
Trophies
0
Age
44
XP
109
Country
Canada
I have so much random and ambiguously named files on my sd card's root directory that may or may not even be necessary, this would be a most welcome change!
 
D

Deleted User

Guest
Except that they don't. Wii folders go in the root, WiiU folders go under /wiiu, showing there's some need for namespacing.
...ah. I thought Wii homebrew used "/wii/", but it looks like I was mistaken. Either way, "/homebrew/" is unnecessarily verbose, and the Wii U Homebrew Launcher directory structure is a good example.
 

Sono

cripple piss
Developer
Joined
Oct 16, 2015
Messages
2,821
Trophies
2
Location
home
XP
9,321
Country
Hungary
I use the FS functions for easy UTF16 support. It's either that or corrupted folders for japanese games again.

Ye, I use FS functions too, but I don't think there's a real way other than `getcwd` to get the working directory only in homebrew environment.


The only useful and real stuff I can think about which doesn't fuck up everything is to move the *application data* to a different folder, not the 3dsx, either in /3ds/appdata/<appname>, or just simply /3ds/<appname>/random files the app generates, but since the /3ds folder is "cluttered" with the /3ds/<appname>/<appname>.3dsx format, the app data could be stored in /3ds/_appdata_/<appname> for both 3dsx and cia, and the filename won't be cared about, so if I were to rename FBI.3dsx to NetInstaller.3dsx, it would still use the /3ds/_appdata_/FBI/ folder for its data.
In my personal opinion this is the most sophisticated way of handling this stuff (while still being clear as possible, and being able to hardcode paths).
 
Last edited by Sono,

Billy Acuña

Well-Known Member
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
I think this is a great idea, but there's one teeny tiny problem: you're assuming all devs would want to follow the standard.

I feel xkcd is perfect for this moment
standards.png

Especially with ARM9 homebrew, given how every single chainloader and such has a different configuration format and directories.
Well, if they followed Smea's "3ds/[homebrew-name]" standard, I dunno why they don't follow a standard proposed by the community.
 

Wolfvak

nyaa~
Member
Joined
Oct 25, 2015
Messages
918
Trophies
1
XP
3,386
Country
Uruguay
Well, if they followed Smea's "3ds/[homebrew-name]" standard, I dunno why they don't follow a standard proposed by the community.
Because the HBL "standard" is kind of forced, only applies to old versions, and even then homebrew apps had their files all over the place, especially those that use save games or store their files somewhere other than RomFS
 
  • Like
Reactions: Gray_Jack

TheCruel

Developer
OP
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,131
Country
United States
...ah. I thought Wii homebrew used "/wii/", but it looks like I was mistaken. Either way, "/homebrew/" is unnecessarily verbose, and the Wii U Homebrew Launcher directory structure is a good example.
I agree. And most importantly, I think it's a change less devs would want to use, and it's hard enough to get anyone to change as it is.

It's not like people are saving a bunch of non-homebrew 3DS and WiiU files anyways.

And iirc, wii uses sd:/apps/ lol, so it's in a worse state. But the scene is so old, nothing will change that.
I think this is a great idea, but there's one teeny tiny problem: you're assuming all devs would want to follow the standard.

I feel xkcd is perfect for this moment
standards.png

Especially with ARM9 homebrew, given how every single chainloader and such has a different configuration format and directories.
Yeah, this is a problem. I think it's best to therefore make it less competing and more compatible with current structure.

Using subdirectories in /3ds/ would be compatible with HBL currently in the starter pack (which will remain the most used for a while). There will simply be an apps directory in their HBL until they upgrade HBL to one with the necessary changes and move their games into /3ds/apps/

Additionally, homebrew devs can still refuse to use any separate /appdata/ subdir without anything breaking, and estbalishing a standard like that would actually not be competing since there is no standard (which is why everyone is saving their shit in root). If someone wants to make arm9 software, they likely just make a new root dir, and if someone is making userland homebrew that's both 3dsx and CIA compatible, they likely choose to hardcode path to /3ds/<game> and pollute their HBL (if ppl use CIA and not 3dsx). For freeShop, I was going to use /3ds/freeShop/ but since I decide to make it CIA-only, I chose to make a directory on root to avoid polluting HBL, no other established place for it.

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.
 
Last edited by TheCruel,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    OctoAori20 @ OctoAori20: Nice nice-