Skip to content
/ rres Public
forked from raysan5/rres

A simple and easy-to-use file-format to package resources

License

Notifications You must be signed in to change notification settings

NadaXml/rres

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


rres is a simple and easy-to-use file-format to package resources

rres has been designed to package game assets data into a simple self-contained comprehensive format, easy to read and write, prepared to load data in a fast and efficient way.

rres is inspired by XNB file-format (used by XNA/MonoGame), RIFF, PNG and ZIP file-formats.



rres format design

First design of the format was limited to packaging one resource after another, every resource consisted of one InfoHeader followed by a fixed set of four possible parameters and the resource data. Along the .rres file, a .h header file was also generated to map the resId with a resource name (usually the original filename of the un-processed data). This model was pretty simple and intuitive but it has some important downsides: not considering complex pieces of data that could require multiple chunks.

Second design was way more complex and tried to address first design shortcomings. In this design every resource could include multiple chunks of separate data, clearly defined by a set of properties and parameters. Actually, that design similar to RIFF file-format and how most file types are structure: every resource in the package could be threatened as a separate file on its own. Another addition of second design was some improvements on packaging options and features.

Third design...

Fourth design...

Tools

IN PROGRESS

License

rRES file-format is licensed under MIT license. Check LICENSE for further details.

Copyright (c) 2014-2022 Ramon Santamaria (@raysan5)

About

A simple and easy-to-use file-format to package resources

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.0%
  • CMake 2.0%