diff --git a/sc2/src/sc2code/libs/reslib.h b/sc2/src/sc2code/libs/reslib.h index f7a06b577..17dea176c 100644 --- a/sc2/src/sc2code/libs/reslib.h +++ b/sc2/src/sc2code/libs/reslib.h @@ -25,7 +25,9 @@ #include "misc.h" #include "libs/uio.h" -typedef struct resource_index *RESOURCE_INDEX; +typedef struct resource_index_desc RESOURCE_INDEX_DESC; +typedef RESOURCE_INDEX_DESC *RESOURCE_INDEX; + typedef const char *RESOURCE; typedef enum diff --git a/sc2/src/sc2code/libs/resource/getres.c b/sc2/src/sc2code/libs/resource/getres.c index 6214752ed..04225e209 100644 --- a/sc2/src/sc2code/libs/resource/getres.c +++ b/sc2/src/sc2code/libs/resource/getres.c @@ -28,12 +28,12 @@ const char *_cur_resfile_name; // At other times, it is NULL. static ResourceDesc * -lookupResourceDesc (ResourceIndex *idx, RESOURCE res) { +lookupResourceDesc (RESOURCE_INDEX idx, RESOURCE res) { return (ResourceDesc *) CharHashTable_find (idx->map, res); } void * -loadResourceDesc (ResourceIndex *idx, ResourceDesc *desc) +loadResourceDesc (RESOURCE_INDEX idx, ResourceDesc *desc) { desc->resdata = loadResource (desc->fname, idx->typeInfo.handlers[desc->restype].loadFun); @@ -79,7 +79,7 @@ err: void * res_GetResource (RESOURCE res) { - ResourceIndex *resourceIndex; + RESOURCE_INDEX resourceIndex; ResourceDesc *desc; if (res == NULL_RESOURCE) @@ -113,7 +113,7 @@ res_FreeResource (RESOURCE res) { ResourceDesc *desc; ResourceFreeFun *freeFun; - ResourceIndex *idx; + RESOURCE_INDEX idx; desc = lookupResourceDesc (_get_current_index_header(), res); if (desc == NULL) diff --git a/sc2/src/sc2code/libs/resource/index.h b/sc2/src/sc2code/libs/resource/index.h index 10dfb1912..262956b9e 100644 --- a/sc2/src/sc2code/libs/resource/index.h +++ b/sc2/src/sc2code/libs/resource/index.h @@ -46,15 +46,12 @@ typedef struct ResourceHandlers *handlers; } ResourceTypeInfo; -struct resource_index +struct resource_index_desc { CharHashTable_HashTable *map; ResourceTypeInfo typeInfo; size_t numRes; }; -/* XXX: This should almost certainly be folded into RESOURCE_INDEX wherever possible */ -typedef struct resource_index ResourceIndex; - #endif /* _INDEX_H */ diff --git a/sc2/src/sc2code/libs/resource/resdata.c b/sc2/src/sc2code/libs/resource/resdata.c index 48db3df1d..09f888046 100644 --- a/sc2/src/sc2code/libs/resource/resdata.c +++ b/sc2/src/sc2code/libs/resource/resdata.c @@ -18,15 +18,15 @@ #include "resintrn.h" -static ResourceIndex *curResourceIndex; +static RESOURCE_INDEX curResourceIndex; void -_set_current_index_header (ResourceIndex *newResourceIndex) +_set_current_index_header (RESOURCE_INDEX newResourceIndex) { curResourceIndex = newResourceIndex; } -ResourceIndex * +RESOURCE_INDEX _get_current_index_header (void) { return curResourceIndex; diff --git a/sc2/src/sc2code/libs/resource/resinit.c b/sc2/src/sc2code/libs/resource/resinit.c index e1ecf935a..57f9f13ac 100644 --- a/sc2/src/sc2code/libs/resource/resinit.c +++ b/sc2/src/sc2code/libs/resource/resinit.c @@ -28,7 +28,7 @@ static RESOURCE_INDEX allocResourceIndex (void) { - RESOURCE_INDEX ndx = HMalloc (sizeof (struct resource_index)); + RESOURCE_INDEX ndx = HMalloc (sizeof (RESOURCE_INDEX_DESC)); ndx->typeInfo.numTypes = 0; ndx->typeInfo.handlers = NULL; ndx->map = CharHashTable_newHashTable (NULL, NULL, NULL, NULL, 0, 0.85, 0.9); @@ -69,7 +69,7 @@ newResourceDesc (const char *res_id, const char *resval) int pathlen; RES_TYPE resType; ResourceDesc *result; - ResourceIndex *idx = _get_current_index_header (); + RESOURCE_INDEX idx = _get_current_index_header (); path = strchr (resval, ':'); if (path == NULL) @@ -164,7 +164,7 @@ process_resource_desc (const char *key, const char *value) RESOURCE_INDEX InitResourceSystem (void) { - ResourceIndex *ndx = allocResourceIndex (); + RESOURCE_INDEX ndx = allocResourceIndex (); _set_current_index_header (ndx); @@ -191,7 +191,7 @@ InstallResTypeVectors (RES_TYPE resType, ResourceLoadFun *loadFun, ResourceFreeFun *freeFun) { ResourceHandlers handlers; - ResourceIndex *idx = _get_current_index_header (); + RESOURCE_INDEX idx = _get_current_index_header (); handlers.loadFun = loadFun; handlers.freeFun = freeFun; diff --git a/sc2/src/sc2code/libs/resource/resintrn.h b/sc2/src/sc2code/libs/resource/resintrn.h index 822d6f717..2b8fb4fd6 100644 --- a/sc2/src/sc2code/libs/resource/resintrn.h +++ b/sc2/src/sc2code/libs/resource/resintrn.h @@ -23,11 +23,11 @@ #include "reslib.h" #include "index.h" -void *loadResourceDesc (ResourceIndex *idx, ResourceDesc *desc); +void *loadResourceDesc (RESOURCE_INDEX idx, ResourceDesc *desc); void *loadResource(const char *path, ResourceLoadFun *loadFun); -void _set_current_index_header (ResourceIndex *newResourceIndex); -ResourceIndex *_get_current_index_header (void); +void _set_current_index_header (RESOURCE_INDEX newResourceIndex); +RESOURCE_INDEX _get_current_index_header (void); #endif /* _RESINTRN_H */