summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/network/network_udp.cpp1
-rw-r--r--src/newgrf.cpp6
-rw-r--r--src/newgrf_config.cpp16
-rw-r--r--src/newgrf_config.h1
-rw-r--r--src/newgrf_gui.cpp1
-rw-r--r--src/settings.cpp4
6 files changed, 8 insertions, 21 deletions
diff --git a/src/network/network_udp.cpp b/src/network/network_udp.cpp
index a2e3898e7..eeef5f5a7 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 c4e4b58cb..6c0e58189 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 6ac494208..49a90d0da 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<GRFConfig>(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<GRFConfig>(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 9968d3cf7..372946bee 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 988bba28c..d9dd12173 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<GRFConfig>(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 7db552a72..522063366 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<GRFConfig>(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;
}