aboutsummaryrefslogtreecommitdiff
path: root/engines/made/scriptfuncs.h
diff options
context:
space:
mode:
authorBenjamin Haisch2008-05-06 11:45:23 +0000
committerBenjamin Haisch2008-05-06 11:45:23 +0000
commit9df82055f0dff7c242f889c5d776ad0cca2d5bc8 (patch)
tree5748f4f80aad87ae23478d8eea4beb7e7eef2013 /engines/made/scriptfuncs.h
parent397e04d0b1ff6d96502c4eca42c1ab4a31b2dbcd (diff)
downloadscummvm-rg350-9df82055f0dff7c242f889c5d776ad0cca2d5bc8.tar.gz
scummvm-rg350-9df82055f0dff7c242f889c5d776ad0cca2d5bc8.tar.bz2
scummvm-rg350-9df82055f0dff7c242f889c5d776ad0cca2d5bc8.zip
- The Manhole: New and Enhanced is now (partially) playable
- Implemented cmd_objectp - Changed how the script externals array is set up - Cleanup svn-id: r31895
Diffstat (limited to 'engines/made/scriptfuncs.h')
-rw-r--r--engines/made/scriptfuncs.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/engines/made/scriptfuncs.h b/engines/made/scriptfuncs.h
index 7e826a9f5e..77e4b12b2e 100644
--- a/engines/made/scriptfuncs.h
+++ b/engines/made/scriptfuncs.h
@@ -40,12 +40,16 @@ typedef Common::Functor2<int16, int16*, int16> ExternalFunc;
class ScriptFunctions {
public:
ScriptFunctions(MadeEngine *vm) : _vm(vm) {}
- virtual ~ScriptFunctions() {}
+ virtual ~ScriptFunctions() {
+ for (int i = 0; i < _externalFuncs.size(); ++i)
+ delete _externalFuncs[i];
+ }
int16 callFunction(uint16 index, int16 argc, int16 *argv) {
if (index >= _externalFuncs.size()) {
// TODO: ERROR!
return 0;
}
+ debug(4, "%s", _externalFuncNames[index]);
return (*_externalFuncs[index])(argc, argv);
}
virtual void setupExternalsTable() = 0;
@@ -55,13 +59,13 @@ protected:
Audio::SoundHandle _voiceStreamHandle;
Common::Array<const ExternalFunc*> _externalFuncs;
+ Common::Array<const char *> _externalFuncNames;
};
class ScriptFunctionsLgop2 : public ScriptFunctions {
public:
ScriptFunctionsLgop2(MadeEngine *vm) : ScriptFunctions(vm) {}
- ~ScriptFunctionsLgop2() {}
void setupExternalsTable();
protected:
@@ -122,7 +126,6 @@ protected:
class ScriptFunctionsRtz : public ScriptFunctions {
public:
ScriptFunctionsRtz(MadeEngine *vm) : ScriptFunctions(vm) {}
- ~ScriptFunctionsRtz() {}
void setupExternalsTable();
protected:
@@ -231,7 +234,6 @@ protected:
class ScriptFunctionsMhne : public ScriptFunctions {
public:
ScriptFunctionsMhne(MadeEngine *vm) : ScriptFunctions(vm) {}
- ~ScriptFunctionsMhne() {}
void setupExternalsTable();
protected: