mirror of
https://github.com/OpenRCT2/OpenRCT2.git
synced 2025-01-22 18:31:59 -05:00
fix directories in linux
This commit is contained in:
parent
5793ded423
commit
ffee5229b5
8 changed files with 98 additions and 124 deletions
30
build.sh
30
build.sh
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -931,4 +931,4 @@ void platform_set_cursor_position(int x, int y)
|
|||
unsigned int platform_get_ticks()
|
||||
{
|
||||
return SDL_GetTicks();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
150
src/rct2.h
150
src/rct2.h
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue