blob: 7583a5b7b568030ce5e8031855a453682600a564 (
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
98
99
100
|
Title: Map File Format
Group: Structure
(start code)
int ID // should be "MAPP"
int version // should be 2
int size
int swaplen
int num_item_types
int num_items
int num_raw_data
int item_size
int data_size
types {
int typeid
int start
int num
} * (num_item_types)
item_offsets {
int offset
} * (num_items)
raw_data_offsets {
int offset
} * (num_raw_data)
item {
int type_and_id
int size
datai {
int data
} * (size/4)
} * (num_items)
raw_data {
byte d
} * X
(end)
Notes:
* swaplen tells how much of the data that should be swapped
* types.start is an index into offsets
* item.size must be a multiple of 4
* the types must be sorted by type id
* special typeid of 0xffff means raw data, and there fore should always come last
Could change:
* item.size could be removed
Section: Registered Item Types
Group: Image (0x8010)
(start code)
image {
int width
int height
int raw_data_index
}
pixel_data {
byte r
byte g
byte b
byte a
} * (width * height)
(end)
Group: Tilemap (0x8020)
(start code)
tilemap {
int image
int width
int height
int x
int y
int scale
int raw_data_index
}
data {
byte data
} * (width * height)
(end)
Group: Collision (0x8030)
(start code)
collision {
int width
int height
int raw_data_index
}
data {
byte data
} * (width * height)
(end)
|