|
1 | 1 | # FIL (Flashpoint Importer for Launchers) |
2 | | -<img align="left" src="https://i.imgur.com/WZbXSO2.png" width=25%> |
| 2 | +<img align="left" src="doc/images/logo.png" width=25%> |
3 | 3 |
|
4 | 4 | FIL is an importer tool for several launchers/frontends that allows one to add platforms and playlists from [Flashpoint Archive](https://flashpointarchive.org/) to their collection. It is fully automated and only requires the user to provide the paths to their launcher and Flashpoint installs, choose which Platforms/Playlists they wish to import, and select between a few import mode options. Once the import is started the current progress is displayed and any errors that occur are shown to the user, with resolvable errors including a prompt for what the user would like to do. After the process has completed, the specified launcher can be started and the games from Flashpoint can be played like those from any other Platform. |
5 | 5 |
|
@@ -45,118 +45,14 @@ Using a version of FIL that does not target the version of Flashpoint you wish t |
45 | 45 | The title of each [release](github.com/oblivioncth/FIL/releases) will indicate which version of Flashpoint it targets. |
46 | 46 |
|
47 | 47 | ## Launcher Specific Details |
48 | | -*If enough frontends are added this section will likely be converted into a wiki.* |
| 48 | +See [LAUNCHER](doc/LAUNCHER.md) |
49 | 49 |
|
50 | | --------------------------------------------------------------------------------------------------- |
51 | | -**LaunchBox** |
| 50 | +## Usage |
| 51 | +Essentially, you just need to download and run the program, provide paths to both your Flashpoint and Launcher installs, select your options, and go. |
52 | 52 |
|
53 | | -The import strategy for LaunchBox results in a setup that is straightforward and very similar to when Flashpoint Archive used LaunchBox as its frontend. Platforms to platforms, playlists to playlists, games to games, additional apps to additional apps, and so forth. |
| 53 | +For more details, see [USAGE](doc/USAGE.md) |
54 | 54 |
|
55 | | -Each platform is grouped within the platform category "Flashpoint". |
56 | | - |
57 | | -All entry metadata is converted to its nearest LaunchBox equivalent, with nearly all fields being covered. One minor exception is the Flashpoint "Language" field, as it is added as a LaunchBox Custom Field, which requires a premium license to see. |
58 | | - |
59 | | -Everything should work out-of-the-box after an import. |
60 | | - |
61 | | --------------------------------------------------------------------------------------------------- |
62 | | -**AttractMode** |
63 | | - |
64 | | -Summary: |
65 | | - - Everything is considered to be tied to the platform/system "Flashpoint", as well as an emulator by the same name |
66 | | - - All selections are imported to a master "Flashpoint" romlist |
67 | | - - A tag list is created for each Platform and Playlist with the prefixes "[Platform]" and "[Playlist]" respectively |
68 | | - - Game descriptions are added as overviews |
69 | | - - After each import, if a Display titled "Flashpoint" is not present in your config, one will be created with sensible defaults |
70 | | - - A Flashpoint system marquee is provided |
71 | | - - Additional applications are added as romlist entries using the following naming scheme for their title `[parent_game_name] |> [add_app_name]` |
72 | | - - Title images are added as 'flyers' and screenshots are added as 'snaps' |
73 | | - - Everything should work out-of-the-box after an import |
74 | | - |
75 | | -Details: |
76 | | - |
77 | | -The default Display entry will only be created if it's missing, allowing you to customize it as you see fit afterwards; however, the Platform/Playlist specific filters will always be updated to match your selections from the most recent import. Alternatively you can simply make your own Display entry under a different name and leave the default alone (as well as potentially. |
78 | | - |
79 | | -The default sort of all Display filters uses the 'AltTitle' field, which is based on Flashpoint's 'sortTitle' field. This guarantees the that all games appear in the same order as they do within Flashpoint and that additional applications appear directly under their parent games. |
80 | | - |
81 | | -The romlist fields are mapped as follows (AttractMode `->` Flashpoint): |
82 | | - |
83 | | - - Name `->` Title ID |
84 | | - - Title `->` Title |
85 | | - - Platform `->` Platform |
86 | | - - Emulator `->` "Flashpoint" |
87 | | - - CloneOf `->` Parent Title ID (if an additional app) |
88 | | - - Year `->` Release date-time (date portion only) |
89 | | - - Manufacturer `->` Developer |
90 | | - - Players `->` Play Mode |
91 | | - - Status `->` Status |
92 | | - - AltTitle `->` Sort Title (use for correct sorting) |
93 | | - - Series `->` Series |
94 | | - - Language `->` Language |
95 | | - |
96 | | -Any fields not listed are unused or set to a general default. |
97 | | - |
98 | | -All of the default AttractMode layouts don't work particularly well with Flashpoint. The main issues are: |
99 | | - |
100 | | - - Not enough space for many titles, especially additional apps |
101 | | - - Some layouts showing the "AltTitle" of each entry beside them, wasting further space since that field is used for sorting purposes in this use case and isn't really intended to be displayed. |
102 | | - - Most layouts stretch the images instead of preserving their aspect ratio. This can be changed for some layouts, though since layout settings are global this will affect all of your displays so I did not configure the importer to make this change automatically. |
103 | | - - No layouts actually display overviews |
104 | | - |
105 | | -For this reason it is recommended to use a third-party layout that avoids these issues as best as possible. I cannot recommend one as at this time I do not use AttractMode personally. In the future I may try creating a simple one that is ideal for Flashpoint, thought I cannot promise this. If someone wants to share one they end up creating or recommend an existing one that works well that would be appreciated. |
106 | | - |
107 | | -Given that AttractMode is highly customizable and designed to encourage each user to have a unique-to-them setup, ultimately you can do whatever you want with the resultant romlist, tag lists, and overviews. The default Display/Filters are just for getting started. |
108 | | - |
109 | | -## Usage (Primary) |
110 | | - |
111 | | - **Before using FIL, be sure to have ran Flashpoint through its regular launcher at least once** |
112 | | - |
113 | | - 1. Download and run the latest [release](https://github.com/oblivioncth/FIL/releases) (the static variant is recommended) |
114 | | - 2. Ensure Flashpoint and the launcher are both not running |
115 | | - 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 |
116 | | - 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 |
117 | | - 5. The lists of available Platforms and Playlists will quickly load |
118 | | - 6. Select which Platforms and Playlists you want to import. Existing entries that are considered an update will be highlighted in green |
119 | | - 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: |
120 | | - - **Selected Platforms Only** - Only games that are present within the selected platforms will be included |
121 | | - - **Force All** - All games in the playlist will be included, importing portions of unselected platforms as required |
122 | | - 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: |
123 | | - - (Exclusive) **New Only** - Only adds new games |
124 | | - - (Exclusive) **New & Existing** - Adds new games and updates the non-user specific metadata for games already in your collection |
125 | | - - (Applies to either of the above) **Remove Missing** - Removes any games from your collection for the selected Platforms that are no longer in Flashpoint |
126 | | - 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: |
127 | | - - **Copy** - Copies all relevant images from Flashpoint into your launcher install (slow import) |
128 | | - - **Reference** - Changes your launcher install configuration to directly use the Flashpoint images in-place (slow image refresh) |
129 | | - - **Symlink** - Creates a symbolic link to all relevant images from Flashpoint into your launcher install. Overall the best option |
130 | | - |
131 | | - 10. Press the "Start Import" button |
132 | | - |
133 | | -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 |
134 | | - |
135 | | -**Example:** |
136 | | - |
137 | | - |
138 | | - |
139 | | -## Usage (Tools) |
140 | | - |
141 | | -### Tag Filter |
142 | | -The tag filter editor allows you to customize which titles will be imported based on their tags. |
143 | | - |
144 | | - |
145 | | - |
146 | | -Tags are listed alphabetically, nested under their categories names so that you can select or unselect an entire category easily. Exclusions take precedence, so if a title features a single tag that you have unselected it will not be included in the import. |
147 | | - |
148 | | -All tags are included by default. |
149 | | - |
150 | | -### Image Downloading |
151 | | -Only available when using Flashpoint Infinity, the "Force Download Images" option will download the cover art and screenshot for each imported title if they have not yet been retrieved through normal use of Infinity. |
152 | | - |
153 | | -**WARNING:** The Flashpoint Infinity client was only designed to download images gradually while scrolling through titles within its interface, and so the Flashpoint image server has bandwidth restrictions that severely limit the practicality of downloading a large number of images in bulk. Therefore, it is recommended to only use this feature when using Infinity to access a small subset of the Flashpoint collection, such as a specific playlist, or curated list of favorites. Otherwise, if having all game images available in your launcher is important to you, you should be using Ultimate, or be prepared to wait an **extremely** long time. |
154 | | - |
155 | | -### Animations |
156 | | -Since most launchers are game oriented, animations are ignored by default. If you wish to include them you can do so by selecting the "Include Animations" option. |
157 | | - |
158 | | -### CLIFp Distribution |
159 | | -This tool automatically handles installing/updating the command-line interface Flashpoint client as needed; however, if for whatever reason you deem it necessary/useful to manually insert a copy of FIL's bundled CLIFp version, you can do so using the "Deploy CLIFp" option. |
| 55 | + |
160 | 56 |
|
161 | 57 | ## Other Features |
162 | 58 | - The playlist import feature is "smart" in the sense that it won't include games that you aren't importing. So if you only want to import the Flash platform for example and a couple playlists, you wont have to worry about useless entries in the playlist that point to games from other platforms you didn't import. This of course does not apply if you are using the "Force All" playlist game mode. |
@@ -188,26 +84,4 @@ This tool automatically handles installing/updating the command-line interface F |
188 | 84 | The source for this project is managed by a sensible CMake configuration that allows for straightforward compilation and consumption of its target(s), either as a sub-project or as an imported package. All required dependencies except for Qt6 are automatically acquired via CMake's FetchContent mechanism. |
189 | 85 |
|
190 | 86 | ### Building |
191 | | -Ensure Qt6 is installed and locatable by CMake (or alternatively use the `qt-cmake` script that comes with Qt in-place of the`cmake` command). |
192 | | - |
193 | | -Right now, a static build is required in order for CLIFp to work correctly. |
194 | | - |
195 | | -Should work with MSVC, MINGW64, clang, and gcc. |
196 | | - |
197 | | -``` |
198 | | -# Acquire source |
199 | | -git clone https://github.com/oblivioncth/FIL |
200 | | -
|
201 | | -# Configure (ninja optional, but recommended) |
202 | | -cmake -S FIL -B build-FIL -G "Ninja Multi-config" |
203 | | -
|
204 | | -# Build |
205 | | -cmake --build build-FIL |
206 | | -
|
207 | | -# Install |
208 | | -cmake --install build-FIL |
209 | | -
|
210 | | -# Run |
211 | | -cd "build-FIL/out/install/bin" |
212 | | -fil |
213 | | -``` |
| 87 | +See [COMPILING](doc/COMPILING.md) |
0 commit comments