Twinspire is a 2D rendering and application framework using the innovative Haxe programming language, built on-top of the low-level library, Kha.
This is the Core library, which features the bare-bones to enable functionality for the three other sub-libraries. You could consider them modules, if you like. This library contains the ability to create Application
's, which handles and loads all of your resources for you. It provides for a typical event polling system and render loop which is favoured over abstracting and creating too many dependencies.
New ODIN source files have been added to this repository which is to support the ODIN programming language.
To use these files, simply copy into your project and use as is.
The same tutorials for Twinspire applies to the ODIN source files, but you may require to use pointers (which ODIN supports) accordingly.
The key difference between the Haxe version and ODIN is in the ResourceManager
, which adds a function and more data structures:
Resources_Create()
is a "procedure" or function that returns a ResourceManager
. This should be called by passing in an instance of a ResourceDirectories
struct, indicating the directory paths your resources are contained in.
Over time, support for Haxe will be slowly phased out in favour of ODIN. This is not to say Haxe doesn't have its merits, but circumstances have changed and this shift we hope will inspire current Haxe developers to consider this new language.
In conjunction with raylib
, a C/C++ library with first-class bindings in ODIN, Twinspire will be taking advantage of multi-threading and memory management for more efficient performance on native platforms (unlike Haxe generated C++ code).
The ResourceManager.odin
file will eventually contain procedures allowing for multiple threads to be run, as well as file streams, for efficient file and resource management for video games and other software applications.
Other APIs built in other parts of the StoryDev repositories and my own repositories will be migrated over time for a more complete framework.
You will require Git
to install Twinspire on your computer. It is recommended to use it in conjunction with Haxelib for easier updating:
haxelib git twinspire https://github.com/twinspire/Core.git
Alternatively, you can use git clone
but you will have to setup a haxelib dev
environment yourself.
The WIKI page contains tutorials and information on how you can get started with using Twinspire.
The following features in the Core library include:
- Application creation
- Event handling
- Resource management
- Some basic, useful utilities
If you find a bug or an issue, please use the issue tracker here.