Skip to content

timrademaker/Hako

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hako

Content packing framework for game assets.

Output Platforms

Hako comes with a generic list of possible asset export platforms in inc/HakoPlatforms.h. Change and expand this list as you see fit. You can also use your own enum (or anything else), but be sure to note that the standalone version of Hako compares the command-line value for the target platform to the values in PlatformNames[].

Optional Defines

HAKO_READ_OUTSIDE_OF_ARCHIVE

When defined, Hako will try to find files outside of the archive before checking if the file exists inside the archive. This prevents the need to rebuild the entire archive every time you want to test a change to a file.

Hako will attempt to read the file from the intermediate directory, so be sure to pass in the intermediate path and current platform when opening an archive.

HAKO_NO_DYNAMIC_SERIALIZERS

When defined, Hako will not try to load any serializers from dll files.

HAKO_NO_LOG

When defined, Hako will not output anything to the console. Note that this does not include log messages specific to command-line Hako.

Creating And Registering New Serializers

To create a new serializer, inherit from hako::IFileSerializer and implement its functions.
Serializers that are compiled to a dll should use the macro HAKO_ADD_DYNAMIC_SERIALIZER(SerializerClass) in their source file to make sure Hako can use them.
Serializers that are not exported to dynamic libraries can be registered using hako::AddSerializer<SerializerClass>().

About

Base content packer for game assets

Resources

Stars

Watchers

Forks

Releases

No releases published