parent
e75349c98b
commit
3d477ed235
|
@ -41,7 +41,6 @@
|
||||||
#include "world_map.h"
|
#include "world_map.h"
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <direct.h>
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
@ -1322,21 +1321,21 @@ int lsgPerformSaveGame()
|
||||||
backgroundSoundPause();
|
backgroundSoundPause();
|
||||||
|
|
||||||
sprintf(_gmpath, "%s\\%s", _patches, "SAVEGAME");
|
sprintf(_gmpath, "%s\\%s", _patches, "SAVEGAME");
|
||||||
mkdir(_gmpath);
|
compat_mkdir(_gmpath);
|
||||||
|
|
||||||
sprintf(_gmpath, "%s\\%s\\%s%.2d", _patches, "SAVEGAME", "SLOT", _slot_cursor + 1);
|
sprintf(_gmpath, "%s\\%s\\%s%.2d", _patches, "SAVEGAME", "SLOT", _slot_cursor + 1);
|
||||||
mkdir(_gmpath);
|
compat_mkdir(_gmpath);
|
||||||
|
|
||||||
strcat(_gmpath, "\\proto");
|
strcat(_gmpath, "\\proto");
|
||||||
mkdir(_gmpath);
|
compat_mkdir(_gmpath);
|
||||||
|
|
||||||
char* protoBasePath = _gmpath + strlen(_gmpath);
|
char* protoBasePath = _gmpath + strlen(_gmpath);
|
||||||
|
|
||||||
strcpy(protoBasePath, "\\critters");
|
strcpy(protoBasePath, "\\critters");
|
||||||
mkdir(_gmpath);
|
compat_mkdir(_gmpath);
|
||||||
|
|
||||||
strcpy(protoBasePath, "\\items");
|
strcpy(protoBasePath, "\\items");
|
||||||
mkdir(_gmpath);
|
compat_mkdir(_gmpath);
|
||||||
|
|
||||||
if (_SaveBackup() == -1) {
|
if (_SaveBackup() == -1) {
|
||||||
debugPrint("\nLOADSAVE: Warning, can't backup save file!\n");
|
debugPrint("\nLOADSAVE: Warning, can't backup save file!\n");
|
||||||
|
|
|
@ -33,7 +33,6 @@
|
||||||
#include "window_manager.h"
|
#include "window_manager.h"
|
||||||
#include "world_map.h"
|
#include "world_map.h"
|
||||||
|
|
||||||
#include <direct.h>
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
// 0x50B058
|
// 0x50B058
|
||||||
|
@ -1263,10 +1262,10 @@ int _map_save()
|
||||||
char* masterPatchesPath;
|
char* masterPatchesPath;
|
||||||
if (configGetString(&gGameConfig, GAME_CONFIG_SYSTEM_KEY, GAME_CONFIG_MASTER_PATCHES_KEY, &masterPatchesPath)) {
|
if (configGetString(&gGameConfig, GAME_CONFIG_SYSTEM_KEY, GAME_CONFIG_MASTER_PATCHES_KEY, &masterPatchesPath)) {
|
||||||
strcat(temp, masterPatchesPath);
|
strcat(temp, masterPatchesPath);
|
||||||
mkdir(temp);
|
compat_mkdir(temp);
|
||||||
|
|
||||||
strcat(temp, "\\MAPS");
|
strcat(temp, "\\MAPS");
|
||||||
mkdir(temp);
|
compat_mkdir(temp);
|
||||||
}
|
}
|
||||||
|
|
||||||
int rc = -1;
|
int rc = -1;
|
||||||
|
@ -1451,10 +1450,10 @@ void mapMakeMapsDirectory()
|
||||||
strcpy(path, "DATA");
|
strcpy(path, "DATA");
|
||||||
}
|
}
|
||||||
|
|
||||||
mkdir(path);
|
compat_mkdir(path);
|
||||||
|
|
||||||
strcat(path, "\\MAPS");
|
strcat(path, "\\MAPS");
|
||||||
mkdir(path);
|
compat_mkdir(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0x483ED0
|
// 0x483ED0
|
||||||
|
|
|
@ -97,3 +97,13 @@ long compat_filelength(int fd)
|
||||||
lseek(fd, originalOffset, SEEK_SET);
|
lseek(fd, originalOffset, SEEK_SET);
|
||||||
return filesize;
|
return filesize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int compat_mkdir(const char* path)
|
||||||
|
{
|
||||||
|
std::error_code ec;
|
||||||
|
if (std::filesystem::create_directory(std::filesystem::path(path), ec)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ec.value();
|
||||||
|
}
|
||||||
|
|
|
@ -25,5 +25,6 @@ char* compat_itoa(int value, char* buffer, int radix);
|
||||||
void compat_splitpath(const char* path, char* drive, char* dir, char* fname, char* ext);
|
void compat_splitpath(const char* path, char* drive, char* dir, char* fname, char* ext);
|
||||||
void compat_makepath(char* path, const char* drive, const char* dir, const char* fname, const char* ext);
|
void compat_makepath(char* path, const char* drive, const char* dir, const char* fname, const char* ext);
|
||||||
long compat_filelength(int fd);
|
long compat_filelength(int fd);
|
||||||
|
int compat_mkdir(const char* path);
|
||||||
|
|
||||||
#endif /* PLATFORM_COMPAT_H */
|
#endif /* PLATFORM_COMPAT_H */
|
||||||
|
|
|
@ -19,7 +19,6 @@
|
||||||
#include "stat.h"
|
#include "stat.h"
|
||||||
#include "trait.h"
|
#include "trait.h"
|
||||||
|
|
||||||
#include <direct.h>
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
@ -1047,13 +1046,13 @@ int protoInit()
|
||||||
sprintf(path, "%s\\proto", master_patches);
|
sprintf(path, "%s\\proto", master_patches);
|
||||||
len = strlen(path);
|
len = strlen(path);
|
||||||
|
|
||||||
mkdir(path);
|
compat_mkdir(path);
|
||||||
|
|
||||||
strcpy(path + len, "\\critters");
|
strcpy(path + len, "\\critters");
|
||||||
mkdir(path);
|
compat_mkdir(path);
|
||||||
|
|
||||||
strcpy(path + len, "\\items");
|
strcpy(path + len, "\\items");
|
||||||
mkdir(path);
|
compat_mkdir(path);
|
||||||
|
|
||||||
// TODO: Get rid of cast.
|
// TODO: Get rid of cast.
|
||||||
_proto_critter_init((Proto*)&gDudeProto, 0x1000000);
|
_proto_critter_init((Proto*)&gDudeProto, 0x1000000);
|
||||||
|
|
|
@ -3,7 +3,11 @@
|
||||||
#include "file_find.h"
|
#include "file_find.h"
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
#ifdef _WIN32
|
||||||
#include <direct.h>
|
#include <direct.h>
|
||||||
|
#else
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
#include <io.h>
|
#include <io.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
@ -716,7 +720,7 @@ int xbaseMakeDirectory(const char* filePath)
|
||||||
*pch = '\0';
|
*pch = '\0';
|
||||||
|
|
||||||
if (chdir(path) != 0) {
|
if (chdir(path) != 0) {
|
||||||
if (mkdir(path) != 0) {
|
if (compat_mkdir(path) != 0) {
|
||||||
chdir(workingDirectory);
|
chdir(workingDirectory);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -730,7 +734,7 @@ int xbaseMakeDirectory(const char* filePath)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Last path component.
|
// Last path component.
|
||||||
mkdir(path);
|
compat_mkdir(path);
|
||||||
|
|
||||||
chdir(workingDirectory);
|
chdir(workingDirectory);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue