Jump to content
LaunchBox Community Forums

Lightspeed: Ultra-Fast Mame Importer Tool


Jason Carr

Recommended Posts

5 hours ago, Antropus said:

@CriticalCid, I will need to investigate that one. It's capturing it for a lot of the CPS1 games, but not for Captain Commando for some reason. The history.dat is *mostly* well formatted, but I found many instances of misspelled month names for example.

It’s not just CPS1. It happens across all arcade platforms (haven’t imported any SoftwareLists yet) and the majority of all games which have January 1st as date are affected by it.

I just thought it could be related to the “export release” notes because your parser may only look for the date in the export version notes and not in the a lot more detailed Japanese notes. For example, only the entry of the original Japanese version of Captain Commando has the exact release date while the entry for the export version hasn't any useful information's at all.

Link to comment
Share on other sites

7 hours ago, Antropus said:

@JCSRT05, I was able to reproduce it and I found the problem. It's duplicating the .xml games info on platforms not supported instead of simply bypassing them. I will have a new version with a fix today. Thanks for reporting!
The version posted should work on any brand new library, but if you have a library already populated with other systems, this will definitely cause headache. I will remove the download link for now. Thanks again!

 

Looks to be fixed, thank you!

Link to comment
Share on other sites

About the command line, this is the way it was supposed to work. Software lists need the slist name informed in the command line or else the game will not run, unlike arcade games, where no additional command (other than the name of the rom itself) is necessary. Because of that, when you add any info to the command line, that info is added to the mandatory command line already in there so the game will run. I wrote it to be game based instead of platform based, because some games will need a different command line for pal or ntsc games and a broad command line based on the platform will simply not cut it.

About merging to library, if the game/platform is already in the library, nothing will be added and no info will be updated. If you are planning to change things later on, you will definitely need to use the overwrite option instead, which should affect all platform(s) being exported by Lightspeed. I know, it's not ideal yet, but that is what it does at this point. To change info in batch mode you will need to use Launchbox, but I am not sure if it supports changing command line in batch mode at this point.

About the platforms being deleted, this is related to the issue I will be looking at tonight, together with the emulators.xml issue.

All in all, Lightspeed was always intended to be the first pass when you are starting to populate a brand new library. All the requests to make it compatible with existent library/platforms is a thing that I am slowly migrating to, but Launchbox has a ton of files that I need to read/parse/collect info from and their layout is not always the easiest, like in the case of the emulators.xml file where you can find the very same "" tag being used in two different places.

So it takes time to make it completely compatible with Launchbox. Other than that, if you are looking for the quickest way to migrate a huge library of mame games into a brand new Launchbox installation, with all the info and artwork parsed for you automatically, LS is a great tool.

-Kris



Ok, thanks for clearing that up.

But the command line parameter for software lists is only needed if you are using MAME as the emulator.

If I want to use a different emulator for Gameboy, for example Retroarch, the command line parameter needs to be empty, or else it won't work.
There is also no way to bulk edit this field in Launchbox, so you would have to remove it manually for every single game.

Because Lightspeed supports to define an emulator other than MAME, I also think it should be possible to change what goes in the command line field for software lists games.

Lightspeed is definitely a great tool.
Thank you, Kris. :-)
Link to comment
Share on other sites

4 hours ago, audunv said:

 


Ok, thanks for clearing that up.

But the command line parameter for software lists is only needed if you are using MAME as the emulator.

If I want to use a different emulator for Gameboy, for example Retroarch, the command line parameter needs to be empty, or else it won't work.
There is also no way to bulk edit this field in Launchbox, so you would have to remove it manually for every single game.

Because Lightspeed supports to define an emulator other than MAME, I also think it should be possible to change what goes in the command line field for software lists games.

Lightspeed is definitely a great tool.
Thank you, Kris. :-)

Yeah, my intention was always to support Mame only, so I never worried about people trying to use it to import for other emulators, but it's a great point and not hard to change. I can keep the way it is when the first radio is checked (main emulator Mame) and create a complete override when any other radio (emu2, 3 and 4) is checked. That's actually a good suggestion, thanks!

Link to comment
Share on other sites

Here's a new version that should (hopefully) fix the problem of platforms/emulators being deleted accidentally. I also added an override that adds Ratings and Release date from Launchbox Database, if present.

Version: 0183_Beta3
Date: 2/28/2017 1:25am

https://drive.google.com/file/d/0B23vaxsfSk1ybDcwTng3d1BuZ1k/view?usp=sharing

The other requests are still pending.
Please backup your files, test it and report if you can. Thanks!

-Kris

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, Antropus said:

Yeah, my intention was always to support Mame only, so I never worried about people trying to use it to import for other emulators, but it's a great point and not hard to change. I can keep the way it is when the first radio is checked (main emulator Mame) and create a complete override when any other radio (emu2, 3 and 4) is checked. That's actually a good suggestion, thanks!

That sounds great. :)

Link to comment
Share on other sites

3 hours ago, Antropus said:

Here's a new version that should (hopefully) fix the problem of platforms/emulators being deleted accidentally. I also added an override that adds Ratings and Release date from Launchbox Database, if present.

Version: 0183_Beta3
Date: 2/28/2017 1:25am

https://drive.google.com/file/d/0B23vaxsfSk1ybDcwTng3d1BuZ1k/view?usp=sharing

The other requests are still pending.
Please backup your files, test it and report if you can. Thanks!

-Kris

 

I have tried the beta 3 now and I can confirm that the content of emulator.xml is not deleted.

I have some questions.

1. How is the EmulatorID generated? LS5.PNG.2c6e6fd21731430ee4255c179bcdaeb2.PNG

2. If I allready have an emulator named MESS, the importer creates a new one also called MESS. I guess that's because it uses a different EmulatorID. No problem, I can just delete the emulator I don't want.

3. I you choose to use a custom emulator(2,3,4), the importer still creates an emulator named MESS or MAME, with the path to the custom emulator. This can be changed in Launchbox, so no big problem.

LS6.PNG.7534ec5b85b586d6cf693a979731569c.PNGI guess all of this is the expected behavior of Lightspeed.

What does the checkbox "Use Launchbox paths" do in "overwrite library"?

LS7.PNG.a7aef260ea96c5205a582c3d87b6cadd.PNG

 

 

 

Edited by audunv
Link to comment
Share on other sites

@Antropus used the last version linked above. I started from an already imported library. Some games were duplicated. Looking closer, I've noticed that the problem was some platforms were actually duplicated, due to slightly different names:

toaplan-raizing
toaplan/raizing


capcom cps-3
capcom cps3


capcom cps-1
capcom cps1


capcom cps-2
capcom cps2

Link to comment
Share on other sites

Just now, Malhavoc said:

@Antropus used the last version linked above. I started from an already imported library. Some games were duplicated. Looking closer, I've noticed that the problem was some platforms were actually duplicated, due to slightly different names:

toaplan-raizing
toaplan/raizing


capcom cps-3
capcom cps3


capcom cps-1
capcom cps1


capcom cps-2
capcom cps2

Oh, sorry about that! I tweaked the platform names slightly, so if you had a previous import you will definitely get some duplication. Sorry!

Link to comment
Share on other sites

11 hours ago, audunv said:

I have tried the beta 3 now and I can confirm that the content of emulator.xml is not deleted.

I have some questions.

1. How is the EmulatorID generated? LS5.PNG.2c6e6fd21731430ee4255c179bcdaeb2.PNG

2. If I allready have an emulator named MESS, the importer creates a new one also called MESS. I guess that's because it uses a different EmulatorID. No problem, I can just delete the emulator I don't want.

3. I you choose to use a custom emulator(2,3,4), the importer still creates an emulator named MESS or MAME, with the path to the custom emulator. This can be changed in Launchbox, so no big problem.

LS6.PNG.7534ec5b85b586d6cf693a979731569c.PNGI guess all of this is the expected behavior of Lightspeed.

What does the checkbox "Use Launchbox paths" do in "overwrite library"?

LS7.PNG.a7aef260ea96c5205a582c3d87b6cadd.PNG

 

 

 

1-2) The emulator IDs are fixed for both mame and mess. I only randomize game IDs to avoid conflicts. If you already have a platform of the same name and it already has a different ID assigned, LS will definitely create a new one. I can work on that and try to merge with whatever is present in the library.

3) that falls into your previous request regarding the custom command lines for mess games. Those secondary emus should be their own thing, I will look at it.

4) The "Use LaunchBox Paths" resets all paths to use LaunchBox's paths. It's useful when used in combination with the "File Match" button, that can also move/copy roms/chds/artwork directly to your Launchbox's folders, so it becomes portable.

 

Link to comment
Share on other sites

Well, that was not a huge issue, since those platforms don't have hundreds of games, I just copied that preferred game flags one by one, then I removed the duplicated platforms.

BTW: I can confirm that the preferred flag from Launchbox is now correctly imported.

One other thing I've noticed, but it could be ok, actually: I've moved the folder where I used to keep the game's videos. But Lightspeed did not update that, and I was left with the old path for most games, except the new ones. I think I should look for that "overwrite" flag you talked about.. is this behaviour the expected one?

Edited by Malhavoc
Link to comment
Share on other sites

A new version is up with only two main fixes for now:
- Release Date parsing now happens in 3 stages: 1) parses the date from History.dat, 2) parses the date from Launchbox database if present, 3) Searches one last time in the final notes and captures anything not captured previously due to "export release" versions.
- Ctrl+C was mapped to opening the clone view and it was interfering with simple ctrl+c operations within the gui, like copy/pasting paths for example. It's now mapped to Ctrl+Alt+C. You can also access this menu by right clicking anywhere in the listview.

Version: 0183_Beta4
Date: 3/1/2017 1:22am
https://drive.google.com/file/d/0B23vaxsfSk1ySUk0WTRwbDdjOGM/view?usp=sharing
 

@CriticalCid, please test this one and report if you still see weirdness with the dates. Thanks!

  • Like 1
Link to comment
Share on other sites

Awesome, the release date situation has vastly improved! Although there are still quite a few games which don’t have the exact date but each of them has it’s very own way of describing the release date, so that’s not your fault that Lightspeed can’t parse them correctly.

At least in my eyes it's fixed. Thank you for that :)

  • Like 1
Link to comment
Share on other sites

Wait a second... you are keeping both softlists and regular mame roms in the very same folder, at the very same level?
If that's the case, this is definitely not the way MAME is supposed to work. As you can see in your listview search results, many roms will have the exact same name and for that reason they should be kept inside of sub-folders. Atari 2600 roms should be kept inside of a sub-folder called "a2600" and this folder should either live inside of the roms folder (based on your setup) or in a totally separated folder, as long as the folder "a2600" exists and its roms live inside of it. Can you try to create a folder called "a2600", copy that rom into there, reopen Lightspeed and see if it finds the rom? It should, as long as you have the right paths and the subfolder named after their respective software lists. The second to last column in your listview should tell you what is the expected name of your subfolder when it comes to software lists (except for "arcade" and "non-arcade", which are both related to Mame, not Mess).

Edited by Antropus
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...