Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
20 | pmbaty | 1 | #ifndef _DATAFILE_H_ |
2 | #define _DATAFILE_H_ |
||
3 | |||
4 | #include "brender/br_types.h" |
||
5 | |||
6 | // The names of these enum values are a wild guess |
||
7 | enum { |
||
8 | DF_TYPE_BR_INT_8 = 0, |
||
9 | DF_TYPE_BR_UINT_8 = 1, |
||
10 | DF_TYPE_BR_INT_16 = 2, |
||
11 | DF_TYPE_BR_UINT_16 = 3, |
||
12 | DF_TYPE_BR_INT_32 = 4, |
||
13 | DF_TYPE_BR_UINT_32 = 5, |
||
14 | DF_TYPE_BR_FIXED = 6, |
||
15 | DF_TYPE_BR_ANGLE = 7, |
||
16 | DF_TYPE_FLOAT = 8, |
||
17 | DF_TYPE_DOUBLE = 9, |
||
18 | DF_TYPE_BR_SCALAR = 10, |
||
19 | DF_TYPE_BR_FRACTION = 11, |
||
20 | DF_TYPE_BR_UFRACTION = 12, |
||
21 | DF_TYPE_ENUM_8 = 13, |
||
22 | DF_TYPE_ENUM_16 = 14, |
||
23 | DF_TYPE_ENUM_32 = 15, |
||
24 | DF_TYPE_STRUCT = 16, |
||
25 | DF_TYPE_ASCIZ = 17, |
||
26 | DF_TYPE_BR_COLOUR = 18, |
||
27 | DF_TYPE_BR_VECTOR2 = 19, |
||
28 | DF_TYPE_BR_VECTOR3 = 20, |
||
29 | DF_TYPE_BR_VECTOR4 = 21, |
||
30 | DF_TYPE_BR_FRACTION_X = 22, |
||
31 | DF_TYPE_BR_UFRACTION_X = 23, |
||
32 | DF_TYPE_BR_FRACTION_F = 24, |
||
33 | DF_TYPE_BR_UFRACTION_F = 25, |
||
34 | DF_TYPE_BR_VECTOR2_X = 26, |
||
35 | DF_TYPE_BR_VECTOR3_X = 27, |
||
36 | DF_TYPE_BR_VECTOR4_X = 28, |
||
37 | DF_TYPE_BR_VECTOR2_F = 29, |
||
38 | DF_TYPE_BR_VECTOR3_F = 30, |
||
39 | DF_TYPE_BR_VECTOR4_F = 31, |
||
40 | DF_TYPE_COUNT, |
||
41 | }; |
||
42 | |||
43 | enum { |
||
44 | DF_CHUNKID_END = 0, |
||
45 | DF_CHUNKID_IMAGE_PLANE = 1, |
||
46 | DF_CHUNKID_RLE_IMAGE_PLANE = 2, |
||
47 | DF_CHUNKID_PIXELMAP = 3, |
||
48 | DF_CHUNKID_MATERIAL_OLD = 4, |
||
49 | DF_CHUNKID_ADD_MATERIAL = 5, |
||
50 | DF_CHUNKID_OLD_ACTOR = 6, |
||
51 | DF_CHUNKID_OLD_ADD_SIBLING = 7, |
||
52 | DF_CHUNKID_OLD_ADD_CHILD = 8, |
||
53 | DF_CHUNKID_OLD_MATERIAL_INDEX = 9, |
||
54 | DF_CHUNKID_OLD_VERTICES = 10, |
||
55 | DF_CHUNKID_OLD_VERTICES_UV = 11, |
||
56 | DF_CHUNKID_OLD_FACES = 12, |
||
57 | DF_CHUNKID_OLD_MODEL = 13, |
||
58 | DF_CHUNKID_ADD_MODEL = 14, |
||
59 | DF_CHUNKID_ANIM = 15, |
||
60 | DF_CHUNKID_ANIM_TRANSFORM = 16, |
||
61 | DF_CHUNKID_ANIM_RATE = 17, |
||
62 | DF_CHUNKID_FILE_INFO = 18, |
||
63 | DF_CHUNKID_OLD_LIGHT = 19, |
||
64 | DF_CHUNKID_OLD_CAMERA = 20, |
||
65 | DF_CHUNKID_PIVOT = 21, |
||
66 | DF_CHUNKID_MATERIAL_INDEX = 22, |
||
67 | DF_CHUNKID_VERTICES = 23, |
||
68 | DF_CHUNKID_VERTEX_UV = 24, |
||
69 | DF_CHUNKID_OLD_FACES_1 = 25, |
||
70 | DF_CHUNKID_FACE_MATERIAL = 26, |
||
71 | DF_CHUNKID_OLD_MODEL_1 = 27, |
||
72 | DF_CHUNKID_COLOUR_MAP_REF = 28, |
||
73 | DF_CHUNKID_OPACITY_MAP_REF = 29, |
||
74 | DF_CHUNKID_INDEX_BLEND_REF = 30, |
||
75 | DF_CHUNKID_INDEX_SHADE_REF = 31, |
||
76 | DF_CHUNKID_SCREENDOOR_REF = 32, |
||
77 | DF_CHUNKID_PIXELS = 33, |
||
78 | DF_CHUNKID_ADD_MAP = 34, |
||
79 | DF_CHUNKID_ACTOR = 35, |
||
80 | DF_CHUNKID_ACTOR_MODEL = 36, |
||
81 | DF_CHUNKID_ACTOR_TRANSFORM = 37, |
||
82 | DF_CHUNKID_ACTOR_MATERIAL = 38, |
||
83 | DF_CHUNKID_ACTOR_LIGHT = 39, |
||
84 | DF_CHUNKID_ACTOR_CAMERA = 40, |
||
85 | DF_CHUNKID_ACTOR_BOUNDS = 41, |
||
86 | DF_CHUNKID_ACTOR_ADD_CHILD = 42, |
||
87 | DF_CHUNKID_TRANSFORM_MATRIX34 = 43, |
||
88 | DF_CHUNKID_TRANSFORM_MATRIX34_LP = 44, |
||
89 | DF_CHUNKID_TRANSFORM_QUAT = 45, |
||
90 | DF_CHUNKID_TRANSFORM_EULER = 46, |
||
91 | DF_CHUNKID_TRANSFORM_LOOK_UP = 47, |
||
92 | DF_CHUNKID_TRANSFORM_TRANSLATION = 48, |
||
93 | DF_CHUNKID_TRANSFORM_IDENTITY = 49, |
||
94 | DF_CHUNKID_BOUNDS = 50, |
||
95 | DF_CHUNKID_LIGHT = 51, |
||
96 | DF_CHUNKID_CAMERA = 52, |
||
97 | DF_CHUNKID_FACES = 53, |
||
98 | DF_CHUNKID_MODEL = 54, |
||
99 | DF_CHUNKID_ACTOR_CLIP_PLANE = 55, |
||
100 | DF_CHUNKID_PLANE = 56, |
||
101 | DF_CHUNKID_SATURN_FACES = 57, |
||
102 | DF_CHUNKID_SATURN_MODEL = 58, |
||
103 | DF_CHUNKID_INDEX_FOG_REF = 59, |
||
104 | DF_CHUNKID_MATERIAL_OLD_2 = 60, |
||
105 | }; |
||
106 | |||
107 | void DfPush(int type, void* value, int count); |
||
108 | |||
109 | void* DfPop(int type, int* countp); |
||
110 | |||
111 | void* DfTop(int type, int* countp); |
||
112 | |||
113 | int DfTopType(void); |
||
114 | |||
115 | int TextReadLine(br_datafile* df, char** ident, char** data); |
||
116 | |||
117 | br_uint_16 scalarTypeConvert(br_datafile* df, br_uint_16 t); |
||
118 | |||
119 | br_uint_32 DfStructWriteBinary(br_datafile* df, br_file_struct* str, void* base); |
||
120 | |||
121 | br_uint_32 DfStructReadBinary(br_datafile* df, br_file_struct* str, void* base); |
||
122 | |||
123 | int DfStructSizeBinary(br_datafile* df, br_file_struct* str, void* base); |
||
124 | |||
125 | int EnumFromString(br_file_enum* e, char* str); |
||
126 | |||
127 | char* EnumToString(br_file_enum* e, int num); |
||
128 | |||
129 | br_uint_32 DfStructWriteText(br_datafile* df, br_file_struct* str, void* base); |
||
130 | |||
131 | br_uint_32 StructWriteTextSub(br_datafile* df, br_file_struct* str, void* base, int indent); |
||
132 | |||
133 | br_uint_32 DfStructReadText(br_datafile* df, br_file_struct* str, void* base); |
||
134 | |||
135 | br_uint_32 StructReadTextSub(br_datafile* df, br_file_struct* str, void* base); |
||
136 | |||
137 | int DfStructSizeText(br_datafile* df, br_file_struct* str, void* base); |
||
138 | |||
139 | br_uint_32 DfStructWriteArray(br_datafile* df, br_file_struct* str, void* base, int n); |
||
140 | |||
141 | br_uint_32 DfStructReadArray(br_datafile* df, br_file_struct* str, void* base, int n); |
||
142 | |||
143 | int DfChunkWriteText(br_datafile* df, br_uint_32 id, br_uint_32 length); |
||
144 | |||
145 | int DfChunkReadText(br_datafile* df, br_uint_32* plength); |
||
146 | |||
147 | int DfChunkWriteBinary(br_datafile* df, br_uint_32 id, br_uint_32 length); |
||
148 | |||
149 | int DfChunkReadBinary(br_datafile* df, br_uint_32* plength); |
||
150 | |||
151 | void DfCountWriteText(br_datafile* df, br_uint_32 count); |
||
152 | |||
153 | br_uint_32 DfCountReadText(br_datafile* df); |
||
154 | |||
155 | void DfCountWriteBinary(br_datafile* df, br_uint_32 count); |
||
156 | |||
157 | br_uint_32 DfCountReadBinary(br_datafile* df); |
||
158 | |||
159 | int DfCountSizeText(br_datafile* df); |
||
160 | |||
161 | int DfCountSizeBinary(br_datafile* df); |
||
162 | |||
163 | br_uint_8* BlockWriteSetup(void* base, int block_size, int block_stride, int block_count, int size); |
||
164 | |||
165 | int DfBlockWriteText(br_datafile* df, void* base, int block_size, int block_stride, int block_count, int size); |
||
166 | |||
167 | void* DfBlockReadText(br_datafile* df, void* base, int* count, int size, int mtype); |
||
168 | |||
169 | int DfBlockWriteBinary(br_datafile* df, void* base, int block_size, int block_stride, int block_count, int size); |
||
170 | |||
171 | void* DfBlockReadBinary(br_datafile* df, void* base, int* count, int size, int mtype); |
||
172 | |||
173 | int DfBlockSizeText(br_datafile* df, void* base, int block_size, int block_stride, int block_count, int size); |
||
174 | |||
175 | int DfBlockSizeBinary(br_datafile* df, void* base, int block_size, int block_stride, int block_count, int size); |
||
176 | |||
177 | char* DfNameReadText(br_datafile* df, char* name); |
||
178 | |||
179 | int DfNameWriteText(br_datafile* df, char* name); |
||
180 | |||
181 | int DfNameSizeText(br_datafile* df, char* name); |
||
182 | |||
183 | char* DfNameReadBinary(br_datafile* df, char* name); |
||
184 | |||
185 | int DfNameWriteBinary(br_datafile* df, char* name); |
||
186 | |||
187 | int DfNameSizeBinary(br_datafile* df, char* name); |
||
188 | |||
189 | int DfSkipText(br_datafile* df, br_uint_32 length); |
||
190 | |||
191 | int DfSkipBinary(br_datafile* df, br_uint_32 length); |
||
192 | |||
193 | int DfChunksInterpret(br_datafile* df, br_chunks_table* table); |
||
194 | |||
195 | void BrNullOther(void); |
||
196 | |||
197 | int DfFileIdentify(br_uint_8* magics, br_size_t n_magics); |
||
198 | |||
199 | br_datafile* DfOpen(char* name, int write, br_token scalar_type); |
||
200 | |||
201 | void DfClose(br_datafile* df); |
||
202 | |||
203 | int BrWriteModeSet(int mode); |
||
204 | |||
205 | #endif |