aboutsummaryrefslogtreecommitdiff
path: root/scumm/scumm.h
diff options
context:
space:
mode:
authorMax Horn2003-02-06 21:32:20 +0000
committerMax Horn2003-02-06 21:32:20 +0000
commita6cbfebf6dd743a6c4e25c3326ed7e10d3037413 (patch)
tree16c13777d6e956fface032d4d2171efca0d82c99 /scumm/scumm.h
parent3d70c8b2e34da2fb88e50ef413cfcd4816dab379 (diff)
downloadscummvm-rg350-a6cbfebf6dd743a6c4e25c3326ed7e10d3037413.tar.gz
scummvm-rg350-a6cbfebf6dd743a6c4e25c3326ed7e10d3037413.tar.bz2
scummvm-rg350-a6cbfebf6dd743a6c4e25c3326ed7e10d3037413.zip
removed an obsolete member var, and started to make Scumm member vars protected (had to make some exception; the code which makes these exceptions necessary should be revised)
svn-id: r6589
Diffstat (limited to 'scumm/scumm.h')
-rw-r--r--scumm/scumm.h23
1 files changed, 19 insertions, 4 deletions
diff --git a/scumm/scumm.h b/scumm/scumm.h
index 62ebedb0d3..be2dd5090a 100644
--- a/scumm/scumm.h
+++ b/scumm/scumm.h
@@ -229,6 +229,7 @@ enum MouseButtonStatus {
};
class Scumm : public Engine {
+ friend void NORETURN CDECL error(const char *s, ...); // FIXME - ugly but error() accesses g_scumm...
public:
/* Put often used variables at the top.
* That results in a shorter form of the opcode
@@ -433,9 +434,12 @@ public:
void heapClear(int mode);
void unkHeapProc2(int a, int b);
+
+protected:
/* Script VM - should be in Script class */
+
uint32 _localScriptList[NUM_LOCALSCRIPT];
- byte *_scriptPointer, *_scriptOrgPointer, *_scriptPointerStart;
+ byte *_scriptPointer, *_scriptOrgPointer;
byte _opcode, _numNestedScripts, _currentScript;
uint16 _curExecScript;
byte **_lastCodePtr;
@@ -448,8 +452,12 @@ public:
void initializeLocals(int slot, int *vars);
int getScriptSlot();
+
+public:
void runScript(int script, int a, int b, int *lvarptr);
void stopScriptNr(int script);
+
+protected:
void runScriptNested(int script);
void executeScript();
void updateScriptPtr();
@@ -464,7 +472,9 @@ public:
void setResult(int result);
void push(int a);
int pop();
- virtual int readVar(uint var);
+public:
+ virtual int readVar(uint var); // FIXME - should be protected but scumm/dialogs.cpp uses it
+protected:
virtual void writeVar(uint var, int value);
void runHook(int i);
bool isScriptInUse(int script);
@@ -474,7 +484,9 @@ public:
void runAllScripts();
void cutscene(int *args);
void endCutscene();
- void exitCutscene();
+public:
+ void exitCutscene(); // FIXME - should be protected but ScummRenderer destructor uses it
+protected:
void runExitScript();
void runEntryScript();
@@ -484,13 +496,16 @@ public:
void killScriptsAndResources();
void checkAndRunSentenceScript();
void decreaseScriptDelay(int amount);
- bool isScriptRunning(int script);
+public:
+ bool isScriptRunning(int script); // FIXME - should be protected but Sound::startTalkSound uses this
+protected:
bool isRoomScriptRunning(int script);
void copyScriptString(byte *dst);
int resStrLen(const byte *src) const;
void doSentence(int c, int b, int a);
void setStringVars(int i);
+public:
/* Script VM or Object class? */
void stopObjectCode();
void stopObjectScript(int script);