aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2018-04-01 14:01:26 -0400
committerPaul Gilbert2018-04-01 14:01:26 -0400
commitd8a8a5741166e6114ba31ecd8af03baaa0f88b91 (patch)
treecae90c6e9036d458d48deb51a78c412d621d69d3
parent2ea485579932e9e470cb825ed107eba2a86a85c9 (diff)
downloadscummvm-rg350-d8a8a5741166e6114ba31ecd8af03baaa0f88b91.tar.gz
scummvm-rg350-d8a8a5741166e6114ba31ecd8af03baaa0f88b91.tar.bz2
scummvm-rg350-d8a8a5741166e6114ba31ecd8af03baaa0f88b91.zip
XEEN: Fixes for full description of misc items
-rw-r--r--devtools/create_xeen/constants.cpp18
-rw-r--r--dists/engine-data/xeen.ccsbin53765 -> 54659 bytes
-rw-r--r--engines/xeen/item.cpp8
-rw-r--r--engines/xeen/resources.cpp2
-rw-r--r--engines/xeen/resources.h2
5 files changed, 26 insertions, 4 deletions
diff --git a/devtools/create_xeen/constants.cpp b/devtools/create_xeen/constants.cpp
index 084b26188a..8bea0fd22c 100644
--- a/devtools/create_xeen/constants.cpp
+++ b/devtools/create_xeen/constants.cpp
@@ -1283,6 +1283,8 @@ const char *const BTN_GOLD = "G\fdold";
const char *const ITEM_BROKEN = "\f32broken ";
const char *const ITEM_CURSED = "\f09cursed ";
+const char *const ITEM_OF = "of ";
+
const char *const BONUS_NAMES[7] = {
"", "Dragon Slayer", "Undead Eater", "Golem Smasher",
"Bug Zapper", "Monster Masher", "Beast Bopper"
@@ -1316,6 +1318,20 @@ const char *const MISC_NAMES[22] = {
"bogus", "bogus", "bogus", "bogus", "bogus", "bogus", "bogus"
};
+const char *const SPECIAL_NAMES[74] = {
+ 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",
+ "monster identification", "lightning", "holy bonuses", "power curing", "nature's cures", "beacons",
+ "shielding", "heroism", "hypnotism", "water walking", "frost biting", "monster finding", "fireballs",
+ "cold rays", "antidotes", "acid spraying", "time distortion", "dragon sleep", "vaccination", "teleportation",
+ "death", "free movement", "golem stopping", "poison volleys", "deadly swarms", "shelter", "daily protection",
+ "daily sorcerery", "feasting", "fiery flails", "recharging", "freezing", "town portals", "stone to flesh",
+ "raising the dead", "etherealization", "dancing swords", "moon rays", "mass distortion", "prismatic light",
+ "enchant item", "incinerating", "holy words", "resurrection", "storms", "megavoltage", "infernos",
+ "sun rays", "implosions", "star bursts", "the GODS!"
+};
+
const char *const ELEMENTAL_NAMES[6] = {
"Fire", "Elec", "Cold", "Acid/Poison", "Energy", "Magic"
};
@@ -2096,11 +2112,13 @@ void writeConstants(CCArchive &cc) {
file.syncString(BTN_GOLD);
file.syncString(ITEM_BROKEN);
file.syncString(ITEM_CURSED);
+ file.syncString(ITEM_OF);
file.syncStrings(BONUS_NAMES, 7);
file.syncStrings(WEAPON_NAMES, 41);
file.syncStrings(ARMOR_NAMES, 14);
file.syncStrings(ACCESSORY_NAMES, 11);
file.syncStrings(MISC_NAMES, 22);
+ file.syncStrings(SPECIAL_NAMES, 74);
file.syncStrings(ELEMENTAL_NAMES, 6);
file.syncStrings(ATTRIBUTE_NAMES, 10);
file.syncStrings(EFFECTIVENESS_NAMES, 7);
diff --git a/dists/engine-data/xeen.ccs b/dists/engine-data/xeen.ccs
index 124b45df55..162e7fa4bd 100644
--- a/dists/engine-data/xeen.ccs
+++ b/dists/engine-data/xeen.ccs
Binary files differ
diff --git a/engines/xeen/item.cpp b/engines/xeen/item.cpp
index a79efc085d..d745d2e130 100644
--- a/engines/xeen/item.cpp
+++ b/engines/xeen/item.cpp
@@ -664,14 +664,14 @@ Common::String AccessoryItems::getAttributes(XeenItem &item, const Common::Strin
Common::String MiscItems::getFullDescription(int itemIndex, int displayNum) {
XeenItem &i = operator[](itemIndex);
- Resources &res = *getVm()->_resources;
- Common::String desc = Common::String::format("\f%02u%s%s%s\f%02u%s%s", displayNum,
- i._state._cursed || i._state._broken ? "" : res._maeNames[i._material].c_str(),
+ Common::String desc = Common::String::format("\f%02u%s%s\f%02u%s%s%s%s", displayNum,
i._state._broken ? Res.ITEM_BROKEN : "",
i._state._cursed ? Res.ITEM_CURSED : "",
displayNum,
- Res.MISC_NAMES[i._id],
+ Res.MISC_NAMES[i._material],
+ (i._state._cursed || i._state._broken) || !i._id ? "" : Res.ITEM_OF,
+ (i._state._cursed || i._state._broken) ? "" : Res.SPECIAL_NAMES[i._id],
(i._state._cursed || i._state._broken) || !i._id ? "\b " : ""
);
capitalizeItem(desc);
diff --git a/engines/xeen/resources.cpp b/engines/xeen/resources.cpp
index df7545976e..c599480e2f 100644
--- a/engines/xeen/resources.cpp
+++ b/engines/xeen/resources.cpp
@@ -249,11 +249,13 @@ void Resources::loadData() {
file.syncString(BTN_GOLD);
file.syncString(ITEM_BROKEN);
file.syncString(ITEM_CURSED);
+ file.syncString(ITEM_OF);
file.syncStrings(BONUS_NAMES, 7);
file.syncStrings(WEAPON_NAMES, 41);
file.syncStrings(ARMOR_NAMES, 14);
file.syncStrings(ACCESSORY_NAMES, 11);
file.syncStrings(MISC_NAMES, 22);
+ file.syncStrings(SPECIAL_NAMES, 74);
file.syncStrings(ELEMENTAL_NAMES, 6);
file.syncStrings(ATTRIBUTE_NAMES, 10);
file.syncStrings(EFFECTIVENESS_NAMES, 7);
diff --git a/engines/xeen/resources.h b/engines/xeen/resources.h
index d47bc4da45..007aaa3a75 100644
--- a/engines/xeen/resources.h
+++ b/engines/xeen/resources.h
@@ -304,11 +304,13 @@ public:
const char *BTN_GOLD;
const char *ITEM_BROKEN;
const char *ITEM_CURSED;
+ const char *ITEM_OF;
const char *BONUS_NAMES[7];
const char *WEAPON_NAMES[35];
const char *ARMOR_NAMES[14];
const char *ACCESSORY_NAMES[11];
const char *MISC_NAMES[22];
+ const char *SPECIAL_NAMES[74];
const char *ELEMENTAL_NAMES[6];
const char *ATTRIBUTE_NAMES[10];
const char *EFFECTIVENESS_NAMES[7];