C O M R E D 3DS: Difference between revisions

From GameBrew
No edit summary
No edit summary
(One intermediate revision by the same user not shown)
Line 13: Line 13:
<youtube>4tj7KhKPMg8</youtube>
<youtube>4tj7KhKPMg8</youtube>


= C_O_M_R_E_D =
== C_O_M_R_E_D ==


Open source theme-able comic reader for the 3DS.
Open source theme-able comic reader for the 3DS.
Line 19: Line 19:
In it's current state, this homebrew is incomplete. Only a theme named &quot;test&quot; 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.
In it's current state, this homebrew is incomplete. Only a theme named &quot;test&quot; 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:
==Currently Implemented Features:==


* Read a folder full of images as a comic (supported extensions are .jpg, .png, and .bmp)
* Read a folder full of images as a comic (supported extensions are .jpg, .png, and .bmp)
Line 27: Line 27:
* Partial theme support - see &quot;Themes&quot;
* Partial theme support - see &quot;Themes&quot;


Planned Features:
==Planned Features:==


* .cbz / .cbr support
* .cbz / .cbr support
Line 36: Line 36:
* Better Icons (seriously, the app is ugly af right now)
* Better Icons (seriously, the app is ugly af right now)


Known Issues:
==screenshots==
https://dlhb.gamebrew.org/3dshomebrew/scr_22_MERGED.png
https://dlhb.gamebrew.org/3dshomebrew/scr_23_MERGED.png
 
==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:
 
*read_btn/download_btn/options_btn/exit_btn
These are the buttons that are displayed at the main menu. (53x30px)
 
*mm_top_scr_bg/opt_top_scr_bg
The image displayed on the top screen when in the main menu and sub-menus, respectively. (400x240px)
 
*mm_bot_scr_bg/opt_bot_scr_bg
Same as above, but with the bottom screen instead. (320x240px)
 
*zoom_in/zoom_out/next_pg/prev_pg/switch_pg/menu
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.ttf
Font used in sub-menus. Make sure it's in the .ttf format.
 
*theme.txt
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:
*[themeName]
*[themeDescription]
*[themeCreator]
*[topScreenFontColor]
*[bottomScreenFontColor]
*[selectionFontColor]
 
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":
 
<code>
[bottomScreenFontColor]
0x00
0x00
0x00
 
[themeName]
Test
 
[themeDescription]
Test theme
 
[themeCreator]
B_E_P_I_S_M_A_N
 
[topScreenFontColor]
0x00
0xFF
0x00
 
[selectionFontColor]
0x80
0x80
0x80
</code>
 
==Known Issues:==


* 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
* 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/
* 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
* (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.
More information at GBATemp Thread : http://gbatemp.net/threads/alpha-release-c_o_m_r_e_d-open-source-comic-manga-reader-for-your-3ds.440387/


Dependencies (not including dependencies for dependencies):
Dependencies (not including dependencies for dependencies):


ctrulib - https://github.com/smealum/ctrulib
* ctrulib - https://github.com/smealum/ctrulib
* sf2dlib - https://github.com/xerpi/sf2dlib
* sfillib - https://github.com/xerpi/sfillib
* sftdlib - https://github.com/xerpi/sftdlib


sf2dlib - https://github.com/xerpi/sf2dlib
==Special Thanks:==


sfillib - https://github.com/xerpi/sfillib
Everyone on the 3DS Hacking Discord for helping me with this project's development.


sftdlib - https://github.com/xerpi/sftdlib
* @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.

Revision as of 04:32, 12 September 2021

Template:Infobox-3DS-Homebrews

C_O_M_R_E_D

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)
  • Zooming
  • Page Selection (jump to a certain page in the comic)
  • Partial theme support - see "Themes"

Planned Features:

  • .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)

screenshots

scr_22_MERGED.pngscr_23_MERGED.png

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:

  • read_btn/download_btn/options_btn/exit_btn

These are the buttons that are displayed at the main menu. (53x30px)

  • mm_top_scr_bg/opt_top_scr_bg

The image displayed on the top screen when in the main menu and sub-menus, respectively. (400x240px)

  • mm_bot_scr_bg/opt_bot_scr_bg

Same as above, but with the bottom screen instead. (320x240px)

  • zoom_in/zoom_out/next_pg/prev_pg/switch_pg/menu

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.ttf

Font used in sub-menus. Make sure it's in the .ttf format.

  • theme.txt

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:

  • [themeName]
  • [themeDescription]
  • [themeCreator]
  • [topScreenFontColor]
  • [bottomScreenFontColor]
  • [selectionFontColor]

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":

[bottomScreenFontColor] 0x00 0x00 0x00

[themeName] Test

[themeDescription] Test theme

[themeCreator] B_E_P_I_S_M_A_N

[topScreenFontColor] 0x00 0xFF 0x00

[selectionFontColor] 0x80 0x80 0x80

Known Issues:

  • 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):

Special Thanks:

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.

Advertising: