mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-12 12:09:15 +00:00
Removed the weird checks for a maximum resource number (the sci_max_resource_nr array), as it doesn't serve any real purpose and leads to strange errors: if a resource is found which is bigger than the maximum number, it will be remapped to an incorrect number from this check. This makes KQ5CD work properly again (resources would be remapped to incorrect resource numbers from this code as a result of not updating this array with the latest SCI version merges).
svn-id: r42219
This commit is contained in:
parent
09efaaa1c9
commit
ab8c3d56b8
@ -95,7 +95,7 @@ int _reset_graphics_input(EngineState *s) {
|
||||
font_nr = -1;
|
||||
do {
|
||||
resource = s->resmgr->testResource(ResourceId(kResourceTypeFont, ++font_nr));
|
||||
} while ((!resource) && (font_nr < sci_max_resource_nr[s->resmgr->_sciVersion]));
|
||||
} while ((!resource) && (font_nr < 65536));
|
||||
|
||||
if (!resource) {
|
||||
debug(2, "No text font was found.");
|
||||
|
@ -42,8 +42,6 @@ namespace Sci {
|
||||
|
||||
//#define SCI_VERBOSE_RESMGR 1
|
||||
|
||||
const int sci_max_resource_nr[] = {65536, 1000, 2048, 2048, 2048, 65536, 65536, 65536};
|
||||
|
||||
static const char *sci_error_types[] = {
|
||||
"No error",
|
||||
"I/O error",
|
||||
@ -649,16 +647,7 @@ Common::List<ResourceId> *ResourceManager::listResources(ResourceType type, int
|
||||
}
|
||||
|
||||
Resource *ResourceManager::findResource(ResourceId id, bool lock) {
|
||||
Resource *retval;
|
||||
|
||||
if (id.number >= sci_max_resource_nr[_sciVersion]) {
|
||||
ResourceId moddedId = ResourceId(id.type, id.number % sci_max_resource_nr[_sciVersion], id.tuple);
|
||||
warning("[resmgr] Requested invalid resource %s, mapped to %s",
|
||||
id.toString().c_str(), moddedId.toString().c_str());
|
||||
id = moddedId;
|
||||
}
|
||||
|
||||
retval = testResource(id);
|
||||
Resource *retval = testResource(id);
|
||||
|
||||
if (!retval)
|
||||
return NULL;
|
||||
|
@ -82,8 +82,6 @@ enum ResSourceType {
|
||||
#define SCI1_RESMAP_ENTRIES_SIZE 6
|
||||
#define SCI11_RESMAP_ENTRIES_SIZE 5
|
||||
|
||||
extern const int sci_max_resource_nr[]; /**< Highest possible resource numbers */
|
||||
|
||||
enum ResourceType {
|
||||
kResourceTypeView = 0,
|
||||
kResourceTypePic,
|
||||
|
Loading…
Reference in New Issue
Block a user