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.