From f25e5e90d29515341d192af32e5da5cc8949b9c0 Mon Sep 17 00:00:00 2001 From: truelight Date: Sat, 26 Aug 2006 19:29:35 +0000 Subject: [PATCH] (svn r6153) -Codechange: DeleteSign removes a sign from the pool -Codechange: DestroySign is called by DeleteSign to remove all things where a sign depends on. Last 2 changes to prepare for new pool system. Not pretty now, will be soon. --- signs.c | 8 +++++++- signs.h | 4 +++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/signs.c b/signs.c index d507ffe4c4..f6d796d52a 100644 --- a/signs.c +++ b/signs.c @@ -103,7 +103,13 @@ static Sign *AllocateSign(void) return NULL; } -/** Place a sign at the given coordinates. Ownership of sign has +void DestroySign(Sign *si) +{ + DeleteName(si->str); +} + +/** + * Place a sign at the given coordinates. Ownership of sign has * no effect whatsoever except for the colour the sign gets for easy recognition, * but everybody is able to rename/remove it. * @param tile tile to place sign at diff --git a/signs.h b/signs.h index e2d5f9f7fa..8ae34f52e7 100644 --- a/signs.h +++ b/signs.h @@ -57,9 +57,11 @@ static inline bool IsValidSignID(uint index) return index < GetSignPoolSize() && IsValidSign(GetSign(index)); } +void DestroySign(Sign *si); + static inline void DeleteSign(Sign *si) { - DeleteName(si->str); + DestroySign(si); si->str = STR_NULL; }