home · contact · privacy
0d56c018e28c9b0ee24b13754a2cf2ac2d3de316
[plomrogue] / src / objects_on_map.h
1 #ifndef ACTORS_H
2 #define ACTORS_H
3
4 #include <stdio.h>
5 #include "yx_uint16.h"
6
7 struct World;
8 struct Map;
9
10 struct Player {
11   struct yx_uint16 pos; };
12
13 struct ChainMapObject {
14   void * next;
15   unsigned char name;
16   struct yx_uint16 pos; };
17
18 struct Item {
19   struct ChainMapObject cmo; };
20
21 struct Monster {
22   struct ChainMapObject cmo;
23   unsigned char hitpoints; };
24
25 extern void readwrite_map_objects_dummy (void *, FILE *);
26 extern void write_map_objects_monsterdata (void *, FILE *);
27 extern void write_map_objects (void * start, FILE *, void (*) (void *, FILE *) );
28 extern void read_map_objects_monsterdata (void *, FILE *);
29 extern void read_map_objects (void *, FILE *, size_t, void (*) (void *, FILE *) );
30 extern void build_map_objects_monsterdata (void *);
31 extern void build_map_objects_itemdata (void *);
32 extern void build_map_objects (void *, unsigned char, size_t, void (*) (void *), struct Map *);
33
34 extern struct yx_uint16 find_passable_pos (struct Map *);
35 extern char is_passable (struct Map *, struct yx_uint16);
36 extern void move_monster (struct World *, struct Monster *);
37 extern void move_player (struct World *, char);
38 extern void player_wait(struct World *);
39
40 #endif