Anemone3DS

From GameBrew

Anemone3DS
Anemone3ds2.png
General
Authorastronautlevel2
Last Updated2020/12/25
TypeUtilities
Version2.2.0
LicenseGNU GPLv3
Links
Download
Website
Source

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.
  • Support themes without an SMDH file.
  • Dump themes, allowing you to translate CIA themes to Anemone themes (immediately usable) and thus manage all your themes in one place.

Installation

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

  • CIA - Install the .cia with the CIA manager of your choice.
  • 3DSX - Copy both .3dsx and .smdh to the /3ds/Anemone3DS/ folder on your SD card, run it with homebrew launcher.

Setup for themes and splashes:

  • Create the /Themes/ and /Splashes/ folders on the root 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

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

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

Custom themes

Option 1:

  • Download your preferred custom themes from Theme Plaza, or make your own custom theme.
  • Put the ZIP file, or folder for your custom theme, to the Themes folder on your SD Card (no need to extract the ZIP file).

Option 2:

  • Run the application and open the QR Code scanner.
  • Go to Theme Plaza, hover over the preview for the theme you want to download.
  • Position your 3DS camera in front of the QR Code. Re-position it until all of the QR Code is visible on the 3DS's screen.
  • The theme will begin downloading after the QR Code is scanned.

Option 3:

  • Enter the theme browser by tapping the download button on the Touch Screen or by holding X, holding left on the D-pad, and then releasing X.
  • Wait for the list to load and download the themes you like.
  • Once the download is completed, go back.

How to use

In the theme list, choose the theme that you would like to install (you can choose to install only the BGM).

Once completed, exit Anemone3DS and press the HOME Button to go to the Home Menu. You should now see the Custom Theme you installed on your Home Menu.

You now have Custom Themes. To install a new theme, download a new theme from Theme Plaza and install it using Anemone3DS, or scan a QR Code.

Dump CIA themes to Amemone themes

Since v2.2.0 you can use Amemone to convert CIA themes to compatible theme formats.

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.

Create a theme

A theme is composed by several files:

  • body_LZ.bin - Contains background images and some theme settings.
  • BGM.bcstm - Contains theme BGM sound.
  • Preview.png/.jpg/.bmp - Preview screenshot/image.
  • BGM.ogg - Contains theme BGM preview sound.
  • info.smdh - Contains icon, author, description and title of the theme.

Recommended tools:

Controls

R - Open QR Code scanner

Download icon or Hold X+Left (then release X) - Enter theme browser

Touchscreen - Navigate through themes

A - Install theme, Download theme

Y - See preview of the theme

X - Install only BGM of the theme

B - Go back

Start - Exit homebrew, Quick reboot 3DS (necessary to properly apply theme)

Home - Back to Home Menu

Media

How to install Anemone3DS and Custom Theme and Splashes (sthetix)

Known issues

Please see https://github.com/astronautlevel2/Anemone3DS/issues.

Changelog

v2.2.0 Covid Christmas Edition 2020/12/25

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.

v2.1.0 Revival Edition 2020/06/14

  • NOTE: This release removes support for themes which don't use an info.smdh file. Most themes use this file, including all themes from ThemePlaza, so it is not expected to be an issue - the changes can be reverted if it caused any issues, but note that themes without an info.smdh are prone to cause crashes.

Bugfixes:

  • 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.
  • Fixed various bugs caused by an outdated libarchive version.
  • 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.
  • Fixed bug with QR initialization on o3ds/o2ds/n2dsxl. May still not be perfect, unable to test on o2ds, but should be much improved based on reports from testers. Bug reports welcome.
  • Updated to newest libctru version & GCC version.
  • Patched memory leak in the preview code.
  • Updated to quirc v1.1, patching a segfault in the QR code reader.
  • Fix multiple race conditions involving the QR code reader which could potentially cause a crash when exiting camera mode.
  • Fix crash caused by quirc overflowing the 3DS stack when attempting to scan QR code like images that weren't actually QR codes (such as mechanical keyboards).
  • Fix double free which could potentially cause crashes when downloading from invalid zip files.
  • Fix QR download from sites other than ThemePlaza which used a different format for content disposition header.
  • Fix crashes caused by attempting to load invalid themes.
  • Fix memory leak in zip reading code.
  • Reset cursor when switching pages of the ThemePlaza browser to fix bug causing corruption.

Improvements:

  • 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.
  • 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.
  • Switch to using spritesheets to load the sprites rather than just loading them all into the romfs.
  • 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.
  • Improved banner quality. Thanks to @TurdPooCharger for this.

Revision changelog.

Credits

Please see the Credits List.

External links