fix directories in linux

This commit is contained in:
zsilencer 2015-10-02 09:44:18 -06:00
parent 5793ded423
commit ffee5229b5
8 changed files with 98 additions and 124 deletions

View File

@ -64,8 +64,20 @@ pushd build
fi
popd
if [[ ! -h openrct2.dll ]]; then
ln -s build/openrct2.dll openrct2.dll
if [[ $TARGET == "windows" ]]; then
if [[ ! -h openrct2.dll ]]; then
ln -s build/openrct2.dll openrct2.dll
fi
fi
if [[ ! -h build/data ]]; then
ln -s ../data build/data
fi
if [[ $TARGET == "linux" ]] || [[ $TARGET == "docker32" ]]; then
if [[ ! -h openrct2 ]]; then
ln -s build/openrct2 openrct2
fi
fi
if [[ -z "$DISABLE_G2_BUILD" ]]; then
@ -73,8 +85,16 @@ if [[ -z "$DISABLE_G2_BUILD" ]]; then
./build_g2.sh > /dev/null 2>&1
fi
if [[ -t 1 ]]; then
echo -e "\nDone! Run OpenRCT2 by typing:\n\n\033[95mwine openrct2.exe\n\033[0m"
if [[ $TARGET == "windows" ]]; then
if [[ -t 1 ]]; then
echo -e "\nDone! Run OpenRCT2 by typing:\n\n\033[95mwine openrct2.exe\n\033[0m"
else
echo -e "\nDone! Run OpenRCT2 by typing:\n\nwine openrct2.exe\n"
fi
else
echo -e "\nDone! Run OpenRCT2 by typing:\n\nwine openrct2.exe\n"
if [[ -t 1 ]]; then
echo -e "\nDone! Run OpenRCT2 by typing:\n\n\033[95m./openrct2\n\033[0m"
else
echo -e "\nDone! Run OpenRCT2 by typing:\n\n./openrct2\n"
fi
fi

View File

@ -1,3 +1,7 @@
#!/bin/bash
wine openrct2.exe sprite build data/g2.dat resources/g2/
if [[ $TARGET == "windows" ]]; then
wine openrct2.exe sprite build data/g2.dat resources/g2/
else
./openrct2 sprite build data/g2.dat resources/g2/
fi

View File

@ -459,7 +459,7 @@ static bool openrct2_setup_rct2_segment()
#ifdef __linux__
#define DATA_OFFSET 0x004A4000
const char *exepath = "../openrct2.exe";
const char *exepath = "openrct2.exe";
int fd = open(exepath, O_RDONLY);
if (fd < 0) {
log_fatal("failed to open %s, errno = %d", exepath, errno);

View File

@ -128,7 +128,7 @@ bool platform_original_game_data_exists(const utf8 *path)
buffer[len] = '\0';
free(wPath);
char checkPath[MAX_PATH];
sprintf(checkPath, "%s%c%s%c%s", buffer, platform_get_path_separator(), "data", platform_get_path_separator(), "g1.dat");
sprintf(checkPath, "%s%c%s%c%s", buffer, platform_get_path_separator(), "Data", platform_get_path_separator(), "g1.dat");
return platform_file_exists(checkPath);
}
@ -374,8 +374,11 @@ void platform_enumerate_files_end(int handle)
static int dirfilter(const struct dirent *d)
{
if (d->d_name[0] == '.') {
return 0;
}
#ifdef _DIRENT_HAVE_D_TYPE
if (d->d_type != DT_DIR)
if (d->d_type == DT_DIR)
{
return 1;
} else {
@ -510,7 +513,7 @@ int platform_get_drives(){
return GetLogicalDrives();
*/
STUB();
return 0xff;
return 0;
}
bool platform_file_copy(const utf8 *srcPath, const utf8 *dstPath, bool overwrite)
@ -664,16 +667,10 @@ uint16 platform_get_locale_language(){
}
time_t platform_file_get_modified_time(const utf8* path){
/*
WIN32_FILE_ATTRIBUTE_DATA data;
if (!GetFileAttributesEx(path, GetFileExInfoStandard, &data))
return 0;
ULARGE_INTEGER ull;
ull.LowPart = data.ftLastWriteTime.dwLowDateTime;
ull.HighPart = data.ftLastWriteTime.dwHighDateTime;
return ull.QuadPart / 10000000ULL - 11644473600ULL;
*/
STUB();
struct stat buf;
if (stat(path, &buf) == 0) {
return buf.st_mtime;
}
return 100;
}

View File

@ -931,4 +931,4 @@ void platform_set_cursor_position(int x, int y)
unsigned int platform_get_ticks()
{
return SDL_GetTicks();
}
}

View File

@ -132,7 +132,7 @@ bool platform_directory_exists(const utf8 *path)
bool platform_original_game_data_exists(const utf8 *path)
{
utf8 checkPath[MAX_PATH];
sprintf(checkPath, "%s%c%s%c%s", path, platform_get_path_separator(), "data", platform_get_path_separator(), "g1.dat");
sprintf(checkPath, "%s%c%s%c%s", path, platform_get_path_separator(), "Data", platform_get_path_separator(), "g1.dat");
return platform_file_exists(checkPath);
}

View File

@ -449,8 +449,15 @@ const utf8 *get_file_path(int pathId)
return path;
}
char *pathp = path + strnlen(path, sizeof(path));
strcat(path, file_paths[pathId]);
while (*pathp) {
if (*pathp == '\\') *pathp = platform_get_path_separator();
pathp++;
}
return path;
}

View File

@ -206,111 +206,57 @@ enum {
// rct2 @ 0x0097F67C
static const char * const file_paths[] =
{
#ifdef _WIN32
"data\\g1.dat",
"Data\\PLUGIN.DAT",
"Data\\CSS1.DAT",
"Data\\CSS2.DAT",
"Data\\CSS4.DAT",
"Data\\CSS5.DAT",
"Data\\CSS6.DAT",
"Data\\CSS7.DAT",
"Data\\CSS8.DAT",
"Data\\CSS9.DAT",
"Data\\CSS11.DAT",
"Data\\CSS12.DAT",
"Data\\CSS13.DAT",
"Data\\CSS14.DAT",
"Data\\CSS15.DAT",
"Data\\CSS3.DAT",
"Data\\CSS17.DAT",
"Data\\CSS18.DAT",
"Data\\CSS19.DAT",
"Data\\CSS20.DAT",
"Data\\CSS21.DAT",
"Data\\CSS22.DAT",
"Saved Games\\scores.DAT",
"Data\\CSS23.DAT",
"Data\\CSS24.DAT",
"Data\\CSS25.DAT",
"Data\\CSS26.DAT",
"Data\\CSS27.DAT",
"Data\\CSS28.DAT",
"Data\\CSS29.DAT",
"Data\\CSS30.DAT",
"Data\\CSS31.DAT",
"Data\\CSS32.DAT",
"Data\\CSS33.DAT",
"Data\\CSS34.DAT",
"Data\\CSS35.DAT",
"Data\\CSS36.DAT",
"Data\\CSS37.DAT",
"Data\\CSS38.DAT",
"Data\\g1.dat",
"Data\\plugin.dat",
"Data\\css1.dat",
"Data\\css2.dat",
"Data\\css4.dat",
"Data\\css5.dat",
"Data\\css6.dat",
"Data\\css7.dat",
"Data\\css8.dat",
"Data\\css9.dat",
"Data\\css11.dat",
"Data\\css12.dat",
"Data\\css13.dat",
"Data\\css14.dat",
"Data\\css15.dat",
"Data\\css3.dat",
"Data\\css17.dat",
"Data\\css18.dat",
"Data\\css19.dat",
"Data\\css20.dat",
"Data\\css21.dat",
"Data\\css22.dat",
"Saved Games\\scores.dat",
"Data\\css23.dat",
"Data\\css24.dat",
"Data\\css25.dat",
"Data\\css26.dat",
"Data\\css27.dat",
"Data\\css28.dat",
"Data\\css29.dat",
"Data\\css30.dat",
"Data\\css31.dat",
"Data\\css32.dat",
"Data\\css33.dat",
"Data\\css34.dat",
"Data\\css35.dat",
"Data\\css36.dat",
"Data\\css37.dat",
"Data\\css38.dat",
"Data\\CUSTOM1.WAV",
"Data\\CUSTOM2.WAV",
"Data\\CSS39.DAT",
"Data\\CSS40.DAT",
"Data\\CSS41.DAT",
"Data\\css39.dat",
"Data\\css40.dat",
"Data\\css41.dat",
"Scenarios\\Six Flags Magic Mountain.SC6",
"Data\\CSS42.DAT",
"Data\\CSS43.DAT",
"Data\\CSS44.DAT",
"Data\\CSS45.DAT",
"Data\\CSS46.DAT",
"Data\\CSS50.DAT"
#else
"data/g1.dat",
"data/plugin.dat",
"data/css1.dat",
"data/css2.dat",
"data/css4.dat",
"data/css5.dat",
"data/css6.dat",
"data/css7.dat",
"data/css8.dat",
"data/css9.dat",
"data/css11.dat",
"data/css12.dat",
"data/css13.dat",
"data/css14.dat",
"data/css15.dat",
"data/css3.dat",
"data/css17.dat",
"data/css18.dat",
"data/css19.dat",
"data/css20.dat",
"data/css21.dat",
"data/css22.dat",
"Saved Games/scores.dat",
"data/css23.dat",
"data/css24.dat",
"data/css25.dat",
"data/css26.dat",
"data/css27.dat",
"data/css28.dat",
"data/css29.dat",
"data/css30.dat",
"data/css31.dat",
"data/css32.dat",
"data/css33.dat",
"data/css34.dat",
"data/css35.dat",
"data/css36.dat",
"data/css37.dat",
"data/css38.dat",
"data/CUSTOM1.WAV",
"data/CUSTOM2.WAV",
"data/css39.dat",
"data/css40.dat",
"data/css41.dat",
"Scenarios/Six Flags Magic Mountain.SC6",
"data/css42.dat",
"data/css43.dat",
"data/css44.dat",
"data/css45.dat",
"data/css46.dat",
"data/css50.dat"
#endif // _WIN32
"Data\\css42.dat",
"Data\\css43.dat",
"Data\\css44.dat",
"Data\\css45.dat",
"Data\\css46.dat",
"Data\\css50.dat"
};
// Files to check (rct2 @ 0x0097FB5A)