/libstarlight

3DS Homebrew Application Framework

Primary LanguageC++OtherNOASSERTION

- libstarlight -

3DS Homebrew Application Framework


(Pardon the dust, both the library and this readme are still a work in progress)

What is this?

libstarlight is a fully-featured application framework for 3DS homebrew written in C++14.

Features include:

  • Fully themable UI framework with rich widgets designed for the 3DS's touchscreen
  • Underlying graphics framework built on citro3d, using premultiplied alpha blending
    (textures automatically converted on load)
  • Streamlined, easy-to-use onscreen keyboard
  • Centralized configuration system for application-specific settings and storage, complete with optional auto-saving on exit
  • Filesystem helpers to streamline working with SD and romfs contents
  • Various basic datatypes for convenience and interoperability

Please keep in mind that while libstarlight is still in beta (pre-1.0.0) not everything is final. Expect occasional (usually minor) breaking changes as things settle.

Requirements

libstarlight requires devkitARM r46 or later, along with:

  • reasonably up-to-date libctru
  • citro3d

Additionally, libstarlight contains versions of the following bundled within:

Okay, so how do I use this?

(section WIP, take a look at the testbed for a slightly scattered example)

To ensure your application runs properly without themes installed to the SD card, it is recommended to include a copy of the default theme (or any theme with no fallback) at romfs:/.fallback_theme/.

(Themes on SD go in sdmc:/.starlight/themes/)

License

Bundled dependencies (see _incLib) have their own terms and/or notices, as listed in their respective files.