diff options
-rw-r--r-- | engines/sci/include/sciresource.h | 15 | ||||
-rw-r--r-- | engines/sci/scicore/resource.cpp | 14 |
2 files changed, 19 insertions, 10 deletions
diff --git a/engines/sci/include/sciresource.h b/engines/sci/include/sciresource.h index 37af0ec695..1bad516e1f 100644 --- a/engines/sci/include/sciresource.h +++ b/engines/sci/include/sciresource.h @@ -84,11 +84,14 @@ namespace Sci { #define SCI_VERSION_1 SCI_VERSION_1_EARLY -#define RESSOURCE_TYPE_DIRECTORY 0 -#define RESSOURCE_TYPE_VOLUME 2 -#define RESSOURCE_TYPE_EXTERNAL_MAP 3 -#define RESSOURCE_TYPE_INTERNAL_MAP 4 -#define RESSOURCE_TYPE_MASK 127 +enum ResourceType { + RESSOURCE_TYPE_DIRECTORY = 0, + RESSOURCE_TYPE_VOLUME = 2, + RESSOURCE_TYPE_EXTERNAL_MAP = 3, + RESSOURCE_TYPE_INTERNAL_MAP = 4, + RESSOURCE_TYPE_MASK = 127 +}; + #define RESSOURCE_ADDRESSING_BASIC 0 #define RESSOURCE_ADDRESSING_EXTENDED 128 #define RESSOURCE_ADDRESSING_MASK 128 @@ -121,7 +124,7 @@ struct resource_index_struct { typedef struct resource_index_struct resource_index_t; struct ResourceSource { - int source_type; + ResourceType source_type; bool scanned; Common::String location_name; // FIXME: Replace by FSNode ? Common::String location_dir_name; // FIXME: Get rid of this again, only a temporary HACK! diff --git a/engines/sci/scicore/resource.cpp b/engines/sci/scicore/resource.cpp index 5f2e2ce277..d2305422c6 100644 --- a/engines/sci/scicore/resource.cpp +++ b/engines/sci/scicore/resource.cpp @@ -309,8 +309,10 @@ int sci_test_view_type(ResourceManager *mgr) { compression = sci0_get_compression_method(file); file.close(); - if (compression == 3) - return (mgr->sci_version = SCI_VERSION_01_VGA); + if (compression == 3) { + mgr->sci_version = SCI_VERSION_01_VGA; + return mgr->sci_version; + } } // Try the same thing with pics @@ -332,8 +334,10 @@ int sci_test_view_type(ResourceManager *mgr) { compression = sci0_get_compression_method(file); file.close(); - if (compression == 3) - return (mgr->sci_version = SCI_VERSION_01_VGA); + if (compression == 3) { + mgr->sci_version = SCI_VERSION_01_VGA; + return mgr->sci_version; + } } return mgr->sci_version; @@ -428,6 +432,8 @@ static int _scir_scan_new_sources(ResourceManager *mgr, int *detected_version, R mgr->sci_version = *detected_version; break; + default: + break; } qsort(mgr->_resources, mgr->_resourcesNr, sizeof(resource_t), resourcecmp); // Sort resources } |