newgrf_config.h
changeset 5228 c4a780348f66
child 5234 91b7def5e4b2
equal deleted inserted replaced
5227:733a73627cb9 5228:c4a780348f66
       
     1 /* $Id$ */
       
     2 
       
     3 #ifndef NEWGRF_CONFIG_H
       
     4 #define NEWGRF_CONFIG_H
       
     5 
       
     6 /* GRF config bit flags */
       
     7 enum {
       
     8 	GCF_DISABLED,
       
     9 	GCF_NOT_FOUND,
       
    10 	GCF_ACTIVATED,
       
    11 };
       
    12 
       
    13 typedef struct GRFConfig {
       
    14 	char *filename;
       
    15 	char *name;
       
    16 	char *info;
       
    17 	uint32 grfid;
       
    18 
       
    19 	uint8 flags;
       
    20 	uint8 md5sum[16];
       
    21 	uint32 param[0x80];
       
    22 	uint8 num_params;
       
    23 
       
    24 	struct GRFConfig *next;
       
    25 } GRFConfig;
       
    26 
       
    27 /* First item in list of all scanned NewGRFs */
       
    28 extern GRFConfig *_all_grfs;
       
    29 
       
    30 /* First item in list of current GRF set up */
       
    31 extern GRFConfig *_grfconfig;
       
    32 
       
    33 /* First item in list of default GRF set up */
       
    34 extern GRFConfig *_grfconfig_newgame;
       
    35 
       
    36 void ScanNewGRFFiles(void);
       
    37 const GRFConfig *FindGRFConfig(uint32 grfid, uint8 *md5sum);
       
    38 void ClearGRFConfigList(GRFConfig *config);
       
    39 void ResetGRFConfig(bool defaults);
       
    40 bool IsGoodGRFConfigList(void);
       
    41 bool FillGRFDetails(GRFConfig *config);
       
    42 
       
    43 #endif /* NEWGRF_CONFIG_H */