diff options
author | glx22 <glx22@users.noreply.github.com> | 2019-11-14 21:10:03 +0100 |
---|---|---|
committer | Charles Pigott <charlespigott@googlemail.com> | 2019-11-14 20:10:03 +0000 |
commit | 0bdbd509be8fcb7bac921aeffb7b77b55d968155 (patch) | |
tree | a87760d47d3afaca5506745804f1b33b4a19352a | |
parent | b533c66f428cba9d8c1fff65e00f67f3e1804817 (diff) | |
download | openttd-0bdbd509be8fcb7bac921aeffb7b77b55d968155.tar.xz |
Fix #7673: [Script] Allow removal of custom town text (#7834)
-rw-r--r-- | src/script/api/script_town.cpp | 8 | ||||
-rw-r--r-- | src/script/api/script_town.hpp | 4 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/script/api/script_town.cpp b/src/script/api/script_town.cpp index 29183aa89..fb5589707 100644 --- a/src/script/api/script_town.cpp +++ b/src/script/api/script_town.cpp @@ -58,9 +58,11 @@ { CCountedPtr<Text> counter(text); - EnforcePrecondition(false, text != nullptr); - const char *encoded_text = text->GetEncodedText(); - EnforcePreconditionEncodedText(false, encoded_text); + const char *encoded_text = nullptr; + if (text != nullptr) { + encoded_text = text->GetEncodedText(); + EnforcePreconditionEncodedText(false, encoded_text); + } EnforcePrecondition(false, IsValidTown(town_id)); return ScriptObject::DoCommand(::Town::Get(town_id)->xy, town_id, 0, CMD_TOWN_SET_TEXT, encoded_text); diff --git a/src/script/api/script_town.hpp b/src/script/api/script_town.hpp index f2244e7bf..71fb5a712 100644 --- a/src/script/api/script_town.hpp +++ b/src/script/api/script_town.hpp @@ -146,7 +146,7 @@ public: /** * Rename a town. * @param town_id The town to rename - * @param name The new name of the town. If nullptr or an empty string is passed, the town name will be reset to the default name. + * @param name The new name of the town. If null is passed, the town name will be reset to the default name. * @pre IsValidTown(town_id). * @return True if the action succeeded. * @api -ai @@ -156,7 +156,7 @@ public: /** * Set the custom text of a town, shown in the GUI. * @param town_id The town to set the custom text of. - * @param text The text to set it to (can be either a raw string, or a ScriptText object). + * @param text The text to set it to (can be either a raw string, or a ScriptText object). If null is passed, the text will be removed. * @pre IsValidTown(town_id). * @return True if the action succeeded. * @api -ai |