[Scummvm-git-logs] scummvm master -> f084d29e9a9e3c07bde27688edbc4654dd4aaf29
orgads
orgads at gmail.com
Mon Aug 2 20:13:00 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
f084d29e9a DEVTOOLS: Fix create_xeen compilation without C++11
Commit: f084d29e9a9e3c07bde27688edbc4654dd4aaf29
https://github.com/scummvm/scummvm/commit/f084d29e9a9e3c07bde27688edbc4654dd4aaf29
Author: Orgad Shaneh (orgads at gmail.com)
Date: 2021-08-02T23:12:57+03:00
Commit Message:
DEVTOOLS: Fix create_xeen compilation without C++11
Changed paths:
devtools/create_xeen/cc.cpp
devtools/create_xeen/constants.cpp
devtools/create_xeen/constants.h
devtools/create_xeen/en_constants.h
devtools/create_xeen/ru_constants.h
devtools/create_xeen/swords.cpp
diff --git a/devtools/create_xeen/cc.cpp b/devtools/create_xeen/cc.cpp
index 1d3ce76fdc..ae9371a10c 100644
--- a/devtools/create_xeen/cc.cpp
+++ b/devtools/create_xeen/cc.cpp
@@ -66,7 +66,7 @@ void CCArchive::loadIndex() {
if (_file.read(rawIndex, size) != size) {
delete[] rawIndex;
- error("Failed to read %zu bytes from CC archive", size);
+ error("Failed to read %ld bytes from CC archive", size);
}
// Decrypt the index
diff --git a/devtools/create_xeen/constants.cpp b/devtools/create_xeen/constants.cpp
index 5e4fbf4235..e67c5cbea7 100644
--- a/devtools/create_xeen/constants.cpp
+++ b/devtools/create_xeen/constants.cpp
@@ -35,6 +35,831 @@
#include "en_constants.h"
#include "ru_constants.h"
+const char *const LangConstants::TERRAIN_TYPES[6] = {
+ "town", "cave", "towr", "cstl", "dung", "scfi"
+};
+
+const char *const LangConstants::OUTDOORS_WALL_TYPES[16] = {
+ nullptr, "mount", "ltree", "dtree", "grass", "snotree", "dsnotree",
+ "snomnt", "dedltree", "mount", "lavamnt", "palm", "dmount", "dedltree",
+ "dedltree", "dedltree"
+};
+
+const char *const LangConstants::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 byte LangConstants::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 LangConstants::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},
+};
+
+const byte LangConstants::TEXT_COLORS_STARTUP[40][4] = {
+ {0x00, 0x19, 0x19, 0x19},
+ {0x00, 0x08, 0x08, 0x08},
+ {0x00, 0x0F, 0x0F, 0x0F},
+ {0x00, 0x15, 0x15, 0x15},
+ {0x00, 0x01, 0x01, 0x01},
+ {0x00, 0x1F, 0x1F, 0x1F},
+ {0x00, 0x26, 0x26, 0x26},
+ {0x00, 0x2B, 0x2B, 0x2B},
+ {0x00, 0x31, 0x31, 0x31},
+ {0x00, 0x36, 0x36, 0x36},
+ {0x00, 0x3D, 0x3D, 0x3D},
+ {0x00, 0x42, 0x42, 0x42},
+ {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, 0x19, 0x19, 0x19},
+ {0x00, 0x31, 0x31, 0x31}
+};
+
+const int LangConstants::RACE_HP_BONUSES[5] = {0, -2, 1, -1, 2};
+
+const int LangConstants::RACE_SP_BONUSES[5][2] = {
+ {0, 0}, {2, 0}, {-1, -1}, {1, 1}, {-2, -2}
+};
+
+const int LangConstants::CLASS_EXP_LEVELS[10] = {
+ 1500, 2000, 2000, 1500, 2000, 1000, 1500, 1500, 1500, 2000
+};
+
+const int LangConstants::CONDITION_COLORS[17] = {
+ 9, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32, 32, 6, 6, 6, 6, 15
+};
+
+const int LangConstants::FACE_CONDITION_FRAMES[17] = {
+ 2, 2, 2, 1, 1, 4, 4, 4, 3, 2, 4, 3, 3, 5, 6, 7, 0
+};
+
+const int LangConstants::CHAR_FACES_X[6] = {10, 45, 81, 117, 153, 189};
+
+const int LangConstants::HP_BARS_X[6] = {13, 50, 86, 122, 158, 194};
+
+const byte LangConstants::DARKNESS_XLAT[3][256] = {
+ {
+ 0, 25, 26, 27, 28, 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 44, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 60, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 76, 77, 78, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 92, 93, 94, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 108, 109, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 124, 125, 126, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 140, 141, 142, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 168, 169, 170, 171, 172, 173, 174, 175, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 188, 189, 190, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 204, 205, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 220, 221, 222, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 236, 237, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 252, 253, 254, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ }, {
+ 0, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 40, 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56, 57, 58, 59, 60, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 72, 73, 74, 75, 76, 77, 78, 79, 0, 0, 0, 0, 0, 0, 0, 0,
+ 88, 89, 90, 91, 92, 93, 94, 95, 0, 0, 0, 0, 0, 0, 0, 0,
+ 104, 105, 106, 107, 108, 109, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0,
+ 120, 121, 122, 123, 124, 125, 126, 127, 0, 0, 0, 0, 0, 0, 0, 0,
+ 136, 137, 138, 139, 140, 141, 142, 143, 0, 0, 0, 0, 0, 0, 0, 0,
+ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 184, 185, 186, 187, 188, 189, 190, 191, 0, 0, 0, 0, 0, 0, 0, 0,
+ 200, 201, 202, 203, 204, 205, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0,
+ 216, 217, 218, 219, 220, 221, 222, 223, 0, 0, 0, 0, 0, 0, 0, 0,
+ 232, 233, 234, 235, 236, 237, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0,
+ 248, 249, 250, 251, 252, 253, 254, 255, 0, 0, 0, 0, 0, 0, 0, 0
+ }, {
+ 0, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, 0,
+ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, 0,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 0, 0, 0, 0,
+ 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 0, 0, 0, 0,
+ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 0, 0, 0, 0,
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 0, 0, 0, 0,
+ 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 0, 0, 0, 0,
+ 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 0, 0, 0, 0,
+ 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
+ 168, 169, 170, 171, 172, 173, 174, 175, 0, 0, 0, 0, 0, 0, 0, 0,
+ 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 0, 0, 0, 0,
+ 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 0, 0, 0, 0,
+ 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 0, 0, 0, 0,
+ 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 0, 0, 0, 0,
+ 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, 0, 0, 0
+ }
+};
+
+const int LangConstants::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 int LangConstants::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 LangConstants::MONSTER_GRID_BITMASK[12] = {
+ 0xC, 8, 4, 0, 0xF, 0xF000, 0xF00, 0xF0, 0xF00, 0xF0, 0x0F, 0xF000
+};
+
+const int LangConstants::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 }
+};
+
+const int LangConstants::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 }
+};
+
+const int LangConstants::INDOOR_MONSTERS_Y[4] = { 2, 34, 53, 59 };
+
+const int LangConstants::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 }
+};
+
+const int LangConstants::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 LangConstants::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 LangConstants::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] = {
+ {
+ 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
+ }, {
+ 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
+ }, {
+ 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
+ }, {
+ 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
+ }
+};
+
+const byte LangConstants::WALL_SHIFTS[4][48] = {
+ {
+ 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
+ }, {
+ 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
+ }, {
+ 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
+ }, {
+ 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
+ }
+};
+
+const int LangConstants::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
+};
+
+const int LangConstants::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 },
+ { 1, 1 }
+};
+
+const int LangConstants::COMBAT_FLOAT_X[8] = { -2, -1, 0, 1, 2, 1, 0, -1 };
+
+const int LangConstants::COMBAT_FLOAT_Y[8] = { -2, 0, 2, 0, -1, 0, 2, 0 };
+
+const int LangConstants::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 }
+};
+
+const int LangConstants::SPELLS_ALLOWED[3][40] = {
+ {
+ 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 LangConstants::BASE_HP_BY_CLASS[10] = { 10, 8, 7, 5, 4, 8, 7, 12, 6, 9 };
+
+const int LangConstants::AGE_RANGES[10] = { 1, 6, 11, 18, 36, 51, 76, 101, 201, 0xffff };
+
+const int LangConstants::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 LangConstants::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 LangConstants::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 LangConstants::ELEMENTAL_CATEGORIES[6] = { 8, 15, 20, 25, 33, 36 };
+
+const int LangConstants::ATTRIBUTE_CATEGORIES[10] = {
+ 9, 17, 25, 33, 39, 45, 50, 56, 61, 72
+};
+
+const int LangConstants::ATTRIBUTE_BONUSES[72] = {
+ 2, 3, 5, 8, 12, 17, 23, 30, 38, 47, // Might bonus
+ 2, 3, 5, 8, 12, 17, 23, 30, // int LangConstants::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 LangConstants::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 LangConstants::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 LangConstants::WEAPON_DAMAGE_BASE[35] = {
+ 0, 3, 2, 3, 2, 2, 4, 1, 2, 4, 2, 3,
+ 2, 2, 1, 1, 1, 1, 4, 4, 3, 2, 4, 2,
+ 2, 2, 5, 3, 3, 3, 3, 5, 4, 2, 6
+};
+
+const int LangConstants::WEAPON_DAMAGE_MULTIPLIER[35] = {
+ 0, 3, 3, 4, 5, 4, 2, 3, 3, 3, 3, 3,
+ 2, 4, 10, 6, 8, 9, 4, 3, 6, 8, 5, 6,
+ 4, 5, 3, 5, 6, 7, 2, 2, 2, 2, 4
+};
+
+const int LangConstants::METAL_DAMAGE[22] = {
+ -3, -6, -4, -2, 2, 4, 6, 8, 10, 0, 1,
+ 1, 2, 2, 3, 4, 5, 12, 15, 20, 30, 50
+};
+
+const int LangConstants::METAL_DAMAGE_PERCENT[22] = {
+ 253, 252, 3, 2, 1, 2, 3, 4, 6, 0, 1,
+ 1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10
+};
+
+const int LangConstants::METAL_LAC[22] = {
+ -3, 0, -2, -1, 1, 2, 4, 6, 8, 0, 1,
+ 1, 2, 2, 3, 4, 5, 10, 12, 14, 16, 20
+};
+
+const int LangConstants::ARMOR_STRENGTHS[14] = { 0, 2, 4, 5, 6, 7, 8, 10, 4, 2, 1, 1, 1, 1 };
+
+const int LangConstants::MAKE_ITEM_ARR1[6] = { 0, 8, 15, 20, 25, 33 };
+
+const int LangConstants::MAKE_ITEM_ARR2[6][7][2] = {
+ { { 0, 0 }, { 1, 3 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 5, 8 }, { 8, 8 } },
+ { { 0, 0 }, { 1, 3 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 6, 7 }, { 7, 7 } },
+ { { 0, 0 }, { 1, 2 }, { 1, 3 }, { 2, 4 }, { 3, 5 }, { 4, 5 }, { 5, 5 } },
+ { { 0, 0 }, { 1, 2 }, { 1, 3 }, { 2, 4 }, { 3, 4 }, { 4, 5 }, { 5, 5 } },
+ { { 0, 0 }, { 1, 3 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 5, 8 }, { 8, 8 } },
+ { { 0, 0 }, { 1, 1 }, { 1, 1 }, { 1, 2 }, { 2, 2 }, { 2, 3 }, { 3, 3 } }
+};
+
+const int LangConstants::MAKE_ITEM_ARR3[10][7][2] = {
+ { { 0, 0 }, { 1, 4 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 6, 10 }, { 10, 10 } },
+ { { 0, 0 }, { 1, 3 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 5, 8 }, { 8, 8 } },
+ { { 0, 0 }, { 1, 3 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 5, 8 }, { 8, 8 } },
+ { { 0, 0 }, { 1, 3 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 5, 8 }, { 8, 8 } },
+ { { 0, 0 }, { 1, 2 }, { 1, 3 }, { 2, 4 }, { 3, 5 }, { 4, 6 }, { 6, 6 } },
+ { { 0, 0 }, { 1, 2 }, { 2, 3 }, { 3, 4 }, { 4, 5 }, { 5, 6 }, { 6, 6 } },
+ { { 0, 0 }, { 1, 2 }, { 1, 3 }, { 2, 4 }, { 3, 4 }, { 4, 5 }, { 5, 5 } },
+ { { 0, 0 }, { 1, 2 }, { 1, 3 }, { 2, 4 }, { 3, 5 }, { 4, 6 }, { 6, 6 } },
+ { { 0, 0 }, { 1, 2 }, { 1, 3 }, { 2, 4 }, { 3, 4 }, { 4, 5 }, { 5, 5 } },
+ { { 0, 0 }, { 1, 2 }, { 1, 4 }, { 3, 6 }, { 5, 8 }, { 7, 10 }, { 10, 10 } }
+};
+
+const int LangConstants::MAKE_ITEM_ARR4[2][7][2] = {
+ { { 0, 0 }, { 1, 4 }, { 3, 7 }, { 4, 8 }, { 5, 9 }, { 8, 9 }, { 9, 9 } },
+ { { 0, 0 }, { 1, 4 }, { 2, 6 }, { 4, 7 }, { 6, 10 }, { 9, 13 }, { 13, 13 } }
+};
+
+const int LangConstants::MAKE_ITEM_ARR5[8][2] = {
+ { 0, 0 }, { 1, 15 }, { 16, 30 }, { 31, 40 }, { 41, 50 },
+ { 51, 60 }, { 61, 73 }, { 61, 73 }
+};
+
+const int LangConstants::OUTDOOR_DRAWSTRUCT_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 LangConstants::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 LangConstants::TOWN_ACTION_MUSIC[2][7] = {
+ { "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 LangConstants::TOWN_ACTION_SHAPES[7] = {
+ "bnkr", "blck", "gild", "tvrn", "tmpl", "trng", "eface08"
+};
+
+const int LangConstants::TOWN_ACTION_FILES[2][7] = {
+ { 3, 2, 4, 2, 4, 2, 1 }, { 5, 3, 7, 5, 4, 6, 1 }
+};
+
+const int LangConstants::TAVERN_EXIT_LIST[2][6][5][2] = {
+ {
+ { { 21, 17 }, { 0, 0 }, { 20, 3 }, { 0, 0 }, { 0, 0 } },
+ { { 13, 4 }, { 0, 0 }, { 19, 9 }, { 0, 0 }, { 0, 0 } },
+ { { 20, 10 }, { 12, 8 }, { 5, 26 }, { 3, 4 }, { 7, 5 } },
+ { { 18, 4 }, { 0, 0 }, { 19, 16 }, { 0, 0 }, { 11, 12 } },
+ { { 15, 21 }, { 0, 0 }, { 13, 21 }, { 0, 0 }, { 0, 0 } },
+ { { 10, 8 }, { 0, 0 }, { 15, 12 }, { 0, 0 }, { 0, 0 } },
+ }, {
+ { { 21, 17 }, { 0, 0 }, { 20, 3 }, { 0, 0 }, { 0, 0 } },
+ { { 13, 4 }, { 0, 0 }, { 19, 9 }, { 0, 0 }, { 0, 0 } },
+ { { 20, 10 }, { 12, 8 }, { 5, 26 }, { 3, 4 }, { 7, 5 } },
+ { { 17, 24 }, { 14, 13 }, { 0, 0 }, { 0, 0 }, { 9, 4 } },
+ { { 15, 21 }, { 0, 0 }, { 13, 21 }, { 0, 0 }, { 0, 0 } },
+ { { 10, 8 }, { 0, 0 }, { 15, 12 }, { 0, 0 }, { 0, 0 } }
+ }
+};
+
+const int LangConstants::MISC_SPELL_INDEX[74] = {
+ NO_SPELL, MS_Light, MS_Awaken, MS_MagicArrow,
+ MS_FirstAid, MS_FlyingFist, MS_EnergyBlast, MS_Sleep,
+ MS_Revitalize, MS_CureWounds, MS_Sparks, MS_Shrapmetal,
+ MS_InsectSpray, MS_ToxicCloud, MS_ProtFromElements, MS_Pain,
+ MS_Jump, MS_BeastMaster, MS_Clairvoyance, MS_TurnUndead,
+ MS_Levitate, MS_WizardEye, MS_Bless, MS_IdentifyMonster,
+ MS_LightningBolt, MS_HolyBonus, MS_PowerCure, MS_NaturesCure,
+ MS_LloydsBeacon, MS_PowerShield, MS_Heroism, MS_Hynotize,
+ MS_WalkOnWater, MS_FrostBite, MS_DetectMonster, MS_Fireball,
+ MS_ColdRay, MS_CurePoison, MS_AcidSpray, MS_TimeDistortion,
+ MS_DragonSleep, MS_CureDisease, MS_Teleport, MS_FingerOfDeath,
+ MS_CureParalysis, MS_GolemStopper, MS_PoisonVolley, MS_DeadlySwarm,
+ MS_SuperShelter, MS_DayOfProtection, MS_DayOfSorcery, MS_CreateFood,
+ MS_FieryFlail, MS_RechargeItem, MS_FantasticFreeze, MS_TownPortal,
+ MS_StoneToFlesh, MS_RaiseDead, MS_Etheralize, MS_DancingSword,
+ MS_MoonRay, MS_MassDistortion, MS_PrismaticLight, MS_EnchantItem,
+ MS_Incinerate, MS_HolyWord, MS_Resurrection, MS_ElementalStorm,
+ MS_MegaVolts, MS_Inferno, MS_SunRay, MS_Implosion,
+ MS_StarBurst, MS_DivineIntervention
+};
+
+const int LangConstants::SPELL_COSTS[77] = {
+ 8, 1, 5, -2, 5, -2, 20, 10, 12, 8, 3,
+ - 3, 75, 40, 12, 6, 200, 10, 100, 30, -1, 30,
+ 15, 25, 10, -2, 1, 2, 7, 20, -2, -2, 100,
+ 15, 5, 100, 35, 75, 5, 20, 4, 5, 1, -2,
+ 6, 2, 75, 40, 60, 6, 4, 25, -2, -2, 60,
+ - 1, 50, 15, 125, 2, -1, 3, -1, 200, 35, 150,
+ 15, 5, 4, 10, 8, 30, 4, 5, 7, 5, 0
+};
+
+const int LangConstants::DARK_SPELL_RANGES[12][2] = {
+ { 0, 20 }, { 16, 35 }, { 27, 37 }, { 29, 39 },
+ { 0, 17 }, { 14, 34 }, { 26, 37 }, { 29, 39 },
+ { 0, 20 }, { 16, 35 }, { 27, 37 }, { 29, 39 }
+};
+
+const int LangConstants::SWORDS_SPELL_RANGES[12][2] = {
+ { 0, 20 },{ 16, 35 },{ 27, 39 },{ 29, 39 },
+ { 0, 17 },{ 14, 34 },{ 26, 39 },{ 29, 39 },
+ { 0, 20 },{ 16, 35 },{ 27, 39 },{ 29, 39 }
+};
+
+const int LangConstants::CLOUDS_GUILD_SPELLS[5][20] = {
+ {
+ 1, 10, 20, 26, 27, 38, 40, 42, 45, 50,
+ 55, 59, 60, 61, 62, 68, 72, 75, 77, 77
+ }, {
+ 3, 4, 5, 14, 15, 25, 30, 31, 34, 41,
+ 49, 51, 53, 67, 73, 75, -1, -1, -1, -1
+ }, {
+ 4, 8, 9, 12, 13, 22, 23, 24, 28, 34,
+ 41, 44, 52, 70, 73, 74, -1, -1, -1, -1
+ }, {
+ 6, 7, 9, 11, 12, 13, 17, 21, 22, 24,
+ 29, 36, 56, 58, 64, 71, -1, -1, -1, -1
+ }, {
+ 6, 7, 9, 11, 12, 13, 18, 21, 29, 32,
+ 36, 37, 46, 51, 56, 58, 69, -1, -1, -1
+ }
+};
+
+const int LangConstants::DARK_SPELL_OFFSETS[3][39] = {
+ {
+ 42, 1, 26, 59, 27, 10, 50, 68, 55, 62, 67, 73, 2,
+ 5, 3, 31, 30, 52, 49, 28, 74, 0, 9, 7, 14, 8,
+ 33, 6, 23, 71, 64, 56, 48, 46, 12, 32, 58, 65, 16
+ }, {
+ 42, 1, 45, 61, 72, 40, 20, 60, 38, 41, 75, 34, 4,
+ 43, 25, 53, 44, 15, 70, 17, 24, 69, 22, 66, 57, 11,
+ 29, 39, 51, 21, 19, 36, 47, 13, 54, 37, 18, 35, 63
+ }, {
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
+ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38
+ }
+};
+
+const int LangConstants::SPELL_GEM_COST[77] = {
+ 0, 0, 2, 1, 2, 4, 5, 0, 0, 0, 0, 10, 10, 10, 0, 0, 20, 4, 10, 20, 1, 10,
+ 5, 5, 4, 2, 0, 0, 0, 10, 3, 1, 20, 4, 0, 20, 10, 10, 1, 10, 0, 0, 0, 2,
+ 2, 0, 10, 10, 10, 0, 0, 10, 3, 2, 10, 1, 10, 10, 20, 0, 0, 1, 1, 20, 5, 20,
+ 5, 0, 0, 0, 0, 5, 1, 2, 0, 2, 0
+};
+
+const int LangConstants::BLACKSMITH_MAP_IDS[2][4] = { { 28, 30, 73, 49 }, { 29, 31, 37, 43 } };
+
+const int LangConstants::WEAPON_BASE_COSTS[35] = {
+ 0, 50, 15, 100, 80, 40, 60, 1, 10, 150, 30, 60, 8, 50,
+ 100, 15, 30, 15, 200, 80, 250, 150, 400, 100, 40, 120,
+ 300, 100, 200, 300, 25, 100, 50, 15, 0
+};
+const int LangConstants::ARMOR_BASE_COSTS[14] = {
+ 0, 20, 100, 200, 400, 600, 1000, 2000, 100, 60, 40, 250, 200, 100
+};
+const int LangConstants::ACCESSORY_BASE_COSTS[11] = {
+ 0, 100, 100, 250, 100, 50, 300, 200, 500, 1000, 2000
+};
+const int LangConstants::MISC_MATERIAL_COSTS[22] = {
+ 0, 50, 1000, 500, 10, 100, 20, 10, 50, 10, 10, 100,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
+};
+const int LangConstants::MISC_BASE_COSTS[76] = {
+ 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
+ 100, 100, 100, 100, 200, 200, 200, 200, 200, 200, 200, 200,
+ 200, 200, 200, 200, 200, 200, 200, 300, 300, 300, 300, 300,
+ 300, 300, 300, 300, 300, 400, 400, 400, 400, 400, 400, 400,
+ 400, 400, 400, 500, 500, 500, 500, 500, 500, 500, 500, 500,
+ 500, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
+ 600, 600, 600, 600
+};
+const int LangConstants::METAL_BASE_MULTIPLIERS[22] = {
+ 10, 25, 5, 75, 2, 5, 10, 20, 50, 2, 3, 5, 10, 20, 30, 40,
+ 50, 60, 70, 80, 90, 100
+};
+const int LangConstants::ITEM_SKILL_DIVISORS[4] = { 1, 2, 100, 10 };
+
+const int LangConstants::RESTRICTION_OFFSETS[4] = { 0, 35, 49, 60 };
+
+const int LangConstants::ITEM_RESTRICTIONS[86] = {
+ 0, 86, 86, 86, 86, 86, 86, 0, 6, 239, 239, 239, 2, 4, 4, 4, 4,
+ 6, 70, 70, 70, 70, 94, 70, 0, 4, 239, 86, 86, 86, 70, 70, 70, 70,
+ 0, 0, 0, 68, 100, 116, 125, 255, 255, 85, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+};
+
+const int LangConstants::NEW_CHAR_SKILLS[10] = { 1, 5, -1, -1, 4, 0, 0, -1, 6, 11 };
+const int LangConstants::NEW_CHAR_SKILLS_LEN[10] = { 11, 8, 0, 0, 12, 8, 8, 0, 9, 11 };
+const int LangConstants::NEW_CHAR_RACE_SKILLS[10] = { 14, -1, 17, 16, -1, 0, 0, 0, 0, 0 };
+
+const int LangConstants::RACE_MAGIC_RESISTENCES[5] = { 7, 5, 20, 0, 0 };
+const int LangConstants::RACE_FIRE_RESISTENCES[5] = { 7, 0, 2, 5, 10 };
+const int LangConstants::RACE_ELECTRIC_RESISTENCES[5] = { 7, 0, 2, 5, 10 };
+const int LangConstants::RACE_COLD_RESISTENCES[5] = { 7, 0, 2, 5, 10 };
+const int LangConstants::RACE_ENERGY_RESISTENCES[5] = { 7, 5, 2, 5, 0 };
+const int LangConstants::RACE_POISON_RESISTENCES[5] = { 7, 0, 2, 20, 0 };
+const int LangConstants::NEW_CHARACTER_SPELLS[10][4] = {
+ { -1, -1, -1, -1 },
+ { 21, -1, -1, -1 },
+ { 22, -1, -1, -1 },
+ { 21, 1, 14, -1 },
+ { 22, 0, 25, -1 },
+ { -1, -1, -1, -1 },
+ { -1, -1, -1, -1 },
+ { -1, -1, -1, -1 },
+ { 20, 1, 11, 23 },
+ { 20, 1, -1, -1 }
+};
+
+const int LangConstants::TOWN_MAP_NUMBERS[3][5] = {
+ { 28, 29, 30, 31, 32 }, { 29, 31, 33, 35, 37 }, { 53, 92, 63, 0, 0 }
+};
+
+const char *const LangConstants::EVENT_SAMPLES[6] = {
+ "ahh.voc", "whereto.voc", "gulp.voc", "null.voc", "scream.voc", "laff1.voc"
+};
+
+const char *const LangConstants::MUSIC_FILES1[5] = {
+ "outdoors.m", "town.m", "cavern.m", "dungeon.m", "castle.m"
+};
+
+const char *const LangConstants::MUSIC_FILES2[6][7] = {
+ { "outday1.m", "outday2.m", "outday4.m", "outnght1.m",
+ "outnght2.m", "outnght4.m", "daydesrt.m" },
+ { "townday1.m", "twnwlk.m", "newbrigh.m", "twnnitea.m",
+ "twnniteb.m", "twnwlk.m", "townday1.m" },
+ { "cavern1.m", "cavern2.m", "cavern3a.m", "cavern1.m",
+ "cavern2.m", "cavern3a.m", "cavern1.m" },
+ { "dngon1.m", "dngon2.m", "dngon3.m", "dngon1.m",
+ "dngon2.m", "dngon3.m", "dngon1.m" },
+ { "cstl1rev.m", "cstl2rev.m", "cstl3rev.m", "cstl1rev.m",
+ "cstl2rev.m", "cstl3rev.m", "cstl1rev.m" },
+ { "sf05.m", "sf05.m", "sf05.m", "sf05.m", "sf05.m", "sf05.m", "sf05.m" }
+};
+
+
void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
Common::MemFile file;
file.syncString(CLOUDS_CREDITS());
@@ -43,8 +868,6 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(SWORDS_CREDITS2());
file.syncString(OPTIONS_MENU());
file.syncStrings(GAME_NAMES(), 3);
- delete[] _gameNames;
- _gameNames = NULL;
file.syncString(THE_PARTY_NEEDS_REST());
file.syncString(WHO_WILL());
file.syncString(HOW_MUCH());
@@ -56,44 +879,22 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncStrings(OUTDOORS_WALL_TYPES, 16);
file.syncStrings(SURFACE_NAMES, 16);
file.syncStrings(WHO_ACTIONS(), 32);
- delete[] _whoActions;
- _whoActions = NULL;
file.syncStrings(WHO_WILL_ACTIONS(), 4);
- delete[] _whoWillActions;
- _whoWillActions = NULL;
file.syncBytes2D((const byte *)SYMBOLS, 20, 64);
file.syncBytes2D((const byte *)TEXT_COLORS, 40, 4);
file.syncBytes2D((const byte *)TEXT_COLORS_STARTUP, 40, 4);
file.syncStrings(DIRECTION_TEXT_UPPER(), 4);
- delete[] _directionTextUpper;
- _directionTextUpper = NULL;
file.syncStrings(DIRECTION_TEXT(), 4);
- delete[] _directionText;
- _directionText = NULL;
file.syncStrings(RACE_NAMES(), 5);
- delete[] _raceNames;
- _raceNames = NULL;
file.syncNumbers(RACE_HP_BONUSES, 5);
file.syncNumbers2D((const int *)RACE_SP_BONUSES, 5, 2);
file.syncStrings(CLASS_NAMES(), 11);
- delete[] _classNames;
- _classNames = NULL;
file.syncNumbers(CLASS_EXP_LEVELS, 10);
file.syncStrings(ALIGNMENT_NAMES(), 3);
- delete[] _alignmentNames;
- _alignmentNames = NULL;
file.syncStrings(SEX_NAMES(), 2);
- delete[] _sexNames;
- _sexNames = NULL;
file.syncStrings(SKILL_NAMES(), 18);
- delete[] _skillNames;
- _skillNames = NULL;
file.syncStrings(CONDITION_NAMES_M(), 17);
- delete[] _conditionNamesM;
- _conditionNamesM = NULL;
file.syncStrings(CONDITION_NAMES_F(), 17);
- delete[] _conditionNamesF;
- _conditionNamesF = NULL;
file.syncNumbers(CONDITION_COLORS, 17);
file.syncString(GOOD());
file.syncString(BLESSED());
@@ -172,25 +973,13 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(GOLD_GEMS());
file.syncString(GOLD_GEMS_2());
file.syncStrings(DEPOSIT_WITHDRAWL(), 2);
- delete[] _depositWithdrawl;
- _depositWithdrawl = NULL;
file.syncString(NOT_ENOUGH_X_IN_THE_Y());
file.syncString(NO_X_IN_THE_Y());
file.syncStrings(STAT_NAMES(), 16);
- delete[] _statNames;
- _statNames = NULL;
file.syncStrings(CONSUMABLE_NAMES(), 4);
- delete[] _consumableNames;
- _consumableNames = NULL;
file.syncStrings(CONSUMABLE_GOLD_FORMS(), 1);
- delete[] _consumableGoldForms;
- _consumableGoldForms = NULL;
file.syncStrings(CONSUMABLE_GEM_FORMS(), 1);
- delete[] _consumableGemForms;
- _consumableGemForms = NULL;
file.syncStrings(WHERE_NAMES(), 2);
- delete[] _whereNames;
- _whereNames = NULL;
file.syncString(AMOUNT());
file.syncString(FOOD_PACKS_FULL());
file.syncString(BUY_SPELLS());
@@ -226,8 +1015,6 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(CLOUDS_GAME_TEXT());
file.syncString(SWORDS_GAME_TEXT());
file.syncStrings(WEEK_DAY_STRINGS(), 10);
- delete[] _weekDayStrings;
- _weekDayStrings = NULL;
file.syncString(CHARACTER_DETAILS());
file.syncStrings(DAYS(), 3);
file.syncString(PARTY_GOLD());
@@ -237,11 +1024,7 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(CURRENT_MAXIMUM_RATING_TEXT());
file.syncString(CURRENT_MAXIMUM_TEXT());
file.syncStrings(RATING_TEXT(), 24);
- delete[] _ratingText;
- _ratingText = NULL;
file.syncStrings(BORN(), 2);
- delete[] _born;
- _born = NULL;
file.syncString(AGE_TEXT());
file.syncString(LEVEL_TEXT());
file.syncString(RESISTENCES_TEXT());
@@ -250,8 +1033,6 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(ELIGIBLE());
file.syncString(IN_PARTY_IN_BANK());
file.syncStrings(FOOD_ON_HAND(), 3);
- delete[] _onHand;
- _onHand = NULL;
file.syncString(FOOD_TEXT());
file.syncString(EXCHANGE_WITH_WHOM());
file.syncString(QUICK_REF_LINE());
@@ -277,38 +1058,16 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(ITEM_CURSED());
file.syncString(ITEM_OF());
file.syncStrings(BONUS_NAMES(), 7);
- delete[] _bonusNames;
- _bonusNames = NULL;
file.syncStrings(WEAPON_NAMES(), 41);
- delete[] _weaponNames;
- _weaponNames = NULL;
file.syncStrings(ARMOR_NAMES(), 14);
- delete[] _armorNames;
- _armorNames = NULL;
file.syncStrings(ACCESSORY_NAMES(), 11);
- delete[] _accessoryNames;
- _accessoryNames = NULL;
file.syncStrings(MISC_NAMES(), 22);
- delete[] _miscNames;
- _miscNames = NULL;
file.syncStrings(SPECIAL_NAMES(), 74);
- delete[] _specialNames;
- _specialNames = NULL;
file.syncStrings(ELEMENTAL_NAMES(), 6);
- delete[] _elementalNames;
- _elementalNames = NULL;
file.syncStrings(ATTRIBUTE_NAMES(), 10);
- delete[] _attributeNames;
- _attributeNames = NULL;
file.syncStrings(EFFECTIVENESS_NAMES(), 7);
- delete[] _effectivenessNames;
- _effectivenessNames = NULL;
file.syncStrings(QUEST_ITEM_NAMES(), 85);
- delete[] _questItemNames;
- _questItemNames = NULL;
file.syncStrings(QUEST_ITEM_NAMES_SWORDS(), 51);
- delete[] _questItemNamesSwords;
- _questItemNamesSwords = NULL;
file.syncNumbers((const int *)WEAPON_BASE_COSTS, 35);
file.syncNumbers((const int *)ARMOR_BASE_COSTS, 14);
file.syncNumbers((const int *)ACCESSORY_BASE_COSTS, 11);
@@ -321,8 +1080,6 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(NOT_PROFICIENT());
file.syncString(NO_ITEMS_AVAILABLE());
file.syncStrings(CATEGORY_NAMES(), 4);
- delete[] _categoryNames;
- _categoryNames = NULL;
file.syncString(X_FOR_THE_Y());
file.syncString(X_FOR_Y());
file.syncString(X_FOR_Y_GOLD());
@@ -331,8 +1088,6 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(CHARGES());
file.syncString(COST());
file.syncStrings(ITEM_ACTIONS(), 7);
- delete[] _itemActions;
- _itemActions = NULL;
file.syncString(WHICH_ITEM());
file.syncString(WHATS_YOUR_HURRY());
file.syncString(USE_ITEM_IN_COMBAT());
@@ -350,16 +1105,12 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(BUY_X_FOR_Y_GOLD());
file.syncString(SELL_X_FOR_Y_GOLD());
file.syncStrings(GOLDS(), 2);
- delete[] _sellXForYGoldEndings;
- _sellXForYGoldEndings = NULL;
file.syncString(NO_NEED_OF_THIS());
file.syncString(NOT_RECHARGABLE());
file.syncString(SPELL_FAILED());
file.syncString(NOT_ENCHANTABLE());
file.syncString(ITEM_NOT_BROKEN());
file.syncStrings(FIX_IDENTIFY(), 2);
- delete[] _fixIdentify;
- _fixIdentify = NULL;
file.syncString(FIX_IDENTIFY_GOLD());
file.syncString(IDENTIFY_ITEM_MSG());
file.syncString(ITEM_DETAILS());
@@ -388,8 +1139,6 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(CANT_DISMISS_LAST_CHAR());
file.syncString(DELETE_CHAR_WITH_ELDER_WEAPON());
file.syncStrings(REMOVE_DELETE(), 2);
- delete[] _removeDelete;
- _removeDelete = NULL;
file.syncString(REMOVE_OR_DELETE_WHICH());
file.syncString(YOUR_PARTY_IS_FULL());
file.syncString(HAS_SLAYER_SWORD());
@@ -413,16 +1162,12 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(COMBAT_DETAILS());
file.syncString(NOT_ENOUGH_TO_CAST());
file.syncStrings(SPELL_CAST_COMPONENTS(), 2);
- delete[] _spellCastComponents;
- _spellCastComponents = NULL;
file.syncString(CAST_SPELL_DETAILS());
file.syncString(PARTY_FOUND());
file.syncString(BACKPACKS_FULL_PRESS_KEY());
file.syncString(HIT_A_KEY());
file.syncString(GIVE_TREASURE_FORMATTING());
file.syncStrings(FOUND(), 2);
- delete[] _found;
- _found = NULL;
file.syncString(X_FOUND_Y());
file.syncString(ON_WHO());
file.syncString(WHICH_ELEMENT1());
@@ -435,8 +1180,6 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncNumbers2D((const int *)TOWN_MAP_NUMBERS, 3, 5);
file.syncString(MONSTER_DETAILS());
file.syncStrings(MONSTER_SPECIAL_ATTACKS(), 23);
- delete[] _monsterSpecialAttacks;
- _monsterSpecialAttacks = NULL;
file.syncString(IDENTIFY_MONSTERS());
file.syncStrings(EVENT_SAMPLES, 6);
file.syncString(MOONS_NOT_ALIGNED());
@@ -449,12 +1192,8 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(WARZONE_HOW_MANY());
file.syncString(PICKS_THE_LOCK());
file.syncStrings(PICK_FORM(), 2);
- delete[] _pickForm;
- _pickForm = NULL;
file.syncString(UNABLE_TO_PICK_LOCK());
file.syncStrings(UNABLE_TO_PICK_FORM(), 2);
- delete[] _unableToPickForm;
- _unableToPickForm = NULL;
file.syncString(CONTROL_PANEL_TEXT());
file.syncString(CONTROL_PANEL_BUTTONS());
file.syncString(ON());
@@ -465,18 +1204,12 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(NO_SAVING_IN_COMBAT());
file.syncString(QUICK_FIGHT_TEXT());
file.syncStrings(QUICK_FIGHT_OPTIONS(), 4);
- delete[] _quickFightOptions;
- _quickFightOptions = NULL;
file.syncStrings(WORLD_END_TEXT(), 9);
- delete[] _worldEndText;
- _worldEndText = NULL;
file.syncString(WORLD_CONGRATULATIONS());
file.syncString(WORLD_CONGRATULATIONS2());
file.syncString(CLOUDS_CONGRATULATIONS1());
file.syncString(CLOUDS_CONGRATULATIONS2());
file.syncStrings(GOOBER(), 3);
- delete[] _goober;
- _goober = NULL;
file.syncStrings(MUSIC_FILES1, 5);
file.syncStrings2D((const char *const *)MUSIC_FILES2, 6, 7);
file.syncString(DIFFICULTY_TEXT());
@@ -487,8 +1220,6 @@ void LangConstants::writeConstants(Common::String num, CCArchive &cc) {
file.syncString(PHAROAH_ENDING_TEXT1());
file.syncString(PHAROAH_ENDING_TEXT2());
file.syncStrings(MAE_NAMES(), 131);
- delete[] _maeNames;
- _maeNames = NULL;
cc.add("CONSTANTS" + num, file);
diff --git a/devtools/create_xeen/constants.h b/devtools/create_xeen/constants.h
index bd52b258a5..d8aa2db24b 100644
--- a/devtools/create_xeen/constants.h
+++ b/devtools/create_xeen/constants.h
@@ -107,59 +107,97 @@ enum MagicSpell {
};
class LangConstants {
-protected:
- const char **_gameNames = NULL;
- const char **_whoWillActions = NULL;
- const char **_whoActions = NULL;
- const char **_directionText = NULL;
- const char **_directionTextUpper = NULL;
- const char **_raceNames = NULL;
- const char **_sexNames = NULL;
- const char **_alignmentNames = NULL;
- const char **_skillNames = NULL;
- const char **_classNames = NULL;
- const char **_conditionNamesM = NULL;
- const char **_conditionNamesF = NULL;
- const char **_depositWithdrawl = NULL;
- const char **_statNames = NULL;
- const char **_whereNames = NULL;
- const char **_consumableNames = NULL;
- const char **_consumableGoldForms = NULL;
- const char **_consumableGemForms = NULL;
- const char **_weekDayStrings = NULL;
- const char **_ratingText = NULL;
- const char **_bonusNames = NULL;
- const char **_weaponNames = NULL;
- const char **_armorNames = NULL;
- const char **_accessoryNames = NULL;
- const char **_miscNames = NULL;
- const char **_elementalNames = NULL;
- const char **_specialNames = NULL;
- const char **_attributeNames = NULL;
- const char **_effectivenessNames = NULL;
- const char **_questItemNamesSwords = NULL;
- const char **_questItemNames = NULL;
- const char **_categoryNames = NULL;
- const char **_itemActions = NULL;
- const char **_categoryBackpackIsFull = NULL;
- const char **_fixIdentify = NULL;
- const char **_removeDelete = NULL;
- const char **_spellCastComponents = NULL;
- const char **_monsterSpecialAttacks = NULL;
- const char **_pickForm = NULL;
- const char **_unableToPickForm = NULL;
- const char **_quickFightOptions = NULL;
- const char **_goober = NULL;
- const char **_worldEndText = NULL;
- const char **_days = NULL;
- const char **_sellXForYGoldEndings = NULL;
- const char **_found = NULL;
- const char **_born = NULL;
- const char **_onHand = NULL;
- const char **_maeNames = NULL;
- const int *_newCharSkillsOffset = NULL;
-
public:
+ static const char *const TERRAIN_TYPES[6];
+ static const char *const OUTDOORS_WALL_TYPES[16];
+ static const char *const SURFACE_NAMES[16];
+ static const byte SYMBOLS[20][64];
+ static const byte TEXT_COLORS[40][4];
+ static const byte TEXT_COLORS_STARTUP[40][4];
+ static const int RACE_HP_BONUSES[5];
+ static const int RACE_SP_BONUSES[5][2];
+ static const int CLASS_EXP_LEVELS[10];
+ static const int CONDITION_COLORS[17];
+ static const int FACE_CONDITION_FRAMES[17];
+ static const int CHAR_FACES_X[6];
+ static const int HP_BARS_X[6];
+ static const byte DARKNESS_XLAT[3][256];
+ static const int SCREEN_POSITIONING_X[4][48];
+ static const int SCREEN_POSITIONING_Y[4][48];
+ static const int MONSTER_GRID_BITMASK[12];
+ static const int INDOOR_OBJECT_X[2][12];
+ static const int MAP_OBJECT_Y[2][12];
+ static const int INDOOR_MONSTERS_Y[4];
+ static const int OUTDOOR_OBJECT_X[2][12];
+ static const int OUTDOOR_MONSTER_INDEXES[26];
+ static const int OUTDOOR_MONSTERS_Y[26];
+ static const int DIRECTION_ANIM_POSITIONS[4][4];
+ static const byte WALL_SHIFTS[4][48];
+ static const int DRAW_NUMBERS[25];
+ static const int DRAW_FRAMES[25][2];
+ static const int COMBAT_FLOAT_X[8];
+ static const int COMBAT_FLOAT_Y[8];
+ static const int MONSTER_EFFECT_FLAGS[15][8];
+ static const int SPELLS_ALLOWED[3][40];
+ static const int BASE_HP_BY_CLASS[10];
+ static const int AGE_RANGES[10];
+ static const int AGE_RANGES_ADJUST[2][10];
+ static const int STAT_VALUES[24];
+ static const int STAT_BONUSES[24];
+ static const int ELEMENTAL_CATEGORIES[6];
+ static const int ATTRIBUTE_CATEGORIES[10];
+ static const int ATTRIBUTE_BONUSES[72];
+ static const int ELEMENTAL_RESISTENCES[37];
+ static const int ELEMENTAL_DAMAGE[37];
+ static const int WEAPON_DAMAGE_BASE[35];
+ static const int WEAPON_DAMAGE_MULTIPLIER[35];
+ static const int METAL_DAMAGE[22];
+ static const int METAL_DAMAGE_PERCENT[22];
+ static const int METAL_LAC[22];
+ static const int ARMOR_STRENGTHS[14];
+ static const int MAKE_ITEM_ARR1[6];
+ static const int MAKE_ITEM_ARR2[6][7][2];
+ static const int MAKE_ITEM_ARR3[10][7][2];
+ static const int MAKE_ITEM_ARR4[2][7][2];
+ static const int MAKE_ITEM_ARR5[8][2];
+ static const int OUTDOOR_DRAWSTRUCT_INDEXES[44];
+ static const int TOWN_MAXES[2][11];
+ static const char *const TOWN_ACTION_MUSIC[2][7];
+ static const char *const TOWN_ACTION_SHAPES[7];
+ static const int TOWN_ACTION_FILES[2][7];
+ static const int TAVERN_EXIT_LIST[2][6][5][2];
+ static const int MISC_SPELL_INDEX[74];
+ static const int SPELL_COSTS[77];
+ static const int DARK_SPELL_RANGES[12][2];
+ static const int SWORDS_SPELL_RANGES[12][2];
+ static const int CLOUDS_GUILD_SPELLS[5][20];
+ static const int DARK_SPELL_OFFSETS[3][39];
+ static const int SPELL_GEM_COST[77];
+ static const int BLACKSMITH_MAP_IDS[2][4];
+ static const int WEAPON_BASE_COSTS[35];
+ static const int ARMOR_BASE_COSTS[14];
+ static const int ACCESSORY_BASE_COSTS[11];
+ static const int MISC_MATERIAL_COSTS[22];
+ static const int MISC_BASE_COSTS[76];
+ static const int METAL_BASE_MULTIPLIERS[22];
+ static const int ITEM_SKILL_DIVISORS[4];
+ static const int RESTRICTION_OFFSETS[4];
+ static const int ITEM_RESTRICTIONS[86];
+ static const int NEW_CHAR_SKILLS[10];
+ static const int NEW_CHAR_SKILLS_LEN[10];
+ static const int NEW_CHAR_RACE_SKILLS[10];
+ static const int RACE_MAGIC_RESISTENCES[5];
+ static const int RACE_FIRE_RESISTENCES[5];
+ static const int RACE_ELECTRIC_RESISTENCES[5];
+ static const int RACE_COLD_RESISTENCES[5];
+ static const int RACE_ENERGY_RESISTENCES[5];
+ static const int RACE_POISON_RESISTENCES[5];
+ static const int NEW_CHARACTER_SPELLS[10][4];
+ static const int TOWN_MAP_NUMBERS[3][5];
+ static const char *const EVENT_SAMPLES[6];
+ static const char *const MUSIC_FILES1[5];
+ static const char *const MUSIC_FILES2[6][7];
+
virtual ~LangConstants() {}
virtual const char *CLOUDS_CREDITS() = 0;
virtual const char *DARK_SIDE_CREDITS() = 0;
@@ -174,262 +212,17 @@ public:
virtual const char *PASSWORD_INCORRECT() = 0;
virtual const char *IN_NO_CONDITION() = 0;
virtual const char *NOTHING_HERE() = 0;
-
- const char *const TERRAIN_TYPES[6] = {
- "town", "cave", "towr", "cstl", "dung", "scfi"
- };
-
- const char *const OUTDOORS_WALL_TYPES[16] = {
- nullptr, "mount", "ltree", "dtree", "grass", "snotree", "dsnotree",
- "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"
- };
-
virtual const char **WHO_ACTIONS() = 0;
virtual const char **WHO_WILL_ACTIONS() = 0;
-
- 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},
- };
-
- const byte TEXT_COLORS_STARTUP[40][4] = {
- {0x00, 0x19, 0x19, 0x19},
- {0x00, 0x08, 0x08, 0x08},
- {0x00, 0x0F, 0x0F, 0x0F},
- {0x00, 0x15, 0x15, 0x15},
- {0x00, 0x01, 0x01, 0x01},
- {0x00, 0x1F, 0x1F, 0x1F},
- {0x00, 0x26, 0x26, 0x26},
- {0x00, 0x2B, 0x2B, 0x2B},
- {0x00, 0x31, 0x31, 0x31},
- {0x00, 0x36, 0x36, 0x36},
- {0x00, 0x3D, 0x3D, 0x3D},
- {0x00, 0x42, 0x42, 0x42},
- {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, 0x19, 0x19, 0x19},
- {0x00, 0x31, 0x31, 0x31}
- };
-
virtual const char **DIRECTION_TEXT_UPPER() = 0;
virtual const char **DIRECTION_TEXT() = 0;
virtual const char **RACE_NAMES() = 0;
-
- 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}
- };
-
virtual const char **ALIGNMENT_NAMES() = 0;
virtual const char **SEX_NAMES() = 0;
virtual const char **SKILL_NAMES() = 0;
virtual const char **CLASS_NAMES() = 0;
-
- const int CLASS_EXP_LEVELS[10] = {
- 1500, 2000, 2000, 1500, 2000, 1000, 1500, 1500, 1500, 2000
- };
-
virtual const char **CONDITION_NAMES_M() = 0;
virtual const char **CONDITION_NAMES_F() = 0;
-
- const int CONDITION_COLORS[17] = {
- 9, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32, 32, 6, 6, 6, 6, 15
- };
-
virtual const char *GOOD() = 0;
virtual const char *BLESSED() = 0;
virtual const char *POWER_SHIELD() = 0;
@@ -438,378 +231,10 @@ public:
virtual const char *IN_PARTY() = 0;
virtual const char *PARTY_DETAILS() = 0;
virtual const char *PARTY_DIALOG_TEXT() = 0;
-
- 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};
-
virtual const char *NO_ONE_TO_ADVENTURE_WITH() = 0;
virtual const char *YOUR_ROSTER_IS_FULL() = 0;
-
- const byte DARKNESS_XLAT[3][256] = {
- {
- 0, 25, 26, 27, 28, 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 44, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 60, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 76, 77, 78, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 92, 93, 94, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 108, 109, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 124, 125, 126, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 140, 141, 142, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 168, 169, 170, 171, 172, 173, 174, 175, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 188, 189, 190, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 204, 205, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 220, 221, 222, 223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 236, 237, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 252, 253, 254, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- }, {
- 0, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 40, 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0,
- 56, 57, 58, 59, 60, 61, 62, 63, 0, 0, 0, 0, 0, 0, 0, 0,
- 72, 73, 74, 75, 76, 77, 78, 79, 0, 0, 0, 0, 0, 0, 0, 0,
- 88, 89, 90, 91, 92, 93, 94, 95, 0, 0, 0, 0, 0, 0, 0, 0,
- 104, 105, 106, 107, 108, 109, 110, 111, 0, 0, 0, 0, 0, 0, 0, 0,
- 120, 121, 122, 123, 124, 125, 126, 127, 0, 0, 0, 0, 0, 0, 0, 0,
- 136, 137, 138, 139, 140, 141, 142, 143, 0, 0, 0, 0, 0, 0, 0, 0,
- 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 184, 185, 186, 187, 188, 189, 190, 191, 0, 0, 0, 0, 0, 0, 0, 0,
- 200, 201, 202, 203, 204, 205, 206, 207, 0, 0, 0, 0, 0, 0, 0, 0,
- 216, 217, 218, 219, 220, 221, 222, 223, 0, 0, 0, 0, 0, 0, 0, 0,
- 232, 233, 234, 235, 236, 237, 238, 239, 0, 0, 0, 0, 0, 0, 0, 0,
- 248, 249, 250, 251, 252, 253, 254, 255, 0, 0, 0, 0, 0, 0, 0, 0
- }, {
- 0, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31, 0, 0, 0, 0, 0, 0, 0, 0,
- 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 0, 0, 0, 0,
- 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 0, 0, 0, 0,
- 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 0, 0, 0, 0,
- 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 0, 0, 0, 0,
- 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 0, 0, 0, 0,
- 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 0, 0, 0, 0,
- 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 0, 0, 0, 0,
- 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167,
- 168, 169, 170, 171, 172, 173, 174, 175, 0, 0, 0, 0, 0, 0, 0, 0,
- 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 0, 0, 0, 0,
- 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 0, 0, 0, 0,
- 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 0, 0, 0, 0,
- 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 0, 0, 0, 0,
- 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 0, 0, 0, 0
- }
- };
-
virtual const char *PLEASE_WAIT() = 0;
virtual const char *OOPS() = 0;
-
- const int 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 int 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 MONSTER_GRID_BITMASK[12] = {
- 0xC, 8, 4, 0, 0xF, 0xF000, 0xF00, 0xF0, 0xF00, 0xF0, 0x0F, 0xF000
- };
-
- 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 }
- };
-
- 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 }
- };
-
- 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 }
- };
-
- 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] = {
- {
- 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
- }, {
- 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
- }, {
- 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
- }, {
- 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
- }
- };
-
- 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
- };
-
- 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 },
- { 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 }
- };
-
- const int SPELLS_ALLOWED[3][40] = {
- {
- 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 WEAPON_DAMAGE_BASE[35] = {
- 0, 3, 2, 3, 2, 2, 4, 1, 2, 4, 2, 3,
- 2, 2, 1, 1, 1, 1, 4, 4, 3, 2, 4, 2,
- 2, 2, 5, 3, 3, 3, 3, 5, 4, 2, 6
- };
-
- const int WEAPON_DAMAGE_MULTIPLIER[35] = {
- 0, 3, 3, 4, 5, 4, 2, 3, 3, 3, 3, 3,
- 2, 4, 10, 6, 8, 9, 4, 3, 6, 8, 5, 6,
- 4, 5, 3, 5, 6, 7, 2, 2, 2, 2, 4
- };
-
- const int METAL_DAMAGE[22] = {
- -3, -6, -4, -2, 2, 4, 6, 8, 10, 0, 1,
- 1, 2, 2, 3, 4, 5, 12, 15, 20, 30, 50
- };
-
- const int METAL_DAMAGE_PERCENT[22] = {
- 253, 252, 3, 2, 1, 2, 3, 4, 6, 0, 1,
- 1, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10
- };
-
- const int METAL_LAC[22] = {
- -3, 0, -2, -1, 1, 2, 4, 6, 8, 0, 1,
- 1, 2, 2, 3, 4, 5, 10, 12, 14, 16, 20
- };
-
- const int ARMOR_STRENGTHS[14] = { 0, 2, 4, 5, 6, 7, 8, 10, 4, 2, 1, 1, 1, 1 };
-
- const int MAKE_ITEM_ARR1[6] = { 0, 8, 15, 20, 25, 33 };
-
- const int MAKE_ITEM_ARR2[6][7][2] = {
- { { 0, 0 }, { 1, 3 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 5, 8 }, { 8, 8 } },
- { { 0, 0 }, { 1, 3 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 6, 7 }, { 7, 7 } },
- { { 0, 0 }, { 1, 2 }, { 1, 3 }, { 2, 4 }, { 3, 5 }, { 4, 5 }, { 5, 5 } },
- { { 0, 0 }, { 1, 2 }, { 1, 3 }, { 2, 4 }, { 3, 4 }, { 4, 5 }, { 5, 5 } },
- { { 0, 0 }, { 1, 3 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 5, 8 }, { 8, 8 } },
- { { 0, 0 }, { 1, 1 }, { 1, 1 }, { 1, 2 }, { 2, 2 }, { 2, 3 }, { 3, 3 } }
- };
-
- const int MAKE_ITEM_ARR3[10][7][2] = {
- { { 0, 0 }, { 1, 4 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 6, 10 }, { 10, 10 } },
- { { 0, 0 }, { 1, 3 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 5, 8 }, { 8, 8 } },
- { { 0, 0 }, { 1, 3 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 5, 8 }, { 8, 8 } },
- { { 0, 0 }, { 1, 3 }, { 2, 5 }, { 3, 6 }, { 4, 7 }, { 5, 8 }, { 8, 8 } },
- { { 0, 0 }, { 1, 2 }, { 1, 3 }, { 2, 4 }, { 3, 5 }, { 4, 6 }, { 6, 6 } },
- { { 0, 0 }, { 1, 2 }, { 2, 3 }, { 3, 4 }, { 4, 5 }, { 5, 6 }, { 6, 6 } },
- { { 0, 0 }, { 1, 2 }, { 1, 3 }, { 2, 4 }, { 3, 4 }, { 4, 5 }, { 5, 5 } },
- { { 0, 0 }, { 1, 2 }, { 1, 3 }, { 2, 4 }, { 3, 5 }, { 4, 6 }, { 6, 6 } },
- { { 0, 0 }, { 1, 2 }, { 1, 3 }, { 2, 4 }, { 3, 4 }, { 4, 5 }, { 5, 5 } },
- { { 0, 0 }, { 1, 2 }, { 1, 4 }, { 3, 6 }, { 5, 8 }, { 7, 10 }, { 10, 10 } }
- };
-
- const int MAKE_ITEM_ARR4[2][7][2] = {
- { { 0, 0 }, { 1, 4 }, { 3, 7 }, { 4, 8 }, { 5, 9 }, { 8, 9 }, { 9, 9 } },
- { { 0, 0 }, { 1, 4 }, { 2, 6 }, { 4, 7 }, { 6, 10 }, { 9, 13 }, { 13, 13 } }
- };
-
- const int MAKE_ITEM_ARR5[8][2] = {
- { 0, 0 }, { 1, 15 }, { 16, 30 }, { 31, 40 }, { 41, 50 },
- { 51, 60 }, { 61, 73 }, { 61, 73 }
- };
-
- const int OUTDOOR_DRAWSTRUCT_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[2][7] = {
- { "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[7] = {
- "bnkr", "blck", "gild", "tvrn", "tmpl", "trng", "eface08"
- };
-
- const int TOWN_ACTION_FILES[2][7] = {
- { 3, 2, 4, 2, 4, 2, 1 }, { 5, 3, 7, 5, 4, 6, 1 }
- };
-
virtual const char *BANK_TEXT() = 0;
virtual const char *BLACKSMITH_TEXT() = 0;
virtual const char *GUILD_NOT_MEMBER_TEXT() = 0;
@@ -819,25 +244,6 @@ public:
virtual const char *GOOD_STUFF() = 0;
virtual const char *HAVE_A_DRINK() = 0;
virtual const char *YOURE_DRUNK() = 0;
-
- const int TAVERN_EXIT_LIST[2][6][5][2] = {
- {
- { { 21, 17 }, { 0, 0 }, { 20, 3 }, { 0, 0 }, { 0, 0 } },
- { { 13, 4 }, { 0, 0 }, { 19, 9 }, { 0, 0 }, { 0, 0 } },
- { { 20, 10 }, { 12, 8 }, { 5, 26 }, { 3, 4 }, { 7, 5 } },
- { { 18, 4 }, { 0, 0 }, { 19, 16 }, { 0, 0 }, { 11, 12 } },
- { { 15, 21 }, { 0, 0 }, { 13, 21 }, { 0, 0 }, { 0, 0 } },
- { { 10, 8 }, { 0, 0 }, { 15, 12 }, { 0, 0 }, { 0, 0 } },
- }, {
- { { 21, 17 }, { 0, 0 }, { 20, 3 }, { 0, 0 }, { 0, 0 } },
- { { 13, 4 }, { 0, 0 }, { 19, 9 }, { 0, 0 }, { 0, 0 } },
- { { 20, 10 }, { 12, 8 }, { 5, 26 }, { 3, 4 }, { 7, 5 } },
- { { 17, 24 }, { 14, 13 }, { 0, 0 }, { 0, 0 }, { 9, 4 } },
- { { 15, 21 }, { 0, 0 }, { 13, 21 }, { 0, 0 }, { 0, 0 } },
- { { 10, 8 }, { 0, 0 }, { 15, 12 }, { 0, 0 }, { 0, 0 } }
- }
- };
-
virtual const char *TEMPLE_TEXT() = 0;
virtual const char *EXPERIENCE_FOR_LEVEL() = 0;
virtual const char *TRAINING_LEARNED_ALL() = 0;
@@ -857,93 +263,6 @@ public:
virtual const char *FOOD_PACKS_FULL() = 0;
virtual const char *BUY_SPELLS() = 0;
virtual const char *GUILD_OPTIONS() = 0;
-
- const int MISC_SPELL_INDEX[74] = {
- NO_SPELL, MS_Light, MS_Awaken, MS_MagicArrow,
- MS_FirstAid, MS_FlyingFist, MS_EnergyBlast, MS_Sleep,
- MS_Revitalize, MS_CureWounds, MS_Sparks, MS_Shrapmetal,
- MS_InsectSpray, MS_ToxicCloud, MS_ProtFromElements, MS_Pain,
- MS_Jump, MS_BeastMaster, MS_Clairvoyance, MS_TurnUndead,
- MS_Levitate, MS_WizardEye, MS_Bless, MS_IdentifyMonster,
- MS_LightningBolt, MS_HolyBonus, MS_PowerCure, MS_NaturesCure,
- MS_LloydsBeacon, MS_PowerShield, MS_Heroism, MS_Hynotize,
- MS_WalkOnWater, MS_FrostBite, MS_DetectMonster, MS_Fireball,
- MS_ColdRay, MS_CurePoison, MS_AcidSpray, MS_TimeDistortion,
- MS_DragonSleep, MS_CureDisease, MS_Teleport, MS_FingerOfDeath,
- MS_CureParalysis, MS_GolemStopper, MS_PoisonVolley, MS_DeadlySwarm,
- MS_SuperShelter, MS_DayOfProtection, MS_DayOfSorcery, MS_CreateFood,
- MS_FieryFlail, MS_RechargeItem, MS_FantasticFreeze, MS_TownPortal,
- MS_StoneToFlesh, MS_RaiseDead, MS_Etheralize, MS_DancingSword,
- MS_MoonRay, MS_MassDistortion, MS_PrismaticLight, MS_EnchantItem,
- MS_Incinerate, MS_HolyWord, MS_Resurrection, MS_ElementalStorm,
- MS_MegaVolts, MS_Inferno, MS_SunRay, MS_Implosion,
- MS_StarBurst, MS_DivineIntervention
- };
-
- const int SPELL_COSTS[77] = {
- 8, 1, 5, -2, 5, -2, 20, 10, 12, 8, 3,
- - 3, 75, 40, 12, 6, 200, 10, 100, 30, -1, 30,
- 15, 25, 10, -2, 1, 2, 7, 20, -2, -2, 100,
- 15, 5, 100, 35, 75, 5, 20, 4, 5, 1, -2,
- 6, 2, 75, 40, 60, 6, 4, 25, -2, -2, 60,
- - 1, 50, 15, 125, 2, -1, 3, -1, 200, 35, 150,
- 15, 5, 4, 10, 8, 30, 4, 5, 7, 5, 0
- };
-
- const int DARK_SPELL_RANGES[12][2] = {
- { 0, 20 }, { 16, 35 }, { 27, 37 }, { 29, 39 },
- { 0, 17 }, { 14, 34 }, { 26, 37 }, { 29, 39 },
- { 0, 20 }, { 16, 35 }, { 27, 37 }, { 29, 39 }
- };
-
- const int SWORDS_SPELL_RANGES[12][2] = {
- { 0, 20 },{ 16, 35 },{ 27, 39 },{ 29, 39 },
- { 0, 17 },{ 14, 34 },{ 26, 39 },{ 29, 39 },
- { 0, 20 },{ 16, 35 },{ 27, 39 },{ 29, 39 }
- };
-
- const int CLOUDS_GUILD_SPELLS[5][20] = {
- {
- 1, 10, 20, 26, 27, 38, 40, 42, 45, 50,
- 55, 59, 60, 61, 62, 68, 72, 75, 77, 77
- }, {
- 3, 4, 5, 14, 15, 25, 30, 31, 34, 41,
- 49, 51, 53, 67, 73, 75, -1, -1, -1, -1
- }, {
- 4, 8, 9, 12, 13, 22, 23, 24, 28, 34,
- 41, 44, 52, 70, 73, 74, -1, -1, -1, -1
- }, {
- 6, 7, 9, 11, 12, 13, 17, 21, 22, 24,
- 29, 36, 56, 58, 64, 71, -1, -1, -1, -1
- }, {
- 6, 7, 9, 11, 12, 13, 18, 21, 29, 32,
- 36, 37, 46, 51, 56, 58, 69, -1, -1, -1
- }
- };
-
- const int DARK_SPELL_OFFSETS[3][39] = {
- {
- 42, 1, 26, 59, 27, 10, 50, 68, 55, 62, 67, 73, 2,
- 5, 3, 31, 30, 52, 49, 28, 74, 0, 9, 7, 14, 8,
- 33, 6, 23, 71, 64, 56, 48, 46, 12, 32, 58, 65, 16
- }, {
- 42, 1, 45, 61, 72, 40, 20, 60, 38, 41, 75, 34, 4,
- 43, 25, 53, 44, 15, 70, 17, 24, 69, 22, 66, 57, 11,
- 29, 39, 51, 21, 19, 36, 47, 13, 54, 37, 18, 35, 63
- }, {
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38
- }
- };
-
- const int SPELL_GEM_COST[77] = {
- 0, 0, 2, 1, 2, 4, 5, 0, 0, 0, 0, 10, 10, 10, 0, 0, 20, 4, 10, 20, 1, 10,
- 5, 5, 4, 2, 0, 0, 0, 10, 3, 1, 20, 4, 0, 20, 10, 10, 1, 10, 0, 0, 0, 2,
- 2, 0, 10, 10, 10, 0, 0, 10, 3, 2, 10, 1, 10, 10, 20, 0, 0, 1, 1, 20, 5, 20,
- 5, 0, 0, 0, 0, 5, 1, 2, 0, 2, 0
- };
-
virtual const char *NOT_A_SPELL_CASTER() = 0;
virtual const char *SPELLS_LEARNED_ALL() = 0;
virtual const char *SPELLS_FOR() = 0;
@@ -990,9 +309,6 @@ public:
virtual const char *EXCHANGE_WITH_WHOM() = 0;
virtual const char *QUICK_REF_LINE() = 0;
virtual const char *QUICK_REFERENCE() = 0;
-
- const int BLACKSMITH_MAP_IDS[2][4] = { { 28, 30, 73, 49 }, { 29, 31, 37, 43 } };
-
virtual const char *ITEMS_DIALOG_TEXT1() = 0;
virtual const char *ITEMS_DIALOG_TEXT2() = 0;
virtual const char *ITEMS_DIALOG_LINE1() = 0;
@@ -1023,47 +339,6 @@ public:
virtual const char **EFFECTIVENESS_NAMES() = 0;
virtual const char **QUEST_ITEM_NAMES() = 0;
virtual const char **QUEST_ITEM_NAMES_SWORDS() = 0;
-
- const int WEAPON_BASE_COSTS[35] = {
- 0, 50, 15, 100, 80, 40, 60, 1, 10, 150, 30, 60, 8, 50,
- 100, 15, 30, 15, 200, 80, 250, 150, 400, 100, 40, 120,
- 300, 100, 200, 300, 25, 100, 50, 15, 0
- };
- const int ARMOR_BASE_COSTS[14] = {
- 0, 20, 100, 200, 400, 600, 1000, 2000, 100, 60, 40, 250, 200, 100
- };
- const int ACCESSORY_BASE_COSTS[11] = {
- 0, 100, 100, 250, 100, 50, 300, 200, 500, 1000, 2000
- };
- const int MISC_MATERIAL_COSTS[22] = {
- 0, 50, 1000, 500, 10, 100, 20, 10, 50, 10, 10, 100,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
- };
- const int MISC_BASE_COSTS[76] = {
- 0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,
- 100, 100, 100, 100, 200, 200, 200, 200, 200, 200, 200, 200,
- 200, 200, 200, 200, 200, 200, 200, 300, 300, 300, 300, 300,
- 300, 300, 300, 300, 300, 400, 400, 400, 400, 400, 400, 400,
- 400, 400, 400, 500, 500, 500, 500, 500, 500, 500, 500, 500,
- 500, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600, 600,
- 600, 600, 600, 600
- };
- const int METAL_BASE_MULTIPLIERS[22] = {
- 10, 25, 5, 75, 2, 5, 10, 20, 50, 2, 3, 5, 10, 20, 30, 40,
- 50, 60, 70, 80, 90, 100
- };
- const int ITEM_SKILL_DIVISORS[4] = { 1, 2, 100, 10 };
-
- const int RESTRICTION_OFFSETS[4] = { 0, 35, 49, 60 };
-
- const int ITEM_RESTRICTIONS[86] = {
- 0, 86, 86, 86, 86, 86, 86, 0, 6, 239, 239, 239, 2, 4, 4, 4, 4,
- 6, 70, 70, 70, 70, 94, 70, 0, 4, 239, 86, 86, 86, 70, 70, 70, 70,
- 0, 0, 0, 68, 100, 116, 125, 255, 255, 85, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
- };
-
virtual const char *NOT_PROFICIENT() = 0;
virtual const char *NO_ITEMS_AVAILABLE() = 0;
virtual const char **CATEGORY_NAMES() = 0;
@@ -1135,31 +410,7 @@ public:
virtual const char *NAME_FOR_NEW_CHARACTER() = 0;
virtual const char *SELECT_CLASS_BEFORE_SAVING() = 0;
virtual const char *EXCHANGE_ATTR_WITH() = 0;
-
- const int NEW_CHAR_SKILLS[10] = { 1, 5, -1, -1, 4, 0, 0, -1, 6, 11 };
virtual const int *NEW_CHAR_SKILLS_OFFSET() = 0;
- const int NEW_CHAR_SKILLS_LEN[10] = { 11, 8, 0, 0, 12, 8, 8, 0, 9, 11 };
- const int NEW_CHAR_RACE_SKILLS[10] = { 14, -1, 17, 16, -1, 0, 0, 0, 0, 0 };
-
- const int RACE_MAGIC_RESISTENCES[5] = { 7, 5, 20, 0, 0 };
- const int RACE_FIRE_RESISTENCES[5] = { 7, 0, 2, 5, 10 };
- const int RACE_ELECTRIC_RESISTENCES[5] = { 7, 0, 2, 5, 10 };
- const int RACE_COLD_RESISTENCES[5] = { 7, 0, 2, 5, 10 };
- const int RACE_ENERGY_RESISTENCES[5] = { 7, 5, 2, 5, 0 };
- const int RACE_POISON_RESISTENCES[5] = { 7, 0, 2, 20, 0 };
- const int NEW_CHARACTER_SPELLS[10][4] = {
- { -1, -1, -1, -1 },
- { 21, -1, -1, -1 },
- { 22, -1, -1, -1 },
- { 21, 1, 14, -1 },
- { 22, 0, 25, -1 },
- { -1, -1, -1, -1 },
- { -1, -1, -1, -1 },
- { -1, -1, -1, -1 },
- { 20, 1, 11, 23 },
- { 20, 1, -1, -1 }
- };
-
virtual const char *COMBAT_DETAILS() = 0;
virtual const char *NOT_ENOUGH_TO_CAST() = 0;
virtual const char **SPELL_CAST_COMPONENTS() = 0;
@@ -1178,19 +429,9 @@ public:
virtual const char *HOW_MANY_SQUARES() = 0;
virtual const char *TOWN_PORTAL() = 0;
virtual const char *TOWN_PORTAL_SWORDS() = 0;
-
- const int TOWN_MAP_NUMBERS[3][5] = {
- { 28, 29, 30, 31, 32 }, { 29, 31, 33, 35, 37 }, { 53, 92, 63, 0, 0 }
- };
-
virtual const char *MONSTER_DETAILS() = 0;
virtual const char **MONSTER_SPECIAL_ATTACKS() = 0;
virtual const char *IDENTIFY_MONSTERS() = 0;
-
- const char *const EVENT_SAMPLES[6] = {
- "ahh.voc", "whereto.voc", "gulp.voc", "null.voc", "scream.voc", "laff1.voc"
- };
-
virtual const char *MOONS_NOT_ALIGNED() = 0;
virtual const char *AWARDS_FOR() = 0;
virtual const char *AWARDS_TEXT() = 0;
@@ -1219,25 +460,6 @@ public:
virtual const char *CLOUDS_CONGRATULATIONS1() = 0;
virtual const char *CLOUDS_CONGRATULATIONS2() = 0;
virtual const char **GOOBER() = 0;
-
- const char *const MUSIC_FILES1[5] = {
- "outdoors.m", "town.m", "cavern.m", "dungeon.m", "castle.m"
- };
-
- const char *const MUSIC_FILES2[6][7] = {
- { "outday1.m", "outday2.m", "outday4.m", "outnght1.m",
- "outnght2.m", "outnght4.m", "daydesrt.m" },
- { "townday1.m", "twnwlk.m", "newbrigh.m", "twnnitea.m",
- "twnniteb.m", "twnwlk.m", "townday1.m" },
- { "cavern1.m", "cavern2.m", "cavern3a.m", "cavern1.m",
- "cavern2.m", "cavern3a.m", "cavern1.m" },
- { "dngon1.m", "dngon2.m", "dngon3.m", "dngon1.m",
- "dngon2.m", "dngon3.m", "dngon1.m" },
- { "cstl1rev.m", "cstl2rev.m", "cstl3rev.m", "cstl1rev.m",
- "cstl2rev.m", "cstl3rev.m", "cstl1rev.m" },
- { "sf05.m", "sf05.m", "sf05.m", "sf05.m", "sf05.m", "sf05.m", "sf05.m" }
- };
-
virtual const char *DIFFICULTY_TEXT() = 0;
virtual const char *SAVE_OFF_LIMITS() = 0;
virtual const char *CLOUDS_INTRO1() = 0;
diff --git a/devtools/create_xeen/en_constants.h b/devtools/create_xeen/en_constants.h
index c79f51fd1f..912d626444 100644
--- a/devtools/create_xeen/en_constants.h
+++ b/devtools/create_xeen/en_constants.h
@@ -150,8 +150,7 @@ public:
}
const char **GAME_NAMES() {
- delete[] _gameNames;
- _gameNames = new const char *[3] { "Clouds", "Darkside", "World" };
+ static const char *_gameNames[] = { "Clouds", "Darkside", "World" };
return _gameNames;
}
@@ -197,8 +196,7 @@ public:
}
const char **WHO_ACTIONS() {
- delete[] _whoActions;
- _whoActions = new const char *[32] {
+ static const char *_whoActions[] = {
"search", "open", "drink", "mine", "touch", "read", "learn", "take",
"bang", "steal", "bribe", "pay", "sit", "try", "turn", "bathe",
"destroy", "pull", "descend", "toss a coin", "pray", "join", "act",
@@ -208,46 +206,39 @@ public:
}
const char **WHO_WILL_ACTIONS() {
- delete[] _whoWillActions;
- _whoWillActions = new const char *[4] {
+ static const char *_whoWillActions[] = {
"Open Grate", "Open Door", "Open Scroll", "Select Char"
};
return _whoWillActions;
}
const char **DIRECTION_TEXT_UPPER() {
- delete[] _directionTextUpper;
- _directionTextUpper = new const char *[4] { "NORTH", "EAST", "SOUTH", "WEST" };
+ static const char *_directionTextUpper[] = { "NORTH", "EAST", "SOUTH", "WEST" };
return _directionTextUpper;
}
const char **DIRECTION_TEXT() {
- delete[] _directionText;
- _directionText = new const char *[4] { "North", "East", "South", "West" };
+ static const char *_directionText[] = { "North", "East", "South", "West" };
return _directionText;
}
const char **RACE_NAMES() {
- delete[] _raceNames;
- _raceNames = new const char *[5] { "Human", "Elf", "Dwarf", "Gnome", "H-Orc" };
+ static const char *_raceNames[] = { "Human", "Elf", "Dwarf", "Gnome", "H-Orc" };
return _raceNames;
}
const char **ALIGNMENT_NAMES() {
- delete[] _alignmentNames;
- _alignmentNames = new const char *[3] { "Good", "Neutral", "Evil" };
+ static const char *_alignmentNames[] = { "Good", "Neutral", "Evil" };
return _alignmentNames;
}
const char **SEX_NAMES() {
- delete[] _sexNames;
- _sexNames = new const char *[2] { "Male", "Female" };
+ static const char *_sexNames[] = { "Male", "Female" };
return _sexNames;
}
const char **SKILL_NAMES() {
- delete[] _skillNames;
- _skillNames = new const char *[18] {
+ static const char *_skillNames[] = {
"Thievery\t100", "Arms Master", "Astrologer", "Body Builder", "Cartographer",
"Crusader", "Direction Sense", "Linguist", "Merchant", "Mountaineer",
"Navigator", "Path Finder", "Prayer Master", "Prestidigitator",
@@ -257,8 +248,7 @@ public:
}
const char **CLASS_NAMES() {
- delete[] _classNames;
- _classNames = new const char *[11] {
+ static const char *_classNames[] = {
"Knight", "Paladin", "Archer", "Cleric", "Sorcerer", "Robber",
"Ninja", "Barbarian", "Druid", "Ranger", nullptr
};
@@ -266,8 +256,7 @@ public:
}
const char **CONDITION_NAMES_M() {
- delete[] _conditionNamesM;
- _conditionNamesM = new const char *[17] {
+ static const char *_conditionNamesM[] = {
"Cursed", "Heart Broken", "Weak", "Poisoned", "Diseased",
"Insane", "In Love", "Drunk", "Asleep", "Depressed", "Confused",
"Paralyzed", "Unconscious", "Dead", "Stone", "Eradicated", "Good"
@@ -276,8 +265,7 @@ public:
}
const char **CONDITION_NAMES_F() {
- delete[] _conditionNamesF;
- _conditionNamesF = new const char *[17] {
+ static const char *_conditionNamesF[] = {
"Cursed", "Heart Broken", "Weak", "Poisoned", "Diseased",
"Insane", "In Love", "Drunk", "Asleep", "Depressed", "Confused",
"Paralyzed", "Unconscious", "Dead", "Stone", "Eradicated", "Good"
@@ -536,8 +524,7 @@ public:
}
const char **DEPOSIT_WITHDRAWL() {
- delete[] _depositWithdrawl;
- _depositWithdrawl = new const char *[2] { "Deposit", "Withdrawl" };
+ static const char *_depositWithdrawl[] = { "Deposit", "Withdrawl" };
return _depositWithdrawl;
}
@@ -552,8 +539,7 @@ public:
}
const char **STAT_NAMES() {
- delete[] _statNames;
- _statNames = new const char *[16] {
+ static const char *_statNames[] = {
"Might", "Intellect", "Personality", "Endurance", "Speed",
"Accuracy", "Luck", "Age", "Level", "Armor Class", "Hit Points",
"Spell Points", "Resistances", "Skills", "Awards", "Experience"
@@ -562,26 +548,22 @@ public:
}
const char **CONSUMABLE_NAMES() {
- delete[] _consumableNames;
- _consumableNames = new const char *[4] { "Gold", "Gems", "Food", "Condition" };
+ static const char *_consumableNames[] = { "Gold", "Gems", "Food", "Condition" };
return _consumableNames;
}
const char **CONSUMABLE_GOLD_FORMS() {
- delete[] _consumableGoldForms;
- _consumableGoldForms = new const char *[1] { "" };
+ static const char *_consumableGoldForms[] = { "" };
return _consumableGoldForms;
}
const char **CONSUMABLE_GEM_FORMS() {
- delete[] _consumableGemForms;
- _consumableGemForms = new const char *[1] { "" };
+ static const char *_consumableGemForms[] = { "" };
return _consumableGemForms;
}
const char **WHERE_NAMES() {
- delete[] _whereNames;
- _whereNames = new const char *[2] { "Party", "Bank" };
+ static const char *_whereNames[] = { "Party", "Bank" };
return _whereNames;
}
@@ -730,8 +712,7 @@ public:
}
const char **WEEK_DAY_STRINGS() {
- delete[] _weekDayStrings;
- _weekDayStrings = new const char *[10] {
+ static const char *_weekDayStrings[] = {
"Ten", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"
};
return _weekDayStrings;
@@ -753,8 +734,7 @@ public:
}
const char **DAYS() {
- delete[] _days;
- _days = new const char *[3] { "", "s", "" };
+ static const char *_days[] = { "", "s", "" };
return _days;
}
@@ -798,8 +778,7 @@ public:
}
const char **RATING_TEXT() {
- delete[] _ratingText;
- _ratingText = new const char *[24] {
+ static const char *_ratingText[] = {
"Nonexistant", "Very Poor", "Poor", "Very Low", "Low", "Average", "Good",
"Very Good", "High", "Very High", "Great", "Super", "Amazing", "Incredible",
"Gigantic", "Fantastic", "Astoundig", "Astonishing", "Monumental", "Tremendous",
@@ -809,8 +788,7 @@ public:
}
const char **BORN() {
- delete[] _born;
- _born = new const char *[2] { "Born", "" };
+ static const char *_born[] = { "Born", "" };
return _born;
}
@@ -866,8 +844,7 @@ public:
}
const char **FOOD_ON_HAND() {
- delete[] _onHand;
- _onHand = new const char *[3] { "on hand", "", "" };
+ static const char *_onHand[] = { "on hand", "", "" };
return _onHand;
}
@@ -981,8 +958,7 @@ public:
}
const char **BONUS_NAMES() {
- delete[] _bonusNames;
- _bonusNames = new const char *[7] {
+ static const char *_bonusNames[] = {
"", "Dragon Slayer", "Undead Eater", "Golem Smasher",
"Bug Zapper", "Monster Masher", "Beast Bopper"
};
@@ -990,8 +966,7 @@ public:
}
const char **WEAPON_NAMES() {
- delete[] _weaponNames;
- _weaponNames = new const char *[41] {
+ static const char *_weaponNames[] = {
nullptr, "long sword ", "short sword ", "broad sword ", "scimitar ",
"cutlass ", "sabre ", "club ", "hand axe ", "katana ", "nunchakas ",
"wakazashi ", "dagger ", "mace ", "flail ", "cudgel ", "maul ", "spear ",
@@ -1005,8 +980,7 @@ public:
}
const char **ARMOR_NAMES() {
- delete[] _armorNames;
- _armorNames = new const char *[14] {
+ static const char *_armorNames[] = {
nullptr, "robes ", "scale armor ", "ring mail ", "chain mail ",
"splint mail ", "plate mail ", "plate armor ", "shield ",
"helm ", "boots ", "cloak ", "cape ", "gauntlets "
@@ -1015,8 +989,7 @@ public:
}
const char **ACCESSORY_NAMES() {
- delete[] _accessoryNames;
- _accessoryNames = new const char *[11] {
+ static const char *_accessoryNames[] = {
nullptr, "ring ", "belt ", "brooch ", "medal ", "charm ", "cameo ",
"scarab ", "pendant ", "necklace ", "amulet "
};
@@ -1024,8 +997,7 @@ public:
}
const char **MISC_NAMES() {
- delete[] _miscNames;
- _miscNames = new const char *[22] {
+ static const char *_miscNames[] = {
nullptr, "rod ", "jewel ", "gem ", "box ", "orb ", "horn ", "coin ",
"wand ", "whistle ", "potion ", "scroll ", "bogus", "bogus", "bogus",
"bogus", "bogus", "bogus", "bogus", "bogus", "bogus", "bogus"
@@ -1034,8 +1006,7 @@ public:
}
const char **SPECIAL_NAMES() {
- delete[] _specialNames;
- _specialNames = new const char *[74] {
+ static const char *_specialNames[] = {
nullptr, "light", "awakening", "magic arrows", "first aid", "fists", "energy blasts", "sleeping",
"revitalization", "curing", "sparking", "shrapmetal", "insect repellent", "toxic clouds", "elemental protection",
"pain", "jumping", "beast control", "clairvoyance", "undead turning", "levitation", "wizard eyes", "blessing",
@@ -1052,16 +1023,14 @@ public:
}
const char **ELEMENTAL_NAMES() {
- delete[] _elementalNames;
- _elementalNames = new const char *[6] {
+ static const char *_elementalNames[] = {
"Fire", "Elec", "Cold", "Acid/Poison", "Energy", "Magic"
};
return _elementalNames;
}
const char **ATTRIBUTE_NAMES() {
- delete[] _attributeNames;
- _attributeNames = new const char *[10] {
+ static const char *_attributeNames[] = {
"might", "Intellect", "Personality", "Speed", "accuracy", "Luck",
"Hit Points", "Spell Points", "Armor Class", "Thievery"
};
@@ -1069,16 +1038,14 @@ public:
}
const char **EFFECTIVENESS_NAMES() {
- delete[] _effectivenessNames;
- _effectivenessNames = new const char *[7] {
+ static const char *_effectivenessNames[] = {
nullptr, "Dragons", "Undead", "Golems", "Bugs", "Monsters", "Beasts"
};
return _effectivenessNames;
}
const char **QUEST_ITEM_NAMES() {
- delete[] _questItemNames;
- _questItemNames = new const char *[85] {
+ static const char *_questItemNames[] = {
"Deed to New Castle",
"Crystal Key to Witch Tower",
"Skeleton Key to Darzog's Tower",
@@ -1169,8 +1136,7 @@ public:
}
const char **QUEST_ITEM_NAMES_SWORDS() {
- delete[] _questItemNamesSwords;
- _questItemNamesSwords = new const char *[51] {
+ static const char *_questItemNamesSwords[] = {
"Pass to Hart", "Pass to Impery", "Pass to town3", "Pass to town4", "Pass to town5",
"Key to Hart Sewers", "Key to Rettig's Pyramid", "Key to the Old Temple",
"Key to Canegtut's Pyramid", "Key to Ascihep's Pyramid", "Key to Dragon Tower",
@@ -1199,8 +1165,7 @@ public:
}
const char **CATEGORY_NAMES() {
- delete[] _categoryNames;
- _categoryNames = new const char *[4] { "Weapons", "Armor", "Accessories", "Miscellaneous" };
+ static const char *_categoryNames[] = { "Weapons", "Armor", "Accessories", "Miscellaneous" };
return _categoryNames;
}
@@ -1235,8 +1200,7 @@ public:
}
const char **ITEM_ACTIONS() {
- delete[] _itemActions;
- _itemActions = new const char *[7] {
+ static const char *_itemActions[] = {
"Equip", "Remove", "Use", "Discard", "Enchant", "Recharge", "Gold"
};
return _itemActions;
@@ -1303,8 +1267,7 @@ public:
}
const char **CATEGORY_BACKPACK_IS_FULL() {
- delete[] _categoryBackpackIsFull;
- _categoryBackpackIsFull = new const char *[4] {
+ static const char *_categoryBackpackIsFull[] = {
"\v010\t000\x3"
"c%s's weapons backpack is full.",
"\v010\t000\x3"
@@ -1326,8 +1289,7 @@ public:
}
const char **GOLDS() {
- delete[] _sellXForYGoldEndings;
- _sellXForYGoldEndings = new const char *[2] { "gold", "" };
+ static const char *_sellXForYGoldEndings[] = { "gold", "" };
return _sellXForYGoldEndings;
}
@@ -1355,8 +1317,7 @@ public:
}
const char **FIX_IDENTIFY() {
- delete[] _fixIdentify;
- _fixIdentify = new const char *[2] { "Fix", "Identify" };
+ static const char *_fixIdentify[] = { "Fix", "Identify" };
return _fixIdentify;
}
@@ -1520,8 +1481,7 @@ public:
}
const char **REMOVE_DELETE() {
- delete[] _removeDelete;
- _removeDelete = new const char *[2] { "Remove", "Delete" };
+ static const char *_removeDelete[] = { "Remove", "Delete" };
return _removeDelete;
}
@@ -1577,8 +1537,7 @@ public:
}
const int *NEW_CHAR_SKILLS_OFFSET() {
- delete[] _newCharSkillsOffset;
- _newCharSkillsOffset = new const int [10] { 0, 0, 0, 5, 0, 0, 0, 0, 0, 0 };
+ static const int _newCharSkillsOffset[] = { 0, 0, 0, 5, 0, 0, 0, 0, 0, 0 };
return _newCharSkillsOffset;
}
@@ -1594,8 +1553,7 @@ public:
}
const char **SPELL_CAST_COMPONENTS() {
- delete[] _spellCastComponents;
- _spellCastComponents = new const char *[2] { "Spell Points", "Gems" };
+ static const char *_spellCastComponents[] = { "Spell Points", "Gems" };
return _spellCastComponents;
}
@@ -1650,8 +1608,7 @@ public:
}
const char **FOUND() {
- delete[] _found;
- _found = new const char *[2] { "found", "" };
+ static const char *_found[] = { "found", "" };
return _found;
}
@@ -1733,8 +1690,7 @@ public:
}
const char **MONSTER_SPECIAL_ATTACKS() {
- delete[] _monsterSpecialAttacks;
- _monsterSpecialAttacks = new const char *[23] {
+ static const char *_monsterSpecialAttacks[] = {
"None", "Magic", "Fire", "Elec", "Cold", "Poison", "Energy", "Disease",
"Insane", "Asleep", "CurseItm", "InLove", "DrnSPts", "Curse", "Paralys",
"Uncons", "Confuse", "BrkWpn", "Weak", "Erad", "Age+5", "Dead", "Stone"
@@ -1790,8 +1746,7 @@ public:
}
const char **PICK_FORM() {
- delete[] _pickForm;
- _pickForm = new const char *[2] { "picks", "" };
+ static const char *_pickForm[] = { "picks", "" };
return _pickForm;
}
@@ -1801,8 +1756,7 @@ public:
}
const char **UNABLE_TO_PICK_FORM() {
- delete[] _unableToPickForm;
- _unableToPickForm = new const char *[2] { "unable to pick", "" };
+ static const char *_unableToPickForm[] = { "unable to pick", "" };
return _unableToPickForm;
}
@@ -1858,14 +1812,12 @@ public:
}
const char **QUICK_FIGHT_OPTIONS() {
- delete[] _quickFightOptions;
- _quickFightOptions = new const char *[4] { "Attack", "Cast", "Block", "Run" };
+ static const char *_quickFightOptions[] = { "Attack", "Cast", "Block", "Run" };
return _quickFightOptions;
}
const char **WORLD_END_TEXT() {
- delete[] _worldEndText;
- _worldEndText = new const char *[9] {
+ static const char *_worldEndText[] = {
"\n\n\n\n\n\n\n"
"Congratulations Adventurers!\n\n"
"Let the unification ceremony begin!",
@@ -1924,8 +1876,7 @@ public:
}
const char **GOOBER() {
- delete[] _goober;
- _goober = new const char *[3] {
+ static const char *_goober[] = {
"", "I am a Goober!", "I am a Super Goober!"
};
return _goober;
@@ -1992,8 +1943,7 @@ public:
const char **MAE_NAMES() {
- delete[] _maeNames;
- _maeNames = new const char *[131] {
+ static const char *_maeNames[] = {
"",
};
return _maeNames;
diff --git a/devtools/create_xeen/ru_constants.h b/devtools/create_xeen/ru_constants.h
index f9effd4426..063f46be86 100644
--- a/devtools/create_xeen/ru_constants.h
+++ b/devtools/create_xeen/ru_constants.h
@@ -150,8 +150,7 @@ public:
}
const char **GAME_NAMES() {
- delete[] _gameNames;
- _gameNames = new const char *[3] { "\x8E\xA1\xAB\xA0\xAA\xA0", "Darkside", "World" }; // "Ðблака", "Darkside", "World"
+ static const char *_gameNames[] = { "\x8E\xA1\xAB\xA0\xAA\xA0", "Darkside", "World" }; // "Ðблака", "Darkside", "World"
return _gameNames;
}
@@ -194,8 +193,7 @@ public:
}
const char **WHO_ACTIONS() {
- delete[] _whoActions;
- _whoActions = new const char *[32] {
+ static const char *_whoActions[] = {
"\x8A\xE2\xAE \xAE\xA1\xEB\xE9\xA5\xE2", // "ÐÑо обÑÑеÑ",
"\x8A\xE2\xAE \xAE\xE2\xAA\xE0\xAE\xA5\xE2", // "ÐÑо оÑкÑоеÑ",
"\x8A\xE2\xAE \xA2\xEB\xAF\xEC\xA5\xE2", // "ÐÑо вÑпÑеÑ",
@@ -233,8 +231,7 @@ public:
}
const char **WHO_WILL_ACTIONS() {
- delete[] _whoWillActions;
- _whoWillActions = new const char *[4] {
+ static const char *_whoWillActions[] = {
"\x8E\xE2\xAA\xE0\xEB\xE2\xEC \xE0\xA5\xE8\xF1\xE2\xAA\xE3", // "ÐÑкÑÑÑÑ ÑеÑÑÑкÑ",
"\x8E\xE2\xAA\xE0\xEB\xE2\xEC \xA4\xA2\xA5\xE0\xEC", // "ÐÑкÑÑÑÑ Ð´Ð²ÐµÑÑ",
"\x90\xA0\xE1\xAA\xE0\xEB\xE2\xEC \xE1\xA2\xA8\xE2\xAE\xAA", // "РаÑкÑÑÑÑ ÑвиÑок",
@@ -244,14 +241,12 @@ public:
}
const char **DIRECTION_TEXT_UPPER() {
- delete[] _directionTextUpper;
- _directionTextUpper = new const char *[4] { "NORTH", "EAST", "SOUTH", "WEST" };
+ static const char *_directionTextUpper[] = { "NORTH", "EAST", "SOUTH", "WEST" };
return _directionTextUpper;
}
const char **DIRECTION_TEXT() {
- delete[] _directionText;
- _directionText = new const char *[4] {
+ static const char *_directionText[] = {
"\x91\xA5\xA2\xA5\xE0", // "СевеÑ",
"\x82\xAE\xE1\xE2\xAE\xAA", // "ÐоÑÑок",
"\x9E\xA3", // "Юг",
@@ -261,8 +256,7 @@ public:
}
const char **RACE_NAMES() {
- delete[] _raceNames;
- _raceNames = new const char *[5] {
+ static const char *_raceNames[] = {
"\x97\xA5\xAB\xAE\xA2\xA5\xAA", // "Человек",
"\x9D\xAB\xEC\xE4", // "ÐлÑÑ",
"\x84\xA2\xAE\xE0\xE4", // "ÐвоÑÑ",
@@ -273,8 +267,7 @@ public:
}
const char **ALIGNMENT_NAMES() {
- delete[] _alignmentNames;
- _alignmentNames = new const char *[3] {
+ static const char *_alignmentNames[] = {
"\x95\xAE\xE0\xAE\xE8\xA8\xA9", // "ХоÑоÑий",
"\x8D\xA5\xA9\xE2\xE0\xA0\xAB", // "ÐейÑÑал",
"\x87\xAB\xAE\xA9(-\xA0\xEF)" // "Ðлой(-аÑ)"
@@ -283,8 +276,7 @@ public:
}
const char **SEX_NAMES() {
- delete[] _sexNames;
- _sexNames = new const char *[2] {
+ static const char *_sexNames[] = {
"\x8C\xE3\xA6\xE7\xA8\xAD\xA0", // "ÐÑжÑина",
"\x86\xA5\xAD\xE9\xA8\xAD\xA0" // "ÐенÑина"
};
@@ -292,8 +284,7 @@ public:
}
const char **SKILL_NAMES() {
- delete[] _skillNames;
- _skillNames = new const char *[18] {
+ static const char *_skillNames[] = {
"\x82\xAE\xE0\xAE\xA2\xE1\xE2\xA2\xAE\t100", // "ÐоÑовÑÑво\t100",
"\x8E\xE0\xE3\xA6\xA5\xA9\xAD\xA8\xAA", // "ÐÑÑжейник",
"\x80\xE1\xE2\xE0\xAE\xAB\xAE\xA3", // "ÐÑÑÑолог",
@@ -319,8 +310,7 @@ public:
}
const char **CLASS_NAMES() {
- delete[] _classNames;
- _classNames = new const char *[11] {
+ static const char *_classNames[] = {
"\x90\xEB\xE6\xA0\xE0\xEC", // "Ð ÑÑаÑÑ",
"\x8F\xA0\xAB\xA0\xA4\xA8\xAD", // "Ðаладин",
"\x8B\xE3\xE7\xAD\xA8\xAA", // "ÐÑÑник",
@@ -337,8 +327,7 @@ public:
}
const char **CONDITION_NAMES_M() {
- delete[] _conditionNamesM;
- _conditionNamesM = new const char *[17] {
+ static const char *_conditionNamesM[] = {
"\x8F\xE0\xAE\xAA\xAB\xEF\xE2\xA8\xA5", // "ÐÑоклÑÑие",
"Heart Broken", // "Heart Broken",
"\x91\xAB\xA0\xA1\xAE\xE1\xE2\xEC", // "СлабоÑÑÑ",
@@ -361,8 +350,7 @@ public:
}
const char **CONDITION_NAMES_F() {
- delete[] _conditionNamesF;
- _conditionNamesF = new const char *[17] {
+ static const char *_conditionNamesF[] = {
"\x8F\xE0\xAE\xAA\xAB\xEF\xE2\xA8\xA5", // "ÐÑоклÑÑие",
"Heart Broken", // "Heart Broken",
"\x91\xAB\xA0\xA1\xAE\xE1\xE2\xEC", // "СлабоÑÑÑ",
@@ -606,8 +594,7 @@ public:
}
const char **DEPOSIT_WITHDRAWL() {
- delete[] _depositWithdrawl;
- _depositWithdrawl = new const char *[2] { "\x8F\xAE\xAB\xAE\xA6\xA8\xE2\xEC \xAD\xA0 \xE1\xE7\xF1\xE2", "\x91\xAD\xEF\xE2\xEC \xE1\xAE \xE1\xE7\xF1\xE2\xA0" }; // "ÐоложиÑÑ Ð½Ð° ÑÑÑÑ", "СнÑÑÑ Ñо ÑÑÑÑа"
+ static const char *_depositWithdrawl[] = { "\x8F\xAE\xAB\xAE\xA6\xA8\xE2\xEC \xAD\xA0 \xE1\xE7\xF1\xE2", "\x91\xAD\xEF\xE2\xEC \xE1\xAE \xE1\xE7\xF1\xE2\xA0" }; // "ÐоложиÑÑ Ð½Ð° ÑÑÑÑ", "СнÑÑÑ Ñо ÑÑÑÑа"
return _depositWithdrawl;
}
@@ -620,8 +607,7 @@ public:
}
const char **STAT_NAMES() {
- delete[] _statNames;
- _statNames = new const char *[16] {
+ static const char *_statNames[] = {
"\x91\xA8\xAB\xA0", "\x88\xAD\xE2\xA5\xAB\xAB\xA5\xAA\xE2", "\x91\xA8\xAB\xA0 \xA4\xE3\xE5\xA0", "\x91\xAB\xAE\xA6\xA5\xAD\xA8\xA5", "\x91\xAA\xAE\xE0\xAE\xE1\xE2\xEC", // "Сила", "ÐнÑеллекÑ", "Сила дÑÑ
а", "Сложение", "СкоÑоÑÑÑ",
"\x8C\xA5\xE2\xAA\xAE\xE1\xE2\xEC", "\x93\xA4\xA0\xE7\xA0", "\x82\xAE\xA7\xE0\xA0\xE1\xE2", "\x93\xE0\xAE\xA2\xA5\xAD\xEC", "\x8A\xAB\xA0\xE1\xE1 \xA7\xA0\xE9\xA8\xE2\xEB", // "ÐеÑкоÑÑÑ", "УдаÑа", "ÐозÑаÑÑ", "УÑовенÑ", "ÐлаÑÑ Ð·Ð°ÑиÑÑ",
"\x87\xA4\xAE\xE0\xAE\xA2\xEC\xA5", "\x8E\xE7\xAA\xA8 \xAC\xA0\xA3\xA8\xA8", "\x93\xE1\xE2\xAE\xA9\xE7\xA8\xA2\xAE\xE1\xE2\xA8", "\x8D\xA0\xA2\xEB\xAA\xA8", // "ÐдоÑовÑе", "ÐÑки магии", "УÑÑойÑивоÑÑи", "ÐавÑки",
@@ -631,26 +617,22 @@ public:
}
const char **CONSUMABLE_NAMES() {
- delete[] _consumableNames;
- _consumableNames = new const char *[4] { "\x87\xAE\xAB\xAE\xE2\xAE", "\x80\xAB\xAC\xA0\xA7\xEB", "\x8F\xA8\xE9\xA0", "\x91\xAE\xE1\xE2\xAE\xEF\xAD\xA8\xA5" }; // "ÐолоÑо", "ÐлмазÑ", "ÐиÑа", "СоÑÑоÑние"
+ static const char *_consumableNames[] = { "\x87\xAE\xAB\xAE\xE2\xAE", "\x80\xAB\xAC\xA0\xA7\xEB", "\x8F\xA8\xE9\xA0", "\x91\xAE\xE1\xE2\xAE\xEF\xAD\xA8\xA5" }; // "ÐолоÑо", "ÐлмазÑ", "ÐиÑа", "СоÑÑоÑние"
return _consumableNames;
}
const char **CONSUMABLE_GOLD_FORMS() {
- delete[] _consumableGoldForms;
- _consumableGoldForms = new const char *[1] { "\x87\xAE\xAB\xAE\xE2\xA0" }; // "ÐолоÑа"
+ static const char *_consumableGoldForms[] = { "\x87\xAE\xAB\xAE\xE2\xA0" }; // "ÐолоÑа"
return _consumableGoldForms;
}
const char **CONSUMABLE_GEM_FORMS() {
- delete[] _consumableGemForms;
- _consumableGemForms = new const char *[1] { "\x80\xAB\xAC\xA0\xA7\xAE\xA2" }; // "Ðлмазов"
+ static const char *_consumableGemForms[] = { "\x80\xAB\xAC\xA0\xA7\xAE\xA2" }; // "Ðлмазов"
return _consumableGemForms;
}
const char **WHERE_NAMES() {
- delete[] _whereNames;
- _whereNames = new const char *[2] { "\xE3 \xAE\xE2\xE0\xEF\xA4\xA0", "\xA2 \xA1\xA0\xAD\xAA\xA5" }; // "Ñ Ð¾ÑÑÑда", "в банке"
+ static const char *_whereNames[] = { "\xE3 \xAE\xE2\xE0\xEF\xA4\xA0", "\xA2 \xA1\xA0\xAD\xAA\xA5" }; // "Ñ Ð¾ÑÑÑда", "в банке"
return _whereNames;
}
@@ -799,8 +781,7 @@ public:
}
const char **WEEK_DAY_STRINGS() {
- delete[] _weekDayStrings;
- _weekDayStrings = new const char *[10] {
+ static const char *_weekDayStrings[] = {
"\xA4\xA5\xE1\xEF\xE2\xA8\xA4\xA5\xAD\xEC", "\xAF\xA5\xE0\xA2\xAE\xA4\xA5\xAD\xEC", "\xA2\xE2\xAE\xE0\xAE\xA4\xA5\xAD\xEC", "\xE2\xE0\xA5\xE2\xEC\xA5\xA4\xA5\xAD\xEC", "\xE7\xA5\xE2\xA2\xA5\xE0\xAE\xA4\xA5\xAD\xEC", // "деÑÑÑиденÑ", "пеÑводенÑ", "вÑоÑоденÑ", "ÑÑеÑÑеденÑ", "ÑеÑвеÑоденÑ",
"\xAF\xEF\xE2\xA8\xA4\xA5\xAD\xEC", "\xE8\xA5\xE1\xE2\xA8\xA4\xA5\xAD\xEC", "\xE1\xA5\xAC\xA8\xA4\xA5\xAD\xEC", "\xA2\xAE\xE1\xEC\xAC\xA8\xA4\xA5\xAD\xEC", "\xA4\xA5\xA2\xEF\xE2\xA8\xA4\xA5\xAD\xEC" // "пÑÑиденÑ", "ÑеÑÑиденÑ", "ÑемиденÑ", "воÑÑмиденÑ", "девÑÑиденÑ"
};
@@ -823,8 +804,7 @@ public:
}
const char **DAYS() {
- delete[] _days;
- _days = new const char *[3] { "\xA4\xA5\xAD\xEC", "\xA4\xAD\xEF", "\xA4\xAD\xA5\xA9" }; // "денÑ", "днÑ", "дней"
+ static const char *_days[] = { "\xA4\xA5\xAD\xEC", "\xA4\xAD\xEF", "\xA4\xAD\xA5\xA9" }; // "денÑ", "днÑ", "дней"
return _days;
}
@@ -863,8 +843,7 @@ public:
}
const char **RATING_TEXT() {
- delete[] _ratingText;
- _ratingText = new const char *[24] {
+ static const char *_ratingText[] = {
"\x8D\xA5\xE2", "\x8C\xA8\xA7\xA5\xE0\xAD\xEB\xA9", "\x86\xA0\xAB\xAA\xA8\xA9", "\x8E\xE7.\xAD\xA8\xA7\xAA\xA8\xA9", "\x8D\xA8\xA7\xAA\xA8\xA9", "\x91\xE0\xA5\xA4\xAD\xA8\xA9", "\x95\xAE\xE0\xAE\xE8\xA8\xA9", // "ÐеÑ", "ÐизеÑнÑй", "Ðалкий", "ÐÑ.низкий", "Ðизкий", "СÑедний", "ХоÑоÑий",
"\x8E\xE2\xAB\xA8\xE7\xAD\xEB\xA9", "\x82\xEB\xE1\xAE\xAA\xA8\xA9", "\x82\xEB\xE1\xAE\xE7\xA5\xAD\xAD\xEB\xA9", "\x81\xAE\xAB\xEC\xE8\xAE\xA9", "\x8E\xA3\xE0\xAE\xAC\xAD\xEB\xA9", "\x93\xA4\xA8\xA2\xA8\xE2\xA5\xAB\xEC\xAD\xEB\xA9", // "ÐÑлиÑнÑй", "ÐÑÑокий", "ÐÑÑоÑеннÑй", "ÐолÑÑой", "ÐгÑомнÑй", "УдивиÑелÑнÑй",
"\x8D\xA5\xA2\xA5\xE0\xAE\xEF\xE2\xAD\xEB\xA9", "\x83\xA8\xA3\xA0\xAD\xE2\xE1\xAA\xA8\xA9", "\x94\xA0\xAD\xE2\xA0\xE1\xE2\xA8\xE7\xAD\xEB\xA9", "\x88\xA7\xE3\xAC\xA8\xE2\xA5\xAB\xEC\xAD\xEB\xA9", "\x8F\xAE\xE0\xA0\xA7\xA8\xE2\xA5\xAB\xEC\xAD\xEB\xA9", // "ÐевеÑоÑÑнÑй", "ÐиганÑÑкий", "ФанÑаÑÑиÑнÑй", "ÐзÑмиÑелÑнÑй", "ÐоÑазиÑелÑнÑй",
@@ -875,8 +854,7 @@ public:
}
const char **BORN() {
- delete[] _born;
- _born = new const char *[2] { "\x90\xAE\xA4\xA8\xAB\xE1\xEF", "\x90\xAE\xA4\xA8\xAB\xA0\xE1\xEC" }; // "РодилÑÑ", "РодилаÑÑ"
+ static const char *_born[] = { "\x90\xAE\xA4\xA8\xAB\xE1\xEF", "\x90\xAE\xA4\xA8\xAB\xA0\xE1\xEC" }; // "РодилÑÑ", "РодилаÑÑ"
return _born;
}
@@ -925,8 +903,7 @@ public:
}
const char **FOOD_ON_HAND() {
- delete[] _onHand;
- _onHand = new const char *[3] { "\xAF\xAE\xE0\xE6\xA8\xEF", "\xAF\xAE\xE0\xE6\xA8\xA8", "\xAF\xAE\xE0\xE6\xA8\xA9" }; // "поÑÑиÑ", "поÑÑии", "поÑÑий"
+ static const char *_onHand[] = { "\xAF\xAE\xE0\xE6\xA8\xEF", "\xAF\xAE\xE0\xE6\xA8\xA8", "\xAF\xAE\xE0\xE6\xA8\xA9" }; // "поÑÑиÑ", "поÑÑии", "поÑÑий"
return _onHand;
}
@@ -1034,8 +1011,7 @@ public:
}
const char **BONUS_NAMES() {
- delete[] _bonusNames;
- _bonusNames = new const char *[7] {
+ static const char *_bonusNames[] = {
"", "\x93\xA1\xA8\xA9\xE6\xEB \xA4\xE0\xA0\xAA\xAE\xAD\xAE\xA2", "\x88\xA7\xA3\xAE\xAD\xEF\xEE\xE9\xA5\xA3\xAE \xAC\xF1\xE0\xE2\xA2\xEB\xE5", "\x8A\xE0\xE3\xE8\xA8\xE2\xA5\xAB\xEF \xA3\xAE\xAB\xA5\xAC\xAE\xA2", // "", "УбийÑÑ Ð´Ñаконов", "ÐзгонÑÑÑего мÑÑÑвÑÑ
", "ÐÑÑÑиÑÐµÐ»Ñ Ð³Ð¾Ð»ÐµÐ¼Ð¾Ð²",
"\x84\xA0\xA2\xA8\xE2\xA5\xAB\xEF \xAD\xA0\xE1\xA5\xAA\xAE\xAC\xEB\xE5", "\x93\xA1\xA8\xA9\xE6\xEB \xAC\xAE\xAD\xE1\xE2\xE0\xAE\xA2", "\x93\xA1\xA8\xA9\xE6\xEB \xA7\xA2\xA5\xE0\xA5\xA9" // "ÐавиÑÐµÐ»Ñ Ð½Ð°ÑекомÑÑ
", "УбийÑÑ Ð¼Ð¾Ð½ÑÑÑов", "УбийÑÑ Ð·Ð²ÐµÑей"
};
@@ -1043,8 +1019,7 @@ public:
}
const char **WEAPON_NAMES() {
- delete[] _weaponNames;
- _weaponNames = new const char *[41] {
+ static const char *_weaponNames[] = {
nullptr, "\xAC\xA5\xE7 ", "\xA3\xAB\xA0\xA4\xA8\xE3\xE1 ", "\xAF\xA0\xAB\xA0\xE8 ", "\xEF\xE2\xA0\xA3\xA0\xAD ", // nullptr, "Ð¼ÐµÑ ", "гладиÑÑ ", "Ð¿Ð°Ð»Ð°Ñ ", "ÑÑаган ",
"\xAA\xAE\xE0\xE2\xA8\xAA ", "\xE1\xA0\xA1\xAB\xEF ", "\xA4\xE3\xA1\xA8\xAD\xA0 ", "\xE2\xAE\xAF\xAE\xE0 ", "\xAA\xA0\xE2\xA0\xAD\xA0 ", "\xAD\xE3\xAD\xE7\xA0\xAA\xA8 ", // "коÑÑик ", "ÑÐ°Ð±Ð»Ñ ", "дÑбина ", "ÑÐ¾Ð¿Ð¾Ñ ", "каÑана ", "нÑнÑаки ",
"\xA2\xA0\xAA\xA8\xA4\xA7\xA0\xE1\xA8 ", "\xAA\xA8\xAD\xA6\xA0\xAB ", "\xA1\xE3\xAB\xA0\xA2\xA0 ", "\xE6\xA5\xAF ", "\xA6\xA5\xA7\xAB ", "\xAC\xAE\xAB\xAE\xE2 ", "\xAA\xAE\xAF\xEC\xF1 ", // "вакидзаÑи ", "кинжал ", "бÑлава ", "Ñеп ", "жезл ", "Ð¼Ð¾Ð»Ð¾Ñ ", "копÑÑ ",
@@ -1059,8 +1034,7 @@ public:
}
const char **ARMOR_NAMES() {
- delete[] _armorNames;
- _armorNames = new const char *[14] {
+ static const char *_armorNames[] = {
nullptr, "\xAC\xA0\xAD\xE2\xA8\xEF ", "\xE7\xA5\xE8\xE3\xEF ", "\xAF\xA0\xAD\xE6\xA8\xE0\xEC ", "\xAA\xAE\xAB\xEC\xE7\xE3\xA3\xA0 ", // nullptr, "манÑÐ¸Ñ ", "ÑеÑÑÑ ", "панÑиÑÑ ", "колÑÑÑга ",
"\xEE\xE8\xAC\xA0\xAD ", "\xA1\xA5\xE5\xE2\xA5\xE0\xA5\xE6 ", "\xAB\xA0\xE2\xEB ", "\xE9\xA8\xE2 ", // "ÑÑман ", "беÑ
ÑеÑÐµÑ ", "лаÑÑ ", "ÑÐ¸Ñ ",
"\xE8\xAB\xA5\xAC ", "\xE1\xA0\xAF\xAE\xA3\xA8 ", "\xAF\xAB\xA0\xE9 ", "\xAD\xA0\xAA\xA8\xA4\xAA\xA0 ", "\xAF\xA5\xE0\xE7\xA0\xE2\xAA\xA8 " // "Ñлем ", "Ñапоги ", "Ð¿Ð»Ð°Ñ ", "накидка ", "пеÑÑаÑки "
@@ -1069,8 +1043,7 @@ public:
}
const char **ACCESSORY_NAMES() {
- delete[] _accessoryNames;
- _accessoryNames = new const char *[11] {
+ static const char *_accessoryNames[] = {
nullptr, "\xAA\xAE\xAB\xEC\xE6\xAE ", "\xAF\xAE\xEF\xE1 ", "\xA1\xE0\xAE\xE8\xEC ", "\xAC\xA5\xA4\xA0\xAB\xEC ", "\xE2\xA0\xAB\xA8\xE1\xAC\xA0\xAD ", "\xAA\xA0\xAC\xA5\xEF ", // nullptr, "колÑÑо ", "поÑÑ ", "бÑоÑÑ ", "Ð¼ÐµÐ´Ð°Ð»Ñ ", "ÑалиÑман ", "ÐºÐ°Ð¼ÐµÑ ",
"\xE1\xAA\xA0\xE0\xA0\xA1\xA5\xA9 ", "\xAA\xE3\xAB\xAE\xAD ", "\xAE\xA6\xA5\xE0\xA5\xAB\xEC\xA5 ", "\xA0\xAC\xE3\xAB\xA5\xE2 " // "ÑкаÑабей ", "кÑлон ", "ожеÑелÑе ", "амÑÐ»ÐµÑ "
};
@@ -1078,8 +1051,7 @@ public:
}
const char **MISC_NAMES() {
- delete[] _miscNames;
- _miscNames = new const char *[22] {
+ static const char *_miscNames[] = {
nullptr, "\xE1\xAA\xA8\xAF\xA5\xE2\xE0 ", "\xE1\xA0\xAC\xAE\xE6\xA2\xA5\xE2 ", "\xAA\xA0\xAC\xA5\xAD\xEC ", "\xE8\xAA\xA0\xE2\xE3\xAB\xAA\xA0 ", "\xE1\xE4\xA5\xE0\xA0 ", "\xE0\xAE\xA3 ", // nullptr, "ÑкипеÑÑ ", "ÑамоÑÐ²ÐµÑ ", "ÐºÐ°Ð¼ÐµÐ½Ñ ", "ÑкаÑÑлка ", "ÑÑеÑа ", "Ñог ",
"\xAC\xAE\xAD\xA5\xE2\xAA\xA0 ", "\xA6\xA5\xA7\xAB ", "\xE1\xA2\xA8\xE1\xE2\xAE\xAA ", "\xA7\xA5\xAB\xEC\xA5 ", "\xE1\xA2\xA8\xE2\xAE\xAA ", "\xAF\xAE\xA4\xA4\xA5\xAB\xAA\xA0", "\xAF\xAE\xA4\xA4\xA5\xAB\xAA\xA0", // "монеÑка ", "жезл ", "ÑвиÑÑок ", "зелÑе ", "ÑвиÑок ", "подделка", "подделка",
"\xAF\xAE\xA4\xA4\xA5\xAB\xAA\xA0", "\xAF\xAE\xA4\xA4\xA5\xAB\xAA\xA0", "\xAF\xAE\xA4\xA4\xA5\xAB\xAA\xA0", "\xAF\xAE\xA4\xA4\xA5\xAB\xAA\xA0", "\xAF\xAE\xA4\xA4\xA5\xAB\xAA\xA0", "\xAF\xAE\xA4\xA4\xA5\xAB\xAA\xA0", // "подделка", "подделка", "подделка", "подделка", "подделка", "подделка",
@@ -1089,8 +1061,7 @@ public:
}
const char **SPECIAL_NAMES() {
- delete[] _specialNames;
- _specialNames = new const char *[74] {
+ static const char *_specialNames[] = {
nullptr, "\xE1\xA2\xA5\xE2\xA0", "\xAF\xE0\xAE\xA1\xE3\xA6\xA4\xA5\xAD\xA8\xEF", "\xA2\xAE\xAB\xE8\xA5\xA1\xAD\xEB\xE5 \xE1\xE2\xE0\xA5\xAB", "\xAF\xA5\xE0\xA2\xAE\xA9 \xAF\xAE\xAC\xAE\xE9\xA8", // nullptr, "ÑвеÑа", "пÑобÑждениÑ", "волÑебнÑÑ
ÑÑÑел", "пеÑвой помоÑи",
"\xAA\xE3\xAB\xA0\xAA\xAE\xA2", "\xED\xAD\xA5\xE0\xA3\xA5\xE2\xA8\xE7\xA5\xE1\xAA\xAE\xA3\xAE \xA2\xA7\xE0\xEB\xA2\xA0", "\xE3\xE1\xEB\xAF\xAB\xA5\xAD\xA8\xEF", "\xAB\xA5\xE7\xA5\xAD\xA8\xEF \xE1\xAB\xA0\xA1\xAE\xE1\xE2\xA8", // "кÑлаков", "ÑнеÑгеÑиÑеÑкого взÑÑва", "ÑÑÑплениÑ", "леÑÐµÐ½Ð¸Ñ ÑлабоÑÑи",
"\xAB\xA5\xE7\xA5\xAD\xA8\xEF", "\xA8\xE1\xAA\xE0", "\xE8\xE0\xA0\xAF\xAD\xA5\xAB\xA8", "\xE0\xA5\xAF\xA5\xAB\xAB\xA5\xAD\xE2\xA0", "\xEF\xA4\xAE\xA2\xA8\xE2\xEB\xE5 \xAE\xA1\xAB\xA0\xAA\xAE\xA2", // "леÑениÑ", "иÑкÑ", "ÑÑапнели", "ÑепелленÑа", "ÑдовиÑÑÑ
облаков",
@@ -1114,16 +1085,14 @@ public:
}
const char **ELEMENTAL_NAMES() {
- delete[] _elementalNames;
- _elementalNames = new const char *[6] {
+ static const char *_elementalNames[] = {
"\x8E\xA3\xAD\xEF", "\x83\xE0\xAE\xAC\xA0", "\x95\xAE\xAB\xAE\xA4\xA0", "\x8A\xA8\xE1\xAB\xAE\xE2\xEB/\x9F\xA4\xA0", "\x9D\xAD\xA5\xE0\xA3\xA8\xA8", "\x8C\xA0\xA3\xA8\xA8" // "ÐгнÑ", "ÐÑома", "Холода", "ÐиÑлоÑÑ/Яда", "ÐнеÑгии", "Ðагии"
};
return _elementalNames;
}
const char **ATTRIBUTE_NAMES() {
- delete[] _attributeNames;
- _attributeNames = new const char *[10] {
+ static const char *_attributeNames[] = {
"\x91\xA8\xAB\xA0", "\x88\xAD\xE2\xA5\xAB\xAB\xA5\xAA\xE2", "\x91\xA8\xAB\xA0 \xA4\xE3\xE5\xA0", "\x91\xAA\xAE\xE0\xAE\xE1\xE2\xEC", "\x8C\xA5\xE2\xAA\xAE\xE1\xE2\xEC", "\x93\xA4\xA0\xE7\xA0", // "Сила", "ÐнÑеллекÑ", "Сила дÑÑ
а", "СкоÑоÑÑÑ", "ÐеÑкоÑÑÑ", "УдаÑа",
"\x87\xA4\xAE\xE0\xAE\xA2\xEC\xA5", "\x8E\xE7\xAA\xA8 \xAC\xA0\xA3\xA8\xA8", "\x8A\xAB\xA0\xE1\xE1 \xA7\xA0\xE9\xA8\xE2\xEB", "\x82\xAE\xE0\xAE\xA2\xE1\xE2\xA2\xAE" // "ÐдоÑовÑе", "ÐÑки магии", "ÐлаÑÑ Ð·Ð°ÑиÑÑ", "ÐоÑовÑÑво"
};
@@ -1131,16 +1100,14 @@ public:
}
const char **EFFECTIVENESS_NAMES() {
- delete[] _effectivenessNames;
- _effectivenessNames = new const char *[7] {
+ static const char *_effectivenessNames[] = {
nullptr, "\x84\xE0\xA0\xAA\xAE\xAD\xAE\xA2", "\x8C\xF1\xE0\xE2\xA2\xEB\xE5", "\x83\xAE\xAB\xA5\xAC\xAE\xA2", "\x8D\xA0\xE1\xA5\xAA\xAE\xAC\xEB\xE5", "\x8C\xAE\xAD\xE1\xE2\xE0\xAE\xA2", "\x87\xA2\xA5\xE0\xA5\xA9" // nullptr, "ÐÑаконов", "ÐÑÑÑвÑÑ
", "Ðолемов", "ÐаÑекомÑÑ
", "ÐонÑÑÑов", "ÐвеÑей"
};
return _effectivenessNames;
}
const char **QUEST_ITEM_NAMES() {
- delete[] _questItemNames;
- _questItemNames = new const char *[85] {
+ static const char *_questItemNames[] = {
"\x8F\xE0\xA0\xA2\xAE \xA2\xAB\xA0\xA4\xA5\xAD\xA8\xEF \x8D\xEC\xEE\xAA\xA0\xE1\xAB\xAE\xAC", // "ÐÑаво Ð²Ð»Ð°Ð´ÐµÐ½Ð¸Ñ ÐÑÑкаÑлом",
"\x95\xE0\xE3\xE1\xE2\xA0\xAB\xEC\xAD\xEB\xA9 \xAA\xAB\xEE\xE7 \xAE\xE2 \x82\xA5\xA4\xEC\xAC\xA8\xAD\xAE\xA9 \xA1\xA0\xE8\xAD\xA8", // "Ð¥ÑÑÑÑалÑнÑй клÑÑ Ð¾Ñ ÐедÑминой баÑни",
"\x8E\xE2\xAC\xEB\xE7\xAA\xA0 \xA4\xAB\xEF \xA1\xA0\xE8\xAD\xA8 \x84\xA0\xE0\xA7\xAE\xA3\xA0", // "ÐÑмÑÑка Ð´Ð»Ñ Ð±Ð°Ñни ÐаÑзога",
@@ -1231,8 +1198,7 @@ public:
}
const char **QUEST_ITEM_NAMES_SWORDS() {
- delete[] _questItemNamesSwords;
- _questItemNamesSwords = new const char *[51] {
+ static const char *_questItemNamesSwords[] = {
"Pass to Hart", "Pass to Impery", "Pass to town3", "Pass to town4", "Pass to town5",
"Key to Hart Sewers", "Key to Rettig's Pyramid", "Key to the Old Temple",
"Key to Canegtut's Pyramid", "Key to Ascihep's Pyramid", "Key to Dragon Tower",
@@ -1258,8 +1224,7 @@ public:
}
const char **CATEGORY_NAMES() {
- delete[] _categoryNames;
- _categoryNames = new const char *[4] { "\x8E\xE0\xE3\xA6\xA8\xA5", "\x81\xE0\xAE\xAD\xEF", "\x93\xAA\xE0\xA0\xE8\xA5\xAD\xA8\xEF", "\x90\xA0\xA7\xAD\xAE\xA5" }; // "ÐÑÑжие", "ÐÑонÑ", "УкÑаÑениÑ", "Разное"
+ static const char *_categoryNames[] = { "\x8E\xE0\xE3\xA6\xA8\xA5", "\x81\xE0\xAE\xAD\xEF", "\x93\xAA\xE0\xA0\xE8\xA5\xAD\xA8\xEF", "\x90\xA0\xA7\xAD\xAE\xA5" }; // "ÐÑÑжие", "ÐÑонÑ", "УкÑаÑениÑ", "Разное"
return _categoryNames;
}
@@ -1298,8 +1263,7 @@ public:
}
const char **ITEM_ACTIONS() {
- delete[] _itemActions;
- _itemActions = new const char *[7] {
+ static const char *_itemActions[] = {
"\xAD\xA0\xA4\xA5\xE2\xEC", "\xE1\xAD\xEF\xE2\xEC", "\xA8\xE1\xAF\xAE\xAB\xEC\xA7\xAE\xA2\xA0\xE2\xEC", "\xA2\xEB\xAA\xA8\xAD\xE3\xE2\xEC", "\xA7\xA0\xE7\xA0\xE0\xAE\xA2\xA0\xE2\xEC", "\xAF\xA5\xE0\xA5\xA7\xA0\xE0\xEF\xA4\xA8\xE2\xEC", // "надеÑÑ", "ÑнÑÑÑ", "иÑполÑзоваÑÑ", "вÑкинÑÑÑ", "заÑаÑоваÑÑ", "пеÑезаÑÑдиÑÑ",
"\x8F\xE0\xA5\xA2\xE0\xA0\xE2\xA8\xE2\xEC \xA2 \xA7\xAE\xAB\xAE\xE2\xAE" // "ÐÑевÑаÑиÑÑ Ð² золоÑо"
};
@@ -1360,8 +1324,7 @@ public:
}
const char **CATEGORY_BACKPACK_IS_FULL() {
- delete[] _categoryBackpackIsFull;
- _categoryBackpackIsFull = new const char *[4] {
+ static const char *_categoryBackpackIsFull[] = {
"\v010\t000\x3""c%s! \x82\xA0\xE8 \xE0\xEE\xAA\xA7\xA0\xAA \xAF\xAE\xAB\xAE\xAD.", // "\v010\t000\x3""c%s! ÐÐ°Ñ ÑÑкзак полон.",
"\v010\t000\x3""c%s! \x82\xA0\xE8 \xE0\xEE\xAA\xA7\xA0\xAA \xAF\xAE\xAB\xAE\xAD.", // "\v010\t000\x3""c%s! ÐÐ°Ñ ÑÑкзак полон.",
"\v010\t000\x3""c%s! \x82\xA0\xE8 \xE0\xEE\xAA\xA7\xA0\xAA \xAF\xAE\xAB\xAE\xAD.", // "\v010\t000\x3""c%s! ÐÐ°Ñ ÑÑкзак полон.",
@@ -1379,8 +1342,7 @@ public:
}
const char **GOLDS() {
- delete[] _sellXForYGoldEndings;
- _sellXForYGoldEndings = new const char *[2] { "\xA7\xAE\xAB\xAE\xE2\xAE\xA9", "\xA7\xAE\xAB\xAE\xE2\xEB\xE5" }; // "золоÑой", "золоÑÑÑ
"
+ static const char *_sellXForYGoldEndings[] = { "\xA7\xAE\xAB\xAE\xE2\xAE\xA9", "\xA7\xAE\xAB\xAE\xE2\xEB\xE5" }; // "золоÑой", "золоÑÑÑ
"
return _sellXForYGoldEndings;
}
@@ -1405,8 +1367,7 @@ public:
}
const char **FIX_IDENTIFY() {
- delete[] _fixIdentify;
- _fixIdentify = new const char *[2] { "\x8F\xAE\xE7\xA8\xAD\xA8\xE2\xEC", "\x8E\xAF\xAE\xA7\xAD\xA0\xE2\xEC" }; // "ÐоÑиниÑÑ", "ÐпознаÑÑ"
+ static const char *_fixIdentify[] = { "\x8F\xAE\xE7\xA8\xAD\xA8\xE2\xEC", "\x8E\xAF\xAE\xA7\xAD\xA0\xE2\xEC" }; // "ÐоÑиниÑÑ", "ÐпознаÑÑ"
return _fixIdentify;
}
@@ -1561,8 +1522,7 @@ public:
}
const char **REMOVE_DELETE() {
- delete[] _removeDelete;
- _removeDelete = new const char *[2] { "\x82\xEB\xA3\xAD\xA0\xE2\xEC", "\xE3\xA4\xA0\xAB\xA8\xE2\xEC" }; // "ÐÑгнаÑÑ", "ÑдалиÑÑ"
+ static const char *_removeDelete[] = { "\x82\xEB\xA3\xAD\xA0\xE2\xEC", "\xE3\xA4\xA0\xAB\xA8\xE2\xEC" }; // "ÐÑгнаÑÑ", "ÑдалиÑÑ"
return _removeDelete;
}
@@ -1614,8 +1574,7 @@ public:
}
const int *NEW_CHAR_SKILLS_OFFSET() {
- delete[] _newCharSkillsOffset;
- _newCharSkillsOffset = new const int[10]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
+ static const int _newCharSkillsOffset[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
return _newCharSkillsOffset;
}
@@ -1628,8 +1587,7 @@ public:
}
const char **SPELL_CAST_COMPONENTS() {
- delete[] _spellCastComponents;
- _spellCastComponents = new const char *[2] { "\xAE\xE7\xAA\xAE\xA2 \xAC\xA0\xA3\xA8\xA8", "\xA0\xAB\xAC\xA0\xA7\xAE\xA2" }; // "оÑков магии", "алмазов"
+ static const char *_spellCastComponents[] = { "\xAE\xE7\xAA\xAE\xA2 \xAC\xA0\xA3\xA8\xA8", "\xA0\xAB\xAC\xA0\xA7\xAE\xA2" }; // "оÑков магии", "алмазов"
return _spellCastComponents;
}
@@ -1678,8 +1636,7 @@ public:
}
const char **FOUND() {
- delete[] _found;
- _found = new const char *[2] { "\xAD\xA0\xE8\xF1\xAB", "\xAD\xA0\xE8\xAB\xA0" }; // "наÑÑл", "наÑла"
+ static const char *_found[] = { "\xAD\xA0\xE8\xF1\xAB", "\xAD\xA0\xE8\xAB\xA0" }; // "наÑÑл", "наÑла"
return _found;
}
@@ -1752,8 +1709,7 @@ public:
}
const char **MONSTER_SPECIAL_ATTACKS() {
- delete[] _monsterSpecialAttacks;
- _monsterSpecialAttacks = new const char *[23] {
+ static const char *_monsterSpecialAttacks[] = {
"\x8D\xA5\xE2", "\x8C\xA0\xA3\xA8\xEF", "\x8E\xA3\xAD\xEF", "\x83\xE0\xAE\xAC\xA0", "\x95\xAE\xAB\xAE\xA4\xA0", "\x8E\xE2\xE0\xA0\xA2\xAB\xA5\xAD\xA8\xA5", "\x9D\xAD\xA5\xE0\xA3\xA8\xA8", // "ÐеÑ", "ÐагиÑ", "ÐгнÑ", "ÐÑома", "Холода", "ÐÑÑавление", "ÐнеÑгии",
"\x81\xAE\xAB\xA5\xA7\xAD\xEC", "\x81\xA5\xA7\xE3\xAC\xA8\xA5", "\x91\xAE\xAD", "\x8F\xE0\xAA\xAB\x8F\xE0\xA4\xAC", "\x82\xAB\xEE\xA1\xAB", "\x8E\xE1\xE3\xE8\x87\xA4\xAE\xE0", "\x8F\xE0\xAE\xAA\xAB\xEF\xE2\xA8\xA5", // "ÐолезнÑ", "ÐезÑмие", "Сон", "ÐÑклÐÑдм", "ÐлÑбл", "ÐÑÑÑÐдоÑ", "ÐÑоклÑÑие",
"\x8F\xA0\xE0\xA0\xAB\xA8\xE7", "\x81\xA5\xE1\xE1\xAE\xA7\xAD", "\x91\xAC\xEF\xE2\xA5\xAD\xA8\xA5", "\x8B\xAE\xAC\x81\xE0\xAE\xAD", "\x91\xAB\xA0\xA1\xAE\xE1\xE2\xEC", "\x93\xAD\xA8\xE7\xE2\xAE\xA6", // "ÐаÑалиÑ", "ÐеÑÑозн", "СмÑÑение", "ÐомÐÑон", "СлабоÑÑÑ", "УниÑÑож",
@@ -1804,8 +1760,7 @@ public:
}
const char **PICK_FORM() {
- delete[] _pickForm;
- _pickForm = new const char *[2] { "\xA2\xA7\xAB\xAE\xAC\xA0\xAB", "\xA2\xA7\xAB\xAE\xAC\xA0\xAB\xA0" }; // "взломал", "взломала"
+ static const char *_pickForm[] = { "\xA2\xA7\xAB\xAE\xAC\xA0\xAB", "\xA2\xA7\xAB\xAE\xAC\xA0\xAB\xA0" }; // "взломал", "взломала"
return _pickForm;
}
@@ -1814,8 +1769,7 @@ public:
}
const char **UNABLE_TO_PICK_FORM() {
- delete[] _unableToPickForm;
- _unableToPickForm = new const char *[2] { "\xAD\xA5 \xE1\xAC\xAE\xA3", "\xAD\xA5 \xE1\xAC\xAE\xA3\xAB\xA0" }; // "не Ñмог", "не Ñмогла"
+ static const char *_unableToPickForm[] = { "\xAD\xA5 \xE1\xAC\xAE\xA3", "\xAD\xA5 \xE1\xAC\xAE\xA3\xAB\xA0" }; // "не Ñмог", "не Ñмогла"
return _unableToPickForm;
}
@@ -1867,14 +1821,12 @@ public:
}
const char **QUICK_FIGHT_OPTIONS() {
- delete[] _quickFightOptions;
- _quickFightOptions = new const char *[4] { "\x80\xE2\xA0\xAA\xA0", "\x87\xA0\xAA\xAB\xA8\xAD\xA0\xAD\xA8\xA5", "\x81\xAB\xAE\xAA", "\x81\xA5\xA3\xE1\xE2\xA2\xAE" }; // "ÐÑака", "Ðаклинание", "Ðлок", "ÐегÑÑво"
+ static const char *_quickFightOptions[] = { "\x80\xE2\xA0\xAA\xA0", "\x87\xA0\xAA\xAB\xA8\xAD\xA0\xAD\xA8\xA5", "\x81\xAB\xAE\xAA", "\x81\xA5\xA3\xE1\xE2\xA2\xAE" }; // "ÐÑака", "Ðаклинание", "Ðлок", "ÐегÑÑво"
return _quickFightOptions;
}
const char **WORLD_END_TEXT() {
- delete[] _worldEndText;
- _worldEndText = new const char *[9] {
+ static const char *_worldEndText[] = {
"\n\n\n\n\n\n\n"
"Congratulations Adventurers!\n\n"
"Let the unification ceremony begin!",
@@ -1933,8 +1885,7 @@ public:
}
const char **GOOBER() {
- delete[] _goober;
- _goober = new const char *[3] {
+ static const char *_goober[] = {
"", "I am a Goober!", "I am a Super Goober!"
};
return _goober;
@@ -1998,8 +1949,7 @@ public:
}
const char **MAE_NAMES() {
- delete[] _maeNames;
- _maeNames = new const char *[131] {
+ static const char *_maeNames[] = {
"",
"\xA6\xA0\xE0\xA0", //жаÑа
"\xAE\xA3\xAD\xA5\xA9", //огней
diff --git a/devtools/create_xeen/swords.cpp b/devtools/create_xeen/swords.cpp
index cb223e10f1..499038a721 100644
--- a/devtools/create_xeen/swords.cpp
+++ b/devtools/create_xeen/swords.cpp
@@ -37,7 +37,7 @@
void writeSwordsData(CCArchive &cc, const char *swordsDatName) {
Common::File f;
Common::MemFile monsters;
- const size_t size = MONSTERS_COUNT * 60;
+ const int size = MONSTERS_COUNT * 60;
const int32 offset = 0x44200;
byte buffer[size];
@@ -48,7 +48,7 @@ void writeSwordsData(CCArchive &cc, const char *swordsDatName) {
error("Failed to seek to 0x%x for '%s'", offset, swordsDatName);
if (f.read(buffer, size) != size)
- error("Failed to read %zu bytes from '%s'", size, swordsDatName);
+ error("Failed to read %d bytes from '%s'", size, swordsDatName);
if (strcmp((const char *)buffer + 0x33, "Slime"))
error("Invalid '%s'", swordsDatName);
More information about the Scummvm-git-logs
mailing list