Jump to content
LaunchBox Community Forums

Lightspeed Mame Importer - Teaser


Antropus

Recommended Posts

WOW this is awesome. I would love to try this out. Quick question, is it okay to have all mame roms in 1 folder? or they all need to be separated by per category...like CPs2, neo geo etc? or will your program sort that out, if I have all the roms in 1 single folder? Thanks
Link to comment
Share on other sites

Yes, keep them all in the same folder. The program will sort it out for you :) But you know, I have this plan of adding an option to move or copy the roms to a separated folder. If I add that, then I'll also need to add those newly added paths to mame.ini, or else nothing will work. It shouldn't be too hard, but I'll put this in the back as I optimize the current code. I want to make the code more modular instead of linear, so I can avoid redundant stuff in there at the moment. Also, if I make it more modular, it will be easier for me to create a carbon copy of MAMEUI lists, even if same roms are present in different lists, which is not currently supported. -Kris
Link to comment
Share on other sites

I thought it would take me longer to break the whole thing into modules and hook up everything again, but it turns out I was able to cleanup the code pretty good at lunch time. I think I will be able to remove almost 1000 lines of code out of the current 3000. Like I said: a lot of redundant code ;) Good thing is, I think I will be able to capture everything from MAMEUI favorites lists, including any roms present in multiple lists, but I will need to assign unique IDs to treat each repeated game as a different game for this to work. It will not change anything on your side of things though. The game will play just the same and all artwork and metadata will be available. Just the LaunchBox.xml file will get bigger if you have duplicated stuff, but then it's your own fault Kiss -Kris
Link to comment
Share on other sites

Here it is: a carbon copy of MAMEUI's Favorites Lists. It took more brain cells than I expected, but I found a way to create a carbon copy of any number of MAMEUI's favorites lists. Unlike what I mentioned in my previous posts, about the program not allowing the same game as part of multiple lists, the problem is now solved. The program will extract any number of favorites lists, including the contents in the root section and any other sub-sections of any number of lists your define. Since LaunchBox doesn't allow list hierarchies, all lists will be simply moved to the first level. Other than the hierarchy difference, every single list and respective games will be recreated within LaunchBox. More than that: all filters can still be applied to them and all metadata and paths will be in full effect. So, even if you loosely created some favorites lists in MAMEUI, before those lists reach LaunchBox you can simply filter the stuff that doesn't work, clones, mature games etc etc etc. Now that this is out of the way, I will proceed with cleaning up/optimizing the code and get this ready for a pre-release over the weekend (fingers crossed). Cheers, -Kris MAMEUI_carbonCopy.png
Link to comment
Share on other sites

Awesome! I can’t wait to finally get my hands on your toolSmile EDIT: I just thought that you maybe could integrate Sega Hikaru in the GUI as well. Since it can’t be emulated through MAME I guess it would need the same method as the other DEmul systems to ignore the non-working filter on the import.
Link to comment
Share on other sites

CriticalCid said I just thought that you maybe could integrate Sega Hikaru in the GUI as well
I will leave a tiny little bit of manual work for ya ;) Sega Hikaru has a comprehensive list of... 6 games. So, not happening :) But here's something I just thought (I'll probably add this only after this first pre-release is out of the door though): Add two different drop-down menus. The first would have all machine sources (.cpp). The second would have all genres. They would appear side by side, followed by an edit box where you could enter the name for the list you would like to generate. This way, if you would like to generate a Platform for Namco System 11 you would just have to find out what source it uses, pick it from the drop-down menu (ex. "namcos11.cpp"), give it a name like "Namco System 11" hit the button and it would add this system to your LaunchBox. You could add as many systems as you want this way, without clogging the gui. Same for a genre drop-down menu, if you decided to create Platforms for certain genders, instead of using filters for this. By BIOS would be a good way too, just like MAMEUI does... -Kris
Link to comment
Share on other sites

That would be great... I was wondering if it would be able to do something like that. Also, would be cool if you could pick a combination of systems, or favorites folders, or whatever groups you want and combine them under one platform (called "arcade" or whatever)... that way you could custom pick your arcade platform (instead of having many platforms) (maybe this is already possible and I just missed it).
Link to comment
Share on other sites

Drybonz said would be cool if you could pick a combination of systems, or favorites folders, or whatever groups you want and combine them under one platform (called "arcade" or whatever)...
This can be easily done once in LaunchBox. You would generate them separated at first, but once in LaunchBox you can select all games in a platform, right click > edit and it will batch edit all games. From the drop-down menu you would just have to select the platform you want them to be merged to and done. You can later rename the platforms within LaunchBox as well. My program is more of a quickstart that will make WAY easy to add Mame collections, but it doesn't replace the awesome tools already available with Launchbox! :)
Link to comment
Share on other sites

Antropus said I will leave a tiny little bit of manual work for ya ;) Sega Hikaru has a comprehensive list of... 6 games. So, not happening :)
That’s true. But on the other hand has CPS3 the same amount of games (if you don’t count the clones) ;) The feature with the dropdown menu sounds great. But since you import the .cpp info as well it would be rather easy to change the platforms in LaunchBox itself at this point. So that wasn’t my point for Hikaru exactly. I try to rephrase my question. Will Hikaru be imported if I select the non-working filter and if not, could you integrate an option for it? It is a DEmul system and not supported through MAME, so the games are marked as not working in the MAME database. Because every game without a specified platform will be imported in LB simply in MAME with your tool I guess the importer will only use a MAME filter and no extra filter for DEmul games. So the Hikaru games would be completely left out without special treatment. I hope that my point is clearer now ;)
Link to comment
Share on other sites

"hikaru.cpp" sourcefile info is already being parsed. You could simply open LaunchBox, create a platform called Hikaru, go to LaunchBox > Fillters > Source > Hikaru.cpp, select all roms and batch add them to your platform :) Now that I said that, my idea of a dropdown for source .cpp info is kinda pointless. One for BIOS is cool though, like in MameUI. -Kris
Link to comment
Share on other sites

Drybonz said I guess the same would apply if you wanted to filter all clones, but you wanted to keep Midway Pac-Man or maybe a couple other important clones.
This would be very specific and would have to be added manually. At this point my metadata parser module only works during the batch migration of a mame library, but later on I'll make this metadata scraper available to add metadata to pre-existent games without that info (or overwriting stuff already there). For now, anything manually added will have to be scrapped from local or wikipedia. I will give you the ability to add thousands of games with all metadata in seconds. Then you will need to spend a few minutes to add specific clones you like and scrape them manually. Sounds like a great deal :D -Kris
Link to comment
Share on other sites

I'm trying to get the most *accurate* metadata I can, but things are not easy. As I mentioned before, those support files are an awesome initiative and I really respect the people who put the time to create and maintain them, but boy they are messy at times! Controls for example... you can only find outdated controls.ini or controls.xml out there and the info is not always precise. What I started doing on my other program was creating filters to extract that information, as reliable as possible, from mame's own xml file. I've got all regular 4 and 8 way, dual 4 and 8 way, rotary, 49-way, trackball, spinner, lightgun and even touchscreen controls pretty much nailed. When it comes to pedal/wheel combos though, there's a lot of variation in there, so I'm still working on the code and testing/comparing to what's shown under mameUI for example. In an ideal world I would be able to differentiate between a driving wheel and a handle bar for example, but unfortunately, the hardware used in some of those machines seem to be the same, so unless you see how the cabinet looks like, it's virtually impossible to add the precise type of control when it comes to looks. But when it comes to the hardware side of things, the info should be correct, reason why I will probably add a combo control type just described as "Wheel/Handlebar". Surprisingly, mameUI is not totally precise either, so I'm researching games and cabinets to try to come up with better deduction methods. This will take me a little while, as I'm trying to get as precise as I can, but the up side is that once those filters are written and mostly fail proof, I will able to spit out an always updated controls.ini file using the latest Mame. For this first pre-release version, you will get *most* controls, but not all of them, as some filters are still missing as I research. In future versions you will be able to get almost everything listed. When it comes to Country/Region, that's another issue. Languages.ini is being updated periodically, but it's not precise at all. I found a big number of discrepancies in there, so I'm collecting that data in 2 steps: 1) I added support to Languages.ini, so everything starts with the data collected from it 2) BUT, if the country is found in the game name description, that is assumed to be correct and it replaces the info coming from Languages.ini, At the end, you will have a lot of info collected, although I wouldn't trust the chunk from languages.ini all that much! I'm also working on collecting the Version. I'm trying to keep all numbers, v.?.??, version ?, etc as version, but I'm collecting extra info like: Bootleg, Hack, etc and adding those as extra custom field that can be filtered later on. I'll also add another custom field with the "VerAdd" info from catver, which describes in what version of mame the game got introduced. So at this point I have plenty on my plate, but again, once those things are nailed, this will benefit not only this community, but potentially every other frontends relying on controls.ini, for example. -Kris
Link to comment
Share on other sites

Antropus said For this first pre-release version, you will get *most* controls, but not all of them, as some filters are still missing as I research. In future versions you will be able to get almost everything listed. -Kris
I'll be super happy just to get my arcade games up and running in LB, but I think it's great, also, that you are doing all this extra research to get things as accurate as possible!
Link to comment
Share on other sites

Thanks guys :) I got Version, Version Added and controls in a good place for a pre-release for you guys to test. I'm poking around with it to make sure it's running ok and all features are available and hopefully I will be releasing it on Sunday, so stay tuned! Publisher and Rated is the only data not being parsed. Not even sure from where to get them. Still, if you run my program and then run the metadata scraper within Launchbox, if you turn off everything else and just tell LaunchBox to only update the fields with no current info, you should get that info added as well. -Kris
Link to comment
Share on other sites

Things are looking good for a release tomorrow! Some last minute additions that I think you will really enjoy: - A Listxml generator, so you can get even more information now, with no need to manually run "mame -listxml". The program will do this for you using the mame.exe information you provided. - If you use the above option, you will get even more information than simply using mame.dat, as such: a) Orientation Info b) Resolution + Refresh Rate Info c) Display Type: Vector or Raster Things are working nicely and I'm just adding some error handling messages and testing things out now. This tiny little program is already packing some serious punch when it comes to an all-in-one "Mame Library Migration Tool" to Launchbox, but I will add more stuff to it in the future. -Kris
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...