3DShell

Purpose:
3DShell (pronounced 3D-Shell) - is a multi-purpose file manager GUI for the Nintendo 3DS. The program is currently in its early stages and lacks many features that are currently in development. More information will be given once the program matures. This program's design elements are clearly inspired by CyanogenMod's built in file manager, and so I take no credit for that.
Current features:
- Storage bar (at the very top, just beneath the current working directory).
- Precise battery percentage using mcu::hwc.
- Creating new folders and files.
- Renaming files/folders.
- File/folder deletion.
- Copy/Move files and folders.
- Multi-select items for delete/cut/copy (using Y button).
- FTP server (Press select or tap the ftp icon to toggle).
- Image preview (If the image is around 400 * 480 which is the size of both screens, the image will be split in half and displayed. Support for the following image formats: BMP, JPG/JPEG, GIF and PNG)
- ZIP/RAR file extraction.
- Searching for directories (allows you to quickly visit a directory by clicking the search icon on the top right (bottom screen).)
- File properties - lets you view info on current file/folder.
- Screenshots - Press (L + R) -> (/screenshots/Screenshot_YearMonthDay-Num.bmp)
- Fast scroll - Use analog stick.
- File timestamps.
- Browsing CTRNAND and copying data to/from CTRNAND.
- MP3, vorbis (ogg), flac and wav playback support. (All thanks to deltabeard/MaK11-12)
- Dir list Sorting (alphabetical - ascending, alphabetical - descending, size - largest to smallest, and size - smallest to largest).
- Online updater (nightly/releases)
Building from source:
-
Ensure you have the devkitPro, ctrulib and citro3D installed correctly. Make sure you have makerom and bannertool in your path as well.
-
Install the following dependecies from devkitPro's pacman:
sudo dkp-pacman -Syu 3ds-dev --noconfirm --neededsudo dkp-pacman -Syu 3ds-curl --noconfirm --forcesudo dkp-pacman -Syu 3ds-libogg --noconfirmsudo dkp-pacman -Syu 3ds-libvorbisidec --noconfirmsudo dkp-pacman -Syu 3ds-mpg123 --noconfirmsudo dkp-pacman -Syu 3ds-opusfile --noconfirm
- Recursively clone the repo:
git clone --recursive https://github.com/joel16/3DShell.git- Open the project diretory:
cd 3DShell/- Update the submodules:
git submodule foreach git pull origin master- Build the binary using make:
makeCredits:
- deltabeard/MaK11-12 for sound support.
- mtheall for ftpd.
- Steveice10 for allowing me to use his screen.c C3D code as a template to build and make modifications on.
- preetisketch for the banner.
- FrozenFire for the boot logo.
