summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2007-06-23 21:12:09 +0000
committerrubidium <rubidium@openttd.org>2007-06-23 21:12:09 +0000
commit6402d001909cc0f47fa3d9654b331c0ad96267f5 (patch)
treea1cc1caa824002d18729cbbf175cfdf094f14a10
parentbe35df3f0363ffffe1cfed8d81084c40212e9571 (diff)
downloadopenttd-6402d001909cc0f47fa3d9654b331c0ad96267f5.tar.xz
(svn r10298) -Fix [FS#903]: show the subdirectory below the default data directory in this filename in the newgrf list. The directory was removed in r9560 because then it used to full path instead of the path relative to the data directory, but since the inclusion of "search paths" that is not necessary anymore.
-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;
}