mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-12-01 16:27:27 +00:00
Frantic fixing
This commit is contained in:
parent
202315f260
commit
ad9e8995d7
2 changed files with 15 additions and 3 deletions
|
@ -1,4 +1,5 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
#include "mod_cache.h"
|
#include "mod_cache.h"
|
||||||
#include "mods.h"
|
#include "mods.h"
|
||||||
#include "mod.h"
|
#include "mod.h"
|
||||||
|
@ -7,7 +8,7 @@
|
||||||
#include "pc/utils/md5.h"
|
#include "pc/utils/md5.h"
|
||||||
|
|
||||||
#define MOD_CACHE_FILENAME "mod.cache"
|
#define MOD_CACHE_FILENAME "mod.cache"
|
||||||
#define MOD_CACHE_VERSION 3
|
#define MOD_CACHE_VERSION 4
|
||||||
#define MD5_BUFFER_SIZE 1024
|
#define MD5_BUFFER_SIZE 1024
|
||||||
|
|
||||||
struct ModCacheEntry* sModCacheHead = NULL;
|
struct ModCacheEntry* sModCacheHead = NULL;
|
||||||
|
@ -136,10 +137,20 @@ void mod_cache_add(struct Mod* mod, struct ModFile* file) {
|
||||||
if (!concat_path(modFilePath, mod->basePath, file->relativePath)) {
|
if (!concat_path(modFilePath, mod->basePath, file->relativePath)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
normalize_path(modFilePath);
|
|
||||||
|
if (modFilePath[0] == '.' && (modFilePath[1] == '/' || modFilePath[1] == '\\')) {
|
||||||
|
char modAbsFilePath[SYS_MAX_PATH] = { 0 };
|
||||||
|
getcwd(modAbsFilePath, SYS_MAX_PATH-1);
|
||||||
|
strncat(modAbsFilePath, "/", SYS_MAX_PATH-1);
|
||||||
|
strncat(modAbsFilePath, modFilePath, SYS_MAX_PATH-1);
|
||||||
|
normalize_path(modAbsFilePath);
|
||||||
|
file->cachedPath = strdup(modAbsFilePath);
|
||||||
|
} else {
|
||||||
|
normalize_path(modFilePath);
|
||||||
|
file->cachedPath = strdup(modFilePath);
|
||||||
|
}
|
||||||
|
|
||||||
// hash and cache
|
// hash and cache
|
||||||
file->cachedPath = strdup(modFilePath);
|
|
||||||
mod_cache_md5(file->cachedPath, file->dataHash);
|
mod_cache_md5(file->cachedPath, file->dataHash);
|
||||||
mod_cache_add_internal(file->dataHash, 0, file->cachedPath);
|
mod_cache_add_internal(file->dataHash, 0, file->cachedPath);
|
||||||
}
|
}
|
||||||
|
|
|
@ -269,6 +269,7 @@ void network_receive_mod_list_file(struct Packet* p) {
|
||||||
free((char*)file->cachedPath);
|
free((char*)file->cachedPath);
|
||||||
}
|
}
|
||||||
file->cachedPath = strdup(cache->path);
|
file->cachedPath = strdup(cache->path);
|
||||||
|
normalize_path(file->cachedPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue