summaryrefslogtreecommitdiff
path: root/src/game/text.cpp
diff options
context:
space:
mode:
authorPaweł Redman <pawel.redman@gmail.com>2017-12-16 20:42:33 +0000
committerPaweł Redman <pawel.redman@gmail.com>2017-12-16 20:42:33 +0000
commit5c7d962e605e123e1ce4e0610e8f330b1f4f5e82 (patch)
treef670145b02dd884ebc7db01b47f079cc259e5d8d /src/game/text.cpp
parent1b1704512b4c83dfa7e17c30f0facc5a7645181a (diff)
Move text.cpp into game.
Diffstat (limited to 'src/game/text.cpp')
-rw-r--r--src/game/text.cpp112
1 files changed, 112 insertions, 0 deletions
diff --git a/src/game/text.cpp b/src/game/text.cpp
new file mode 100644
index 0000000..3b611e2
--- /dev/null
+++ b/src/game/text.cpp
@@ -0,0 +1,112 @@
+#include "game.hpp"
+
+namespace game::text {
+
+language_t language = LANG_ENGLISH;
+
+static const char *soldier_names[] = {
+ "Kowalski", "Jackson", "Carter", "O'Neill", "Hammond", "Mitchell"
+};
+
+static std::string get_english(index_t index)
+{
+ switch (index) {
+ case SAY_BLOCKED:
+ return "Something is in my way.";
+
+ case SAY_NO_PATH:
+ return "I can't get there.";
+
+ case SAY_READY:
+ return "Ready for orders.";
+
+ case SAY_MOVING:
+ return "On my way.";
+
+ case UNIT_NAME_SPIDER:
+ return "Spider";
+
+ case UNIT_NAME_SOLDIER:
+ return soldier_names[rand() % count(soldier_names)];
+
+ case UNIT_DEATH:
+ return "died";
+
+ case UNIT_ATTACK:
+ return "attacks";
+
+ case UNIT_MISS:
+ return "miss";
+
+ case UNIT_CRITICAL_MISS:
+ return "critical miss";
+
+ case UNIT_CRITICAL_HIT:
+ return "critical hit";
+
+ case UNIT_DAMAGE:
+ return "deals damage";
+
+ default:
+ abort();
+ }
+}
+
+static std::string get_polish(index_t index)
+{
+ switch (index) {
+ case SAY_BLOCKED:
+ return "Coś jest na mojej drodze.";
+
+ case SAY_NO_PATH:
+ return "Nie mogę się tam dostać.";
+
+ case SAY_READY:
+ return "Gotowy na rozkaz.";
+
+ case SAY_MOVING:
+ return "Jestem w drodze.";
+
+ case UNIT_NAME_SPIDER:
+ return "Pająk";
+
+ case UNIT_NAME_SOLDIER:
+ return soldier_names[rand() % count(soldier_names)];
+
+ case UNIT_DEATH:
+ return "nie żyje";
+
+ case UNIT_ATTACK:
+ return "atakuje";
+
+ case UNIT_MISS:
+ return "chybienie";
+
+ case UNIT_CRITICAL_MISS:
+ return "chybienie krytyczne";
+
+ case UNIT_CRITICAL_HIT:
+ return "trafienie krytyczne";
+
+ case UNIT_DAMAGE:
+ return "zadaje obrażenia";
+
+ default:
+ abort();
+ }
+}
+std::string get(index_t index)
+{
+ switch (language) {
+ case LANG_ENGLISH:
+ return get_english(index);
+
+ case LANG_POLISH:
+ return get_polish(index);
+
+ default:
+ abort();
+ }
+}
+
+} // namespace text