From 8aa3f1dcfc378b465dc85621d10f32b909b4b34d Mon Sep 17 00:00:00 2001 From: Vinyl Darkscratch Date: Sun, 7 Oct 2018 10:53:30 -0700 Subject: [PATCH 1/4] Look for Steamworks in local path --- README.md | 1 + make-oneshot-mac.command | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 434c663..232ee30 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ Thanks to [hunternet93](https://github.com/hunternet93) for starting the reimple * Ruby * Python 3 (journal reimplementation only) * PyQt5 for Python 3 (journal reimplementation only) +* Steamworks SDK (optional, place contents of sdk folder in ZIP into "steamworks" folder in root) ### Building with Conan diff --git a/make-oneshot-mac.command b/make-oneshot-mac.command index 9eecc45..af333f5 100755 --- a/make-oneshot-mac.command +++ b/make-oneshot-mac.command @@ -7,8 +7,6 @@ cd `dirname $0` mac_version="1.1.0" make_threads=8 ONESHOT_PATH=$HOME/Library/Application\ Support/Steam/steamapps/common/OneShot -STEAMWORKS_PATH=$HOME/Developer/downloaded/steamworks - # Colors white="\033[0;37m" # White - Regular bold="\033[1;37m" # White - Bold @@ -30,7 +28,7 @@ if [[ $use_qmake == True ]] echo "-> ${cyan}Compile steamshim...${color_reset}" cd steamshim_parent mkdir build && cd build - cmake -DSTEAMWORKS_PATH=${STEAMWORKS_PATH} .. + cmake .. make -j${make_threads} cd ../.. else From 0deb8e67c234ebc6107fcd44be70ab9afc316f21 Mon Sep 17 00:00:00 2001 From: Vinyl Darkscratch Date: Sun, 7 Oct 2018 10:54:11 -0700 Subject: [PATCH 2/4] Only build Steamshim if building for Steam --- CMakeLists.txt | 54 ++++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index beab52f..3549845 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -314,37 +314,39 @@ IF(APPLE) ENDIF() # Steamshim -IF(NOT WIN32) - set(STEAMSHIM_SOURCES - steamshim_parent/steamshim_parent.cpp - ) +IF(STEAM) + IF(NOT WIN32) + set(STEAMSHIM_SOURCES + steamshim_parent/steamshim_parent.cpp + ) - include_directories(${STEAMWORKS_PATH}/public) + include_directories(${STEAMWORKS_PATH}/public) - add_definitions(-DGAME_LAUNCH_NAME="${GAME_LAUNCH_NAME}") + add_definitions(-DGAME_LAUNCH_NAME="${GAME_LAUNCH_NAME}") - IF(DEBUG) - add_definitions(-DSTEAMSHIM_DEBUG) - ENDIF() + IF(DEBUG) + add_definitions(-DSTEAMSHIM_DEBUG) + ENDIF() - IF(APPLE) - link_directories(${STEAMWORKS_PATH}/redistributable_bin/osx32) - ELSEIF(WIN32) - list(APPEND STEAMSHIM_SOURCES steamshim_parent/resources.rc) - link_directories(${STEAMWORKS_PATH}/redistributable_bin/win64) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mwindows") - ELSEIF(LINUX) - link_directories(${STEAMWORKS_PATH}/redistributable_bin/linux64) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64") - ENDIF() + IF(APPLE) + link_directories(${STEAMWORKS_PATH}/redistributable_bin/osx32) + ELSEIF(WIN32) + list(APPEND STEAMSHIM_SOURCES steamshim_parent/resources.rc) + link_directories(${STEAMWORKS_PATH}/redistributable_bin/win64) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mwindows") + ELSEIF(LINUX) + link_directories(${STEAMWORKS_PATH}/redistributable_bin/linux64) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64") + ENDIF() - add_executable(steamshim - ${STEAMSHIM_SOURCES} - ) + add_executable(steamshim + ${STEAMSHIM_SOURCES} + ) - IF(WIN32) - target_link_libraries(steamshim steam_api64) - ELSE() - target_link_libraries(steamshim steam_api) + IF(WIN32) + target_link_libraries(steamshim steam_api64) + ELSE() + target_link_libraries(steamshim steam_api) + ENDIF() ENDIF() ENDIF() From eb995df65a91b6ea27cae1da5a6214362aca7bb8 Mon Sep 17 00:00:00 2001 From: Vinyl Darkscratch Date: Sun, 7 Oct 2018 11:12:33 -0700 Subject: [PATCH 3/4] Add case-insensitive search for fonts folder --- src/filesystem.cpp | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/filesystem.cpp b/src/filesystem.cpp index 8bf1cf8..4f4e970 100644 --- a/src/filesystem.cpp +++ b/src/filesystem.cpp @@ -465,7 +465,7 @@ struct FontSetsCBData }; static PHYSFS_EnumerateCallbackResult -findFontsFolderCB (void *data, const char *dir, const char *fname) +fontSetEnumCB (void *data, const char *dir, const char *fname) { FontSetsCBData *d = static_cast(data); @@ -503,11 +503,31 @@ findFontsFolderCB (void *data, const char *dir, const char *fname) return PHYSFS_ENUM_OK; } +/* Basically just a case-insensitive search + * for the folder "Fonts"... */ +static PHYSFS_EnumerateCallbackResult +findFontsFolderCB(void *data, const char *, const char *fname) +{ + size_t i = 0; + char buffer[512]; + const char *s = fname; + + while (s && i < sizeof(buffer)) + buffer[i++] = tolower(*s++); + + buffer[i] = '\0'; + + if (strcmp(buffer, "fonts") == 0) + PHYSFS_enumerate(fname, fontSetEnumCB, data); + + return PHYSFS_ENUM_OK; +} + void FileSystem::initFontSets(SharedFontState &sfs) { FontSetsCBData d = { p, &sfs }; - PHYSFS_enumerate("Fonts", findFontsFolderCB, &d); + PHYSFS_enumerate("", findFontsFolderCB, &d); } struct OpenReadEnumData From 65b9854d83e0d4926322fc1eb10a7fcd6c5d213b Mon Sep 17 00:00:00 2001 From: Vinyl Darkscratch Date: Sun, 7 Oct 2018 11:13:20 -0700 Subject: [PATCH 4/4] Style fix --- src/filesystem.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/filesystem.cpp b/src/filesystem.cpp index 4f4e970..69b51dd 100644 --- a/src/filesystem.cpp +++ b/src/filesystem.cpp @@ -40,11 +40,8 @@ #include #ifdef __APPLE__ -#define OS_OSX -#endif - -#ifdef OS_OSX -#include + #define OS_OSX + #include #endif struct SDLRWIoContext