Commit 15b15827 authored by nanahira's avatar nanahira

Merge branch 'master' into server

parents be7b544a a78dc1af
...@@ -20,7 +20,13 @@ bool DataManager::LoadDB(const wchar_t* wfile) { ...@@ -20,7 +20,13 @@ bool DataManager::LoadDB(const wchar_t* wfile) {
if(sqlite3_open_v2(file, &pDB, SQLITE_OPEN_READONLY, 0) != SQLITE_OK) if(sqlite3_open_v2(file, &pDB, SQLITE_OPEN_READONLY, 0) != SQLITE_OK)
return Error(pDB); return Error(pDB);
#else #else
char file[256];
BufferIO::EncodeUTF8(wfile, file);
#ifdef _WIN32
IReadFile* reader = FileSystem->createAndOpenFile(wfile); IReadFile* reader = FileSystem->createAndOpenFile(wfile);
#else
IReadFile* reader = FileSystem->createAndOpenFile(file);
#endif
if(reader == NULL) if(reader == NULL)
return false; return false;
spmemvfs_db_t db; spmemvfs_db_t db;
...@@ -31,8 +37,6 @@ bool DataManager::LoadDB(const wchar_t* wfile) { ...@@ -31,8 +37,6 @@ bool DataManager::LoadDB(const wchar_t* wfile) {
reader->read(mem->data, mem->total); reader->read(mem->data, mem->total);
reader->drop(); reader->drop();
(mem->data)[mem->total] = '\0'; (mem->data)[mem->total] = '\0';
char file[256];
BufferIO::EncodeUTF8(wfile, file);
if(spmemvfs_open_db(&db, file, mem) != SQLITE_OK) if(spmemvfs_open_db(&db, file, mem) != SQLITE_OK)
return Error(&db); return Error(&db);
sqlite3* pDB = db.handle; sqlite3* pDB = db.handle;
...@@ -423,9 +427,13 @@ byte* DataManager::ScriptReader(const char* script_name, int* slen) { ...@@ -423,9 +427,13 @@ byte* DataManager::ScriptReader(const char* script_name, int* slen) {
return 0; return 0;
*slen = len; *slen = len;
#else #else
#ifdef _WIN32
wchar_t fname[256]; wchar_t fname[256];
BufferIO::DecodeUTF8(script_name, fname); BufferIO::DecodeUTF8(script_name, fname);
IReadFile* reader = FileSystem->createAndOpenFile(fname); IReadFile* reader = FileSystem->createAndOpenFile(fname);
#else
IReadFile* reader = FileSystem->createAndOpenFile(script_name);
#endif
if(reader == NULL) if(reader == NULL)
return 0; return 0;
size_t size = reader->getSize(); size_t size = reader->getSize();
......
...@@ -1033,7 +1033,13 @@ void Game::LoadExpansions() { ...@@ -1033,7 +1033,13 @@ void Game::LoadExpansions() {
if(!isdir && wcsrchr(name, '.') && !mywcsncasecmp(wcsrchr(name, '.'), L".zip", 4)) { if(!isdir && wcsrchr(name, '.') && !mywcsncasecmp(wcsrchr(name, '.'), L".zip", 4)) {
wchar_t fpath[1024]; wchar_t fpath[1024];
myswprintf(fpath, L"./expansions/%ls", name); myswprintf(fpath, L"./expansions/%ls", name);
#ifdef _WIN32
dataManager.FileSystem->addFileArchive(fpath, true, false); dataManager.FileSystem->addFileArchive(fpath, true, false);
#else
char upath[1024];
BufferIO::EncodeUTF8(fpath, upath);
dataManager.FileSystem->addFileArchive(upath, true, false);
#endif
} }
}); });
for(u32 i = 0; i < DataManager::FileSystem->getFileArchiveCount(); ++i) { for(u32 i = 0; i < DataManager::FileSystem->getFileArchiveCount(); ++i) {
...@@ -1049,7 +1055,11 @@ void Game::LoadExpansions() { ...@@ -1049,7 +1055,11 @@ void Game::LoadExpansions() {
if(wcsrchr(fname, '.') && !mywcsncasecmp(wcsrchr(fname, '.'), L".cdb", 4)) if(wcsrchr(fname, '.') && !mywcsncasecmp(wcsrchr(fname, '.'), L".cdb", 4))
dataManager.LoadDB(fname); dataManager.LoadDB(fname);
if(wcsrchr(fname, '.') && !mywcsncasecmp(wcsrchr(fname, '.'), L".conf", 5)) { if(wcsrchr(fname, '.') && !mywcsncasecmp(wcsrchr(fname, '.'), L".conf", 5)) {
#ifdef _WIN32
IReadFile* reader = DataManager::FileSystem->createAndOpenFile(fname); IReadFile* reader = DataManager::FileSystem->createAndOpenFile(fname);
#else
IReadFile* reader = DataManager::FileSystem->createAndOpenFile(uname);
#endif
dataManager.LoadStrings(reader); dataManager.LoadStrings(reader);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment