diff options
-rw-r--r-- | engines/parallaction/callables_br.cpp | 60 | ||||
-rw-r--r-- | engines/parallaction/module.mk | 1 | ||||
-rw-r--r-- | engines/parallaction/parallaction.h | 12 | ||||
-rw-r--r-- | engines/parallaction/parallaction_br.cpp | 6 |
4 files changed, 79 insertions, 0 deletions
diff --git a/engines/parallaction/callables_br.cpp b/engines/parallaction/callables_br.cpp new file mode 100644 index 0000000000..829195fd7a --- /dev/null +++ b/engines/parallaction/callables_br.cpp @@ -0,0 +1,60 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + * + */ + +#include "common/stdafx.h" + +#include "parallaction/parallaction.h" + +namespace Parallaction { + + +void Parallaction_br::_c_blufade(void*) { + warning("Parallaction_br::_c_blufade() not yet implemented"); +} + +void Parallaction_br::_c_resetpalette(void*) { + warning("Parallaction_br::_c_resetpalette() not yet implemented"); +} + +void Parallaction_br::_c_ferrcycle(void*) { + warning("Parallaction_br::_c_ferrcycle() not yet implemented"); +} + +void Parallaction_br::_c_lipsinc(void*) { + warning("Parallaction_br::_c_lipsinc() not yet implemented"); +} + +void Parallaction_br::_c_albcycle(void*) { + warning("Parallaction_br::_c_albcycle() not yet implemented"); +} + +void Parallaction_br::_c_password(void*) { + warning("Parallaction_br::_c_password() not yet implemented"); +} + + + + +} // namespace Parallaction diff --git a/engines/parallaction/module.mk b/engines/parallaction/module.mk index 5a7a3b9694..b7f60eeb32 100644 --- a/engines/parallaction/module.mk +++ b/engines/parallaction/module.mk @@ -2,6 +2,7 @@ MODULE := engines/parallaction MODULE_OBJS := \ animation.o \ + callables_br.o \ callables_ns.o \ commands.o \ debug.o \ diff --git a/engines/parallaction/parallaction.h b/engines/parallaction/parallaction.h index 7a4e076675..53ae64a136 100644 --- a/engines/parallaction/parallaction.h +++ b/engines/parallaction/parallaction.h @@ -544,13 +544,25 @@ public: int init(); public: + virtual void callFunction(uint index, void* parm); + +public: Table *_audioCommandsNames; const char **_audioCommandsNamesRes; private: void initResources(); + typedef void (Parallaction_br::*Callable)(void*); + + void _c_blufade(void*); + void _c_resetpalette(void*); + void _c_ferrcycle(void*); + void _c_lipsinc(void*); + void _c_albcycle(void*); + void _c_password(void*); + Callable _callables[6]; }; // FIXME: remove global diff --git a/engines/parallaction/parallaction_br.cpp b/engines/parallaction/parallaction_br.cpp index 44009bdf5c..7dcc94d7c6 100644 --- a/engines/parallaction/parallaction_br.cpp +++ b/engines/parallaction/parallaction_br.cpp @@ -57,4 +57,10 @@ int Parallaction_br::init() { return 0; } +void Parallaction_br::callFunction(uint index, void* parm) { + assert(index < 6); // magic value 6 is maximum # of callables for Big Red Adventure + + (this->*_callables[index])(parm); +} + } // namespace Parallaction |