home · contact · privacy
Simplified textfile_sizes() and replaced all get_linemax() calls with it.
[plomrogue] / src / map_objects.h
index 5cc6ee4873792adb72907a0d39e180768c2287ca..2bd1bec775dafb89dae35060479374bb95fc381f 100644 (file)
@@ -21,10 +21,11 @@ struct MapObj
     uint8_t type;                /* ID of appropriate map object definition */
     uint8_t lifepoints;          /* 0: object is inanimate; >0: hitpoints */
     struct yx_uint16 pos;        /* coordinate on map */
+    uint8_t command;             /* command map object tries to realize now*/
+    uint8_t arg;                 /* optional field for command argument */
+    uint8_t progress;            /* turns already passed to realize .command */
 };
 
-
-
 struct MapObjDef
 {
     struct MapObjDef * next;
@@ -40,13 +41,9 @@ struct MapObjDef
 /* Initialize map object defnitions chain from file at path "filename". */
 extern void init_map_object_defs(char * filename);
 
-
-
 /* Free map object definitions chain starting at "mod_start". */
 extern void free_map_object_defs(struct MapObjDef * mod_start);
 
-
-
 /* Add new object(s) ("n": how many?) of "type" to map on random position(s).
  * New animate objects are never placed in the same square with other animated
  * ones.
@@ -54,8 +51,6 @@ extern void free_map_object_defs(struct MapObjDef * mod_start);
 extern void add_map_object(uint8_t type);
 extern void add_map_objects(uint8_t type, uint8_t n);
 
-
-
 /* Write map objects chain to "file". */
 extern void write_map_objects(FILE * file);
 
@@ -64,29 +59,19 @@ extern void write_map_objects(FILE * file);
  */
 extern void read_map_objects(FILE * file, char * line, int linemax);
 
-
-
 /* Free map objects in map object chain starting at "mo_start. */
 extern void free_map_objects(struct MapObj * mo_start);
 
-
-
 /* Move object of "id" from "source" inventory to "target" inventory. */
 extern void own_map_object(struct MapObj ** target, struct MapObj ** source,
                            uint8_t id);
 
-
-
 /* Get pointer to the MapObj struct that represents the player. */
 extern struct MapObj * get_player();
 
-
-
 /* Get pointer to the map object definition of identifier "def_id". */
 extern struct MapObjDef * get_map_object_def(uint8_t id);
 
-
-
 /* Move not only "mo" to "pos", but also all map objects owned by it. */
 extern void set_object_position(struct MapObj * mo, struct yx_uint16 pos);