# HG changeset patch # User glx # Date 1195338833 0 # Node ID 4efa1264739b8cc1fa3bc4311c889b5114a49891 # Parent 6e8ab6c5473d028f8c27ac42873abb579ee3aa1d (svn r11453) -Fix (r11450): unrevert r11239, as we now need it diff -r 6e8ab6c5473d -r 4efa1264739b src/newgrf.cpp --- a/src/newgrf.cpp Sat Nov 17 22:25:16 2007 +0000 +++ b/src/newgrf.cpp Sat Nov 17 22:33:53 2007 +0000 @@ -1791,7 +1791,7 @@ case 0x0B: case 0x0C: { uint16 acctp = grf_load_word(&buf); - tsp->accepts_cargo[prop - 0x0A] = GetCargoTranslation(GB(acctp, 0, 8), _cur_grffile); + tsp->accepts_cargo[prop - 0x0A] = GB(acctp, 0, 8); tsp->acceptance[prop - 0x0A] = GB(acctp, 8, 8); } break; @@ -1991,13 +1991,13 @@ case 0x10: // Production cargo types for (byte j = 0; j < 2; j++) { - indsp->produced_cargo[j] = GetCargoTranslation(grf_load_byte(&buf), _cur_grffile); + indsp->produced_cargo[j] = grf_load_byte(&buf); } break; case 0x11: // Acceptance cargo types for (byte j = 0; j < 3; j++) { - indsp->accepts_cargo[j] = GetCargoTranslation(grf_load_byte(&buf), _cur_grffile); + indsp->accepts_cargo[j] = grf_load_byte(&buf); } grf_load_byte(&buf); // Unnused, eat it up break; @@ -5314,6 +5314,15 @@ strid = GetGRFStringID(indsp->grf_prop.grffile->grfid, indsp->new_industry_text); if (strid != STR_UNDEFINED) indsp->new_industry_text = strid; + for (byte j = 0; j < 2; j++) { + CargoID c = GetCargoTranslation(indsp->produced_cargo[j], indsp->grf_prop.grffile); + indsp->produced_cargo[j] = c; + } + for (byte j = 0; j < 3; j++) { + CargoID c = GetCargoTranslation(indsp->accepts_cargo[j], indsp->grf_prop.grffile); + indsp->accepts_cargo[j] = c; + } + _industry_mngr.SetEntitySpec(indsp); _loaded_newgrf_features.has_newindustries = true; } @@ -5324,6 +5333,10 @@ for (int i = 0; i < NUM_INDUSTRYTILES; i++) { IndustryTileSpec *indtsp = file->indtspec[i]; if (indtsp != NULL) { + for (byte j = 0; j < 3; j++) { + CargoID c = GetCargoTranslation(indtsp->accepts_cargo[j], indtsp->grf_prop.grffile); + indtsp->accepts_cargo[j] = c; + } _industile_mngr.SetEntitySpec(indtsp); } }