# HG changeset patch # User frosch # Date 2016-12-23 22:13:38 # Node ID c8b85352121b59be93dd318e1336fedd13a97578 # Parent 52b2a22ff6c186bc3c149e3a2bdf66b28382ce01 (svn r27707) -Fix: Make the result of NewGRF's CARGO_NAME string code reliably print 'Nothing', if an invalid type is provided. diff --git a/src/newgrf_text.cpp b/src/newgrf_text.cpp --- a/src/newgrf_text.cpp +++ b/src/newgrf_text.cpp @@ -1062,9 +1062,11 @@ uint RemapNewGRFStringControlCode(uint s *argv = MapGRFStringID(_newgrf_textrefstack.grffile->grfid, _newgrf_textrefstack.PopUnsignedWord()); break; - case SCC_NEWGRF_PRINT_WORD_CARGO_NAME: - *argv = 1 << GetCargoTranslation(_newgrf_textrefstack.PopUnsignedWord(), _newgrf_textrefstack.grffile); + case SCC_NEWGRF_PRINT_WORD_CARGO_NAME: { + CargoID cargo = GetCargoTranslation(_newgrf_textrefstack.PopUnsignedWord(), _newgrf_textrefstack.grffile); + *argv = cargo < NUM_CARGO ? 1 << cargo : 0; break; + } } } else { /* Consume additional parameter characters */