Shinkiro is a C++ project that currently compiles into a single executable alongside multiple shared libraries.
Come join our comfy community over on Discord!
Shinkiro was initially created to serve as a template for C++ applications where you would have one (or more) executables that would link to and allow the usage of one or more shared libraries.
Initially I wanted to set up the architecture for a game engine, where I could have an Editor (executable) that uses multiple libraries in order to organize functionality across any executables that would be created in the future, as well as to keep code organized into "modules".
Shinkiro currently features.. almost nothing.
The build system is set-up to use premake5, and currently generates the necessary Visual Studio files and configurations to build an Editor executable, an asset packer executable, an asset unpacker executable, and a variety of small core shared libraries.
All shared libraries are prefixed with Lib-*
, such as "Lib-Audio" where all code for audio-related functionality would be.
All executable applications are prefixed with *App-*
.
Any external tools that are not directly used by any part of an application or its modules should remain inside of the ./Tools
directory.
You'll need Premake and Visual Studio.
Support for non-Windows operating systems does not currently exist.
Clone the repository.
git clone --recursive https://github.com/Toxocious/Shinkiro.git
Generate the Visual Studio files with premake; there's a script included with the repository to handle this for you.
./Compile.sh
Included with this repository is a script to remove all generated files along with all build files; you can run the script like so.
./Clean.sh
Shinkiro features a basic but usable asset packer, serving the purpose of bundling assets for any Shinkiro application to use during runtime.
Read more about the asset packer here
Shinkiro features an asset unpacker, allowing previously packed asset bundles to be unpacked back into its respective collective of files.
Read more about the asset unpacker here
Shinkiro's editor is not currently fit for use as it is not functional.
Read more about the editor here
Shinkiro includes a shared library that specifically handles assets - packing and unpacking, as well as loading an asset into memory.
Read more about the asset library here
Shinkiro's Lib-Audio library is not currently functional.
Read more about the audio library here
Shinkiro's Lib-Core library contains more generalized features for any Shinkiro application.
Read more about the core library here
Shinkiro's Lib-Input library is not currently functional.
Read more about the input library here
Shinkiro's Lib-Renderer library is not currently functional.
Read more about the renderer library here
Shinkiro includes a custom tool that fetches and downloads assets from Pokemon Showdown, namely Pokemon sprites and icons, item icons, and Pokemon cries.
Read more about the asset downloader here
This project is licensed under MIT.
For more information about the license, check out the LICENSE.