… | |
… | |
107 | * used in the get_map_flags value - that function is used to return |
107 | * used in the get_map_flags value - that function is used to return |
108 | * the flag value, as well as other conditions - using a more general |
108 | * the flag value, as well as other conditions - using a more general |
109 | * function that does more of the work can hopefully be used to replace |
109 | * function that does more of the work can hopefully be used to replace |
110 | * lots of duplicate checks currently in the code. |
110 | * lots of duplicate checks currently in the code. |
111 | */ |
111 | */ |
112 | #define P_OUT_OF_MAP 0x10000 /* This space is outside the map */ |
112 | #define P_OUT_OF_MAP 0x10000 /* This space is outside the map */ |
113 | #define P_NEW_MAP 0x20000 |
113 | #define P_NEW_MAP 0x20000 /* Coordinates passed result in a new tiled map */ |
114 | /* Coordinates passed result in a new tiled map */ |
|
|
115 | |
114 | |
116 | /* Instead of having numerous arrays that have information on a |
115 | /* Instead of having numerous arrays that have information on a |
117 | * particular space (was map, floor, floor2, map_ob), |
116 | * particular space (was map, floor, floor2, map_ob), |
118 | * have this structure take care of that information. |
117 | * have this structure take care of that information. |
119 | * This puts it all in one place, and should also make it easier |
118 | * This puts it all in one place, and should also make it easier |
… | |
… | |
123 | struct mapspace |
122 | struct mapspace |
124 | { |
123 | { |
125 | object *ACC (RW, bot); |
124 | object *ACC (RW, bot); |
126 | object *ACC (RW, top); /* lowest/highest object on this space */ |
125 | object *ACC (RW, top); /* lowest/highest object on this space */ |
127 | object *ACC (RW, faces_obj[MAP_LAYERS]);/* face objects for the 3 layers */ |
126 | object *ACC (RW, faces_obj[MAP_LAYERS]);/* face objects for the 3 layers */ |
|
|
127 | uint32_t smell; // the last count a player was seen here, or 0 |
|
|
128 | static uint32_t smellcount; // global smell counter |
128 | uint8 flags_; /* flags about this space (see the P_ values above) */ |
129 | uint8 flags_; /* flags about this space (see the P_ values above) */ |
129 | sint8 ACC (RW, light); /* How much light this space provides */ |
130 | sint8 ACC (RW, light); /* How much light this space provides */ |
130 | MoveType ACC (RW, move_block); /* What movement types this space blocks */ |
131 | MoveType ACC (RW, move_block); /* What movement types this space blocks */ |
131 | MoveType ACC (RW, move_slow); /* What movement types this space slows */ |
132 | MoveType ACC (RW, move_slow); /* What movement types this space slows */ |
132 | MoveType ACC (RW, move_on); /* What movement types are activated */ |
133 | MoveType ACC (RW, move_on); /* What movement types are activated */ |