diff options
Diffstat (limited to 'engines/saga/itedata.h')
-rw-r--r-- | engines/saga/itedata.h | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/engines/saga/itedata.h b/engines/saga/itedata.h new file mode 100644 index 0000000000..45d045356d --- /dev/null +++ b/engines/saga/itedata.h @@ -0,0 +1,113 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2004-2006 The ScummVM project + * + * The ReInherit Engine is (C)2000-2003 by Daniel Balsom. + * + * 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$ + * + */ + +// Actor data table header file + +#ifndef SAGA_ITEDATA_H +#define SAGA_ITEDATA_H + +namespace Saga { + +enum ActorFlags { + kProtagonist = 0x01, // Actor is protagonist + kFollower = 0x02, // Actor is follower + kCycle = 0x04, // Actor stand has a cycle + kFaster = 0x08, // Actor is fast + kFastest = 0x10, // Actor is faster + kExtended = 0x20 // Actor uses extended sprites +}; + +// TODO: This doesn't quite correspond to the original Actor struct, so I'm not +// sure if I got it right. + +struct ActorTableData { + byte flags; + byte nameIndex; + int32 sceneIndex; + int16 x; + int16 y; + int16 z; + int32 spriteListResourceId; + int32 frameListResourceId; + byte scriptEntrypointNumber; + byte speechColor; + byte currentAction; + byte facingDirection; + byte actionDirection; +}; + +#define ITE_ACTORCOUNT 181 + +extern ActorTableData ITE_ActorTable[ITE_ACTORCOUNT]; + +enum { + kObjUseWith = 0x01, + kObjNotFlat = 0x02 +}; + +struct ObjectTableData { + byte nameIndex; + int32 sceneIndex; + int16 x; + int16 y; + int16 z; + int32 spriteListResourceId; + byte scriptEntrypointNumber; + uint16 interactBits; +}; + +struct FxTable { + int res; + int vol; +}; + +#define ITE_OBJECTCOUNT 39 +#define ITE_SFXCOUNT 63 + +extern ObjectTableData ITE_ObjectTable[ITE_OBJECTCOUNT]; +extern FxTable ITE_SfxTable[ITE_SFXCOUNT]; + +extern const char *ITEinterfaceTextStrings[][52]; + +#define PUZZLE_PIECES 15 + +extern Point pieceOrigins[PUZZLE_PIECES]; +extern const char *pieceNames[][PUZZLE_PIECES]; + +#define NUM_SOLICIT_REPLIES 5 +extern const char *solicitStr[][NUM_SOLICIT_REPLIES]; + +#define NUM_SAKKA 3 +extern const char *sakkaStr[][NUM_SAKKA]; + +#define NUM_WHINES 5 +extern const char *whineStr[][NUM_WHINES]; + +extern const char *hintStr[][4]; +extern const char portraitList[]; +extern const char *optionsStr[][4]; + +} // End of namespace Saga + +#endif |