(svn r8964) -Codechange: use grf_load_string to read action 8 strings instead of trying to do the same manually.

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
rubidium 18 years ago
parent c53f174005
commit cd8090f3bd

@ -2628,8 +2628,6 @@ static void ScanInfo(byte *buf, int len)
uint32 grfid;
const char *name;
const char *info;
int name_len;
int info_len;
if (!check_length(len, 8, "Info")) return; buf++;
version = grf_load_byte(&buf);
@ -2641,17 +2639,13 @@ static void ScanInfo(byte *buf, int len)
if (GB(grfid, 24, 8) == 0xFF) SETBIT(_cur_grfconfig->flags, GCF_SYSTEM);
len -= 6;
name = (const char*)buf;
name_len = ttd_strnlen(name, len);
name = grf_load_string(&buf, len);
_cur_grfconfig->name = TranslateTTDPatchCodes(name);
if (name_len < len) {
_cur_grfconfig->name = TranslateTTDPatchCodes(name);
len -= name_len + 1;
info = name + name_len + 1;
info_len = ttd_strnlen(info, len);
if (info_len < len) _cur_grfconfig->info = TranslateTTDPatchCodes(info);
len -= strlen(name) + 1;
if (len > 0) {
info = grf_load_string(&buf, len);
_cur_grfconfig->info = TranslateTTDPatchCodes(info);
}
/* GLS_INFOSCAN only looks for the action 8, so we can skip the rest of the file */

Loading…
Cancel
Save