summaryrefslogtreecommitdiff
path: root/tiled2c.h
blob: e6fb692b9cbbb8567a4ff60c6b0965031357a776 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#pragma once
#ifdef __cplusplus
extern "C" {
#endif

typedef struct {
	double                duration;
	double                tileid;
} Tiled2cFrame;

typedef struct {
	const char            *name;
	const char            *type;
	const char            *valuestring;
	double                valuenumber;
} Tiled2cProperty;

typedef struct {
	const char            *name;
	const char            *type;
	unsigned int          id;
	unsigned int          tile;
	double                x;
	double                y;
	double                width;
	double                height;
	double                rotation;
	unsigned int          visible;
	unsigned int          numproperties;
	const Tiled2cProperty *properties;
} Tiled2cObject;

typedef struct {
	unsigned int          id;
	const char            *type;
	double                probability;
	int                   numframes;
	const Tiled2cFrame    *frames;
	unsigned int          numproperties;
	const Tiled2cProperty *properties;
	unsigned int          numobjects;
	const Tiled2cObject   *objects;
} Tiled2cTile;

typedef struct {
	const char            *name;
	const char            *path;
	unsigned int          imagewidth;
	unsigned int          imageheight;
	unsigned int          tilewidth;
	unsigned int          tileheight;
	unsigned int          margin;
	unsigned int          columns;
	unsigned int          tilecount;
	unsigned int          numtiles;
	const Tiled2cTile     *tiles;
} Tiled2cSet;

typedef struct {
	const unsigned int    *data;
} Tiled2cTilelayer;

typedef struct {
	const char            *image;
	int                   x;
	int                   y;
} Tiled2cImagelayer;

typedef struct {
	const char            *name;
	const char            *class;
	unsigned int          type;
	double                opacity;
	unsigned int          visible;
	double                parallaxx;
	double                parallaxy;
	union {
		Tiled2cTilelayer  tilelayer;
		Tiled2cImagelayer imagelayer;
	};
} Tiled2cLayer;

typedef struct {
	const char            *path;
	unsigned int          width;
	unsigned int          height;
	unsigned int          tilewidth;
	unsigned int          tileheight;
	unsigned int          numlayers;
	const Tiled2cLayer    *layers;
	unsigned int          numobjects;
	const Tiled2cObject   *objects;
} Tiled2cMap;

#ifdef __cplusplus
}
#endif