Skip to content

Toxocious/Shinkiro

Repository files navigation

Shinkiro

Shinkiro is a C++ project that currently compiles into a single executable alongside multiple shared libraries.

Github Issues Github Forks Github Stars
GitHub contributors
License

Come join our comfy community over on Discord!

Discord Banner

Table of Contents

About The Project

Shinkiro's Origins

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".

Features

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.

Getting Started

Prerequisites

You'll need Premake and Visual Studio.

Support for non-Windows operating systems does not currently exist.

Installation

Clone the repository.

git clone --recursive https://github.com/Toxocious/Shinkiro.git

Project Setup

Generate the Visual Studio files with premake; there's a script included with the repository to handle this for you.

./Compile.sh

Cleaning Up

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

Project Modules

Executables

Asset Packer

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

Asset Unpacker

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

Editor

Shinkiro's editor is not currently fit for use as it is not functional.

Read more about the editor here

Libraries

Lib-Asset

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

Lib-Audio

Shinkiro's Lib-Audio library is not currently functional.

Read more about the audio library here

Lib-Core

Shinkiro's Lib-Core library contains more generalized features for any Shinkiro application.

Read more about the core library here

Lib-Input

Shinkiro's Lib-Input library is not currently functional.

Read more about the input library here

Lib-Renderer

Shinkiro's Lib-Renderer library is not currently functional.

Read more about the renderer library here

Tools

Asset Downloader

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

License

This project is licensed under MIT.

For more information about the license, check out the LICENSE.

About

Heavy work-in-progress C++ engine and editor for 3D Pokemon maps.

Resources

License

Stars

Watchers

Forks