1.4 KiB
1.4 KiB
Zig LDtk
This is a single file library for parsing LDtk JSON files. https://ldtk.io/][Ldtk is a level editor for 2D games that allows you to organize many levels in one large world.
Usage
Copy LDtk.zig
into your project, or add this repository as a git submodule.
const LDtk = @import("./LDtk.zig");
// ldtk_file should be a `[]const u8` of the file contents
const ldtk = LDtk.parse(allocator, ldtk_file);
defer ldtk.deinit();
// Now you can access your LDtk data through the `ldtk` struct
for (ldtk .levels) {
// ...
}
Features
- Parse unseperated LDtk file
- Parse seperated LDtk files
- Load unseperated LDtk
- Load seperated LDtk
- Supported JSON Schema
- 1. LDtk Json root
- 1.1. World Generic
- 2. Level
- 2.1. Layer instance
- 2.2. Tile instance Generic
- 2.3. Entity instance
- 2.4. Field instance
- 2.4.2. Field instance entity reference Generic
- 2.4.3. Field instance grid point Generic
- 3. Definitions
- 3.1. Layer definition
- 3.1.1. Auto-layer rule definition
- 3.2. Entity definition
- 3.2.1. Field definition Generic
- 3.2.2. Tileset rectangle Generic
- 3.3. Tileset definition
- 3.4. Enum definition
- 3.4.1. Enum value definition
- 3.1. Layer definition
- 1. LDtk Json root