aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/sludge/allfiles.h62
-rw-r--r--engines/sludge/bg_effects.h74
-rw-r--r--engines/sludge/builtin.h84
-rw-r--r--engines/sludge/csludge.h152
-rw-r--r--engines/sludge/cursors.h68
-rw-r--r--engines/sludge/errors.h152
-rw-r--r--engines/sludge/fileset.h86
-rw-r--r--engines/sludge/fonttext.h82
-rw-r--r--engines/sludge/loadsave.h84
-rw-r--r--engines/sludge/memwatch.cpp146
-rw-r--r--engines/sludge/memwatch.h64
-rw-r--r--engines/sludge/objtypes.h104
-rw-r--r--engines/sludge/people.h264
-rw-r--r--engines/sludge/region.h90
-rw-r--r--engines/sludge/savedata.h64
-rw-r--r--engines/sludge/sludger.h202
-rw-r--r--engines/sludge/specialsettings.h58
-rw-r--r--engines/sludge/sprbanks.h80
-rw-r--r--engines/sludge/statusba.h132
-rw-r--r--engines/sludge/talk.h104
-rw-r--r--engines/sludge/thumbnail.h68
-rw-r--r--engines/sludge/timing.h70
-rw-r--r--engines/sludge/transition.h64
-rw-r--r--engines/sludge/variable.h270
24 files changed, 1312 insertions, 1312 deletions
diff --git a/engines/sludge/allfiles.h b/engines/sludge/allfiles.h
index 2f6acff7ac..8d67f558ef 100644
--- a/engines/sludge/allfiles.h
+++ b/engines/sludge/allfiles.h
@@ -1,31 +1,31 @@
-/* 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 SLUDGE_ALLFILES_H
-#define SLUDGE_ALLFILES_H
-
-#include "common/system.h"
-
-//#define debuggy2 int
-#define IN_THE_CENTRE 65535
-
-#endif
+/* 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 SLUDGE_ALLFILES_H
+#define SLUDGE_ALLFILES_H
+
+#include "common/system.h"
+
+//#define debuggy2 int
+#define IN_THE_CENTRE 65535
+
+#endif
diff --git a/engines/sludge/bg_effects.h b/engines/sludge/bg_effects.h
index b726ec7d3b..8cfde0e6ae 100644
--- a/engines/sludge/bg_effects.h
+++ b/engines/sludge/bg_effects.h
@@ -1,37 +1,37 @@
-/* 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 SLUDGE_BG_EFFECTS_H
-#define SLUDGE_BG_EFFECTS_H
-
-#include "common/file.h"
-
-namespace Sludge {
-
-bool blurScreen();
-void blur_saveSettings(Common::WriteStream *stream);
-void blur_loadSettings(Common::SeekableReadStream *stream);
-bool blur_createSettings(int numParams, variableStack *&stack);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_BG_EFFECTS_H
+#define SLUDGE_BG_EFFECTS_H
+
+#include "common/file.h"
+
+namespace Sludge {
+
+bool blurScreen();
+void blur_saveSettings(Common::WriteStream *stream);
+void blur_loadSettings(Common::SeekableReadStream *stream);
+bool blur_createSettings(int numParams, variableStack *&stack);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/builtin.h b/engines/sludge/builtin.h
index 304926800d..a11d15ad9b 100644
--- a/engines/sludge/builtin.h
+++ b/engines/sludge/builtin.h
@@ -1,42 +1,42 @@
-/* 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 SLUDGE_BUILTIN_H
-#define SLUDGE_BUILTIN_H
-
-namespace Sludge {
-
-enum builtReturn {
- BR_KEEP_AND_PAUSE,
- BR_ERROR,
- BR_CONTINUE,
- BR_PAUSE,
- BR_CALLAFUNC,
- BR_ALREADY_GONE
-};
-
-bool failSecurityCheck(const Common::String &fn);
-builtReturn callBuiltIn(int whichFunc, int numParams, loadedFunction *fun);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_BUILTIN_H
+#define SLUDGE_BUILTIN_H
+
+namespace Sludge {
+
+enum builtReturn {
+ BR_KEEP_AND_PAUSE,
+ BR_ERROR,
+ BR_CONTINUE,
+ BR_PAUSE,
+ BR_CALLAFUNC,
+ BR_ALREADY_GONE
+};
+
+bool failSecurityCheck(const Common::String &fn);
+builtReturn callBuiltIn(int whichFunc, int numParams, loadedFunction *fun);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/csludge.h b/engines/sludge/csludge.h
index 0564853c59..435a220a2d 100644
--- a/engines/sludge/csludge.h
+++ b/engines/sludge/csludge.h
@@ -1,76 +1,76 @@
-/* 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 SLUDGE_CSLUDGE_H
-#define SLUDGE_CSLUDGE_H
-
-namespace Sludge {
-
-enum sludgeCommand {
- SLU_UNKNOWN,
- SLU_RETURN,
- SLU_BRANCH,
- SLU_BR_ZERO,
- SLU_SET_GLOBAL,
- SLU_SET_LOCAL,
- SLU_LOAD_GLOBAL,
- SLU_LOAD_LOCAL,
- SLU_PLUS,
- SLU_MINUS,
- SLU_MULT,
- SLU_DIVIDE,
- SLU_AND,
- SLU_OR,
- SLU_EQUALS,
- SLU_NOT_EQ,
- SLU_MODULUS,
- SLU_LOAD_VALUE,
- SLU_LOAD_BUILT,
- SLU_LOAD_FUNC,
- SLU_CALLIT,
- SLU_LOAD_STRING,
- SLU_LOAD_FILE, /*SLU_LOAD_SCENE,*/
- SLU_LOAD_OBJTYPE,
- SLU_NOT,
- SLU_LOAD_NULL,
- SLU_STACK_PUSH,
- SLU_LESSTHAN,
- SLU_MORETHAN,
- SLU_NEGATIVE,
- SLU_UNREG,
- SLU_LESS_EQUAL,
- SLU_MORE_EQUAL,
- SLU_INCREMENT_LOCAL,
- SLU_DECREMENT_LOCAL,
- SLU_INCREMENT_GLOBAL,
- SLU_DECREMENT_GLOBAL,
- SLU_INDEXSET,
- SLU_INDEXGET,
- SLU_INCREMENT_INDEX,
- SLU_DECREMENT_INDEX,
- SLU_QUICK_PUSH,
- numSludgeCommands
-};
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_CSLUDGE_H
+#define SLUDGE_CSLUDGE_H
+
+namespace Sludge {
+
+enum sludgeCommand {
+ SLU_UNKNOWN,
+ SLU_RETURN,
+ SLU_BRANCH,
+ SLU_BR_ZERO,
+ SLU_SET_GLOBAL,
+ SLU_SET_LOCAL,
+ SLU_LOAD_GLOBAL,
+ SLU_LOAD_LOCAL,
+ SLU_PLUS,
+ SLU_MINUS,
+ SLU_MULT,
+ SLU_DIVIDE,
+ SLU_AND,
+ SLU_OR,
+ SLU_EQUALS,
+ SLU_NOT_EQ,
+ SLU_MODULUS,
+ SLU_LOAD_VALUE,
+ SLU_LOAD_BUILT,
+ SLU_LOAD_FUNC,
+ SLU_CALLIT,
+ SLU_LOAD_STRING,
+ SLU_LOAD_FILE, /*SLU_LOAD_SCENE,*/
+ SLU_LOAD_OBJTYPE,
+ SLU_NOT,
+ SLU_LOAD_NULL,
+ SLU_STACK_PUSH,
+ SLU_LESSTHAN,
+ SLU_MORETHAN,
+ SLU_NEGATIVE,
+ SLU_UNREG,
+ SLU_LESS_EQUAL,
+ SLU_MORE_EQUAL,
+ SLU_INCREMENT_LOCAL,
+ SLU_DECREMENT_LOCAL,
+ SLU_INCREMENT_GLOBAL,
+ SLU_DECREMENT_GLOBAL,
+ SLU_INDEXSET,
+ SLU_INDEXGET,
+ SLU_INCREMENT_INDEX,
+ SLU_DECREMENT_INDEX,
+ SLU_QUICK_PUSH,
+ numSludgeCommands
+};
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/cursors.h b/engines/sludge/cursors.h
index 6a32665511..2d81c39957 100644
--- a/engines/sludge/cursors.h
+++ b/engines/sludge/cursors.h
@@ -1,34 +1,34 @@
-/* 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 SLUDGE_CURSORS_H
-#define SLUDGE_CURSORS_H
-
-namespace Sludge {
-
-void pickAnimCursor(struct personaAnimation *pp);
-void displayCursor();
-void pasteCursor(int x, int y, struct personaAnimation *c);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_CURSORS_H
+#define SLUDGE_CURSORS_H
+
+namespace Sludge {
+
+void pickAnimCursor(struct personaAnimation *pp);
+void displayCursor();
+void pasteCursor(int x, int y, struct personaAnimation *c);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/errors.h b/engines/sludge/errors.h
index 388d4a0694..8b111582d3 100644
--- a/engines/sludge/errors.h
+++ b/engines/sludge/errors.h
@@ -1,76 +1,76 @@
-/* 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 SLUDGE_ERRRORS_H
-#define SLUDGE_ERRRORS_H
-
-namespace Sludge {
-
-#define _NO_MEMORY_GENERAL_ "\n\nTry closing down any programs you don't really need running (or freeing up a bit of disk space, which will give you more virtual memory - that should help too)."
-
-//---------------------------------------
-// Fatal errors
-//---------------------------------------
-
-#define ERROR_VERSION_TOO_LOW_1 "This SLUDGE file requires a more recent version of the SLUDGE engine"
-#define ERROR_VERSION_TOO_LOW_2 "(it was created for v%i.%i).\n\nVisit http://opensludge.github.io/ to download the most recent version."
-#define ERROR_VERSION_TOO_HIGH_1 "This SLUDGE file was created for an older version of the SLUDGE engine"
-#define ERROR_VERSION_TOO_HIGH_2 "(v%i.%i).\n\nPlease contact the author of this game to obtain a version compatible with your SLUDGE engine (v" TEXT_VERSION ")."
-#define ERROR_BAD_HEADER "Bad header information... this isn't a valid SLUDGE game"
-#define ERROR_HACKER "What have you been up to? Think we're a hacker, do we? Nice try."
-
-#define ERROR_GAME_LOAD_NO "This isn't a SLUDGE saved game!\n"
-#define ERROR_GAME_LOAD_WRONG "Can't load this saved game! It was either created by...\n\n (a) a different SLUDGE game to the one which you're playing, or...\n (b) a different (newer or older) version of the same game.\n\nFilename"
-#define ERROR_GAME_SAVE_FROZEN "Can't save games while I'm frozen"
-#define ERROR_GAME_LOAD_CORRUPT "This saved game appears to be corrupted"
-
-#define ERROR_NON_EMPTY_STACK "Returning from function with non-empty stack"
-#define ERROR_UNKNOWN_MCODE "Unknown SLUDGE machine code"
-#define ERROR_CALL_NONFUNCTION "Call of non-function"
-#define ERROR_INCDEC_UNKNOWN "Tried to increment/decrement index of an undefined variable"
-#define ERROR_INDEX_EMPTY "Tried to index an empty stack"
-#define ERROR_INDEX_NONSTACK "Tried to index a non-stack variable"
-#define ERROR_NOSTACK "Corrupt file - no stack"
-#define ERROR_UNKNOWN_CODE "Unimplemented internal SLUDGE command code."
-#define ERROR_OUT_OF_MEMORY "Out of memory!" _NO_MEMORY_GENERAL_
-
-#define ERROR_MUSIC_MEMORY_LOW "Your computer doesn't have enough memory available to load a music resource that needs playing." _NO_MEMORY_GENERAL_
-#define ERROR_SOUND_MEMORY_LOW "Your computer doesn't have enough memory available to load a sound resource that needs playing." _NO_MEMORY_GENERAL_
-#define ERROR_MUSIC_UNKNOWN "I can't understand a piece of music which I've been told to play!\n\n" \
- "Maybe it's stored in a format that SLUDGE doesn't know about... " \
- "make sure you've got a recent version of the SLUDGE engine from http://opensludge.github.io/. " \
- "Failing that, maybe the resource in question isn't a valid music format at all... in which case, contact the game's author and tell them what's happened."
-#define ERROR_SOUND_UNKNOWN "I can't understand a sample which I've been told to play!\nMake sure you've got the latest SLUDGE engine from http://opensludge.github.io/. Failing that, maybe the resource in question isn't a valid sound at all... in which case, contact the game's author and tell them what's happened."
-#define ERROR_MUSIC_ODDNESS "I can't load a music resource I've been told to play. Sorry."
-#define ERROR_SOUND_ODDNESS "I can't load a sound resource I've been told to play. Sorry."
-#define ERROR_MOVIE_ODDNESS "I can't load a music resource I've been told to play. Sorry."
-
-//---------------------------------------
-// Startup warnings
-//---------------------------------------
-
-#define WARNING_BASS_WRONG_VERSION "Incompatible version of BASS.DLL found!"
-#define WARNING_BASS_FAIL "Can't initialise sound engine."
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_ERRRORS_H
+#define SLUDGE_ERRRORS_H
+
+namespace Sludge {
+
+#define _NO_MEMORY_GENERAL_ "\n\nTry closing down any programs you don't really need running (or freeing up a bit of disk space, which will give you more virtual memory - that should help too)."
+
+//---------------------------------------
+// Fatal errors
+//---------------------------------------
+
+#define ERROR_VERSION_TOO_LOW_1 "This SLUDGE file requires a more recent version of the SLUDGE engine"
+#define ERROR_VERSION_TOO_LOW_2 "(it was created for v%i.%i).\n\nVisit http://opensludge.github.io/ to download the most recent version."
+#define ERROR_VERSION_TOO_HIGH_1 "This SLUDGE file was created for an older version of the SLUDGE engine"
+#define ERROR_VERSION_TOO_HIGH_2 "(v%i.%i).\n\nPlease contact the author of this game to obtain a version compatible with your SLUDGE engine (v" TEXT_VERSION ")."
+#define ERROR_BAD_HEADER "Bad header information... this isn't a valid SLUDGE game"
+#define ERROR_HACKER "What have you been up to? Think we're a hacker, do we? Nice try."
+
+#define ERROR_GAME_LOAD_NO "This isn't a SLUDGE saved game!\n"
+#define ERROR_GAME_LOAD_WRONG "Can't load this saved game! It was either created by...\n\n (a) a different SLUDGE game to the one which you're playing, or...\n (b) a different (newer or older) version of the same game.\n\nFilename"
+#define ERROR_GAME_SAVE_FROZEN "Can't save games while I'm frozen"
+#define ERROR_GAME_LOAD_CORRUPT "This saved game appears to be corrupted"
+
+#define ERROR_NON_EMPTY_STACK "Returning from function with non-empty stack"
+#define ERROR_UNKNOWN_MCODE "Unknown SLUDGE machine code"
+#define ERROR_CALL_NONFUNCTION "Call of non-function"
+#define ERROR_INCDEC_UNKNOWN "Tried to increment/decrement index of an undefined variable"
+#define ERROR_INDEX_EMPTY "Tried to index an empty stack"
+#define ERROR_INDEX_NONSTACK "Tried to index a non-stack variable"
+#define ERROR_NOSTACK "Corrupt file - no stack"
+#define ERROR_UNKNOWN_CODE "Unimplemented internal SLUDGE command code."
+#define ERROR_OUT_OF_MEMORY "Out of memory!" _NO_MEMORY_GENERAL_
+
+#define ERROR_MUSIC_MEMORY_LOW "Your computer doesn't have enough memory available to load a music resource that needs playing." _NO_MEMORY_GENERAL_
+#define ERROR_SOUND_MEMORY_LOW "Your computer doesn't have enough memory available to load a sound resource that needs playing." _NO_MEMORY_GENERAL_
+#define ERROR_MUSIC_UNKNOWN "I can't understand a piece of music which I've been told to play!\n\n" \
+ "Maybe it's stored in a format that SLUDGE doesn't know about... " \
+ "make sure you've got a recent version of the SLUDGE engine from http://opensludge.github.io/. " \
+ "Failing that, maybe the resource in question isn't a valid music format at all... in which case, contact the game's author and tell them what's happened."
+#define ERROR_SOUND_UNKNOWN "I can't understand a sample which I've been told to play!\nMake sure you've got the latest SLUDGE engine from http://opensludge.github.io/. Failing that, maybe the resource in question isn't a valid sound at all... in which case, contact the game's author and tell them what's happened."
+#define ERROR_MUSIC_ODDNESS "I can't load a music resource I've been told to play. Sorry."
+#define ERROR_SOUND_ODDNESS "I can't load a sound resource I've been told to play. Sorry."
+#define ERROR_MOVIE_ODDNESS "I can't load a music resource I've been told to play. Sorry."
+
+//---------------------------------------
+// Startup warnings
+//---------------------------------------
+
+#define WARNING_BASS_WRONG_VERSION "Incompatible version of BASS.DLL found!"
+#define WARNING_BASS_FAIL "Can't initialise sound engine."
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/fileset.h b/engines/sludge/fileset.h
index b18c87c573..3a19ea5283 100644
--- a/engines/sludge/fileset.h
+++ b/engines/sludge/fileset.h
@@ -1,43 +1,43 @@
-/* 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 SLUDGE_FILESET_H
-#define SLUDGE_FILESET_H
-
-#include "common/file.h"
-
-namespace Sludge {
-
-extern Common::File *bigDataFile;
-
-void setFileIndices(Common::File *fp, int, uint);
-
-uint openFileFromNum(int num);
-bool openSubSlice(int num);
-bool openObjectSlice(int num);
-Common::String getNumberedString(int value);
-
-bool startAccess();
-void finishAccess();
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_FILESET_H
+#define SLUDGE_FILESET_H
+
+#include "common/file.h"
+
+namespace Sludge {
+
+extern Common::File *bigDataFile;
+
+void setFileIndices(Common::File *fp, int, uint);
+
+uint openFileFromNum(int num);
+bool openSubSlice(int num);
+bool openObjectSlice(int num);
+Common::String getNumberedString(int value);
+
+bool startAccess();
+void finishAccess();
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/fonttext.h b/engines/sludge/fonttext.h
index 63a38c71c7..4ddd614b50 100644
--- a/engines/sludge/fonttext.h
+++ b/engines/sludge/fonttext.h
@@ -1,41 +1,41 @@
-/* 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 SLUDGE_FONTTEXT_H
-#define SLUDGE_FONTTEXT_H
-
-#include "common/ustr.h"
-
-namespace Sludge {
-
-bool loadFont(int filenum, const Common::String &charOrder, int);
-void pasteString(const Common::String &theText, int, int, spritePalette &);
-void fixFont(spritePalette &spal);
-void setFontColour(spritePalette &sP, byte r, byte g, byte b);
-int stringWidth(const Common::String &theText);
-int stringLength(const Common::String &theText);
-void pasteStringToBackdrop(const Common::String &theText, int xOff, int y, spritePalette &thePal);
-void burnStringToBackdrop(const Common::String &theText, int xOff, int y, spritePalette &thePal);
-bool isInFont(const Common::String &theText);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_FONTTEXT_H
+#define SLUDGE_FONTTEXT_H
+
+#include "common/ustr.h"
+
+namespace Sludge {
+
+bool loadFont(int filenum, const Common::String &charOrder, int);
+void pasteString(const Common::String &theText, int, int, spritePalette &);
+void fixFont(spritePalette &spal);
+void setFontColour(spritePalette &sP, byte r, byte g, byte b);
+int stringWidth(const Common::String &theText);
+int stringLength(const Common::String &theText);
+void pasteStringToBackdrop(const Common::String &theText, int xOff, int y, spritePalette &thePal);
+void burnStringToBackdrop(const Common::String &theText, int xOff, int y, spritePalette &thePal);
+bool isInFont(const Common::String &theText);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/loadsave.h b/engines/sludge/loadsave.h
index b02fd2dd11..8de291d1a5 100644
--- a/engines/sludge/loadsave.h
+++ b/engines/sludge/loadsave.h
@@ -1,42 +1,42 @@
-/* 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 SLUDGE_LOADSAVE_H
-#define SLUDGE_LOADSAVE_H
-
-namespace Sludge {
-
-bool saveGame(const Common::String &fname);
-bool loadGame(const Common::String &fname);
-
-bool saveVariable(variable *from, Common::WriteStream *stream);
-bool loadVariable(variable *to, Common::SeekableReadStream *stream);
-
-variableStack *loadStack(Common::SeekableReadStream *stream, variableStack **last);
-bool saveStackRef(stackHandler *vs, Common::WriteStream *stream);
-stackHandler *loadStackRef(Common::SeekableReadStream *stream);
-
-loadedFunction *loadFunction(Common::SeekableReadStream *stream);
-void saveFunction(loadedFunction *fun, Common::WriteStream *stream);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_LOADSAVE_H
+#define SLUDGE_LOADSAVE_H
+
+namespace Sludge {
+
+bool saveGame(const Common::String &fname);
+bool loadGame(const Common::String &fname);
+
+bool saveVariable(variable *from, Common::WriteStream *stream);
+bool loadVariable(variable *to, Common::SeekableReadStream *stream);
+
+variableStack *loadStack(Common::SeekableReadStream *stream, variableStack **last);
+bool saveStackRef(stackHandler *vs, Common::WriteStream *stream);
+stackHandler *loadStackRef(Common::SeekableReadStream *stream);
+
+loadedFunction *loadFunction(Common::SeekableReadStream *stream);
+void saveFunction(loadedFunction *fun, Common::WriteStream *stream);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/memwatch.cpp b/engines/sludge/memwatch.cpp
index 1a35f532cf..e654f92bc5 100644
--- a/engines/sludge/memwatch.cpp
+++ b/engines/sludge/memwatch.cpp
@@ -1,73 +1,73 @@
-/* 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.
- *
- */
-
-#include "common/debug.h"
-
-#include "sludge/allfiles.h"
-
-namespace Sludge {
-
-void *allKnownMem[3000];
-int allKnownNum = 0;
-
-void outputKnownMem() {
-#if 0
- FILE *debu = fopen("debuTURN.txt", "at");
-
- fprintf(debu, "%i lumps:", allKnownNum);
- for (int i = 0; i < allKnownNum; i ++) {
- fprintf(debu, " %p", allKnownMem[i]);
- }
- fprintf(debu, "\n");
- fclose(debu);
-#endif
-}
-
-void adding(void *mem) {
- allKnownMem[allKnownNum] = mem;
- allKnownNum++;
-
- outputKnownMem();
- if (allKnownNum == 3000) {
- debug("Error! Array too full!");
-#if 0
- exit(1);
-#endif
- }
-}
-
-void deleting(void *mem) {
- allKnownNum--;
- for (int i = 0; i <= allKnownNum; i++) {
- if (allKnownMem[i] == mem) {
- allKnownMem[i] = allKnownMem[allKnownNum];
- outputKnownMem();
- return;
- }
- }
-#if 0
- //db ("Error! Deleted a block which hasn't been allocated!");
- exit(1);
-#endif
-}
-
-} // End of namespace Sludge
+/* 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.
+ *
+ */
+
+#include "common/debug.h"
+
+#include "sludge/allfiles.h"
+
+namespace Sludge {
+
+void *allKnownMem[3000];
+int allKnownNum = 0;
+
+void outputKnownMem() {
+#if 0
+ FILE *debu = fopen("debuTURN.txt", "at");
+
+ fprintf(debu, "%i lumps:", allKnownNum);
+ for (int i = 0; i < allKnownNum; i ++) {
+ fprintf(debu, " %p", allKnownMem[i]);
+ }
+ fprintf(debu, "\n");
+ fclose(debu);
+#endif
+}
+
+void adding(void *mem) {
+ allKnownMem[allKnownNum] = mem;
+ allKnownNum++;
+
+ outputKnownMem();
+ if (allKnownNum == 3000) {
+ debug("Error! Array too full!");
+#if 0
+ exit(1);
+#endif
+ }
+}
+
+void deleting(void *mem) {
+ allKnownNum--;
+ for (int i = 0; i <= allKnownNum; i++) {
+ if (allKnownMem[i] == mem) {
+ allKnownMem[i] = allKnownMem[allKnownNum];
+ outputKnownMem();
+ return;
+ }
+ }
+#if 0
+ //db ("Error! Deleted a block which hasn't been allocated!");
+ exit(1);
+#endif
+}
+
+} // End of namespace Sludge
diff --git a/engines/sludge/memwatch.h b/engines/sludge/memwatch.h
index 0fb6f263df..6f8cd9c766 100644
--- a/engines/sludge/memwatch.h
+++ b/engines/sludge/memwatch.h
@@ -1,32 +1,32 @@
-/* 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 SLUDGE_MEMWATCH_H
-#define SLUDGE_MEMWATCH_H
-
-namespace Sludge {
-
-void adding(void *);
-void deleting(void *);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_MEMWATCH_H
+#define SLUDGE_MEMWATCH_H
+
+namespace Sludge {
+
+void adding(void *);
+void deleting(void *);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/objtypes.h b/engines/sludge/objtypes.h
index af9abe3fd5..3958301b35 100644
--- a/engines/sludge/objtypes.h
+++ b/engines/sludge/objtypes.h
@@ -1,52 +1,52 @@
-/* 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 SLUDGE_OBJTYPES_H
-#define SLUDGE_OBJTYPES_H
-
-namespace Sludge {
-
-struct combination {
- int withObj, funcNum;
-};
-
-struct objectType {
- Common::String screenName;
- int objectNum;
- objectType *next;
- byte r, g, b;
- int numCom;
- int speechGap, walkSpeed, wrapSpeech, spinSpeed;
- uint16 flags;
- combination *allCombis;
-};
-
-bool initObjectTypes();
-objectType *findObjectType(int i);
-objectType *loadObjectType(int i);
-int getCombinationFunction(int a, int b);
-void removeObjectType(objectType *oT);
-void saveObjectRef(objectType *r, Common::WriteStream *stream);
-objectType *loadObjectRef(Common::SeekableReadStream *stream);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_OBJTYPES_H
+#define SLUDGE_OBJTYPES_H
+
+namespace Sludge {
+
+struct combination {
+ int withObj, funcNum;
+};
+
+struct objectType {
+ Common::String screenName;
+ int objectNum;
+ objectType *next;
+ byte r, g, b;
+ int numCom;
+ int speechGap, walkSpeed, wrapSpeech, spinSpeed;
+ uint16 flags;
+ combination *allCombis;
+};
+
+bool initObjectTypes();
+objectType *findObjectType(int i);
+objectType *loadObjectType(int i);
+int getCombinationFunction(int a, int b);
+void removeObjectType(objectType *oT);
+void saveObjectRef(objectType *r, Common::WriteStream *stream);
+objectType *loadObjectRef(Common::SeekableReadStream *stream);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/people.h b/engines/sludge/people.h
index eb19e4fd53..87f6170e1f 100644
--- a/engines/sludge/people.h
+++ b/engines/sludge/people.h
@@ -1,132 +1,132 @@
-/* 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 SLUDGE_PEOPLE_H
-#define SLUDGE_PEOPLE_H
-
-#include "sludge/variable.h"
-
-namespace Sludge {
-
-struct animFrame {
- int frameNum, howMany;
- int noise;
-};
-
-#define EXTRA_FRONT 1
-#define EXTRA_FIXEDSIZE 2
-#define EXTRA_NOSCALE 2 // Alternative name
-#define EXTRA_NOZB 4
-#define EXTRA_FIXTOSCREEN 8
-#define EXTRA_NOLITE 16
-#define EXTRA_NOREMOVE 32
-#define EXTRA_RECTANGULAR 64
-
-struct personaAnimation {
- struct loadedSpriteBank *theSprites;
- animFrame *frames;
- int numFrames;
-};
-
-struct persona {
- personaAnimation **animation;
- int numDirections;
-};
-
-struct onScreenPerson {
- float x, y;
- int height, floaty, walkSpeed;
- float scale;
- onScreenPerson *next;
- int walkToX, walkToY, thisStepX, thisStepY, inPoly, walkToPoly;
- bool walking, spinning;
- struct loadedFunction *continueAfterWalking;
- personaAnimation *myAnim;
- personaAnimation *lastUsedAnim;
- persona *myPersona;
- int frameNum, frameTick, angle, wantAngle, angleOffset;
- bool show;
- int direction, directionWhenDoneWalking;
- struct objectType *thisType;
- int extra, spinSpeed;
- byte r, g, b, colourmix, transparency;
-};
-
-// Initialisation and creation
-bool initPeople();
-bool addPerson(int x, int y, int objNum, persona *p);
-
-// Draw to screen and to backdrop
-void drawPeople();
-void freezePeople(int, int);
-
-// Removalisationisms
-void killAllPeople();
-void killMostPeople();
-void removeOneCharacter(int i);
-
-// Things which affect or use all characters
-onScreenPerson *findPerson(int v);
-void setScale(int16 h, int16 d);
-
-// Things which affect one character
-void makeTalker(onScreenPerson &me);
-void makeSilent(onScreenPerson &me);
-void setShown(bool h, int ob);
-void setDrawMode(int h, int ob);
-void setPersonTransparency(int ob, byte x);
-void setPersonColourise(int ob, byte r, byte g, byte b, byte colourmix);
-
-// Moving 'em
-void movePerson(int x, int y, int objNum);
-bool makeWalkingPerson(int x, int y, int objNum, struct loadedFunction *func, int di);
-bool forceWalkingPerson(int x, int y, int objNum, struct loadedFunction *func, int di);
-void jumpPerson(int x, int y, int objNum);
-void walkAllPeople();
-bool turnPersonToFace(int thisNum, int direc);
-bool stopPerson(int o);
-bool floatCharacter(int f, int objNum);
-bool setCharacterWalkSpeed(int f, int objNum);
-
-// Animating 'em
-void animatePerson(int obj, personaAnimation *);
-void animatePerson(int obj, persona *per);
-personaAnimation *createPersonaAnim(int num, struct variableStack *&stacky);
-inline void setBankFile(personaAnimation *newP, loadedSpriteBank *sB) {
- newP->theSprites = sB;
-}
-bool setPersonExtra(int f, int newSetting);
-int timeForAnim(personaAnimation *fram);
-personaAnimation *copyAnim(personaAnimation *orig);
-personaAnimation *makeNullAnim();
-void deleteAnim(personaAnimation *orig);
-
-// Loading and saving
-bool saveAnim(personaAnimation *p, Common::WriteStream *stream);
-bool loadAnim(personaAnimation *p, Common::SeekableReadStream *stream);
-bool savePeople(Common::WriteStream *stream);
-bool loadPeople(Common::SeekableReadStream *stream);
-bool saveCostume(persona *cossy, Common::WriteStream *stream);
-bool loadCostume(persona *cossy, Common::SeekableReadStream *stream);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_PEOPLE_H
+#define SLUDGE_PEOPLE_H
+
+#include "sludge/variable.h"
+
+namespace Sludge {
+
+struct animFrame {
+ int frameNum, howMany;
+ int noise;
+};
+
+#define EXTRA_FRONT 1
+#define EXTRA_FIXEDSIZE 2
+#define EXTRA_NOSCALE 2 // Alternative name
+#define EXTRA_NOZB 4
+#define EXTRA_FIXTOSCREEN 8
+#define EXTRA_NOLITE 16
+#define EXTRA_NOREMOVE 32
+#define EXTRA_RECTANGULAR 64
+
+struct personaAnimation {
+ struct loadedSpriteBank *theSprites;
+ animFrame *frames;
+ int numFrames;
+};
+
+struct persona {
+ personaAnimation **animation;
+ int numDirections;
+};
+
+struct onScreenPerson {
+ float x, y;
+ int height, floaty, walkSpeed;
+ float scale;
+ onScreenPerson *next;
+ int walkToX, walkToY, thisStepX, thisStepY, inPoly, walkToPoly;
+ bool walking, spinning;
+ struct loadedFunction *continueAfterWalking;
+ personaAnimation *myAnim;
+ personaAnimation *lastUsedAnim;
+ persona *myPersona;
+ int frameNum, frameTick, angle, wantAngle, angleOffset;
+ bool show;
+ int direction, directionWhenDoneWalking;
+ struct objectType *thisType;
+ int extra, spinSpeed;
+ byte r, g, b, colourmix, transparency;
+};
+
+// Initialisation and creation
+bool initPeople();
+bool addPerson(int x, int y, int objNum, persona *p);
+
+// Draw to screen and to backdrop
+void drawPeople();
+void freezePeople(int, int);
+
+// Removalisationisms
+void killAllPeople();
+void killMostPeople();
+void removeOneCharacter(int i);
+
+// Things which affect or use all characters
+onScreenPerson *findPerson(int v);
+void setScale(int16 h, int16 d);
+
+// Things which affect one character
+void makeTalker(onScreenPerson &me);
+void makeSilent(onScreenPerson &me);
+void setShown(bool h, int ob);
+void setDrawMode(int h, int ob);
+void setPersonTransparency(int ob, byte x);
+void setPersonColourise(int ob, byte r, byte g, byte b, byte colourmix);
+
+// Moving 'em
+void movePerson(int x, int y, int objNum);
+bool makeWalkingPerson(int x, int y, int objNum, struct loadedFunction *func, int di);
+bool forceWalkingPerson(int x, int y, int objNum, struct loadedFunction *func, int di);
+void jumpPerson(int x, int y, int objNum);
+void walkAllPeople();
+bool turnPersonToFace(int thisNum, int direc);
+bool stopPerson(int o);
+bool floatCharacter(int f, int objNum);
+bool setCharacterWalkSpeed(int f, int objNum);
+
+// Animating 'em
+void animatePerson(int obj, personaAnimation *);
+void animatePerson(int obj, persona *per);
+personaAnimation *createPersonaAnim(int num, struct variableStack *&stacky);
+inline void setBankFile(personaAnimation *newP, loadedSpriteBank *sB) {
+ newP->theSprites = sB;
+}
+bool setPersonExtra(int f, int newSetting);
+int timeForAnim(personaAnimation *fram);
+personaAnimation *copyAnim(personaAnimation *orig);
+personaAnimation *makeNullAnim();
+void deleteAnim(personaAnimation *orig);
+
+// Loading and saving
+bool saveAnim(personaAnimation *p, Common::WriteStream *stream);
+bool loadAnim(personaAnimation *p, Common::SeekableReadStream *stream);
+bool savePeople(Common::WriteStream *stream);
+bool loadPeople(Common::SeekableReadStream *stream);
+bool saveCostume(persona *cossy, Common::WriteStream *stream);
+bool loadCostume(persona *cossy, Common::SeekableReadStream *stream);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/region.h b/engines/sludge/region.h
index 2bc4ab6228..4cefd8594d 100644
--- a/engines/sludge/region.h
+++ b/engines/sludge/region.h
@@ -1,45 +1,45 @@
-/* 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 SLUDGE_REGION_H
-#define SLUDGE_REGION_H
-
-namespace Sludge {
-
-struct screenRegion {
- int x1, y1, x2, y2, sX, sY, di;
- objectType *thisType;
- screenRegion *next;
-};
-
-bool addScreenRegion(int x1, int y1, int x2, int y2, int, int, int, int objectNum);
-void getOverRegion();
-screenRegion *getRegionForObject(int obj);
-void removeScreenRegion(int objectNum);
-void loadRegions(Common::SeekableReadStream *stream);
-void saveRegions(Common::WriteStream *stream);
-void killAllRegions();
-
-void showBoxes();
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_REGION_H
+#define SLUDGE_REGION_H
+
+namespace Sludge {
+
+struct screenRegion {
+ int x1, y1, x2, y2, sX, sY, di;
+ objectType *thisType;
+ screenRegion *next;
+};
+
+bool addScreenRegion(int x1, int y1, int x2, int y2, int, int, int, int objectNum);
+void getOverRegion();
+screenRegion *getRegionForObject(int obj);
+void removeScreenRegion(int objectNum);
+void loadRegions(Common::SeekableReadStream *stream);
+void saveRegions(Common::WriteStream *stream);
+void killAllRegions();
+
+void showBoxes();
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/savedata.h b/engines/sludge/savedata.h
index 823d2dd0ba..5031e766b5 100644
--- a/engines/sludge/savedata.h
+++ b/engines/sludge/savedata.h
@@ -1,32 +1,32 @@
-/* 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 SLUDGE_SAVEDATA_H
-#define SLUDGE_SAVEDATA_H
-
-namespace Sludge {
-
-bool fileToStack(const Common::String &filename, stackHandler *sH);
-bool stackToFile(const Common::String &filename, const variable &from);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_SAVEDATA_H
+#define SLUDGE_SAVEDATA_H
+
+namespace Sludge {
+
+bool fileToStack(const Common::String &filename, stackHandler *sH);
+bool stackToFile(const Common::String &filename, const variable &from);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/sludger.h b/engines/sludge/sludger.h
index fd13db0329..19340f4507 100644
--- a/engines/sludge/sludger.h
+++ b/engines/sludge/sludger.h
@@ -1,101 +1,101 @@
-/* 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 SLUDGER_H
-#define SLUDGER_H
-
-#include "common/file.h"
-
-#include "sludge/allfiles.h"
-#include "sludge/variable.h"
-#include "sludge/csludge.h"
-#include "sludge/language.h"
-
-namespace Sludge {
-
-typedef struct _FILETIME {
- uint32 dwLowDateTime;
- uint32 dwHighDateTime;
-} FILETIME;
-
-struct variable;
-struct variableStack;
-
-struct eventHandlers {
- int leftMouseFunction;
- int leftMouseUpFunction;
- int rightMouseFunction;
- int rightMouseUpFunction;
- int moveMouseFunction;
- int focusFunction;
- int spaceFunction;
-};
-
-struct lineOfCode {
- sludgeCommand theCommand;
- int32 param;
-};
-
-struct loadedFunction {
- int originalNumber;
- lineOfCode *compiledLines;
- int numLocals, timeLeft, numArgs;
- variable *localVars;
- variableStack *stack;
- variable reg;
- uint runThisLine;
- loadedFunction *calledBy;
- loadedFunction *next;
- bool returnSomething, isSpeech, unfreezable, cancelMe;
- byte freezerLevel;
-};
-
-struct inputType {
- bool leftClick, rightClick, justMoved, leftRelease, rightRelease;
- int mouseX, mouseY, keyPressed;
-};
-
-extern byte *gameIcon;
-extern int iconW, iconH;
-
-bool initSludge(const Common::String &);
-void displayBase();
-void sludgeDisplay();
-int startNewFunctionNum(uint, uint, loadedFunction *, variableStack*&, bool = true);
-bool handleInput();
-void restartFunction(loadedFunction *fun);
-bool loadFunctionCode(loadedFunction *newFunc);
-void loadHandlers(Common::SeekableReadStream *stream);
-void saveHandlers(Common::WriteStream *stream);
-
-void finishFunction(loadedFunction *fun);
-void abortFunction(loadedFunction *fun);
-Common::File *openAndVerify(const Common::String &filename, char extra1, char extra2, const char *er, int &fileVersion);
-
-void freezeSubs();
-void unfreezeSubs();
-void completeTimers();
-void killSpeechTimers();
-int cancelAFunction(int funcNum, loadedFunction *myself, bool &killedMyself);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGER_H
+#define SLUDGER_H
+
+#include "common/file.h"
+
+#include "sludge/allfiles.h"
+#include "sludge/variable.h"
+#include "sludge/csludge.h"
+#include "sludge/language.h"
+
+namespace Sludge {
+
+typedef struct _FILETIME {
+ uint32 dwLowDateTime;
+ uint32 dwHighDateTime;
+} FILETIME;
+
+struct variable;
+struct variableStack;
+
+struct eventHandlers {
+ int leftMouseFunction;
+ int leftMouseUpFunction;
+ int rightMouseFunction;
+ int rightMouseUpFunction;
+ int moveMouseFunction;
+ int focusFunction;
+ int spaceFunction;
+};
+
+struct lineOfCode {
+ sludgeCommand theCommand;
+ int32 param;
+};
+
+struct loadedFunction {
+ int originalNumber;
+ lineOfCode *compiledLines;
+ int numLocals, timeLeft, numArgs;
+ variable *localVars;
+ variableStack *stack;
+ variable reg;
+ uint runThisLine;
+ loadedFunction *calledBy;
+ loadedFunction *next;
+ bool returnSomething, isSpeech, unfreezable, cancelMe;
+ byte freezerLevel;
+};
+
+struct inputType {
+ bool leftClick, rightClick, justMoved, leftRelease, rightRelease;
+ int mouseX, mouseY, keyPressed;
+};
+
+extern byte *gameIcon;
+extern int iconW, iconH;
+
+bool initSludge(const Common::String &);
+void displayBase();
+void sludgeDisplay();
+int startNewFunctionNum(uint, uint, loadedFunction *, variableStack*&, bool = true);
+bool handleInput();
+void restartFunction(loadedFunction *fun);
+bool loadFunctionCode(loadedFunction *newFunc);
+void loadHandlers(Common::SeekableReadStream *stream);
+void saveHandlers(Common::WriteStream *stream);
+
+void finishFunction(loadedFunction *fun);
+void abortFunction(loadedFunction *fun);
+Common::File *openAndVerify(const Common::String &filename, char extra1, char extra2, const char *er, int &fileVersion);
+
+void freezeSubs();
+void unfreezeSubs();
+void completeTimers();
+void killSpeechTimers();
+int cancelAFunction(int funcNum, loadedFunction *myself, bool &killedMyself);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/specialsettings.h b/engines/sludge/specialsettings.h
index 0aa4786c7a..adcececa40 100644
--- a/engines/sludge/specialsettings.h
+++ b/engines/sludge/specialsettings.h
@@ -1,29 +1,29 @@
-/* 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.
- *
- */
-#define SPECIAL_REGISTERED 1
-#define SPECIAL_FULLSCREEN 2
-#define SPECIAL_MOUSE_1 4
-#define SPECIAL_SILENT 8
-#define SPECIAL_MOUSE_2 16
-#define SPECIAL_INVISIBLE 32
-#define SPECIAL_HIDELOGO 64
-#define SPECIAL_HIDELOADING 128
+/* 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.
+ *
+ */
+#define SPECIAL_REGISTERED 1
+#define SPECIAL_FULLSCREEN 2
+#define SPECIAL_MOUSE_1 4
+#define SPECIAL_SILENT 8
+#define SPECIAL_MOUSE_2 16
+#define SPECIAL_INVISIBLE 32
+#define SPECIAL_HIDELOGO 64
+#define SPECIAL_HIDELOADING 128
diff --git a/engines/sludge/sprbanks.h b/engines/sludge/sprbanks.h
index ed60be5271..6372a82056 100644
--- a/engines/sludge/sprbanks.h
+++ b/engines/sludge/sprbanks.h
@@ -1,40 +1,40 @@
-/* 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 SLUDGE_SPRBANKS_H
-#define SLUDGE_SPRBANKS_H
-
-#include "sludge/sprites.h"
-
-namespace Sludge {
-
-struct loadedSpriteBank {
- int ID, timesUsed;
- spriteBank bank;
- loadedSpriteBank *next;
-};
-
-loadedSpriteBank *loadBankForAnim(int ID);
-void reloadSpriteTextures();
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_SPRBANKS_H
+#define SLUDGE_SPRBANKS_H
+
+#include "sludge/sprites.h"
+
+namespace Sludge {
+
+struct loadedSpriteBank {
+ int ID, timesUsed;
+ spriteBank bank;
+ loadedSpriteBank *next;
+};
+
+loadedSpriteBank *loadBankForAnim(int ID);
+void reloadSpriteTextures();
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/statusba.h b/engines/sludge/statusba.h
index 65895f3b4a..4de04fba38 100644
--- a/engines/sludge/statusba.h
+++ b/engines/sludge/statusba.h
@@ -1,66 +1,66 @@
-/* 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 SLUDGE_STATUSBA_H
-#define SLUDGE_STATUSBA_H
-
-#include "common/str.h"
-
-namespace Sludge {
-
-struct statusBar {
- Common::String text;
- statusBar *next;
-};
-
-struct statusStuff {
- statusBar *firstStatusBar;
- uint16 alignStatus;
- int litStatus;
- int statusX, statusY;
- int statusR, statusG, statusB;
- int statusLR, statusLG, statusLB;
-};
-
-void initStatusBar();
-
-void setStatusBar(Common::String &txt);
-void clearStatusBar();
-void addStatusBar();
-void killLastStatus();
-void statusBarColour(byte r, byte g, byte b);
-void statusBarLitColour(byte r, byte g, byte b);
-void setLitStatus(int i);
-const Common::String &statusBarText();
-void positionStatus(int, int);
-void drawStatusBar();
-
-// Load and save
-bool loadStatusBars(Common::SeekableReadStream *stream);
-void saveStatusBars(Common::WriteStream *stream);
-
-// For freezing
-void restoreBarStuff(statusStuff *here);
-statusStuff *copyStatusBarStuff(statusStuff *here);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_STATUSBA_H
+#define SLUDGE_STATUSBA_H
+
+#include "common/str.h"
+
+namespace Sludge {
+
+struct statusBar {
+ Common::String text;
+ statusBar *next;
+};
+
+struct statusStuff {
+ statusBar *firstStatusBar;
+ uint16 alignStatus;
+ int litStatus;
+ int statusX, statusY;
+ int statusR, statusG, statusB;
+ int statusLR, statusLG, statusLB;
+};
+
+void initStatusBar();
+
+void setStatusBar(Common::String &txt);
+void clearStatusBar();
+void addStatusBar();
+void killLastStatus();
+void statusBarColour(byte r, byte g, byte b);
+void statusBarLitColour(byte r, byte g, byte b);
+void setLitStatus(int i);
+const Common::String &statusBarText();
+void positionStatus(int, int);
+void drawStatusBar();
+
+// Load and save
+bool loadStatusBars(Common::SeekableReadStream *stream);
+void saveStatusBars(Common::WriteStream *stream);
+
+// For freezing
+void restoreBarStuff(statusStuff *here);
+statusStuff *copyStatusBarStuff(statusStuff *here);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/talk.h b/engines/sludge/talk.h
index fe966cac27..68c81c46ce 100644
--- a/engines/sludge/talk.h
+++ b/engines/sludge/talk.h
@@ -1,52 +1,52 @@
-/* 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 SLUDGE_TALK_H
-#define SLUDGE_TALK_H
-
-#include "sludge/sprites.h"
-
-namespace Sludge {
-
-struct speechLine {
- Common::String textLine;
- speechLine *next;
- int x;
-};
-
-struct speechStruct {
- onScreenPerson *currentTalker;
- speechLine *allSpeech;
- int speechY, lastFile, lookWhosTalking;
- spritePalette talkCol;
-};
-
-int wrapSpeech(const Common::String &theText, int objT, int sampleFile, bool);
-void viewSpeech();
-void killAllSpeech();
-int isThereAnySpeechGoingOn();
-void initSpeech();
-void saveSpeech(speechStruct *sS, Common::WriteStream *stream);
-bool loadSpeech(speechStruct *sS, Common::SeekableReadStream *stream);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_TALK_H
+#define SLUDGE_TALK_H
+
+#include "sludge/sprites.h"
+
+namespace Sludge {
+
+struct speechLine {
+ Common::String textLine;
+ speechLine *next;
+ int x;
+};
+
+struct speechStruct {
+ onScreenPerson *currentTalker;
+ speechLine *allSpeech;
+ int speechY, lastFile, lookWhosTalking;
+ spritePalette talkCol;
+};
+
+int wrapSpeech(const Common::String &theText, int objT, int sampleFile, bool);
+void viewSpeech();
+void killAllSpeech();
+int isThereAnySpeechGoingOn();
+void initSpeech();
+void saveSpeech(speechStruct *sS, Common::WriteStream *stream);
+bool loadSpeech(speechStruct *sS, Common::SeekableReadStream *stream);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/thumbnail.h b/engines/sludge/thumbnail.h
index 5b58ecb65d..43c0e6b475 100644
--- a/engines/sludge/thumbnail.h
+++ b/engines/sludge/thumbnail.h
@@ -1,34 +1,34 @@
-/* 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 SLUDGE_THUMBNAIL_H
-#define SLUDGE_THUMBNAIL_H
-
-namespace Sludge {
-
-bool saveThumbnail(Common::WriteStream *stream);
-bool skipThumbnail(Common::SeekableReadStream *stream);
-
-void showThumbnail(const Common::String &filename, int x, int y);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_THUMBNAIL_H
+#define SLUDGE_THUMBNAIL_H
+
+namespace Sludge {
+
+bool saveThumbnail(Common::WriteStream *stream);
+bool skipThumbnail(Common::SeekableReadStream *stream);
+
+void showThumbnail(const Common::String &filename, int x, int y);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/timing.h b/engines/sludge/timing.h
index 0fd59f5351..16f406bac0 100644
--- a/engines/sludge/timing.h
+++ b/engines/sludge/timing.h
@@ -1,35 +1,35 @@
-/* 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 SLUDGE_TIMING_H
-#define SLUDGE_TIMING_H
-
-namespace Sludge {
-
-void Init_Timer(void);
-void Init_Special_Timer(int t);
-void Get_Start_Time(void);
-void Get_End_Time(void);
-void Wait_Frame(void);
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_TIMING_H
+#define SLUDGE_TIMING_H
+
+namespace Sludge {
+
+void Init_Timer(void);
+void Init_Special_Timer(int t);
+void Get_Start_Time(void);
+void Get_End_Time(void);
+void Wait_Frame(void);
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/transition.h b/engines/sludge/transition.h
index 7dc29f764f..5ce556870d 100644
--- a/engines/sludge/transition.h
+++ b/engines/sludge/transition.h
@@ -1,32 +1,32 @@
-/* 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 SLUDGE_TRANSITION_H
-#define SLUDGE_TRANSITION_H
-
-namespace Sludge {
-
-void fixBrightness();
-void resetRandW();
-
-} // End of namespace Sludge
-
-#endif
+/* 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 SLUDGE_TRANSITION_H
+#define SLUDGE_TRANSITION_H
+
+namespace Sludge {
+
+void fixBrightness();
+void resetRandW();
+
+} // End of namespace Sludge
+
+#endif
diff --git a/engines/sludge/variable.h b/engines/sludge/variable.h
index 3278b8e38f..1cac125751 100644
--- a/engines/sludge/variable.h
+++ b/engines/sludge/variable.h
@@ -1,135 +1,135 @@
-/* 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 SLUDGE_VARIABLE_H
-#define SLUDGE_VARIABLE_H
-
-namespace Sludge {
-
-struct variable;
-struct variableStack;
-
-enum variableType {
- SVT_NULL,
- SVT_INT,
- SVT_FUNC,
- SVT_STRING,
- SVT_BUILT,
- SVT_FILE,
- SVT_STACK,
- SVT_OBJTYPE,
- SVT_ANIM,
- SVT_COSTUME,
- SVT_FASTARRAY,
- SVT_NUM_TYPES
-};
-
-struct fastArrayHandler {
- struct variable *fastVariables;
- int size;
- int timesUsed;
-};
-
-struct stackHandler {
- struct variableStack *first;
- struct variableStack *last;
- int timesUsed;
-};
-
-union variableData {
- signed int intValue;
- const char *theString;
- stackHandler *theStack;
- struct personaAnimation *animHandler;
- struct persona *costumeHandler;
- fastArrayHandler *fastArray;
-};
-
-struct variable {
- variableType varType;
- variableData varData;
-};
-
-struct variableStack {
- variable thisVar;
- variableStack *next;
-};
-
-// Initialisation
-
-#define initVarNew(thisVar) thisVar.varType = SVT_NULL
-
-// Setting variables
-
-void setVariable(variable &thisVar, variableType vT, int value);
-bool copyVariable(const variable &from, variable &to);
-bool loadStringToVar(variable &thisVar, int value);
-void newAnimationVariable(variable &thisVar, struct personaAnimation *i);
-void newCostumeVariable(variable &thisVar, struct persona *i);
-void makeTextVar(variable &thisVar, const Common::String &txt);
-void addVariablesInSecond(variable &var1, variable &var2);
-void compareVariablesInSecond(const variable &var1, variable &var2);
-char *createCString(const Common::String &s);
-
-// Misc.
-
-void unlinkVar(variable &thisVar);
-Common::String getNumberedString(int value);
-Common::String getTextFromAnyVar(const variable &from);
-struct persona *getCostumeFromVar(variable &thisVar);
-struct personaAnimation *getAnimationFromVar(variable &thisVar);
-bool getBoolean(const variable &from);
-bool getValueType(int &toHere, variableType vT, const variable &v);
-
-// Stacky stuff
-
-bool addVarToStack(const variable &va, variableStack *&thisStack);
-bool addVarToStackQuick(variable &va, variableStack *&thisStack);
-void trimStack(variableStack *&stack);
-int deleteVarFromStack(const variable &va, variableStack *&thisStack,
- bool allOfEm = false);
-variableStack *stackFindLast(variableStack *hunt);
-bool copyStack(const variable &from, variable &to);
-int stackSize(const stackHandler *me);
-bool stackSetByIndex(variableStack *, uint, const variable &);
-variable *stackGetByIndex(variableStack *, uint);
-bool getSavedGamesStack(stackHandler *sH, const Common::String &ext);
-
-bool makeFastArrayFromStack(variable &to, const stackHandler *stacky);
-bool makeFastArraySize(variable &to, int size);
-variable *fastArrayGetByIndex(fastArrayHandler *vS, uint theIndex);
-
-#define DEBUG_STACKINESS 0
-
-#if DEBUG_STACKINESS
-#define stackDebug(params) { \
- FILE * stackfp = fopen ("stackout.txt", "at"); \
- fprintf params; \
- fclose (stackfp); \
- }
-#else
-#define stackDebug(a) {}
-#endif
-
-} // End of namespace Sludge
-
-#endif
-
+/* 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 SLUDGE_VARIABLE_H
+#define SLUDGE_VARIABLE_H
+
+namespace Sludge {
+
+struct variable;
+struct variableStack;
+
+enum variableType {
+ SVT_NULL,
+ SVT_INT,
+ SVT_FUNC,
+ SVT_STRING,
+ SVT_BUILT,
+ SVT_FILE,
+ SVT_STACK,
+ SVT_OBJTYPE,
+ SVT_ANIM,
+ SVT_COSTUME,
+ SVT_FASTARRAY,
+ SVT_NUM_TYPES
+};
+
+struct fastArrayHandler {
+ struct variable *fastVariables;
+ int size;
+ int timesUsed;
+};
+
+struct stackHandler {
+ struct variableStack *first;
+ struct variableStack *last;
+ int timesUsed;
+};
+
+union variableData {
+ signed int intValue;
+ const char *theString;
+ stackHandler *theStack;
+ struct personaAnimation *animHandler;
+ struct persona *costumeHandler;
+ fastArrayHandler *fastArray;
+};
+
+struct variable {
+ variableType varType;
+ variableData varData;
+};
+
+struct variableStack {
+ variable thisVar;
+ variableStack *next;
+};
+
+// Initialisation
+
+#define initVarNew(thisVar) thisVar.varType = SVT_NULL
+
+// Setting variables
+
+void setVariable(variable &thisVar, variableType vT, int value);
+bool copyVariable(const variable &from, variable &to);
+bool loadStringToVar(variable &thisVar, int value);
+void newAnimationVariable(variable &thisVar, struct personaAnimation *i);
+void newCostumeVariable(variable &thisVar, struct persona *i);
+void makeTextVar(variable &thisVar, const Common::String &txt);
+void addVariablesInSecond(variable &var1, variable &var2);
+void compareVariablesInSecond(const variable &var1, variable &var2);
+char *createCString(const Common::String &s);
+
+// Misc.
+
+void unlinkVar(variable &thisVar);
+Common::String getNumberedString(int value);
+Common::String getTextFromAnyVar(const variable &from);
+struct persona *getCostumeFromVar(variable &thisVar);
+struct personaAnimation *getAnimationFromVar(variable &thisVar);
+bool getBoolean(const variable &from);
+bool getValueType(int &toHere, variableType vT, const variable &v);
+
+// Stacky stuff
+
+bool addVarToStack(const variable &va, variableStack *&thisStack);
+bool addVarToStackQuick(variable &va, variableStack *&thisStack);
+void trimStack(variableStack *&stack);
+int deleteVarFromStack(const variable &va, variableStack *&thisStack,
+ bool allOfEm = false);
+variableStack *stackFindLast(variableStack *hunt);
+bool copyStack(const variable &from, variable &to);
+int stackSize(const stackHandler *me);
+bool stackSetByIndex(variableStack *, uint, const variable &);
+variable *stackGetByIndex(variableStack *, uint);
+bool getSavedGamesStack(stackHandler *sH, const Common::String &ext);
+
+bool makeFastArrayFromStack(variable &to, const stackHandler *stacky);
+bool makeFastArraySize(variable &to, int size);
+variable *fastArrayGetByIndex(fastArrayHandler *vS, uint theIndex);
+
+#define DEBUG_STACKINESS 0
+
+#if DEBUG_STACKINESS
+#define stackDebug(params) { \
+ FILE * stackfp = fopen ("stackout.txt", "at"); \
+ fprintf params; \
+ fclose (stackfp); \
+ }
+#else
+#define stackDebug(a) {}
+#endif
+
+} // End of namespace Sludge
+
+#endif
+