Théo B 95ff2dd3ba Memory leak fix and camera multithreading safety improvement (#239)
* memory leak fix and attempt at optimizing space

* camera rework

try to use better locking algorithm (MRSW lock on wikipedia)

* add time print (toggleable) and stuff

remove old mixed qr thingss from main

* remove the dumb 3 bytes saving

* remove useless time measure code

* forgot to close the stop event handle

* fix memory leak when loading icon from smdh

* fix entry path on folders

optimization using memcpy cause it to have the "/info.smdh" when the entry is a folder. simply remove that with a memset to 0.

Co-authored-by: Alex Taber <astronautlevel2@users.noreply.github.com>
2020-12-21 22:31:38 -05:00
2018-01-13 16:32:55 -05:00
2018-07-22 21:22:23 +03:00
2018-07-24 17:49:40 +03:00
2018-07-22 21:22:23 +03:00
2020-06-01 17:18:02 +01:00
2017-07-20 17:19:07 -04:00
2018-07-22 21:22:23 +03:00

# Anemone3DS

A Theme and Splashscreen Manager for the Nintendo 3DS, written in C.
To-do list here: https://trello.com/b/F1YSa1VK

Dependencies

  • devkitARM, which can be installed following the instructions here.
  • jansson, libvorbisidec, libpng, and libarchive, which can be retrieved from devkitPro pacman.
  • A recent build of makerom and the latest release of bannertool. These must be added to your PATH.

Building

First of all, make sure devkitARM is properly installed - $DEVKITPRO and $DEVKITARM should be set to /opt/devkitpro and $DEVKITPRO/devkitARM, respectively.
After that, open the directory you want to clone the repo into, and execute
git clone https://github.com/astronautlevel2/Anemone3DS (or any other cloning method).
To install the prerequisite libraries, begin by ensuring devkitPro pacman (and the base install group, 3ds-dev) is installed, and then install the dkP packages 3ds-jansson, 3ds-libvorbisidec, 3ds-libpng, and 3ds-libarchive using [sudo] [dkp-]pacman -S <package-name>.

After adding makerom and bannertool to your PATH, just enter your directory and run make. All built binaries will be in /out/.

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

Most of the icons under romfs are from the site icons8.com and are licensed under the CC-BY-NC-SA

Special thanks go to these people who, whilst not directly contributing, helped immensely:

  • Rinnegatamante, whose code served as reference on theme installation.

  • SteveIce10, whose QR code in FBI was essential.

  • BernardoGiordano for making pp2d, and being super responsive to feature requests and just general help.

  • 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 Stary2001, 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:

Description
No description provided
Readme GPL-3.0 1.7 MiB
Languages
C 97.5%
Makefile 2.5%