aboutsummaryrefslogtreecommitdiff
path: root/src/room.h
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2016-01-24 22:23:17 -0500
committerFranklin Wei <git@fwei.tk>2016-01-24 22:23:17 -0500
commit736849c072748b2c1e96f38777bb1747da891086 (patch)
tree5c5ff1e050a81ef5db67767dd053ebd9ccb1036d /src/room.h
parent7ba1da83c715175fb76c17098793091e6e8db788 (diff)
downloadnetcosm-736849c072748b2c1e96f38777bb1747da891086.zip
netcosm-736849c072748b2c1e96f38777bb1747da891086.tar.gz
netcosm-736849c072748b2c1e96f38777bb1747da891086.tar.bz2
netcosm-736849c072748b2c1e96f38777bb1747da891086.tar.xz
implement object serialization, still need inventory
Diffstat (limited to 'src/room.h')
-rw-r--r--src/room.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/room.h b/src/room.h
index ad5304f..3738c83 100644
--- a/src/room.h
+++ b/src/room.h
@@ -40,6 +40,7 @@ struct obj_class_t {
const char *class_name;
void (*hook_serialize)(int fd, struct object_t*);
+ void (*hook_deserialize)(int fd, struct object_t*);
bool (*hook_take)(struct object_t*, user_t *user);
void (*hook_drop)(struct object_t*, user_t *user);
void (*hook_use)(struct object_t*, user_t *user);
@@ -52,10 +53,10 @@ struct object_t {
const char *name; /* no articles: "a", "an", "the" */
- void *userdata;
-
bool can_take;
bool list;
+
+ void *userdata;
};
/* the data we get from a world module */
@@ -64,8 +65,8 @@ struct roomdata_t {
const char * const uniq_id;
/* mutable properties */
- const char *name;
- const char *desc;
+ char *name;
+ char *desc;
const char * const adjacent[NUM_DIRECTIONS];
@@ -118,4 +119,6 @@ struct object_t *room_obj_iterate(room_id room, void **save);
/* obj should be all lowercase */
struct object_t *room_obj_get(room_id room, const char *obj);
+size_t room_obj_count(room_id room);
+
void world_free(void);