From c812e0fb1293018bdc55499f3bb725af4df8dfd7 Mon Sep 17 00:00:00 2001 From: Christian Heimlich Date: Fri, 28 Apr 2023 04:46:35 -0400 Subject: [PATCH 1/4] Update README.md: Make 'getting started' clearer --- README.md | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 383c42a..fa568b5 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,8 @@ FIL is an importer tool for several launchers/frontends that allows one to add For Platforms, the importer is capable of importing each game/animation along with any additional apps, images, and most of the metadata fields (i.e. Title, Description, etc, see below). +Checkout **[Usage (Primary)](#usage-primary)** to get started. + [![Dev Builds](https://github.com/oblivioncth/FIL/actions/workflows/push-reaction.yml/badge.svg?branch=dev)](https://github.com/oblivioncth/FIL/actions/workflows/push-reaction.yml) ## Function @@ -104,24 +106,25 @@ Given that AttractMode is highly customizable and designed to encourage each use ## Usage (Primary) - 1. Ensure Flashpoint and the launcher are both not running - 2. Manually specify or browse for the path to your launcher install, the utility will let you know if there are any problems. If everything is OK the icon next to the install path will change to a green check - 3. Manually specify or browse for the path to your Flashpoint install, the utility will let you know if there are any problems. If everything is OK the icon next to the install path will change to a green check - 4. The lists of available Platforms and Playlists will quickly load - 5. Select which Platforms and Playlists you want to import. Existing entries that are considered an update will be highlighted in green - 6. If importing Playlists, select a Playlist Game Mode. These are described with the nearby Help button in the program, but here is a basic overview of their differences: + 1. Download and run the latest [release](https://github.com/oblivioncth/FIL/releases) (the static variant is recommended) + 2. Ensure Flashpoint and the launcher are both not running + 3. Manually specify or browse for the path to your launcher install, the utility will let you know if there are any problems. If everything is OK the icon next to the install path will change to a green check + 4. Manually specify or browse for the path to your Flashpoint install, the utility will let you know if there are any problems. If everything is OK the icon next to the install path will change to a green check + 5. The lists of available Platforms and Playlists will quickly load + 6. Select which Platforms and Playlists you want to import. Existing entries that are considered an update will be highlighted in green + 7. If importing Playlists, select a Playlist Game Mode. These are described with the nearby Help button in the program, but here is a basic overview of their differences: - **Selected Platforms Only** - Only games that are present within the selected platforms will be included - **Force All** - All games in the playlist will be included, importing portions of unselected platforms as required - 7. If any entries you have selected are for updates you may select update mode settings. These are described with the nearby Help button in the program, but here is a basic overview of their differences: + 8. If any entries you have selected are for updates you may select update mode settings. These are described with the nearby Help button in the program, but here is a basic overview of their differences: - (Exclusive) **New Only** - Only adds new games - (Exclusive) **New & Existing** - Adds new games and updates the non-user specific metadata for games already in your collection - (Applies to either of the above) **Remove Missing** - Removes any games from your collection for the selected Platforms that are no longer in Flashpoint - 8. Select a method to handle game images. These are described with the nearby Help button in the program, but here is a basic overview of their differences: + 9. Select a method to handle game images. These are described with the nearby Help button in the program, but here is a basic overview of their differences: - **Copy** - Copies all relevant images from Flashpoint into your launcher install (slow import) - **Reference** - Changes your launcher install configuration to directly use the Flashpoint images in-place (slow image refresh) - **Symlink** - Creates a symbolic link to all relevant images from Flashpoint into your launcher install. Overall the best option - 9. Press the "Start Import" button + 10. Press the "Start Import" button The symbolic link related options for handling images require the importer to be run as an administrator or for you to enable [Developer mode](https://www.howtogeek.com/292914/what-is-developer-mode-in-windows-10/#:~:text=How%20to%20Enable%20Developer%20Mode,be%20put%20into%20Developer%20Mode.) within Windows 10 From 10495a537d71eda1dcf53674f2c45bf8f4d10abc Mon Sep 17 00:00:00 2001 From: Christian Heimlich Date: Fri, 28 Apr 2023 09:50:30 -0400 Subject: [PATCH 2/4] Disable shared builds until the CLIFp resource is better handled there --- .github/workflows/build-fil-windows.yml | 6 +++--- CMakeLists.txt | 17 ++++++++++++++--- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-fil-windows.yml b/.github/workflows/build-fil-windows.yml index 37fa99d..b1e1838 100644 --- a/.github/workflows/build-fil-windows.yml +++ b/.github/workflows/build-fil-windows.yml @@ -17,10 +17,10 @@ jobs: strategy: fail-fast: false matrix: - lib_linkage: [shared, static] + lib_linkage: [static] #[static, shared] shared is broken for since CLIFp has to be static include: - - lib_linkage: shared - cmake_bsl: ON + #- lib_linkage: shared + # cmake_bsl: ON - lib_linkage: static cmake_bsl: OFF runs-on: windows-latest diff --git a/CMakeLists.txt b/CMakeLists.txt index 4ad5efc..4b8acdf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -73,11 +73,22 @@ ob_fetch_qx( include(OB/Fetchlibfp) ob_fetch_libfp("v0.3") -# Fetch CLIFp (build and import from source), force static build -set(BUILD_SHARED_LIBS OFF) # Shadows CACHE variable +# Fetch CLIFp (build and import from source) include(OB/FetchCLIFp) ob_fetch_clifp("v0.9.4") -unset(BUILD_SHARED_LIBS) # Unshadow CACHE variable + +# TODO: The shared build of this is essentially useless as only the CLIFp executable +# is deployed, which only works if it's statically linked. There isn't a simple way +# to force a build of CLIFp static when building FIL shared as the libraries that +# they share will have already been locked into being built with shared linking +# by FIL since you can only FetchContent a dependency once. The only real way +# to get around this would be to change the entire project structure to a "super-build" +# using ExternalProject. +# +# An alternative could be to use preprocessor macros and the like to alter FIL's behavior +# when built as a shared library. It could instead build CLIFp into the same bin directory +# and then know to copy that exe along with the required DLLs into the target FP install +# when deploying it at runtime. # Fetch Neargye's Magic Enum include(OB/FetchMagicEnum) From a72e71fba47c226f953f055ec56253f0ab7ef17f Mon Sep 17 00:00:00 2001 From: Christian Heimlich Date: Thu, 4 May 2023 03:46:44 -0400 Subject: [PATCH 3/4] Update to fixed CLIFp version --- CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b8acdf..f474be0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -64,18 +64,18 @@ set(FIL_QX_COMPONENTS include(OB/FetchQx) ob_fetch_qx( - REF "v0.5" + REF "v0.5.0.1" COMPONENTS ${FIL_QX_COMPONENTS} ) # Fetch libfp (build and import from source) include(OB/Fetchlibfp) -ob_fetch_libfp("v0.3") +ob_fetch_libfp("v0.3.1") # Fetch CLIFp (build and import from source) include(OB/FetchCLIFp) -ob_fetch_clifp("v0.9.4") +ob_fetch_clifp("v0.9.4.1") # TODO: The shared build of this is essentially useless as only the CLIFp executable # is deployed, which only works if it's statically linked. There isn't a simple way From 0014b1c98a202106e4632c7ba73af982eb491210 Mon Sep 17 00:00:00 2001 From: Christian Heimlich Date: Thu, 4 May 2023 04:19:03 -0400 Subject: [PATCH 4/4] Bump ver --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f474be0..1bd396a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,7 +6,7 @@ cmake_minimum_required(VERSION 3.24.0) # Project # NOTE: DON'T USE TRAILING ZEROS IN VERSIONS project(FIL - VERSION 0.6.1 + VERSION 0.6.1.1 LANGUAGES CXX DESCRIPTION "Flashpoint Importer for Launchers" )