Anemone3DS: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 3: Line 3:
| image = https://dlhb.gamebrew.org/3dshomebrew/Anemone3DS-01.png|250px
| image = https://dlhb.gamebrew.org/3dshomebrew/Anemone3DS-01.png|250px
| type = Utilities
| type = Utilities
| version = v2.1.0
| version = v2.2.0 Covid Chistmas Edition (25 Dec 2020)
| licence = Mixed
| licence = GNU GPLv3
| author = astronautlevel2
| author = astronautlevel2
| website = https://gbatemp.net/threads/release-anemone3ds-a-complete-theme-and-splash-manager-for-your-3ds.482804/
| website = https://gbatemp.net/threads/release-anemone3ds-a-complete-theme-and-splash-manager-for-your-3ds.482804/
Line 10: Line 10:
| source = https://dlhb.gamebrew.org/3dshomebrew/Anemone3DS-2.1.0-b.rar
| source = https://dlhb.gamebrew.org/3dshomebrew/Anemone3DS-2.1.0-b.rar
}}
}}
<youtube>4RM4BIXOMj0</youtube>


= Anemone3DS =


A Theme and Splashscreen Manager for the Nintendo 3DS, written in C.<br />
==Media==
To-do list here: [https://trello.com/b/F1YSa1VK https://trello.com/b/F1YSa1VK]
<youtube>4RM4BIXOMj0</youtube>
 
== Dependencies ==
 
* devkitARM, which can be installed following the instructions [https://devkitpro.org/wiki/Getting_Started here].
* jansson, libvorbisidec, libpng, and libarchive, which can be retrieved from [https://devkitpro.org/viewtopic.php?f=13&t=8702 devkitPro pacman].
* A recent build of [https://github.com/profi200/Project_CTR makerom] and the latest release of [https://github.com/Steveice10/bannertool bannertool]. These must be added to your PATH. A 64-bit Windows binary of makerom is available [https://hm892.s-ul.eu/U0Irkqih here].
 
== Building ==
 
First of all, make sure devkitARM is properly installed - <code>$DEVKITPRO</code> and <code>$DEVKITARM</code> should be set to <code>/opt/devkitpro</code> and <code>$DEVKITPRO/devkitARM</code>, respectively.
 
After that, open the directory you want to clone the repo into, and execute <code>git clone https://github.com/astronautlevel2/Anemone3DS</code> (or any other cloning method).
 
To install the prerequisite libraries, begin by ensuring devkitPro pacman (and the base install group, <code>3ds-dev</code>) is installed, and then install the dkP packages <code>3ds-jansson</code>, <code>3ds-libvorbisidec</code>, <code>3ds-libpng</code>, and <code>3ds-libarchive</code> using <code>[sudo] [dkp-]pacman -S &lt;package-name&gt;</code>.
 
After adding [https://github.com/profi200/Project_CTR makerom] and [https://github.com/Steveice10/buildtools bannertool] to your PATH, just enter your directory and run <code>make</code>. All built binaries will be in <code>/out/</code>.
 
== License ==
 
This project is licensed under the GNU GPLv3. See LICENSE.md for details. Additional terms 7b and 7c apply to this project.


== Credits ==


The following people contributed to Anemone3DS in some way. Without these people, Anemone3DS wouldn't exist, or wouldn't be as good as it is: [[CONTRIBUTORS.md|CONTRIBUTORS.md]]
Anemone3DS is a Theme and Splashscreen Manager for the Nintendo 3DS, written in C.


Most of the icons under <code>romfs</code> are from the site [https://icons8.com icons8.com] and are licensed under the [https://creativecommons.org/licenses/by-nc-sa/3.0/ CC-BY-NC-SA]
==Features==
* Support for installing a single theme to your 3DS.
* Support for installing up to 10 shuffle themes.
* QR code reading to install themes from QR codes.
* Support for previewing your themes and splashes before installing them.
* Support for installing boot splashes ([[Luma3DS|Luma3DS]] only).
* Install BGM only.


Special thanks go to these people who, whilst not directly contributing, helped immensely:
==Installation==
Available as a 3DSX/SMDH and CIA, use either one and copy into your 3DS's SD card accordingly.


* [https://github.com/Rinnegatamante Rinnegatamante], whose code served as reference on theme installation.
Create the /Themes/ and /Splashes/ folders on your SD card.
* [https://github.com/SteveIce10 SteveIce10], whose QR code in FBI was essential.
* [https://github.com/BernardoGiordano BernardoGiordano] for making pp2d, and being super responsive to feature requests and just general help.
* [https://github.com/yellows8 yellows8] for his home menu extdump tool, which was invaluable in debugging.
* the folks on #dev of Nintendo Homebrew, who helped with unicode shenanigans (especially [https://github.com/Stary2001 Stary2001], [https://github.com/FenrirWolf Fenrir], and DanielKO).
* the maintainers for all used libraries, including but not limited to ctrulib, zlib, citro3d, pp2d, and quirc.
* all the people who helped keep me going and motivated me to work. This includes, but is definitely not limited to:


* The members of the [https://discord.gg/C29hYvh Nintendo Homebrew Discord]
Put all of your themes in the /Themes/ folder. These can either be zips, or folders.
* The members of the '''Secret Shack Service Discord'''
* The members of the [https://discord.gg/2hUQwXz ThemePlaza Discord]


Beta release of v2.1.0.
Put all of your splashes in the /Splashes/ folder. These must be folders.


The main purpose of this beta is to test the compatibility of the new QR code scanner as much as possible before the v2.1.0 release. Full change-log below:
==User guide==
Instructions for usage are available once you're in the app.


==Bugfixes:==
'''Note:''' You will need to quick reboot your 3DS to apply the themes properly.


* Changed Title ID to not conflict with a game - this means you'll have to uninstall the old version of Anemone3DS after updating to v2.1.0.
==Controls==
* Fixed various bugs caused by an outdated libarchive version.
Start - Quick reboot 3DS (necessary to apply themes)
* Fixed various bugs related to previous caused by lodepng by switching to libpng.
* Fixed race condition in icon scrolling.
* Fixed screen tearing in the QR reader.
* Fixed bug caused by playing music even when there was no theme preview.
* Fixed it being possible to try to preview themes/splashes even when there were no themes or splashes.
* Fixed bug caused by attempting to play audio when dspfirm wasn't dumped.
* Fixed bug caused by attempting to install BGM for shuffle themes even when there was none.
* Fixed various bugs caused by not properly zeroing out files when creating them.
* Properly update the installed splash.


===Improvements:===
==Changelog==
'''v2.2.0 Covid Christmas Edition'''


* Huge improvements to the QR code reader's speed. This is likely the fastest/smoothest it can possibly be (it's now on-par with QRaken and FBI) thanks to a combination of improved multithreading and switching graphics libraries.
Features:
* Themes without an SMDH file are now supported again.
* If you install a theme without BGM, and then do a BGM-only install, the BGM flag will be automatically set to ensure your music plays properly.
* You can now dump themes. Upon selecting the dump theme option in the extra menu, you'll be able to enter a name, and the theme body_LZ.bin and bgm.bcstm will be stored in the folder /themes/, along with a dummy SMDH file, meaning the theme will be immediately usable in Anemone. This allows you to translate CIA themes to Anemone themes and thus manage all your themes in one place.
* If you scan a QR code and the file host doesn't have a filename set for some reason, you'll now be able to manually enter the filename you want it to be saved as.


* Speaking of switching graphics libraries, we've completely switched from pp2d to citro2d! This allowed us to get the QR code reader substantially faster, as well as guarantees full support for the library in the future. Huge thanks to LiquidFenrir for doing most of the work of the change.
Bugfixes:
* A variety of QR code bugfixes should help the QR reader be more stable than ever™️.
* Various bugfixes and refactoring in the networking code to prevent possible crashes.
* Memory leak fix in theme loading code to allow you to load even more themes.
* Certain previews used to have inverted colors when loaded. This has been fixed.
* ThemePlaza url has been updated to the new one. While this wasn't a problem yet, as the old domain redirects to the new domain, it will prevent issues in the future.
* Various other null dereferences cleaned up to prevent crashes.


* Switch to using spritesheets to load the sprites rather than just loading them all into the romfs.
[https://github.com/astronautlevel2/Anemone3DS/releases Revision changelog.]


* Don't wait for audio to finish loading before displaying the preview image, making previews display in the snappy fashion they used to before the audio player.
==Credits==
Please see the [https://github.com/astronautlevel2/Anemone3DS#credits Credit List].


* Improved banner quality. Thanks to @TurdPooCharger for this!
[[Category:3DS homebrew applications]]
[[Category:Homebrew utility applications on 3DS]]

Revision as of 13:09, 9 July 2021

Template:Infobox 3DS homebrew


Media


Anemone3DS is a Theme and Splashscreen Manager for the Nintendo 3DS, written in C.

Features

  • Support for installing a single theme to your 3DS.
  • Support for installing up to 10 shuffle themes.
  • QR code reading to install themes from QR codes.
  • Support for previewing your themes and splashes before installing them.
  • Support for installing boot splashes (Luma3DS only).
  • Install BGM only.

Installation

Available as a 3DSX/SMDH and CIA, use either one and copy into your 3DS's SD card accordingly.

Create the /Themes/ and /Splashes/ folders on your SD card.

Put all of your themes in the /Themes/ folder. These can either be zips, or folders.

Put all of your splashes in the /Splashes/ folder. These must be folders.

User guide

Instructions for usage are available once you're in the app.

Note: You will need to quick reboot your 3DS to apply the themes properly.

Controls

Start - Quick reboot 3DS (necessary to apply themes)

Changelog

v2.2.0 Covid Christmas Edition

Features:

  • Themes without an SMDH file are now supported again.
  • If you install a theme without BGM, and then do a BGM-only install, the BGM flag will be automatically set to ensure your music plays properly.
  • You can now dump themes. Upon selecting the dump theme option in the extra menu, you'll be able to enter a name, and the theme body_LZ.bin and bgm.bcstm will be stored in the folder /themes/, along with a dummy SMDH file, meaning the theme will be immediately usable in Anemone. This allows you to translate CIA themes to Anemone themes and thus manage all your themes in one place.
  • If you scan a QR code and the file host doesn't have a filename set for some reason, you'll now be able to manually enter the filename you want it to be saved as.

Bugfixes:

  • A variety of QR code bugfixes should help the QR reader be more stable than ever™️.
  • Various bugfixes and refactoring in the networking code to prevent possible crashes.
  • Memory leak fix in theme loading code to allow you to load even more themes.
  • Certain previews used to have inverted colors when loaded. This has been fixed.
  • ThemePlaza url has been updated to the new one. While this wasn't a problem yet, as the old domain redirects to the new domain, it will prevent issues in the future.
  • Various other null dereferences cleaned up to prevent crashes.

Revision changelog.

Credits

Please see the Credit List.

Advertising: