Skip to content

Commit

Permalink
Change: [NewGRF] Extend the D8xx (DCxx) string area up to FFFF.
Browse files Browse the repository at this point in the history
This adds the Exxx and Fxxx blocks to the usable range for NewGRF
local strings. TTDPatch uses these ranges for internal strings, but as
we don't support any of them anyway, it is "free" real estate for us.
  • Loading branch information
michicc committed Jan 30, 2023
1 parent 43657cf commit f5394ed
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions src/newgrf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -556,10 +556,10 @@ static StringID TTDPStringIDToOTTDStringIDMapping(StringID str)
*/
StringID MapGRFStringID(uint32 grfid, StringID str)
{
if (IsInsideMM(str, 0xD800, 0xE000)) {
if (IsInsideMM(str, 0xD800, 0x10000)) {
/* General text provided by NewGRF.
* In the specs this is called the 0xDCxx range (misc persistent texts),
* but we meanwhile extended the range to 0xD800-0xDFFF.
* but we meanwhile extended the range to 0xD800-0xFFFF.
* Note: We are not involved in the "persistent" business, since we do not store
* any NewGRF strings in savegames. */
return GetGRFStringID(grfid, str);
Expand Down Expand Up @@ -6079,7 +6079,7 @@ static void FeatureNewName(ByteReader *buf)
break;

default:
if (IsInsideMM(id, 0xD000, 0xD400) || IsInsideMM(id, 0xD800, 0xE000)) {
if (IsInsideMM(id, 0xD000, 0xD400) || IsInsideMM(id, 0xD800, 0x10000)) {
AddGRFString(_cur.grffile->grfid, id, lang, new_scheme, true, name, STR_UNDEFINED);
break;
}
Expand Down Expand Up @@ -8465,7 +8465,8 @@ static void InitializeGRFSpecial()
| (1U << 0x1F); // any switch is on

_ttdpatch_flags[4] = (1U << 0x00) // larger persistent storage
| ((_settings_game.economy.inflation ? 1U : 0U) << 0x01); // inflation is on
| ((_settings_game.economy.inflation ? 1U : 0U) << 0x01) // inflation is on
| (1U << 0x02); // extended string range
}

/** Reset and clear all NewGRF stations */
Expand Down

0 comments on commit f5394ed

Please sign in to comment.