summaryrefslogtreecommitdiff
path: root/src/tiled2c.h
blob: bbf7ce8a67ffcc7e4d0143c6c8e6ee10cd7f5fda (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
#pragma once
#ifdef __cplusplus
extern "C" {
#endif

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

typedef struct {
	unsigned int        id;
	const char          *type;
	double              probability;
	const int           numframes;
	const Tiled2cFrame  *frames;
} 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;
	unsigned int        type;
	double              opacity;
	unsigned int        visible;
	double              parallaxx;
	double              parallaxy;
	union {
		Tiled2cTilelayer  tilelayer;
		Tiled2cImagelayer imagelayer;
	};
} Tiled2cLayer;

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

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

#ifdef __cplusplus
}
#endif