2007-05-30 21:56:52 +00:00
|
|
|
/* ScummVM - Graphic Adventure Engine
|
2007-04-27 12:58:35 +00:00
|
|
|
*
|
2007-05-30 21:56:52 +00:00
|
|
|
* 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.
|
2007-04-27 12:58:35 +00:00
|
|
|
*
|
|
|
|
* 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.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2007-04-27 22:33:45 +00:00
|
|
|
#ifndef CRUISE_SCRIPT_H
|
|
|
|
#define CRUISE_SCRIPT_H
|
2007-04-27 12:58:35 +00:00
|
|
|
|
|
|
|
namespace Cruise {
|
|
|
|
|
2007-04-27 22:33:45 +00:00
|
|
|
enum scriptTypeEnum {
|
2007-04-28 22:31:55 +00:00
|
|
|
scriptType_MinusPROC = -20,
|
2007-04-27 22:33:45 +00:00
|
|
|
scriptType_Minus30 = -30,
|
2007-04-28 22:31:55 +00:00
|
|
|
scriptType_PROC = 20,
|
|
|
|
scriptType_REL = 30
|
2007-04-27 12:58:35 +00:00
|
|
|
};
|
|
|
|
|
2007-04-27 22:33:45 +00:00
|
|
|
struct scriptInstanceStruct {
|
|
|
|
struct scriptInstanceStruct *nextScriptPtr;
|
2007-11-08 22:59:29 +00:00
|
|
|
int16 ccr;
|
2009-05-17 06:59:19 +00:00
|
|
|
int16 scriptOffset;
|
2009-10-09 10:32:33 +00:00
|
|
|
uint8 *data;
|
|
|
|
int16 dataSize;
|
2007-04-27 12:58:35 +00:00
|
|
|
int16 scriptNumber;
|
|
|
|
int16 overlayNumber;
|
|
|
|
int16 sysKey;
|
2007-05-16 22:44:22 +00:00
|
|
|
int16 freeze;
|
2007-04-27 12:58:35 +00:00
|
|
|
scriptTypeEnum type;
|
|
|
|
int16 var16;
|
|
|
|
int16 var18;
|
|
|
|
int16 var1A;
|
|
|
|
};
|
|
|
|
|
2007-04-28 22:31:55 +00:00
|
|
|
extern scriptInstanceStruct relHead;
|
|
|
|
extern scriptInstanceStruct procHead;
|
2007-04-27 22:33:45 +00:00
|
|
|
extern scriptInstanceStruct *currentScriptPtr;
|
2007-04-27 12:58:35 +00:00
|
|
|
|
2009-11-02 21:54:57 +00:00
|
|
|
void setupFuncArray();
|
|
|
|
int8 getByteFromScript();
|
2007-04-27 12:58:35 +00:00
|
|
|
|
2007-04-27 22:33:45 +00:00
|
|
|
int removeScript(int overlay, int idx, scriptInstanceStruct * headPtr);
|
2007-10-29 20:56:19 +00:00
|
|
|
uint8 *attacheNewScriptToTail(scriptInstanceStruct *scriptHandlePtr, int16 overlayNumber, int16 param, int16 arg0, int16 arg1, int16 arg2, scriptTypeEnum scriptType);
|
2007-04-27 22:33:45 +00:00
|
|
|
void manageScripts(scriptInstanceStruct * scriptHandle);
|
2007-04-27 12:58:35 +00:00
|
|
|
|
|
|
|
} // End of namespace Cruise
|
|
|
|
|
|
|
|
#endif
|