aboutsummaryrefslogtreecommitdiff
path: root/engines/sword2/defs.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sword2/defs.h')
-rw-r--r--engines/sword2/defs.h205
1 files changed, 205 insertions, 0 deletions
diff --git a/engines/sword2/defs.h b/engines/sword2/defs.h
new file mode 100644
index 0000000000..4acb484f34
--- /dev/null
+++ b/engines/sword2/defs.h
@@ -0,0 +1,205 @@
+/* Copyright (C) 1994-1998 Revolution Software Ltd.
+ * Copyright (C) 2003-2006 The ScummVM project
+ *
+ * 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$
+ */
+
+#ifndef DEFS
+#define DEFS
+
+#define SIZE 0x10000 // 65536 items per section
+#define NuSIZE 0xffff // & with this
+
+// Return codes
+
+enum {
+ // Generic error codes
+ RD_OK = 0x00000000,
+ RDERR_UNKNOWN = 0x00000001,
+ RDERR_OUTOFMEMORY = 0x00000003,
+ RDERR_INVALIDFILENAME = 0x00000004,
+
+ // Drawing error codes
+ RDERR_DECOMPRESSION = 0x00010007,
+
+ // Sprite drawing error codes
+ RDERR_NOTIMPLEMENTED = 0x00060001,
+ RDERR_NOTCLOSED = 0x00050005,
+ RDERR_NOTOPEN = 0x00050006,
+
+ // Menubar error codes
+ RDERR_INVALIDMENU = 0x00060000,
+ RDERR_INVALIDPOCKET = 0x00060001,
+ RDERR_INVALIDCOMMAND = 0x00060002,
+
+ // Palette fading error codes
+ RDERR_FADEINCOMPLETE = 0x00070000,
+
+ // Sound engine error codes
+ RDERR_SPEECHPLAYING = 0x00080004,
+ RDERR_SPEECHNOTPLAYING = 0x00080005,
+ RDERR_INVALIDWAV = 0x00080006,
+ RDERR_FXALREADYOPEN = 0x00080009,
+ RDERR_FXNOTOPEN = 0x0008000B,
+ RDERR_INVALIDID = 0x0008000D
+};
+
+// Text ids for the control panel etc.
+
+enum {
+ TEXT_OK = 0x08EB0000,
+ TEXT_CANCEL = 0x08EB0001,
+ TEXT_RESTORE = 0x08EB0002,
+ TEXT_SAVE = 0x08EB0003,
+ TEXT_QUIT = 0x08EB0004,
+ TEXT_RESTART = 0x08EB0005,
+ TEXT_OPTIONS = 0x08EB000A,
+ TEXT_SUBTITLES = 0x08EB000B,
+ TEXT_OBJECT_LABELS = 0x08EB000C,
+ TEXT_MUSIC_VOLUME = 0x08EB000E,
+ TEXT_SPEECH_VOLUME = 0x08EB000F,
+ TEXT_FX_VOLUME = 0x08EB0010,
+ TEXT_GFX_QUALITY = 0x08EB0011,
+ TEXT_REVERSE_STEREO = 0x08EB0015,
+ TEXT_RESTORE_CANT_OPEN = 0x0CBA017E,
+ TEXT_RESTORE_INCOMPATIBLE = 0x0CBA017F,
+ TEXT_RESTORE_FAILED = 0x0CBA0181,
+ TEXT_SAVE_CANT_OPEN = 0x0CBA0182,
+ TEXT_SAVE_FAILED = 0x0CBA0184
+};
+
+// Always 8 (George object used for Nico player character as well)
+#define CUR_PLAYER_ID 8
+
+// Global variable references
+
+enum {
+ ID = 0,
+ RESULT = 1,
+ PLAYER_ACTION = 2,
+ // CUR_PLAYER_ID = 3,
+ PLAYER_ID = 305,
+ TALK_FLAG = 13,
+
+ MOUSE_X = 4,
+ MOUSE_Y = 5,
+ LEFT_BUTTON = 109,
+ RIGHT_BUTTON = 110,
+ CLICKED_ID = 178,
+
+ IN_SUBJECT = 6,
+ COMBINE_BASE = 7,
+ OBJECT_HELD = 14,
+
+ SPEECH_ID = 9,
+ INS1 = 10,
+ INS2 = 11,
+ INS3 = 12,
+ INS4 = 60,
+ INS5 = 61,
+ INS_COMMAND = 59,
+
+ PLAYER_FEET_X = 141,
+ PLAYER_FEET_Y = 142,
+ PLAYER_CUR_DIR = 937,
+
+ // for debug.cpp
+ LOCATION = 62,
+
+ // so scripts can force scroll offsets
+ SCROLL_X = 345,
+ SCROLL_Y = 346,
+
+ EXIT_CLICK_ID = 710,
+ EXIT_FADING = 713,
+
+ SYSTEM_TESTING_ANIMS = 912,
+ SYSTEM_TESTING_TEXT = 1230,
+ SYSTEM_WANT_PREVIOUS_LINE = 1245,
+
+ // 1=on 0=off (set in fnAddHuman and fnNoHuman)
+ MOUSE_AVAILABLE = 686,
+
+ // used in fnChoose
+ AUTO_SELECTED = 1115,
+
+ // see fnStartConversation and fnChooser
+ CHOOSER_COUNT_FLAG = 15,
+
+ // signifies a demo mode
+ DEMO = 1153,
+
+ // Indicates to script whether this is the Playstation version.
+ // PSXFLAG = 1173,
+
+ // for the poor PSX so it knows what language is running.
+ // GAME_LANGUAGE = 111,
+
+ // 1 = dead
+ DEAD = 1256,
+
+ // If set indicates that the speech anim is to run through only once.
+ SPEECHANIMFLAG = 1278,
+
+ // for the engine
+ SCROLL_OFFSET_X = 1314
+};
+
+// Resource IDs
+
+enum {
+ // mouse mointers - It's pretty much safe to do it like this
+ NORMAL_MOUSE_ID = 17,
+ SCROLL_LEFT_MOUSE_ID = 1440,
+ SCROLL_RIGHT_MOUSE_ID = 1441,
+
+ // Console Font - does not use game text - only English required
+ CONSOLE_FONT_ID = 340,
+
+ // Speech Font
+ ENGLISH_SPEECH_FONT_ID = 341,
+ FINNISH_SPEECH_FONT_ID = 956,
+ POLISH_SPEECH_FONT_ID = 955,
+
+ // Control Panel Font (and un-selected savegame descriptions)
+ ENGLISH_CONTROLS_FONT_ID = 2005,
+ FINNISH_CONTROLS_FONT_ID = 959,
+ POLISH_CONTROLS_FONT_ID = 3686,
+
+ // Red Font (for selected savegame descriptions)
+ // BS2 doesn't draw selected savegames in red, so I guess this is a
+ // left-over from BS1
+ ENGLISH_RED_FONT_ID = 2005, // 1998 // Redfont
+ FINNISH_RED_FONT_ID = 959, // 960 // FinRedFn
+ POLISH_RED_FONT_ID = 3686, // 3688 // PolRedFn
+
+ // Control panel palette resource id
+ CONTROL_PANEL_PALETTE = 261,
+
+ // res id's of the system menu icons
+ OPTIONS_ICON = 344,
+ QUIT_ICON = 335,
+ SAVE_ICON = 366,
+ RESTORE_ICON = 364,
+ RESTART_ICON = 342,
+
+ // conversation exit icon, 'EXIT' menu icon (used in fnChoose)
+ EXIT_ICON = 65
+};
+
+#endif