SCI: Clean up some memory management and loops

This commit is contained in:
Willem Jan Palenstijn 2012-01-15 18:25:00 +01:00
parent f2c163a569
commit 56fb56936e
7 changed files with 55 additions and 90 deletions

View file

@ -430,19 +430,16 @@ SciVersion GameFeatures::detectMessageFunctionType() {
return _messageFunctionType;
}
Common::List<ResourceId> *resources = g_sci->getResMan()->listResources(kResourceTypeMessage, -1);
if (resources->empty()) {
delete resources;
Common::List<ResourceId> resources = g_sci->getResMan()->listResources(kResourceTypeMessage, -1);
if (resources.empty()) {
// No messages found, so this doesn't really matter anyway...
_messageFunctionType = SCI_VERSION_1_1;
return _messageFunctionType;
}
Resource *res = g_sci->getResMan()->findResource(*resources->begin(), false);
Resource *res = g_sci->getResMan()->findResource(*resources.begin(), false);
assert(res);
delete resources;
// Only v2 Message resources use the kGetMessage kernel function.
// v3-v5 use the kMessage kernel function.