diff --git a/JANKFILE.md b/JANKFILE.md new file mode 100644 index 0000000..141bea6 --- /dev/null +++ b/JANKFILE.md @@ -0,0 +1,17 @@ +``` +* python API overhaul + * At the very least, a function to turn a color tuple to sf::Color would be good. + All the sf::Color objects going into / out of Python need to support transparency (4th value of Alpha) - Python would tolerate it, C++ needs to allow it (parse "iii|i", default alpha of 0 for fully nontransparent) + * The entire method of reading properties to re-ingest Grids/Menus is stupid. + C++ classes should be exposed more directly, or have clean methods to accept the changes from Python code. + * return actual exceptions instead of std::cout and NULL + * smart pointers (`std::shared_ptr`) to C++-ify Python object passing? Can this be made to work with reference counting? + * Raise Exceptions - see *janknote* in the Animation API method +* C++ hygene: Make data members private, call getter/setter methods + * std::shared_ptr, not bare pointers. The grid/entity/component connections suffer from this +* SFML: "widget" hierarchy. Keep all sizes/positions in the RectangleShape objects. Make Grid and UIMenu subclasses of the same base, and keep a single map of drawable widgets. + * UIMenu should become a "frame", and draw any objects of the "Widget" class relatively to its own positions + * "Widget" as an abstract class should set the template for going to/from Python; don't copy to and from Python, the C++ object *is* the Python object. + * ==Buttons don't know their parent...?== So there's arithmetic happening in the event loop to determine it's actual positions. Fix this with the widgets-on-widgets system (so we can go deeper, and just ask the widgets if they or their children were clicked) +* Keep aspect ratio correct (and hopefully unbork any mouse issues) when maximizing / full screening the game +``` diff --git a/LICENSE.md b/LICENSE.md index 519a46f..98896b1 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,3 +1,9 @@ +# About McRogueFace Engine + +This software is distributed on Github and other git repos for review & discussion purposes. This engine was made in preparation and during the 2023 7 Day Roguelike game jam. It's not production ready. I don't want to support this buggy version of the software - do not create derivative works, modify, or redistribute this git repo. Not that you'd actually want to: take a close look at the code and you'll quickly find reasons not to depend on the codebase in its present state. + +I expect to release the engine under BSD, MIT, or similar license after overhauling my technical debt incurred during the game jam. see JANKFILE.md for outstanding issues. + # Software Licenses ## Dependencies included in this repo