Partial reversion

* Made it so changes are made only to the import map_cache to relieve the main one from merge conflicts.
This commit is contained in:
aleos89 2019-07-23 10:22:19 -04:00
parent 61ffb1ce3d
commit 1cbd688761

View File

@ -150,7 +150,7 @@ int find_map(char *name)
for(i = 0; i < header.map_count; i++) {
if(fread(&info, sizeof(info), 1, map_cache_fp) != 1)
printf("An error has occured in fread while reading \"%s\"\n", map_cache_fp);
ShowError("An error has occured in fread while reading \"%s\"\n", map_cache_fp);
if(strcmp(name, info.name) == 0) // Map found
return 1;
else // Map not found, jump to the beginning of the next map info header
@ -195,39 +195,40 @@ void process_args(int argc, char *argv[])
int do_init(int argc, char** argv)
{
/* setup pre-defined, #define-dependant */
map_cache_file = std::string(db_path) + "/" + std::string(DBIMPORT) + "/map_cache.dat";
// Process the command-line arguments
process_args(argc, argv);
ShowStatus("Initializing grfio with %s\n", grf_list_file.c_str());
grfio_init(grf_list_file.c_str());
// Attempt to open the map cache file and force rebuild if not found
ShowStatus("Opening map cache: %s\n", map_cache_file.c_str());
if (!rebuild) {
map_cache_fp = fopen(map_cache_file.c_str(), "rb");
if (map_cache_fp == NULL) {
ShowNotice("Existing map cache not found, forcing rebuild mode\n");
rebuild = 1;
} else
fclose(map_cache_fp);
}
if (rebuild)
map_cache_fp = fopen(map_cache_file.c_str(), "w+b");
else
map_cache_fp = fopen(map_cache_file.c_str(), "r+b");
if (map_cache_fp == NULL) {
ShowError("Failure when opening map cache file %s\n", map_cache_file.c_str());
exit(EXIT_FAILURE);
}
// Open the map list
FILE *list;
std::vector<std::string> directories = { std::string(db_path) + "/", std::string(db_path) + "/" + std::string(DBIMPORT) + "/" };
for (const auto &directory : directories) {
/* setup pre-defined, #define-dependant */
map_cache_file = directory + "map_cache.dat";
// Process the command-line arguments
process_args(argc, argv);
ShowStatus("Initializing grfio with %s\n", grf_list_file.c_str());
grfio_init(grf_list_file.c_str());
// Attempt to open the map cache file and force rebuild if not found
ShowStatus("Opening map cache: %s\n", map_cache_file.c_str());
if (!rebuild) {
map_cache_fp = fopen(map_cache_file.c_str(), "rb");
if (map_cache_fp == NULL) {
ShowNotice("Existing map cache not found, forcing rebuild mode\n");
rebuild = 1;
} else
fclose(map_cache_fp);
}
if (rebuild)
map_cache_fp = fopen(map_cache_file.c_str(), "w+b");
else
map_cache_fp = fopen(map_cache_file.c_str(), "r+b");
if (map_cache_fp == NULL) {
ShowError("Failure when opening map cache file %s\n", map_cache_file.c_str());
exit(EXIT_FAILURE);
}
// Open the map list
FILE *list;
std::string filename = directory + map_list_file;
ShowStatus("Opening map list: %s\n", filename.c_str());
@ -243,7 +244,7 @@ int do_init(int argc, char** argv)
header.map_count = 0;
} else {
if (fread(&header, sizeof(struct main_header), 1, map_cache_fp) != 1)
printf("An error has occured while reading \"%s\"\n", map_cache_fp);
ShowError("An error has occured while reading \"%s\"\n", map_cache_fp);
header.file_size = GetULong((unsigned char *)&(header.file_size));
header.map_count = GetUShort((unsigned char *)&(header.map_count));
}
@ -279,14 +280,14 @@ int do_init(int argc, char** argv)
ShowStatus("Closing map list: %s\n", filename.c_str());
fclose(list);
// Write the main header and close the map cache
ShowStatus("Closing map cache: %s\n", map_cache_file.c_str());
fseek(map_cache_fp, 0, SEEK_SET);
fwrite(&header, sizeof(struct main_header), 1, map_cache_fp);
fclose(map_cache_fp);
}
// Write the main header and close the map cache
ShowStatus("Closing map cache: %s\n", map_cache_file.c_str());
fseek(map_cache_fp, 0, SEEK_SET);
fwrite(&header, sizeof(struct main_header), 1, map_cache_fp);
fclose(map_cache_fp);
ShowStatus("Finalizing grfio\n");
grfio_final();