Jump to content
LaunchBox Community Forums

Recommended Posts

Flashpoint Importer for Launchers

View File

FIL (Flashpoint Importer for Launchers)

FIL is an importer tool for several launchers/frontends that allows one to add platforms and playlists from BlueMaxima's Flashpoint project 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.

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).

Function

This utility makes use of its sister project CLIFp (Command-line Interface for Flashpoint) to allow launchers to actually start and exit the games correctly. It is automatically deployed into your Flashpoint installation (updated if necessary) at the end of a successful import and the latest version of CLIFp will be included in each release of this utility so it is not generally something the end-user needs to concern themselves with.

Before making any changes to your collection, any datafiles that will be altered are automatically backed up (only one backup is maintained at once so any previous backup will be overwritten) and if any unrecoverable errors occur during the import any partial changes are reverted and the backups are restored; however, it is strongly suggested that you consider making a manual backup of your launcher's configuration to be safe. No responsibility is held for the loss of data due to use of this tool.

FIL can safely be used multiple times on the same collection to update the selected Platforms and Playlists if that have already been imported previously. The method with which to handle existing entries is selected within the program before each import.

The import time will vary, correlated with how many Platforms/Playlists you have selected, but more significantly the image mode you choose, which is expanded on later. Importing the entire collection usually takes 5-10 minutes with the recommended settings but can take longer with a more basic PC. The vast majority of the processing time is due to the plethora of images that have to be copied/symlinked when games processed so the speed of your storage device is the most significant factor. Running the importer for updates should be significantly faster it first checks to see if the source image from the new import source is actually different than your current one before copying/linking it.

You will still be able to use the standard Flashpoint launcher as normal after completing an import.

Compatability

Flashpoint Infinity/Flashpoint Ultimate
This tool was made with the express purpose of using it with Flashpoint Ultimate (i.e. all games/animations pre-downloaded), but since the 0.2 rewrite of CLIFp it should work with Infinity as well. Just note that use with Infinity is not tested as rigorously.

General

While testing for 100% compatibility is infeasible given the size of Flashpoint, OFILb was designed with full compatibility in mind.

The ":message:" feature of Flashpoint, commonly used to automatically show usage instructions for some games before they are started, is supported. The entries that use it are added as additional-apps to their respective games as they once were when Flashpoint came packaged with LaunchBox. All messages are displayed in a pop-up dialog via CLIFp.

Viewing extras (which are simply a folder) is also supported and the corresponding additional apps that open these folders will be added when importing a platform.

Since Flashpoint originally used LaunchBox as its launcher, most fields within Flashpoint have a one-to-one equivalent (or close enough equivalent) LaunchBox field. That being said there are a few fields that are unique to Flashpoint that do not have matching field and so they are simply excluded during the import, resulting in a relatively minor loss of information for each game in your collection.

Version Matching

Supported Launchers

  • LaunchBox
  • AttractMode

Flashpoint
While testing for 100% compatibility is infeasible given the size of Flashpoint, FIL was designed with full compatibility in mind.

The ":message:" feature of Flashpoint, commonly used to automatically show usage instructions for some games before they are started, is supported. The entries that use it are added as additional-apps to their respective games as they once were when Flashpoint came packaged with LaunchBox. All messages are displayed in a pop-up dialog via CLIFp.

Viewing extras (which are simply a folder) is also supported and the corresponding additional apps that open these folders will be added when importing a platform.

Each metadata field (i.e. Title, Author, etc.) is matched to the closest equivalent of a given launcher, or a custom field if there is no near equivalent and the launcher supports them; otherwise, the field will be omitted.

Both Flashpoint Ultimate and Flashpoint Infinity are supported.

Version Matching
Each release of this application targets a specific version series of BlueMaxima's Flashpoint, which are composed of a major and minor version number, and are designed to work with all Flashpoint updates within that series. For example, a FIL release that targets Flashpoint 10.1 is intended to be used with any version of flashpoint that fits the scheme 10.1.x.x, such as 10.1, 10.1.0.3, 10.1.2, etc, but not 10.2.

Using a version of FIL that does not target the version of Flashpoint you wish to use it with is highly discouraged as some features may not work correctly or at all and in some cases the utility may fail to function entirely or even damage the Flashpoint install it is used with.

Please see the project's releases page on GitHub to check which tool version targets which Flashpoint version.

Metadata Fields

Currently the following fields in LaunchBox will be populated for each game, which is limited by what is available within Flashpoint:

  • Title
  • Series
  • Developer
  • Publisher
  • Platform
  • Sort Title
  • Date Added
  • Date Modified
  • Broken Flag
  • Play Mode
  • Status
  • Notes
  • Source
  • Release Date
  • Version
  • Library
  • Language (as a Custom Field)

Usage

Please check the usage section for the tool on its GitHub page. It's easier to keep the instructions up to date when they are in one location.

If you have a bug or feature request I ask that you submit an issue on the GitHub page for this tool, but if you just want to ask a question, discuss the tool in general, or are having issues getting it working for reasons you don't think are due to a bug then please just make a post here. Since sometimes the line between the two can be blurry don't feel afraid to use the wrong system, it isn't a huge deal.

GitHub

FIL: https://github.com/oblivioncth/OFILb

CLIFp: https://github.com/oblivioncth/CLIFp


 

Edited by oblivioncth
Match to file details
  • Like 1
  • Thanks 1
  • Unusual Gem 1
Link to comment
Share on other sites

  • 1 month later...

@oblivioncth This is an awesome tool! I really appreciate the effort. Below is possibly a bug as well as a feature request.

I'm using OFILb version 0.1.2.1 and flashpoint infinity version 8.2. When I browse to my flashpoint location I get this message "The specified directory either doesn't contain a valid Flashpoint install, or it contains a version that is incompatible with this tool."

I really didn't want to download Flashpoint Ultimate because I only wanted a handful of games that I used to play back in the day (~0.5TB is a steep price to pay for a few classic flash games). 

I went back to OFILb version 0.1.1 and the tool worked fine. OFILb v0.1.2 did not work and gave me the same message above. I figured I'd share this with you since you haven't done much testing with Infinity.

Also, it would be really cool if you could just add a playlist to Launchbox rather than an entire platform. Importing a platform imports every game in the platform .xml file in Flashpoint (it imports the games that I don't have installed). This feature would be useful for infinity users since they are less likely to have every single game installed. 

Thanks again for putting this together! 

Link to comment
Share on other sites

  • 4 weeks later...
On 10/26/2020 at 7:29 PM, G_HARB said:

@oblivioncth This is an awesome tool! I really appreciate the effort. Below is possibly a bug as well as a feature request.

I'm using OFILb version 0.1.2.1 and flashpoint infinity version 8.2. When I browse to my flashpoint location I get this message "The specified directory either doesn't contain a valid Flashpoint install, or it contains a version that is incompatible with this tool."

I really didn't want to download Flashpoint Ultimate because I only wanted a handful of games that I used to play back in the day (~0.5TB is a steep price to pay for a few classic flash games). 

I went back to OFILb version 0.1.1 and the tool worked fine. OFILb v0.1.2 did not work and gave me the same message above. I figured I'd share this with you since you haven't done much testing with Infinity.

Also, it would be really cool if you could just add a playlist to Launchbox rather than an entire platform. Importing a platform imports every game in the platform .xml file in Flashpoint (it imports the games that I don't have installed). This feature would be useful for infinity users since they are less likely to have every single game installed. 

Thanks again for putting this together! 

Hey sorry missed this somehow.

The issue you described was due to an oversight and has now been fixed in 0.1.3 which will work with 9.0 Ultimate and Infinity.

I may at some point add a feature that does what you mentioned, though it wouldn't be the most useful thing as most playlists only have 5-20 games. I'm actually haven't tested to see if you add your own playlist in Flashpoint if it shows up as an import option in my tool, because I only read the playlists from the SQL database, yet there is a folder with playlists in JSON format that I always assumed was just a leftover from previous versions form before they used a database, but its possible that custom playlists are placed there and not inserted into the database. If this is the case then I'll see about getting them working.

As for your reasoning with Infinity users "not having every game installed", this is actually no different than using FP Infinity by itself where you can see all of the games even though they aren't all downloaded. You can actually start a game that hasn't been downloaded in LaunchBox after you have imported a Platform, even if you've never ran it through the Flashpoint launcher and it will still be downloaded on-the-fly all the same.

I do just want to clarify though: Was your main issue thinking that you couldn't play games through LB that you hadn't opened/downloaded in Flashpoint yet? Or did you want a way to import only games from a playlist regardless? I can add such a feature, it isn't too complicated but would require reworking the process a little so I just want to have a sense of its priority.

Edited by oblivioncth
Link to comment
Share on other sites

  • 4 weeks later...
28 minutes ago, SiriusVI said:

So I finally get around to testing the importer. A quick question, though: Does it also import the flash videos or just the games? I' also like to import the videos, maybe under a different platform name?

Yes it does import them, under the same platform the games are under, "Flash".

I'll look into seeing if there's a spot to fit the metadata in LaunchBox for if the item is a game or animation (this info is present in Flashpoint obviously) to make it easy to filter them. If not I guess I can add an option to make a different platform.

Link to comment
Share on other sites

@oblivioncthI have a suggestion for your tool. In order to organize all the platforms better, I'd suggest the following structure. There should be a platform category called "Web Browser" (Web Browser already is a platform name within Launchbox) or "Flash" if you like that better. Web Browser as a platform category can then funktion as a parent for all the flash game platforms your tool creates.

What do you think?

Edited by SiriusVI
Link to comment
Share on other sites

On 12/18/2020 at 7:17 AM, SiriusVI said:

@oblivioncthI have a suggestion for your tool. In order to organize all the platforms better, I'd suggest the following structure. There should be a platform category called "Web Browser" (Web Browser already is a platform name within Launchbox) or "Flash" if you like that better. Web Browser as a platform category can then funktion as a parent for all the flash game platforms your tool creates.

What do you think?

I have mixed feelings with this.

In LaunchBox after the import its fairly straight forward move the newly imported platforms under whatever category you want yourself (and they'll stay there even after importing again), making this a relatively minor improvement for a fair amount of work since I would then need to start parsing the XML files in the root Data folder like "Parents.xml", so it isn't something I'm dying to do.

That being said it is still ultimately an improvement and would offload work from the user, even if only a little.

I'll keep it in mind and considering doing it at some point in a larger patch.

Still have to look into best how to handle separating the animations from games.

Link to comment
Share on other sites

On 10/26/2020 at 7:29 PM, G_HARB said:

@oblivioncth This is an awesome tool! I really appreciate the effort. Below is possibly a bug as well as a feature request.

I'm using OFILb version 0.1.2.1 and flashpoint infinity version 8.2. When I browse to my flashpoint location I get this message "The specified directory either doesn't contain a valid Flashpoint install, or it contains a version that is incompatible with this tool."

I really didn't want to download Flashpoint Ultimate because I only wanted a handful of games that I used to play back in the day (~0.5TB is a steep price to pay for a few classic flash games). 

I went back to OFILb version 0.1.1 and the tool worked fine. OFILb v0.1.2 did not work and gave me the same message above. I figured I'd share this with you since you haven't done much testing with Infinity.

Also, it would be really cool if you could just add a playlist to Launchbox rather than an entire platform. Importing a platform imports every game in the platform .xml file in Flashpoint (it imports the games that I don't have installed). This feature would be useful for infinity users since they are less likely to have every single game installed. 

Thanks again for putting this together! 

On 11/22/2020 at 8:40 PM, oblivioncth said:

Hey sorry missed this somehow.

The issue you described was due to an oversight and has now been fixed in 0.1.3 which will work with 9.0 Ultimate and Infinity.

I may at some point add a feature that does what you mentioned, though it wouldn't be the most useful thing as most playlists only have 5-20 games. I'm actually haven't tested to see if you add your own playlist in Flashpoint if it shows up as an import option in my tool, because I only read the playlists from the SQL database, yet there is a folder with playlists in JSON format that I always assumed was just a leftover from previous versions form before they used a database, but its possible that custom playlists are placed there and not inserted into the database. If this is the case then I'll see about getting them working.

As for your reasoning with Infinity users "not having every game installed", this is actually no different than using FP Infinity by itself where you can see all of the games even though they aren't all downloaded. You can actually start a game that hasn't been downloaded in LaunchBox after you have imported a Platform, even if you've never ran it through the Flashpoint launcher and it will still be downloaded on-the-fly all the same.

I do just want to clarify though: Was your main issue thinking that you couldn't play games through LB that you hadn't opened/downloaded in Flashpoint yet? Or did you want a way to import only games from a playlist regardless? I can add such a feature, it isn't too complicated but would require reworking the process a little so I just want to have a sense of its priority.

@oblivioncthThank you for the response. I was just thinking it'd be cool just to import a handful of games rather then the entire playlist from flashpoint. The current process puts all of the games into launchbox even if I don't have them installed on flashpoint. I went through and manually deleted all of the ones I don't play. Either way it's a minor detail in the grand scheme of things. Definitely worth the time to have everything launch from launchbox.

Edited by G_HARB
Link to comment
Share on other sites

On 12/21/2020 at 4:12 PM, oblivioncth said:

I have mixed feelings with this.

In LaunchBox after the import its fairly straight forward move the newly imported platforms under whatever category you want yourself (and they'll stay there even after importing again), making this a relatively minor improvement for a fair amount of work since I would then need to start parsing the XML files in the root Data folder like "Parents.xml", so it isn't something I'm dying to do.

That being said it is still ultimately an improvement and would offload work from the user, even if only a little.

I'll keep it in mind and considering doing it at some point in a larger patch.

Still have to look into best how to handle separating the animations from games.

Don't worry, I didn't want to pressure you into anything =). I didn't know that the platforms would retain their parent platform category when updating. In that case, we really don't need the feature I was talking about.

On another note, I have trouble figuring out how to exclude the extreme/adult games. When I open the dropdown menu in "tools", the crossed out "18" symbol is marked with a blue square. Does that mean the adult games are excluded or included by default? It's a little ambiguous.

Edited by SiriusVI
Link to comment
Share on other sites

5 hours ago, SiriusVI said:

Don't worry, I didn't want to pressure you into anything =). I didn't know that the platforms would retain their parent platform category when updating. In that case, we really don't need the feature I was talking about.

On another note, I have trouble figuring out how to exclude the extreme/adult games. When I open the dropdown menu in "tools", the crossed out "18" symbol is marked with a blue square. Does that mean the adult games are excluded or included by default? It's a little ambiguous.

Like I said I'll keep it in mind, but yea manually managing it works fine with OFLIb.

I originally added that icon to the 18+ option to make it stand out more for what it was, but it does seem to have caused some confusion as to how it works. It being blue means its enabled/they're included.

I think next release I'm going to remove the icon so that the checkmark shows.

Link to comment
Share on other sites

18 minutes ago, oblivioncth said:

Like I said I'll keep it in mind, but yea manually managing it works fine with OFLIb.

I originally added that icon to the 18+ option to make it stand out more for what it was, but it does seem to have caused some confusion as to how it works. It being blue means its enabled/they're included.

I think next release I'm going to remove the icon so that the checkmark shows.

Perfect, thanks for replying!

Link to comment
Share on other sites

Hey there, another question: I accidentally imported all the adult games due to my initial confusion. However, now I have altready grouped all the platforms and playlists under cetrain parents to keep everything nice and tidy.

I tried reimporting Flashpoint, this time excluding the adult games. In your GUI it said that missing games would be deleaded from the platforms and playlists.

Now when I try to start launchbox, I get multple errors saying that cetrain xml files are currupted (all the ones Flashpoint creats) Do you have any idea what causes this? 

Link to comment
Share on other sites

4 hours ago, SiriusVI said:

Hey there, another question: I accidentally imported all the adult games due to my initial confusion. However, now I have altready grouped all the platforms and playlists under cetrain parents to keep everything nice and tidy.

I tried reimporting Flashpoint, this time excluding the adult games. In your GUI it said that missing games would be deleaded from the platforms and playlists.

Now when I try to start launchbox, I get multple errors saying that cetrain xml files are currupted (all the ones Flashpoint creats) Do you have any idea what causes this? 

Crap, sorry about that.

You'll need to remove the xmls for now obviously to start LaunchBox, and you should be able to rename the backups (.obk) to the original names to get the working copies back (though obviously they'll have the adult games).

To figure out what's going on it would be helpful if I could get a few things: A screen shot of OFILb exactly how you had it setup for your last import (when you were trying to remove the adult games) before the issue occurred and a link to a zip file of the XMLs that LaunchBox says are corrupted. Finally, while it's ultimately not needed if you don't feel like it, I'd appreciate it if you submited that info as a formal bug on the tools GitHub page that you can get to from here or the Help menu within the tool itself.

Link to comment
Share on other sites

13 minutes ago, oblivioncth said:

Crap, sorry about that.

You'll need to remove the xmls for now obviously to start LaunchBox, and you should be able to rename the backups (.obk) to the original names to get the working copies back (though obviously they'll have the adult games).

To figure out what's going on it would be helpful if I could get a few things: A screen shot of OFILb exactly how you had it setup for your last import (when you were trying to remove the adult games) before the issue occurred and a link to a zip file of the XMLs that LaunchBox says are corrupted. Finally, while it's ultimately not needed if you don't feel like it, I'd appreciate it if you submited that info as a formal bug on the tools GitHub page that you can get to from here or the Help menu within the tool itself.

No worries, I have working backups ;). As a workaround, I manually deleated all the xmls that your importer created and reimported the collection without the adult games. The parents info was saved, so I don't have to reorganize anything.

I can send you a screenshot, but I'm afraid the currupted xmls are gone. i should be able to reproduce the error by just adding the adult games back in, though. I can try if you want.

Anyway, thanks for your help!

Link to comment
Share on other sites

It sounds like a problem I should be able to reproduce myself since its fairly straightforward, but just in case it would be cool if you could try to do so yourself since you can be sure its the same issue caused the same way since you experienced the finer details firsthand.

Screenshot is still useful obviously.

Link to comment
Share on other sites

On 12/28/2020 at 11:38 PM, oblivioncth said:

It sounds like a problem I should be able to reproduce myself since its fairly straightforward, but just in case it would be cool if you could try to do so yourself since you can be sure its the same issue caused the same way since you experienced the finer details firsthand.

Screenshot is still useful obviously.

Sorry for the late replay, I was too busy over the last days. I will give you all you need in the new year ?

Link to comment
Share on other sites

This is neat/useful, but there are some issues that I think would be frustrating for most Launchbox users?

Since it sorts games into different Platforms instead of the expected Web Browser platform for the LaunchBase database, changing all the games takes a very long time as it has to migrate all the images.

Even after doing so, I'm unclear if there is a way in LaunchBox for it to search for matching database entries?

 

This next thing, I don't know if it can be helped, but I wish there were a way to treat it as an emulator and have the File name show the name of the swf; I had done this before with Adobe Flash Player, but there are some games in Flashpoint whose SWF doesn't launch in Flash Player (because of online file dependencies that Flashpoint removes, I assume) so having them solely launch in Flashpoint would be more ideal. It just feels like a more elegant solution would be nice.

Link to comment
Share on other sites

21 hours ago, SiriusVI said:

Sorry for the late replay, I was too busy over the last days. I will give you all you need in the new year ?

Alright let me know what happens. Interestingly I've been unable to recreate the issue by importing the Flash platform fully and then re-doing the import with "Include Adult" option unchecked. It does remove them and I'm still able to start LaunchBox with non-corrupt entries. It is possible that I inadvertently fixed the issue between the last release and my current build but that would be quite surprising.

14 hours ago, The T said:

This is neat/useful, but there are some issues that I think would be frustrating for most Launchbox users?

Since it sorts games into different Platforms instead of the expected Web Browser platform for the LaunchBase database, changing all the games takes a very long time as it has to migrate all the images.

Even after doing so, I'm unclear if there is a way in LaunchBox for it to search for matching database entries?

 

This next thing, I don't know if it can be helped, but I wish there were a way to treat it as an emulator and have the File name show the name of the swf; I had done this before with Adobe Flash Player, but there are some games in Flashpoint whose SWF doesn't launch in Flash Player (because of online file dependencies that Flashpoint removes, I assume) so having them solely launch in Flashpoint would be more ideal. It just feels like a more elegant solution would be nice.

The games are separated by platform since that is how they are handled in Flashpoint. I can in theory offer more options to customize how the games are imported and plan to do that eventually, but it is a low priority because LaunchBox already has fairly flexible organization options :). If you don't already have the Web Browser platform you can create it manually with "Add" and then on each platform you can just right click on the imported platforms, go to Edit, and then under Parents you can nest them under the Web Browser platform, no images will need to be moved as the changing only affects the frontend and filter engine so it is more or less instant. It will take a short bit to do this for each platform but its rather quick compared to what you're doing. These nesting options are stored in a Platform independent XML within LaunchBox so they will stick even after running the importer again.

Sure the items won't be directly in that platform category but since they're under it you can still click the Web Browser platform and it will show all of the entries under it, resulting in effectively the same thing with the added convenience of being able to specifically drill down to the individual platforms if desired. Generally better unless you really hate nested platforms. Honestly, with how dead the Web Browser platform is in the database, "Web Browser" makes more sense to me as a Platform Category that you nest all of platforms you import under, which is an even simpler way to do it as long as you mainly use the Platform Category view (which is the default and works nicely for categorizing systems into things like "PC", "Console" or the like, and what I personally do.

The Web Browser platform in LaunchBox is quite weak, it only has 50ish entries so there isn't actually much to "match" database wise. The recognition process in LaunchBox has been improved significantly over the last year so even if the titles differ slightly I'd imagine you should be able to get a match and download metadata for the few games that are in the database even if the title isn't exactly the same, just like you would for any other game using "Search for Metadata" in the Edit menu.

For your last question, I initially went with the setup that I have now because it was the most straightforward way to handle each title, i.e. leaving them the way they are handled within Flashpoint (if you aren't aware, Flashpoint originally used LaunchBox so there are still a lot of holdovers with how they organize things and their titles were all setup as individual applications back then so its simply the easiest to get them back into that configuration), which also avoids unforeseen issues by keeping the translation more or less one-to-one. That being said, I do agree that ultimately it would make sense to register CLIFp as an emulator since it is used for all titles, just with different parameters. The parameters can still be set on a per-game/animation basis and this will allow the file name metadata to show the actual file used (with some possible exceptions, I have to examine the Flashpoint database more to watch out for one potential caveat).

I wont be able to have that change out in the next version, but I can try to shoot for the one after.

Edited by oblivioncth
Link to comment
Share on other sites

Oh ok; the thing I was missing was changing the "Scrape as" to "Web Browser". That'll do what I need it to do.

Another thing I would really like to see title screens being used as Game Covers, when applicable/when there's nothing else. That's partially a LaunchBox problem in general, though.

Edited by The T
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...