License update and bug list. Final Github release during 7DRL 2023.

This commit is contained in:
John McCardle 2023-03-09 08:50:11 -05:00
parent 6875cb5fe1
commit 5b168737ce
2 changed files with 23 additions and 0 deletions

17
JANKFILE.md Normal file
View File

@ -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<PyObject>`) 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
```

View File

@ -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