Merge branch 'master' into jgrpp

# Conflicts:
#	src/saveload/company_sl.cpp
This commit is contained in:
Jonathan G Rennison
2017-02-28 00:15:45 +00:00
81 changed files with 331 additions and 243 deletions

View File

@@ -13,6 +13,7 @@
#include "script_error.hpp"
#include "../../core/bitmath_func.hpp"
#include "../../string_func.h"
#include "../../strings_func.h"
#include "../../safeguards.h"
@@ -31,17 +32,17 @@ ScriptError::ScriptErrorMapString ScriptError::error_map_string = ScriptError::S
/* static */ ScriptErrorType ScriptError::StringToError(StringID internal_string_id)
{
uint index = GB(internal_string_id, 11, 5);
switch (GB(internal_string_id, 11, 5)) {
case 26: case 28: case 29: case 30: // NewGRF strings.
return ERR_NEWGRF_SUPPLIED_ERROR;
uint index = GetStringIndex(internal_string_id);
switch (GetStringTab(internal_string_id)) {
case TEXT_TAB_NEWGRF_START:
case TEXT_TAB_GAMESCRIPT_START:
return ERR_NEWGRF_SUPPLIED_ERROR; // NewGRF strings.
/* DO NOT SWAP case 14 and 4 because that will break StringToError due
* to the index dependency that relies on FALL THROUGHs. */
case 14: if (index < 0xE4) break; // Player name
case 4: if (index < 0xC0) break; // Town name
case 15: // Custom name
case 31: // Dynamic strings
case TEXT_TAB_SPECIAL:
if (index < 0xE4) break; // Player name
/* FALL THROUGH */
case TEXT_TAB_TOWN:
if (index < 0xC0) break; // Town name
/* These strings are 'random' and have no meaning.
* They actually shouldn't even be returned as error messages. */
return ERR_UNKNOWN;

View File

@@ -98,7 +98,7 @@ typedef uint8 IndustryType; ///< The ID of an industry-type.
typedef OverflowSafeInt64 Money; ///< Money, stored in a 32bit/64bit safe way. For scripts money is always in pounds.
typedef uint16 SignID; ///< The ID of a sign.
typedef uint16 StationID; ///< The ID of a station.
typedef uint16 StringID; ///< The ID of a string.
typedef uint32 StringID; ///< The ID of a string.
typedef uint16 SubsidyID; ///< The ID of a subsidy.
typedef uint16 StoryPageID; ///< The ID of a story page.
typedef uint16 StoryPageElementID; ///< The ID of a story page element.