2012-04-04 00:03:41 +02:00
|
|
|
/* 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.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef LILLIPUT_SCRIPT_H
|
|
|
|
#define LILLIPUT_SCRIPT_H
|
|
|
|
|
|
|
|
#include "common/memstream.h"
|
2012-04-12 00:54:12 +02:00
|
|
|
#include "common/stack.h"
|
2012-04-12 20:53:38 +02:00
|
|
|
#include "common/random.h"
|
2012-05-05 18:16:03 +02:00
|
|
|
#include "common/rect.h"
|
2012-04-04 00:03:41 +02:00
|
|
|
|
2012-04-27 22:08:56 +02:00
|
|
|
#include "lilliput/stream.h"
|
|
|
|
|
2012-04-04 00:03:41 +02:00
|
|
|
namespace Lilliput {
|
|
|
|
|
|
|
|
class LilliputEngine;
|
2012-04-27 22:08:56 +02:00
|
|
|
|
2012-06-23 10:47:10 +02:00
|
|
|
enum kActionType {
|
|
|
|
kActionNone = 0,
|
2018-03-21 08:08:06 +01:00
|
|
|
kButtonPressed = 1,
|
|
|
|
kButtonReleased = 2,
|
2012-06-23 18:56:08 +02:00
|
|
|
kActionTalk = 3,
|
|
|
|
kActionGoto = 4,
|
2018-03-21 08:08:06 +01:00
|
|
|
kCubeSelected = 5,
|
2012-06-23 10:47:10 +02:00
|
|
|
kCodeEntered = 6
|
|
|
|
};
|
|
|
|
|
2018-03-20 12:37:02 +01:00
|
|
|
enum kValueType {
|
2012-05-01 14:35:19 +02:00
|
|
|
kNone,
|
|
|
|
kImmediateValue,
|
|
|
|
kCompareOperation,
|
|
|
|
kComputeOperation,
|
|
|
|
kGetValue1,
|
2012-05-08 18:36:01 +02:00
|
|
|
kgetPosFromScript
|
2012-05-01 14:35:19 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
struct OpCode {
|
|
|
|
const char* _opName;
|
|
|
|
int _numArgs;
|
2018-03-20 12:37:02 +01:00
|
|
|
kValueType _arg1;
|
|
|
|
kValueType _arg2;
|
|
|
|
kValueType _arg3;
|
|
|
|
kValueType _arg4;
|
|
|
|
kValueType _arg5;
|
2012-05-01 14:35:19 +02:00
|
|
|
};
|
|
|
|
|
2018-04-08 00:02:22 +02:00
|
|
|
struct EvaluatedMode {
|
|
|
|
int _mode;
|
|
|
|
int _priority;
|
|
|
|
};
|
|
|
|
|
2012-04-04 00:03:41 +02:00
|
|
|
class LilliputScript {
|
|
|
|
public:
|
2012-04-25 23:51:45 +02:00
|
|
|
byte _heroismLevel;
|
2012-05-11 23:32:26 +02:00
|
|
|
byte _speechTimer;
|
2012-04-17 23:48:11 +02:00
|
|
|
|
2012-04-28 02:59:43 +02:00
|
|
|
byte _characterScriptEnabled[40];
|
2012-05-18 19:24:03 +02:00
|
|
|
int8 _interfaceHotspotStatus[20];
|
2018-03-31 01:54:34 +02:00
|
|
|
Common::Point _characterTilePos[40];
|
2018-03-21 08:01:44 +01:00
|
|
|
int8 _characterNextSequence[40];
|
2018-03-27 00:18:36 +02:00
|
|
|
int8 _characterPose[40];
|
2012-07-01 01:58:15 +02:00
|
|
|
byte _interfaceButtonActivationDelay[20];
|
2012-04-25 23:51:45 +02:00
|
|
|
byte _array122C1[40];
|
2018-03-27 00:18:36 +02:00
|
|
|
byte _characterSeek[40];
|
2018-03-20 07:45:32 +01:00
|
|
|
int16 _interactions[40 * 40];
|
2012-04-23 01:51:17 +02:00
|
|
|
|
2018-04-15 01:19:22 +02:00
|
|
|
byte *_barAttrPtr;
|
2012-04-17 23:48:11 +02:00
|
|
|
|
2012-05-05 18:16:03 +02:00
|
|
|
Common::Point _viewportPos;
|
2012-05-20 15:09:32 +02:00
|
|
|
int16 _viewportCharacterTarget;
|
|
|
|
int16 _talkingCharacter;
|
2012-04-25 23:51:45 +02:00
|
|
|
int _heroismBarX;
|
|
|
|
int _heroismBarBottomY;
|
2012-04-20 08:34:41 +02:00
|
|
|
|
2018-03-23 08:07:40 +01:00
|
|
|
Common::Point _sequenceArr[640];
|
2012-06-20 01:35:57 +02:00
|
|
|
byte _characterMapPixelColor[40];
|
2018-03-21 08:01:44 +01:00
|
|
|
int8 _characterLastSequence[40];
|
2018-04-08 00:02:22 +02:00
|
|
|
EvaluatedMode _newEvaluatedModes[32];
|
2012-04-11 15:58:41 +02:00
|
|
|
|
2012-04-04 00:03:41 +02:00
|
|
|
LilliputScript(LilliputEngine *vm);
|
|
|
|
~LilliputScript();
|
|
|
|
|
2012-04-28 18:52:15 +02:00
|
|
|
void disasmScript(ScriptStream script);
|
2012-05-12 18:04:07 +02:00
|
|
|
void listAllTexts();
|
2018-03-20 12:37:02 +01:00
|
|
|
static Common::String getArgumentString(kValueType type, ScriptStream& script);
|
2012-04-27 22:08:56 +02:00
|
|
|
void runScript(ScriptStream script);
|
|
|
|
void runMenuScript(ScriptStream script);
|
2012-04-04 00:03:41 +02:00
|
|
|
private:
|
|
|
|
LilliputEngine *_vm;
|
|
|
|
|
2012-04-27 22:08:56 +02:00
|
|
|
ScriptStream *_currScript;
|
|
|
|
Common::Stack<ScriptStream *> _scriptStack;
|
2012-04-05 00:00:59 +02:00
|
|
|
|
2012-04-04 00:03:41 +02:00
|
|
|
byte _byte16F05_ScriptHandler;
|
2018-03-28 07:19:56 +02:00
|
|
|
byte _cubeSet;
|
2012-05-20 09:45:10 +02:00
|
|
|
byte _lastRandomValue;
|
2012-06-23 18:01:01 +02:00
|
|
|
byte _scriptForVal;
|
2018-04-08 00:02:22 +02:00
|
|
|
byte _textVarNumber;
|
2012-05-11 23:32:26 +02:00
|
|
|
byte _speechDisplaySpeed;
|
2012-04-12 20:53:38 +02:00
|
|
|
|
2012-06-23 10:47:10 +02:00
|
|
|
int16 _word16F00_characterId;
|
2012-05-20 15:09:32 +02:00
|
|
|
int _currentSpeechId;
|
2012-04-29 14:57:36 +02:00
|
|
|
int _word18821;
|
2018-04-08 00:02:22 +02:00
|
|
|
int _monitoredCharacter;
|
2012-06-15 23:34:17 +02:00
|
|
|
Common::Point _word1825E;
|
2012-05-08 18:36:01 +02:00
|
|
|
|
2018-04-08 00:02:22 +02:00
|
|
|
char _monitoredAttr[4];
|
2012-04-04 00:03:41 +02:00
|
|
|
|
2012-04-27 22:08:56 +02:00
|
|
|
int handleOpcode(ScriptStream *script);
|
2012-04-04 00:03:41 +02:00
|
|
|
byte handleOpcodeType1(int curWord);
|
|
|
|
void handleOpcodeType2(int curWord);
|
2018-03-20 12:37:02 +01:00
|
|
|
|
2012-05-18 16:48:49 +02:00
|
|
|
void enableCharacterScript(byte index, byte var1, byte *curBufPtr);
|
2018-03-22 23:30:37 +01:00
|
|
|
void skipOpcodes(int var1);
|
2018-03-23 08:07:40 +01:00
|
|
|
void copySequence(int index, byte *buf);
|
|
|
|
void setSequence(int charIdx, int8 seqIdx);
|
2012-05-20 15:09:32 +02:00
|
|
|
void checkSpeechAllowed(bool &forceReturnFl);
|
2012-05-09 08:07:58 +02:00
|
|
|
void decodePackedText(char *buf);
|
2012-05-20 15:09:32 +02:00
|
|
|
void startSpeech(int var);
|
2012-05-16 20:44:47 +02:00
|
|
|
void displayNumber(byte var1, Common::Point pos);
|
2012-05-05 21:34:58 +02:00
|
|
|
byte *getMapPtr(Common::Point val);
|
2012-05-18 19:24:03 +02:00
|
|
|
byte *getCurrentCharacterVarFromScript();
|
2018-03-24 02:15:54 +01:00
|
|
|
void sendSignal(int16 var1, byte var2h, byte characterId, int16 var4);
|
2012-06-19 08:21:46 +02:00
|
|
|
void getSpeechVariant(int speechIndex, int speechVariant);
|
2018-04-08 00:02:22 +02:00
|
|
|
void showSpeech();
|
2012-05-21 09:44:25 +02:00
|
|
|
void formatSpeechString();
|
2012-05-06 22:32:23 +02:00
|
|
|
Common::Point getCharacterTilePos(int index);
|
2012-06-19 08:21:46 +02:00
|
|
|
int getPackedStringStartRelativeIndex(int index);
|
2012-04-08 12:54:56 +02:00
|
|
|
|
2012-05-04 23:13:43 +02:00
|
|
|
int16 getValue1();
|
2012-05-05 21:34:58 +02:00
|
|
|
Common::Point getPosFromScript();
|
2012-04-07 14:36:04 +02:00
|
|
|
|
2018-03-22 00:14:11 +01:00
|
|
|
byte *getCharacterAttributesPtr();
|
2012-05-20 09:45:10 +02:00
|
|
|
byte compareValues(int16 var1, uint16 oper, int16 var2);
|
|
|
|
void computeOperation(byte *bufPtr, uint16 oper, int16 var2);
|
2012-04-06 22:45:43 +02:00
|
|
|
|
2012-04-04 00:03:41 +02:00
|
|
|
//Opcodes Type 1
|
2012-05-06 10:04:09 +02:00
|
|
|
byte OC_checkCharacterGoalPos();
|
|
|
|
byte OC_comparePos();
|
2012-05-25 01:34:24 +02:00
|
|
|
byte OC_checkIsoMap3();
|
2012-05-17 02:27:17 +02:00
|
|
|
byte OC_compareCharacterVariable();
|
2012-05-20 09:45:10 +02:00
|
|
|
byte OC_CompareLastRandomValue();
|
2012-04-04 00:03:41 +02:00
|
|
|
byte OC_getRandom();
|
2012-04-27 23:17:40 +02:00
|
|
|
byte OC_for();
|
2012-05-20 15:09:32 +02:00
|
|
|
byte OC_compCurrentSpeechId();
|
2012-04-04 00:03:41 +02:00
|
|
|
byte OC_checkSaveFlag();
|
2012-06-23 18:01:01 +02:00
|
|
|
byte OC_compScriptForVal();
|
2018-03-20 07:45:32 +01:00
|
|
|
byte OC_isCarrying();
|
2012-05-15 01:37:00 +02:00
|
|
|
byte OC_CompareCharacterVariables();
|
2012-04-04 00:03:41 +02:00
|
|
|
byte OC_compareCoords_1();
|
|
|
|
byte OC_compareCoords_2();
|
2012-05-15 01:37:00 +02:00
|
|
|
byte OC_CompareDistanceFromCharacterToPositionWith();
|
2012-05-16 17:56:46 +02:00
|
|
|
byte OC_compareRandomCharacterId();
|
2012-05-15 01:37:00 +02:00
|
|
|
byte OC_IsCurrentCharacterIndex();
|
2018-03-20 07:45:32 +01:00
|
|
|
byte OC_hasVisibilityLevel();
|
|
|
|
byte OC_hasGainedVisibilityLevel();
|
|
|
|
byte OC_hasReducedVisibilityLevel();
|
|
|
|
byte OC_isHost();
|
2018-03-21 08:01:44 +01:00
|
|
|
byte OC_isSequenceActive();
|
|
|
|
byte OC_isSequenceFinished();
|
2012-05-15 01:37:00 +02:00
|
|
|
byte OC_CompareMapValueWith();
|
|
|
|
byte OC_IsCharacterValid();
|
2018-03-21 08:01:44 +01:00
|
|
|
byte OC_CheckWaitingSignal();
|
|
|
|
byte OC_CurrentCharacterVar0AndVar1Equals();
|
2012-05-12 18:04:07 +02:00
|
|
|
byte OC_CurrentCharacterVar0Equals();
|
2012-05-18 19:24:03 +02:00
|
|
|
byte OC_checkLastInterfaceHotspotIndexMenu13();
|
|
|
|
byte OC_checkLastInterfaceHotspotIndexMenu2();
|
2012-05-15 01:37:00 +02:00
|
|
|
byte OC_CompareNumberOfCharacterWithVar0Equals();
|
|
|
|
byte OC_IsPositionInViewport();
|
2012-05-06 10:04:09 +02:00
|
|
|
byte OC_CompareGameVariables();
|
|
|
|
byte OC_skipNextOpcode();
|
2018-03-22 00:14:11 +01:00
|
|
|
byte OC_CheckCurrentCharacterAttr2();
|
|
|
|
byte OC_CheckCurrentCharacterType();
|
|
|
|
byte OC_CheckCurrentCharacterAttr0And();
|
|
|
|
byte OC_IsCurrentCharacterAttr0LessEqualThan();
|
|
|
|
byte OC_isCarried();
|
|
|
|
byte OC_CheckCurrentCharacterAttr1();
|
2018-04-02 19:13:47 +02:00
|
|
|
byte OC_isCurrentCharacterSpecial();
|
2018-03-22 00:14:11 +01:00
|
|
|
byte OC_CurrentCharacterAttr3Equals1();
|
2012-04-30 17:57:23 +02:00
|
|
|
byte OC_checkCharacterDirection();
|
2012-05-18 19:24:03 +02:00
|
|
|
byte OC_checkLastInterfaceHotspotIndex();
|
2012-06-17 14:09:52 +02:00
|
|
|
byte OC_checkSelectedCharacter();
|
2012-07-01 00:59:06 +02:00
|
|
|
byte OC_checkDelayedReactivation();
|
2018-03-22 23:30:37 +01:00
|
|
|
byte OC_checkTargetReached();
|
2012-06-03 13:25:40 +02:00
|
|
|
byte OC_checkFunctionKeyPressed();
|
2012-06-23 10:47:10 +02:00
|
|
|
byte OC_checkCodeEntered();
|
2012-05-11 20:47:17 +02:00
|
|
|
byte OC_checkViewPortCharacterTarget();
|
2012-04-04 00:03:41 +02:00
|
|
|
|
|
|
|
// Opcodes Type 2
|
|
|
|
void OC_setWord18821();
|
2012-05-15 01:37:00 +02:00
|
|
|
void OC_ChangeIsoMap();
|
2012-05-20 15:09:32 +02:00
|
|
|
void OC_startSpeech();
|
2012-06-19 08:21:46 +02:00
|
|
|
void OC_getComputedVariantSpeech();
|
|
|
|
void OC_getRotatingVariantSpeech();
|
2012-05-20 15:09:32 +02:00
|
|
|
void OC_startSpeechIfMute();
|
2012-06-19 08:21:46 +02:00
|
|
|
void OC_getComputedVariantSpeechIfMute();
|
2012-05-29 22:54:02 +02:00
|
|
|
void OC_startSpeechIfSilent();
|
2012-05-17 02:27:17 +02:00
|
|
|
void OC_ComputeCharacterVariable();
|
2018-04-08 00:02:22 +02:00
|
|
|
void OC_setAttributeToRandom();
|
2012-05-01 03:29:56 +02:00
|
|
|
void OC_setCharacterPosition();
|
2012-05-15 01:37:00 +02:00
|
|
|
void OC_DisableCharacter();
|
2012-04-04 00:03:41 +02:00
|
|
|
void OC_saveAndQuit();
|
2018-03-22 23:30:37 +01:00
|
|
|
void OC_nSkipOpcodes();
|
2012-06-19 08:21:46 +02:00
|
|
|
void OC_startSpeech5();
|
2018-03-23 08:07:40 +01:00
|
|
|
void OC_resetHandleOpcodeFlag();
|
2012-04-04 00:03:41 +02:00
|
|
|
void OC_deleteSavegameAndQuit();
|
2012-06-23 18:01:01 +02:00
|
|
|
void OC_incScriptForVal();
|
2018-03-23 08:07:40 +01:00
|
|
|
void OC_computeChararacterAttr();
|
2018-04-08 00:02:22 +02:00
|
|
|
void OC_setTextVarNumber();
|
2012-05-01 03:29:56 +02:00
|
|
|
void OC_callScript();
|
2012-05-12 18:04:07 +02:00
|
|
|
void OC_callScriptAndReturn();
|
2012-05-06 22:32:23 +02:00
|
|
|
void OC_setCurrentScriptCharacterPos();
|
2012-06-23 18:01:01 +02:00
|
|
|
void OC_initScriptFor();
|
2018-03-23 08:07:40 +01:00
|
|
|
void OC_setCurrentCharacterSequence();
|
|
|
|
void OC_setNextCharacterSequence();
|
|
|
|
void OC_setHost();
|
|
|
|
void OC_changeMapCube();
|
|
|
|
void OC_setCharacterCarry();
|
|
|
|
void OC_dropCarried();
|
2012-05-19 14:25:30 +02:00
|
|
|
void OC_setCurrentCharacter();
|
2018-03-24 02:15:54 +01:00
|
|
|
void OC_sendSeeSignal();
|
|
|
|
void OC_sendHearSignal();
|
2018-03-26 01:48:25 +02:00
|
|
|
void OC_sendVarSignal();
|
|
|
|
void OC_sendBroadcastSignal();
|
|
|
|
void OC_resetWaitingSignal();
|
2012-05-18 16:48:49 +02:00
|
|
|
void OC_enableCurrentCharacterScript();
|
2012-05-12 18:04:07 +02:00
|
|
|
void OC_IncCurrentCharacterVar1();
|
2018-03-26 01:48:25 +02:00
|
|
|
void OC_setCurrentCharacterPos();
|
|
|
|
void OC_setCurrentCharacterBehavior();
|
2012-05-01 00:18:26 +02:00
|
|
|
void OC_changeCurrentCharacterSprite();
|
2018-04-15 01:19:22 +02:00
|
|
|
void OC_getList();
|
|
|
|
void OC_setList();
|
2012-05-06 22:32:23 +02:00
|
|
|
void OC_setCharacterDirectionTowardsPos();
|
2012-05-26 10:41:13 +02:00
|
|
|
void OC_turnCharacterTowardsAnother();
|
2018-03-27 00:18:36 +02:00
|
|
|
void OC_setSeek();
|
2012-05-25 01:34:24 +02:00
|
|
|
void OC_scrollAwayFromCharacter();
|
2012-05-06 22:32:23 +02:00
|
|
|
void OC_skipNextVal();
|
2018-03-27 00:18:36 +02:00
|
|
|
void OC_setCurrentCharacterAttr6();
|
|
|
|
void OC_setCurrentCharacterPose();
|
2012-05-29 22:54:02 +02:00
|
|
|
void OC_setCharacterScriptEnabled();
|
2018-03-28 07:19:56 +02:00
|
|
|
void OC_setCurrentCharacterAttr2();
|
|
|
|
void OC_clearCurrentCharacterAttr2();
|
2012-05-26 02:06:12 +02:00
|
|
|
void OC_setCharacterProperties();
|
2018-04-08 00:02:22 +02:00
|
|
|
void OC_setMonitoredCharacter();
|
2018-03-28 07:19:56 +02:00
|
|
|
void OC_setNewPose();
|
2012-04-30 17:57:23 +02:00
|
|
|
void OC_setCurrentCharacterDirection();
|
2012-05-18 19:24:03 +02:00
|
|
|
void OC_setInterfaceHotspot();
|
2012-06-17 14:44:30 +02:00
|
|
|
void OC_scrollViewPort();
|
2012-05-11 20:47:17 +02:00
|
|
|
void OC_setViewPortPos();
|
|
|
|
void OC_setCurrentCharacterAltitude();
|
2018-04-08 00:02:22 +02:00
|
|
|
void OC_setModePriority();
|
|
|
|
void setMode(EvaluatedMode newMode);
|
2018-04-09 00:55:42 +02:00
|
|
|
void OC_setComputedModePriority();
|
|
|
|
void OC_selectBestMode();
|
2018-03-28 07:19:56 +02:00
|
|
|
void OC_magicPuffEntrance();
|
2018-04-09 00:55:42 +02:00
|
|
|
void OC_spawnCharacterAtPos();
|
2012-05-17 02:27:17 +02:00
|
|
|
void OC_CharacterVariableAddOrRemoveFlag();
|
2012-04-22 23:07:09 +02:00
|
|
|
void OC_PaletteFadeOut();
|
|
|
|
void OC_PaletteFadeIn();
|
2018-03-28 07:19:56 +02:00
|
|
|
void OC_loadAndDisplayCubesGfx();
|
|
|
|
void OC_setCurrentCharacterAttr3();
|
2012-05-01 12:18:52 +02:00
|
|
|
void OC_setArray122C1();
|
2012-04-04 00:03:41 +02:00
|
|
|
void OC_sub18367();
|
2012-05-18 16:48:49 +02:00
|
|
|
void OC_enableCharacterScript();
|
2012-07-01 18:16:56 +02:00
|
|
|
void OC_setRulesBuffer2Element();
|
2012-04-29 11:48:10 +02:00
|
|
|
void OC_setDebugFlag();
|
2018-04-09 00:55:42 +02:00
|
|
|
void OC_setDebugFlag2();
|
2012-06-01 08:18:33 +02:00
|
|
|
void OC_waitForEvent();
|
2012-05-18 19:24:03 +02:00
|
|
|
void OC_disableInterfaceHotspot();
|
2012-06-20 01:35:57 +02:00
|
|
|
void OC_loadFileAerial();
|
2012-06-19 08:21:46 +02:00
|
|
|
void OC_startSpeechIfSoundOff();
|
2012-04-04 00:03:41 +02:00
|
|
|
void OC_sub1844A();
|
2012-05-17 20:35:20 +02:00
|
|
|
void OC_displayNumericCharacterVariable();
|
2012-04-05 00:00:59 +02:00
|
|
|
void OC_displayVGAFile();
|
2012-05-29 22:54:02 +02:00
|
|
|
void OC_startSpeechWithoutSpeeker();
|
2012-04-10 10:06:50 +02:00
|
|
|
void OC_displayTitleScreen();
|
2012-05-17 20:35:20 +02:00
|
|
|
void OC_initGameAreaDisplay();
|
2012-05-23 07:40:05 +02:00
|
|
|
void OC_displayCharacterStatBar();
|
2012-05-11 17:01:00 +02:00
|
|
|
void OC_initSmallAnim();
|
2012-05-18 16:48:49 +02:00
|
|
|
void OC_setCharacterHeroismBar();
|
2018-03-28 07:19:56 +02:00
|
|
|
void OC_setCharacterHome();
|
2012-04-30 17:57:23 +02:00
|
|
|
void OC_setViewPortCharacterTarget();
|
2018-03-28 07:19:56 +02:00
|
|
|
void OC_showObject();
|
2018-03-29 00:28:12 +02:00
|
|
|
void OC_playObjectSound();
|
|
|
|
void OC_startLocationSound();
|
|
|
|
void OC_stopObjectSound();
|
|
|
|
void OC_stopLocationSound();
|
|
|
|
void OC_toggleSound();
|
|
|
|
void OC_playMusic();
|
|
|
|
void OC_stopMusic();
|
2012-06-20 07:49:21 +02:00
|
|
|
void OC_setCharacterMapColor();
|
2012-04-04 00:03:41 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
} // End of namespace Lilliput
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|