About the Storage System

In KiriKiri, files, files within archives, and other resources are referred to as "storages" rather than just files.

Unified Storage Name

A Unified Storage Name is a name used only within KiriKiri to represent a storage, using a method similar to a URI.
The notation is written in the following format:

media://domain/path

The path delimiter is / (slash).

Local Storage

The Unified Storage Name for local storage (local files) uses "file" for the media and "." (dot) for the domain. In Windows, the beginning of the path is the drive letter.

For example, C:\Program Files\Game\game.exe becomes:
file://./c/program files/game/game.exe

The Storages.getFullPath method can convert a filename used by the OS into a Unified Storage Name. During this process, all uppercase letters in the filename are converted to lowercase (local storage is case-insensitive). Also, if \ is used as a path delimiter, it is converted to /.
The Storages.getLocalName method can convert a Unified Storage Name into a filename used by the OS. This method should be used when passing storage names to applications other than KiriKiri.

Archive Storage

To specify a storage within an archive, use ">" as a delimiter. The part before ">" is the storage name of the archive storage, and the part after ">" is the path within the archive.

For example, for a storage named image/base.jpg inside file://./c/program files/game/game.xp3:
file://./c/program files/game/game.xp3>image/base.jpg
Since 2.19 beta 14, the archive delimiter has changed from '#' to '>'.

KiriKiri can natively handle archive storage in its own XP3 format (XP3 stands for the 3rd generation of the XPK format). Please refer to the Releaser for instructions on how to create XP3 format archives.

Project Folder

When creating games or tools with KiriKiri, it is common practice to organize all necessary files into a "Project Folder" for development. KiriKiri sets the project folder as the current folder upon startup.
If everything is specified using relative paths within the project folder, there is no need to change path specifications even when using the Releaser to create a single executable file.

Data Storage Location

The data storage location is the folder specified by the -datapath option in the command line options. It can be retrieved via the System.dataPath property.
Various logs output by KiriKiri and user-specific configuration files are output here.
Additionally, when users create games or tools, it is recommended to save data here.