diff --git a/README.md b/README.md index 3078fa5..1c649a8 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,39 @@ -# libstarlight -3DS (homebrew) UI framework and misc utilities + +#

- 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: +* [lodepng](https://github.com/lvandeve/lodepng) +* [nlohmann::json (JSON For Modern C++)](https://github.com/nlohmann/json) + +## Okay, so how do I use this? +(section WIP, take a look at the testbed for a somewhat messy 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`. + +## License +* MIT (see [license.md](license.md)) + +Bundled dependencies (see [\_incLib](libstarlight/source/starlight/_incLib)) have their own terms and/or notices, as listed in their respective files. diff --git a/libstarlight/todo.txt b/libstarlight/todo.txt index 06824d2..597c968 100644 --- a/libstarlight/todo.txt +++ b/libstarlight/todo.txt @@ -2,10 +2,7 @@ roadmap to first release, in no particular order { - knock out some low-hanging fruit from \V/ - - add license!! (MIT?) - ADD README.MD PLS + - ding! } then consider these before 1.0 "gold" { make closing forms a bit less finicky (add them to a separate list and let the Application remove them from the list) add customization for Button (alternate idle/press images, optional glyph drawable) diff --git a/license.md b/license.md new file mode 100644 index 0000000..fcc19fe --- /dev/null +++ b/license.md @@ -0,0 +1,23 @@ +### MIT License + +Copyright (c) 2017 Beau Jessee ("zetaPRIME") + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +// Bundled dependencies (see [\_incLib](libstarlight/source/starlight/_incLib)) have their own terms and/or notices, as listed in their respective files.