3DShell: Difference between revisions

From GameBrew
(Created page with "{{Infobox 3DS homebrew | title = 3DShell | image = https://dlhb.gamebrew.org/3dshomebrew/3DShell.png|250px | type = Utilities | version = v4.3.1 | licence = Mixed | author = j...")
 
No edit summary
Line 12: Line 12:
<youtube>uJeBaISd2WI</youtube>
<youtube>uJeBaISd2WI</youtube>


# 3DShell [![Build Status](https://travis-ci.org/joel16/3DShell.svg?branch=master)](https://travis-ci.org/joel16/3DShell) ![Github latest downloads](https://img.shields.io/github/downloads/joel16/3DShell/total.svg)
= 3DShell=


Purpose:
== Purpose: ==
--------------------------------------------------------------------------------
 
3DShell (pronounced 3D-Shell) - is a multi-purpose file manager for the Nintendo 3DS that aims towards handling media files. Unlike [FBI](https://github.com/Steveice10/FBI) which specializes more in title management, 3DShell leans towards more of the file management features such as opening and managing various files types and includes the basic necessity of a standard file manager. This program's design elements are clearly inspired by CyanogenMod/LineageOS's built in file manager, and so all credits towards the design go to the CyanogenMod/LineageOS contributors.
3DShell (pronounced 3D-Shell) - is a multi-purpose file manager for the Nintendo 3DS that aims towards handling media files. Unlike [https://github.com/Steveice10/FBI FBI] which specializes more in title management, 3DShell leans towards more of the file management features such as opening and managing various files types and includes the basic necessity of a standard file manager. This program's design elements are clearly inspired by CyanogenMod/LineageOS's built in file manager, and so all credits towards the design go to the CyanogenMod/LineageOS contributors.


<p align="center">
<p align="center">
Line 22: Line 22:
</p>
</p>


Current features:
== Current features: ==
--------------------------------------------------------------------------------
 
- Storage bar (at the very top, just beneath the current working directory).
* Storage bar (at the very top, just beneath the current working directory).
- Precise battery percentage using mcu::hwc.
* Precise battery percentage using mcu::hwc.
- Creating new folders and files.
* Creating new folders and files.
- Renaming files/folders.
* Renaming files/folders.
- File/folder deletion.
* File/folder deletion.
- Copy/Move files and folders.
* Copy/Move files and folders.
- Multi-select items for delete/cut/copy (using Y button).
* Multi-select items for delete/cut/copy (using Y button).
- FTP server (Press select or tap the ftp icon to toggle).
* 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, GIF - non animated, JPG, PCX, PNG, PGM, PPM and TGA)
* 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 -&gt; BMP, GIF - non animated, JPG, PCX, PNG, PGM, PPM and TGA)
- Extract various archives such as ZIP, RAR, 7Z, ISO 9660, AR, XAR and others supported by libarchive.
* Extract various archives such as ZIP, RAR, 7Z, ISO 9660, AR, XAR and others supported by libarchive.
- Searching for directories (allows you to quickly visit a directory by clicking the search icon on the top right (bottom screen).)
* 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, such as size, modified time, parent folder etc.
* File properties - lets you view info on current file/folder, such as size, modified time, parent folder etc.
- Screenshots - Press (L + R) -> (/screenshots/Screenshot_YearMonthDay-Num.bmp)
* Screenshots - Press (L + R) -&gt; (/screenshots/Screenshot_YearMonthDay-Num.bmp)
- Fast scroll - Use analog stick.
* Fast scroll - Use analog stick.
- File timestamps.
* File timestamps.
- Browsing CTRNAND and copying data to/from CTRNAND.
* Browsing CTRNAND and copying data to/from CTRNAND.
- Audio playback support for the following formats -> IT, OGG, MOD, MP3, S3M, WAV and XM.
* Audio playback support for the following formats -&gt; IT, OGG, MOD, MP3, S3M, WAV and XM.
- Dir list Sorting (alphabetical - ascending, alphabetical - descending, size - largest to smallest, and size - smallest to largest).
* Dir list Sorting (alphabetical - ascending, alphabetical - descending, size - largest to smallest, and size - smallest to largest).
- Online updater (nightly/releases)
* Online updater (nightly/releases)
 
== Building from source: ==
 
# Ensure you have the devkitPro, ctrulib and citro3D and citro2D installed correctly. Make sure you have [https://github.com/profi200/Project_CTR makerom] and [https://github.com/Steveice10/bannertool bannertool] installed into your path as well.
# Install the following dependecies from [https://devkitpro.org/viewtopic.php?f=13&t=8702 devkitPro's pacman]:
 
* <code>sudo dkp-pacman -Syu 3ds-dev --noconfirm --needed</code>
* <code>sudo dkp-pacman -Syu 3ds-curl --noconfirm --force</code>
* <code>sudo dkp-pacman -Syu 3ds-libogg --noconfirm</code>
* <code>sudo dkp-pacman -Syu 3ds-libvorbisidec --noconfirm</code>
* <code>sudo dkp-pacman -Syu 3ds-mpg123 --noconfirm</code>
* <code>sudo dkp-pacman -Syu 3ds-opusfile --noconfirm</code>
* <code>sudo dkp-pacman -Syu 3ds-flac --noconfirm</code>
* <code>sudo dkp-pacman -Syu 3ds-libarchive --noconfirm</code>
 
<ol start="3">
<li>Clone the 3DShell repository:</li></ol>
 
<source lang="bash">git clone --recursive https://github.com/joel16/3DShell.git
</source>
<ol start="4">
<li>Open the project diretory:</li></ol>


Building from source:
<source lang="bash">cd 3DShell/
--------------------------------------------------------------------------------
</source>
1. Ensure you have the devkitPro, ctrulib and citro3D and citro2D installed correctly. Make sure you have [makerom](https://github.com/profi200/Project_CTR) and [bannertool](https://github.com/Steveice10/bannertool) installed into your path as well.
<ol start="5">
<li>Build the binary using make:</li></ol>


2. Install the following dependecies from [devkitPro's pacman](https://devkitpro.org/viewtopic.php?f=13&t=8702):
<source lang="bash">make
* `sudo dkp-pacman -Syu 3ds-dev --noconfirm --needed`
</source>
* `sudo dkp-pacman -Syu 3ds-curl --noconfirm --force`
* `sudo dkp-pacman -Syu 3ds-libogg --noconfirm`
* `sudo dkp-pacman -Syu 3ds-libvorbisidec --noconfirm`
* `sudo dkp-pacman -Syu 3ds-mpg123 --noconfirm`
* `sudo dkp-pacman -Syu 3ds-opusfile --noconfirm`
* `sudo dkp-pacman -Syu 3ds-flac --noconfirm`
* `sudo dkp-pacman -Syu 3ds-libarchive --noconfirm`


3. Clone the 3DShell repository:
== Credits: ==
```bash
git clone --recursive https://github.com/joel16/3DShell.git
```
4. Open the project diretory:
```bash
cd 3DShell/
```
5. Build the binary using make:
```bash
make
```


Credits:
* deltabeard/MaK11-12 for the inital ctrmus code port.
--------------------------------------------------------------------------------
* mtheall for ftpd.
- deltabeard/MaK11-12 for the inital ctrmus code port.
* preetisketch for the banner.
- mtheall for ftpd.
* FrozenFire for the boot logo.
- preetisketch for the banner.
- FrozenFire for the boot logo.


You can update straight from 3DShell, by tapping the download icon (Updates menu) and updating via the official release build option which is found under "Milestone builds".
You can update straight from 3DShell, by tapping the download icon (Updates menu) and updating via the official release build option which is found under &quot;Milestone builds&quot;.


Re-uploaded with 94201c1 Properly free image data when loaded from SD/Memory.
* Re-uploaded with 94201c1 Properly free image data when loaded from SD/Memory.
Fix down-sampled MP3 files not being played properly, and providing inaccurate timings.
* Fix down-sampled MP3 files not being played properly, and providing inaccurate timings.
Possible attempt at fixing scratchy audio with O3DS as reported by one user (needs more testing?)
* Possible attempt at fixing scratchy audio with O3DS as reported by one user (needs more testing?)
Fix crash with the CIA version (due to some resources not being freed properly) after you exit the app granted that you opened any of the supported audio files.
* Fix crash with the CIA version (due to some resources not being freed properly) after you exit the app granted that you opened any of the supported audio files.
Added support for extracting more archive formats such as 7z, ISO 9660, AR, XAR and other formats supported by libarchive.
* Added support for extracting more archive formats such as 7z, ISO 9660, AR, XAR and other formats supported by libarchive.
Next nightly/milestone releases will remove the .CIA file after updating from the .CIA version.
* Next nightly/milestone releases will remove the .CIA file after updating from the .CIA version.

Revision as of 13:14, 15 April 2020

Template:Infobox 3DS homebrew

3DShell

Purpose:

3DShell (pronounced 3D-Shell) - is a multi-purpose file manager for the Nintendo 3DS that aims towards handling media files. Unlike FBI which specializes more in title management, 3DShell leans towards more of the file management features such as opening and managing various files types and includes the basic necessity of a standard file manager. This program's design elements are clearly inspired by CyanogenMod/LineageOS's built in file manager, and so all credits towards the design go to the CyanogenMod/LineageOS contributors.

<img src="pNZ3gPh.png" alt="3DShell Screenshot"/>

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, GIF - non animated, JPG, PCX, PNG, PGM, PPM and TGA)
  • Extract various archives such as ZIP, RAR, 7Z, ISO 9660, AR, XAR and others supported by libarchive.
  • 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, such as size, modified time, parent folder etc.
  • Screenshots - Press (L + R) -> (/screenshots/Screenshot_YearMonthDay-Num.bmp)
  • Fast scroll - Use analog stick.
  • File timestamps.
  • Browsing CTRNAND and copying data to/from CTRNAND.
  • Audio playback support for the following formats -> IT, OGG, MOD, MP3, S3M, WAV and XM.
  • Dir list Sorting (alphabetical - ascending, alphabetical - descending, size - largest to smallest, and size - smallest to largest).
  • Online updater (nightly/releases)

Building from source:

  1. Ensure you have the devkitPro, ctrulib and citro3D and citro2D installed correctly. Make sure you have makerom and bannertool installed into your path as well.
  2. Install the following dependecies from devkitPro's pacman:
  • sudo dkp-pacman -Syu 3ds-dev --noconfirm --needed
  • sudo dkp-pacman -Syu 3ds-curl --noconfirm --force
  • sudo dkp-pacman -Syu 3ds-libogg --noconfirm
  • sudo dkp-pacman -Syu 3ds-libvorbisidec --noconfirm
  • sudo dkp-pacman -Syu 3ds-mpg123 --noconfirm
  • sudo dkp-pacman -Syu 3ds-opusfile --noconfirm
  • sudo dkp-pacman -Syu 3ds-flac --noconfirm
  • sudo dkp-pacman -Syu 3ds-libarchive --noconfirm
  1. Clone the 3DShell repository:
git clone --recursive https://github.com/joel16/3DShell.git
  1. Open the project diretory:
cd 3DShell/
  1. Build the binary using make:
make

Credits:

  • deltabeard/MaK11-12 for the inital ctrmus code port.
  • mtheall for ftpd.
  • preetisketch for the banner.
  • FrozenFire for the boot logo.

You can update straight from 3DShell, by tapping the download icon (Updates menu) and updating via the official release build option which is found under "Milestone builds".

  • Re-uploaded with 94201c1 Properly free image data when loaded from SD/Memory.
  • Fix down-sampled MP3 files not being played properly, and providing inaccurate timings.
  • Possible attempt at fixing scratchy audio with O3DS as reported by one user (needs more testing?)
  • Fix crash with the CIA version (due to some resources not being freed properly) after you exit the app granted that you opened any of the supported audio files.
  • Added support for extracting more archive formats such as 7z, ISO 9660, AR, XAR and other formats supported by libarchive.
  • Next nightly/milestone releases will remove the .CIA file after updating from the .CIA version.

Advertising: