summaryrefslogtreecommitdiff
path: root/src/newgrf_config.h
diff options
context:
space:
mode:
authormaedhros <maedhros@openttd.org>2007-03-06 19:33:28 +0000
committermaedhros <maedhros@openttd.org>2007-03-06 19:33:28 +0000
commit1c7df202c649b4dad5fe5e5f53fb33191a440724 (patch)
treedd3c567c0980606c17509a28df3ceea5975adb03 /src/newgrf_config.h
parent429c41ea51d142a7e99d20beba7bcd2ce99d747c (diff)
downloadopenttd-1c7df202c649b4dad5fe5e5f53fb33191a440724.tar.xz
(svn r9031) -Codechange: Introduce grfconfig->status, and use it for states that are
mutually exclusive. At the same time, add an INITIALISED state which makes it possible to check if a grf is not yet active but will be later on during the GLS_ACTIVATION loading stage.
Diffstat (limited to 'src/newgrf_config.h')
-rw-r--r--src/newgrf_config.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/src/newgrf_config.h b/src/newgrf_config.h
index 94be7ee34..66530fe76 100644
--- a/src/newgrf_config.h
+++ b/src/newgrf_config.h
@@ -7,9 +7,6 @@
/* GRF config bit flags */
typedef enum {
- GCF_DISABLED, ///< GRF file is disabled
- GCF_NOT_FOUND, ///< GRF file was not found in the local cache
- GCF_ACTIVATED, ///< GRF file is active
GCF_SYSTEM, ///< GRF file is an openttd-internal system grf
GCF_UNSAFE, ///< GRF file is unsafe for static usage
GCF_STATIC, ///< GRF file is used statically (can be used in any MP game)
@@ -17,6 +14,20 @@ typedef enum {
GCF_COPY, ///< The data is copied from a grf in _all_grfs
} GCF_Flags;
+typedef enum {
+ GCS_UNKNOWN, ///< The status of this grf file is unknown
+ GCS_DISABLED, ///< GRF file is disabled
+ GCS_NOT_FOUND, ///< GRF file was not found in the local cache
+ GCS_INITIALISED, ///< GRF file has been initialised
+ GCS_ACTIVATED ///< GRF file has been activated
+} GRFStatus;
+
+typedef enum {
+ GLC_ALL_GOOD,
+ GLC_COMPATIBLE,
+ GLC_NOT_FOUND
+} GRFListCompatibility;
+
typedef struct GRFIdentifier {
uint32 grfid;
uint8 md5sum[16];
@@ -37,6 +48,7 @@ typedef struct GRFConfig : public GRFIdentifier {
GRFError *error;
uint8 flags;
+ GRFStatus status;
uint32 param[0x80];
uint8 num_params;
@@ -64,7 +76,7 @@ void AppendToGRFConfigList(GRFConfig **dst, GRFConfig *el);
void ClearGRFConfig(GRFConfig **config);
void ClearGRFConfigList(GRFConfig **config);
void ResetGRFConfig(bool defaults);
-GCF_Flags IsGoodGRFConfigList(void);
+GRFListCompatibility IsGoodGRFConfigList(void);
bool FillGRFDetails(GRFConfig *config, bool is_static);
char *GRFBuildParamList(char *dst, const GRFConfig *c, const char *last);