agsoptimize: add some passes
[rofl0r-agsutils.git] / DataFile.h
bloba113051aef33607665739280ff5d2bc1bcda9c8c
1 #ifndef DATAFILE_H
2 #define DATAFILE_H
4 #include "File.h"
5 #include "Script.h"
7 typedef struct AgsGameData {
8 size_t fontcount;
9 size_t cursorcount;
10 size_t charactercount;
11 size_t inventorycount;
12 size_t viewcount;
13 size_t dialogcount;
14 int hasdict;
15 } AGD;
17 typedef struct AgsDataFile {
18 AF f_b;
19 AF *f;
20 char* dir;
21 int version;
22 size_t globalvarcount;
23 AGD game;
24 size_t scriptcount;
25 size_t scriptstart;
26 size_t scriptend;
27 ASI globalscript;
28 ASI dialogscript;
29 ASI scripts[50];
30 } ADF;
32 void ADF_init(ADF* a, char* dir);
33 int ADF_open(ADF* a);
34 void ADF_close(ADF* a);
36 ASI* ADF_open_objectfile(ADF* a, char* fn);
37 ASI* ADF_get_script(ADF* a, size_t index);
38 ASI* ADF_get_global_script(ADF* a);
39 ASI* ADF_get_dialog_script(ADF* a);
40 size_t ADF_get_scriptcount(ADF* a);
42 #pragma RcB2 DEP "DataFile.c"
44 #endif