9 enum RoomFileBlockType
{
11 BLOCKTYPE_MIN
= BLOCKTYPE_MAIN
,
13 BLOCKTYPE_COMPSCRIPT
= 3,
14 BLOCKTYPE_COMPSCRIPT2
= 4,
15 BLOCKTYPE_OBJECTNAMES
= 5,
16 BLOCKTYPE_ANIMBKGRND
= 6,
17 BLOCKTYPE_COMPSCRIPT3
= 7, /* only bytecode script type supported by released engine code */
18 BLOCKTYPE_PROPERTIES
= 8,
19 BLOCKTYPE_OBJECTSCRIPTNAMES
= 9,
20 BLOCKTYPE_MAX
= BLOCKTYPE_OBJECTSCRIPTNAMES
,
26 off_t blockpos
[BLOCKTYPE_MAX
+1];
27 unsigned blocklen
[BLOCKTYPE_MAX
+1];
30 /* 0: error, 1: succcess. expect pointer to zero-initialized struct */
31 int RoomFile_read(AF
*f
, struct RoomFile
*r
);
32 char *RoomFile_extract_source(AF
*f
, struct RoomFile
*r
, size_t *sizep
);
34 /* this function actually isn't room specific at all, it works with all
35 script containers as it looks out for the start signature. */
36 ssize_t
ARF_find_code_start(AF
* f
, size_t start
);
39 #pragma RcB2 DEP "RoomFile.c"