diff --git a/src/network/network_udp.cpp b/src/network/network_udp.cpp index a2e3898e7f..eeef5f5a76 100644 --- a/src/network/network_udp.cpp +++ b/src/network/network_udp.cpp @@ -395,7 +395,6 @@ void ClientNetworkUDPSocketHandler::HandleIncomingNetworkGameInfoGRFConfig(GRFCo config->status = GCS_NOT_FOUND; } else { config->filename = f->filename; - config->full_path = f->full_path; config->name = f->name; config->info = f->info; } diff --git a/src/newgrf.cpp b/src/newgrf.cpp index c4e4b58cbe..6c0e581898 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -4659,7 +4659,7 @@ static void InitNewGRFFile(const GRFConfig *config, int sprite_offset) if (newfile == NULL) error ("Out of memory"); - newfile->filename = strdup(config->full_path); + newfile->filename = strdup(config->filename); newfile->sprite_offset = sprite_offset; /* Copy the initial parameter list */ @@ -4936,7 +4936,7 @@ static void DecodeSpecialSprite(uint num, GrfLoadingStage stage) void LoadNewGRFFile(GRFConfig *config, uint file_index, GrfLoadingStage stage) { - const char *filename = config->full_path; + const char *filename = config->filename; uint16 num; /* A .grf file is activated only if it was active when the game was @@ -5069,7 +5069,7 @@ void LoadNewGRF(uint load_index, uint file_index) if (stage > GLS_INIT && HASBIT(c->flags, GCF_INIT_ONLY)) continue; /* @todo usererror() */ - if (!FioCheckFileExists(c->full_path)) error("NewGRF file is missing '%s'", c->filename); + if (!FioCheckFileExists(c->filename)) error("NewGRF file is missing '%s'", c->filename); if (stage == GLS_LABELSCAN) InitNewGRFFile(c, _cur_spriteid); LoadNewGRFFile(c, slot++, stage); diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp index 6ac4942082..49a90d0da5 100644 --- a/src/newgrf_config.cpp +++ b/src/newgrf_config.cpp @@ -40,7 +40,7 @@ static bool CalcGRFMD5Sum(GRFConfig *config) size_t len; /* open the file */ - f = FioFOpenFile(config->full_path); + f = FioFOpenFile(config->filename); if (f == NULL) return false; /* calculate md5sum */ @@ -59,16 +59,11 @@ static bool CalcGRFMD5Sum(GRFConfig *config) /* Find the GRFID and calculate the md5sum */ bool FillGRFDetails(GRFConfig *config, bool is_static) { - if (!FioCheckFileExists(config->full_path)) { + if (!FioCheckFileExists(config->filename)) { config->status = GCS_NOT_FOUND; return false; } - if (config->filename == NULL) { - const char *t = strrchr(config->full_path, PATHSEPCHAR); - config->filename = strdup(t != NULL ? t + 1 : config->full_path); - } - /* Find and load the Action 8 information */ /* 62 is the last file slot before sample.cat. * Should perhaps be some "don't care" value */ @@ -94,7 +89,6 @@ void ClearGRFConfig(GRFConfig **config) /* GCF_COPY as in NOT strdupped/alloced the filename, name and info */ if (!HASBIT((*config)->flags, GCF_COPY)) { free((*config)->filename); - free((*config)->full_path); free((*config)->name); free((*config)->info); @@ -134,7 +128,6 @@ GRFConfig **CopyGRFConfigList(GRFConfig **dst, const GRFConfig *src, bool init_o GRFConfig *c = CallocT(1); *c = *src; if (src->filename != NULL) c->filename = strdup(src->filename); - if (src->full_path != NULL) c->full_path = strdup(src->full_path); if (src->name != NULL) c->name = strdup(src->name); if (src->info != NULL) c->info = strdup(src->info); if (src->error != NULL) { @@ -265,9 +258,7 @@ compatible_grf: * already a local one, so there is no need to replace it. */ if (!HASBIT(c->flags, GCF_COPY)) { free(c->filename); - free(c->full_path); c->filename = strdup(f->filename); - c->full_path = strdup(f->full_path); memcpy(c->md5sum, f->md5sum, sizeof(c->md5sum)); if (c->name == NULL && f->name != NULL) c->name = strdup(f->name); if (c->info == NULL && f->info != NULL) c->info = strdup(f->info); @@ -314,7 +305,7 @@ static uint ScanPath(const char *path, int basepath_length) if (strcasecmp(ext, ".grf") != 0) continue; GRFConfig *c = CallocT(1); - c->full_path = strdup(filename + basepath_length); + c->filename = strdup(filename + basepath_length); bool added = true; if (FillGRFDetails(c, false)) { @@ -341,7 +332,6 @@ static uint ScanPath(const char *path, int basepath_length) /* File couldn't be opened, or is either not a NewGRF or is a * 'system' NewGRF or it's already known, so forget about it. */ free(c->filename); - free(c->full_path); free(c->name); free(c->info); free(c); diff --git a/src/newgrf_config.h b/src/newgrf_config.h index 9968d3cf74..372946beeb 100644 --- a/src/newgrf_config.h +++ b/src/newgrf_config.h @@ -47,7 +47,6 @@ struct GRFError { struct GRFConfig : public GRFIdentifier { char *filename; - char *full_path; char *name; char *info; GRFError *error; diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp index 988bba28c9..d9dd12173a 100644 --- a/src/newgrf_gui.cpp +++ b/src/newgrf_gui.cpp @@ -191,7 +191,6 @@ static void NewGRFAddDlgWndProc(Window *w, WindowEvent *e) GRFConfig *c = CallocT(1); *c = *src; c->filename = strdup(src->filename); - if (src->full_path != NULL) c->full_path = strdup(src->full_path); if (src->name != NULL) c->name = strdup(src->name); if (src->info != NULL) c->info = strdup(src->info); c->next = NULL; diff --git a/src/settings.cpp b/src/settings.cpp index 7db552a723..5220633668 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -1626,7 +1626,7 @@ static GRFConfig *GRFLoadConfig(IniFile *ini, const char *grpname, bool is_stati for (item = group->item; item != NULL; item = item->next) { GRFConfig *c = CallocT(1); - c->full_path = strdup(item->name); + c->filename = strdup(item->name); /* Parse parameters */ if (*item->value != '\0') { @@ -1703,7 +1703,7 @@ static void GRFSaveConfig(IniFile *ini, const char *grpname, const GRFConfig *li char params[512]; GRFBuildParamList(params, c, lastof(params)); - *item = ini_item_alloc(group, c->full_path, strlen(c->full_path)); + *item = ini_item_alloc(group, c->filename, strlen(c->filename)); (*item)->value = (char*)pool_strdup(&ini->pool, params, strlen(params)); item = &(*item)->next; }