scummvm/engines/xeen/resources.cpp

653 lines
25 KiB
C++
Raw Normal View History

2014-12-24 09:58:47 +11:00
/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
2014-12-24 09:58:47 +11:00
* 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.
*
2014-12-24 09:58:47 +11:00
* 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/scummsys.h"
#include "xeen/resources.h"
namespace Xeen {
const char *const CREDITS =
2015-01-02 12:34:45 -10:00
"\013""012\010""000\003""c\014""35Designed and Directed By:\n"
"\014""17Jon Van Caneghem\003""l\n"
"\n"
2015-01-02 12:34:45 -10:00
"\t025\014""35Programming:\n"
"\t035\014""17Mark Caldwell\n"
"\t035Dave Hathaway\n"
"\n"
2015-01-02 12:34:45 -10:00
"\t025\014""35Sound System & FX:\n"
"\t035\014""17Mike Heilemann\n"
"\n"
2015-01-02 12:34:45 -10:00
"\t025\014""35Music & Speech:\n"
"\t035\014""17Tim Tully\n"
"\n"
2015-01-02 12:34:45 -10:00
"\t025\014""35Writing:\n"
"\t035\014""17Paul Rattner\n"
"\t035Debbie Van Caneghem\n"
2015-01-02 12:34:45 -10:00
"\t035Jon Van Caneghem\013""012\n"
"\n"
"\n"
2015-01-02 12:34:45 -10:00
"\t180\014""35Graphics:\n"
"\t190\014""17Jonathan P. Gwyn\n"
"\t190Bonita Long-Hemsath\n"
"\t190Julia Ulano\n"
"\t190Ricardo Barrera\n"
"\n"
2015-01-02 12:34:45 -10:00
"\t180\014""35Testing:\n"
"\t190\014""17Benjamin Bent\n"
"\t190Christian Dailey\n"
"\t190Mario Escamilla\n"
"\t190Marco Hunter\n"
"\t190Robert J. Lupo\n"
"\t190Clayton Retzer\n"
2015-01-02 12:34:45 -10:00
"\t190David Vela\003""c";
const char *const OPTIONS_TITLE =
2015-01-02 12:34:45 -10:00
"\x0D\x01\003""c\014""dMight and Magic Options\n"
"World of Xeen\x02\n"
"\v117Copyright (c) 1993 NWC, Inc.\n"
"All Rights Reserved\x01";
const char *const THE_PARTY_NEEDS_REST = "\x0B""012The Party needs rest!";
const char *const WHO_WILL = "\x03""c\x0B""000\x09""000%s\x0A\x0A"
"Who will\x0A%s?\x0A\x0B""055F1 - F%d";
const char *const WHATS_THE_PASSWORD = "What's the Password?";
const char *const IN_NO_CONDITION = "\x0B""007%s is not in any condition to perform actions!";
2015-01-25 21:19:59 -05:00
const char *const NOTHING_HERE = "\x03""c\x0B""010Nothing here.";
const char *const TERRAIN_TYPES[6] = {
"town", "cave", "towr", "cstl", "dung", "scfi"
};
const char *const SURFACE_TYPE_NAMES[15] = {
nullptr, "mount", "ltree", "dtree", "grass", "snotree", "snomnt",
"dedltree", "mount", "lavamnt", "palm", "dmount", "dedltree",
"dedltree", "dedltree"
};
const char *const SURFACE_NAMES[16] = {
"water.srf", "dirt.srf", "grass.srf", "snow.srf", "swamp.srf",
"lava.srf", "desert.srf", "road.srf", "dwater.srf", "tflr.srf",
"sky.srf", "croad.srf", "sewer.srf", "cloud.srf", "scortch.srf",
"space.srf"
};
const char *const WHO_ACTIONS[32] = {
"aSearch", "aOpen", "aDrink", "aMine", "aTouch", "aRead", "aLearn", "aTake",
"aBang", "aSteal", "aBribe", "aPay", "aSit", "aTry", "aTurn", "aBathe",
"aDestroy", "aPull", "aDescend", "aTossACoin", "aPray", "aJoin", "aAct",
"aPlay", "aPush", "aRub", "aPick", "aEat", "aSign", "aClose", "aLook", "aTry"
};
const char *const WHO_WILL_ACTIONS[4] = {
"Open Grate", "Open Door", "Open Scroll", "Select Char"
};
const byte SYMBOLS[20][64] = {
{ // 0
0x00, 0x00, 0xA8, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0x00, 0xA8, 0x9E, 0x9C, 0x9C, 0x9E, 0x9E, 0x9E,
0xAC, 0x9C, 0xA4, 0xAC, 0xAC, 0x9A, 0x9A, 0x9A, 0xAC, 0x9E, 0xAC, 0xA8, 0xA8, 0xA6, 0x97, 0x98,
0xAC, 0xA0, 0xAC, 0xAC, 0xA4, 0xA6, 0x98, 0x99, 0x00, 0xAC, 0xA0, 0xA0, 0xA8, 0xAC, 0x9A, 0x9A,
0x00, 0x00, 0xAC, 0xAC, 0xAC, 0xA4, 0x9B, 0x9A, 0x00, 0x00, 0x00, 0x00, 0xAC, 0xA0, 0x9B, 0x9B,
},
{ // 1
0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
0x99, 0x9A, 0x9A, 0x99, 0x99, 0x99, 0x9A, 0x99, 0x98, 0x98, 0x98, 0x97, 0x97, 0x97, 0x97, 0x97,
0x99, 0x98, 0x98, 0x99, 0x98, 0x98, 0x99, 0x99, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
0x9A, 0x9B, 0x9B, 0x9C, 0x9B, 0x9A, 0x9C, 0x9A, 0x9B, 0x9A, 0x99, 0x99, 0x99, 0x9A, 0x9A, 0x9B,
},
{ // 2
0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
0x99, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x99, 0x98, 0x98, 0x99, 0x98, 0x98, 0x97, 0x98, 0x98,
0x99, 0x98, 0x98, 0x98, 0x99, 0x99, 0x98, 0x99, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
0x9B, 0x9B, 0x9C, 0x9C, 0x9B, 0x9B, 0x9B, 0x9B, 0x99, 0x9A, 0x9B, 0x9B, 0x9A, 0x9A, 0x99, 0x9A,
},
{ // 3
0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
0x99, 0x9A, 0x9A, 0x9A, 0x99, 0x99, 0x99, 0x9A, 0x98, 0x98, 0x97, 0x97, 0x98, 0x98, 0x98, 0x98,
0x99, 0x99, 0x98, 0x99, 0x98, 0x98, 0x99, 0x99, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
0x9B, 0x9C, 0x9B, 0x9B, 0x9C, 0x9C, 0x9C, 0x9C, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x99, 0x99, 0x9A,
},
{ // 4
0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E,
0x9A, 0x9A, 0x9A, 0x99, 0x99, 0x99, 0x99, 0x9A, 0x97, 0x97, 0x97, 0x97, 0x97, 0x98, 0x98, 0x98,
0x99, 0x99, 0x98, 0x99, 0x99, 0x98, 0x98, 0x98, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A,
0x9A, 0x9C, 0x9B, 0x9B, 0x9C, 0x9B, 0x9B, 0x9B, 0x9A, 0x99, 0x9B, 0x9B, 0x9A, 0x99, 0x9A, 0x9A,
},
{ // 5
0xA4, 0xA4, 0xA8, 0xA8, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x9E, 0x9E, 0xA0, 0xA8, 0xAC, 0x00, 0x00,
0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9E, 0xAC, 0x00, 0x97, 0x97, 0x97, 0x98, 0x9C, 0x9C, 0xA0, 0xAC,
0x99, 0x98, 0x99, 0x99, 0x99, 0x9B, 0xA0, 0xAC, 0x9A, 0x9A, 0x9A, 0x9A, 0x9A, 0x9B, 0xA0, 0xAC,
0x9C, 0x9B, 0x9C, 0x9C, 0x9C, 0xA0, 0xAC, 0x00, 0x99, 0x9A, 0x9A, 0x9B, 0x9B, 0xA4, 0xAC, 0x00,
},
{ // 6
0x00, 0x00, 0x00, 0xAC, 0xA4, 0x9C, 0x99, 0x99, 0x00, 0x00, 0x00, 0xAC, 0xA0, 0x9C, 0x9B, 0x99,
0x00, 0x00, 0xAC, 0xA0, 0x9C, 0x99, 0x99, 0x99, 0x00, 0xAC, 0xA0, 0x9C, 0x99, 0x98, 0x99, 0x99,
0x00, 0xAC, 0xA0, 0x9C, 0x9C, 0xA0, 0x9C, 0x9A, 0x00, 0x00, 0xAC, 0xA4, 0xA0, 0x99, 0x99, 0x99,
0x00, 0xAC, 0xA0, 0x9C, 0x99, 0x99, 0x99, 0x99, 0x00, 0xAC, 0xA4, 0x9C, 0x99, 0x99, 0x99, 0x99,
},
{ // 7
0xAC, 0xA0, 0x9C, 0x99, 0x99, 0x99, 0x99, 0x99, 0xAC, 0xA4, 0x9C, 0x99, 0x99, 0x99, 0x99, 0x99,
0x00, 0xAC, 0xA0, 0x9C, 0x99, 0x99, 0x99, 0x99, 0x00, 0x00, 0xAC, 0xA4, 0x9C, 0x9C, 0x99, 0x99,
0x00, 0x00, 0xAC, 0xA0, 0x9C, 0x99, 0x99, 0x99, 0x00, 0x00, 0x00, 0xAC, 0xA4, 0x9C, 0x99, 0x99,
0x00, 0x00, 0xAC, 0xA0, 0x9B, 0xA0, 0x9E, 0x9C, 0x00, 0xAC, 0xA4, 0x9C, 0x99, 0x9C, 0x99, 0x99,
},
{ // 8
0x00, 0xAC, 0xA0, 0x9C, 0x99, 0x99, 0x9B, 0x99, 0xAC, 0xA4, 0x9C, 0x99, 0x99, 0x99, 0x99, 0x99,
0xAC, 0xA0, 0x9C, 0x99, 0x99, 0x99, 0x99, 0x99, 0xAC, 0xA4, 0x9C, 0x99, 0x99, 0x99, 0x99, 0x99,
0x00, 0xAC, 0xA4, 0x9C, 0x99, 0x99, 0x99, 0x99, 0xAC, 0xA0, 0x9C, 0x99, 0x99, 0x99, 0x99, 0x99,
0x00, 0xAC, 0xA0, 0x9C, 0x99, 0x99, 0x9C, 0x99, 0x00, 0xAC, 0xA4, 0x9C, 0x99, 0x9E, 0x9C, 0x99,
},
{ // 9
0x00, 0x00, 0xAC, 0xA4, 0xA0, 0x9C, 0x99, 0x99, 0x00, 0xAC, 0xA0, 0x9C, 0x9C, 0xA0, 0x9C, 0x9A,
0xAC, 0xA4, 0x9C, 0x9A, 0x99, 0x99, 0x99, 0x99, 0xAC, 0xA0, 0x9C, 0x99, 0x99, 0x99, 0x99, 0x99,
0xAC, 0xA4, 0x9C, 0x99, 0x99, 0x99, 0x99, 0x99, 0x00, 0xAC, 0xA0, 0x9C, 0x99, 0x99, 0x99, 0x99,
0x00, 0xAC, 0xA4, 0x9C, 0x9A, 0x9C, 0x99, 0x99, 0x00, 0x00, 0xAC, 0xA0, 0x9C, 0x9A, 0x99, 0x99,
},
{ // 10
0x99, 0x99, 0x99, 0x9A, 0xA0, 0xAC, 0x00, 0x00, 0x99, 0x99, 0x99, 0x9C, 0xA0, 0xAC, 0x00, 0x00,
0x99, 0x99, 0x9C, 0x9E, 0xA4, 0xAC, 0x00, 0x00, 0x99, 0x99, 0x9C, 0x99, 0x9C, 0xA4, 0xAC, 0x00,
0x99, 0x99, 0x99, 0x99, 0x9C, 0xA0, 0xAC, 0x00, 0x99, 0x99, 0x99, 0x9C, 0xA0, 0xAC, 0x00, 0x00,
0x99, 0x99, 0x99, 0xA0, 0xA4, 0xAC, 0x00, 0x00, 0x9A, 0x9B, 0x9E, 0x9C, 0x9C, 0xA4, 0xAC, 0x00,
},
{ // 11
0x99, 0x99, 0x99, 0x99, 0x9C, 0xA0, 0xAC, 0x00, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9C, 0x9E, 0xAC,
0x99, 0x99, 0x99, 0x99, 0x9C, 0xA0, 0xAC, 0x00, 0x99, 0x99, 0x99, 0x99, 0x9C, 0xA0, 0xAC, 0x00,
0x99, 0x99, 0x99, 0x99, 0x99, 0x9C, 0xA4, 0xAC, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9C, 0xA0, 0xAC,
0x9C, 0x99, 0x99, 0x99, 0x9C, 0x9C, 0xA4, 0xAC, 0x99, 0x9E, 0x9E, 0x9C, 0x9C, 0xA0, 0xAC, 0x00,
},
{ // 12
0x99, 0x99, 0x9C, 0xA0, 0xA4, 0xAC, 0x00, 0x00, 0x9B, 0x9C, 0x9E, 0x9C, 0x9C, 0xA4, 0xAC, 0x00,
0x99, 0x99, 0x99, 0x99, 0x99, 0xA0, 0xAC, 0x00, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9C, 0xA0, 0xAC,
0x99, 0x99, 0x99, 0x99, 0x9C, 0x9C, 0xA4, 0xAC, 0x99, 0x99, 0x99, 0x9C, 0xA0, 0xA4, 0xAC, 0x00,
0x99, 0x99, 0x9C, 0x99, 0x99, 0x9C, 0xA0, 0xAC, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9C, 0xA0, 0xAC,
},
{ // 13
0x99, 0x99, 0x99, 0x99, 0x9C, 0xA0, 0xAC, 0x00, 0x99, 0x99, 0x99, 0x9C, 0xA0, 0xAC, 0x00, 0x00,
0x99, 0x9B, 0x9C, 0xA0, 0xA4, 0xAC, 0x00, 0x00, 0x99, 0x99, 0x9A, 0x99, 0x9C, 0xA0, 0xAC, 0x00,
0x99, 0x99, 0x99, 0x99, 0x99, 0x9C, 0xA4, 0xAC, 0x99, 0x99, 0x99, 0x99, 0x99, 0x9C, 0xA0, 0xAC,
0x99, 0x99, 0x99, 0x99, 0x9A, 0x9C, 0xA4, 0xAC, 0x99, 0x99, 0x99, 0x9A, 0x9C, 0xA4, 0xAC, 0x00,
},
{ // 14
0x00, 0x00, 0xAC, 0x9E, 0x9C, 0x9C, 0x9C, 0x9B, 0x00, 0xAC, 0x9C, 0xA0, 0x9E, 0xA4, 0xA4, 0xA4,
0xAC, 0x9C, 0xA4, 0xAC, 0xAC, 0xAC, 0x9C, 0x9E, 0xAC, 0xA0, 0xAC, 0xA8, 0x9E, 0xA8, 0xAC, 0x99,
0xAC, 0x9E, 0xAC, 0xA8, 0xAC, 0x9E, 0xA4, 0xAC, 0xAC, 0xA4, 0xA0, 0xAC, 0xAC, 0xA0, 0xA4, 0xAC,
0x00, 0xAC, 0xA4, 0xA0, 0xA0, 0xA4, 0xAC, 0xA4, 0x00, 0x00, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
},
{ // 15
0x9C, 0x9C, 0x9C, 0x9B, 0x9C, 0x9C, 0x9C, 0x9B, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
0x9E, 0x9E, 0x9E, 0x9C, 0x9E, 0x9E, 0x9E, 0x9E, 0x99, 0x99, 0x99, 0x99, 0x99, 0x98, 0x99, 0x98,
0x9C, 0x9C, 0x9B, 0x9B, 0x9B, 0x9C, 0x9C, 0x9C, 0xA0, 0xA0, 0xA0, 0xA0, 0xA0, 0x9E, 0x9E, 0xA0,
0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
},
{ // 16
0x9B, 0x9B, 0x9B, 0x9B, 0x9C, 0x9B, 0x9C, 0x9C, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9E, 0x98, 0x98, 0x98, 0x98, 0x99, 0x99, 0x99, 0x99,
0x9C, 0x9B, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0xA0, 0xA0, 0xA0, 0x9E, 0xA0, 0x9E, 0x9E, 0xA0,
0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
},
{ // 17
0x9C, 0x9C, 0x9C, 0x9B, 0x9B, 0x9B, 0x9C, 0x9B, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
0x9E, 0x9E, 0x9E, 0x9C, 0x9C, 0x9C, 0x9E, 0x9E, 0x98, 0x98, 0x98, 0x99, 0x9A, 0x9A, 0x99, 0x98,
0x9C, 0x9B, 0x9C, 0x9C, 0x9C, 0x9B, 0x9B, 0x9C, 0xA0, 0x9E, 0x9E, 0xA0, 0xA0, 0xA0, 0xA0, 0x9E,
0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
},
{ // 18
0x9B, 0x9B, 0x9C, 0x9C, 0x9C, 0x9B, 0x9B, 0x9B, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4,
0x9E, 0x9E, 0x9E, 0x9E, 0x9C, 0x9C, 0x9C, 0x9E, 0x98, 0x98, 0x98, 0x98, 0x9A, 0x9A, 0x98, 0x99,
0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9B, 0x9C, 0x9E, 0x9E, 0x9E, 0x9E, 0x9E, 0xA0, 0xA0, 0xA0,
0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC,
},
{ // 19
0x9C, 0x9B, 0x9C, 0x9C, 0xA0, 0xA4, 0xAC, 0x00, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xAC, 0x00, 0x00,
0x9E, 0x9E, 0x9C, 0x9C, 0x9E, 0xA0, 0xAC, 0x00, 0x99, 0x98, 0x98, 0x99, 0x9A, 0x9A, 0xA0, 0xAC,
0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0x9C, 0xA0, 0xAC, 0xA0, 0xA0, 0x9E, 0xA0, 0xA0, 0xA0, 0xA0, 0xAC,
0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xA4, 0xAC, 0x00, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0xAC, 0x00, 0x00,
}
};
const byte TEXT_COLORS[40][4] = {
{ 0x00, 0x19, 0x19, 0x19 },
{ 0x00, 0x08, 0x08, 0x08 },
{ 0x00, 0x0F, 0x0F, 0x0F },
{ 0x00, 0x15, 0x15, 0x15 },
{ 0x00, 0x01, 0x01, 0x01 },
{ 0x00, 0x21, 0x21, 0x21 },
{ 0x00, 0x26, 0x26, 0x26 },
{ 0x00, 0x2B, 0x2B, 0x2B },
{ 0x00, 0x31, 0x31, 0x31 },
{ 0x00, 0x36, 0x36, 0x36 },
{ 0x00, 0x3D, 0x3D, 0x3D },
{ 0x00, 0x41, 0x41, 0x41 },
{ 0x00, 0x46, 0x46, 0x46 },
{ 0x00, 0x4C, 0x4C, 0x4C },
{ 0x00, 0x50, 0x50, 0x50 },
{ 0x00, 0x55, 0x55, 0x55 },
{ 0x00, 0x5D, 0x5D, 0x5D },
{ 0x00, 0x60, 0x60, 0x60 },
{ 0x00, 0x65, 0x65, 0x65 },
{ 0x00, 0x6C, 0x6C, 0x6C },
{ 0x00, 0x70, 0x70, 0x70 },
{ 0x00, 0x75, 0x75, 0x75 },
{ 0x00, 0x7B, 0x7B, 0x7B },
{ 0x00, 0x80, 0x80, 0x80 },
{ 0x00, 0x85, 0x85, 0x85 },
{ 0x00, 0x8D, 0x8D, 0x8D },
{ 0x00, 0x90, 0x90, 0x90 },
{ 0x00, 0x97, 0x97, 0x97 },
{ 0x00, 0x9D, 0x9D, 0x9D },
{ 0x00, 0xA4, 0xA4, 0xA4 },
{ 0x00, 0xAB, 0xAB, 0xAB },
{ 0x00, 0xB0, 0xB0, 0xB0 },
{ 0x00, 0xB6, 0xB6, 0xB6 },
{ 0x00, 0xBD, 0xBD, 0xBD },
{ 0x00, 0xC0, 0xC0, 0xC0 },
{ 0x00, 0xC6, 0xC6, 0xC6 },
{ 0x00, 0xCD, 0xCD, 0xCD },
{ 0x00, 0xD0, 0xD0, 0xD0 },
{ 0x00, 0xD6, 0xD6, 0xD6 },
{ 0x00, 0xDB, 0xDB, 0xDB },
};
2014-12-30 10:22:05 -10:00
2015-01-03 19:08:30 -05:00
const char *const DIRECTION_TEXT[4] = { "NORTH", "EAST", "SOUTH", "WEST" };
const char *const RACE_NAMES[5] = { "Human", "Elf", "Dwarf", "Gnome", "H-Orc" };
const int RACE_HP_BONUSES[5] = { 0, -2, 1, -1, 2 };
const int RACE_SP_BONUSES[5][2] = {
{ 0, 0 }, { 2, 0 }, { -1, -1 }, { 1, 1 }, { -2, -2 }
};
2015-01-03 19:08:30 -05:00
const char *const ALIGNMENT_NAMES[3] = { "Good", "Neutral", "Evil" };
const char *const SEX_NAMES[2] = { "Male", "Female" };
const char *const CLASS_NAMES[11] = {
"Knight", "Paladin", "Archer", "Cleric", "Sorcerer", "Robber",
"Ninja", "Barbarian", "Druid", "Ranger", nullptr
};
2015-01-26 21:35:50 -05:00
const uint CLASS_EXP_LEVELS[10] = {
1500, 2000, 2000, 1500, 2000, 1000, 1500, 1500, 1500, 2000
};
2015-01-03 19:08:30 -05:00
const char *const CONDITION_NAMES[18] = {
nullptr, "Cursed", "Heart Broken", "Weak", "Poisoned", "Diseased",
"Insane", "In Love", "Drunk", "Asleep", "Depressed", "Confused",
"Paralyzed", "Unconscious", "Dead", "Stone", "Eradicated", "Good"
};
const char *const IN_PARTY = "\014""15In Party\014""d";
const char *const PARTY_DETAILS = "\015\003l\002\014""00"
"\013""001""\011""035%s"
"\013""009""\011""035%s"
"\013""017""\011""035%s"
"\013""025""\011""035%s"
"\013""001""\011""136%s"
"\013""009""\011""136%s"
"\013""017""\011""136%s"
"\013""025""\011""136%s"
"\013""044""\011""035%s"
"\013""052""\011""035%s"
"\013""060""\011""035%s"
"\013""068""\011""035%s"
"\013""044""\011""136%s"
"\013""052""\011""136%s"
"\013""060""\011""136%s"
"\013""068""\011""136%s";
const int FACE_CONDITION_FRAMES[17] = {
2, 2, 2, 1, 1, 4, 4, 4, 3, 2, 4, 3, 3, 5, 6, 7, 0
};
const int CHAR_FACES_X[6] = { 10, 45, 81, 117, 153, 189 };
const int HP_BARS_X[6] = { 13, 50, 86, 122, 158, 194 };
const char *const NO_ONE_TO_ADVENTURE_WITH = "You have no one to adventure with";
const char *const YOUR_ROSTER_IS_FULL = "Your Roster is full!";
const byte BACKGROUND_XLAT[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF7, 0xFF, 0x09, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF9, 0xFF, 0x07, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF7, 0xFF, 0x09, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF5, 0xFF, 0x0B, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF3, 0xFF, 0x0D, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00
};
const char *const PLEASE_WAIT = "\014""d\003""c\011""000"
"\013""002Please Wait...";
const char *const OOPS = "\003""c\011""000\013""002Oops...";
const int8 SCREEN_POSITIONING_X[4][48] = {
{
-1, 0, 0, 0, 1, -1, 0, 0, 0, 1, -2, -1,
-1, 0, 0, 0, 1, 1, 2, -4, -3, -3, -2, -2,
-1, -1, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4,
-3, -2, -1, 0, 0, 1, 2, 3, -4, 4, 0, 0
}, {
0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2,
2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 1
}, {
1, 0, 0, 0, -1, 1, 0, 0, 0, -1, 2, 1,
1, 0, 0, 0, -1, -1, -2, 4, 3, 3, 2, 2,
1, 1, 0, 0, 0, -1, -1, -2, -2, -3, -3, -4,
3, 2, 1, 0, 0, -1, -2, -3, 4, -4, 0, 0
}, {
0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -3, -3, -3, -3, -3,
-3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3,
-4, -4, -4, -4, -4, -4, -4, -4, -4, -4, 0, -1
}
};
const int8 SCREEN_POSITIONING_Y[4][48] = {
{
0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2,
2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 1
}, {
1, 0, 0, 0, -1, 1, 0, 0, 0, -1, 2, 1,
1, 0, 0, 0, -1, -1, -2, 4, 3, 3, 2, 2,
1, 1, 0, 0, 0, -1, -1, -2, -2, -3, -3, -4,
3, 2, 1, 0, 0, -1, -2, -3, 4, -4, 0, 0
}, {
0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -2, -2,
-2, -2, -2, -2, -2, -2, -2, -3, -3, -3, -3, -3,
-3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3, -3,
-4, -4, -4, -4, -4, -4, -4, -4, -4, -4, 0, -1
}, {
-1, 0, 0, 0, 1, -1, 0, 0, 0, 1, -2, -1,
-1, 0, 0, 0, 1, 1, 2, -4, -3, -3, -2, -2,
-1, -1, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4,
-3, -2, -1, 0, 0, 1, 2, 3, -4, 4, 0, 0
}
};
const int INDOOR_OBJECT_X[2][12] = {
{ 5, -7, -112, 98, -8, -65, 49, -9, -34, 16, -58, 40 },
{ -35, -35, -142, 68, -35, -95, 19, -35, -62, -14, -98, 16 }
};
2015-01-24 14:15:24 -05:00
const int MAP_OBJECT_Y[2][12] = {
{ 2, 25, 25, 25, 50, 50, 50, 58, 58, 58, 58, 58 },
{ -65, -6, -6, -6, 36, 36, 36, 54, 54, 54, 54, 54 }
};
2015-01-24 13:49:41 -05:00
const int INDOOR_MONSTERS_Y[4] = { 2, 34, 53, 59 };
const int OUTDOOR_OBJECT_X[2][12] = {
{ -5, -7, -112, 98, -8, -77, 61, -9, -43, 25, -74, 56 },
{ -35, -35, -142, 68, -35, -95, 19, -35, -62, -24, -98, 16 }
};
2015-01-24 13:49:41 -05:00
const int OUTDOOR_MONSTER_INDEXES[26] = {
42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 69, 70,
71, 72, 73, 74, 75, 90, 91, 92, 93, 94, 112, 115, 118
};
const int OUTDOOR_MONSTERS_Y[26] = {
59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 59, 53, 53,
53, 53, 53, 53, 53, 34, 34, 34, 34, 34, 2, 2, 2
};
const int DIRECTION_ANIM_POSITIONS[4][4] = {
{ 0, 1, 2, 3 }, { 3, 0, 1, 2 }, { 2, 3, 0, 1 }, { 1, 2, 3, 0 }
};
const byte WALL_SHIFTS[4][48] = {
2015-01-11 23:55:46 -05:00
{
12, 0, 12, 8, 12, 12, 0, 12, 8, 12, 12, 0,
12, 0, 12, 8, 12, 8, 12, 12, 0, 12, 0, 12,
0, 12, 0, 12, 8, 12, 8, 12, 8, 12, 8, 12,
0, 0, 0, 0, 8, 8, 8, 8, 0, 0, 4, 4
2015-01-11 23:55:46 -05:00
}, {
8, 12, 8, 4, 8, 8, 12, 8, 4, 8, 8, 12,
8, 12, 8, 4, 8, 4, 8, 8, 12, 8, 12, 8,
12, 8, 12, 8, 4, 8, 4, 8, 4, 8, 4, 8,
12, 12, 12, 12, 4, 4, 4, 4, 0, 0, 0, 0
2015-01-11 23:55:46 -05:00
}, {
4, 8, 4, 0, 4, 4, 8, 4, 0, 4, 4, 8,
4, 8, 4, 0, 4, 0, 4, 4, 8, 4, 8, 4,
8, 4, 8, 4, 0, 4, 0, 4, 0, 4, 0, 4,
8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 12, 12
2015-01-11 23:55:46 -05:00
}, {
0, 4, 0, 12, 0, 0, 4, 0, 12, 0, 0, 4,
0, 4, 0, 12, 0, 12, 0, 0, 4, 0, 4, 0,
4, 0, 4, 0, 12, 0, 12, 0, 12, 0, 12, 0,
4, 4, 4, 4, 12, 12, 12, 12, 0, 0, 8, 8
2015-01-11 23:55:46 -05:00
}
};
2015-01-14 00:20:45 -05:00
const int DRAW_NUMBERS[25] = {
36, 37, 38, 43, 42, 41,
39, 20, 22, 24, 33, 31,
29, 26, 10, 11, 18, 16,
13, 5, 9, 6, 0, 4, 1
2015-01-14 00:20:45 -05:00
};
const int DRAW_FRAMES[25][2] = {
{ 18, 24 }, { 19, 23 }, { 20, 22 }, { 24, 18 }, { 23, 19 }, { 22, 20 },
{ 21, 21 }, { 11, 17 }, { 12, 16 }, { 13, 15 }, { 17, 11 }, { 16, 12 },
{ 15, 13 }, { 14, 14 }, { 6, 10 }, { 7, 9 }, { 10, 6 }, { 9, 7 },
{ 8, 8 }, { 3, 5 }, { 5, 3 }, { 4, 4 }, { 0, 2 }, { 2, 0 },
2015-01-14 00:20:45 -05:00
{ 1, 1 }
};
const int COMBAT_FLOAT_X[8] = { -2, -1, 0, 1, 2, 1, 0, -1 };
const int COMBAT_FLOAT_Y[8] = { -2, 0, 2, 0, -1, 0, 2, 0 };
const int MONSTER_EFFECT_FLAGS[15][8] = {
{ 0x104, 0x105, 0x106, 0x107, 0x108, 0x109, 0x10A, 0x10B },
{ 0x10C, 0x10D, 0x10E, 0x10F, 0x0, 0x0, 0x0, 0x0 },
{ 0x110, 0x111, 0x112, 0x113, 0x0, 0x0, 0x0, 0x0 },
{ 0x114, 0x115, 0x116, 0x117, 0x0, 0x0, 0x0, 0x0 },
{ 0x200, 0x201, 0x202, 0x203, 0x0, 0x0, 0x0, 0x0 },
{ 0x300, 0x301, 0x302, 0x303, 0x400, 0x401, 0x402, 0x403 },
{ 0x500, 0x501, 0x502, 0x503, 0x0, 0x0, 0x0, 0x0 },
{ 0x600, 0x601, 0x602, 0x603, 0x0, 0x0, 0x0, 0x0 },
{ 0x604, 0x605, 0x606, 0x607, 0x608, 0x609, 0x60A, 0x60B },
{ 0x60C, 0x60D, 0x60E, 0x60F, 0x0, 0x0, 0x0, 0x0 },
{ 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100, 0x100 },
{ 0x101, 0x101, 0x101, 0x101, 0x101, 0x101, 0x101, 0x101 },
{ 0x102, 0x102, 0x102, 0x102, 0x102, 0x102, 0x102, 0x102 },
{ 0x103, 0x103, 0x103, 0x103, 0x103, 0x103, 0x103, 0x103 },
{ 0x108, 0x108, 0x108, 0x108, 0x108, 0x108, 0x108, 0x108 }
};
2015-01-14 00:20:45 -05:00
const uint SPELLS_ALLOWED[3][40] = {
2015-01-23 23:47:05 -05:00
{
0, 1, 2, 3, 5, 6, 7, 8, 9, 10,
12, 14, 16, 23, 26, 27, 28, 30, 31, 32,
33, 42, 46, 48, 49, 50, 52, 55, 56, 58,
59, 62, 64, 65, 67, 68, 71, 73, 74, 76
}, {
1, 4, 11, 13, 15, 17, 18, 19, 20, 21,
22, 24, 25, 29, 34, 35, 36, 37, 38, 39,
40, 41, 42, 43, 44, 45, 47, 51, 53, 54,
57, 60, 61, 63, 66, 69, 70, 72, 75, 76
}, {
0, 1, 2, 3, 4, 5, 7, 9, 10, 20,
25, 26, 27, 28, 30, 31, 34, 38, 40, 41,
42, 43, 44, 45, 49, 50, 52, 53, 55, 59,
60, 61, 62, 67, 68, 72, 73, 74, 75, 76
}
};
const int BASE_HP_BY_CLASS[10] = { 10, 8, 7, 5, 4, 8, 7, 12, 6, 9 };
const int AGE_RANGES[10] = { 1, 6, 11, 18, 36, 51, 76, 101, 201, 0xffff };
const int AGE_RANGES_ADJUST[2][10] = {
{ -250, -50, -20, -10, 0, -2, -5, -10, -20, -50 },
{ -250, -50, -20, -10, 0, 2, 5, 10, 20, 50 }
};
const int STAT_VALUES[24] = {
3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 25, 30, 35, 40,
50, 75, 100, 125, 150, 175, 200, 225, 250, 65535
};
const int STAT_BONUSES[24] = {
-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6,
7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20
};
const int ELEMENTAL_CATEGORIES[6] = { 8, 15, 20, 25, 33, 36 };
const int ATTRIBUTE_CATEGORIES[10] = {
9, 17, 25, 33, 39, 45, 50, 56, 61, 72 };
const int ATTRIBUTE_BONUSES[72] = {
2, 3, 5, 8, 12, 17, 23, 30, 38, 47, // Might bonus
2, 3, 5, 8, 12, 17, 23, 30, // INT bonus
2, 3, 5, 8, 12, 17, 23, 30, // PER bonus
2, 3, 5, 8, 12, 17, 23, 30, // SPD bonus
3, 5, 10, 15, 20, 30, // ACC bonus
5, 10, 15, 20, 25, 30, // LUC bonus
4, 6, 10, 20, 50, // HP bonus
4, 8, 12, 16, 20, 25, // SP bonus
2, 4, 6, 10, 16, // AC bonus
4, 6, 8, 10, 12, 14, 16, 18, 20, 25 // Thievery bonus
};
const int ELEMENTAL_RESISTENCES[37] = {
0, 5, 7, 9, 12, 15, 20, 25, 30, 5, 7, 9, 12, 15, 20, 25,
5, 10, 15, 20, 25, 10, 15, 20, 25, 40, 5, 7, 9, 11, 13, 15, 20, 25,
5, 10, 20
};
const int ELEMENTAL_DAMAGE[37] = {
0, 2, 3, 4, 5, 10, 15, 20, 30, 2, 3, 4, 5, 10, 15, 20, 2, 4, 5, 10, 20,
2, 4, 8, 16, 32, 2, 3, 4, 5, 10, 15, 20, 30, 5, 10, 25
};
const int METAL_LAC[9] = { -3, 0, -2, -1, 1, 2, 4, 6, 8 };
const int ARMOR_STRENGTHS[14] = { 0, 2, 4, 5, 6, 7, 8, 10, 4, 2, 1, 1, 1, 1 };
const int OUTDOOR_DRAWSTRCT_INDEXES[44] = {
37, 38, 39, 40, 41, 44, 42, 43, 47, 45, 46,
48, 49, 52, 50, 51, 66, 67, 68, 69, 70, 71,
72, 75, 73, 74, 87, 88, 89, 90, 91, 94, 92,
93, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120
};
const int TOWN_MAXES[2][11] = {
{ 23, 13, 32, 16, 26, 16, 16, 16, 16, 16, 16 },
{ 26, 19, 48, 27, 26, 37, 16, 16, 16, 16, 16 }
};
const char *const TOWN_ACTION_MUSIC[14] = {
"bank.m", "smith.m", "guild.m", "tavern.m", "temple.m",
"grounds.m", "endgame.m", "bank.m", "sf09.m", "guild.m",
"tavern.m", "temple.m", "smith.m", "endgame.m"
};
const char *const TOWN_ACTION_SHAPES[4] = {
"bankr", "blck", "gild", "tvrn"
};
const int TOWN_ACTION_FILES[2][7] = {
{ 3, 2, 4, 2, 4, 2, 1 }, { 5, 3, 7, 5, 4, 6, 1 }
};
2015-01-26 21:35:50 -05:00
const char *const BANK_TEXT = "\x0D\x02\x03""c\x0B""122\x09""013"
"\x0C""37D\x0C""dep\x09""040\x0C""37W\x0C""dith\x09""067ESC"
"\x01\x09""000\x0B""000Bank of Xeen\x0B""015\n"
"Bank\x03l\n"
"Gold\x03r\x09""000%s\x03l\n"
"Gems\x03r\x09""000%s\x03""c\n"
"\n"
"Party\x03l\n"
"Gold\x03r\x09""000%s\x03l\n"
"Gems\x03r\x09""000%s";
const char *const BLACKSMITH_TEXT = "\x01\x0D\x03""c\x0B""000\x09""000"
"Store Options for\x09""039\x0B""027%s\x03""l\x0B""046\n"
"\x09""011\x0C""37B\x0C""drowse\n"
"\x09""000\x0B""090Gold\x03r\x09""000%s"
"\x02\x03""c\x0B""122\x09""040ESC\x01";
const char *const GUILD_NOT_MEMBER_TEXT =
"\n\nYou have to be a member to shop here.";
const char *const GUILD_TEXT = "\x03""c\x0B""027\x09""039%s"
"\x03l\x0B""046\n"
"\x09""012\x0C""37B\x0C""duy Spells\n"
"\x09""012\x0C""37S\x0C""dpell Info";
const char *const TAVERN_TEXT =
"\x0D\x03""c\x0B""000\x09""000Tavern Options for\x09""039"
"\x0B""027%s%s\x03l\x09""000"
"\x0B""090Gold\x03r\x09""000%s\x02\x03""c\x0B""122"
"\x09""021\x0C""37S\x0C""dign in\x09""060ESC\x01";
const char *const FOOD_AND_DRINK =
"\x03l\x09""017\x0B""046\x0C""37D\x0C""drink\n"
"\x09""017\x0C""37F\x0C""dood\n"
"\x09""017\x0C""37T\x0C""dip\n"
"\x09""017\x0C""37R\x0C""dumors";
const char *const TEMPLE_TEXT =
"\x0D\x03""c\x0B""000\x09""000Temple Options for"
"\x09""039\x0B""027%s\x03l\x09""000\x0B""046"
"\x0C""37H\x0C""deal\x03r\x09""000%lu\x03l\n"
"\x0C""37D\x0C""donation\x03r\x09""000%lu\x03l\n"
"\x0C""37U\x0C""dnCurse\x03r\x09""000%s"
"\x03l\x09""000\x0B""090Gold\x03r\x09""000%s"
"\x02\x03""c\x0B""122\x09""040ESC\x01";
const char *const EXPERIENCE_FOR_LEVEL =
"%s needs %lu experience for level %u.";
const char *const LEARNED_ALL = "%s has learned all we can teach!";
const char *const ELIGIBLE_FOR_LEVEL = "%s is eligible for level %d.";
const char *const TRAINING_TEXT =
"\x0D\x03""cTraining Options\n"
"\n"
"%s\x03l\x0B""090\x09""000Gold\x03r\x09"
"000%s\x02\x03""c\x0B""122\x09""021"
"\x0C""37T\x0C""drain\x09""060ESC\x01";
2014-12-24 09:58:47 +11:00
} // End of namespace Xeen