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.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.
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.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)
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.
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)
I'm assuming there's some sort of Zip library for the 3DS, having the files be zipped shouldn't be a show stopper for auto updating.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.Uploading individual .3dsx and .smdh alongside the .zip could be useful for 3DSX homebrew to self-update.
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.
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/.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
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.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
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.I don't see anything wrong with the current folder struct, each app having a folder inside /3ds is enough.
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.