Homebrew 3DShell - Multi-purpose File Manager for the 3DS

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,273
Country
United States
Don't worry about support. Just make it for your own sake (practicing coding, your own use, your own sense of achievement etc). Try your best and do it, seriously. Stop worrying about people and you will feel much better. This project should not be an anchor that you have to drag on, it should be a goal you set to make you better. I do support this project because it's very useful, and ambitious. I enjoy Total Commander on the PC and something similar on the 3DS can only be a good thing for the scene

Yes I started this for my own sake regardless if anyone cares about it or not. I wasn't really planning on dropping it, but it's nice to have enough support. At least for me, it motivates me to continue bringing new things to it more often, whereas otherwise I'd be doing something else and working on this less often. Thanks for the kind words!

Also the themes can be found here; https://gbatemp.net/threads/3dshell-themes-list.476293/
It would be nice to see the community contribute and brings some themes. (There's also a guide)
 
Last edited by Joel16,

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,273
Country
United States
@Joel16
Just to make you know I'm still using this as my main file browser :)

I really appreciate your constant support throughout this project, thank you! Considering it's been a while since the last release so I'll share some of my progress. I was actually going for a monthly updates sort of system but there's been some major changes to the project that has been preventing this. Mainly the switch from SF2D to Citro3D which involved a lot of code refactoring, and also brought the program a bit behind it's current release due to certain features such as the BMP image viewing features being broken.

On the plus side, the switch to C3D is mostly beneficial. The project is now more future-proof, and no longer relies on a deprecated library. Also, now with my C3D wrapper I have full control over handling the graphics myself, and the text rendering now uses the system font which supports Unicode characters as well so yes, multi language support (have a look at the screenshot below). There hasn't been any major changes since the last release so I'm holding this off until I can at least bring it back to where it was, along with a few fixes and some new features. Hopefully shouldn't be too long from now.

OTGFzET.png
 

Billy Acuña

Well-Known Member
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
I really appreciate your constant support throughout this project, thank you! Considering it's been a while since the last release so I'll share some of my progress. I was actually going for a monthly updates sort of system but there's been some major changes to the project that has been preventing this. Mainly the switch from SF2D to Citro3D which involved a lot of code refactoring, and also brought the program a bit behind it's current release due to certain features such as the BMP image viewing features being broken.

On the plus side, the switch to C3D is mostly beneficial. The project is now more future-proof, and no longer relies on a deprecated library. Also, now with my C3D wrapper I have full control over handling the graphics myself, and the text rendering now uses the system font which supports Unicode characters as well so yes, multi language support (have a look at the screenshot below). There hasn't been any major changes since the last release so I'm holding this off until I can at least bring it back to where it was, along with a few fixes and some new features. Hopefully shouldn't be too long from now.

OTGFzET.png
Smooth as always Joel :) thanks for reporting, can't wait to see more improvements on 3DShell.
 
  • Like
Reactions: Joel16

Billy Acuña

Well-Known Member
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
Yeah, the FTP feature is the best so far, I will be perfect if somehow you can get the rid on the crash when you use it mutiple times.
 
  • Like
Reactions: Joel16

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,273
Country
United States
It's that time of the month...Release time!

First thing's first, this release doesn't really focus on adding any new features. The major changes were the code refactoring with switching from SF2D to Citro3D (Thanks steveice10 for allowing me to make modifications to his wrapper.), solving that FTP issue, and other minor improvements that improve overall application stability in the change-log below:

Change-log:
  • Major code refactoring, switched from SF2D -> C3D, with this 3DShell now has full control over handling graphics and is no longer dependent on third party libs.
  • The switch to C3D now uses system font, therefore unicode rendering is natively supported which allows languages with symbols to be used in a future update.
  • Fixed FTP crash when FTP is enabled more than once in one run.
  • Fixed FTP not displaying error message when WiFi is not enabled.
  • Merged upstream changes from FTPD.
  • You can use the 'select' button as a short-cut for quickly enabling/disabling FTP services.
  • Gallery can now view BMP image formats. (Example: luma screenshots)
  • Refactored screenshot code now generates screenshots in the following format -> Screenshot_YearMonthDay-Num.bmp
  • Screenshots are now written in BMP format. With this there is almost no delay when taking screenshots. (Reminder: [L + R] to take screenshots)
  • Slightly improved WiFi icon textures.
  • CTRNAND is now accessible with certain limitations to prevent user from tampering with their device. (Use the key icon next to SD)
  • More use of native FS User functions, recursive deletion is now handled using the 3DS's FS services.
  • Set file->size flag in dirscan instead of opening the file and then obtaining its size.
  • Display image icon for BMP files.
  • Set theme manager to only select themes that are in a folder.
  • Compiled with the latest version of devkitARM (r47) and Citro3D.
  • With a bunch of refactoring also comes a bunch of cleaning up, code consistency, etc. (Also took some measures to prevent buffer overflow, thanks gcc 7.1.0)
x3Upr1l.png

ym5rw00.png

KgF2gd3.png

It is recommended to delete your /3DS/3DShell folder before installing this, just to avoid cluttering up the folder with previous files. Also if you're using the .3DSX build, make sure you enable SM/FS patches under Rosalina->process patches. Also please re-download the themes for this update: https://gbatemp.net/threads/3dshell-themes-list.476293/

Download:
https://github.com/joel16/3DShell/releases
 
Last edited by Joel16,

Billy Acuña

Well-Known Member
Member
Joined
Oct 10, 2015
Messages
3,126
Trophies
1
Age
31
XP
3,701
Country
Mexico
It's that time of the month...Release time!

First thing's first, this release doesn't really focus on adding any new features. The major changes were the code refactoring with switching from SF2D to Citro3D (Thanks steveice10 for allowing me to make modifications to your wrapper.), solving that FTP issue, and other minor improvements that improve overall application stability in the change-log below:

Change-log:
  • Major code refactoring, switched from SF2D -> C3D, with this 3DShell now has full control over handling graphics and is no longer dependent on third party libs.
  • The switch to C3D now uses system font, therefore unicode rendering is natively supported which allows languages with symbols to be used in a future update.
  • Fixed FTP crash when FTP is enabled more than once in one run.
  • Fixed FTP not displaying error message when WiFi is not enabled.
  • Merged upstream changes from FTPD.
  • You can use the 'select' button as a short-cut for quickly enabling/disabling FTP services.
  • Gallery can now view BMP image formats. (Example: luma screenshots)
  • Refactored screenshot code now generates screenshots in the following format -> Screenshot_YearMonthDay-Num.bmp
  • Screenshots are now written in BMP format. With this there is almost no delay when taking screenshots. (Reminder: [L + R] to take screenshots)
  • Slightly improved WiFi icon textures.
  • CTRNAND is now accessible with certain limitations to prevent user from tampering with their device. (Use the key icon next to SD)
  • More use of native FS User functions, recursive deletion is now handled using the 3DS's FS services.
  • Set file->size flag in dirscan instead of opening the file and then obtaining its size.
  • Display image icon for BMP files.
  • Set theme manager to only select themes that are in a folder.
  • Compiled with the latest version of devkitARM (r47) and Citro3D.
  • With a bunch of refactoring also comes a bunch of cleaning up, code consistency, etc. (Also took some measures to prevent buffer overflow, thanks gcc 7.1.0)
x3Upr1l.png

ym5rw00.png

KgF2gd3.png

It is recommended to delete your /3DS/3DShell folder before installing this, just to avoid cluttering up the folder with previous files. Also if you're using the .3DSX build, make sure you enable SM/FS patches under Rosalina->process patches. Also please re-download the themes for this update: https://gbatemp.net/threads/3dshell-themes-list.476293/

Download:
https://github.com/joel16/3DShell/releases
Wierd, I can swear that it had @PabloMK7's startup animation. In the other hand GUI is much faster with C3D and the FTP is absolutly perfect, idk how could you improve it.
Thanks for the update Joel :yay3ds:
 
  • Like
Reactions: Joel16

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,273
Country
United States
Wierd, I can swear that it had @PabloMK7's startup animation. In the other hand GUI is much faster with C3D and the FTP is absolutly perfect, idk how could you improve it.
Thanks for the update Joel :yay3ds:

Must have been a derp on my end when I was refactoring the makefile. I don't think it's too much of an issue but if people do really want that I'll bring it back in the next release.
 

kindacozi

Well-Known Member
Member
Joined
Feb 15, 2017
Messages
142
Trophies
0
XP
759
Country
United States
Must have been a derp on my end when I was refactoring the makefile. I don't think it's too much of an issue but if people do really want that I'll bring it back in the next release.
I just had an idea for it to have a confirmation box for pressing start...
I find accidentally pressing start fairly annoying, so if possible, could you add it? :D
 

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,273
Country
United States
I just had an idea for it to have a confirmation box for pressing start...
I find accidentally pressing start fairly annoying, so if possible, could you add it? :D

How do you accidentally press start lol, I don't think I've ever done that.
I may work on a power menu sort of thing, but don't count on it.
 

kindacozi

Well-Known Member
Member
Joined
Feb 15, 2017
Messages
142
Trophies
0
XP
759
Country
United States
How do you accidentally press start lol, I don't think I've ever done that.
I may work on a power menu sort of thing, but don't count on it.
I have a standard new 3ds, and i rub the side where the start button is when im bored :P
 

DocKlokMan

Plugin Dev
Member
Joined
Apr 20, 2007
Messages
3,008
Trophies
2
Age
36
XP
4,569
Country
United States
This looks great! I'll keep updated on it for when file sorting is by name and there's a progress bar when copying files. Once those two things show up, I will probably use this more then GodMode9 or FBI for file management.
 
  • Like
Reactions: Joel16

d0k3

3DS Homebrew Legend
Member
Joined
Dec 3, 2004
Messages
2,786
Trophies
1
XP
3,896
Country
Germany
I tried the most recent release (2.0-beta), and here's my 5 cents...

That FTP server is good stuff - it beats existing solutions, is more reliable and faster (at least from what I can tell testing it). In fact, I switched to 3dshell for all my FTP needs. I also see there's a lot of progress in other areas, and the UI looks great.

Now, just three ideas on how to improve (personal opinion, of course)...
First, I think you should sort directories (folders first, then files, all in alphanumeric order). I know that this will require you to allocate more space, and that it will also mean longer loading times on particularily big dirs. You could, of course, also just make the sorting an option, but I think most users would want it.

Second, as it is now, some stuff requires us to use the touchscreen. A lot of users, me included, like to do everything via buttons. Also, point in place: If I start up 3dshell just to use it as FTP, I have to get my stylus for the sole reason of enabling and disabling the FTP (my fingers are too big for that small icon). Maybe you could think about adding button controls for stuff that does not support it right now.

Third, @PabloMK7 made a more beautiful generic bootlogo than the one you're using. If you want to switch, it's the same one I use in A9NC, but make sure to credit @PabloMK7.
 

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
933
Trophies
2
Age
27
Location
Doesn't concern you.
XP
5,273
Country
United States
I tried the most recent release (2.0-beta), and here's my 5 cents...

That FTP server is good stuff - it beats existing solutions, is more reliable and faster (at least from what I can tell testing it). In fact, I switched to 3dshell for all my FTP needs. I also see there's a lot of progress in other areas, and the UI looks great.

Now, just three ideas on how to improve (personal opinion, of course)...
First, I think you should sort directories (folders first, then files, all in alphanumeric order). I know that this will require you to allocate more space, and that it will also mean longer loading times on particularily big dirs. You could, of course, also just make the sorting an option, but I think most users would want it.

Second, as it is now, some stuff requires us to use the touchscreen. A lot of users, me included, like to do everything via buttons. Also, point in place: If I start up 3dshell just to use it as FTP, I have to get my stylus for the sole reason of enabling and disabling the FTP (my fingers are too big for that small icon). Maybe you could think about adding button controls for stuff that does not support it right now.

Third, @PabloMK7 made a more beautiful generic bootlogo than the one you're using. If you want to switch, it's the same one I use in A9NC, but make sure to credit @PabloMK7.

Thanks for your input, really appreciate it!

Anyways about your suggestions:

- The sorting, that was something I should have done in 2.00 but totally ended up forgetting about it while putting my main focus on the graphics backend.

- Someone did suggest adding buttons to conduct certain file operations. Shouldn't be too hard, and I'll definitely have it ready for next release.

- Maybe you might have missed it but FTP can be toggled with the select button, I mentioned it in the change-log :P

- Also Pablo's gameboot was part of the previous releases, but some derp on my side ended up without it haha

Anyways thanks again for the support! Your feedback really does help make this program better. And I'll make sure to have these in for the next release.

I've also been playing around with sounds, and some other features:
Capture.PNG
 
Last edited by Joel16,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: Need a APC or something lol