Skip to content

Commit

Permalink
Merge pull request #25 from oblivioncth/dev
Browse files Browse the repository at this point in the history
Merge to master for v0.6.1.1
  • Loading branch information
oblivioncth authored May 4, 2023
2 parents 0b66475 + 0014b1c commit dfcc47c
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 19 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/build-fil-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
25 changes: 18 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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"
)
Expand Down Expand Up @@ -64,20 +64,31 @@ 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), 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
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
# 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)
Expand Down
21 changes: 12 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand Down

0 comments on commit dfcc47c

Please sign in to comment.