WIP - Goodmerge support + other minor changes (1 Viewer)

BadMrFrosty

Portal Member
July 9, 2009
24
28
Prague
Home Country
Czech Republic Czech Republic
1. Goodmerge support

Most of my ROM sets have been GoodMerged which not only saves a load of disk space (e.g. N64 set is about 25 gigs zipped, vs about 5 gigs goodmerged in 7zip format) but also nicely groups together all of the different versions of the same game. This is all great but it means that actually using the games with myEmulators was a pain as I had to extract the right version of the game I wanted to play and store it separately.

So I have patched myEmulators to support multiple ROMs 7zipped in the same archive.

In the emulator config I have added several new options:
attachment.php


So when Goodmerge support is enabled, your ROM directory should contain your 7zipped (or zipped) goodmerge set. You can then specify your preference of which ROM from the archive should be executed, I have it set up to select English versions and the temp folder that the ROM should be extracted to. Then when you choose to play a game via myEmulators, it will search the archive for the ROM that best matches your preferences, extract it and pass it to the emulator. If no ROM matches your preferences, it will load the 1st one it finds in the archive.

This functionality should be finished soon, if anyone else thinks this might be useful I will release it.

2. Use emulator image when no game image present (suggested by tillz0r)

I have made a minor change that will user the emulator thumbnail for all games that dont have their own image:

attachment.php
 

Attachments

  • config.jpg
    config.jpg
    73.3 KB
  • icons.jpg
    icons.jpg
    107.6 KB

BadMrFrosty

Portal Member
July 9, 2009
24
28
Prague
Home Country
Czech Republic Czech Republic
I have now enhanced the Goodmerge functionality:

1. Selecting a game with the play button will use the preferred rules as described above to select the ROM to run.
2. Selecting a game with the select/enter button will present a list of all ROMS stored in that games zip/7zip/rar file. You can then manually choose the ROM you want to run. The choice you make will be saved to the database and the next time you select that same game, it will automatically run your saved selection.
3. Selecting a game with pause button will clear your previously saved ROM choice for that game and allow you to choose a new one as in 2 above.
4. Games that only contain a single ROM will run automatically regardless of the button pressed.
 

BadMrFrosty

Portal Member
July 9, 2009
24
28
Prague
Home Country
Czech Republic Czech Republic
I have been testing my changes over the last couple of days and all seems to work well. I have attached the myEmulators DLL with my changes. If you already have myEmulators installed, just download the DLL and replace your existing one. If you dont yet have it installed, download the full package and install it first, then replace the DLL.

Download and have a go, any problems please report them here.

PLEASE BACKUP YOUR DATABASE BEFORE USING THIS VERSION JUST IN CASE!!!
 

Attachments

  • myEmulators.zip
    30.6 KB

NOAMattD

Portal Member
September 20, 2009
15
0
I can't wait to try this out! I've been looking all weekend for emulators that support 7zip, then shifted my search to a frontend that could just browse through the 7z files, pick a rom, and THEN launch it.

Hope you plan to keep working on this! :D

EDIT: Tried and got an exception, looks like you didn't change the DB structure to match the new stuff? I tried changing the DB structure and adding the missing field and haven't been able to get it to work. Hope you'll fix this!

This is with 1.1.0 beta on Windows 7 64-bit.

************** Exception Text **************
SQLite.NET.SQLiteException: SQLiteClient: myEmulators_v2.db3 cmd:sqlite3_prepare16:pvm=null err:ERROR detailed:table Emulators has 15 columns but 16 values were supplied query:INSERT INTO Emulators VALUES(0,'F:\ROMs\Emulators\NES\nestopia\nestopia.exe',0,'D:\Goodset\GoodNes v314\NES','NES','*.*','','True',0,'','True','True','(U)','(J)','(E)','D:\Goodset\GoodNes v314\NES')
at SQLite.NET.SQLiteClient.ThrowError(String statement, String sqlQuery, SqliteError err)
at SQLite.NET.SQLiteClient.Execute(String query)
at myEmulators.DB.saveEmulator(Emulator item)
at myEmulators.Conf_Emulators.save()
at myEmulators.Configuration.apply_Click(Object sender, EventArgs e)
 

skare

MP Donator
  • Premium Supporter
  • August 10, 2004
    35
    1
    44
    Vejle
    Home Country
    Denmark Denmark
    Have same problem. Running Windows XP SP3 and MP 1.1.0 Beta

    I can't wait to try this out! I've been looking all weekend for emulators that support 7zip, then shifted my search to a frontend that could just browse through the 7z files, pick a rom, and THEN launch it.

    Hope you plan to keep working on this! :D

    EDIT: Tried and got an exception, looks like you didn't change the DB structure to match the new stuff? I tried changing the DB structure and adding the missing field and haven't been able to get it to work. Hope you'll fix this!

    This is with 1.1.0 beta on Windows 7 64-bit.

    ************** Exception Text **************
    SQLite.NET.SQLiteException: SQLiteClient: myEmulators_v2.db3 cmd:sqlite3_prepare16:pvm=null err:ERROR detailed:table Emulators has 15 columns but 16 values were supplied query:INSERT INTO Emulators VALUES(0,'F:\ROMs\Emulators\NES\nestopia\nestopia.exe',0,'D:\Goodset\GoodNes v314\NES','NES','*.*','','True',0,'','True','True','(U)','(J)','(E)','D:\Goodset\GoodNes v314\NES')
    at SQLite.NET.SQLiteClient.ThrowError(String statement, String sqlQuery, SqliteError err)
    at SQLite.NET.SQLiteClient.Execute(String query)
    at myEmulators.DB.saveEmulator(Emulator item)
    at myEmulators.Conf_Emulators.save()
    at myEmulators.Configuration.apply_Click(Object sender, EventArgs e)
     

    drealit

    Portal Pro
    March 15, 2008
    190
    17
    Yes it would be fantastic if this got updated, or if it got completely integrated into the plugin. My entire collection is good merged.
     

    Users who are viewing this thread

    Top Bottom