#include "field_of_view.h" /* build_fov_map() */
#include "hardcoded_strings.h" /* s */
#include "things.h" /* Thing, ThingType, get_player(), own_thing(),
- * set_thing_position(), get_thing_type()
+ * set_thing_position(), get_thing_type(),
+ * free_things_in_memory()
*/
#include "map.h" /* is_passable() */
#include "yx_uint8.h" /* mv_yx_in_dir(), yx_uint8_cmp() */
hitted->fov_map = NULL;
free(hitted->mem_map);
hitted->mem_map = NULL;
+ free_things_in_memory(hitted->t_mem);
+ hitted->t_mem = NULL;
}
update_log(" It dies.");
}
extern void actor_drop(struct Thing * t)
{
- uint8_t owns_none = (NULL == t->owns);
+ uint8_t owns_none = (!t->owns);
if (!owns_none)
{
uint8_t select = t->arg;
{
struct Thing * picked = NULL;
struct Thing * t_i;
- for (t_i = world.things; NULL != t_i; t_i = t_i->next)
+ for (t_i = world.things; t_i; t_i = t_i->next)
{
if (t_i != t && yx_uint8_cmp(&t_i->pos, &t->pos))
{
picked = t_i;
}
}
- if (NULL != picked)
+ if (picked)
{
own_thing(&t->owns, &world.things, picked->id);
set_thing_position(picked, t->pos);
}
if (t == get_player())
{
- playerbonus_pick(NULL != picked);
+ playerbonus_pick(!(!picked));
}
}
extern void actor_use(struct Thing * t)
{
uint8_t wrong_thing = 1;
- uint8_t no_thing = (NULL == t->owns);
+ uint8_t no_thing = (!t->owns);
if (!no_thing)
{
uint8_t select = t->arg;