From e224366ce6e6cf56547adaf6cb4d06ee744d856f Mon Sep 17 00:00:00 2001 From: Allanis <allanis@saracraft.net> Date: Fri, 7 Mar 2014 19:49:13 +0000 Subject: [PATCH] [Add] Clean up pilot hooks when freeing pilot. [Remove] Removed unused jump hook for player that collided with pilot hook. --- src/pilot.c | 8 ++++++++ src/player.c | 1 - 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/pilot.c b/src/pilot.c index 4ddb2c5..96315f1 100644 --- a/src/pilot.c +++ b/src/pilot.c @@ -1474,6 +1474,14 @@ Pilot* pilot_copy(Pilot* src) { * @param p Pilot to free. */ void pilot_free(Pilot* p) { + int i; + + /* Clear up pilot hooks. */ + for(i = 0; i < PILOT_HOOKS; i++) + if(p->hook_type[i] != PILOT_HOOK_NONE) + hook_rm(p->hook[i]); + + /* Clean up data. */ if(p->ai != NULL) ai_destroy(p); /* Must be destroyed first if applicable. */ if(player == p) player = NULL; diff --git a/src/player.c b/src/player.c index 98c31e2..84a217c 100644 --- a/src/player.c +++ b/src/player.c @@ -1895,7 +1895,6 @@ void player_brokeHyperspace(void) { } /* Run the jump hooks. */ - hooks_run("jump"); hooks_run("enter"); player_message("BANG!");