# HG changeset patch # User peter1138 # Date 1178911363 0 # Node ID ef92dcaaa49cb78cecc38fb8a249ea0ba505e28a # Parent cc9f292f7223e236313f2ce0dfb2dbb42b05641f (svn r9827) -Codechange/Fix: [NewGRF] Text strings of 1 character are perfectly valid... (fixes dbsetxl refits again...) diff -r cc9f292f7223 -r ef92dcaaa49c src/newgrf.cpp --- a/src/newgrf.cpp Thu May 10 23:10:23 2007 +0000 +++ b/src/newgrf.cpp Fri May 11 19:22:43 2007 +0000 @@ -2769,64 +2769,59 @@ len -= (int)name_length; - if (name_length == 1) { - grfmsg(7, "FeatureNewName: Can't add empty name"); - } else { - grfmsg(8, "FeatureNewName: %d <- %s", id, name); - - switch (feature) { - case GSF_TRAIN: - case GSF_ROAD: - case GSF_SHIP: - case GSF_AIRCRAFT: { - if (id < TOTAL_NUM_ENGINES) { - StringID string = AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_8000_KIRBY_PAUL_TANK_STEAM + id); - SetCustomEngineName(id, string); - } else { - AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, id); - } - break; + grfmsg(8, "FeatureNewName: 0x%04X <- %s", id, name); + + switch (feature) { + case GSF_TRAIN: + case GSF_ROAD: + case GSF_SHIP: + case GSF_AIRCRAFT: + if (id < TOTAL_NUM_ENGINES) { + StringID string = AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_8000_KIRBY_PAUL_TANK_STEAM + id); + SetCustomEngineName(id, string); + } else { + AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, id); } - - case GSF_TOWNHOUSE: - default: - switch (GB(id, 8, 8)) { - case 0xC4: // Station class name - if (_cur_grffile->stations == NULL || _cur_grffile->stations[GB(id, 0, 8)] == NULL) { - grfmsg(1, "FeatureNewName: Attempt to name undefined station 0x%X, ignoring", GB(id, 0, 8)); - } else { - StationClassID sclass = _cur_grffile->stations[GB(id, 0, 8)]->sclass; - SetStationClassName(sclass, AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED)); - } - break; - - case 0xC5: // Station name - if (_cur_grffile->stations == NULL || _cur_grffile->stations[GB(id, 0, 8)] == NULL) { - grfmsg(1, "FeatureNewName: Attempt to name undefined station 0x%X, ignoring", GB(id, 0, 8)); - } else { - _cur_grffile->stations[GB(id, 0, 8)]->name = AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED); - } - break; - - case 0xC9: { // House name - if (_cur_grffile->housespec == NULL || _cur_grffile->housespec[GB(id, 0, 8)] == NULL) { - grfmsg(1, "FeatureNewName: Attempt to name undefined house 0x%X, ignoring.", GB(id, 0, 8)); - } else { - _cur_grffile->housespec[GB(id, 0, 8)]->building_name = AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED); - } - break; + break; + + case GSF_TOWNHOUSE: + default: + switch (GB(id, 8, 8)) { + case 0xC4: // Station class name + if (_cur_grffile->stations == NULL || _cur_grffile->stations[GB(id, 0, 8)] == NULL) { + grfmsg(1, "FeatureNewName: Attempt to name undefined station 0x%X, ignoring", GB(id, 0, 8)); + } else { + StationClassID sclass = _cur_grffile->stations[GB(id, 0, 8)]->sclass; + SetStationClassName(sclass, AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED)); } - - case 0xD0: - case 0xDC: - AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED); - break; - - default: - grfmsg(7, "FeatureNewName: Unsupported ID (0x%04X)", id); - break; - } - break; + break; + + case 0xC5: // Station name + if (_cur_grffile->stations == NULL || _cur_grffile->stations[GB(id, 0, 8)] == NULL) { + grfmsg(1, "FeatureNewName: Attempt to name undefined station 0x%X, ignoring", GB(id, 0, 8)); + } else { + _cur_grffile->stations[GB(id, 0, 8)]->name = AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED); + } + break; + + case 0xC9: // House name + if (_cur_grffile->housespec == NULL || _cur_grffile->housespec[GB(id, 0, 8)] == NULL) { + grfmsg(1, "FeatureNewName: Attempt to name undefined house 0x%X, ignoring.", GB(id, 0, 8)); + } else { + _cur_grffile->housespec[GB(id, 0, 8)]->building_name = AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED); + } + break; + + case 0xD0: + case 0xDC: + AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED); + break; + + default: + grfmsg(7, "FeatureNewName: Unsupported ID (0x%04X)", id); + break; + } + break; #if 0 case GSF_CANAL : @@ -2847,7 +2842,6 @@ grfmsg(7, "FeatureNewName: Unsupported feature (0x%02X)", feature); break; #endif - } } } }