diff --git a/sc2/src/uqm/init.c b/sc2/src/uqm/init.c index 0e83a5c51..7831d089e 100644 --- a/sc2/src/uqm/init.c +++ b/sc2/src/uqm/init.c @@ -311,9 +311,6 @@ UninitShips (void) crew_retrieved; } - if (StarShipPtr->RaceDescPtr->uninit_func != NULL) - (*StarShipPtr->RaceDescPtr->uninit_func) ( - StarShipPtr->RaceDescPtr); /* Record crew left after battle */ StarShipPtr->crew_level = StarShipPtr->RaceDescPtr->ship_info.crew_level; diff --git a/sc2/src/uqm/loadship.c b/sc2/src/uqm/loadship.c index 3e73c1f41..339613415 100644 --- a/sc2/src/uqm/loadship.c +++ b/sc2/src/uqm/loadship.c @@ -170,6 +170,9 @@ void free_ship (RACE_DESC *raceDescPtr, BOOLEAN FreeIconData, BOOLEAN FreeBattleData) { + if (raceDescPtr->uninit_func != NULL) + (*raceDescPtr->uninit_func) (raceDescPtr); + if (FreeBattleData) { DATA_STUFF *shipData = &raceDescPtr->ship_data; diff --git a/sc2/src/uqm/tactrans.c b/sc2/src/uqm/tactrans.c index 018084e12..4e2b8964c 100644 --- a/sc2/src/uqm/tactrans.c +++ b/sc2/src/uqm/tactrans.c @@ -473,9 +473,6 @@ new_ship (ELEMENT *DeadShipPtr) SetElementStarShip (DeadShipPtr, 0); RestartMusic = OpponentAlive (DeadStarShipPtr); - if (DeadStarShipPtr->RaceDescPtr->uninit_func != NULL) - (*DeadStarShipPtr->RaceDescPtr->uninit_func) ( - DeadStarShipPtr->RaceDescPtr); free_ship (DeadStarShipPtr->RaceDescPtr, TRUE, TRUE); DeadStarShipPtr->RaceDescPtr = 0;