C O M R E D 3DS
From GameBrew - a wiki dedicated to Video Game Homebrew.
Open source theme-able comic reader for the 3DS.
In it's current state, this homebrew is incomplete. Only a theme named "test" is loaded from the SD Card (and it has totally unstylish design choices). Do NOT expect this to be a release of any sort at this point in time. Be sure to put the /data/ folder at the root of your SD Card.
Currently Implemented Features:
- Read a folder full of images as a comic (supported extensions are .jpg, .png, and .bmp)
- Orientation options: Hold the 3DS Upright and Sideways (Left- and Right-Hand Support)
- Page Selection (jump to a certain page in the comic)
- Partial theme support - see "Themes"
- .cbz / .cbr support
- Comic/manga downloading feature
- A working options menu
- Automatic re-scaling of images (see "Known Issues")
- Default Orientation Loading (no need to switch before reading!)
- Better Icons (seriously, the app is ugly af right now)
How to use
If you're using the 3DSX Build, download the 3DSX and put it in your /3ds/ folder. If you're using the CIA Build, download the CIA and install using a CIA installer of your choice.
Take the /data/ folder from the .zip file and put it at the root of your SD Card. Your comics/mangas should go in /data/C_O_M_R_E_D/comics/. Setup is pretty similar to Manga Reader: create a directory, and make sure the images are in numerical order. The number of zeroes and file extensions in a directory are auto-detected. Make sure all images have the same number of zeroes in front of them, or else the images won't be detected. However, the images can have a different file format and still work fine.
To switch the 3DS Orientation you're in while reading, press the icon next to the "Next Page" Icon. In the Default theme, this should look like a DS Icon.
Creating a Theme
Yeah, I know. The Default Theme sucks. Fortunately, you can create your own! Just replace the images in /data/C_O_M_R_E_D/themes/test/ with your own! Make sure the images are the right dimensions, and that they use the PNG format:
These are the buttons that are displayed at the main menu. (53x30px)
The image displayed on the top screen when in the main menu and sub-menus, respectively. (400x240px)
Same as above, but with the bottom screen instead. (320x240px)
Buttons that perform their respective functions while reading a comic/manga. (35x35px)
In addition to the above images, you will also need the following for your theme:
Font used in sub-menus. Make sure it's in the .ttf format.
Specifies the colors used in sub-menus, as well as other info.
More on theme
"theme.txt" uses "headers" to denote the type of info being read. Below each header should contain the content to be used by the program. Here are the following headers used by C_O_M_R_E_D:
The names should be self-explanatory. The font colors are used in the sub-menus.
[themeName], [themeDescription], and [themeCreator] should have simple text strings on the next line after the header. These strings should take up exactly one line in the file.
[topScreenFont], [bottomScreenFont], and [selectionFontColor] should have the R, G, and B values directly after the header, in that order. Each line should have the corresponding color value, in hexadecimal.
Here's an example of a valid "theme.txt":
- There's a slight bug with the page selection that will kick you out of the comic if you jump to the last page. This should be fixed in later releases
- Due to the limitations of the 3DS, images larger than 1024x1024px will load up distorted. In the future, I'll try to add automatic scaling for said images so they'll load in-tact on the 3DS. However, for now, use Fotosizer to manually resize your images: http://www.fotosizer.com/
- (CIA Release only) If you try to exit by closing the app from the Home Menu, the 3DS will freeze. This is probably due to the fact that the RSF is unoptimized, this will be fixed later
- Slight bug with zeroes. Make sure each page has exactly the same number of zeroes, disregarding the number of digits in front. This will be fixed soon.
Dependencies (not including dependencies for dependencies):
- ctrulib - https://github.com/smealum/ctrulib
- sf2dlib - https://github.com/xerpi/sf2dlib
- sfillib - https://github.com/xerpi/sfillib
- sftdlib - https://github.com/xerpi/sftdlib
Everyone on the 3DS Hacking Discord for helping me with this project's development.
- @MarcusD for letting me use his File System Wrapper.
- @Kartik for giving me permission to use code from his 3DS Multidownload app to use in the Comic/Manga Downloading feature. NOTE: THIS HAS NOT BEEN IMPLEMENTED YET, I'M CREDITING KARTIK IN ADVANCE.
- @MyLegGuy for inspiring me to write this app in the first place, as well as for his original Manga Reader.