Skip to content

Commit

Permalink
WAGE: Simplified message output formation
Browse files Browse the repository at this point in the history
  • Loading branch information
sev- committed Feb 14, 2016
1 parent 8e30167 commit 2a16cef
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 47 deletions.
64 changes: 27 additions & 37 deletions engines/wage/combat.cpp
Expand Up @@ -70,41 +70,31 @@ Chr *WageEngine::getMonster() {
}

void WageEngine::encounter(Chr *player, Chr *chr) {
Common::String msg("You encounter ");
if (!chr->_nameProperNoun)
msg += getIndefiniteArticle(chr->_name);
msg += chr->_name;
msg += ".";
appendText(msg);
char buf[512];

snprintf(buf, 512, "You encounter %s%s.", chr->_nameProperNoun ? "" : getIndefiniteArticle(chr->_name),
chr->_name.c_str());
appendText(buf);

if (!chr->_initialComment.empty())
appendText(chr->_initialComment);

if (chr->_armor[Chr::HEAD_ARMOR] != NULL) {
msg = chr->getDefiniteArticle(true);
msg += chr->_name;
msg += " is wearing ";
msg += getIndefiniteArticle(chr->_armor[Chr::HEAD_ARMOR]->_name);
msg += ".";
appendText(msg);
snprintf(buf, 512, "%s%s is wearing %s.", chr->getDefiniteArticle(true), chr->_name.c_str(),
getIndefiniteArticle(chr->_armor[Chr::HEAD_ARMOR]->_name));
appendText(buf);
}
if (chr->_armor[Chr::BODY_ARMOR] != NULL) {
msg = getGenderSpecificPronoun(chr->_gender, true);
msg += " is protected by ";
msg += prependGenderSpecificPronoun(chr->_gender);
msg += chr->_armor[Chr::BODY_ARMOR]->_name;
msg += ".";
appendText(msg);
snprintf(buf, 512, "%s is protected by %s%s.", getGenderSpecificPronoun(chr->_gender, true),
prependGenderSpecificPronoun(chr->_gender), chr->_armor[Chr::BODY_ARMOR]->_name.c_str());
appendText(buf);
}
if (chr->_armor[Chr::SHIELD_ARMOR] != NULL) {
Obj *obj = chr->_armor[Chr::SHIELD_ARMOR];
msg = getGenderSpecificPronoun(chr->_gender, true);
msg += " carries ";
if (!obj->_namePlural)
msg += getIndefiniteArticle(obj->_name);
msg += obj->_name;
msg += ".";
appendText(msg);

snprintf(buf, 512, "%s carries %s%s.", getGenderSpecificPronoun(chr->_gender, true),
obj->_namePlural ? "" : getIndefiniteArticle(obj->_name), obj->_name.c_str());
appendText(buf);
}
}

Expand Down Expand Up @@ -202,23 +192,23 @@ void WageEngine::performMove(Chr *chr, int validMoves) {
void WageEngine::performOffer(Chr *attacker, Chr *victim) {
/* TODO: choose in a smarter way? */
Obj *obj = attacker->_inventory[0];
Common::String msg(attacker->getDefiniteArticle(true));
msg += attacker->_name;
msg += " offers ";
msg += obj->_namePlural ? "some " : getIndefiniteArticle(obj->_name);
msg += obj->_name;
msg += ".";
char buf[512];

snprintf(buf, 512, "%s%s offers %s%s.", attacker->getDefiniteArticle(true), attacker->_name.c_str(),
obj->_namePlural ? "some " : getIndefiniteArticle(obj->_name), obj->_name.c_str());

appendText(buf);

_offer = obj;
}

void WageEngine::performTake(Chr *npc, Obj *obj) {
Common::String msg(npc->getDefiniteArticle(true));
msg += npc->_name;
msg += " picks up the ";
msg += getIndefiniteArticle(obj->_name);
msg += obj->_name;
msg += ".";
char buf[512];

snprintf(buf, 512, "%s%s picks up the %s%s.", npc->getDefiniteArticle(true), npc->_name.c_str(),
getIndefiniteArticle(obj->_name), obj->_name.c_str());

appendText(buf);

_world->move(obj, npc);
}
Expand Down
22 changes: 12 additions & 10 deletions engines/wage/wage.cpp
Expand Up @@ -210,6 +210,12 @@ void WageEngine::appendText(String &str) {
_gui->appendText(str);
}

void WageEngine::appendText(char *str) {
Common::String s(str);

appendText(s);
}

void WageEngine::gameOver() {
warning("STUB: WageEngine::gameOver()");
}
Expand Down Expand Up @@ -434,20 +440,16 @@ void WageEngine::processTurn(Common::String *textInput, Designed *clickInput) {
}
}

Common::String msg;
char buf[512];

if (followed) {
msg = prevMonster->getDefiniteArticle(true);
msg += prevMonster->_name;
msg += " follows you.";
appendText(msg);
snprintf(buf, 512, "%s%s follows you.", prevMonster->getDefiniteArticle(true), prevMonster->_name.c_str());
appendText(buf);

_world->move(prevMonster, playerScene);
} else {
msg = "You escape ";
msg += prevMonster->getDefiniteArticle(false);
msg += prevMonster->_name;
msg += ".";
appendText(msg);
snprintf(buf, 512, "You escape %s%s.", prevMonster->getDefiniteArticle(false), prevMonster->_name.c_str());
appendText(buf);
}
}
}
Expand Down
1 change: 1 addition & 0 deletions engines/wage/wage.h
Expand Up @@ -157,6 +157,7 @@ class WageEngine : public Engine {
void playSound(String soundName);
void setMenu(String soundName);
void appendText(String &str);
void appendText(char *str);
void gameOver();
Obj *getOffer();
Chr *getMonster();
Expand Down

0 comments on commit 2a16cef

Please sign in to comment.