aboutsummaryrefslogtreecommitdiff
path: root/engines/wage/wage.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/wage/wage.h')
-rw-r--r--engines/wage/wage.h41
1 files changed, 39 insertions, 2 deletions
diff --git a/engines/wage/wage.h b/engines/wage/wage.h
index e5228e6ffc..af5766ea68 100644
--- a/engines/wage/wage.h
+++ b/engines/wage/wage.h
@@ -69,6 +69,11 @@ class Obj;
class Scene;
class World;
+typedef Common::Array<Obj *> ObjArray;
+typedef Common::Array<Chr *> ChrArray;
+typedef Common::List<Obj *> ObjList;
+typedef Common::List<Chr *> ChrList;
+
using Common::String;
enum OperandType {
@@ -82,6 +87,13 @@ enum OperandType {
UNKNOWN = 100
};
+enum Directions {
+ NORTH = 0,
+ SOUTH = 1,
+ EAST = 2,
+ WEST = 3
+};
+
// our engine debug levels
enum {
kWageDebugExample = 1 << 0,
@@ -142,6 +154,32 @@ private:
void doClose();
public:
+ void takeObj(Obj *obj);
+
+ bool handleMoveCommand(Directions dir, const char *dirName);
+ bool handleLookCommand();
+ Common::String *getGroundItemsList(Scene *scene);
+ void appendObjNames(Common::String &str, ObjArray &objs);
+ bool handleInventoryCommand();
+ bool handleStatusCommand();
+ bool handleRestCommand();
+ bool handleAcceptCommand();
+
+ bool handleTakeCommand(const char *target);
+ bool handleDropCommand(const char *target);
+ bool handleAimCommand(const char *target);
+ bool handleWearCommand(const char *target);
+ bool handleOfferCommand(const char *target);
+
+ void wearObj(Obj *o, int pos);
+
+ bool tryAttack(Obj *weapon, Common::String &input);
+ bool handleAttack(Obj *weapon);
+
+ void printPlayerCondition(Chr *player);
+ const char *getPercentMessage(double percent);
+
+public:
Common::RandomSource *_rnd;
Gui *_gui;
@@ -163,8 +201,7 @@ public:
void playSound(String soundName);
void setMenu(String soundName);
- void appendText(String &str);
- void appendText(char *str);
+ void appendText(const char *str);
void gameOver();
bool saveDialog();
Obj *getOffer();